【筆記】Neural Parameterization for Dynamic Human Head Editing
Neural Parameterization
Introduction
mesh方法易于編輯,但表現能力有限,NeRF的效果好,但是難以編輯;這篇工作用隱式方法完成一致性強的動態場景重建,同時可以顯式地編輯幾何及紋理。
之前的工作中,對NeRF進行編輯,采用的都是latent code的方式,這樣無法得到好的結果。NeuTex用2D的texture maps對隱式場的表面建模,通過編輯2D texture maps來改變紋理,但只局限于靜態場景,且無法改變幾何。Nerual Atlas提出視頻所有幀共享一個texture atlas space,將每個像素映射到這里,從而只需要修改texture atlas space就能一致地編輯視頻紋理。
這篇工作將人頭分解為三個部分,density volume,UV volume和2D texture,從而可以分別編輯幾何和紋理。這三部分都是隱式建模的,從而獲得更高的精度,以及更少的內存需求;為了顯式編輯幾何以及紋理,在MLP中加入explicit layers,從而獲得一致性強的編輯結果。
直接對網絡進行優化,會陷入局部最優解,因此引入了一些regularization,以及兩步優化的策略。
Overview
重建的目標是獲得一個模型F
即給一個空間坐標\(\mathbf{x}=(x,y,z)\),一個視角方向\(\mathbfw0obha2h00 = (\theta,\phi)\)和時間戳\(t\),求得該點的顏色\(\mathbf{c}\)和密度\(\sigma\)
時間戳\(t\)被encode成一個latent code,并對\(\mathbf{x}\)和\(\mathbfw0obha2h00\)做position encoding
編輯則分為幾何和紋理的編輯,又各有2個模型,顯式和隱式
\(V\)表示幾何模型,\(T\)表示紋理模型,下標\(I\)和\(E\)表示隱式和顯式

Geometry Modeling
幾何重建的目標是,輸入一個空間坐標和時間,輸出UV坐標和density
如果只用隱式方法重建幾何,將難以編輯
這里加入了\(V_E\),進行顯式變形,理想的變形場需要滿足三個要求
- 為了進行volumetric rendering,\(V_E\)要有density定義
- \(V_E\)要可微分,才能進行學習
- \(V_E\)可由部分參數控制,達到更精細的控制效果
\(V_E\)形如
其中的\(\psi(\cdot)\)是高斯核函數
為了獲得一致性強的編輯,控制點要精心選取
如果一個控制點在所有幀中都有著相同的語義信息(即在人臉上的位置相同)
那么在任意一幀內修改這個控制點,便能將改變傳播到其余所有幀中
作者在face landmark的基礎上,挑了96個頂點,作為控制點

由于tracked face mask可能不準確,添加了一個loss監督控制點盡量貼近頂點
最終的UV模型為
這里\(V_I\)用來建模一些短暫的變化,比如眨眼
Appearance Model
為了對view dependent和time dependent的texture進行建模,選擇了隱式模型
但這將導致難以編輯,因此加入顯式texture maps
顯式的\(T_E\)存儲大部分texture信息,而隱式\(T_I\)則負責建模瞬間的變化(如皺紋的變化)
最終的texture表示為
由于我們希望\(T_E\)存儲主要信息,\(T_I\)存儲其余的信息,因此加入loss
這樣會鼓勵\(T_I\)盡量小,從而使得\(T_E\)的貢獻更大
Rendering
采用和NeRF一樣的volume rendering
Training
Main Supervision
添加了對\(\alpha\)的監督,從而防止網絡用偽影來仿造材質效果
Texture Unwrap Regularization
網絡已經可以獲得不錯的重建質量了,但是UV field噪聲非常多,導致難以進行下一步編輯

首先用tracked 3D face進行監督
由于tracked face不夠精確,所以這個loss的weight在20000輪左右指數衰減到0
同時,添加了cycle loss,更合理地建模頭部表面信息
其中\(\hat{\mathbf{x}}'_i = V_I^{-1}(\mathbf{u},t)\),\(V^{-1}_I\)將UV坐標映射回3D坐標
為了更平滑地建模,添加了保角loss
Two-stage Training
為了更好地編輯,希望texture盡量靜止,因此采用了兩步訓練法
首先固定材質(實際上是讓所有時間戳映射到統一輸出),讓UV field盡可能學習
然后再加入動態材質,進行進一步優化,學習UV field沒能成功建模的部分
Experiments
Reconstruction

比NeRF系列略差一些,因為為了增強可編輯性,做了許多regularization
做完regularization后,效果應該更好才對?
Editing

在UV maps上,這篇工作的一致性更好,同一點始終在臉上的同一位置
并且能覆蓋到整個頭部,其他方法只能追蹤部分

這是不同幀texture maps的情況,這篇工作的變化更少,一致性更強
Ablations
\(\mathcal{L}_{sparsity}\)旨在降低\(T_I\),讓\(T_E\)完成主要材質,\(T_I\)作為輔助
可以看到,\(\lambda_{sparsity}\)過小,會讓\(T_I\)學太多信息;過大則會讓\(T_I\)學不到重要的temporal variations
最終選了0.05,兼顧了\(T_E\)和\(T_I\)

Two-stage Training讓texture maps更趨于靜態,一致性更強,從而易于編輯

\(\mathcal{L}_{angle}\)的權重小,會有更好的重建效果(因為regularization更弱)
但這樣一來,UV maps噪聲太多,難以編輯
若權重過大,模型不收斂,性能急劇下降
最終選了\(\lambda_{angle}=0.5\)作為重建和編輯最好的trade-off

\(\mathcal{L}_{semantic}\)的加入,讓控制點保持一致的位置,便于編輯

\(V_E\)本意是便于幾何編輯,但意外地能增強重建的質量

本文來自博客園,作者:GhostCai,轉載請注明原文鏈接:http://www.rzrgm.cn/ghostcai/p/16572238.html
浙公網安備 33010602011771號