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

?

基于YOLOv4 改進(jìn)算法的零件表面缺陷檢測*

2023-06-04 06:24:24王憲倫孫宇軒
計算機(jī)與數(shù)字工程 2023年2期
關(guān)鍵詞:特征提取預(yù)測特征

王憲倫 孫宇軒 王 棟

(青島科技大學(xué)機(jī)電工程學(xué)院 青島 266100)

1 引言

在經(jīng)濟(jì)高速發(fā)展的今天,我國的機(jī)械行業(yè)市場空前擴(kuò)大。但是由于技術(shù)水平和加工設(shè)備的限制,零件表面加工質(zhì)量仍難以出現(xiàn)質(zhì)的飛躍[1]。傳統(tǒng)的檢測方式是由人眼進(jìn)行檢測,檢測效率低,長時間的工作也會導(dǎo)致檢測結(jié)果出現(xiàn)紕漏。

近年來,深度學(xué)習(xí)憑借特征提取與模式識別方面的獨特方式和優(yōu)勢在眾多領(lǐng)域發(fā)揮了獨到的作用。在目標(biāo)檢測方面,隨著圖像采集設(shè)備的不斷發(fā)展,圖像采集的質(zhì)量不斷提高,基于計算機(jī)視覺的目標(biāo)檢測逐漸流行起來[2]。早期的目標(biāo)檢測是基于圖像的顏色、紋理等特征進(jìn)行特征提取,進(jìn)而實現(xiàn)目標(biāo)檢測[3~4]。隨著卷積神經(jīng)網(wǎng)絡(luò)[5](CNN)的提出,以及硬件性能的提升,基于深度學(xué)習(xí)的目標(biāo)檢測算法成為主流,并且取得優(yōu)秀的成果。目前?;谏疃葘W(xué)習(xí)的目標(biāo)檢測算法主要分兩種。一種是基于區(qū)域建議的目標(biāo)檢測算法,代表算法是RCNN、Fast-RCNN、Faster-RCNN 等[6~8],其原理是利用啟發(fā)式方法或者CNN 網(wǎng)絡(luò)提取區(qū)域塊,再對區(qū)域中的對象進(jìn)行識別。另外一種是基于回歸方法的檢測算法,代表算法為YOLO、SSD 等[9~10]。其原理是僅使用CNN 網(wǎng)絡(luò)來預(yù)測目標(biāo)的種類和位置。

深度學(xué)習(xí)在應(yīng)對復(fù)雜工業(yè)環(huán)境下的缺陷檢測有著獨到的優(yōu)勢[11]?;谏疃葘W(xué)習(xí)的缺陷檢測已經(jīng)應(yīng)用各種工業(yè)環(huán)境下。文生平等采用變形卷積技術(shù)和密集連接技術(shù)改進(jìn)YOLOv3 框架,將其應(yīng)用到鋁型材的表面缺陷檢測,取得了良好的成果[12]。劉亞男利用機(jī)器視覺的相關(guān)方法對鋼材表面進(jìn)行缺陷檢測,通過灰度化、圖像增強(qiáng)、邊緣提取的方法提取出缺陷區(qū)域,再進(jìn)行缺陷識別,達(dá)到了較好的效果[13]。張秦瑋等建立了利用粒子群算法進(jìn)行參數(shù)尋優(yōu)的PSO-SVM 分類識別模型來檢測焊盤表面缺陷。首先采用OTSU 算法將焊盤從背景中提取出來,再利用PSO-SVM 分類識別模型進(jìn)行缺陷識別分類。將該模型和傳統(tǒng)的B-P神經(jīng)網(wǎng)絡(luò)對比,體現(xiàn)了該算法的優(yōu)越性[14]。

