最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

綜述 | 基于神經(jīng)輻射場的(NeRF-based) SLAM

2022-08-24 09:48 作者:計(jì)算機(jī)視覺life  | 我要投稿

原文鏈接:https://mp.weixin.qq.com/s/0TEotBC5QxZP_gyjYEYB0Q

圖片

作者:秦通,香港科技大學(xué)博士、SLAM經(jīng)典算法VINS作者

隨著2020年NeRF[1]的橫空出世,神經(jīng)輻射場方法(Neural Radiance Fields)如雨后春筍般鋪天蓋地卷來。NeRF最初用來進(jìn)行圖像渲染,即給定相機(jī)視角,渲染出該視角下的圖像。NeRF是建立在已有相機(jī)位姿的情況下,但在大多數(shù)的機(jī)器人應(yīng)用中,相機(jī)的位姿是未知的。所以隨后,越來越多的工作應(yīng)用NeRF的技術(shù)同時(shí)估計(jì)相機(jī)位姿和對環(huán)境建模,即NeRF-based SLAM (Simultaneously localization and mapping)。

將深度學(xué)習(xí)與傳統(tǒng)幾何融合是SLAM發(fā)展的趨勢。過去我們看到SLAM中一些單點(diǎn)的模塊,被神經(jīng)網(wǎng)絡(luò)所替代,比如特征提取(super point), 特征匹配(super glue),回環(huán)(NetVlad)和深度估計(jì)(mono-depth)等。相比較單點(diǎn)的替代,NeRF-based方法是一套全新的框架,可以端到端的替代傳統(tǒng)SLAM,無論是在設(shè)計(jì)方法還是實(shí)現(xiàn)架構(gòu)上。

相較于傳統(tǒng)SLAM,NeRF-based 的方法,優(yōu)點(diǎn)在于:

  • 沒有特征提取,直接操作原始像素值。誤差回歸到了像素本身,信息傳遞更加直接,優(yōu)化過程所見即所得。

  • 無論是隱式還是顯式的map表達(dá)都可以進(jìn)行微分,即可以對map進(jìn)行full-dense優(yōu)化 (傳統(tǒng)SLAM基本無法優(yōu)化dense map,通常只能優(yōu)化有限數(shù)量的特征點(diǎn)或者對map進(jìn)行覆蓋更新)

由此可見,NeRF-based的方法上限極高,可以對map進(jìn)行非常細(xì)致的優(yōu)化。但這類方法缺點(diǎn)也很明顯:

  • 計(jì)算開銷較大,優(yōu)化時(shí)間長,難以實(shí)時(shí)。

但無法實(shí)時(shí)也只是暫時(shí)性的問題,后續(xù)會有大量的工作,來解決NeRF-based SLAM實(shí)時(shí)性的問題。

SLAM學(xué)術(shù)界的泰斗,F(xiàn)rank Dallaert(https://dellaert.github.io/),gtsam的作者,也開始轉(zhuǎn)行研究NeRF,可見NeRF的價(jià)值和對視覺SLAM的意義。Frank大佬寫了一系列NeRF相關(guān)文章的綜述。

https://dellaert.github.io/NeRF/

https://dellaert.github.io/NeRF21/

https://dellaert.github.io/NeRF22/

由于NeRF方向博大精深,文章眾多,我重點(diǎn)挑選SLAM方向,結(jié)合自己粗淺的理解,總結(jié)一下NeRF-based SLAM工作。該領(lǐng)域發(fā)展較快,文章持續(xù)更新中... (有遺漏的經(jīng)典工作請?jiān)谠u論區(qū)提醒補(bǔ)充)

首先是一張框架圖,梳理了這幾篇工作各自的創(chuàng)新點(diǎn)和之間的關(guān)聯(lián)關(guān)系,幫助大家有個(gè)宏觀上的概念。[2][3][4][5]是和SLAM有關(guān)的工作,[6][8]和[7][9]分別是渲染加速和訓(xùn)練加速的工作,與SLAM無直接關(guān)系,但其加速的部分可能被SLAM用到。

圖片

幾篇Nerf-based SLAM工作的時(shí)間線:

圖片
  • NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis. 2020.03 [1]

圖片

首先還是回顧一下經(jīng)典的NeRF。NeRF選取一系列圖片,這些圖片的位姿已知。對像素射線上的點(diǎn)進(jìn)行采樣,每條射線采樣幾十個(gè)點(diǎn)(x,y,z,theta,phi),送入MLP網(wǎng)絡(luò)(F_theta)。網(wǎng)絡(luò)預(yù)測出該采樣點(diǎn)的RGB和density(sigma)。再對射線上的點(diǎn)做輻射積分,得到該像素點(diǎn)的RGB值,和真值計(jì)算loss,梯度反傳訓(xùn)練網(wǎng)絡(luò)(F_theta)。該方法的優(yōu)化的變量是MLP網(wǎng)絡(luò)參數(shù)(F_theta),即場景表達(dá)隱含在網(wǎng)絡(luò)當(dāng)中。對相機(jī)的位姿不進(jìn)行優(yōu)化調(diào)整。

  • iNeRF: Inverting Neural Radiance Fields for Pose Estimation. 2020.12 [2]

