Categories
程式開發

美圖影像實驗室推出MakeupGan妝容遷移算法


近日,美圖影像實驗室(MTlab)自主研發基於DL(Deep Learning)的MakeupGan(Makeup Generative Adversarial Networks)網絡架構,推出革新AI算法——妝容遷移(Makeup Transfer)。 該算法支持用戶自由選取心儀模特妝容並將遷移到自己臉上,不僅可以遷移眼影、眉毛、口紅等基礎妝容,還可遷移美瞳、臥蠶、睫毛、五官立體、亮片閃片等細膩細節。 遷移效果清晰、自然。 該技術將賦能美圖公司拓展個性化妝容和虛擬試妝相關業務。

美圖影像實驗室推出MakeupGan妝容遷移算法 1

MakeupGan妝容遷移效果1:從左至右,模特圖(@YI薰_ ) 、用戶圖、最終效果圖

虛擬試妝技術一直是美妝、美顏市場最重要的技術之一。 當前該領域流行的主流技術為傳統素材貼妝,該技術指由專業設計師按指定格式設計好妝容素材,再利用人臉關鍵點檢測把妝容素材貼到對應的五官位置上。 MTlab研究發現,這類技術存在兩個明顯不足:

1、需要專業設計師設計妝容素材,限制大,用戶不能自由選擇自己喜歡的妝容;

2、妝容素材直接貼在五官上,浮於表面,很多時候看起來不夠真實。

由於傳統貼妝技術的不足,當前市場上的虛擬試妝相關業務還很難滿足大多數用戶的需求,為了改變這一局面,MTlab自主研發了一套全新妝容遷移技術。 妝容遷移是指將目標圖上的妝容直接遷移到原圖上的技術。 相比傳統貼妝技術,妝容遷移具有極高的自由度,它可以讓用戶不再局限於設計師設計好的妝容,而是可以自主、任意地從真實模特圖中獲取妝容,極大地豐富了妝容的多樣性。 此外,妝容遷移技術不僅可以遷移五官妝容信息,還可以對膚色、光影等信息進行整體遷移。 再加上妝容信息直接來源於真實模特圖,因此該技術可以很好地保持妝容的真實度。

研究現狀

妝容遷移屬於目前較新的研究領域,相比於其他DL研究任務,妝容遷移需要解決的問題主要有兩個:

1、原圖和目標圖五官位置和姿態都不固定,如何讓網絡感知不同位置上的妝容信息?

2、該任務很難獲取真實環境中的一對一數據,如何讓網絡正確監督學習?

對於這兩個問題,近些年的一些研究者提出了一些解決方案,具體可以總結如下:

對於問題1,主要採用的解決辦法是:設計一種映射和反映射機制(也可以設計網絡結構來實現這樣的映射),將原圖像特徵映射為identity feature和makeup feature,這樣原圖的identity feature可以和目標圖的makeup feature進行組合,將組合特徵反映射為圖像特徵就可以顯式地讓網絡更好地感知妝容信息。

對於問題2,主要採用的解決辦法有兩類:a,用一種顏色遷移算法(比如,直方圖匹配)結合五官分割進行局部顏色遷移,把目標圖各五官成分的顏色遷移到原圖對應的五官成分上,這樣網絡輸出的五官區域就可以和顏色遷移後的五官區域直接做loss進行學習;b,結合人臉點用一種形變算法(比如,三角網格形變)將目標圖warp到原圖上,這樣原圖和目標圖的五官就基本對齊了,再設計loss進行監督訓練。

研究者們的創新方案收穫了很多成果。 目前,對於原圖和目標圖姿態比較接近且膚色差異較小的情況下,很多研究方案都能比較好地遷移五官妝容的顏色信息。 然而,對於真實用戶複雜多變的環境(複雜姿態、複雜光照、複雜妝容等)、更多細膩細節的遷移需求(睫毛、眼瞳、亮片閃片等),妝容遷移技術依然面臨著很大挑戰。

