博客專欄

EEPW首頁 > 博客 > NeRF基于線稿生成逼真三維人臉,細(xì)節(jié)風(fēng)格隨意改,論文已上SIGGRAPH(1)

NeRF基于線稿生成逼真三維人臉,細(xì)節(jié)風(fēng)格隨意改,論文已上SIGGRAPH(1)

發(fā)布人:計算機(jī)視覺工坊 時間:2023-08-07 來源:工程師 發(fā)布文章

這個方法可以高效構(gòu)建三維模型,精細(xì)程度很高。

高真實感且精確可控的三維人臉建模是數(shù)字人構(gòu)建中的重要問題之一。目前,使用現(xiàn)有的基于網(wǎng)格的人臉建模方法需要專業(yè)的人員使用復(fù)雜的軟件并投入大量的時間和精力,且實現(xiàn)逼真的人臉渲染結(jié)果較為困難。


雖然神經(jīng)輻射場作為一種新的三維表示可以合成出逼真的結(jié)果,但如何對生成結(jié)果進(jìn)行精確控制和修改,以實現(xiàn)高質(zhì)量的三維人臉合成仍然是一個待解決的問題。


近期,研究人員提出了基于線稿的三維人臉神經(jīng)輻射場生成和編輯方法 SketchFaceNeRF [1],相關(guān)技術(shù)論文發(fā)表在計算機(jī)圖形學(xué)頂會 SIGGRAPH 2023,并被收錄于圖形學(xué)頂級期刊 ACM Transactions on Graphics。使用該系統(tǒng),即使用戶不會使用復(fù)雜的三維軟件,也可以基于線稿自由創(chuàng)作三維人臉。先來看看使用 SketchFaceNeRF 創(chuàng)作的人臉效果:


圖片

圖 1:使用線稿生成高真實感的三維人臉。


進(jìn)一步,在給定三維人臉后,用戶在任意角度添加編輯操作:


圖片

圖 2 使用線稿在任意視角編輯三維人臉。


Part 1 背景


最近,AI 繪畫非?;鸨?Stable Diffusion [2] 和 ControlNet [3] 等方法,通過指定文本可以生成高真實感的二維圖像。但是,上述工作無法生成高質(zhì)量的三維模型。同時,僅使用文本難以控制生成細(xì)節(jié),盡管 ControlNet 已經(jīng)支持線稿的控制,但如何對生成的結(jié)果的局部區(qū)域進(jìn)行精準(zhǔn)的修改仍然十分困難。


隨著神經(jīng)輻射場 [4] 和對抗式生成網(wǎng)絡(luò) [5] 的發(fā)展,已有方法,例如 EG3D [6],已經(jīng)實現(xiàn)了三維人臉模型的高質(zhì)量的生成和快速的渲染。但是,這些生成模型只支持人臉隨機(jī)采樣,而無法對生成結(jié)果進(jìn)行控制。IDE-3D [7] 和 NeRFFaceEditing [8] 使用語義標(biāo)記圖編輯三維人臉,但是,該類方法難以實現(xiàn)更細(xì)節(jié)的控制,例如頭發(fā)的結(jié)構(gòu)細(xì)節(jié)和皺紋等。同時,用戶很難從頭繪制復(fù)雜的語義圖,無法憑空生成三維人臉模型。


線稿作為一種更加友好的交互方式,一直被用于二維人臉圖像的生成 [9] 和編輯 [10]。然而,將線稿用于三維人臉的生成存在下述的問題:首先,線稿風(fēng)格多樣且過于稀疏,生成二維圖像已經(jīng)不易,生成三維模型則更加困難;其次,針對三維人臉,用戶往往會在任意視角添加編輯,如何生成有效的編輯結(jié)果,同時保持三維一致性,是需要解決的問題。


針對上述挑戰(zhàn),SketchFaceNeRF 利用了三平面的表示方法,基于線稿直接預(yù)測人臉三平面特征,投影至生成模型的隱空間,得到高質(zhì)量的人臉 NeRF。多視角的三維人臉編輯問題則被建模為優(yōu)化問題,通過三平面的局部融合及投影方法預(yù)測初值,并基于線稿約束和圖像約束反向優(yōu)化隱碼,得到高質(zhì)量的人臉 NeRF 編輯效果。


