向 旺
(廣東工業(yè)大學(xué),廣東 廣州 510006)
近年,隨著工業(yè)的發(fā)展,在生產(chǎn)過(guò)程中產(chǎn)品進(jìn)行缺陷檢測(cè)也變得越來(lái)越重要,如電子產(chǎn)品表面、瓷瓦表面等,有助于改善廠家的生產(chǎn)工藝,提高產(chǎn)品的質(zhì)量。同時(shí)隨著產(chǎn)品復(fù)雜性增加,對(duì)視覺(jué)檢測(cè)的挑戰(zhàn)也隨之增加。
電機(jī)是被廣泛應(yīng)用的重要設(shè)備,換向器作為電機(jī)核心器件之一,有必要對(duì)其質(zhì)量嚴(yán)格把關(guān)。由于換向器產(chǎn)品缺陷多樣性以及背景復(fù)雜性,對(duì)換向器缺陷數(shù)據(jù)的獲取和標(biāo)注難度很高,同時(shí)也很難覆蓋所有類型的缺陷。
本研究提出一種基于先驗(yàn)知識(shí)的換向器缺陷異常檢測(cè)方法,僅使用無(wú)缺陷正常樣本,第一階段通過(guò)對(duì)正常樣本建立灰度分布模型,通過(guò)異常評(píng)分,獲取到先驗(yàn)異常檢測(cè)圖。第二階段結(jié)合先驗(yàn)異常檢測(cè)圖進(jìn)行異常檢測(cè)中可以拉高局部區(qū)域的異常,使得后續(xù)異常檢測(cè)更關(guān)注異常區(qū)域。
近年來(lái),人們研究了各種異常檢測(cè)算法。一類支持向量機(jī)(OC-SVM)[1]和支持向量數(shù)據(jù)描述(SVDD)[2]是用于一類分類的經(jīng)典算法。給定內(nèi)核功能,OC-SVM從內(nèi)核空間的原點(diǎn)中尋找最大余量的超平面, 同樣,SVDD在內(nèi)核空間中搜索包含數(shù)據(jù)的超球。
早期的深度學(xué)習(xí)方法將自動(dòng)編碼器用于異常檢測(cè)[3,4]這些自動(dòng)編碼器已使用常規(guī)訓(xùn)練數(shù)據(jù)進(jìn)行了訓(xùn)練,但無(wú)法提供異常圖像的準(zhǔn)確重建。因此,重建與輸入之間的差異表示異常,Gong等提出了MemAE來(lái)顯式抑制泛化能力降低漏檢[5]。此外還積極地探索對(duì)抗訓(xùn)練,以區(qū)分異常數(shù)據(jù)。通常,生成器學(xué)習(xí)生成類似于訓(xùn)練數(shù)據(jù)的真實(shí)數(shù)據(jù),并且鑒別器被訓(xùn)練以區(qū)分?jǐn)?shù)據(jù)是從生成器生成的(偽造的)還是從訓(xùn)練數(shù)據(jù)生成的(真實(shí)的)[6]。鑒別器學(xué)習(xí)訓(xùn)練數(shù)據(jù)周圍的決策邊界,并在測(cè)試期間用作異常檢測(cè)器。SaboKrou等對(duì)抗性地訓(xùn)練了帶有自動(dòng)編碼器的鑒別器,以從原始圖像和失真圖像中對(duì)重構(gòu)圖像進(jìn)行分類[7]。鑒別器在測(cè)試過(guò)程中用作異常檢測(cè)器。PidhorsKyi[8]等使用對(duì)抗性自動(dòng)編碼器[9]來(lái)學(xué)習(xí)圖像特征,并估計(jì)異常檢測(cè)的概率分布。

圖1 方法框架
由于工業(yè)產(chǎn)品具有高度的相似性,正常樣本的灰度應(yīng)當(dāng)服從某一分布,而缺陷區(qū)域的灰度分布應(yīng)當(dāng)與該分布有較大的差距?;谶@個(gè)假設(shè),我們采用高斯混合模型擬合獲取這個(gè)灰度分布,而為了關(guān)注局部細(xì)微信息,我們逐Patch擬合不同位置區(qū)域的高斯分布,以某Patch與正常分布的差距,衡量當(dāng)前Patch的異常程度,從而可以得到先驗(yàn)異常檢測(cè)圖。先驗(yàn)異常檢測(cè)圖在后續(xù)的深度異常檢測(cè)中可以拉高局部區(qū)域的異常,使得后續(xù)異常檢測(cè)更關(guān)注異常區(qū)域。
2.1.1 圖像分塊。先將預(yù)處理的一幅m×n灰度圖S(i)分成p×q塊子圖像,即:
(1)
i=1,2,…,M,k=1,2,…,p;l=1,2,…,q

