藍 鑫,谷小婧
(華東理工大學 信息科學與工程學院,上海 200237)
語義分割已廣泛應用于自動駕駛領域[1],無人車輛需要對周圍環境進行感知、預測,然后計劃并進行決策。僅利用可見光圖像進行語義分割無法確保自動駕駛系統的魯棒性,因為可見光圖像的成像會受到周圍環境的影響,例如大霧等能見度低的場景、夜間等光照亮度低的場景或強曝光的光照度過高的場景。
近年來,部分研究者引入紅外(IR)圖像以彌補僅使用可見光(RGB)圖像造成的缺陷。紅外圖像根據高于絕對零度的目標發射的熱輻射強度成像,具有不受光照影響、抗干擾能力強等優點。Ha等[2]提出基于編碼器-解碼器的MFNet,在解碼器部分進行特征融合,由于并未采用預訓練模型,雖然速度具有優勢,但是精度較低。Sun等[3]使用預訓練的ResNet[4]作為編碼器,并將可見光模態和紅外模態在編碼器部分進行特征融合。Sun等[5]又使用DenseNet[6]作為編碼器,進一步提升分割準確性。文獻[3,5]都采用較大的模型作為編碼器,因此參數量多,計算量大。Lyu等[7]在解碼器部分使用分組卷積,減少了模型的參數量。
上述研究并未考慮不同模態間特征對不齊的問題。本文受域適應對齊特征[8,9]啟發,提出了一種基于域適應互增強的RGB-IR圖像語義分割算法。該算法首先利用高效特征增強模塊(efficient feature enhancement module,EFEM)減少編碼器與解碼器之間的語義鴻溝,降低后續特征對齊的難度,然后使用多級特征聚合對齊模塊(feature aggregation and alignment module,FAAM)聚合并對齊多尺度的模態內特征,再通過RGB和IR圖像的相互轉換來實現模態間的特征對齊并增強特征。最后,將生成的樣本與真實樣本混合作為新的輸入再次送入分割網絡,利用域判別器區分輸入是何種組合,增強了訓練數據,進一步優化分割網絡。
本文算法整體架構如圖1所示,由3個主要部分組成:編碼器-解碼器網絡M、判別器D和語義相似性網絡S。圖中實線表示訓練的第一階段,虛線表示第二階段。其中編碼器-解碼器網絡M包含編碼器,分割解碼器和轉換解碼器,RGB和IR支路具有相同的架構。使用ResNet-18作為M和S的編碼器。測試時僅使用M中的分割編碼器-解碼器部分。Lce、 Ldomain、 Ladv、 Lfm和Lss分別表示網絡中的不同損失函數。

圖1 模型整體架構



圖2 編碼器-解碼器網絡M架構

(1)


GAN可以生成高保真度和多樣性的圖像[12,13],因此,本文引入GAN來輔助圖像轉換。對于RGB輸入圖像,網絡將其轉換為IR圖像,反之亦然。GAN通常利用判別器來區分輸入來自真實圖像還是生成圖像,本文使用兩個判別器分別對RGB和IR圖像進行判別,GAN的訓練過程可以看作生成器和判別器之間的零和博弈。
由于RGB和IR圖像之間存在域差異,部分融合方法需要經過精心設計,本文工作借鑒域適應方法,通過將一個模態的特征轉換為另一模態的圖像來強迫其學習互補信息,從而減少域間差異,并對齊和增強域間特征。
圖像轉換部分如圖2所示,首先將FAAM的特征經過一組卷積進行變換,然后經過一系列殘差塊逐步學習圖像細節,上采樣使用轉置卷積實現,最終生成轉換后的圖像。


(2)

(3)


(4)

域判別器也采用PatchGAN,但是去掉了Instance Normalization,因為域判別器不用于生成圖像。域判別器損失定義為
Ldomain=
(5)


(6)

總損失定義如下

