羅月童,段 昶,江佩峰,周 波
(合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230601)
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法能夠?qū)W習(xí)到目標(biāo)在各種復(fù)雜多變情形下的特征,具有強(qiáng)大的健壯性和泛化能力[1],特別是基于有監(jiān)督的深度學(xué)習(xí)目標(biāo)檢測(cè)算法,在目標(biāo)檢測(cè)任務(wù)中表現(xiàn)出了優(yōu)異的性能。但是,有監(jiān)督的深度學(xué)習(xí)目標(biāo)檢測(cè)算法運(yùn)行的前提是擁有大量有標(biāo)記的缺陷數(shù)據(jù),在工業(yè)檢測(cè)中缺陷數(shù)據(jù)的獲取成本也往往較高,數(shù)據(jù)增強(qiáng)則為降低工業(yè)成本、提高網(wǎng)絡(luò)的泛化能力提供了一種行之有效的手段。常規(guī)數(shù)據(jù)增強(qiáng)方法包含幾何變換類方法和顏色變換類方法。幾何變換類方法通過(guò)對(duì)圖像進(jìn)行翻轉(zhuǎn)、裁剪和縮放等操作[2]來(lái)實(shí)現(xiàn)數(shù)據(jù)擴(kuò)充;顏色變換類方法則是通過(guò)噪聲注入[3]、光度變換[4]和隨機(jī)擦除[5]等方法來(lái)實(shí)現(xiàn)數(shù)據(jù)擴(kuò)充。以上數(shù)據(jù)增強(qiáng)方法操作簡(jiǎn)單,能夠迅速擴(kuò)大數(shù)據(jù)集,但是傳統(tǒng)數(shù)據(jù)增強(qiáng)方法也存在嚴(yán)重的弊端,通過(guò)幾何變換生成的圖像不能有效擴(kuò)增樣本特征的多樣性,通過(guò)顏色變換生成的樣本的多樣性依賴人工設(shè)定[6],因此傳統(tǒng)數(shù)據(jù)增強(qiáng)方法只能在一定程度上緩解神經(jīng)網(wǎng)絡(luò)過(guò)擬合的問(wèn)題,難以從根本上解決數(shù)據(jù)不足的問(wèn)題。
生成對(duì)抗網(wǎng)絡(luò)GAN(Generative Adversarial Network)[7]經(jīng)過(guò)訓(xùn)練能夠?qū)W習(xí)到已有數(shù)據(jù)的分布,并生成與當(dāng)前數(shù)據(jù)分布類似的數(shù)據(jù),相較于傳統(tǒng)數(shù)據(jù)增強(qiáng)方法,其通過(guò)神經(jīng)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)圖像特征,無(wú)需人工干預(yù),且基于GAN生成的數(shù)據(jù)幾乎與真實(shí)數(shù)據(jù)的分布相同,從根本上解決了數(shù)據(jù)不足的問(wèn)題。因此,GAN逐漸成為一種新的數(shù)據(jù)增強(qiáng)方法,通過(guò)GAN生成的數(shù)據(jù)能夠有效提升有監(jiān)督深度學(xué)習(xí)網(wǎng)絡(luò)的泛化性[8]。近年來(lái)研究人員主要從GAN的生成器結(jié)構(gòu)、判別器結(jié)構(gòu)和損失函數(shù)3個(gè)方面進(jìn)行了改進(jìn)。林志鵬等人[9]基于深度卷積生成對(duì)抗網(wǎng)絡(luò)DCGAN(Deep Convolutional GAN)[10]進(jìn)行改進(jìn),重新設(shè)計(jì)了DCGAN的生成器和判別器的網(wǎng)絡(luò)結(jié)構(gòu),生成了分辨率更高的宮頸細(xì)胞圖像用于數(shù)據(jù)增強(qiáng),顯著提升了宮頸細(xì)胞圖像分類的正確率。Ouyang等人[11]基于pix2pix[12]的判別器結(jié)構(gòu)和損失函數(shù)進(jìn)行改進(jìn),提出了PSGAN(Pedestrian-Synthesis-GAN),PSGAN能夠在街道圖像中添加行人用于數(shù)據(jù)擴(kuò)充,從而提升行人檢測(cè)的準(zhǔn)確率。王金娜等人[6]通過(guò)改進(jìn)Cycle-GAN來(lái)提升絕緣子圖像的生成效果,增加了絕緣子圖像分類的正確率。孫曉等人[13]通過(guò)改進(jìn)StarGAN來(lái)生成人臉表情圖像,有效提升了人臉表情的識(shí)別精度。劉坤等人[14]提出了NSGGAN(Negative Sample Guided Generative Adversarial Network)來(lái)進(jìn)行太陽(yáng)能電池的數(shù)據(jù)增強(qiáng)。陳文兵等人[15]提出了數(shù)據(jù)增強(qiáng)方法GMM-CGAN(Gaussian Mixture Model and Conditional Generative Adversarial Network)。陳佛計(jì)等人[16]提出了一種基于GAN的紅外圖像數(shù)據(jù)增強(qiáng)方法。
盡管當(dāng)前一些基于GAN的數(shù)據(jù)增強(qiáng)方法取得了較好的效果,但是這些方法受應(yīng)用場(chǎng)景的限制,無(wú)法直接應(yīng)用于工業(yè)場(chǎng)景。工業(yè)場(chǎng)景中通常存在正常數(shù)據(jù)易收集、缺陷數(shù)據(jù)難獲取的問(wèn)題,導(dǎo)致收集到的良品非常多、缺陷數(shù)據(jù)卻非常有限。同時(shí),在一個(gè)確定的工業(yè)場(chǎng)景中,良品的特征相對(duì)一致,缺陷數(shù)據(jù)則是通過(guò)改變良品上局部位置的特征得到,兩者可以看作是2種不同風(fēng)格的配對(duì)數(shù)據(jù)。而pix2pix是一個(gè)通用的圖像風(fēng)格轉(zhuǎn)換框架,通過(guò)pix2pix能夠利用大量的正常數(shù)據(jù)生成缺陷數(shù)據(jù),從而解決缺陷數(shù)據(jù)不足的問(wèn)題。因此,本文基于pix2pix進(jìn)行研究。由于pix2pix采用了patchGAN作為判別器,其更重視圖像整體的轉(zhuǎn)換質(zhì)量,而在工業(yè)場(chǎng)景中,缺陷往往只占據(jù)整幅圖像的小部分,即使生成的缺陷質(zhì)量不高,從整體上看,生成的圖像也可能被判別為真,在小缺陷居多的工業(yè)場(chǎng)景中,該問(wèn)題表現(xiàn)得更加突出。為了解決該問(wèn)題,本文從增加生成器和判別器對(duì)缺陷區(qū)域的注意力,進(jìn)而提升生成缺陷質(zhì)量的角度出發(fā),在pix2pix的基礎(chǔ)上,改進(jìn)了其判別器和損失函數(shù),提出了DS-GAN(Defects-Synthesis GAN)的工業(yè)數(shù)據(jù)增強(qiáng)方法。
本文方法是基于pix2pix改進(jìn)而來(lái)的,以下將從pix2pix基本原理、DS-GAN設(shè)計(jì)思路、DS-GAN算法流程、DS-GAN生成器結(jié)構(gòu)、DS-GAN判別器結(jié)構(gòu)和DS-GAN損失函數(shù)6個(gè)方面進(jìn)行介紹。
pix2pix是Isola等人[12]在2017年提出的一個(gè)基于條件生成對(duì)抗網(wǎng)絡(luò)cGAN(conditional Generative Adversarial Nets)[17]的圖像風(fēng)格轉(zhuǎn)換框架,由1個(gè)生成器和1個(gè)判別器組成。pix2pix采用的生成器結(jié)構(gòu)為U-NET,U-NET通過(guò)在特征層之間進(jìn)行跳躍連接的方式保留了輸入圖像的低維信息;pix2pix的判別器采用了patchGAN判別器,其將輸入圖像切分成70*70大小的不同圖像塊(patch),并對(duì)每一個(gè)圖像塊進(jìn)行判別,將所有圖像塊的判別結(jié)果進(jìn)行求和平均,作為輸入圖像的判別結(jié)果,通過(guò)該方式避免了判別器因?yàn)槟硞€(gè)區(qū)域生成效果非常逼真而將整幅圖像判別為真,其更注重輸出圖像整體的轉(zhuǎn)換效果。
pix2pix的訓(xùn)練數(shù)據(jù)為成對(duì)的圖像(x,y),其中,x為源圖像,y為目的圖像,將x輸入到生成器可得到圖像z,將z和x基于通道維度合并在一起,作為判別器的負(fù)樣本輸入,得到輸入為真實(shí)圖像的概率值,并且y和x也會(huì)進(jìn)行通道維度合并,作為判別器的正樣本輸入,得到輸入圖像為真實(shí)圖像的概率值。
pix2pix的損失函數(shù)包含2部分:cGAN損失和L1損失,如式(1)~式(3)所示:
(1)
LcGAN(G,D)=Ex,y[logD(x,y)]+
Ex,rn[log(1-D(x,G(x,rn)))]
(2)
LL1(G)=Ex,y,rn[‖y-G(x,rn)‖1]
(3)
其中,λ表示L1損失函數(shù)在整個(gè)損失函數(shù)中的比例系數(shù),整體損失函數(shù)是在cGAN損失的基礎(chǔ)上添加L1損失,使得生成的圖像除了能夠欺騙過(guò)判別器以外,還需要盡量接近目標(biāo)域的圖像;rn(random noise)表示隨機(jī)噪聲;Ex,y[logD(x,y)]表示logD(x,y)的數(shù)學(xué)期望;Ex,rn[log(1-D(x,rn))]表示log(1-D(x,rn))的數(shù)學(xué)期望;Ex,y,rn[‖y-G(x,rn)‖1]表示‖y-G(x,rn)‖1的數(shù)學(xué)期望。
pix2pix在訓(xùn)練判別器時(shí),將生成的圖像等分為多個(gè)70*70大小的圖像塊(patch),并分別判斷每個(gè)patch區(qū)域的真假,最后取平均值作為其輸出結(jié)果,使用該方法生成的圖像從整體上更加趨近于真實(shí)圖像。然而,在工業(yè)缺陷圖像中,缺陷往往只占據(jù)整幅圖像的小部分,對(duì)于一幅生成的工業(yè)缺陷圖像,大部分patch區(qū)域?yàn)楸尘疤卣?,生成圖像背景區(qū)域的逼真程度直接決定了pix2pix的判別結(jié)果。在訓(xùn)練過(guò)程中,為了生成能夠欺騙過(guò)判別器的圖像,生成器將更加注重學(xué)習(xí)背景區(qū)域的特征而忽略了缺陷區(qū)域的學(xué)習(xí),雖然生成的工業(yè)缺陷圖像在背景上比較接近真實(shí)圖像,但仍存在生成缺陷質(zhì)量不高的問(wèn)題。因此,pix2pix生成的圖像難以滿足工業(yè)檢測(cè)的數(shù)據(jù)增強(qiáng)要求。
基于此,本文對(duì)pix2pix的判別器進(jìn)行了重新設(shè)計(jì),并對(duì)損失函數(shù)進(jìn)行了改進(jìn)。改進(jìn)思路如下:(1)針對(duì)判別器的改進(jìn):本文提出了僅將圖像局部缺陷作為判別器輸入的策略,在改變判別器輸入后,針對(duì)輸入缺陷的大小,重新設(shè)計(jì)了判別器的網(wǎng)絡(luò)結(jié)構(gòu),引入了更恰當(dāng)?shù)木矸e核用于提取缺陷特征。(2)針對(duì)生成對(duì)抗損失的改進(jìn):本文僅將缺陷區(qū)域的判別結(jié)果作為生成對(duì)抗損失的輸入,分別計(jì)算一幅圖像中所有缺陷的損失,最后將所有缺陷的損失進(jìn)行加權(quán)平均,作為整幅圖像的生成對(duì)抗損失。
DS-GAN的流程主要包含3個(gè)部分:制作配對(duì)數(shù)據(jù)、訓(xùn)練生成器及判別器和生成缺陷圖像。
(1)制作配對(duì)數(shù)據(jù)。
本文將缺陷圖像縮放至256*256的固定尺寸,使用矩形框標(biāo)記出圖像中的缺陷區(qū)域,并根據(jù)缺陷的形狀,將缺陷區(qū)域的3個(gè)通道的像素值設(shè)置為255,得到與缺陷圖像一一配對(duì)的帶有白斑的圖像,記作掩膜(mask)圖像。
(2)訓(xùn)練生成器及判別器。
本文將帶有矩形標(biāo)記的缺陷圖像和掩膜圖像配對(duì)后輸入生成器,得到生成圖像。根據(jù)矩形標(biāo)記分別提取缺陷圖像、生成圖像和掩膜圖像中標(biāo)記區(qū)域的像素,得到裁剪圖像。將裁剪的掩膜圖像和缺陷區(qū)域圖像配對(duì),作為正樣本輸入判別器,將裁剪的掩膜圖像和生成的缺陷區(qū)域圖像配對(duì),作為負(fù)樣本輸入判別器,判別器輸出裁剪圖像為真實(shí)缺陷的概率。在訓(xùn)練階段,固定生成器參數(shù),通過(guò)優(yōu)化判別器損失,使其能夠準(zhǔn)確判斷輸入圖像是否為真;再固定判別器參數(shù),通過(guò)不斷優(yōu)化生成器參數(shù),使其能夠?qū)⒀谀D像轉(zhuǎn)換成逼真的缺陷圖像來(lái)欺騙判別器。通過(guò)生成器和判別器的反復(fù)對(duì)抗訓(xùn)練,掩膜圖像能夠通過(guò)生成器轉(zhuǎn)換為缺陷圖像。
(3)生成缺陷圖像。
經(jīng)過(guò)生成對(duì)抗訓(xùn)練得到模型,并在收集到的無(wú)缺陷圖像中,人工將一些可能出現(xiàn)缺陷的區(qū)域的像素值設(shè)置為255,得到大量掩膜圖像。將掩膜圖像輸入生成器,得到合成的缺陷圖像。
本文生成器網(wǎng)絡(luò)結(jié)構(gòu)為U-Net。U-Net是一種encoder-decoder模型,encoder通過(guò)一系列卷積操作提取輸入圖像的特征,每經(jīng)過(guò)一次卷積操作,特征圖大小減小至原來(lái)的一半,通道數(shù)變?yōu)樵瓉?lái)的2倍;decoder以encoder輸出的高維特征圖作為輸入,通過(guò)反卷積操作對(duì)輸入特征圖進(jìn)行上采樣,每經(jīng)過(guò)一次反卷積操作,輸出特征圖的大小將擴(kuò)大為原來(lái)的2倍,通道數(shù)縮小為原來(lái)的一半,由于encoder和decode結(jié)構(gòu)對(duì)稱,因此decoder最終能將高維特征還原至輸入圖像大小。U-Net采用了跳躍連接,其將第i層的特征圖和第n-i層的特征圖進(jìn)行拼接(其中n為總的特征層數(shù)),通過(guò)這種方式將底層信息直接復(fù)制到高層特征圖中,在進(jìn)行圖像轉(zhuǎn)換時(shí)保留一些如顏色、輪廓等低級(jí)信息。網(wǎng)絡(luò)結(jié)構(gòu)中通過(guò)添加LeakyReLU、ReLU和Tanh等激活函數(shù)來(lái)增加神經(jīng)網(wǎng)絡(luò)的表達(dá)能力,添加BN(Batch Normalization)層來(lái)進(jìn)行歸一化處理。
PSGAN用于生成街道圖像中的行人,其為了解決pix2pix生成的行人圖像質(zhì)量差的問(wèn)題,在pix2pix的基礎(chǔ)上增加了行人判別器,對(duì)圖像中的行人進(jìn)行裁剪后作為行人判別器的輸入,以此來(lái)強(qiáng)化“行人”區(qū)域的學(xué)習(xí)。受PSGAN中行人判別器設(shè)計(jì)思路的啟發(fā),本文改變了pix2pix判別器的輸入,對(duì)真實(shí)圖像和生成圖像的缺陷區(qū)域進(jìn)行裁剪,分別作為判別器的正樣本輸入和負(fù)樣本輸入,以此強(qiáng)化“缺陷區(qū)域”的學(xué)習(xí)。此時(shí),生成圖像的背景部分將不再參與判別器結(jié)果的計(jì)算,判別器的結(jié)果用于反映輸入的缺陷是否為真。在訓(xùn)練過(guò)程中,生成缺陷與真實(shí)缺陷的分布存在較大差異時(shí),判別器則將其判別為假,在這種情況下,生成器需要更加注重缺陷區(qū)域的學(xué)習(xí),才能夠生成逼真的缺陷并欺騙過(guò)判別器。本文改變了傳統(tǒng)方式中將整幅圖像作為判別器輸入的方式,僅將裁剪后的缺陷區(qū)域、掩膜區(qū)域和生成圖像的缺陷區(qū)域進(jìn)行配對(duì),作為判別器輸入,使得判別器完全關(guān)注缺陷區(qū)域的信息,而忽略背景區(qū)域的信息。通過(guò)這種方式提升判別器對(duì)缺陷區(qū)域的注意力,進(jìn)而使生成器生成高質(zhì)量缺陷。本文所采用的掩膜圖像和真實(shí)圖像的背景區(qū)域是完全一致的,這意味著背景區(qū)域的映射關(guān)系相對(duì)簡(jiǎn)單,背景部分在不進(jìn)行生成對(duì)抗訓(xùn)練的情況下,生成器僅通過(guò)優(yōu)化L1損失就能夠?qū)W習(xí)到其特征。
pix2pix判別器的卷積核是用于提取256*256分辨率的圖像特征。本文實(shí)驗(yàn)數(shù)據(jù)中缺陷的分辨率大部分小于35*35,對(duì)于小于35*35像素的缺陷,經(jīng)過(guò)第3個(gè)卷積操作后,其特征圖的寬高為3*3,而第4層的卷積核大小為4*4,存在中間特征層的寬高小于卷積核的情況,顯然,pix2pix判別器不能完成輸入圖像的特征提取,更無(wú)法基于提取到的特征完成圖像真?zhèn)蔚呐袆e。針對(duì)以上問(wèn)題,本文重新設(shè)計(jì)了判別器卷積核的大小,使判別器能夠完成裁剪缺陷的特征提取,并能夠準(zhǔn)確判斷裁剪缺陷的真假。DS-GAN判別器網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,其由6個(gè)卷積核和一些激活函數(shù)組成。輸入的配對(duì)缺陷圖像先經(jīng)過(guò)5個(gè)卷積核大小為2*2、步長(zhǎng)為2、填充寬度為1的卷積操作,然后再經(jīng)過(guò)1個(gè)卷積核大小為2*2、步長(zhǎng)為1、填充寬度為0的卷積操作,最后通過(guò)Sigmoid激活函數(shù)將輸出結(jié)果轉(zhuǎn)換成0~1的概率值。
Figure 1 Discriminator network structure
pix2pix中的生成對(duì)抗損失為所有patch區(qū)域的平均損失,而一個(gè)patch區(qū)域既可能包含缺陷特征,又可能包含背景特征,在缺陷區(qū)域遠(yuǎn)小于背景區(qū)域的工業(yè)芯片中,缺陷區(qū)域的損失占總損失的比值較小,導(dǎo)致缺陷的分布不能夠被生成器很好地學(xué)習(xí)。為了解決該問(wèn)題,本文將圖像中缺陷區(qū)域的判別結(jié)果作為生成對(duì)抗損失的輸入,圖像的生成對(duì)抗損失直接由缺陷損失組成,在不斷優(yōu)化損失的過(guò)程中,生成的缺陷將越來(lái)越接近真實(shí)缺陷的分布。由于一幅缺陷圖像中往往存在多處缺陷,且不同圖像中缺陷的數(shù)量也可能不同,因此圖像間缺陷數(shù)量的差異可能導(dǎo)致不同圖像的損失相差很大,進(jìn)而造成網(wǎng)絡(luò)難擬合。為了避免該問(wèn)題的發(fā)生,本文采用加權(quán)平均的策略來(lái)計(jì)算圖像中的缺陷損失。本文損失函數(shù)主要包含生成對(duì)抗損失和L1損失,如式(4)所示,其中,生成對(duì)抗損失如式(5)所示,L1損失函數(shù)如式(6)所示:
(4)
LGAN(G,D)=
Epi~mask(pi),ri~generator(ri)[log(1-D(pi,ri))])
(5)
LL1(G)=Exmask,ydefect[‖ydefect-G(xmask)‖1]
(6)
其中,s表示一幅真實(shí)圖像中有s個(gè)缺陷;一幅掩膜圖像中有s個(gè)掩膜區(qū)域;pi表示掩膜圖像中的第i個(gè)掩膜區(qū)域;qi表示真實(shí)圖像中對(duì)應(yīng)的缺陷區(qū)域;ri表示在生成圖像中裁剪的第i個(gè)缺陷區(qū)域;Epi~mask(pi),qi~gt(qi)[logD(pi,qi)]表示logD(pi,qi)的數(shù)學(xué)期望;Epi~mask(pi),ri~generator(ri)[log(1-D(pi,ri))]表示log(1-D(pi,ri))的數(shù)學(xué)期望;xmask表示帶有掩膜區(qū)域的圖像;ydefect表示真實(shí)的缺陷圖像;Exmask,ydefect[‖ydefect-G(xmask)‖1]表示‖ydefect-G(xmask)‖1的數(shù)學(xué)期望。
實(shí)驗(yàn)共分為2個(gè)部分:(1)缺陷生成實(shí)驗(yàn),分別使用pix2pix和DS-GAN生成缺陷圖像,比較生成圖像的FID(Frechet Inception Distance)[18],衡量2種方法生成的圖像質(zhì)量。(2)缺陷檢測(cè)實(shí)驗(yàn),分別使用pix2pix和DS-GAN來(lái)進(jìn)行數(shù)據(jù)增強(qiáng),比較2種數(shù)據(jù)增強(qiáng)方法對(duì)RetinaNet[19]算法的平均精度AP(Average Precision)的影響,評(píng)估pix2pix和DS-GAN的數(shù)據(jù)增強(qiáng)能力。
本文實(shí)驗(yàn)采用的數(shù)據(jù)是工業(yè)LED(Light-Emitting Diode)芯片表面圖像,數(shù)據(jù)集由公司提供,LED芯片及缺陷特征如圖2所示,圖像分辨率為256*256,圖中用白色框標(biāo)記的為“氣泡”缺陷。實(shí)驗(yàn)所采用的操作系統(tǒng)為Ubuntu18.04,GPU為NVIDIA GeForce GTX Titan X,顯存為12 GB,CPU為Intel(R)Core(TM)i7-7700K,內(nèi)存為32 GB,實(shí)驗(yàn)算法基于PyTorch框架,采用的Python版本為3.6.12。
Figure 2 LED chip and defect characteristics
本文采用FID和AP2個(gè)指標(biāo)對(duì)生成數(shù)據(jù)的質(zhì)量進(jìn)行評(píng)估。
FID是度量真實(shí)圖像和生成圖像的特征向量之間的距離,其將真實(shí)數(shù)據(jù)和生成數(shù)據(jù)輸入Inception V3網(wǎng)絡(luò)用于提取圖像特征,并將特征向量歸納為多變量高斯分布,使用Wasserstein-2距離來(lái)計(jì)算2個(gè)分布之間的距離。FID越小,表明生成的圖像質(zhì)量越高。FID的計(jì)算公式如式(7)所示:
FID(a,G(rn))=‖μa-μG(rn)‖2+
(7)
其中,a、rn和G(rn)分別表示真實(shí)圖像、隨機(jī)噪聲和基于隨機(jī)噪聲生成的圖像;μa和μG(rn)表示真實(shí)圖像和生成圖像對(duì)應(yīng)特征空間的均值;Ca和CG(rn)表示對(duì)應(yīng)特征空間的協(xié)方差矩陣,tr()表示矩陣的跡。
AP是衡量目標(biāo)檢測(cè)算法精確度的指標(biāo),其值為P-R曲線圍成的面積,其中,P表示準(zhǔn)確率,R表示召回率,P和R的計(jì)算公式分別如式(8)和式(9)所示:
P=TP/(TP+FP)
(8)
R=TP/(TP+FN)
(9)
其中,TP為被正確檢測(cè)為正例的個(gè)數(shù),F(xiàn)P表示被錯(cuò)誤檢測(cè)為正例的個(gè)數(shù),F(xiàn)N表示被錯(cuò)誤檢測(cè)為負(fù)例的個(gè)數(shù)。
在工業(yè)場(chǎng)景中,部分類別的缺陷數(shù)據(jù)十分稀少,為了使實(shí)驗(yàn)條件更加接近現(xiàn)實(shí)場(chǎng)景,本文所使用的訓(xùn)練數(shù)據(jù)共50幅,其中氣泡缺陷為230個(gè)。訓(xùn)練數(shù)據(jù)制作方法為:將缺陷數(shù)據(jù)氣泡區(qū)域的3個(gè)通道的像素值設(shè)置為255,得到掩膜圖像,將掩膜圖像和缺陷圖像進(jìn)行配對(duì),得到訓(xùn)練數(shù)據(jù)。本文實(shí)驗(yàn)使用配對(duì)數(shù)據(jù)集分別訓(xùn)練pix2pix和DS-GAN,并使用2個(gè)模型在148幅掩膜圖像上生成缺陷,其中生成缺陷共823個(gè)。實(shí)驗(yàn)具體參數(shù)如下:pix2pix和DS-GAN均訓(xùn)練300輪次(epoch);Adam初始學(xué)習(xí)率為0.000 2,Adam動(dòng)向量為0.5,學(xué)習(xí)率在前150個(gè)輪次保持不變,在后150個(gè)輪次線性減少為0,生成器L1損失系數(shù)為10.0。
實(shí)驗(yàn)生成缺陷圖像如圖3所示,對(duì)比DS-GAN和pix2pix生成圖像的背景部分,兩者均非常接近真實(shí)圖像的背景部分。而對(duì)比2種方法生成圖像的缺陷部分,可以發(fā)現(xiàn):pix2pix生成的缺陷比較模糊,且缺陷部分和背景部分有一條明顯的界限,存在缺陷和背景融合不自然的問(wèn)題;DS-GAN生成的缺陷則相對(duì)清晰,且缺陷與背景融合得更加自然,從圖像上看不出二者明顯的界限。FID評(píng)估結(jié)果如表1所示,其中,情況1為真實(shí)數(shù)據(jù)的FID,情況2為pix2pix生成數(shù)據(jù)的FID,情況3為本文方法生成數(shù)據(jù)的FID。經(jīng)過(guò)對(duì)比可以看出,DS-GAN生成缺陷圖像的FID要低于pix2pix生成圖像的FID,從評(píng)估指標(biāo)上看,DS-GAN生成的缺陷圖也更接近真實(shí)圖像的分布。
Figure 3 Images generated by different methods
Table 1 FID comparison of images generated by different data augmentation methods
以上結(jié)果表明:(1)從視覺(jué)上看,DS-GAN生成的背景區(qū)域與真實(shí)圖像的背景區(qū)域保持了高度一致,而DS-GAN中背景區(qū)域并未進(jìn)行生成對(duì)抗訓(xùn)練,表明DS-GAN中背景部分的映射關(guān)系是通過(guò)優(yōu)化L1損失來(lái)學(xué)習(xí)的,其訓(xùn)練不依賴生成對(duì)抗損失;(2)從圖像效果上看,DS-GAN生成的缺陷區(qū)域更加接近真實(shí)缺陷,表明將背景區(qū)域進(jìn)行對(duì)抗訓(xùn)練不會(huì)提升生成圖像背景區(qū)域的質(zhì)量,背景區(qū)域的引入反而使得判別結(jié)果無(wú)法準(zhǔn)確表示生成缺陷的質(zhì)量,從而影響生成器的訓(xùn)練,導(dǎo)致生成的缺陷區(qū)域質(zhì)量不高;(3)對(duì)比圖3中生成圖像的缺陷細(xì)節(jié),可以看出本文方法對(duì)判別器和損失函數(shù)的改進(jìn)是行之有效的。僅將缺陷區(qū)域輸入判別器的策略使得判別器能夠充分學(xué)習(xí)到真實(shí)缺陷區(qū)域和生成缺陷區(qū)域的特征,且優(yōu)化每個(gè)缺陷區(qū)域的生成對(duì)抗損失的操作有效地增強(qiáng)了缺陷區(qū)域的訓(xùn)練,使得判別器對(duì)缺陷區(qū)域具有更準(zhǔn)確的判斷能力,進(jìn)而優(yōu)化生成器生成更加高質(zhì)量的缺陷,顯著降低了生成缺陷的FID。
數(shù)據(jù)預(yù)處理流程如下:使用LabelImg標(biāo)記工具分別對(duì)50幅真實(shí)缺陷圖像、200幅pix2pix生成圖像、200幅DS-GAN生成圖像進(jìn)行標(biāo)記,并將標(biāo)記好的數(shù)據(jù)轉(zhuǎn)換成COCO數(shù)據(jù)集格式。具體實(shí)驗(yàn)中,首先使用真實(shí)圖像對(duì)RetinaNet進(jìn)行訓(xùn)練;再分別將pix2pix和DS-GAN生成的200幅缺陷數(shù)據(jù)加入訓(xùn)練集,訓(xùn)練2個(gè)RetinaNet檢測(cè)模型用于實(shí)驗(yàn)對(duì)比;最后使用148幅真實(shí)數(shù)據(jù)用于缺陷檢測(cè)模型的測(cè)試。
從表2中pix2pix的實(shí)驗(yàn)結(jié)果可以看出,pix2pix生成圖像加入訓(xùn)練之后,對(duì)缺陷檢測(cè)模型的精度提升并不明顯,表明通過(guò)pix2pix生成缺陷的分布偏離了真實(shí)缺陷的分布,生成圖像只能稍微提高模型精度。從表2中DS-GAN的實(shí)驗(yàn)結(jié)果可以看出,DS-GAN生成圖像加入訓(xùn)練之后,能夠有效提升缺陷檢測(cè)模型的精度,表明DS-GAN生成的圖像和真實(shí)圖像的分布是接近的,DS-GAN可以用于工業(yè)數(shù)據(jù)增強(qiáng)。
綜合數(shù)據(jù)生成實(shí)驗(yàn)和工業(yè)缺陷檢測(cè)實(shí)驗(yàn),DS-GAN生成的數(shù)據(jù)更具數(shù)據(jù)增強(qiáng)能力,對(duì)目標(biāo)檢測(cè)性能的提升更加明顯。
Table 2 Influence of different data augmentation methods on object detection accuracy
針對(duì)工業(yè)缺陷數(shù)據(jù)收集成本高,使用pix2pix生成的缺陷數(shù)據(jù)難以滿足深度學(xué)習(xí)訓(xùn)練要求這一問(wèn)題,本文提出了一種基于pix2pix改進(jìn)的工業(yè)缺陷數(shù)據(jù)增強(qiáng)方法。一方面,對(duì)工業(yè)芯片圖像中的缺陷區(qū)域進(jìn)行裁剪,作為判別器的輸入,并針對(duì)缺陷區(qū)域大小,重新設(shè)計(jì)了判別器的網(wǎng)絡(luò)結(jié)構(gòu);另一方面,重新設(shè)計(jì)了生成對(duì)抗損失的計(jì)算方式,單幅圖像的生成對(duì)抗損失由圖像中的所有缺陷區(qū)域的生成對(duì)抗損失組成,通過(guò)優(yōu)化生成對(duì)抗損失,引導(dǎo)生成器學(xué)習(xí)掩膜區(qū)域和局部缺陷的映射關(guān)系,使得生成器能夠生成高質(zhì)量缺陷。
通過(guò)數(shù)據(jù)生成實(shí)驗(yàn)和缺陷檢測(cè)實(shí)驗(yàn)的實(shí)驗(yàn)結(jié)果可知,相較于pix2pix,本文方法提升了生成缺陷數(shù)據(jù)的質(zhì)量,豐富了工業(yè)芯片缺陷數(shù)據(jù)集,改善了工業(yè)缺陷數(shù)據(jù)難收集的問(wèn)題,并且使用該方法生成的數(shù)據(jù)顯著增加了基于深度學(xué)習(xí)進(jìn)行工業(yè)缺陷檢測(cè)的精度。然而,該方法并不適用所有工業(yè)缺陷數(shù)據(jù)的生成,當(dāng)訓(xùn)練樣本中的缺陷數(shù)量過(guò)少同時(shí)特征多變時(shí),該方法生成的缺陷數(shù)據(jù)存在不夠真實(shí)的問(wèn)題。未來(lái)將繼續(xù)對(duì)GAN網(wǎng)絡(luò)進(jìn)行研究,使得GAN網(wǎng)絡(luò)能夠在缺陷特征更加復(fù)雜的情況下,生成的數(shù)據(jù)依然具有很高的質(zhì)量。