葉思佳,魏 延,杜韓宇,鄧金枝
(重慶師范大學(xué)計(jì)算機(jī)與信息科學(xué)學(xué)院,重慶 401331)
語(yǔ)義分割[1-2]是計(jì)算機(jī)視覺(jué)領(lǐng)域中常見(jiàn)的任務(wù)之一,讓計(jì)算機(jī)理解圖像的信息,根據(jù)圖像的信息來(lái)為每一個(gè)像素點(diǎn)進(jìn)行分類(lèi),不同類(lèi)別信息的像素點(diǎn)用不同的顏色區(qū)分開(kāi),語(yǔ)義分割本質(zhì)是一種像素級(jí)的空間密集型預(yù)測(cè)任務(wù)。語(yǔ)義分割在地理信息系統(tǒng)[3-4]、無(wú)人車(chē)駕駛[5-6]、醫(yī)療影像分析[7-8]等領(lǐng)域都有著廣泛的應(yīng)用。目前語(yǔ)義分割領(lǐng)域依舊面臨許多挑戰(zhàn),如分割精度不夠、小尺度目標(biāo)丟失、分割不連續(xù)等問(wèn)題。
傳統(tǒng)的語(yǔ)義分割方法通常是根據(jù)圖像自身的低階視覺(jué)信息來(lái)提取特征圖,這種提取的方式特征圖辨別性低從而影響分割精度。傳統(tǒng)的語(yǔ)義分割算法主要包括閾值分割[9]、邊緣分割[10]、聚類(lèi)分割[11-12]等。目前語(yǔ)義分割領(lǐng)域中主流的是基于深度學(xué)習(xí)的方法。和傳統(tǒng)方法相比,基于深度學(xué)習(xí)的圖像語(yǔ)義分割能更好地提取圖像的特征?;谏疃葘W(xué)習(xí)的圖像語(yǔ)義分割網(wǎng)絡(luò)結(jié)構(gòu)主要包括3 種,即基于編解碼的網(wǎng)絡(luò)結(jié)構(gòu)、基于空間金字塔的網(wǎng)絡(luò)結(jié)構(gòu)和基于多分支的網(wǎng)絡(luò)結(jié)構(gòu)。在編解碼網(wǎng)絡(luò)結(jié)構(gòu)中,通過(guò)編碼器取得低分辨率圖像,得到圖像的抽象的語(yǔ)義信息,通過(guò)解碼器取得高分辨率圖像,得到像素級(jí)預(yù)測(cè)結(jié)果。典型編碼器-解碼器結(jié)構(gòu)的網(wǎng)絡(luò)主要有全卷積神經(jīng)網(wǎng)絡(luò)FCN[13]、U 型網(wǎng)絡(luò)U-Net[14]以及SegNet[15]網(wǎng)絡(luò)。空間金字塔網(wǎng)絡(luò)結(jié)構(gòu)就是在圖片特征提取過(guò)程當(dāng)中形成多個(gè)不同分辨率的特征圖,再將不同分辨率的特征圖進(jìn)行融合,提高模型表征特征的能力。空間金字塔結(jié)構(gòu)的實(shí)現(xiàn)目前主要分為2 種:一種是通過(guò)改變各分支的輸入分辨率來(lái)捕獲多尺度語(yǔ)義信息,如PSPNet[16]、PANet[17];另外一種是改變各分支卷積層的方式來(lái)提取多尺度語(yǔ)義信息,如DeepLab[18-21]系列。以上2 種網(wǎng)絡(luò)結(jié)構(gòu)在進(jìn)行特征提取時(shí)都會(huì)經(jīng)過(guò)一系列的下采樣過(guò)程,大量的下采樣和池化操作會(huì)使特征圖由原先的輸入圖像大小(H,W)慢慢變成(H/16,W/16)甚至更小,這就會(huì)丟失掉原有分辨率的空間位置信息,導(dǎo)致空間和細(xì)節(jié)信息丟失。這個(gè)問(wèn)題對(duì)于圖像語(yǔ)義分割這種基于像素點(diǎn)的分類(lèi)任務(wù)來(lái)說(shuō)影響很大,因?yàn)樘卣鲌D難以單獨(dú)學(xué)習(xí)到下采樣過(guò)程中丟失了的像素信息?;诙喾种У木W(wǎng)絡(luò)結(jié)構(gòu)能緩解下采樣過(guò)程中像素信息丟失這一問(wèn)題。多分支網(wǎng)絡(luò)結(jié)構(gòu)是將輸入圖像分別送入多個(gè)分支,每個(gè)分支具有不同的輸出分辨率,由于網(wǎng)絡(luò)過(guò)程中全程保持了圖片分辨率比較高的分支,即保留了圖片的空間信息和細(xì)節(jié)信息。HRNet[22]是一個(gè)典型的多分支網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)全程保持了較高分辨率的特征圖,這也讓其在像素級(jí)分類(lèi)領(lǐng)域中有著更好的效果。
為了改善目前分割算法中小目標(biāo)丟失、精度不夠等問(wèn)題,本文基于HRNet 網(wǎng)絡(luò)模型進(jìn)行改進(jìn)。首先,針對(duì)不同分辨率的特征圖,本文引入不同的注意力機(jī)制[23-25](Attention Mechanism),得到更多有效的圖像特征信息。其次,本文通過(guò)使用深度可分離卷積[26]的方式減少參數(shù)、加速模型的訓(xùn)練。同時(shí),本文提出用多級(jí)上采樣機(jī)制替代原模型的上采樣方式,得到更好的融合結(jié)果,提高了分割的準(zhǔn)確度。
HRNet 是中科大和微軟研究院提出的針對(duì)人體姿態(tài)檢測(cè)的一個(gè)網(wǎng)絡(luò)模型。不同于特征提取過(guò)程中常會(huì)用的下采樣再上采樣的方法,HRNet讓網(wǎng)絡(luò)在學(xué)習(xí)過(guò)程中全程保持了一個(gè)高分辨率,HRNet的結(jié)構(gòu)如圖1 所示。從圖1 中可以看出HRNet 網(wǎng)絡(luò)的2 個(gè)關(guān)鍵特點(diǎn):1)高分辨率和低分辨率并行連接,同步推進(jìn);2)高低分辨率圖之間不斷地交換信息。高分辨率圖的存在使得空間上更加精準(zhǔn),低分辨率圖的存在使得語(yǔ)義上更充分。該網(wǎng)絡(luò)由4 個(gè)階段組成,通過(guò)反復(fù)的交換平行流中的信息來(lái)進(jìn)行多分辨率的融合。HRNet是在低分辨率的幫助下,多次融合高分辨率。
圖1 HRNet模型結(jié)構(gòu)
2014 年注意力機(jī)制提出后在深度學(xué)習(xí)中得到了廣泛的使用。注意力機(jī)制其本身是符合人類(lèi)的感知機(jī)制的,人們?cè)谟^察一個(gè)新事物的時(shí)候,會(huì)自然地對(duì)該事物重要的區(qū)域給予更多的關(guān)注,再將其他區(qū)域的信息進(jìn)行一個(gè)整合從而得到一個(gè)整體的印象。在深度學(xué)習(xí)中,模型的參數(shù)越多表示其存儲(chǔ)的信息越豐富,通常來(lái)說(shuō)模型的效果也就越好,但會(huì)占用更多的內(nèi)存空間,可能會(huì)使得模型難以訓(xùn)練。所以本文引入注意力機(jī)制,這樣模型會(huì)在大量的信息中找出對(duì)于當(dāng)前這個(gè)任務(wù)更為關(guān)鍵的信息并且給予這些信息更高的權(quán)重,減少無(wú)關(guān)信息的權(quán)重,有利于提高處理任務(wù)的速度,加快模型的訓(xùn)練。普通模式的注意力機(jī)制總的可以分為2 種,軟性注意力和硬性注意力。由于硬性注意力機(jī)制選擇信息的方式不能進(jìn)行求導(dǎo),無(wú)法在深度學(xué)習(xí)中利用反向傳播來(lái)進(jìn)行訓(xùn)練,所以在深度學(xué)習(xí)中為了能夠訓(xùn)練模型一般使用軟性注意力。軟性注意力是像素級(jí)的,目的是找出對(duì)于當(dāng)前任務(wù)重要的像素點(diǎn)并給其賦予更高的權(quán)重。
對(duì)于常規(guī)卷積來(lái)說(shuō),原始圖像大小是12×12,有3個(gè)通道,即shape 為12×12×3,經(jīng)過(guò)5×5 卷積核,輸入圖像有3 個(gè)通道,所以卷積核也應(yīng)該有3 個(gè)通道。每經(jīng)過(guò)一個(gè)這樣的卷積核會(huì)產(chǎn)生一個(gè)通道的特征圖,假設(shè)最后需要三通道的特征圖,則需要3 個(gè)這樣的卷積核,這時(shí)普通卷積的參數(shù)量是5×5×3×3=225,如圖2(a)所示。與常規(guī)卷積不同,深度可分離卷積分為2步,首先進(jìn)行通道分離,然后再進(jìn)行通道的上升。用3 個(gè)5×5×1 的卷積對(duì)3 個(gè)通道分別做卷積使其圖像的通道分離,再用1×1×3 的卷積對(duì)3 個(gè)通道再次進(jìn)行卷積就得到了一個(gè)8×8×1的特征圖,最后的特征圖是三通道的,所以需要3個(gè)這樣的卷積核,此時(shí)參數(shù)量是5×5×3+×1×1×3×3=84,如圖2(b)所示。深度可分離卷積的使用減少了模型的參數(shù)量,縮短了模型訓(xùn)練的時(shí)間。
圖2 普通卷積和深度可分離卷積
本文在HRNet[22]網(wǎng)絡(luò)模型的基礎(chǔ)上,使用深度可分離卷積,減少模型的參數(shù),提高訓(xùn)練的速度。其次對(duì)經(jīng)過(guò)HRNet 所產(chǎn)生的4 個(gè)不同分辨率的特征圖都讓其經(jīng)過(guò)了一個(gè)空間注意力機(jī)制(Spatial Attention mechanism,SA)。SA 的使用讓模型在進(jìn)行特征提取時(shí)對(duì)圖像空間尺度上重要的特征給予更多的關(guān)注。在上采樣階段,受多尺度認(rèn)知機(jī)制的啟發(fā),本文提出一種多級(jí)上采樣機(jī)制的方法,從最低分辨率特征圖開(kāi)始,兩兩進(jìn)行融合,直到融合到最高分辨率特征圖為止。并且在上采樣過(guò)程當(dāng)中,使用了BiCubic 插值算法,該算法能生成邊緣更平滑的特征圖,有利于后續(xù)提高分割的精確度。本文將上采樣后得到的特征圖經(jīng)過(guò)一個(gè)高效的通道注意力機(jī)制(Efficient Channel Attention,ECA)。ECA 的使用讓模型在進(jìn)行特征提取時(shí)對(duì)重要的通道信息賦予更高的權(quán)重。本文改進(jìn)的網(wǎng)絡(luò)模型如圖3所示。
圖3 本文改進(jìn)的網(wǎng)絡(luò)模型
2.2.1 SA空間注意力
在神經(jīng)網(wǎng)絡(luò)中,通常來(lái)說(shuō)淺層網(wǎng)絡(luò)的圖像特征會(huì)存在圖像的背景特征信息,若這時(shí)直接將圖像特征進(jìn)行上采樣,會(huì)影響圖像分割的效果。針對(duì)這一問(wèn)題,本文采用空間注意力機(jī)制,空間注意力是在圖像的空間尺度上關(guān)注哪里的特征是有意義的,對(duì)空間上重要的圖像特征給予更高的權(quán)重。如圖4 所示,首先對(duì)特征圖在通道上進(jìn)行壓縮,特征圖的長(zhǎng)度和寬度不變,通道數(shù)壓縮為1,再讓其分別經(jīng)過(guò)最大池化和平均池化,將這2 個(gè)池化結(jié)果拼接在一起后讓其經(jīng)過(guò)卷積層和激活函數(shù)。
圖4 空間注意力機(jī)制
式中,和大小為1 ×H×W,σ表示sigmoid 函數(shù),f7×7表示一個(gè)大小為7×7 的卷積運(yùn)算。最后將Ms與輸入的特征F'相乘,將該權(quán)重應(yīng)用到原來(lái)的每個(gè)特征空間上,便得到經(jīng)過(guò)空間注意力機(jī)制的新特征。
2.2.2 ECA通道注意力
對(duì)于特征圖來(lái)說(shuō),有2 個(gè)方面的特征表示,一個(gè)是圖像的空間尺度,另一個(gè)是圖像的通道尺度。圖像特征的每一個(gè)通道都代表著一個(gè)專(zhuān)門(mén)的檢測(cè)器,通道注意力機(jī)制會(huì)對(duì)當(dāng)前任務(wù)重要的通道分配更高的權(quán)重,簡(jiǎn)單并且有效。不同分辨率特征圖融合之后,本文讓其通過(guò)一個(gè)ECA 通道注意力機(jī)制,其結(jié)構(gòu)如圖5所示。首先在空間尺度上進(jìn)行特征壓縮,平均池化后空間大小變成1×1,特征圖的通道數(shù)不變,然后再讓其經(jīng)過(guò)一個(gè)自適應(yīng)大小為5×5 的卷積和一個(gè)激活函數(shù),就可以得到通道維度上注意力的權(quán)重MC。
式中,F(xiàn)savg大小為1 × 1 ×H,σ表示sigmoid 函數(shù),k代表計(jì)算出的自適應(yīng)卷積核的大小,γ和b分別設(shè)為2和1,f5×5表示一個(gè)大小為5×5的卷積運(yùn)算。最后將得到的權(quán)重MC與輸入的特征圖F相乘,便得到經(jīng)過(guò)通道注意力機(jī)制的新特征。
2.2.3 多級(jí)上采樣機(jī)制
上采樣是語(yǔ)義分割領(lǐng)域中一個(gè)重要的環(huán)節(jié),原HRNet 使用的是bilinear 算法進(jìn)行上采樣,該算法會(huì)使特征圖的高頻分量受損,這會(huì)影響特征圖像輪廓的清晰度,所以本文使用BiCubic 雙三次插值算法來(lái)進(jìn)行上采樣。原HRNet 網(wǎng)絡(luò)中不同分辨率的特征圖進(jìn)行融合的方式是將低分辨率的圖像直接上采樣到最高的分辨率,然后再進(jìn)行融合。但這種簡(jiǎn)單、直接的融合方式會(huì)影響特征圖的質(zhì)量,所以本文提出一種多級(jí)上采樣機(jī)制的方法,按照特征圖分辨率從低到高的順序,兩兩依次進(jìn)行融合,如圖6 所示。這種更加平滑的上采樣方式改善了融合結(jié)果,提高了特征圖質(zhì)量,并且可以產(chǎn)生更加清晰的特征圖邊緣,有利于提高分割精確度。
圖6 多級(jí)上采樣機(jī)制
本文實(shí)驗(yàn)采用的是PASCAL VOC2012 增強(qiáng)版數(shù)據(jù)集,由PASCAL VOC2012[27]數(shù)據(jù)集和SBD 數(shù)據(jù)集合并而成,包括人、飛機(jī)、船、摩托車(chē)、沙發(fā)等20 個(gè)類(lèi)別,加上1個(gè)背景類(lèi)別,總共21個(gè)類(lèi)別,不同類(lèi)別的像素點(diǎn)用不同的顏色區(qū)分開(kāi)。該數(shù)據(jù)集數(shù)據(jù)量更多,是語(yǔ)義分割領(lǐng)域中常用的數(shù)據(jù)集之一,總共有13487 張圖片,用10582 張圖片進(jìn)行模型的訓(xùn)練,1449 張圖片進(jìn)行模型的驗(yàn)證。實(shí)驗(yàn)使用Pytorch 深度學(xué)習(xí)框架,操作系統(tǒng)為Windows 10,基于英特爾i9-10920X CPU,NVIDIA GeForce RTX 3080Ti 12 GB 顯卡。本文訓(xùn)練模型時(shí)將輸入圖片的大小設(shè)置為480×480,batchsize設(shè)置為12,epoch設(shè)置為300。
平均交并比(mean Intersection over Union,mIoU)是語(yǔ)義分割算法中最常用的一個(gè)評(píng)價(jià)指標(biāo),本文采用mIoU 來(lái)評(píng)價(jià)模型分割效果的好壞。mIoU 是計(jì)算分割結(jié)果圖和輸入圖像標(biāo)簽圖的重合程度,重合程度越高,mIoU 的值就越趨近于1,表示模型的分割效果越準(zhǔn)確。
式中,n指的是數(shù)據(jù)集中的類(lèi)別數(shù),Pii表示實(shí)際為i類(lèi)預(yù)測(cè)為i類(lèi)的像素?cái)?shù)量,Pij表示實(shí)際為i類(lèi)但預(yù)測(cè)為j類(lèi)的像素?cái)?shù)量,Pji表示實(shí)際為j類(lèi)但預(yù)測(cè)為i類(lèi)的像素?cái)?shù)量。
為了驗(yàn)證本文改進(jìn)后的模型的有效性,在相同的實(shí)驗(yàn)環(huán)境下對(duì)原HRNet 模型和本文改進(jìn)后的模型在驗(yàn)證集進(jìn)行測(cè)試,其mIoU值對(duì)比如圖7所示。圖7中本文模型的mIoU 值達(dá)到了80.87%,分割精度比原模型提升了1.54個(gè)百分點(diǎn),說(shuō)明本文所提出的改進(jìn)是有效的。
圖7 HRNet原模型和本文模型的對(duì)比
為了驗(yàn)證SA空間注意力、ECA通道注意力和多級(jí)上采樣機(jī)制的有效性,本文設(shè)置了消融實(shí)驗(yàn),其結(jié)果如表1所示。從表1中可以看出,用多級(jí)上采樣機(jī)制這種更平滑的方式對(duì)不同分辨率的特征進(jìn)行融合,可減少特征圖質(zhì)量的損失,mIoU值比原模型增加了0.43個(gè)百分點(diǎn)。通過(guò)使用SA、ECA,特征圖在空間域和通道域獲得了更有效的語(yǔ)義信息,降低了圖像噪音對(duì)分割效果的影響,mIoU值比原模型增加了1.12個(gè)百分點(diǎn)。
表1 不同模塊性能結(jié)果
本文使用深度可分離卷積對(duì)HRNet 的主干網(wǎng)絡(luò)進(jìn)行優(yōu)化,減少了模型總參數(shù)量和總計(jì)算量,圖像每秒傳輸幀數(shù)(Frame Per Second,F(xiàn)PS)也有了一定的提升。表2是模型性能的對(duì)比結(jié)果。
為了驗(yàn)證本文模型的先進(jìn)性,所以除了和原模型相比,本文還將改進(jìn)后的模型與目前主流的分割模型,如PSPNet[16]、DeepLab[18-21]系列進(jìn)行了比較,其對(duì)比結(jié)果如表3 所示。從表3 中可以看出,PSPNet 的mIoU 值為78.56%,DeepLabv3 的mIoU 值為77.21%,DeepLabv3+融入了編解碼機(jī)制,mIoU達(dá)到了79.15%。本文方法全程保持了高分辨率的特征圖,有效地保留了圖像的空間信息,能更好地捕獲小尺寸目標(biāo)。引入注意力機(jī)制對(duì)圖像空間域和通道域的重要信息進(jìn)行了有效提取。使用多級(jí)上采樣機(jī)制讓4 個(gè)不同分辨率的特征圖得到了更好的融合。本文算法的分割精度比PSPNet 網(wǎng)絡(luò)模型的高了2.31 個(gè)百分點(diǎn),比Deep-Labv3+網(wǎng)絡(luò)模型高了1.72個(gè)百分點(diǎn)。
表3 不同網(wǎng)絡(luò)模型的測(cè)試結(jié)果
本文改進(jìn)的模型和原模型分割結(jié)果的對(duì)比如圖8所示。圖8(a)是模型的輸入圖像,圖8(b)為輸入圖像對(duì)應(yīng)的標(biāo)簽圖,圖8(c)是輸入圖像在HRNet 網(wǎng)絡(luò)上的分割結(jié)果,圖8(d)為輸入圖像在本文改進(jìn)后的模型上的分割結(jié)果。從圖8 中可以看出本文方法對(duì)人、自行車(chē)、瓶子等類(lèi)別能夠進(jìn)行更加精準(zhǔn)的分割,對(duì)于小尺寸目標(biāo)能進(jìn)行更加有效的識(shí)別。
圖8 分割結(jié)果對(duì)比圖
為了能夠提取更有效的圖像特征,本文在HRNet的基礎(chǔ)上融入了注意力機(jī)制,在通道和空間維度上提取更加有效的特征圖,使用了深度可分離卷積,在不影響分割精度的情況下減少了模型的參數(shù),并且使用多級(jí)上采樣機(jī)制減少了圖像質(zhì)量的損失。實(shí)驗(yàn)結(jié)果表明,本文方法在PASCAL VOC2012 增強(qiáng)版數(shù)據(jù)集上mIoU 值達(dá)到了80.87%。但網(wǎng)絡(luò)全程保持了高分辨率使模型參數(shù)量和計(jì)算復(fù)雜度較高,所以如何進(jìn)一步降低模型參數(shù)量并且保持算法的分割精度是后續(xù)研究的關(guān)鍵。