(7)
式中:λadv、λfm、λss和λdomain是各個損失的權重,用于控制損失之間的相對重要性。實驗中,對抗損失使用最小二乘損失實現。
本文模型為了保持輕量,在解碼器部分采用了相加的特征融合策略,對于不同層級的特征,它們之間存在著特征對不齊的情況,直接相加可能會使得模型性能受到影響,因此,本節提出多級特征聚合對齊模塊(FAAM),同時聚合并對齊來自不同層級的特征,具體結構如圖3所示。

圖3 多級特征聚合對齊模塊

將偏移量加到原始坐標pl上從而得到新的映射后的坐標pl+1, 為了使訓練穩定,偏移量使用長和寬進行歸一化,公式如下
(8)

(9)

本文使用了編碼器-解碼器架構,編碼器和解碼器之間通常采用跳躍連接。低層級特征包含高分辨率的紋理信息,高層級特征包含低分辨率的豐富語義信息。如果將編碼器的低層級特征直接融合到解碼器中,不同層級特征之間的語義鴻溝將限制特征融合的性能。
因此本節提出EFEM來解決該問題,EFEM可以縮短編碼器和解碼器之間的特征距離,保證特征融合的魯棒性,模塊結構如圖4所示,圖中Hl、Wl和Cl分別表示第l層殘差塊輸出的特征圖的高、寬和通道數,Conv表示卷積,DWConv表示深度卷積,BN表示批歸一化。考慮到效率和有效性,EFEM首先使用1×1卷積將輸入通道壓縮到64維。利用深度可分卷積的優勢,可以將特征先擴展到更高維的空間以增加網絡容量[14]。再使用另一個3×3深度可分卷積以擴大感受野。最后,一個1×1卷積將深度可分卷積的輸出投影回低維度,以支持跳躍連接。

圖4 高效特征增強模塊設計細節


圖5 模型訓練流程
然后需要更新M的參數,此時凍結S和轉換判別器D的參數,使用真實圖像和轉換圖像計算損失并更新參數。最后利用分割結果計算交叉熵損失和域判別對抗損失更新分割網絡參數。
由于本文目標是實現語義分割,圖像到圖像轉換僅作為多任務中的輔助任務,因此,總損失中用于分割的交叉熵損失權重設為1,Dataset1的實驗中其余損失權重設為0.1,Dataset2中λadv設為0.01,其余損失權重也設為0.1,以避免輔助任務對主任務造成過多影響,從而降低分割性能。
由于圖像轉換部分附加在分割部分之后,因此在測試時可以直接將圖像轉換部分直接去掉,在維持分割結果的情況下使得分割網絡輕量化。
本節實驗主要在兩個可見光-紅外夜間語義分割數據集上展開。第一個數據集是Dataset1,是課題組自行構建的包含541張在夜間拍攝的城市街景圖像的數據集,所用的可見光拍攝設備為索尼A6000微型單反,紅外熱像儀為FLIR Tau2336相機。圖像的分辨率為300×400。該數據集中有13個類被標記,即汽車、自行車、人、天空、樹、交通燈、道路、人行道、建筑物、欄桿、交通標志、柱子和公共汽車。對于場景中不屬于上述物體或難以辨識的物體,將其設置為空類,即不進行標注。在模型訓練與評估的過程中不包括空類。實驗中將Dataset1分為兩部分。訓練數據集由400幅圖像組成,其它141幅圖像被分為測試數據集。
第二個數據集基于公開的KAIST多波段行人數據集,選擇了行人和車輛較多的晚間的3組雙模態圖像視頻流,從中選出200組RGB-IR圖像對作為原始數據。圖像的分辨率為300×400。該數據集中有13個類被標記,即汽車、自行車、人、天空、樹、草地、道路、人行道、建筑物、欄桿、交通標志、柱子和障礙物。訓練數據集由150組圖像組成,其它50組圖像被分為測試數據集。
本節實驗在單個NVIDIA V100 GPU上進行訓練、驗證及測試,Pytorch版本為1.7,CUDA使用10.1版本,cuDNN使用7.6版本。使用PyTorch提供的預訓練權重ResNet18初始化網絡。使用Adam優化器訓練網絡,M中的編碼器和分割解碼器學習率設為0.0001,動量設為0.5和0.999,采用“poly”學習策略來逐步降低學習速率。M中轉換解碼器學習率為0.0002,動量設為0.5和0.999。轉換判別器和域判別器的學習率都設為0.0001,動量分別設為0.5、0.999和0.9、0.99。訓練周期設為100。在訓練過程中,每個訓練周期之前輸入被隨機打亂。使用隨機水平翻轉和隨機裁剪來執行數據增強。圖像輸入網絡前先使用鏡像填充將圖像擴大到320×416。本文實驗采用常見的平均交并比(mIoU)來評估語義分割的性能。計算公式如下
(10)
式中:C是類別的數量,Pij是屬于第i類被預測為第j類的像素數。該評價指標在分割結果中的得分越高,代表算法分割精度越好。對于圖像生成質量的評價指標采用FID[15]分數,FID越低表示生成圖像的質量越高。
2.3.1 先進算法對比及分析
本文先對比分析了不同先進算法的實驗結果,對比算法包括本文提出的算法、MFNet、PSTNet、RTFNet-50、FuNNet和FuseSeg。對于RTFNet-50,采用ResNet-50作為骨干網絡,因為比ResNet-50更大的骨干網絡通常不適合自動駕駛。表1展示了不同網絡在Dataset1上測試的定量結果。

