劉榮華,王安妮,鄭增強
(1.武漢精測電子集團股份有限公司;2.武漢精測電子集團股份有限公司智能檢測研究院;3.武漢精測電子集團股份有限公司研發中心,湖北武漢 430205)
深度學習正處于快速發展階段,在許多領域得到了很好應用。在工業領域,人們越來越需要結合深度學習算法來提高效率。然而,深度學習需要大量的樣本數據才能獲得更好的模型,但工業缺陷樣本往往有限。因此,為了獲得更多的樣本滿足工業檢測要求,本文采用生成式對抗網絡(Generative Adversarial Networks,GAN)來產生新的樣本。
Goodfellow 等[1]的GAN 方法是圖像生成的一種流行方法,DCGAN 的應用使得基于GAN 的圖像生成技術向前邁進了一大步。近年圖像生成技術有兩大發展方向:
(1)圍繞GAN 的穩定性優化提出了許多改進loss 函數計算的優化算法,如Arjovsky[2]提出了權剪裁,在很大程度上解決了模式崩潰問題,但是WGAN 仍然存在收斂問題。為解決WGAN的爆炸梯度問題,Gulrajani[3]在臨界損失中加入梯度懲罰來進一步優化圖像生成,采取距離優化方法來提高生成圖像的多樣性。Mao[4]在兩個生成的圖像之間引入一個特殊的距離以使相應的隱層編碼最大化。這些策略使圖像生成更加穩定和多樣化,為基于GAN 的高分辨率圖像生成提供了發展基礎。
(2)GAN 網絡結構的創新使圖像生成不再局限于特定分辨率,甚至能夠生成高分辨率圖像。SAGAN 將注意機制與光譜歸一化相結合,形成多級依賴結構,保證了生成圖像的全局結構。Chen 等[5]和Lucic 等[6]通過添加條件分類器和隱層編碼,探討了隱層編碼對生成數據特征的影響。這些條件分類器不僅能判斷圖像真假,而且能給出分類標簽,進一步增強了鑒別器的鑒別能力。近年來,多級圖像生成GAN 網絡在圖像生成質量方面取得了重大突破,如SinGAN[7]、PGGAN[8]和StyleGAN[9]。雖然這類算法引入了圖像風格之間的轉換,但它們在圖像生成方面的性能也很突出。特別是StyleGAN 采用多級生成方法,提出了一種映射網絡和添加AdaIN 模塊的方法,實現了高質量的多分辨率圖像生成。同時一些GAN 網絡致力于生成圖像的可編輯性研究,Choi 等[10]和Karnewar 等[11]研究了StarGANr2 和MSG-GAN,使生成的圖像可在多個域擴展,而Pidhorskyi等[12]則在StyleGAN 網絡基礎上探討了對隱層信息的可編輯操作,從而實現對人臉圖像特征進行編輯。但這些能生成高分辨率的GAN 算法往往需要大量的樣本作為支撐,因此誕生了一些以成對甚至單張圖像進行圖像生成的GAN算法,例如Shaham[13]、Lin[14]、Hinz[15]等。
也有一些基于非GAN 網絡的圖像生成算法,最具代表性的是Kingma 等[16]研究的VAE 方法,其在常規的自編碼器基礎上對encoder 的結果加上“高斯噪聲”,使得結果decoder 能夠對噪聲有魯棒性。而Razavi 等[17]研究的VQVAE2 基于此進行演化,將連續的隱變量變為離散,引入PixelCNN[18]實現了更為高效的圖像生成。但目前這類方法在圖像生成方面無法與先進GAN 網絡生成的圖像質量媲美。因此在圖像生成領域,目前先進的算法還是基于GAN 網絡的方法占據優勢。
由于工業缺陷的復雜性及樣本匱乏性,基于單張或者成對的圖像生成不能滿足大量豐富缺陷的生成需求,基于少量樣本進行模擬生成會造成GAN 網絡模式崩潰。而位于不同位置的工業缺陷其復雜程度是不一樣的,所以為了實現工業缺陷的模擬,本文首先根據缺陷的位置提取特征,然后利用先進的生成算法StyleGAN 網絡訓練生成模型,基于訓練好的模型生成一組新的缺陷樣本。根據生成的樣本和特征的位置采用本文的圖像處理方法可以融合更多的可用樣本。
本文實驗采用典型工業缺陷數據集的面板缺陷數據集作為算法驗證數據集,通過對面板缺陷數據集實驗可以成功生成新的缺陷。此外,本文通過計算IS(Inception Score)[19]和FID(Fréchet Inception Distance)[20]的方式來評估模擬生成算法性能。提取工業缺陷的位置信息是必要的,但是如果忽略位置只提供少量工業缺陷樣本,GAN 網絡可能無法模擬生成復雜的缺陷。
對面板缺陷的模擬生成實驗證明,本文提出的算法能夠實現工業缺陷的生成和融合,能夠擴展樣本,為工業領域的深度學習應用提供有力的數據支撐。
在工業領域,缺陷圖像獲取往往較困難,因此很難用少量樣本訓練得到高精度的深度學習模型。在這種情況下,即使使用GAN 網絡生成圖像,仍然會發生模式崩潰問題,導致只能生成固定種類的缺陷樣本,在模擬生成過程中很難生成具有復雜背景的缺陷樣本。以面板檢測數據集為例,發現位于邊緣或角落處的圖像多為復雜背景,刪除這些背景往往不利于缺陷檢測。另外,基于GAN 網絡進行大規模尺寸圖像的訓練往往耗時長,對硬件環境要求高,不利于推廣和應用。因此,結合工業缺陷圖像特點,本文提出一種基于區域位置的圖像生成算法,以128×128 尺寸為例,其流程如圖1 所示。首先根據需要的大小裁剪圖片,對裁剪后的圖像進行分類,模擬生成缺陷;然后對生成的缺陷圖像進行特征轉換,得到豐富的缺陷模擬圖像;最后,對得到的缺陷圖像進行融合,得到一個新的缺陷數據集。

