国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)YOLOv3算法的連鑄坯表面缺陷檢測*

2023-02-04 01:12王睿澤孫鐵強肖鵬程
關(guān)鍵詞:鑄坯連鑄卷積

王睿澤,孫鐵強,b,宋 超,b,肖鵬程

(華北理工大學(xué)a.人工智能學(xué)院;b.河北省工業(yè)智能感知重點實驗室;c.冶金與能源學(xué)院,唐山 063210)

0 引言

連鑄坯生產(chǎn)過程中因為工藝的原因,其表面會產(chǎn)生裂紋等缺陷,對后續(xù)的軋制帶來嚴(yán)重的質(zhì)量影響[1]。連鑄坯表面缺陷中約有3%是常見的表面缺陷。雖然比例很小,但由此給企業(yè)造成的年經(jīng)濟(jì)損失達(dá)到100多萬元以上[2]。因此,檢測鑄坯表面缺陷,及時發(fā)現(xiàn)有表面缺陷的連鑄坯,防止其進(jìn)入后續(xù)的軋制,從而避免經(jīng)濟(jì)損失。國內(nèi)鋼鐵企業(yè)連鑄坯表面質(zhì)量檢測大多以人工目測抽檢測的方法,該方法單純用人眼去檢測鑄坯表面缺陷,工作環(huán)境惡劣,勞動強度大,用人眼長時間去檢測容易疲勞,發(fā)生漏檢、誤檢的幾率大,并且實時性差,不能滿足在線高速的生產(chǎn)節(jié)奏。因此,研究一種實時高效的連鑄坯表面缺陷檢測方法具有十分重要的意義。

目前,針對連鑄坯表面缺陷檢測問題,楊娟等[3]提出了基于SVDD和多分辨率的連鑄坯表面缺陷檢測方法,缺陷樣本識別率達(dá)到91.3%。吳家偉等[4]采用Adaboost算法進(jìn)行改進(jìn)對連鑄坯表面缺陷識別率達(dá)到92.5%。徐科等[5]提出了基于Contourlet變換的連鑄坯表面缺陷識別,對裂紋、氧化鐵皮、光照不均和渣痕四類缺陷識別率達(dá)到94.35%。胡嘉成等[6]使用卷積神經(jīng)網(wǎng)絡(luò)對寶山鋼鐵連鑄坯表面缺陷進(jìn)行檢測,對裂紋的檢測率達(dá)到93%。上述的檢測方法都能對連鑄坯表面缺陷一定程度的檢測與識別,但存在訓(xùn)練的樣本數(shù)量低,算法泛化能力低,檢測時間長等問題。

隨著深度學(xué)習(xí)的興起,基于深度學(xué)習(xí)的表面缺陷檢測技術(shù)已應(yīng)用于工業(yè)領(lǐng)域的各行各業(yè)。目前,深度學(xué)習(xí)目標(biāo)檢測算法分為兩類:一類是Two-Stage目標(biāo)檢測算法,將目標(biāo)檢測問題分為兩個階段。首先,選擇候選區(qū)域,然后對候選區(qū)域進(jìn)行分類和定位。典型算法包括RCNN[7]、Fast R-CNN[8]、Faster R-CNN[9]、Mask R-CNN[10]等。二階算法精度高,但檢測速度慢。另一種是One-Stage目標(biāo)檢測算法,它只包括一個階段用于對目標(biāo)進(jìn)行分類和定位,沒有候選區(qū)域的選擇,可以直接獲得檢測結(jié)果。典型的算法是YOLO[11]、SSD[12]。

本文使用深度學(xué)習(xí)技術(shù),提出了一種改進(jìn)YOLOv3[13]連鑄坯表面缺陷檢測方法。對YOLOv3算法輕量化改進(jìn),使用MobileNetv2[14]輕量級網(wǎng)絡(luò)代替原有Darknet-53特征提取網(wǎng)絡(luò),減少網(wǎng)絡(luò)參數(shù);使用Mate-ACON激活函數(shù)[15]替換Leaky-ReLU函數(shù),自適應(yīng)的選擇是否激活神經(jīng)元;引入CIoU邊界框回歸損失函數(shù)[16]提高模型定位的準(zhǔn)確性,加速模型收斂。本文總共分為3部分:表面缺陷系統(tǒng)搭建以及數(shù)據(jù)集制作,網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn),實驗及結(jié)果分析。

