移動端人臉風格化技術的應用
前言
隨著元宇宙、數(shù)字人、虛擬形象等概念的爆發(fā),各種數(shù)字化協(xié)同互動的泛娛樂應用也在不斷的落地。例如,在一些游戲中,玩家成為虛擬藝人參與到高還原度的現(xiàn)實藝人日常工作中,并會在特定情況下,與虛擬藝人在人臉表情等層面上形成強映射提升參與感。而由阿里巴巴天貓推出的超寫實數(shù)字人AYAYI和井柏然聯(lián)合“帶逛”的雜志《MO Magazine》,則打破傳統(tǒng)的平面閱讀體驗,以虛實結合的形式讓讀者獲得沉浸式體驗。

而在這些泛娛樂應用場景中,“人”必然是首要考慮的一步。而人工設計的數(shù)字、動畫形象,存在過于“抽象”、代價高昂、缺乏個性化等問題。因此在人臉數(shù)字化上,我們通過研發(fā)具有良好控制感、ID感、風格化程度的人臉風格化技術,實現(xiàn)風格定制化的人臉形象切換。該項技術不僅可以在直播、短視頻等娛樂消費場景下作為氛圍營造、提高觀感的有效手段,也可在買家秀等圖文場景下起到人臉隱私保護、增添樂趣等作用。更進一步的想象,若不同的用戶聚集在某個數(shù)字社區(qū)內(nèi),用該社區(qū)風格的數(shù)字形象聊天社交(例如“雙城之戰(zhàn)吧”的用戶在元宇宙內(nèi)用雙城之戰(zhàn)風格化形象友好交流),那是多具有代入感的事情。

雙城之戰(zhàn)動畫

左圖為原始AYAYI的形象,右圖為風格化后的形象。
而為了將人臉風格化這項技術落地到我們的直播、買家秀、賣家秀等不同的泛娛樂業(yè)務場景,我們做到了:
- 低成本生產(chǎn)不同人臉風格化編輯的模型(本文所展示的所有效果均在沒有任何設計資源的投入下實現(xiàn)的);
 - 適當進行風格編輯以配合設計、產(chǎn)品、運營進行風格選型;
 - 能夠在人臉I(yè)D感和風格化程度之間做傾斜與平衡;
 - 保證模型的泛化性,以適用于不同的人臉、角度、場景環(huán)境;
 - 在保證清晰度等效果的前提下,降低模型對算力的要求。
 
接下來,我們先看一下demo,然后再介紹我們整個技術流程:感謝我們的產(chǎn)品mm——多菲~
我們的整體算法方案采用三個階段:
- 階段一:基于StyleGAN的風格化數(shù)據(jù)生成;
 - 階段二:非監(jiān)督圖像翻譯生成配對圖像;
 - 階段三:使用配對圖像進行移動端有監(jiān)督圖像翻譯模型的訓練。
 

人臉風格化編輯整體算法方案
當然,也可以用二階段方案:StyleGAN制作pair圖像對,然后直接訓練有監(jiān)督小模型。但增加非監(jiān)督圖像翻譯階段,可以將風格化數(shù)據(jù)生產(chǎn)和配對圖像數(shù)據(jù)制作兩個任務解耦開來,通過對階段內(nèi)算法、階段間數(shù)據(jù)的優(yōu)化改進,結合移動端有監(jiān)督小模型訓練,最終解決低成本的風格化模型生產(chǎn)、風格的編輯及選型、ID感及風格化的傾斜、部署模型的輕量化等問題。
基于StyleGAN的數(shù)據(jù)生成
使用StyleGAN算法進行數(shù)據(jù)生成的工作上,主要針對3個問題的解決:
- 提升模型的生成數(shù)據(jù)豐富度和風格化程度:例如生成CG臉更像CG,且各個角度、表情、發(fā)型等形象更豐富;
 - 提升數(shù)據(jù)生成效率:生成的數(shù)據(jù)良率高、分布更加可控;
 - 風格編輯及選型:例如修改CG臉的眼睛大小。
 