目前,對于零件表面缺陷的檢測仍存在一定的問題。復(fù)雜的表面缺陷種類,表面缺陷的隱蔽性,加工環(huán)境復(fù)雜性等等,這都是影響檢測結(jié)果的因素。某些方法雖然檢測結(jié)果準(zhǔn)確,但是實時性較差,無法實現(xiàn)實時檢測的功能。為了解決上述問題,本文提出了基于YOLOv4 改進(jìn)算法的零件表面缺陷檢測算法,利用稠密網(wǎng)絡(luò)結(jié)構(gòu)代替部分殘差網(wǎng)絡(luò)結(jié)構(gòu),使網(wǎng)絡(luò)參數(shù)更少,從而提升算法的運算速度,并且保證了檢測結(jié)果的準(zhǔn)確性。

本文中采用的訓(xùn)練集為德國DAGM2007 數(shù)據(jù)集,以其中8 種缺陷圖像為檢測目標(biāo)。由于該數(shù)據(jù)集包括的缺陷圖片較少,因此采用圖片增強(qiáng)的方式進(jìn)行擴(kuò)充,使訓(xùn)練集的數(shù)量達(dá)到6800張。

通過實驗對比了原算法和改進(jìn)算法的檢測精度和每張圖片的檢測時間,證明了改進(jìn)的檢測算法在保證檢測精度的同時,可以明顯減少圖片檢測時間,提高了檢測效率。

2 YOLOv4目標(biāo)檢測改進(jìn)算法

2.1 YOLO算法介紹

2.1.1 YOLOv1

與RCNN 算法有所不同,YOLOv1 采用了端到端的檢測框架,將目標(biāo)檢測作為回歸問題來處理。其核心思想是將整張圖片作為輸入,直接在輸出層回歸預(yù)測框和預(yù)測類別。實現(xiàn)方法為將一張圖片分成s×s的網(wǎng)格,如果某個物體落在某個網(wǎng)格中,則由這個網(wǎng)格預(yù)測這個物體。每個網(wǎng)格要預(yù)測B個預(yù)測框,每個預(yù)測框要負(fù)責(zé)預(yù)測物體中心的位置和置信度一共5 個變量。置信度包括了預(yù)測框中是否存在物體和物體檢測準(zhǔn)確度兩種信息,其計算公式如式(1)所示。

其中,如果物體中心在網(wǎng)格內(nèi),則Pr(Object)取1,否則取0。IOU代表了預(yù)測框和實際框的重合度。

在檢測時,通過式(2)來計算每個框預(yù)測目標(biāo)的得分。

其中Pr(Classi|Object)是每個網(wǎng)格的預(yù)測信息。通過設(shè)定閾值,過濾掉低分的預(yù)測框,在通過非極大值抑制算法進(jìn)行處理,便可以得到需要的預(yù)測結(jié)果。

2.1.2 YOLOv2

為了實現(xiàn)更快的檢測速度和更高的準(zhǔn)確率,在YOLOv1 的基礎(chǔ)上,Redmon J 等提出了YOLOv2[15]。YOLOv2 采用了多種方法來提升準(zhǔn)確率和檢測速度。首先,YOLOv2 提出了基于CNN 網(wǎng)絡(luò)的Darknet-19,并使用416×416的輸入格式,這樣的圖片在經(jīng)過5 次下采樣后生成13×13 的特征圖,奇數(shù)的特征圖會使獲得的中心點特征更加準(zhǔn)確。YOLOv2還采用了大量的小技巧來提升準(zhǔn)確率,包括批量正則化,基于K-means算法生成錨點,遷移學(xué)習(xí)等。

2.1.3 YOLOv3

YOLOv3[16]是在YOLO 之前的基礎(chǔ)上,借鑒了一些優(yōu)秀的方案,從而實現(xiàn)更高的準(zhǔn)確率。主要的改進(jìn)方案為:網(wǎng)絡(luò)結(jié)構(gòu)調(diào)整;多尺度預(yù)測;logistic代替Softmax進(jìn)行分類。

