?

基于輕量化YOLOv7的白車身焊點定位研究

2024-01-10 03:46譚俊濤黃元毅
車輛與動力技術 2023年4期
關鍵詞:焊點神經網絡目標

謝 寧, 譚俊濤, 陳 梁, 黃元毅

(1.上海通用五菱汽車股份有限公司,柳州 545007;2.湖南大學汽車車身先進設計制造國家重點實驗室,長沙 410082)

白車身焊接機器人是集環境感知、運動規劃和控制于一體的系統.其中,對白車身焊點位置的檢測是實現機器人自動完成焊接質量檢測的重要基礎[1].傳統的基于霍夫圓變換的焊點檢測方法在車間光照條件不好、油污的影響以及焊點自身的形狀不規則等情況下,檢測效果較差.因此,研究復雜環境下焊點的檢測定位方法對于提升白車身質量有著重大意義.

近年來,鑒于深度學習對目標特征具有高度的提取能力,神經網絡被廣泛運用到目標檢測的任務當中.目前,主流的檢測方法主要分為單階段檢測和雙階段檢測兩類[2].雙階段檢測先對檢測圖像進行候選區域生成,再通過卷積神經網絡在區域中進行目標的檢測,代表網絡為R-CNN系列網絡[3].單階段檢測則省去了候選區域生成這一步驟,直接在網絡中對圖像進行特征提取來預測目標的位置和類別,代表網絡有YOLO[4]、SSD[5]系列網絡.單目標檢測網絡的特點是端到端,檢測速度快,其中,最經典的是YOLO(You Only Look Once)系列算法.在車身焊點檢測方法研究中,巴文進[6]利用基于多輪廓聚類分析的類圓檢測方法,相較于霍夫圓檢測能夠在焊點形狀不理想的情況下具有更好的檢測效果,但對于圖像中噪聲較嚴重的情況難以達到好的效果;王振興[7]通過改進YOLOv2來識別焊點,能夠很好的克服在光線環境過亮、過暗以及焊點形狀不規則的情況下,焊點難以識別的問題;馬亞東[8]使用Tiny-YOLOv3算法結合RTCD圓檢測算法來聯合定位焊點位置,精確率和召回率達到了98.5%和88.1%,但從識別效果上來看,焊點漏檢的問題還可以進一步改善.

近年來,YOLO系列不斷更新,新的YOLOv7[9]算法是YOLOv4的原三位作者Chien-Yao Wang、Alexey Bochkovskiy和Hong-Yuan Mark Liao提出.YOLOv7在5 FPS到160 FPS范圍內,速度和精度都超過了所有已知的目標檢測器.針對車間焊點檢測容易受環境光、銹跡和污漬影響的問題及在線檢測實時性的需求,文中選擇兼具檢測魯棒性與速度的YOLOv7系列網絡模型,同時完成其輕量化模型的訓練,降低設備運行性能要求以減小成本,以滿足工廠生產線焊點實際檢測要求.

1 數據集預處理

1.1 數據采集

目標檢測神經網絡需要依托數據集進行訓練,文中研究以焊點檢測為目標,使用工業相機采集白車身焊接車間白車身上4 000張不同光照條件、各種實際工況下的焊點灰度圖片,以保證檢測的穩定性和準確性.圖1為一組不同光照條件和干擾情況下的焊點圖像.

圖1 不同環境下采集的焊點圖像

1.2 數據預處理

使用LabelImg標注工具對數據集中的焊點目標進行標注,并將標注信息保存為Pascal VOC數據集格式.將標注好的4 000張圖片,通過Python腳本對圖片進行一系列的尺寸變換(如縮放、裁剪和翻轉等),擴充到8 000張,其中,5 600 張作為訓練集,2 400 張作為驗證集.由于數據集樣本的數量和復雜程度對網絡模型的檢測準確性和泛用性有很大的影響,網絡通常會在加載數據集時對圖片進行預處理來間接實現數據集的增強.文中通過以下方式對數據集圖像進行增強.

(1)對圖片在HSV顏色空間上進行變換、直方圖均衡化、中值濾波等方法對圖像進行增強;

(2)對1張圖片隨機引入另外3張或8張圖片,通過Mosaic[10]方法生成一張新的圖片,提升了數據的多樣性以及GPU的計算效率;

(3)隨機選擇兩張圖片,將一張圖片中的目標通過CopyPaste[11]方法隨機復制粘貼到另一張圖片中;

圖2為焊點原圖片經過數據增強后輸入神經網絡的圖片.

