何佩林 ,石躍祥 ,2?,成潔
(1.湘潭大學(xué) 信息工程學(xué)院,湖南湘潭 411105
(2.LED照明驅(qū)動與控制應(yīng)用工程技術(shù)研究中心,貴州銅仁554300)
在公安機關(guān)在偵查案件時,除了從指紋、血跡、頭發(fā)、DNA等方面尋找線索外,還有其他重要的偵查手段,刑事模擬畫像技術(shù)就是其中的一種。刑事模擬畫像是根據(jù)目擊者的敘述,將犯罪嫌疑人的相貌特征描繪、復(fù)原的一項技術(shù)。然而模擬畫像技術(shù)員通常繪制的畫像是手繪的素描圖像,如果提供一種技術(shù)能高效準確地把手繪的素描圖像轉(zhuǎn)化為彩色圖像,即人臉圖像翻譯,將會大大提高偵查破案的幾率。
圖像翻譯,類似于語言翻譯,是把一個域中的圖像映射到另一個域中的相應(yīng)圖像,許多圖像處理和計算機視覺任務(wù)都可以被看作為圖像到圖像的翻譯問題,其將對象或場景的一個視覺表示翻譯為另一個視覺表示。圖像到圖像翻譯的思想至少可以追溯到Hertzmann等[1]的圖像類比算法研究,該文在單個輸入-輸出訓(xùn)練圖像對上使用了一個非參數(shù)紋理模型。
最近在這個方向上,國內(nèi)外學(xué)者作出了杰出的貢獻,首先,Goodfellow等[2]提出了具有里程碑意義的生成對抗網(wǎng)絡(luò)(GAN),最初的GAN是將圖像和隨機向量一一對應(yīng)起來然后訓(xùn)練得到一個隨機向量到圖像的映射,這樣,從同樣的分布中隨機一個其他的向量也能得到一張圖像。但是最初GAN的成功是有限的,因為GAN訓(xùn)練的不穩(wěn)定,往往導(dǎo)致生成的圖像變得無意義。Radford等[3]提出深度卷積生成對抗網(wǎng)絡(luò)(DCGAN),通過在其拓撲結(jié)構(gòu)中包含一系列約束來解決不穩(wěn)定性問題。GAN中另一個限制性問題是,在無條件的生成模型下,不能控制由生成器生成數(shù)據(jù)的模式。Mirza等[4]提出了條件生成對抗網(wǎng)絡(luò)(cGAN),在模型中引入了附加的條件信息,這導(dǎo)致了生成器的有效學(xué)習(xí)。使用條件變量增加輔助信息不僅提高了學(xué)習(xí)的穩(wěn)定性,而且提高了生成器的描述能力[5]。基于生成對抗網(wǎng)絡(luò)(GAN),Isola[6]等提出了 pix2pix方法,生成器的輸入不再是無意義的噪音,而是圖像。它巧妙的利用GAN的框架解決了通用的圖像到圖像的翻譯問題。但是在pix2pix中,輸入圖像必須是成對的,但在現(xiàn)實生活中,兩個不同領(lǐng)域的圖像很難有成對的。針對這個問題,Zhu等[7]結(jié)合了對偶學(xué)習(xí)和GAN提出了CycleGAN,主要貢獻在于發(fā)揮無監(jiān)督學(xué)習(xí)的作用,只要提供兩類數(shù)據(jù)集即可,不要求嚴格配對。
盡管圖像翻譯方法得到了迅速的發(fā)展,但是由于人臉圖像翻譯會受當時環(huán)境因素影響,比如光照,姿態(tài)變化和遮擋,目擊者相應(yīng)地也會受到影響,產(chǎn)生敘述模糊,加上人臉本身的復(fù)雜性,這些方法都是用通用的模型處理翻譯問題的,但是卻不能很好生成復(fù)雜人臉中必要的細節(jié)。如果有一個專門的模型來實現(xiàn)人臉翻譯,那就更好了。
受文獻[6]的啟發(fā),除了原始的GAN這種完全依賴隨機向量生成圖像的模型外,還可以加入其它的條件因素構(gòu)建更復(fù)雜的模型。本文的算法與之類似,但這次生成器的輸入是隨機向量以外的媒體信息——文字信息。
基于此,提出了基于生成對抗文本的人臉圖像翻譯方法,相比其他翻譯方法,本文的翻譯結(jié)果更好,在人臉圖像上具有很好的適應(yīng)性。
為了獲得文本描述在視覺上可判別的向量表示,我們按照Reed等[8]的方法,利用深度神經(jīng)編碼器生成特征的內(nèi)積來學(xué)習(xí)與圖像所對應(yīng)函數(shù),然后對學(xué)習(xí)過的對應(yīng)函數(shù)ft產(chǎn)生的文本分類器進行優(yōu)化訓(xùn)練,優(yōu)化其結(jié)構(gòu)損失:

其中{(vn,tn,yn)∶n=1,…,N}是訓(xùn)練數(shù)據(jù)集,Δ是0-1損失,vn是圖像,tn是相應(yīng)的文本描述,yn是類標簽。fv和ft分別是圖像和文本分類器,具體參數(shù)如下:

其中φ是圖像編碼器(如深度卷積神經(jīng)網(wǎng)絡(luò)),φ 是文本編碼器(如 CNN 或者 LSTM),τ(y)是文本描述數(shù)據(jù)集,υ(y)是圖像數(shù)據(jù)集。公式(4)是定義的兼容函數(shù),φ(v)是圖像特征,φ(t)是文本特征,fv和ft共用這個函數(shù),分別對圖像和文本描述提取對應(yīng)的特征,然后結(jié)合起來,給出每個圖像滿足文本描述的得分。顯而易見的是,如果分類器能夠正確的分類,那么圖像和與之匹配的文本的分數(shù)應(yīng)該明顯高于其他不能匹配上的分數(shù),反之亦然。在這里,我們的目標是對稱的圖像和文本,因此,將上述目標命名為深度對稱結(jié)構(gòu)聯(lián)合編碼[8]。
Reed等[8]通過實驗發(fā)現(xiàn)不同的文本編碼器在鳥兒和鮮花上都能得到比較好的結(jié)果,但是對于人臉的特殊性和復(fù)雜性,我們使用一個Word-CNNLSTM模型。如圖1所示,文本描述是yellow skin and black hair,使用CNN網(wǎng)絡(luò)對每個圖像提取特征,LSTM提取文本描述特征,然后結(jié)合起來,計算出每個圖像滿足該文本描述的概率。

圖1 Word-CNN-LSTM模型結(jié)構(gòu)圖
生成對抗網(wǎng)絡(luò)(generative adversarial nets,GAN)是深度學(xué)習(xí)模型的一種,Goodfellow等[2]同時訓(xùn)練兩個模型:一個生成模型G和一個判別模型D,其中生成模型是一個編碼-解碼網(wǎng)絡(luò),它試圖在給定的圖像上合成假圖像以欺騙判別模型。而判別模型則試圖通過與相應(yīng)的目標圖像進行比較來識別假圖像。
換句話說,G和D的訓(xùn)練是關(guān)于值函數(shù)V(D,G)的極小化極大的二人博弈問題:

當z~pz時,獲得樣本G(z),生成模型G隱式的定義概率分布pg為G(z)獲得的樣本分布,Goodfellow等[2]證明當pg=Pdata時,有一個全局最優(yōu)解,并且如果G和D容量和訓(xùn)練時間足夠大時,pg收斂于Pdata。實際上,方程(5)可能無法為G提供足夠的梯度來學(xué)習(xí)。訓(xùn)練初期,當G的生成效果很差時,D會以高置信度來拒絕生成樣本,因為它們與訓(xùn)練數(shù)據(jù)明顯不同,故 log(1-D(G(z)))飽和。因此選擇最大化 log(1-D(G(z)))而不是最小化 log(1-D(G(z)))來訓(xùn)練G。在最理想的狀態(tài)下,G可以生成足以“以假亂真”的圖片G(z),而對于D來說,它難以判斷G生成的圖片究竟是不是真實的,因此D(G(z))=0.5。
本文方法T-GAN是基于生成對抗網(wǎng)絡(luò)構(gòu)建的網(wǎng)絡(luò),GAN是由 Goodfellow等[2]首次提出,并在后續(xù)眾多研究者的探索下得到了廣泛應(yīng)用,如風(fēng)格轉(zhuǎn)換[10],圖像修復(fù)[11],交互式圖像生成[12],圖像超分辨率[13]和紋理合成[14]。
雖然GAN的應(yīng)用場景非常廣泛,但是對于一些復(fù)雜的問題,原始的GAN會比較吃力,比如人臉翻譯問題,故本文作出相應(yīng)的改進,提出了一種新的人臉翻譯方法T-GAN,對比原始的GAN結(jié)構(gòu),這里對生成網(wǎng)絡(luò)G和判別網(wǎng)絡(luò)D的輸入部分做了更改:
對于生成網(wǎng)絡(luò)G,原來是接收一個無意義的噪聲z,輸出一個圖像G(x,z)。而對于圖像翻譯任務(wù)來說,G的輸入顯然應(yīng)該是一張圖像x,而這里不僅接收圖像x,還接收文本描述特征φ(t),用這兩部分共同生成一個圖像 G(x,φ(t))。

圖2 T-GAN網(wǎng)絡(luò)結(jié)構(gòu)圖
T-GAN模型結(jié)構(gòu)如圖2所示。可以看到,圖的左側(cè)是生成網(wǎng)絡(luò),右側(cè)是判別網(wǎng)絡(luò)。
在生成網(wǎng)絡(luò)G中,首先需要對文本描述t進行編碼,在這里,使用了Word-CNN-LSTM模型來對文本做編碼。文本編碼后經(jīng)過一個全連接層壓縮到一個較小的維度(128維),然后使用Leaky-Relu激活,并與輸入圖像x進行拼接。最后再將其輸入到正常的反卷積層進行圖像生成。
在判別網(wǎng)絡(luò)D中,首先對輸入做幾個stride=2的卷積,當特征映射的大小變?yōu)?×4時,則又一次對文本編碼結(jié)果執(zhí)行一個全連接層,降低其維度,將降維后的結(jié)果拼接到這個大小為4×4的特征映射上。然后做一個1×1卷積,1×1卷積基本上是在相同維度空間上的線性投影(輸入和輸出通道的數(shù)量相同)[15],并通過一個4×4卷積以計算來自的最終分數(shù)。在判別網(wǎng)絡(luò)中,每層都使用批量規(guī)范化(Batch Normalization)和Leaky-Relu激活函數(shù)。
訓(xùn)練有條件的GAN最簡單的方法是把(文本,圖像)進行聯(lián)合輸入,并訓(xùn)練判別網(wǎng)絡(luò)判斷為真還是為假。這種類型的條件是原始的,在這個意義上,判別網(wǎng)絡(luò)沒有明確的概念,真實的訓(xùn)練圖像是否匹配文本描述。
然而,有條件的GAN學(xué)習(xí)的目標不同于無條件的情況[16]。在訓(xùn)練開始時,判別器忽略了條件信息,容易拒絕來自生產(chǎn)網(wǎng)絡(luò)G的樣本(生成的圖像),因為它們看起來不可信。一旦G學(xué)會生成趨向真實的圖像,判別網(wǎng)絡(luò)D也必須學(xué)會將它們與條件信息相比較,同樣D還必須學(xué)會評估G中的樣本是否滿足這種條件約束。
在原始的GAN中,判別網(wǎng)絡(luò)需要區(qū)分真實圖像和合成圖像,但在T-GAN中,判別網(wǎng)絡(luò)則需要判別兩種輸入:真實圖像+匹配文本和合成圖像+不匹配文本。因此,它必須隱式地分離兩個錯誤來源:不真實的圖像(對于任意文本)和不符合條件信息的真實圖像,它們與條件信息不匹配。但這可能會使學(xué)習(xí)動態(tài)復(fù)雜化,我們修改了GAN訓(xùn)練算法來分離這些誤差源。除了在訓(xùn)練中對判別網(wǎng)絡(luò)的真/假輸入之外,我們還增加了第三種類型的輸入,由真實圖像伴隨著不匹配的文本組成。通過這樣的方法,強化D的訓(xùn)練效果,強迫D判斷生成的圖片是否符合文本描述,讓D能夠更好地學(xué)習(xí)文本描述和圖像內(nèi)容的對應(yīng)關(guān)系。
1.for n=1 to S do
2.h←(t);
5.Sr←D(x,h);
6.Sw←D(x,);
7.Sf←D(,h);
8.LD←log(Sr)+(log(1-Sw)+
9.log(1-Sf))/2;
10.LD←log(Sf);
11.end for
利用實驗驗證本文方法的有效性,實驗數(shù)據(jù)來自celeA人臉數(shù)據(jù)庫的超過200000張名人人臉圖像,保證了圖像多樣性與質(zhì)量。首先驗證本文方法的可行性,在不同膚色與不同發(fā)色的人臉圖像上進行圖像翻譯,然后通過對比實驗來比較T-GAN與GAN,cGAN,pix2pix,CyleGAN 等其他翻譯方法的翻譯性能,最后通過一些外部因素影響下的人臉圖像翻譯結(jié)果說明本文方法具有較強的魯棒性和自適應(yīng)性。實驗所用平臺是Tesla K10.G1.8GB GPU服務(wù)器,5.4T硬盤,32GB內(nèi)存,Ubuntu16.04系統(tǒng)和Python 3.5.2版本。
所有數(shù)據(jù)集圖像具有相同的GAN架構(gòu),訓(xùn)練圖像大小歸一化為256×256,并使用photoshop將圖像處理成手繪效果。由于文本的特點,我們對文本編碼器進行了預(yù)訓(xùn)練,對文本編碼器進行預(yù)訓(xùn)練是為了加快訓(xùn)練其他組件的速度以加快實驗速度。文本編碼器產(chǎn)生1024維文本編碼,然后把產(chǎn)生的1024維文本編碼壓縮為128維,在圖像特征映射到卷積之前拼接在一起,放入到生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)中。
為了驗證本文方法的可行性,選取膚色,發(fā)色各異的人臉圖像2000張,經(jīng)過數(shù)據(jù)預(yù)處理后,放入到T-GAN模型中進行測試翻譯。部分實驗結(jié)果如圖3所示,可以看出,本文算法在輸入的各種膚色和發(fā)色手繪人臉圖像上,根據(jù)人臉的特殊性,引入相應(yīng)的文本描述,翻譯結(jié)果能夠達到一個較好的效果,接近真實圖像,與文本描述內(nèi)容也比較接近。