在網(wǎng)絡(luò)結(jié)構(gòu)上,YOLOv3 提出了Darknet-53 網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)借鑒了殘差網(wǎng)絡(luò)結(jié)構(gòu),在一些層之間設(shè)置了快捷鏈路,從而加深網(wǎng)絡(luò)結(jié)構(gòu),可以獲得更好的結(jié)果。與YOLOv2 不同,YOLOv3 提出了多尺度預(yù)測的方案。該方案有利于產(chǎn)生不同尺寸的特征圖,從而獲得不同大小的感受野,這有利于檢測不同尺寸的對象。logistic 代替Softmax 進(jìn)行分類,這能夠支持多標(biāo)簽對象。

2.2 YOLOv4改進(jìn)算法

YOLOv4 目標(biāo)檢測算法是以YOLOv3 算法為基礎(chǔ),在數(shù)據(jù)處理、特征提取框架、激活函數(shù),損失函數(shù)等方面進(jìn)行優(yōu)化,從而獲得速度和準(zhǔn)確度上最優(yōu)匹配[17]。YOLOv4 算法主體框架包括以下幾個方面:CSPDarknet53 特征提取網(wǎng)絡(luò),空間池化網(wǎng)絡(luò)SPP[18],特征金字塔PAnet[19],YOLO Head 預(yù)測模型。在CSPDarknet53特征提取網(wǎng)絡(luò)上進(jìn)行修改,將部分殘差網(wǎng)絡(luò)模型替換為稠密網(wǎng)絡(luò)模型,從而減少網(wǎng)絡(luò)參數(shù)量,在保證檢測精度的情況下,提高運算速度,進(jìn)而提高識別效率。改進(jìn)后的網(wǎng)絡(luò)模型如圖1所示。

圖1 YoLov4改進(jìn)算法框架

2.2.1 稠密網(wǎng)絡(luò)模型

為了加快運算速度,減少模型參數(shù)是重要的一步。同時,為了保證檢測結(jié)果的準(zhǔn)確性,需要加強(qiáng)模型對于小特征的特征提取能力,充分利用每個卷積層的輸出信息,采用稠密網(wǎng)絡(luò)模型對部分殘差網(wǎng)絡(luò)模型進(jìn)行代替。

稠密網(wǎng)絡(luò)模型的基本思想和殘差網(wǎng)絡(luò)模型基本一致,都是建立前層和后層的短路連接。由于稠密網(wǎng)絡(luò)充分利用了每個卷積層的特征信息從而可以充分利用前層的特征信息,防止出現(xiàn)梯度消失,可以訓(xùn)練出更深的網(wǎng)絡(luò)模型[20]。稠密網(wǎng)絡(luò)模型如圖2所示。

圖2 稠密網(wǎng)絡(luò)

與殘差網(wǎng)絡(luò)模型有所不同,稠密網(wǎng)絡(luò)模型建立了與前面所有層與后面層的密集連接,從而實現(xiàn)了特征重用,在使用更少參數(shù)和計算成本的情況下獲得更優(yōu)異的性能。在稠密網(wǎng)絡(luò)模型中,會連接前面所有的層作為輸入,其表達(dá)式如式(3)所示:

式(3)中,[]代表了拼接操作,指在將x0層至xi-1層按維度方向進(jìn)行拼接,并將其作為輸入。Hi(·)代表了一些非線性轉(zhuǎn)化函數(shù),目的是將輸入進(jìn)行非線性操作。

2.2.2 YOLOv4目標(biāo)檢測改進(jìn)算法流程

如圖1 所示,改進(jìn)后的YOLOv4 算法主要由以下幾部分組成:M-CSPDarknet53 模型,PAnet 特征金字塔,SPP空間池化結(jié)構(gòu),YOLO Head預(yù)測模型。