Fig.1 Flow of position based image generation圖1 基于位置的圖像生成流程
首先,需要對缺陷圖像I 進行圖像裁剪,這里使用滑動窗口進行裁剪,并將其劃分為角、邊和中心的小圖片。根據現有的工業缺陷檢測算法進行篩選,得到不同位置的缺陷數據集ICorner、Iedge、Icenter。
模擬StyleGAN 的網絡可分為映射網絡f、綜合網絡g 和噪聲模塊3 部分。StyleGAN 的基本結構如圖2 所示,映射網絡f 包含8 個完全連通的層,合成網絡g 包含18 個層,分辨率為4×4 到1 024×1 024。9 種分辨率各有兩層,所需分辨率可根據實際情況更改。發生器首先將輸入向量通過f編碼成中間向量,然后將中間向量傳遞給生成網絡,得到18 個控制向量,使得控制向量的不同元素可以控制不同的視覺特征。將輸入映射到中間潛在空間W,然后W 控制生成器在每個卷積層執行自適應實例規范化(AdaIN),如公式(1)所示。μ(x)和σ(x)分別表示訓練圖像的均值和標準差,μ(y)和σ(y)分別表示生成圖像的均值和標準差。在AdaIN 模塊之前向每個通道添加縮放噪聲,并稍微改變分辨率級別特征的視覺表示。


Fig.2 Structure of StyleGAN圖2 StyleGAN 的結構
根據Chen 等[21]研究的方法,可以改變該潛在空間的隨機量,實現網絡學習的可解釋性特征,從而根據具有一定特征的圖像數據集提取特征碼。生成的圖像不是基于隨機噪聲z,而是基于特定特征碼的隨機值生成,可以生成具有特定特征的圖像。因此,利用ResNet 模型來訓練圖像與潛碼z 之間的映射網絡,并通過修改特征碼來實現缺陷圖像的特征修改與融合。
在工業檢測中經常需要一定尺寸的圖像,如果尺寸不符合檢驗要求則對缺陷模擬沒有意義。為此,本文提出一種圖像融合算法,將產生的缺陷與不同背景相結合生成新的缺陷圖像。由于工業缺陷圖像數據往往有著紋理信息,而單純的圖像融合可能會使缺陷失去這部分紋理信息,從而使得基于圖像融合出的缺陷數據集往往與真實數據集有著較大差異,不利于深度學習應用。因此,在圖像融合中,本文將缺陷和背景紋理信息均進行了提取及有效利用,采用旋轉不變方差測度局部二值模式方法分別對背景圖像和缺陷圖像進行紋理提取。對于缺陷的紋理圖像,通過二值化、卷積和腐蝕擴展等操作提取缺陷的掩模圖像,然后根據缺陷圖像去除紋理,添加背景圖像紋理,取得了較好的圖像融合效果。圖像融合算法流程如圖3 所示。

