【筆記】Ref-Nerf
Ref-NeRF
介紹
NeRF在鏡面反射上,有著許多artifacts,有兩個原因。一個是,用外向輻射作為視角,不好插值;另一個是,NeRF會用各向同相的內(nèi)部光源來假裝鏡面反射,結果是半透明或霧狀的artifacts。
Ref-NeRF用反射光作為輸入,因為表面的取向不影響它,因此MLP能在上面更好地插值。
一個問題是,反射光需要找法向量,而NeRF生成的geometry不夠好,上面的法向量噪聲過多。Ref-NeRF在volume density上加了一個新的正則化器,激勵volume density集中在表面上,同時獲得更好的法向量。
Structured View-Dependent Apperance
反射光
用入射光和法向量求反射光(入射光其實是發(fā)射的)
Integrated Directional Encoding
在現(xiàn)實中,輻射不能僅僅用反射方向來表示,考慮到粗糙和光滑材質的區(qū)別,引入了Integrated Directional Encoding (IDE) 讓MLP能表示材質的粗糙度。
首先,不用sin函數(shù)做encoding了,改用一系列球諧函數(shù),保證了球面上的不變性。
接下來,用encode反射向量分布的方法,讓MLP可以推理材質粗糙度,并引入?yún)?shù)\(\kappa\)表征粗糙度。
漫反射和鏡面反射顏色
通過解耦漫反射和鏡面反射的組成,進一步簡化外向輻射的函數(shù)。根據(jù)定義,漫反射顏色只與位置有關,將真實顏色拆解為
其中\(\mathbf{c}_d\)是漫反射顏色,\(\mathbf{s}\)是spatial MLP輸出顏色,\(\mathbf{c}_s\)是directional MLP輸出顏色。
額外的自由度
將spatial MLP的輸出b,作為directional MLP的輸入,讓它更好地表征位置變化帶來的影響。
準確的法向量
好的反射向量,依賴于好的法向量,然而NeRF出來的volume density很凌亂,而且NeRF會用內(nèi)部各向同性的光源來假裝反射光,這是一個局部最優(yōu)解。
為了解決第一個問題,即法向量噪聲多的問題,Ref-NeRF使用預測的法向量來計算反射方向,從spatial MLP中得到一個三維向量,正則化以后作為預測的法向量。MLP預測的法向量比梯度算出來的更光滑,因為梯度算子在MLP的插值卷積核上是一個高通濾波器的作用。
為了解決第二個問題,使用正則函數(shù)來懲罰霧狀表面,從而避免NeRF用藏在半透明面后的內(nèi)部發(fā)光源來解釋鏡面反射。
本文來自博客園,作者:GhostCai,轉載請注明原文鏈接:http://www.rzrgm.cn/ghostcai/p/16472014.html
浙公網(wǎng)安備 33010602011771號