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