訓(xùn)練圖片首先經(jīng)過M-CSPDarknet53 模型進(jìn)行特征提取,原特征提取結(jié)構(gòu)是由殘差網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行特征提取和加深網(wǎng)絡(luò),在M-CSPDarknet53 模型中,將最后兩層的殘差網(wǎng)絡(luò)層替換為稠密網(wǎng)絡(luò)層,從而減少訓(xùn)練參數(shù),提高訓(xùn)練和預(yù)測速度,并且可以保證預(yù)測結(jié)果的準(zhǔn)確性。

在M-CSPDarknet53 最后一個特征層之后,增加了一個空間池化金字塔(SPP)結(jié)構(gòu)。由于在實際操作時,不可能一直輸入固定尺寸的圖片,通常情況下,為了滿足神經(jīng)網(wǎng)絡(luò)的輸入尺寸要求,需要對輸入圖片進(jìn)行處理。大部分的處理方式是裁剪或者拉伸,這樣會導(dǎo)致圖像的橫縱比發(fā)生改變,甚至丟失部分特征。使用SPP 結(jié)構(gòu)可以處理不同尺寸的圖像,一定程度上保證了尺寸不變性。由于訓(xùn)練圖像尺寸的多樣性高,有利于網(wǎng)絡(luò)收斂,在一定程度上降低過過擬合。

圖像經(jīng)過M-CSPDarknet53 結(jié)構(gòu)和SPP 結(jié)構(gòu)后,會生成尺寸分別為(76,76,256)、(38,38,512)、(19,19,1024)的特征層,特征層會經(jīng)過PANet特征金字塔結(jié)構(gòu),最后通過YoLo Head 進(jìn)行預(yù)測。特征金字塔采用上采樣的方式利用了底層特征的高分辨信息和高層的語義特征信息,從而保證了圖像信息的完整性,有利于圖像的識別定位。

經(jīng)過特征金字塔處理后的特征層輸入到Y(jié)OLO Head,YOLO Head 對輸入的3 個不同尺寸的特征層進(jìn)行預(yù)測,從而得出預(yù)測結(jié)果。

3 數(shù)據(jù)增強(qiáng)

一般來說,比較成功的神經(jīng)網(wǎng)絡(luò)需要大量的參數(shù),而使這些參數(shù)能夠正常工作則需要大量的數(shù)據(jù),但是在實際情況中,數(shù)據(jù)的數(shù)量并沒有想象的那么多。因此,需要采用數(shù)據(jù)增強(qiáng)的方法來對原數(shù)據(jù)進(jìn)行擴(kuò)充,從而獲得更多的樣本。本文中采用的數(shù)據(jù)增強(qiáng)的方法為通用數(shù)據(jù)增強(qiáng)方法和Mosaic 增強(qiáng)方法。

3.1 通用數(shù)據(jù)增強(qiáng)

通用的數(shù)據(jù)增強(qiáng)方法包括對圖片進(jìn)行平移、隨機(jī)剪裁、加噪聲、鏡像等。增強(qiáng)效果如圖3所示。

圖3 數(shù)據(jù)增強(qiáng)

3.2 Mosaic數(shù)據(jù)增強(qiáng)方法

Mosaic 數(shù)據(jù)增強(qiáng)方法是在YOLOv4 算法提出的圖像增強(qiáng)方法,借鑒于CutMix[21]數(shù)據(jù)增強(qiáng)方法。不同于CutMix,Mosaic 增強(qiáng)方法一次性讀取4 張圖片進(jìn)行拼接,該方法首先讀取四張圖片,然后分別對四張圖片進(jìn)行翻轉(zhuǎn)、縮放、色域變化等,并且安四個方向位置擺好,最后對圖片進(jìn)行拼接。示意圖如圖4所示。

圖4 Mosaic數(shù)據(jù)增強(qiáng)

4 實驗過程與結(jié)果

4.1 數(shù)據(jù)處理