表1 不同分割算法在Dataset1上的對比結果
相比于采用了DenseNet的FuseSeg,本文算法僅使用ResNet-18就在Dataset1上取得了具有競爭力的預測結果,在“車”、“欄桿”和“巴士”類別上具有較為明顯的提升。在該數據集中,本文算法有7個類優于FuseSeg,整體性能達到了最先進的水平。
此外,本文還對比了不同先進算法在Dataset2上的實驗結果,以展示所提算法的泛化性。具體結果見表2。本文所提算法在“欄桿”、“路標”和“障礙物”等小目標上都有較為不錯的分割結果。在大部分類別中也能取得有競爭力的結果,且mIoU一項在所有算法中達到了最高水平。圖6展示了算法在兩個數據集上的定性結果,圖6(a)、圖6(b)列展示了Dataset1的分割結果,圖6(c)、圖6(d)列展示了Dataset2的分割結果。

表2 不同分割算法在Dataset2上的對比結果
圖7和圖8展示了不同數據集通過圖像轉換生成的圖像,可以看出,本節提出的模型可以轉換較為明顯的特征。對于夜間亮度過低的圖像,由于圖像本身特征較少,因此轉換的圖像質量也不高。

圖7 Dataset1真實圖像與生成圖像對比

圖8 Dataset2真實圖像與生成圖像對比
2.3.2 模型消融實驗及分析
為了驗證本文提出方法的有效性,本節對提出的模塊在兩個數據集上進行了消融實驗,如表3和表4所示。基線模型表示不使用域適應、EFEM以及FAAM模塊。

表3 Dataset1上的模型消融實驗

