常紅杰 高 鍵 丁明解 齊 亮
(江蘇科技大學(xué)電子信息學(xué)院 鎮(zhèn)江 212003)
在自動除漆小車的視覺導(dǎo)航過程中,必須對漆面進行分割。此外,為了保證良好的除漆效果,漆面的分割精度必須足夠高,分割的實時性也要很好。
近年來,各種基于神經(jīng)網(wǎng)絡(luò)的圖像分割算法層出不窮,其中,U-net 網(wǎng)絡(luò)是在FCN 網(wǎng)絡(luò)基礎(chǔ)上發(fā)展而來的一種圖像分割網(wǎng)絡(luò)[1]。相比于FCN,U-net 舍棄了全連接環(huán)節(jié),使得網(wǎng)絡(luò)結(jié)構(gòu)更加輕量化,參數(shù)量更少,而關(guān)鍵的特征融合環(huán)節(jié)的引入,顯著提升了網(wǎng)絡(luò)的分割精度。因此U-net 網(wǎng)絡(luò)適用于語義簡單、邊界模糊的圖像分割。
陳澤斌等[2]針對傳統(tǒng)的圖像分割方法耗時且準確度低的問題,結(jié)合Adam 算法對傳統(tǒng)的U-net模型進行改進,實現(xiàn)了比傳統(tǒng)模型更高精度、更好實時性的路面圖像分割。宋廷強等[3]以U-net模型為基礎(chǔ),提出了一種深度語義分割模型AS-Unet,用于視覺導(dǎo)航中的圖像分割,改善了圖像分割的精度。李鴻翔等[4]針對圖像分割中邊緣識別錯誤的問題,提出了一種GAN-Unet 的分割模型,與傳統(tǒng)的U-net 模型相比,圖像分割精度有所提升,邊緣分割誤差顯著減小。王紅等[5]以傳統(tǒng)的U-net為基礎(chǔ),引入并行雙注意力模塊,提出了PCAW-UNet模型,大幅度提高了視覺導(dǎo)航圖像的分割精度,分割準確率達到了98.7%。并且該模型的實時處理速度相較于傳統(tǒng)的U-net模型也有顯著提升。
本文以鋼板除漆維護為具體應(yīng)用背景,提出了一種基于串行雙注意力機制和U-net 網(wǎng)絡(luò)的漆面圖像分割方法。
本文主要以船舶油漆面為研究對象,由于沒有現(xiàn)成的油漆面數(shù)據(jù)集供本文使用,只能通過搜集有關(guān)圖像和模擬油漆面的方式,組成數(shù)據(jù)集。第一部分共搜尋到150張漆面圖片組成數(shù)據(jù)集。如圖1所示。
圖1 漆面圖像
在第二部分,本研究利用灰色卡紙?zhí)娲摪?,用不同顏色的顏料在卡紙上面繪制各種圖案,模擬破舊鋼板上的漆面圖案,如圖2所示。
圖2 模擬漆面圖像
最后通過整個攝像頭對模擬漆面進行采集組成第二部分的數(shù)據(jù)集,共100 張。經(jīng)過擴充以后,將這些圖像分為訓(xùn)練集、驗證集。采用Labelme 工具進行數(shù)據(jù)處理,根據(jù)研究目標,本文只對漆面像素進行標注。
本研究在訓(xùn)練之前對輸入圖像的尺寸進行統(tǒng)一,消除圖像尺寸對訓(xùn)練結(jié)果的影響。此外,神經(jīng)網(wǎng)絡(luò)在訓(xùn)練的過程中有很多參數(shù)需要擬合,只有依靠大量的訓(xùn)練,才能防止出現(xiàn)神經(jīng)網(wǎng)絡(luò)過擬合的情況[6]。因此,必須擴充數(shù)據(jù)集的容量。本文通過旋轉(zhuǎn)(90°、180°和270°)和翻轉(zhuǎn)(水平、垂直)進行擴充,隨后再進行隨機Resize 變換,生成具有差異性的漆面圖像,完成漆面數(shù)據(jù)集的擴充。
U-net模型采用跳躍連接的方式將編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò)兩部分連接起來。其中,編碼階段,負責(zé)圖像特征提取,主要由四個下采樣模塊組成。解碼階段,負責(zé)特征融合和恢復(fù)圖像尺寸,由四個上采樣模塊組成[7]。下采樣模塊通過卷積層堆疊的方式進行特征提取,隨后利用池化層進行下采樣。上采樣模塊則由卷積層和反卷積層組成,卷積層負責(zé)特征融合,反卷積層實現(xiàn)上采樣,負責(zé)恢復(fù)圖像尺寸[8]。
相比于其他的神經(jīng)網(wǎng)絡(luò)模型,U-net 模型雖然結(jié)構(gòu)更加輕量化,分割速度更快,然而在特征融合過程中,U-net 模型沒有對編碼器獲得的特征信息進行過濾,使得模型易受到非漆面區(qū)域的特征信息,對模型的分割精度造成影響[9]。
為了進一步提高模型的分割精度、實時性和泛化能力,本文對U-net模型進行調(diào)整。
首先,在編碼階段用Efficientnet-B0 編碼器代替原有的編碼器。Efficientnet-B0 在提高模型分割精度的同時,大幅度減少了訓(xùn)練過程中的參數(shù)量,比起傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型有著更好的實時性和精準度。Efficientnet-B0編碼模塊結(jié)構(gòu)如圖3所示。
圖3 Efficientnet-B0編碼器結(jié)構(gòu)
其次,引入Focal Loss 代替交叉熵損失函數(shù)。Focal Loss 調(diào)節(jié)系數(shù)可以改變不同樣本的損失權(quán)重,有利于提高模型的分割準確率和精度[11]。
其中,αt和γ是權(quán)重調(diào)節(jié)系數(shù),pi表示正確分類概率。
最后,在特征融合環(huán)節(jié)引入串行雙注意力模塊。用于進一步改善模型的信息處理能力和準確性。串行雙注意力模塊結(jié)構(gòu)如圖4所示。
圖4 串行雙注意力模塊結(jié)構(gòu)
改進后U-net結(jié)構(gòu)如圖5所示。
圖5 改進后U-net模型結(jié)構(gòu)
本文在如下環(huán)境中訓(xùn)練模型:操作系統(tǒng)采用Windows 10,深度學(xué)習(xí)框架為Pytorch 1.8,CPU 為Intel Xeon Sliver 4110 @ 2.10GHz,GPU 為NVIDIA GeForce RTX 2080Ti。
模型訓(xùn)練前,首先使用Efficientnet-b0 權(quán)重初始化方法對模型的初始參數(shù)進行設(shè)置。模型優(yōu)化采用目前常用的Adam優(yōu)化器以及參數(shù)使用其中的默認參數(shù)[14]:初始學(xué)習(xí)率為0.001,β1=0.9 ;β1=0.999;Epoch設(shè)置為100,Batch_size設(shè)置為8。
模型訓(xùn)練過程中,Adam 優(yōu)化器在每一輪迭代時更新參數(shù)以減小損失值(Loss)。訓(xùn)練集Loss 值(Train Loss)隨迭代次數(shù)變化的趨勢分別如圖6 所示。
圖6 訓(xùn)練集Loss值隨迭代次數(shù)變化的趨勢
對于多分類問題,圖像分割精度主要從以下三個指標進行評價:像素準確率PA、平均像素精度mPA、平均交并比mIoU。計算式分別為
其中,mIoU表示平均交并比;k+1 表示類別數(shù),pij表示預(yù)測錯誤的像素數(shù)量,pii表示判斷正確的像素數(shù)量,TP表示真正例,F(xiàn)P表示假正例,F(xiàn)N表示假反例,TN真反例。
模型訓(xùn)練完成之后,為了驗證本文改進算法的有效性,設(shè)計了對比實驗。
在數(shù)據(jù)增強之前和數(shù)據(jù)增強之后,分別訓(xùn)練U-net模型。由表1 可以看出,經(jīng)過數(shù)據(jù)增強,各項評價指標有明顯的提升??梢则炞C的是,數(shù)據(jù)集容量對于模型的分割精度有著較大影響。
表1 數(shù)據(jù)增強前后漆面分割指標對比/%
完成數(shù)據(jù)增強對比試驗之后,對原生U-net 模型結(jié)構(gòu)進行調(diào)整。隨后選取目前比較常用的圖像分割模型進行對比實驗。對比試驗的評價指標結(jié)果如表2所示。
表2 不同模型的漆面分割精度/%
不難看出,相比于U-net 模型和ResUnet 模型,本文改進的算法相比于傳統(tǒng)的U-net模型和ResUnet模型,在分割精度上有著顯著的改進。此外,本文改進的算法在各項指標上與目前最先進的Deep-LabV3模型以及DeepLabV3+模型幾乎一致。
為了驗證本文改進模型的分割性能,計算各指標的平均值μ和方差σ。此外,還加入了模型的訓(xùn)練時間(Training time)和分割時間(Segmentation time),完善模型的性能測試維度。
隨后按照一定的優(yōu)先級對上述指標進行加權(quán)求和,得到模型的綜合得分(Score)。根據(jù)經(jīng)驗,本文將模型的精度(平均值μ),穩(wěn)定性(方差σ),模型的訓(xùn)練時間(Tra-time)和分割時間(Seg-time)的權(quán)重分別設(shè)置為100,80,-10 和-50。性能評比結(jié)果如表3所示。
表3 不同模型的分割性能評比
可以看出,雖然DeepLabV3 模型和Deep-LabV3+模型雖然在分割精度上有優(yōu)勢,但是由于其龐大的網(wǎng)絡(luò)結(jié)構(gòu)和巨大的參數(shù)量,其訓(xùn)練時間幾乎是其他模型的4倍~5倍,每張圖片的分割時間甚至達到了其他模型的10 倍以上。而本文改進后的模型,精度幾乎與DeepLabV3+模型的精度持平,同時訓(xùn)練時間和分割時間相比于DeepLabV3+模型,分別提升了76.92%和90.17%,保證了很好的精度和實時性。
最后,圖7 展示了不同模型的漆面分割效果??梢钥闯?,當背景存在與漆面顏色較為接近的區(qū)域時(圖7 前3 行),其他集中未引進注意力模塊的分割模型存在誤分割的情況(圖中白色選框標注),而本文引入注意力模塊改進后的U-net 模型在非漆面區(qū)域沒有出現(xiàn)誤分割的情況。當漆面的背景比較簡單且與漆面差異較大時,本文改進的算法和DeepLabV3+模型的分割效果均比較理想,在細節(jié)部分本文改進后的模型甚至分割的更加精細(圖中灰色選框標注)。
圖7 不同模型分割結(jié)果對比
本文提出了一種串行雙注意力機制的U-net分割模型,應(yīng)用于自動除漆小車的視覺導(dǎo)航漆面分割任務(wù)。該方法在對數(shù)據(jù)集進行預(yù)處理之后,利用改進后的U-net 模型對漆面進行分割。通過引入Efficientnet-B0 編碼器,加強了網(wǎng)絡(luò)對于淺層特征的提取,減少了模型的參數(shù)數(shù)量。隨后引入Focal Loss 損失函數(shù),提高模型的分割準確率,最后嵌入串行雙通道注意力模塊,提高模型對于漆面區(qū)域的關(guān)注比重,降低來自非漆面區(qū)域的特征干擾,同時通道注意力模塊還減少了網(wǎng)絡(luò)在特征融合后的冗余通道數(shù),提升了模型的分割時間。實驗證明,本文改進后的算法在保證精度的同時,具有更好的泛化能力和實時性較少的。
雖然本文改進的U-net 模型能夠在訓(xùn)練樣本數(shù)量較少的情況下依然能夠達到良好的精度和實時性,但是對于神經(jīng)網(wǎng)絡(luò)模型來說,大量的訓(xùn)練樣本能大幅提高其分割精度(這一點在本文中也得到了驗證)。因此,在后續(xù)的研究過程中,找到解決樣本數(shù)量不足的辦法,是本文可以繼續(xù)研究的方向,目前較為常用的方法是利用生成對抗網(wǎng)絡(luò)(GanU-net)以圖生圖[15]。