下面我們針對這三方面展開。
? 豐富度和風格化
基于StyleGAN2-ADA的遷移學習遇到的第一個重要問題就是:模型的豐富度和模型的風格化程度之間的trade-off。使用訓練集
進行遷移學習時,受訓練集數(shù)據(jù)的豐富度影響,遷移后的模型在人臉表情、人臉角度、人臉元素等方面的豐富度也會受損;同時,隨著遷移訓練的迭代代數(shù)增加、模型風格化程度/FID的提升,模型豐富度也會越低。這會使得后續(xù)應用模型生成的風格化數(shù)據(jù)集分布過于單調(diào),不利于U-GAT-IT的訓練。
為了提升模型的豐富度,我們進行了如下改進:
- 調(diào)整、優(yōu)化訓練數(shù)據(jù)集的數(shù)據(jù)分布;
 - 模型融合:因為源模型在大量數(shù)據(jù)上進行訓練,所以源模型的生成空間具有非常高的豐富度;如果將遷移模型低分辨率層的權重替換為源模型對應層權重得到融合模型,則可使得新模型的生成圖像在大的元素/特征上的分布與源模型一致,從而在低分辨率特征上獲得與源模型一致的豐富度;
 

融合方式:Swap layer直接交換不同層的參數(shù),容易造成生成圖像的不協(xié)調(diào)、細節(jié)bad cases;而通過平滑的模型插值,可以獲得更好的生成效果(下面的圖示皆由插值融合方式的融合模型生成的)
- 對不同層的學習率以及特征進行約束、優(yōu)化調(diào)整;
 - 迭代優(yōu)化:人工篩選新生產(chǎn)的數(shù)據(jù),添加到原風格化數(shù)據(jù)集中以提升豐富度,然后在迭代訓練優(yōu)化直到得到一個能生成較高豐富度、滿意風格化程度的模型。
 

?原圖,遷移模型,融合模型
? 數(shù)據(jù)生成效率
如果我們擁有一個豐富度高的StyleGAN2模型,那如何生成一個具有豐富分布的風格數(shù)據(jù)集呢?有兩個做法:
- 隨機采樣隱變量,生成隨機風格數(shù)據(jù)集;
 - 使用StyleGAN inversion,輸入符合一定分布的人臉數(shù)據(jù),制作對應的風格數(shù)據(jù)集。
 
做法1可以提供更豐富的風格化數(shù)據(jù)(特別是背景的豐富度),而做法2可以提高生成數(shù)據(jù)的有效性和提供一定程度的分布控制,提升風格化數(shù)據(jù)生產(chǎn)效率。

原始圖像,StyleGAN Inversion得到的隱向量送入“高級臉風格/動畫風格” StyleGAN2生成器得到的圖像
? 風格編輯及選型
原始風格不太好看是就沒法用了
遷移訓練后的模型風格就沒法改了
No No No,每一個模型不止可以用來生成數(shù)據(jù),也可沉淀為一個基礎組件、基礎能力。不止是想在原始風格上做微調(diào)、優(yōu)化,甚至是想創(chuàng)造新的風格,都是可以的:
- 模型融合:通過融合多個模型、設置不同的融合參數(shù)/層數(shù)、使用不同的融合方式等,可以實現(xiàn)對劣勢風格模型做優(yōu)化,也可實現(xiàn)風格的調(diào)整;
 - 模型套娃:將不同風格的模型串聯(lián),使得最終輸出的風格攜帶了中間模型的一些五官、色調(diào)等風格特征。
 

融合過程中實現(xiàn)對漫畫風格的微調(diào)(瞳孔顏色、嘴唇、膚色色調(diào)等)
通過風格創(chuàng)造及微調(diào),可以實現(xiàn)不同風格的模型,從而實現(xiàn)不同風格人臉數(shù)據(jù)的生產(chǎn)。

