唐善成,陳 明 ,王瀚博,張 雪,張 瑩
(西安科技大學(xué) 通信與信息工程學(xué)院,陜西 西安 710054)
壓敏電阻作為電路的重要組成部分,已廣泛應(yīng)用于各種電路,如過壓保護電路、消噪電路、消電火花電路、防雷擊保護電路、浪涌電壓吸收電路和保護半導(dǎo)體元件器件。壓敏電阻在生產(chǎn)過程中受到生產(chǎn)工藝的影響,容易在其表面形成各種類型的缺陷,例如:粗糙,缺損,露瓷,突出,壓傷和粘連傷,這些表面缺陷直接影響壓敏電阻的性能和壽命,因此準(zhǔn)確快速地檢測壓敏電阻的表面缺陷對壓敏電阻產(chǎn)量的提高,電子設(shè)備的穩(wěn)定運行以及企業(yè)的生產(chǎn)工藝具有重要意義。
隨著工業(yè)自動化、智能化的飛速發(fā)展,國外已設(shè)計出了效果良好的電阻表面缺陷檢測系統(tǒng),但造價昂貴,因此,目前許多企業(yè)仍然采用人工檢測的方式。傳統(tǒng)的人工缺陷檢測對工人的知識水平以及經(jīng)驗有較高的要求,并且具有較大的局限性,例如:漏檢率高、檢測成本較高等。
近年來,機器學(xué)習(xí)技術(shù)飛速發(fā)展,由于其非接觸性的特點被廣泛應(yīng)用于各個行業(yè)。如HUANG等[1-2]提出了面向高維過程監(jiān)控的分布式詞典學(xué)習(xí)的方法以及基于核字典學(xué)習(xí)的非線性過程監(jiān)控的方法,并應(yīng)用在鋁電解工藝中;鄭林等[3]提出了基于稀疏建模和支持向量機(Support Vector Machine,SVM)的方法,應(yīng)用在管道缺陷分類上;王姮等[4]提出一種基于主成分分析(Principal Component Analysis,PCA)模式和顏色特征的視覺顯著性檢測方法,應(yīng)用在鋼軌表面缺陷檢測上。傳統(tǒng)機器學(xué)習(xí)算法的缺陷特征需要人工進行設(shè)定,耗費大量人力物力,已無法滿足現(xiàn)代工業(yè)的發(fā)展需求。
為了克服傳統(tǒng)機器學(xué)習(xí)技術(shù)的不足,深度學(xué)習(xí)技術(shù)在缺陷檢測領(lǐng)域越來越流行。由于深度學(xué)習(xí)能夠從訓(xùn)練樣本中自動提取出各種特征,并在分類效果上展現(xiàn)出卓越的性能,已被許多學(xué)者用于表面缺陷的檢測與分類。SUN等[5]提出了改進的卷積神經(jīng)網(wǎng)絡(luò)快速區(qū)域標(biāo)定(Faster Region-based Convolutional Neural Network,Faster R-CNN)方法,對輪轂的4種缺陷進行了檢測;LIU等[6]提出了基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和長短記憶(Long Short-Term Memory,LSTM)的缺陷檢測方法,在鋼板缺陷檢測上效果較優(yōu);MEI等[7]提出的改進的卷積神經(jīng)網(wǎng)絡(luò)(CNN)應(yīng)用在了LED芯片缺陷檢測上,但是泛化能力較差,對于新出現(xiàn)的缺陷,檢測效果不理想;HUANG等[8]提出一種基于全卷積網(wǎng)絡(luò)(Fully Convolutional Networks,F(xiàn)CN)的方法,用于檢測地鐵盾構(gòu)隧道裂縫,但是對于邊界處的缺陷檢測不理想;DORAFSHAN等[9]提出一種將深度卷積神經(jīng)網(wǎng)絡(luò)與邊緣檢測器結(jié)合使用的混合方法,對混凝土裂縫進行了檢測;TAO等[10]提出一種新穎的基于卷積神經(jīng)網(wǎng)絡(luò)的檢測方法,對金屬表面的缺陷進行了實驗,但是模型需要大量有標(biāo)記的數(shù)據(jù);熊紅林等[11]提出一種基于多尺度的卷積神經(jīng)網(wǎng)絡(luò)模型(Multi-scale CNN,MCNN)用于玻璃表面缺陷檢測,整體識別率為0.984,但是由于其采用多尺度,訓(xùn)練耗時較長;李宜汀等[12]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)快速區(qū)域標(biāo)定(Faster R-CNN)方法,用于油辣椒罐裝生產(chǎn)線的封蓋面表面的缺陷檢測,正檢率為0.958,檢測效率較高,達到了0.18 s/張;馮毅雄等[13]提出一種基于遷移學(xué)習(xí)的檢測方法,用于軸件表面的缺陷檢測,該方法利用遷移學(xué)習(xí)解決了軸件數(shù)據(jù)源不足的問題。
以上深度學(xué)習(xí)方法在不同行業(yè)的缺陷檢測上都被證明是有效的,但是上述方法都依賴于有監(jiān)督學(xué)習(xí)技術(shù),為了保證較好的缺陷檢測效果,需要大量有標(biāo)記的數(shù)據(jù)以及缺陷樣本,但此類數(shù)據(jù)和樣本的獲取可能是非常困難的,甚至是不現(xiàn)實的。幸運的是,無監(jiān)督學(xué)習(xí)技術(shù)可解決此類問題,并且有學(xué)者已經(jīng)對此開始了研究。HU等[14]提出一種基于深度卷積生成對抗網(wǎng)絡(luò)(Deep Convolutional Generative Adversarial Network,DCGAN)的新型無監(jiān)督方法,用于檢測織物缺陷;MEI等[15]提出一種基于多尺度卷積去噪自動編碼器網(wǎng)絡(luò)(Multi-Scale Convolutional Denoising AutoEncoder network,MSCDAE),在織物的缺陷檢測上表現(xiàn)較好,但是由于其采用多尺度的方法,檢測時間較長;ZHAO等[16]提出了使用自動編碼器與生成對抗網(wǎng)絡(luò)結(jié)合的缺陷檢測方法,在DAGM2007數(shù)據(jù)集上檢測效果較好;SHAO等[17]提出了集成深度自動編碼器(Ensemble Deep Auto-Encoders,EDAEs)模型,用于診斷滾輪軸承缺陷;LI等[18]提出一種基于Fisher準(zhǔn)則的堆疊式降噪自動編碼器(Fisher Criterion-based Stacked Denoising AutoEncoder,FCSDA)用于織物缺陷檢測。
然而,以上無監(jiān)督學(xué)習(xí)技術(shù)在特定的檢測對象上雖然體現(xiàn)出了較好的效果,但是由于壓敏電阻本身特定的不規(guī)則外觀、尺寸以及檢測實時性等要求,采用上述無監(jiān)督學(xué)習(xí)方法并不能取得理想的檢測效果,很難應(yīng)用在實際生產(chǎn)過程中。
為了解決采集完備有缺陷壓敏電阻樣本非常困難以及檢測精度差的問題,本文綜合了上述無監(jiān)督檢測方法只需良品樣本進行訓(xùn)練的優(yōu)點,并在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上將空間注意力機制融入變分自編碼器[19]中,提出了采用深度卷積變分自編碼器(Deep Convolutional Variational AutoEncoder,DCVAE)的無監(jiān)督壓敏電阻表面缺陷檢測方法。該方法包含圖像預(yù)處理、壓敏電阻良品表面特征提取和壓敏電阻表面缺陷檢測3個部分。借助變分自編碼網(wǎng)絡(luò)良好的無監(jiān)督特性,解決了壓敏電阻表面缺陷數(shù)據(jù)樣本不足的問題,并減少了人工標(biāo)注數(shù)據(jù)樣本的依賴。提出的檢測方法實現(xiàn)了壓敏電阻表面缺陷自動檢測的功能。最后通過實驗驗證了本文所提檢測方法的可行性與有效性。
本文的主要貢獻為:
(1)提出了一種新的數(shù)據(jù)預(yù)處理方法。該方法包含去背景、規(guī)范化以及提取差分圖像3個步驟。使用去背景技術(shù)去除冗余數(shù)據(jù)特征;采用規(guī)范化技術(shù)確定圖像的中心坐標(biāo),統(tǒng)一壓敏電阻圖像的姿態(tài);利用圖像差分技術(shù),消除光照變化和反射不均勻等無關(guān)數(shù)據(jù)特征。
(2)將空間注意力機制引入變分自編碼器模型中,增強了模型對有效信息的識別度,提升了模型的性能。利用變分自編碼器良好的生成特性[20],通過融合空間注意力機制,使得模型的關(guān)注點放在壓敏電阻表面圖像的主體區(qū)域,進而更有效地提取良品表面特征。
因為受壓敏電阻生產(chǎn)工藝的影響,不同種類缺陷的出現(xiàn)具有偶然性和不確定性,在實際生產(chǎn)過程中很難收集到完備的有缺陷壓敏電阻樣本,難以標(biāo)記數(shù)據(jù),但是卻很容易收集到良品壓敏電阻樣本,所以研究并采用無監(jiān)督學(xué)習(xí)的壓敏電阻表面缺陷檢測方法是不可避免的趨勢。
本文提出的無監(jiān)督壓敏電阻表面缺陷檢測方法主要由圖像預(yù)處理、壓敏電阻良品表面特征提取、壓敏電阻表面缺陷檢測3部分組成,如圖1所示。
(1)圖像預(yù)處理
包含去背景、規(guī)范化以及提取差分圖像3個操作步驟。去背景操作主要是去除原圖像中與壓敏電阻主體圖像無關(guān)的背景信息;規(guī)范化操作主要是通過形態(tài)學(xué)處理使得壓敏電阻主體圖像標(biāo)準(zhǔn)化,接下來,將標(biāo)準(zhǔn)圖像與被操作圖像進行差分操作,最后得到的差分圖像去除了與目標(biāo)無關(guān)的數(shù)據(jù)特征,如圖1a所示。
(2)壓敏電阻良品表面特征的提取
模型在變分自編碼器的基礎(chǔ)上融合了空間注意力機制,在模型的每個卷積層之前加入了空間注意力模塊,增加了模型對有效信息的識別能力。在訓(xùn)練階段主要是只輸入壓敏電阻良品圖像,模型利用變分自編碼器良好的生成特性[20],有效地提取壓敏電阻良品圖像特征,利用解碼器重構(gòu)圖像,盡量使重構(gòu)的圖像與原始輸入圖像相同,如圖1b所示。
(3)壓敏電阻表面缺陷檢測
首先給模型輸入壓敏電阻良品圖像得到重構(gòu)圖像,重構(gòu)后的圖像與原始輸入圖像相減得到殘差圖,基于“3σ準(zhǔn)則”處理殘差圖得到判定閾值(區(qū)分待檢測壓敏電阻圖像有無缺陷);然后輸入待檢測壓敏電阻圖像,若圖像有缺陷,模型在重構(gòu)圖像過程中自動去除缺陷特征,保留良品特征,若圖像無缺陷,模型在重構(gòu)圖像過程中重現(xiàn)良品特征;最后利用殘差圖能突出缺陷特征的特點,基于判定閾值得到檢測結(jié)果,如圖1c所示。
圖像預(yù)處理流程如圖2所示,壓敏電阻圖像經(jīng)歷了去背景、規(guī)范化以及提取差分圖像3個步驟,其目的是為了去除輸入數(shù)據(jù)中背景、光照以及其他噪聲對模型的影響。
為了去除冗余數(shù)據(jù)特征,本文在顏色空間以及形態(tài)學(xué)的基礎(chǔ)上,研究并得到了去背景,提取壓敏電阻主體圖像的方法,如圖3所示,其中圖3a為提取主體圖像算法流程圖,圖3b為算法示意圖。
算法步驟描述如下:
步驟1首先得到未放壓敏電阻的背景圖像以及放了壓敏電阻后的圖像,將兩張照片的顏色空間從RGB空間轉(zhuǎn)到HSV空間。
步驟2從HSV空間中,分別提取H通道的像素值。
步驟3根據(jù)步驟2提取到的兩張H通道的圖像進行差分,獲取差分圖像。
步驟4將步驟3獲得的差分圖像進行閾值操作,將像素值大于20的像素點賦值為255,將像素值小于20的賦值為0,從而提取壓敏電阻主體圖像的掩膜。
步驟5根據(jù)步驟4得到的掩膜中像素值為0的像素位置,將步驟1中的電阻圖像對應(yīng)位置的像素值賦值為0,從而得到去掉背景后的圖像。
由于照片為人工采集,圖像位置具有隨機性,為了確定了圖像的中心坐標(biāo),統(tǒng)一壓敏電阻圖像的姿態(tài),便于差分圖像的提取,研究并得到了壓敏電阻圖像規(guī)范化的方法,如圖4所示,其中圖4a為圖像規(guī)范化算法流程圖,圖4b為圖像規(guī)范化示意圖。
算法描述如下:
步驟1將壓敏電阻的掩膜進行顏色空間轉(zhuǎn)換,從RGB顏色空間轉(zhuǎn)為GRAY顏色空間。
步驟2根據(jù)步驟1得到的結(jié)果圖,第一次尋找最大輪廓。
步驟3根據(jù)步驟2得到的輪廓圖,尋找其橢圓特征,并計算輪廓的中心坐標(biāo)。
步驟4根據(jù)步驟3得到的橢圓特征角度以及輪廓的中心坐標(biāo),將壓敏電阻掩膜進行仿射變換,使其平移到圖像的中心位置,將對應(yīng)的去背景后的壓敏電阻圖像進行相同的操作。
步驟5將步驟3得到的結(jié)果圖像,第二次尋找最大輪廓。并計算輪廓中心坐標(biāo)。
步驟6根據(jù)步驟5得到的輪廓信息,尋找該輪廓在水平及豎直方向上的輪廓邊界。
步驟7根據(jù)步驟6得到的邊界信息以及步驟5得到的輪廓中心坐標(biāo),將去掉背景后的壓敏電阻圖像以及對應(yīng)的壓敏電阻掩膜進行裁剪。
為了消除光照變化和反射不均勻等無關(guān)數(shù)據(jù)特征,本文利用圖像差分技術(shù)[21]研究并得到了提取壓敏電阻差分圖像的方法。差分圖像可描述為:
Δx(m,n)=x(m,n)-X(m,n)。
(1)
式中:X(m,n)表示m×n維的標(biāo)準(zhǔn)圖像,x(m,n)表示m×n維的被操作圖像,Δx(m,n)表示差分圖像。
提取差分圖像流程如圖5所示,其中圖5a為提取差分圖像的算法流程圖,圖5b為提取差分圖像示意圖。
算法描述如下:
步驟1選取標(biāo)準(zhǔn)圖像。根據(jù)壓敏電阻大小以及形狀一致的特點,本文隨機選取1 000張壓敏電阻良品圖像(反面),并統(tǒng)計其相互的歐氏距離,將歐氏距離之和最小的定義為標(biāo)準(zhǔn)圖像。
步驟2將2.2節(jié)裁剪得到的壓敏電阻主體圖像以及步驟1得到的標(biāo)準(zhǔn)圖像由RGB圖像格式轉(zhuǎn)為HSV格式,并對二者V通道的像素值進行圖像“減”操作以及閾值處理,得到初始差分圖像。
步驟3將步驟1得到的標(biāo)準(zhǔn)圖像掩膜,與2.2節(jié)裁剪得到的壓敏電阻掩膜進行“與”操作。
步驟4將步驟2和步驟3得到的結(jié)果圖像再次進行圖像“減”操作。
步驟5根據(jù)步驟4得到的圖像,尋求其最大輪廓。
步驟6根據(jù)步驟5的輪廓圖像進行腐蝕操作,得到感興趣的區(qū)域(Region of Interest,ROI)。
步驟7將步驟2輸出圖像的所有在ROI區(qū)域外的像素值,全部賦值為0,得到最終的差分圖像。
由于壓敏電阻數(shù)據(jù)量不足,采用數(shù)據(jù)增強的方式提高模型對缺陷圖像的敏感性,降低過擬合問題的可能性。數(shù)據(jù)增強的過程是對原始圖像隨機進行向左、向右、向上、向下平移,以及在0°~360°之間任意旋轉(zhuǎn),結(jié)果如圖6所示。最終,增強后的圖像數(shù)量如表1所示。
表1 訓(xùn)練、驗證和測試集的數(shù)量
由于壓敏電阻有缺陷圖像難以捕獲,并且無公共數(shù)據(jù)集,相比于其他有監(jiān)督學(xué)習(xí)方法,壓敏電阻的缺陷檢測更適合使用無監(jiān)督的方法。
自編碼器作為無監(jiān)督學(xué)習(xí)的代表,因其具有良好的數(shù)據(jù)壓縮特性,與其他相關(guān)方法相比,更適合壓敏電阻表面特征的提取。標(biāo)準(zhǔn)自動編碼器網(wǎng)絡(luò)由編碼網(wǎng)絡(luò)與解碼網(wǎng)絡(luò)兩部分組成,本質(zhì)上是一種人工神經(jīng)網(wǎng)絡(luò)。首先自動編碼器進行數(shù)據(jù)壓縮,在壓縮到一定維度時,再進行數(shù)據(jù)還原,從而提取最低維的特征,讓輸出代替輸入,重現(xiàn)初始數(shù)據(jù)。標(biāo)準(zhǔn)自編碼器的結(jié)構(gòu)圖如圖7所示。
圖中:x表示m維的輸入數(shù)據(jù),m∈R;h表示n維的特征向量,
表示m維的輸出數(shù)據(jù),其中n 步驟1將輸入數(shù)據(jù)通過編碼網(wǎng)絡(luò)進行數(shù)據(jù)壓縮。 (2) 步驟2解碼器根據(jù)特征矩陣反向編碼網(wǎng)絡(luò),構(gòu)成解碼網(wǎng)絡(luò),進行數(shù)據(jù)重構(gòu)。 (3) 步驟3為了使得步驟1求得的特征有效,最小化編碼網(wǎng)絡(luò)輸出的重構(gòu)數(shù)據(jù)與原始輸入數(shù)據(jù)的誤差。 (4) 式中:Loss為重構(gòu)損失。 標(biāo)準(zhǔn)自編碼器雖然具有提取輸入數(shù)據(jù)特征的能力,但是由于其網(wǎng)絡(luò)結(jié)構(gòu)簡單,并不適合多維數(shù)據(jù)特征的提取。 基于變分自編碼器(Variational AutoEncoder,VAE)的生成模型在圖像分類[23]上具有非常不錯的效果。VAE繼承了編碼器提取圖像特征的強大能力,但是又與標(biāo)準(zhǔn)自編碼器不同,因為VAE在編碼網(wǎng)絡(luò)的最后一層并不是單純的壓縮之后的向量,而是用向量分布替代了解碼網(wǎng)絡(luò)的輸入。這種做法,使得模型具有了生成能力,極大地增強了模型的有效性。 本文使用VAE來提取壓敏電阻表面缺陷特征,模型示意圖如圖8所示,生成模型定義如下: p(Xm)=∑Zp(Xm|Zn)p(Zn)。 (5) 式中:p(Zn)為隱變量的向量分布,p(Xm|Zn)為輸入數(shù)據(jù),Xm為相對于隱變量Zn的分布,p(Xm)為輸入數(shù)據(jù)的分布。 為了保證模型具有生成能力,利用p(Zn|Xm)服從正態(tài)分布[24],隱變量變?yōu)椋?/p> p(Zn)=∑Xp(Zn|Xm)p(Xm)=N(0,1)。 (6) 模型的重構(gòu)誤差 (7) 為了保證隱變量的后驗分布服從標(biāo)準(zhǔn)正態(tài)分布,所以在重構(gòu)誤差的基礎(chǔ)上增加了潛在損失: Lμ=‖f1(Xm)‖2; (8) Lσ2=‖f2(Xm)‖2。 (9) 式中:Lμ與Lσ2分別表示輸入數(shù)據(jù)的均值μm和方差的對數(shù)logσ2的潛在損失,f1和f2表示神經(jīng)網(wǎng)絡(luò)模型。 為了確定上述損失的比例,計算輸入數(shù)據(jù)的正態(tài)分布與標(biāo)準(zhǔn)正態(tài)分布的KL散度Lμ,σ2,其公式定義如下: (10) (11) Lμ,σ2=Lμ+Lσ2。 (12) 最終的損失為: (13) 最后,利用重參數(shù)來解決模型不可訓(xùn)練的問題,重參數(shù)為: (14) 3.3.1 空間注意力機制 目前注意力機制在深度神經(jīng)網(wǎng)絡(luò)中十分流行,最大的原因在于注意力機制可以很好地提升網(wǎng)絡(luò)的性能[25],提升模型對有效信息的關(guān)注度,弱化無關(guān)信息對模型的影響。 空間注意力(Spatial Attention,SA)機制是在空間范圍內(nèi)使得模型關(guān)注有效信息,降低模型對無關(guān)信息的依賴,如圖9所示。 輸入特征進入到SA模塊中首先通過MaxPooling層以及AvgPooling層對特征信息進行評估,突出顯示有效信息的活動區(qū)域;然后使用一個卷積層(Convolution layer,Conv)進行提?。蛔詈髮@得的SA權(quán)重通過Sigmoid激活函數(shù)進行歸一化。該過程可描述為: (15) Sigmoid激活函數(shù)也稱Logistic,將權(quán)重進行歸一化操作并將其映射到0-1之間,可描述為: (16) 式中:S(x)表示激活函數(shù)的輸出,x為輸入數(shù)據(jù)。 3.3.2 融入空間注意力機制的DCVAE 卷積神經(jīng)網(wǎng)絡(luò)屬于前饋型的神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)主要包含輸入層、隱含層和輸出層,而隱含層由卷積層、池化層以及全連接層組成。21世紀(jì)以后,隨著深度學(xué)習(xí)理論的發(fā)展以及硬件設(shè)備強大計算能力的支撐,卷積神經(jīng)網(wǎng)絡(luò)被廣泛用于圖像處理方面[24]。 本文采用卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建出DCVAE模型。將空間注意力模塊嵌入到每一個卷積層之前,如圖10所示。 在特征數(shù)據(jù)F通過卷積層之前,先通過空間注意力模塊,本文用一個2×2的卷積來提取空間注意力信息,該信息通過Sigmoid激活函數(shù)歸一化后獲得空間注意力,然后將該空間注意力與原輸入特征數(shù)據(jù)的權(quán)重進行合并,統(tǒng)一進行卷積操作,過程描述如下: F′=Ms(F)×F。 (17) 式中:Ms(F)表示獲得的空間注意力,F(xiàn)表示原輸入數(shù)據(jù)的權(quán)重,F(xiàn)′表示空間注意力與原輸入數(shù)據(jù)權(quán)重合并得到的新的數(shù)據(jù)權(quán)重。 網(wǎng)絡(luò)體系結(jié)構(gòu)如圖11所示。編碼網(wǎng)絡(luò)將圖像以256×256×3的尺寸作為輸入,經(jīng)過20個卷積層、5個最大池化層、2個全局平均池化層(Global Average Pooling,GAP)以及1個采樣層處理。編碼器網(wǎng)絡(luò)結(jié)構(gòu)如表2所示。 表2 編碼器網(wǎng)絡(luò)結(jié)構(gòu) 卷積層描述為: y=f(∑kfk×kk+bk)。 (18) 式中:y為卷積層的輸出;fk為特征映射;kk表示卷積核;bk表示偏差系數(shù)。 為了減少每次輸入數(shù)據(jù)分布變化,前18個卷積層的輸出都經(jīng)過了批量標(biāo)準(zhǔn)化(Batch Normalization,BN)歸一化處理,BN歸一化可描述為: (19) 式中:μx(k)表示第k層卷積輸出的均值;σx(k)表示第k層卷積輸出的方差。 為了提高網(wǎng)絡(luò)的非線性表達能力,激活函數(shù)都采用Leaky ReLU函數(shù),描述為: (20) 式中ai是(0,+∞)內(nèi)的固定參數(shù)。 最大池化層是為了減少特征映射的維數(shù),增加模型的平移不變性,描述如下: (21) 式中:y(i,j)表示池化層的輸出;x(i,j)表示池化區(qū)域。 為了防止整個網(wǎng)絡(luò)過擬合,并且計算隱含層的均值μ和方差σ,數(shù)據(jù)通過GAP處理,可描述為: (22) 式中:yk表示全局平均池化的輸出;xk表示第k個特征圖。 采樣層的目的是為了讓模型在參數(shù)傳遞的過程中連續(xù)可導(dǎo),采樣層描述為: ε~N(0,1)。 (23) 由于輸入圖像的大小為256×256,在編碼網(wǎng)絡(luò)中經(jīng)過了5個最大池化層、2個全局平均池化層,因此編碼網(wǎng)絡(luò)的輸出特征圖的大小為1×1000,將其作為解碼網(wǎng)絡(luò)(如圖11和表3)的輸入,再經(jīng)過18個卷積層及6個上采樣層,其中上采樣層與編碼網(wǎng)絡(luò)中的最大池化層作用相反,其目的是為了擴展特征映射的大小。 表3 解碼器網(wǎng)絡(luò)結(jié)構(gòu) 上采樣層描述為: y(i,j)=f(x(i,j))。 (24) 式中:y(i,j)為上采樣的輸出;f為插值函數(shù);x(i,j)為上采樣區(qū)域。 解碼網(wǎng)絡(luò)除最后一個卷積層外的輸出都經(jīng)過了與編碼網(wǎng)絡(luò)相同的操作,即BN歸一化處理,激活函數(shù)采用Leaky ReLU,最后一個卷積層的激活函數(shù)采用tanh,描述如下: (25) 式中:yk表示解碼網(wǎng)絡(luò)的第k個輸出;xk表示卷積層的第k個輸入。 最后,解碼網(wǎng)絡(luò)的輸出圖像與編碼網(wǎng)絡(luò)的輸入圖像大小一致,利用重構(gòu)前與重構(gòu)后的圖像來計算模型的重構(gòu)誤差。 壓敏電阻表面缺陷檢測流程如圖12a所示,示意圖如圖12b所示。從待檢測圖像到輸出結(jié)果大致流程如下: 步驟1將待檢測的差分圖像輸入到模型中,從而獲得重構(gòu)圖像。 步驟2將差分圖像與重構(gòu)圖像一起進行形態(tài)學(xué)操作,本文的形態(tài)學(xué)操作通過實驗確定為腐蝕操作。 步驟3將步驟2獲得的結(jié)果進行“減”操作。 步驟4將步驟3獲得的結(jié)果,加以閾值判斷,輸出最終的結(jié)果。 將4.1節(jié)步驟3中的“減”操作描述為: (26) 利用“3σ準(zhǔn)則”[26],本文的閾值公式可描述為: T=μ+β×σ。 (27) 式中:T為閾值;μ表示圖像的均值;β為圖像標(biāo)準(zhǔn)差σ的系數(shù)。在本文中μ和σ可描述為: (28) (29) 式中m表示所有參與計算圖像的像素點的數(shù)量,則式(27)可變形為: (30) 通過實驗。確定本文中β的取值為3。 一般情況下,圖像的缺陷檢測具有快速、準(zhǔn)確的特性,為了訓(xùn)練深度學(xué)習(xí)模型,需要適量的數(shù)據(jù)進行學(xué)習(xí),從而使得模型具有出色的缺陷檢測能力。 當(dāng)前尚無公開的壓敏電阻圖像數(shù)據(jù)集,因此本文建立了如圖13所示的用于獲取壓敏電阻圖像的光學(xué)實驗平臺系統(tǒng)。如圖13a所示為圖像采集系統(tǒng),如圖13b所示為工業(yè)相機模擬圖,其鏡頭可拍攝最高2 100萬像素的圖像,相機與檢測對象之間的距離為15 cm,光源為LED環(huán)形補光燈。獲取的圖像是PNG格式的640×480像素大小的24位圖像。 本文中用于檢測的壓敏電阻型號為10D561K,直徑為10 mm,檢測對象選擇因表面有噴印文字使得缺陷檢測較難的壓敏電阻正面。由于受壓敏電阻本身價值的限定,所以本文只研究壓敏電阻表面是否包含缺陷,不對缺陷的種類進行分辨。 本文所使用的硬件環(huán)境為:處理器為Intel(R) Xeon(R)E5-2620 V4@2.10 GHZ、內(nèi)存為16 GB DDR4、GPU為k80c、軟件環(huán)境為CUDA Toolkit 10.0、Keras 2.3.0、Tensorflow 1.14.0、OpenCV3.4.1。 本節(jié)利用壓敏電阻圖像數(shù)據(jù)訓(xùn)練DCVAE網(wǎng)絡(luò),使其達到表面缺陷檢測的目的。訓(xùn)練過程中采用無監(jiān)督方法,只使用壓敏電阻良品差分圖像進行訓(xùn)練,使得DCVAE充分提取良品樣本的表面特征,再利用變分自編碼器良好的生成特性進行圖像重構(gòu),重構(gòu)后的壓敏電阻圖像中包含原來訓(xùn)練圖像的本質(zhì)特征。 由于已經(jīng)訓(xùn)練的模型中是通過壓敏電阻良品圖像進行采樣的,所以模型學(xué)習(xí)到的是良品樣本的特征分布。利用這一特性,對于有缺陷的壓敏電阻圖像,在經(jīng)過DCVAE網(wǎng)絡(luò)模型后,模型重構(gòu)的圖像是不包含缺陷特征的,如圖14所示。 本文利用良品圖像通過DCVAE網(wǎng)絡(luò)重新生成的是良品圖像,有缺陷圖像通過網(wǎng)絡(luò)重新生成的也是良品圖像的特點,加以閾值判別,最終達到缺陷檢測的目的。 本文設(shè)置的批尺寸(batch size)為64,epoch為1 000。 本文采用5.3節(jié)中描述的訓(xùn)練方式,進行模型的訓(xùn)練,訓(xùn)練時長接近43 h,單張圖像(256×256像素)測試時間為25.2 ms,由于本文所設(shè)計的缺陷檢測方法關(guān)注重構(gòu)前后的圖像,訓(xùn)練過程中主要注重模型的損失,訓(xùn)練集以及驗證集的損失變化如圖15所示。 可以看到,訓(xùn)練數(shù)據(jù)以及驗證數(shù)據(jù)在損失變化上整體一致,驗證數(shù)據(jù)集的損失有較小的上下波動,其中訓(xùn)練數(shù)據(jù)集以及驗證數(shù)據(jù)集最低點的損失分別為0.011 756 082,0.023 068 594。 本文利用測試集進行了實驗,檢測效果如圖16所示,縱坐標(biāo)表示圖像的重構(gòu)前后的損失,圖中黑色橫線表示通過式(30)計算得到的分割閾值,實際取值為9.115 2,從圖16可以看出,壓敏電阻良品圖像的重構(gòu)損失大部分集中在閾值分割線下方,而有缺陷的壓敏電阻圖像的重構(gòu)損失集中出現(xiàn)在閾值分割線的上方,由此可以看出模型對缺陷圖像十分敏感。 對于有缺陷的壓敏電阻圖像,模型的檢測效果如圖17所示,其中缺陷部分已經(jīng)在原圖中標(biāo)出,可以看出有缺陷的圖像通過模型得到的重構(gòu)圖,是不包含缺陷的,最終的殘差圖突出展示了缺陷塊的大小及形狀。 對于壓敏電阻良品圖像,模型的檢測效果如圖18所示,可以看出獲得的殘差圖基本不包含缺陷。 如圖19所示為模型對缺陷位于文本噴印區(qū)域的檢測效果,可以看出,該模型對缺陷與噴印文本疊加的壓敏電阻圖像不敏感,因此導(dǎo)致殘差圖未突出顯示缺陷區(qū)域。 為了評估本文所描述的壓敏電阻表面缺陷檢測方法的性能,本節(jié)將該檢測方法與深度卷積生成對抗網(wǎng)絡(luò)(DCGAN)[14]以及多尺度卷積去噪自動編碼器網(wǎng)絡(luò)(MSCDAE)[15]兩種無監(jiān)督檢測方法進行了比較。 DCGAN缺陷檢測模型是在標(biāo)準(zhǔn)DCGAN模型的基礎(chǔ)上進行了改進,通過增加一個編碼器改變了標(biāo)準(zhǔn)DCGAN只生成數(shù)據(jù)的特性,使其可以重建給定的輸入圖像,該方法在殘差圖突出顯示缺陷區(qū)域方面具有很好的效果。 MSCDAE是在多個尺度上對圖像進行分割,然后通過卷積去噪自編碼器網(wǎng)絡(luò)重建圖像塊,最后將多個尺度上的檢測結(jié)果進行合并,給出最終的檢測結(jié)果,該方法對尺寸較小的缺陷塊具有突出的檢測能力。 本文將召回率(RC)、精確率(PR)、F1值、單張圖像檢測時間以及受試者工作特征(Receiver Operating Characteristic,ROC)曲線作為評價壓敏電阻表面缺陷檢測性能的指標(biāo)。其中RC、PR以及F1定義如下: (31) (32) (33) 式中:TP表示良品樣本檢測正確的個數(shù);FN表示缺陷樣本檢測錯誤的個數(shù);FP表示良品樣本檢測錯誤的個數(shù);PR與RC用于評價模型檢測結(jié)果的質(zhì)量;F1值用于反映模型整體檢測結(jié)果的指標(biāo)。 單張圖像檢測時間主要由圖像加載時間、網(wǎng)絡(luò)計算時間、圖像重建時間以及閾值判斷時間決定,檢測時間最大的開銷在于模型的網(wǎng)絡(luò)規(guī)模上,即在相同硬件的基礎(chǔ)上,網(wǎng)絡(luò)規(guī)模越大,檢測耗時越長,實時性越差。 ROC曲線橫軸為假陽率(FPR),縱軸為真陽率(TPR)。學(xué)者常用ROC曲線來評價模型檢測效果的優(yōu)劣,其中ROC曲線圖中的虛線表示辨別力等于0的一條線,也叫純機遇線,ROC曲線離純機遇線越遠,即曲線越靠近左上角,代表受試者工作更準(zhǔn)確,即檢測效果更好。其中FPR,TPR定義如下: (34) (35) 式中TN表示缺陷樣本檢測正確的個數(shù)。 本文采用同樣的數(shù)據(jù)集,借鑒文獻[14-15]論文中對輸入數(shù)據(jù)尺寸以及網(wǎng)絡(luò)參數(shù)的設(shè)定,為了讓這兩種方法在壓敏電阻數(shù)據(jù)集上達到最優(yōu)的效果,將DCGAN模型輸入數(shù)據(jù)的尺寸設(shè)定為128×128,將MSCDAE模型輸入數(shù)據(jù)的尺寸設(shè)定為256×256、128×128、64×64。迭代次數(shù)統(tǒng)一為1 000次,并選取相同的測試集,對這3種算法分別在檢測精度、檢測速度以及ROC曲線3個方面進行了實驗,實驗結(jié)果如表4、表5和圖20所示。 表4 檢測精度比較 表5 檢測速度比較 從檢測精度和ROC曲線來看,DCVAE算法較其他兩種檢測算法擁有更好的效果,其中,準(zhǔn)確率至少提升了8.4%,召回率至少提升了6.3%,F(xiàn)1值至少提升了7.4%。模型檢測精度反映模型捕獲輸入數(shù)據(jù)核心特征的能力,DCGAN和MSCDAE兩種算法的每一個卷積層都是從全部空間范圍內(nèi)提取特征,而DCVAE算法融入了空間注意力機制,有針對性地在圖像數(shù)據(jù)的空間范圍內(nèi)提取有效的特征信息,減少了模型對冗余數(shù)據(jù)的處理過程,從空間上改善了模型捕獲圖像數(shù)據(jù)核心特征的能力,提升了模型的檢測精度。 從檢測速度來看,由于MSCDAE算法分別從256×256、128×128、64×64三個尺度上同時進行數(shù)據(jù)處理,對硬件資源要求較高且計算復(fù)雜,單張圖像測試耗時27.8 ms;DCGAN算法由于在模型中添加了一個新的編碼器用來處理圖像數(shù)據(jù),處理結(jié)果作為生成對抗網(wǎng)絡(luò)中生成器的輸入,由于該編碼器采用普通的卷積池化操作,節(jié)省了大量的運算時間,單張圖像測試耗時最少,為19.5 ms;本文提出的DCVAE算法由于在每一個卷積層之前引入了空間注意力模塊,增加了計算時間,單張圖像測試耗時為25.2 ms。 雖然DCGAN算法檢測耗時最低,但是算法的準(zhǔn)確率較低。DCVAE算法雖然在檢測速度上不如DCGAN算法,但是滿足工業(yè)檢測速度的需求,且該算法較其他兩種算法在檢測精度方面具有較大的優(yōu)勢。 綜上,本文研究得到的DCVAE算法更符合壓敏電阻表面缺陷檢測工業(yè)生產(chǎn)線中可靠性與實時性的要求。 本文提出一種基于DCVAE的無監(jiān)督學(xué)習(xí)方法,用于壓敏電阻表面缺陷檢測。該方法將空間注意力機制融入DCVAE模型中,提升了模型對有效信息的關(guān)注度,弱化了無關(guān)信息對模型的影響,有效提取了良品圖像特征,利用壓敏電阻良品圖像進行訓(xùn)練,訓(xùn)練過程不進行人工干預(yù),對于有缺陷的壓敏電阻圖像,模型自動過濾缺陷部位,即重構(gòu)出來的圖像是不包含缺陷的,通過重構(gòu)前后的殘差圖,來突出顯示缺陷區(qū)域,利用判別閾值檢測圖像是否包含缺陷。為了減少數(shù)據(jù)的特征量,去除冗余數(shù)據(jù),本文設(shè)計了一種數(shù)據(jù)預(yù)處理方法,將原始的壓敏電阻圖像進行去背景以及規(guī)范化操作,然后提取出壓敏電阻圖像與標(biāo)準(zhǔn)圖像的差分圖像,最后用該差分圖像進行訓(xùn)練。與目前流行的無監(jiān)督缺陷檢測方法進行了對比實驗,結(jié)果表明:所提方法在檢測壓敏電阻表面缺陷方面表現(xiàn)更好,效率更高,解決了壓敏電阻表面缺陷樣本采集困難以及檢測精度差的問題。然而本文所提出的方法,對于缺陷位于文本噴印區(qū)域的壓敏電阻圖像表現(xiàn)較差,未來將繼續(xù)探索缺陷與噴印文本分離的方法,以此來提升檢測精度。3.2 變分自編碼器[22]
3.3 深度卷積變分自編碼器(DCVAE)
4 壓敏電阻表面缺陷檢測
4.1 壓敏電阻表面缺陷檢測流程
4.2 判定閾值的定義
5 實驗結(jié)果與討論
5.1 圖像數(shù)據(jù)的采集
5.2 實驗環(huán)境
5.3 訓(xùn)練過程
5.4 實驗結(jié)果
5.5 缺陷檢測性能比較
6 結(jié)束語