楊 莉 張亞楠 王婷婷 劉添翼
(東北石油大學(xué) 電氣信息工程學(xué)院,黑龍江 大慶 163318)
目前由于鋼材產(chǎn)量的快速增長(zhǎng)和檢測(cè)技術(shù)的不完善,其表面的任何缺陷,比如殘缺、變形等不僅影響其質(zhì)量性能,而且還影響企業(yè)的形象及產(chǎn)品美觀。人工檢測(cè)是生產(chǎn)過(guò)程中最常見(jiàn)的一種傳統(tǒng)檢測(cè)方法,由于缺陷類型的多樣性與相似性對(duì)員工的敬業(yè)度與檢測(cè)水平有著巨大的考驗(yàn),而且對(duì)于企業(yè),效率與成本更是一個(gè)極其敏感的問(wèn)題,因此人工檢測(cè)方法不能完全保證檢測(cè)的穩(wěn)定性與準(zhǔn)確性。而機(jī)器視覺(jué)則具有穩(wěn)定、安全、高效、實(shí)時(shí)和準(zhǔn)確等多種優(yōu)勢(shì),該檢測(cè)方法是企業(yè)實(shí)現(xiàn)自動(dòng)化、智能化的有效方式之一[1-2]。隨著人工智能的迅速發(fā)展與深度學(xué)習(xí)算法的日益成熟,卷積神經(jīng)網(wǎng)絡(luò)在人臉識(shí)別、圖像分類、目標(biāo)檢測(cè)等方面具有更加優(yōu)異的性能比[3-4],可以將低層的特征數(shù)據(jù)提取抽象化為高層的特征表示。邊棟梁[5]通過(guò)卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)鋼材表面粗糙度的分類準(zhǔn)確率高達(dá)100%。鋼材檢測(cè)需要網(wǎng)絡(luò)的加深獲得更多的目標(biāo)特征信息,但隨著網(wǎng)絡(luò)的加深容易導(dǎo)致梯度消失以及梯度爆炸。Wu 等[6]通過(guò)殘差塊(Residual Block)構(gòu)建的殘差網(wǎng)絡(luò)(ResNet)突破了網(wǎng)絡(luò)深度的問(wèn)題?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)算法主要分為兩大類:一類是基于區(qū)域建議的二階段目標(biāo)檢測(cè)算法,如SPP-Net(Sputial Pgramid Pooling-Network)[7]、Fast R-CNN(Region-Convolutional Neural Networks)[8]、Faster R-CNN[9];另一類是基于回歸的單階段目標(biāo)檢測(cè),如YOLO[10]、SDD(Sciteh Display Doctor)[11]、Retinanet[12]。與二階段目標(biāo)檢測(cè)相比,單階段目標(biāo)檢測(cè)無(wú)需提取候選區(qū)域,雖然在速度上有很大提升,但檢測(cè)精度偏低。由于鋼材表面缺陷檢測(cè)精度要求較高,為更好地平衡精度與速度,Cha 等[13]用Faster R-CNN 對(duì)鋼材裂縫等多種缺陷類型進(jìn)行檢測(cè)。該方法首先通過(guò)卷積網(wǎng)絡(luò)進(jìn)行特征提取,然后通過(guò)RPN 生成高質(zhì)量的預(yù)選區(qū)域,比基于CNN 模型有更良好的檢測(cè)性能,但在訓(xùn)練過(guò)程中產(chǎn)生的錨點(diǎn)大多數(shù)是無(wú)用的,因此網(wǎng)絡(luò)做了很多的無(wú)用計(jì)算。軟非極大值抑制(Soft-NMS:Soft Non-Maximum Suppression)[14]算法可以在候選框進(jìn)行分類時(shí)去除多余的檢測(cè)框;鄧志鵬等[15]利用可形變卷積代替?zhèn)鹘y(tǒng)卷積,將每個(gè)采樣點(diǎn)增加偏移量(Offset Field)實(shí)現(xiàn)任意形狀的感興趣區(qū)域;Dong 等[16]利用非局部塊(Non-Local Block)捕捉交通監(jiān)控圖像時(shí)間、空間上的依賴關(guān)系;張珹[17]用GA-RPN代替?zhèn)鹘y(tǒng)RPN 提升固件裝置的識(shí)別效果。Ren 等[18]在Faster R-CNN 引入?yún)^(qū)域建議網(wǎng)絡(luò)(FPN:Feature Pyramid Network)可以提高圖像中的小目標(biāo)檢測(cè)率,但FPN 底層與高層之間的路徑太遠(yuǎn),從而影響高層特征樣本的定位,同時(shí)相鄰卷積層融合再采樣的融合方式魯棒性能不強(qiáng)。而Liu 等[19]提出的PANet 是在FPN的基礎(chǔ)上通過(guò)增加由底層向上層的路徑,從而可以利用淺層的精準(zhǔn)定位信息的優(yōu)點(diǎn),但未能考慮融合再采樣的不充分特征融合。通過(guò)比較相關(guān)學(xué)者的方法以及存在的不足,筆者提出了一種改進(jìn)Faster R-CNN 檢測(cè)方法,通過(guò)引入GA-RPN代替RPN,加入可調(diào)節(jié)機(jī)制增強(qiáng)形變卷積的效果,并通過(guò)提出的多任務(wù)FPN 不僅可以縮短淺層與高層之間的路徑,而且能更有效地融入各層次之間的信息。
筆者采用ResNet-101 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),根據(jù)殘差模塊將網(wǎng)絡(luò)結(jié)構(gòu)分為5 個(gè)卷積階段,圖1 為改進(jìn)后的Faster R-CNN 網(wǎng)絡(luò)結(jié)構(gòu)圖。首先輸入圖像通過(guò)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提??;其次在特征融合過(guò)程中,多任務(wù)FPN 將每個(gè)階段最后一層的特征圖進(jìn)行融合,并將得到的特征圖輸送到GA-RPN 中生成稀疏形狀自適應(yīng)錨點(diǎn),同時(shí)加入可調(diào)節(jié)機(jī)制優(yōu)化感興趣區(qū)域(ROI:Regions Of Interest);最后將生成的ROIs 映射到特征圖中產(chǎn)生候選框。而傳統(tǒng)RPN 則是將特征圖每個(gè)點(diǎn)作為中心點(diǎn),經(jīng)過(guò)3×3 卷積將根據(jù)設(shè)置3 種大小規(guī)格和3 種不同的長(zhǎng)寬比得到9 個(gè)矩形的錨點(diǎn),缺點(diǎn)是產(chǎn)生了很多無(wú)用的錨點(diǎn)。RoI Align 為感興趣區(qū)域池化層,將候選框區(qū)域提取并固定大小為7×7,再通過(guò)兩層全連接層進(jìn)行定位和分類。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of network
筆者針對(duì)傳統(tǒng)RPN 產(chǎn)生大量無(wú)用錨點(diǎn),而增加計(jì)算消耗問(wèn)題,引入GA-RPN 代替RPN 生成高質(zhì)量、低密度的檢測(cè)框以提高召回率。GA-RPN 主要分為兩個(gè)部分:利用圖像特征預(yù)測(cè)中心區(qū)域區(qū)分正負(fù)樣本以及預(yù)測(cè)錨點(diǎn)的形狀。圖2 為正負(fù)樣本區(qū)域比例圖,利用ROI 重映射規(guī)則,將每個(gè)人工標(biāo)注檢測(cè)框映射到不同的特征圖,當(dāng)標(biāo)注檢測(cè)框落入中心區(qū)域(C 字母代表的矩形面積)則為正樣本,當(dāng)落入灰色部分(N 代表的區(qū)域)則為負(fù)樣本區(qū)域,I 部分面積為忽略區(qū)域,該區(qū)域的樣本不參與計(jì)算。筆者中心區(qū)域占據(jù)比例設(shè)為0.2,忽略區(qū)域占據(jù)比例設(shè)為0.5。錨點(diǎn)框進(jìn)行回歸前,首先計(jì)算每個(gè)位置的9 個(gè)錨點(diǎn)與人工標(biāo)注檢測(cè)框的交并比(IOU:Intersection Over Union)值,將最大IOU 值作為當(dāng)前位置的錨點(diǎn),并通過(guò)計(jì)算每個(gè)位置上的縮放系數(shù)預(yù)測(cè)最優(yōu)的寬與高。
圖2 正負(fù)樣本區(qū)域比例圖Fig.2 The area ratio of positive and negative samples
雖然引入可變形卷積能更好地預(yù)測(cè)檢測(cè)框形狀,但其不僅會(huì)影響訓(xùn)練速度,而且還會(huì)使正樣本采樣點(diǎn)不能完全集合到感興趣區(qū)域,為此,筆者引入可調(diào)節(jié)機(jī)制,通過(guò)權(quán)重稀釋輸入的采樣點(diǎn)。在傳統(tǒng)卷積過(guò)程中,輸入特征圖位置p的特征經(jīng)過(guò)大小為k×k的卷積核進(jìn)行卷積,通過(guò)卷積得到的感興趣區(qū)域都是矩形的,因此在同一層特征圖中不同形狀的物體經(jīng)過(guò)同一個(gè)卷積顯然是不合理的??勺冃尉矸e可以通過(guò)學(xué)習(xí)到實(shí)數(shù)偏移量Δpk提高網(wǎng)絡(luò)的形變建模能力,其中偏移量方向?yàn)閮蓚€(gè)維度(特征圖寬度方向和長(zhǎng)度方向),當(dāng)偏移量超過(guò)樣本的范圍時(shí),網(wǎng)絡(luò)學(xué)習(xí)的特征將是錯(cuò)誤的,通過(guò)引入可調(diào)節(jié)參數(shù)調(diào)節(jié)錯(cuò)誤采樣點(diǎn)。卷積過(guò)程如下
其中k為卷積核采樣位置個(gè)數(shù),pk為卷積核中第k個(gè)位置上的數(shù)值,Δmk為在可變形卷積中增加的可調(diào)節(jié)參數(shù),取值范圍為[0,1],wk為采樣點(diǎn)權(quán)重系數(shù),y為輸出,x為卷積函數(shù)。當(dāng)可調(diào)節(jié)參數(shù)為0,可以強(qiáng)制性丟棄錯(cuò)誤采樣點(diǎn),使網(wǎng)絡(luò)更加靈活。
在使用Resnet-101 提取特征時(shí)需要經(jīng)過(guò)近百層的卷積,隨著網(wǎng)絡(luò)層數(shù)的增加,前景的語(yǔ)義信息容易丟失,這對(duì)小目標(biāo)檢測(cè)非常不利。因此通過(guò)多尺度特征融合,將網(wǎng)絡(luò)高層與低層特征相融合,但低層與高層之間距離過(guò)長(zhǎng)會(huì)影響定位的精準(zhǔn)性。因此筆者通過(guò)提出多任務(wù)FPN,結(jié)構(gòu)如圖3 所示,左側(cè)為FPN采樣過(guò)程,其中C1~C5分別為5 個(gè)階段中最后一層特征圖,由于C1尺寸過(guò)大,融合過(guò)程將占據(jù)很多顯存,因此將其舍棄,通過(guò)FPN 將其融合得到{P2,P3,P4,P5}。多任務(wù)FPN 在其基礎(chǔ)上增加兩條路徑:第1 條路徑為利用加權(quán)平均和算法將FPN 輸出的4 層特征圖融合,再通過(guò)文獻(xiàn)[16]的非局部塊進(jìn)行去噪提純處理,從而解決了FPN 融合后再采樣的融合不充分問(wèn)題;第2 條路徑為下采樣特征融合,用于縮短高層正樣本映射到原圖的信息路徑。
圖3 多任務(wù)FPN 采樣流程Fig.3 The sampling process of multi-task FPN
1.3.1 加權(quán)平均和與去噪提純
針對(duì)FPN 融合再采樣的不充分融合,筆者通過(guò)加權(quán)平均和算法將其優(yōu)化,根據(jù)網(wǎng)絡(luò)模型的特性,通過(guò)卷積和池化采樣進(jìn)行特征提取,層數(shù)越高分辨率越低,將FPN 中的{P2,P3,P4,P5}調(diào)整到相同尺寸。筆者采用的方法是當(dāng)分辨率需要調(diào)小時(shí),采用池化減小尺寸,反之用定位差值法將尺寸調(diào)大(去噪提純階段也采用此方法),之后進(jìn)行加權(quán)平均,計(jì)算如下
其中L為總層數(shù),Pl為l層,lmin和lmax分別為FPN 中最低層特征圖和最高層特征圖,而筆者將4 個(gè)層數(shù)調(diào)整成與P4大小相同的尺寸,然后進(jìn)行加權(quán)平均和。將4 層的特性有效地結(jié)合后需要進(jìn)一步去噪提純處理,在提取某處的特征時(shí),非局部塊可以利用其局部像素的相似度信息,通過(guò)卷積增大感受野以獲取原圖上更多的信息,而且不改變輸入大小。利用度量函數(shù)f計(jì)算像素之間相似度,映射函數(shù)g(x)通過(guò)1×1卷積計(jì)算某點(diǎn)的特征。計(jì)算方式如下
其中x為輸入,y為輸出,i,j則為某個(gè)空間位置,C(x)為歸一化系數(shù)。度量函數(shù)如下
其中hrelu為線性整流函數(shù),wf為可以轉(zhuǎn)化為標(biāo)量的向量,wθ與wσ為權(quán)值參數(shù)。通過(guò)降噪算法可以集成更多的特征信息,之后重新調(diào)整與FPN 中尺寸大小相等的4 層特征圖{G2,G3,G4,G5}。
1.3.2 下采樣特征融合
筆者在FPN 基礎(chǔ)上引入一條低層向高層特征融合的路徑。圖4 為下采樣特征融合過(guò)程中計(jì)算示意圖,左側(cè)為淺層向深層方向特征融合方式,其中沒(méi)有對(duì)P2做任何處理,而右側(cè)是融合過(guò)程示意圖。FPN中深層進(jìn)行空間大小為增加2 倍的上采樣,而筆者則采用低層進(jìn)行3×3 卷積下采樣,再與對(duì)應(yīng)FPN的特征圖進(jìn)行融合,得到新的4 層特征圖{N2,N3,N4,N5},為了防止混疊效應(yīng)的發(fā)生,融合后進(jìn)行步長(zhǎng)為1的3×3 卷積保證特征的穩(wěn)定。在FPN 融合過(guò)程中要經(jīng)過(guò)上百層,顯然影響回歸定位的準(zhǔn)確性,而筆者引入新的路徑為9 層,很大程度上緩解了定位信息丟失的問(wèn)題。最后去噪提純后的特征圖逐元素對(duì)應(yīng)相加,將兩個(gè)分支的特征有效地融合。
圖4 下采樣特征融合過(guò)程Fig.4 The process of feature fusion
筆者將Faster R-CNN 模型與改進(jìn)后的網(wǎng)絡(luò)模型分別對(duì)鋼材表面缺陷進(jìn)行檢測(cè),通過(guò)mAP 值與檢測(cè)速度兩項(xiàng)指標(biāo)進(jìn)行評(píng)估,并將筆者的模型訓(xùn)練得到的分類、回歸的各個(gè)損失值與準(zhǔn)確率模擬合成曲線。
實(shí)驗(yàn)均使用python3.7、PyTorch、cuda10.0 和cudnn7.5 作為深度學(xué)習(xí)庫(kù),顯卡型號(hào)為NVIDA-2080ti。網(wǎng)絡(luò)輸入圖像短邊像素為960,并將固定的均值和方差進(jìn)行歸一化處理,通過(guò)隨機(jī)梯度下降法更新權(quán)重,其中學(xué)習(xí)率為0.001,動(dòng)量參數(shù)為0.9,權(quán)重衰減為0.000 5。在訓(xùn)練過(guò)程中批量batch size 設(shè)為1,訓(xùn)練次數(shù)epoch 設(shè)為50,以提高性能。
筆者使用的鋼板表層圖像數(shù)據(jù)來(lái)源于N 鋼集團(tuán)科技質(zhì)量部,數(shù)據(jù)集共5 405 張像素大小為2 560×1 920的圖片,其中訓(xùn)練數(shù)據(jù)集4 805 張,測(cè)試集600 張。通常認(rèn)定小目標(biāo)為低于圖像分辨率0.15%[20],該數(shù)據(jù)集小目標(biāo)的比例為74.95%。圖5 是抽取的一些樣本,共有10 種類型的缺陷,分別為不導(dǎo)電(DT0)、擦花(DT1)、角漏(DT2)、桔皮(DT3)、滲漏(DT4)、噴流(DT5)、漆泡(DT6)、起坑(DT7)、雜色(DT8)、臟點(diǎn)(DT9),其中數(shù)據(jù)集圖像單缺陷4 584 張,多類缺陷821 張。
圖5 鋼材表面缺陷的類型Fig.5 Types of steel surface defects
在完成網(wǎng)絡(luò)的訓(xùn)練后,筆者的模型與Faster R-CNN 進(jìn)行對(duì)比,通過(guò)圖6 描繪出兩種網(wǎng)路模型中每種缺陷類型的召回率,IOU 值設(shè)為0.5。五星折線代表Faster R-CNN 訓(xùn)練結(jié)果,而圓點(diǎn)折線代表筆者改進(jìn)模型。從圖6 中可以看出,Faster R-CNN 中DT7(起坑)召回率很低,是由于起坑目標(biāo)太小,導(dǎo)致正樣本過(guò)少而負(fù)樣本過(guò)多,而改進(jìn)后的模型DT2、DT4、DT6、DT7等缺陷類型的召回率都得到很大的提升,其他缺陷類型也有不同程度的提升。
圖6 各缺陷類型召回率Fig.6 Recall rate of each defect type
網(wǎng)絡(luò)性能指標(biāo)通過(guò)mAP(mean Average Precision)與檢測(cè)速度進(jìn)行評(píng)估,mAP 由各類缺陷類型平均檢測(cè)率(AP)之和除以總?cè)毕蓊愋蛿?shù)10(10 類鋼材缺陷模型)計(jì)算得到。表1 是筆者模型與Faster R-CNN 性能對(duì)比表,可以看到Faster R-CNN的mAP 值為0.630,單張圖片檢測(cè)時(shí)間為0.047 s,改進(jìn)網(wǎng)絡(luò)mAP 值為0.863 s,提高了0.233,這與提升的召回率有很大關(guān)聯(lián),雖然檢測(cè)速度仍低于Faster R-CNN,但是在實(shí)際生產(chǎn)中相鄰道次間鋼材軋制的時(shí)間間隔最短也需要40 s 左右,因此本網(wǎng)絡(luò)具有時(shí)效性。
表1 Faster RCNN 與改進(jìn)網(wǎng)絡(luò)的性能對(duì)比Tab.1 Performance comparison of Faster RCNN and improved network
在網(wǎng)絡(luò)訓(xùn)練過(guò)程中,通過(guò)可視化損失值與準(zhǔn)確率判斷網(wǎng)絡(luò)是否有效,如圖7 所示。
圖7 損失值與準(zhǔn)確率曲線Fig.7 Curves of loss value and accuracy
將網(wǎng)絡(luò)中損失曲線與準(zhǔn)確率可視化。圖7a 表明模型的損失值曲線低于Faster R-CNN,從圖7b 中可看出改進(jìn)的網(wǎng)絡(luò)模型準(zhǔn)確率曲線較高,表明改進(jìn)的網(wǎng)絡(luò)訓(xùn)練方式更加有效,通過(guò)比較發(fā)現(xiàn)兩者的損失值曲線開(kāi)始大幅度下降之后逐漸收斂穩(wěn)定,準(zhǔn)確率曲線逐漸升高后也逐漸收斂,表明設(shè)置的參數(shù)合理。
圖8 為網(wǎng)絡(luò)對(duì)隨機(jī)選取鋼材表面缺陷圖像的效果圖,缺陷的位置由矩形框標(biāo)記,并在左上角標(biāo)出置信度,圖8a~圖8d 均為單一類缺陷的圖像,而圖8e、圖8f 為多類型缺陷檢測(cè)效果圖,從效果上都可以成功檢測(cè)出缺陷位置與類型,說(shuō)明該網(wǎng)絡(luò)具有較強(qiáng)的檢測(cè)能力。
圖8 鋼材表面缺陷類型檢測(cè)圖Fig.8 Images of steel surface defect detection
傳統(tǒng)鋼材表面缺陷檢測(cè)由于依賴于人工檢測(cè)的準(zhǔn)確性,從而影響產(chǎn)品的質(zhì)量性能和安全性,為此筆者在Faster R-CNN的基礎(chǔ)上,通過(guò)引入GA-RPN 稀疏無(wú)用的檢測(cè)框提高效率,在預(yù)測(cè)錨點(diǎn)形狀的同時(shí)引入可調(diào)節(jié)機(jī)制增強(qiáng)網(wǎng)絡(luò)的建模性能。并且提出的多任務(wù)FPN,不僅可以縮短低層與高層之間的路徑,更好地保留定位信息,而且還能通過(guò)加權(quán)平均和可以更好地融合多層之間的信息。通過(guò)與Faster R-CNN對(duì)比,mAP 提高0.233,在速度與精度方面也達(dá)到良好的平衡。今后將在這10 種類型中提供更多的缺陷圖像,通過(guò)訓(xùn)練網(wǎng)絡(luò),分析類型缺陷中的不良性能,對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)一步優(yōu)化。