張開(kāi)生 宋 帆
(1.陜西科技大學(xué)電氣與控制工程學(xué)院,陜西西安,710021;2.陜西科技大學(xué)電子信息與人工智能學(xué)院,陜西西安,710021)
在紙張生產(chǎn)過(guò)程中,機(jī)器突然偏離正確軌跡等意外情況在所難免,這會(huì)使生產(chǎn)的紙張產(chǎn)生折疊、孔洞、劃痕等缺陷,不僅影響紙張質(zhì)量,還會(huì)降低經(jīng)濟(jì)效益,給造紙企業(yè)造成一定損失。因此,對(duì)紙張的缺陷檢測(cè)是造紙過(guò)程中不可或缺的環(huán)節(jié)。一直以來(lái),這種缺陷檢測(cè)以人工排查為主,其原因主要有2方面,一是人工成本低廉;二是以前的計(jì)算機(jī)技術(shù)還不成熟,紙張缺陷檢測(cè)效果差[1]。隨著社會(huì)的發(fā)展,人力成本越來(lái)越昂貴,加之計(jì)算機(jī)技術(shù)飛速發(fā)展,越來(lái)越多的造紙企業(yè)開(kāi)始用機(jī)器代替人工[2],紙張缺陷檢測(cè)的算法研究越來(lái)越多。袁浩等人[3]通過(guò)對(duì)紙病圖像進(jìn)行特征選擇,再利用支持向量機(jī)對(duì)提取到的特征進(jìn)行分類(lèi)。但這種方法只對(duì)特定種類(lèi)的紙張缺陷有較好效果,并不適用于所有紙病缺陷,且其檢測(cè)效果受光照影響明顯,泛化性差。為了改善這個(gè)問(wèn)題,張學(xué)蘭等人[4]提出了Prewitt算子檢測(cè)孔洞、臟點(diǎn)和褶皺。陳珺等人[5]在背景與目標(biāo)缺陷對(duì)比不明顯的情況下,提出了一種將邊緣檢測(cè)和小波融合結(jié)合起來(lái)的方法,此方法定位準(zhǔn)確且有一定的抗噪性;但由于算法本身過(guò)于復(fù)雜,計(jì)算成本高,無(wú)法滿足現(xiàn)實(shí)造紙工廠檢測(cè)的實(shí)時(shí)性要求。殷燕屏等人[6]根據(jù)不同紙張缺陷圖像的灰度特征,利用動(dòng)態(tài)雙閾值分割紙張缺陷區(qū)域,提取缺陷特征并進(jìn)行識(shí)別分類(lèi);然而此方法需要對(duì)不同的紙張缺陷設(shè)置不同的閾值,導(dǎo)致參數(shù)設(shè)置困難。為了降低參數(shù)設(shè)置的復(fù)雜度,段茵等人[7]采用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行紙張缺陷檢測(cè)的識(shí)別與研究;首先將圖像進(jìn)行中值濾波,然后用全局Otsu算法根據(jù)閾值將圖像分為目標(biāo)和背景2個(gè)部分,對(duì)缺陷紙張進(jìn)行形態(tài)學(xué)處理后,輸入BP神經(jīng)網(wǎng)絡(luò)進(jìn)行缺陷分類(lèi)。李光明等人[8]先利用Canny算子、Sobel算子等對(duì)紙病進(jìn)行梯度圖像增強(qiáng),然后用MSMG進(jìn)行多尺度圖像增強(qiáng),最后將增強(qiáng)后的圖像放進(jìn)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行缺陷分類(lèi)。針對(duì)傳統(tǒng)紙病識(shí)別方法只對(duì)某些種類(lèi)紙病分類(lèi)效果好、特征計(jì)算復(fù)雜、實(shí)時(shí)性差等問(wèn)題,本課題提出一種多尺度特征融合注意力機(jī)制的紙病分類(lèi)方法,通過(guò)融合多種圖像增強(qiáng)方式進(jìn)行多尺度特征提取,以應(yīng)對(duì)不同的紙病缺陷,將這些特征輸入到帶有注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò),讓網(wǎng)絡(luò)更加關(guān)注紙張缺陷部分,從而達(dá)到更好的分類(lèi)效果。
本課題采用的多尺度特征融合注意力機(jī)制的紙病分類(lèi)方法如圖1所示。將待檢測(cè)的缺陷圖片進(jìn)行亮度增強(qiáng)、銳化濾波與對(duì)比度增強(qiáng)、Sobel邊緣檢測(cè)等圖像增強(qiáng)算法后,分別輸入到3個(gè)共享權(quán)重的Resnet進(jìn)行淺層特征提取得到局部特征;隨后將3個(gè)特征圖進(jìn)行concate融合得到全局特征。此時(shí)融合得到的特征圖包含待檢測(cè)缺陷圖片的直線信息、邊緣信息等多尺度信息。最后將包含多尺度信息的全局特征圖輸入帶有attention機(jī)制的Resnet,讓網(wǎng)絡(luò)更多關(guān)注能區(qū)別缺陷類(lèi)別的特征,從而更好地進(jìn)行分類(lèi)。
圖1 多尺度特征融合結(jié)合注意力機(jī)制方法Fig.1 Multi-scale feature fusion combined with attention mechanism method
亮度增強(qiáng)就是改變圖像的亮度和對(duì)比度,實(shí)際是對(duì)圖像的每個(gè)像素點(diǎn)進(jìn)行相應(yīng)操作。具體過(guò)程可由式(1)表示。
式中,g(i,j)及f(i,j)代表圖像在(i,j)這個(gè)點(diǎn)亮度增強(qiáng)前后的像素值;參數(shù)α代表使圖像像素增長(zhǎng)或降低的倍率,該參數(shù)必須大于0;參數(shù)β代表向白色或黑色靠近的程度,該值可正可負(fù)。
該算法對(duì)紙張中的污點(diǎn)、邊裂、孔洞響應(yīng)特別強(qiáng)烈,具體效果如圖2~圖4所示,其中左圖為原圖,右圖為亮度增強(qiáng)后的圖像。
圖2 污點(diǎn)圖像亮度增強(qiáng)前后的效果示意圖Fig.2 Effect of enhanced brightness of stain image
圖3 邊裂圖像亮度增強(qiáng)前后的效果示意圖Fig.3 Schematic diagram of the effect of edge crack image before and after brightness enhancement
圖4 孔洞圖像亮度增強(qiáng)前后的效果示意圖Fig.4 Schematic diagram of the effect of hole image before and after brightness enhancement
銳化空間濾波器主要用來(lái)增強(qiáng)圖像的突變信息,圖像細(xì)節(jié)信息和邊緣信息。使用鄰域的微分作為算子,增大鄰域間像素的差值,使圖像的突變部分變得更加明顯。從圖像灰度的一階微分和二階微分的性質(zhì)可知,在灰度值變化的地方,一階微分和二階微分的值均不為0,在灰度恒定的地方,微分值均為0。因此,使用一階微分和二階微分都可以得到圖像灰度的變化值。本課題中使用二階算子,紙病圖片可以看作二維離散函數(shù),對(duì)于二階微分的x方向和y方向如式(2)和式(3)所示。
二階微分在斜坡處的值為0,但在斜坡兩端值不為0,且符號(hào)不同,這樣二階微分得到的是由0分開(kāi)的1個(gè)像素寬的雙邊緣。也就是說(shuō),與一階微分相比,二階微分在增強(qiáng)圖像細(xì)節(jié)方面更好,且計(jì)算更方便。
二階微分算子的代表為拉普拉斯算子(▽?zhuān)?,定義如式(4)~式(6)所示。
該算法對(duì)紙張中的折痕、劃痕等直線部分響應(yīng)特別強(qiáng)烈,具體效果如圖5和圖6所示,其中左圖為原圖,右圖為銳化后的圖像。
圖5 折痕圖像銳化濾波前后的效果示意圖Fig.5 Effect of crease image sharpening and filtering
圖6 劃痕圖像銳化濾波前后的效果示意圖Fig.6 Schematic diagram of the effect of scratch image sharpening and filtering
Sobel算子包含2組3×3的矩陣,分別為橫向及縱向,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。A代表原始圖像,Gx及Gy分別代表經(jīng)橫向及縱向邊緣檢測(cè)的圖像灰度值,如式(7)和式(8)所示。
圖像的每個(gè)像素的橫向及縱向灰度值通過(guò)式(9)計(jì)算,以計(jì)算該點(diǎn)灰度的大小。
如果梯度G大于某一閥值,則認(rèn)為點(diǎn)(x,y)為邊緣點(diǎn),可通過(guò)式(10)計(jì)算梯度方向(Θ)。
Sobel算子根據(jù)像素點(diǎn)上下、左右鄰點(diǎn)灰度加權(quán)差在邊緣處達(dá)到極值這一現(xiàn)象檢測(cè)邊緣;同時(shí),對(duì)噪聲具有平滑作用,可提供較為精確的邊緣方向信息。該算法幾乎對(duì)所有紙病響應(yīng)都特別強(qiáng)烈,具體效果如圖7和圖8所示,其中左圖為原圖,右圖為銳化后的圖像。
圖7 白點(diǎn)圖像經(jīng)Sobel邊緣檢測(cè)前后的效果示意圖Fig.7 Effect of Sobel edge detection on white point image
圖8 折痕圖像經(jīng)Sobel邊緣檢測(cè)前后的效果示意圖Fig.8 Effect diagram of crease image before and after Sobel edge detection
Resnet是由He等人[9]提出的一種基于CNN的特征提取框架,主要解決了深度神經(jīng)網(wǎng)絡(luò)的“退化”問(wèn)題。
1.4.1 批量歸一化
神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程的本質(zhì)一方面是為了學(xué)習(xí)數(shù)據(jù)分布,如果訓(xùn)練數(shù)據(jù)與測(cè)試數(shù)據(jù)的分布不同,則網(wǎng)絡(luò)的泛化能力會(huì)大大降低;另一方面,如果每批訓(xùn)練數(shù)據(jù)的分布各不相同,則每次迭代都需學(xué)習(xí)適應(yīng)不同的分布,會(huì)大大降低網(wǎng)絡(luò)的訓(xùn)練速度,因此需要對(duì)數(shù)據(jù)做歸一化預(yù)處理。
首先計(jì)算每個(gè)批次的均值(μB)與方差(σB),計(jì)算公式如式(11)和式(12)所示。
然后根據(jù)上面計(jì)算得到的結(jié)果進(jìn)行正則化,如式(13)所示。
為了讓學(xué)習(xí)到的特征分布不被破壞,需對(duì)其進(jìn)行變換重構(gòu),如式(14)所示。
其中,γ、β是可學(xué)習(xí)參數(shù)。
1.4.2 池化層
由于Resnet使網(wǎng)絡(luò)加入了更多的單元,導(dǎo)致整個(gè)網(wǎng)絡(luò)隱藏層參數(shù)增多,訓(xùn)練時(shí)易造成過(guò)擬合的狀況。為了減少參數(shù)的復(fù)雜度,采用最大池化,使其不再嚴(yán)格要求相鄰塊聚合到1個(gè)上層塊,第l+1層的特征圖如式(15)所示。
圖9為未經(jīng)池化的網(wǎng)絡(luò)結(jié)構(gòu),圖10為經(jīng)過(guò)池化后的網(wǎng)絡(luò)結(jié)構(gòu)。如圖9和圖10所示,2者對(duì)比可以直觀看出池化層對(duì)于降低特征分辨率的作用。
圖10 經(jīng)過(guò)池化后的網(wǎng)絡(luò)結(jié)構(gòu)Fig.10 Network structure after pooling
1.4.3 注意力機(jī)制
卷積注意力模塊(CBAM)是Woo等人[10]提出的一種用于前饋卷積神經(jīng)網(wǎng)絡(luò)的注意力模塊。給定1個(gè)中間特征圖,CBAM會(huì)沿著2個(gè)獨(dú)立的維度(通道和空間)依次推斷注意力圖,然后將注意力圖與輸入特征圖相乘以進(jìn)行自適應(yīng)特征優(yōu)化。
通道注意力模塊將特征圖在空間維度上進(jìn)行壓縮,得到1個(gè)一維矢量后再進(jìn)行操作。在空間維度上進(jìn)行壓縮時(shí),不僅考慮了平均值池化還考慮了最大值池化,如式(16)所示。
空間注意力模塊對(duì)通道進(jìn)行壓縮,在通道維度分別進(jìn)行了平均值池化和最大值池化,接著將前面提取到的特征圖(通道數(shù)都為1)合并得到1個(gè)2通道的特征圖,如式(17)所示。
本課題采用多尺度特征融合結(jié)合注意力機(jī)制的紙病分類(lèi)方法,利用不同圖像增強(qiáng)算法對(duì)不同紙張缺陷類(lèi)型的響應(yīng)程度不同,將這些特征拼接后輸入至Resnet進(jìn)行特征提取,然后利用融合注意力機(jī)制的Resnet模型將網(wǎng)絡(luò)關(guān)注的重點(diǎn)集中到紙張缺陷區(qū)域,進(jìn)而實(shí)現(xiàn)紙張缺陷分類(lèi)。
多尺度特征融合結(jié)合注意力機(jī)制的紙病分類(lèi)算法具體步驟如下。
(1)準(zhǔn)備紙病圖像數(shù)據(jù),采用旋轉(zhuǎn)、平移、拼接等操作進(jìn)行數(shù)據(jù)擴(kuò)充;
(2)將擴(kuò)充后的數(shù)據(jù)隨機(jī)劃分為訓(xùn)練集合測(cè)試集;
(3)利用亮度增強(qiáng)、銳化濾波、Sobel邊緣檢測(cè)3種算法分別對(duì)訓(xùn)練集圖像進(jìn)行處理,得到3張?jiān)鰪?qiáng)后的圖像;
(4)將這3張圖像分別送入3個(gè)共享參數(shù)的Resnet中進(jìn)行特征提取得到局部特征;
(5)將步驟4得到的3個(gè)局部特征圖進(jìn)行拼接融合得到全局特征圖;
(6)將全局特征圖送入融合CBAM的Resnet中進(jìn)行分類(lèi);
(7)重復(fù)步驟4~6直至網(wǎng)絡(luò)收斂;
(8)將測(cè)試數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng)后,送至訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行分類(lèi),得到測(cè)試集數(shù)據(jù)對(duì)應(yīng)的預(yù)測(cè)標(biāo)簽;
(9)將測(cè)試集的預(yù)測(cè)標(biāo)簽與實(shí)際標(biāo)簽對(duì)比,計(jì)算紙病識(shí)別分類(lèi)正確率。
算法流程圖如圖11所示。
圖11 算法流程圖Fig.11 Flow chart of the algorithm
實(shí)驗(yàn)硬件環(huán)境如下:64位Microsoft Windows 10操作系統(tǒng),Intel(R)Core(TM)CPU i5-4590 CPU@3.3 GHz四核處理器,8G運(yùn)行內(nèi)存,GPU采用GTX 1080Ti。實(shí)驗(yàn)軟件環(huán)境:IDE為Pycharm,深度學(xué)習(xí)框架為開(kāi)源的Pytorch。
實(shí)驗(yàn)通過(guò)實(shí)際紙病圖像分類(lèi),驗(yàn)證本課題算法的可行性。實(shí)驗(yàn)選擇的各紙病類(lèi)別及其數(shù)量如表1所示。
表1 實(shí)驗(yàn)選擇的紙病類(lèi)別及其數(shù)量Table 1 Types and quantity of paper defects selected in the experiment
首先對(duì)每個(gè)類(lèi)別的數(shù)據(jù)進(jìn)行逆時(shí)針旋轉(zhuǎn)90°、180°、270°等操作以進(jìn)行數(shù)據(jù)擴(kuò)充,擴(kuò)充后的圖像總計(jì)2097個(gè),每張圖像的尺寸為116×116×3 dpi。隨后按8∶2比例將總數(shù)據(jù)集隨機(jī)劃分成訓(xùn)練集和測(cè)試集。對(duì)比紙病類(lèi)別標(biāo)簽與實(shí)際類(lèi)別標(biāo)簽,對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)價(jià)。
在對(duì)樣本進(jìn)行多次訓(xùn)練,不斷調(diào)整參數(shù)后,最終設(shè)定訓(xùn)練集的batch size為32,測(cè)試集的batch size為64,優(yōu)化器采用SDG,設(shè)置基礎(chǔ)學(xué)習(xí)率base_lr為0.01,且每迭代50次衰減1次,衰減系數(shù)為0.1,設(shè)置權(quán)重衰減系數(shù)weight_decay為0.0001,訓(xùn)練的最大迭代次數(shù)max_iter為500,為了防止過(guò)擬合,設(shè)置Drop out為0.5。
訓(xùn)練后,模型在收斂過(guò)程中的訓(xùn)練集和測(cè)試集的acc變化如圖12所示。在上述設(shè)置的參數(shù)下,模型在訓(xùn)練集的最終準(zhǔn)確率為99.43%,在測(cè)試集的最終準(zhǔn)確率為96.63%。由此可知,本課題所設(shè)計(jì)的算法在紙病樣本上得到了較好的收斂。
圖12 訓(xùn)練過(guò)程中測(cè)試集和驗(yàn)證集的準(zhǔn)確率Fig.12 Accuracy of test set and verification set during training
為了驗(yàn)證本課題提出方法的有效性,將不同方法應(yīng)用在自建數(shù)據(jù)集上比較結(jié)果,如表2所示。
從表2可以看出,本課題提出的方法在損失較小實(shí)時(shí)性的同時(shí),在紙病識(shí)別準(zhǔn)確率上獲得較大的提升,證明性能十分優(yōu)異。
表2 不同方法實(shí)驗(yàn)結(jié)果對(duì)比Table 2 Comparison of experimental results of different methods
針對(duì)不同紙病類(lèi)別對(duì)不同數(shù)據(jù)增強(qiáng)算法響應(yīng)差別較大的問(wèn)題,本課題提出了一種多尺度特征融合結(jié)合注意力機(jī)制的紙病分類(lèi)方法。該方法先利用亮度增強(qiáng)、銳化器、Sobel邊緣檢測(cè)的方法分別對(duì)紙病進(jìn)行圖像增強(qiáng),不同紙病類(lèi)別雖不能對(duì)每種圖像增強(qiáng)方法都響應(yīng)強(qiáng)烈,但會(huì)對(duì)其中至少1種或2種方法有較好響應(yīng)。本方法將這些響應(yīng)進(jìn)行特征融合后送入帶有注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)中,讓其重點(diǎn)關(guān)注那些響應(yīng)強(qiáng)烈的特征,以此進(jìn)行分類(lèi)。本分類(lèi)算法在測(cè)試集上的分類(lèi)準(zhǔn)確率達(dá)到了96.63%,同時(shí)耗時(shí)少于一般傳統(tǒng)方法,證明了本方法的優(yōu)越性和實(shí)用性。