圖片

iNeRF是第一個(gè)提出用NeRF model來做位姿估計(jì)的工作。iNeRF依賴一個(gè)已經(jīng)提前建好的NeRF模型,F(xiàn)_theta。所以iNeRF并不算SLAM,而是一個(gè)已有模型下的重定位問題。和NeRF的區(qū)別在與,NeRF固定位姿,優(yōu)化模型,loss反傳到F_theta(如圖紅線所示);iNeRF固定模型,優(yōu)化位姿,loss反傳到pose 。

  • BARF : Bundle-Adjusting Neural Radiance Fields. 2021.04 [3]

圖片

BARF這邊篇文章同時(shí)優(yōu)化網(wǎng)絡(luò)模型和相機(jī)位姿,用神經(jīng)渲染網(wǎng)絡(luò)的方法實(shí)現(xiàn)了Bundle Adjustment。確切的說,該方法解決的是SfM (structure from motion)問題。該方法依賴一個(gè)粗糙的相機(jī)初始位姿,這個(gè)位姿可以通過col map等方法獲得。通過網(wǎng)絡(luò)迭代對模型和相機(jī)位姿進(jìn)行精修。如果引入時(shí)序和幀間tracking,這將是一個(gè)不錯(cuò)的slam工作。

  • iMAP: Implicit Mapping and Positioning in Real-Time, 2021.03 [4]

圖片

iMAP是真正意義上第一個(gè)NeRF-based SLAM 工作。iMAP使用的RGB-D圖片,分為Tracking和Mapping兩個(gè)線程。Tracking線程使用當(dāng)前的模型,F(xiàn)_theta, 優(yōu)化當(dāng)前的相機(jī)位姿;判斷該幀是不是關(guān)鍵幀,如果是關(guān)鍵幀,則關(guān)鍵幀的位姿和模型F_theta一同優(yōu)化。iMAP的框架和傳統(tǒng)SLAM類似,但核心的tracking和聯(lián)合優(yōu)化都有神經(jīng)網(wǎng)絡(luò)優(yōu)化來完成。遺憾的是iMAP并未開源,但好消息是后面的工作nice-slam把iMAP的實(shí)現(xiàn)一同開源出來了。

  • NICE-SLAM: Neural Implicit Scalable Encoding for SLAM. 2021.12 [5]

圖片

NICE-SLAM在iMAP的基礎(chǔ)上做改動,作者不僅開源了自己這部分,也把iMAP的實(shí)現(xiàn)開源了出來。作者的主要改動是使用了特征格網(wǎng)(Feature Grid)+MLP這種顯式+隱式混合的方法來表達(dá)環(huán)境。環(huán)境信息放在體素特征格網(wǎng)內(nèi),MLP作為decorder,將特征格網(wǎng)內(nèi)蘊(yùn)含的信息解碼成occupancy和rgb。同時(shí),作者還用了course-to-fine的思想,將特征格網(wǎng)分成粗、中和精細(xì),以便更細(xì)致的表達(dá)。該方法比iMAP快了2-3倍,雖然具備了一定的實(shí)時(shí)性,但真正用起來還是離實(shí)時(shí)有一些距離。這是當(dāng)前看到的最好、最完善的NeRF-based SLAM工作。

--------------------------渲染加速----------------------------

  • PlenOctrees for Real-time Rendering of Neural Radiance Fields, 2021.03 [6]

圖片

PlenOctrees是一種對渲染加速的方法。加速的方法是訓(xùn)練好mlp這種隱式表達(dá)之后,將空間中所有點(diǎn)以及所有視角觀察都放到網(wǎng)絡(luò)中推理,保存記錄下來。這樣下次使用時(shí),就不必在線使用網(wǎng)絡(luò)推理,查找表即可,加快渲染速度。但由于網(wǎng)絡(luò)輸入有x,y,z,theta,phi五個(gè)自由度,窮舉起來數(shù)量爆炸。所以作者改造網(wǎng)絡(luò),將視角theta,phi從網(wǎng)絡(luò)輸入中解耦出來。網(wǎng)絡(luò)只輸入x,y,z,輸出density和球協(xié)系數(shù)。顏色通過視角乘以球協(xié)函數(shù)得到。這樣網(wǎng)絡(luò)變量的自由度從5下降到3,可以進(jìn)行窮舉保存。

  • SNeRG:Baking Neural Radiance Fields for Real-Time View Synthesis, 2021.03 [8]

圖片

