朱立忠,李肖靜,李文欣
(沈陽理工大學 a.自動化與電氣工程學院;b.信息科學與工程學院,沈陽 110159)
沈陽某汽車零部件有限公司在生產(chǎn)過程中由人工涂膠轉(zhuǎn)為機器涂膠后,主要靠人工來檢測汽車涂膠的質(zhì)量,工作效率低且浪費膠料。為提高檢測自動化水平,機器視覺檢測技術(shù)被引入生產(chǎn)流程。在汽車車身零件生產(chǎn)涂膠過程中,由于生產(chǎn)設備和環(huán)境擾動等因素,膠條可能會產(chǎn)生斷涂、漏涂、過寬或過窄等缺陷,使得零器件粘合的緊固性和密封性受到影響,引起粘合失效,嚴重時可能會在汽車駕駛過程中車門出現(xiàn)故障,導致人身安全受到威脅,故在粘合工序之前必須精確檢測出膠條缺陷并予以剔除。因此,如何精確檢測出某條件下的缺陷情況成為需要重點解決的難題。
針對工業(yè)圖像缺陷檢測,諸多該領(lǐng)域內(nèi)的學者提出了各種識別檢測方法,現(xiàn)階段主要以傳統(tǒng)機器視覺算法為主實現(xiàn)缺陷檢測。
孫鴿等[1]利用霍夫變換來區(qū)分正反圖像,通過仿射變換來矯正歪斜圖像裁剪出感興趣區(qū)域(Region of Interest,ROI),最后結(jié)合Blob分析法提高檢測精度。任秉銀等[2]提出了一種針對微小目標缺陷檢測來提升準確率的方法,該方法在分類網(wǎng)絡的基礎上融合了Attention U-Net,實驗表明該方法能夠在微小目標分割問題中廣泛應用。朱立忠等[3]提出了一種基于支持向量機(Support Vector Machines,SVM)的汽車涂膠圖像缺陷檢測方法,主要利用模式匹配來進行識別,為了優(yōu)化分類性能采取了多核函數(shù)來提高檢測準確率。
現(xiàn)有文獻描述的工業(yè)生產(chǎn)圖像缺陷檢測方法雖然在一定程度上可以對生產(chǎn)過程中采集到的圖像進行檢測,但是針對各類復雜生產(chǎn)環(huán)境,檢測精度、實時性與檢測速度難以滿足工業(yè)檢測的需求。本文針對汽車涂膠生產(chǎn)車間環(huán)境復雜、采集到的圖像不夠清晰、生產(chǎn)過程中存在漏涂斷涂等缺陷的特點,提出一種基于Faster-RCNN的汽車涂膠圖像缺陷檢測算法。其創(chuàng)新點在于:①為能夠有效提取圖像特征,通過將區(qū)域生成網(wǎng)絡簡化的方法融入到基礎Faster-RCNN網(wǎng)絡中,以克服梯度消失等問題,同時提高小目標檢測準確率和檢測效率;②針對小目標缺陷在訓練中易丟失的特點,在訓練模型中使用特征金字塔網(wǎng)絡將多尺度的特征圖融合,以減小模型對小目標缺陷的丟失速度,提高模型應對極端長寬比和小目標缺陷的泛化能力。
針對工業(yè)環(huán)境照明弱和光照不均等問題,需對圖像進行預處理,主要目的是最大限度地消除無用信息、突出感興趣區(qū)域、簡化數(shù)據(jù),提高特征提取與識別的準確性。依據(jù)采集到的圖像特點,在常用預處理方法中選擇二值化、圖像增強與圖像多閾值分割的方法對圖像進行預處理。
本實驗采用拉普拉斯變換進行圖像銳化,增強圖像的灰度跳變部分[4],突出感興趣區(qū)域,使工業(yè)場景圖像中模糊不清的像素點變得清晰。本實驗采用的數(shù)據(jù)集圖像為二維離散圖像,則對于涂膠圖像f(x,y),在x方向上的二階微分為
(1)
在y方向上的二階微分為
(2)
將式(1)和式(2)相加,得到拉普拉斯算子
?2=[f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)]-4f(x,y)
(3)
采用拉普拉斯變換增強方法處理圖像前后對比如圖1所示。
圖1 圖像增強前后對比圖
由圖1可見,使用本文的拉普拉斯變換增強方法,可以極大提高膠條與金屬背景的對比度,并縮小背景中膠條較暗的面積以減少干擾。
汽車涂膠車間現(xiàn)場環(huán)境復雜,圖像中膠條占比小,為將膠條部分從復雜圖像中提取出來,本實驗使用二進制閾值分割方法。首先設置一個初始估計值作為算法閾值,然后經(jīng)過多次迭代來更新估計值,直到滿足條件。具體步驟如下。
(1)選取T作為初始估計值;
(2)使用閾值T將灰度圖像劃分為兩個區(qū)域R1和R2[5];
(3)對灰度區(qū)域R1和R2分別求像素的灰度值μ1和μ2;
(4)計算新的閾值T=(μ1+μ2)/2;
(5)重復步驟(2)~(4),直到迭代后的閾值T小于初始估計值為止。
經(jīng)過以上步驟處理后的圖像與原圖對比如圖2所示。
圖2 預處理前后圖像對比
由圖2可見,本文重點研究區(qū)域即膠條和膠槍部分從復雜工業(yè)場景中成功分割出來。
汽車涂膠圖像缺陷檢測改進系統(tǒng)框架流程如圖3所示。
由圖3可見,汽車涂膠圖像缺陷檢測改進系統(tǒng)的主要流程為:將處理后的標準圖像制作為VOC格式的數(shù)據(jù)集,將數(shù)據(jù)集輸入到訓練網(wǎng)絡中提取特征;針對得到的特征圖進行Faster-RCNN網(wǎng)絡訓練,在網(wǎng)絡收斂后利用損失函數(shù)對網(wǎng)絡模型進行微調(diào)。為提高檢測準確率,選用多尺度訓練的方法得到最終的檢測模型[6]。在網(wǎng)絡框架中,ROI網(wǎng)絡的作用是利用候選框與回歸位置參數(shù)來對錨框的形狀和位置進行微調(diào)。
圖3 汽車涂膠圖像缺陷檢測改進系統(tǒng)框架圖
在實際工業(yè)生產(chǎn)場景下,所提取到的圖像和訓練測試所需圖像差距較大。因訓練網(wǎng)絡中訓練樣本圖像均為單一尺度圖像,即使在預處理環(huán)節(jié)中已經(jīng)對圖像進行了基本處理,但因工業(yè)環(huán)境復雜或其他原因,也會使采集到的圖像發(fā)生漏檢。多尺度訓練可以使最終模型檢測準確率較高且具有一定魯棒性。
Faster-RCNN網(wǎng)絡結(jié)構(gòu)如圖4所示。
圖4 Faster-RCNN網(wǎng)絡結(jié)構(gòu)
由圖4可見,F(xiàn)aster-RCNN網(wǎng)絡訓練模型不僅采用特征提取網(wǎng)絡增強細節(jié)提取能力,而且提出了區(qū)域推薦網(wǎng)絡(Region Proposal Network,RPN),使網(wǎng)絡自身生成推薦區(qū)域。與傳統(tǒng)神經(jīng)網(wǎng)絡算法相比,極大程度地減少計算成本、提高模型訓練和測試效率,使目標檢測真正地實現(xiàn)實時性[7]。
Faster-RCNN基礎網(wǎng)絡結(jié)構(gòu)在處理時由卷積層采用基礎的卷積和激活函數(shù)來提取圖像特征,然后根據(jù)區(qū)域推薦網(wǎng)絡和全連接層共享產(chǎn)生預測框完成分類與回歸任務。為提高模型檢測速度,F(xiàn)aster-RCNN自行生成推薦框,卷積神經(jīng)網(wǎng)絡將特征提取、候選區(qū)域的回歸與分類集中整合[8]。
本文將目標檢測的前沿技術(shù)與汽車涂膠表面缺陷圖像的特點相結(jié)合,在原始網(wǎng)絡的基礎上簡化區(qū)域生成網(wǎng)絡提取圖像特征;針對小目標缺陷在訓練中易丟失的特點,采用特征金字塔網(wǎng)絡來對訓練模型中的特征圖進行融合,生成富有高級與低級語意的特征圖,減小模型對小目標缺陷的丟失速度,有效地提高模型應對極端長寬比和小目標缺陷的泛化能力。
在傳統(tǒng)Faster-RCNN算法中RPN輸入圖像特征,輸出一系列矩陣目標候選框,每個區(qū)域帶有與對應目標相關(guān)的位置信息。傳統(tǒng)算法在提取輸入圖像的特征圖時,由于其在訓練模型時需要根據(jù)誤差傳播更新權(quán)重,可能會造成在網(wǎng)絡深度加深時小目標缺陷檢測丟失特征信息等問題[9]。因此,為了在汽車涂膠圖像中快速提取候選框、生成推薦區(qū)域、完成目標分類檢測任務,采用簡化RPN的方法輸出損失函數(shù)并求出反向傳播數(shù)據(jù)。
為生成256個目標特征圖,傳統(tǒng)的區(qū)域生成網(wǎng)絡需要利用3×3和5×5卷積核。本文擬采用降低計算量的方式來加快識別速度,為了使用盡可能少的卷積核達到與傳統(tǒng)網(wǎng)絡相同數(shù)量的特征圖,通過減少一個5×5的卷積核來改進RPN網(wǎng)絡結(jié)構(gòu),即利用一個3×3卷積核來產(chǎn)生256維特征向量,簡化的特征提取網(wǎng)絡結(jié)構(gòu)如圖5所示。
圖5 簡化的特征提取網(wǎng)絡結(jié)構(gòu)
在確定了采集到的涂膠圖像中各像素點的長寬比后,采用距離度量公式來確定分類層節(jié)點[10]。距離度量公式為
d(box,centroid)=1-IOU(box,centroid)
(4)
式中:box表示錨框;centroid表示錨點;IOU為交并比,表示預測邊框和真實邊框的交集和并集的比值。
針對采集到的汽車涂膠圖像差異較大等情況,預設的4種尺度會產(chǎn)生12種錨點和24個節(jié)點,分類層和區(qū)域?qū)虞敵龅膿p失值將被用于求導得到反向傳播的數(shù)據(jù)。在RPN層產(chǎn)生300個候選區(qū)域后,即能提取出足夠的信息用來對所測圖像進行目標分類。
在原始Faster-RCNN模型中,RPN利用最后一層特征提取的方法在小目標缺陷檢測中效果不佳。汽車涂膠表面缺陷表現(xiàn)出極端長寬比的特點,為更好地提取并保留小目標的特征,本文使用一種融合特征金字塔網(wǎng)絡的區(qū)域推薦結(jié)構(gòu)來對極端長寬比與小目標缺陷進行更好的檢測。
本文中RPN結(jié)構(gòu)融合不同尺度特征,不僅設計了底高層結(jié)構(gòu)和橫向連接來融合高分辨率的底層,而且可以快速構(gòu)建獨立的頂層特征,但卷積池化到最后一層時語義信息丟失嚴重。為解決多尺度檢測中可能出現(xiàn)的映射過程中底層特征語意少等問題,引入特征金字塔網(wǎng)絡來提取深層特征,同時對底層語義信息進行最大程度的保留。
針對汽車涂膠缺陷圖像出現(xiàn)的極端長寬比與部分缺陷面積極小等情況,本文采用多尺度特征融合的區(qū)域推薦模型,經(jīng)過特征提取后,初始特征圖C1、C2、C3與橫向連接的特征圖P1、P2、P3相融合,得到新特征圖,經(jīng)過一層3×3卷積消除上采樣過程中造成的混疊效應,該特征圖融合了更多的淺層特征,隨后在RPN的作用下完成目標缺陷的分類和回歸任務。融合特征金字塔后的RPN結(jié)構(gòu)圖如圖6所示。
圖6 融合特征金字塔的RPN結(jié)構(gòu)
改進后的檢測算法能有效地提高模型應對小目標缺陷的泛化能力,與傳統(tǒng)采用VGG16和RPN的Faster-RCNN模型相比,汽車涂膠表面缺陷檢測的準確率明顯提高。
本次訓練汽車涂膠缺陷檢測圖像來自沈陽市某汽車零部件有限公司,共有10000張缺陷圖像、15000張合格圖像,其中包含不同亮度(2000cd/m2、6000 cd/m2、12000 cd/m2)環(huán)境下采集的涂膠圖像,單張圖像尺寸為320×320,將其構(gòu)建為“0-1”二分類數(shù)據(jù)集,0表示缺陷樣本,1表示合格樣本。使用圖片標注工具labelImg,導入圖片后直接畫框標注所屬類別,并將標注信息直接在xml文件中進行存放。數(shù)據(jù)集中斷膠圖像與合格圖像對比如圖7所示。
圖7 數(shù)據(jù)集中斷膠圖像與合格圖像對比
本文以簡化RPN網(wǎng)絡的方法來提取圖像特征,采用特征金字塔網(wǎng)絡提取并融合多尺度的特征圖。若隨著epoch次數(shù)增加,損失函數(shù)在一定時間內(nèi)變化很小,就可以停止epoch訓練來防止過擬合。
實驗均在GPU上運行,流程為:將訓練數(shù)據(jù)集輸入Faster-RCNN中,經(jīng)過迭代訓練和多輪學習后,學習率和損失率不斷降低直至收斂并趨于平穩(wěn),將此時得到的數(shù)值確定為最優(yōu)指標;將每100個epoch標記為一個階段,每個epoch訓練320張圖;輸入測試數(shù)據(jù)集對本文算法進行測試。損失函數(shù)數(shù)值隨訓練次數(shù)的變化如圖8所示。
圖8 損失函數(shù)下降圖
為驗證本文所提方法的有效性,分別使用不同的策略對網(wǎng)絡進行訓練與測試,具體檢測結(jié)果見表1所示。
表1 不同策略下檢測結(jié)果對比
原始Faster-RCNN在網(wǎng)絡深度加深時面對小目標缺陷檢測過程中容易丟失特征信息,故在策略1中,原始Faster-RCNN的識別準確率僅為90.2%,識別每張圖像平均所需時間為0.063s。為降低漏檢率,本文簡化區(qū)域生成網(wǎng)絡結(jié)構(gòu)后僅經(jīng)過一次3×3卷積核直接產(chǎn)生256維特征向量。為解決多尺度檢測中可能出現(xiàn)的映射過程中底層特征語意少等問題,本文采用多尺度特征融合的區(qū)域推薦模型,在RPN的作用下完成目標缺陷的分類和回歸任務。對比策略2和策略3可以發(fā)現(xiàn),簡化RPN可以有效減少識別圖像所需時間,融入FPN可以有效提高識別準確率;從策略4的結(jié)果可見,通過兩種方法的改進,可使車輛檢測的識別準確率達到97.5%,識別每張圖像僅需0.038s。
將本文算法與YOLOv3和Faster-RCNN進行比較,對比結(jié)果見表2所示。
表2 不同目標檢測算法檢測結(jié)果對比
YOLOv3在檢測過程中借鑒了殘差網(wǎng)絡結(jié)構(gòu),能夠形成更深的網(wǎng)絡層次且檢測速度較快,但準確率不夠理想[11];Faster-RCNN是基于區(qū)域建議的目標檢測算法,準確率較高,但耗時較長;本文在Faster-RCNN基礎上簡化RPN網(wǎng)絡結(jié)構(gòu),采用多尺度特征融合的區(qū)域推薦模型,在提高準確率的同時提高實時性。
為評估本文算法對不同亮度環(huán)境下汽車涂膠的檢測能力,制作三個來自不同亮度生產(chǎn)環(huán)境的數(shù)據(jù)集,其性能比較結(jié)果如表3所示。
表3 不同測試集下性能比較
由表3可見,測試集A在亮度為2000cd/m2環(huán)境下采集的2000張正負樣本混合圖像,識別準確率達到96.5%,識別每張圖像所需時間為0.040s;測試集B在亮度為6000cd/m2環(huán)境下采集的2000張正負樣本混合圖像,識別準確率達到97.1%,識別每張圖像所需時間為0.039s;測試集C在亮度為12000cd/m2環(huán)境下采集的2000張正負樣本混合圖像,識別準確率達到97.2%,識別每張圖像所需時間為0.037s;三個測試集檢測效果均較好。由于測試集C圖像亮度較高,圖像噪聲較低,分辨率高,因此相較于測試集A、B而言,其識別準確率更高且檢測速率更快;實驗結(jié)果表明本文算法在不同亮度的車間環(huán)境下進行缺陷檢測均具有很好的魯棒性。
針對機器自動涂膠過程中產(chǎn)生的漏涂、斷膠等嚴重影響生產(chǎn)的缺陷問題,提出基于Faster-RCNN的汽車涂膠缺陷檢測方法。在原始Faster-RCNN網(wǎng)絡的基礎上采用簡化特征提取網(wǎng)絡的方法來提取圖像特征;針對小目標缺陷在訓練中易丟失的特點,在區(qū)域推薦網(wǎng)絡訓練模型中使用了特征金字塔網(wǎng)絡將多尺度的特征圖融合,并在不同的訓練集上進行訓練。實驗結(jié)果表明,本文訓練的模型對汽車涂膠缺陷的檢測準確率達到97.5%,該方法有效地減少模型對小目標缺陷的丟失,檢測速率為每張圖像耗時0.038s,在汽車涂膠缺陷實時檢測方面達到領(lǐng)先水平。