1 表面缺陷檢測系統(tǒng)搭建及數(shù)據(jù)集制作

1.1 數(shù)據(jù)集制作

本文采集的連鑄坯表面缺陷如圖1所示。

(a) 面部裂紋 (b) 角部劃痕 (c) 面部劃痕圖1 表面缺陷

劃痕:劃痕產(chǎn)生原因是由于輥縫內(nèi)進(jìn)入保護(hù)渣,導(dǎo)致輥子不轉(zhuǎn),拉坯時不轉(zhuǎn)的輥子磨到鑄坯上,產(chǎn)生的劃痕。

裂紋:裂紋產(chǎn)生原因是連鑄坯在結(jié)晶器內(nèi)受到各種應(yīng)力所致,包括熱應(yīng)力、鋼水靜壓力、摩擦力和由于款在面收縮量差異導(dǎo)致的拉伸力。

深度學(xué)習(xí)目標(biāo)檢測算法檢測性能的好壞,很大程度取決于數(shù)據(jù)集質(zhì)量,要得到好的檢測結(jié)果,首先采集的表面缺陷圖像清晰,表面缺陷輪廓要明顯,缺陷也要達(dá)到一定的數(shù)量。通過大量的圖片采集,從中篩選出有缺陷的圖像制作訓(xùn)練集。缺陷檢測系統(tǒng)是將圖像裁剪成416×416分辨率大小的圖像塊依次輸入到Y(jié)OLOv3檢測網(wǎng)絡(luò)中。

通過圖像采集,最終得到3075張缺陷圖像,采集的缺陷圖像類型分為3類,面部缺陷裂紋、劃痕和角部劃痕缺陷。其中,面部劃痕圖像335張,面部裂紋1676張,角部劃痕圖像1064張。

數(shù)據(jù)集的標(biāo)注使用labelImg軟件,對圖片進(jìn)行人工標(biāo)注,將圖片的長寬和深度以及缺陷的類型和缺陷位置信息存入到.xml文件中。對數(shù)據(jù)集中3075張圖片分為訓(xùn)練集和測試集,按照4:1的比例,訓(xùn)練集圖片2460張,測試集圖片615張。最后利用格式轉(zhuǎn)換程序生成有圖片路徑、名稱、缺陷框標(biāo)簽和位置的.txt訓(xùn)練文件。

1.2 系統(tǒng)檢測流程

連鑄坯表面缺陷系統(tǒng)工作流程,如圖2所示。熱金屬檢測儀識別輥道上的鑄坯,發(fā)送信號給PLC,PLC檢測到信號后,控制相機拍照。

圖2 檢測流程圖

相機采集的分辨率為1920×1200,YOLOv3網(wǎng)絡(luò)模型輸入為416×416大小,因為表面缺陷較小,所拍攝到的缺陷在整個圖像所占的面積較小,如果將圖像經(jīng)過壓縮后,表面缺陷信息很容易過小,而丟失掉特征信息,所以本文將分辨率1920×1200進(jìn)行擴(kuò)張,將圖像周圍填充0像素,擴(kuò)大分辨率2080×1248。然后對圖像進(jìn)行分割,分割成15個416×416分辨率大小的圖塊,依次送到Y(jié)OLOv3網(wǎng)絡(luò)進(jìn)行檢測。

連鑄坯表面缺陷識別程序為了快捷開發(fā),使用Python開發(fā)語言,YOLOv3算法使用pytorch框架,圖像分割和拼接使用Python的OpenCV和Numpy庫。該程序使用生產(chǎn)者消費者模式,分為4個進(jìn)程,每個進(jìn)程分別是圖像采集程序、圖像分割程序、YOLOv3識別程序和圖像拼接程序,每個進(jìn)程相互獨立,兩個進(jìn)程之間組成生產(chǎn)者消費者模式,解決代碼之間的耦合程度。進(jìn)程之間通過Queue隊列通信。圖像采集程序使用Basler相機提供的SDK開發(fā)工具,通過使用pypylon庫進(jìn)行編程對相機控制,采集的圖像進(jìn)程將圖像存儲在內(nèi)存中,通過隊列傳輸圖像給下一進(jìn)程使用。