圖3 基于生成對抗文本的部分人臉圖像翻譯結(jié)果
為了進一步說明本文方法的有效性,將其與其他翻譯方法進行比較,如圖4所示。從結(jié)果中可看出,原始的GAN[2]產(chǎn)生的結(jié)果普遍帶有黑影,尤其是在黑色皮膚人臉圖像上,黑影會成塊顯示;cGAN[4]和CycleGAN[6]在翻譯人臉圖像過程中,容易產(chǎn)生更多的偽影和模糊度,并且翻譯結(jié)果存在不真實感;pix2pix[7]翻譯的人臉圖像結(jié)果,已經(jīng)能較好保持人臉的膚色和發(fā)色特點,但對于人臉的一些細節(jié),其翻譯結(jié)果仍存在一些偏差,顏色過于飽和,臉部膚色變紅;通過實驗可以看出,本文方法在翻譯人臉圖像時,具有較好的翻譯效果,翻譯結(jié)果中不僅膚色和發(fā)色更接近真實圖像,圖像背景也能達到較好的翻譯效果,可以準確地保持圖像中的色調(diào)與飽和度。
為客觀驗證本文方法在圖像翻譯后可以較好地保持圖像屬性,表1是本文方法與其他翻譯方法在訓(xùn)練樣本中的平均均方誤差(MSE),結(jié)構(gòu)相似度(SSIM)以及峰值信噪比(PSNR)。可以看出,本文方法與其他方法相比較,本文方法具有更小的MSE、更高的SSIM和PSNR。說明其翻譯效果最理想,失真程度最小,能更好地保持圖像原有屬性,且有效地降低噪聲對結(jié)果的影響。

