許鴻奎,郭文濤,李振業(yè),郭旭斌,趙京政
(1.山東建筑大學(xué) 信息與電氣工程學(xué)院;2.山東省智能建筑技術(shù)重點(diǎn)實(shí)驗(yàn)室,山東 濟(jì)南 250101)
圖像語義分割是計(jì)算機(jī)視覺領(lǐng)域的重要研究方向之一,作為像素級(jí)別的分類任務(wù),將圖像中每個(gè)像素分配類別標(biāo)簽。在傳統(tǒng)的語義分割任務(wù)中,通過運(yùn)用數(shù)字圖像處理和數(shù)學(xué)等領(lǐng)域的知識(shí),對(duì)輸入的圖像進(jìn)行特征提取,這些特征包括低層次的屬性,如顏色、紋理和輪廓。在提取過程中,常采用的方法為閾值方法[1]、聚類方法[2]、圖劃分[3]等。但是傳統(tǒng)算法只能提取大量的低級(jí)特征,并且分割后準(zhǔn)確率低。隨著深度學(xué)習(xí)技術(shù)的興起,卷積神經(jīng)網(wǎng)絡(luò)被應(yīng)用于圖像分割,其性能大大優(yōu)于傳統(tǒng)的基于手工特征的圖像分割方法。
近年來,大量的網(wǎng)絡(luò)模型結(jié)構(gòu)被提出,如AlexNet[4]、GoogLeNet[5]、ResNet[6]、VGG[7]等,使得語義分割領(lǐng)域飛速發(fā)展。2015 年,Long 等[8]提出全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Networks,F(xiàn)CN),基于VGG 分類網(wǎng)絡(luò),人們通過將全連接層替換為卷積層,開創(chuàng)了全卷積神經(jīng)網(wǎng)絡(luò)在端到端圖像語義分割中的應(yīng)用。然而,僅依賴深層次網(wǎng)絡(luò)特征往往導(dǎo)致邊界粗糙和語義分割不準(zhǔn)確等問題。為解決這一問題,人們開始融合不同層次的信息,采用自上而下的方式精細(xì)化特征,將淺層細(xì)節(jié)信息與深層語義信息相結(jié)合,以提高分割結(jié)果的準(zhǔn)確性。
在語義分割中,空間細(xì)節(jié)信息和深層語義信息是相互矛盾的。淺層特征提供了豐富的細(xì)節(jié)信息,但語義信息相對(duì)較少;而深層網(wǎng)絡(luò)特征包含豐富的語義信息,但缺乏足夠的空間細(xì)節(jié)信息。因此,如何平衡這兩種信息成為語義分割研究的核心任務(wù),旨在獲取更準(zhǔn)確且細(xì)致的分割結(jié)果。
一般而言,編碼器通常是一個(gè)重復(fù)空間約簡(jiǎn)的深度網(wǎng)絡(luò),為提取上下文信息,解碼器通過插值或轉(zhuǎn)置卷積恢復(fù)分辨率。如2017 年,Badrinarayanan 等[9]提出的SegNet 網(wǎng)絡(luò)就是一個(gè)標(biāo)準(zhǔn)的編碼器解碼器結(jié)構(gòu)。同年提出的Deep-Lab[10]網(wǎng)絡(luò)消除了ResNet 中的一些下采樣操作,以保持高分辨率,并利用具有大膨脹的卷積以擴(kuò)大感受野。從那時(shí)起,一系列如DeepLabV2[11]、DeepLabV3[12]、PSPNet[13]和DenseASPP 等[14]網(wǎng)絡(luò)結(jié)構(gòu)被提出。
另一方面,編碼器結(jié)構(gòu)可以是在ImageNet 上預(yù)先訓(xùn)練的輕量級(jí)骨干,也可以是從頭訓(xùn)練的高效變體,如ERFNet[15]和ESPNet[16]。FANet[17]通過快速注意模塊和整個(gè)網(wǎng)絡(luò)的額外下采樣實(shí)現(xiàn)了速度和準(zhǔn)確性之間的良好折衷。SFNet[18]提供了一個(gè)流對(duì)齊模塊以對(duì)齊相鄰層的特征映射,以便更好地融合。
編碼器—解碼器架構(gòu)減少了計(jì)算量,但由于在重復(fù)下采樣過程中會(huì)丟失一些信息,無法準(zhǔn)確地通過反采樣恢復(fù),從而影響了語義分割的準(zhǔn)確性。為了緩解這一問題,曠視科技團(tuán)隊(duì)提出了一種雙路徑結(jié)構(gòu)。網(wǎng)絡(luò)結(jié)構(gòu)為BiseNet[19],一條路徑用來提取空間特征信息,另一條路徑用來提取豐富的語義信息。因?yàn)閮烧叩奶卣骶S度不同,為了空間信息和語義信息更好地融合,提出了特征融合模塊FFM 和注意力優(yōu)化模塊ARM。2019 年,Li 等[20]提出一種通過子網(wǎng)和子級(jí)聯(lián)的方式聚合判別性特征網(wǎng)絡(luò)結(jié)構(gòu)DFANet,采用深度多尺度特征聚合和輕量級(jí)深度可分離卷積。2021 年,Hong 等[21]提出DDRNet 網(wǎng)絡(luò)結(jié)構(gòu),一種雙分支深度融合的網(wǎng)絡(luò)結(jié)構(gòu)用來實(shí)現(xiàn)語義分割。
語義分割的另一個(gè)關(guān)鍵是如何捕捉更豐富的上下文信息。分層空間金字塔池(ASPP)由不同速率的分層卷積層組成,可處理多尺度的上下文信息。PSPNet[13]中的金字塔池化模塊采用4 個(gè)不同大小的全局池化層以聚合多尺度特征。DANet[22]同時(shí)利用了位置注意和通道注意,進(jìn)一步改進(jìn)了特征表示。OCNet[23]利用自注意力機(jī)制探索對(duì)象上下文,對(duì)象上下文被定義為屬于同一對(duì)象類別的一組像素。以上工作都在探索如何獲得更加豐富的上下文信息和空間信息與上下文信息之間的有效融合。
本文主要貢獻(xiàn)包括兩個(gè)部分:①提出了一種深度融合空洞金子塔(Deep Fusion Atrous Spatial Pyramid Pooling,DFASPP),通過此模塊捕獲豐富的上下文信息;②為了高效地整合淺層空間細(xì)節(jié)信息和深層語義信息,提出了一個(gè)“語義融合模塊”(Semantic Fusion Module,SFM)。通過構(gòu)建不同層次特征像素之間的位置對(duì)應(yīng)關(guān)系,這個(gè)模塊能夠自底向上地逐級(jí)融合深淺層次特征,從而實(shí)現(xiàn)更全面的信息利用。
如圖1 所示,本文方法整體網(wǎng)絡(luò)結(jié)構(gòu)為雙分支。主干網(wǎng)絡(luò)為DDRNet-23slim,詳細(xì)信息如表1所示。其中,“RB”表示順序剩余基本塊;“RBB”表示單個(gè)剩余瓶頸塊;“Seg.Head”表示分割頭;“DASPP”表示深度融合空洞金字塔;“SFM”表示語義融合模塊;黑色實(shí)線表示有數(shù)據(jù)處理的信息路徑(包括上采樣和下采樣),黑色虛線表示沒有數(shù)據(jù)處理的信息路徑。
Table 1 Structure of DDRNet-23slim表1 DDRNet-23slim結(jié)構(gòu)
Fig.1 Network structure圖1 網(wǎng)絡(luò)結(jié)構(gòu)
在網(wǎng)絡(luò)結(jié)構(gòu)中,先通過兩個(gè)順序剩余基本塊將圖片提取到原圖片的1/4、1/8,然后產(chǎn)生平行分支。在主干網(wǎng)絡(luò)結(jié)構(gòu)中繼續(xù)通過順序剩余基本塊提取圖片到1/16、1/32,再通過一個(gè)剩余瓶頸塊將圖片壓縮到原圖像的1/64。通過設(shè)計(jì)一個(gè)深度融合空洞金字塔提取多尺度的上下文信息。本文所設(shè)計(jì)的深度融合空洞金字塔中擴(kuò)張率分別采用1、5、7。在另一分支結(jié)構(gòu)中不再改變圖片的分辨率,一直保持原圖片大小的1/8,讓圖像保留豐富的空間信息。在空間信息與語義信息融合階段,采用了一個(gè)語義融合模塊指導(dǎo)融合,以確保融合的有效性。將融合后的特征圖采用雙線性插值方法上采樣到原始圖片大小,再通過Softmax 分類器將其分類,得到最終分割結(jié)果,完成語義分割任務(wù)。
空洞卷積在語義分割網(wǎng)絡(luò)結(jié)構(gòu)中有著廣泛應(yīng)用,它能夠在擴(kuò)大感受野的同時(shí)降低其計(jì)算量。在語義分割檢測(cè)任務(wù)中,一方面感受野大了可以檢測(cè)分割大目標(biāo),另一方面分辨率高了可以精確定位目標(biāo),還能捕獲多尺度上下文信息,設(shè)置不同的膨脹率時(shí)其感受野不同,能夠獲得多尺度信息。
空洞卷積又名擴(kuò)張卷積,向卷積層引入了一個(gè)稱為“擴(kuò)張率(Dilation Rate)”的新參數(shù),該參數(shù)定義了卷積核參數(shù)之間的間距。換句話說,相比原來的標(biāo)準(zhǔn)卷積,擴(kuò)張卷積多了一個(gè)超參數(shù)稱之為擴(kuò)張率,指卷積核各點(diǎn)之間的間隔數(shù)量。正常卷積的擴(kuò)張率為1,膨脹卷積的感受野計(jì)算公式如下:
其中,F(xiàn)i代表膨脹卷積的感受野大小,i表示膨脹因子大小。
圖2(a)展示了一個(gè)標(biāo)準(zhǔn)的3×3 卷積模型,其擴(kuò)張率為1,感受野大小為3×3。圖2(b)描繪了擴(kuò)張率為2 的3×3 卷積模型,其感受野擴(kuò)展為7×7。而圖2(c)呈現(xiàn)了一個(gè)擴(kuò)張率為3的3×3卷積模型,其感受野進(jìn)一步增大為15×15。這些模型通過調(diào)整擴(kuò)張率來改變感受野大小,從而影響了卷積操作的局部感知范圍。
Fig.2 Schematic diagram of cavity convolution圖2 空洞卷積示意圖
在Chen 等[12]的語義分割模型DeepLabv2 中,提出了一種空洞金字塔結(jié)構(gòu),通過不同的膨脹率同時(shí)對(duì)輸入圖片進(jìn)行上下文信息提取,然后將其拼接融合。傳統(tǒng)的空洞金字塔結(jié)構(gòu)內(nèi)部之間的關(guān)聯(lián)性小,于是本文提出一種深度融合空洞金字塔(見圖3),所設(shè)計(jì)的深度融合空洞金字塔,通過不同膨脹率的空洞卷積對(duì)圖像進(jìn)行多尺度的信息提取,同時(shí)輸入特征圖和全局平均池化生成的語義信息也被加以利用。在多尺度信息融合過程中,采用多個(gè)3×3 的卷積以層次殘差的方式將不同尺度的上下文信息進(jìn)行融合。以原圖像的1/64 分辨率作為輸入,通過3 個(gè)膨脹率分別為1、5、7 的空洞卷積,然后采用層次殘差的方式將輸入特征圖、池化圖和空洞卷積圖融合,將不同尺度的上下文信息更加緊密地融合,其輸入寫為x,輸出為y:
Fig.3 Pyramid structure of deep fusion cavity圖3 深度融合空洞金字塔結(jié)構(gòu)
其中,C1×1為1×1 卷積,C3×3為3×3 卷積,U 為上采樣操作,DC 為空洞卷積,rate 為膨脹率,Pglobɑl為全局平均池。最后,使用1×1 卷積將所有特征映射連接和壓縮。此外,還添加了1×1投影快捷方式,便于優(yōu)化。
在語義分割網(wǎng)絡(luò)中,深層特征雖然富含語義信息,但圖像分辨率較低;相反,淺層特征包含豐富的空間細(xì)節(jié)信息,卻缺乏足夠的語義信息。這兩種信息對(duì)分割任務(wù)而言至關(guān)重要,因此如何有效利用這兩種信息成為語義分割研究的關(guān)鍵所在。
在融合不同分辨率的特征時(shí),通常需要對(duì)低分辨率特征進(jìn)行上采樣。然而,簡(jiǎn)單的雙線性插值上采樣操作往往導(dǎo)致不同分辨率特征之間的像素?zé)o法有效“對(duì)齊”,從而使得深層次的高語義特征在向淺層次的高分辨率特征傳遞時(shí)產(chǎn)生無效語義信息,融合效果不盡人意。為了解決這一問題,Li 等[18]提出了一種名為SFNet 的特征融合網(wǎng)絡(luò)。該網(wǎng)絡(luò)通過自主學(xué)習(xí)預(yù)測(cè)不同分辨率特征之間的“語義流”信息,能夠?qū)⒋致缘奶卣鞒C正為具有更高分辨率的精細(xì)特征,從而實(shí)現(xiàn)不同分辨率特征之間的像素“對(duì)齊”。通過這種方式,SFNet 能夠有效地將語義信息從深層傳輸?shù)綔\層,實(shí)現(xiàn)不同分辨率特征之間的有效融合,進(jìn)而提升語義分割性能。
基于以上工作,本文設(shè)計(jì)了一個(gè)語義融合模塊將深層次的語義信息與淺層次的空間特征進(jìn)行多層次、深層次的融合。如圖4 所示,語義融合模塊中以原圖像的1/64 作為深層輸入,記為Fd;以原圖像的1/8作為淺層輸入,記為Fh。首先,將深層次特征Fd進(jìn)行一個(gè)1×1 的卷積進(jìn)行通道降維,然后通過上采樣恢復(fù)到Fh尺寸大小。而Fh是通過一個(gè)3×3 的卷積后與Fd進(jìn)行拼接融合,經(jīng)過3×3 的卷積預(yù)測(cè),獲得二維偏移量Ff,其尺寸是原圖像的1/8。在Ff 中,每個(gè)像素位置都包含水平和豎直方向的偏移信息,通過這些二維偏移量,可以確定不同分辨率特征間像素的相對(duì)位置關(guān)系。接下來,利用二維偏移量Ff 對(duì)深層次特征進(jìn)行Warp 操作,得到新的特征Fw,然后將Fw 與Fh 進(jìn)行拼接融合。這種融合方式有效地整合了不同分辨率的特征,進(jìn)一步提升了模型性能。最后,將拼接后的特征利用1×1 的卷積融合以完成最后的輸出。其操作可表示如下:
Fig.4 Structure of semantic fusion module圖4 語義融合模塊結(jié)構(gòu)
其中,Upsample 表示以雙線性插值的方式進(jìn)行上采樣;f3×3、f1×1表示3×3和1x×1的卷積操作;Concat是指對(duì)兩個(gè)特征進(jìn)行通道上的拼接操作,將它們的通道維度合并在一起。Warp 是一種空間變換操作,它根據(jù)偏移量生成空間網(wǎng)格,并利用這個(gè)網(wǎng)格對(duì)圖像進(jìn)行重新采樣,從而實(shí)現(xiàn)圖像的空間變換。這種Warp 操作可以有效地對(duì)圖像進(jìn)行對(duì)齊和校準(zhǔn),從而提升特征融合效果。
將深層特征Fd通過1×1 卷積和雙線性插值上采樣后與3×3 卷積的淺層特征Fh進(jìn)行拼接融合,再經(jīng)過3×3 的卷積得到二維偏移量Ff。
將得到的二維偏移量Ff對(duì)深層次的特征進(jìn)行空間變換上采樣得到特征Fw。
將原始的淺層特征Fh與變換后的Fw進(jìn)行拼接融合,然后通過一個(gè)1×1 卷積進(jìn)行輸出。通過這樣的操作使得淺層次的空間信息與深層次的語義信息融合得更加充分,加強(qiáng)了特征通道的信息表達(dá)。
實(shí)驗(yàn)環(huán)境選擇CPU 為Intel 處理器,內(nèi)存為16GB,GPU 為RTX3060,深度學(xué)習(xí)框架為Pytorch。具體實(shí)驗(yàn)配置如表2所示。
Table 2 Software and hardware experiment configuration environment表2 軟硬件實(shí)驗(yàn)配置環(huán)境
本文采用大規(guī)模城市街道場(chǎng)景語義分割數(shù)據(jù)集Cityscapes[24]作為實(shí)驗(yàn)數(shù)據(jù)。Cityscapes 數(shù)據(jù)集主要針對(duì)自動(dòng)駕駛領(lǐng)域,包含了50 個(gè)不同城市街道場(chǎng)景的圖像,其中5 000 幅圖像具有精確標(biāo)注,20 000 幅圖像具有粗略標(biāo)注。該數(shù)據(jù)集涵蓋了34 個(gè)不同的街景類別,本實(shí)驗(yàn)中只專注于19 個(gè)類別的檢測(cè)和評(píng)估。對(duì)于實(shí)驗(yàn)評(píng)估,僅使用精確標(biāo)注的5 000 幅圖像,并將其劃分為3 個(gè)部分:2 975 幅用于訓(xùn)練,500 幅用于驗(yàn)證,以及1 525 幅用于測(cè)試。所有圖像的分辨率均為1 024×2 048。
在本次實(shí)驗(yàn)評(píng)估中,采用了平均交并比(Mean Intersection over Union,mIoU)作為評(píng)估算法性能的主要指標(biāo),mIoU 是圖像語義分割任務(wù)中的標(biāo)準(zhǔn)度量方法。對(duì)于單個(gè)類別,交并比(Intersection over Union,IoU)計(jì)算的是真實(shí)標(biāo)簽與預(yù)測(cè)值之間的交集和并集之比。而mIoU 則是所有類別IoU 的平均值,用于全面評(píng)估算法在所有類別上的性能。采用mIoU 作為評(píng)估指標(biāo),可以更準(zhǔn)確地衡量算法在語義分割任務(wù)中的效果。具體計(jì)算公式如下:
本次實(shí)驗(yàn)的網(wǎng)絡(luò)結(jié)構(gòu)為雙分支,其提取特征信息的主干網(wǎng)絡(luò)結(jié)構(gòu)為DDRNet-23slim,圖像預(yù)處理將圖片大小都調(diào)整為1 024×1 024 作為網(wǎng)絡(luò)輸入。采用隨機(jī)梯度下降法(Stochastic Gradient Descent,SGD),學(xué)習(xí)率初始值設(shè)為0.01,動(dòng)量為0.9,權(quán)重衰減為0.000 5,batchsize 設(shè)置大小為32,進(jìn)行500 個(gè)epoch 進(jìn)行訓(xùn)練。測(cè)試采用的輸入圖片尺寸為2 048×1 024。
在Citycapes 數(shù)據(jù)集上將本文方法同ICNet、BiSeNet、SFNet、MFSNet 等一系列先進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行對(duì)比。為保證實(shí)驗(yàn)公平性,采用相同的實(shí)驗(yàn)設(shè)備和實(shí)驗(yàn)環(huán)境。輸入圖片的尺寸均為2 048×1 024。性能比對(duì)采用平均交并比加以衡量。
通過表3 可以看出,所設(shè)計(jì)的深度融合網(wǎng)絡(luò)結(jié)構(gòu)相較于SeNet、ICNet、BiSeNet、SFNet、MFSNet 等輕量級(jí)網(wǎng)絡(luò)結(jié)構(gòu)有著較大提升,在Citycapes 數(shù)據(jù)集上得了77.6%的平均交并比。
Table 3 Performance comparison of each method表3 各方法性能比較
Table 4 Comparison of ablation experiments表4 消融實(shí)驗(yàn)比較
為了檢驗(yàn)各模塊對(duì)分割精度的影響,本文基于相同的實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)參數(shù),在Citycapes 數(shù)據(jù)集上做了消融實(shí)驗(yàn)。通過對(duì)比發(fā)現(xiàn),在不加任何模塊時(shí),其產(chǎn)生的平均交并比為66.7%,而加上設(shè)計(jì)的深度融合空洞金字塔模塊進(jìn)行進(jìn)一步的語義信息提取后平均交并比達(dá)76.3%,再加上一個(gè)語義融合模塊進(jìn)行指導(dǎo)空間信息與語義信息的有效融合,其平均交并比達(dá)77.6%。
為了更加直觀地展示本文方法所帶來精度上的提升,在Citycapeas 數(shù)據(jù)集上進(jìn)行分割可視化。圖5 中,(a)為原圖,(b)為標(biāo)簽,(c)為不加任何模塊,(d)為加上深度融合空洞金字塔,(e)為加上深度融合空洞金字塔和語義融合模塊??梢钥闯?,在不添加模塊時(shí),其分割的物體邊緣信息不明顯,物體之間容易混合;加上本文所設(shè)計(jì)的模塊后,其分割精度有明顯提升。
Fig.5 Visualization on Citycapeas dataset圖5 Citycapeas數(shù)據(jù)集上可視化
本文設(shè)計(jì)了一個(gè)深度融合的空洞金字塔模塊和一個(gè)語義融合模塊應(yīng)用于語義分割任務(wù)。利用深度融合空洞金字塔捕獲不同尺度目標(biāo)上下文信息,通過層次殘差的方式進(jìn)行深度融合,在保持圖像分辨率不變的前提下,降低網(wǎng)絡(luò)參數(shù)數(shù)量并增強(qiáng)圖像的全局語義信息表達(dá)能力。使用語義融合模塊將淺層空間信息與深層次語義信息進(jìn)行有效融合,通過實(shí)現(xiàn)深層語義信息與淺層細(xì)節(jié)信息的互補(bǔ),在Cityscapes 數(shù)據(jù)集上獲得了優(yōu)異的分割精度,并通過可視化方式展示了本文方法的分割效果。未來,將繼續(xù)致力于提升模型對(duì)不同物體的分割精度,并進(jìn)一步簡(jiǎn)化模型,以增強(qiáng)其在實(shí)際應(yīng)用中的可行性,同時(shí)提高應(yīng)用效率,加快模型訓(xùn)練進(jìn)度。