寧 寧 金 鑫 張曉昆 李艷楠
北京電子科技學(xué)院,北京市 100070
基于深度卷積神經(jīng)網(wǎng)絡(luò)的圖像風(fēng)格遷移可以實(shí)現(xiàn)將一類圖像風(fēng)格(真實(shí)場(chǎng)景圖片)轉(zhuǎn)為另一類圖像風(fēng)格(繪畫圖像),神經(jīng)網(wǎng)絡(luò)中,還有一種網(wǎng)絡(luò)能夠?qū)崿F(xiàn)一類圖像轉(zhuǎn)為另一類圖像,即生成對(duì)抗網(wǎng)絡(luò)(GAN)。 Isola 在GAN[1]的原理上,實(shí)現(xiàn)了一種開(kāi)放的圖像生成轉(zhuǎn)化框架,能夠?qū)崿F(xiàn)圖像翻譯,將街景標(biāo)簽圖像翻譯為真實(shí)街景圖像,將簡(jiǎn)筆畫圖像翻譯為真實(shí)圖像。 本文在生成對(duì)抗網(wǎng)絡(luò)的啟發(fā)下,設(shè)計(jì)并實(shí)現(xiàn)一種基于生成對(duì)抗網(wǎng)絡(luò)的光照遷移方法,實(shí)現(xiàn)改變輸入圖像的光照,使之接近參考圖像的光照。
循環(huán)一致生成對(duì)抗網(wǎng)絡(luò)(CycleGan)的生成器不僅能實(shí)現(xiàn)將圖像由原始類型X轉(zhuǎn)換為目標(biāo)類型Y,還能將圖像再轉(zhuǎn)換回原始類型X, 以判斷生成器的轉(zhuǎn)換能力。 受這一點(diǎn)啟發(fā),本文設(shè)計(jì)能遷移光照效果和去除光照效果的網(wǎng)絡(luò),可遷移理想的光照效果,也可將圖像恢復(fù)為均勻光照或者無(wú)光照的圖像,即去光。 如圖1 所示,為圖像的光照遷移和去除光照示意圖。
本論文的創(chuàng)新點(diǎn)在于提出了新穎的基于GAN 的人臉光照遷移方法,實(shí)現(xiàn)了對(duì)整幅人臉圖像的光照分析與重渲染,并保持了目標(biāo)人臉圖像的幾何結(jié)構(gòu)特征和細(xì)節(jié)特征。 本文從遷移效果等方面進(jìn)行了實(shí)驗(yàn)驗(yàn)證與結(jié)果分析,結(jié)果表明,與其他方法相比,我們的方法在光照遷移效果上表現(xiàn)良好。
圖1 光照遷移和去除光照示意圖
在人臉圖像的后期合成工作中,經(jīng)常需要將參考人臉圖像的光照屬性重渲染到目標(biāo)人臉圖像。 如何在保持目標(biāo)人臉圖像幾何結(jié)構(gòu)特征的同時(shí),生成近似于參考人臉圖像的光照效果,是人臉圖像光照分析與遷移需要解決的關(guān)鍵問(wèn)題。
人臉圖像光照遷移有兩大類解決思路,一類是基于模型[11][12],對(duì)人臉建模,通過(guò)模型獲得圖像的光照信息,從而遷移光照效果;另一類是基于圖像分解,通過(guò)圖像本征分解或者濾波器分解等多種方式,旨在從二維圖像中分解出光照信息,從而遷移光照。
人臉光影遷移最初使用商圖[13]從圖像中提取參考人臉的光影信息。 該方法首先通過(guò)在沒(méi)有飽和或曝光不足的靜態(tài)光照下拍攝參考照片,然后在各種光照條件下拍攝參考的照片并與均勻光照條件下的照片推導(dǎo)出不同帶有反射率場(chǎng)的商圖,最后利用參考照片生成的商圖對(duì)均勻光照條件下的目標(biāo)人臉圖像進(jìn)行重光照。 但是商圖需要在參考對(duì)象靜止的條件下,拍攝兩張圖像,使得該方法在互聯(lián)網(wǎng)條件下難以推廣和普及。 基于濾波器的方法[14-17]能夠?qū)畏鶊D像的光照遷移到均勻光照條件下的目標(biāo)人臉上,該類方法首先使用濾波器分離圖像的低頻部分和高頻信號(hào),低頻部分是光照信息,高頻信息是人臉的皮膚細(xì)節(jié)信息。 然后用參考人臉的高頻信息替換目標(biāo)人臉的低頻信息。 為了盡可能將光照信息與人臉皮膚細(xì)節(jié)分離,濾波器的參數(shù)會(huì)根據(jù)圖像先驗(yàn)信息自適應(yīng)計(jì)算。 但是依然存在以下局限性:(1)只有在參考人臉圖像和目標(biāo)人臉圖像形狀相似的假設(shè)前提下此方法才能夠生成較好的光照遷移效果;(2)沒(méi)有分離出光照信息而只傳輸與光照信息相關(guān)的特征層,導(dǎo)致某些情況下遷移了參考人臉圖像的外觀。
深度學(xué)習(xí)的興起為計(jì)算機(jī)視覺(jué)領(lǐng)域的很多研究帶來(lái)了突破,2018 年Zhu 等人提出了一種無(wú)需成對(duì)圖像的基于GAN[1]的圖像轉(zhuǎn)換CycleGAN[2]。 他構(gòu)建了兩個(gè)生成器網(wǎng)絡(luò)和一個(gè)循環(huán)一致?lián)p失,兩個(gè)生成器網(wǎng)絡(luò)分別用來(lái)生成不同風(fēng)格圖像,循環(huán)一致?lián)p失用來(lái)約束輸入圖像經(jīng)過(guò)兩個(gè)生成器網(wǎng)絡(luò)后所得圖像與自身一致,從而增強(qiáng)生成器網(wǎng)絡(luò)生成某種風(fēng)格圖像的能力。 CycleGAN 解決了傳統(tǒng)GAN 中需要成對(duì)圖像的問(wèn)題,即需要圖像在兩種風(fēng)格下的真實(shí)圖像。
Tu[18]等人介紹了基于深度學(xué)習(xí)和馬爾可夫隨機(jī)場(chǎng)(MRF)的人臉光照遷移方案。 他使用Yale Face 數(shù)據(jù)集中成對(duì)的人臉數(shù)據(jù)訓(xùn)練,分別為同一攝像對(duì)象在原光照和參考圖像光照效果下的圖像,用成對(duì)數(shù)據(jù)組建兩個(gè)指定光照效果的數(shù)據(jù)集。 首先將數(shù)據(jù)集中的每幅圖像分解為光照分量和詳細(xì)紋理分量,然后分別訓(xùn)練提取光照特征和細(xì)節(jié)紋理特征。 最后,基于MRF 方法綜合光照特征和細(xì)節(jié)特征,得出光照遷移的結(jié)果圖像。 該方法的缺陷在于只對(duì)局部人臉做光照遷移,沒(méi)有對(duì)整幅圖像做光照遷移,并且損失了測(cè)試圖像的部分面部特征。
目前光照遷移方法只遷移圖像人臉部分的光照,尚沒(méi)有較好完成對(duì)圖像非人臉部分的光照遷移。 而更實(shí)際應(yīng)用中需要對(duì)整幅人臉圖像,包括人臉部分和非人臉部分都做光照遷移,以改變整幅圖像的光照效果。 本文希望能研究出對(duì)整幅人臉圖像做光照遷移的方法,它能使整幅目標(biāo)圖像獲得理想光照效果的同時(shí),更接近實(shí)際的光照遷移應(yīng)用場(chǎng)景,并能保持目標(biāo)人臉圖像的幾何結(jié)構(gòu)特征和細(xì)節(jié)特征條件。
生成對(duì)抗網(wǎng)絡(luò)受博弈論的納什均衡[2][3]啟發(fā)。 兩個(gè)功能不同的網(wǎng)絡(luò)為一組構(gòu)成生成對(duì)抗網(wǎng)絡(luò)。 一個(gè)為生成器網(wǎng)絡(luò),根據(jù)給定的圖像數(shù)據(jù)學(xué)習(xí)數(shù)據(jù)特征,生成具有給定數(shù)據(jù)特征的新圖像。 另一個(gè)為判別器網(wǎng)絡(luò),用來(lái)鑒定圖像數(shù)據(jù)是生成器網(wǎng)絡(luò)生成的圖像,還是真實(shí)存在的圖像。生成器網(wǎng)絡(luò)的目標(biāo)是不斷學(xué)習(xí)圖像的特征,生成足夠真實(shí)能以假亂真使判別器網(wǎng)絡(luò)無(wú)法鑒別的圖像。 判別器網(wǎng)絡(luò)的目標(biāo)是一直增強(qiáng)自身的判別能力,分辨出真實(shí)存在的圖像和生成器生成的圖像。 一般交替優(yōu)化兩個(gè)網(wǎng)絡(luò),使二者達(dá)成一種平衡狀態(tài),這個(gè)過(guò)程就是納什均衡。
一般用G表示生成器網(wǎng)絡(luò),D表示判別器網(wǎng)絡(luò),生成對(duì)抗網(wǎng)絡(luò)的結(jié)構(gòu)示意圖如圖2 所示。生成器網(wǎng)絡(luò)的輸入為隨機(jī)噪聲,判別器網(wǎng)絡(luò)的輸入為真實(shí)圖像數(shù)據(jù)集和生成器網(wǎng)絡(luò)生成的圖像,輸出為圖像是真實(shí)圖像的概率。 目標(biāo)公式為公式1。
圖2 生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)圖
其中,x表示隨機(jī)噪聲,z表示真實(shí)數(shù)據(jù)集,生成對(duì)抗網(wǎng)絡(luò)的目標(biāo)即不斷增強(qiáng)提高判別器D判別數(shù)據(jù)的能力,同時(shí)不斷訓(xùn)練生成器網(wǎng)絡(luò)G來(lái)降低D判斷正確的概率。
循環(huán)生成對(duì)抗網(wǎng)絡(luò)即CycleGAN[2]網(wǎng)絡(luò),傳統(tǒng)的GAN 需要成對(duì)的數(shù)據(jù),即一組原始類型圖像和目標(biāo)類型圖像的組合,但現(xiàn)實(shí)中成對(duì)的數(shù)據(jù)很難獲取,而CycleGAN 解決了成對(duì)數(shù)據(jù)難以獲取的問(wèn)題。 如圖3,以人臉光照?qǐng)D像解釋傳統(tǒng)GAN 和CycleGAN 所需數(shù)據(jù)的區(qū)別。 GAN 需要的圖像數(shù)據(jù)集為同一攝像對(duì)象兩種不同類型的光照,CycleGAN 的數(shù)據(jù)集不需要同一攝像對(duì)象,只需兩種類型的光照?qǐng)D像數(shù)據(jù)集。
CycleGAN 的結(jié)構(gòu)如圖4 所示。 CycleGAN包括生成器網(wǎng)絡(luò)G和F,生成器網(wǎng)絡(luò)G的功能是由類型x的圖像生成類型y的圖像^y,生成器網(wǎng)絡(luò)F的功能是由類型y的圖像生成類型x的圖像^x。x和y是真實(shí)圖像數(shù)據(jù),^x和^y是由生成器網(wǎng)絡(luò)生成的圖像,Dx和Dy的功能是判別輸入數(shù)據(jù)是真實(shí)數(shù)據(jù)x、y還是由生成器網(wǎng)絡(luò)生成的圖像數(shù)據(jù)^x、^y。 CycleGAN 的損失函數(shù)包括公式2、3 和4。
圖3 GAN 所需成對(duì)數(shù)據(jù)和CycleGAN 所需不成對(duì)數(shù)據(jù)示意圖
圖4 CycleGAN 結(jié)構(gòu)示意圖
其中X和Y為兩個(gè)圖像域,生成器網(wǎng)絡(luò)G生成接近圖像域Y的圖像G(x),DY是區(qū)分圖像是G(x) 還是真實(shí)圖像y的判別器,y∈Y。 生成器網(wǎng)絡(luò)F生成接近圖像域X的圖像F(y),DX是區(qū)分圖像是F(y) 還是真實(shí)圖像x的判別器,x∈X。 與GAN 一樣,網(wǎng)絡(luò)訓(xùn)練的目標(biāo)是不斷增強(qiáng)提高判別器DX和DY判別數(shù)據(jù)的能力,同時(shí)不斷訓(xùn)練生成器網(wǎng)絡(luò)F和G來(lái)降低兩個(gè)判別器判斷正確的概率。
一個(gè)基于生成對(duì)抗網(wǎng)絡(luò)的應(yīng)用實(shí)例是將任意的彩色襯衫圖像轉(zhuǎn)換為白襯衫圖像,即CycleGAN 中相對(duì)應(yīng)的兩個(gè)生成器網(wǎng)絡(luò)中,完成后向傳輸?shù)木W(wǎng)絡(luò)能夠去除襯衫上的圖案使襯衫轉(zhuǎn)換為白襯衫。 以圖像風(fēng)格遷移來(lái)解釋,這種前向傳輸網(wǎng)絡(luò)(風(fēng)格遷移)需要輸入圖像和參考圖像兩個(gè)輸入數(shù)據(jù),而后向傳輸網(wǎng)絡(luò)(去除風(fēng)格)只需要帶有風(fēng)格的圖像為輸入數(shù)據(jù)。
本文的光照遷移方法采用的前向傳輸網(wǎng)絡(luò)和后向傳輸網(wǎng)絡(luò)為非對(duì)稱網(wǎng)絡(luò)的一種模式[9]。包括兩個(gè)不對(duì)稱的網(wǎng)絡(luò),一個(gè)是前向傳輸?shù)倪w移光照的網(wǎng)絡(luò),可以根據(jù)任意參考圖像的光照效果,遷移到任意的輸入圖像上;另一個(gè)是去除光照效果,將帶有明顯光照效果的圖像恢復(fù)為沒(méi)有光照或光照均勻的原始圖像。 每個(gè)生成器網(wǎng)絡(luò)均和判別器網(wǎng)絡(luò)一同訓(xùn)練。 為了加強(qiáng)網(wǎng)絡(luò)重現(xiàn)參考圖像光照效果的能力,本文受人臉圖像匹配變形啟發(fā),將參考圖像中的攝像對(duì)象的人臉,變形為和輸入圖像相同的人臉,用變形后參考圖像和輸入圖像訓(xùn)練光照遷移網(wǎng)絡(luò)對(duì)應(yīng)的判別器網(wǎng)絡(luò)。
為了對(duì)不同攝像對(duì)象進(jìn)行光照遷移,我們使用無(wú)監(jiān)督的方法。 如圖5 所示,同時(shí)訓(xùn)練兩個(gè)獨(dú)立的神經(jīng)網(wǎng)絡(luò)G和F,G用于傳輸特定的光照效果,F(xiàn)用于去除光照效果,對(duì)G輸入圖像的重構(gòu)。 期望通過(guò)使用不同的訓(xùn)練圖像數(shù)據(jù),網(wǎng)絡(luò)G可以將其學(xué)習(xí)到的光照遷移方法推廣到其它未被訓(xùn)練的光照效果圖像中,并且能夠?qū)⑷我獾墓庹招Чw移到任意的輸入圖像中。 在光照遷移網(wǎng)絡(luò)中,給定帶有光照效果的參考圖像和無(wú)或均勻光照的輸入圖像,光照遷移網(wǎng)絡(luò)G從參考圖像中提取光照信息并將光照信息遷移到輸入圖像上。 在去除光照效果的網(wǎng)絡(luò)中,給定帶有光照效果的輸入圖像(和光照遷移網(wǎng)絡(luò)的參考圖像相同),去除光照效果的網(wǎng)絡(luò)F可以學(xué)習(xí)去除帶有光照效果的輸入圖像的光照效果,得到無(wú)或均勻光照的結(jié)果圖像。 由此F網(wǎng)絡(luò)的輸出可以與G網(wǎng)絡(luò)的輸入進(jìn)行比對(duì)以實(shí)現(xiàn)重構(gòu)損失,從而約束光照遷移過(guò)程中可能出現(xiàn)的模式崩塌。 可將G的輸出作為帶有光照效果的圖像輸入到F中以獲得輸出,使得帶有光照效果的圖像數(shù)據(jù)增加一倍。 根據(jù)光照遷移的特性,采用以下?lián)p失函數(shù)。
圖5 基于GAN 的人臉圖像光照遷移網(wǎng)絡(luò)圖
本文首先采用對(duì)抗性損失來(lái)約束G的結(jié)果,使其看起來(lái)與來(lái)自圖像數(shù)據(jù)集Y的光照效果接近。 損失函數(shù)定義為:
公式6 中,判別器DY試圖區(qū)分出來(lái)自圖像數(shù)據(jù)集Y的真實(shí)數(shù)據(jù)和由G所生成的數(shù)據(jù)G(x,yβ),并且生成器網(wǎng)絡(luò)G的目標(biāo)是生成DY無(wú)法區(qū)別的圖像。
本文也使用對(duì)抗性損失如公式7 所示,來(lái)使得F可以生成與圖像數(shù)據(jù)集X中的無(wú)或均勻光照的真實(shí)圖像難以區(qū)分的結(jié)果圖像。
公式6 和公式7 的對(duì)抗性損失約束了G的輸出,使其結(jié)果接近帶有光照效果的人臉面部,但會(huì)損失x的部分面部結(jié)構(gòu)特征,我們使用L1損失來(lái)縮小面部結(jié)構(gòu)的差異,如公式8 所示。
公式8 限制了G的輸出,使得輸出圖像在接近Y(帶有光照效果的圖像)的過(guò)程中保留自身的面部結(jié)構(gòu)特征。 但是這還不能夠確保成功遷移特定光照效果的光照細(xì)節(jié)。 因此,本文額外定義了兩種風(fēng)格損失,L1 重構(gòu)損失和風(fēng)格判別器損失。
生成器網(wǎng)絡(luò)G和判別器網(wǎng)絡(luò)F的常用結(jié)構(gòu)選擇是傳統(tǒng)的編碼器解碼器網(wǎng)絡(luò)Unet[8],它逐步將輸入圖像編碼為緊湊的隱藏代碼,然后逐步上采樣隱藏的代碼,以重建與輸入圖像相同分辨率的圖像。 Unet 能夠保留輸入圖像中較突出的亮度,并生成新的光照,但它無(wú)法處理比例和方位的差異。 本文使用DRN(Dilated ResNet)[10]結(jié)構(gòu)來(lái)代替Unet。 擴(kuò)展卷積增加了深層網(wǎng)絡(luò)層的接受域,同時(shí)保持空間分辨率以避免信息丟失。 DRN 利用高分辨率特征矩陣來(lái)保存圖像細(xì)節(jié),其降低層可以進(jìn)一步提高空間預(yù)測(cè)的準(zhǔn)確性。 本文的生成器網(wǎng)絡(luò)包含三個(gè)擴(kuò)張剩余塊,還在網(wǎng)絡(luò)末端添加了兩個(gè)降低層,以避免結(jié)果中產(chǎn)生偽影。 本文的生成器網(wǎng)絡(luò)G將兩個(gè)圖像作為輸入,而生成器網(wǎng)絡(luò)F的輸入只有一個(gè)圖像,因此不需要級(jí)聯(lián)。
判別器網(wǎng)絡(luò)依照pix2pix 中的256× 256 鑒別器的設(shè)計(jì)。 生成器網(wǎng)絡(luò)G不是直接生成輸出像素,而是計(jì)算可以添加到輸入圖像來(lái)獲得結(jié)果輸出圖像的增量圖像。 我們希望保持輸入圖像的皮膚細(xì)節(jié)特征不變,只對(duì)圖像的光照信息進(jìn)行遷移。 由此,增量圖形應(yīng)該是稀疏的,并將一個(gè)正則化項(xiàng)LyR=‖G(x,yβ)-x‖1以0.1 的權(quán)重加權(quán)到目標(biāo)函數(shù)。
具體的訓(xùn)練細(xì)節(jié)設(shè)計(jì)為: 首先使用CycleGAN 預(yù)訓(xùn)練生成器網(wǎng)絡(luò)F。 CycleGAN 可以去除面部大部分的光照效果,但不能將特定的光照效果遷移到另一個(gè)新的圖像上。 有CycleGAN 初始化F后,交替進(jìn)行G的訓(xùn)練和F的微調(diào)。 經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證設(shè)置λG=λF=λP=0.5,共訓(xùn)練400 輪。 如圖6 所示,分別為參數(shù)設(shè)定0.2、0.5、0.8 的結(jié)果圖展示。
圖6 不同參數(shù)設(shè)定結(jié)果圖
本文使用Yale Face 人臉數(shù)據(jù)集。 為去除數(shù)據(jù)集中圖像背景部分窗戶等過(guò)亮因素的干擾,我們對(duì)該數(shù)據(jù)集做了處理。 首先,裁剪去除圖像中過(guò)亮的背景部分,在此基礎(chǔ)上裁剪圖片為正方形,然后將圖片重新調(diào)整大小為256× 256 的圖像。 通過(guò)這種方式,收獲了1368 張圖像的沒(méi)有光照效果的圖像數(shù)據(jù)集,2394 張圖像的帶有光照效果的圖像數(shù)據(jù)集。 數(shù)據(jù)集包含男性和女性,不同的種族和不同的光照效果。
如圖7 為處理前圖像數(shù)據(jù)和處理后圖像數(shù)據(jù)的示意圖,背景中的窗戶影響了整體的光照效果,故將其去除。 由于每個(gè)拍攝對(duì)象構(gòu)圖不同,不同拍攝對(duì)象處理的具體操作存在細(xì)微的差別,但目標(biāo)相同。 對(duì)上述3762 張圖片均做如圖7 所示的處理。
圖7 數(shù)據(jù)集處理示意圖
如圖8 所示,為基于GAN 的光照遷移網(wǎng)絡(luò)更多的實(shí)驗(yàn)結(jié)果。 本文的遷移方法不僅能夠在不同性別之間遷移光照,還能夠遷移不同光照效果的光照。 能夠遷移一定程度的光照,并且如圖中第三行結(jié)果所示,能遷移脖子部分的光照效果,產(chǎn)生一個(gè)自然過(guò)渡的結(jié)果。
圖8 多組光照遷移結(jié)果圖
如圖9 所示,為基于GAN 的光照遷移結(jié)果和基于濾波器的光照遷移、基于CNN 的光照遷移的對(duì)比。 相較于基于CNN 的光照遷移,基于GAN 的光照遷移能夠遷移不同攝像對(duì)象圖像間的光照效果。 相較于基于濾波器的光照遷移方法,基于GAN 的光照遷移能夠自然遷移脖子部分的光照效果。
圖9 實(shí)驗(yàn)結(jié)果對(duì)比圖
由圖10 所示,圖(1)給出了遷移結(jié)果圖像亮度層和參考圖像亮度層的差值在不同值域上的分布,圖(2)給出了遷移結(jié)果圖像亮度層和參考圖像亮度層的差值在各個(gè)亮度值上累計(jì)百分比。
圖10 基于GAN 的人臉圖像光照遷移方法精度分析圖
圖11 去除光照實(shí)驗(yàn)結(jié)果圖
圖11 為去除光照效果的實(shí)驗(yàn)結(jié)果圖。 本文的光照去除方法能夠去除面部的光照,并且結(jié)果圖像能夠保留輸入圖像的面部結(jié)構(gòu)特征。 缺陷在于受實(shí)驗(yàn)環(huán)境的限制,所產(chǎn)生的結(jié)果圖像不夠清晰。
本文提出了一種光照遷移與去除方法,用于將任意的光照效果遷移到任意的輸入圖像中,并能夠去除光照效果。 本文引入了非對(duì)稱風(fēng)格遷移的想法,以及用于訓(xùn)練光照遷移和去除光照效果的網(wǎng)絡(luò)框架。 與之前的光照遷移工作相比,本文能夠遷移整幅圖像的光照效果,能夠更快更迅速地產(chǎn)生逼真的結(jié)果,在一組不同攝像對(duì)象作為輸入圖像和參考圖像的情況下,能夠保留輸入圖像的面部結(jié)構(gòu)特征。 此外,本文拓展了光照處理的工作,實(shí)現(xiàn)了去除光照。 光照在人臉識(shí)別等領(lǐng)域會(huì)對(duì)實(shí)驗(yàn)產(chǎn)生很大的干擾和影響,因此去除人臉圖像的光照在實(shí)際中也有很廣泛的應(yīng)用。