劉榮華,王安妮,鄭增強(qiáng)
(1.武漢精測(cè)電子集團(tuán)股份有限公司;2.武漢精測(cè)電子集團(tuán)股份有限公司智能檢測(cè)研究院;3.武漢精測(cè)電子集團(tuán)股份有限公司研發(fā)中心,湖北武漢 430205)
深度學(xué)習(xí)正處于快速發(fā)展階段,在許多領(lǐng)域得到了很好應(yīng)用。在工業(yè)領(lǐng)域,人們?cè)絹?lái)越需要結(jié)合深度學(xué)習(xí)算法來(lái)提高效率。然而,深度學(xué)習(xí)需要大量的樣本數(shù)據(jù)才能獲得更好的模型,但工業(yè)缺陷樣本往往有限。因此,為了獲得更多的樣本滿(mǎn)足工業(yè)檢測(cè)要求,本文采用生成式對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)來(lái)產(chǎn)生新的樣本。
Goodfellow 等[1]的GAN 方法是圖像生成的一種流行方法,DCGAN 的應(yīng)用使得基于GAN 的圖像生成技術(shù)向前邁進(jìn)了一大步。近年圖像生成技術(shù)有兩大發(fā)展方向:
(1)圍繞GAN 的穩(wěn)定性?xún)?yōu)化提出了許多改進(jìn)loss 函數(shù)計(jì)算的優(yōu)化算法,如Arjovsky[2]提出了權(quán)剪裁,在很大程度上解決了模式崩潰問(wèn)題,但是WGAN 仍然存在收斂問(wèn)題。為解決WGAN的爆炸梯度問(wèn)題,Gulrajani[3]在臨界損失中加入梯度懲罰來(lái)進(jìn)一步優(yōu)化圖像生成,采取距離優(yōu)化方法來(lái)提高生成圖像的多樣性。Mao[4]在兩個(gè)生成的圖像之間引入一個(gè)特殊的距離以使相應(yīng)的隱層編碼最大化。這些策略使圖像生成更加穩(wěn)定和多樣化,為基于GAN 的高分辨率圖像生成提供了發(fā)展基礎(chǔ)。
(2)GAN 網(wǎng)絡(luò)結(jié)構(gòu)的創(chuàng)新使圖像生成不再局限于特定分辨率,甚至能夠生成高分辨率圖像。SAGAN 將注意機(jī)制與光譜歸一化相結(jié)合,形成多級(jí)依賴(lài)結(jié)構(gòu),保證了生成圖像的全局結(jié)構(gòu)。Chen 等[5]和Lucic 等[6]通過(guò)添加條件分類(lèi)器和隱層編碼,探討了隱層編碼對(duì)生成數(shù)據(jù)特征的影響。這些條件分類(lèi)器不僅能判斷圖像真假,而且能給出分類(lèi)標(biāo)簽,進(jìn)一步增強(qiáng)了鑒別器的鑒別能力。近年來(lái),多級(jí)圖像生成GAN 網(wǎng)絡(luò)在圖像生成質(zhì)量方面取得了重大突破,如SinGAN[7]、PGGAN[8]和StyleGAN[9]。雖然這類(lèi)算法引入了圖像風(fēng)格之間的轉(zhuǎn)換,但它們?cè)趫D像生成方面的性能也很突出。特別是StyleGAN 采用多級(jí)生成方法,提出了一種映射網(wǎng)絡(luò)和添加AdaIN 模塊的方法,實(shí)現(xiàn)了高質(zhì)量的多分辨率圖像生成。同時(shí)一些GAN 網(wǎng)絡(luò)致力于生成圖像的可編輯性研究,Choi 等[10]和Karnewar 等[11]研究了StarGANr2 和MSG-GAN,使生成的圖像可在多個(gè)域擴(kuò)展,而Pidhorskyi等[12]則在StyleGAN 網(wǎng)絡(luò)基礎(chǔ)上探討了對(duì)隱層信息的可編輯操作,從而實(shí)現(xiàn)對(duì)人臉圖像特征進(jìn)行編輯。但這些能生成高分辨率的GAN 算法往往需要大量的樣本作為支撐,因此誕生了一些以成對(duì)甚至單張圖像進(jìn)行圖像生成的GAN算法,例如Shaham[13]、Lin[14]、Hinz[15]等。
也有一些基于非GAN 網(wǎng)絡(luò)的圖像生成算法,最具代表性的是Kingma 等[16]研究的VAE 方法,其在常規(guī)的自編碼器基礎(chǔ)上對(duì)encoder 的結(jié)果加上“高斯噪聲”,使得結(jié)果decoder 能夠?qū)υ肼曈恤敯粜浴6鳵azavi 等[17]研究的VQVAE2 基于此進(jìn)行演化,將連續(xù)的隱變量變?yōu)殡x散,引入PixelCNN[18]實(shí)現(xiàn)了更為高效的圖像生成。但目前這類(lèi)方法在圖像生成方面無(wú)法與先進(jìn)GAN 網(wǎng)絡(luò)生成的圖像質(zhì)量媲美。因此在圖像生成領(lǐng)域,目前先進(jìn)的算法還是基于GAN 網(wǎng)絡(luò)的方法占據(jù)優(yōu)勢(shì)。
由于工業(yè)缺陷的復(fù)雜性及樣本匱乏性,基于單張或者成對(duì)的圖像生成不能滿(mǎn)足大量豐富缺陷的生成需求,基于少量樣本進(jìn)行模擬生成會(huì)造成GAN 網(wǎng)絡(luò)模式崩潰。而位于不同位置的工業(yè)缺陷其復(fù)雜程度是不一樣的,所以為了實(shí)現(xiàn)工業(yè)缺陷的模擬,本文首先根據(jù)缺陷的位置提取特征,然后利用先進(jìn)的生成算法StyleGAN 網(wǎng)絡(luò)訓(xùn)練生成模型,基于訓(xùn)練好的模型生成一組新的缺陷樣本。根據(jù)生成的樣本和特征的位置采用本文的圖像處理方法可以融合更多的可用樣本。
本文實(shí)驗(yàn)采用典型工業(yè)缺陷數(shù)據(jù)集的面板缺陷數(shù)據(jù)集作為算法驗(yàn)證數(shù)據(jù)集,通過(guò)對(duì)面板缺陷數(shù)據(jù)集實(shí)驗(yàn)可以成功生成新的缺陷。此外,本文通過(guò)計(jì)算IS(Inception Score)[19]和FID(Fréchet Inception Distance)[20]的方式來(lái)評(píng)估模擬生成算法性能。提取工業(yè)缺陷的位置信息是必要的,但是如果忽略位置只提供少量工業(yè)缺陷樣本,GAN 網(wǎng)絡(luò)可能無(wú)法模擬生成復(fù)雜的缺陷。
對(duì)面板缺陷的模擬生成實(shí)驗(yàn)證明,本文提出的算法能夠?qū)崿F(xiàn)工業(yè)缺陷的生成和融合,能夠擴(kuò)展樣本,為工業(yè)領(lǐng)域的深度學(xué)習(xí)應(yīng)用提供有力的數(shù)據(jù)支撐。
在工業(yè)領(lǐng)域,缺陷圖像獲取往往較困難,因此很難用少量樣本訓(xùn)練得到高精度的深度學(xué)習(xí)模型。在這種情況下,即使使用GAN 網(wǎng)絡(luò)生成圖像,仍然會(huì)發(fā)生模式崩潰問(wèn)題,導(dǎo)致只能生成固定種類(lèi)的缺陷樣本,在模擬生成過(guò)程中很難生成具有復(fù)雜背景的缺陷樣本。以面板檢測(cè)數(shù)據(jù)集為例,發(fā)現(xiàn)位于邊緣或角落處的圖像多為復(fù)雜背景,刪除這些背景往往不利于缺陷檢測(cè)。另外,基于GAN 網(wǎng)絡(luò)進(jìn)行大規(guī)模尺寸圖像的訓(xùn)練往往耗時(shí)長(zhǎng),對(duì)硬件環(huán)境要求高,不利于推廣和應(yīng)用。因此,結(jié)合工業(yè)缺陷圖像特點(diǎn),本文提出一種基于區(qū)域位置的圖像生成算法,以128×128 尺寸為例,其流程如圖1 所示。首先根據(jù)需要的大小裁剪圖片,對(duì)裁剪后的圖像進(jìn)行分類(lèi),模擬生成缺陷;然后對(duì)生成的缺陷圖像進(jìn)行特征轉(zhuǎn)換,得到豐富的缺陷模擬圖像;最后,對(duì)得到的缺陷圖像進(jìn)行融合,得到一個(gè)新的缺陷數(shù)據(jù)集。
Fig.1 Flow of position based image generation圖1 基于位置的圖像生成流程
首先,需要對(duì)缺陷圖像I 進(jìn)行圖像裁剪,這里使用滑動(dòng)窗口進(jìn)行裁剪,并將其劃分為角、邊和中心的小圖片。根據(jù)現(xiàn)有的工業(yè)缺陷檢測(cè)算法進(jìn)行篩選,得到不同位置的缺陷數(shù)據(jù)集ICorner、Iedge、Icenter。
模擬StyleGAN 的網(wǎng)絡(luò)可分為映射網(wǎng)絡(luò)f、綜合網(wǎng)絡(luò)g 和噪聲模塊3 部分。StyleGAN 的基本結(jié)構(gòu)如圖2 所示,映射網(wǎng)絡(luò)f 包含8 個(gè)完全連通的層,合成網(wǎng)絡(luò)g 包含18 個(gè)層,分辨率為4×4 到1 024×1 024。9 種分辨率各有兩層,所需分辨率可根據(jù)實(shí)際情況更改。發(fā)生器首先將輸入向量通過(guò)f編碼成中間向量,然后將中間向量傳遞給生成網(wǎng)絡(luò),得到18 個(gè)控制向量,使得控制向量的不同元素可以控制不同的視覺(jué)特征。將輸入映射到中間潛在空間W,然后W 控制生成器在每個(gè)卷積層執(zhí)行自適應(yīng)實(shí)例規(guī)范化(AdaIN),如公式(1)所示。μ(x)和σ(x)分別表示訓(xùn)練圖像的均值和標(biāo)準(zhǔn)差,μ(y)和σ(y)分別表示生成圖像的均值和標(biāo)準(zhǔn)差。在AdaIN 模塊之前向每個(gè)通道添加縮放噪聲,并稍微改變分辨率級(jí)別特征的視覺(jué)表示。
Fig.2 Structure of StyleGAN圖2 StyleGAN 的結(jié)構(gòu)
根據(jù)Chen 等[21]研究的方法,可以改變?cè)摑撛诳臻g的隨機(jī)量,實(shí)現(xiàn)網(wǎng)絡(luò)學(xué)習(xí)的可解釋性特征,從而根據(jù)具有一定特征的圖像數(shù)據(jù)集提取特征碼。生成的圖像不是基于隨機(jī)噪聲z,而是基于特定特征碼的隨機(jī)值生成,可以生成具有特定特征的圖像。因此,利用ResNet 模型來(lái)訓(xùn)練圖像與潛碼z 之間的映射網(wǎng)絡(luò),并通過(guò)修改特征碼來(lái)實(shí)現(xiàn)缺陷圖像的特征修改與融合。
在工業(yè)檢測(cè)中經(jīng)常需要一定尺寸的圖像,如果尺寸不符合檢驗(yàn)要求則對(duì)缺陷模擬沒(méi)有意義。為此,本文提出一種圖像融合算法,將產(chǎn)生的缺陷與不同背景相結(jié)合生成新的缺陷圖像。由于工業(yè)缺陷圖像數(shù)據(jù)往往有著紋理信息,而單純的圖像融合可能會(huì)使缺陷失去這部分紋理信息,從而使得基于圖像融合出的缺陷數(shù)據(jù)集往往與真實(shí)數(shù)據(jù)集有著較大差異,不利于深度學(xué)習(xí)應(yīng)用。因此,在圖像融合中,本文將缺陷和背景紋理信息均進(jìn)行了提取及有效利用,采用旋轉(zhuǎn)不變方差測(cè)度局部二值模式方法分別對(duì)背景圖像和缺陷圖像進(jìn)行紋理提取。對(duì)于缺陷的紋理圖像,通過(guò)二值化、卷積和腐蝕擴(kuò)展等操作提取缺陷的掩模圖像,然后根據(jù)缺陷圖像去除紋理,添加背景圖像紋理,取得了較好的圖像融合效果。圖像融合算法流程如圖3 所示。
Fig.3 Image fusion process based on defect images圖3 基于缺陷小圖的圖像融合流程
采用工業(yè)檢測(cè)中的缺陷數(shù)據(jù)集缺陷模擬生成算法進(jìn)行實(shí)驗(yàn)驗(yàn)證。利用工業(yè)上常見(jiàn)的面板缺陷數(shù)據(jù)集進(jìn)行缺陷模擬實(shí)驗(yàn),該數(shù)據(jù)集包含7 種不同位置缺陷。在提取出不同位置缺陷后,共得到2 000 多幅128×128 大小的圖像。
首先基于位置信息的圖像數(shù)據(jù)集進(jìn)行模型訓(xùn)練。對(duì)于圖像數(shù)據(jù)集,位于角落的圖像大約有300 個(gè),邊緣數(shù)據(jù)集大約有350 個(gè)圖像。基于位置信息對(duì)模型進(jìn)行訓(xùn)練可以得到更好的生成結(jié)果。實(shí)驗(yàn)結(jié)果如圖4 和圖5 所示,其中最上面一行是真實(shí)圖像,最下面一行是基于缺陷模擬生成算法生成的圖像。圖4 顯示了位于中心區(qū)域圖像生成的結(jié)果,除了生成背景紋理外,還可以發(fā)現(xiàn)生成的圖像與原始圖像中的缺陷相似。位于邊緣和拐角處的生成效果如圖5所示。從圖5 可以看出,盡管受到復(fù)雜背景的影響使生成的模擬圖像與真實(shí)圖像很接近,但背景和面板區(qū)域之間不會(huì)出現(xiàn)交錯(cuò)融合現(xiàn)象。StyleGAN 在低分辨率圖像生成會(huì)在圖像局部產(chǎn)生顯著水滴狀偽影,在本實(shí)驗(yàn)中并未對(duì)缺陷的生成造成影響,因此可以將生成的模擬缺陷圖進(jìn)一步在后續(xù)圖像融合中進(jìn)行應(yīng)用,從而得到接近真實(shí)的模擬數(shù)據(jù)集。
Fig.4 Different defect centers of panel圖4 面板的不同缺陷中心
Fig.5 Different defects at panel edge and corner圖5 面板邊緣和拐角處的不同缺陷
通過(guò)計(jì)算IS 和FID 來(lái)評(píng)估基于模擬算法的生成圖像質(zhì)量,不同位置生成的圖像質(zhì)量如表1 所示,這進(jìn)一步證明了提取工業(yè)缺陷位置作為特征的必要性。由于缺陷種類(lèi)較多,每類(lèi)數(shù)量較少,所以從得到的IS 結(jié)果來(lái)看多樣性有限,造成生成的模擬圖像存在重復(fù)現(xiàn)象。因此,引入特征轉(zhuǎn)換的方式進(jìn)一步豐富缺陷的多樣性。
Table 1 IS and FID of images generated by defects atdifferent positions表1 不同位置下缺陷生成圖像的IS 與FID
在缺陷生成模型中,使用ResNet50 對(duì)相應(yīng)的潛在代碼生成模型和圖像生成模型進(jìn)行實(shí)驗(yàn)。通過(guò)基于位置的圖像生成模型可以獲得大量生成的模擬圖像,并通過(guò)映射網(wǎng)絡(luò)生成潛層編碼。以生成的圖像作為輸入,潛層編碼作為輸出來(lái)訓(xùn)練模型。以邊緣圖像生成模型為例,通過(guò)特征變化實(shí)現(xiàn)對(duì)缺陷特征的控制。圖6 展示了ResNet50 的訓(xùn)練結(jié)果,準(zhǔn)確率為90.12%。圖7 展示了原始圖像和由特征碼逆生成圖像的結(jié)果。
Fig.6 Training results of feature transformation model圖6 特征轉(zhuǎn)換模型訓(xùn)練結(jié)果
從圖7 可以看出,與生成圖像一致的圖像可以?xún)H由潛層編碼生成。這進(jìn)一步說(shuō)明,盡管基于GAN 的圖像生成是隨機(jī)的,但是可以通過(guò)控制潛層編碼來(lái)實(shí)現(xiàn)圖像生成的多樣化。
Fig.7 The comparison between the original image(a)and the image(b)generated by the inverse of the feature code圖7 原始圖像和由特征碼逆生成的圖像對(duì)比
在得到特征轉(zhuǎn)換模型后,根據(jù)特征編碼的修改對(duì)缺陷進(jìn)行修改?;谝陨辖Y(jié)論,利用不同位置的特征碼可以實(shí)現(xiàn)對(duì)圖像的編輯控制,實(shí)現(xiàn)功能的多樣性和可控性。針對(duì)18 位的特征碼,圖8 中編碼閾值設(shè)置為-0.4,更改其中的后4 位數(shù)值,由此獲得包括缺陷位置、尺寸和亮度變換在內(nèi)的幾種變換效果。其中圖8(a)為原始圖像,圖8(b)、(c)、(d)、(e)分別為第1、9、13、15 位編碼修改后的結(jié)果。
Fig.8 Image generation under different latent codes圖8 不同潛碼下的圖像生成
用上述方法得到大量缺陷圖像后,等價(jià)于得到一批缺陷樣本庫(kù)?;谝延械恼D像可以合成一個(gè)新的缺陷圖像,在實(shí)際應(yīng)用中能獲得大尺寸圖像,不需要更長(zhǎng)的訓(xùn)練時(shí)間和更多的設(shè)備來(lái)獲取高分辨率圖像,使缺陷圖像的生成效率大大提高。對(duì)生成的圖像進(jìn)行圖像融合實(shí)驗(yàn),結(jié)果如圖9 所示。圖9(a)是原始背景圖像,圖9(b)是紋理融合后的圖像。
圖10 為紋理提取過(guò)程,其中圖10(a)是原始缺陷圖像,圖10(b)是原始缺陷圖像的紋理,圖10(c)是經(jīng)過(guò)一系列紋理提取算法處理的缺陷紋理圖像,圖10(d)是背景紋理圖像。
Fig.9 Image fusion results圖9 圖像融合結(jié)果
Fig.10 Different texture extraction圖10 不同紋理提取
本文基于StyleGAN 算法實(shí)現(xiàn)了基于位置信息的工業(yè)缺陷圖像生成。此外,利用隱層編碼轉(zhuǎn)換實(shí)現(xiàn)了生成圖像的可編輯性,有效擴(kuò)展了生成缺陷的多樣性。基于這些生成的缺陷圖像,采用圖像融合技術(shù)將缺陷圖像更為真實(shí)地融合進(jìn)實(shí)際場(chǎng)景圖像中,使工業(yè)領(lǐng)域的缺陷模擬生成更為靈活。本文通過(guò)對(duì)面板缺陷數(shù)據(jù)集的實(shí)驗(yàn)驗(yàn)證了該算法的有效性,為工業(yè)領(lǐng)域的圖像生成算法提供了新的研究思路。同時(shí),在實(shí)驗(yàn)中發(fā)現(xiàn)基于StyleGAN 網(wǎng)絡(luò)生成的圖像還存在很大的優(yōu)化空間,如何在樣本不充足情況下得到更為豐富的模擬缺陷是后續(xù)研究重點(diǎn)。