于海濤,李健升,劉亞姣,李福龍,王 江,張春暉,于利峰
(1.天津大學(xué) 電氣自動(dòng)化與信息工程學(xué)院,天津 300072;2.河北津西鋼鐵集團(tuán)股份有限公司,河北 唐山 064302)
型鋼是一種經(jīng)濟(jì)高效的型材,已被廣泛應(yīng)用在民用和工業(yè)領(lǐng)域,是工業(yè)生產(chǎn)當(dāng)中的一種重要鋼材。由于環(huán)境和生產(chǎn)工藝等因素,型鋼生產(chǎn)過程當(dāng)中總會(huì)不可避免地產(chǎn)生各種表面缺陷,若不能及時(shí)調(diào)整生產(chǎn)過程當(dāng)中的問題,將嚴(yán)重影響型鋼產(chǎn)品的質(zhì)量和安全系數(shù)[1-2]。型鋼表面采集的圖像具有背景復(fù)雜、光照不均勻和噪聲等問題,傳統(tǒng)的基于機(jī)器視覺的表面缺陷檢測(cè)方法主要采用手工提取特征與機(jī)器學(xué)習(xí)分類算法相結(jié)合的分離式設(shè)計(jì),過程繁瑣,魯棒性差,缺陷識(shí)別效率較低[3]。
深度學(xué)習(xí)提供了一種端到端的學(xué)習(xí)范式,并借助其強(qiáng)大的挖掘數(shù)據(jù)潛在特征的能力,已成為缺陷檢測(cè)領(lǐng)域的主要方法。Weimer 等[4]將深度卷積神經(jīng)網(wǎng) 絡(luò)(Deep Convolution Neural Network,DCNN)應(yīng)用于工業(yè)缺陷檢測(cè)領(lǐng)域,驗(yàn)證了該方法可以通過大量的訓(xùn)練數(shù)據(jù)與分層學(xué)習(xí)策略獲得有效的缺陷圖像特征,并且展示了出色的缺陷分類效果;鄧澤林等[5]構(gòu)建了基于最大穩(wěn)定極值區(qū)域分析與卷積神經(jīng)網(wǎng)絡(luò)協(xié)同的疵點(diǎn)實(shí)時(shí)檢測(cè)系統(tǒng),通過預(yù)檢測(cè)與精確檢測(cè)兩級(jí)檢測(cè)機(jī)制,能夠精確地檢測(cè)無紡布中的疵點(diǎn);Chen 等[6]在語義分割模型的基礎(chǔ)上,僅使用了少量的訓(xùn)練數(shù)據(jù)即可對(duì)缺陷圖像實(shí)現(xiàn)特征提取與像素級(jí)預(yù)測(cè),進(jìn)而得到表面缺陷輪廓。上述研究均針對(duì)提高缺陷識(shí)別準(zhǔn)確率的問題給出了解決方案,但是生產(chǎn)過程中的型鋼運(yùn)動(dòng)速度可達(dá)5~10 m/s,并且由于缺陷出現(xiàn)位置的不確定性,需要同時(shí)采集型鋼的各個(gè)表面圖像。由此產(chǎn)生的大量圖像數(shù)據(jù)對(duì)檢測(cè)方法的實(shí)時(shí)性要求高,缺陷檢測(cè)難度大,使得上述方法難以滿足要求。
Ren 等[7]提出 Faster R-CNN(Faster Region-based Convolutional Neural Network)的兩階段檢測(cè)方法,由區(qū)域推薦網(wǎng)絡(luò)(Region Proposal Network,RPN)替代原始分割算法生成候選框,據(jù)此得到的特征提取結(jié)果送入分類網(wǎng)絡(luò),最終實(shí)現(xiàn)目標(biāo)的分類與定位,大幅提升了網(wǎng)絡(luò)推理速度;Redmon等[8-10]則脫離兩階段目標(biāo)檢測(cè)框架,提出了單階段的目標(biāo)檢測(cè)網(wǎng)絡(luò)YOLO(You Only Look Once)系列,通過頂端的檢測(cè)網(wǎng)絡(luò)直接預(yù)測(cè)每一個(gè)提前設(shè)定好的錨框的類別、位置信息和置信度,由包含物體中心的錨框負(fù)責(zé)檢測(cè)當(dāng)前物體,這種單階段檢測(cè)方法進(jìn)一步縮短了模型檢測(cè)的時(shí)間;Yin 等[11]采用極限學(xué)習(xí)機(jī)算法作為目標(biāo)檢測(cè)的特征提取網(wǎng)絡(luò),提出了一種Faster-YOLO 目標(biāo)檢測(cè)算法,其檢測(cè)速度較YOLOv3 模型提高了2 倍。目前,基于上述方法的拓展與應(yīng)用在保證檢測(cè)效果的同時(shí)通過優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)和預(yù)測(cè)推理過程提高了網(wǎng)絡(luò)的檢測(cè)效率。
經(jīng)現(xiàn)場(chǎng)實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)可知,型鋼生產(chǎn)過程中產(chǎn)生的大量圖像數(shù)據(jù)中,有缺陷圖像數(shù)量?jī)H占總圖像數(shù)量的7%左右。有缺陷圖像的出現(xiàn)概率低,導(dǎo)致上述的表面缺陷檢測(cè)算法將計(jì)算時(shí)間主要集中在了大量的無缺陷圖像上,從而嚴(yán)重拖慢了檢測(cè)環(huán)節(jié)在整體上的有效檢測(cè)速度。其中,整體上的有效檢測(cè)速度指的是一段時(shí)間內(nèi)檢測(cè)算法處理的有缺陷圖像數(shù)量除以總時(shí)間。因此,本文提出了一種基于級(jí)聯(lián)式網(wǎng)絡(luò)的型鋼表面缺陷檢測(cè)算法SDNet(Select and Detect Network)用于型鋼表面缺陷檢測(cè)任務(wù)。該算法首先在ResNet 為基準(zhǔn)的預(yù)檢測(cè)分類網(wǎng)絡(luò)中引入深度可分離卷積(Depthwise Separable Convolution,DSC)與多通道并行卷積操作,將圖像準(zhǔn)確分類為有缺陷圖像和無缺陷圖像;然后,在以YOLOv3 模型為基礎(chǔ)的檢測(cè)網(wǎng)絡(luò)中引入對(duì)偶注意力模塊(Dual Attention)和改進(jìn)空洞空間金字塔池化(Atrous Spatial Pyramid Pooling,ASPP)模塊,將有缺陷圖像送入檢測(cè)網(wǎng)絡(luò)當(dāng)中完成缺陷的分類與定位。SDNet 將缺陷分類算法的快速性與缺陷檢測(cè)算法的精準(zhǔn)定位特性相結(jié)合,能夠同時(shí)兼顧檢測(cè)的效率與精度。本文的主要工作如下:
1)構(gòu)建了基于深度可分離卷積的DSC-ResNet 輕量化預(yù)檢網(wǎng)絡(luò),以圖像預(yù)檢測(cè)分類任務(wù)為驅(qū)動(dòng),將ResNet 模型中的殘差單元替換為多尺度并行殘差卷積模塊,并利用深度可分離卷積替代原有卷積操作,提升模型分類效果的同時(shí)減少了運(yùn)算量。
2)提出了AA-YOLOv3(ASPP and Attention YOLOv3)缺陷檢測(cè)模型,基于原有YOLOv3 模型作出改進(jìn):在特征提取主干網(wǎng)絡(luò)中引入改進(jìn)ASPP 模塊保持感受野,提升網(wǎng)絡(luò)小尺寸物體特征提取能力,并在YOLOv3 的預(yù)測(cè)網(wǎng)絡(luò)分支加入了對(duì)偶注意力層(Dual Net),增強(qiáng)模型特征聚合與選擇的能力,提升模型檢測(cè)效果。
3)以級(jí)聯(lián)方式融合DSC-ResNet 預(yù)檢測(cè)網(wǎng)絡(luò)和AAYOLOv3 檢測(cè)網(wǎng)絡(luò),提出了一種型鋼表面缺陷快速檢測(cè)算法SDNet。與原始YOLOv3 模型相比,所提算法顯著提高了檢測(cè)速度和檢測(cè)精度,適用于型鋼表面缺陷的快速檢測(cè)。
本文提出了一種級(jí)聯(lián)式型鋼表面缺陷快速算法——SDNet,由DSC-ResNet 預(yù)分類模型和AA-YOLOv3 缺陷檢測(cè)模型構(gòu)成,在檢測(cè)過程中剔除了對(duì)無缺陷圖像的無效檢測(cè),大幅提升了缺陷檢測(cè)效率。具體地,在以ResNet 為基礎(chǔ)網(wǎng)絡(luò)構(gòu)建預(yù)分類模型時(shí),引入多尺度并行卷積殘差模塊以提升網(wǎng)絡(luò)特征提取能力,與此同時(shí)采用深度可分離卷積替代標(biāo)準(zhǔn)卷積操作,使卷積過程的運(yùn)算量極大減少;在缺陷檢測(cè)模型YOLOv3 的基礎(chǔ)上,通過將改進(jìn)ASPP 模塊嵌入主干特征提取網(wǎng)絡(luò)DarkNet53 的殘差模塊之前,增強(qiáng)了對(duì)于微小尺寸缺陷的特征提取能力,提升了型鋼表面缺陷檢測(cè)效果。預(yù)測(cè)過程如圖1 所示,由工業(yè)相機(jī)實(shí)時(shí)采集得到的型鋼表面圖像送入預(yù)分類模型,如果預(yù)分類模型判斷型鋼表面存在缺陷分布,則采用缺陷檢測(cè)模型進(jìn)行精確分類與定位。
圖1 型鋼表面缺陷檢測(cè)模型Fig.1 Section steel surface defect detection model
普通卷積神經(jīng)網(wǎng)絡(luò)在誤差反向傳播過程中存在梯度消失現(xiàn)象,He 等[12]通過將殘差模塊引入到卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建了殘差神經(jīng)網(wǎng)絡(luò)(Residual Neural Network,RNN),有效地解決了深度神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練困難的問題。ResNet18 是ResNet 淺層網(wǎng)絡(luò)的一種實(shí)現(xiàn)形式,其殘差塊使用兩個(gè)3×3 卷積和跨層連接,相較于LeNet、AlexNet 等經(jīng)典卷積神經(jīng)網(wǎng)絡(luò),分類準(zhǔn)確率更高[13-14]。殘差網(wǎng)絡(luò)定義如下:
其中:H(x,wh)為非線性層,x為輸入特征,wh為特征層參數(shù);y為輸出特征,由輸入引入的短連接與非線性層的輸出相加得到。
然而,與經(jīng)典神經(jīng)網(wǎng)絡(luò)模型類似,ResNet18 采用的標(biāo)準(zhǔn)卷積使用多通道特征融合采樣方式造成了網(wǎng)絡(luò)參數(shù)量過大、計(jì)算效率較低等問題,不利于目標(biāo)檢測(cè)的快速性與實(shí)時(shí)性。因此,本文在以ResNet 為預(yù)分類網(wǎng)絡(luò)的基礎(chǔ)上作出改進(jìn)。該模型最終將特征提取結(jié)果經(jīng)過最大池化層與全連接層,分類結(jié)果由softmax 函數(shù)將輸出映射為(0,1)。值得注意的是,考慮到型鋼圖像當(dāng)中大部分屬于背景區(qū)域,最大池化有助于輸出中顯著區(qū)域部分特征在訓(xùn)練過程中得到最大響應(yīng)[15-16]。最大池化輸入特征X的尺寸為m×n、卷積核尺寸p×q、步長(zhǎng)為1 時(shí),最大池化計(jì)算過程如下:
當(dāng)前最大池化輸出特征層Y尺寸為g×h,經(jīng)過前向傳播與誤差計(jì)算可得:
誤差對(duì)最大池化輸出Y的梯度?e(Y)為:
則誤差對(duì)輸入層X的梯度計(jì)算過程為:
可見,包含最大池化層的神經(jīng)網(wǎng)絡(luò)的誤差反向傳播過程只針對(duì)輸出特征圖當(dāng)中最大響應(yīng)的權(quán)重參數(shù)進(jìn)行更新,這樣的操作使圖像當(dāng)中的顯著性區(qū)域受到更多關(guān)注。
一般的ResNet 模型隨著殘差網(wǎng)絡(luò)深度逐漸加深而導(dǎo)致卷積運(yùn)算過程中的感受野不斷增大,難以提取小尺度特征。針對(duì)上述問題,本文改進(jìn)了ResNet 中的殘差單元ResBlock,如圖2 所示。輸入特征將分別經(jīng)過1 × 1、3 × 3、5 × 5 三種不同的卷積核對(duì)特征層進(jìn)行并行卷積,分別得到在不同感受野上的特征輸出層F1、F2、F3,最后經(jīng)過特征維度拼接得到ResBlock 的輸出Oresblock。
圖2 DSC-ResNet框架Fig.2 Architecture of DSC-ResNet
拆分-合并拓?fù)洳呗栽谝欢ǔ潭壬夏軌颢@得分類精度的提升,但是隨之而來的是參數(shù)規(guī)模的指數(shù)級(jí)上升[17],因此本文引入DSC 替代普通模型中的標(biāo)準(zhǔn)卷積操作[18-19]。深度可分離卷積的過程如圖3 所示,它將普通卷積分為逐通道卷積和點(diǎn)向卷積。如逐通道卷積過程所示,各通道之間相互獨(dú)立,采用與輸入特征層通道數(shù)相同的卷積核分別對(duì)每一層特征層卷積,該計(jì)算過程忽略了通道之間的特征融合,因此在圖3 中使用點(diǎn)向卷積,將中間輸出結(jié)果經(jīng)過1×1 的卷積核進(jìn)行卷積運(yùn)算,完成深度方向的信息聚合,得到輸出特征層。
圖3 深度可分離卷積Fig.3 Depthwise separable convolution
YOLOv3 將缺陷定位和分類集成在單一階段的神經(jīng)網(wǎng)絡(luò)中,輸入圖像經(jīng)過一次推斷,便能同時(shí)得到圖像中所有缺陷的位置和其所屬類別,大幅提升了檢測(cè)速度。該模型主要由特征提取模塊BackBone、特征融合模塊Neck 和檢測(cè)目標(biāo)輸出模塊Head 三部分組成。Backbone 模塊使用基于殘差網(wǎng)絡(luò)的Darknet53 作為特征提取主干網(wǎng)絡(luò)。Neck 模塊使用金字塔結(jié)構(gòu)將不同特征提取階段的輸出進(jìn)行拼接,實(shí)現(xiàn)了多層次特征信息的有效整合,并將融合特征圖輸入到Head 模塊,最終得到3 種不同尺度特征預(yù)測(cè)圖像中的目標(biāo)類別、位置和置信度。在預(yù)測(cè)網(wǎng)絡(luò)中將輸出特征圖劃分為S×S網(wǎng)格,每一個(gè)網(wǎng)格預(yù)測(cè)B個(gè)錨定框,每一個(gè)錨定框的置信度Con為:
如果當(dāng)前網(wǎng)格包含目標(biāo)中心,即Pr(Obj)=1,那么:
當(dāng)前網(wǎng)格包含的物體屬于某一類別的條件概率為Pr(classi|Obj),那么包含特定類別物體的概率為條件概率與置信度的乘積:
YOLOv3 通過引入了空間金字塔拓?fù)浣Y(jié)構(gòu)有效地融合特征提取過程中不同層次的輸出結(jié)果,增強(qiáng)了對(duì)于圖像的細(xì)節(jié)信息和全局信息的理解,但仍存在少量目標(biāo)漏檢現(xiàn)象[20]。這是由于在YOLOv3 的主干特征網(wǎng)絡(luò)當(dāng)中隨著特征層數(shù)的加深,卷積操作使得特征層上的感受野不斷增大,導(dǎo)致部分缺陷檢測(cè)丟失。另外,在預(yù)測(cè)網(wǎng)絡(luò)當(dāng)中并未選擇性地聚合來自各層級(jí)的特征,大量冗余特征的存在將導(dǎo)致網(wǎng)絡(luò)預(yù)測(cè)效果下降。因此,在YOLOv3 模型結(jié)構(gòu)中作出兩點(diǎn)改進(jìn):在主干特征提取網(wǎng)絡(luò)當(dāng)中加入改進(jìn)ASPP 模塊;在預(yù)測(cè)網(wǎng)絡(luò)中的3個(gè)預(yù)測(cè)分支加入對(duì)偶注意力模塊(Dual Attention),提出了AA-YOLOv3 模型,如圖4 所示。
圖4 AA-YOLOv3模型結(jié)構(gòu)Fig.4 Architecture of AA-YOLOv3 model
Darknet53 主干特征提取網(wǎng)絡(luò)中,將改進(jìn)ASPP 模塊分別置于每一部分殘差模塊的最前端,增加特征提取網(wǎng)絡(luò)感受野的靈活性,從而改善小目標(biāo)物體的檢測(cè)能力缺失的問題。如圖5 所示,改進(jìn)空洞空間金字塔池化結(jié)構(gòu)包含兩部分:第一部分由多擴(kuò)張率空洞卷積和最大池化組成;第二部分針對(duì)原有ASPP 模塊,對(duì)輸入特征圖增加了最大池化分支以及1×1卷積部分的同時(shí)添加了殘差連接操作,以提取更加豐富的特征信息。
圖5 改進(jìn)空洞空間金字塔池化模塊Fig.5 Module of improved ASPP
相較于普通卷積需要降采樣增加感受野,空洞卷積在保持空間分辨率的前提下增大了特征圖的感受野,有效解決了由于空間分辨率降低導(dǎo)致的信息丟失問題;同時(shí),通過設(shè)置不同的空洞卷積擴(kuò)張率,可以動(dòng)態(tài)捕獲多尺度上下文信息,有利于強(qiáng)化視覺檢測(cè)任務(wù)中的小目標(biāo)特征提取能力。ASPP模塊分別加入擴(kuò)張率為1、3 和5 的空洞卷積,通過并行的空洞卷積操作和特征融合組成空洞空間金字塔池化結(jié)構(gòu)。空洞卷積在普通卷積的基礎(chǔ)上加入擴(kuò)張率參數(shù)d用來表示空洞數(shù)。普通卷積的擴(kuò)張率默認(rèn)為1,空洞卷積的卷積核根據(jù)設(shè)定的擴(kuò)張率進(jìn)行膨脹。設(shè)空洞卷積的卷積核大小為k,擴(kuò)張率為d,則空洞卷積等效的卷積核大小k*計(jì)算式為:
改進(jìn)的空洞空間金字塔池化利用不同擴(kuò)張率的空洞卷積以及最大池化操作,得到基于多種感受野的特征圖,從多尺度角度進(jìn)行特征提取和學(xué)習(xí)訓(xùn)練,同時(shí)通過殘差分支使模型在不丟失輸入特征圖的基礎(chǔ)上聚集高層語義信息,提升了型鋼表面多尺度缺陷的檢測(cè)性能。
由于卷積操作會(huì)受到局部感受野的限制,在特征提取過程當(dāng)中缺少了全局信息的聚合過程,導(dǎo)致缺陷識(shí)別準(zhǔn)確率下降。因此,引入具有全局上下文信息探索能力的對(duì)偶注意力模塊(Dual Attention)[21],分別在空間與通道兩個(gè)層面上自適應(yīng)地聚合長(zhǎng)距離信息,增強(qiáng)網(wǎng)絡(luò)的特征表達(dá)能力,從而提升缺陷檢測(cè)效果,如圖6 所示。
在空間長(zhǎng)距離注意力部分,通過獲取特征圖中任意兩個(gè)位置的特征相似性計(jì)算特征權(quán)重掩膜。具體地,輸入特征圖I(I∈RC×H×W)經(jīng)過3 個(gè)并行1×1 卷積分別得到特征嵌入后結(jié)果Q1(Query)、K1(Key)、V1(Value),大小均為m×H×W。
Q1和K1分別經(jīng)過矩陣重塑、矩陣相乘與權(quán)重歸一化操作之后得到空間位置特征掩膜S,并與經(jīng)過矩陣重塑后的V1進(jìn)行相乘并重塑,最終經(jīng)過1×1 卷積與恒等映射連接,得到空間注意力選擇后輸出特征Op∈RC×H×W。上述過程計(jì)算式為:
其中:Sji為空間位置i對(duì)于j的關(guān)聯(lián)性值;OP為空間長(zhǎng)距離注意力部分的輸出特征;Vj為原位置j的自身特征值。通道注意力部分屬于無參數(shù)注意力掩膜生成過程,其結(jié)構(gòu)如圖6(b)所示。相同的輸入特征分別作為K2、Q2經(jīng)過特征矩陣重塑與矩陣相乘操作后,得到通道注意力掩膜C∈RC×C,最終與V矩陣相乘輸出通道特征選擇后的Oc,計(jì)算式表達(dá)如下:
其中:Cji是位于通道索引i的特征對(duì)于j的關(guān)聯(lián)性值,空間長(zhǎng)距離注意力部分的輸出特征為Oc(Oc∈RC×H×W)。
Dual Attention 分別被嵌入在AA-YOLOv3 的3 個(gè)預(yù)測(cè)分支中,輸入輸出特征圖尺寸保持不變,即C×H×W分別為27 × 52 × 52、27 × 26 × 26 和27 × 13 × 13。如圖6 所示,由于空間長(zhǎng)距離注意力模塊的1 × 1 卷積操作將占據(jù)大量的內(nèi)存訪問,因此特征嵌入后的Q1、K1和V1的通道數(shù)m為3;而Q2、K2和V2則不需要進(jìn)行特征嵌入操作,因此在矩陣重塑之前與輸入尺寸相同為C×H×W。
圖6 對(duì)偶注意力模塊Fig.6 Module of dual attention
型鋼表面數(shù)據(jù)集共有1 600 張型鋼表面圖像,分為有缺陷類型和無缺陷類型。本文所用型鋼表面缺陷數(shù)據(jù)集包含結(jié)疤、剝落、劃傷和擊傷四種缺陷類型用于訓(xùn)練缺陷檢測(cè)模型,每類缺陷200 張,共計(jì)800 張缺陷圖像,均為1 024 像素×1 024 像素的BMP 格式單通道灰度圖。另外,為了與現(xiàn)場(chǎng)缺陷數(shù)據(jù)分布相同,數(shù)據(jù)集包含800 張無缺陷表面圖像,用于訓(xùn)練預(yù)分類模型。
2.2.1 預(yù)檢網(wǎng)絡(luò)損失函數(shù)
預(yù)檢網(wǎng)絡(luò)訓(xùn)練時(shí),本文采用了具有權(quán)值的二值交叉熵函數(shù)(Binary Cross Entropy Loss,BCELoss)作為損失函數(shù):
其中:xi和yi表示訓(xùn)練集的數(shù)據(jù)與標(biāo)注;f(·)表示預(yù)分類模型分類函數(shù);ω1和ω2分別為關(guān)于有缺陷和無缺陷兩種類別的損失函數(shù)權(quán)重,具體數(shù)值與訓(xùn)練策略在2.3 節(jié)展開介紹。
2.2.2 精檢網(wǎng)絡(luò)損失函數(shù)
精簡(jiǎn)網(wǎng)絡(luò)訓(xùn)練過程中,損失函數(shù)分為三部分:Ecoord表示坐標(biāo)誤差,Econ表示目標(biāo)置信度誤差,Ecls表示分類誤差。
坐標(biāo)誤差Ecoord采用均方誤差(Mean Square Error,MSE)損失函數(shù),具體計(jì)算過程為:
模型訓(xùn)練過程將型鋼表面數(shù)據(jù)集通過圖像垂直翻轉(zhuǎn)、水平翻轉(zhuǎn)、旋轉(zhuǎn)、隨機(jī)填充等方式將樣本量擴(kuò)充10 倍。在預(yù)檢模型訓(xùn)練過程當(dāng)中,采用所有型鋼表面數(shù)據(jù)集圖像,學(xué)習(xí)率設(shè)置為0.000 1,二值交叉熵?fù)p失函數(shù)中的正負(fù)樣本權(quán)重比值為10∶1,使用隨機(jī)梯度下降算法(Stochastic Gradient Descent,SGD)優(yōu)化。在精檢模型的訓(xùn)練過程中僅使用缺陷圖像,數(shù)據(jù)集按照7∶2∶1 的比例被劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。特別地,為了模擬在工業(yè)生產(chǎn)過程中的實(shí)際情況,本文在總體表現(xiàn)的測(cè)試過程中,將無缺陷圖像和有缺陷圖像數(shù)量比例設(shè)為14∶1。實(shí)驗(yàn)采用批次迭代訓(xùn)練法,訓(xùn)練批大小設(shè)置為32,迭代次數(shù)設(shè)置為100,動(dòng)量設(shè)置為0.9,權(quán)重衰減率為0.000 2,學(xué)習(xí)率設(shè)置為0.001,使用SGD 算法優(yōu)化。實(shí)驗(yàn)在PC 上進(jìn)行,使用Intel Xeon Silver 4110 CPU,2080Ti GPU。預(yù)檢模型迭代損失曲線如圖7(a)所示,精檢模型迭代損失曲線如圖7(b)所示。預(yù)分類模型和精檢模型在訓(xùn)練前期損失均快速下降,預(yù)檢模型在迭代100 次以后趨于穩(wěn)定,精檢模型在迭代300 次以后趨于穩(wěn)定。
圖7 損失函數(shù)迭代過程Fig.7 Loss function iteration process
在預(yù)檢網(wǎng)絡(luò)的驗(yàn)證結(jié)果中,本文使用了二分類模型的分類精確率以及有缺陷圖像的召回率作為預(yù)檢模型的評(píng)價(jià)指標(biāo)。在缺陷檢測(cè)的實(shí)驗(yàn)結(jié)果驗(yàn)證中選用多類別平均精度(mean Average Precision,mAP)和每秒幀數(shù)(Frames Per Second,F(xiàn)PS)作為模型評(píng)價(jià)指標(biāo)。mAP 為模型檢測(cè)精度評(píng)價(jià)指標(biāo),表示所有缺陷類別的平均預(yù)測(cè)效果。單類別的評(píng)價(jià)指標(biāo)AP 為該類別的PR 曲線下面積。召回率(Recall,R)和精度(Precision,P)的計(jì)算中,設(shè)置IOU 閾值為0.5,計(jì)算式如下:
mAP 的計(jì)算式為所有類別AP 值的平均:
FPS 表示每秒可以完成缺陷檢測(cè)的圖像幀數(shù),為模型檢測(cè)速度評(píng)價(jià)指標(biāo),計(jì)算式如下:
式中Tavg表示處理一張圖像的平均時(shí)間,單位為秒(s)。
SDNet 算法的核心思想就是通過預(yù)檢模型將占比更高的無缺陷圖像通過預(yù)分類的方式剔除,避免無效運(yùn)算。因此,預(yù)檢模型的分類精確率以及正樣本召回率對(duì)于模型整體檢測(cè)效果至關(guān)重要,只有預(yù)檢模型擁有足夠高的召回率和良好的分類效果,表面缺陷算法SDNet 才能有較好的檢測(cè)效果。為了觀察本文所提出的DSC-ResNet 的分類效果,采用了圖像分類中的常用深度學(xué)習(xí)模型進(jìn)行對(duì)比,分別包括ResNet18、VGGNet[22]、DenseNet[23]和MobileNet[24]。如表1 所示為在相同驗(yàn)證集下5 種模型的分類準(zhǔn)確率和針對(duì)有缺陷圖像的召回率。
表1 不同預(yù)分類模型的性能 單位:%Tab.1 Performance of different pre-classification models unit:%
ResNet18 模型在分類效果上與DSC-ResNet 相差較大:ResNet18 網(wǎng)絡(luò)漏檢率(漏檢率=1-召回率)為5.74%,分類準(zhǔn)確率為94.25%,同等條件下的DSC-ResNet 網(wǎng)絡(luò)漏檢率為1.09%,分類準(zhǔn)確率達(dá)到97.63%,明顯高于原模型。采用了28 層卷積神經(jīng)網(wǎng)絡(luò)的MobileNet 同樣使用了深度可分離卷積,然而MobileNet 在型鋼表面數(shù)據(jù)集上的分類正確率只有92.35%,漏檢率為4.98%,相較于DSC-ResNet,分類正確率下降了5.28 個(gè)百分點(diǎn),說明本文改進(jìn)的ResBlock 中多尺度并行卷積操作對(duì)DSC-ResNet 整體分類效果有著顯著的提升。同樣地,與VGGNet 和DenseNet 相比,DSC-ResNet 也具有明顯的優(yōu)勢(shì)。
3.2.1 消融實(shí)驗(yàn)
為分析AA-YOLOv3 檢測(cè)算法中各改進(jìn)方法對(duì)型鋼表面缺陷檢測(cè)結(jié)果的影響,本文設(shè)計(jì)消融實(shí)驗(yàn)來評(píng)估對(duì)應(yīng)改進(jìn)部分的檢測(cè)效果。具體實(shí)驗(yàn)內(nèi)容以及檢測(cè)結(jié)果如表2 所示。其中,“√”表示使用了對(duì)應(yīng)方法。
表2 AA-YOLOv3檢測(cè)算法消融實(shí)驗(yàn)結(jié)果Tab.2 Ablation experimental results of AA-YOLOv3 detection algorithm
算法1(YOLOv3+ASPP)的主要改進(jìn)在于缺陷檢測(cè)網(wǎng)絡(luò)的主干特征提取網(wǎng)絡(luò)中,通過改進(jìn)空洞空間金字塔卷積操作有效地保持了特征提取過程中感受野的大小,且提供了更加豐富的特征表示,從而解決了缺陷檢測(cè)網(wǎng)絡(luò)中尺寸不變性的問題。因此,相較于原YOLOv3 檢測(cè)算法,算法1 的平均檢測(cè)精度提高了4.5 個(gè)百分點(diǎn),表明了空洞空間金字塔的有效性。算法2(YOLOv3+Dual Attention)中,對(duì)偶注意力模塊主要作用于YOLOv3 預(yù)測(cè)網(wǎng)絡(luò)當(dāng)中的3 個(gè)預(yù)測(cè)分支,增加缺陷位置的特征權(quán)重以及抑制背景位置的特征權(quán)重,進(jìn)而提高缺陷檢測(cè)效果,其平均檢測(cè)精度相較于原YOLOv3 算法提高了11.2 個(gè)百分點(diǎn),同時(shí)檢測(cè)速度FPS 降低至22.88。綜合考慮上述改進(jìn)方法,本文所提出的AA-YOLOv3 在型鋼缺陷檢測(cè)任務(wù)上表現(xiàn)最好,相較于原YOLOv3 算法檢測(cè)精度提升了13.4 個(gè)百分點(diǎn),同時(shí),檢測(cè)速度19.51 FPS 仍然可以滿足檢測(cè)要求。
3.2.2 橫向?qū)Ρ?/p>
為驗(yàn)證本文所提出的AA-YOLOv3 檢測(cè)算法的有效性,將缺陷檢測(cè)中常用的深度學(xué)習(xí)算法進(jìn)行橫向?qū)Ρ?,包括兩階段檢測(cè)算法Faster R-CNN 和單階段檢測(cè)算法SSD[25]、YOLOv3、YOLOv5-s。圖8 為5 種檢測(cè)模型在部分缺陷圖像中的檢測(cè)效果。
圖8 5種模型的檢測(cè)效果對(duì)比Fig.8 Detection effects comparion of five models
表3 為不同模型檢測(cè)效果的橫向?qū)Ρ?,與SSD 和Faster R-CNN 兩種模型相比,YOLO 系列模型取得了相對(duì)較高的檢測(cè)準(zhǔn)確率。YOLOv3 模型在YOLO 系列模型中的檢測(cè)效果最差,mAP 值為81.7%,但仍比SSD 提高了11.1 個(gè)百分點(diǎn),比Faster R-CNN 僅低4.5 個(gè)百分點(diǎn)。AA-YOLOv3 的平均檢測(cè)精度為95.1%,與YOLOv5-s 模型90.4%的準(zhǔn)確率相比提升了4.7 個(gè)百分點(diǎn),主要因?yàn)楦倪M(jìn)的ASPP 與Dual Attention 使得YOLOv3 模型檢測(cè)能力提升,從而提高了其在整體數(shù)據(jù)集上的缺陷檢測(cè)準(zhǔn)確率。
表3 不同模型的橫向?qū)Ρ?單位:%Tab.3 Horizontal comparison of different models unit:%
通過分析不同模型針對(duì)單一類型缺陷的檢測(cè)性能,驗(yàn)證各類缺陷的檢測(cè)特異性。圖9 所示為上述五種檢測(cè)模型在四種缺陷類型上的PR 曲線??梢园l(fā)現(xiàn),由于缺陷圖像的自身特征表達(dá)的不同,導(dǎo)致上述五種模型均對(duì)不同類型缺陷的檢測(cè)結(jié)果有明顯差別,對(duì)于剝落和劃傷兩種缺陷整體檢測(cè)效果更好,準(zhǔn)確率更高,而對(duì)于結(jié)疤和擊傷缺陷檢測(cè)準(zhǔn)確率則顯著下降。但AA-YOLOv3 缺陷檢測(cè)模型在四種缺陷類型上的檢測(cè)效果上均優(yōu)于其他缺陷檢測(cè)模型,進(jìn)一步表明了AAYOLOv3 的優(yōu)越性。
圖9 不同檢測(cè)模型的四類缺陷PR曲線Fig.9 PR curves of four types of defects of different detection models
為進(jìn)一步分析該缺陷檢測(cè)方法的有效性,本文通過改變測(cè)試集中缺陷圖像占比,并以FPS 為衡量指標(biāo)進(jìn)行了充分的實(shí)驗(yàn)分析,結(jié)果如圖10 所示。該實(shí)驗(yàn)在測(cè)試集圖像數(shù)量保持不變的情況下改變?nèi)毕輬D像占比,在不同比例的情況下分別進(jìn)行了5 次實(shí)驗(yàn),并將平均值標(biāo)記為三角形,同時(shí)上下帶狀區(qū)域表示95%置信區(qū)間。該缺陷檢測(cè)方法的FPS 隨著比例增大而增大,同時(shí)上升速度減小,逐漸逼近極限檢測(cè)速度??梢?,該方法有效地解決了因缺陷圖像小概率發(fā)生事件的偶發(fā)性而導(dǎo)致的有效檢測(cè)速度被嚴(yán)重拖慢的問題。
圖10 不同缺陷圖像占比下的檢測(cè)速度Fig.10 Detection speed under different defect image ratio
為準(zhǔn)確衡量所提出SDNet 模型的檢測(cè)性能,使用3.2 節(jié)中的五種檢測(cè)模型(Faster R-CNN、SSD、YOLOv3、YOLOv5-s、SDNet)進(jìn)行橫向?qū)Ρ葘?shí)驗(yàn)。其中,檢測(cè)速度直接決定其能否滿足實(shí)時(shí)性要求,是本文所提出SDNet 檢測(cè)模型要解決的核心問題;檢測(cè)精度由mAP 指標(biāo)衡量,決定模型能否準(zhǔn)確識(shí)別并檢測(cè)到缺陷。5 種檢測(cè)模型在測(cè)試集上的實(shí)驗(yàn)結(jié)果如表4所示,測(cè)試集中無缺陷圖像和有缺陷圖像的比例設(shè)為14∶1。
表4 不同模型的檢測(cè)速度對(duì)比Tab.4 Comparison of detection speed of different models
SDNet 模型檢測(cè)速度達(dá)到了120.63 FPS,為原YOLOv3模型檢測(cè)速度的3.7 倍,與兩階段目標(biāo)檢測(cè)算法Faster RCNN 相比提升了約5.4 倍,同樣相較于SSD 和YOLOv5-s 也有著顯著的提升,主要原因是本文模型為了模擬實(shí)際生產(chǎn)情況,驗(yàn)證集中主要由無缺陷圖像和少量的有缺陷圖像組成,無缺陷圖像經(jīng)過預(yù)分類模型之后已被排除,節(jié)省了大量的計(jì)算時(shí)間??梢?,在相同的情況下,本文所提出的級(jí)聯(lián)式型鋼表面缺陷檢測(cè)算法具有非常大的優(yōu)勢(shì)。
針對(duì)型鋼生產(chǎn)過程中無缺陷圖像檢測(cè)過程造成的大量冗余計(jì)算問題,本文結(jié)合了缺陷分類的快速性和目標(biāo)檢測(cè)的精準(zhǔn)定位特性,提出了級(jí)聯(lián)式缺陷檢測(cè)模型SDNet。通過預(yù)檢測(cè)網(wǎng)絡(luò)首先判斷實(shí)時(shí)產(chǎn)生的圖像數(shù)據(jù)當(dāng)中是否存在缺陷,將篩選出的有缺陷圖像再次送入缺陷檢測(cè)模型進(jìn)一步檢測(cè),大幅提高了缺陷檢測(cè)模型的檢測(cè)效率。另外,使用了深度可分離卷積和多尺度并行卷積擴(kuò)展了網(wǎng)絡(luò)模型寬度,提高了缺陷預(yù)分類網(wǎng)絡(luò)的分類準(zhǔn)確率;同時(shí),使用了改進(jìn)空洞空間金字塔池化結(jié)構(gòu)與對(duì)偶注意力模塊,改善了YOLOv3 模型對(duì)缺陷的特征提取能力,提高了檢測(cè)精度。實(shí)驗(yàn)結(jié)果表明,所提模型對(duì)剝落、劃傷、擊傷和結(jié)疤四種缺陷的平均檢測(cè)速度達(dá)到了120.63 FPS,與原始YOLOv3 模型和Faster-RCNN 等模型相比,檢測(cè)速度提升了2~5 倍,滿足了檢測(cè)實(shí)時(shí)性要求;對(duì)剝落、劃傷、擊傷和結(jié)疤四種缺陷的平均檢測(cè)準(zhǔn)確率達(dá)到了92.9%,滿足快速檢測(cè)的要求。后續(xù)可對(duì)該級(jí)聯(lián)缺陷檢測(cè)模型進(jìn)一步優(yōu)化,采用更合理的權(quán)重分配使得先分類后檢測(cè)的策略能夠在有效降低漏檢率的同時(shí)提高檢測(cè)速度,廣泛應(yīng)用至型鋼、鋼軌等表面缺陷檢測(cè)領(lǐng)域中。