圖4 人臉圖像翻譯方法實驗結(jié)果對比

表1 不同翻譯方法對訓(xùn)練樣本平均指標對比
在實際生活中,刑事案件往往還存在一些人臉圖像受光照、姿態(tài)變化和遮擋等外部因素的影響,為了進一步驗證本文方法的魯棒性和自適用性,在遮擋人臉、側(cè)面人臉,光照人臉等受外部因素影響的人臉圖像上進行實驗,部分實驗結(jié)果如圖5所示。由實驗結(jié)果可見,人臉6帽子帽帶存在顏色的偏差,由于頭發(fā)被帽子遮掩,帽子被模型誤認為是頭發(fā),訓(xùn)練效果達不到理想的狀態(tài),加入帽子等遮擋物的文本描述,強化訓(xùn)練效果,是后期需繼續(xù)研究的工作。但是由其他圖像結(jié)果可見,本文方法在人臉圖像受外部因素影響下,也能達到較好的翻譯效果。

圖5 外部因素影響下的人臉翻譯結(jié)果
提出了一種基于生成對抗文本的人臉圖像翻譯方法(T-GAN),該方法在光照,姿態(tài)變化和遮擋等外部因素的影響下,也能達到較好的翻譯效果,具有較強的魯棒性和自適應(yīng)性。實驗結(jié)果表明,該方法在各種膚色、發(fā)色人臉圖像上都具有良好的翻譯效果,并與現(xiàn)有的翻譯方法進行比較,該方法的翻譯效果更接近真實圖像,從而驗證了該方法的有效性。