王石生,杜呈欣,孟宇坤,白麗,高凡
中國鐵道科學(xué)研究院集團(tuán)有限公司電子計(jì)算技術(shù)研究所,北京,100081
近十年來中國的新能源汽車產(chǎn)量逐年遞增,作為關(guān)鍵材料的壓鑄鋁件,常出現(xiàn)爬料、劃痕、磕碰等缺陷,影響部件的性能及壽命,需在生產(chǎn)過程中進(jìn)行質(zhì)檢。對于壓鑄鋁件端面缺陷檢測,當(dāng)前國內(nèi)仍由人工肉眼判別及尺規(guī)測量來完成。人工質(zhì)檢既耗時(shí)又費(fèi)力,產(chǎn)品的質(zhì)檢質(zhì)量也不穩(wěn)定。而對于類似場景的板材等缺陷,目前市面上常見采用傳統(tǒng)圖像處理方法進(jìn)行檢測[1],使用過程中較為耗時(shí),且當(dāng)圖像放大到接近微觀表達(dá),依靠傳統(tǒng)圖像處理很難從粗糙的表面中提取到具有不同形態(tài)特征的缺陷。隨著人工智能的發(fā)展,以YOLO系列[2]為代表的深度學(xué)習(xí)技術(shù)可以自動學(xué)習(xí)缺陷特征,避免形態(tài)特征不完善表達(dá),使得表面缺陷智能視覺檢測成為可能。
本文針對壓鑄鋁件端面缺陷,采用了一種基于圖像處理與YOLO v4的缺陷檢測模型,利用現(xiàn)場采集的端面缺陷數(shù)據(jù),對零部件質(zhì)量情況進(jìn)行分析與統(tǒng)計(jì),實(shí)現(xiàn)對壓鑄鋁零部件的智能質(zhì)檢。
本文的研究對象是基于壓鑄工藝的汽車熱總成鋁合金件的多個(gè)環(huán)形端面,壓鑄鋁件端面缺陷種類如圖1所示,包括磕碰、異物、爬料、劃痕四類缺陷,端面背景雜亂,存在刀痕和水漬的干擾。
圖1 端面缺陷示意圖
所采集的圖像需要突顯出缺陷特征,本文采用環(huán)形正面藍(lán)光、面陣2D相機(jī)、遠(yuǎn)心鏡頭的組合來拍攝圖像,并基于VOC2007格式[3]人工標(biāo)注缺陷。神經(jīng)網(wǎng)絡(luò)模型需要海量數(shù)據(jù)集支撐,為此,本文采用數(shù)據(jù)合成和數(shù)據(jù)增強(qiáng)的方式擴(kuò)充數(shù)據(jù)集。
本文將多種缺陷從背景中人工提取出來,并將缺陷數(shù)據(jù)的背景設(shè)為透明,以隨機(jī)方式將缺陷樣本與真實(shí)雜亂的端面背景進(jìn)行融合,融合過程中將缺陷進(jìn)行旋轉(zhuǎn)、縮放、亮度調(diào)節(jié)等操作,提升合成數(shù)據(jù)的真實(shí)性及多樣性。將合成缺陷數(shù)據(jù)和真實(shí)缺陷數(shù)據(jù)都進(jìn)行數(shù)據(jù)增強(qiáng),包括如裁剪、平移等幾何變換,和添加噪聲、模糊、直方圖均衡化等像素變換。這種數(shù)據(jù)合成與數(shù)據(jù)增強(qiáng)的方式可以短時(shí)高效地為訓(xùn)練模型提供大量數(shù)據(jù)樣本,提高模型泛化能力和魯棒性。
針對端面背景雜亂、不同端面檢測部位不一的情況,本文使用傳統(tǒng)圖像處理方法將待測圓環(huán)提取出來,如圖2所示。
圖2 端面待測區(qū)域提取流程圖
首先尋找合適的特征進(jìn)行定位,通過感興趣區(qū)域?qū)⑺x特征進(jìn)行初步分割,由直方圖均衡化和邏輯非運(yùn)算將圖片的明暗對比度提高,并且將圖片的明暗分布取反;接著進(jìn)行二值化操作,在消除部分干擾物的影響的同時(shí)提高目標(biāo)圓的邊緣梯度值,利用泛洪填充算法將圓環(huán)填充為一個(gè)完整的圓形;然后通過尋找最大連通域?qū)⒛繕?biāo)圓從背景中提取出來;再利用Canny算子提取目標(biāo)圓的邊緣離散像素點(diǎn)[4];最后結(jié)合最小二乘擬合法與Huber算法來迭代擬合圓,利用得到的圓心和半徑,結(jié)合實(shí)際工件的尺寸將檢測范圍從原圖中分割出來。具體的迭代擬合過程如下:
先使用最小二乘法擬合出初始圓心和半徑,然后使用Huber算法利用最速下降法來迭代擬合圓。令:
最小二乘擬合要求距離的平方和最小,也就是f最小,為便于求解析解,上式可化簡為:
當(dāng)f取極小值時(shí),可求出初始圓心坐標(biāo)和初始圓半徑R。將初始圓心半徑代入到Huber算法進(jìn)行迭代優(yōu)化。使用優(yōu)化過的最小二乘法進(jìn)行迭代,將單個(gè)邊緣點(diǎn)到目標(biāo)圓的距離ei作為自變量帶入到Huber函數(shù)中:
可得到共線總誤差一個(gè)正的樣本誤差,自變量待求的參數(shù)向量為,目標(biāo)函數(shù)為:
采用最速下降法求解,最速下降法的核心在于自變量沿著負(fù)梯度迭代變化時(shí),函數(shù)下降最快。直到循環(huán)次數(shù)達(dá)到上限或目標(biāo)函數(shù)的值與上一次迭代的目標(biāo)函數(shù)的值之差小于某一設(shè)定閾值時(shí)停止迭代,得到最終的圓心坐標(biāo)和圓半徑。
本文采用基于YOLO v4的檢測模型實(shí)現(xiàn)對壓鑄鋁件端面缺陷的識別與定位,模型結(jié)構(gòu)如圖3所示。
圖3 基于YOLO v4的缺陷檢測模型
主體特征提取網(wǎng)絡(luò)使用了CSPDarknet53,在保證模型識別精度的同時(shí)減少算力消耗[5]。同時(shí)將主體網(wǎng)絡(luò)的激活函數(shù)改為Mish函數(shù),避免飽和,令梯度下降得更好。
在主體特征提取網(wǎng)絡(luò)后加入一個(gè)SSPP(sampling spatial pyramid pooling)模塊,較SPP[6]模塊多一個(gè)均勻采樣操作。具體地,先對特征圖進(jìn)行均勻采樣,再用三種不同尺度的池化核以采樣點(diǎn)為中心作最大池化,用以提取局部特征信息,同時(shí)直接使用最大池化處理采樣后的特征圖,用以提取全局特征信息,最后將全局與局部融合拼接在一起。這種SSPP模塊,能夠全融合特征信息,可以避免感受野信息的冗余,提高模型的運(yùn)算速度。
在預(yù)測分支中使用PANet[7]結(jié)構(gòu),采用拼接操作融合多尺度特征,利用淺層特征彌補(bǔ)網(wǎng)絡(luò)層數(shù)加深而帶來的信息損失,提升模型的檢測性能。網(wǎng)絡(luò)輸出三種不同尺度,預(yù)測出相對預(yù)設(shè)錨框的位置、置信度和類別概率。
其中,S代表網(wǎng)格尺寸,B代表候選框個(gè)數(shù)。
本文采用Adam迭代優(yōu)化網(wǎng)絡(luò),利用L2正則化防止訓(xùn)練過擬合,采用預(yù)熱學(xué)習(xí)率策略對學(xué)習(xí)率進(jìn)行更新調(diào)整,訓(xùn)練epoch設(shè)置為3000。
本文使用合成數(shù)據(jù)和真實(shí)數(shù)據(jù)的混合數(shù)據(jù)作為模型的訓(xùn)練集,使用剩余的真實(shí)數(shù)據(jù)作為模型的測試集。由于現(xiàn)場汽車熱總成零部件大多質(zhì)量優(yōu)良,采集到的四類缺陷每類真實(shí)數(shù)據(jù)為700張,經(jīng)過數(shù)據(jù)增強(qiáng)及人工合成后擴(kuò)充至7000張。
模型采用Pytorch1.2.0搭建,Torchvision為0.4.0版本,CUDA為10.0.130版本,CUDNN為7.5.0版本。在一張TITAN RTX(24G)顯卡上訓(xùn)練,設(shè)備現(xiàn)場使用GeForce RTX 2080 Ti顯卡進(jìn)行壓鑄鋁件質(zhì)檢分析。
本文采用精確率P(Precision)和召回率R(Recal)作為模型推理準(zhǔn)確性的衡量指標(biāo),采用誤檢率FA(False Alarm)和漏檢率M(Miss Rate)作為設(shè)備實(shí)際質(zhì)檢效果的評價(jià)指標(biāo)。四種量化指標(biāo)的定義為:
其中,TP表示實(shí)際為正、預(yù)測為正的樣本數(shù)量,F(xiàn)P表示實(shí)際為負(fù)、預(yù)測為正的樣本數(shù)量,F(xiàn)N表示實(shí)際為正、預(yù)測為負(fù)的樣本數(shù)量。對于精確率和召回率,將每個(gè)圖像作為樣本進(jìn)行統(tǒng)計(jì);對于設(shè)備質(zhì)檢,將每個(gè)汽車熱總成零部件作為樣本進(jìn)行統(tǒng)計(jì),每個(gè)零部件共有40個(gè)待測環(huán)形端面。
實(shí)驗(yàn)結(jié)果如表1所示,缺陷檢測可視化效果如圖4所示。通過結(jié)果可以看出,本文模型在壓鑄鋁件端面缺陷檢測任務(wù)中具備有效性和可靠性。
表1 端面缺陷檢測模型評價(jià)結(jié)果
圖4 端面缺陷檢測效果示意圖
本文基于PyQT搭建了如圖5所示的軟件界面,將缺陷檢測算法、追溯統(tǒng)計(jì)分析集成為一套質(zhì)檢系統(tǒng),能夠?qū)崟r(shí)檢測零部件、統(tǒng)計(jì)存儲檢測影像,并配備貼標(biāo)機(jī),能夠?qū)崿F(xiàn)產(chǎn)品便捷追溯。
圖5 缺陷在線檢測軟件系統(tǒng)
針對基于壓鑄工藝的汽車熱總成鋁合金件的多個(gè)環(huán)形端面存在磕碰、異物、爬料、劃痕四類缺陷類型,本文提出一種基于傳統(tǒng)圖像處理和YOLO v4的端面缺陷檢測方法。通過現(xiàn)場采集照片及人工標(biāo)注,制作端面缺陷數(shù)據(jù)集,通過數(shù)據(jù)合成和數(shù)據(jù)增強(qiáng)的方式對數(shù)據(jù)集進(jìn)行樣本增廣,解決數(shù)據(jù)積累難、數(shù)據(jù)量少的問題;通過傳統(tǒng)圖像處理,可將雜亂背景剔除,讓模型更關(guān)注于端面本身;通過改進(jìn)的YOLO v4算法,運(yùn)算量降低的同時(shí),識別精度達(dá)99.8%,證明該算法可實(shí)現(xiàn)對壓鑄鋁件端面缺陷的快速準(zhǔn)確檢測。