美圖影像實驗室推出MakeupGan妝容遷移算法 2

MakeupGan 妝容遷移效果2:從左至右,模特圖(@YI薰_ ) 、用戶圖、最終效果圖

MakeupGan妝容遷移方案

要將妝容遷移算法真正落地到產品層面需要保證以下兩個方面的效果:

1、魯棒性,不僅在姿態和膚色差異不大的情況下有穩定效果,還要保證在復雜姿態、多變光照、特殊妝容的場景下依然能保持較好效果。

2、全面性,不僅能遷移眼影、眉毛、口紅等顏色信息,還需要遷移睫毛、美瞳、臥蠶、亮片閃片等較為精確的細節信息。

MTlab突破技術瓶頸提出的MakeupGan妝容遷移方案,較好地解決了上述兩個問題,並率先將技術落地到實際產品中。 MakeupGan妝容遷移方案的核心流程如下圖所示:

美圖影像實驗室推出MakeupGan妝容遷移算法 3

MakeupGan 妝容遷移方案流程圖

該方案的完整工作流程如下:

1、通過MTlab自主研發的人臉關鍵點檢測算法檢測出原始尺寸的原圖和目標圖的人臉點,並做擺正、裁臉等操作得到流程圖中以及後續步驟提到的原圖、目標圖、原圖人臉點和目標圖人臉點;

2、通過MTlab自主研發的五官分割算法將原圖和目標圖的眉毛、眼睛、嘴唇和皮膚分割出來作為後續模塊的輸入;

3、將目標圖、原圖人臉點和目標圖人臉點輸入姿態矯正模塊,並得到姿態矯正後的目標圖,姿態矯正後的目標圖整體上會和原圖的姿態一致,並且整個臉的五官大小比例會更接近原圖;

4、把矯正後的目標圖和原圖輸入G網絡得到結果圖,根據結果圖和目標圖計算Cycle consistency loss、Perceptual loss和Makeup loss,同時把結果圖、原圖人臉點、原圖五官mask輸入MakeupGan模塊計算Makeup gan loss,這些loss控制整個網絡的訓練;

5、將實際裁好後的圖輸入訓練好的G網絡可以得到網絡輸出的結果圖,結合MTlab自研的顏色遷移算法將原圖的顏色和光照遷回一部分到結果圖上確保結果更加自然,並將處理後的結果圖逆回到原始尺寸原圖中即完成算法過程。

對於G網絡結構、Makeup loss、Cycle consistency loss和Perceptual loss,該方案參考了論文PSGan[1]並結合自有方案進行調整。 由於MakeupGan方案設計了姿態矯正模塊,已經可以較好地進行顯式的姿態適配,因此在G網絡中刪除了論文裡的AMM結構。 Makeup loss則沿用了PSGan的局部五官直方圖匹配loss。 由於論文中Cycle consistency loss和Perceptual loss裡的input和target使用的是同一張圖,這在一定程度上會削弱其它loss對於五官區域的監督,進而影響妝容的學習。

MTlab利用五官mask來調節這一問題。 首先對五官mask取反並進行邊緣模糊,然後再把模糊後的mask歸一化到(a,1](a>0)之間得到mask’。利用mask’將loss調整如下:
美圖影像實驗室推出MakeupGan妝容遷移算法 4

對於姿態矯正模塊,詳細流程繪製如下:
美圖影像實驗室推出MakeupGan妝容遷移算法 5

姿態矯正模塊流程圖

該模塊可以提升算法的魯棒性,主要包含兩個部分,一個是姿態適配,一個是求解變換矩陣。 姿態適配是根據原圖和目標圖的人臉點來判斷兩張臉的朝向是否相同,若不同則將目標圖和目標圖的人臉點進行左右翻轉,使目標圖的朝向和原圖一致。 求解變換矩陣是利用目標圖和原圖的人臉點構建最小二乘模型Y=X*M,通過最小二乘的矩陣求法可以求得一個3×3的M矩陣,這裡的M矩陣本質就是一個變換矩陣,包含平移、旋轉、縮放等原子變換信息。 利用M矩陣可以將目標圖的像素坐標(x,y)變換到一個新的位置(x’,y’),再用重映射函數remap即可將目標圖進行整體變換,變換後目標圖的整體五官大小比例會盡可能的接近原圖五官的大小比例。