圖2 經過數據增強的焊點圖片

2 YOLOv7-Tiny算法

YOLOv7是目前具有最優秀性能的端到端目標檢測神經網絡之一,具有檢測速度快、實時性好的特點.由于焊點檢測場景具有單一性,車身焊點形狀幾乎都為類圓形,焊點灰度圖像灰度特征簡單,且檢測類別僅有焊點一類,因此,文中采用YOLOv7的簡化網絡YOLOv7-Tiny作為焊點目標檢測網絡.

YOLOv7-Tiny網絡結構如圖3所示.

2.1 特征提取網絡

YOLOv7-Tiny特征提取網絡由CBL模塊、改進高效長程聚合網絡ELAN-T層和MP層構成.ELAN-T層作為多分支堆疊模塊,由數個CBL模塊拼接而成,最終堆疊模塊的輸入包含多個分支.ELAN-T層與原始ELAN層的區別僅在于CBL模塊連接輸出數量的不同,ELAN-T削減了兩層分支,雖然特征提取能力有所下降,但提升了特征提取的速度.堆疊模塊對應了更密集的殘差結構,使網絡更容易優化,緩解模型深度增加帶來的梯度消失問題.

2.2 特征融合網絡

在卷積神經網絡中,經過層層卷積,高層結果所含的語義特征信息越強,但同時也會使得目標的幾何位置信息越弱,造成位置信息的損失,不利于小目標檢測.YOLOv7-Tiny網絡使用了FPN+PAN的網絡結構,能夠對不同層級的特征進行信息融合,在不同的尺度上對目標進行預測,網絡結構如圖4所示.

圖4 FPN+PAN網絡結構圖

FPN(Feature Pyramid Network)網絡結構類似金字塔,圖片先經過Backbone網絡一系列卷積操作得到高層結果,然后,自上而下對高層結果進行上采樣(Upsample)過程,同時融合來自Backbone網絡中的一些淺層的信息.FPN網絡能夠自上而下地傳遞高層的語義特征信息,但是位置信息的傳遞效果不好,特征信息較弱.PAN(Path Aggregation Network)網絡結構是一個自下而上的金字塔網絡,能夠對FPN網絡進行補充,將底層結果所含較強的位置信息傳遞到上層,得到的結果即包含語義特征信息又包含位置消息.最后,我們在網絡的三個不同尺度上的輸出上對結果進行目標預測.

2.3 輸出檢測端

通過FPN特征金字塔,網絡輸出大中小3個尺度的加強圖像特征,模型會分別將這3個特征傳入檢測端,檢測端負責將特征圖轉換為邊界框和類別概率.檢測端引入隱式表征策略來細化預測結果,對應特征圖大小使用3種目標尺寸的IDetec檢測頭.

2.4 激活函數

YOLOv7原版網絡中默認采用的激活函數為SiLU,具備無上界有下界、平滑、非單調的特性,效果較ReLU要好,特別是在較深的網絡中優勢更明顯.但是考慮到Tiny網絡結構相較YOLOv7簡單,且設備的性能不高,以及對目標檢測的實時性要求,YOLOv7-Tiny采用計算量較小的LeakyReLU激活函數來提升檢測速度.

3 實驗結果分析

3.1 評價標準

評價一個目標檢測神經網絡模型檢測精度的指標,一般采用均值平均精度(mean Average Precision,mAP),評價模型檢測速度則是每秒檢測幀數(Frames Per Second,FPS).mAP是所有檢測類別的平均精度(Average Precision,AP)求和再除以所有類別的平均值.AP值通過畫出召回率(Recall)和準確率(Precision)的曲線,計算曲線圍成的面積得到.將一個正確的目標成功檢測出來則為真正類(True Positive,TP),將一個不正確的目標檢測為正確則為假正類(False Positive,FP).設目標的總數有N個,則模型檢測的召回率為

(1)

模型檢測的準確率為

(2)

對不同的召回率的值記錄對應的最大的準確率,畫出R與P的曲線圖,計算P-R曲線與坐標軸圍成的面積就是模型的AP值:

(3)

3.2 模型訓練

文中使用基于Pytorch的深度學習框架,電腦配置為:顯卡為GTX1050 2GB,CPU為Intel i5-7500 3.40GHz,運行內存為8G.將5 600張焊點圖片作為訓練數據集,同時采用了數據增強的方法來增加樣本.在訓練過程中,計算每一輪結果在驗證集上的損失值,記錄并保存每一輪的訓練結果同時更新網絡權重,根據損失函數對網絡自動進行調整.訓練結果如圖5所示.

