首頁 > 科技週邊 > 人工智慧 > 利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

WBOY
發布: 2023-04-13 10:58:02
轉載
1334 人瀏覽過

目前影像 3D 重建工作通常採用恆定自然光照條件下從多個視點(multi-view)捕捉目標場景的多視圖立體重建方法(Multi-view Stereo)。然而,這些方法通常假設朗伯表面,並且難以恢復高頻細節。

另一種場景重建方法是利用固定視點但在不同點光源下擷取的影像。例如光度立體 (Photometric Stereo) 方法就採用這種設定並利用其 shading 資訊來重建非朗伯物體的表面細節。然而,現有的單視圖方法通常採用法線貼圖(normal map)或深度圖(depth map)來表徵可見表面,這使得它們無法描述物體背面和被遮蔽的區域,只能重建 2.5D 場景幾何。此外,法線貼圖無法處理深度不連續的情況。

在最近的一項研究中,來自香港大學、香港中文大學(深圳)、南洋理工大學、MIT-IBM Waston AI Lab 的研究者提出了利用單視圖多光源(single-view,multi-lights)影像,重建完整3D 場景的工作。

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息


  • #論文連結:https://arxiv.org/abs/2210.08936
  • 論文首頁:https://ywq.github.io/s3nerf/
  • 程式碼連結:https://github.com/ywq/s3nerf

與現有基於法線貼圖或深度圖的單一視圖方法不同,S# 3-NeRF 基於神經場景表徵(neural scene representation),同時利用場景中的shading 和shadow 資訊重建整個3D 場景(包括可見/ 不可見區域)。神經場景表徵方法使用多層感知器 (MLP)對 連續 3D 空間進行建模,將 3D 點映射到如密度、顏色等的場景屬性。儘管神經場景表徵在多視圖重建和新視圖合成方面取得了重大進展,但其在單視圖場景建模中的探索較少。與現有依賴多視圖照片一致性的基於神經場景表徵的方法不同,S3-NeRF 主要透過利用單一視圖下的 shading 和 shadow 資訊來優化神經場。

我們發現簡單的在 NeRF 中直接引入光源位置資訊作為輸入無法重建場景的幾何和外觀。為了更好地利用捕捉的光度立體影像,我們使用反射場(reflectance field)對錶面幾何和BRDF 進行明確建模,並採用基於物理的渲染來計算場景3D 點的顏色,並透過立體渲染得到該光線(ray)對應的二維像素的顏色。同時,我們對場景的可見度(visibility)進行可微建模,透過追蹤 3D 點到光源之間的光線,計算該點的可見度。然而,考慮一條光線上所有採樣點的可見性計算成本較大,因此我們透過計算光線追蹤得到的表麵點的可見性來優化陰影建模。

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

基於神經反射場的場景表徵

我們採用類似 UNISURF 的 occupancy field 來表徵場景幾何。 UNISURF 透過MLP 將3D 點座標及視線方向對應到該點的occupancy 值和顏色,並透過立體渲染得到像素的顏色,

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

Nv為每條射線上取樣點的數量。

為了有效利用光度立體影像中的shading 訊息,S3-NeRF 明確地對場景的BRDF 進行了建模,並使用基於物理的渲染得到3D 點的顏色。同時我們對場景 3D 點的光可見性進行建模以利用影像中豐富的陰影線索,並透過下式得到最後的像素值。

基於物理的渲染模型

我們的方法考慮了非朗伯表面和空間變化的 BRDF。點x 在近場點光源(pl, Le)下從視線方向d 觀測得到的值可以表示為

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

其中,我們考慮到點光源的光線衰減問題,透過光源- 點之間的距離計算入射該點的光照強度。我們採用考慮漫反射和鏡面反射的BRDF 模型

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

#透過球形高斯(Sphere Gaussian)基底的加權組合來表示鏡面反射率

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

陰影建模

陰影在場景幾何重建中是至關重要的其中一個線索。圖中的三個物體在正視圖中具有相同的形狀和外觀,但其背面卻是形狀各異。透過不同光照下產生的陰影,我們可以觀察到其陰影的形狀各不相同,這些反應了正視圖中不可見區域的幾何資訊。光線透過映射在背景中的陰影對物體的背面輪廓產生了一定的約束。

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

我們透過計算3D 點- 光源之間的occupancy 值來反映該點的光可見度

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

##其中,NL#是該點- 光源線段上取樣的點的數量。

由於計算像素點沿光線取樣的所有 Nv 點的可見度計算成本較大(O (NvNL)),現有的方法有的採用MLP 直接迴歸點的可見度(O (Nv )),或是得到場景幾何後預先擷取表麵點(O (NL))。 S3-NeRF 則透過 root-finding 定位的表麵點以線上方式計算該像素的光可見度,並透過下式表示像素值。

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

場景最佳化

我們的方法不需要對陰影進行監督,而是依靠影像的重建loss 來進行優化。考慮到單視角下沒有其他視角所帶來的額外約束,如果採用類似 UNISURF 逐漸縮小取樣範圍的取樣策略,將會導致模型在取樣間隔減少後開始退化。因此,我們採用聯合立體渲染和表面渲染的策略,利用 root-finding 定位得到的表面點渲染顏色併計算 L1 loss。

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

實驗結果

#與神經輻射場方法的比較

###########################################################

我們首先與基於神經輻射場的兩個 baseline 方法進行比較(由於任務不同,我們在其顏色 MLP 中引入光源資訊)。可以看到它們無法重建場景幾何,也無法準確地產生新光照下的陰影。

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

與單一視角形狀估計方法的比較

在與現有單視圖法線/ 深度估計的方法比較中可以看到,我們的方法在法線估計和深度估計上都取得了最好的結果,並且能夠同時重建場景中可見與不可見的區域。

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

不同背景的場景重建

我們的方法適用於各種不同背景條件的場景。

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

新視圖渲染、改變光照與材料編輯

基於神經反射場的場景建模,我們成功解耦了場景的幾何/ 材質/ 光照等,因而可以應用於新視圖渲染、改變場景光照、材料編輯等應用。

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

#真實拍攝場景的重建

我們拍攝了三個真實場景來探索其實用性。我們將相機位置固定,利用手機的手電筒作為點光源(環境光源關閉),手持手電筒隨機移動以捕捉不同光源下的影像。此設定無需光源校準,我們應用 SDPS‑Net 得到光源方向的粗略估計,並粗略估計相機 - 物體及光源 - 物體的相對距離來初始化光源位置。光源位置在訓練過程中隨場景的幾何和 BRDF 聯合優化。可以看到即便是較為隨意的資料捕捉設定(沒有光源的校準),我們的方法仍能較好的重建 3D 場景幾何。

總結

  • S3-NeRF 透過利用單一視圖多個點光源下拍攝的影像來優化神經反射場以重建3D 場景幾何和材質資訊。
  • 透過利用shading 和shadow 線索,S3-NeRF 能有效恢復場景中可見/ 不可見區域的幾何形狀,實現單眼視角下完整場景幾何/ BRDF 的重建。
  • 各項實驗顯示我們的方法能夠重建各種複雜幾何 / 材質的場景,並能應付各種幾何 / 材質的背景以及不同的光照數量 / 光源分佈。
#

以上是利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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