?導(dǎo)讀 本文是VCC馬雪奇同學(xué)對(duì)論文 SHINE-Mapping: Large-Scale 3D Mapping Using Sparse Hierarchical Implicit Neural Representations[1] 的解讀,該工作來自德國(guó)波恩大學(xué)攝影測(cè)量與機(jī)器人實(shí)驗(yàn)室,已被機(jī)器人領(lǐng)域的頂級(jí)會(huì)議ICRA 2023收錄。 項(xiàng)目主頁: https://github.com/PRBonn/SHINE_mapping 該工作提出了一種基于隱式表達(dá)的大規(guī)模三維建圖的方法,它利用分層八叉樹的結(jié)構(gòu)來存儲(chǔ)可學(xué)習(xí)的局部特征,并通過共享的淺層MLP將局部特征轉(zhuǎn)換為有符號(hào)距離場(chǎng)。相比于以往的工作,該方法能夠以更小的資源消耗,重建出更準(zhǔn)確、更完整的大規(guī)模場(chǎng)景。 注:本文圖片與視頻均來自原論文與其項(xiàng)目主頁。
I 引言 對(duì)移動(dòng)機(jī)器人而言,在大規(guī)模的室外場(chǎng)景中進(jìn)行定位和導(dǎo)航是一項(xiàng)常見的任務(wù)。因此,一個(gè)精確的三維環(huán)境地圖變得尤為重要。重建的三維場(chǎng)景地圖除了要足夠精確,還應(yīng)該盡可能地減少內(nèi)存消耗。而目前的建圖方法往往采用空間網(wǎng)格來表示三維地圖[2][3][4],這種方法很難同時(shí)滿足精確建圖和減少內(nèi)存的要求。 最近,基于隱式神經(jīng)網(wǎng)絡(luò)的表示方法在精確重建網(wǎng)格的同時(shí),還能保持低內(nèi)存消耗的要求。不過,這類方法通常應(yīng)用于RGB-D數(shù)據(jù)構(gòu)建的三維場(chǎng)景[5][6][7],在LiDAR數(shù)據(jù)方面應(yīng)用的不多。此外,這類方法只適用于小型場(chǎng)景,很難應(yīng)用于大規(guī)模的室外場(chǎng)景中。 本次導(dǎo)讀論文從Takikawa等人[8] 的工作中得到啟發(fā),通過構(gòu)建稀疏的分層隱式神經(jīng)網(wǎng)絡(luò)表示,完成了對(duì)大規(guī)模場(chǎng)景的增量式重建。該方法利用八叉樹的稀疏數(shù)據(jù)結(jié)構(gòu)來增量式地存儲(chǔ)學(xué)習(xí)到的局部特征,并基于一個(gè)淺層的MLP將學(xué)習(xí)到的局部特征轉(zhuǎn)換為有符號(hào)距離場(chǎng)。除此之外,該工作還設(shè)計(jì)了一個(gè)二值交叉熵?fù)p失函數(shù),能夠高效地實(shí)現(xiàn)局部特征優(yōu)化。并且,該論文采用正則化的方法對(duì)特征更新進(jìn)行約束,有效地緩解了在大規(guī)模場(chǎng)景建圖過程中遇到的災(zāi)難性遺忘問題。實(shí)驗(yàn)結(jié)果表明: (1) 在密集點(diǎn)云采樣區(qū)域,該方法的重建精度優(yōu)于基于TSDF的方法[4][9] 以及基于體積渲染的隱式神經(jīng)映射方法[7]; (2) 在稀疏點(diǎn)云采樣區(qū)域,該方法的重建完整度優(yōu)于非學(xué)習(xí)的方法[12]; (3) 相比于基于TSDF的方法,該方法重建的場(chǎng)景內(nèi)存消耗更小。
II 技術(shù)貢獻(xiàn)
本工作主要貢獻(xiàn)如下:
提出了一種新的基于稀疏分層八叉樹的大規(guī)模場(chǎng)景表示方法。該方法增量式地將學(xué)習(xí)到的局部特征向量存儲(chǔ)在八叉樹中,并通過一個(gè)淺層的神經(jīng)網(wǎng)絡(luò)將學(xué)習(xí)到的局部特征轉(zhuǎn)換為有符號(hào)距離值;
設(shè)計(jì)了一種二值交叉損失函數(shù),能夠?qū)崿F(xiàn)快速且魯棒的局部特征值優(yōu)化;
通過對(duì)特征進(jìn)行正則化,有效避免了災(zāi)難性遺忘問題對(duì)大規(guī)模場(chǎng)景建圖的影響。
III 方法介紹 SHINE-Mapping以激光雷達(dá)點(diǎn)云作為輸入,利用稀疏分層八叉樹以及全局共享的MLP解碼器來隱式地表示連續(xù)空間中的有符號(hào)距離場(chǎng)。該方法以直接測(cè)量的點(diǎn)云作為監(jiān)督,通過在線優(yōu)化MLP解碼器輸出的有符號(hào)距離值來捕捉局部場(chǎng)景中的幾何信息。最后,該方法利用Marching Cubes[10]將有符號(hào)距離場(chǎng)轉(zhuǎn)換為顯式的網(wǎng)格信息。 隱式神經(jīng)地圖表示 首先,SHINE-Mapping將三維空間中的局部特征存儲(chǔ)在稀疏分層八叉樹中,實(shí)現(xiàn)了隱式地圖表示,有效地減少了建圖過程中的內(nèi)存開銷。其次,該方法將八叉樹中存儲(chǔ)的多層局部特征進(jìn)行求和,并送入到MLP中進(jìn)行解碼,從而得到三維空間中的有符號(hào)距離場(chǎng)。 此外,為了能夠快速查找局部空間中的特征信息,SHINE-Mapping將八叉樹中每一層特征信息存儲(chǔ)在一個(gè)哈希表中,并通過獨(dú)特的莫頓碼,將多維數(shù)據(jù)映射到一維。這樣的設(shè)計(jì)使得該方法能夠輕松地?cái)U(kuò)展地圖,而無需事先分配內(nèi)存,從而有效地提升了建圖速度。
圖1 SHINE-Mapping整體重建過程 圖1為SHINE-Mapping重建隱式表示地圖的整體過程。為了便于理解,上圖中僅描述了兩個(gè)層級(jí)的特征,綠色和藍(lán)色。該方法的流程為:對(duì)于任意的查詢點(diǎn)首先從最底層(第0層)開始,對(duì)的空間位置進(jìn)行三線性插值,從而得到第0層的特征。然后以此類推,獲得第1層的特征信息。接著,該方法通過對(duì)多層的特征信息進(jìn)行求和,得到合并后的特征,并將合并后的特征送入到MLP中,從而獲得位置點(diǎn)的有符號(hào)距離值。由于整個(gè)過程是可微的,因此可以通過反向傳播的方式對(duì)特征向量和MLP參數(shù)進(jìn)行聯(lián)合優(yōu)化。 訓(xùn)練與損失函數(shù) 因?yàn)長(zhǎng)iDAR能夠提供準(zhǔn)確的三維空間測(cè)距結(jié)果,因此該方法直接以LiDAR作為真值,以二值交叉熵作為損失函數(shù)來對(duì)特征向量和MLP參數(shù)進(jìn)行監(jiān)督訓(xùn)練。除此之外,由于該方法的網(wǎng)絡(luò)輸出是有符號(hào)距離值,為了能夠得到準(zhǔn)確的輸出結(jié)果,該方法在損失函數(shù)中添加了一個(gè)Eikonal項(xiàng)[11]: 其中為網(wǎng)絡(luò)模型的輸出,為網(wǎng)絡(luò)模型的參數(shù),為網(wǎng)絡(luò)模型的輸入。 得到的損失函數(shù)如下:其中,為超參數(shù),其表示的權(quán)重。 增量式重建 在增量式重建工程中,由于每次重建只聚焦于當(dāng)前的局部區(qū)域,忽略了之前重建區(qū)域的信息,往往會(huì)導(dǎo)致最終的全局重建性能下降。為了避免這種問題對(duì)重建結(jié)果的影響SHINE-Mapping在損失函數(shù)中添加了正則化項(xiàng)用于約束參數(shù)更新:其中,為權(quán)重,表示先前訓(xùn)練數(shù)據(jù)的Loss對(duì)于參數(shù)變化的敏感性。為當(dāng)前的參數(shù)值,為之前數(shù)據(jù)訓(xùn)練收斂之后的參數(shù)值。增量式重建的損失函數(shù)如下:其中,為超參數(shù),表示的權(quán)重。 IV 部分結(jié)果展示
接下來我們首先以虛擬場(chǎng)景數(shù)據(jù)集MaiCity dataset為例,展示SHINE-Mapping與之前方法 Voxblox、VDBFusion、Puma[12] 以及添加可微渲染 (Differentiable Rendering: DR) 的SHINE-Mapping的重建結(jié)果對(duì)比。第一行展示的是重建后的網(wǎng)格結(jié)果,其中,黑色線框部分為街道兩旁的“樹”;第二行展示的是重建結(jié)果的誤差圖,從藍(lán)色到紅色的顏色圖表示從-5cm到5cm的有符號(hào)重建誤差。
圖2 在MaiCity數(shù)據(jù)集上,不同方法的重建結(jié)果對(duì)比
表1為不同方法在MaiCity數(shù)據(jù)集上的重建質(zhì)量評(píng)價(jià)結(jié)果??梢钥闯觯琒HINE-Mapping與先前的大規(guī)模室外場(chǎng)景建圖方法相比,在完整性誤差,準(zhǔn)確性誤差、Chamfer-L1誤差、完整度、F-score上均表現(xiàn) SOTA。
表1 不同方法在MaiCity數(shù)據(jù)集上的重建質(zhì)量對(duì)比
圖3 在MaiCity數(shù)據(jù)集上,SHINE-Mapping增量式重建過程
接下來是SHINE-Mapping在真實(shí)場(chǎng)景數(shù)據(jù)集Newer College dataset上的重建結(jié)果。第一行展示的是不同方法重建的Newer College網(wǎng)格結(jié)果,黑色線框部分為“樹”;第二行展示的是重建結(jié)果的誤差圖,從藍(lán)色到紅色的顏色圖表示從-50cm到50cm的有符號(hào)重建誤差。
圖4 在Newer College數(shù)據(jù)集上,不同方法的重建結(jié)果對(duì)比
?圖5 在Newer College數(shù)據(jù)集上,SHINE-Mapping的重建結(jié)果
表2為不同方法在Newer College dataset上的重建質(zhì)量評(píng)價(jià)結(jié)果。可以看到,在真實(shí)場(chǎng)景數(shù)據(jù)集上,相比于其他方法,SHINE-Mapping的重建質(zhì)量也是最好的。
表2 不同方法在Newer College數(shù)據(jù)集上的重建質(zhì)量對(duì)比
下圖描述了在MaiCity dataset與Newer College dataset兩個(gè)數(shù)據(jù)集實(shí)驗(yàn)中,內(nèi)存消耗與建圖質(zhì)量之間的關(guān)系,地圖的分辨率從100cm到10cm。從對(duì)比結(jié)果可以看出,SHINE-Mapping方法可以使用更小的內(nèi)存資源來重建出質(zhì)量更高的室外地圖。
圖6 不同方法在內(nèi)存效率與重建誤差上的表現(xiàn)
下圖為SHINE-Mapping在KITTI dataset上的重建過程。可以看到,即使是大規(guī)模的實(shí)際復(fù)雜街道場(chǎng)景,該方法依然可以精確地重建出道路的真實(shí)樣貌。
圖7 SHINE-Mapping在KITTI數(shù)據(jù)集上的重建過程
V 總結(jié)與展望 本次導(dǎo)讀的論文提出了一種基于LiDAR的大規(guī)模三維場(chǎng)景建圖方法。與基于TSDF的方法不同,SHINE-Mapping方法使用基于八叉樹的隱式表示法,將學(xué)習(xí)到的隱式特征存儲(chǔ)在哈希表中,大大縮短了處理時(shí)間。其次,該方法將學(xué)習(xí)到的特征通過一個(gè)MLP轉(zhuǎn)換為有符號(hào)距離值,并通過Marching Cubes進(jìn)行顯式化網(wǎng)格重建。除此之外,該方法通過對(duì)損失函數(shù)進(jìn)行調(diào)整,并添加相應(yīng)的正則化,避免了增量式重建過程中遇到的災(zāi)難性遺忘問題。實(shí)驗(yàn)結(jié)果表明,該方法能夠以較小的內(nèi)存重建出更為準(zhǔn)確和完整的三維地圖。 VI 思考與討論 Q: SHINE-Mapping方法將局部特征信息存放入八叉樹中時(shí),使用了其中的幾層呢?又是如何實(shí)現(xiàn)快速查找對(duì)應(yīng)的特征信息的呢? A: 如下圖所示,假設(shè)八叉樹為11層,SHINE-Mapping方法將最低的三層作為局部特征存放層,即第0,1,2層(分別對(duì)應(yīng)圖中的紅色、綠色、藍(lán)色方格)。為了能夠加速建圖速度,SHINE-Mapping將八叉樹中第 0,1,2層的局部特征信息存儲(chǔ)在哈希表中,并且每一層對(duì)應(yīng)一個(gè)哈希表。當(dāng)需要查詢指定點(diǎn)的局部特征時(shí),使用哈希表可以很快得到相應(yīng)的特征信息。
圖8SHINE-Mapping對(duì)空間進(jìn)行網(wǎng)格劃分,并得到局部特征信息 Q: 在增量式重建過程中,是否可以使用預(yù)訓(xùn)練的MLP作為解碼器來得到相應(yīng)的有符號(hào)距離值? A: 是的,雖然本文提出的方法可以在訓(xùn)練過程中聯(lián)合優(yōu)化八叉樹中的局部特征信息以及MLP中的參數(shù),但是在實(shí)際增量式重建過程中,作者采用的是預(yù)訓(xùn)練的MLP來得到對(duì)應(yīng)位置的有符號(hào)距離值,一方面這樣可以加快重建的速度,另外一方面,在實(shí)驗(yàn)過程中,使用預(yù)訓(xùn)練的MLP可以得到更好的重建效果。 以下是開放性問題,歡迎讀者朋友留言討論: Q: SHINE-Mapping在增量式重建的過程中,實(shí)際上是增量式地更新空間中的局部特征信息,并在更新完整個(gè)地圖之后,使用MLP將局部特征信息轉(zhuǎn)換為有符號(hào)距離值,然后使用Marching Cubes來顯式的構(gòu)建網(wǎng)格。因此,如果想在建圖的過程中,實(shí)時(shí)地查看重建的網(wǎng)格信息,則需要不斷地調(diào)用MLP和Marching Cubes,這將會(huì)導(dǎo)致實(shí)時(shí)的計(jì)算效率非常低。那么應(yīng)該如何改進(jìn)這一方法,或者是否可以使用其他的網(wǎng)格構(gòu)建方法,使得在快速建圖過程中,能夠?qū)崟r(shí)地查看重建效果呢?
-
機(jī)器人
+關(guān)注
關(guān)注
210文章
28103瀏覽量
205849 -
三維
+關(guān)注
關(guān)注
1文章
489瀏覽量
28923 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4277瀏覽量
62323
原文標(biāo)題:基于稀疏分層隱式神經(jīng)表示的大規(guī)模三維場(chǎng)景建圖
文章出處:【微信號(hào):3D視覺工坊,微信公眾號(hào):3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論