1.3 硬件系統(tǒng)

視覺采集系統(tǒng)采集圖像質(zhì)量的好壞直接影響目標(biāo)檢測算法的檢測精度,針對連鑄坯表面缺陷檢測搭建了如圖3所示視覺采集裝置。硬件型號如表1所示。

圖3 視覺檢測裝置

表1 硬件型號

2 YOLOv3網(wǎng)絡(luò)改進(jìn)

在本文連鑄坯檢測任務(wù)中,鑄坯移動速度為0.5 m/s,每秒鐘相機需要采集2張圖像,每張圖像分割成15個圖像,每秒鐘YOLOv3檢測算法要處理30張圖像。這要求YOLOv3算法的檢測速度上要提高來滿足檢測任務(wù)。為了提高連鑄坯表面缺陷檢測速度,同時保持精度,使YOLOv3模型適應(yīng)鑄坯表面的缺陷檢測,本文對算法進(jìn)行了3點改進(jìn)。

2.1 使用MobileNetv2為主干網(wǎng)絡(luò)

YOLOv3使用Darknet-53作為特征提取網(wǎng)絡(luò),因為網(wǎng)絡(luò)層數(shù)過多,結(jié)構(gòu)復(fù)雜,導(dǎo)致參數(shù)過多,推理時間過長。MobileNetv2是基于MobileNetv1版本的改進(jìn)。MobileNet是一種輕量化的網(wǎng)絡(luò),為了減少網(wǎng)絡(luò)參數(shù),提出了深度可分離卷積(depthwise separable convolution)。深度可分離卷積是將傳統(tǒng)卷積分為Depthwise卷積和Pointwise卷積。深度可分離卷積將標(biāo)準(zhǔn)卷積分解成DK×DK的深度卷積和一個1×1的逐點卷積。假設(shè)用DK×DK表示卷積核尺寸,用DF×DF表示輸入特征圖的大小,特征圖有M個通道,輸出特征圖的通道數(shù)N,當(dāng)步長為1且存在padding時,傳統(tǒng)卷積計算量如式(1)所示。

F1=DK×DK×M×N×DF×DF

(1)

而深度可分離卷積計算量如式(2)所示。

F2=DK×DK×M×DF×DF+M×N×DF×DF

(2)

深度卷積與標(biāo)準(zhǔn)卷積部分的計算量如式(3)所示。

(3)

MobileNetv2在此基礎(chǔ)上進(jìn)行改進(jìn),根據(jù)Resnet的殘差網(wǎng)絡(luò),設(shè)計了逆殘差結(jié)構(gòu)(inverted residuals),先用1×1的卷積提高通道數(shù),再通過深度卷積操作,最后再用1×1的卷積將通道數(shù)降低到輸入大小。先進(jìn)行擴(kuò)張,再進(jìn)行壓縮。圖4是逆殘差結(jié)構(gòu)。

圖4 逆殘差結(jié)構(gòu)

2.2 引入CIoU邊界框回歸損失函數(shù)

YOLOv3在進(jìn)行邊界框回歸計算是直接根據(jù)預(yù)測框和真實框的中心點坐標(biāo)以及寬高進(jìn)行計算。使用IoU(intersection over unio)作為損失函數(shù)。

IoU是目標(biāo)檢測中重要的一項指標(biāo),其可以反映預(yù)測檢測框與真實檢測框的檢測效果。IoU的計算表達(dá)式為:

(4)

式中,A為目標(biāo)的預(yù)測框;B為目標(biāo)的真實框。

本文采用CIoU邊界回歸損失函數(shù),該損失函數(shù)考慮了檢測框的重疊面積以及檢測框中心點的距離,有效的解決了真實框與檢測不相交時,導(dǎo)致的梯度消失的問題。CIoU損失函數(shù)計算表達(dá)式如式(5)~式(7)所示。

