劉亞姣,于海濤*,王江,于利峰,張春暉
(1.天津大學(xué)電氣自動(dòng)化與信息工程學(xué)院,天津 300072;2.河北津西鋼鐵集團(tuán)股份有限公司,河北唐山 064302)
型鋼是基礎(chǔ)設(shè)施建設(shè)中的重要鋼材,廣泛應(yīng)用于工業(yè)建筑的鋼結(jié)構(gòu)及橋梁、海洋采油平臺(tái)、輸電線路等領(lǐng)域。在型鋼生產(chǎn)過(guò)程中,由于生產(chǎn)工藝和現(xiàn)場(chǎng)條件的復(fù)雜性,型鋼表面存在多種類(lèi)型的缺陷,一般表現(xiàn)為剝落、結(jié)疤、劃傷和擊傷等。這些表面缺陷嚴(yán)重影響了型鋼的質(zhì)量,造成產(chǎn)品使用壽命的降低甚至引發(fā)安全事故。因此,型鋼表面的缺陷檢測(cè)是型鋼生產(chǎn)過(guò)程中的重要環(huán)節(jié)[1-2]。
傳統(tǒng)鋼材表面缺陷檢測(cè)包括人工檢測(cè)、渦流檢測(cè)、漏磁檢測(cè)、紅外檢測(cè)及超聲波檢測(cè)技術(shù)[3]。人工檢測(cè)容易出現(xiàn)缺陷漏檢等弊端,耗時(shí)耗力。而渦流漏磁等檢測(cè)技術(shù)受型鋼表面狀態(tài)及環(huán)境因素的影響較大,且檢測(cè)速度較慢,難以滿足高速、高質(zhì)量型鋼表面缺陷檢測(cè)的需要。
近幾年來(lái),深度學(xué)習(xí)發(fā)展迅速,基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)算法因其強(qiáng)大的特征表達(dá)優(yōu)勢(shì)和建模能力,已成為表面缺陷檢測(cè)的有效手段[4]。目前,基于卷積神經(jīng)網(wǎng)絡(luò)的缺陷檢測(cè)算法從結(jié)構(gòu)上一般可劃分為以Faster R-CNN(Faster Region-based Convolutional Neural Network)[5]為代表的兩階段算法和以YOLO(You Only Look Once)[6]為代表的一階段算法。YOLO 系列相較于Faster R-CNN 二階段算法利用了回歸的思想,使用一階段網(wǎng)絡(luò)直接完成分類(lèi)與位置定位兩個(gè)任務(wù),速度較快,因此在實(shí)時(shí)檢測(cè)系統(tǒng)中應(yīng)用廣泛:文獻(xiàn)[7]將高實(shí)時(shí)性YOLOv3[8]算法應(yīng)用于路面破損的檢測(cè)和分類(lèi)中,識(shí)別率達(dá)到73.64%,單張?zhí)幚頃r(shí)間僅0.034 s;文獻(xiàn)[9]利用YOLOv3 算法實(shí)現(xiàn)了鋼軌表面的缺陷檢測(cè),識(shí)別率達(dá)到97%,識(shí)別時(shí)間約為0.15 s,具有良好的適用性;文獻(xiàn)[10]在YOLOv3 基礎(chǔ)上提出一種檢測(cè)冰箱金屬表面缺陷的Metal-YOLOv3 算法,通過(guò)優(yōu)化損失函數(shù)和選取合適的先驗(yàn)框提升檢測(cè)精度;文獻(xiàn)[11]采用極限學(xué)習(xí)機(jī)算法作為目標(biāo)檢測(cè)的特征提取網(wǎng)絡(luò),提出一種Faster-YOLO 目標(biāo)檢測(cè)算法,檢測(cè)速度較YOLOv3 模型提高2 倍。上述研究在YOLO 算法的應(yīng)用拓展、檢測(cè)效率提高等方面做了許多工作,驗(yàn)證了該算法在實(shí)時(shí)缺陷檢測(cè)領(lǐng)域的有效性,但采用YOLO 算法存在無(wú)法同時(shí)檢測(cè)出全部缺陷目標(biāo),難以檢測(cè)相對(duì)集中且較小的缺陷目標(biāo),難以保存小缺陷目標(biāo)特征等問(wèn)題[12-13]。
而型鋼表面缺陷具有形態(tài)多樣、微小缺陷較多的特點(diǎn)。因此,本文選擇兼顧檢測(cè)速度與精度的YOLOv3 算法作為基礎(chǔ)框架,針對(duì)型鋼表面缺陷檢測(cè)的具體特點(diǎn)進(jìn)行改進(jìn),提出了Steel-YOLOv3 檢測(cè)算法,在實(shí)現(xiàn)型鋼表面缺陷的實(shí)時(shí)在線檢測(cè)基礎(chǔ)上,解決由于型鋼缺陷形態(tài)各異且微小缺陷眾多造成的檢測(cè)難題。該算法能夠?qū)崿F(xiàn)對(duì)型鋼表面缺陷的精確檢測(cè),可實(shí)際應(yīng)用于型鋼生產(chǎn)過(guò)程。
本文的主要工作如下:
1)針對(duì)型鋼表面缺陷設(shè)計(jì)了Steel-YOLOv3 檢測(cè)算法,算法檢測(cè)性能好,實(shí)用性強(qiáng);
2)提出多尺度-密集特征金字塔網(wǎng)絡(luò)(Multi-scale Dense Feature Pyramid Network,M-DFPN)框架,增強(qiáng)對(duì)多尺寸,尤其是密集微小尺寸缺陷的檢測(cè)能力。
作為當(dāng)前主流的目標(biāo)檢測(cè)算法,YOLOv3 算法采用由5個(gè)殘差模塊組成的Darknet53 網(wǎng)絡(luò)[14]作為特征提取主干網(wǎng)絡(luò),每個(gè)殘差模塊由多個(gè)小殘差單元順序連接。每個(gè)殘差單元包括2 個(gè)CBL(Conv+BN+Leaky ReLU)模塊和1 條殘差邊,殘差邊的引入有效解決了由于網(wǎng)絡(luò)加深造成的梯度消失問(wèn)題。每個(gè)CBL 模塊包括卷積層(Convolution)、批處理歸一化(Batch Normalization,BN)層和帶泄露線性整流函數(shù)(Leaky Rectified Linear Unit,Leaky ReLU)3 個(gè)組件,各組件之間組合為殘差連接方式。特征提取網(wǎng)絡(luò)共產(chǎn)生3 種不同尺度的特征圖,YOLOv3 算法為每種尺度設(shè)定3 個(gè)先驗(yàn)框,經(jīng)聚類(lèi)算法優(yōu)化后共得到9 種不同尺度的先驗(yàn)框。其中,在尺寸為13×13 的特征圖上采用(116,90),(156,198),(373,326)先驗(yàn)框,感受野最大,適合檢測(cè)大尺度缺陷;尺寸為26×26 的特征圖采用(30,61),(62,45),(59,119)先驗(yàn)框,具有中等尺度的感受野,適合檢測(cè)中等大小的缺陷;尺寸為52×52 的特征圖采用(10,13),(16,30),(33,23)先驗(yàn)框,感受野最小,適合檢測(cè)圖像中小尺寸的缺陷。在整個(gè)網(wǎng)絡(luò)的中間部分,YOLOv3 通過(guò)上采樣和特征圖堆疊,構(gòu)造類(lèi)似特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)結(jié)構(gòu)[15]融合大中小3 個(gè)尺度的特征圖信息,進(jìn)行多尺度預(yù)測(cè),加強(qiáng)缺陷檢測(cè)能力。
YOLOv3 將缺陷定位和分類(lèi)集成在單一階段的神經(jīng)網(wǎng)絡(luò)中,輸入圖像經(jīng)過(guò)一次推斷,便能同時(shí)得到圖像中所有缺陷的位置和其所屬類(lèi)別,極大提升了檢測(cè)的速度,也導(dǎo)致了檢測(cè)精度較低的問(wèn)題,尤其是在檢測(cè)形變較大缺陷和微小密集缺陷上。
首先,雖然YOLOv3 使用了特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行多尺度檢測(cè),有效提高了對(duì)缺陷的檢測(cè)能力,但同一特征圖上的特征點(diǎn)具有相同的感受野,對(duì)形變較大的缺陷提取的特征容易受到背景區(qū)域的干擾,導(dǎo)致檢測(cè)邊界框的定位不準(zhǔn),同時(shí)背景干擾也會(huì)導(dǎo)致小缺陷檢測(cè)精度不高。其次,YOLOv3只有3 個(gè)尺度的特征圖,且深層特征圖和淺層特征圖之間僅采用自下而上的單一連接融合不同級(jí)別的特征信息,存在對(duì)淺層位置特征信息融合不足的問(wèn)題,造成微小缺陷的漏檢。最后,YOLOv3 算法的訓(xùn)練與測(cè)試采用COCO(Common Objects in COntext)和VOC(Visual Object Classes)數(shù)據(jù)集[8],數(shù)據(jù)集中目標(biāo)種類(lèi)多,引入先驗(yàn)框的值具有一定的適用性,并不專門(mén)針對(duì)型鋼表面缺陷設(shè)計(jì),易造成缺陷漏檢及檢測(cè)定位不準(zhǔn)確的問(wèn)題。
針對(duì)以上問(wèn)題,本文在高實(shí)時(shí)性缺陷檢測(cè)算法YOLOv3的基礎(chǔ)上,結(jié)合型鋼形態(tài)多樣、微小缺陷較多的特點(diǎn),分別從調(diào)整單層特征圖感受野大小,構(gòu)造小尺度特征層并跨層密集融合多層特征圖、選擇合適的先驗(yàn)框3 個(gè)方面,對(duì)YOLOv3 算法進(jìn)行改進(jìn),以提高對(duì)型鋼表面缺陷的檢測(cè)精度。
綜合考慮型鋼表面缺陷檢測(cè)算法對(duì)速度與精度的要求,本文設(shè)計(jì)了Steel-YOLOv3 檢測(cè)算法,算法結(jié)構(gòu)如圖1 所示。具體地,在原YOLOv3 特征提取主干網(wǎng)絡(luò)Darknet53 和FPN 基礎(chǔ)上,通過(guò)增加可變形卷積網(wǎng)絡(luò)(Deformable Convolutional Network,DCN)(圖1(a)),設(shè)計(jì)多尺度-密集特征金字塔(MDFPN)網(wǎng)格框架(圖1(b))和優(yōu)化先驗(yàn)框構(gòu)建Steel-YOLOv3檢測(cè)算法。為清晰地展示算法的具體結(jié)構(gòu),一些常規(guī)操作以模塊形式展現(xiàn)。
Steel-YOLOv3 算法仍采用基于殘差網(wǎng)絡(luò)的Darknet53 作為主干網(wǎng)絡(luò),該網(wǎng)絡(luò)默認(rèn)要求輸入圖像的尺寸為416×416,整個(gè)主干網(wǎng)絡(luò)共使用5 個(gè)殘差模塊,將后4 個(gè)殘差模塊的輸出特征圖104×104、52×52、26×26 和13×13 作為檢測(cè)算法的4個(gè)特征尺度,全面獲取型鋼表面缺陷的不同尺寸信息。同時(shí),每個(gè)尺度的輸出層前,使用可變形卷積代替原Darknet53網(wǎng)絡(luò)中殘差模塊最后一個(gè)殘差單元的卷積層,提取不同缺陷形狀的特征。接著,在FPN 中,構(gòu)建M-DFPN,實(shí)現(xiàn)不同層級(jí)特征圖之間的密集連接,使淺層特征圖匯聚更多特征信息。最后,在算法訓(xùn)練階段,采用K-means 維度聚類(lèi)方法對(duì)缺陷邊界框進(jìn)行聚類(lèi),重新設(shè)計(jì)先驗(yàn)框尺寸,形成適用于型鋼缺陷檢測(cè)的先驗(yàn)框。
圖1 Steel-YOLOv3檢測(cè)算法的整體框架Fig.1 Overall framework of Steel-YOLOV3 detection algorithm
型鋼表面缺陷形態(tài)各不相同,僅通過(guò)大量數(shù)據(jù)使YOLOv3 算法的常規(guī)卷積網(wǎng)絡(luò)完全提取缺陷的多樣變化較為困難:常規(guī)卷積網(wǎng)絡(luò)采用的是方塊卷積,規(guī)則的采樣點(diǎn)限制了其幾何變換建模的能力,只能以固定形狀和大小的窗口進(jìn)行掃描。而可變形卷積核[16]的各元素均有一個(gè)可學(xué)習(xí)的參數(shù)偏置量,使可變形卷積的采樣點(diǎn)可以根據(jù)特征圖進(jìn)行自適應(yīng)調(diào)整,感受野可以隨物體的形狀和尺寸的不同而改變。因此,本文采用基于可變形卷積的特征提取網(wǎng)絡(luò)自適應(yīng)地“記憶”缺陷的形狀和位置特征,增強(qiáng)對(duì)形狀變化較大的型鋼表面缺陷的檢測(cè)能力,如圖1(a)所示。具體地,基于可變形卷積構(gòu)建Res-DCN 單元,并使用Res-DCN 單元代替Darknet53每個(gè)尺度輸出層前的最后1 個(gè)殘差單元(Res-Unit)。Res-DCN 單元包括2 個(gè)DCBL(Deformable Conv+BN+Leaky ReLU)模塊和1 條殘差邊,其中,DCBL 模塊是由1 個(gè)可變形卷積(Deformable Conv)、1 個(gè)BN層和1 個(gè)激活函數(shù)層(Leaky ReLU)組成。通過(guò)構(gòu)建的Res-DCN 單元,實(shí)現(xiàn)了對(duì)各個(gè)尺度上不同形態(tài)特征的自適應(yīng)提取。
常規(guī)卷積分為兩步驟:1)在輸入特征圖上通過(guò)固定尺寸的卷積核進(jìn)行采樣;2)根據(jù)卷積核權(quán)重進(jìn)行計(jì)算采樣,并將計(jì)算結(jié)果相加。將大小為3×3,擴(kuò)張率為1 的卷積核定義為R:
則對(duì)于輸出特征圖上的一個(gè)點(diǎn)p0,常規(guī)卷積可表示為:
其中:w為卷積核權(quán)重;x為輸入特征圖。
可變形卷積在常規(guī)卷積核的每個(gè)采樣點(diǎn)位置上都增加一個(gè)二維偏置量Δpn,同時(shí)對(duì)每個(gè)采樣點(diǎn)預(yù)測(cè)一個(gè)權(quán)重Δmn,實(shí)現(xiàn)流程如圖2 所示。此時(shí),對(duì)于輸出特征圖上的一個(gè)點(diǎn)p0,可變形卷積的計(jì)算過(guò)程如下:
圖2 可變形卷積實(shí)現(xiàn)流程Fig.2 Deformable convolution implementation process
由于偏移量Δpn通常是小數(shù),因此需要通過(guò)雙線性插值計(jì)算x的值:
其中:p表示偏移后的任意位置,即p=p0+pn+Δpn;x(q)為p周?chē)噜徦膫€(gè)整數(shù)坐標(biāo)處的像素值;G(·,·)為四個(gè)整數(shù)坐標(biāo)所對(duì)應(yīng)的權(quán)重。G(·,·)可分為兩個(gè)一維內(nèi)核:
在型鋼表面缺陷中,存在大量的微小尺寸缺陷。YOLOv3 借鑒了FPN 的思想,通過(guò)Darknet53 網(wǎng)絡(luò)輸出尺寸為13×13、26×26、52×52 的3 個(gè)不同尺度的特征圖,在網(wǎng)絡(luò)輸出的后兩個(gè)特征圖上進(jìn)行采樣,與網(wǎng)絡(luò)前期相應(yīng)尺度的特征圖融合成有效信息對(duì)目標(biāo)進(jìn)行預(yù)測(cè)。相較于YOLOv1、v2,YOLOv3 采用多尺度與特征融合的方法提高了對(duì)圖像中不同尺寸目標(biāo)的檢測(cè)精度。而表面缺陷檢測(cè)相較于目標(biāo)檢測(cè),正樣本尺寸更小,僅利用3 個(gè)尺度的特征對(duì)淺層信息的利用并不充分,不利于小尺寸缺陷的檢測(cè)。為更好地提取微小尺寸缺陷信息,本文提出M-DFPN 框架,該網(wǎng)絡(luò)框架可分為2 個(gè)階段,如圖3 所示。
階段1:在YOLOv3 特征提取主干網(wǎng)絡(luò)Darknet53 的第2個(gè)殘差模塊后增加尺寸為104×104 的特征尺度,過(guò)程具體可見(jiàn)圖3(a),使YOLOv3 原有的3 個(gè)尺度擴(kuò)展為4 個(gè)尺度,獲取更淺層的小尺寸缺陷特征;階段2:借鑒Dense Net 思想,將密集連接引入YOLOv3 的FPN 結(jié)構(gòu)中,如圖4 所示,即在階段2對(duì)階段1 輸出的4 個(gè)尺度特征圖進(jìn)行密集連接金字塔特征融合操作,虛線箭頭代表引入的跨層下采樣,實(shí)現(xiàn)第1 層特征圖與第3 層特征圖、第2 層特征圖與第4 層特征圖、第1 層特征圖與第4 層特征圖的跨層特征融合,具體過(guò)程如圖3(b)所示,改進(jìn)后的FPN 可以獲得特征融合加強(qiáng)的淺層輸出,增強(qiáng)對(duì)微小尺寸缺陷的表征能力。
圖3 M-DFPN網(wǎng)絡(luò)框架Fig.3 Framework diagram of M-DFPN
圖4 密集特征金字塔Fig.4 Dense feature pyramid
綜合考慮Steel-YOLOv3 算法檢測(cè)效率和檢測(cè)準(zhǔn)確率的平衡,同時(shí)使先驗(yàn)框數(shù)量均勻分配到4 個(gè)預(yù)測(cè)尺度上,最終選擇產(chǎn)生12 個(gè)先驗(yàn)框,具體的先驗(yàn)框尺寸為[(8,23),(12,31),(10,52),(32,29),(7,166),(18,68),(61,35),(23,164),(11,39),(77,57),(82,94),(34,388)]。
YOLOv3 算法原設(shè)定的先驗(yàn)框尺寸源于COCO 和VOC 數(shù)據(jù)集,主要面向自然界中通用目標(biāo)檢測(cè),并不滿足型鋼表面缺陷檢測(cè)的需求,且不適用于具有4 個(gè)特征尺度的情況。因此,本文針對(duì)型鋼表面缺陷數(shù)據(jù)集和4 個(gè)尺度檢測(cè)層的特點(diǎn),采用K-means 維度聚類(lèi)算法對(duì)缺陷邊界框重新進(jìn)行維度聚類(lèi),計(jì)算不同聚類(lèi)數(shù)下的平均交并比,如圖5 所示,使先驗(yàn)框與缺陷邊界框更匹配,設(shè)計(jì)更具針對(duì)性的先驗(yàn)框參數(shù)。
圖5 聚類(lèi)數(shù)與平均交并比的關(guān)系Fig.5 Relation between number of clusters and average intersection ratio union
為實(shí)現(xiàn)對(duì)型鋼表面缺陷的定位與識(shí)別,Steel-YOLOv3 檢測(cè)算法使用了均方和誤差作為損失函數(shù),該損失函數(shù)由坐標(biāo)誤差、置信度誤差和類(lèi)別誤差三部分組成:
其中:Ecoord表示坐標(biāo)誤差;Econ表示置信度誤差;Ecls表示類(lèi)別誤差。
Ecoord采用均方誤差(Mean Square Error,MSE)損失函數(shù),計(jì)算公式為:
本文所采用的型鋼表面缺陷樣本是在復(fù)雜生產(chǎn)環(huán)境下通過(guò)架設(shè)在某型鋼生產(chǎn)線上的圖像采集裝置獲取的。該數(shù)據(jù)集包含結(jié)疤、剝落、劃傷和擊傷4 種缺陷,每類(lèi)缺陷200 張,共計(jì)800 張缺陷圖像,如圖6 所示:結(jié)疤缺陷寬度尺寸較小,多以弧形呈現(xiàn);剝落缺陷尺寸微小,呈圓形;劃傷缺陷尺寸較大,為細(xì)長(zhǎng)條形;擊傷缺陷尺寸大小不一,形變較多。
圖6 型鋼表面缺陷類(lèi)型Fig.6 Types of surface defects of section steel
由于現(xiàn)場(chǎng)缺陷圖像采集困難,樣本數(shù)量較少,為緩解訓(xùn)練過(guò)程中的過(guò)擬合現(xiàn)象,采用圖像垂直翻轉(zhuǎn)、圖像水平翻轉(zhuǎn)、圖像旋轉(zhuǎn)、隨機(jī)填充與尺度變換等數(shù)據(jù)擴(kuò)充方式將樣本量提升了10 倍。
本實(shí)驗(yàn)使用Intel Xeon Silver 4110 CPU,2080Ti GPU 和64 GB 內(nèi)存。在算法訓(xùn)練過(guò)程中,樣本集按照8∶1∶1 的比例被劃分為訓(xùn)練集、驗(yàn)證集與測(cè)試集。實(shí)驗(yàn)采用批次迭代訓(xùn)練法,批訓(xùn)練大小設(shè)置為8,迭代次數(shù)設(shè)置為50 次,動(dòng)量設(shè)置為0.9,權(quán)重衰減率為0.000 5,學(xué)習(xí)率設(shè)置為0.001,訓(xùn)練時(shí)使用SGD(Stochastic Gradient Descent)優(yōu)化,Steel-YOLOv3 算法的迭代損失曲線如圖7 所示。從圖7 可以看出:算法訓(xùn)練在前10 次迭代中損失下降迅速;在35 次迭代后損失逐漸平穩(wěn);迭代50 次后損失幾乎不再變化,損失曲線已完全收斂。
圖7 訓(xùn)練損失曲線Fig.7 Training loss curve
為評(píng)價(jià)網(wǎng)絡(luò)的檢測(cè)性能并說(shuō)明Steel-YOLOv3 檢測(cè)算法在型鋼表面缺陷檢測(cè)中的有效性,實(shí)驗(yàn)選取平均精度(Average Precision,AP)、平均精度均值(mean Average Precision,mAP)和幀率作為算法評(píng)價(jià)指標(biāo)。
為分析Steel-YOLOv3 檢測(cè)算法中各改進(jìn)方法對(duì)型鋼表面缺陷檢測(cè)結(jié)果的影響,設(shè)計(jì)了消融實(shí)驗(yàn),評(píng)估對(duì)應(yīng)算法的檢測(cè)效果。具體實(shí)驗(yàn)內(nèi)容及檢測(cè)結(jié)果如表1 所示。
1)算法1(YOLOv3+DCN)。在特征提取階段對(duì)每個(gè)尺度的特征圖采用可變形卷積,生成適合缺陷形狀的可變形形狀采樣區(qū)域,以解決不同缺陷類(lèi)型形態(tài)各異的問(wèn)題。從表1 中可以看出:算法1 的各類(lèi)型缺陷檢測(cè)精度均有提升,平均檢測(cè)精度提高了4.30 個(gè)百分點(diǎn),說(shuō)明引入可變形卷積可增強(qiáng)對(duì)不規(guī)則缺陷的提取能力,有效提高算法的性能。
表1 Steel-YOLOv3檢測(cè)算法的消融實(shí)驗(yàn)結(jié)果Tab.1 T Ablation experimental results of Steel-YOLOv3 detection algorithm
2)算法2(YOLOv3+M-DFPN+先驗(yàn)框優(yōu)化)。采用了多尺度-密集特征金字塔網(wǎng)絡(luò),相較YOLOv3 擴(kuò)展了1 個(gè)淺層的特征尺度,并增加了3 個(gè)跨層級(jí)的密集連接,著重解決微小缺陷的漏檢問(wèn)題。此外,為適應(yīng)4 個(gè)特征尺度的情況,在算法訓(xùn)練時(shí)使用了重新設(shè)計(jì)的先驗(yàn)框,與型鋼表面缺陷的尺寸更加匹配,也在一定程度上提升了檢測(cè)精度。算法2 的改進(jìn)使整體檢測(cè)精度提升7.84 個(gè)百分點(diǎn),其中微小剝落缺陷的提升效果尤為明顯,達(dá)到14.09 個(gè)百分點(diǎn),表明M-DFPN 和先驗(yàn)框優(yōu)化對(duì)提升算法的檢測(cè)精度,特別是微小缺陷檢測(cè)精度的提升具有最積極的影響。
3)Steel-YOLOv3 算法。使用所提改進(jìn)方法的組合對(duì)缺陷進(jìn)行訓(xùn)練,實(shí)驗(yàn)結(jié)果顯示Steel-YOLOv3 完整檢測(cè)算法綜合運(yùn)用各改進(jìn)方法以解決YOLOv3 算法在型鋼表面缺陷檢測(cè)任務(wù)中存在的問(wèn)題,對(duì)缺陷的檢測(cè)效果最好。與YOLOv3 相比,Steel-YOLOv3 算法的檢測(cè)精度提升了12.63%,4 類(lèi)缺陷均取得了良好的檢測(cè)效果,提高了對(duì)多形態(tài)、微小缺陷的檢測(cè)能力,驗(yàn)證了該算法在型鋼表面缺陷檢測(cè)中的有效性。
為說(shuō)明所提Steel-YOLOv3 檢測(cè)算法的優(yōu)越性,本文將該算法與目標(biāo)檢測(cè)中常用的幾種深度學(xué)習(xí)算法進(jìn)行對(duì)比,包括兩階段目標(biāo)檢測(cè)算法Faster R-CNN600 和單階段目標(biāo)檢測(cè)算法SSD(Single Shot multibox Detector)512[17]、YOLOv5l。實(shí)驗(yàn)使用型鋼表面缺陷數(shù)據(jù)集進(jìn)行算法訓(xùn)練,訓(xùn)練過(guò)程的超參數(shù)相同,輸入圖像的尺寸使用算法中建議的尺寸,對(duì)輸入缺陷圖像進(jìn)行等比縮放。表2 給出了4 種不同算法的檢測(cè)結(jié)果,不同算法的檢測(cè)效果如圖8 所示。
表2 不同檢測(cè)算法性能比較結(jié)果Tab.2 Performance comparison results of different detection algorithms
實(shí)驗(yàn)結(jié)果表明,本文所提出的Steel-YOLOv3 檢測(cè)算法表現(xiàn)出了很好的性能:檢測(cè)精度優(yōu)于其他檢測(cè)算法,且每類(lèi)缺陷的檢測(cè)效果相對(duì)平均,檢測(cè)速度滿足實(shí)時(shí)性要求。圖8 的檢測(cè)結(jié)果顯示了本文提出的Steel-YOLOv3 能夠準(zhǔn)確對(duì)各類(lèi)缺陷進(jìn)行定位和類(lèi)型識(shí)別,而其他算法存在漏檢測(cè),對(duì)屬于微小缺陷的剝落漏檢現(xiàn)象嚴(yán)重,表明Steel-YOLOv3 算法可以更好地實(shí)現(xiàn)對(duì)微小缺陷的檢測(cè)。
圖8 不同檢測(cè)算法的缺陷檢測(cè)效果Fig.8 Defect detection results of different detection algorithms
Faster R-CNN 作為經(jīng)典的兩階段目標(biāo)檢測(cè)算法,具有較好的檢測(cè)效果,但Faster R-CNN 檢測(cè)速度較慢,無(wú)法滿足實(shí)時(shí)性要求;SSD 算法相較于兩階段Faster R-CNN 算法,檢測(cè)速度提升了3 倍多,檢測(cè)速度很快,然而SSD 算法檢測(cè)精度有了明顯的下降,僅為70.57%;相較于SSD 算法,YOLOv5l算法在保持速度優(yōu)勢(shì)的前提下,檢測(cè)精度大幅提升,但對(duì)微小剝落缺陷的檢測(cè)能力依然有限,對(duì)長(zhǎng)寬比較極端的擊傷缺陷的檢測(cè)效果也較差;Steel-YOLOv3 算法檢測(cè)相較于對(duì)比算法檢測(cè)精度最高,相較于Faster R-CNN、SSD 和YOLOv5l 算法,檢測(cè)精度分別提高了3.51%、26.46%和5.71%;在缺陷檢測(cè)速度上,由于加入了DCN,需要通過(guò)誤差的反向傳播對(duì)DCN 的偏置量進(jìn)行學(xué)習(xí),且利用M-DFPN 框架進(jìn)行多尺度特征密集融合都需要預(yù)測(cè)更多的信息,所以檢測(cè)速度相較于YOLOv5l、SSD 算法略有下降,但仍接近Faster R-CNN 算法的3 倍,滿足實(shí)時(shí)檢測(cè)的需求。因此,Steel-YOLOv3 是兼具檢測(cè)精度和檢測(cè)速度的型鋼表面缺陷檢測(cè)算法。
為測(cè)試Steel-YOLOv3 算法在復(fù)雜生產(chǎn)環(huán)境下對(duì)型鋼表面缺陷的在線檢測(cè)性能,本文在某鋼鐵集團(tuán)熱軋型鋼生產(chǎn)線進(jìn)行了為期5 d 的算法性能測(cè)試。
測(cè)試期間型鋼表面缺陷檢測(cè)速度到達(dá)了單張38.27 ms,幀率為26.13 frame/s,檢測(cè)結(jié)果如表3 所示。
表3 基于Steel-YOLOv3的型鋼表面缺陷現(xiàn)場(chǎng)檢測(cè)結(jié)果Tab.3 Field detection results of section steel surface defects based on Steel-YOLOv3
結(jié)疤、剝落、劃傷、擊傷4 類(lèi)表面缺陷的檢測(cè)準(zhǔn)確率分別為92.85%、90.20%、91.67%、93.55%。其中,存在2 個(gè)結(jié)疤缺陷、4 個(gè)剝落缺陷、2 個(gè)劃傷缺陷和1 個(gè)擊傷缺陷未被檢測(cè)出,漏檢率為5.63%。經(jīng)現(xiàn)場(chǎng)查看,所漏檢缺陷的面積過(guò)小,對(duì)型鋼表面質(zhì)量影響甚微,可忽略不計(jì)。此外,不同類(lèi)型缺陷之間存在少量誤識(shí)別現(xiàn)象。結(jié)疤缺陷有1 個(gè)被分為擊傷缺陷;剝落缺陷有1 個(gè)被分為結(jié)疤缺陷;劃傷缺陷有1 個(gè)被分為結(jié)疤缺陷;擊傷缺陷有1 個(gè)被分為劃傷缺陷,誤檢率為2.5%。現(xiàn)場(chǎng)測(cè)試結(jié)果表明,本文所提出的Steel-YOLOv3 檢測(cè)算法在實(shí)際應(yīng)用中具有良好的檢測(cè)效果,單張圖像檢測(cè)時(shí)間為38.27 ms,平均識(shí)別準(zhǔn)確率為92.07%,實(shí)現(xiàn)了型鋼表面缺陷的在線高精度檢測(cè)。
本文針對(duì)型鋼表面多形態(tài)微小缺陷的實(shí)時(shí)檢測(cè)問(wèn)題,設(shè)計(jì)了Steel-YOLOv3 檢測(cè)算法,實(shí)現(xiàn)了缺陷的準(zhǔn)確定位與分類(lèi)。首先,本文采用具有高實(shí)時(shí)性的YOLOv3 作為基礎(chǔ)框架,保證了缺陷檢測(cè)的實(shí)用性和快速性;其次,針對(duì)型鋼表面缺陷形態(tài)多樣、微小缺陷眾多的特點(diǎn),本文采用了可變形卷積(DCN)增加特征網(wǎng)絡(luò)卷積層對(duì)多形態(tài)缺陷特征的提取能力,并通過(guò)設(shè)計(jì)多尺度-密集特征金字塔(M-DFPN)框架和優(yōu)化先驗(yàn)框以彌補(bǔ)YOLOv3 對(duì)微小缺陷難以識(shí)別和定位不準(zhǔn)的不足。仿真實(shí)驗(yàn)結(jié)果表明:本文提出的Steel-YOLOv3 算法對(duì)缺陷的檢測(cè)精度為89.24%,幀率為25.62 frame/s。相較于對(duì)比算法,本文算法可以在不影響檢測(cè)效率的情況下提高對(duì)多形態(tài)、多尺度,尤其是微小缺陷的檢測(cè)能力。現(xiàn)場(chǎng)性能測(cè)試結(jié)果表明,本文算法完全能夠滿足型鋼高速生產(chǎn)現(xiàn)場(chǎng)表面缺陷檢測(cè)的效率與精度要求,可實(shí)際應(yīng)用于型鋼的缺陷檢測(cè)中。后續(xù)可對(duì)算法進(jìn)一步優(yōu)化,使用更輕型網(wǎng)絡(luò)在保證檢測(cè)精度的同時(shí)提升檢測(cè)速度,提升算法的泛化能力,廣泛地推廣應(yīng)用于型鋼、鋼軌等復(fù)雜鋼材的缺陷實(shí)時(shí)檢測(cè)中。