論文中采用的數(shù)據(jù)集為德國DAGM2007 數(shù)據(jù)集,選用了其中8 種類型的缺陷作為檢測樣本。由于數(shù)據(jù)集中缺陷樣本較少,因此采用數(shù)據(jù)增強(qiáng)的方式增加缺陷樣本數(shù)量。采用的數(shù)據(jù)增強(qiáng)方法為旋轉(zhuǎn),加噪聲以及Mosaic 數(shù)據(jù)增強(qiáng)方法,共計生成6800張缺陷圖片。

4.2 實驗評判標(biāo)準(zhǔn)

在本論文實驗中,將處理每張圖片的時間作為效率指標(biāo),采用mAP和AP來衡量改進(jìn)算法的檢測性能。計算mAP和AP首先要計算準(zhǔn)確率和召回率,準(zhǔn)確率和召回率的計算公式如下:

其中,pr代表準(zhǔn)確率,re代表召回率。TP是檢測缺陷種類正確的數(shù)量,F(xiàn)P是檢測錯誤的數(shù)量,F(xiàn)N是沒有檢測出缺陷的數(shù)量。針對每個種類的缺陷,計算出pr和re,畫出PR曲線。計算PR的面積即為AP,所有缺陷的平均精度為mAP。公式如下。

5 實驗過程和結(jié)果

數(shù)據(jù)增強(qiáng)后的缺陷樣本總共6800 張,選取其中80%作為訓(xùn)練集,用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),10%作為驗證集,10%作為測試集。

實驗所用GPU 為Gtx1070Ti,顯存8G。軟件部分采用Ubuntu18.04 系統(tǒng)。使用Python3.0 作為編程語言,采用Keras 作為深度學(xué)習(xí)框架。對于數(shù)據(jù)集的標(biāo)注則采用Labelimg。

訓(xùn)練結(jié)果如圖5所示。

圖5 改進(jìn)算法Loss值

將改進(jìn)后的YOLOv4 算法和原算法進(jìn)行對比,對比結(jié)果如圖6 所示。同時對比了兩者的檢測時間和mAP,結(jié)果如表1所示。

表1 改進(jìn)前后算法對比

圖6 各個缺陷檢測AP 值

6 結(jié)語

本研究提出了基于改進(jìn)的YOLOv4 的目標(biāo)檢測算法,以德國DAGM2007 缺陷數(shù)據(jù)集為檢測樣本,通過數(shù)據(jù)增強(qiáng)的方式對缺陷樣本的數(shù)量進(jìn)行擴(kuò)充。通過實驗,對比了改進(jìn)算法和原算法的檢測精度和速度,改進(jìn)算法可以達(dá)到97%,每張圖片的檢測時間為49.57ms。改進(jìn)之后的算法在保證檢測精度的同時,可以明顯提升檢測速度,從而提升檢測效率。

猜你喜歡
特征提取預(yù)測特征
無可預(yù)測
黃河之聲(2022年10期)2022-09-27 13:59:46
選修2-2期中考試預(yù)測卷(B卷)
選修2-2期中考試預(yù)測卷(A卷)
如何表達(dá)“特征”
不忠誠的四個特征
基于Daubechies(dbN)的飛行器音頻特征提取
電子制作(2018年19期)2018-11-14 02:37:08
抓住特征巧觀察
不必預(yù)測未來,只需把握現(xiàn)在
Bagging RCSP腦電特征提取算法
基于MED和循環(huán)域解調(diào)的多故障特征提取
南阳市| 饶河县| 张家港市| 白沙| 洛南县| 工布江达县| 泽普县| 佳木斯市| 富裕县| 武清区| 茂名市| 孝义市| 昌宁县| 墨江| 枞阳县| 台山市| 本溪| 正蓝旗| 章丘市| 永登县| 南华县| 镇坪县| 南充市| 东源县| 高青县| 时尚| 宁远县| 绥滨县| 尼木县| 枣庄市| 侯马市| 门源| 即墨市| 兴和县| 东乡族自治县| 九龙城区| 腾冲县| 开原市| 年辖:市辖区| 庄河市| 黄浦区|