申科翔 方群
摘要:汽車零部件缺陷檢測(cè)通常采用基于 YOLOV7 的深度學(xué)習(xí)模型,針對(duì)生產(chǎn)環(huán)境中計(jì)算資源受限的問(wèn)題,提出了改進(jìn) YOLOV7 的汽車零部件表面缺陷檢測(cè)算法,首先使用MobileNetV3模塊替換YOLOV7骨干網(wǎng)絡(luò),其次將頸部網(wǎng)絡(luò)替換為重復(fù)加權(quán)雙向特征金字塔網(wǎng)絡(luò)BiFPN和多路徑高效設(shè)計(jì)BepC3模塊,最后采用一種基于高斯Wasserstein距離的回歸損失函數(shù)代替原有的損失函數(shù)。實(shí)驗(yàn)結(jié)果表明,該算法相較傳統(tǒng)YOLOV7的AP50精度提高0.155,比YOLOx算法AP50精度提高0.139,在檢測(cè)精度和效率方面綜合表現(xiàn)優(yōu)異。
關(guān)鍵詞:零件缺陷檢測(cè);YOLOV7;MobileNetV3;數(shù)據(jù)增強(qiáng);輕量化網(wǎng)絡(luò)
中圖分類號(hào):TP391.4 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1001-2443(2024)02-0118-05
引言
在汽車零部件生產(chǎn)中,產(chǎn)出的零部件難免會(huì)出現(xiàn)各種影響質(zhì)量的缺陷,因?yàn)樵牧系牟町悺⑸a(chǎn)環(huán)境的變化或者是設(shè)備的故障等等。汽車生產(chǎn)過(guò)程當(dāng)中,汽車零件的生產(chǎn)質(zhì)量要求很高,因此為了提高產(chǎn)出零件的質(zhì)量,質(zhì)檢工作便成了工業(yè)生產(chǎn)過(guò)程中的重要環(huán)節(jié)。傳統(tǒng)的工業(yè)質(zhì)檢多用人工觀察法,不僅受主觀經(jīng)驗(yàn)影響較大,同時(shí)投入的人工成本也相當(dāng)高,從而大幅增加了零件生產(chǎn)成本和風(fēng)險(xiǎn)。所以,高效完成零件的自動(dòng)化檢測(cè),對(duì)于汽車零件的生產(chǎn)過(guò)程具有關(guān)鍵作用。
表面缺陷檢測(cè)技術(shù)[1]在工業(yè)零件生產(chǎn)中的很多環(huán)節(jié)例如材料質(zhì)檢,機(jī)器診斷,損耗檢測(cè)等方面均取得了較好的表現(xiàn),但對(duì)于零部件表面缺陷檢測(cè)的研究仍然不多,并且通常為了提高模型的檢測(cè)能力,忽略了對(duì)于計(jì)算資源的使用效率。由于實(shí)際生產(chǎn)中對(duì)于檢測(cè)效率有著較高的要求,并且考慮到計(jì)算資源容易受運(yùn)營(yíng)成本的限制,如何能夠在性能上對(duì)檢測(cè)精度和檢測(cè)速度做綜合的平衡,正是工件缺陷檢測(cè)[2]的研究需要解決的問(wèn)題。YOLO算法是由Redmon等[3]提出的一步(one-stage)目標(biāo)檢測(cè)算法,將目標(biāo)檢測(cè)[2]問(wèn)題轉(zhuǎn)化為簡(jiǎn)單的回歸任務(wù),大幅提高了檢測(cè)效率。 YOLOV7是YOLO系列算法的第7代,作者降低模型的訓(xùn)練門檻,提高卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN[5])的準(zhǔn)確性,在顯著提高了檢測(cè)精度的情況下,同時(shí)檢測(cè)速度沒(méi)有下降。
盡管 YOLOV7 在圖像辨識(shí)與目標(biāo)偵測(cè)上表現(xiàn)優(yōu)異,但小目標(biāo)偵測(cè)仍有失準(zhǔn)的情形,常有漏檢、誤檢的情形發(fā)生,因此需要優(yōu)化模型、壓縮網(wǎng)絡(luò)參數(shù)數(shù)量、提高小目標(biāo)精確度,尤其是針對(duì)汽車零件的缺陷檢測(cè),以確保不降低模型性能。MobileNet[6]模型是Google針對(duì)手機(jī)等嵌入式設(shè)備提出的一種輕量化深度神經(jīng)網(wǎng)絡(luò)模塊,使用的核心思想是深度可分離卷積,但整流線性單元(Rectified Linear Unit,ReLU)激活函數(shù)因?yàn)闆](méi)有使用殘差結(jié)構(gòu)從而信息損失問(wèn)題嚴(yán)重,導(dǎo)致在通道數(shù)較少的低維特征層上提取特征更加單一。借鑒以上的方法,本文選擇使用輕量級(jí)網(wǎng)絡(luò)(Mobile Network Version3,MobileNetV3[7])作為YOLOV7的網(wǎng)絡(luò)基礎(chǔ)構(gòu)架,同時(shí)將頸部網(wǎng)絡(luò)替換為重復(fù)加權(quán)雙向特征金字塔網(wǎng)絡(luò)(feature pyramid network,F(xiàn)PN[8])和多路徑高效設(shè)計(jì)模塊BepC3。MobileNetV3提出了一種具有線性瓶頸的倒置殘差結(jié)構(gòu)[7]單元Irblock,該模塊解決了原模型激活函數(shù)的特征信息損耗問(wèn)題,增強(qiáng)了模型的檢測(cè)性能,同時(shí)YOLOV7的激活函數(shù)在通道數(shù)較少的低維特征層[10]上有嚴(yán)重的信息損失[11]問(wèn)題,這些都會(huì)極大程度上影響對(duì)于汽車零件缺陷檢測(cè)的準(zhǔn)確度。
本文主要貢獻(xiàn)如下:
(1)將特征提取網(wǎng)絡(luò)優(yōu)化成新的骨干網(wǎng)絡(luò),改進(jìn)后的骨干網(wǎng)絡(luò)融入了MobileNetV3模塊,加入注意力機(jī)制的網(wǎng)絡(luò)設(shè)計(jì)以提高模型的準(zhǔn)確度。
(2)采用BiFPN模塊和BepC3模塊替代原YOLOV7的頸部網(wǎng)絡(luò),增強(qiáng)了模型多尺度特征融合的能力,增強(qiáng)對(duì)汽車零件表面缺陷的檢測(cè)能力。
(3)優(yōu)化v7的損失函數(shù),融合WDLOSS(Wasserstein distance loss)模塊,使模型可以收斂至更高的精度。
1 系統(tǒng)模型
汽車零部件缺陷檢測(cè)算法中的網(wǎng)絡(luò)模型,對(duì)于獲取到的汽車零部件圖像,在頸部網(wǎng)絡(luò)中輸入MobileNetV3模塊輸出的特征圖,通過(guò)MobileNetV3模塊將得到的特征圖轉(zhuǎn)化為大小不變的多尺度特征圖,其通道數(shù)均為 256 個(gè),為提升系統(tǒng)性能,本文基于 MobileNetV3構(gòu)造YOLOV7網(wǎng)絡(luò)的基礎(chǔ)構(gòu)架,用MobileNetV3模塊替換YOLOV7的原骨干網(wǎng)絡(luò),并將頸部網(wǎng)絡(luò)替換為重復(fù)加權(quán)雙向特征金字塔網(wǎng)絡(luò)bifpn和多路徑高效設(shè)計(jì)BepC3模塊。改進(jìn)后的YOLOV7網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
1.1 引入注意力機(jī)制
注意力機(jī)制(Squeeze-and-Excitation Networks,SE)的核心思想是通過(guò)全連接網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)特征權(quán)重,而不是直接根據(jù)特征通道的數(shù)值分配來(lái)判斷,如圖2所示在輸入SE結(jié)構(gòu)之前,特征圖的各通道重要程度相同,在通過(guò)SE結(jié)構(gòu)之后,有效特征通道的權(quán)重更大。不同顏色代表不同的權(quán)重,使得各特征聲道重要度不同,進(jìn)而使得NewNetworkDepthwisefilter將注意力集中在某些權(quán)重?cái)?shù)值較大的聲道上。在bottlenet結(jié)構(gòu)的depthwise filter模塊之后插入SE結(jié)構(gòu),因?yàn)镾E結(jié)構(gòu)耗時(shí)較多,若將expansion layer的channel變?yōu)樵瓉?lái)的1/4,則既能提高精度,也可控制時(shí)間消耗。
1.2 修改尾部結(jié)構(gòu)
在 MobileNetv3 的 AvgPooling 之前有一個(gè) 1x1 的卷積層,目的是為了更利于結(jié)構(gòu)預(yù)測(cè)從而降低特征圖的維度,為了減少計(jì)算量,V3 被修改后放到了 AvgPooling 的后面。先用 AvgPooling 把特征圖的大小從 7x7 縮小到 1x1,縮小到 1×1 后,再用 1×1 來(lái)增加維度,這樣就減少了 7×7 = 49 倍的運(yùn)算量同時(shí)去掉前面紡錘型卷積的3×3以及1×1卷積,就變成了如圖3所示的結(jié)構(gòu),將其中的3×3以及1×1去掉后,精度并沒(méi)有得到損失,同時(shí)提高了速度。
1.3 增加BiFPN模塊
本文將YOLOV7中的頸部網(wǎng)絡(luò)修改為BiFPN,實(shí)現(xiàn)雙向的深淺層特征融合,將特征信息在不同網(wǎng)絡(luò)層之間的傳遞效率大幅度提升,增強(qiáng)了YOLOV7算法檢測(cè)精度,使模型具有更加優(yōu)越的檢測(cè)性能。模型結(jié)構(gòu)如圖4。
1.4 增加BepC3模塊
為了解決純Repvgg網(wǎng)絡(luò)無(wú)法達(dá)到檢測(cè)準(zhǔn)確性和速度權(quán)衡的問(wèn)題,本文采用了一種新型Bep單元結(jié)構(gòu)。Bep單元由多個(gè)RepConv(重參數(shù)化卷積模塊)線性連接并帶有額外的短路徑。 CSP風(fēng)格是YOLO系列框架中廣泛使用的高效設(shè)計(jì),例如YOLO v5。CSP風(fēng)格結(jié)構(gòu)使用交叉階段部分網(wǎng)絡(luò),實(shí)現(xiàn)了更豐富的梯度組合,同時(shí)減少了計(jì)算量。本文將Bep單元與CSP風(fēng)格結(jié)合,設(shè)計(jì)了一種新型結(jié)構(gòu),命名為BepC3模塊,以平衡準(zhǔn)確性和計(jì)算速度。BepC3的設(shè)計(jì)如圖5所示。
2 損失函數(shù)
旋轉(zhuǎn)檢測(cè)回歸損失設(shè)計(jì)的瓶頸一直是邊界的不連續(xù)及其與最終檢測(cè)度量的不一致。有研究者根據(jù)高斯Wasserstein距離提出了一種回歸損耗,作為解決這一問(wèn)題的基本途徑。具體地說(shuō),通過(guò)梯度反向傳播,可以通過(guò)有效地學(xué)習(xí)旋轉(zhuǎn)邊界框轉(zhuǎn)換成二極高斯分布,從而使不能微量旋轉(zhuǎn)的物體單位受到近似高斯距離(Gward)的損失,通過(guò)梯度反向傳播有效地學(xué)習(xí)。即使在兩個(gè)旋轉(zhuǎn)的邊界框之間沒(méi)有重疊,GWD仍然可以提供學(xué)習(xí)信息,這通常是小目標(biāo)檢測(cè)的情況,尤其適用于體積較小的汽車零部件的缺陷檢測(cè),新框架的分析圖6所示。
3 實(shí)驗(yàn)與分析
3.1 數(shù)據(jù)圖像采集
本文訓(xùn)練數(shù)據(jù)集采用奇瑞汽車工廠提供的汽車零件圖集,共有20000張照片,全部在真實(shí)場(chǎng)景下拍攝,如圖5所示。采集系統(tǒng)由相機(jī)、汽車零件、光源、硬件等部分組成,相機(jī)選用CCD工業(yè)相機(jī),光源采用環(huán)形光源的同軸光。
3.2 實(shí)驗(yàn)環(huán)境
神經(jīng)網(wǎng)絡(luò)訓(xùn)練環(huán)境采用Ryzen5-3600X處理器、32GB內(nèi)存、NVIDIA TeslaP40 GPU 的PC,訓(xùn)練軟件為python3.8,軟件環(huán)境為Pytorch與MMDetection。在和其他常用的圖像檢測(cè)模型相比較時(shí),為了衡量模型檢測(cè)精度,本項(xiàng)研究采用平均精準(zhǔn)度(Average Precision, AP)作為衡量指標(biāo),平均精準(zhǔn)度IOU閾值取AP50(=0.5)與AP50:95(0.5 ~ 0.95)。
3.3 消融實(shí)驗(yàn)
設(shè)置了消融實(shí)驗(yàn),對(duì)本文所提到的改進(jìn)模型網(wǎng)絡(luò)進(jìn)行有效的驗(yàn)證。為了方便性能對(duì)比,YOLOV7原有模型的對(duì)應(yīng)模塊只替換成了相對(duì)應(yīng)的試驗(yàn)?zāi)K。在收集到的數(shù)據(jù)集中,每組模型都要進(jìn)行 400輪的訓(xùn)練。由于數(shù)據(jù)集包含了各種不同尺寸的零件缺陷類型,因此采用平均精確度AP50 與 AP50:95作為衡量該模型性能的標(biāo)準(zhǔn)。實(shí)驗(yàn)編號(hào)和結(jié)果如表1所示。
表1 消融實(shí)驗(yàn)
表1中的本文網(wǎng)絡(luò)為使用MobileNetV3骨干網(wǎng)絡(luò),比較實(shí)驗(yàn)1和本項(xiàng)研究的網(wǎng)絡(luò)可知,MobileNetV3模塊通過(guò)高效提取多尺度特征圖,有效提高了模型檢測(cè)的精度;比較實(shí)驗(yàn)3與實(shí)驗(yàn)4可知,損失函數(shù)在融合WDLOSS之后使網(wǎng)絡(luò)進(jìn)一步收斂,進(jìn)而實(shí)現(xiàn)更高的檢測(cè)精度;比較實(shí)驗(yàn)1與實(shí)驗(yàn)2可知,MobileNetV3模塊通過(guò)高效聚合多尺度特征圖,有效提高了模型檢測(cè)的精度;比較實(shí)驗(yàn)2與實(shí)驗(yàn)3可知,融和了BiFPN+BepC3頸部網(wǎng)絡(luò)優(yōu)化后的MobileNetV3網(wǎng)絡(luò)相較于原YOLOV7模型對(duì)特征的提取有更高的效率,對(duì)于模型的檢測(cè)精度有進(jìn)一步的提升。上述結(jié)果表明本項(xiàng)研究所提出的優(yōu)化方法對(duì)于YOLOV7模型的檢測(cè)效率都有明顯提升。
3.4 橫向?qū)Ρ葘?shí)驗(yàn)
在采集到的20000張汽車零件圖片數(shù)據(jù)集上將改進(jìn)后的算法與一些常見(jiàn)的圖像檢測(cè)模型進(jìn)行對(duì)比試驗(yàn),每一個(gè)模型進(jìn)行400輪訓(xùn)練,由于采集到的數(shù)據(jù)集有大量大小不一種類不同的零件缺陷,故使用AP50、AP50:95與APs50:95作為模型的性能衡量指標(biāo)。實(shí)驗(yàn)結(jié)果如圖8所示。
由圖8可知,在工廠汽車零件缺陷的檢測(cè)場(chǎng)景中,本文所改進(jìn)的模型在常規(guī)檢測(cè)精度與小目標(biāo)檢測(cè)精度均高于RCNN,SSD,RetinaNet等常用汽車零件的缺陷檢測(cè)算法,即使是面對(duì)傳統(tǒng)的yolo x和v7等算法也有著明顯的優(yōu)勢(shì)。在本項(xiàng)研究中對(duì)優(yōu)化之后的YOLOV7模型進(jìn)行400輪訓(xùn)練需要約86.4小時(shí),是原YOLOV7模型所用時(shí)間的3.2倍。
4 結(jié)束語(yǔ)
本文針對(duì)汽車零件缺陷檢測(cè)環(huán)境計(jì)算資源受限問(wèn)題,以YOLOV7作為基礎(chǔ)框架,采用MobileNetV3骨干網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),提高了模型的檢測(cè)精度,同時(shí)也提升了其提取重 要特征的效率。訓(xùn)練時(shí)采用基于高斯Wasserstein距離的損失函數(shù),加速算法收斂至更高精度。雖然在固定目標(biāo)和小規(guī)模目標(biāo)的檢測(cè)中,使用 MobileNetv3 作為骨干網(wǎng)絡(luò)的算法更具優(yōu)勢(shì),但采用這種結(jié)構(gòu)的模型需要更多的計(jì)算資源。未來(lái)研究的重點(diǎn)仍是如何減少零件缺陷檢測(cè)算法所需的訓(xùn)練資源,并提高它們的訓(xùn)練效率。
參考文獻(xiàn)
[1] 趙朗月, 吳一全. 基于機(jī)器視覺(jué)的表面缺陷檢測(cè)方法研究進(jìn)展 [J]. 儀器儀表學(xué)報(bào), 2022, 43 (1): 198-219.
[2] 樊瑋,李晨炫,邢艷,等.航空發(fā)動(dòng)機(jī)損傷圖像的二分類到多分類遞進(jìn)式檢測(cè)網(wǎng)絡(luò)[J].計(jì)算機(jī)應(yīng)用,2021,41(8):2352-2357.
[3] REDMON J,DIVVALA S,GIRSHICK R,et al. You only look once:Unified,real-time object detection[C] Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway:IEEE,2016:779-788.
[5] SZEGEDY C,TOSHEV A, ERHAN D, et al.Deep neural networks for object detection[C] Proc of International Conference on Advances in Neural Information Processing Systems,2013 :25532561
[6] HOWARDA G,ZHU M,CHEN B,et al. MobileNets:efficient convolutional neural networks for mobile vision applications[EB/ OL].[2021-06-08]. https://arxiv. org/pdf/1704. 04861. pdf.
[7] ANDREW HOWARD, MARK SANDLER, GRACe C, et al. Searching for MobileNetV3[J]. ICCV Computer Vision and Pattern Recognition,2019,5(1):1905.02244.
[8] LIN T Y, DOLLAR P, GIRSHICK R,et al.Feature pyramid networks for object detection[J].IEEE Computer Society, 2017.DOI:10.1109/CVPR.2017.106.
[10] 孫博言,王洪元,劉乾,等.基于多尺度和注意力機(jī)制的混合監(jiān)督金屬表面缺陷檢測(cè)[J].智能系統(tǒng)學(xué)報(bào),2023,18(4):886-893.
[11] 程錦鋒,方貴盛,高惠芳.表面缺陷檢測(cè)的機(jī)器視覺(jué)技術(shù)研究進(jìn)展[J].計(jì)算機(jī)應(yīng)用研究,2023,40(4):967-977.
Detection Method of Auto Parts Defects Based on Improved YOLOV7
SHEN Ke-xiang , FANG Qun
(School of Computer and Information,Anhui Normal University,Wuhu 241003,China)
Abstract:The defect detection of automotive components usually adopts a deep learning model based on YOLOV7. In response to the problem of limited computing resources in the production environment, an improved YOLOV7 surface defect detection method for automotive components is proposed. Firstly, the lightweight network model MobileNetV3 is used to replace the YOLOV7 backbone feature extraction network. Secondly, the neck network is replaced with a repeated weighted bidirectional feature pyramid network BiFPN and a multi-path efficient design BepC3 module. Finally, a regression loss function based on Gaussian Wasserstein distance is used to replace the original loss function. The experimental results show that the algorithm improves the accuracy of AP50 by 0.155 compared to the traditional YOLOV7 and 0.139 compared to the YOLOx algorithm. It performs excellently in both detection accuracy and efficiency.
Key words: part defect detection; YOLOV7; Mobile NetV3; data enhancement; lightweight network
(責(zé)任編輯:馬乃玉)