移動端人臉風格化技術(shù)的應(yīng)用
前言
隨著元宇宙、數(shù)字人、虛擬形象等概念的爆發(fā),各種數(shù)字化協(xié)同互動的泛娛樂應(yīng)用也在不斷的落地。例如,在一些游戲中,玩家成為虛擬藝人參與到高還原度的現(xiàn)實藝人日常工作中,并會在特定情況下,與虛擬藝人在人臉表情等層面上形成強映射提升參與感。而由阿里巴巴天貓推出的超寫實數(shù)字人AYAYI和井柏然聯(lián)合“帶逛”的雜志《MO Magazine》,則打破傳統(tǒng)的平面閱讀體驗,以虛實結(jié)合的形式讓讀者獲得沉浸式體驗。
而在這些泛娛樂應(yīng)用場景中,“人”必然是首要考慮的一步。而人工設(shè)計的數(shù)字、動畫形象,存在過于“抽象”、代價高昂、缺乏個性化等問題。因此在人臉數(shù)字化上,我們通過研發(fā)具有良好控制感、ID感、風格化程度的人臉風格化技術(shù),實現(xiàn)風格定制化的人臉形象切換。該項技術(shù)不僅可以在直播、短視頻等娛樂消費場景下作為氛圍營造、提高觀感的有效手段,也可在買家秀等圖文場景下起到人臉隱私保護、增添樂趣等作用。更進一步的想象,若不同的用戶聚集在某個數(shù)字社區(qū)內(nèi),用該社區(qū)風格的數(shù)字形象聊天社交(例如“雙城之戰(zhàn)吧”的用戶在元宇宙內(nèi)用雙城之戰(zhàn)風格化形象友好交流),那是多具有代入感的事情。
雙城之戰(zhàn)動畫
左圖為原始AYAYI的形象,右圖為風格化后的形象。
而為了將人臉風格化這項技術(shù)落地到我們的直播、買家秀、賣家秀等不同的泛娛樂業(yè)務(wù)場景,我們做到了:
- 低成本生產(chǎn)不同人臉風格化編輯的模型(本文所展示的所有效果均在沒有任何設(shè)計資源的投入下實現(xiàn)的);
- 適當進行風格編輯以配合設(shè)計、產(chǎn)品、運營進行風格選型;
- 能夠在人臉I(yè)D感和風格化程度之間做傾斜與平衡;
- 保證模型的泛化性,以適用于不同的人臉、角度、場景環(huán)境;
- 在保證清晰度等效果的前提下,降低模型對算力的要求。
接下來,我們先看一下demo,然后再介紹我們整個技術(shù)流程:感謝我們的產(chǎn)品mm——多菲~
我們的整體算法方案采用三個階段:
- 階段一:基于StyleGAN的風格化數(shù)據(jù)生成;
- 階段二:非監(jiān)督圖像翻譯生成配對圖像;
- 階段三:使用配對圖像進行移動端有監(jiān)督圖像翻譯模型的訓(xùn)練。
人臉風格化編輯整體算法方案
當然,也可以用二階段方案:StyleGAN制作pair圖像對,然后直接訓(xùn)練有監(jiān)督小模型。但增加非監(jiān)督圖像翻譯階段,可以將風格化數(shù)據(jù)生產(chǎn)和配對圖像數(shù)據(jù)制作兩個任務(wù)解耦開來,通過對階段內(nèi)算法、階段間數(shù)據(jù)的優(yōu)化改進,結(jié)合移動端有監(jiān)督小模型訓(xù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。使用訓(xùn)練集進行遷移學習時,受訓(xùn)練集數(shù)據(jù)的豐富度影響,遷移后的模型在人臉表情、人臉角度、人臉元素等方面的豐富度也會受損;同時,隨著遷移訓(xùn)練的迭代代數(shù)增加、模型風格化程度/FID的提升,模型豐富度也會越低。這會使得后續(xù)應(yīng)用模型生成的風格化數(shù)據(jù)集分布過于單調(diào),不利于U-GAT-IT的訓(xùn)練。
為了提升模型的豐富度,我們進行了如下改進:
- 調(diào)整、優(yōu)化訓(xùn)練數(shù)據(jù)集的數(shù)據(jù)分布;
- 模型融合:因為源模型在大量數(shù)據(jù)上進行訓(xùn)練,所以源模型的生成空間具有非常高的豐富度;如果將遷移模型低分辨率層的權(quán)重替換為源模型對應(yīng)層權(quán)重得到融合模型,則可使得新模型的生成圖像在大的元素/特征上的分布與源模型一致,從而在低分辨率特征上獲得與源模型一致的豐富度;
融合方式:Swap layer直接交換不同層的參數(shù),容易造成生成圖像的不協(xié)調(diào)、細節(jié)bad cases;而通過平滑的模型插值,可以獲得更好的生成效果(下面的圖示皆由插值融合方式的融合模型生成的)
- 對不同層的學習率以及特征進行約束、優(yōu)化調(diào)整;
- 迭代優(yōu)化:人工篩選新生產(chǎn)的數(shù)據(jù),添加到原風格化數(shù)據(jù)集中以提升豐富度,然后在迭代訓(xùn)練優(yōu)化直到得到一個能生成較高豐富度、滿意風格化程度的模型。
原圖,遷移模型,融合模型
? 數(shù)據(jù)生成效率
如果我們擁有一個豐富度高的StyleGAN2模型,那如何生成一個具有豐富分布的風格數(shù)據(jù)集呢?有兩個做法:
- 隨機采樣隱變量,生成隨機風格數(shù)據(jù)集;
- 使用StyleGAN inversion,輸入符合一定分布的人臉數(shù)據(jù),制作對應(yīng)的風格數(shù)據(jù)集。
做法1可以提供更豐富的風格化數(shù)據(jù)(特別是背景的豐富度),而做法2可以提高生成數(shù)據(jù)的有效性和提供一定程度的分布控制,提升風格化數(shù)據(jù)生產(chǎn)效率。
原始圖像,StyleGAN Inversion得到的隱向量送入“高級臉風格/動畫風格” StyleGAN2生成器得到的圖像
? 風格編輯及選型
原始風格不太好看是就沒法用了
遷移訓(xùn)練后的模型風格就沒法改了
No No No,每一個模型不止可以用來生成數(shù)據(jù),也可沉淀為一個基礎(chǔ)組件、基礎(chǔ)能力。不止是想在原始風格上做微調(diào)、優(yōu)化,甚至是想創(chuàng)造新的風格,都是可以的:
- 模型融合:通過融合多個模型、設(shè)置不同的融合參數(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ù)生成,我們便可以獲得我們的第一桶金