圖5 Loss值曲線

模型訓練損失如圖所示,訓練500輪左右,驗證集損失val_loss曲線趨于穩定,模型已經收斂.600輪后,雖然訓練集損失仍在逐步下降,但val_loss曲線開始有上升趨勢,說明模型發生了過擬合.選擇val_loss最小值對應的結果作為模型最終權重進行實驗.

3.3 測試集檢測結果

將訓練得到的目標檢測模型在含有2 400張焊點圖片的驗證集上進行驗證,得到最終結果.不同模型在驗證集下的實驗結果匯總在表中,AP@0.5表示交并比為0.5時的平均精度,AP@0.5∶0.95表示交并比從0.5到0.95,步長為0.05的不同交并比的平均精度的平均值.

從表1中的結果來看,YOLOv2和YOLOv3的AP@0.5∶0.95值為72.8%和64.9%,但是參數量超過50 M,模型過大不利于實際部署,檢測速度也不能滿足實際需求.YOLOv3-Tiny與YOLOv3相比精度提高了10.4%,模型參數量為8.6 M,運行速度和精度優于前兩種算法,但仍不夠理想.相比之下,YOLOv7-Tiny網絡模型精度、FPS和參數量分別達到81.2%、27.83和6.0 M,各方面有顯著提高,雖然精度相比于YOLOv7原網絡下降了1.1%,但TOLOv7-Tiny網絡參數量比YOLOv7減少了30.4 M,檢測的FPS值更是達到了27.83,高出YOLOv7網絡FPS值18.78,更加接近機器視覺檢測幀率的標準,在相同設備條件下運行效率更高,對焊點的檢測能在保證相當精度的情況下更加具有實時性.

表1 不同模型對比結果

3.4 與傳統檢測方法的對比

在對白車身焊點進行精確定位時,基于霍夫變換的圓檢測算法在大多數情況下表現情況都很好,但是遇到圖像信息較為復雜的情況,算法很容易受到噪聲的干擾,導致無法對焊點的檢測出現誤檢、漏檢的情況.

從圖6中可以看出,傳統圖像處理算法在一定程度上能夠檢測焊點信息,但是算法固定的閾值設定會讓檢測在不同環境下的效果不穩定,一張圖片在不同的閾值下會出現不同的結果,而一定的閾值在不同的圖片上可能檢測效果不好,出現漏檢和誤檢的情況.

圖6 基于霍夫圓檢測的傳統焊點檢測方法

圖7是不同光照環境下,以及存在銹跡或油污的焊點圖片用傳統檢測方法和基于神經網絡檢測方法的結果對比.

圖7 檢測方法效果對比

圖7中使用方框標記目標的方法為文中的檢測方法,通過對比可知,設定了固定閾值的傳統焊點識別無法同時滿足不同光照下的焊點檢測,而在圖片中存在銹跡或油污的情況下,圖像邊緣檢測處理算法會受到嚴重的干擾,導致圓檢測基本無法識別目標,產生漏檢或誤檢的情況.而基于YOLOv7-Tiny神經網絡的焊點檢測方法,相比于傳統的檢測算法,能夠識別出不同環境下的焊點位置,在焊點形狀不完全時也具有一定的識別能力,解決了環境干擾下焊點檢測效果差的問題,檢測的魯棒性、檢測準確率大幅提升.

4 結 論

針對汽車白車身焊點檢測問題,文中提出了基于輕量化YOLOv7的焊點檢測方法,建立焊點數據集,并將訓練得到的模型與傳統焊點檢測算法進行比較.實驗結果表明,網絡模型具有參數少、檢測精度高的特點,AP@0.5達到了99.3%,單張檢測時間為0.036秒,表明該輕量化模型能夠適應不同生產環境下的焊點檢測,實現在線實時焊點質量檢測,有效提高車身焊點自動化質量監測的效率.

猜你喜歡
焊點神經網絡目標
神經網絡抑制無線通信干擾探究
焊盤尺寸對SMT焊點可靠性的影響
基于神經網絡的拉矯機控制模型建立
DH36鋼摩擦疊焊焊點分布規律研究
復數神經網絡在基于WiFi的室內LBS應用
基于特征聚集度的FCM-RSVM算法及其在人工焊點缺陷識別中的應用
基于支持向量機回歸和RBF神經網絡的PID整定
SnAgCu/Cu微焊點界面IMC演變及脆斷分析
中學英語之友·上(2008年2期)2008-04-01
中學英語之友·上(2008年2期)2008-04-01
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合