(5)

(6)

(7)

式中,b和bgt分別為預(yù)測框和真實框的中心點的歐式距離;c為能夠同時包含預(yù)測框和真實框的最小閉包區(qū)域的對角線距離;υ為衡量檢測框和真實框的長寬比相似性的參數(shù);α為權(quán)重參數(shù)。

2.3 替換激活函數(shù)

YOLOv3使用Leaky-ReLU激活函數(shù),本文使用Meta-ACON激活函數(shù)代替YOLOv3中部分使用的激活函數(shù)。

Meta-ACON激活函數(shù)可以自適應(yīng)的選擇是否激活神經(jīng)元,表達(dá)式如式(8)所示。

fACON(x)=(p1-p2)x·σ[β(p1-p2)x]+p2x

(8)

式中,p1、p2為兩個可學(xué)習(xí)參數(shù)來自適應(yīng)調(diào)整;σ為sigmoid函數(shù)。ACON激活函數(shù)通過β的值來控制是否激活神經(jīng)元,因此需要為ACON設(shè)計一個計算β的自適應(yīng)函數(shù),這里選擇channel-wise,首先分別對H、W維度求均值,然后通過兩個卷積層,使得每一個通道所有像素共享一個權(quán)重,表達(dá)式為:

(9)

式中,σ為sigmoid激活函數(shù);W1∈RC×C/r卷積操作,C為輸入的維度;C/r為輸出的維度;W2∈RC/r×C卷積操作,C/r為輸入的維度;C為輸出的維度;r為縮減率。

2.4 改進(jìn)后的網(wǎng)絡(luò)總結(jié)構(gòu)

MobileNetv2作為特征提取網(wǎng)絡(luò)輸出3個分支,并在特征金字塔部分使用了深度可分離卷積降低網(wǎng)絡(luò)參數(shù),在CBL標(biāo)準(zhǔn)卷積批標(biāo)準(zhǔn)化后使用了Mate-ACON激活函數(shù)。改進(jìn)的輕量化YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。

圖5 改進(jìn)的YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)

3 實驗及結(jié)果分析

3.1 實驗平臺

本實驗在Ubuntu 18.04操作系統(tǒng)下完成。計算機CPU為Intel Xeon Gold 5218;內(nèi)存為192 GB;GPU為兩塊RTX2080Ti顯卡,其顯存為11 G;使用Python3.8;深度學(xué)習(xí)框架為Pytorch1.9,并安裝cuda10.2實現(xiàn)加速計算。輔助工具有OpenCV、Numpy、Matplotlib等。

3.2 模型訓(xùn)練參數(shù)配置

在模型訓(xùn)練中,網(wǎng)絡(luò)輸入大小為416×416。使用Adam優(yōu)化算法,開啟Mosaic數(shù)據(jù)增強和余弦退火衰減。將訓(xùn)練分為兩個階段。在第1階段,特征提取網(wǎng)絡(luò)被凍結(jié)以加快訓(xùn)練速度,第2個階段進(jìn)行整個網(wǎng)絡(luò)參數(shù)的調(diào)整,模型訓(xùn)練參數(shù)如表2所示。

表2 模型訓(xùn)練參數(shù)

3.3 評價指標(biāo)

文章通過計算測試樣本的平均精確率(average precision,AP)、平均精確率均值(mean average precision,mAP)、模型權(quán)重大小以及每秒檢測圖片的幀數(shù)(frames per second,F(xiàn)PS)對檢測算法的性能進(jìn)行對比。

(1)平均精確率AP。AP被定義為精度(Precision)和召回率(Recall)曲線下的面積,用來衡量數(shù)據(jù)集中一類的平均分類精確率。精度、召回率、AP的計算公式如式(10)~式(12)所示。

(10)

(11)

(12)

式中,TP(true positives)為測試集中正確檢測到缺陷目標(biāo)的個數(shù);FP(false positives)為測試集中模型誤檢測的目標(biāo)的個數(shù);FN(false negatives)為檢測模型漏檢測的目標(biāo)個數(shù)。

