徐志凡,杜洪波,韓承霖,李恒岳,祁新,林凱迪,黎詩
(沈陽工業(yè)大學(xué) 理學(xué)院,沈陽 110870)
圖像語義分割在計算機視覺領(lǐng)域起著重要的作用,在虛擬現(xiàn)實[1-2]、醫(yī)學(xué)影像[3-4]、人機交互[5-6]等領(lǐng)域有著越來越普遍的應(yīng)用。
深度學(xué)習(xí)[7]與傳統(tǒng)語義分割算法的結(jié)合,使圖像語義分割精度得到極大的提升。全卷積網(wǎng)絡(luò)(FCN)[8]為最初與深度學(xué)習(xí)結(jié)合的網(wǎng)絡(luò),其是傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)(CNN)的擴展,為減少計算量FCN 將CNN 中的全連接層轉(zhuǎn)化為卷積層。但FCN 產(chǎn)生的分割圖較為粗略。SegNet[9]為了提高效果,復(fù)制了最大池化指數(shù),引入更多的跳躍連接。這些語義分割模型在空間分辨率方面有著明顯的缺陷,于是RefineNet[10]利用殘差連接的思想,降低了內(nèi)存使用量,提高了模塊間的特征融合。由于基于FCN 的很多架構(gòu)都未引入充分的全局信息,PSPNet[11]提出了一個金字塔池化模塊,充分利用了局部信息與全局信息,使得最后的分割結(jié)果更加精確。綜上所述可以發(fā)現(xiàn),提高圖像語義分割的精確度是目前的主要研究方向和熱點。
Google 團隊自2015 起提出了一系列DeepLab模型[12-15],在語義分割領(lǐng)域有著重要作用。雖然其中的DeepLab V3+模型的分割效果最優(yōu),但其在解碼器部分對于特征圖的多尺度連接不夠充分,使最終的語義分割圖的分割精細(xì)度尚有提高的空間。本文據(jù)此提出了一種基于DeepLab V3+改進的模型,優(yōu)化了編碼器與解碼器部分,在公開數(shù)據(jù)集上進行驗證,結(jié)果表明MIoU 相較于原模型有所提高。
DeepLab V3+網(wǎng)絡(luò)模型為編解碼結(jié)構(gòu)。編碼器部分的基礎(chǔ)網(wǎng)絡(luò)ResNet101 提取圖像特征,生成語義特征圖;ASPP 模塊則將空洞卷積與SPP 進行結(jié)合,對生成的特征圖進行不同擴張率的空洞卷積采樣,將得到的特征圖concat 融合后進行1x1 的卷積,最后得到具有高級語義信息的特征圖。解碼器從基礎(chǔ)網(wǎng)絡(luò)ResNet101 的某一個block 中提取一張帶有低級語義信息的特征圖,將其與編碼器所得的高級語義特征圖進行concat 融合,最后進行上采樣得到與輸入圖像同樣大小的語義分割圖。該模型結(jié)構(gòu)如圖1 所示。
圖1 DeepLab V3+模型結(jié)構(gòu)圖Fig.1 DeepLab V3+model structure diagram
對于語義分割來說,在計算量減少的同時分割精細(xì)度越高越好。雖然DeepLab V3+算法可以達到較高的分割精細(xì)度,但其在解碼器部分對于特征圖的多尺度連接并不充分,僅有高級語義特征圖與低級語義特征圖的連接會使模型的學(xué)習(xí)能力不足。為了提高模型的學(xué)習(xí)能力,得到更為精細(xì)的語義分割圖,且在不增加計算量的前提下,可利用編碼器結(jié)構(gòu)中的ASPP 模塊,增加中級語義特征圖。雖然在ASPP 模塊中對基礎(chǔ)網(wǎng)絡(luò)中得到的特征圖進行了多尺度信息的提取,但是不同尺度的特征圖包含的信息是不同的,且不同尺度的特征圖中的信息差異較大,統(tǒng)一進行融合后很難學(xué)習(xí)。為此,本文模型引入中級語義特征圖。中級語義特征圖含有豐富的語義信息,使得解碼器部分高級語義特征圖與低級語義特征圖的連接更為平滑,保留了更多的細(xì)節(jié)信息。經(jīng)實驗對比,改進后的模型分割精度有所提高。
在不增加計算量的前提下對編碼器中的ASPP模塊進行改進,一方面先將基礎(chǔ)網(wǎng)絡(luò)ResNet101 所得的語義特征圖并行處理,采用擴張率分別為6、12、18 的3x3 卷積提取特征,將多尺度信息做concat融合處理,并通過1x1 卷積,調(diào)整中級語義特征圖在語義分割預(yù)測圖中所占的比重。另一方面將ASPP模塊前兩層輸出的特征圖同樣以concat 融合處理得到高級語義特征圖,并和中級語義特征圖一起輸入到解碼器部分,為圖像語義分割做準(zhǔn)備。改進后的整體模型的結(jié)構(gòu)如圖2 所示。
圖2 改進的DeepLab V3+模型圖Fig.2 Improved DeepLab V3+model diagram
實驗仿真環(huán)境為 python3.6、Anaconda3、TensorFlow1.15、Keras2.2.4。硬件環(huán)境為深度學(xué)習(xí)GPU 運算塔式服務(wù)器主機,采用可支持兩個INTEL XEON SP 的可擴展處理器(10 核/20 線程2.2G),內(nèi)存為雙16G(24 個DIMM 插槽),GPU 使用1 塊GeForce RTX3070。
實驗采用測試圖像語義分割任務(wù)模型性能的2個主流圖像數(shù)據(jù)集:COCO 2017 數(shù)據(jù)集[16]、PASCAL VOC 2012 增強版數(shù)據(jù)集[17]。其中COCO 2017 數(shù)據(jù)集進行預(yù)訓(xùn)練,PASCAL VOC 2012 增強版數(shù)據(jù)集用于對模型進行測試和評價。
在訓(xùn)練模型開始之前,將訓(xùn)練圖像統(tǒng)一裁剪成513x513 像素,出于高效讀取數(shù)據(jù)的考慮,將圖像轉(zhuǎn)化為Tfrecord 文件。為增強分割圖片的顯示效果,對真實結(jié)果和預(yù)測結(jié)果采用RGB 彩色圖顯示。訓(xùn)練參數(shù)見表1。
表1 模型參數(shù)配置Tab.1 Training parameters
學(xué)習(xí)率采用多項式自動衰減,當(dāng)?shù)螖?shù)超過200 000 次,學(xué)習(xí)率為0.000 001。對損失函數(shù)采用動量梯度下降法優(yōu)化,在PASCAL VOC 2012 增強版數(shù)據(jù)集上共計迭代150 307次??倱p失函數(shù)為交叉熵?fù)p失,如式(1)所示:
其中:M代表類別數(shù);yc是一個one-h(huán)ot 向量,元素只有0 和1 兩種取值(若該類別和樣本類別相同則取1,否則取0);pc表示預(yù)測樣本屬于c的概率。
總損失如圖3 所示。由圖中可見,總損失在大約14 萬次左右開始收斂。
圖3 總損失圖Fig.3 Total loss graph
如圖4 所示,改進后的模型不僅在單個目標(biāo)的圖像中(圖4 中第一行)有著良好的分割效果,在擁有多個目標(biāo)的圖像中(圖4 中第二行)也有不錯的分割精細(xì)度。
圖4 改進后模型在驗證集上效果Fig.4 Improved performance on the validation set model
通常在語義分割領(lǐng)域有4 種經(jīng)典評價指標(biāo):像素準(zhǔn)確度(PA)、均像素準(zhǔn)確度(MPA)、平均交并比(MIoU)以及頻權(quán)交并比(FWIoU)。本實驗選用MPA與MIoU作為衡量標(biāo)準(zhǔn)。
(1)MPA:計算分割正確的像素數(shù)量占像素總數(shù)的比例,再取平均:
(2)MIoU:計算分割圖像與原始圖像真值的重合度,再取平均:
其中,pij表示真實值為i,被預(yù)測為j的數(shù)量;pii是真正的數(shù)量;pij表示預(yù)測為真但實際為假的數(shù)量;pji表示預(yù)測為假但實際為真的數(shù)量。
3 種模型對比測試結(jié)果見表2。由此可見,改進后的DeepLab V3+模型不僅相對于PSPNet 模型在均像素精度(MPA)上提高了16.08 %,平均交并比(MIoU)提高了6.25 %,而且相對于原DeepLab V3+模型在均像素精度(MPA)上提高了0.54 %,平均交并比(MIoU)提高了0.76%,驗證了改進的模型有著更好的分割效果。
表2 3 種模型對比測試結(jié)果Tab.2 Comparison test results of three models
為進一步體現(xiàn)模型的分割性能,采用模型輸出的語義分割圖像來對比說明。在圖5 中:(a)為原圖,(b)為DeepLab V3+分割的效果,(c)為改進的DeepLab V3+分割的效果。圖中黃色圈所標(biāo)注的是改進前后二者之間的差別,驗證改進的DeepLab V3+分割效果更優(yōu)。例如:從圖5 中第一行可以看出,改進的DeepLab V3+模型更為精細(xì)的分割出了飛機尾翼,而DeepLab V3+模型并沒有達到;由5 中第二行可見,改進的DeepLab V3+模型對鳥類的頭,羽毛與尾部的邊界分割相比于DeepLab V3+更為精準(zhǔn)。這表明改進的DeepLab V3+模型在增加了中級語義特征圖后模型的學(xué)習(xí)能力更強,對邊界的分割的精細(xì)度更精準(zhǔn)。
圖5 基于兩種模型對比分割結(jié)果Fig.5 Compare segmentation results based on two models
改進后的模型不僅分割效果更優(yōu)而且在單張圖片處理速度(MS)與模型大?。∕B)上也更優(yōu)。在單張圖片的運行時間上,改進后的模型速度提高約6.41%,且模型容量減少了11.2%,詳見表3。
表3 兩種模型對比測試結(jié)果Tab.3 Comparison test results of two models
本文針對DeepLab V3+模型在解碼器部分對于特征圖的多尺度連接不充分的問題,提出了一種基于DeepLab V3+模型的改進算法,該算法對DeepLab V3+網(wǎng)絡(luò)模型進行了優(yōu)化,在解碼器部分增加了中級特征層,在COCO 2017 數(shù)據(jù)集和PASCAL VOC 2012 增強版數(shù)據(jù)集上進行驗證,結(jié)果表明改進模型的MIoU 有所提高。但是還存在計算量過大,對于移動端的實時分割還遠(yuǎn)遠(yuǎn)達不到要求等問題。因此,減少計算量,輕量化模型結(jié)構(gòu)等將成為下一步的研究方向。