天天看點

你也可以擁有「宋慧喬妝」,美圖MakeupGan妝容遷移算法開啟個性化妝容時代

你也可以擁有「宋慧喬妝」,美圖MakeupGan妝容遷移算法開啟個性化妝容時代

虛拟試妝技術一直是美妝、美顔市場最重要的技術之一。目前該領域流行的主流技術為傳統素材貼妝,該技術指由專業設計師按指定格式設計好妝容素材,再利用人臉關鍵點檢測把妝容素材貼到對應的五官位置上。

MTlab 研究發現,這類技術存在兩個明顯不足:一,需要專業設計師設計妝容素材,限制大,使用者不能自由選擇自己喜歡的妝容;二,妝容素材直接貼在五官上,浮于表面,很多時候看起來不夠真實。

由于傳統貼妝技術的不足,目前市場上的虛拟試妝相關業務還很難滿足大多數使用者的需求,為了改變這一局面,MTlab 自主研發了一套全新妝容遷移技術。

具體而言,MTlab 自主研發一種基于深度學習的 MakeupGan(Makeup Generative Adversarial Networks)網絡架構,并推出了一種革新 AI 算法——妝容遷移(Makeup Transfer)。

該算法支援使用者自由選取心儀模特妝容并遷移到自己臉上,不僅可以遷移眼影、眉毛、口紅等基礎妝容,還可遷移美瞳、卧蠶、睫毛、五官立體、亮片閃片等細膩細節。遷移效果清晰、自然。

目前,美圖旗下美顔相機 APP 已上線基于 MakeupGan 妝容遷移算法的功能——「一鍵仿妝」,使用者可上傳自己的照片,選擇心儀的模特妝容進行仿妝操作。

美圖「一鍵仿妝」現共有 60 個模特妝容可供選擇,妝容風格各有不同,如又純又欲的果凍妝、複古少女、奶油桃花妝等等。此外,更多妝容還在持續更新中。

我們首先來實測使用者圖像的實際仿妝效果,這裡選擇的妝容風格是「複古櫻桃妝」。

你也可以擁有「宋慧喬妝」,美圖MakeupGan妝容遷移算法開啟個性化妝容時代

圖左:選擇的模特妝容;圖右:測試用的目标圖像。

使用者首先選中想仿的模特妝容,點選「仿妝」選擇目标圖像。美圖提供有三種圖像風格,分别為經典、原生和 MEN,下圖選擇的是經典圖像風格;然後,點選「編輯」可實作目标圖像的自動美化處理,這時使用者可選擇「開啟高清」,可提升目标圖像的肌膚光澤并還原立體五官。下圖沒有選擇開啟高清;最後點選确認即可生成仿妝後的圖像。

你也可以擁有「宋慧喬妝」,美圖MakeupGan妝容遷移算法開啟個性化妝容時代

圖左:模特妝容;圖中:美化處理後的目标圖像;圖右:仿妝後的目标圖像。

對于仿妝後的目标對象,使用者可以自定義「妝容程度」,實作妝容由淡漸濃。

最後,使用者也可上傳自己想要仿的任何妝容。這裡選擇了網絡上流行的「宋慧喬妝」,仿妝效果如下所示:

你也可以擁有「宋慧喬妝」,美圖MakeupGan妝容遷移算法開啟個性化妝容時代

接下來詳細解讀妝容遷移技術的研究現狀、解決方案以及 MTlab 的全新妝容遷移算法。

妝容遷移技術研究現狀

妝容遷移是指将目标圖上的妝容直接遷移到原圖上的技術。相比傳統貼妝技術,妝容遷移具有極高的自由度,它可以讓使用者不再局限于設計師設計好的妝容,而是可以自主、任意地從真實模特圖中擷取妝容,極大地豐富了妝容的多樣性。

此外,妝容遷移技術不僅可以遷移五官妝容資訊,還可以對膚色、光影等資訊進行整體遷移。再加上妝容資訊直接來源于真實模特圖,是以該技術可以很好地保持妝容的真實度。

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

  • 一是原圖和目标圖五官位置和姿态都不固定,如何讓網絡感覺不同位置上的妝容資訊?
  • 二是該任務很難擷取真實環境中的一對一資料,如何讓網絡正确監督學習?

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

對于問題 1,主要采用的解決辦法是:設計一種映射和反映射機制(也可以設計網絡結構來實作這樣的映射),将原圖像特征映射為 identity feature 和 makeup feature,這樣原圖的 identity feature 可以和目标圖的 makeup feature 進行組合,将組合特征反映射為圖像特征就可以顯式地讓網絡更好地感覺妝容資訊;

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

研究者們的創新方案收獲了很多成果。目前,對于原圖和目标圖姿态比較接近且膚色差異較小的情況下,很多研究方案都能比較好地遷移五官妝容的顔色資訊。

然而,對于真實使用者複雜多變的環境(複雜姿态、複雜光照、複雜妝容等)以及更多細膩細節的遷移需求(睫毛、眼瞳、亮片閃片等),妝容遷移技術依然面臨着很大挑戰。

針對妝容遷移技術的諸多挑戰,MTlab 的 MakeupGan 妝容遷移算法應運而生了。

美圖 MakeupGan 妝容遷移方案技術詳解

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

  1. 魯棒性:不僅在姿态和膚色差異不大的情況下有穩定效果,還要保證在複雜姿态、多變光照、特殊妝容的場景下依然能保持較好效果;
  2. 全面性:不僅能遷移眼影、眉毛、口紅等顔色資訊,還需要遷移睫毛、美瞳、卧蠶、亮片閃片等較為精确的細節資訊。

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

你也可以擁有「宋慧喬妝」,美圖MakeupGan妝容遷移算法開啟個性化妝容時代

MakeupGan 妝容遷移方案流程圖。

圖中所展示的流程主要包括:姿态矯正子產品、G 網絡子產品和訓練 Loss 子產品,其中訓練 Loss 子產品裡還包括了 MakeupGan 子產品。在這幾個子產品中,姿态矯正和 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妝容遷移算法開啟個性化妝容時代

姿态矯正子產品的詳細流程繪制如下:

你也可以擁有「宋慧喬妝」,美圖MakeupGan妝容遷移算法開啟個性化妝容時代

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

MakeupGan 子產品

MakeupGan 子產品的詳細流程繪制如下:

你也可以擁有「宋慧喬妝」,美圖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 網絡架構,不僅可以将無妝容的人物圖檔遷移處理為有妝容的圖檔,還可以将有妝容的人物圖檔遷移為無妝容的圖檔,甚至還可以在不同妝容圖檔間互相遷移。目前該技術可以處理圖像資料,幫助使用者簡單變美。

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

參考文獻 

[1] Jiang W, Liu S, Gao C, et al. PSGAN: Pose and Expression Robust Spatial-Aware GAN for Customizable Makeup Transfer[C]// 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020.[2] Wang X, Yu K, Dong C, et al. Recovering Realistic Texture in Image Super-Resolution by Deep Spatial Feature Transform[C]// 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2018.[3] Li T, Qian R, Dong C, et al. BeautyGAN: Instance-level Facial Makeup Transfer with Deep Generative Adversarial Network[C]// Proceedings of the 26th ACM international conference on Multimedia. 2018.[4] Park T, Liu M, Wang T, et al. Semantic Image Synthesis With Spatially-Adaptive Normalization[C]// 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020.[5] Chen H, Hui K, Wang S, et al. BeautyGlow: On-Demand Makeup Transfer Framework With Reversible Generative Network[C]// 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019.

繼續閱讀