王 銘,王慶霞,2,戈增文,吳喜如,周 虎
(1.東華大學(xué) 機(jī)械工程學(xué)院,上海 201620;2.上海航天工藝與裝備工程技術(shù)研究中心,上海 200245)
發(fā)動(dòng)機(jī)缸蓋的表面質(zhì)量不僅影響產(chǎn)品外觀,還嚴(yán)重影響發(fā)動(dòng)機(jī)功率、油耗等使用性能和壽命。然而,由于毛坯成形和機(jī)械加工中不確定因素,缸蓋表面往往會(huì)產(chǎn)生多種類型的缺陷,如孔洞、裂紋和劃痕等。目前,在生產(chǎn)線上大多采用人工目視檢測(cè)的方式,這種方法主觀性強(qiáng)、勞動(dòng)強(qiáng)度大、工作效率低、易造成誤檢和漏檢,無(wú)法保證產(chǎn)品質(zhì)量[1]。
基于機(jī)器視覺(jué)的表面檢測(cè)方法已應(yīng)用在鋼板、鋼軌、紡織品、水果、木材等工業(yè)產(chǎn)品表面缺陷檢測(cè)中。傳統(tǒng)的視覺(jué)檢測(cè)大多通過(guò)設(shè)定特征來(lái)對(duì)缺陷進(jìn)行定義,例如缺陷的幾何特征和灰度特征,然后利用分類器對(duì)特征進(jìn)行分類,從而實(shí)現(xiàn)缺陷的識(shí)別[2~5]。但該方法的魯棒性和泛化能力不好,主要用于特定產(chǎn)品的離線檢測(cè)。而實(shí)際生產(chǎn)線上,光照、物體變形等場(chǎng)景變化無(wú)法預(yù)測(cè),圖像噪聲復(fù)雜,很多算法在實(shí)際應(yīng)用中表現(xiàn)效果一般。以卷積神經(jīng)網(wǎng)絡(luò)為主的深度學(xué)習(xí)方法,通過(guò)局部感知、權(quán)重共享和局部連接的特有結(jié)構(gòu)特性,使得整個(gè)網(wǎng)絡(luò)確保對(duì)輸入的圖像信號(hào)具有位移和畸變魯棒性。因此,在獲得足夠多的標(biāo)記圖像情況下,可以對(duì)產(chǎn)品缺陷進(jìn)行有效識(shí)別[6~11]。然而,而實(shí)際應(yīng)用中,缺陷樣品往往難以事先采集,手工貼標(biāo)費(fèi)時(shí)。因此,由于正樣本和缺陷樣本數(shù)量的不平衡,往往導(dǎo)致模型訓(xùn)練精度降低[12]。
隨著深度學(xué)習(xí)在機(jī)器視覺(jué)領(lǐng)域取得的成功,出現(xiàn)了很多基于卷積神經(jīng)網(wǎng)絡(luò)的新型網(wǎng)絡(luò)框架,越來(lái)越多的無(wú)監(jiān)督式學(xué)習(xí)算法不斷涌現(xiàn),生成對(duì)抗網(wǎng)絡(luò)(GAN)就是其中之一,目前GAN已廣泛用于圖片生成、補(bǔ)全、風(fēng)格轉(zhuǎn)換等領(lǐng)域[13~15]?;谏蓪?duì)抗網(wǎng)絡(luò)思想,本文提出一種基于正樣本的缺陷圖像重構(gòu)方法,通過(guò)殘差圖像比對(duì)實(shí)現(xiàn)缺陷識(shí)別。
根據(jù)文獻(xiàn)[13],GAN的網(wǎng)絡(luò)基本結(jié)構(gòu)如圖1所示。在訓(xùn)練過(guò)程中,生成器G接收隨機(jī)噪聲向量z以生成新圖像G(z),并與輸入的真實(shí)圖像進(jìn)行對(duì)比,一同輸入給判別器D進(jìn)行判斷,并輸出損失值LD,然后根據(jù)損失值LD優(yōu)化生成器G的網(wǎng)絡(luò)參數(shù)。通過(guò)G和D的相互博弈,逐步提高生成器G所生成圖像G(z)的真實(shí)度,直到判別器D無(wú)法判別輸入數(shù)據(jù)來(lái)自哪里,也就是分類器給出輸入數(shù)據(jù)來(lái)源于真實(shí)樣本和生成樣本的概率近似為0.5,達(dá)到一個(gè)納什平衡的狀態(tài)。
圖1 GAN網(wǎng)絡(luò)結(jié)構(gòu)
GAN的目標(biāo)函數(shù)可寫成:
式中:E表示期望的分布;Px表示正常產(chǎn)品圖像訓(xùn)練樣本的分布;Pz表示被用于生成器G輸入的隨機(jī)性先驗(yàn)分布;D(x)表示x來(lái)自于真實(shí)數(shù)據(jù)分布Px(x)的概率。
根據(jù)式(1)可知,生成對(duì)抗網(wǎng)絡(luò)模型的訓(xùn)練目標(biāo)是判別器D輸出最大化,而生成器G輸出最小化。則判別器D和生成器G損失函數(shù)為:
最終,生成器G生成的圖像能夠無(wú)監(jiān)督地反映真實(shí)數(shù)據(jù)樣本與噪聲向量z的映射規(guī)律,通過(guò)映射規(guī)律能夠生成更多滿足正常產(chǎn)品分布規(guī)律的圖像。
在生成對(duì)抗網(wǎng)絡(luò)中,人們通常采用編碼器-解碼器網(wǎng)絡(luò)。利用該網(wǎng)絡(luò)修復(fù)缺陷圖像時(shí),輸入的缺陷圖像先是通過(guò)一系列下采樣,直到遇到中間隱含層,然后再通過(guò)一系列上采樣生成新的圖像。于是,輸入圖像要經(jīng)過(guò)包括中間層在內(nèi)的所有層,不能直接把信息從編碼層傳遞給解碼層。因此,輸入圖像中無(wú)缺陷區(qū)域部分的幾何信息等關(guān)鍵特征,將可能被壓縮甚至丟失,這將大大影響生成圖像的真實(shí)度。為了使這些關(guān)鍵特征能夠繞過(guò)中間層,本文采用U-Net的網(wǎng)絡(luò)形式,即在第i層和第n-i層之間添加了跳躍式連接,使得第i層的所有通道與第n-i層的通道信息實(shí)現(xiàn)共享。
為了提高生成器對(duì)輸入圖像細(xì)節(jié)部分的捕獲能力,判別器要能夠獲取到高頻信息,因此研究中采用了PatchGAN的判別器結(jié)構(gòu),在patch規(guī)模上對(duì)圖像進(jìn)行判別。該判別器能夠?qū)D像中每個(gè)N×N區(qū)域進(jìn)行真或假判斷,其中判定為真的圖像塊將保留其特征信息,使其能夠?qū)斎雸D像的細(xì)節(jié)區(qū)域進(jìn)行真實(shí)性區(qū)分。
圖2為本文所提出的圖像修復(fù)網(wǎng)絡(luò)模型MGAN的總體框架。
生成器G的詳細(xì)網(wǎng)絡(luò)參數(shù)如表1所示。把隨機(jī)噪聲信號(hào)z的維度設(shè)置為256維,利用二維卷積層來(lái)對(duì)數(shù)據(jù)維度進(jìn)行縮減,并添加批歸一化層在每個(gè)二維卷積層后。同時(shí)采用ReLU作為網(wǎng)絡(luò)的激活函數(shù),以提高網(wǎng)絡(luò)的訓(xùn)練速度。
表1 生成器網(wǎng)絡(luò)結(jié)構(gòu)
圖2 圖像修復(fù)網(wǎng)絡(luò)模型MGAN框架
判別器D網(wǎng)絡(luò)參數(shù)如表2所示,二維卷積網(wǎng)絡(luò)的激活函數(shù)采用的是LeakyReLU,這種激活函數(shù)能夠提高識(shí)別性能,判別器的輸出即為輸入圖像屬于真實(shí)樣本圖像的概率。
表2 判別器網(wǎng)絡(luò)結(jié)構(gòu)
本文采用的圖像采集設(shè)備為水星MER-500-14GM/C面陣相機(jī),KowaLM8JCM型鏡頭,視場(chǎng)為50mm×50mm。試驗(yàn)時(shí),共采集1300幅圖像,其中1000張為正常無(wú)缺陷圖像,300張為含有缺陷的圖像。計(jì)算機(jī)硬件為CPU Intel(R)Core(TM)i7-7700 @2.80GHz×8和NVIDIA GTX1060 GPU(6G),并采用CUDA9.0和cuDNN7.3進(jìn)行加速。
研究時(shí),采用谷歌神經(jīng)網(wǎng)絡(luò)算法庫(kù)Tensorflow和Keras框架搭建MGAN生成對(duì)抗網(wǎng)絡(luò)。采用均勻隨機(jī)抽樣的方式,在建立的數(shù)據(jù)集中抽取80%和20%分別作為訓(xùn)練集和驗(yàn)證集。網(wǎng)絡(luò)訓(xùn)練時(shí),采用文獻(xiàn)[13]中的網(wǎng)絡(luò)訓(xùn)練方式交替訓(xùn)練生成器G和判別器D,即從正常產(chǎn)品圖像中獲取真實(shí)數(shù)據(jù)樣本,在生成器G中輸入噪聲向量z以生成修復(fù)后的圖像,然后根據(jù)式(3)來(lái)計(jì)算判別器D的判斷結(jié)果,并利用Adam優(yōu)化器不斷地更新網(wǎng)絡(luò)參數(shù)。
為了驗(yàn)證本文所提方法的準(zhǔn)確性和可靠性,試驗(yàn)時(shí)對(duì)孔洞,劃痕,磕碰等三種典型缺陷進(jìn)行了測(cè)試。
圖3所示的輸入圖像,矩形框內(nèi)為孔洞缺陷?,F(xiàn)分別采用GAN和MGAN方法,對(duì)其進(jìn)行修復(fù),得到圖3第三列所示的修復(fù)圖像。由圖可看出,這兩種方法均能夠?qū)θ毕葸M(jìn)行修復(fù)。
本文采用圖像差分法檢測(cè)圖像修復(fù)效果。其原理就是將修復(fù)圖像和輸入的原始圖像對(duì)應(yīng)坐標(biāo)的灰度值相減,得到殘差圖像。理想狀態(tài)下,殘差圖像中非缺陷區(qū)域的灰度值將趨近于0。
為了更好地解釋修復(fù)效果,在圖3所示原始圖像的缺陷附近截取14×14像素點(diǎn)區(qū)域進(jìn)行局部放大,如圖4所示,其中紅色方框?yàn)槿毕菟诘拇笾聟^(qū)域。由圖4(b)和圖4(c)與原圖圖4(a)對(duì)比可知,經(jīng)過(guò)MGAN方法修復(fù)得到的圖像,非缺陷區(qū)域像素灰度值更加接近于原始圖像對(duì)應(yīng)位置的灰度值。因此將二者作差即可將缺陷區(qū)域突顯出來(lái),即:
式中,ΔP(x,y)為殘差圖像;Pt(x,y)和PG(x,y)分別為原始圖像和修復(fù)圖像。
圖3 兩種方法的圖像修復(fù)效果比對(duì)
根據(jù)式(4)得到圖4(b)和圖4(c)的殘差圖像ΔPGAN(x,y)和ΔPMGAN(x,y),并將非缺陷區(qū)域設(shè)為背景區(qū)域。圖5描述了兩個(gè)殘差圖像的三維灰度分布形貌。由圖可看出,圖像ΔPMGAN(x,y)的背景區(qū)域灰度波動(dòng)范圍為[0,15],缺陷區(qū)域中的灰度最大值為100,最小值為50。圖像ΔPGAN(x,y)的背景區(qū)域灰度波動(dòng)范圍為[0,100],缺陷區(qū)域中的灰度最大值為120,最小值為60。
為了定量評(píng)價(jià)修復(fù)效果,本文用灰度均值和均方差評(píng)價(jià)殘差圖像。表3為圖4和圖3對(duì)應(yīng)的殘差圖像的統(tǒng)計(jì)結(jié)果。從表中可看出,對(duì)于背景區(qū)域,殘差圖像ΔPMGAN(x,y)灰度均值和均方差均比ΔPGAN(x,y)要小,說(shuō)明生成圖像PMGAN(x,y)更加逼近于輸入圖像Pt(x,y)。
為進(jìn)一步說(shuō)明MGAN方法的修復(fù)效果,觀察圖3中的殘差圖像灰度分布,發(fā)現(xiàn)殘差圖像ΔPGAN(x,y)在無(wú)缺陷區(qū)域會(huì)出現(xiàn)離散的脈沖形灰度分布,且主要集中在孔、槽等幾何特征的邊緣上,說(shuō)明在圖像生成過(guò)程中,GAN方法對(duì)曲率變化大的高頻幾何結(jié)構(gòu)邊緣,保持信息不變的能力較弱。而在這些區(qū)域MGAN方法具有較好的修復(fù)能力。表3中殘差圖像的灰度均值和均方差結(jié)果也說(shuō)明了這點(diǎn)。
圖4 局部區(qū)域的灰度值比較
圖5 殘差圖像三維灰度分布形貌
表3 殘差圖像的統(tǒng)計(jì)
采用MGAN方法對(duì)采集到的缺陷圖像進(jìn)行修復(fù),并計(jì)算出殘差圖像中背景區(qū)域(無(wú)缺陷區(qū)域)的灰度均值和均方差。圖6為隨機(jī)選擇的20張殘差圖像的統(tǒng)計(jì)結(jié)果。由圖可看出,對(duì)于背景區(qū)域,殘差圖像ΔPMGAN(x,y)灰度均值和均方差變化范圍分別為[4,8]和[6,10],ΔPGAN(x,y)的灰度均值和均方差變化范圍分別為[24,38]和[18,24],說(shuō)明生成圖像PMGAN(x,y)更加逼近于輸入圖像Pt(x,y)。
由此可得出:1)相比于GAN方法,MGAN方法對(duì)輸入圖像的修復(fù)效果更好;2)對(duì)于缺陷區(qū)域,殘差圖像ΔPMGAN(x,y)和ΔPGAN(x,y)的灰度均值基本接近,但比輸入圖像Pt(x,y)的灰度均值大得多。于是,可利用該方法得到的殘差圖像進(jìn)行圖像中的缺陷定位。
圖6 殘差圖像灰度統(tǒng)計(jì)(背景區(qū)域)
研究中采用最大類間方差法(Otus)確定閾值,類間方差可寫為:
其中,w0為缺陷區(qū)域的像素點(diǎn)個(gè)數(shù)占?xì)埐顖D像總像素點(diǎn)的比例,w1為屬于背景區(qū)域的像素點(diǎn)個(gè)數(shù)占?xì)埐顖D像總像素點(diǎn)的比例,u0為所有缺陷區(qū)域的平均像素值,u1為所有背景區(qū)域的平均像素值。當(dāng)方差g達(dá)到最大時(shí),可認(rèn)為此時(shí)缺陷分割的閾值為最佳閾值。
在殘差圖像中,如果ΔP(x,y)>th,則像素點(diǎn)pixel(x,y)為缺陷點(diǎn),標(biāo)記為1;反之,則為非缺陷點(diǎn),標(biāo)記為0。于是,殘差圖像經(jīng)過(guò)二值化后,可表示為:
圖7為含有孔洞、劃痕、磕碰三種缺陷的識(shí)別結(jié)果。從二值化圖像可看出,本文所提方法可進(jìn)行缺陷定位,其中孔洞缺陷分離效果最好,其次為磕碰缺陷,劃痕缺陷相對(duì)較弱。這主要是受到劃痕缺陷深度和照明系統(tǒng)亮度影響。
圖7 不同類型缺陷識(shí)別效果
為進(jìn)一步測(cè)試本文所提算法的魯棒性,針對(duì)前文所用的300個(gè)缺陷產(chǎn)品,依次改變光源亮度并得到相應(yīng)的圖像,即1500個(gè)缺陷樣本,其中孔洞、磕碰和劃痕分別為1250、100和150個(gè)。圖8描述了不同亮度下劃痕缺陷的識(shí)別情況。由圖可看出,當(dāng)相對(duì)亮度取20時(shí),測(cè)試場(chǎng)景較暗,于是產(chǎn)品表面上的加工紋理凸顯,導(dǎo)致劃痕中較淺的細(xì)節(jié)部分與之混淆。當(dāng)相對(duì)亮度取40時(shí),測(cè)試場(chǎng)景較亮,劃痕與表面加工紋理均被忽略而無(wú)法識(shí)別。
圖8 不同亮度下的劃痕缺陷圖像
圖9為不同亮度下三種類型缺陷識(shí)別準(zhǔn)確率,可看出,當(dāng)相對(duì)亮度在25~35之間,孔洞和磕碰兩類缺陷的識(shí)別正確率均達(dá)到95%以上,劃痕缺陷識(shí)別正確率有80%。
圖9 不同亮度下缺陷識(shí)別比較
本文基于生成對(duì)抗網(wǎng)絡(luò)思想,提出了一種基于正樣本的缺陷圖像修復(fù)網(wǎng)絡(luò)模型結(jié)構(gòu),可以在正樣本和缺陷樣本數(shù)量不平衡的工況下,通過(guò)產(chǎn)品圖像重構(gòu)和圖像差分法,實(shí)現(xiàn)對(duì)產(chǎn)品缺陷的有效識(shí)別。該方法與目前占主導(dǎo)地位的傳統(tǒng)機(jī)器視覺(jué)檢測(cè)算法在解決思路上截然不同,但缺陷識(shí)別效果明顯提高,證明了本文方法的可行性。在后續(xù)研究中,主要工作會(huì)集中在對(duì)圖像修復(fù)網(wǎng)絡(luò)模型的改進(jìn),以便更好地識(shí)別劃痕缺陷。