王 飛,張素蘭
(太原科技大學 計算機科學與技術學院,太原 030024)
鑄件是根據不同鑄造方式制造出的一體成型金屬物件,其質量的優(yōu)劣將對機器的安全運轉產生直接影響[1]。有缺陷的鑄件在使用過程中會因載荷的變化短時間發(fā)生損壞的概率較高,損壞帶來的嚴重后果不可估量[2]。因此,采用有效措施實現(xiàn)鑄件缺陷檢測具有現(xiàn)實意義[3]。數(shù)字輻射成像(DR)的優(yōu)勢是成像快速、輻射量低、噪聲小,將其應用于鑄件缺陷檢測中,不會對鑄件本身產生任何損壞[4-5]。因此,利用智能化技術對鑄件DR 圖像進行識別,提高鑄件缺陷檢測精度成為當下亟待解決的問題[6-7]。
文獻[8]利用機器視覺技術獲取鋼軌表面缺陷圖像,通過基于級聯(lián)自編碼的語義分割模型識別其缺陷類別,但無法確定缺陷位置信息,同時,該網絡在微小多缺陷目標識別方面難以取得較好的識別效果;文獻[9]在獲取鑄件DR 圖像后,通過引導濾波算法對其進行處理,再利用YOLACT 網絡對標注后的鑄件缺陷樣本進行缺陷識別,但該算法的缺陷檢測率難以達到工業(yè)要求。深度學習算法因在目標檢測上的良好效果,受到各行業(yè)領域的關注[10]。為了提高鑄件缺陷檢測效果,本文提出基于改進深度學習算法的鑄件缺陷自動檢測識別研究,通過對YOLOv3 網絡的骨架網絡、多尺度檢測網絡以及損失函數(shù)進行改進設計,以適應多尺度缺陷目標的檢測識別,將其與Faster RCNN、Cascade RCNN 網絡融合,達到降低鑄件缺陷漏檢率目標,實現(xiàn)鑄件缺陷的高精度識別。
為避免發(fā)生噪聲和圖像細節(jié)紋理一起過濾,提高鑄件缺陷檢測識別效果,本文采用引導濾波算法對鑄件DR 圖像進行處理,使圖像紋理細節(jié)等獲得最大程度的保留,并且不損失鑄件DR 圖像的邊緣信息。在引導濾波算法中,I 定義為引導圖像,通過其可對原始鑄件DR 圖像z 作基于I 的加權濾波處理,獲得濾波后的鑄件DR 圖像δ。濾波器的數(shù)學表達式為
式中:Wij(I)為對I 作加權權值獲得的權值。當原始鑄件DR 圖像z 為引導圖像時,此時的濾波器即為保邊濾波器。實現(xiàn)原始鑄件DR 圖像z 的平滑后,對I 與δ 作減法,即可獲得鑄件DR 圖像的細節(jié)與大體輪廓,將其與放大系數(shù)相乘,并與濾波后圖像δ 作加和后即可實現(xiàn)原始鑄件DR 圖像的增強,獲得處理后圖像Ie,其計算公式為
式中:α 為放大系數(shù)。
YOLOv3 由YOLOv1、YOLOv2 網絡結構延伸而來,它利用回歸算法能夠對輸入圖像進行分割處理,得到數(shù)量為N×N 的網絡,從而完成多目標的檢測識別。
1.3.1 引入SPP 結構
為實現(xiàn)鑄件缺陷的準確識別,本文將空間金字塔池化(SPP)結構引入到YOLOv3 網絡中。SPP 結構如圖1 所示,其內包含3 個卷積核尺寸分別5×5、9×9、13×13 的最大池化層、1 個跳躍連接,4 個分支為并行關系。將SPP 添加到YOLOv3 網絡的第五、六卷積層之間,通過SPP 可實現(xiàn)輸入鑄件圖像局部、整體特征的有效融合,獲得更全面、更完整的鑄件圖像特征描述,對鑄件缺陷誤檢率、漏檢率的減小產生有利影響。
圖1 SPP 基本結構Fig.1 Basic structure of SPP
1.3.2 多尺度檢測網絡
多尺度檢測部分的輸出結果分別為1/32、1/16、1/8 尺寸的特征圖,分別對應大目標、中目標、小目標的檢測識別,其中大目標識別結果需要在YOLOv3 網絡的79 個卷積層后通過多個卷積處理方能得到,對其進行上采樣處理,并同61 層輸出結果進行融合后,繼續(xù)執(zhí)行數(shù)個卷積處理過程即可獲得中目標檢測識別結果;對第91 層的輸出作上采樣處理,再將其與第36 層輸出作為融合后,執(zhí)行若干個卷積即可得到小目標檢測識別結果。經過以上處理后,可獲得13×13、26×26、52×52 三種預測尺度,適應不同尺寸目標的檢測識別。為了準確識別鑄件圖像中的更小缺陷目標,本文在原網絡結構基礎上,另添加了一種檢測尺度,在獲得52×52 特征圖后,對其作上采樣處理,再融合104×104 特征圖后獲得。
1.3.3 損失函數(shù)設計
鑄件圖像輸入到YOLOv3 網絡后,會被切割成Sh×Sw尺寸網格,其中網格高、寬分別為Sh、Sw,用于對數(shù)量為B 的目標框位置及其置信度分數(shù)的預估。鑄件圖像特征圖訓練時,預測的邊界框通過B(x,y,w,h,cs)五元組進行描述,目標框的中心坐標為(x,y),其寬、高分別為w、h,其取值區(qū)間為[0,1]。對YOLOv3網絡作改進處理后,目標框的實際坐標、寬度、高度分別通過下式獲得:
式中:cx、cy為鑄件圖像左上角處坐標的偏移量;pw、ph為目標框寬、高的預測值;tx、ty、tw、th分別為改進YOLOv3 網絡的學習對象。
如果各網格能夠實現(xiàn)各目標檢測類別的預估,則獲得的張量維度可通過Sh×Sw×B×(5+C)表示。在對鑄件缺陷類別及其位置進行預測時,YOLOv3 網絡損失函數(shù)可表示為
式中:Errcoord 為鑄件缺陷坐標預測值與實際結果間的誤差;ErrIOU 為置信度偏差;Errclass 為鑄件缺陷檢測識別偏差。鑄件缺陷位置預測誤差可表示為
式中:權重因子通過ηcoord=2-wihi求得,其值可通過目標框的高度、寬度進行調節(jié),以使坐標預測誤差Errcoord 受目標框尺寸擾動較小。對于第i 個網格,其坐標、寬、高的預測結果分別為;其實際坐標、寬、高分別為xi、yi、wi、hi;∈{0,1},是對鑄件缺陷目標是否位于第i 個網格的第j 個目標框的描述。二元交叉熵函數(shù)通過Lcross-entropy表示,其公式為
式中:p 表示預測概率;q 表示實際概率。
置信度誤差通過下式進行計算:
梯度會隨著目標框尺寸偏差的增大而增大,故本文對鑄件缺陷位置預測誤差公式中的w、h 進行改進處理,改進后的鑄件缺陷位置預測誤差可表示為
為使鑄件缺陷檢測識別模型具有更好的缺陷識別效果、更高的缺陷召回率,對以上3 個網絡進行融合處理,以使其能夠對更多缺陷進行識別。模型融合過程如下:
(1)將去噪后的鑄件DR 圖像訓練樣本分別輸入到改進后的YOLOv3 網絡、Faster RCNN、Cascade RCNN 網絡中實現(xiàn)各網絡的訓練學習,利用訓練好的3 個缺陷檢測模型分別對處理后的鑄件DR 圖像測試樣本進行缺陷識別,獲得缺陷位置、類別、置信度信息;
(2)隨機選取2 個缺陷目標框,對其IOU 值進行運算,并與設定閾值進行比較,若其值高于閾值,說明兩目標框中的缺陷目標屬于同一缺陷類型,反之,表明識別的缺陷存在差異;
(3)當識別的是相同類型鑄件缺陷時,則對置信度值進行調整,將各缺陷檢測模型對各類鑄件缺陷的識別精度作為依據,設定各檢測模型權重,將其與該模型的缺陷檢測置信度分數(shù)相乘,確定融合模型的置信度分數(shù),確定具有最大置信度分數(shù)的缺陷目標框,將其位置信息進行保存,并對其置信度分數(shù)進行調整;
(4)當2 個缺陷目標框識別的鑄件缺陷類型不同時,則對其置信度分數(shù)及其位置進行保存。
以鐵道車輛上所用的搖枕鑄件為研究對象,在Pytorch 深度學習框架下進行缺陷檢測實驗,利用數(shù)字式輻射成像技術采集搖枕鑄件DR 圖像,圖像數(shù)量為1200 張,所有圖像均有一定缺陷,缺陷類型為氣孔、裂紋、縮松,采用本文算法對搖枕鑄件缺陷進行檢測識別,分析本文算法的缺陷識別能力。
圖2(a)為從訓練數(shù)據集中選取的一張搖枕DR圖像的一部分,采用本文算法對其進行處理,通過對比處理前后搖枕DR 圖像質量,分析本文算法的圖像處理能力,實驗結果如圖2(b)所示。
圖2 處理前后搖枕DR 圖像質量對比Fig.2 Comparison of bolster DR image quality before and after processing
分析圖2 可知,采用本文算法對原始搖枕DR圖像進行處理,可有效改善原始搖枕DR 圖像質量,原始圖像的霧化、邊緣模糊、細節(jié)信息不豐富的問題均獲得有效解決。處理后的圖像邊緣清晰、細節(jié)信息得以完整保留。
通過對搖枕DR 圖像處理前后的灰度直方圖進行對比,進一步分析本文算法的圖像處理效果,實驗結果如圖3 所示。分析圖3 可知,對搖枕DR 原始圖像進行處理后,圖像像素灰度分布打破原有走勢規(guī)律,波動幅度明顯減小,表現(xiàn)出均衡性分布特點。實驗結果表明,本文算法可實現(xiàn)原始圖像的增強,圖像質量明顯提高。
圖3 灰度直方圖對比結果分析Fig.3 Analysis of gray histogram comparison results
將訓練樣本作為改進后YOLOv3 網絡模型的輸入,完成改進YOLOv3 網絡模型的訓練,設定學習率為10-3,衰減因子為5×10-4,通過分析平均訓練損失曲線與平均交并比曲線,驗證改進YOLOv3 網絡模型的缺陷識別性能,實驗結果如圖4 所示。分析圖4 可知,利用訓練樣本對改進YOLOv3 網絡模型進行訓練,訓練平均損失隨著訓練次數(shù)的不斷增加呈下降趨勢變化,在前1000 次訓練過程中,平均損失值下降幅度較大,繼續(xù)增加訓練次數(shù),其值變化幅度變小,當訓練3000 次后訓練平均損失曲線逐漸開始收斂,當滿足4000 次訓練條件后,平均損失值基本接近穩(wěn)定,其值為0.11;改進YOLOv3 網絡模型在不斷訓練過程中,平均交并比曲線呈逐漸增長規(guī)律變化,訓練次數(shù)小于3000 次前,該曲線增長明顯,之后逐漸開始收斂,當達到4000 次訓練后,其走勢更加平穩(wěn)。因此,改進后YOLOv3 網絡模型可取得較好的訓練效果。
圖4 改進YOLOv3 網絡模型性能分析Fig.4 Performance analysis of improved YOLOv3 network model
為降低改進YOLOv3 網絡模型的缺陷漏檢率,實現(xiàn)鑄件缺陷的高精度檢測識別,本文將其與Faster RCNN、Cascade RCNN 網絡進行融合。以圖4 的搖枕DR 圖像為識別對象,采用融合模型對其缺陷進行檢測識別,并將改進YOLOv3 網絡模型作為對比模型,通過對兩模型的缺陷檢測結果進行對比分析,驗證本文方法的優(yōu)越性,實驗結果如圖5 所示。分析圖5 可知,改進YOLOv3 網絡模型在對搖枕鑄件DR 圖像進行缺陷檢測識別時,對于圖像中的極微小缺陷目標,難以實現(xiàn)完全識別,存在缺陷漏檢測問題;融合模型的缺陷檢測識別效果明顯優(yōu)于改進的YOLOv3 網絡模型,在極小缺陷目標的檢測識別上優(yōu)勢明顯,利用檢測樣本集對融合模型的缺陷識別性能進行測試,缺陷識別精度均值可達到97.5%以上。實驗結果表明,本文方法的缺陷檢測識別能力突出。
圖5 本文方法缺陷檢測識別能力分析Fig.5 Analysis of defect detection and recognition ability of this method
將本文方法應用于搖枕鑄件缺陷檢測識別中,通過分析搖枕DR 圖像的處理性能以及改進YOLOv3 網絡模型、混合模型的缺陷識別效果,驗證本文方法的優(yōu)越性。實驗結果表明:①該方法處理后的搖枕DR 圖像細節(jié)完整、邊緣清晰、像素灰度分布均勻;②改進后的YOLOv3 網絡模型在訓練4000次后,平均損失穩(wěn)定在0.11 左右,并獲得最大交并比,有效降低缺陷誤檢率、漏檢率;③混合模型在極小缺陷目標檢測識別上具有突出優(yōu)勢,缺陷檢測精度均值可達到97.5%以上。