(2)
2.1.2 高斯先驗(yàn)異常圖。將測(cè)試樣本切割為子圖像并展開(kāi)成向量,將所得向量按以下規(guī)則作先驗(yàn)異常評(píng)分。
(3)

認(rèn)為工業(yè)產(chǎn)品的正常樣本服從同一分布,其某些特征存在高度相似性,為了提取圖像特征,受文獻(xiàn)[10]啟發(fā),提出了位置相關(guān)子圖像支持向量數(shù)據(jù)描述(Position-Patch SVDD):本方法提出一種位置相關(guān)子圖像支持向量數(shù)據(jù)描述,將每個(gè)子圖像位置的特征作為一個(gè)聚類中心,引導(dǎo)神經(jīng)網(wǎng)絡(luò)訓(xùn)練。訓(xùn)練樣本使用上一步的正常樣本,由于認(rèn)為正常樣本不存在異常,所以將第四通道設(shè)為全0,如式4所示。

(4)
在訓(xùn)練圖像上隨機(jī)選擇位置切割子圖像,設(shè)置兩種不同尺度,切割的Patch尺寸分別為Hbig×Wbig×4,Hsmall×Wsmall×4,輸入神經(jīng)網(wǎng)絡(luò)fθ訓(xùn)練。
損失函數(shù)。由于工業(yè)產(chǎn)品具有高度相似性,不同樣本的同一位置應(yīng)當(dāng)具有一定的相似性,基于此假設(shè),提出自聚類損失函數(shù)LSVDD,引導(dǎo)網(wǎng)絡(luò)將不同圖像的同一位置的Patch編碼相近,損失函數(shù)如下:
(5)

自監(jiān)督學(xué)習(xí):由于圖像灰度變化具有上下文相關(guān)性,以當(dāng)前Patch為中心,將其8鄰域Patch分別編碼為0,1,…,7,從中隨機(jī)挑選一個(gè)Patch,引導(dǎo)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)二者相對(duì)位置,以更好地提取圖像信息,稱為自監(jiān)督損失LSSL,如式6所示。
LSSL=Cross_entropy(y,CΦ(fθ(p1),fθ(p2)))
(6)
CΦ是一個(gè)8分類器,P1是當(dāng)前Patch,P2是從臨近區(qū)域隨機(jī)選擇的一個(gè)Patch。
綜上,損失函數(shù)如式7所示:
LPatch SVDD=λLSVDD+LSSL
(7)
2.3.1 測(cè)試樣本多尺度切割。經(jīng)上一步訓(xùn)練得到編碼器fθ后, 在將測(cè)試樣本輸入編碼器之前,將圖像拓展為3通道,第四通道設(shè)為2.1.4節(jié)所得高斯混合模型異常評(píng)分灰度圖,與2.2.1節(jié)一樣切割為大小兩種尺度的Patch,如式8所示。
(8)
筆者實(shí)驗(yàn)硬件條件為:RTX2070S,基于Pytorch深度學(xué)習(xí)框架。對(duì)于Patch大小,設(shè)置為7×7,展開(kāi)成為1×49向量;對(duì)于高斯混合模型,高斯模型數(shù)量設(shè)為1;對(duì)于異常檢測(cè),特征提取網(wǎng)絡(luò)為ResNet-18。訓(xùn)練超參數(shù)中,批量大小為32,學(xué)習(xí)率為0.005,設(shè)為1,采用隨機(jī)梯度下降算法迭代50次;將Patch編碼為1×32向量;選取的兩個(gè)不同大小的尺度分別為32×32,16×16,如圖2所示。

圖2 檢測(cè)結(jié)果圖
本文提出一種基于先驗(yàn)知識(shí)的換向器缺陷異常檢測(cè)方法。①基于工業(yè)產(chǎn)品的高度相似性,利用高斯混合模型對(duì)圖像局部區(qū)域建模,從而可以獲得樣本的先驗(yàn)異常圖。②我們提出Position-PatchSVDD方法,訓(xùn)練神經(jīng)網(wǎng)絡(luò)提取圖像特征,先驗(yàn)異常圖作為注意力掩碼輸入網(wǎng)絡(luò),使得網(wǎng)絡(luò)更加關(guān)注缺陷位置。對(duì)于測(cè)試樣本和訓(xùn)練樣本的特征編碼,使用KD-Tree算法做最近鄰搜索,以歐氏距離作為異常分?jǐn)?shù)。該方法能夠在僅使用無(wú)缺陷正常樣本的情況下,準(zhǔn)確檢測(cè)出各種類型的缺陷,在實(shí)際的換向器端面數(shù)據(jù)上取得了很好地檢測(cè)效果。