佟 鑫,鄭 彤,于重重,葉 洋
(北京工商大學(xué)人工智能學(xué)院,北京 100048)
基于機(jī)器視覺(jué)的表面缺陷檢測(cè)在國(guó)內(nèi)外金屬制造業(yè)、紡織制造業(yè)、印刷制造業(yè)、塑料制造業(yè)、木材制造業(yè)和玻璃制造業(yè)等工業(yè)領(lǐng)域有重要的實(shí)際意義。美國(guó)西屋電器公司首次采用電荷耦合器件攝像機(jī)對(duì)鋼板進(jìn)行表面缺陷檢測(cè)[1]。康耐視公司提出自我學(xué)習(xí)識(shí)別系統(tǒng),有效地改善了傳統(tǒng)方法在訓(xùn)練速度和精度上的不足[2]。王志成等學(xué)者針對(duì)不同形狀的表面缺陷特征建立缺陷數(shù)據(jù)庫(kù),通過(guò)計(jì)算待檢測(cè)表面缺陷和數(shù)據(jù)庫(kù)中缺陷的相似性來(lái)實(shí)現(xiàn)類似鋼板等金屬零部件的缺陷檢測(cè)[3]。所構(gòu)建的傳統(tǒng)的缺陷檢測(cè)方法系統(tǒng)能夠?qū)崿F(xiàn)相機(jī)自動(dòng)拍照和圖像檢測(cè),但是其不足之處在于檢測(cè)精度依賴于缺陷數(shù)據(jù)庫(kù)的數(shù)據(jù)質(zhì)量,并且不能很好地適用于復(fù)雜場(chǎng)景下的表面缺陷檢測(cè)。
隨著神經(jīng)網(wǎng)絡(luò)理論的發(fā)展,數(shù)據(jù)量足夠時(shí),深度學(xué)習(xí)提取樣本特征的優(yōu)勢(shì)逐漸顯露出來(lái),在機(jī)器視覺(jué)領(lǐng)域越來(lái)越多的學(xué)者選擇基于深度學(xué)習(xí)的模型來(lái)處理機(jī)器視覺(jué)的表面缺陷檢測(cè)問(wèn)題。如果數(shù)據(jù)量較少很容易導(dǎo)致網(wǎng)絡(luò)的泛化性極弱。由于現(xiàn)實(shí)場(chǎng)景中經(jīng)常很難收集到數(shù)據(jù)量充足的數(shù)據(jù)樣本,面臨著一些小樣本場(chǎng)景下的分類識(shí)別任務(wù),小樣本學(xué)習(xí)相關(guān)理論因此迅速發(fā)展[4-6]。在工業(yè)生產(chǎn)中,工業(yè)缺陷很少發(fā)生,而且缺陷的種類多種多樣,因此,在這樣的不平衡小樣本數(shù)據(jù)集上訓(xùn)練神經(jīng)網(wǎng)絡(luò),容易造成過(guò)擬合的問(wèn)題,難以實(shí)際應(yīng)用[7]。
針對(duì)上述問(wèn)題,由于得到的真實(shí)的汽車零部件缺陷樣本較少,首先對(duì)小樣本汽車零部件數(shù)據(jù)進(jìn)行了數(shù)據(jù)增強(qiáng),對(duì)原本數(shù)量較少的零部件缺陷數(shù)據(jù)進(jìn)行擴(kuò)充。模型方面,本論文以Faster RCNN模型為研究基礎(chǔ),結(jié)合指導(dǎo)框區(qū)域候選網(wǎng)絡(luò)、循環(huán)特征金字塔和特征組合關(guān)系檢測(cè)器等結(jié)構(gòu)提出一種小樣本汽車零部件表面缺陷目標(biāo)檢測(cè)模型。
現(xiàn)有的目標(biāo)檢測(cè)思路可分為單步驟檢測(cè)算法和雙步驟檢測(cè)算法,單步驟目標(biāo)檢測(cè)是指在單次階段就能同時(shí)完成目標(biāo)分類和目標(biāo)定位,代表算法有YOLO(You Only Look Once, YOLO)系列算法[8]。雙步驟目標(biāo)檢測(cè)是先通過(guò)算法預(yù)測(cè)出帶有檢測(cè)目標(biāo)位置信息的候選建議框,然后在對(duì)這些框進(jìn)行分類和進(jìn)一步的回歸。單步驟目標(biāo)檢測(cè)方法經(jīng)常存在識(shí)別物體位置精準(zhǔn)性差、召回率低的缺點(diǎn)。所以針對(duì)小樣本目標(biāo)檢測(cè)任務(wù)應(yīng)優(yōu)先考慮雙步驟檢測(cè)方法。
最早的雙步驟檢測(cè)模型是RCNN模型[9],隨著機(jī)器視覺(jué)領(lǐng)域軟件和硬件的不斷發(fā)展,SPP NET[10]、Fast RCNN[11]、Faster RCNN[12]等模型被不斷提出。其中,Faster RCNN是較為成熟的常用雙步驟目標(biāo)檢測(cè)算法,相比于單步驟目標(biāo)檢測(cè)模型,Faster RCNN網(wǎng)絡(luò)可更精確地檢測(cè)目標(biāo),可以解決多尺度、小目標(biāo)問(wèn)題。Faster RCNN的模型結(jié)構(gòu)圖如圖1所示。
圖1 Faster RCNN模型結(jié)構(gòu)圖[12]
從圖1可以看出, Faster RCNN模型首先對(duì)輸入圖像進(jìn)行了特征提取,之后,區(qū)域候選網(wǎng)絡(luò)(Region Proposal Network, RPN)會(huì)根據(jù)所提取的特征圖生成若干對(duì)應(yīng)的候選檢測(cè)錨框,然后對(duì)錨框進(jìn)行分類和回歸。
區(qū)域候選網(wǎng)絡(luò)位于Faster RCNN網(wǎng)絡(luò)的前端,其主要作用是在輸入的圖像上產(chǎn)生一系列候選建議框。在區(qū)域候選網(wǎng)絡(luò)中使用滑窗的方式會(huì)在特征圖中生成大量建議框,但單一圖片中的物體特征有限,導(dǎo)致生成的建議框中負(fù)樣本過(guò)多。同時(shí),區(qū)域候選網(wǎng)絡(luò)在生成建議框時(shí)會(huì)認(rèn)為先驗(yàn)假設(shè)框的尺寸或者寬高比為幾個(gè)固定值,這些先驗(yàn)假設(shè)往往隨著不同的數(shù)據(jù)集變化而變化的,使得公共數(shù)據(jù)集上的先驗(yàn)假設(shè)并不適用于零部件表面缺陷數(shù)據(jù)集。
為解決上述問(wèn)題,本論文采用融入指導(dǎo)框區(qū)域候選網(wǎng)絡(luò)[13](Guided Anchoring Region Proposal Network, GA-RPN)的方式,使用提取到的特征來(lái)指導(dǎo)建議框的中心位置和寬高比,讓模型在提高生成建議框效率的同時(shí)還能夠生成任意尺寸大小的候選建議框。指導(dǎo)框區(qū)域候選網(wǎng)絡(luò)框架如圖2所示。
圖2 GA_RPN網(wǎng)絡(luò)框架
由圖3可知,指導(dǎo)框結(jié)構(gòu)主要由建議框生成模塊和特征自適應(yīng)模塊組成。建議框生成模塊主要作用是用來(lái)預(yù)測(cè)特征的位置和特征形狀,且在網(wǎng)絡(luò)訓(xùn)練過(guò)程中只保留大于預(yù)先人為設(shè)置的閾值的預(yù)測(cè)概率值,并進(jìn)一步篩選掉了與目標(biāo)缺陷無(wú)關(guān)的錨框區(qū)域。
圖3 指導(dǎo)框結(jié)構(gòu)圖
由于零部件表面缺陷形狀的不確定性,同一類缺陷的形狀也可能差異較大。為了能全面而準(zhǔn)確地預(yù)測(cè)出缺陷在零部件上的位置,指導(dǎo)框結(jié)構(gòu)中加入了對(duì)于目標(biāo)缺陷的形狀預(yù)測(cè)。通過(guò)形狀預(yù)測(cè)結(jié)構(gòu)可以得到一組偏移調(diào)整量(dw,dn),偏移向量的作用是使得預(yù)測(cè)錨框在最大程度上接近真實(shí)錨框,用來(lái)指導(dǎo)建議框尺寸的調(diào)整。其中,形狀預(yù)測(cè)分支中產(chǎn)生的偏移調(diào)整量用于指導(dǎo)最后的錨框回歸,最終得到最貼近缺陷形狀的錨框位置信息。
為進(jìn)一步改善目標(biāo)檢測(cè)網(wǎng)絡(luò)的候選框生成中正負(fù)樣本不均衡的問(wèn)題,在訓(xùn)練時(shí)加入聚焦式損失函數(shù),以減少產(chǎn)生的候選框中負(fù)樣本候選框?qū)δP蜋z測(cè)結(jié)果的影響。聚焦式損失函數(shù)如式(1)所示。
(1)
式(1)中,α因子用于平衡正負(fù)樣本,γ因子調(diào)節(jié)簡(jiǎn)單樣本損失降低的速率。實(shí)驗(yàn)證明設(shè)置γ=2時(shí)是最優(yōu)。
為了提取更豐富的圖像特征信息,采用循環(huán)金字塔網(wǎng)絡(luò)[15]來(lái)從多尺度的角度對(duì)零部件表面缺陷進(jìn)行特征提取。循環(huán)金字塔網(wǎng)絡(luò)是由基本的特征金字塔網(wǎng)絡(luò)組成的。特征金字塔網(wǎng)絡(luò)主要的作用是進(jìn)行特征提取,在各個(gè)尺度上對(duì)特征進(jìn)行整合合并得到多個(gè)新的融合特征圖[14]。循環(huán)特征金字塔網(wǎng)絡(luò)將傳統(tǒng)的特征金字塔網(wǎng)絡(luò)融合后的輸出再次輸入到網(wǎng)絡(luò)骨架中,進(jìn)行二次循環(huán)得到新的特征圖輸出,循環(huán)特征金字塔網(wǎng)絡(luò)如圖4所示。
圖4 循環(huán)特征金字塔[15]
這一過(guò)程可以表示為式(2)所示。
fi=Fi(fi+1,xi),xi=Bi(xi-1,Ri(fi))
(2)
在式(2)中,fi表示輸出特征,其中i=1,…,S,S表示特征金字塔的層數(shù)。x0表示輸入圖像,Fi分別表示從頂端流向底端的過(guò)程。Bi表示在將特征轉(zhuǎn)換連接回自下而上部分的主干網(wǎng)之前的特征,將上述操作在神經(jīng)網(wǎng)絡(luò)中轉(zhuǎn)換為遞歸操作可以表示為式(3)。
(3)
不同于一般的分類或者檢測(cè)網(wǎng)絡(luò),小樣本任務(wù)訓(xùn)練數(shù)據(jù)集通常由支持集和查詢集組合而成,訓(xùn)練過(guò)程中會(huì)分別從支持集和查詢集中隨機(jī)選擇同一類別的樣本形成訓(xùn)練組合(QN,SN),QN和SN分別代表數(shù)據(jù)集中類別種類均為N類的查詢集樣本圖像和支持集樣本圖像。這樣的設(shè)計(jì)方式使得小樣本模型在訓(xùn)練的過(guò)程中更加注重同一類別樣本特征之間的關(guān)系,有利于學(xué)習(xí)類間樣本的相似性。
組合特征關(guān)系檢測(cè)器是指在模型訓(xùn)練的過(guò)程中將查詢集和支持集的特征組合起來(lái)形成一種組合特征關(guān)系檢測(cè)器。針對(duì)零部件表面缺陷樣本數(shù)據(jù)量較少,檢測(cè)識(shí)別精度較低等問(wèn)題,本文提出一種組合特征關(guān)系,此組合特征關(guān)系是指查詢集特征和支持集特征圖上像素級(jí)上進(jìn)行的特征組合,分別為多對(duì)多關(guān)系、一對(duì)多關(guān)系、一對(duì)一關(guān)系。
本文構(gòu)建的組合特征關(guān)系檢測(cè)器結(jié)構(gòu)圖如圖5所示。圖5中有三行結(jié)構(gòu),第一行結(jié)構(gòu)是多對(duì)多的關(guān)系結(jié)構(gòu),多對(duì)多關(guān)系中將支持集特征和查詢集特征連接成新的融合特征,最后用包含ReLU的兩層全連接層輸出最后的分?jǐn)?shù)。圖5中第二行是一對(duì)一的關(guān)系結(jié)構(gòu),首先使用1×1×C大小的卷積層對(duì)支持集特征和查詢集特征進(jìn)行池化操作,對(duì)于得到的每一個(gè)新支持集特征和新查詢集特征進(jìn)行拼接操作,最后用全連接層獲得分類評(píng)價(jià)分?jǐn)?shù)。圖5中第三行是一對(duì)多的關(guān)系結(jié)構(gòu),一對(duì)多的關(guān)系是指將多個(gè)查詢集的樣本特征和單一支持集特征連接到一起,支持集特征和查詢集特征會(huì)生成一個(gè)新的融合特征,然后將拼接的新的特征輸入到后續(xù)的卷積池化層。
圖5 組合特征關(guān)系檢測(cè)器結(jié)構(gòu)圖
基于前文提出的GA-RPN結(jié)構(gòu)、循環(huán)特征金字塔網(wǎng)絡(luò)、多關(guān)系檢測(cè)器,最終的小樣本汽車零部件表面缺陷目標(biāo)檢測(cè)模型如圖6所示。
圖6 小樣本汽車零部件表面缺陷目標(biāo)檢測(cè)模型
從圖6中可以看到,從模型結(jié)構(gòu)上來(lái)說(shuō),模型產(chǎn)生候選框的結(jié)構(gòu)是一個(gè)GA-RPN結(jié)構(gòu),GA-RPN的結(jié)構(gòu)主要是由建議框生成模塊和特征自適應(yīng)模塊組成。支持集和查詢集圖像的特征需要通過(guò)GA-RPN來(lái)預(yù)測(cè)得到候選框。在網(wǎng)絡(luò)的特征檢測(cè)器方面,為充分學(xué)習(xí)來(lái)自查詢集和支持集的特征關(guān)系,分別以不同的組合方式對(duì)特征進(jìn)行拼接,然后進(jìn)行訓(xùn)練檢測(cè),最終的結(jié)果由三種組合關(guān)系共同作用得到。
為了證明小樣本汽車零部件表面缺陷目標(biāo)檢測(cè)模型的有效性,在FSOD公共數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),并構(gòu)造汽車零部件表面缺陷數(shù)據(jù)集,進(jìn)一步驗(yàn)證此模型的實(shí)際應(yīng)用效果。
汽車零部件表面缺陷數(shù)據(jù)集為零部件工廠現(xiàn)場(chǎng)采集得到,采集到的原始零部件圖像尺寸大、冗余背景多。直接使用原始圖片進(jìn)行模型訓(xùn)練會(huì)影響模型訓(xùn)練精度和速度,因此首先對(duì)零部件圖像進(jìn)行圖像分割,得到各種缺陷圖像。汽車零部件表面缺陷的類型有八種,分別是鐵銹、有無(wú)花鍵、黑斑、裂紋、螺紋孔遮擋、有螺紋、無(wú)螺紋、劃痕。每一類別的缺陷圖像數(shù)據(jù)為40張,圖像尺寸大小為200×200。為解決采集圖像時(shí)光照不均這一問(wèn)題,采用自動(dòng)色彩均衡算法[16](ACE)對(duì)零部件圖像進(jìn)行增強(qiáng)。零部件表面缺陷數(shù)據(jù)集圖像數(shù)量少,因此采用數(shù)據(jù)增強(qiáng)來(lái)擴(kuò)充零部件表面缺陷數(shù)據(jù)集。通過(guò)圖像旋轉(zhuǎn)、裁剪、顏色變換等方法對(duì)數(shù)據(jù)進(jìn)行增強(qiáng)后,將每類圖片擴(kuò)為400張,圖像尺寸不變。部分零部件表面缺陷數(shù)據(jù)集展示如圖7所示。
圖7 數(shù)據(jù)集部分表面缺陷圖片
在目標(biāo)檢測(cè)模型Faster RCNN模型中,交并比(Intersection-over-Union,IOU)是由區(qū)域生成網(wǎng)絡(luò)產(chǎn)生的候選框(Candidate Bound)和原始目標(biāo)在圖像標(biāo)注的真實(shí)位置框(Ground Truth)的交集和并集的比值,如式(4)所示。
(4)
模型訓(xùn)練時(shí)會(huì)預(yù)先設(shè)置IOU閾值,對(duì)于檢測(cè)過(guò)程中得出的一系列IOU值,模型將IOU值大于閾值的檢測(cè)目標(biāo)TP,將小于閾值的檢測(cè)目標(biāo)認(rèn)定為FP,目標(biāo)的真實(shí)總數(shù)量為N。檢測(cè)正確的總框數(shù)與累計(jì)的總框數(shù)之比為檢測(cè)正確率(Precision),正確率計(jì)算如式(5)所示。
(5)
正確識(shí)別出的目標(biāo)與測(cè)試集中所有該目標(biāo)的個(gè)數(shù)之比是模型檢測(cè)的召回率(Recall),召回率計(jì)算如式(6)所示。
(6)
對(duì)于數(shù)據(jù)集中的每一個(gè)類,將橫坐標(biāo)定為召回率,將縱坐標(biāo)定為正確率,可得到該類的P-R曲線,平均精度(Average Precision,AP)的值通過(guò)計(jì)算P-R曲線的面積得到。此處使用的評(píng)價(jià)指標(biāo)為平均精度均值(mean Average Precision,mAP),是通過(guò)對(duì)各類的平均精度取均值所得到的。
本文實(shí)驗(yàn)的硬件環(huán)境為:CPU是Intel i7 8700k,內(nèi)存大小為16G×2,GPU為NVIDIA GTX1080Ti×4,系統(tǒng)環(huán)境是Ubuntu16.04,實(shí)驗(yàn)環(huán)境是基于深度學(xué)習(xí)框架Pytorch1.4.0完成的。
使用本文提出的小樣本汽車零部件表面缺陷目標(biāo)檢測(cè)模型分別在公共數(shù)據(jù)集FSOD和零部件表面缺陷數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),為證明多關(guān)系檢測(cè)器的合理性,分別對(duì)每種關(guān)系以及它們的組合進(jìn)行了實(shí)驗(yàn)。如表1所示,實(shí)驗(yàn)的結(jié)果給出了1way-1shot下訓(xùn)練的mAP結(jié)果。
表1 1way-1shot下模型mAP
從實(shí)驗(yàn)結(jié)果可以看出,總體來(lái)說(shuō)模型在FSOD數(shù)據(jù)集的表現(xiàn)比在零部件表面缺陷數(shù)據(jù)集的表現(xiàn)好很多,這是由于FSOD數(shù)據(jù)集無(wú)論是在樣本多樣性還是在樣本數(shù)量上都遠(yuǎn)優(yōu)于零部件表面缺陷數(shù)據(jù)集。在相同數(shù)據(jù)集下,特征組合關(guān)系檢測(cè)器的三種關(guān)系組合線性相加時(shí)模型準(zhǔn)確率最高。
由于本論文針對(duì)零部件表面缺陷的檢測(cè)主要是檢測(cè)八種缺陷,缺陷種類較少,為進(jìn)一步驗(yàn)證本論文所構(gòu)建的小樣本目標(biāo)檢測(cè)模型對(duì)零部件表面缺陷數(shù)據(jù)集的效果,因此在針對(duì)零部件表面缺陷的檢測(cè)問(wèn)題時(shí),分別進(jìn)行了策略為“1way-1shot”、“1way-5shot”、“2way-1shot”、“2way-5shot”的實(shí)驗(yàn),然后利用剩余的樣本對(duì)模型的檢測(cè)結(jié)果進(jìn)行評(píng)估。
下表2所示是各種零部件表面缺陷在1樣本訓(xùn)練的模型下進(jìn)行檢測(cè)的實(shí)驗(yàn)結(jié)果。
表2 1way-5shot下各缺陷的mAP
從實(shí)驗(yàn)結(jié)果可以看出,在“1way-5shot”訓(xùn)練策略下,模型平均檢測(cè)精確率最高,可以達(dá)到51.5%。
針對(duì)零部件表面缺陷數(shù)據(jù)集數(shù)據(jù)量少、缺陷部位不明顯等問(wèn)題,本論文結(jié)合目標(biāo)檢測(cè)模型理論和小樣本學(xué)習(xí)思想構(gòu)建出一種適合汽車零部件表面缺陷檢測(cè)的模型,從數(shù)據(jù)和模型兩個(gè)方面分別做了增強(qiáng)和改進(jìn)。實(shí)驗(yàn)結(jié)果證明,本論文所構(gòu)建的小樣本目標(biāo)檢測(cè)模型對(duì)于零部件表面缺陷數(shù)據(jù)集有較好的檢測(cè)效果。