1. 論文簡介
論文題目:MonoNeRF: Learning Generalizable NeRFs from Monocular Videos without Camera Poses
Paper地址:chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://openreview.net/pdf?id=OTZyQCwgNL
發表刊物:ICML
發表時間:2023
發表作者:Yang Fu, Ishan Misra, Xiaolong Wawng
發表單位:University of California, FAIR, Meta AI.
2. 科學問題及動機
雖然NeRF已經取得了較大的成功,但構建NeRF需要準確的使用真實相機姿態,並且一個場景需要構建一個NeRF,泛化性不足,同時訓練耗時。
有一些方法通過在多個場景訓練然後再單個場景上fine-tune來解決泛化的問題,但需要相機位姿。
另一些 方法不需要相機位姿,但針對的是單個場景的,泛化性不足。
也就是相機位姿的需求和場景的限制沒能同步解決。
這背後的一個基本原因是:以自我監督的方式跨場景執行校準非常具有挑戰性。
3. 核心工作
提出了一個廣義的神經輻射場- MonoNeRF,它可以在靜態場景中移動的大規模單目視頻上進行訓練,而不需要任何深度和相機姿勢的ground truth。
MonoNeRF遵循基於自動編碼器的架構,其中編碼器估計單目深度和相機姿態,解碼器基於深度編碼器特徵構建多平面NeRF表示,並使用估計的相機渲染輸入幀。
學習由重構誤差監督。
一旦模型被學習,它可以應用於多種應用,包括深度估計、相機姿態估計和單圖像新視圖合成。
4. 工作細節
提出了一種新的泛化NeRF,稱爲MonoNeRF,它可以從靜態場景中運動的單目視頻中學習,而不使用任何相機ground truth。
我們的關鍵觀點是,現實世界的視頻通常伴隨着緩慢的鏡頭變化(連續性),而不是呈現不同的視點。
根據這一觀察結果,我們建議在大規模的現實世界視頻上訓練一個基於autoencoder的模型。
給定輸入視頻幀,我們的框架使用深度編碼器對每幀執行單目深度估計(鼓勵保持一致),並使用攝像機姿態編碼器估計每兩個連續幀之間的相對攝像機姿態。
深度編碼器特徵和相機姿態是中間解糾纏表示。
對於每個輸入幀,我們用深度編碼器特徵構造一個NeRF表示,並根據估計的相機姿態渲染它來解碼另一個輸入幀。
我們利用渲染幀和輸入幀之間的重構損失來訓練模型。
然而,單獨使用重建損失很容易導致一個平凡的解決方案,因爲估計的單目深度、相機姿勢和NeRF表示不一定在相同的尺度上。
我們提出的一個關鍵技術貢獻是在訓練期間提出一種新的刻度校準方法來校準這三種表示。
我們的框架的優點是:(i)與NeRF不同,它不需要3D相機姿勢註釋(例如,通過SfM計算);(ii)在大規模視頻數據集上進行泛化訓練,從而實現更好的遷移。
5. 實現細節
整個框架是以自監督的方式在做。
1. 輸入爲3張連續的圖像;
2. 提取其中一張圖像(應該是中間幀)的feature和depth; 計算中間幀和前後兩幀之間的相機位姿;
3. 然後類似於MINE中的方法,將feats和不同的採樣depth喂入decoder來構造planar neural radiance field;
4. 然後可以可以通過渲染來生成新視野圖像和depth;
5.1 相機位姿估計
s爲中間幀圖像,t爲前一幀或者後一幀圖像,估計中間幀到前一幀或者後一幀的位姿;
5.2 source view下的圖像depth生成
5.3 多平面NeRF構造
框架圖處畫得不是多清晰,可以參考MINE得生成過程。在區間採樣深度
,然後結合feats結合di在每個d處生成一個平面,用
表示,c表示RGB值,σ表示體素密度(volume density)。
可以參考圖2。
5.4 渲染生成新視角圖像
這裏α就是σ; 其實就是NeRF得渲染公式;
因爲在5.3中生成的是source view的,因此需要建立target view與source view的位置關聯。
通過warp操作。建立關聯後,對於每一個target圖像的像素都能在MPI NeRF中找到對應的,由此渲染出對應的圖像和depth。
5.5 Loss
總的損失函數:
包括渲染得到的target圖像和真實target圖像的L1 loss和SSIM loss, 以及smoothloss;
還有渲染depth和直接預測depth的一致性損失:
以及深度估計中通過warp插值得到的源圖像和真實源圖像的投影loss:
6. 結語
努力去愛周圍的每一個人,付出,不一定有收穫,但是不付出就一定沒有收穫! 給街頭賣藝的人零錢,不和深夜還在擺攤的小販討價還價。願我的博客對你有所幫助(*^▽^*)(*^▽^*)!
如果客官喜歡小生的園子,記得關注小生喲,小生會持續更新(#^.^#)(#^.^#)。