抖音超900萬人在用的「卡通臉」特效技術(shù)揭秘
說到特效玩法,抖音的 “整活兒” 能力一直有目共睹。最近,風(fēng)頭正勁的是一款「卡通臉」特效。無論男女老少,用上這款特效后,都仿佛從迪士尼動畫里走出來的人物一樣靈動可愛?!缚ㄍ槨挂唤?jīng)上線,在抖音上迅速發(fā)酵,深受用戶喜愛,“一鍵變身高甜卡通臉 ”“全抖音的在逃公主都來了”“用卡通臉花式曬娃 ”“王子公主撒糖手勢舞”“捕捉童話魔法失靈瞬間” 等相關(guān)熱點不斷衍生,其中,“全抖音的在逃公主都來了”“捕捉童話魔法失靈瞬間” 更是登上了抖音全國熱點榜。目前,這一特效的使用人數(shù)已經(jīng)超過 900w。
「卡通臉」屬于 3D 風(fēng)格特效,這類特效的研發(fā)難點主要集中在多樣性的 CG 訓(xùn)練數(shù)據(jù)不易獲取、靈動的表情神態(tài)難以還原、真實貼合的立體膚質(zhì)光影難以實現(xiàn)、夸張強(qiáng)風(fēng)格的五官形變 GAN 不易學(xué)習(xí)等多個方面。對此,字節(jié)跳動智能創(chuàng)作團(tuán)隊在 3D 風(fēng)格化方向重點突破優(yōu)化,不僅解決了上述所有難題,還沉淀了一套通用的技術(shù)解決方案。
「卡通臉」背后的研發(fā)流程創(chuàng)新
過去,一個完整的 3D 風(fēng)格化研發(fā)流程分為以下幾個模塊:
搜集若干原始風(fēng)格圖片 -> 訓(xùn)練 StyleGan 大模型 -> 生成成對數(shù)據(jù) -> 人工挑選可用成對數(shù)據(jù) + 設(shè)計師 P 圖優(yōu)化 -> 訓(xùn)練 p2p 小模型,然后不停反復(fù)。
傳統(tǒng)的研發(fā)流程的問題非常明顯:迭代周期長,設(shè)計師可參與度弱,且不易于沉淀和復(fù)用。
在「卡通臉」這個特效的研發(fā)中,字節(jié)跳動智能創(chuàng)作團(tuán)隊采用了創(chuàng)新的研發(fā)流程:
從設(shè)計師制作目標(biāo)風(fēng)格效果開始,設(shè)計師按照算法約定的要求提供一些3D美術(shù)素材,然后字節(jié)跳動智能創(chuàng)作團(tuán)隊借助DCC軟件批量渲染若干多樣性的CG數(shù)據(jù),在渲染過程中技術(shù)團(tuán)隊首次引入時下最火的AIGC技術(shù)對數(shù)據(jù)做了增強(qiáng)處理,之后用GAN合成訓(xùn)練所需的成對數(shù)據(jù),最后采用自研的形變pix2pix模型訓(xùn)練就可以得到最終效果。
字節(jié)跳動智能創(chuàng)作團(tuán)隊「卡通臉」的研發(fā)流程圖
從流程鏈路可以看出,這一方法大大縮減了迭代周期,提高了自動化程度,也讓設(shè)計師有更高的參與度,實踐顯示,創(chuàng)新的工程鏈路將迭代周期從 6 個月縮減至 1 個月,方案也更易于沉淀和復(fù)用。
「卡通臉」特效是怎么設(shè)計出來的
如今在社交媒體上有越來越多的變身特效,人們越來越注重特效的美觀性和精確度,為了讓用戶更好地實現(xiàn)風(fēng)格化變身的效果,抖音特效的設(shè)計師們經(jīng)過精心研究,結(jié)合了熱門動畫畫風(fēng),創(chuàng)新地設(shè)計了一套卡通臉特效,讓用戶可以體驗到動畫般靈動的角色風(fēng)格,同時滿足了用戶的變美變帥需求。
抖音特效設(shè)計師針對目前市場上現(xiàn)有的變身特效進(jìn)行了深入研究,發(fā)現(xiàn)現(xiàn)有的特效存在風(fēng)格不夠吸引人、表情夸張度不足、燈光效果不夠真實等問題。因此,抖音特效設(shè)計師結(jié)合國內(nèi)審美,重新設(shè)計了卡通臉的畫風(fēng),將男女面部比例特征夸張化,重構(gòu)成可愛圓臉五官靈巧的 “女孩” 和硬朗長臉五官帥氣的 “男生”。在這一過程中,設(shè)計師保留了用戶本身的頭發(fā),增強(qiáng)了頭發(fā)的蓬松感及光澤度,使其與卡通臉的融合更加自然,卡通質(zhì)感的皮膚也融入了用戶本人皮膚的細(xì)節(jié),使特效更具有用戶的個性特征。
此外,抖音特效的設(shè)計師還定義了不同燈光下的光影質(zhì)感,滿足復(fù)雜場景下的燈光還原的需求,使卡通臉更加立體且自然,融入日常自拍無違和感。最后,設(shè)計師還制作了夸張符號化的面部表情,通過對數(shù)字人資產(chǎn)采用面部捕捉技術(shù)生成表情 CG 數(shù)據(jù),不斷完善訓(xùn)練數(shù)據(jù)和算法,產(chǎn)出了能夠更加靈動展現(xiàn)用戶個性的表情效果。
自建 CG 合成數(shù)據(jù)流,高質(zhì)量訓(xùn)練數(shù)據(jù)可復(fù)用
3D 風(fēng)格類特效的訓(xùn)練數(shù)據(jù)來源依賴高質(zhì)量的 CG 渲染數(shù)據(jù),且對數(shù)據(jù)分布的多樣性要求比較高,同時 3D 資產(chǎn)手動建模也是一個非常耗費人力的過程,可復(fù)用性也不足,往往一個項目花費了昂貴的人力時間成本制作了一批 3D 資產(chǎn),在項目結(jié)束后就完全廢棄了。
此次,字節(jié)跳動智能創(chuàng)作團(tuán)隊搭建了一套通用易擴(kuò)展的 CG 合成數(shù)據(jù)工作流。
字節(jié)跳動智能創(chuàng)作團(tuán)隊 CG 合成數(shù)據(jù)流的流程圖
這一合成數(shù)據(jù)流的工作流程如下:
1. 通過 Houdini 程序化的生成數(shù)字資產(chǎn),程序化捏臉,綁骨,調(diào)整權(quán)重等,建立真實感數(shù)字人模型資產(chǎn)庫。
多樣性 3D 數(shù)字資產(chǎn)
2. 通過 Houdini 的 Solaris 構(gòu)建 USD 模板,將頭發(fā),毛發(fā),頭模,服飾,表情系數(shù)等資產(chǎn)分別以 USD reference 導(dǎo)入。
皮膚貼圖樣本
虹膜貼圖樣本
3. 通過 Houdini 的 PDG 對資產(chǎn),相機(jī)角度,燈光環(huán)境等進(jìn)行隨機(jī)組合。利用 PDG 對 workitem 的控制,精準(zhǔn)的控制數(shù)據(jù)分布。
自動化的 PDG 節(jié)點圖
由于研發(fā)過程需要頻繁提供大量的渲染數(shù)據(jù)用于效果迭代,這需要花費大量算力成本以及渲染等待時間。此前,抖音的「魔法變身」特效上,團(tuán)隊曾花費了數(shù)百萬成本使用外部農(nóng)場用于數(shù)據(jù)渲染。而在「卡通臉」特效上,團(tuán)隊基于字節(jié)跳動旗下云平臺火山引擎扎實的基礎(chǔ)設(shè)施,大大降低了算力成本。
字節(jié)跳動智能創(chuàng)作團(tuán)隊參考影視工業(yè)的流程,搭建了一套自研的渲染農(nóng)場平臺。它可以將離線任務(wù)拆解到若干個渲染機(jī)器上進(jìn)行并行處理。通過火山引擎鏡像平臺進(jìn)行鏡像托管、資源池化平臺進(jìn)行資源申請與釋放、cpu/gpu 集群進(jìn)行容器動態(tài)擴(kuò)縮容,再使用 nas 進(jìn)行資產(chǎn)管理,渲染農(nóng)場具備了一鍵擴(kuò)充數(shù)千個渲染節(jié)點進(jìn)行高效計算的能力。
基于此,字節(jié)跳動智能創(chuàng)作團(tuán)隊自定義了單任務(wù)處理邏輯,包括前處理、引擎渲染、后處理等步驟。并根據(jù)需要,在任何時候動態(tài)擴(kuò)展 / 縮小集群規(guī)模以最大化利用算力資源。
為了進(jìn)一步提高效率,讓設(shè)計師更方便參與到效果優(yōu)化中,技術(shù)團(tuán)隊還制作了飛書小程序供設(shè)計師使用,通過飛書觸發(fā)云端的自動化流程來迭代美術(shù)效果,在云端任務(wù)完成后,會發(fā)送消息回到飛書供設(shè)計師查看,大大提高了設(shè)計師工作的效率。
同時,字節(jié)跳動智能創(chuàng)作團(tuán)隊自定義了事件驅(qū)動(EventTrigger)和 Api 來打通農(nóng)場、飛書平臺以及云桌面平臺,最大程度推進(jìn) All in one 理念,讓設(shè)計師和工程師都能基于飛書和云桌面更方便地完成協(xié)同研發(fā)。
自研的渲染農(nóng)場平臺
AIGC 新技術(shù)的應(yīng)用
隨著 DALL?E 的問世,2021 年初字節(jié)跳動智能創(chuàng)作團(tuán)隊就開始了相關(guān)技術(shù)的跟進(jìn)和規(guī)劃,字節(jié)跳動智能創(chuàng)作團(tuán)隊在 Stable Diffusion 開源模型的基礎(chǔ)上,構(gòu)建了數(shù)據(jù)量達(dá)十億規(guī)模的數(shù)據(jù)集,訓(xùn)練出兩個模型,一個是通用型的模型 Diffusion Model,可以生成如油畫、水墨畫風(fēng)格的圖片;另外一個是動漫風(fēng)格的 Diffusion Model 模型。
前不久,由字節(jié)跳動智能創(chuàng)作團(tuán)隊支持的「AI 繪畫」特效在抖音上大火,采用的就是這一新技術(shù)。此次在抖音「卡通臉」上,技術(shù)團(tuán)隊進(jìn)一步挖掘 Diffusion Model 在 3D 卡通風(fēng)格上的生成能力,采用了圖片生成圖片的策略,首先對圖片進(jìn)行加噪,然后再用訓(xùn)練好的文生圖模型在文本的引導(dǎo)下去噪?;谝粋€預(yù)訓(xùn)練好的 Stable Diffusion 模型,輸入 GAN 生成的與真人圖相匹配的目標(biāo) 3D 風(fēng)格結(jié)果圖,通過精調(diào)過的一組文本關(guān)鍵詞,引導(dǎo)目標(biāo)風(fēng)格往期望的方向靠近,Stable Diffusion 輸出的結(jié)果即作為最終數(shù)據(jù)交給后續(xù)的 GAN 模型學(xué)習(xí)。
自研的形變 GAN 模型
由于抖音「卡通臉」的目標(biāo)風(fēng)格與原始人像相比有較大形變,直接用傳統(tǒng) p2p 框架難以訓(xùn)練出高質(zhì)量效果,字節(jié)跳動智能創(chuàng)作團(tuán)隊自研了一套 p2p 形變 GAN 訓(xùn)練框架,對于訓(xùn)練大形變、強(qiáng)風(fēng)格的卡通目標(biāo)有很好的效果。字節(jié)跳動智能創(chuàng)作團(tuán)隊自研的形變 GAN 訓(xùn)練框架包含兩個部分:
1、風(fēng)格化初步訓(xùn)練,提取卡通臉風(fēng)格化信息。技術(shù)團(tuán)隊構(gòu)建了一個風(fēng)格化信息交互融合的非配對訓(xùn)練框架,將真人和卡通臉數(shù)據(jù)集輸入到該框架就可以提取卡通臉風(fēng)格化信息。該框架是一個端到端的訓(xùn)練框架,包含了風(fēng)格化特征編碼、特征融合、重建訓(xùn)練和風(fēng)格化初步訓(xùn)練,訓(xùn)練完成后得到一個卡通臉風(fēng)格化信息,用于下一步精細(xì)化訓(xùn)練。
2、融合卡通臉風(fēng)格化信息,精細(xì)訓(xùn)練。由第一步得到的卡通臉風(fēng)格化信息包含了風(fēng)格和形變等信息,將這部分信息融合到真人圖進(jìn)行精細(xì)化訓(xùn)練,利用 p2p 相關(guān)的強(qiáng)監(jiān)督 loss 進(jìn)行配對訓(xùn)練,訓(xùn)練收斂后得到卡通臉模型。
基于以上創(chuàng)新的技術(shù)方案,抖音「卡通臉」不僅簡化了工程鏈路、大幅提升迭代效率,還在大角度、表情豐富度、效果風(fēng)格還原、光影一致性和多膚色匹配等方面取得了明顯的優(yōu)化效果。據(jù)了解,負(fù)責(zé)「卡通臉」項目的字節(jié)跳動智能創(chuàng)作團(tuán)隊自 2021 年以來就在 3D 風(fēng)格化方向重點突破優(yōu)化,該技術(shù)方案已支持多款 3D 風(fēng)格特效取得平臺爆款的成績。
關(guān)于字節(jié)跳動智能創(chuàng)作團(tuán)隊:?
智能創(chuàng)作團(tuán)隊是字節(jié)跳動 AI & 多媒體技術(shù)中臺,通過建設(shè)領(lǐng)先的計算機(jī)視覺、音視頻編輯、特效處理等技術(shù),支持抖音、剪映、頭條等公司內(nèi)眾多產(chǎn)品線;同時通過火山引擎為外部 ToB 合作伙伴提供業(yè)界前沿的智能創(chuàng)作能力與行業(yè)解決方案。