Fig.3 Image fusion process based on defect images圖3 基于缺陷小圖的圖像融合流程
采用工業檢測中的缺陷數據集缺陷模擬生成算法進行實驗驗證。利用工業上常見的面板缺陷數據集進行缺陷模擬實驗,該數據集包含7 種不同位置缺陷。在提取出不同位置缺陷后,共得到2 000 多幅128×128 大小的圖像。
首先基于位置信息的圖像數據集進行模型訓練。對于圖像數據集,位于角落的圖像大約有300 個,邊緣數據集大約有350 個圖像。基于位置信息對模型進行訓練可以得到更好的生成結果。實驗結果如圖4 和圖5 所示,其中最上面一行是真實圖像,最下面一行是基于缺陷模擬生成算法生成的圖像。圖4 顯示了位于中心區域圖像生成的結果,除了生成背景紋理外,還可以發現生成的圖像與原始圖像中的缺陷相似。位于邊緣和拐角處的生成效果如圖5所示。從圖5 可以看出,盡管受到復雜背景的影響使生成的模擬圖像與真實圖像很接近,但背景和面板區域之間不會出現交錯融合現象。StyleGAN 在低分辨率圖像生成會在圖像局部產生顯著水滴狀偽影,在本實驗中并未對缺陷的生成造成影響,因此可以將生成的模擬缺陷圖進一步在后續圖像融合中進行應用,從而得到接近真實的模擬數據集。

Fig.4 Different defect centers of panel圖4 面板的不同缺陷中心

Fig.5 Different defects at panel edge and corner圖5 面板邊緣和拐角處的不同缺陷
通過計算IS 和FID 來評估基于模擬算法的生成圖像質量,不同位置生成的圖像質量如表1 所示,這進一步證明了提取工業缺陷位置作為特征的必要性。由于缺陷種類較多,每類數量較少,所以從得到的IS 結果來看多樣性有限,造成生成的模擬圖像存在重復現象。因此,引入特征轉換的方式進一步豐富缺陷的多樣性。

Table 1 IS and FID of images generated by defects atdifferent positions表1 不同位置下缺陷生成圖像的IS 與FID
在缺陷生成模型中,使用ResNet50 對相應的潛在代碼生成模型和圖像生成模型進行實驗。通過基于位置的圖像生成模型可以獲得大量生成的模擬圖像,并通過映射網絡生成潛層編碼。以生成的圖像作為輸入,潛層編碼作為輸出來訓練模型。以邊緣圖像生成模型為例,通過特征變化實現對缺陷特征的控制。圖6 展示了ResNet50 的訓練結果,準確率為90.12%。圖7 展示了原始圖像和由特征碼逆生成圖像的結果。

Fig.6 Training results of feature transformation model圖6 特征轉換模型訓練結果
從圖7 可以看出,與生成圖像一致的圖像可以僅由潛層編碼生成。這進一步說明,盡管基于GAN 的圖像生成是隨機的,但是可以通過控制潛層編碼來實現圖像生成的多樣化。

Fig.7 The comparison between the original image(a)and the image(b)generated by the inverse of the feature code圖7 原始圖像和由特征碼逆生成的圖像對比
在得到特征轉換模型后,根據特征編碼的修改對缺陷進行修改。基于以上結論,利用不同位置的特征碼可以實現對圖像的編輯控制,實現功能的多樣性和可控性。針對18 位的特征碼,圖8 中編碼閾值設置為-0.4,更改其中的后4 位數值,由此獲得包括缺陷位置、尺寸和亮度變換在內的幾種變換效果。其中圖8(a)為原始圖像,圖8(b)、(c)、(d)、(e)分別為第1、9、13、15 位編碼修改后的結果。

Fig.8 Image generation under different latent codes圖8 不同潛碼下的圖像生成
用上述方法得到大量缺陷圖像后,等價于得到一批缺陷樣本庫。基于已有的正常圖像可以合成一個新的缺陷圖像,在實際應用中能獲得大尺寸圖像,不需要更長的訓練時間和更多的設備來獲取高分辨率圖像,使缺陷圖像的生成效率大大提高。對生成的圖像進行圖像融合實驗,結果如圖9 所示。圖9(a)是原始背景圖像,圖9(b)是紋理融合后的圖像。
圖10 為紋理提取過程,其中圖10(a)是原始缺陷圖像,圖10(b)是原始缺陷圖像的紋理,圖10(c)是經過一系列紋理提取算法處理的缺陷紋理圖像,圖10(d)是背景紋理圖像。

Fig.9 Image fusion results圖9 圖像融合結果

Fig.10 Different texture extraction圖10 不同紋理提取
本文基于StyleGAN 算法實現了基于位置信息的工業缺陷圖像生成。此外,利用隱層編碼轉換實現了生成圖像的可編輯性,有效擴展了生成缺陷的多樣性。基于這些生成的缺陷圖像,采用圖像融合技術將缺陷圖像更為真實地融合進實際場景圖像中,使工業領域的缺陷模擬生成更為靈活。本文通過對面板缺陷數據集的實驗驗證了該算法的有效性,為工業領域的圖像生成算法提供了新的研究思路。同時,在實驗中發現基于StyleGAN 網絡生成的圖像還存在很大的優化空間,如何在樣本不充足情況下得到更為豐富的模擬缺陷是后續研究重點。