SNeRG和PlenOctrees類似,都是一種加速渲染的方法。Mlp訓(xùn)練好后,把與視角獨(dú)立的信息存入3D體素格網(wǎng)內(nèi)。在這篇文章中,作者把顏色分成固有顏色和鏡面顏色,固有顏色與觀察視角無關(guān)。網(wǎng)絡(luò)輸入3d坐標(biāo)位置,輸出體素密度,固有顏色,和鏡面顏色特征向量。鏡面顏色特征向量在通過一個(gè)小的網(wǎng)絡(luò),結(jié)合視角,解碼成鏡面顏色,加到最終的顏色上。與PlenOctrees一樣,主干mlp網(wǎng)絡(luò)都與視角解耦。PlenOctrees通過球協(xié)函數(shù)恢復(fù)視角顏色,SNeRG通過后接一個(gè)小網(wǎng)絡(luò)恢復(fù)鏡面顏色,在疊加到固有顏色上。

--------------------------訓(xùn)練加速----------------------------

  • DVGO: Direct Voxel Grid Optimization: Super-fast Convergence for Radiance Fields Reconstruction. 2021.11 [7]

圖片

DVGO提出了對網(wǎng)絡(luò)訓(xùn)練進(jìn)行加速的方法。作者發(fā)現(xiàn),使用MLP這種隱式表達(dá),訓(xùn)練速度慢但效果好;使用體素格網(wǎng)這種顯式表達(dá),速度快但效果差。所以DVGO提出了混合的體素格網(wǎng)的表示方法。對于占據(jù)密度(density),直接使用體素格網(wǎng),插值就可以得到任何位置的占據(jù)密度;對于顏色,體素格網(wǎng)里面存儲多維向量,多維向量先經(jīng)過插值,后經(jīng)過MLP解碼成rgb值。這樣網(wǎng)絡(luò)在訓(xùn)練過程中,用到MLP的次數(shù)減少;MLP只翻譯顏色,也可以做的很輕量化,所以訓(xùn)練速度大幅提升。

  • Plenoxels: Radiance Fields without Neural Networks. 2021.12 [9]

圖片

Plenoxels 是PlenOCtrees的后續(xù)工作。作者使用顯式的格網(wǎng)來代替MLP。格網(wǎng)里面存儲一維的density和球協(xié)系數(shù)。當(dāng)有光線經(jīng)過時(shí),光線上的采樣點(diǎn)的density和球協(xié)系數(shù)可由三線性插值得到。這樣整個(gè)過程就擺脫了對神經(jīng)網(wǎng)絡(luò)的依賴,變成了完全顯式的表達(dá)。由于去掉了神經(jīng)網(wǎng)絡(luò)MLP部分,訓(xùn)練速度大幅增加。作者強(qiáng)調(diào)神經(jīng)輻射場的關(guān)鍵不是在于神經(jīng)網(wǎng)絡(luò),而是在于可微分的渲染過程。

[1]NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis. 2020.03

[2]iNeRF: Inverting Neural Radiance Fields for Pose Estimation. 2020.12

[3]BARF : Bundle-Adjusting Neural Radiance Fields. 2021.04

[4]iMAP: Implicit Mapping and Positioning in Real-Time. 2021.03

[5]NICE-SLAM: Neural Implicit Scalable Encoding for SLAM. 2021.12

[6]PlenOctrees for Real-time Rendering of Neural Radiance Fields. 2021.03

[7]Direct Voxel Grid Optimization: Super-fast Convergence for Radiance Fields Reconstruction. 2021.11

[8]Baking Neural Radiance Fields for Real-Time View Synthesis. 2021.03

[9]Plenoxels: Radiance Fields without Neural Networks. 2021.12

文章僅用作學(xué)術(shù)分享,如有侵權(quán)請聯(lián)系刪除。

獨(dú)家重磅課程官網(wǎng):cvlife.net

圖片

全國最大的機(jī)器人SLAM開發(fā)者社區(qū)

圖片


技術(shù)交流群


圖片


—? ?版權(quán)聲明? —

本公眾號原創(chuàng)內(nèi)容版權(quán)屬計(jì)算機(jī)視覺life所有;從公開渠道收集、整理及授權(quán)轉(zhuǎn)載的非原創(chuàng)文字、圖片和音視頻資料,版權(quán)屬原作者。如果侵權(quán),請聯(lián)系我們,會及時(shí)刪除。

綜述 | 基于神經(jīng)輻射場的(NeRF-based) SLAM的評論 (共 條)

分享到微博請遵守國家法律
壶关县| 南阳市| 大连市| 双城市| 崇义县| 雷波县| 项城市| 六盘水市| 安泽县| 玉屏| 定边县| 临沧市| 平果县| 临邑县| 柳林县| 渑池县| 中超| 栖霞市| 威信县| 湘潭县| 韶山市| 皋兰县| 鹿泉市| 连南| 疏附县| 盐边县| 兴城市| 皋兰县| 中超| 万全县| 桦川县| 周口市| 蒙城县| 洪江市| 郧西县| 余姚市| 桃园县| 电白县| 亳州市| 旬阳县| 潮安县|