Part 2 SketchFaceNeRF 算法原理


圖片

圖 3 SketchFaceNeRF 的網(wǎng)絡(luò)架構(gòu)圖,生成流程。


人臉 NeRF 可控生成


給定單視角的手繪線稿后,直接投影到生成模型隱空間,合成的人臉存在對應(yīng)性差、生成質(zhì)量低等問題。這是因為二維稀疏線稿與三維人臉的差異過大,并且手繪的線稿風(fēng)格多樣。為解決上述問題,提出一種逐級升維的映射方法:由于輸入線稿僅包含稀疏幾何信息,但三維人臉具有不同的外觀,所以首先使用自適應(yīng)實例歸一化 (AdaIN [11]),將輸入的線稿轉(zhuǎn)換到彩色特征圖以注入顏色、光照和紋理信息。


進(jìn)一步,由于二維輸入缺乏 3D 信息,算法在體渲染的立體空間中構(gòu)建 3D 特征體素,空間中的三維點被投影到 2D 特征圖,檢索得到對應(yīng)的特征。最后,在 x,y,z 三個軸對三維體素進(jìn)行形狀變換,再基于 2D 卷積網(wǎng)絡(luò)得到三平面特征圖。為了生成高質(zhì)量的人臉 NeRF,三平面被反投影到生成模型的隱空間,得到隱碼表示的人臉 NeRF 模型。


訓(xùn)練過程分為兩步:首先,使用 EG3D 構(gòu)建多視角的訓(xùn)練數(shù)據(jù)。輸入線稿預(yù)測三平面后,基于原本 EG3D 的渲染網(wǎng)絡(luò)生成其他視角的圖像,并使用真值作監(jiān)督,完成線稿三平面預(yù)測網(wǎng)絡(luò)的訓(xùn)練。然后,固定線稿三平面預(yù)測網(wǎng)絡(luò)的權(quán)重,訓(xùn)練投影網(wǎng)絡(luò),將三平面特征投影至 EG3D 的隱空間。

 

圖片

圖 4 SketchFaceNeRF 的網(wǎng)絡(luò)架構(gòu)圖,編輯流程。


人臉 NeRF 精確編輯


為了支持任意視角的線稿人臉編輯,該工作提出一種三維一致的人臉線稿渲染方法,為 EG3D 添加額外的線稿生成分支,與圖像生成分支共享相同的 StyleGAN 主干網(wǎng)絡(luò),但具有不同的****和超分辨率模塊。訓(xùn)練過程則使用線稿真值作監(jiān)督,并添加正則化項約束線稿視角一致性。


在生成的三維線稿基礎(chǔ)上,用戶對局部區(qū)域進(jìn)行修改,繪制出新的線稿。由于單視角的線稿輸入存在遮擋等問題,無法表示完整原本的三維信息,因此直接推理難以保持編輯前后的非編輯區(qū)域一致性。


為此,將人臉的 NeRF 的精細(xì)化編輯問題建模為優(yōu)化問題。該工作先提出一種初值預(yù)測方法:使用與生成過程共享的線稿三平面預(yù)測網(wǎng)絡(luò),先直接預(yù)測得到線稿對應(yīng)的三平面特征。為了保持非編輯區(qū)域的不變,進(jìn)一步將線稿生成的三平面與原始的三平面特征進(jìn)行融合,并使用與生成過程共享的編碼網(wǎng)絡(luò),將三平面反投影至生成模型的隱空間,得到人臉的編輯的初值。


進(jìn)一步,提出反向優(yōu)化方法實現(xiàn)三維人臉的精細(xì)化編輯。具體而言,算法通過線稿生成分支渲染出合成線稿,在編輯區(qū)域與手繪線稿計算相似度。同時,在非編輯區(qū)域,圖像生成分支渲染出人臉圖像,與原始圖像計算相似度。為了保證編輯前后的空間一致性,進(jìn)一步約束非編輯區(qū)域的光線采樣點特征相同?;谏鲜黾s束,反向優(yōu)化隱碼,實現(xiàn)人臉的精細(xì)化編輯。


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