胡 航,牛曉偉,左 昊,金重陽
(重慶三峽學(xué)院電子與信息工程學(xué)院,重慶 404100)
圖像語義分割是一個為圖像所包含的每個像素分配一個預(yù)先設(shè)定的類別標(biāo)簽的技術(shù)。該技術(shù)與圖像分類相似,都需要對圖像數(shù)據(jù)進(jìn)行分析和預(yù)測,但不同之處在于,圖像分類對圖像的整體情況進(jìn)行類別預(yù)測,語義分割對圖像中的每一個像素點(diǎn)的所屬類別標(biāo)簽進(jìn)行預(yù)測。它是計算機(jī)視覺中的一個基本課題,在當(dāng)前人工智能迅猛發(fā)展的形勢下,對提升群眾日常生活及某些專業(yè)技術(shù)領(lǐng)域(自動駕駛、生物醫(yī)學(xué)圖像)的便利性、安全性、準(zhǔn)確性具有至關(guān)重要的作用。
2015年,Long等[1]提出 全 卷 積神 經(jīng) 網(wǎng) 絡(luò)(Fully Convolutional Networks,F(xiàn)CN),第一次完成了在語義分割任務(wù)中端到端的神經(jīng)網(wǎng)絡(luò)輸出,實(shí)現(xiàn)了像素對像素的訓(xùn)練,達(dá)到了當(dāng)時語義分割方面最先進(jìn)的水平,奠定了深度學(xué)習(xí)實(shí)現(xiàn)圖像分割的基礎(chǔ),成為主流的圖像分割解決方案。U-net[2]在FCN的基礎(chǔ)上使用編碼器-解碼器結(jié)構(gòu),編碼過程中對輸入圖像進(jìn)行下采樣操作,逐層降低圖像的分辨率以獲得精細(xì)特征,解碼過程對卷積得到的低分辨率圖像逐層上采樣,并且通過跳躍連接融合下采樣過程中的特征信息,逐層恢復(fù)為原始分辨率。PSPNet[3](Pyramid Scene Parsing Network)對特征圖像進(jìn)行分通道卷積,利用不同的卷積核在每個通道實(shí)現(xiàn)不同的分辨率,得到不同精細(xì)程度的特征信息,然后再將這些不同分辨率的特征圖逆行上采樣恢復(fù)為 相 同 分 辨 率 后 融 合。DeepLab系 列[47]與PSPNet結(jié)構(gòu)相似,引入了空間金字塔池化(ASPP)模塊,整合了多尺度特征信息,增大了感受野,獲得大范圍的特征圖,考慮了一個位置和它上下文之間的關(guān)系,捕獲更清晰的邊界,分割結(jié)果得到優(yōu)化。
但是,以上提到的算法存在兩個問題:①都是通過卷積核對圖像進(jìn)行下采樣操作,得到低分辨率特征信息后再經(jīng)歷上采樣過程恢復(fù)至原始分辨率。高低分辨率的轉(zhuǎn)換交替會丟失大量有效信息,并影響原始圖像信息的準(zhǔn)確性。②只分析像素和像素之間的關(guān)系或僅從像素角度預(yù)測類別標(biāo)簽,沒有考慮分割物體的區(qū)域性,忽略了像素點(diǎn)的所屬區(qū)域的類別可能性及它們之間的相關(guān)性。這樣會增加不必要的參數(shù)數(shù)量,產(chǎn)生冗余的計算,分割速度緩慢并且丟失精細(xì)的邊緣細(xì)節(jié)。
因此,本文提出一種HRNet-OCR聯(lián)合交叉注意力機(jī)制的圖像語義分割算法,在特征提取過程中維持特征圖像的高分辨率,同時將不同分辨率的信息交錯融合,得到多尺度的語義信息,然后結(jié)合OCR算法[8]對圖像進(jìn)行粗略分割,并根據(jù)注意力機(jī)制[9-10]計算像素和對象區(qū)域的關(guān)聯(lián)性,增強(qiáng)像素的表示類別權(quán)重,提高圖像的分割質(zhì)量。
本文提出的HRNet-OCR神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)高精度語義分割,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。HRNet[11]作為骨干網(wǎng)絡(luò),以一個高分辨率的卷積流開始,通過卷積單元保持原始圖像的高分辨特征信息,并且從高到低逐步增加卷積流,不同的卷積流通過上下采樣操作相互交錯連接,交叉融合不同分辨率的特征信息,得到多尺度語義信息。OCR算法根據(jù)HRNet提取的特征信息先對圖像粗略地分割為K個區(qū)域,并為其賦予初步判定的物體類別標(biāo)簽fk,然后根據(jù)交叉注意力機(jī)制衡量像素點(diǎn)i與對象區(qū)域之間的相關(guān)性wik并進(jìn)行特征增強(qiáng),根據(jù)權(quán)重的大小得到像素i的精準(zhǔn)分類yi,完善物體邊緣的細(xì)節(jié),實(shí)現(xiàn)精細(xì)的圖像分割。該計算過程如式(1)~(3)所示:
其中,xi表示HRNet輸出的第i個像素點(diǎn)的類別標(biāo)簽,mki表示第i個像素點(diǎn)和第k個區(qū)域的關(guān)聯(lián)程度,ρ(·)和δ(·)是轉(zhuǎn)換函數(shù),γ(·)是關(guān)系函數(shù)。
骨干網(wǎng)絡(luò)HRNet雖然維持了高分辨率的特征信息,但是下采樣提取深層次的高級特征過程中的卷積操作會丟失部分細(xì)節(jié)和邊緣信息。為了獲取更廣泛的空間信息和語義信息,基于全局圖像進(jìn)行交叉計算,同時為節(jié)省計算資源,本文引入了交叉注意力機(jī)制(Criss-cross Attention)模塊。交叉注意力機(jī)制基于橫縱坐標(biāo)收集像素點(diǎn)的上下文信息,根據(jù)權(quán)重計算增強(qiáng)像素的特征,賦予像素準(zhǔn)確的類別標(biāo)簽,結(jié)構(gòu)如圖2所示。特征圖H通過3個1×1的卷積核產(chǎn)生Q(Query)、K(Key)、V(Value)。Q與K相運(yùn)算并經(jīng)過Softmax操作得到綜合了通道數(shù)和位置信息的注意力圖A,A與V計算并經(jīng)過殘差連接[12]得到最終匯聚多方信息的H’,計算過程如式(4)和(5)所示:
其中,σ(·)為softmax函數(shù)。
為說明本文所提算法的有效性和普適性,本 實(shí) 驗(yàn) 在Cityscapes[13]、ADE20K[14]、PASCAL VOC 2012[15]數(shù)據(jù)集上進(jìn)行測試。
Cityscapes包含19個類別的精細(xì)像素標(biāo)注圖,共有5000張分辨率為2048×1024的城市駕駛場景圖。訓(xùn)練集、測試集和驗(yàn)證集分別劃分為2975張、1525張和500張。
ADE20K是MIT推出的用于場景解析、分割、目標(biāo)識別、語義理解的數(shù)據(jù)集,該數(shù)據(jù)集中總共擁有超過25000張圖像,涵蓋了150個常見語義類別,并且對圖像中的物體進(jìn)行了密集的像素標(biāo)注。
PASCAL VOC 2012是語義分割領(lǐng)域常用的數(shù)據(jù)集,共有21個類別(含背景),包括人、動物、交通工具、室內(nèi)物品等。
為了驗(yàn)證所提算法的有效性,并與其它算法進(jìn)行對比實(shí)驗(yàn),本文采用圖像語義分割領(lǐng)域中最常用的兩個指標(biāo)平均交并比[16](mean intersection over union,mIoU)和F1-score進(jìn)行性能分析。
(1)mIoU表示分割區(qū)域與原始圖像真實(shí)區(qū)域的相交程度。mIoU的取值范圍是[]0,1,該值越高,說明圖像的分割效果越好。計算公式見式(6):
(2)F1-score衡量預(yù)測過程中準(zhǔn)確率(Precision)和召回率(Recall)之間的關(guān)系。計算公式見式(7):
上述兩式中,A為標(biāo)注圖像中的真實(shí)分割區(qū)域,B為算法預(yù)測的分割區(qū)域,TP(True Positive)是真正例,F(xiàn)P(False Positive)是假正例,F(xiàn)N(False Negative)是假反例,TN(True Negative)是真反例,Precision是精確率,Recall是召回率。
本實(shí)驗(yàn)的操作系統(tǒng)為Ubuntu 20.04.4 LTS,采用深度學(xué)習(xí)框架pytorch1.10,python版本3.8,CPU為Intel(R)Xeon(R)Gold 6330 CPU@2.00 GHz,內(nèi)存48 GB,GPU為RTX3090,顯存24 GB。實(shí)驗(yàn)參數(shù)設(shè)置見表1。
表1 實(shí)驗(yàn)參數(shù)
本文算法與經(jīng)典算法FCN、PSPNet、Deep-Labv3、DeepLabv3+算法進(jìn)行對比實(shí)驗(yàn),這些經(jīng)典算法的骨干網(wǎng)絡(luò)全部設(shè)定為ResNet-101,在Cityscapes數(shù)據(jù)集上得到的結(jié)果如表2所示。
表2 Cityscapes數(shù)據(jù)集對比實(shí)驗(yàn)
相較于這些經(jīng)典網(wǎng)絡(luò),本文提出的算法在平均交并比這個指標(biāo)上有較大的提升,優(yōu)勢比較明顯,模型訓(xùn)練的前期即可取得卓越的成績,說明本文提出的算法在該數(shù)據(jù)集上可以獲得不錯的分割效果。
同時,為了體現(xiàn)OCR算法和Criss-cross attention的有效性,本文設(shè)計了消融實(shí)驗(yàn),控制相同的變量,在同樣的環(huán)境下進(jìn)行實(shí)驗(yàn)比對,結(jié)果如表3所示。
表3 Cityscapes數(shù)據(jù)集消融實(shí)驗(yàn)
從表3可以看出,HRNet融合OCR算法后mIoU提升2.47個百分點(diǎn);在OCR模塊中融入Criss-cross attention后,整體的mIoU又提高了約1個百分點(diǎn)。
為直觀地展示網(wǎng)絡(luò)的圖像分割能力,在Cityscapes中選取了四張典型樣本(帶交通信號燈、十字路口、行人密集場景),利用不同模型對該樣本進(jìn)行預(yù)測,分割結(jié)果如圖3所示。在第一個樣本中可以看出,本文提出的算法相較于其它網(wǎng)絡(luò),完整地還原了交通信號燈的整體輪廓,在不同物體區(qū)域的分界處,有著更為清晰明顯的細(xì)節(jié)信息。在第四個樣本的多行人復(fù)雜場景中,可以看出本文算法分割圖可以將行人完全準(zhǔn)確區(qū)分,在一定程度上可以還原衣服細(xì)節(jié)。
ADE20K數(shù)據(jù)集標(biāo)注場景極為復(fù)雜,語義信息非常龐大,一張照片中需對多種不同種類物體進(jìn)行區(qū)域劃分與細(xì)節(jié)分割。當(dāng)前主流算法都沒有能夠在該數(shù)據(jù)集上獲得一個突破性的分割效果。不同模型在該數(shù)據(jù)集上的對比實(shí)驗(yàn)結(jié)果如表4所示,消融實(shí)驗(yàn)結(jié)果如表5所示??梢悦黠@看出,其它算法運(yùn)用到該數(shù)據(jù)集上的mIoU均在40%上下浮動,而本文提出的算法有顯著提升,達(dá)到47.62%,說明本算法區(qū)分復(fù)雜場景能力強(qiáng),多物體、多物種分辨水平高。
表4 ADE20K數(shù)據(jù)集對比實(shí)驗(yàn)
表5 ADE20K數(shù)據(jù)集消融實(shí)驗(yàn)
如圖4所示,在ADE20K數(shù)據(jù)集上,其它模型不能夠有效地分割出物體輪廓,在細(xì)節(jié)處理方面也大打折扣。不難看出,本文提出的算法可以在復(fù)雜環(huán)境中區(qū)分出不同物體類別,在草坪和綠樹這樣的相似場景下仍可以將二者區(qū)分開來。
PASCAL VOC 2012數(shù)據(jù)集對圖片劃分相對簡單,標(biāo)注較為容易,主要區(qū)分背景與突出物體。不同算法對比實(shí)驗(yàn)結(jié)果如表6所示,消融實(shí)驗(yàn)結(jié)果如表7所示。本文的mIoU為82.66%,F(xiàn)1-score為87.4%,均高于其它算法結(jié)果。實(shí)際分割結(jié)果如圖5所示,可以看出,其它算法對目標(biāo)物體的輪廓實(shí)現(xiàn)了準(zhǔn)確分割,本文算法在此基礎(chǔ)上對邊緣細(xì)節(jié)信息做了精細(xì)處理,還原了原始圖像的準(zhǔn)確細(xì)節(jié)信息。第一張樣本中復(fù)現(xiàn)了飛機(jī)的機(jī)翼細(xì)節(jié),第三張樣本中還原了小船的桅桿及船槳,十分接近手工標(biāo)注效果。
表7 PASCAL VOC 2012數(shù)據(jù)集消融實(shí)驗(yàn)
表6 PASCAL VOC 2012數(shù)據(jù)集對比實(shí)驗(yàn)
本文將交叉注意力機(jī)制模塊融入到HRNet-OCR網(wǎng)絡(luò)框架中,以期獲得較好的圖像分割結(jié)果。在Cityscapes、ADE20K和PASCAL VOC 2012數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,所提算法比當(dāng)前主流語義分割算法(FCN、PSPNET、DEEPLAB系列)的分割精確度有較明顯提升,物體區(qū)域劃分明確,細(xì)節(jié)信息保留程度高。但是,在面對多目標(biāo)、多物種交叉融合的復(fù)雜場景,分割效果略差,因此,下一步的研究重心將放在復(fù)雜場景圖像語義分割精度上面,優(yōu)化邊緣信息和上下文語義信息提取能力。