摘 要:飛機(jī)裝配過(guò)程中對(duì)多余物的控制有非常嚴(yán)格的要求,傳統(tǒng)方法是人工巡檢或定時(shí)檢查,本文提出一種基于改進(jìn)YOLOv5s的面向多余物檢測(cè)的目標(biāo)檢測(cè)方法。首先,本文提出一種輕量化模塊,即DGConv模塊,用于替換原有的卷積模塊,能夠有效減少模型參數(shù)。其次,在特征融合網(wǎng)絡(luò)中使用雙向特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)BiFPN,以提升特征的融合度,同時(shí)增加坐標(biāo)注意力機(jī)制CA,在不增加參數(shù)量的情況下提升網(wǎng)絡(luò)的關(guān)注范圍。最后,使用SIoU(Scylla-Iou)作為回歸框損失。試驗(yàn)結(jié)果表明,本文方法的效果滿足要求。
關(guān)鍵詞:DGConv;多余物檢測(cè);YOLOv5s;BiFPN;Coordinate Attention;SIoU
中圖分類號(hào):TP 391" " " 文獻(xiàn)標(biāo)志碼:A
多余物(Foreign Object Debris,F(xiàn)OD)是指遺留在零部件、成品件和整機(jī)上的與工程圖樣、工藝規(guī)范以及其他技術(shù)要求無(wú)關(guān)的物品[1]。目前,多余物檢測(cè)主要方法如下。1)開(kāi)放區(qū)域,一般采用目視檢查的方法。2)狹小區(qū)域,可以使用反光鏡觀察,并使用手電筒補(bǔ)光。3)不可達(dá)區(qū)域,一般采用X光透視檢查。由于多余物產(chǎn)生的隨機(jī)性,因此人工檢查需要耗費(fèi)大量人力和管理成本。本文提出一種檢測(cè)飛機(jī)裝配環(huán)節(jié)中多余物的基于深度學(xué)習(xí)的計(jì)算機(jī)視覺(jué)算法,可在盡量減少模型算力要求的同時(shí)保證檢測(cè)的精確度和速度。
1 YOLOv5s的輕量化和精度提升方法
在多余物檢測(cè)方面,國(guó)內(nèi)、外已經(jīng)有過(guò)一些研究,陳靜[2]提出通過(guò)人工提取特征進(jìn)行復(fù)雜背景下多余物檢測(cè)的方法;楊民等[3]提出利用工業(yè)計(jì)算機(jī)斷層掃描技術(shù)識(shí)別葉片內(nèi)冷通道內(nèi)的多余物;許沖等[4]提出利用原信號(hào)的固有噪聲分量進(jìn)行降噪和多余物特征精確提取,快速準(zhǔn)確地檢測(cè)出航天設(shè)備中存在的多余物。
在計(jì)算機(jī)視覺(jué)方面,越來(lái)越多的科研人員正在研究使用計(jì)算機(jī)視覺(jué)進(jìn)行多余物檢測(cè)。徐駿[5]提出利用毫米波雷達(dá)和圖像識(shí)別技術(shù)識(shí)別機(jī)場(chǎng)跑道上的多余物。隨著深度神經(jīng)網(wǎng)絡(luò)和GPU加速計(jì)算不斷發(fā)展,目標(biāo)檢測(cè)領(lǐng)域獲得高速發(fā)展,目前的研究方向主要是以YOLO(You Only Look Once)系列[6]為代表的一階段檢測(cè)算法和以R-CNN(region-CNN)系列為代表的二階段檢測(cè)算法。
本文主要貢獻(xiàn)如下。1)在飛機(jī)裝配階段,利用基于深度學(xué)習(xí)的計(jì)算機(jī)視覺(jué)技術(shù)進(jìn)行多余物檢測(cè),提升檢測(cè)的效率和時(shí)效性。2)針對(duì)飛機(jī)裝配階段多余物檢測(cè)的特點(diǎn),優(yōu)化了YOLOv5s的網(wǎng)絡(luò)結(jié)構(gòu),增加CA(Coordinate Attention)注意力機(jī)制,使用雙向特征金字塔網(wǎng)絡(luò)BiFPN(Bi-directional Feature Pyramid Network)[7]和SPD(Space to Depth)卷積[8]提升模型的特征提取和融合能力,保證了檢測(cè)精度。3)設(shè)計(jì)了輕量化模塊DGConv(Dense Ghost Convolution),利用DGConv替換原網(wǎng)絡(luò)中的Conv模塊,使模型更輕量化,降低了模型對(duì)算力的要求。
YOLOv5s是YOLOv5系列中最小的模型。YOLOv5s的整體網(wǎng)絡(luò)結(jié)構(gòu)包括3個(gè)部分,主干網(wǎng)絡(luò)(Backbone)、特征融合(Neck)以及檢測(cè)頭(Head)。主干網(wǎng)絡(luò)主要用于提取特征,YOLOv5s將Conv(包括卷積、批量歸一化和激活函數(shù))和C3(包括3個(gè)Conv和Bottleneck層)模塊組成主干網(wǎng)絡(luò)。主干網(wǎng)絡(luò)共經(jīng)歷4次下采樣,形成了5層特征圖。在特征融合部分,使用了路徑聚合網(wǎng)絡(luò)PAN(Path Aggregation Network)結(jié)構(gòu)。在檢測(cè)頭部分,YOLOv5s使用了3個(gè)檢測(cè)頭,尺寸分別為19×19、38×38和76×76,對(duì)應(yīng)不同尺寸的檢測(cè)目標(biāo)。在損失函數(shù)方面,將CIoU(Complete-IoU)作為回歸框損失。
本文改進(jìn)了YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu),使用DGConv替換Conv,降低模型參數(shù)量。在Backbone和Neck中加入注意力模塊CA,提升關(guān)鍵特征提取能力。同時(shí),Neck使用BiFPN結(jié)構(gòu)對(duì)特征圖進(jìn)行雙向連接。在回歸框損失方面,使用SIoU(Scylla-IoU)[9]替換CIOU,提升了回歸速度。
1.1 DGConv模塊
本文提出的DGConv模塊是一種輕量化的卷積模塊,其結(jié)構(gòu)如圖1所示。先使用一個(gè)1×1的卷積壓縮通道數(shù),通道數(shù)降至輸出特征圖通道數(shù)的1/4。再使用一個(gè)3×3的卷積(通道數(shù)為輸出特征圖通道數(shù)的1/4)。最后經(jīng)過(guò)一個(gè)3×3的卷積(通道數(shù)為輸出特征圖通道數(shù)的1/2)。將3次卷積的特征圖進(jìn)行拼接,得到輸出特征圖。DGConv可以顯著降低參數(shù)量。
1.2 CA注意力機(jī)制
CA注意力機(jī)制使網(wǎng)絡(luò)能夠關(guān)注大范圍的位置信息且不會(huì)帶來(lái)過(guò)多計(jì)算量。輸入的特征圖進(jìn)入殘差網(wǎng)絡(luò)后,分別進(jìn)行X方向和Y方向的平均池化,池化后2個(gè)部分的特征圖橫向拼接,經(jīng)過(guò)卷積、批量歸一化和激活函數(shù)后沿著空間維度分解為2個(gè)單獨(dú)的張量,再分別經(jīng)過(guò)卷積和激活函數(shù),最后對(duì)特征圖上各特征值重新分配權(quán)重。
1.3 雙向特征金字塔網(wǎng)絡(luò)(BiFPN)
BiFPN通過(guò)自下而上和自上而下的路徑來(lái)構(gòu)建特征金字塔。在自下而上的路徑中,底層特征通過(guò)上采樣和融合操作進(jìn)行上層傳遞。在自上而下的路徑中,高層特征通過(guò)下采樣和融合操作進(jìn)行下層傳遞。本文使用BiFPN替換原YOLOv5s的PAN結(jié)構(gòu),在最后一次下采樣過(guò)程中,對(duì)P4層的特征圖進(jìn)行雙向連接,可有效捕捉不同層級(jí)的語(yǔ)義信息,PAN和BiFPN的結(jié)構(gòu)如圖2所示。
1.4 損失函數(shù)SIoU
YOLOv5s使用的損失函數(shù)CIoU考慮了預(yù)測(cè)框與真實(shí)框之間的IoU成本、距離成本以及形狀成本。在該基礎(chǔ)上,SIoU增加了角度成本。將SIoU作為損失函數(shù),預(yù)測(cè)框會(huì)快速移動(dòng)至最近的軸(X軸或Y軸),只需要在X坐標(biāo)或Y坐標(biāo)上進(jìn)行回歸。
1.5 SPD卷積
SPD卷積可以替代跨步卷積和池化層。SPD層對(duì)輸入的特征圖進(jìn)行下采樣,但是在通道維度上保留了所有特征信息,因此沒(méi)有特征損失。并在SPD層后添加了一個(gè)非跨步卷積,以增加或減少通道數(shù)量。SPD卷積的結(jié)構(gòu)如圖3所示,本文在網(wǎng)絡(luò)第二次下采樣過(guò)程中使用了SPD結(jié)構(gòu)。
2 試驗(yàn)
2.1 試驗(yàn)環(huán)境
本文的試驗(yàn)環(huán)境基于Windows 11操作系統(tǒng),CPU為INTELI7-13600,顯卡為NVIDIAGTX3060(顯存12G),內(nèi)存32G,開(kāi)發(fā)軟件使用的是Pycharm,Python版本為3.9,cuda版本為11.7,PyTorch版本為2.0.0+cu117。
2.2 數(shù)據(jù)集
本文采集了25種飛機(jī)裝配過(guò)程中常見(jiàn)的物品,包括零件、工具、工裝和輔料等,共600張圖片。其中訓(xùn)練集包括480張圖片,測(cè)試集包括120張圖片。
2.3 評(píng)價(jià)指標(biāo)
本文使用檢測(cè)速度FPS(Frame Per Second)、每秒浮點(diǎn)數(shù)運(yùn)算次數(shù)FLOPs(Floating-point Operations Per second)和全類平均精度mAP@0.5(Mean Average Precision)來(lái)評(píng)價(jià)模型的性能,檢測(cè)速度FPS為每秒檢測(cè)的圖像幀數(shù),反映了模型的運(yùn)行速度,每秒浮點(diǎn)數(shù)運(yùn)算次數(shù)體現(xiàn)了模型對(duì)算力的要求。全類平均精度mAP@0.5代表當(dāng)IoU(intersection over union)為0.5時(shí)各類數(shù)據(jù)的平均準(zhǔn)確率AP(average precision),反映了模型的準(zhǔn)確性,mAP的計(jì)算方法如公式(1)所示。
(1)
式中:n表示數(shù)據(jù)種類。
平均準(zhǔn)確率AP的計(jì)算方法如公式(2)所示。
AP=∫P(R)dR (2)
式中:P表示準(zhǔn)確率(precision);R表示召回率(recall)。
準(zhǔn)確率P的計(jì)算方法如公式(3)所示。
(3)
式中:TP代表預(yù)測(cè)結(jié)果為正樣本,實(shí)際也為正樣本;FP代表預(yù)測(cè)結(jié)果為正樣本,實(shí)際為負(fù)樣本。
召回率R的計(jì)算方法如公式(4)所示。
(4)
式中:TP代表預(yù)測(cè)結(jié)果為正樣本,實(shí)際也為正樣本;FN代表預(yù)測(cè)結(jié)果為負(fù)樣本,實(shí)際為正樣本。
2.4 消融試驗(yàn)
試驗(yàn)在YOLOv5s的基礎(chǔ)上單獨(dú)增加DGConv、CA、BiFPN、SPD以及使用損失函數(shù)SIOU,結(jié)果見(jiàn)表1。單獨(dú)使用DGConv時(shí),浮點(diǎn)數(shù)運(yùn)算次數(shù)下降35%,mAP下降了6.5%;單獨(dú)使用注意力模塊CA,F(xiàn)LOPs下降5.6%,mAP與YOLOv5s持平;單獨(dú)使用BIFPN和SPD時(shí),mAP略有提升,但是SPD的FLOPs增加22.5%;單獨(dú)使用損失函數(shù)SIOU,在FLOPs不變的情況下,mAP提升了1.7%。
再依次增加DGConv、CA、BIFPN、SPD、SIOU進(jìn)行試驗(yàn),最終的結(jié)果是,結(jié)合所有的改進(jìn)后,與YOLOv5s相比,YOLOv5s的mAP提升2.1%,同時(shí)FLOPs降低25%。
2.5 不同模型的對(duì)比
將本文提出的改進(jìn)YOLOv5s與YOLOv3-tiny、YOLOv5s、YOLOv7-tiny進(jìn)行比較,使用相同數(shù)據(jù)集進(jìn)行訓(xùn)練后,得出的模型指標(biāo)見(jiàn)表2。與YOLOv3-tiny相比,YOLOv5s的mAP提升5.5%,F(xiàn)LOPs降低7.7%。與YOLOv5s相比,YOLOv5s的mAP提升2.1%,F(xiàn)LOPs降低25%。與YOLOv7-tiny相比,YOLOv5s的mAP提升3.7%,F(xiàn)LOPs降低10.4%。由此可知,本文提出的改進(jìn)YOLOv5s模型的總體性能優(yōu)于其他3種基線模型。
3 結(jié)語(yǔ)
本文提出了面向飛機(jī)裝配環(huán)節(jié)的基于深度學(xué)習(xí)的多余物檢測(cè)方法。該方法引用并改進(jìn)了YOLOv5s算法,通過(guò)使用輕量化模塊,降低了參數(shù)量,從而降低算法模型對(duì)算力的要求。在該基礎(chǔ)上,通過(guò)增加注意力機(jī)制、修改特征融合的結(jié)構(gòu)等方法,提升算法精度。根據(jù)試驗(yàn)結(jié)果,與YOLOv5s相比,本文改進(jìn)算法的每秒浮點(diǎn)數(shù)運(yùn)算次數(shù)降低了25%,而mAP則提升了1.6%,在FPS方面也能滿足實(shí)時(shí)檢測(cè)的要求。因此,YOLOv5s基本滿足飛機(jī)裝配環(huán)節(jié)多余物檢測(cè)的要求。
參考文獻(xiàn)
[1]汪永琴.航空產(chǎn)品多余物控制研究[J].數(shù)字化用戶,2018(23):207-208.
[2]陳靜.復(fù)雜背景下器件多余物成像檢測(cè)的若干關(guān)鍵技術(shù)研究[D].武漢:華中科技大學(xué),2012.
[3]楊民,孫晶晶,李興東,等.ICT輔助渦輪葉片內(nèi)冷通道多余物檢測(cè)方法[J].航空動(dòng)力學(xué)報(bào),2011,26(11):2433-2438.
[4]許沖,翁藝航,朱駿,等.航天電子設(shè)備多余物自動(dòng)檢測(cè)系統(tǒng)設(shè)計(jì)[J].軟件導(dǎo)刊,2021,20(8):140-144.
[5]徐駿.基于復(fù)合探測(cè)的跑道異物檢測(cè)識(shí)別方法[D].哈爾濱:哈爾濱工業(yè)大學(xué),2022.
[6]JOSEPH REDMON,SANTOSH DIVVALA,ROSS GIRSHICK,
et al.You only look once:Unified,real-time object detection[EB/OL].
[2015-06-08].https://arxiv.org/abs/1506.02640.
[7]TAN M X,PANG R M,QUOC V.LE.EfficientDet:Scalable and efficient object detection[EB/OL].[2020-07-27].https://arxiv.org/pdf/1911.09070.pdf.
[8]RAJA SUNKARA,TIE LUO.No more strided convolutions or pooling:A new CNN building block for low-resolution images and small objects[EB/OL].[2022-08-07].https://doi.org/10.48550/arXiv.2208.03641.
[9]ZHORA GEVORGYAN.SIoU loss:More powerful learning for bounding box regression[EB/OL].[2022-05-25].https://doi.org/10.48550/arXiv.2205.12740.