vMAP 是一種基于神經(jīng)場的對象級密集 SLAM 系統(tǒng),可根據(jù) RGB-D 輸入流實(shí)時(shí)自動(dòng)構(gòu)建對象級場景模型。每個(gè)對象都由一個(gè)單獨(dú)的 MLP 神經(jīng)場模型表示,無需 3D 先驗(yàn)即可實(shí)現(xiàn)高效、無懈可擊的對象建模。該系統(tǒng)可以在單個(gè)場景中優(yōu)化多達(dá) 50 個(gè)單獨(dú)的對象,與之前的神經(jīng)場 SLAM 系統(tǒng)相比,可以顯著提高場景級和對象級的重建質(zhì)量。
摘要
我們提出了 vMAP,一種使用神經(jīng)場表示的對象級密集 SLAM 系統(tǒng)。每個(gè)對象都由一個(gè)小型 MLP 表示,無需 3D 先驗(yàn)即可實(shí)現(xiàn)高效、無懈可擊的對象建模。
當(dāng) RGB-D 相機(jī)在沒有先驗(yàn)信息的情況下瀏覽場景時(shí),vMAP 會即時(shí)檢測對象實(shí)例,并將它們動(dòng)態(tài)添加到其地圖中。具體來說,由于矢量化訓(xùn)練的強(qiáng)大功能,vMAP 可以在單個(gè)場景中優(yōu)化多達(dá) 50 個(gè)單獨(dú)的對象,具有 5Hz 地圖更新的極其高效的訓(xùn)練速度。與之前的神經(jīng)場 SLAM 系統(tǒng)相比,我們通過實(shí)驗(yàn)證明了場景級和對象級重建質(zhì)量的顯著提高。
每個(gè)對象都由一個(gè)單獨(dú)的 MLP 神經(jīng)場模型表示,所有對象都通過矢量化訓(xùn)練并行優(yōu)化。我們不使用 3D 形狀先驗(yàn),但 MLP 表示鼓勵(lì)對象重建是無懈可擊的和完整的,即使對象在輸入圖像中被部分觀察到或被嚴(yán)重遮擋。例如,在 Replica 的這個(gè)例子中,請參見相互遮擋的扶手椅、沙發(fā)和墊子的單獨(dú)重建。
1.介紹
對于機(jī)器人和其他交互式視覺應(yīng)用程序,對象級模型在語義上可以說是最佳的,場景實(shí)體以分離的、可組合的方式表示,而且還能有效地將資源集中在環(huán)境中的重要內(nèi)容上
構(gòu)建對象級建圖系統(tǒng)的關(guān)鍵問題是,為了對場景中的對象進(jìn)行分割、分類和重建,需要了解什么級別的先驗(yàn)信息。如果沒有可用的 3D 物體先驗(yàn),那么通常只能重建物體的直接觀察部分,從而導(dǎo)致孔洞和缺失部分 [4, 46]。先驗(yàn)對象信息,如 CAD 模型或類別級形狀空間模型,可以從局部視圖估計(jì)完整的對象形狀,但僅限于這些模型可用的場景中的對象子集
在本文中,我們提出了一種新方法,適用于沒有可用的 3D 先驗(yàn)但仍然經(jīng)常在逼真的實(shí)時(shí)場景掃描中啟用水密對象重建的情況。我們的系統(tǒng) vMAP 建立在神經(jīng)場作為實(shí)時(shí)場景表示 [31] 顯示的吸引人的屬性的基礎(chǔ)上,具有高效和完整的形狀表示,但現(xiàn)在重建每個(gè)對象的單獨(dú)微型 MLP 模型。我們工作的關(guān)鍵技術(shù)貢獻(xiàn)是表明大量獨(dú)立的 MLP 對象模型可以在實(shí)時(shí)操作期間通過矢量化訓(xùn)練在單個(gè) GPU 上同時(shí)有效地優(yōu)化
我們表明,與在整個(gè)場景的單個(gè)神經(jīng)場模型中使用相似數(shù)量的權(quán)重相比,我們可以通過單獨(dú)建模對象來實(shí)現(xiàn)更加準(zhǔn)確和完整的場景重建。我們的實(shí)時(shí)系統(tǒng)在計(jì)算和內(nèi)存方面都非常高效,并且我們展示了具有多達(dá) 50 個(gè)對象的場景可以在多個(gè)獨(dú)立對象網(wǎng)絡(luò)中以每個(gè)對象 40KB 的學(xué)習(xí)參數(shù)進(jìn)行建圖
我們還展示了我們的分離對象表示的靈活性,可以使用新的對象配置重新組合場景。對模擬和真實(shí)世界的數(shù)據(jù)集進(jìn)行了廣泛的實(shí)驗(yàn),展示了最先進(jìn)的場景級和對象級重建性能
2.相關(guān)工作
這項(xiàng)工作是在建立實(shí)時(shí)場景表示的一系列努力之后進(jìn)行的,這些實(shí)時(shí)場景表示被分解為明確的剛性對象,并有望實(shí)現(xiàn)靈活高效的場景表示,甚至可以表示不斷變化的場景。不同的系統(tǒng)采用不同類型的表示和先驗(yàn)知識水平,從 CAD 模型 [28],通過類別級形狀模型 [10,11,32,36] 到?jīng)]有先驗(yàn)形狀知識,盡管在這種情況下只有可見部分物體可以被重建 [15, 27, 38]
神經(jīng)場 SLAM
神經(jīng)場最近被廣泛用作整個(gè)場景的高效、準(zhǔn)確和靈活的表示 [16、17、19、22]。為了將這些表示應(yīng)用于實(shí)時(shí) SLAM 系統(tǒng),iMAP [31] 首次展示了一個(gè)簡單的 MLP 網(wǎng)絡(luò),借助 RGB-D 傳感器的深度測量進(jìn)行增量訓(xùn)練,可以實(shí)時(shí)表示房間尺度的 3D 場景。時(shí)間。iMAP 的一些最有趣的特性是它傾向于產(chǎn)生無懈可擊的重建,甚至經(jīng)常似是而非地完成物體未被觀察到的背面。當(dāng)添加語義輸出通道時(shí),神經(jīng)場的這些相干特性尤其顯露出來,如在 SemanticNeRF [43] 和 iLabel [44] 中,并且被發(fā)現(xiàn)繼承了相干性。為了使隱式表示更具可擴(kuò)展性和效率,一組隱式 SLAM 系統(tǒng) [25、35、40、45、48] 將神經(jīng)場與傳統(tǒng)的體積表示融合在一起。
帶有神經(jīng)場的對象表示
然而,從這些神經(jīng)場方法中獲取單個(gè)對象表示很困難,因?yàn)榫W(wǎng)絡(luò)參數(shù)與特定場景區(qū)域之間的對應(yīng)關(guān)系很復(fù)雜且難以確定。為了解決這個(gè)問題,DeRF [23] 在空間上分解了一個(gè)場景,并將較小的網(wǎng)絡(luò)專用于每個(gè)分解的部分。同樣,Kilo-NeRF [24] 將場景分成數(shù)千個(gè)體積部分,每個(gè)部分由一個(gè)微型 MLP 表示,并與自定義 CUDA 內(nèi)核并行訓(xùn)練它們以加速 NeRF。與 KiloNeRF 不同,vMAP 將場景分解為具有語義意義的對象。
為了表示多個(gè)對象,ObjectNeRF [39] 和 ObjSDF [37] 將預(yù)先計(jì)算的實(shí)例掩碼作為可學(xué)習(xí)對象激活代碼上的附加輸入和條件對象表示。但是這些方法仍然是離線訓(xùn)練的,并且將對象表示與主場景網(wǎng)絡(luò)糾纏在一起,因此它們需要在訓(xùn)練過程中使用所有對象代碼優(yōu)化網(wǎng)絡(luò)權(quán)重,并推斷整個(gè)網(wǎng)絡(luò)以獲得所需對象的形狀。這與單獨(dú)建模對象的 vMAP 形成對比,并且能夠停止和恢復(fù)對任何對象的訓(xùn)練而沒有任何對象間干擾
最近與我們的工作最相似的工作是使用神經(jīng)域 MLP 的吸引人的特性來表示單個(gè)對象。[5] 中的分析明確評估了使用過擬合神經(jīng)隱式網(wǎng)絡(luò)作為圖形的 3D 形狀表示,考慮到它們應(yīng)該被認(rèn)真對待。[1] 中的工作進(jìn)一步推進(jìn)了這一分析,顯示了對象表示如何受到不同觀察條件的影響,盡管使用混合 Instant NGP 而不是單一的 MLP 表示,因此尚不清楚是否會丟失某些對象的一致性屬性。最后,CodeNeRF 系統(tǒng) [9] 訓(xùn)練了一個(gè)以可學(xué)習(xí)對象代碼為條件的 NeRF,再次證明了神經(jīng)場的吸引人的屬性來表示單個(gè)對象
我們在論文中以這項(xiàng)工作為基礎(chǔ),但首次表明構(gòu)成整個(gè)場景的許多單獨(dú)的神經(jīng)場模型可以在實(shí)時(shí)系統(tǒng)中同時(shí)訓(xùn)練,從而準(zhǔn)確有效地表示多對象場景
3. vMAP:具有矢量化訓(xùn)練的高效對象建圖系統(tǒng)
3.1.系統(tǒng)總覽
我們首先介紹了我們通過高效矢量化訓(xùn)練進(jìn)行對象級建圖的詳細(xì)設(shè)計(jì)(第 3.2 節(jié)),然后解釋了我們改進(jìn)的像素采樣和表面渲染訓(xùn)練策略(第 3.3 節(jié))。最后,我們展示了如何使用這些學(xué)習(xí)到的對象模型來重構(gòu)和渲染新場景(第 3.4 節(jié))。我們的訓(xùn)練和渲染管道的概述如圖 2 所示
3.2.矢量化對象級建圖
對象初始化和關(guān)聯(lián)
首先,每個(gè)幀都與密集標(biāo)記的對象掩碼相關(guān)聯(lián)。這些對象掩碼要么直接在數(shù)據(jù)集中提供,要么使用現(xiàn)成的 2D 實(shí)例分割網(wǎng)絡(luò)進(jìn)行預(yù)測。由于那些預(yù)測的對象掩碼在不同幀之間沒有時(shí)間一致性,我們基于兩個(gè)標(biāo)準(zhǔn)在前一幀和當(dāng)前實(shí)時(shí)幀之間執(zhí)行對象關(guān)聯(lián):i)語義一致性:當(dāng)前幀中的對象被預(yù)測為與前一幀相同的語義類, ii) 空間一致性:當(dāng)前幀中的對象在空間上與先前幀中的對象接近,這是通過它們的 3D 對象邊界的平均 IoU 來衡量的。當(dāng)滿足這兩個(gè)標(biāo)準(zhǔn)時(shí),我們假設(shè)它們是相同的對象實(shí)例并用相同的對象模型表示它們。否則,它們是不同的對象實(shí)例,我們初始化一個(gè)新的對象模型并將其附加到模型堆棧
圖 2. vMAP 訓(xùn)練和渲染流水線概覽
對于幀中的每個(gè)對象,我們估計(jì)其 3D 對象受其 3D 點(diǎn)云的約束,并通過其深度圖和相機(jī)姿勢進(jìn)行參數(shù)化。相機(jī)跟蹤由現(xiàn)成的跟蹤系統(tǒng)在外部提供,我們發(fā)現(xiàn)與聯(lián)合優(yōu)化位姿和幾何形狀相比,它更加準(zhǔn)確和穩(wěn)健。如果我們在新幀中檢測到相同的對象實(shí)例,我們將其 3D 點(diǎn)云從先前幀合并到當(dāng)前幀并重新估計(jì)其 3D 對象邊界。因此,這些對象邊界會隨著更多的觀察而動(dòng)態(tài)更新和細(xì)化。
對象監(jiān)督
我們僅對 2D 對象邊界框內(nèi)的像素應(yīng)用對象級監(jiān)督,以實(shí)現(xiàn)最大的訓(xùn)練效率。對于對象掩碼內(nèi)的那些像素,我們鼓勵(lì)對象輻射場被占用,并用深度和顏色損失來監(jiān)督它們。否則我們鼓勵(lì)物體輻射場為空
每個(gè)對象實(shí)例從其自己獨(dú)立的關(guān)鍵幀緩沖區(qū)中采樣訓(xùn)練像素。因此,我們可以靈活地停止或恢復(fù)任何對象的訓(xùn)練,而對象之間沒有訓(xùn)練干擾。
Vectorised Training用多個(gè)小型網(wǎng)絡(luò)表示神經(jīng)場可以導(dǎo)致有效的訓(xùn)練,如先前的工作 [24] 所示。在 vMAP 中,所有對象模型都具有相同的設(shè)計(jì),除了我們用稍大的網(wǎng)絡(luò)表示的背景對象。因此,我們能夠利用 PyTorch [8] 中高度優(yōu)化的矢量化操作,將這些小對象模型堆疊在一起進(jìn)行矢量化訓(xùn)練。由于多個(gè)對象模型是同時(shí)批處理和訓(xùn)練的,而不是按順序進(jìn)行的,我們優(yōu)化了可用 GPU 資源的使用。我們表明,矢量化訓(xùn)練是系統(tǒng)的基本設(shè)計(jì)元素,可以顯著提高訓(xùn)練速度,這將在第 4.3 節(jié)中進(jìn)一步討論
3.3.神經(jīng)隱式建圖
深度引導(dǎo)采樣
僅在 RGB 數(shù)據(jù)上訓(xùn)練的神經(jīng)場不能保證建模準(zhǔn)確的對象幾何形狀,因?yàn)樗鼈兪轻槍ν庥^而不是幾何形狀進(jìn)行優(yōu)化的。為了獲得幾何上更精確的對象模型,我們受益于 RGB-D 傳感器提供的深度圖,為學(xué)習(xí) 3D 體積的密度場提供了強(qiáng)大的先驗(yàn)知識。具體來說,我們沿著每條射線對 Ns 和 Nc 點(diǎn)進(jìn)行采樣,其中 Ns 點(diǎn)的采樣具有以表面 ts 為中心的正態(tài)分布(來自深度圖),具有較小的 dσ 方差,Nc 點(diǎn)在相機(jī) tn(近邊界)和表面 ts,采用分層采樣方法。當(dāng)深度測量無效時(shí),表面 ts 將替換為遠(yuǎn)界 tf 。在數(shù)學(xué)上,我們有:
我們選擇dσ = 3厘米,這在我們的實(shí)施中效果很好。我們觀察到,在靠近表面訓(xùn)練更多的點(diǎn)有助于引導(dǎo)物體模型迅速專注于準(zhǔn)確表示物體幾何。
由于我們更關(guān)注3D表面重建而不是2D渲染,因此在網(wǎng)絡(luò)輸入中省略了視角方向,并且使用二進(jìn)制指示器(沒有透明物體)來建模物體的可見性。與UniSURF [21]具有類似的動(dòng)機(jī),我們將3D點(diǎn)xi的占用概率參數(shù)化為oθ (xi) → [0, 1],其中oθ是一個(gè)連續(xù)的占用場。因此,沿射線r的點(diǎn)xi的終止概率變?yōu)門i = o (xi) Qj
訓(xùn)練目標(biāo) 對于每個(gè)對象k,我們僅在該對象的2D邊界框內(nèi)采樣訓(xùn)練像素,用Rk表示,并且僅針對其2D對象掩碼內(nèi)的像素優(yōu)化深度和顏色,用Mk表示。注意,Mk ? Rk始終成立。對象k的深度、顏色和占用損失定義如下:
然后,整體的訓(xùn)練目標(biāo)對所有K個(gè)對象進(jìn)行損失累積:
我們選擇損失權(quán)重λ1 = 5和λ2 = 10,我們在實(shí)驗(yàn)中發(fā)現(xiàn)這些權(quán)重效果很好。
3.4. 組合式場景渲染
由于vMAP在純粹的解耦表示空間中表示對象,我們可以通過在其估計(jì)的3D對象邊界內(nèi)查詢來獲得每個(gè)3D對象,并輕松地進(jìn)行操作。對于2D新視圖合成,我們使用Ray-Box Intersection算法[14]來計(jì)算每個(gè)對象的近距離和遠(yuǎn)距離邊界,然后在每條射線上對渲染深度進(jìn)行排序,實(shí)現(xiàn)對遮擋的場景級渲染。這種解耦表示還打開了其他類型的細(xì)粒度對象級操作,例如通過在解耦的預(yù)訓(xùn)練特征場上進(jìn)行條件變形物體的形狀或紋理[20, 42],這被視為一個(gè)有趣的未來方向。
4.實(shí)驗(yàn)
我們對各種不同的數(shù)據(jù)集對vMAP進(jìn)行了全面評估,其中包括模擬和真實(shí)世界的序列,有的有地面真實(shí)物體的掩碼和姿態(tài),有的沒有。對于所有數(shù)據(jù)集,我們在2D和3D場景級別和對象級別的渲染上定性地將我們的系統(tǒng)與之前最先進(jìn)的SLAM框架進(jìn)行了比較。我們還在具有地面真實(shí)網(wǎng)格的數(shù)據(jù)集中進(jìn)行了定量比較。更多結(jié)果請參閱我們附帶的補(bǔ)充材料。
4.1. 實(shí)驗(yàn)設(shè)置
數(shù)據(jù)集 我們在Replica [29]、ScanNet [3]和TUM RGB-D [6]上進(jìn)行了評估。每個(gè)數(shù)據(jù)集包含具有不同質(zhì)量的對象掩碼、深度和姿態(tài)測量的序列。此外,我們還展示了vMAP在由Azure Kinect RGB-D相機(jī)記錄的復(fù)雜真實(shí)世界中的性能。這些數(shù)據(jù)集的概述如表1所示。
表1. 我們評估的數(shù)據(jù)集概述
具有完美地面真實(shí)信息的數(shù)據(jù)集代表了我們系統(tǒng)的上限性能。我們預(yù)期vMAP在真實(shí)世界環(huán)境中的性能可以通過與更好的實(shí)例分割和姿態(tài)估計(jì)框架相結(jié)合而進(jìn)一步提高。
實(shí)施細(xì)節(jié) 我們在一臺桌面PC上進(jìn)行所有實(shí)驗(yàn),配備3.60 GHz的i7-11700K CPU和一張Nvidia RTX 3090 GPU。我們選擇實(shí)例分割檢測器為Detic [47],在開放詞匯LVIS數(shù)據(jù)集 [7]上進(jìn)行預(yù)訓(xùn)練,該數(shù)據(jù)集包含1000多個(gè)對象類別。我們選擇姿態(tài)估計(jì)框架為ORB-SLAM3 [2],因?yàn)樗哂锌焖俸蜏?zhǔn)確的跟蹤性能。我們使用來自O(shè)RB-SLAM3的最新估計(jì)不斷更新關(guān)鍵幀的姿態(tài)。
我們對所有數(shù)據(jù)集應(yīng)用了相同的超參數(shù)集。我們的對象和背景模型都使用了4層MLP,每層的隱藏大小分別為32(對象)和128(背景)。對于對象/背景,我們選擇每25/50幀一個(gè)關(guān)鍵幀,每個(gè)訓(xùn)練步驟使用120/1200條射線,每條射線有10個(gè)點(diǎn)。場景中的對象數(shù)量通常在20到70個(gè)之間,其中對象數(shù)量最多的Replica和ScanNet場景中,平均每個(gè)場景有50個(gè)對象。
指標(biāo)
按照之前的研究[31, 48]的慣例,我們采用準(zhǔn)確度(Accuracy)、完整度(Completion)和完整度比率(Completion Ratio)作為3D場景級別重建的度量指標(biāo)。此外,我們注意到這樣的場景級別指標(biāo)在重建墻壁和地板等大型物體方面存在嚴(yán)重偏差。因此,我們還提供了對象級別的這些指標(biāo),通過對每個(gè)場景中所有對象的指標(biāo)進(jìn)行平均計(jì)算。
圖4. 使用vMAP與TSDF-Fusion和ObjSDF進(jìn)行對象重建的可視化比較。請注意,來自O(shè)bjSDF的所有對象重建都需要更長的離線訓(xùn)練時(shí)間。ObjSDF提供的所有對象網(wǎng)格由原始作者提供。
圖5. 在選擇的ScanNet序列中,展示了NICE-SLAM?(左)和vMAP(右)的場景重建可視化結(jié)果。對于感興趣的區(qū)域進(jìn)行了放大顯示。NICE-SLAM?使用了地面真實(shí)姿態(tài)進(jìn)行重新訓(xùn)練。
4.2. 場景和物體重建評估
在Replica數(shù)據(jù)集上的結(jié)果
我們在8個(gè)Replica場景上進(jìn)行了實(shí)驗(yàn),使用[31]提供的渲染軌跡,每個(gè)場景包含2000個(gè)RGB-D幀。表2顯示了這些Replica室內(nèi)序列中的平均定量重建結(jié)果。對于場景級別的重建,我們與TSDF-Fusion [46]、iMAP [31]和NICE-SLAM [48]進(jìn)行了比較。為了隔離重建效果,我們還提供了這些基線方法在使用地面真實(shí)姿態(tài)重新訓(xùn)練后的結(jié)果(標(biāo)記為?),以便進(jìn)行公平比較。具體而言,iMAP?被實(shí)現(xiàn)為vMAP的一種特殊情況,將整個(gè)場景視為一個(gè)物體實(shí)例。對于物體級別的重建,我們比較了在使用地面真實(shí)姿態(tài)進(jìn)行訓(xùn)練的基線方法。
vMAP通過物體級別的表示具有顯著的優(yōu)勢,能夠重建微小物體和具有細(xì)節(jié)的物體。值得注意的是,對于物體級別的完整性,vMAP相比于iMAP和NICE-SLAM實(shí)現(xiàn)了50-70%的改進(jìn)。圖3展示了4個(gè)選定的Replica序列的場景重建結(jié)果,其中用彩色框標(biāo)出了感興趣的區(qū)域。關(guān)于2D新視角渲染的定量結(jié)果將在補(bǔ)充材料中提供。
在ScanNet上的結(jié)果
為了在更具挑戰(zhàn)性的環(huán)境中進(jìn)行評估,我們在ScanNet [3]上進(jìn)行了實(shí)驗(yàn),該數(shù)據(jù)集由真實(shí)場景組成,具有更多噪聲的地面真實(shí)深度圖和物體掩碼。我們選擇了ObjSDF [37]選擇的一段ScanNet序列,并與TSDF-Fusion和ObjSDF進(jìn)行了物體級別的重建比較,與使用地面真實(shí)姿態(tài)重新訓(xùn)練的NICE-SLAM進(jìn)行了場景級別的重建比較。與ObjSDF不同,vMAP和TSDF-Fusion都是在具有深度信息的在線環(huán)境中運(yùn)行,而不是像ObjSDF那樣從預(yù)先選擇的沒有深度信息的圖像進(jìn)行更長時(shí)間的離線訓(xùn)練。如圖4所示,我們可以看到vMAP生成的物體幾何結(jié)構(gòu)比TSDF-Fusion更連貫;而比ObjSDF具有更細(xì)致的細(xì)節(jié),盡管訓(xùn)練時(shí)間要短得多。并且一致地,如圖5所示,與NICE-SLAM相比,我們可以看到vMAP生成的物體邊界和紋理更加清晰。
在TUM RGB-D上的結(jié)果
我們在真實(shí)世界中捕獲的TUM RGB-D序列上進(jìn)行了評估,使用了一個(gè)現(xiàn)成的預(yù)訓(xùn)練實(shí)例分割網(wǎng)絡(luò)[47]預(yù)測的物體掩碼和由ORB-SLAM3[2]估計(jì)的位姿。由于我們的物體檢測器沒有時(shí)空一致性,我們發(fā)現(xiàn)同一個(gè)物體偶爾會被檢測為兩個(gè)不同的實(shí)例,這導(dǎo)致了一些重構(gòu)偽影。例如,圖6中顯示的物體“globe”在某些幀中也被檢測為“balloon”,導(dǎo)致最終物體重構(gòu)中的“分割”偽影??傮w而言,與TSDF-Fusion相比,vMAP仍然可以對場景中大多數(shù)物體進(jìn)行更連貫的重構(gòu),并具有逼真的孔洞填充能力。然而,我們承認(rèn),由于缺乏普遍的3D先驗(yàn)知識,我們的系統(tǒng)無法完成完整的視野之外區(qū)域(例如椅子的背部)的重構(gòu)。
雖然我們的工作更注重地圖繪制性能而不是位姿估計(jì),但我們也按照[31,48]報(bào)告了Tab. 3中的ATE RMSE,通過聯(lián)合優(yōu)化相機(jī)位姿和地圖。我們可以觀察到,由于重構(gòu)和跟蹤質(zhì)量通常高度相互依賴,vMAP實(shí)現(xiàn)了卓越的性能。然而,與ORB-SLAM相比存在明顯的性能差距。因此,我們直接選擇ORB-SLAM作為我們的外部跟蹤系統(tǒng),這導(dǎo)致了更快的訓(xùn)練速度、更清晰的實(shí)現(xiàn)和更高的跟蹤質(zhì)量。
對于實(shí)時(shí)運(yùn)行的Azure Kinect RGB-D相機(jī),在桌面場景上展示了vMAP的重構(gòu)結(jié)果。如圖7所示,vMAP能夠生成來自不同類別的一系列逼真的、無缺陷的物體網(wǎng)格。
4.3. 性能分析
在本節(jié)中,我們比較了針對vMAP系統(tǒng)的不同訓(xùn)練策略和架構(gòu)設(shè)計(jì)選擇。為了簡單起見,所有實(shí)驗(yàn)都在Replica Room-0序列上進(jìn)行,使用我們的默認(rèn)訓(xùn)練超參數(shù)。
內(nèi)存和運(yùn)行時(shí)間
我們在表4和圖9中將vMAP與iMAP和NICE-SLAM進(jìn)行了內(nèi)存使用和運(yùn)行時(shí)間的比較,所有方法都是使用了地面真實(shí)姿態(tài)進(jìn)行訓(xùn)練,并使用各自方法中列出的默認(rèn)訓(xùn)練超參數(shù),以進(jìn)行公平比較。具體而言,我們報(bào)告了整個(gè)序列的運(yùn)行時(shí)間和每幀訓(xùn)練的建圖時(shí)間,使用完全相同的硬件條件。我們可以看到,vMAP具有高度的內(nèi)存效率,參數(shù)數(shù)量少于1M。我們想強(qiáng)調(diào)的是,vMAP在重構(gòu)質(zhì)量上取得了更好的表現(xiàn),并且運(yùn)行速度明顯快于iMAP和NICE-SLAM,分別提高了1.5倍和4倍的訓(xùn)練速度(約5Hz)。
圖 8. 與使用 for 循環(huán)的標(biāo)準(zhǔn)順序操作相比,矢量化操作能夠?qū)崿F(xiàn)極快的訓(xùn)練速度。
向量化與順序訓(xùn)練
我們通過使用向量化和順序操作(for循環(huán))來對訓(xùn)練速度進(jìn)行了分析,針對不同數(shù)量的對象和不同物體模型的大小。在圖8中,我們可以看到,向量化訓(xùn)練大大提高了優(yōu)化速度,尤其是當(dāng)我們有大量物體時(shí)。而且,使用向量化訓(xùn)練時(shí),即使在訓(xùn)練多達(dá)200個(gè)物體時(shí),每個(gè)優(yōu)化步驟也不超過15毫秒。此外,向量化訓(xùn)練在各種模型大小范圍內(nèi)也是穩(wěn)定的,這表明如果需要,我們可以訓(xùn)練更大尺寸的物體模型,而額外的訓(xùn)練時(shí)間非常小。如預(yù)期的那樣,當(dāng)我們達(dá)到硬件的內(nèi)存限制時(shí),向量化訓(xùn)練和for循環(huán)將最終具有相似的訓(xùn)練速度。
為了并行訓(xùn)練多個(gè)模型,我們最初嘗試的方法是為每個(gè)對象生成一個(gè)進(jìn)程。然而,由于每個(gè)進(jìn)程的CUDA內(nèi)存開銷,我們只能生成非常有限數(shù)量的進(jìn)程,這嚴(yán)重限制了對象的數(shù)量。
對象模型容量
由于向量化訓(xùn)練在對象模型設(shè)計(jì)方面對訓(xùn)練速度幾乎沒有影響,我們還研究了不同對象模型大小對對象級重建質(zhì)量的影響。我們通過改變每個(gè)MLP層的隱藏層大小來嘗試不同的對象模型大小。在圖9中,我們可以看到從隱藏層大小為16開始,對象級性能開始飽和,進(jìn)一步增加模型大小幾乎沒有改善或沒有改善。這表明對象級表示具有高度可壓縮性,并且可以通過很少的參數(shù)高效準(zhǔn)確地參數(shù)化。
圖9. 對象級重建與模型參數(shù)(由網(wǎng)絡(luò)隱藏大小表示)的比較。vMAP比iMAP更緊湊,性能從隱藏大小為16開始飽和。
堆疊的MLP vs. 共享的MLP
除了通過單個(gè)獨(dú)立的MLP表示每個(gè)對象之外,我們還探索了共享MLP的設(shè)計(jì),將多對象建圖視為多任務(wù)學(xué)習(xí)問題[26, 33]。在這種設(shè)計(jì)中,每個(gè)對象還與一個(gè)可學(xué)習(xí)的潛在編碼相關(guān)聯(lián),這個(gè)潛在編碼被視為網(wǎng)絡(luò)的條件輸入,并與網(wǎng)絡(luò)權(quán)重一起進(jìn)行聯(lián)合優(yōu)化。盡管我們嘗試了多個(gè)多任務(wù)學(xué)習(xí)體系結(jié)構(gòu)[12, 18],但早期實(shí)驗(yàn)(在圖9中標(biāo)記為vMAP-S)顯示,這種共享的MLP設(shè)計(jì)在重建質(zhì)量上略有下降,并且與堆疊的MLP相比,沒有明顯的訓(xùn)練速度改進(jìn),尤其是在采用向量化訓(xùn)練的情況下,我們發(fā)現(xiàn)共享的MLP設(shè)計(jì)可能導(dǎo)致不良的訓(xùn)練性質(zhì):i)由于網(wǎng)絡(luò)權(quán)重和所有對象的潛在編碼在共享的表示空間中交織在一起,共享的MLP需要與所有對象的潛在編碼一起進(jìn)行優(yōu)化。ii)共享的MLP容量在訓(xùn)練過程中是固定的,因此表示空間可能不足以處理日益增加的對象數(shù)量。這凸顯了解耦的對象表示空間的優(yōu)勢,這是vMAP系統(tǒng)的一個(gè)關(guān)鍵設(shè)計(jì)元素。
5.結(jié)論
我們提出了vMAP,一個(gè)實(shí)時(shí)的基于對象級別的地圖生成系統(tǒng),采用簡單而緊湊的神經(jīng)隱式表示。通過將3D場景分解為一批小型獨(dú)立MLP表示的有意義實(shí)例,該系統(tǒng)以高效而靈活的方式建模3D場景,實(shí)現(xiàn)場景重組、獨(dú)立跟蹤和感興趣對象的持續(xù)更新。除了更準(zhǔn)確、更緊湊的以對象為中心的3D重建,我們的系統(tǒng)還能夠預(yù)測每個(gè)對象的合理閉合表面,即使在部分遮擋的情況下也能如此。
局限性和未來工作
我們當(dāng)前的系統(tǒng)依賴于現(xiàn)成的實(shí)例掩碼檢測器,這些實(shí)例掩碼不一定具有時(shí)空一致性。雖然通過數(shù)據(jù)關(guān)聯(lián)和多視圖監(jiān)督部分減輕了歧義,但合理的全局約束將更好地解決這個(gè)問題。由于對象是獨(dú)立建模的,動(dòng)態(tài)對象可以持續(xù)跟蹤和重建,以支持下游任務(wù),例如機(jī)器人操控。為了將我們的系統(tǒng)擴(kuò)展為單目稠密地圖生成系統(tǒng),可以進(jìn)一步整合深度估計(jì)網(wǎng)絡(luò)或更高效的神經(jīng)渲染方法。
審核編輯:劉清
-
傳感器
+關(guān)注
關(guān)注
2560文章
52155瀏覽量
761417 -
機(jī)器人
+關(guān)注
關(guān)注
212文章
29247瀏覽量
210802 -
RGB
+關(guān)注
關(guān)注
4文章
803瀏覽量
59384 -
CAD
+關(guān)注
關(guān)注
18文章
1104瀏覽量
73540 -
SLAM
+關(guān)注
關(guān)注
23文章
430瀏覽量
32237
原文標(biāo)題:vMAP:用于神經(jīng)場 SLAM 的矢量化對象建圖
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
讓機(jī)器人完美建圖的SLAM 3.0到底是何方神圣?
什么是CAD矢量化?
使用SVE對HACCmk進(jìn)行矢量化的案例研究
RealView編譯工具NEON矢量化編譯器指南
一種優(yōu)化的鞋樣圖像矢量化方法
阿郎“零接觸矢量化”技術(shù)實(shí)現(xiàn)寬帶服務(wù)提速
使用線程和矢量化將串行代碼轉(zhuǎn)換為并行
矢量化數(shù)據(jù)并行性的程序方面的作用
矢量化或性能模具:調(diào)整最新的AVX SIMD指令
一種全新的視角去理解和處理地圖矢量化的任務(wù)

基于矢量化場景表征的端到端自動(dòng)駕駛算法框架

評論