CVPR 2023 Highlight | Nvidia SOTA-NKSR:神經(jīng)核表面重建
作者:寧了個(gè)寧? | 來源:3D視覺工坊
在公眾號(hào)「3D視覺工坊」后臺(tái),回復(fù)「原論文」可獲取論文pdf和代碼鏈接。
添加微信:dddvisiona,備注:三維重建,拉你入群。文末附行業(yè)細(xì)分群。
我們提出了一種從大規(guī)模、稀疏和噪聲點(diǎn)云重建3D隱式表面的新方法。我們的方法建立在最近引入的神經(jīng)核場(NKF)表示之上。它具有與NKF相似的泛化能力,同時(shí)解決了其主要限制:(a)我們可以通過使用內(nèi)存高效的稀疏線性求解器的緊湊支持核函數(shù)來處理大規(guī)模場景。(b)我們通過梯度擬合求解,實(shí)現(xiàn)對噪聲的魯棒。(c)我們最小化訓(xùn)練要求,使我們能夠從任何密度的定向點(diǎn)數(shù)據(jù)集進(jìn)行學(xué)習(xí),甚至可以將不同尺度的物體和場景混合到訓(xùn)練數(shù)據(jù)中。我們的方法能夠在幾秒鐘內(nèi)重建數(shù)百萬個(gè)點(diǎn),并以非核心方式處理非常大的場景。我們在由單個(gè)對象以及室內(nèi)場景和室外場景組成的重建基準(zhǔn)測試中達(dá)到了最先進(jìn)的性能。這里也推薦「3D視覺工坊」新課程《徹底搞透視覺三維重建:原理剖析、代碼講解、及優(yōu)化改進(jìn)》。
在這項(xiàng)工作中,我們基于NKF的卓越泛化能力,消除了其主要限制,以實(shí)現(xiàn)一種實(shí)用、可擴(kuò)展、快速且對噪聲具有魯棒性的基于學(xué)習(xí)重建方法。與NKF一樣,我們的工作利用了學(xué)習(xí)核的泛化思想,但我們(1)開發(fā)了一種新穎的基于梯度的核公式,對噪聲魯棒,(2)使用顯式的體素層次結(jié)構(gòu)和使用緊湊的支持核使我們的插值問題稀疏、多尺度且能夠處理大型輸入,同時(shí)仍能產(chǎn)生高保真度的輸出。其結(jié)果是可應(yīng)用于室外的點(diǎn)云的一種基于學(xué)習(xí)的、開箱即用的重建方法。特別地,它具有以下所有屬性:
它能夠泛化到分布之外的輸入,即使在稀疏和噪聲存在的情況下也能產(chǎn)生高保真的重構(gòu)。
它可以在多種數(shù)據(jù)集的并集上進(jìn)行訓(xùn)練,而只需要密集的定向點(diǎn)作為監(jiān)督,從而解鎖了新的訓(xùn)練數(shù)據(jù)規(guī)模水平。
它可以在幾秒鐘內(nèi)重構(gòu)由數(shù)百萬個(gè)點(diǎn)組成的點(diǎn)云,并以一種核心之外的方式擴(kuò)展到非常大的輸入。
我們通過圖2以可視化的方式說明這些點(diǎn)背景下的其他方法。
我們的方法預(yù)測具有法線的點(diǎn)云的三維曲面。我們將該預(yù)測曲面編碼為神經(jīng)核域的零水平集,即表示為學(xué)習(xí)的正定基函數(shù)的加權(quán)和的隱函數(shù),這些基函數(shù)以輸入為條件,并且其權(quán)重在前向過程中使用線性優(yōu)化來計(jì)算。這些基函數(shù)在稀疏體素層次結(jié)構(gòu)上得到支持,其中我們使用稀疏卷積網(wǎng)絡(luò)從輸入點(diǎn)云預(yù)測該稀疏體素層級(jí)結(jié)構(gòu),并依賴每個(gè)體素角處的插值特征。以下是該方法的關(guān)鍵步驟,圖3是對其進(jìn)行的圖示總結(jié)。
給定點(diǎn)和法線,我們模型的向前傳遞以兩個(gè)步驟預(yù)測一個(gè)隱式表面作為學(xué)習(xí)核的加權(quán)和:首先,我們將數(shù)據(jù)輸入到一個(gè)稀疏卷積網(wǎng)絡(luò)中,該網(wǎng)絡(luò)在每個(gè)角落根據(jù)特征預(yù)測了一個(gè)體素層次結(jié)構(gòu)(圖4)。這些特征定義了一個(gè)已學(xué)習(xí)基本函數(shù)的集合,這些特征在這個(gè)層次中集中在每個(gè)體素。其次,我們通過解決線性系統(tǒng)來找到這些基本函數(shù)的權(quán)重,該線性系統(tǒng)鼓勵(lì)預(yù)測的隱式場在輸入點(diǎn)附近具有零值,并且具有與輸入法線一致的梯度??蛇x地,我們還可以預(yù)測幾何掩碼,該掩碼輸出在空間中提取最終表面的位置,修剪掉虛假的幾何形狀。
預(yù)測稀疏體素層次。 給定輸入點(diǎn) ,輸入法線 ,以及體素大小W,我們首先使用卷積主干網(wǎng)絡(luò)來預(yù)測L個(gè)體素網(wǎng)格的層次,該主干網(wǎng)絡(luò)對每個(gè)點(diǎn)使用串聯(lián)法線 來消化點(diǎn)云。我們預(yù)測的每個(gè)體素網(wǎng)格 具有寬度 的體素, 并且位于級(jí)別 的中心為 的體素包含級(jí)別為 的中心為 的某些體素。這種主干網(wǎng)絡(luò)的 設(shè)計(jì)受Adaptive o-cnn啟發(fā)。我們另外預(yù)測每個(gè)體素網(wǎng)格層次上的特征 和法線 。特征 用于預(yù)測特征場,該特征場通過Bezier插值將坐標(biāo)x提升到d維向量,然后通過MLP進(jìn)行計(jì)算。圖4展示了我們的預(yù)測層次和特征的2D示意圖。
稀疏神經(jīng)核場層次結(jié)構(gòu)。 我們將重建的形狀編碼為3D隱式場 的零水平集,該場是一個(gè)層次化的神經(jīng)核場,即以輸入為條件,并以它們的中點(diǎn) 為中心的,正定核的加權(quán)組合:
從點(diǎn)計(jì)算三維隱式曲面。 給定我們預(yù)測的體素層次,已學(xué)習(xí)的核 和預(yù)測法線 ,我們通過找到核場的最優(yōu)系數(shù) 來計(jì)算隱式曲面。我們通過精確最小化模型前向過程中的以下?lián)p失來找到這些系數(shù)(為簡潔起見,省略了 對 、 的條件):
掩蔽模塊。 預(yù)測的神經(jīng)核場 是在整個(gè)體素層次上定義的,但在遠(yuǎn)離表面的粗略級(jí)別上,它可能包含不需要的幾何測量。為了將這些幾何體從預(yù)測曲面中丟棄,我們在主干中添加了一個(gè)額外的分支,如下所示:,它確定是應(yīng)該修剪點(diǎn) 還是保留點(diǎn) 。分支源于骨干網(wǎng)絡(luò)的直接特征,由幾個(gè)線性層組成,ReLU激活后是sigmoid函數(shù)。當(dāng)我們提取最終曲面時(shí),我們只考慮 的區(qū)域中的頂點(diǎn)。
為了訓(xùn)練我們的模型,我們需要對 , 和 。這里, 和分別是噪聲輸入點(diǎn)和密集監(jiān)督點(diǎn), 和是每個(gè)輸入和監(jiān)督點(diǎn)(即從其獲取每個(gè)點(diǎn)的3D空間中的位置)的傳感器原點(diǎn)。我們還通過將平面擬合到局部鄰域中的點(diǎn),并將法線與從點(diǎn)到傳感器的方向?qū)R,來計(jì)算輸入和監(jiān)督法線、。我們注意到,我們的訓(xùn)練要求對訓(xùn)練的形狀沒有限制。例如,可以使用單個(gè)激光雷達(dá)幀作為輸入,使用場景的累積激光雷達(dá)掃描作為監(jiān)督,同時(shí)使用合成對象的噪聲掃描作為輸入,并使用同一對象的密集無噪聲掃描作為監(jiān)督。
為了定義用于監(jiān)督我們的模型的損失項(xiàng),我們首先定義了密集點(diǎn)周圍的兩個(gè)空間區(qū)域
:來自距離小于等于的點(diǎn)
然后,給定預(yù)測的神經(jīng)核場 ,我們通過以下?lián)p失函數(shù)進(jìn)行反向傳播:
我們還計(jì)算了結(jié)構(gòu)預(yù)測和掩蔽損失,我們在附錄中進(jìn)行了描述。我們使用梯度下降,通過所有這些損失函數(shù)的總和反向傳播,以端到端的方式訓(xùn)練我們的模型。
對于物體級(jí)重建,采用ShapeNet數(shù)據(jù)集、ABC數(shù)據(jù)集、Thingi10K數(shù)據(jù)集進(jìn)行訓(xùn)練和測試,比較結(jié)果定量地列在表1和表2中,并在圖5和圖6中進(jìn)行了可視化展示。我們的模型在所有數(shù)據(jù)集上都達(dá)到了最先進(jìn)的性能。我們的基線模型NKF在無噪聲設(shè)置下表現(xiàn)良好,但隨著噪聲的增加,由于過度依賴原始輸入法線,性能會(huì)下降。另一方面,SAP和NGSolver在噪聲下更加魯棒,但由于表示能力不足,反映在 上的擬合緊密程度高于我們。我們的性能增益主要基于基于梯度的能量擬合公式,以及從所學(xué)習(xí)核中出現(xiàn)的自然歸納偏差。
表1:ABC/Thingi10K[36,79]比較。是被乘以。σ是加到傳感器深度上的高斯噪聲,L是最大盒長。除非指定,否則使用10次掃描來累積點(diǎn)云。
表2:ShapeNet[6]對比。'N.'表示是否法線作為輸入。是被乘以。
因?yàn)槿狈哂姓鎸?shí)幾何的大規(guī)模現(xiàn)實(shí)世界數(shù)據(jù)集,NKSR對大規(guī)模數(shù)據(jù)集的適用性使用合成CARLA[17]數(shù)據(jù)集進(jìn)行了演示。我們將我們的結(jié)果與TSDF-Fusion、SPSR和基于學(xué)習(xí)的POCO進(jìn)行了比較。對于后兩個(gè)基線,我們使用與我們相同的體素尺寸W=10cm,對于TSDF-Fusion,我們發(fā)現(xiàn)有必要將W增加到30cm以達(dá)到體面的表面完整性。結(jié)果如表3所示,并在圖7中進(jìn)行了可視化。我們計(jì)算單面反映重建精度(Acc.)和完整性(Comp.)的倒角距離。我們還報(bào)告了每種方法在數(shù)據(jù)集上的平均運(yùn)行時(shí)間。在此設(shè)置中,輸入點(diǎn)的平均值/最小值/最大值數(shù)分別為490k/290k/820k。與我們的設(shè)置相比,SPSR對輸入中的噪聲和稀疏性相當(dāng)敏感,留下凹凸不平和不完整的幾何形狀。雖然POCO可以達(dá)到類似的完備性值,但擬合曲面不能忠實(shí)地尊重輸入。較長的運(yùn)行時(shí)間(比我們的慢161倍)也阻礙了POCO的實(shí)際應(yīng)用。
表3:CARLA[17]對比。為Acc.和Comp.的平均值(單位為cm。越小越好。)
跨域。 我們通過將模型直接應(yīng)用于ShapeNet和合成房間數(shù)據(jù)集(Synth.Rooms)[49]來比較我們的方法與其他方法的泛化能力,即ScanNet[12]和進(jìn)行了拆分的Matterport3D的測試集。對于這兩個(gè)數(shù)據(jù)集,我們都采樣10K個(gè)點(diǎn)作為輸入,并對尺度進(jìn)行歸一化以大致匹配訓(xùn)練集。如圖8和表4所示的比較表明,我們的方法的泛化性比基線方法明顯更好,其中ShapeNet訓(xùn)練集的準(zhǔn)確性最高,這可能是由于其多樣性和類似的幾何分布。這里也推薦「3D視覺工坊」新課程《徹底搞透視覺三維重建:原理剖析、代碼講解、及優(yōu)化改進(jìn)》。
表4:房間級(jí)數(shù)據(jù)集[12,5]比較。乘以。
跨密度。 我們通過在CARLA數(shù)據(jù)集中('Novel'子集)的固定行駛距離內(nèi)僅保留一個(gè)LiDAR幀掃描來測試我們模型在稀疏輸入下的魯棒性。結(jié)果在圖10和表5中顯示。在極稀疏的水平下,我們的方法仍然能夠重建完整的幾何形狀(例如地面),而基準(zhǔn)方法開始退化。
表5:不同輸入密度下的性能比較。這里顯示了F-Score↑指標(biāo)。
我們在不同特征維數(shù)d和不同體素大小W下運(yùn)行我們的方法進(jìn)行核計(jì)算,結(jié)果如圖11所示。在增加特征維度有助于達(dá)到稍好的性能,體素大小的影響更為突出。我們嘗試通過將設(shè)置為0('w/o Hier.'),或刪除基于梯度的矩陣('w/o Grad.')來從線性求解器中刪除層次結(jié)構(gòu)。這兩種設(shè)置都會(huì)導(dǎo)致性能下降,這顯示了我們設(shè)計(jì)選擇的有效性。
本文提出了一種基于神經(jīng)核域表示的精確、可擴(kuò)展的曲面重建算法NKSR。我們通過大量的實(shí)驗(yàn)表明,我們的方法達(dá)到了最先進(jìn)的質(zhì)量和效率,同時(shí)對未見過的數(shù)據(jù)有很好的泛化。我們相信我們的方法進(jìn)一步推動(dòng)了3D重建領(lǐng)域的邊界,并使基于深度學(xué)習(xí)的表面重建更加實(shí)用于一般用途。對于未來的工作,我們將嘗試使用更具表現(xiàn)力的核模型進(jìn)一步提高重建質(zhì)量,并減少內(nèi)存占用,以允許更大規(guī)模的重建。