關於MakeupGan模塊,詳細流程繪製如下:

美圖影像實驗室推出MakeupGan妝容遷移算法 6

MakeupGan模塊流程圖

該模塊是本方案的核心創新模塊,主要保證美瞳、臥蠶、亮片閃片等妝容細節的遷移。 MakeupGan模塊設計了3個D網絡,分別是眉毛判別網絡D-Eyebrow、眼睛判別網絡D-Eye和嘴唇判別網絡D-Lip。
D網絡結構的設計主要參考了論文[2]採用SFT結構,並把G網絡改成D網絡來使用。

具體所做的調整為:(1)把residual blocks 的數量從16調整為8;(2)去掉Upsampling之後的層。 此外,Condition網絡部分使用4通道的局部五官mask作為輸入,4通道的mask包括:原mask、對原mask進行左右翻轉後的mask、對原mask進行向左鏡像後的mask、對原mask進行向右鏡像後的mask,而Condition網絡的輸出即為SFT的Condition maps部分。

眉毛和眼睛都有左右之分,訓練時會將左右兩部分concat起來,所以D-eyebrow和D-eye的D網絡部分為6通道輸入,Condition網絡部分為8通道輸入,而D-lip的D網絡部分為3通道輸入,Condition網絡部分為4通道輸入。 要訓練D網絡並獲得Makeup gan loss需要從結果圖和目標圖中獲取各自的五官成分,借助人臉點即可crop出每個五官的矩形框,再用mask把非五官區域與掉就得到五官成分。 每個D網絡可以得到一個gan loss,這樣就可以得到3個gan loss,即Eyebrow gan loss、Eye gan loss和Lip gan loss。 把3個loss加起來就是本方案的Makeup gan loss。

結語

MTlab自主研發的基於DL的MakeupGan(Makeup Generative Adversarial Networks)網絡架構,不僅可以將無妝容的人物圖片遷移處理為有妝容的圖片,還可以將有妝容的人物圖片遷移為無妝容的圖片,甚至還可以在不同妝容圖片間相互遷移。 當前該技術可以處理圖像數據,幫助用戶簡單變美,

除了妝容遷移,MTlab已通過美圖AI開放平台(ai.meitu.com)對外開放了數十種計算機視覺相關技術,提供經市場驗證的專業AI算法服務和解決方案。 未來MTlab還將繼續探索基於視頻數據的趣味玩法,並將通過美圖AI開放平台對外應用。

參考文獻:
[1] 姜偉,劉勝,高超,等。 PSGAN:用於自定義化妝轉移的姿勢和表情穩健的空間感知GAN[C]// 2020年IEEE / CVF計算機視覺和模式識別(CVPR)會議。 IEEE,2020。
[2] Wang X,Yu K,Dong C等。 通過深度空間特徵變換在圖像超分辨率中恢復逼真的紋理[C]// 2018年IEEE / CVF計算機視覺和模式識別會議(CVPR)。 IEEE,2018年。
[3] 李濤,錢如,董成,等。 BeautyGAN:通過深度生成對抗網絡進行實例級面部化妝轉移[C]//第26屆ACM多媒體國際會議論文集。 2018。
[4] 樸婷,劉敏,王婷,等。 具有空間自適應歸一化的語義圖像合成[C]// 2019 IEEE / CVF計算機視覺和模式識別會議(CVPR)。 IEEE,2020。
[5] Chen H,Hui K,Wang S等。 BeautyGlow:具有可逆生成網絡的按需化妝傳輸框架[C]// 2019 IEEE / CVF計算機視覺和模式識別(CVPR)會議。 IEEE,2019年。