表4 Dataset2上的模型消融實驗
首先探究EFEM模塊,EFEM模塊分別在Dataset1和Dataset2上提升了0.6%和1.2%的mIoU,驗證了前文討論的編碼器與解碼器之間存在的語義鴻溝,EFEM減少了它們之間的特征距離,有利于特征在解碼器中進行特征聚合的操作。
然后研究本節提出的FAAM,由表中數據可知,該模塊為模型在不同數據集上都提供了明顯的性能提升,Dataset1中提升了1.7%mIoU,在Dataset2中提升了3.1%mIoU。由此可見,特征對不齊對網絡性能具有較大的影響。
接著,本節探究域適應對模型的影響,DA表示域適應過程,通過將其中一個模態轉換為另一個模態,使得不同模態之間的特征進行對齊,從而優化分割結果。通過域適應,模型在不同數據集上性能分別提升了0.8%和1.0%。本節還探究生成圖像再送入模型進行第二階段訓練的有效性,該想法使用域判別器實現,利用域判別器判別分割輸出是真或假進一步提升分割結果,表中用DC表示,在Dataset2的實驗中取得了3.2%的較大性能提升。因此,將生成圖像再次送入網絡可以取得進一步的性能提升,有效地利用了生成圖像,在一定程度上實現了數據增強。
如前文所討論的,FAAM用于特征對齊以及聚合。為了驗證本節提出的FAAM是有效的,本節將FAAM替換為特征相加,再接1×1卷積或3×3卷積的操作,得到的結果見表5和表6。

表5 Dataset1上FAAM消融實驗

表6 Dataset2上FAAM消融實驗
可以看到,僅使用相加以及卷積的模型性能遠不如FAAM,通過設計特定的特征對齊模塊,可以更有效地對齊特征,提升網絡的性能。
2.3.3 損失函數權重影響分析
由于本文實驗使用了多個損失進行監督,因此設計對比實驗驗證損失函數權重對算法分割效果以及圖像轉換效果之間的影響。如圖9和圖10所示。

圖9 Dataset1中損失函數權重大小對模型性能影響對比

圖10 Dataset2中損失函數權重大小對模型性能影響對比
圖中展示了權重大小和分割性能以及圖像生成效果之間的關系,權重使用了0、0.01、0.1、1、5這5個尺度,實線表示mIoU(越高越好),將其作為分割性能的評價指標;虛線表示FID分數(越低越好),將其作為生成圖像質量的評價指標。由圖中可以看出,整體來說,副任務權重比主任務權重小的情況下,分割可以取得較好的效果,當副任務權重過小,對主任務的幫助越小;當副任務權重過大,影響了主任務的訓練,會導致分割性能下降。
一般來說,當分割任務性能最優時,圖像轉換質量也處于較好的水平,由此可以得出結論,圖像質量優劣對分割性能有著正向影響。
2.3.4 模型復雜度分析
為了驗證本文提出的算法的高效性,本節實驗比較了本文算法和當前先進算法之間的FLOPs、FPS以及參數量,如表7所示。

表7 不同算法復雜度對比
由于FuseSeg設計的特殊性,為了公平比較,本節選擇480×640作為輸入圖像的分辨率。FLOPs、FPS以及參數量都在此分辨率基礎上進行測試。FLOPs表示處理特定分辨率圖像的浮點操作的數量。mIoU展示了不同算法在
Dataset1上的分割結果。從表中數據可以看出,本文算法相較于大部分算法都有更少的浮點操作數,參數量大大小于FuseSeg,且FPS也處于較高水平,實驗結果表明了本文算法在準確性和復雜性之間取得了很好的平衡,在自動駕駛上相比于其它模型更具有適用性。
針對多模態圖像語義分割模態內以及模態間特征對不齊的問題,本文提出了一種基于域適應互增強的RGB-IR圖像語義分割算法。算法將語義分割和域適應相結合,利用域適應使分割模型學習到不同模態間的特征,實現特征對齊并增強特征。提出的高效特征增強模塊有效地減少了編碼器和解碼器之間的語義鴻溝。此外,多級特征聚合對齊模塊可以聚合不同層級的特征并對齊模態內的信息。生成的圖像再次送入網絡,增強了訓練數據,進一步提升了分割性能。實驗驗證了本文算法達到了當前最優性能,設計的不同消融實驗驗證了所提出模塊的有效性,另外還設計實驗探究生成圖像與分割性能之間的關系。本文算法相比于當前大部分模型降低了的復雜度,提升了實用性。