論文信息
標(biāo)題:NICE-SLAM: Neural Implicit Scalable Encoding for SLAM
作者:Zihan Zhu, Songyou Peng,Viktor Larsson — Zhejiang University
來源:CVPR
代碼:https://pengsongyou.github.io/nice-slam
時(shí)間:2022
Abstract
神經(jīng)隱式(Neural implicit representations)表示最近在同步定位和地圖繪制(SLAM)方面有一定的進(jìn)展,但現(xiàn)有方法會(huì)產(chǎn)生過度平滑的場(chǎng)景重建,并且難以擴(kuò)展到大型場(chǎng)景。這些限制主要是由于其簡(jiǎn)單的全連接網(wǎng)絡(luò)架構(gòu),未在觀測(cè)中納入本地信息。
我們提出了 NICE-SLAM,這是一種密集 SLAM 系統(tǒng),通過引入分層場(chǎng)景表示來合并多級(jí)局部信息。使用預(yù)先訓(xùn)練的幾何先驗(yàn)優(yōu)化這種表示,可以實(shí)現(xiàn)大型室內(nèi)場(chǎng)景的詳細(xì)重建。與最近的神經(jīng)隱式 SLAM 系統(tǒng)相比,我們的方法更具可擴(kuò)展性、高效性和魯棒性。
Introduction
現(xiàn)有方法的缺陷
傳統(tǒng)的密集視覺SLAM系統(tǒng)[29,41,58,59]滿足實(shí)時(shí)要求并且可以在大規(guī)模場(chǎng)景中使用,但它們無法對(duì)未觀察到的區(qū)域進(jìn)行合理的幾何估計(jì)。
基于學(xué)習(xí)的 SLAM 方法 [3,12,47,67] 獲得了一定水平的預(yù)測(cè)能力,因?yàn)樗鼈兺ǔT谔囟ㄓ谌蝿?wù)的數(shù)據(jù)集上進(jìn)行訓(xùn)練。此外,基于學(xué)習(xí)的方法往往可以更好地處理噪聲和異常值。然而,這些方法通常僅適用于具有多個(gè)對(duì)象的小場(chǎng)景。
iMAP [46] 的關(guān)鍵限制因素源于它使用單個(gè)多層感知器 (MLP) 來表示整個(gè)場(chǎng)景,而該場(chǎng)景只能通過每個(gè)新的、可能部分的 RGB-D 觀察進(jìn)行全局更新。相比之下,最近的工作[37, 48]表明,建立多級(jí)基于網(wǎng)格的特征有助于保留幾何細(xì)節(jié)并能夠重建復(fù)雜場(chǎng)景,但這些都是離線方法,沒有實(shí)時(shí)能力。
主要貢獻(xiàn)
? 我們推出NICE-SLAM,這是一種密集的RGB-D SLAM 系統(tǒng),具有實(shí)時(shí)能力、可擴(kuò)展性、預(yù)測(cè)性,并且對(duì)各種具有挑戰(zhàn)性的場(chǎng)景具有魯棒性。
? NICE-SLAM 的核心是分層的、基于網(wǎng)格的神經(jīng)隱式編碼。與全局神經(jīng)場(chǎng)景編碼相比,這種表示允許局部更新,這是大規(guī)模方法的先決條件。
? 我們對(duì)各種數(shù)據(jù)集進(jìn)行了廣泛的評(píng)估,這些數(shù)據(jù)集在繪圖和跟蹤方面表現(xiàn)出了競(jìng)爭(zhēng)性的性能。
Related Work
Dense Visual SLAM
地圖表示可分為兩類:以地圖為中心(view-centric)和以世界為中心(world-centric)
view-centric:
將 3D 幾何體錨定到特定關(guān)鍵幀,通常在密集環(huán)境中表示為深度圖。
這一類別的早期例子之一是 DTAM 。由于其簡(jiǎn)單性,DTAM 已廣泛應(yīng)用于許多最新的基于學(xué)習(xí)的 SLAM 系統(tǒng)中。例如,[54, 68] 回歸深度和姿勢(shì)更新。 DeepV2D 類似地在回歸深度和姿態(tài)估計(jì)之間交替,但使用測(cè)試時(shí)優(yōu)化。 BA-Net 和 DeepFactors 通過使用一組基礎(chǔ)深度圖簡(jiǎn)化了優(yōu)化問題。還有一些方法,例如 CodeSLAM 、SceneCode 和 NodeSLAM ,它們優(yōu)化了解碼為關(guān)鍵幀或?qū)ο笊疃葓D的潛在表示。 DROID-SLAM 使用回歸光流來定義幾何殘差以進(jìn)行細(xì)化。 TANDEM 將多視圖立體與 DSO 結(jié)合起來,形成實(shí)時(shí)密集 SLAM 系統(tǒng)。
word-centric:
將 3D 幾何圖形錨定在統(tǒng)一的世界坐標(biāo)中,并且可以進(jìn)一步分為面元 和體素網(wǎng)格,通常存儲(chǔ)占用或 TSDF 值 。體素網(wǎng)格已廣泛用于 RGB-D SLAM,例如 KinectFusion 。
Neral Implict Representations(神經(jīng)隱式表示)
神經(jīng)隱式表示在對(duì)象幾何表示、場(chǎng)景完成、新穎視圖合成 以及生成建模中有應(yīng)用。最近的一些論文嘗試使用 RGB-(D) 輸入來預(yù)測(cè)場(chǎng)景級(jí)幾何,但它們都假設(shè)給定的相機(jī)姿勢(shì)。另一些工作解決了相機(jī)位姿優(yōu)化問題,但它們需要相當(dāng)長(zhǎng)的優(yōu)化過程,不適合實(shí)時(shí)應(yīng)用。
給定 RGB-D 序列,IMAP引入了實(shí)時(shí)密集 SLAM 系統(tǒng),該系統(tǒng)使用單個(gè)多層感知器 (MLP) 來緊湊地表示整個(gè)場(chǎng)景。然而,由于單個(gè) MLP 的模型容量有限,iMAP 無法生成詳細(xì)的場(chǎng)景幾何形狀和準(zhǔn)確的相機(jī)跟蹤,特別是對(duì)于較大的場(chǎng)景。
Method
圖 2. 系統(tǒng)概覽。我們的方法采用 RGB-D 圖像流作為輸入,并以分層特征網(wǎng)格的形式輸出相機(jī)姿勢(shì)以及學(xué)習(xí)到的場(chǎng)景表示。從右到左,我們的管道可以解釋為生成模型,它根據(jù)給定的場(chǎng)景表示和相機(jī)姿勢(shì)渲染深度和彩色圖像。在測(cè)試時(shí),我們通過可微渲染器(從左到右)反向傳播圖像和深度重建損失來解決逆問題,從而估計(jì)場(chǎng)景表示和相機(jī)姿勢(shì)。兩個(gè)實(shí)體在交替優(yōu)化中進(jìn)行估計(jì): Mapping:反向傳播僅更新分層場(chǎng)景表示;Tracking:反向傳播僅更新相機(jī)姿態(tài)。為了更好的可讀性,我們將用于幾何編碼的精細(xì)網(wǎng)格與同等大小的顏色網(wǎng)格結(jié)合在一起,并將它們顯示為具有兩個(gè)屬性(紅色和橙色)的一個(gè)網(wǎng)格。
Hierarchical Scene Representation(層次化場(chǎng)景表示)
幾何形狀被編碼為三個(gè)特征網(wǎng)絡(luò) ? θ l \phi _\theta ^l ?θl?及其對(duì)應(yīng)的MLP解碼器 f l f^l fl,其中 l ∈ { 0 , 1 , 2 } l \in \{0,1,2\} l∈{0,1,2}分別指coarse、mid、fine-level
場(chǎng)景外觀使用單特征網(wǎng)絡(luò) ψ ω \psi _\omega ψω?和解碼器 g ω g_\omega gω?進(jìn)行建模
θ \theta θ和 ω \omega ω表示幾何和顏色的可優(yōu)化參數(shù),即網(wǎng)格中的特征和顏色解碼器中的權(quán)重。
Mid-&Fine-level Geometric Representation
在重建過程中,我們以從粗到細(xì)的方法使用這兩個(gè)網(wǎng)格,首先通過優(yōu)化中級(jí)特征網(wǎng)格來重建幾何形狀,然后使用精細(xì)級(jí)進(jìn)行細(xì)化。
在實(shí)現(xiàn)中,我們使用邊長(zhǎng)分別為 32cm 和 16cm 的voxel grid(體素網(wǎng)格),除了 TUM RGBD [45],我們使用 16cm 和 8cm。對(duì)于mid-level,使用相關(guān)的 MLP
f
1
f^1
f1 將特征直接解碼為占用值。對(duì)于任何點(diǎn)
p
∈
R
3
\textbf{p} \in \mathbb{R}^3
p∈R3,我們得到的占用率為
o
p
1
=
f
1
(
p
,
?
θ
1
(
p
)
)
o_{\textbf{p}}^1=f^1(\textbf{p},\phi ^1_{\theta}(\textbf{p}))
op1?=f1(p,?θ1?(p))
其中
o
p
1
o_{\textbf{p}}^1
op1?表示特征網(wǎng)格在 p 點(diǎn)進(jìn)行三線性插值。
為了捕獲場(chǎng)景幾何中較小的高頻細(xì)節(jié),我們以殘差方式添加精細(xì)級(jí)別的特征。特別地,精細(xì)級(jí)特征解碼器將相應(yīng)的中級(jí)特征和精細(xì)級(jí)特征兩者作為輸入,并輸出相對(duì)于中級(jí)占用率的偏移,即:
Δ
o
p
1
=
f
2
(
p
,
?
θ
1
(
p
)
,
?
θ
2
(
p
)
)
\Delta o_{\textbf{p}}^1=f^2(\textbf{p},\phi ^1_{\theta}(\textbf{p}),\phi ^2_{\theta}(\textbf{p}))
Δop1?=f2(p,?θ1?(p),?θ2?(p))
最終一個(gè)點(diǎn)的占用率為:
o
p
=
o
p
1
+
Δ
o
p
1
o_{\textbf{p}}=o_{\textbf{p}}^1+\Delta o_{\textbf{p}}^1
op?=op1?+Δop1?
我們固定了預(yù)訓(xùn)練解碼器 f 1 f^1 f1 和 f 2 f^2 f2 ,并且在整個(gè)優(yōu)化過程中僅優(yōu)化特征網(wǎng)格 ? θ 1 \phi ^1_{\theta} ?θ1?和 ? θ 2 \phi ^2_{\theta} ?θ2? ,這有助于穩(wěn)定優(yōu)化并學(xué)習(xí)一致的幾何形狀。
Coarse-level Geometric Representation
粗級(jí)特征網(wǎng)格旨在捕獲場(chǎng)景的高級(jí)幾何形狀(例如墻壁、地板等),并獨(dú)立于中級(jí)和精細(xì)級(jí)進(jìn)行優(yōu)化。
粗網(wǎng)格的目標(biāo)是能夠預(yù)測(cè)觀察到的幾何形狀(在中/精細(xì)級(jí)別中編碼)之外的近似占用值,即使每個(gè)粗體素僅被部分觀察到。為此,我們?cè)趯?shí)現(xiàn)中使用了非常低的分辨率,邊長(zhǎng)為 2m。與中級(jí)網(wǎng)格類似,我們通過對(duì)特征進(jìn)行插值并通過 MLP
f
0
f^0
f0 直接解碼為占用值,即:
o
p
0
=
f
0
(
p
,
?
θ
0
(
p
)
)
o_{\textbf{p}}^0=f^0(\textbf{p},\phi ^0_{\theta}(\textbf{p}))
op0?=f0(p,?θ0?(p))
Pre-training Feature Decoders
在我們的框架中,我們使用三種不同的固定 MLP 將網(wǎng)格特征解碼為占用值。粗級(jí)和中級(jí)解碼器作為 ConvONet [37] 的一部分進(jìn)行預(yù)訓(xùn)練,該網(wǎng)絡(luò)由 CNN 編碼器和 MLP 解碼器組成。我們使用預(yù)測(cè)值和真實(shí)值之間的二進(jìn)制交叉熵?fù)p失來訓(xùn)練編碼器/解碼器。
訓(xùn)練后,我們僅使用解碼器 MLP ,因?yàn)槲覀儗⒅苯觾?yōu)化特征以適應(yīng)重建管道中的觀察結(jié)果。
使用相同的策略來預(yù)訓(xùn)練精細(xì)級(jí)解碼器,只是我們?cè)谳斎氲浇獯a器之前簡(jiǎn)單地將中級(jí)特征 ? θ 1 ( p ) \phi ^1_{\theta}(\textbf{p}) ?θ1?(p)與精細(xì)級(jí)特征 ? θ 2 ( p ) \phi ^2_{\theta}(\textbf{p}) ?θ2?(p)連接起來。
Color Representation
為了對(duì)場(chǎng)景中的顏色進(jìn)行編碼,我們應(yīng)用另一個(gè)特征網(wǎng)格 ψ ω \psi _\omega ψω? 和解碼器 g ω g _\omega gω?: c p = g ω ( p , ψ ω ( p ) ) c_p=g _\omega(\textbf{p},\psi_\omega(\textbf{p})) cp?=gω?(p,ψω?(p)), 其中 ω 表示優(yōu)化期間的可學(xué)習(xí)參數(shù)。
Network Design
對(duì)于所有 MLP 解碼器,我們使用 32 個(gè)隱藏特征維度和 5 個(gè)全連接塊。除了粗級(jí)幾何表示之外,我們?cè)谧鳛?MLP 解碼器的輸入之前對(duì) p 應(yīng)用可學(xué)習(xí)的高斯位置編碼 。
Depth and Color Rendering
給定相機(jī)內(nèi)在參數(shù)和當(dāng)前相機(jī)位姿,我們可以計(jì)算像素坐標(biāo)的觀察方向 r \textbf{r} r。我們首先沿著這條射線采樣 N s t r a t N_{strat} Nstrat?點(diǎn)進(jìn)行分層采樣,同時(shí)也在深度附近均勻采樣 N i m p N_{imp} Nimp?點(diǎn)。總共,我們對(duì)每條射線采樣 N = N s t r a t + N i m p N = N_{strat} + N_{imp} N=Nstrat?+Nimp? 個(gè)點(diǎn)。
p i = o + d i r , i ∈ { 1 , . . . , N } \textbf{p}_i=\textbf{o}+d_i\textbf{r},i \in \{1,...,N\} pi?=o+di?r,i∈{1,...,N}表示給定相機(jī)原點(diǎn) o \textbf{o} o 的射線 r \textbf{r} r 上的采樣點(diǎn), d i d_i di? 對(duì)應(yīng)于 p i \textbf{p}_i pi? 沿該射線的深度值。
計(jì)算出每個(gè)點(diǎn)的粗級(jí)占用概率 o p i 0 o_{p_i}^0 opi?0?、精細(xì)級(jí)占用概率 o p i o_{p_i} opi??和顏色值 c p i c_{p_i} cpi??。
將點(diǎn) p i \textbf{p}_i pi? 處的射線終止概率建模為粗略級(jí)別的 ω i c = o p i 0 ∏ j = 1 i ? 1 ( 1 ? o p j 0 ) \omega_i^c=o_{p_i}^0\prod_{j=1}^{i-1}(1-o_{p_j}^0) ωic?=opi?0?∏j=1i?1?(1?opj?0?) ,并且 ω i f = o p i ∏ j = 1 i ? 1 ( 1 ? o p j ) \omega_i^f=o_{p_i}\prod_{j=1}^{i-1}(1-o_{p_j}) ωif?=opi??∏j=1i?1?(1?opj??)為精細(xì)水平。
最后,對(duì)于每條光線,粗略和精細(xì)級(jí)別的深度以及顏色可以渲染為:
Mapping and Tracking
Mapping
為了優(yōu)化 場(chǎng)景表示,我們從當(dāng)前幀和選定的關(guān)鍵幀中均勻采樣總共 M 個(gè)像素。接下來,我們以分階段的方式進(jìn)行優(yōu)化,以最大限度地減少幾何和光度損失。
幾何損失只是粗略或精細(xì)級(jí)別的觀測(cè)值和預(yù)測(cè)深度之間的 L1 損失:
光度損失也是 M 個(gè)采樣像素的渲染顏色值和觀察到的顏色值之間的 L1 損失:
- 第一階段,我們使用等式(8)中的幾何損失 L g f L^f_g Lgf?僅優(yōu)化中層特征網(wǎng)格 ? θ 1 \phi^1_θ ?θ1?。
- 接下來,我們使用相同的精細(xì)級(jí)深度損失 L g f L^f_g Lgf? 聯(lián)合優(yōu)化中級(jí)和精細(xì)級(jí) ψ θ 1 ψ^1_θ ψθ1?、 ψ θ 2 ψ^2_θ ψθ2? 特征。
- 最后,我們進(jìn)行局部捆綁調(diào)整(BA)來聯(lián)合優(yōu)化各級(jí)特征網(wǎng)格、顏色解碼器以及K個(gè)選定關(guān)鍵幀的相機(jī)外在參數(shù){
R
i
,
t
i
R_i,t_i
Ri?,ti?},其中
λ
p
λ_p
λp?是損失權(quán)重因子。
這種多階段優(yōu)化方案可以實(shí)現(xiàn)更好的收斂,因?yàn)楦叻直媛实耐庥^和精細(xì)級(jí)特征可以依賴于來自中級(jí)特征網(wǎng)格的已經(jīng)細(xì)化的幾何形狀。
Camera Tracking
我們還運(yùn)行并行相機(jī)跟蹤來優(yōu)化當(dāng)前幀的相機(jī)姿勢(shì),即旋轉(zhuǎn)和平移{R,t}。為此,我們對(duì)當(dāng)前幀中的
M
t
M_t
Mt? 像素進(jìn)行采樣,并使用與等式(9)相同的光度損失,以及修改后的幾何損失:
相機(jī)跟蹤最終被表述為以下最小化問題:
Robustness to Dynamic Objects
為了使優(yōu)化在跟蹤過程中對(duì)動(dòng)態(tài)對(duì)象更加魯棒,我們過濾了具有大深度/顏色重新渲染損失的像素。特別是,我們從優(yōu)化中刪除損失 Eq (12) 大于當(dāng)前幀中所有像素的中值損失值 10 倍的任何像素。
圖 6 顯示了一個(gè)示例,其中動(dòng)態(tài)對(duì)象被忽略,因?yàn)樗淮嬖谟阡秩镜?RGB 和深度圖像中。
請(qǐng)注意,對(duì)于此任務(wù),我們僅在映射過程中優(yōu)化場(chǎng)景表示。在動(dòng)態(tài)環(huán)境下聯(lián)合優(yōu)化相機(jī)參數(shù)和場(chǎng)景表示并非易事,我們認(rèn)為這是一個(gè)有趣的未來方向。
Keyframe Selection
我們本著 iMAP [46] 的精神維護(hù)一個(gè)全局關(guān)鍵幀列表,我們根據(jù)信息增益逐步添加新的關(guān)鍵幀。然而,與 iMAP [46] 相比,我們?cè)趦?yōu)化場(chǎng)景幾何時(shí)僅包含與當(dāng)前幀有視覺重疊的關(guān)鍵幀。
Experiments
我們考慮 5 個(gè)通用數(shù)據(jù)集:Replica [44]、ScanNet [13]、TUM RGB-D 數(shù)據(jù)集 [45]、Co-Fusion 數(shù)據(jù)集 [39],以及自捕獲的具有多個(gè)房間的大型公寓。我們遵循與[53]中相同的 TUM RGB-D 預(yù)處理步驟。
** 這部分暫時(shí)先不關(guān)注
Conclusion
我們提出了 NICE-SLAM,這是一種密集視覺 SLAM 方法,它將神經(jīng)隱式表示的優(yōu)點(diǎn)與基于分層網(wǎng)格的場(chǎng)景表示的可擴(kuò)展性結(jié)合起來。與具有單個(gè)大 MLP 的場(chǎng)景表示相比,我們的實(shí)驗(yàn)表明,我們的表示(微小的 MLP + 多分辨率特征網(wǎng)格)不僅保證了精細(xì)的映射和高跟蹤精度,而且由于本地場(chǎng)景更新的好處。此外,我們的網(wǎng)絡(luò)能夠填充小孔并將場(chǎng)景幾何形狀外推到未觀察到的區(qū)域,從而穩(wěn)定相機(jī)跟蹤。文章來源:http://www.zghlxwxcb.cn/news/detail-615396.html
Limitations
我們方法的預(yù)測(cè)能力僅限于粗略表示的規(guī)模。此外,我們的方法不執(zhí)行閉環(huán)檢測(cè),這是一個(gè)有趣的未來方向。最后,盡管傳統(tǒng)方法缺乏一些功能,但與基于學(xué)習(xí)的方法仍然存在需要彌補(bǔ)的性能差距。文章來源地址http://www.zghlxwxcb.cn/news/detail-615396.html
到了這里,關(guān)于NICE-SLAM: Neural Implicit Scalable Encoding for SLAM論文閱讀的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!