計成睿
(合肥大學 人工智能與大數(shù)據(jù)學院,安徽 合肥 230601)
中國作為全球最大的汽車市場,在2022年汽車的生產(chǎn)量為2747.6萬輛,同比增長3.4 %,反映出了汽車生產(chǎn)行業(yè)在制造業(yè)中的地位。工業(yè)4.0電子信息化的普及,使得工業(yè)制造過程自動化控制程度進一步大幅提升,汽車生產(chǎn)流水線自動化比例高達95 %。但高自動化生產(chǎn)的過程中同樣存在有一定的概率出現(xiàn)裝配錯誤等問題,目前對于汽車車門裝配工藝檢驗主要仍依靠人工檢測,使用人工方法進行檢測不僅耗時耗力,還容易受到疲勞、心理因素等的影響,發(fā)生漏檢或者誤檢的情況。因此將圖像識別技術應用于汽車車門裝配工藝,對提高檢測效率,實現(xiàn)自動裝配具有重要意義。
深度學習的快速發(fā)展已逐漸取代了傳統(tǒng)算法在計算機視覺領域內(nèi)的應用,深度學習魯棒性的特性也促進了許多計算機視覺技術的落地使用。Pei Z等人[1]提出一種基于Canny邊緣檢測算法和SSDA(順序相似性檢測算法)的焊接部件識別方法,并利用圖像分割來提高Hough變換檢測汽車門焊點的精度。Mo Z等人[2]提出一種基于YOLOv3算法的汽車門板焊點識別方法。YOLOv3利用卷積神經(jīng)網(wǎng)絡提取深度特征,能夠有效區(qū)分圖像特征,準確地識別和檢測焊點位置。Li H等人[3]提出了一種基于點云學習的焊點形狀缺陷檢測方法,該方法主要依靠于其所設計的輕量級神經(jīng)網(wǎng)絡Solder PointNet,網(wǎng)絡利用局部群體注意機制以避免掃描點云中異常點的不利影響,可自適應地找到有利的臨界點特征,同時設計了一種調(diào)制損耗來保證可靠的低誤檢率。You W等人[4]提出了一種基于Faster R-CNN算法來識別汽車門板的焊點,通過VGG16卷積神經(jīng)網(wǎng)絡從圖像中提取特征圖。區(qū)域提案網(wǎng)絡為特征圖生成區(qū)域提案。ROI池化從輸入特征圖和提案中提取提案特征圖。全連接層利用提案特征圖來計算提案的類別,而邊界框回歸器則獲得預測框的準確位置。在本文所研究的汽車門板裝配檢測任務中,擬對螺釘、焊點、扣件這三類裝配點位的裝配情況進行檢測,判斷是否存在有遺漏未裝配的情況。在該任務中主要存在各裝配點位較小、且相似度高不易區(qū)分等難點,為解決上述難點本文提出了一種改進的YOLOv5算法,將原YOLOv5主干網(wǎng)絡的C3模塊加入CBAM注意力機制提升其主干網(wǎng)絡的特征提取能力,然后為了能有效區(qū)分目標間的特征關系對網(wǎng)絡中的SPPF模塊進行改進,增大感受野范圍豐富特征信息提高檢測器相應的分辨及定位能力,以此提高對汽車車門裝配的檢測效率,降低漏檢,誤檢的情況。
結(jié)合流水線生產(chǎn)對于檢驗速度的需求,本文選用了基于端到端回歸預測的YOLOv5網(wǎng)絡作為基線網(wǎng)絡,其精簡的網(wǎng)絡結(jié)構(gòu)設計,對于提升網(wǎng)絡的推理速度有較大的幫助,YOLOv5整體網(wǎng)絡結(jié)構(gòu)如圖1所示。
圖1 YOLOv5網(wǎng)絡結(jié)構(gòu)圖圖
如圖1所示,YOLOv5網(wǎng)絡整體可分為Backbone主干網(wǎng)絡、Neck網(wǎng)絡及檢測器模塊三個部分,其中主干網(wǎng)絡負責進行特征提取操作、Neck網(wǎng)絡負責對低維度及高緯度的的特征進行聚合,而檢測器模塊則負責完成對目標類別判定及位置預測工作。[5]而其整體網(wǎng)絡主要由CBS、C3及SPPF三種網(wǎng)絡層模塊搭建。CBS模塊由卷積層、BatchNorm批歸一化層及SiLU激活函數(shù)層所構(gòu)成。C3模塊是一種重要的組件,包含了3個標準卷積層和N個Bottleneck模塊,在不增加計算量的情況下提高特征表達能力。SPPF模塊中,輸入的特征圖首先經(jīng)由一個CBS模塊做特征的平滑過度,之后輸入到串聯(lián)的三個5×5大小的最大值池化層,在將CBS模塊及三個池化層的輸出由concat層進行拼接,最后再經(jīng)由一個CBS模塊調(diào)整特征圖的通道維度。在SPPF模塊中,兩個5×5大小的池化層串聯(lián)等效于一個9×9大小的池化層,而三個5×5大小的池化層串聯(lián)則等效于一個13×13大小的池化層,因此對于concat層則可匯聚多感受野大小的特征。
綜上所述,YOLOv5網(wǎng)絡各子網(wǎng)絡功能區(qū)劃分明確,且模塊構(gòu)造簡單。使其在檢測速度上具有一定的優(yōu)勢,適合應用于對檢測速度有一定要求的應用場景中,故在后續(xù)的實驗探究中,本文在YOLOv5結(jié)構(gòu)的基礎上做進一步的優(yōu)化改進。
本文對于汽車門板裝配工藝的檢測,具體實施為對:螺釘、焊點、扣件、螺釘孔位、焊點孔位、扣件孔位這六類目標進行檢測,若檢測結(jié)果中螺釘、焊點、扣件的個數(shù)與需裝配的個數(shù)不符或檢測到螺釘孔位、焊點孔位、扣件孔位這三類目標,則可判定裝配工藝存在有漏裝或裝配錯誤等問題。由于螺釘?shù)扰浼把b配孔位相對于車門板目標的形態(tài)較小、且目標間具有較高的相似性,對網(wǎng)絡的特征提取能力有較高的要去。原有的YOLOv5網(wǎng)絡對于小目標特征的提取未做專門設計,使得在檢測精度上無法滿足實用要求。因此本文基于YOLOv5網(wǎng)絡結(jié)構(gòu)進行優(yōu)化設計,強化其對于小目標的特征提取能力。
首先,本文對主干網(wǎng)絡中C3模塊進行優(yōu)化,在C3模塊中引入CBAM注意力機制,CBAM是一種輕量級模塊,在不需太多額外計算的同時,能夠在通道與空間2個維度上提取特征圖的注意力信息,提升檢測精度。該模塊包含了通道注意力模塊和空間注意力模塊兩個子模塊,[6]其網(wǎng)絡結(jié)構(gòu)如圖2所示。
圖2 CBAM模塊結(jié)構(gòu)圖
通道注意力模塊如圖3所示,輸入的特征首先通過平均池化層和最大池化層的操作聚合特征圖的空間信息,然后送入MLP層通過加權求和操作生成通道注意力圖,再經(jīng)過Sigmoid激活操作將特征圖轉(zhuǎn)化為值域在[0,1]的矩陣,即為通道全權值圖,該將權值矩陣與C3-CBAM模塊輸入的特征圖相乘,完成對輸入特征圖的通道注意力計算,生成空間注意力模塊的輸入,通道注意力模塊計算公式為:
圖3 通道注意力機制模塊
MC(F)=σ{MLP[AvgPool(F)]}+MLP[MaxPool(F)]
(1)
空間注意力模塊如圖4所示,將通道注意力模塊的輸出F’作為空間注意力模塊的輸入,首先經(jīng)過首先進行最大池化層與平均池化層,對二者輸出進行融合卷積操作,再經(jīng)過Sigmoid激活操作生成空間全權值圖,將加權系數(shù)MS與空間注意力模塊的輸入特征相乘便得到了最終的輸出特征圖F’’,[7-8]空間注意力模塊計算公式為:
圖4 空間注意力機制模塊
MS(F)=σ(f7×7{[AvgPool(F),maxPool(F)]})
(2)
綜上所述,引入CBAM注意力模塊可以概括為:給定一個輸入特征F,首先經(jīng)過通道注意力模塊,得到輸出結(jié)果F’,該過程如式(3)所示,再將F’輸入到空間注意力模塊,得到F’’該過程如式(4)所示。
F′=MC(F)?F
(3)
F″=MS(F′)?F′
(4)
改進后的C3模塊如圖5所示,該模塊增強主干網(wǎng)絡對于特征的提取能力,提高了目標的檢測精度。
圖5 C3-CBAM模塊
其次,本文對SPPF模塊進行優(yōu)化設計,SPPF模塊在網(wǎng)絡中通過構(gòu)建感受野金字塔結(jié)構(gòu)以提取不同感受野的上下文語義信息進行融合,豐富特征圖的語義信息。但SPPF模塊中感受野金字塔的構(gòu)建為最大池化層,其僅需較少的計算資源即可完成感受野的疊加計算,但無法進行深層次的特征提取。由于本文所檢測的目標具有較高的相似性,為有效區(qū)分目標間的特征關系需依靠語義間的特征信息進行判別,因此本文在SPPF模塊結(jié)構(gòu)的基礎上增加了空洞卷積組,以增強對深層語義特征的進一步提取,[9]優(yōu)化后的模塊本文命名為RFEM(Receptive field expansion module),模塊結(jié)構(gòu)如圖6所示。
圖6 RFEM模塊結(jié)構(gòu)圖
相比于SPPF模塊在RFEM模塊中增加了空洞卷積組,通過空洞卷積組構(gòu)造了感受野金字塔以提取不同粒度大小的特征信息。[10]空洞卷積相比較于標準卷積,其增加了空洞率參數(shù)r調(diào)整卷積核之間的間隔大小。假設原卷積核大小為k,加入空洞率后其卷積核大小k′的計算公式為:
k′=k+(k-1)(r-1)
(5)
以3×3大小的卷積核為例,當空洞率為1時其卷積核大小仍為3×3,空洞率調(diào)整為2時,其卷積核大小則擴大至5×5。即在相同計算參數(shù)的情況下,通過控制空洞率可等效更大的卷積核,以有效降低計算量。如圖6所示,本文基于3×3卷積核分別將空洞率r設置為1、3、5構(gòu)建了空洞卷積組。輸入到RFEM模塊的特征圖由兩條并行的上下文提取支路進行特征計算,其中一條為上述所述的空洞卷積組,其負責對語義級的上下文特征進行提取及合并;另一條支路為原SPPF模塊中最大值池化組。起負責對空間級的上下文特征進行提取及合并。最終,采用concat層將兩條支路所輸出的特征圖進行合并,獲取更豐富的上下文特征信息。
綜上,本文對原網(wǎng)絡的C3模塊及SPPF模塊進行優(yōu)化升級,增強主干網(wǎng)絡對于小目標的特征提取能力,及對于空間、語義層次的上下文特征整合能力。相比于優(yōu)化前,主干網(wǎng)絡所輸出的特征圖增強了目標的權值比,具有更豐富的特征信息,對提高檢測精度起到正向提升作用。
本實驗是基于Windows10操作系統(tǒng),CPU為12th Gen Intel(R) Core(TM) i7-12700K,GPU為NVIDIA GeTForce RTX3090TI,使用Anaconda創(chuàng)建編譯語言為python3.7的虛擬環(huán)境,使用CUDA和cuDNN圖形加速,深度學習框架采用PyTorch1.9。
在數(shù)據(jù)集方面由于數(shù)據(jù)集較少,所以在訓練之前,先通過旋轉(zhuǎn)、裁剪等方法對原有數(shù)據(jù)集進行擴充,增加數(shù)據(jù)量的同時,也提高數(shù)據(jù)的魯棒性。增強后共有汽車門板裝配圖1500張,其中1300張作為訓練集、200張作為測試集。共標記六類目標,每類目標在數(shù)據(jù)集中的樣本個數(shù)情況如表1所示。
表1 樣本分布情況
設定本次實驗,學習率為0.01,動量為0.9,權重衰減設定為0.0005,bacthsize為8,訓練輪數(shù)為500輪,輸入模型的圖片為640×640×3。整個訓練過程的損失函數(shù)的變化情況如圖7所示,根據(jù)損失值的變化可以發(fā)現(xiàn)前300輪的訓練,損失值下降的較快,到500輪時,基本趨于穩(wěn)定,說明網(wǎng)絡已經(jīng)收斂,可以對模型進行測試工作。
圖7 損失函數(shù)曲線
在對模型的檢測性能評測環(huán)節(jié),本文選用以下客觀衡量指標,各衡量指標意義及公式如下所述:
Precision:指模型預測正確的正樣本與其檢測出的所有正樣本數(shù)量之比;
(6)
Recall:指模型預測正確的正樣本與實際所有正樣本的數(shù)量之比;
(7)
其中TP表示模型預測為正樣本且實際也為正樣本的數(shù)量,F(xiàn)P表示模型預測為正樣本但實際為負樣本的數(shù)量,F(xiàn)N表示模型預測為負樣本但實際為正樣本的數(shù)量。
F1-Score:Precision與Recall指標的調(diào)和指標,由于Precision指標與Recall指標存在有互斥關系,因此采用F1-Score指標綜合反映模型的查準率與查全率;
(8)
mAP:AP值計算僅僅是針對一個類別計算精確率,mAP是計算所有類別的精確率取其平均值;
(9)
在實驗環(huán)節(jié),首先本文基于YOLOv5網(wǎng)絡采用消融實驗法,以評估本文所設計的C3-CBAM模塊及RFEM模塊對于網(wǎng)絡檢測性能的提升,在消融實驗中共設置四個網(wǎng)絡,各網(wǎng)絡的設置及評估指標值如表2所示:
表2 消融對比實驗結(jié)果
網(wǎng)絡1即為YOLOv5,其作為網(wǎng)絡2、3、4的參照對比網(wǎng)絡。網(wǎng)絡2相比于網(wǎng)絡1將主干網(wǎng)絡中的C3模塊均替換為C3-CBAM模塊,從數(shù)據(jù)對比中可以發(fā)現(xiàn)網(wǎng)絡2的相對于網(wǎng)絡1綜合性能mAP提高了4.8 %,說明了C3-CBAM模塊對于網(wǎng)絡檢測性能具有一定正向作用。Recall指標相較于替換前有了明顯的增加,但在Precision指標上相比于網(wǎng)絡1也有較明顯下降,說明雖然網(wǎng)絡2的綜合性能有所提高,但對某些特征不明顯類的檢測效果還不是很好。網(wǎng)絡3相比于網(wǎng)絡1,將SPPF模塊替換為RFEM模塊,RFEM模塊通過空洞卷積組對上下文語義特征進行提取,同時將語義特征與原SPPF模塊中的最大值池化層組所提取到的上下文空間形態(tài)特征進行融合,從測試結(jié)果中可以看出采用RFEM模塊對特征不明顯的類別識別有了明顯的改善。網(wǎng)絡4即為本文所設計網(wǎng)絡的最終形態(tài),其結(jié)合了網(wǎng)絡2與網(wǎng)絡3的優(yōu)勢,與網(wǎng)絡1的數(shù)據(jù)相比,在各項指標上均有明顯的提升,從綜合性能指標F1和mAP來看,網(wǎng)絡4的F1和mAP相對于網(wǎng)絡1分別提高了5.4 %和5.9 %,Precision指標提高了2.1 %,Recall指標提高了8.4 %。
為了能夠進一步的證明優(yōu)化后的模型效果要比原模型的效果要好,分別使用網(wǎng)絡4與網(wǎng)絡1的模型在實際車內(nèi)門板的部分檢測效果對比如圖8所示:
從上組對比圖中,可以直觀的看出優(yōu)化后的網(wǎng)絡模型對于扣件和焊點空位缺陷類有了明顯的提高,對焊點缺陷類檢測精度基本保持不變。由此證明改進后的模型在檢測精度上有了較大的提升。
為驗證本文所設計網(wǎng)絡相較于其他類型及同類型的網(wǎng)絡模型在該任務上的檢測性能優(yōu)勢,本文選用了YOLOv3、SSD等目標檢測算法,采用相同數(shù)據(jù)集進行訓練與測試,所得到的對比數(shù)據(jù)結(jié)果如表3所示:
表3 多網(wǎng)絡模型對比結(jié)果
在表3中,首先對比數(shù)據(jù)結(jié)果中可以直觀的看出本文所設計的網(wǎng)絡在各項指標中均最優(yōu)。其他網(wǎng)絡型態(tài)不適用該任務的主要原因如下,YOLOv3整體結(jié)構(gòu)與本文網(wǎng)絡不同,YOLOv3使用的是DarkNet網(wǎng)絡,而YOLOv5使用的是CSPNet,它通過分離卷積和處理重復計算提高了網(wǎng)絡的精度;SSD網(wǎng)絡整體設計以輕量化為主,網(wǎng)絡深度較淺,存在對目標特征提取不充分等問題。
綜上,本文通過消融實驗與多網(wǎng)絡形態(tài)的對比實驗,驗證了本文整體工作的有效性,解決了在汽車門板檢測任務中,零部件相似度高、特征不明顯等難點。
本文基于YOLOv5網(wǎng)絡中的C3即SPPF模塊進行優(yōu)化替換,將優(yōu)化后的網(wǎng)絡用于對汽車門板裝配工藝中相應配件及裝配孔位的檢測。結(jié)合對實際應用場景的難點分析,本文所用的C3-CBAM模塊提升了對于目標特征的感知能力、RFEM模塊提升了對于上下文特征的聚合能力,使得主干網(wǎng)絡的性能有較為顯著的增強。經(jīng)過實驗驗證,本文所設計網(wǎng)絡相比于優(yōu)化前及其他類型的目標檢測網(wǎng)絡,在該任務中整體魯棒性表現(xiàn)最優(yōu)。