蘭建平,董馮雷,楊亞會(huì),董秀娟,胡逸賢
(湖北汽車(chē)工業(yè)學(xué)院汽車(chē)工程師學(xué)院,湖北 十堰 442002)
圖像語(yǔ)義分割是指對(duì)數(shù)字圖像中的每個(gè)像素進(jìn)行分類,以便對(duì)圖像進(jìn)行深入理解和處理[1]。作為計(jì)算機(jī)視覺(jué)領(lǐng)域的三大基本任務(wù)之一,圖像語(yǔ)義分割在自動(dòng)駕駛[2]、醫(yī)學(xué)影像分析[3]、機(jī)器人導(dǎo)航[4]等領(lǐng)域均有著極為廣泛的應(yīng)用。近年來(lái),隨著深度學(xué)習(xí)的發(fā)展,很多基于卷積神經(jīng)網(wǎng)絡(luò)的語(yǔ)義分割方法被提出。Ronneberger O 等人[5]提出編碼器-解碼器架構(gòu),通過(guò)跳連接融合編碼器中的空間信息和解碼器的語(yǔ)義信息。Chen L C 等人提出DeepLab 系列網(wǎng)絡(luò)[6,7]利用空洞卷積層代替?zhèn)鹘y(tǒng)的卷積層以在圖像大小不變的情況下增大感受野。Zhao H等人在PSPNet中[8]通過(guò)聚合不同階段的信息從而獲取全局上下文信息,有效增強(qiáng)特征表征能力。然而上述大規(guī)模卷積神經(jīng)網(wǎng)絡(luò)對(duì)平臺(tái)的計(jì)算能力和內(nèi)存容量要求很高,無(wú)法滿足如自動(dòng)駕駛、機(jī)器人導(dǎo)航等對(duì)實(shí)時(shí)性要求較高的領(lǐng)域的應(yīng)用需求。
為了滿足算法的實(shí)際部署應(yīng)用,輕量級(jí)的實(shí)時(shí)語(yǔ)義分割網(wǎng)絡(luò)越來(lái)越受到關(guān)注。ESPNet[9]利用逐點(diǎn)卷積和空洞卷積金字塔提取不同感受野尺度下的局部與全局語(yǔ)義信息。BiSeNet[10,11]采用多路徑框架分別提取空間細(xì)節(jié)信息和語(yǔ)義上下文信息,該算法在準(zhǔn)確性和實(shí)時(shí)性方面表現(xiàn)出色。然而,添加額外的網(wǎng)絡(luò)路徑來(lái)獲取空間細(xì)節(jié)信息會(huì)增加計(jì)算消耗,并且輔助路徑缺乏底層信息的引導(dǎo)。STDCSeg[12]為了提高計(jì)算效率,提出一種短期密集級(jí)聯(lián)(shortterm dense cascade,STDC)模塊,然后將該模塊集成到U-Net架構(gòu)中形成STDC-Seg網(wǎng)絡(luò),但是該網(wǎng)絡(luò)解碼器結(jié)構(gòu)較為復(fù)雜,如何在網(wǎng)絡(luò)規(guī)模、運(yùn)行速度和分割精度之間找到平衡,滿足低功耗移動(dòng)設(shè)備的需求仍是一個(gè)具有挑戰(zhàn)性的問(wèn)題。
針對(duì)上述問(wèn)題,本文在STDC-Seg語(yǔ)義分割網(wǎng)絡(luò)算法的基礎(chǔ)上,對(duì)其解碼器部分進(jìn)行重新設(shè)計(jì)優(yōu)化,使實(shí)時(shí)性和準(zhǔn)確性得到更好地提升。
目前主流的設(shè)計(jì)方法有2 種:1)采用輕型骨干網(wǎng)絡(luò):RegSeg[13]引入一種擴(kuò)張卷積結(jié)構(gòu)設(shè)計(jì)骨干網(wǎng)絡(luò),增加感受野,降低網(wǎng)絡(luò)規(guī)模。2)多分支架構(gòu):PIDNet[14]提出3 個(gè)分支來(lái)分別解析細(xì)節(jié)、上下文信息和邊界信息,并采用注意力機(jī)制模塊來(lái)指導(dǎo)細(xì)節(jié)和上下文信息的融合。如圖1所示。
圖1 圖像語(yǔ)義分割
語(yǔ)義分割常將多層次特征進(jìn)行融合以增強(qiáng)模型特征表示能力。常用的方法有元素求和、元素拼接以及采用注意力機(jī)制。注意力機(jī)制通過(guò)對(duì)輸入序列或圖像中每個(gè)位置計(jì)算權(quán)重來(lái)引導(dǎo)模型更加關(guān)注重要的特征[15],這些權(quán)重與輸入進(jìn)行加權(quán)平均,從而得到更加關(guān)鍵和重要的特征,提高模型的表現(xiàn)力和預(yù)測(cè)精度。如今已廣泛應(yīng)用于自然語(yǔ)言處理[16]、目標(biāo)檢測(cè)[17]、圖像識(shí)別[18]、語(yǔ)義分割[19]等諸多領(lǐng)域。
本文算法結(jié)構(gòu)如圖2 所示。主要包括3 個(gè)模塊:編碼器、解碼器和細(xì)節(jié)聚合模塊,其中包含空間注意力融合模塊(spatial attention fusion module,SAFM);通道注意力融合模塊(channel attention fusion module,CAFM);分割頭(Seg Head)和細(xì)節(jié)頭(Detail Head)。細(xì)節(jié)聚合模塊只在訓(xùn)練階段使用,在推理階段時(shí)去掉,增加模型推理速度。
圖2 改進(jìn)后的算法結(jié)構(gòu)
首先,利用STDCNet作為編碼器骨干網(wǎng)絡(luò)來(lái)提取圖像層次化的特征。STDCNet的結(jié)構(gòu)如表1所示,共包含5個(gè)階段,每個(gè)階段都進(jìn)行一次下采樣將尺寸變?yōu)樯弦浑A段的1/2,所以最終的特征大小為輸入圖像的1/32。根據(jù)第3 到第5階段STDC模塊堆疊次數(shù)的不同可以分為STDC1 和STDC2兩個(gè)網(wǎng)絡(luò)模型[12]。
表1 STDCNet骨干網(wǎng)絡(luò)結(jié)構(gòu)
然后,利用所提出的解碼器將編碼器所提取到的高級(jí)特征進(jìn)行融合以及上采樣,逐步還原丟失的細(xì)節(jié)信息。采用SAFM來(lái)逐步融合編碼器的多層次特征映射并進(jìn)行上采樣,并采用CAFM與階段3經(jīng)過(guò)細(xì)節(jié)聚合模塊[12]引導(dǎo)的特征進(jìn)行融合。最后通過(guò)分割頭將通道數(shù)減為所需類別數(shù),進(jìn)行上采樣將特征大小擴(kuò)展到原圖像尺寸,并進(jìn)行argmax操作預(yù)測(cè)每個(gè)像素的標(biāo)簽。采用在線難例挖掘損失函數(shù)對(duì)模型進(jìn)行優(yōu)化。
Seg Head 和Detail Head 的結(jié)構(gòu)相同,如圖2 所示,由一個(gè)3 ×3卷積、批歸一化、ReLU非線性激活函數(shù)和1 ×1卷積組成,Seg Head 的輸出通道數(shù)設(shè)置為待分割的語(yǔ)義類別數(shù),Detail Head的輸出通道數(shù)設(shè)置為1,即邊緣置信度。
解碼器的工作是恢復(fù)從骨干網(wǎng)絡(luò)中丟失的本地細(xì)節(jié)信息[13]。所提出的解碼器架構(gòu)如圖3 所示。與目前常用方法不同[20],本文構(gòu)建一個(gè)簡(jiǎn)單的池化層,將其分別應(yīng)用于編碼器的3個(gè)階段,可以分別匯聚不同特征層次的上下文信息,同時(shí)調(diào)整通道數(shù)。摒棄STDC-Seg 逐元素相加的操作,采用SAFM進(jìn)行多層次特征融合,用以產(chǎn)生更加精細(xì)的特征。利用CAFM融合低層次的空間細(xì)節(jié)特征和深層次的上下文語(yǔ)義信息,充分利用注意力機(jī)制,有效豐富深層次語(yǔ)義特征的細(xì)節(jié)信息。此方法與STDC-Seg 網(wǎng)絡(luò)相比減少了21.3%的參數(shù)量,平均交并比(mIoU)高出2.02 個(gè)百分點(diǎn)。
圖3 解碼器結(jié)構(gòu)示意
本文所采用的注意力融合模塊如圖4 所示,借鑒PPliteseg[20]的思路,SAFM 利用空間注意力機(jī)制產(chǎn)生權(quán)重α,并通過(guò)元素乘法和相加運(yùn)算將輸入特征與權(quán)重融合。其中,F(xiàn)high和Flow分別是高低層次特征的輸出,首先將Fhigh上采樣到與Flow相同的大小,記為Fup。Fup和Flow作為空間注意力模塊的輸入,即Fup∈RC×H×W和Flow∈RC×H×W,分別計(jì)算出輸入特征同一位置在所有通道特征信息上的最值、均值和標(biāo)準(zhǔn)差,共成6 個(gè)特征,每個(gè)特征的維度均為R1×H×W,然后將這6個(gè)特征連接成一個(gè)特征Fcat∈R6×H×W;利用卷積操作綜合特征權(quán)重信息,采用Sigmoid函數(shù)將權(quán)重歸一化后與輸入特征相乘,最后對(duì)注意力加權(quán)特征進(jìn)行元素加法,輸出融合特征。SAFM計(jì)算過(guò)程如下所示
圖4 SAFM示意
式中x為輸入特征;Xup和Xlow分別為2個(gè)輸入特征的所提取的最值、均值和標(biāo)準(zhǔn)差;Concat 為拼接函數(shù);Conv 為卷積操作。
如圖5所示,首先,將兩種不同特征進(jìn)行拼接;然后,使用1 ×1卷積和批歸一化來(lái)平衡特征尺度,同時(shí)降低通道數(shù)以提升推理速度;接著,使用全局平均池化和全局最大池化操作來(lái)擠壓輸入特征的空間維度,分別進(jìn)行1 ×1 卷積后進(jìn)行相加,使用Sigmoid函數(shù)生成特征權(quán)重與拼接后的特征相乘;最后,將融合權(quán)重的特征與初始特征相加生成新的特征圖。
圖5 CAFM模塊示意
CAFM的計(jì)算過(guò)程如下
式中Xlow,Xhigh為輸入特征;Conv 為卷積、批歸一化、ReLU操作;MaxPool和AvgPool分別為全局最大池化和全局平均池化。
將本文所提語(yǔ)義分割算法在Cityscapes 數(shù)據(jù)集上進(jìn)行相關(guān)測(cè)試以驗(yàn)證算法有效性。該數(shù)據(jù)集擁有5 000 張精細(xì)標(biāo)注的城市環(huán)境中駕駛場(chǎng)景的圖像,其中2 975 張用作訓(xùn)練集,500張用作驗(yàn)證集和1 525 張用作測(cè)試集。圖像分辨率為2 048 ×1 024,一共有30個(gè)類別,這里只使用19個(gè)類別。
設(shè)置批次大?。╞atchsize)為12,最大迭代次數(shù)為160 000;采用隨機(jī)梯度下降(stochastic gradient descent,SGD)法作為優(yōu)化器進(jìn)行模型訓(xùn)練,設(shè)置momentum 為0.9,權(quán)重衰減為3e-5;采用“poly”學(xué)習(xí)策略,設(shè)置初始學(xué)習(xí)率為0.01,power設(shè)為0.9。使用隨機(jī)縮放、隨機(jī)裁剪、隨機(jī)水平翻轉(zhuǎn)以及隨機(jī)顏色抖動(dòng)等方式進(jìn)行數(shù)據(jù)增強(qiáng),隨機(jī)裁剪的分辨率為1 024 ×512。所有的訓(xùn)練都基于ubuntu 20.04,NVIDIA GeForce 3090硬件平臺(tái)上使用PaddleSeg 深度學(xué)習(xí)框架完成。
將Cityscapes的圖像大小調(diào)整為1 024 ×512,使用推理模型對(duì)圖像進(jìn)行推理,計(jì)算推理時(shí)間。使用平臺(tái)為NVIDIA 2060 GPU、CUDA 11.4、CUDNN 8.2.4、TensorRT 8.4。使用幀率(frame per second,F(xiàn)PS)作為評(píng)價(jià)指標(biāo)衡量算法實(shí)時(shí)性。使用平均交并比(mean intersection over union,mIoU)作為評(píng)價(jià)指標(biāo)進(jìn)行分割精度比較,其定義如下
式中i為真實(shí)值,j為預(yù)測(cè)值,k+1為語(yǔ)義類別總數(shù)。
由表2可見(jiàn):與STDC1-Seg網(wǎng)絡(luò)相比,所提出的解碼器語(yǔ)義分割性能幾乎保持不變,參數(shù)量減少24.3%;通過(guò)增加SAFM和CAFM后犧牲少許參數(shù)量,分割精度得到很大提升,mIoU 分別可以提升0.78%和0.92%;當(dāng)同時(shí)使用SAFM和CAFM后,配合輕量化解碼器其準(zhǔn)確度可以達(dá)到74.22%,參數(shù)量減小為6.22 M。圖6 為Cityscapes數(shù)據(jù)集上的分割結(jié)果,可以觀察到分割結(jié)果逐漸與Ground-Truth圖像一致。上述消融實(shí)驗(yàn)充分驗(yàn)證了輕量化解碼器、SAFM和CAFM模塊的有效性。
表2 各模塊消融實(shí)驗(yàn)
圖6 Cityscapes數(shù)據(jù)集分割結(jié)果
通過(guò)上述的訓(xùn)練和推理,將本文算法和其他實(shí)時(shí)語(yǔ)義分割算法進(jìn)行對(duì)比,如表3 所示。將訓(xùn)練出來(lái)的模型轉(zhuǎn)為ONNX模型,采用TensorRT進(jìn)行模型部署。實(shí)驗(yàn)結(jié)果表明,本文算法的語(yǔ)義分割性能達(dá)到了領(lǐng)先的水平,與STDC-Seg等其他流行的輕量級(jí)語(yǔ)義分割方法相比,在擁有更高準(zhǔn)確性的同時(shí),其實(shí)時(shí)性表現(xiàn)也得到了一定提升。具體地,本文算法在Cityscapes數(shù)據(jù)集中以154.7 fps的實(shí)時(shí)性表現(xiàn)達(dá)到74.22%mIoU的準(zhǔn)確性。采用STDC2作為骨干網(wǎng)絡(luò)時(shí)精度最高,mIoU 為75.68%。此外,在與STDC-Seg 相同的編碼器和輸入分辨率下,本文算法表現(xiàn)出更好的性能。
表3 在Cityscapes數(shù)據(jù)集上各模型對(duì)比
本文首先采用STDCNet 作為編碼器骨干網(wǎng)絡(luò),提取圖像特征;隨后提出一種靈活的輕量級(jí)解碼器,以低計(jì)算成本聚合全局上下文信息,恢復(fù)特征細(xì)節(jié),提高現(xiàn)有解碼器的效率;同時(shí)提出兩種注意力機(jī)制融合模塊,分別為采用空間注意力機(jī)制的SAFM 和采用通道注意力機(jī)制的特征融合模塊,可以有效增強(qiáng)特征表達(dá)能力。經(jīng)過(guò)大量實(shí)驗(yàn)論證,結(jié)果表明:本文算法在分割精度和推理速度之間實(shí)現(xiàn)了更先進(jìn)的平衡,其語(yǔ)義分割性能得到了顯著提升。該算法可滿足自動(dòng)駕駛等領(lǐng)域圖像語(yǔ)義分割的實(shí)際應(yīng)用部署需求。