首頁女人 > 正文

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

2022-05-15由 機器之心 發表于 女人

機器之心釋出

機器之心編輯部

不僅完美地遷移眼影、眉毛、口紅等基礎妝容,而且能很好地處理美瞳、睫毛、臥蠶等細膩細節,美圖影像實驗室(MTlab)自主研發的這個全新妝容遷移演算法可以令愛美的你嘗試各種型別和風格的模特妝容,最終找到適合自己的完美妝容。

你也可以擁有“宋慧喬妝”,美圖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 妝容遷移方案技術詳解

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

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

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

MTlab 突破技術瓶頸,

提出了 MakeupGan 妝容遷移方案,較好地解決了上述兩個問題,並率先將技術落地到實際產品中

。核心流程如下圖所示:

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

MakeupGan 妝容遷移方案流程圖。

圖中所展示的流程主要包括:

姿態矯正模組、G 網路模組和訓練 Loss 模組,其中訓練 Loss 模組裡還包括了 MakeupGan 模組

。在這幾個模組中,姿態矯正和 MakeupGan 模組是本方案的核心創新模組。

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

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

透過 MTlab 自主研發的五官分割演算法將原圖和目標圖的眉毛、眼睛、嘴唇和面板分割出來作為後續模組的輸入;

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

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

將實際裁好後的圖輸入訓練好的 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 網路架構,

不僅可以將無妝容的人物圖片遷移處理為有妝容的圖片,還可以將有妝容的人物圖片遷移為無妝容的圖片

,甚至還可以在不同妝容圖片間相互遷移

。當前該技術可以處理影象資料,幫助使用者簡單變美。

參考文獻

[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。

如何根據任務需求搭配恰當型別的資料庫?

在AWS推出的白皮書《進入專用資料庫時代》中,介紹了8種資料庫型別:關係、鍵值、文件、記憶體中、關係圖、時間序列、分類賬、領域寬列,並逐一分析了每種型別的優勢、挑戰與主要使用案例。

頂部