王雅欣,史瀟瀟
(1.中國(guó)科學(xué)技術(shù)大學(xué) 軟件學(xué)院,安徽 合肥 230015;2.中國(guó)科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230027)
熱紅外圖像是紅外傳感器根據(jù)熱輻射采集的圖像,具有良好的目標(biāo)探測(cè)能力。與可見(jiàn)光圖像相比,熱紅外圖像因不受光照影響具有更好的魯棒性,近年來(lái)在表情識(shí)別研究中開(kāi)始受到關(guān)注[1-3]。然而,熱紅外數(shù)據(jù)的采集需要昂貴的設(shè)備,與可見(jiàn)光圖像相比獲取成本高昂。因而,本文提出基于生成對(duì)抗網(wǎng)絡(luò)從可見(jiàn)光人臉圖像生成熱紅外人臉圖像的方法。
傳統(tǒng)的生成模型對(duì)機(jī)器學(xué)習(xí)來(lái)說(shuō)具有不同的限制。比如,對(duì)真實(shí)樣本進(jìn)行最大似然估計(jì)的生成模型,嚴(yán)重依賴(lài)于所選取樣本的分布情況;采用近似法學(xué)習(xí)的生成模型難以求得最優(yōu)解,只能逼近目標(biāo)函數(shù)的下界;馬爾科夫鏈方法雖然既可以用于生成模型的訓(xùn)練又可用于新樣本的生成,但是計(jì)算復(fù)雜度較高。隨著深度學(xué)習(xí)的發(fā)展,神經(jīng)網(wǎng)絡(luò)模型在各個(gè)領(lǐng)域取得突破性進(jìn)展[4-6]。GOODFELLOW I等人根據(jù)博弈論提出了生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)[7],創(chuàng)造性地結(jié)合了生成模型和判別模型進(jìn)行數(shù)據(jù)生成。但GAN的生成方式太過(guò)自由,在圖片像素較多的情況下容易失控。針對(duì)這一問(wèn)題,MIRZA M[8]在GAN的基礎(chǔ)上提出條件生成對(duì)抗網(wǎng)絡(luò)(Conditional Generative Adversarial Networks,cGAN)。而ISOLA P[9]受cGAN和文獻(xiàn)[10]啟發(fā),將GAN的目標(biāo)函數(shù)與傳統(tǒng)損失函數(shù)相結(jié)合提出Pix2Pix方法,該方法在多種任務(wù)中有著出色的表現(xiàn)。
本文提出基于生成對(duì)抗網(wǎng)絡(luò)生成熱紅外人臉圖像的方法,與Pix2Pix[9]一樣在cGAN目標(biāo)函數(shù)的基礎(chǔ)上加上傳統(tǒng)損失函數(shù)作為懲罰項(xiàng),即任務(wù)目標(biāo),懲罰項(xiàng)為可見(jiàn)圖片與生成樣本間的相似程度。實(shí)驗(yàn)在USTC-NVIE[11]庫(kù)上進(jìn)行,在以可見(jiàn)光圖像為條件進(jìn)行熱紅外圖像生成的基礎(chǔ)上,利用SVM模型進(jìn)行表情識(shí)別,驗(yàn)證生成的熱紅外圖片能否被模型識(shí)別以及作為擴(kuò)充樣本是否可以提升模型的訓(xùn)練效果。
本文的網(wǎng)絡(luò)框架如圖1所示,由生成器(Generator,G)和判別器(Discriminator,D)組成。生成器使用隨機(jī)噪聲z在可見(jiàn)光圖片y的約束下生成樣本圖片G(z,y)傳遞給判別器。生成的樣本圖片與可見(jiàn)光圖片的L1距離被作為懲罰項(xiàng)反饋給生成模型,以此保證最終的生成圖片與可見(jiàn)光圖片的相似程度。判別器接收到的輸入既有生成的樣本圖片G(z,y)也有真實(shí)的熱紅外圖片,它的任務(wù)就是判斷接收到的圖片在該可見(jiàn)光圖片y約束的情況下有多大概率是真實(shí)的。本文生成器模型采用U-Net神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖1中生成器G中框圖所示。判別器模型則采用神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)如圖1中判別器D框圖所示。
圖1 本文使用的生成對(duì)抗網(wǎng)絡(luò)框架
1.1.1生成器
本文采用U-Net結(jié)構(gòu)作為生成器的網(wǎng)絡(luò)結(jié)構(gòu)。在ISOLA P提出U-Net結(jié)構(gòu)前,圖像到圖像的轉(zhuǎn)化任務(wù)中編碼解碼結(jié)構(gòu)的使用最為廣泛,其結(jié)構(gòu)如圖2所示。編碼解碼結(jié)構(gòu)在編碼時(shí),使用卷積層和激活函數(shù)減少信息量。解碼時(shí)則執(zhí)行與編碼過(guò)程相反的操作。但在數(shù)據(jù)流傳遞的過(guò)程中,會(huì)出現(xiàn)輸出與輸入之間信息遺失的情況。因此ISOLA P提出了U-Net生成器結(jié)構(gòu)[9],其結(jié)構(gòu)如圖1中生成器結(jié)構(gòu)所示。U-Net的結(jié)構(gòu)和編碼解碼類(lèi)似,但該結(jié)構(gòu)在編解碼過(guò)程的鏡像層間加了跳步連接(通過(guò)復(fù)制編碼層的特征圖譜傳遞給對(duì)應(yīng)的解碼層實(shí)現(xiàn)),以此解決生成器輸出輸入之間信息傳遞的問(wèn)題。
圖2 編碼解碼器結(jié)構(gòu)
1.1.2判別器
ISOLA P[9]為了追求細(xì)節(jié)的生成效果,采用馬爾科夫鏈模型作為判別器。然而熱紅外人臉圖像并不追求分毫畢現(xiàn)的效果,因此本文采用神經(jīng)網(wǎng)絡(luò)作為判別器結(jié)構(gòu),其結(jié)構(gòu)如圖1中的判別器所示。輸入經(jīng)過(guò)這個(gè)卷積神經(jīng)網(wǎng)絡(luò)輸出判定該輸入是真實(shí)圖像的概率。
本文的目的是通過(guò)生成對(duì)抗網(wǎng)絡(luò)以可見(jiàn)光人臉圖像為素材生成熱紅外人臉圖像。考慮到同一張圖的可見(jiàn)光圖像與熱紅外圖像的五官分布一致,而且文獻(xiàn)[10]表明,將cGAN的目標(biāo)函數(shù)和傳統(tǒng)的目標(biāo)結(jié)合可以提高生成圖像的質(zhì)量,因此本文在生成時(shí)還考慮生成圖像與可見(jiàn)光圖像之間的相似程度,即有條件約束的生成對(duì)抗網(wǎng)絡(luò),其目標(biāo)函數(shù)為:
minGmaxDV(D,G)=V′(D,G)+λLL1
(1)
式(1)中V′(D,G)就是cGAN的目標(biāo)函數(shù),即不考慮生成圖像與可見(jiàn)光圖像相似程度的目標(biāo)函數(shù):
minGmaxDV′(D,G)=Ey x~pdata(x,y)[logD(x,y)]+
Ey z~ pz(z)[log(1-D(G(z,y)))]
(2)
本文將可見(jiàn)光圖片y和生成器輸出G(z,y)之間的L1距離作為兩張圖片相似程度的懲罰項(xiàng):
式(2)和式(3)中z是隨機(jī)噪聲,x是目標(biāo)圖像,y是可見(jiàn)光圖像,G(z,y)指生成器的輸出,D(·)指判別器輸出的概率。判別器的目標(biāo)是最大化式(1),即maxDV(D,G),而生成器的目標(biāo)是最小化式(2)的第二項(xiàng)與λLL1之和,其中,λ是超參數(shù)。
為了訓(xùn)練生成對(duì)抗網(wǎng)絡(luò),需要反復(fù)迭代多次,每次迭代需要交換固定判別器和生成器中的一個(gè)模型參數(shù),更新另一個(gè)模型的參數(shù)。
判別器的訓(xùn)練過(guò)程如下:
(1)從隨機(jī)噪聲z中采樣;
(2)對(duì)訓(xùn)練樣本進(jìn)行采樣,采樣的可見(jiàn)光圖片作為條件y,對(duì)應(yīng)的熱紅外圖片作為真實(shí)數(shù)據(jù)樣本x;
(3)更新判別器模型的參數(shù);
(4)所有樣本都采樣過(guò)一遍后,固定判別器模型參數(shù),開(kāi)始新一輪的生成器參數(shù)更新。
生成器的訓(xùn)練過(guò)程如下:
(1)從隨機(jī)噪聲z中采樣;
(2)對(duì)訓(xùn)練樣本的可見(jiàn)光圖片進(jìn)行采樣作為條件變量y;
(3)計(jì)算y與輸出G(z,y)之間的L1距離;
(4)更新生成器模型的參數(shù);
(5)所有樣本都采樣過(guò)一遍后,固定生成器模型參數(shù),開(kāi)始新一輪的判別器參數(shù)更新。
本文使用隨機(jī)梯度下降法進(jìn)行參數(shù)優(yōu)化,進(jìn)行足夠多次交替訓(xùn)練的迭代之后,停止訓(xùn)練。
本文在USTC-NVIE[8]數(shù)據(jù)庫(kù)上進(jìn)行實(shí)驗(yàn),該數(shù)據(jù)庫(kù)在左、中、右三種光源下,共收集了126名志愿者6種基本面部表情(高興、悲傷、驚喜、恐懼、憤怒和厭惡)的可見(jiàn)光和熱紅外圖像。
在進(jìn)行實(shí)驗(yàn)之前,需要對(duì)圖片進(jìn)行預(yù)處理。使用haar級(jí)聯(lián)特征對(duì)可見(jiàn)光圖像進(jìn)行人臉定位和截取;對(duì)熱紅外圖像則使用大津法(OSTU)和垂直投影曲線進(jìn)行人臉定位和截取。最終,截取了1 051對(duì)有表情的可見(jiàn)光人臉圖像和熱紅外人臉圖像對(duì)以及980對(duì)無(wú)表情的可見(jiàn)光和熱紅外圖像對(duì),并調(diào)整所有圖像的大小為256×256。本文將成對(duì)的可見(jiàn)光人臉圖像和熱紅外圖像稱(chēng)為一個(gè)樣本。
2.1.1對(duì)照實(shí)驗(yàn)設(shè)置
本文設(shè)置了3組對(duì)照模型進(jìn)行效果對(duì)比,加上本文提出的模型,共4組模型,都采用神經(jīng)網(wǎng)絡(luò)作為判別器,但生成器結(jié)構(gòu)和目標(biāo)函數(shù)各不相同。為了方便表述,后文稱(chēng)公式(2)為目標(biāo)函數(shù)Ⅰ,稱(chēng)公式(1)為目標(biāo)函數(shù)Ⅱ;以編碼解碼為生成器結(jié)構(gòu)的生成框架為網(wǎng)絡(luò)結(jié)構(gòu)I,以U-Net為生成器結(jié)構(gòu)的生成框架為網(wǎng)絡(luò)結(jié)構(gòu)II。則本文的4組實(shí)驗(yàn)?zāi)P头謩e是網(wǎng)絡(luò)結(jié)構(gòu)I目標(biāo)函數(shù)I、網(wǎng)絡(luò)結(jié)構(gòu)I目標(biāo)函數(shù)II、網(wǎng)絡(luò)結(jié)構(gòu)II目標(biāo)函數(shù)I以及本文提出的方法網(wǎng)絡(luò)結(jié)構(gòu) II目標(biāo)函數(shù)II。
本文使用的判別器神經(jīng)網(wǎng)絡(luò)如圖1中的判別器框架所示,所有卷積核大小都為4×4,除最后一層的步長(zhǎng)為1,使用Sigmoid激活函數(shù)輸出概率,其他卷積層的步長(zhǎng)都為2,都使用LeakyReLU作為激活函數(shù)并且都需要進(jìn)行批量正則化(Batch Normalization, BN)。
對(duì)于兩種生成器網(wǎng)絡(luò)結(jié)構(gòu),除了跳步連接的差別外,所有卷積層的卷積核大小都為4×4,步長(zhǎng)都為2,都使用ReLU函數(shù)作為激活函數(shù),并且都需要進(jìn)行批量正則化。從輸入開(kāi)始各編碼層的輸出通道數(shù)為32→64→128→256→512→512→512→512,編碼之后一直到輸出的各解碼層的輸出通道數(shù)為512→512→512→ 512→ 256→128→64→32→3。
設(shè)置的4組模型除進(jìn)行生成實(shí)驗(yàn)外還進(jìn)行表情識(shí)別實(shí)驗(yàn)。
2.1.2生成實(shí)驗(yàn)條件
生成實(shí)驗(yàn)中,數(shù)據(jù)集被分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。其中,訓(xùn)練集有1 222個(gè)樣本,包含了全部的980對(duì)無(wú)表情圖片和242對(duì)有表情圖片。驗(yàn)證集和測(cè)試集樣本則都是有表情的圖片,分別有384個(gè)樣本和425個(gè)樣本。
為了評(píng)估測(cè)試集的目標(biāo)圖片和生成圖片的差異,本文使用高斯Parzen窗[12]作為衡量標(biāo)準(zhǔn)。
2.1.3識(shí)別實(shí)驗(yàn)條件
為了驗(yàn)證生成圖像能否被模型識(shí)別,本文使用SVM作為識(shí)別模型,以生成實(shí)驗(yàn)的訓(xùn)練集和驗(yàn)證集中的熱紅外圖像為訓(xùn)練集,總共有1 606幅熱紅外圖像。訓(xùn)練SVM模型分別識(shí)別測(cè)試集的生成圖像和原本熱紅外圖像(目標(biāo)圖像)的表情標(biāo)簽。
最后,為了驗(yàn)證生成圖片作為擴(kuò)充樣本的效果,仍使用SVM模型,除了生成實(shí)驗(yàn)的訓(xùn)練集和驗(yàn)證集外,再加入213幅生成的圖像,總共1 819幅熱紅外圖像作為訓(xùn)練集。剩下的212幅生成圖像的目標(biāo)圖像作為測(cè)試集。
2.2.1生成實(shí)驗(yàn)結(jié)果
圖3為一個(gè)樣本的可見(jiàn)圖像、生成的紅外圖像及其目標(biāo)圖像的示例。對(duì)比4種模型的生成圖片與目標(biāo)圖片可以發(fā)現(xiàn),本文提出的模型(網(wǎng)絡(luò)結(jié)構(gòu)II目標(biāo)函數(shù)II)的生成圖片與目標(biāo)圖片更相似。表1是生成圖片與目標(biāo)圖片基于Parzen窗的對(duì)數(shù)似然估計(jì),結(jié)果表明本文提出的方法的生成圖片(圖3(e))與目標(biāo)圖片更相似。結(jié)合表1的結(jié)果以及圖3的成像效果考慮,生成效果還是比較令人滿意的。
圖3 可見(jiàn)光圖像、生成的紅外圖像及其目標(biāo)圖像樣例
模型似然估計(jì)網(wǎng)絡(luò)結(jié)構(gòu)Ⅰ 目標(biāo)函數(shù)Ⅰ66 020±87網(wǎng)絡(luò)結(jié)構(gòu)Ⅰ 目標(biāo)函數(shù)Ⅱ65 074±82網(wǎng)絡(luò)結(jié)構(gòu)Ⅱ 目標(biāo)函數(shù)Ⅰ65 997±93網(wǎng)絡(luò)結(jié)構(gòu)Ⅱ 目標(biāo)函數(shù)Ⅱ64 654±84
2.2.2識(shí)別實(shí)驗(yàn)結(jié)果
表2是使用SVM模型識(shí)別生成圖片的實(shí)驗(yàn)結(jié)果,實(shí)驗(yàn)結(jié)果表明生成的圖片可以被識(shí)別模型識(shí)別,并且與目標(biāo)圖片被識(shí)別的效果相似。本文提出的方法(網(wǎng)絡(luò)結(jié)構(gòu)II目標(biāo)函數(shù)II)的準(zhǔn)確率是所有生成圖片中最高的。
表2 識(shí)別生成圖像與目標(biāo)圖像結(jié)果
表3分別是沒(méi)有進(jìn)行樣本擴(kuò)充與使用生成圖片作為擴(kuò)充樣本訓(xùn)練的模型對(duì)真實(shí)熱紅外圖像的識(shí)別結(jié)果。實(shí)驗(yàn)結(jié)果表明生成的圖片作為擴(kuò)充樣本對(duì)模型識(shí)別效果的提升起了積極的作用。與沒(méi)有擴(kuò)充樣本的模型相比,四組擴(kuò)充訓(xùn)練集樣本的模型,識(shí)別準(zhǔn)確率分別提升了1.28%、2.7%、1.97%以及3.24%。訓(xùn)練集只進(jìn)行了12.36%的擴(kuò)充,提升效果令人滿意。由此可見(jiàn)使用生成對(duì)抗網(wǎng)絡(luò)生成圖片可以作為擴(kuò)增樣本提升模型訓(xùn)練效果。四組擴(kuò)充識(shí)別實(shí)驗(yàn)中,本文提出的方法(網(wǎng)絡(luò)結(jié)構(gòu)II目標(biāo)函數(shù)II)生成的圖片作為擴(kuò)增樣本訓(xùn)練效果最好。
表3 樣本擴(kuò)充后的表情識(shí)別結(jié)果
綜合生成實(shí)驗(yàn)以及識(shí)別實(shí)驗(yàn)可以發(fā)現(xiàn)本文提出的方法比其他模型的結(jié)果更好。如果分別觀察各組實(shí)驗(yàn)的網(wǎng)絡(luò)結(jié)構(gòu)和目標(biāo)函數(shù),可以發(fā)現(xiàn)不論是生成實(shí)驗(yàn)還是識(shí)別實(shí)驗(yàn),目標(biāo)函數(shù)相同的情況下,使用U-Net的(網(wǎng)絡(luò)結(jié)構(gòu)II)模型,實(shí)驗(yàn)結(jié)果都比使用編碼解碼器(網(wǎng)絡(luò)結(jié)構(gòu)I)的結(jié)果要好。而網(wǎng)絡(luò)結(jié)構(gòu)相同的情況下,使用目標(biāo)函數(shù)II的結(jié)果都比使用目標(biāo)函數(shù)I的結(jié)果要好。綜上所述,本文所提方法表現(xiàn)出的優(yōu)越性是來(lái)自模型結(jié)構(gòu)以及目標(biāo)函數(shù)的雙重作用。
為了解決近年來(lái)備受研究關(guān)注的熱紅外圖像采集困難的問(wèn)題,本文提出采用條件生成對(duì)抗網(wǎng)絡(luò)結(jié)合L1損失從可見(jiàn)光圖像中生成熱紅外圖像的方法。USTC-NVIE庫(kù)上的實(shí)驗(yàn)結(jié)果表明,生成對(duì)抗網(wǎng)絡(luò)框架可用來(lái)從可見(jiàn)光圖像生成熱紅外圖像,并且生成的圖片作為擴(kuò)充樣本可提升模型訓(xùn)練的效果。