從34小時(shí)到30秒,給影視渲染降本提速,手機(jī)端也能實(shí)現(xiàn)(電影渲染軟件)
隨著3D技術(shù)的高速發(fā)展,影視渲染效果的復(fù)雜度、精細(xì)度都在逐步提升,但高質(zhì)量的渲染效果和時(shí)間成本往往難以兼顧。針對這一行業(yè)痛點(diǎn),字節(jié)跳動(dòng)智能創(chuàng)作團(tuán)隊(duì)基于AI技術(shù)的優(yōu)勢提出了「AI渲染」方案。這一方案現(xiàn)已在抖音落地實(shí)現(xiàn),可以基于AI和離線渲染技術(shù),加速渲染過程,提升渲染質(zhì)量,降低影視級渲染的享用成本,甚至在手機(jī)端實(shí)現(xiàn)影視級渲染效果。
未來, 這項(xiàng)技術(shù)能力也將通過火山引擎對外輸出,讓企業(yè)以更低成本享有更快、更好的AI渲染能力。
一直以來,抖音特效都因?yàn)槠浔普娴馁|(zhì)感和實(shí)時(shí)的交互性體驗(yàn)而受到用戶喜愛。這與其背后的實(shí)時(shí)渲染能力密不可分。
在過去,實(shí)時(shí)渲染受限于性能,難以渲染復(fù)雜的模型和材質(zhì),例如:折射、散射的材質(zhì),煙霧、泡沫等帶有體積感的材質(zhì),以及帶有自陰影的精細(xì)紋路等。因此,像視頻中這樣精細(xì)的渲染效果往往來自于離線渲染。離線渲染通過光線追蹤的方式能夠渲染出十分逼真的復(fù)雜效果,但是代價(jià)就是大量的耗時(shí)增加。
離線渲染效果VS實(shí)時(shí)渲染效果示意圖
整體而言,利用AI加速渲染是基于數(shù)據(jù)和神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法形成的自動(dòng)化的材質(zhì)生產(chǎn)鏈路,具有高度還原離線材質(zhì)、速度快、且能夠快速迭代的優(yōu)勢。目前,這一技術(shù)趨勢已經(jīng)初步顯現(xiàn),Nvidia、Adobe等各大公司都在研究AI渲染相關(guān)技術(shù)。
字節(jié)跳動(dòng)的「AI渲染」方案在渲染流程中,對所涉及的合成數(shù)據(jù)、神經(jīng)網(wǎng)絡(luò)渲染和整體方案等方面都進(jìn)行了優(yōu)化,體現(xiàn)出較好的性能表現(xiàn)。
通過學(xué)習(xí)高質(zhì)量材質(zhì),字節(jié)跳動(dòng)「AI渲染」可以提升移動(dòng)端效果,實(shí)現(xiàn)各種以前只在游戲電影中出現(xiàn)的特效,提升真實(shí)感和細(xì)膩度,促進(jìn)道具效果進(jìn)一步進(jìn)化;另外,通過對一些復(fù)雜的特效加速,達(dá)成節(jié)約影視渲染成本;
字節(jié)跳動(dòng)「AI渲染」流程圖
具體實(shí)現(xiàn)方案
合成數(shù)據(jù)——訓(xùn)練更好的AI模型
由于AI模型非常依賴數(shù)據(jù)進(jìn)行訓(xùn)練,數(shù)據(jù)的質(zhì)量和數(shù)量很大程度上會(huì)影響模型訓(xùn)練的好壞。很多影視作品都會(huì)采用DCC(Digital Content Create)和光追渲染引擎來生成合成數(shù)據(jù)、制作特效畫面,這種方法本身的渲染質(zhì)量和可控性較好,缺點(diǎn)就是渲染時(shí)長非常長,往往一幀圖片就需要渲染幾十上百小時(shí)。技術(shù)團(tuán)隊(duì)通過借助火山引擎邊緣渲染農(nóng)場的分布式計(jì)算能力,可將幾天的渲染時(shí)間減少到1、2個(gè)小時(shí)以內(nèi),讓算法模型可以快速實(shí)驗(yàn)和迭代。
為了獲得更合適的輸入數(shù)據(jù),技術(shù)團(tuán)隊(duì)將過程化材質(zhì)的一些核心渲染信息提取出來,根據(jù)圖形學(xué)原理進(jìn)行組合,然后作為分層信息輸入AI網(wǎng)絡(luò)訓(xùn)練,同時(shí)進(jìn)行多組對照實(shí)驗(yàn),獲得最合適的輸出信息。
毛發(fā)材質(zhì)示意圖
鐳射材質(zhì)示意圖
糖果材質(zhì)示意圖
云彩、泡沫材質(zhì)示意圖
水晶、冰等透射材質(zhì)示意圖
動(dòng)力學(xué)材質(zhì)示意圖
然后,團(tuán)隊(duì)通過程序化建模獲得大量模型,輸出大量不同數(shù)據(jù),優(yōu)化模型泛化性。
最后,是要在移動(dòng)端生成匹配的輸入信息,但由于移動(dòng)端使用完全不同的實(shí)時(shí)渲染引擎,為了能獲得一樣的分層信息,技術(shù)團(tuán)隊(duì)連接移動(dòng)端算法和DCC軟件,提取相機(jī)、環(huán)境光和位置等信息,生成高質(zhì)量配對數(shù)據(jù)。
神經(jīng)網(wǎng)絡(luò)渲染——提升渲染精度和效率
「AI渲染」方案首先采用實(shí)時(shí)渲染器產(chǎn)生相對低畫質(zhì)的渲染圖作為粗渲染,再用圖像翻譯(Image Translation)技術(shù)中比較有效的深度學(xué)習(xí)方法pix2pix,將低質(zhì)量圖片轉(zhuǎn)化為精細(xì)渲染的高畫質(zhì)圖片作為精渲染。為了提高實(shí)時(shí)渲染的速度,其中低質(zhì)量圖片往往只包含一些物體輪廓、方向或光照等粗略信息,而pix2pix負(fù)責(zé)比較復(fù)雜的精渲染任務(wù),將精細(xì)的紋理、光影渲染到物體上。
pix2pix是將GAN應(yīng)用于有監(jiān)督的圖像到圖像翻譯的經(jīng)典論文,有監(jiān)督表示訓(xùn)練數(shù)據(jù)是成對的。圖像到圖像翻譯(image-to-image translation)是GAN很重要的一個(gè)應(yīng)用方向,是基于一張輸入圖像得到想要的輸出圖像的過程,可以看作是圖像和圖像之間的一種映射(mapping),常見的圖像修復(fù)、超分辨率其實(shí)都是圖像到圖像翻譯的例子。在神經(jīng)網(wǎng)絡(luò)渲染任務(wù)中,團(tuán)隊(duì)將pix2pix應(yīng)用于低畫質(zhì)圖片到高畫質(zhì)圖片的轉(zhuǎn)換。
相比傳統(tǒng)的渲染方法,團(tuán)隊(duì)的神經(jīng)網(wǎng)絡(luò)渲染方案優(yōu)越性體現(xiàn)在以下幾個(gè)方面:
- 材質(zhì)精良。相比傳統(tǒng)實(shí)時(shí)渲染,神經(jīng)網(wǎng)絡(luò)可以渲染出的圖片細(xì)節(jié)更豐富、更逼真。
- 通用性強(qiáng)。整套渲染鏈路可以適用于各種材質(zhì),擴(kuò)展成本低,不必像傳統(tǒng)渲染需針對每個(gè)材質(zhì)重新設(shè)計(jì)性能優(yōu)化方案。
- 渲染速度快。過去,渲染一幀云朵畫面可能就需要幾十個(gè)GPU小時(shí),這對于一些影視公司來是不小的成本。
傳統(tǒng)渲染:34h(左)AI渲染:30s(右)
方案優(yōu)化——質(zhì)感調(diào)優(yōu) 適應(yīng)低端機(jī)型
為了呈現(xiàn)更逼真、流暢的渲染效果,研究團(tuán)隊(duì)做了大量優(yōu)化:
- 在渲染質(zhì)感方面,為了提升細(xì)節(jié)和光影讓畫面更逼真,團(tuán)隊(duì)采用了實(shí)時(shí)光照重建技術(shù),自動(dòng)分析原圖中的環(huán)境光照并重建為球諧光照參數(shù),再將其輸入到pix2pix的渲染網(wǎng)絡(luò)中,來控制渲染物體的光影效果。另外,團(tuán)隊(duì)對渲染網(wǎng)絡(luò)的輸入和輸出圖片在配對性和材質(zhì)精度上進(jìn)行了仔細(xì)的定義和優(yōu)化,使模型能夠更好地學(xué)習(xí)到渲染能力,呈現(xiàn)極致的渲染畫質(zhì)。最后,一個(gè)物體上的不同區(qū)域往往有不同的細(xì)分材質(zhì),團(tuán)隊(duì)還對于不同的區(qū)域進(jìn)行語義分割并將其信息給到渲染網(wǎng)絡(luò),使單個(gè)網(wǎng)絡(luò)可以同時(shí)完成多種材質(zhì)的渲染。
- 在性能方面,為了保證流暢的畫面,團(tuán)隊(duì)針對神經(jīng)網(wǎng)絡(luò)的推理速度進(jìn)行了極致優(yōu)化,使得低端機(jī)型也能呈現(xiàn)流暢的高質(zhì)量渲染:首先使用AutoML得到緊湊的神經(jīng)網(wǎng)絡(luò)架構(gòu);然后使用蒸餾技術(shù)將大模型學(xué)習(xí)到的知識(shí)“傳授”給緊湊的小模型以提升其渲染精細(xì)度;再用結(jié)構(gòu)化和半結(jié)構(gòu)化剪枝技術(shù)去除掉網(wǎng)絡(luò)中計(jì)算冗余的部分;接著采用低比特量化的方式將模型權(quán)重由高精度浮點(diǎn)數(shù)轉(zhuǎn)化為低比特表示,來降低計(jì)算開銷;最后,雖然需要渲染的道具在畫面中分布廣泛,但需要渲染的部分在畫面的占比較小,團(tuán)隊(duì)對畫面進(jìn)行了區(qū)域裁剪與合并,只把需要渲染的部分保留下來交給神經(jīng)網(wǎng)絡(luò)進(jìn)行渲染,進(jìn)一步提高推理速度。
目前,字節(jié)跳動(dòng)「AI渲染」技術(shù)方案的擴(kuò)展應(yīng)用場景包括:影視提速、移動(dòng)端真實(shí)感渲染、AR環(huán)境融合;解決方案包括高級程序化材質(zhì)、離線渲染數(shù)據(jù)、模型訓(xùn)練、調(diào)參工具等能力。
未來,團(tuán)隊(duì)還將在多材質(zhì)漸變?nèi)诤?、通過白模渲染虛擬化身和可微分渲染等方向持續(xù)升級「AI渲染」技術(shù)方案的能力,這項(xiàng)能力也將依托火山引擎對外提供技術(shù)服務(wù)。
火山引擎發(fā)布限時(shí)增長助推計(jì)劃「火種計(jì)劃」,助力企業(yè)伙伴實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型,為企業(yè)發(fā)展增添新引擎、注入新動(dòng)力。