齊金龍 張俊峰 戴賢萍 張勁松 胡陟
摘 要:汽車零部件在實(shí)際生產(chǎn)過程中,打磨、拋光等各種無(wú)法確定的因素會(huì)在零部件的表面留下缺陷,從而嚴(yán)重影響車輛的組裝、制造,存在巨大的安全隱患,因此車輛零部件的缺陷檢測(cè)十分重要。零部件缺陷檢測(cè)已從傳統(tǒng)的手工分類發(fā)展為基于機(jī)器視覺的方法。本文基于卷積神經(jīng)網(wǎng)絡(luò)對(duì)VGG16網(wǎng)絡(luò)模型進(jìn)行改進(jìn),提高了模型對(duì)汽車零部件缺陷的檢測(cè)精度。首先,改進(jìn)了網(wǎng)絡(luò)模型的全連接層;其次,在模型中引入了AMF-Softmax損失函數(shù),在達(dá)到更優(yōu)的聚類效果的同時(shí)解決了數(shù)據(jù)不平衡問題,最終實(shí)現(xiàn)了零部件缺陷的識(shí)別與定位。與傳統(tǒng)模型的缺陷檢測(cè)效果比較表明,改進(jìn)的VGG16網(wǎng)絡(luò)結(jié)構(gòu)模型測(cè)試準(zhǔn)確率可以達(dá)到97.59%,在零部件缺陷檢測(cè)方面具有優(yōu)越性。
關(guān)鍵詞: 機(jī)器視覺; 缺陷檢測(cè); 卷積神經(jīng)網(wǎng)絡(luò); VGG16
文章編號(hào): 2095-2163(2021)03-0167-05 中圖分類號(hào): R391.9 文獻(xiàn)標(biāo)志碼: A
【Abstract】 In the actual production process of automobile parts, polishing, polishing and other uncertain factors will leave defects on the surface of the parts, which will seriously affect the assembly and manufacturing of vehicles, and there are huge safety risks, so the defect detection of vehicle parts is very important. Part defect detection has developed from traditional manual classification to machine vision based method. In this paper, the VGG16 network model is improved based on convolutional neural network to improve the detection accuracy of the model for automobile parts defects. Firstly, the full connection layer of the network model is improved. Secondly, AMF-Softmax loss function is introduced into the model, which solves the problem of data imbalance while achieving better clustering effect. Finally, the paper realizes the identification and location of parts defects. Compared with the traditional model, the test accuracy of the improved VGG16 network structure model can reach 97.59%, which has advantages in parts defect detection.
【Key words】 machine vision; defect detection; Convolutional neural network; VGG16
0 引 言
基于機(jī)器視覺的圖像分類是根據(jù)圖像特征使用算法對(duì)其進(jìn)行識(shí)別,類似于人眼識(shí)別的一個(gè)過程,車輛零部件的缺陷檢測(cè)是圖像分類的一種應(yīng)用。伴隨人工智能技術(shù)的發(fā)展,提供了準(zhǔn)確更高、識(shí)別效果更顯著的缺陷檢測(cè)識(shí)別分類方法。其中,2種最常用的方法是基于機(jī)器學(xué)習(xí)的支持向量機(jī)(SVM)和基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)法(CNN)[1]。
國(guó)內(nèi)外利用機(jī)器視覺的方法進(jìn)行缺陷檢測(cè)的研究也越來越多,Han等人[2]提出了基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法對(duì)輪轂表面缺陷檢測(cè);Liu等人[3]提出了Haar-Weibull-Variance模型,可以對(duì)鋼體表面存在的缺陷進(jìn)行檢測(cè);李瑤等人[4]利用CCD攝像機(jī)機(jī)器視覺系統(tǒng)對(duì)金屬等工業(yè)生成板材表面進(jìn)行在線缺陷檢測(cè)。基于機(jī)器視覺的檢測(cè)已逐步取代人工,大大提高了生產(chǎn)效率,降低了檢測(cè)過程中漏檢、錯(cuò)檢的概率。
目前,在一些汽車制造公司,機(jī)器視覺被廣泛用于檢測(cè)車輛裝配過程中的缺陷[5]。首先通過相機(jī)采集待檢測(cè)的零部件圖像,進(jìn)行圖像預(yù)處理,再訓(xùn)練處理后的圖像,構(gòu)建信息模板,然后采集目標(biāo)圖像,提取特征,完成匹配。然而,在檢測(cè)車輛零部件缺陷上仍然有許多問題,包括零部件形狀大小不一,以及缺陷的種類,面積的各不相同;獲取的汽車零部件圖像結(jié)構(gòu)復(fù)雜,還可能存在諸多不相關(guān)因素,噪聲較大,難以進(jìn)行特征提取。
汽車零部件容易產(chǎn)生缺陷的7個(gè)最常見部位包括:前軸左前和中左螺栓、傳動(dòng)軸、駐車鎖、變速器、專用轉(zhuǎn)向工具、右大燈定位螺栓和減震器。本研究基于VGG16的改進(jìn)模型,選取汽車螺栓為缺陷檢測(cè)對(duì)象。3種典型的螺栓部件缺陷,即頂部裂紋、中部磨損、底部殘余、無(wú)缺陷,如圖1所示。
1 VGG模型
卷積神經(jīng)網(wǎng)絡(luò)的深度與其性能之間的變化關(guān)系是VGG模型的主要研究方向,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,具有以下特點(diǎn):
(1)該網(wǎng)絡(luò)模型使用3×3的小卷積核作為濾波器,反復(fù)堆疊出一個(gè)深度為16~19層的卷積神經(jīng)網(wǎng)絡(luò)。隨著網(wǎng)絡(luò)深度的增加,模型的各方面性能也會(huì)隨之提升。
(2)VGG16網(wǎng)絡(luò)結(jié)構(gòu)含有5個(gè)卷積段,每段包含2~3個(gè)卷積層,對(duì)原始圖片進(jìn)行等比例縮放。而原始圖片的大小需要調(diào)整為3×224×224,初始卷積核大小為3×3×3,中間的池化層采用2×2的最大池化函數(shù)進(jìn)行特征降維。
3×3卷積核如圖3所示。由圖3可知,在無(wú)中間池化層中,對(duì)2個(gè)3×3卷積核進(jìn)行堆疊,達(dá)到的效果能夠替代一個(gè)5×5卷積核,即單個(gè)5×5卷積的輸出與2個(gè)3×3卷積級(jí)聯(lián)輸出的尺寸完全一樣。除此之外,3個(gè)串聯(lián)的3×3卷積層產(chǎn)生的參數(shù)數(shù)量也較少,更少的參數(shù)意味著減少過擬合。最重要的是,3個(gè)3×3卷積層具有更多的非線性變換。這樣的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì),可以確保CNN具有更強(qiáng)的學(xué)習(xí)功能。VGG模型中都使用了3×3卷積內(nèi)核和2×2池化內(nèi)核,可以通過深化網(wǎng)絡(luò)結(jié)構(gòu)來提高性能。
VGG16各個(gè)卷積段中的卷積核輸出數(shù)量依次為:64、128、256、512、512。VGG16模型卷積步驟為:
(1)對(duì)2次64個(gè)卷積核的卷積進(jìn)行處理,將處理后的結(jié)果進(jìn)行池化。
(2)經(jīng)過2次128個(gè)卷積核的卷積,仍然進(jìn)行一次池化。
(3)將結(jié)果經(jīng)過3次256個(gè)卷積核的卷積并池化。
(4)還要重復(fù)2次3個(gè)512個(gè)卷積核卷積[6]。
期間每一次卷積處理都要完成一次池化層,所有處理完成后就是全連接層。在卷積過程中,網(wǎng)絡(luò)中需要處理的參數(shù)量會(huì)隨著卷積核數(shù)目的增加而減少。
2 基于VGG16的改進(jìn)模型
為解決檢測(cè)目標(biāo)區(qū)域大小不一,圖像缺陷特征提取失敗問題,提升對(duì)螺栓零部件的缺陷識(shí)別準(zhǔn)確度。本文利用VGG16卷積神經(jīng)網(wǎng)絡(luò)的特性,在其基礎(chǔ)上加以改進(jìn),可以提高提取螺栓零部件圖像特征和識(shí)別精度。
為了提高模型在零部件缺陷檢測(cè)的精度,本文在樣本訓(xùn)練過程中,改變固定層的深度,從而達(dá)到對(duì)全連接層的改進(jìn)。同時(shí),通過改進(jìn)損失函數(shù),減少類內(nèi)特征的差異性,解決螺栓零部件數(shù)據(jù)庫(kù)不均衡問題。本文基于VGG16設(shè)計(jì)的VGG-2CF網(wǎng)絡(luò),通過增加卷積特性圖中包含信息數(shù)量,從而提高識(shí)別能力。
其主要流程如下:
先是采集螺栓零部件數(shù)據(jù)集,挑選出需要識(shí)別的類別圖像,作為訓(xùn)練集與測(cè)試集使用;由于采集的螺栓零部件圖像中存在較多噪聲,在螺栓圖像進(jìn)行特征提取前,需要進(jìn)行濾波、去噪、增強(qiáng)等預(yù)處理操作; 接著,將整體平均池化后的Conv3和Conv5經(jīng)過L2歸一化方法解決并實(shí)現(xiàn)連接;再將改良完成的生成特征圖當(dāng)作ROI池化層的輸入;此后,將ROI池化層的結(jié)果輸入到全連接層;在此基礎(chǔ)上,建立改進(jìn)模型,調(diào)節(jié)超參數(shù);稍后,則由回歸模型得到候選區(qū)中缺陷目標(biāo)的準(zhǔn)確位置,調(diào)節(jié)缺陷區(qū)域的邊界范圍;繼而,將訓(xùn)練改進(jìn)模型;進(jìn)一步地,在分類層中,由改進(jìn)的分類損失函數(shù)對(duì)候選邊界范圍內(nèi)的缺陷類別進(jìn)行判斷;最后,使用測(cè)試集,測(cè)試和驗(yàn)證模型。
VGG16的預(yù)練模式是通過 ImageNet數(shù)據(jù)庫(kù)的1 000個(gè)類別圖片集訓(xùn)練,可以對(duì)1 000個(gè)類進(jìn)行分類。本研究以 VGG16為基礎(chǔ),對(duì)螺栓零件缺陷的圖像數(shù)據(jù)進(jìn)行分類,需要用4個(gè)標(biāo)簽 softmax分類層來替換原網(wǎng)絡(luò)上的分類層,同時(shí)用 ReLU 作為一個(gè)激活函數(shù)。
全連接層改進(jìn)步驟如下:全連接層層數(shù)和單元數(shù)確定,VGG16全連接層為固定的3層結(jié)構(gòu),即:4 096×4 096×4;對(duì)全連接層進(jìn)行改進(jìn),目標(biāo)是將全連接層設(shè)定為2層,網(wǎng)絡(luò)層結(jié)構(gòu)為a×4,其中a為首層單元數(shù),分別設(shè)a為512,1 024,2 048,3 069,4 096;對(duì)第2層全連接層的超參數(shù)進(jìn)行設(shè)定,第2層全連接層結(jié)構(gòu)為4 096×b×4,其中b為第2層單元數(shù),此時(shí)分別設(shè)定b為0,100,1 024和2 048,當(dāng)?shù)?層單元層設(shè)定為0時(shí),收斂最快而且穩(wěn)定。由以上得出最佳的全連接網(wǎng)絡(luò)層為4 096×4。
VGG-2CF網(wǎng)絡(luò)設(shè)計(jì),首先將VGG的Conv3輸出圖像通過2次濾波,調(diào)整為2×2整體平均池化;其次,Conv3和Conv5通過L2歸一化方法設(shè)置;最終,通過歸一化方法連接Conv3與Conv5的輸出特征,并且構(gòu)建特征圖。改進(jìn)的VGG-2CF和VGG的共用卷積層,有效降低了計(jì)算開銷,大大提高了網(wǎng)絡(luò)收斂有效性和缺陷的識(shí)別精度。
2.1 ReLU非線性激活函數(shù)
在神經(jīng)網(wǎng)絡(luò)中數(shù)據(jù)間的關(guān)系通常為非線性關(guān)系,本研究使用ReLU作為激活功能,來提高網(wǎng)絡(luò)的表征能力。當(dāng)輸入值小于零時(shí),輸出值為零。如果輸入大于或等于零,則輸出等于輸入。當(dāng)輸入值為正時(shí),導(dǎo)數(shù)為1。其定義可寫為:
在訓(xùn)練網(wǎng)絡(luò)時(shí),與Sigmoid函數(shù)相比,ReLU函數(shù)的優(yōu)勢(shì)在于:網(wǎng)絡(luò)的收斂速度要快得多;只需要一個(gè)閾值即可獲取激活值;不會(huì)對(duì)模型的泛化準(zhǔn)確性產(chǎn)生重大影響。
2.2 基于AM-Softmax的改進(jìn)損失函數(shù)
損失函數(shù)表示實(shí)際和期望值二者間的偏離度,可以促進(jìn)模型的學(xué)習(xí)。
Softmax是對(duì)神經(jīng)網(wǎng)絡(luò)獲得的多個(gè)值進(jìn)行歸一化處理,值在[0,1]之間。交叉熵?fù)p失計(jì)算公式可寫為:
Softmax總樣本的丟失公式可進(jìn)一步表示為:
由于螺栓零部件數(shù)據(jù)集各個(gè)類別的樣本數(shù)目相差大,數(shù)據(jù)不平衡,使用Softmax函數(shù)導(dǎo)致識(shí)別準(zhǔn)確度不高。由于螺栓零部件數(shù)據(jù)集各個(gè)類別的樣本數(shù)目相差大,缺陷特征類間差異性較小,及類內(nèi)差異較大以及數(shù)據(jù)不平衡問題,使用Softmax函數(shù)導(dǎo)致識(shí)別準(zhǔn)確度不足和分類錯(cuò)誤,因此Softmax損失函數(shù)不適用螺栓零部件檢測(cè)。
為了減小缺陷識(shí)別的差錯(cuò)率,本文引入AM-Softmax損失函數(shù)。具體計(jì)算公式如下:
由于螺栓零部件圖像中,各個(gè)缺陷之間的差異較小,缺陷種類的樣本數(shù)據(jù)不均衡等問題,本文在AM-Softmax損失函數(shù)中加入F-measure,構(gòu)建成AMF-Softmax損失函數(shù)[7]。F-measure表示為查全率與準(zhǔn)確率的折衷均值,當(dāng)?shù)螖?shù)為n時(shí),得到的計(jì)算公式為:
AMF-Softmax損失函數(shù)有效抑制了訓(xùn)練效率的降低和圖像信息的遺漏。相應(yīng)數(shù)學(xué)公式為:
由于F(n)measure對(duì)損失函數(shù)帶來的影響,即使得在FasterR-CNN訓(xùn)練中,可以降低RPN輸出的目標(biāo)區(qū)域特征與其相契合特征間的距離,增加類間特征間的不同,網(wǎng)絡(luò)能夠進(jìn)一步提高待識(shí)別區(qū)域的目標(biāo)缺陷的分類準(zhǔn)確率。
3 實(shí)驗(yàn)分析
3.1 實(shí)驗(yàn)環(huán)境
本文的實(shí)驗(yàn)環(huán)境是Python3.5,使用TensorFlow框架完成對(duì)零部件的特征提取、參數(shù)設(shè)置與網(wǎng)絡(luò)訓(xùn)練等。
3.2 實(shí)驗(yàn)數(shù)據(jù)
本文的零部件缺陷數(shù)據(jù)來源于汽車生產(chǎn)線,包括4種缺陷,分別是:頂部裂紋、中部磨損、底部殘余、無(wú)缺陷。
每一種采集樣本照片600張,總共2 400張?jiān)紙D片,訓(xùn)練集每種500張,總共2 000張;測(cè)試集每種100張,總共400張。因?yàn)樯疃葘W(xué)習(xí)的樣本數(shù)量不足會(huì)出現(xiàn)過擬合,必須有足夠數(shù)量的樣本,方可確保識(shí)別的準(zhǔn)確率。為了減小過擬合對(duì)樣本采集增加難度,本文通過翻轉(zhuǎn)、縮放、色度調(diào)整等手段處理圖片,從而增加了樣本照片的數(shù)量。
圖像旋轉(zhuǎn)的常用方法是順時(shí)針旋轉(zhuǎn)圖像的中心,當(dāng)平面繞圓心旋轉(zhuǎn)270°時(shí),平面上像素的坐標(biāo)將發(fā)生變化。旋轉(zhuǎn)前的坐標(biāo)見式(8):
無(wú)論是水平,還是垂直鏡像變換,圖像的高度和寬度都不會(huì)改變。經(jīng)過一定的數(shù)據(jù)擴(kuò)充后,增加了30 000張圖片,總共有32 400張。這里的正樣本有15 600張,負(fù)樣本有16 800張。測(cè)試時(shí)訓(xùn)練數(shù)據(jù)量與測(cè)試數(shù)據(jù)量設(shè)置為8∶2,即25 920張進(jìn)行訓(xùn)練,6 480張圖像進(jìn)行測(cè)試。訓(xùn)練數(shù)據(jù)庫(kù)中的25 920張圖片,又包括訓(xùn)練集和驗(yàn)證集。數(shù)據(jù)擴(kuò)充后的樣本圖像如圖4所示。
由于輸出圖像較為粗糙,背景還有多處小的噪點(diǎn),要從圖片中提取出目標(biāo)物體,后續(xù)還要進(jìn)行開運(yùn)算及二值化處理,這樣能夠顯著提高模型預(yù)測(cè)的精度。經(jīng)處理后的清晰目標(biāo)物體照片如圖5所示。
經(jīng)過圖像預(yù)處理后,改進(jìn)的VGG16模型經(jīng)過訓(xùn)練測(cè)試后得到多個(gè)缺陷圖片的檢測(cè)結(jié)果,如圖6所示。
3.3 結(jié)果分析
在改進(jìn)的模型上對(duì)訓(xùn)練集進(jìn)行訓(xùn)練,再對(duì)訓(xùn)練好的模型進(jìn)行測(cè)試,通過測(cè)試集檢驗(yàn)改進(jìn)的模型準(zhǔn)確率。訓(xùn)練集通過SF-VGG卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行了200次訓(xùn)練后,改進(jìn)的VGG16網(wǎng)絡(luò)模型訓(xùn)練以及測(cè)試時(shí)準(zhǔn)確和損失率的變化關(guān)系分別如圖7、圖8所示。其中,綠色曲線表示訓(xùn)練集,紅色曲線表示測(cè)試集。
由圖7、圖8可以看出,無(wú)論是訓(xùn)練集、還是測(cè)試集,改進(jìn)的VGG16的準(zhǔn)確率都是整體上升的趨勢(shì),損失率都是整體下降的趨勢(shì)。因?yàn)闇y(cè)試集的數(shù)據(jù)小于訓(xùn)練集,曲線有所波動(dòng),但準(zhǔn)確率和損失率都能夠達(dá)到要求。
在此基礎(chǔ)上,研究得到的改進(jìn)模型和傳統(tǒng)模型的準(zhǔn)確率對(duì)比值見表1。由表1可知,改進(jìn)的VGG16網(wǎng)絡(luò)模型對(duì)于螺栓零部件圖像分類在訓(xùn)練集上的準(zhǔn)確率可以達(dá)到98.78%,測(cè)試集的精度為97.59%。而傳統(tǒng)SVM方法對(duì)汽車零部件的缺陷檢測(cè)的準(zhǔn)確率只有83.10%,未改進(jìn)的VGG16網(wǎng)絡(luò)模型對(duì)汽車零部件的缺陷檢測(cè)和識(shí)別的準(zhǔn)確度為95.26%。這表明改進(jìn)的VGG16網(wǎng)絡(luò)結(jié)構(gòu)比傳統(tǒng)的分類方法具有更高的識(shí)別率和魯棒性,提高了網(wǎng)絡(luò)模型的檢測(cè)效率和準(zhǔn)確性,可以對(duì)汽車零部件的缺陷進(jìn)行有效的檢測(cè)和分類。同時(shí),改進(jìn)的VGG16網(wǎng)絡(luò)提取方法易于實(shí)現(xiàn),訓(xùn)練方法簡(jiǎn)單,計(jì)算復(fù)雜度低。
4 結(jié)束語(yǔ)
本文提出一種改進(jìn)的VGG16模型來解決汽車零部件的缺陷檢測(cè)問題。基于AM-Softmax的改進(jìn)損失函數(shù),結(jié)合F-measure指標(biāo),增大類間特征的差異性,對(duì)待檢測(cè)物體缺陷區(qū)域進(jìn)行正確分類,提高缺陷識(shí)別精度。在VGG16基礎(chǔ)上重新設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu),增強(qiáng)特征圖像的信息量,提高對(duì)較小目標(biāo)區(qū)域的識(shí)別能力。改進(jìn)的VGG16網(wǎng)絡(luò)模型,測(cè)試集精度從93.25%提高到97.59%,識(shí)別精度大大提高。本文只針對(duì)車輛螺栓零部件的4種類別缺陷進(jìn)行了識(shí)別和檢測(cè),將來有必要增加零部件和缺陷種類,考慮由于光照、遮擋和圖像不清晰等諸多因素所造成的識(shí)別準(zhǔn)確率不高的問題,嘗試使用更多改進(jìn)模型,進(jìn)一步提高缺陷檢測(cè)的效果。
參考文獻(xiàn)
[1] ???吳鵬, 李婷, 仝沖,等. 基于OCC模型和LSTM模型的財(cái)經(jīng)微博文本情感分類研究[J]. 情報(bào)學(xué)報(bào), 2020,39(1):81-89.
[2] HAN Kai, SUN Muyi, ZHOU Xiaoguang, et al. A new method in wheel hub surface defect detection: Object detection algorithm based on deep learning[C]//2017 International Conference on Advanced Mechatronic Systems. Xiamen, China: IEEE, 2017:335-338.
[3] LIU Kun, WANG Heying, QU Erqing, et al. Steel surface defect detection using a new Haar-Weibull-Variance model in unsupervised manner[J]. IEEE Transactions on Instrumentation and Measurement, 2017, 66(10): 2585-2596.
[4] 李瑤, 王快社, 劉長(zhǎng)瑞. 金屬板材表面缺陷檢測(cè)發(fā)展現(xiàn)狀[J]. 材料導(dǎo)報(bào), 2011, 25(2):238-241.
[5] 傅文軍. 基于5G機(jī)器視覺實(shí)現(xiàn)某品牌汽車零部件AI缺陷質(zhì)檢案例[J]. 中國(guó)儀器儀表, 2020, 348(3):24-26.
[6] 田佳鷺, 鄧立國(guó). 基于改進(jìn)VGG16的猴子圖像分類方法[J]. 微型機(jī)與應(yīng)用, 2020, 39(5):6-11.
[7] 吉衛(wèi)喜, 杜猛, 彭威,等. 基于改進(jìn)的Faster R-CNN的齒輪外觀缺陷識(shí)別研究[J]. 系統(tǒng)仿真學(xué)報(bào), 2019, 31(11):24-31.