王 一,龔肖杰,蘇 皓,3
(1. 華北理工大學(xué) 電氣工程學(xué)院,河北 唐山 063210;2. 唐山市金屬構(gòu)件產(chǎn)線智能化技術(shù)創(chuàng)新中心,河北 唐山 063210;3. 唐山市半導(dǎo)體集成電路重點實驗室,河北 唐山 063210)
金屬制品在實際生產(chǎn)生活中應(yīng)用非常廣泛,金屬工件質(zhì)量的好壞直接影響產(chǎn)品的質(zhì)量及其壽命,甚至影響產(chǎn)品的實用性及安全性,因此工件的缺陷檢測至關(guān)重要[1]。傳統(tǒng)基于機(jī)器視覺的缺陷分割技術(shù)有抗噪聲差、精度不高并且容易造成過度分割、分割速度較慢等缺點。
隨著人工智能技術(shù)的快速發(fā)展,深度學(xué)習(xí)在產(chǎn)品表面缺陷識別領(lǐng)域的研究和應(yīng)用越來越深入和廣泛[2]。Wu 等[3]針對肺結(jié)節(jié)邊界難以用一種模型分割的問題,提出一種利用3D-CRF( conditional random field)優(yōu)化訓(xùn)練集樣本輸出的方法分割圖像,此方法可以降低模型的丟失率,但是需要采集大量數(shù)據(jù)集進(jìn)行訓(xùn)練。Tao 等[4]針對復(fù)雜工業(yè)環(huán)境下金屬表面缺陷準(zhǔn)確率低的問題,設(shè)計了一種用于缺陷分割和定位的級聯(lián)自動編碼器,實現(xiàn)了金屬表面缺陷的自動檢測,提高了檢測的準(zhǔn)確性,但是需要花費時間手動標(biāo)記數(shù)據(jù)。Zhang 等[5]針對選煤廠清除煤炭中異物依靠人工效率低的問題,設(shè)計一個嵌入注意力模塊的卷積神經(jīng)網(wǎng)絡(luò),實現(xiàn)了實時從復(fù)雜背景中準(zhǔn)確地分割出煤炭中的異物,該方法提高了復(fù)雜環(huán)境中檢測出異物的準(zhǔn)確性,并提高了異物檢測的效率。Li 等[6]針對帶鋼表面缺陷的復(fù)雜性和多樣性導(dǎo)致檢測準(zhǔn)確低的問題,設(shè)計了一種全卷積的YOLO 檢測網(wǎng)絡(luò),此網(wǎng)絡(luò)樣本集包含6 類帶鋼表面缺陷,可以同時預(yù)測缺陷區(qū)域的位置及尺寸信息,該方法具有較好的檢測效果,但是檢測精度還需要進(jìn)一步提高。徐建橋等[7]針對軸承表面缺陷影響產(chǎn)品性能及壽命的問題,提出先通過規(guī)范化拆分方法擴(kuò)充樣本數(shù)據(jù)集,在利用ResNet 網(wǎng)絡(luò)訓(xùn)練檢測模型,該方法相比利用原圖直接訓(xùn)練模型的檢測效果更好。Xiao 等[8]針對肺結(jié)節(jié)的多樣性難以準(zhǔn)確檢測與分割的問題,設(shè)計具有多尺度特征提取能力的3D-Res2Net分層連接網(wǎng)絡(luò),該方法不僅降低了梯度爆炸和消失的問題,而且提高了肺結(jié)節(jié)檢測和分割的精度及模型的訓(xùn)練速度。盧印舉等[9]針對玻璃缺陷的透明性及多樣性的問題,設(shè)計一種玻璃缺陷圖像分割算法,該算法融合了改進(jìn)的雙特征高斯混合模型,可以提高玻璃分割的準(zhǔn)確性。Ye 等[10]針對圓柱形金屬工件缺陷的復(fù)雜性及多樣性導(dǎo)致檢測準(zhǔn)確率低的問題,提出集成注意力的弱監(jiān)督學(xué)習(xí)框架,使用圖像標(biāo)簽標(biāo)注訓(xùn)練,實現(xiàn)了金屬工件的分類與分割。曹富強(qiáng)等[11]針對當(dāng)前圖像分割算法對于工業(yè)鑄件缺陷分割精度低的問題,設(shè)計了一種Effi-Deeplap 缺陷檢測算法,該算法在DeepLabv-3+基礎(chǔ)上,將原網(wǎng)絡(luò)中Xception 模塊用MBConv替代,并重新設(shè)計空洞空間金字塔池化中空洞卷積的擴(kuò)張率,從而提高小目標(biāo)缺陷的分割精度,該算法相比DeepLabv3+具有更好的分割效果。
卷積神經(jīng)網(wǎng)絡(luò)雖然具有很強(qiáng)的泛化性,可以自適應(yīng)地分割不同環(huán)境的圖像,但是對于一些小目標(biāo)分割效果不理想。為解決金屬工件表面缺陷圖像的精確分割,提出一種改進(jìn)的U-net 型的表面缺陷分割算法,在原網(wǎng)絡(luò)結(jié)構(gòu)中融入CBAM 模塊并在網(wǎng)絡(luò)編碼器結(jié)構(gòu)中采用DO-Conv 替換傳統(tǒng)卷積,增強(qiáng)特征的學(xué)習(xí),使其能夠更高效地對缺陷特征進(jìn)行提取。采用Leaky Relu 激活函數(shù)代替部分Relu函數(shù),解決卷積中Relu 函數(shù)的稀疏性問題。為解決非均勻光照對圖像分割的影響,設(shè)計圖像采集視覺平臺減少光照的影響,并采用中值濾波及非均勻光照補(bǔ)償算法處理采集的圖像,減少圖像中局部反光及非均勻光照,使得圖像中光照分布均勻。通過實驗證明,改進(jìn)后的網(wǎng)絡(luò)平均交并、準(zhǔn)確率及Dice 系數(shù)相比原始網(wǎng)絡(luò)均有所提高,對金屬工件表面圖像缺陷分割效果更好。
U-net 網(wǎng)絡(luò)是基于圖像像素級分割的端到端的語義分割網(wǎng)絡(luò),原用于醫(yī)學(xué)細(xì)胞圖像的分割,因其所需數(shù)據(jù)量少、速度快、檢測效果較好,被廣泛用于目標(biāo)檢測任務(wù)中。U-net 網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1 所示。
圖1 U-net 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 1 Structure diagram of U-net network
U-Net 網(wǎng)絡(luò)[12]主要包含兩個部分:左側(cè)下采樣的過程,可稱為編碼器結(jié)構(gòu),是模型深化的過程;右側(cè)上采樣的過程,該側(cè)可稱為解碼器結(jié)構(gòu),是分辨率恢復(fù)的過程。左側(cè)收縮路徑經(jīng)過4 次下采樣,執(zhí)行提取圖像特征信息的工作,該過程主要包括3×3 的卷積層、Relu 激活層與2×2 最大池化層,每次下采樣提取圖像特征,特征通道就增加一倍。下采樣過程圖像特征是從具體到抽象,因此其圖像分辨率會隨之降低。右側(cè)擴(kuò)張路徑經(jīng)過4 次上采樣,使分割圖像恢復(fù)到原圖像大小,即在原圖像素基礎(chǔ)上,通過運用不同的插值算法插入新的元素從而達(dá)到圖像放大的目的,也就是一個反卷積過程。該過程包括作用于圖像尺寸擴(kuò)大的轉(zhuǎn)置卷積、使特征圖通道數(shù)減半的3×3 卷積、深層特征與淺層特征的融合過程和把通道映射到需要的目標(biāo)類別數(shù)的1×1 卷積。運用反卷積和同維度特征圖的拼接實現(xiàn)了分辨率的提升。
1.2.1 注意力機(jī)制模塊CBAM
CBAM[13]是雙重輕量級注意力機(jī)制,由通道和空間2 種子模塊組成,能嵌入到任何CNN(convolutional neural networks)架構(gòu)中,增強(qiáng)特征圖有用的特征而忽略無關(guān)緊要的特征,從而提高網(wǎng)絡(luò)性能。在U-net 網(wǎng)絡(luò)中加入CBAM 模塊,可以使網(wǎng)絡(luò)提取出積極有效的特征,CBAM 注意力模塊示意圖如圖2 所示。
圖2 CBAM 結(jié)構(gòu)示意圖Fig. 2 Structure diagram of CBAM network
在通道注意力模塊內(nèi),缺陷圖像的輸入特征圖F先進(jìn)行全局平均池化(average pooling)和全局最大池化(global average pooling)運算,提取高層次特征,得到2 個特征描述后被轉(zhuǎn)送到共享網(wǎng)絡(luò),共享網(wǎng)絡(luò)由含有隱含層的多層感知器組成,將通過感知器的2 個特征圖進(jìn)行疊加,并由sigmoid 函數(shù)激活,得到通道注意力輸出權(quán)值Mc。通道注意力模塊的計算公式為[14]
式中:F為輸入特征圖; σ為sigmoid 函數(shù); MLP為多層感知器; MaxPool(F)與 AvgPool(F)分別表示對特征圖F進(jìn)行全局最大池化和全局平均池化運算。
sigmoid 函數(shù)本質(zhì)是指數(shù)分布族,用于隱含層神經(jīng)元輸出,取值范圍在(0,1),是常見的S 型函數(shù),具有平滑、易于求導(dǎo)的優(yōu)點。其計算公式為
式中:x為 輸入變量;S(x)為 變量x對應(yīng)的輸出。
在空間注意力模塊內(nèi),將通道注意力加權(quán)得到的特征圖FC分別沿通道軸做全局平均池化和全局最大值池化運算,將得到的結(jié)果串聯(lián)起來進(jìn)行卷積降維操作,再由sigmoid 函數(shù)激活,得到最終的空間注意圖MS。將MS與FC相乘得到最終CBAM輸出的顯著特征圖FCS,空間注意力模塊如(3)式所示:
1.2.2 深度超參數(shù)化卷積
DO-Conv 的提出主要是通過增加可學(xué)習(xí)的參數(shù)數(shù)量,來提高在視覺任務(wù)中卷積神經(jīng)網(wǎng)絡(luò)的表現(xiàn)。DO-Conv 是通過結(jié)合傳統(tǒng)卷積層與深度卷積層對輸入特征圖進(jìn)行新型卷積操作,其具體公式如(4)式所示:
式中:W為傳統(tǒng)卷積層的卷積核;D為深度卷積層的卷積核;DT為 深度卷積層的卷積核的轉(zhuǎn)置;P為輸入特征區(qū)塊; *表示卷積運算; °表示點乘運算。
特征組合方式為深度卷積層的卷積核D與輸入特征區(qū)塊P做卷積,再與傳統(tǒng)卷積層的卷積核W做運算;卷積核組合方式為深度卷積層的卷積核的轉(zhuǎn)置DT與 傳統(tǒng)卷積層的卷積核W做卷積,再與輸入特征區(qū)塊P做運算。兩種組合方式輸出結(jié)果相同,但是DO-Conv 的卷積核組合方式較為方便,因此采用卷積核組合方式。
1.2.3 Leaky Relu 激活函數(shù)
Relu 是卷積神經(jīng)網(wǎng)絡(luò)常用的激活函數(shù)。當(dāng)輸入非負(fù)時,Relu 函數(shù)能防止模型訓(xùn)練過飽和,但對輸入非正部分有抑制。采用Relu 的變體Leaky Relu函數(shù)[15],對輸入為負(fù)時,減輕Relu 函數(shù)的稀疏性,Leaky Relu 函數(shù)公式如(5)式所示:
式中:x為上一層的輸出,即激活函數(shù)的輸入值;f(x)為 激活函數(shù)的輸出值;a表示在(0,1)之間一個較小的常數(shù)。當(dāng)輸入小于0 時,給定一個較小的常數(shù)a,可保證在此范圍內(nèi)有微弱的輸出,梯度能正常傳播。
1.2.4 損失函數(shù)
適用于多類別分割任務(wù)的Lovasz Softmax 損失函數(shù),可以提高泛化能力,它由交叉墑?chuàng)p失函數(shù)和指數(shù)損失函數(shù)組合而成,其公式如(6)式所示:
式中:C為目標(biāo)類別; ΔJC()為模型訓(xùn)練產(chǎn)生的損失值;m(C) 為 像素誤差函數(shù); Loss(f)為 由m(C)構(gòu)造的代替函數(shù),評價所有類別的平均損失。
1.2.5 改進(jìn)后的U-net 網(wǎng)絡(luò)
基于經(jīng)典的U 型網(wǎng)絡(luò),用DO-Conv 代替網(wǎng)絡(luò)中上采樣操作之前的Conv,并將Leaky Relu 函數(shù)作為DO-Conv 結(jié)構(gòu)中的激活函數(shù),從而提高網(wǎng)絡(luò)提取特征的性能。將編碼結(jié)構(gòu)中經(jīng)過卷積模塊后的特征圖送入CBAM 模塊中,并將注意力模塊輸出的特征圖與經(jīng)過反卷積操作后維度相同的特征圖拼接,從而提高網(wǎng)絡(luò)的抗干擾及其準(zhǔn)確定位缺陷區(qū)域的能力。改進(jìn)后的U-net 網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。圖3 中淺藍(lán)色箭頭和深藍(lán)色箭頭分別表示3×3的DO-Conv 和Conv 操作,紫色箭頭表示CBAM 操作,灰色表示為通道相同特征圖的拼接操作,紅色箭頭和綠色箭頭分別表示編碼器2×2 的最大池化和解碼器反卷積操作,黃色箭頭表示1×1 的Conv 映射缺陷類別數(shù)操作。
圖3 改進(jìn)的U-net 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 3 Structure diagram of improved U-net network
實驗平臺為基于Windows 10 操作系統(tǒng),中央處理單元為Intel(R) Core(TM) i5-1035G1 CPU,搭載了NVIDIA MX350 獨顯,配備16 G內(nèi)存,使用Anaconda4.10.1 版本的環(huán)境管理器,編程軟件為Python3.8.8,利用Pytorch 深度學(xué)習(xí)框架完成實驗。實驗訓(xùn)練epoch 設(shè)為30,學(xué)習(xí)率設(shè)置為0.0001,并選用Adam優(yōu)化器和Lovasz Softmax 損失函數(shù)進(jìn)行實驗。
圖像采集視覺平臺中工業(yè)相機(jī)為堡盟CX 系列VCXG-25.1 的CMOS 相機(jī),其像元尺寸為4.8 μm×4.8 μm,相機(jī)分辨率為1920 pixel × 1200 pixel。工業(yè)鏡頭選用Computar 公司M1614-MP2 型號,光源選用亮度可調(diào)的條形LED 燈。實驗時將LED 燈放置在檢測對象的兩側(cè),由于凸輪軸是光滑曲面的軸類物體,將燈光源方向與垂直方向形成45°的夾角的照明角度,LED 燈與凸輪軸頂部平齊,采集圖像時保持相同光照強(qiáng)度及角度。采取此種照明方式不僅能一定程度減弱因光源造成的高反光,還可以增強(qiáng)缺陷與背景的對比度。采用大光圈、長焦距、小物距減少超景深問題的影響。采集裝置一側(cè)放置遮光布將自然光進(jìn)行遮擋,保證了環(huán)境的變量,減少了自然光對圖像的影響。圖像采集視覺平臺如圖4 所示。
圖4 圖像采集視覺平臺Fig. 4 Visual platform for image acquisition
實驗選用凸輪軸作為實驗對象,根據(jù)實驗條件對凸輪軸表面的污漬、劃痕及凹坑3 種缺陷圖像進(jìn)行采集,并分別用bl、sc、sca 字母代表。實驗采集了130 張污漬、100 張劃痕及100 張凹坑圖像,并用lebelme 軟件進(jìn)行標(biāo)注。通過數(shù)據(jù)增強(qiáng)將測試圖像擴(kuò)增到1782 張用于訓(xùn)練。采集70 張污漬、54 張劃痕、57 張凹坑及17 張無缺陷圖像用于測試。相機(jī)的分辨率為1920 pixel × 1200 pixel,拍攝的圖像為橫向長,將圖像方向進(jìn)行了調(diào)整,使得采集的圖像為縱向長,大小為1200 pixel×1920 pixel。
針對非均勻光照對缺陷圖像分割的影響,使用中值濾波和非均勻光照補(bǔ)償算法結(jié)合的方法處理圖像,使圖像表面光照分布均勻,從而減弱圖像表面光照不均勻及高反光現(xiàn)象。光照補(bǔ)償算法主要思路:先求取原圖的平均灰度,然后將圖像分成108×108 塊,求子塊的平均亮度矩陣,再由平均亮度矩陣求得亮度插值矩陣及亮度分布矩陣,最后將原圖與亮度分布矩陣做差,最后得到預(yù)處理后光照均勻的圖像,污漬、劃痕、凹坑圖像預(yù)處理前后對比圖如圖5 所示??梢?,預(yù)處理之后的圖像光照分布均勻,從而減少了對金屬工件表面缺陷圖像分割的影響。
圖5 圖像預(yù)處理前后對比圖Fig. 5 Comparison before and after image preprocessing
圖像經(jīng)過預(yù)處理后,圖像尺寸大小不變,在圖像進(jìn)入網(wǎng)絡(luò)之前利用resize 函數(shù)將經(jīng)預(yù)處理的圖像縮放成尺寸為512 pixel×512 pixel 的圖像,即運用resize 函數(shù)中輸入圖像scr、輸出圖像大小dsize及雙三次插值INTER_CUBIC 3 個參數(shù),使其圖像尺寸縮放為512 pixel×512 pixel,則實際輸入網(wǎng)絡(luò)圖像大小為512 pixel×512 pixel。
采用平均交并比mIOU、準(zhǔn)確率Acc 及Dice相似度系數(shù)作為評價指標(biāo)。交并比IOU 是2 個區(qū)域重疊部分與2 個區(qū)域集合部分的比值,mIOU 是各類對象交并比的均值。Dice 相似度系數(shù)是分割后缺陷圖像與標(biāo)準(zhǔn)缺陷圖像的重合度。mIOU、Acc、Dice 公式如下:
在相同軟硬件環(huán)境和數(shù)據(jù)集條件下,分別將經(jīng)過圖像預(yù)處理后含有DO-Conv 的DO-U-net 網(wǎng)絡(luò)、含有CBAM 的Att-U-net 網(wǎng)絡(luò)及同時含有DO-Conv和CBAM 的Att-DO-U-net 網(wǎng)絡(luò)、原始的U-net 網(wǎng)絡(luò)與圖像未預(yù)處理的U-net 網(wǎng)絡(luò)(簡稱PW-U-net 網(wǎng)絡(luò))進(jìn)行對比實驗。各個模型訓(xùn)練階段損失值變化曲線圖如圖6 所示,圖中的橫坐標(biāo)表示權(quán)重更新的次數(shù)。可以看出當(dāng)模型訓(xùn)練到Epoch 值為28時,基本趨于平緩,模型整體收斂性比較好,具有一定穩(wěn)定性,訓(xùn)練比較成功。
圖6 損失值變化曲線圖Fig. 6 Variation curves of loss values
通過實驗,各個模型的平均交并比mIOU 及準(zhǔn)確率Acc 如圖7、圖8 所示,各個模型的mIOU 及Acc隨著迭代次數(shù)逐步增加,最終達(dá)到較好的結(jié)果。PW-U-net 網(wǎng)絡(luò)的mIOU、Acc 指標(biāo)分別為0.7969、0.9008,原始U-net 網(wǎng)絡(luò)的mIOU、Acc 指標(biāo)分別為0.8045、0.9088,Att-U-net網(wǎng)絡(luò)的mIOU、Acc指標(biāo)分別為0.8139、0.9148,DO-U-net 網(wǎng)絡(luò)的mIOU、Acc 指標(biāo)分別為0.8254、0.9171,Att-DO-U-net 網(wǎng)絡(luò)的mIOU、Acc 指標(biāo)分別為0.8335、0.9332,U-net 網(wǎng)絡(luò)的mIOU、Acc 指標(biāo)分別比PW-U-net 網(wǎng)絡(luò)高0.076、0.080,說明圖像預(yù)處理可以提升分割效果及準(zhǔn)確性。Att-DO-U-net 網(wǎng)絡(luò)的mIOU、Acc 指標(biāo)分別比原始U-net網(wǎng)絡(luò)提升了0.029、0.024,說明改進(jìn)后的Att-DO-Unet 網(wǎng)絡(luò)更加關(guān)注圖像的重要特征,忽略次要信息,可達(dá)到更好的分割效果。
圖7 平均交并比圖Fig. 7 Variation curves of mean intersection over union
圖8 準(zhǔn)確率Fig. 8 Variation curves of accuracy rate
各模型Dice 指標(biāo)如表1 所示。Dice 反應(yīng)網(wǎng)絡(luò)的分割能力,Dice 值越高則缺陷分割的區(qū)域與真實區(qū)域越接近,分割效果越好。通過表1 可知,Att-DO-U-net 網(wǎng)絡(luò)的Dice 達(dá)到0.8674,相比另外幾個網(wǎng)絡(luò)均有所提高,分割效果更好。
表1 Dice 指標(biāo)對比Table 1 Comparison of Dice indexes
各個網(wǎng)絡(luò)分割結(jié)果如圖9 所示。通過表1 相似度系數(shù)與圖9 分割效果對比可以知道,PW-U-net網(wǎng)進(jìn)行分割的圖像,缺陷與邊緣分割不準(zhǔn)確,被分割部位的邊緣不光滑,比較粗糙,圖像預(yù)處理后用U-net 網(wǎng)絡(luò)分割效果比未預(yù)處理的分割效果好一點。DO-U-net 和Att-U-net2 個網(wǎng)絡(luò)分割效果比原始U-net 網(wǎng)絡(luò)分割效果有所改善。本文提出同時加入注意力及DO-Conv 的Att-DO-U-net 網(wǎng)絡(luò)分割的圖像,缺陷邊緣更為光滑,分割準(zhǔn)確性也有所提升。
圖9 分割結(jié)果對比圖Fig. 9 Comparison of segmentation results
本文提出嵌入CBAM 及DO-Conv 的U-net 網(wǎng)絡(luò)和中值濾波與非均勻光照補(bǔ)償相結(jié)合的圖像預(yù)處理方法,實現(xiàn)了非均勻光照條件下金屬工件表面小尺寸缺陷的精確分割。在此基礎(chǔ)上,設(shè)計了圖像采集視覺平臺,采集金屬工件圖像。通過一系列的對比實驗,改進(jìn)后的Att-DO-U-net 網(wǎng)絡(luò)相比原始U-net 網(wǎng)絡(luò)對缺陷圖像的分割更為完整,分割的缺陷邊緣更為光滑。借此驗證了本文提出的改進(jìn)后的網(wǎng)絡(luò)對金屬工件表面缺陷圖像分割效果相較于原始網(wǎng)絡(luò)更好。