李馥穎, 朱振杰, 杜付鑫
(1. 沈陽理工大學(xué) 藝術(shù)設(shè)計學(xué)院, 遼寧 沈陽 110159; 2. 山東大學(xué) 機械工程學(xué)院, 山東 濟南 250061)
我國是鋼材生產(chǎn)大國,根據(jù)國家統(tǒng)計局公布的數(shù)據(jù),2019年我國鋼材產(chǎn)量達到9.96×108t,同比增長8.3%[1]。 由于帶軋機具有投資少、 建設(shè)周期短的特點, 國內(nèi)大部分鋼鐵企業(yè), 尤其是民營鋼鐵企業(yè)不斷擴大帶鋼生產(chǎn)規(guī)模,因此近幾年國內(nèi)帶鋼產(chǎn)能增長迅速,同時也暴露出了一些亟待解決的問題。生產(chǎn)工藝、 原材料、 壓制設(shè)備等因素經(jīng)常會導(dǎo)致帶鋼表面出現(xiàn)一系列缺陷,主要是劃傷、 擦傷、 裂紋、 油污、 黑點等[2-3]。這些缺陷不僅影響了帶鋼的表面質(zhì)量,而且還會降低最終成品的抗腐性、耐磨性和疲勞強度等性能[4],因此,帶鋼在經(jīng)過酸洗后均需要采用人工檢查的方式進行質(zhì)量跟蹤與保證。隨著帶鋼產(chǎn)能的不斷提升和生產(chǎn)節(jié)奏逐步加快,操作人員的肉眼觀察質(zhì)量的不穩(wěn)定性逐步暴露,導(dǎo)致帶鋼斷裂事故一直居高不下。
近年來, 利用深度學(xué)習(xí)檢測目標物體的方法發(fā)展迅速, 在無人機、 輔助盲人導(dǎo)航、 無人駕駛、 語音識別等領(lǐng)域應(yīng)用廣泛[5]。 基于計算機視覺的帶鋼表面缺陷檢測技術(shù)也得到了快速的發(fā)展[6]。 計算機視覺通過非接觸式的檢測和光學(xué)的自動采集獲得產(chǎn)品的表面圖像, 然后使用不同的算法提取表面圖像的具體特征, 進一步實現(xiàn)檢測。 采用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)來解決深度學(xué)習(xí)的問題是許多專家學(xué)者的首選[7-8]。 目前基于深度學(xué)習(xí)的目標檢測算法主要包括2類, 一類是基于候選框的目標檢測, 另一類是基于回歸的目標檢測。 Girshick等[9]在2014年提出了第一個基于候選框的目標檢測方法——選區(qū)CNN(region CNN,R-CNN), 隨后快速選區(qū)卷積神經(jīng)網(wǎng)絡(luò)Faster R-CNN[10-11]與Mask R-CNN[12]等方法相繼出現(xiàn)。基于回歸的目標檢測方法主要是以You Only Look Once (YOLO)系列檢測器為主[13-16]。
基于深度學(xué)習(xí)的方法能夠較好地克服實際應(yīng)用環(huán)境下帶來的復(fù)雜變化。深度學(xué)習(xí)注重模型的深度和自動特征提取,由高到低逐層地進行特征學(xué)習(xí),具有較強的特征提取和選擇能力。深度學(xué)習(xí)的基本條件是要有海量的數(shù)據(jù)支撐以及充分的模型訓(xùn)練,但是,在對帶鋼表面進行缺陷研究時,帶鋼表面缺陷的數(shù)據(jù)基本上是基于生產(chǎn)線人工拍攝所收集,樣本之間差異較小,重復(fù)數(shù)據(jù)較多,并且實際采集到的數(shù)據(jù)量通常達不到深度學(xué)習(xí)目標檢測模型所要求的龐大數(shù)據(jù)量的要求。針對以上問題,本文中通過基于Faster R-CNN算法進行改進,首先利用殘差[17]作為帶鋼表面缺陷特征提取網(wǎng)絡(luò)以達到更高效的提取特征的效果,并提出一種多尺度選區(qū)推薦網(wǎng)絡(luò)(multi-scale regional proposal network,MS-RPN),對非極大值抑制(non-maximum suppression,NMS)算法[18]篩選候選框不充分的情況進行優(yōu)化,目的是提高帶鋼表面缺陷檢測的準確性。
針對初始推薦區(qū)域不能滿足多尺度目標的需求、帶鋼表面缺陷重疊產(chǎn)生的漏檢等問題,本文中在Faster R-CNN算法的基礎(chǔ)上提出一種新的帶鋼表面缺陷檢測算法,總體結(jié)構(gòu)如圖1所示。
圖1 改進后快速選區(qū)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
該神經(jīng)網(wǎng)絡(luò)模型分為特征提取網(wǎng)絡(luò)、 MS-RPN、 檢測子網(wǎng)絡(luò)3個部分, 其中, 采用殘差網(wǎng)絡(luò)替換了傳統(tǒng)的特征提取網(wǎng)絡(luò)。 由于初始推薦區(qū)域不能滿足多尺度目標需求的問題, 因此本文中提出MS-RPN網(wǎng)絡(luò)。 該網(wǎng)絡(luò)通過3條支路在3組不同的特征圖上設(shè)置不同大小的滑動窗口, 得到大、 中、 小3種目標尺度的錨節(jié)點(anchor), 與普通的選區(qū)推薦網(wǎng)絡(luò)(RPN)相比, 可以得到更加精確的推薦區(qū)域, 并在網(wǎng)絡(luò)中使用軟判決NMS(Soft-NMS)機制進行候選框的篩選。
改進后Faster R-CNN神經(jīng)網(wǎng)絡(luò)(以下簡稱本文模型)選取Darknet-53殘差模型的前52層作為特征提取層。本文模型結(jié)合了Darknet-19以及其他新型殘差網(wǎng)絡(luò)的優(yōu)勢,利用連續(xù)的尺寸為3×3和1×1規(guī)模的卷積層進行組合,網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。
表1 改進后Faster R-CNN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
從圖1中可以看出, 本文模型分別通過3條支路生成3組不同的特征圖饋入MS-RPN網(wǎng)絡(luò), 卷積核在淺層提取的是顏色、 邊緣等淺層特征, 隨著卷積層深度加深, 提取的細節(jié)信息更加充分。 提取的特征圖的大小會隨著層數(shù)加深變得更小, 雖然直接使用最后一層的卷積特征圖有利于圖像的識別, 但是對檢測小尺度目標則不適合。 綜上, 本文中選擇區(qū)域5生成的特征圖作為F1; 然后, 將F1經(jīng)過上采樣(up-sample)操作后與區(qū)域3生成的特征圖結(jié)合作為F2; 最后, 將F2經(jīng)過上采樣操作后與區(qū)域2生成的特征圖結(jié)合作為F3, 分別輸入到MS-RPN網(wǎng)絡(luò)得到不同尺度的推薦區(qū)域, 同時也作為檢測子網(wǎng)的輸入。
MS-RPN網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,該網(wǎng)絡(luò)的作用是為輸入圖像提取一定數(shù)量的具有目標置信度的推薦區(qū)域。
圖2 多尺度區(qū)域推薦網(wǎng)絡(luò)結(jié)構(gòu)
分別為特征圖F1、 F2、 F3定義多個邊長為n的正方形滑動窗口,檢測過程中產(chǎn)生高質(zhì)量推薦區(qū)域的關(guān)鍵是定義大小合理的滑動窗口和錨節(jié)點,為每個特征圖分配具有不同比例的錨節(jié)點??紤]到不同縱橫比的對象,設(shè)計具有不同的長寬比的錨節(jié)點,錨節(jié)點形狀由物體形狀決定。本文中設(shè)置了6種類型的錨節(jié)點,為了減小滑動窗口數(shù)量,特征圖F3只設(shè)置1種尺寸、 1種比例的滑動窗口且步長為2,特征圖F1、 F2分別設(shè)置3、 2種尺度, 3種比例的滑動窗口?;瑒哟翱谂c錨節(jié)點的設(shè)置如表2所示。
表2 滑動窗口和錨節(jié)點的設(shè)置
鑒于帶鋼表面缺陷中缺陷圖片相近的情況較多,本文中利用一種新的候選框篩選機制Soft-NMS進行對候選框進行篩選,具體算法如下:
輸入:B={b1,b2,…,bN},S={s1,s2,…,sN}
1.D←{}
2.whileB≠empty do
3.m←argmaxS
4.M←bm
5.D←D∪M;B←B-M
6.forbiinBdo
7.si←sif(IOU(M,bi))
8.end
9.end
10.returnD,S
上述算法中f(IOU(M,bi))的計算公式為
(1)
式中:f為當前框得分;IOU(M,bi)為M與bi的交并比,M為當前得分最高框,bi為待篩選框;Nt為閾值。
由式(1)可知,M和bi的交并比越大, 得分si就越小,漏檢率就會降低。
本文中的損失函數(shù)分為MS-RPN損失函數(shù)和檢測子網(wǎng)絡(luò)損失函數(shù)2個部分。
1.5.1 MS-RPN損失函數(shù)
MS-RPN損失函數(shù)ln分為2個部分,即分類損失Lcls和邊框回歸損失Lreg,表達式為
(2)
分類損失函數(shù)Lcls和回歸損失函數(shù)Lreg的表達式分別為
(3)
(4)
式中R為smoothL1函數(shù)。
MS-RPN的3條支路總損失函數(shù)L(M)為
(5)
式中:M為MS-RPN網(wǎng)絡(luò)的學(xué)習(xí)參數(shù),是由n個M組成的矩陣;n為支路數(shù),n∈[1, 3];ηn為第n條支路損失權(quán)重;Sn為第n條支路的訓(xùn)練樣本集。
1.5.2 檢測子網(wǎng)絡(luò)損失函數(shù)
檢測子網(wǎng)絡(luò)對于帶鋼表面缺陷目標檢測任務(wù)損失函數(shù)L(M′)與MS-RPN損失函數(shù)定義類似,設(shè)M′為檢測子網(wǎng)絡(luò)所需要學(xué)習(xí)的參數(shù),檢測子網(wǎng)絡(luò)損失函數(shù)為L(M′),則
(6)
(7)
綜上,網(wǎng)絡(luò)的總體損失函數(shù)L(M,M′)為
L(M,M′)=L(M)+L(M′)
。
(8)
從帶鋼生產(chǎn)線所拍攝含有各種缺陷的帶鋼照片中分別選擇含有劃傷缺陷圖片183張、 擦傷缺陷圖片154張、 裂紋缺陷圖片190張、油污缺陷圖片205張、黑點缺陷圖片119張,然后運用水平翻轉(zhuǎn)、 旋轉(zhuǎn)照片集等數(shù)據(jù)集擴充操作進行數(shù)據(jù)擴充,同時,為了便于對所有圖像進行數(shù)據(jù)集標注,本文中采用數(shù)據(jù)集標注工具Labelimg對圖像進行分類準確性(ground truth)標注,將該數(shù)據(jù)集命名為SD_data數(shù)據(jù)集,如圖3所示。
圖3 采用數(shù)據(jù)集標注工具標注的數(shù)據(jù)集
由于準確率和召回率在某些情況下會出現(xiàn)矛盾情況,因此,本文中采用準確率與召回率的調(diào)和均值F作為對比評價指標,計算公式為
(9)
式中:P為檢測準確率,即檢測到正確的帶鋼表面缺陷數(shù)占檢測到的帶鋼表面缺陷總數(shù)的比例;R為召回率,即檢測到正確的帶鋼表面缺陷數(shù)占所有的樣本總數(shù)的比例。
根據(jù)檢測目標的不同尺度,將SD_data數(shù)據(jù)集分為易、中等和難3個檢測難度,將本文模型與可變形組件模型(DPM)、 對象控制的可變形組件模型(OC-DPM)、 R-CNN、 Faster R-CNN、 精練網(wǎng)絡(luò)(Refine-Net)算法一同在SD_data數(shù)據(jù)集上進行了訓(xùn)練和測試,結(jié)果見表4。
表4 在SD_data數(shù)據(jù)集下3個不同難度中的平均準確率
本文模型在SD_data數(shù)據(jù)集下3個不同標準下的平均精度均值分別達到90.77%、 89.78%、 84.99%,較Faster R-CNN的分別提升2.76%、9.41%、10.27%。與其他算法相比,本文模型在3個檢測難度為“難”的檢測結(jié)果優(yōu)勢明顯。為了證明模型的泛化能力,圖4給出了SD_data數(shù)據(jù)集下的部分檢測結(jié)果。
圖4 帶鋼缺陷檢測結(jié)果
將本文模型中MS-RPN和Faster R-CNN中RPN進行了比較,且對不同尺度目標召回率進行實驗對比,結(jié)果如表5所示。由表可以看出,相較于RPN,MS-RPN在每個尺度下的召回率均有所提高,MS-RPN通過對3個不同深度的卷積層定義合理的滑動窗口,對小型目標而言,低層卷積層存在使得最后一層卷積層有更加豐富的特征,所以MS-RPN能夠比只在最后一層卷積層設(shè)置滑動窗口的RPN提取到更加精確的推薦區(qū)域。
表5 推薦區(qū)域不同尺度目標的召回率
在SD_data據(jù)集上對Soft-NMS與NMS的平均準確率進行比較,結(jié)果見表6。這2種方法都有定位的參數(shù),如NMS中的IOU閾值Nt和Soft-NMS中的規(guī)范參數(shù)σ,調(diào)整這些參數(shù)會改變平均準確率。本文中采用控制變量法進行比較,發(fā)現(xiàn)本文中提出的在網(wǎng)絡(luò)的末端選取Soft-NMS機制比NMS機制平均準確率提升了約1%。
表6 不同非極大值抑制的平均準確率對比
本文中通過對Faster R-CNN模型進行改進,提出了一種高效且準確的多尺度選區(qū)推薦網(wǎng)絡(luò),使用Soft-NMS機制進行候選框篩選,并在SD_data數(shù)據(jù)集上進行實驗。結(jié)果表明,本文模型在不影響檢測速度的情況下,提高了檢測的準確性,降低了漏檢率,對各種尺度的帶鋼表面缺陷目標均取得了良好的檢測效果,可以更好地滿足實際工程應(yīng)用。