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