(2)平均精確率均值mAP。mAP是指對于多分類問題,需要對N個類別的AP求均值,用來衡量分類器對所有類別的分類精度。它是目標(biāo)檢測算法最重要的指標(biāo),mAP值越大算法性能越好,識別精度越高。計算表達(dá)式為:

(13)

(3)幀率FPS。FPS是每秒鐘檢測圖片的幀數(shù),用來衡量算法檢測圖像的速度快慢。計算表達(dá)式為:

(14)

式中,S為檢測總時間(以秒為單位);F為該S個單位時間內(nèi)系統(tǒng)檢測的圖片數(shù)量。

3.4 實驗結(jié)果與分析

訓(xùn)練時設(shè)置迭代次數(shù)300次,分為兩個階段訓(xùn)練,損失值Loss隨迭代次數(shù)變化如圖6所示。

圖6 損失函數(shù)圖

可以看出,損失函數(shù)有兩次快速下降,迭代次數(shù)50次之前,Loss函數(shù)迅速下降,當(dāng)150次后,對整個網(wǎng)絡(luò)進(jìn)行訓(xùn)練,Loss函數(shù)又有一次明顯下降,迭代250以后Loss函數(shù)基本穩(wěn)定。

為了驗證本文改進(jìn)后模型檢測效果,YOLOv3模型與改進(jìn)YOLOv3進(jìn)行性能對比。算法對比實驗采用相同測試集,采用mAP和FPS兩項指標(biāo)對兩種檢測算法進(jìn)行性能對比。對比實驗結(jié)果如表3所示。

表3 實驗對比結(jié)果

實驗證明,對YOLOv3輕量化改進(jìn),使用MobileNetv2骨干網(wǎng)路,對特征金字塔部分使用深度可分離卷積,并優(yōu)化了卷積層的數(shù)量,算法的檢測速度有了明顯的提升。為了保證檢測精度,引入了CIoU損失函數(shù)和Meta-ACON激活函數(shù)。在檢測精度比原YOLOv3算法中下降了0.34%,但在檢測速度上提高了52 fps。模型訓(xùn)練權(quán)重大小29 M,滿足了連鑄坯表面的缺陷的檢測要求。

使用改進(jìn)的YOLOv3在測試集上檢測缺陷圖像,得到的檢測圖片效果如圖7所示。

圖7 缺陷圖片檢測效果

4 結(jié)論

本文搭建設(shè)計了連鑄坯表面缺陷檢測系統(tǒng),由于采集的連鑄坯缺陷形貌占整個圖像的面積較小,為了提高識別精度,將采集的圖像分割成分辨率為416×416圖像塊送入到Y(jié)OLOv3模型識別。在實際的應(yīng)用當(dāng)中,針對算法檢測速度不能夠滿足連鑄坯表面缺陷檢測任務(wù),提出了一種輕量化YOLOv3算法。使用MobileNetv2作為骨干網(wǎng)絡(luò),優(yōu)化網(wǎng)絡(luò)參數(shù),提高模型檢測速度;同時保證精度,引入了CIoU損失函數(shù)和Meta-ACON激活函數(shù)。在本文制作的數(shù)據(jù)集上進(jìn)行實驗。實驗結(jié)果表明,在保證有較高的精度下,檢測速度提高了52 fps,滿足了當(dāng)前的連鑄坯表面缺陷檢測任務(wù)。

猜你喜歡
鑄坯連鑄卷積
連鑄連軋生產(chǎn)25CrMo4齒輪鋼帶狀組織的控制實踐
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
低碳鋁鎮(zhèn)靜鋼鑄坯長度方向上T.O和夾雜物的分布規(guī)律研究
卷積神經(jīng)網(wǎng)絡(luò)的分析與設(shè)計
連鑄塞棒中間包冶金集成技術(shù)的應(yīng)用實踐
60Si2Mn彈簧鋼連鑄方坯生產(chǎn)實踐
出坯區(qū)輥道輥面損傷原因分析與改善措施
從濾波器理解卷積
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
連鑄板坯質(zhì)量在線診斷系統(tǒng)的應(yīng)用