論文: 《HumanNeRF: Free-viewpoint Rendering of Moving People from Monocular Video》
github: https://github.com/chungyiweng/humannerf
解決問題
作者提出HumanNeRF,給出復(fù)雜動作人體單視角視頻,暫停任一幀渲染出任意視角下該人體,甚至360度視角下該人體;
HumanNeRF優(yōu)化了人在標(biāo)準(zhǔn)T姿勢下的表征,與運動場相一致,該運動場通過向后扭曲將估計的規(guī)范表征映射到視頻的每一幀;運動場解耦為骨骼剛性及非剛性運動;
算法
人體表征為神經(jīng)場
HumanNeRF框架如圖2,
作者扭曲標(biāo)準(zhǔn)空間
F
c
F_c
Fc?至可見空間
F
o
F_o
Fo?,如式1,
F
c
F_c
Fc?映射標(biāo)準(zhǔn)空間位置x至顏色c及密度σ,
T
T
T表示運動場將可見點映射至標(biāo)準(zhǔn)空間,其中位置
p
=
(
J
,
?
)
p=(J, ?)
p=(J,?),J包括K個標(biāo)準(zhǔn)3D關(guān)鍵點位置,
?
=
{
ω
i
}
? = \{ωi\}
?={ωi}為局部關(guān)鍵點角向量;
為了處理復(fù)雜人體運動,作者將運動場
T
T
T解耦為骨骼驅(qū)動變形
T
s
k
e
l
T_{skel}
Tskel?及位置偏移
T
N
R
T_{NR}
TNR?,如式2,
根據(jù)
T
s
k
e
l
T_{skel}
Tskel?結(jié)果生成偏移,用于補充非剛性變形,比如衣服變形;由于現(xiàn)成的3D姿態(tài)估計不夠準(zhǔn)確,作者通過姿態(tài)糾正函數(shù)Ppose解決;將式2中
T
s
k
e
l
(
x
,
p
)
T_{skel}(x, p)
Tskel?(x,p) 替換為
T
s
k
e
l
(
x
,
P
p
o
s
e
(
p
)
)
T_{skel}(x, P_{pose}(p))
Tskel?(x,Ppose?(p))。
Canonical volume
F
c
F_c
Fc?表示一個連續(xù)場,根據(jù)任一點x可輸出顏色c及密度σ,如式3,其中γ表示正弦位置編碼;
Skeletal motion
T
s
k
e
l
T_{skel}
Tskel?為blend skin將可見空間中的點映射至標(biāo)準(zhǔn)空間,如式4,
其中
w
o
i
w^i_o
woi?表示第i個關(guān)節(jié)蒙皮權(quán)重,計算公式如式5,
R
i
R_i
Ri?,
t
i
t_i
ti?分別表示可見空間到標(biāo)準(zhǔn)空間關(guān)鍵旋轉(zhuǎn)及平移量,其可依據(jù)p進行計算;在標(biāo)準(zhǔn)空間求解蒙皮權(quán)重而不是在N張圖可見空間求解,可避免過擬合;
作者沒有使用MLP進行編碼
W
c
(
x
)
=
{
w
c
i
(
x
)
}
W_c(x)=\{w^i_c(x)\}
Wc?(x)={wci?(x)},而是使用顯示表示,一方面由于需要K個MLP,優(yōu)化不靈活;另一方面,對于小分辨率通過三線性插值提供平滑度,便于后續(xù)優(yōu)化;作者利用隨機編碼z,通過CNN生成
W
c
W_c
Wc?,如式6
Non-rigid motion
T
N
R
T_{NR}
TNR?生成位置偏移,
?
x
(
x
,
p
)
=
T
N
R
(
T
s
k
e
l
(
x
,
p
)
,
p
)
)
?x(x, p) = T_{NR}(T_{skel}(x, p), p))
?x(x,p)=TNR?(Tskel?(x,p),p)),為捕獲更多細節(jié),作者使用MLP表示
T
N
R
T_{NR}
TNR?,如式7,
Pose correction
根據(jù)圖片進行人體姿勢估計通常不準(zhǔn)確,因此姿態(tài)糾正模塊通過固定關(guān)鍵點學(xué)習(xí)偏移角,姿態(tài)估計如式8,
姿態(tài)偏移如式9所示,作者通過MLP模塊實現(xiàn),
因此可見空間到標(biāo)準(zhǔn)空間由式2重構(gòu)為式10
HumanNeRF優(yōu)化
優(yōu)化函數(shù)如式11
體渲染
顏色渲染如式12,作者沒有使用NeRF中分層級采樣,而是在目標(biāo)框內(nèi)進行采樣
當(dāng)前景概率f(x)比較低時,進一步定義αi如式13,
非剛性運動場延遲優(yōu)化
由于骨架驅(qū)動與非剛性運動未解耦,目標(biāo)骨骼運動一部分由非剛性運動建模所得,而非剛性運動過擬合到輸入圖片,因此渲染不可見區(qū)域時質(zhì)量不高;
為解決此問題,作者對非剛性運動MLP θNR,將截斷的Hann window應(yīng)用于位置編碼頻率帶,防止數(shù)據(jù)過擬合,作者定于位置編碼頻率帶j的權(quán)重如式14,
τ 定義如式15,通過設(shè)置τ = 0可關(guān)閉非剛性場優(yōu)化;
損失函數(shù)及ray sampling Loss
作者使用MSE進行像素級匹配,感知損失LPIPS改進細節(jié)一致性,對輕微錯位及陰影變換比較魯棒;
作者采樣G個patch,每個patch為HH,訓(xùn)練時每個batch渲染GH*H個射線,渲染結(jié)果與輸入圖相同位置進行比較;
實驗
對于無標(biāo)注視頻,作者使用SPIN獲取近似相機參數(shù)、人體姿態(tài),自動分割目標(biāo)前景,并手動矯正分割結(jié)果;
與其他方法比較如表2,
量化結(jié)果如表1,HumanNeRF超越Neural Body
圖3展示可視化結(jié)果,HumanNeRF優(yōu)于Neural Body,即使未見過視角,也可生成與真值相似結(jié)果;
圖5展示在YouTube視頻上高質(zhì)量結(jié)果;
消融實驗
表3展示增加非剛性變形,帶來進一步收益;
圖6展示非剛性場及姿態(tài)糾正對不可見視角渲染重要性
討論
當(dāng)視頻中身體一部分不可見時,仍會產(chǎn)生噪點;姿態(tài)就剩改進圖像對齊,但若開始姿態(tài)估計不準(zhǔn)確就剩模塊將失效;作者假設(shè)非剛性場時姿態(tài)相關(guān)的,但是并不總是正確,比如風(fēng)將衣服移動;對于公開視頻數(shù)據(jù)需要人工矯正分割結(jié)果;文章來源:http://www.zghlxwxcb.cn/news/detail-610839.html
結(jié)論
HumanNeRF從單目視頻中移動人體自由視角渲染取得SOTA結(jié)果;作者通過仔細建模人體姿態(tài)、人體運動及正則項優(yōu)化實現(xiàn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-610839.html
到了這里,關(guān)于HumanNeRF(CVPR2022 oral)-人體重建論文閱讀的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!