高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

WBOY
發布: 2024-06-07 09:27:53
原創
1233 人瀏覽過

NeRF不再「畏懼」近處高光反射

早期的NeRF變體使用多層感知器(MLPs)從三維座標映射到體積密度和視點相關的顏色,但是表示詳細的三維幾何和顏色所需的大型MLPs訓練和評估速度極慢。最近的工作專注於透過類似體素網格的資料結構或網格和小型MLPs的組合取代大型MLPs,使NeRF更有效率。雖然可以擴展到表示詳細的大規模場景,但其優勢僅限於三維幾何和主要的漫反射顏色

擴展NeRF建模現實的視點相關外觀的能力仍然是一個挑戰。目前先進的用於閃亮物體視圖合成的模型在兩個方面存在限制

  • #只能合成遠處環境光照的準確反射,而在渲染近處場景內容的逼真反射方面表現不佳。
  • 依賴大型MLPs來表示任何點的視點相關出射輻射,難以擴展到具有詳細反射的更大現實場景。

NeRF-Casting是一種透過將光線追蹤引入NeRF渲染模型來解決這些問題的方法。其主要涉及3個領域:

  • 反射建模:傳統的反射建模方法使用物理定律和基於影像的技術來表示表面反射特性。近年來,神經網路被用於學習反射特性,特別是在複雜材料和光照條件下。
  • 光線追蹤:光線追蹤是一種廣泛使用的電腦圖形技術,透過模擬光線與物件表面的互動來產生逼真的影像。光線追蹤技術已被用於產生高品質的反射和折射效果,但計算複雜度高。
  • 三維成像:三維成像技術涉及從多視圖資料產生三維表示。 NeRF和其他神經網路方法透過學習場景的三維幾何和顏色分佈,產生新視圖,從而在三維成像領域取得了重大進展。

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

NeRF-Casting不是在每個相機射線的點上查詢昂貴的MLP以獲取視點相關的外觀,而是從這些點投射反射線到NeRF幾何中,取樣正確抗鋸齒的反射場景內內容特徵,並使用一個小型MLP將這些特徵解碼為反射顏色。將光線投射到恢復的NeRF中自然地合成近處和遠處內部內容的一致反射。透過光線追蹤計算外觀減少了在場景中的每個點以大型MLP表示高度詳細的視點相關函數的負擔。

有興趣的朋友可以看影片效果:https://nerf-casting.github.io

#模型細節

##NeRF-Casting的

三個主要目標

    希望在不依賴計算量大的MLP評估的情況下建模出準確、詳細的反射。
  • 希望只投射少量的反射光線。
  • 希望最小化在這些反射光線的每個點上查詢我們表示所需的計算量。
基於Zip-NeRF[2]:利用多尺度雜湊網格來儲存三維特徵,一個小型MLP(1層,寬度64)將這些特徵解碼為密度,一個較大的MLP(3層,寬度256)將這些特徵解碼為顏色。這意味著沿光線查詢樣本的密度和特徵相對便宜。考慮到這些約束,請按照以下流程來渲染鏡面外觀:

    沿著每個相機光線查詢體積密度,以計算光線的預期終止點和表面法線。
  • 在反射方向上透過預期終止點投射一個反射錐。
  • 使用一個小型MLP將累積的反射特徵與其他取樣量(例如漫反射顏色特徵和每個樣本的混合權重)結合起來,為沿著光線的每個樣本產生一個顏色值。
  • 將這些樣本和密度進行阿爾法合成,得到最終顏色。

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

反射錐追蹤

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

然後透過反射初始光線關於表面法線來建立一個新的反射光線方向

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

#圓錐形反射特徵

現在已經定義了一個vMF分佈,涵蓋了反射射線,目標是估計在vMF分佈上的預期體積渲染特徵,然後將其解碼為反射顏色。這個預期特徵可以寫成:

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

使用蒙特卡羅方法對隨機取樣的射線進行積分估計是非常昂貴的,因為每個樣本都需要沿著射線進行體積渲染。受Zip-NeRF的啟發,使用一小組代表性樣本結合特徵減權來近似這個積分。然而與Zip-NeRF不同的是,我們將這兩個操作都在二維方向域中執行,而不是在三維歐幾里德空間中。

方向取樣

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

#反射特徵降權

#上文所述的方向取樣有助於選擇一個小的代表性射線集合進行平均。然而,對於具有高粗糙度的表面,採樣的射線可能相對於底層的3D網格單元之間距離較遠。這意味著方程式9中的特徵可能存在偽影,反射射線方向的微小變化可能導致外觀上的大幅變化。

為了防止這種情況發生,將Zip-NeRF中的「特徵降權」技術調整到方向設定。透過將與vMF錐相比較小的體素對應的特徵乘以一個小的乘數來實現這一點,減少它們對渲染顏色的影響。依照Zip-NeRF的做法,定義點x 處的降權特徵為:

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

##顏色解碼器

顏色解碼器的作用是為沿著射線的每個取樣點分配一種顏色,使用兩種顏色分量的凸組合:

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

第一個顏色分量Cv類似典型的NeRF 視角相關外觀模型:

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

第二個分量Cr,旨在模擬光澤外觀,計算如下:

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

幾何表示和正規化

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!#

效果欣賞

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!

#總結一下

NeRF-Casting是一種使用神經輻射場(NeRF)渲染包含高光物體的場景的方法。

方法:將反射錐從場景中的表面反射並透過NeRF進行追踪,並結合了一套新穎的技術來抗鋸齒這些反射,從而能夠合成遠處和近場內容的準確詳細反射,這些反射在表面上一致且平滑地移動。

討論:在定量上優於現有的視圖合成技術,特別是對於顯示詳細鏡面反射的光滑表面。定性的視覺改進在影像指標方面的定量改進遠遠超過了。尤其值得注意的是,此方法合成的反射平滑且一致的運動,比基線方法呈現的視角相關外觀更逼真。 這表示標準的影像誤差度量(PSNR、SSIM等)不足以評估視角相關外觀的品質

#

以上是高亮反光終結者? GoogleNeRF-Casting:光線追蹤就能搞定!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板