通過基于StyleGAN的遷移學習、風格編輯優(yōu)化、數(shù)據(jù)生成,我們便可以獲得我們的第一桶金??:具有較高豐富度的、1024×1024分辨率的、風格選型后的風格化數(shù)據(jù)集。
基于非監(jiān)督圖像翻譯的配對數(shù)據(jù)制作
非監(jiān)督圖像翻譯技術通過學習兩個域之間的映射關系,可以將一個域的圖像轉(zhuǎn)換到另一個域上,從而提供制作圖像對的可能。例如該領域出名的CycleGAN具有如下的結構:

CycleGAN主要框架
我在上文討論“模型豐富度”的時候說過:
這(低豐富度)會使得后續(xù)應用模型生成的風格化數(shù)據(jù)集分布過于單調(diào),不利于U-GAT-IT的訓練。
這是為什么么?因為CycleGAN的框架要求兩個域的數(shù)據(jù)要基本符合雙射關系,否則域
翻譯到域
后,就很容易發(fā)生語義丟失。而StyleGAN2 inversion生成的圖像存在一個問題,就是大部分的背景信息會丟失,變成簡單的、模糊的背景(當然,有一些最新的論文極大緩解了這個問題,例如騰訊AI Lab的High-Fidelity GAN Inversion)。如果使用數(shù)據(jù)集
和真實人臉數(shù)據(jù)集
直接訓練U-GAT-IT,就很容易發(fā)生數(shù)據(jù)集
生成的對應圖像
的背景丟失大量語義信息,導致很難形成有效的圖像對。
于是針對此提出了改進U-GAT-IT以實現(xiàn)固定背景的兩種方式:基于增加背景約束的Region-based U-GAT-IT算法改進,基于增加掩膜分支的Mask U-GAT-IT算法改進。這兩種方式存在ID感和風格化程度強弱和均衡的差異,結合超參的調(diào)整,為我們的ID感和風格化提供了一個控制余地。同時,我們也進行網(wǎng)絡結構改進、模型EMA、邊緣提升等手段進一步提升生成效果。

左為原圖,中間和右邊是非監(jiān)督圖像翻譯的生成效果,差異在于對算法進行了ID感和風格化程度的控制
最終,使用訓練好的生成模型對真人圖像數(shù)據(jù)集進行推理翻譯得到對應的配對風格化數(shù)據(jù)集。
有監(jiān)督圖像翻譯
基于MNN不同算子及模塊在移動端上的計算效率的研究,進行 移動端模型結構設計 及 模型計算量分檔,并結合對CartoonGAN、AnimeGAN、pix2pix等研究的改進,最終得到了 輕量、高清晰度、高風格化程度的移動端模型:
模型  | 清晰度↑  | FID↓  | 
Pixel-wise Loss  | 3.44  | 32.53  | 
+Perceptual loss + GAN Loss  | 6.03  | 8.36  | 
+Edge-promoting  | 6.24  | 8.09  | 
+Data Augmentation  | 6.57  | 8.26  | 
*清晰度使用 拉普拉斯梯度值求和 作為統(tǒng)計指標

有監(jiān)督圖像翻譯模型整體訓練框架
在移動端上實現(xiàn)實時的變臉效果:
展望
- 優(yōu)化數(shù)據(jù)集:不同角度圖像數(shù)據(jù)、質(zhì)量優(yōu)化;
 - 整體鏈路的優(yōu)化、改進、重設計;
 - 更好的數(shù)據(jù)生成:StyleGAN3、Inversion算法、模型融合、風格編輯/創(chuàng)造、few-shot;
 - 非監(jiān)督兩域翻譯:利用較高匹配度的生成數(shù)據(jù)對做半監(jiān)督,生成模型結構優(yōu)化(例如引入傅里葉卷積);
 - 有監(jiān)督兩域翻譯:vid2vid 、幀間穩(wěn)定性提升、極限場景的優(yōu)化、細節(jié)的穩(wěn)定性;
 - 全圖風格化/數(shù)字創(chuàng)作:disco diffusion、dalle2,style transfer。
 















 
 
 





 
 
 
 