藍(lán) 鑫,谷小婧
(華東理工大學(xué) 信息科學(xué)與工程學(xué)院,上海 200237)
語義分割已廣泛應(yīng)用于自動駕駛領(lǐng)域[1],無人車輛需要對周圍環(huán)境進(jìn)行感知、預(yù)測,然后計劃并進(jìn)行決策。僅利用可見光圖像進(jìn)行語義分割無法確保自動駕駛系統(tǒng)的魯棒性,因為可見光圖像的成像會受到周圍環(huán)境的影響,例如大霧等能見度低的場景、夜間等光照亮度低的場景或強(qiáng)曝光的光照度過高的場景。
近年來,部分研究者引入紅外(IR)圖像以彌補(bǔ)僅使用可見光(RGB)圖像造成的缺陷。紅外圖像根據(jù)高于絕對零度的目標(biāo)發(fā)射的熱輻射強(qiáng)度成像,具有不受光照影響、抗干擾能力強(qiáng)等優(yōu)點。Ha等[2]提出基于編碼器-解碼器的MFNet,在解碼器部分進(jìn)行特征融合,由于并未采用預(yù)訓(xùn)練模型,雖然速度具有優(yōu)勢,但是精度較低。Sun等[3]使用預(yù)訓(xùn)練的ResNet[4]作為編碼器,并將可見光模態(tài)和紅外模態(tài)在編碼器部分進(jìn)行特征融合。Sun等[5]又使用DenseNet[6]作為編碼器,進(jìn)一步提升分割準(zhǔn)確性。文獻(xiàn)[3,5]都采用較大的模型作為編碼器,因此參數(shù)量多,計算量大。Lyu等[7]在解碼器部分使用分組卷積,減少了模型的參數(shù)量。
上述研究并未考慮不同模態(tài)間特征對不齊的問題。本文受域適應(yīng)對齊特征[8,9]啟發(fā),提出了一種基于域適應(yīng)互增強(qiáng)的RGB-IR圖像語義分割算法。該算法首先利用高效特征增強(qiáng)模塊(efficient feature enhancement module,EFEM)減少編碼器與解碼器之間的語義鴻溝,降低后續(xù)特征對齊的難度,然后使用多級特征聚合對齊模塊(feature aggregation and alignment module,F(xiàn)AAM)聚合并對齊多尺度的模態(tài)內(nèi)特征,再通過RGB和IR圖像的相互轉(zhuǎn)換來實現(xiàn)模態(tài)間的特征對齊并增強(qiáng)特征。最后,將生成的樣本與真實樣本混合作為新的輸入再次送入分割網(wǎng)絡(luò),利用域判別器區(qū)分輸入是何種組合,增強(qiáng)了訓(xùn)練數(shù)據(jù),進(jìn)一步優(yōu)化分割網(wǎng)絡(luò)。
本文算法整體架構(gòu)如圖1所示,由3個主要部分組成:編碼器-解碼器網(wǎng)絡(luò)M、判別器D和語義相似性網(wǎng)絡(luò)S。圖中實線表示訓(xùn)練的第一階段,虛線表示第二階段。其中編碼器-解碼器網(wǎng)絡(luò)M包含編碼器,分割解碼器和轉(zhuǎn)換解碼器,RGB和IR支路具有相同的架構(gòu)。使用ResNet-18作為M和S的編碼器。測試時僅使用M中的分割編碼器-解碼器部分。Lce、 Ldomain、 Ladv、 Lfm和Lss分別表示網(wǎng)絡(luò)中的不同損失函數(shù)。
圖1 模型整體架構(gòu)
圖2 編碼器-解碼器網(wǎng)絡(luò)M架構(gòu)
(1)
GAN可以生成高保真度和多樣性的圖像[12,13],因此,本文引入GAN來輔助圖像轉(zhuǎn)換。對于RGB輸入圖像,網(wǎng)絡(luò)將其轉(zhuǎn)換為IR圖像,反之亦然。GAN通常利用判別器來區(qū)分輸入來自真實圖像還是生成圖像,本文使用兩個判別器分別對RGB和IR圖像進(jìn)行判別,GAN的訓(xùn)練過程可以看作生成器和判別器之間的零和博弈。
由于RGB和IR圖像之間存在域差異,部分融合方法需要經(jīng)過精心設(shè)計,本文工作借鑒域適應(yīng)方法,通過將一個模態(tài)的特征轉(zhuǎn)換為另一模態(tài)的圖像來強(qiáng)迫其學(xué)習(xí)互補(bǔ)信息,從而減少域間差異,并對齊和增強(qiáng)域間特征。
圖像轉(zhuǎn)換部分如圖2所示,首先將FAAM的特征經(jīng)過一組卷積進(jìn)行變換,然后經(jīng)過一系列殘差塊逐步學(xué)習(xí)圖像細(xì)節(jié),上采樣使用轉(zhuǎn)置卷積實現(xiàn),最終生成轉(zhuǎn)換后的圖像。
(2)
(3)
(4)
域判別器也采用PatchGAN,但是去掉了Instance Normalization,因為域判別器不用于生成圖像。域判別器損失定義為
Ldomain=
(5)
(6)
總損失定義如下
(7)
式中:λadv、λfm、λss和λdomain是各個損失的權(quán)重,用于控制損失之間的相對重要性。實驗中,對抗損失使用最小二乘損失實現(xiàn)。
本文模型為了保持輕量,在解碼器部分采用了相加的特征融合策略,對于不同層級的特征,它們之間存在著特征對不齊的情況,直接相加可能會使得模型性能受到影響,因此,本節(jié)提出多級特征聚合對齊模塊(FAAM),同時聚合并對齊來自不同層級的特征,具體結(jié)構(gòu)如圖3所示。
圖3 多級特征聚合對齊模塊
將偏移量加到原始坐標(biāo)pl上從而得到新的映射后的坐標(biāo)pl+1, 為了使訓(xùn)練穩(wěn)定,偏移量使用長和寬進(jìn)行歸一化,公式如下
(8)
(9)
本文使用了編碼器-解碼器架構(gòu),編碼器和解碼器之間通常采用跳躍連接。低層級特征包含高分辨率的紋理信息,高層級特征包含低分辨率的豐富語義信息。如果將編碼器的低層級特征直接融合到解碼器中,不同層級特征之間的語義鴻溝將限制特征融合的性能。
因此本節(jié)提出EFEM來解決該問題,EFEM可以縮短編碼器和解碼器之間的特征距離,保證特征融合的魯棒性,模塊結(jié)構(gòu)如圖4所示,圖中Hl、Wl和Cl分別表示第l層殘差塊輸出的特征圖的高、寬和通道數(shù),Conv表示卷積,DWConv表示深度卷積,BN表示批歸一化。考慮到效率和有效性,EFEM首先使用1×1卷積將輸入通道壓縮到64維。利用深度可分卷積的優(yōu)勢,可以將特征先擴(kuò)展到更高維的空間以增加網(wǎng)絡(luò)容量[14]。再使用另一個3×3深度可分卷積以擴(kuò)大感受野。最后,一個1×1卷積將深度可分卷積的輸出投影回低維度,以支持跳躍連接。
圖4 高效特征增強(qiáng)模塊設(shè)計細(xì)節(jié)
圖5 模型訓(xùn)練流程
然后需要更新M的參數(shù),此時凍結(jié)S和轉(zhuǎn)換判別器D的參數(shù),使用真實圖像和轉(zhuǎn)換圖像計算損失并更新參數(shù)。最后利用分割結(jié)果計算交叉熵?fù)p失和域判別對抗損失更新分割網(wǎng)絡(luò)參數(shù)。
由于本文目標(biāo)是實現(xiàn)語義分割,圖像到圖像轉(zhuǎn)換僅作為多任務(wù)中的輔助任務(wù),因此,總損失中用于分割的交叉熵?fù)p失權(quán)重設(shè)為1,Dataset1的實驗中其余損失權(quán)重設(shè)為0.1,Dataset2中λadv設(shè)為0.01,其余損失權(quán)重也設(shè)為0.1,以避免輔助任務(wù)對主任務(wù)造成過多影響,從而降低分割性能。
由于圖像轉(zhuǎn)換部分附加在分割部分之后,因此在測試時可以直接將圖像轉(zhuǎn)換部分直接去掉,在維持分割結(jié)果的情況下使得分割網(wǎng)絡(luò)輕量化。
本節(jié)實驗主要在兩個可見光-紅外夜間語義分割數(shù)據(jù)集上展開。第一個數(shù)據(jù)集是Dataset1,是課題組自行構(gòu)建的包含541張在夜間拍攝的城市街景圖像的數(shù)據(jù)集,所用的可見光拍攝設(shè)備為索尼A6000微型單反,紅外熱像儀為FLIR Tau2336相機(jī)。圖像的分辨率為300×400。該數(shù)據(jù)集中有13個類被標(biāo)記,即汽車、自行車、人、天空、樹、交通燈、道路、人行道、建筑物、欄桿、交通標(biāo)志、柱子和公共汽車。對于場景中不屬于上述物體或難以辨識的物體,將其設(shè)置為空類,即不進(jìn)行標(biāo)注。在模型訓(xùn)練與評估的過程中不包括空類。實驗中將Dataset1分為兩部分。訓(xùn)練數(shù)據(jù)集由400幅圖像組成,其它141幅圖像被分為測試數(shù)據(jù)集。
第二個數(shù)據(jù)集基于公開的KAIST多波段行人數(shù)據(jù)集,選擇了行人和車輛較多的晚間的3組雙模態(tài)圖像視頻流,從中選出200組RGB-IR圖像對作為原始數(shù)據(jù)。圖像的分辨率為300×400。該數(shù)據(jù)集中有13個類被標(biāo)記,即汽車、自行車、人、天空、樹、草地、道路、人行道、建筑物、欄桿、交通標(biāo)志、柱子和障礙物。訓(xùn)練數(shù)據(jù)集由150組圖像組成,其它50組圖像被分為測試數(shù)據(jù)集。
本節(jié)實驗在單個NVIDIA V100 GPU上進(jìn)行訓(xùn)練、驗證及測試,Pytorch版本為1.7,CUDA使用10.1版本,cuDNN使用7.6版本。使用PyTorch提供的預(yù)訓(xùn)練權(quán)重ResNet18初始化網(wǎng)絡(luò)。使用Adam優(yōu)化器訓(xùn)練網(wǎng)絡(luò),M中的編碼器和分割解碼器學(xué)習(xí)率設(shè)為0.0001,動量設(shè)為0.5和0.999,采用“poly”學(xué)習(xí)策略來逐步降低學(xué)習(xí)速率。M中轉(zhuǎn)換解碼器學(xué)習(xí)率為0.0002,動量設(shè)為0.5和0.999。轉(zhuǎn)換判別器和域判別器的學(xué)習(xí)率都設(shè)為0.0001,動量分別設(shè)為0.5、0.999和0.9、0.99。訓(xùn)練周期設(shè)為100。在訓(xùn)練過程中,每個訓(xùn)練周期之前輸入被隨機(jī)打亂。使用隨機(jī)水平翻轉(zhuǎn)和隨機(jī)裁剪來執(zhí)行數(shù)據(jù)增強(qiáng)。圖像輸入網(wǎng)絡(luò)前先使用鏡像填充將圖像擴(kuò)大到320×416。本文實驗采用常見的平均交并比(mIoU)來評估語義分割的性能。計算公式如下
(10)
式中:C是類別的數(shù)量,Pij是屬于第i類被預(yù)測為第j類的像素數(shù)。該評價指標(biāo)在分割結(jié)果中的得分越高,代表算法分割精度越好。對于圖像生成質(zhì)量的評價指標(biāo)采用FID[15]分?jǐn)?shù),F(xiàn)ID越低表示生成圖像的質(zhì)量越高。
2.3.1 先進(jìn)算法對比及分析
本文先對比分析了不同先進(jìn)算法的實驗結(jié)果,對比算法包括本文提出的算法、MFNet、PSTNet、RTFNet-50、FuNNet和FuseSeg。對于RTFNet-50,采用ResNet-50作為骨干網(wǎng)絡(luò),因為比ResNet-50更大的骨干網(wǎng)絡(luò)通常不適合自動駕駛。表1展示了不同網(wǎng)絡(luò)在Dataset1上測試的定量結(jié)果。
表1 不同分割算法在Dataset1上的對比結(jié)果
相比于采用了DenseNet的FuseSeg,本文算法僅使用ResNet-18就在Dataset1上取得了具有競爭力的預(yù)測結(jié)果,在“車”、“欄桿”和“巴士”類別上具有較為明顯的提升。在該數(shù)據(jù)集中,本文算法有7個類優(yōu)于FuseSeg,整體性能達(dá)到了最先進(jìn)的水平。
此外,本文還對比了不同先進(jìn)算法在Dataset2上的實驗結(jié)果,以展示所提算法的泛化性。具體結(jié)果見表2。本文所提算法在“欄桿”、“路標(biāo)”和“障礙物”等小目標(biāo)上都有較為不錯的分割結(jié)果。在大部分類別中也能取得有競爭力的結(jié)果,且mIoU一項在所有算法中達(dá)到了最高水平。圖6展示了算法在兩個數(shù)據(jù)集上的定性結(jié)果,圖6(a)、圖6(b)列展示了Dataset1的分割結(jié)果,圖6(c)、圖6(d)列展示了Dataset2的分割結(jié)果。
表2 不同分割算法在Dataset2上的對比結(jié)果
圖7和圖8展示了不同數(shù)據(jù)集通過圖像轉(zhuǎn)換生成的圖像,可以看出,本節(jié)提出的模型可以轉(zhuǎn)換較為明顯的特征。對于夜間亮度過低的圖像,由于圖像本身特征較少,因此轉(zhuǎn)換的圖像質(zhì)量也不高。
圖7 Dataset1真實圖像與生成圖像對比
圖8 Dataset2真實圖像與生成圖像對比
2.3.2 模型消融實驗及分析
為了驗證本文提出方法的有效性,本節(jié)對提出的模塊在兩個數(shù)據(jù)集上進(jìn)行了消融實驗,如表3和表4所示?;€模型表示不使用域適應(yīng)、EFEM以及FAAM模塊。
表3 Dataset1上的模型消融實驗
表4 Dataset2上的模型消融實驗
首先探究EFEM模塊,EFEM模塊分別在Dataset1和Dataset2上提升了0.6%和1.2%的mIoU,驗證了前文討論的編碼器與解碼器之間存在的語義鴻溝,EFEM減少了它們之間的特征距離,有利于特征在解碼器中進(jìn)行特征聚合的操作。
然后研究本節(jié)提出的FAAM,由表中數(shù)據(jù)可知,該模塊為模型在不同數(shù)據(jù)集上都提供了明顯的性能提升,Dataset1中提升了1.7%mIoU,在Dataset2中提升了3.1%mIoU。由此可見,特征對不齊對網(wǎng)絡(luò)性能具有較大的影響。
接著,本節(jié)探究域適應(yīng)對模型的影響,DA表示域適應(yīng)過程,通過將其中一個模態(tài)轉(zhuǎn)換為另一個模態(tài),使得不同模態(tài)之間的特征進(jìn)行對齊,從而優(yōu)化分割結(jié)果。通過域適應(yīng),模型在不同數(shù)據(jù)集上性能分別提升了0.8%和1.0%。本節(jié)還探究生成圖像再送入模型進(jìn)行第二階段訓(xùn)練的有效性,該想法使用域判別器實現(xiàn),利用域判別器判別分割輸出是真或假進(jìn)一步提升分割結(jié)果,表中用DC表示,在Dataset2的實驗中取得了3.2%的較大性能提升。因此,將生成圖像再次送入網(wǎng)絡(luò)可以取得進(jìn)一步的性能提升,有效地利用了生成圖像,在一定程度上實現(xiàn)了數(shù)據(jù)增強(qiáng)。
如前文所討論的,F(xiàn)AAM用于特征對齊以及聚合。為了驗證本節(jié)提出的FAAM是有效的,本節(jié)將FAAM替換為特征相加,再接1×1卷積或3×3卷積的操作,得到的結(jié)果見表5和表6。
表5 Dataset1上FAAM消融實驗
表6 Dataset2上FAAM消融實驗
可以看到,僅使用相加以及卷積的模型性能遠(yuǎn)不如FAAM,通過設(shè)計特定的特征對齊模塊,可以更有效地對齊特征,提升網(wǎng)絡(luò)的性能。
2.3.3 損失函數(shù)權(quán)重影響分析
由于本文實驗使用了多個損失進(jìn)行監(jiān)督,因此設(shè)計對比實驗驗證損失函數(shù)權(quán)重對算法分割效果以及圖像轉(zhuǎn)換效果之間的影響。如圖9和圖10所示。
圖9 Dataset1中損失函數(shù)權(quán)重大小對模型性能影響對比
圖10 Dataset2中損失函數(shù)權(quán)重大小對模型性能影響對比
圖中展示了權(quán)重大小和分割性能以及圖像生成效果之間的關(guān)系,權(quán)重使用了0、0.01、0.1、1、5這5個尺度,實線表示mIoU(越高越好),將其作為分割性能的評價指標(biāo);虛線表示FID分?jǐn)?shù)(越低越好),將其作為生成圖像質(zhì)量的評價指標(biāo)。由圖中可以看出,整體來說,副任務(wù)權(quán)重比主任務(wù)權(quán)重小的情況下,分割可以取得較好的效果,當(dāng)副任務(wù)權(quán)重過小,對主任務(wù)的幫助越小;當(dāng)副任務(wù)權(quán)重過大,影響了主任務(wù)的訓(xùn)練,會導(dǎo)致分割性能下降。
一般來說,當(dāng)分割任務(wù)性能最優(yōu)時,圖像轉(zhuǎn)換質(zhì)量也處于較好的水平,由此可以得出結(jié)論,圖像質(zhì)量優(yōu)劣對分割性能有著正向影響。
2.3.4 模型復(fù)雜度分析
為了驗證本文提出的算法的高效性,本節(jié)實驗比較了本文算法和當(dāng)前先進(jìn)算法之間的FLOPs、FPS以及參數(shù)量,如表7所示。
表7 不同算法復(fù)雜度對比
由于FuseSeg設(shè)計的特殊性,為了公平比較,本節(jié)選擇480×640作為輸入圖像的分辨率。FLOPs、FPS以及參數(shù)量都在此分辨率基礎(chǔ)上進(jìn)行測試。FLOPs表示處理特定分辨率圖像的浮點操作的數(shù)量。mIoU展示了不同算法在
Dataset1上的分割結(jié)果。從表中數(shù)據(jù)可以看出,本文算法相較于大部分算法都有更少的浮點操作數(shù),參數(shù)量大大小于FuseSeg,且FPS也處于較高水平,實驗結(jié)果表明了本文算法在準(zhǔn)確性和復(fù)雜性之間取得了很好的平衡,在自動駕駛上相比于其它模型更具有適用性。
針對多模態(tài)圖像語義分割模態(tài)內(nèi)以及模態(tài)間特征對不齊的問題,本文提出了一種基于域適應(yīng)互增強(qiáng)的RGB-IR圖像語義分割算法。算法將語義分割和域適應(yīng)相結(jié)合,利用域適應(yīng)使分割模型學(xué)習(xí)到不同模態(tài)間的特征,實現(xiàn)特征對齊并增強(qiáng)特征。提出的高效特征增強(qiáng)模塊有效地減少了編碼器和解碼器之間的語義鴻溝。此外,多級特征聚合對齊模塊可以聚合不同層級的特征并對齊模態(tài)內(nèi)的信息。生成的圖像再次送入網(wǎng)絡(luò),增強(qiáng)了訓(xùn)練數(shù)據(jù),進(jìn)一步提升了分割性能。實驗驗證了本文算法達(dá)到了當(dāng)前最優(yōu)性能,設(shè)計的不同消融實驗驗證了所提出模塊的有效性,另外還設(shè)計實驗探究生成圖像與分割性能之間的關(guān)系。本文算法相比于當(dāng)前大部分模型降低了的復(fù)雜度,提升了實用性。