天天看點

【論文筆記】SpinNet

【論文筆記】SpinNet

作者:Sheng Ao等,中山大學

代碼:https://github.com/QingyongHu/SpinNet

摘要

提取穩健和通用的3D局部特征對下遊任務很關鍵,例如點雲配準和重建。現基于學習的局部描述子(local descriptors)對旋轉變換敏感,要麼依賴經典的手工特征,既不通用也不具代表性。本文提出了新的,概念簡單的神經結構,叫SpinNet,來提取局部特征,旋轉不變并且資訊足夠來實作精确配準。首先介紹了特殊的點變換,映射輸入的局部表面到精心設計的圓柱空間(cylindrical space),通過SO(2)等變表示實作端到端的優化。(SO(2) equivariant representation,不太了解這裡的SO(2)和等變表示的意思?)。采用了一個利用強大的基于點和3D圓柱卷積神經層的神經特征提取器來導出緊湊且具有代表性的比對描述子。對室内和室外資料集的大量實驗表明,SpinNet 在很大程度上優于現有的最先進技術。更重要的是,它在具有不同傳感器模式的看不見的場景中具有最佳的泛化能力。

1. 介紹

精準的局部3D表面比對對點雲配準[17, 38, 6, 21, 29],分割[58, 28, 27],識别[24, 12, 47]很關鍵。給定多個部分重疊的3D掃描,面比對的目标是将這些碎片按照一組點對應進行對齊,進而獲得完整的三維場景結構。為了實作這一點,識别兩個掃描之間共享的一般和健壯的局部幾何模式是至關重要的。(general and robust local geometric patterns 我的了解是不是這兩個掃描之間的幾何關系?比如scn1到scan2需要旋轉30°之類的?) 然而,這是具有挑戰性的,主要是因為:

1)不同的掃描通常有不同的視角,2)原始3D掃描通常是不完整的,有噪聲,有顯著不同的點密度。

【論文筆記】SpinNet

圖1:不同方法在室内3DMatch[65]和室外ETH[46]資料集的特征比對Recall (FMR)得分。注意,所有方法隻在3DMatch資料集上訓練。我們的方法不僅在3DMatch上得分最高,而且在未見過的ETH資料集 上具有最好的泛化能力。

早期提取局部幾何圖形的方法包括PS [9],3DSC [19], ISS[67]和SHOT[40],簡單計算低級特征,如人臉[41,64],角[52]和手工統計直方圖(handcrafted statistical histograms?這不像是個特征呀)[43]。雖然他們在高品質的三維點雲上取得了令人鼓舞的結果,但他們不能推廣到高噪聲和大規模的現實世界的三維點雲。

最近的基于學習的方法[65,32,14,45]在提取更好的局部點特征方面取得了良好的結果,這得益于大規模标記3D資料集的可用性。然而,它們有兩個主要的限制。首先,其中許多方法,如D3Feat[2]和FCGF[8],依賴于基于核的點卷積[53] (kernel-based point convolution) 或子流形稀疏卷積[23] (submanifold sparse convolution) 來提取每點特征,導緻學習到的點局部模式是 旋轉變化(rotationally variant?如何了解?) 的。是以,當跨越具有顯著不同 旋轉分布rotation distributions 的資料集時,它們的性能顯著下降。其次, 盡管最近的一些方法[14,13,22,37]引入了旋轉不變描述符 rotation-invariant descriptors,但它們隻是簡單地整合了手工制作的特征,如點對[48,16]和點密度[50,62,51]或外部局部參考幀[37,33,66]內建到流水線(pipeline,如何了解?) 中,從根本上限制了架構[25]的表示能力(representational power)。結果表明,盡管所提取的點特征是**旋轉不變的(rotation invariant)**,但在具有噪聲和不同點密度的未見過(unseen)的三維掃描中,其魯棒性和通用性較差。

在本文中,我們的目标是設計一個新的神經結構,它能夠學習描述性的局部特征,并能很好地推廣到未見場景。這個網絡顯然滿足三個關鍵特性:

  1. 它是 旋轉不變性It is rotation invariant。特别是從不同旋轉角度的三維掃描中學習到一緻的局部特征(一緻如何了解?) it learns consistent local features from 3D scans with different rotation angles;
  2. 是描述性的(descriptive)。從本質上講,它保留了 突出的局部模式(local patterns),盡管存在噪聲、可能的表面不完整性或不同的點密度; it preserves the prominent local patterns despite the noise, possible surface incompleteness, or different point densities。
  3. 它不包括任何手工的特征。相反,它隻包含 多個點轉換和簡單的神經層multiple point transformations and simple neural layers,再加上真正的端到端優化。這使得學習到的描述符對于複雜的現實世界的3D曲面具有非常的代表性和普遍性。

我們的網絡SpinNet主要包括兩個子產品:1)空間點變換(Spatial Point Transformer),它将輸入的3D掃描清晰地轉換成一個精心設計的圓柱形空間,使得轉換後的掃描是SO(2)等變 (SO(2) equivariant, 如何了解?),同時保留點局部資訊; 2)神經特征提取器(Neural Feature Extractor),利用強大的基于點和卷積的神經層來學習具有代表性的和一般的局部模式。

空間點變換首先通過 參考坐标系(reference axis) 對齊輸入的3D表面,消除沿着Z軸的旋轉變量(如何了解?rotational variance) 。接下來是借助球面體素化spherical voxelization在XY-平面上的坐标變換,進一步去除每個球面體素的旋轉方差 rotation variance。最後,轉換後的局部表面被建構為一個簡單而新穎的3D圓柱體,它可以被随後的基于點和卷積的神經層使用。神經特征提取器首先使用簡單的基于點的MLPs為圓柱形體積内的每個體素提取唯一的特征(signature?為什麼這裡的特征用這個詞?如何了解?),生成一組圓柱形特征映射圖(map)。這些map進一步被送入一系列新型3D柱面卷積層,充分利用豐富的空間和上下文資訊,為輸入的3D表面生成緊湊和具有代表性的特征向量(feature vector)。

這兩個子產品使我們的SpinNet能夠學習非常健壯和通用的局部特征local features,用于精确的3D點雲配準。它在 室内3DMatch[65] 資料集和 室外ETH[46] 資料集都實作了最先進的性能。值得注意的是,它在未見場景中顯示了卓越的泛化能力。如圖1所示,我們的SpinNet的學習描述符僅在3DMatch資料集上進行訓練,在沒有見過的的戶外ETH資料集上進行特征比對時,平均查全率average recall score 達到了92.8%,大大超過了目前的水準近13%。

總之,我們的貢獻有3點:

• 我們提出了一種新的用于3D表面比對的神經特征學習器。它是旋轉不變rotation invariant,具有代表性representative,并且在未見過的場景中具有出色的泛化能力。

• 通過将轉換後的3D曲面公式化為圓柱體,我們引入了強大的3D圓柱體卷積來學習豐富和一般的特征。

• 我們進行了廣泛的實驗和消融研究,展示了我們方法的卓越泛化能力,并提供了我們選擇背後的直覺。

2.相關工作

2.1 手工描述子

傳統的手工描述符大緻可以分為兩類: 1)LRF-free方法 2)LRF-based方法。LRF-free描述符包括Spin Images (SIs)[30]、Local Surface Patch (LSP)[4]和Fast Point Feature Histograms (FPFHs) [48]通常是通過利用局部曲面的幾何特性(如 曲率和法向偏差,curvatures and normal deviations? )建構的。這些描述符的主要缺點是對局部表面缺乏足夠的幾何細節。LRF-based的描述符,如 Point Signature(PS)[9] 、 SHOT[54] 和 Rotational Projection Statistics(RoPS)[26],盡管能夠比IRF-free描述符利用更多的空間屬性(spatial attributes 如何了解?和特征有何不同?),但固有地引入了更大的旋轉誤差(rotation errors),犧牲了特征的魯棒性。總的來說,所有這些手工描述符通常都是為特定的任務量身定制的,并且對噪音很敏感,是以對于複雜和全新的場景來說不夠靈活和準确描述。

2.2 基于學習的描述子

與傳統的手工描述符相比,最近的研究[10,68,3,15,63,61]利用資料驅動的深度神經網絡從大規模資料集中學習局部特征。這些習得的描述符往往具有很強的描述能力和穩健性。

旋轉變化描述子(Rotation Variant Descriptors).Zeng等人提出了3DMatch[65] 的開創性工作,該工作以local volumetric patches為輸入 ,利用3D卷積神經網絡(3D Convolutional Neural Networks, CNNs) 學習 局部幾何模式local geometric patterns。Yew和Lee引入了一個弱監督架構3D Feat-net[60] 來同時學習3D特征檢測器和描述符(3D feature detector and descriptor?二者差別?如何了解?)。Choy等人基于[7]建構了密集特征描述符 FCGF[8] (dense feature descriptor FCGF ?) 。最近,Bai等人設計了一個 pipeline(?) 來聯合學習密集特征檢測器和局部特征描述符(dense feature detectors and local feature descriptors),在3DMatch[65]和KITTI[20]資料集上實作了SOTA的點雲配準性能。但這些方法都對歐幾裡得空間中的剛性變換(rigid transformation)敏感。 通過大量的資料擴充可以緩解這一問題,但是後續任務的整體性能仍然是次優的[18].

旋轉不變描述子(Rotation Invariant Descriptors).一些最近的方法已經開始學習 旋轉不變描述符。Khoury等人[32]用有方向的球形直方圖oriented spherical histograms參數化原始點雲,然後通過深度神經網絡将高維嵌入(high-dimensional embedding)映射到緊湊的描述符(compact descriptor)。Deng等人的[14]使用 旋轉不變點對特征 rotation-invariant Point Pair Features(PPFs) 對局部曲面進行編碼。然後将這些特性輸入多個MLPs以學習全局描述符。在後續的[13]工作中,采用FoldingNet[59]作為 backbone 網絡進行學習3D局部描述符local descriptors。Gojcic等人[22]引入體素化光滑密度值voxelized Smoothed Density Value(SDV),将局部表面編碼為緊湊的旋轉不變表示(compact and rotation-invariant representation),并将其輸入Siamese體系結構以學習最終描述符final descriptor。總的來說,雖然這些方法确實能夠從局部表面local surface學習旋轉不變特征(rotationally invariant features) ,但它們最初依賴于經典的手工特征,這極大地限制了描述子descriptors 的描述性、魯棒性和泛化能力。

最近的一些工作[50,62,33,37]嘗試學習端到端優化的 旋轉不變局部描述符(rotation-invariant local descriptors with end-to-end optimization) 。然而,它們要麼需要計算點密度point density,要麼依賴外部LRFs來實作旋轉不變性rotation invariance。這通常是不穩定的,并不能很好地泛化到未見的資料集。相反,我們的SpinNet以真正的 端到端方式end-to-end fashion 學習旋轉不變的和高度描述性的局部特性rotation-invariant, and highly descriptive local features,而不依賴任何手工特性或不穩定的IRF。這使得學習到的 描述符descriptors 能夠很好地推廣到新的場景。

3.SpinNet

3.1問題描述

給定兩個部分重疊的點雲 P = { p i ∈ R 3 ∣ i = 1 , … , N } \mathcal P = \left\{ p_i \in \mathbb R^3|i = 1,…, N \right\} P={pi​∈R3∣i=1,…,N}和 Q = { q j ∈ R 3 ∣ j = 1 , … , M } \mathcal Q = \{q_j\in \mathbb R^3|j = 1,…, M\} Q={qj​∈R3∣j=1,…,M}。點雲配準的任務是找到最優的剛性變換 T = { R , t } \bm T = \{\bm R, \bm t\} T={R,t},以及點比對來對齊圖塊對align pairs of fragments,最終恢複完整的scene。點對應對 ( p i , q j ) (p_i, q_j) (pi​,qj​)期望滿足:

【論文筆記】SpinNet

其中 R ∈ S O ( 3 ) R∈SO(3) R∈SO(3)為旋轉矩陣, t ∈ R 3 t \in \mathbb R^3 t∈R3為平移向量, ϵ i \epsilon_i ϵi​為殘差。在實際應用中,由于問題[36]的非凸性,同時尋找比對correspondences和估計變換estimate the transformation是不可行的(不能同時尋找比對和轉換估計,要分步進行,下面的公式是求估計吧?)。但若能确定一對一對應的點子集 P c \mathcal P^c Pc和 Q c \mathcal Q^c Qc,則配準問題可簡化為以下 L 2 L_2 L2​距離的最小化問題:

【論文筆記】SpinNet

其中 N \mathcal N N為成功比對的比對數, B ∈ R N × N \mathcal B\in \mathbb R^{N×N} B∈RN×N為一個排列矩陣(permutation matrix),如果 P c \mathcal P^c Pc中的 u t h u^{th} uth點對應于 Q c \mathcal Q^c Qc中的 v t h v^{th} vth點,則滿足 B u , v = 1 \mathcal B_{u,v }= 1 Bu,v​=1,否則為0。(好像明白了,配對的點通過R和t從P轉換到Q,然後最小化這個誤差。可是怎麼最小化呢?而且怎麼從一開始知道哪些點是Pc和Qc呢?誰說他們就是配對正确的呢?是要經過一個求比對的步驟吧?)

我們提出了一種新的表面特征學習器SpinNet(surface feature learner),它是一個映射函數 M \mathcal M M,其中 M ( p i ) \mathcal M(pi) M(pi)等于 M ( p j ) \mathcal M(pj) M(pj)在任意的剛性變換,如旋轉和平移,如果 p i p_i pi​和 q j q_j qj​确實是正确的比對。特别地,我們的特征學習器主要由空間點變換和神經特征提取器組成(a Spatial Point Transformer and a Neural Feature Extractor)。

3.2 Spatial Point Transformer

該子產品用于對輸入進行空間變換,将輸入的3D表面轉化為圓柱體,克服了旋轉方差overcoming the rotation variance,同時不丢失局部模式的關鍵資訊whilst without dropping critical information of local patterns。如圖2所示,它由四個元件組成,如下所述。

【論文筆記】SpinNet

圖2:Spatial Point Transformer的詳細元件和處理步驟

與參考軸對齊Alignment with a Reference Axis.給定局部表面的特定的點 p ∈ P p \in \mathcal P p∈P,首先從鄰近的點集估計指向 視點[40,1] (什麼是視點viewpoint??)的參考軸 n p n_p np​, P s = { p i : ∣ ∣ p i − p ∣ ∣ 2 ≤ R } \text P^s =\{ \text p_i:||\text p_i-\text p||^2 \leq R \} Ps={pi​:∣∣pi​−p∣∣2≤R},通過support radius R R R。然後我們使用一個旋轉矩陣 R z R_z Rz​将 n p n_p np​與Z-axis 對齊。與更易模糊和不穩定的 外部局部參考系(local reference frames?如何了解?就是前文提到的LRF-based) 相比,我們估計的 n p n_p np​對于旋轉變化[44]具有更強的魯棒性和穩定性(WHY?)。随後,将相鄰點集 P s P^s Ps轉換為 P r s = R z P s P^s_r = R_zP^s Prs​=Rz​Ps。為了實作 平移不變性translation invariance,我們通過向中心點偏移進一步标準化 P r s P^s_r Prs​,即 P ^ r s = P r s − R z p \hat{P}^s_r = P^s_r−R_zp P^rs​=Prs​−Rz​p。是以,得到的局部patch P ^ r s \hat{P}^s_r P^rs​與z軸對齊,剩餘的轉動自由度完全留在xy平面上。(轉換後,p就是原點,半徑R内的鄰域點散布在原點周圍,經過Rz轉換,np與z軸對齊。R怎麼确定?與參考軸對齊怎麼了解?是參考軸與z軸對齊的話,這裡的點也跟着一起對齊嗎?對齊能減少旋轉的自由度,這個怎麼了解呢?)

球形體素化。為了進一步消除xy平面上的旋轉變化,我們利用旋轉魯棒的球面表示。特别地,我們将patch P ^ r s \hat{P}^s_r P^rs​視為一個球體(如何了解把一片點雲看作球體呢?為什麼視為球體就能消除xy平面的旋轉variance?),并沿徑向距離 ρ ρ ρ、仰角(elevation angle ) φ φ φ和方位角(azimuth angle) θ θ θ均勻地将其劃分為 J × K × L J × K × L J×K×L體素。每個體素的中心記為 v j k l v_{jkl} vjkl​,其中 j ∈ { 1 , … , J } j∈\{1,…,J\} j∈{1,…,J}, k ∈ { 1 , … , K } k∈\{1,…,K\} k∈{1,…,K} l ∈ { 1 , … , L } l∈\{1,…,L\} l∈{1,…,L}。然後我們明确地為每個體素的中心 v j k l v_{jkl} vjkl​識别一組鄰近點。特别地,我們使用 半徑查詢(radius query) 來尋找鄰近點 P j k l ⊂ P ^ r s P_{jkl}\subset \hat{P}^s_r Pjkl​⊂P^rs​基于固定的半徑 R v R_v Rv​,其中 P j k l = { p ^ i : ∣ ∣ p ^ i − v j k l ∣ ∣ 2 ≤ R v , p ^ i ∈ P ^ r s } P_{jkl}=\{\hat{p}_i:||\hat{p}_i-v_{jkl}||^2 \leq R_v, \hat{p}_i\in \hat{P}^s_r \} Pjkl​={p^​i​:∣∣p^​i​−vjkl​∣∣2≤Rv​,p^​i​∈P^rs​}.最後,我們對每個體素随機采樣并保持固定數量 k v k_v kv​的點,以達到 高效并行計算 的目的。 這個球形體素化步驟是後續空間點變換的關鍵 。

(把處理完的patch當作球體分割為若幹個體素,在每個體素内radius query 固定數量 k v k_v kv​個點。這是尋找最近的 k v k_v kv​個點嗎?問題是萬一找不到 k v k_v kv​個點怎麼辦??以及如何并行計算?是指友善GPU的運算?)

XY平面的變換。為了使每個球形體素在xy平面上旋轉不變rotationally invariant,我們主動地圍繞z軸旋轉每個體素,使其中心 v j k l v_{jkl} vjkl​與yz平面對齊, 這裡是旋轉矩陣 R j k l R_{jkl} Rjkl​定義為:

【論文筆記】SpinNet

這為xy平面上的每個體素去除了額外的旋轉自由度,而不dropping每個體素的任何局部幾何模式。需要注意的是,現有的方法[50,62]通常使用手工制作的特征來實作旋轉不變性,導緻大量的局部模式的丢失。獨特的是,我們轉換體素的簡單政策可以儲存這些模式,讓強大的神經層學習它們。

圓柱體積公式。一旦每個體素的局部模式被轉換,進一步儲存多個體素之間更大的空間結構是至關重要的。這需要在整個架構中表示所有體素的相對位置。為此,我們将球形體素轉換成圓柱體。這符合所提出的三維柱面卷積網絡,該網絡保證了輸入局部曲面的SO(2)等變 (SO(2) equivariance),并保留了多個體素的拓撲模式。特别地,給定變換後的球形體素,每個體素都有一組相鄰的點,我們邏輯地将它們投影到一個圓柱體體中,記為 C ∈ R J × K × L × k v × 3 C\in R^{J×K×L×kv×3} C∈RJ×K×L×kv×3如圖2所示.

總之,給定一個輸入surface patch,我們的Spatial Point Transformer明确地将其z軸與參考軸對齊,并在xy平面上主動轉換球形體素模式,并通過圓柱體體積公式進一步保留拓撲表面結構。顯然,該子產品保持所有表面模式的完整性,以供後續的神經特征提取器學習。

3.3 神經特征提取器

本子產品旨在使用強大的神經層從每個圓柱形體素内的轉換點學習一般特征。如圖3所示,它由兩個元件組成,如下所述。

點層。給定每個圓柱形體素内的點,我們使用共享MLPs,然後使用最大池函數 A ( ⋅ ) \mathcal A( \cdot ) A(⋅)來學習每個體素的初始簽名。形式上,基于點的層被定義為:

【論文筆記】SpinNet

其中fjkl是學習到的D維特征。注意,MLP權值是在所有球形體素中共享的。

最終得到一組三維柱面特征圖 F ∈ R J × K × L × D F\in \mathbb R^{J× K× L×D} F∈RJ×K×L×D

3D圓柱形卷積層。為了進一步了解圓柱體的多個體素之間更廣泛的空間結構,我們提出了一種受[31]啟發的高效三維圓柱卷積網絡(3DCCN)。具體來說,給定某體素位于 s t h s^{th} sth層第 d t h d^{th} dth個圓柱形特征圖的位置(j, k, l),則我們的3DCCN定義如下:

【論文筆記】SpinNet

其中 R s R_s Rs​為核沿徑向尺寸的大小, Y s Y_s Ys​和 X s X_s Xs​分别為核的高度和寬度, w r y x s d ′ d w_{ryx}^{sd'd} wryxsd′d​為可學習參數。

與現有的卷積運算有很大的不同,我們提出的3DCCN在以下兩個方面有創新。首先,由于圓柱形特征地圖是沿着圓柱體360◦連續,我們的3DCCN是設計圍繞這些特征地圖,即,在周期邊界從−180◦到180◦。是以,我們的3DCCN不需要顯式填充(explicit padding),但3D-CNN需要在feature map的邊界處填充。其次,與現有的3D流形稀疏卷積[8]或核點卷積[2]相比,其周圍的連續卷積360◦volume使得獲得的特征圖是SO(2)等變,進而實作最終的旋轉不變性。(這是一句提綱挈領的總結,然鵝我沒搞懂是啥意思?)

将多個3DCCN層疊加後進行最大池化,将原始圓柱形特征映射壓縮成緊湊且具有代表性的特征向量。

【論文筆記】SpinNet

圖3:所提出的神經特征提取器示意圖。

3.4 端到端的實作

空間點變換子產品直接與神經特征提取器連接配接,然後利用已有的對比損失函數[2]進行端到端優化。最廣泛使用的hardest in batch采樣[42]也被實時采用,以最大限度地提高最近的positive和最近的negative patches之間的距離。神經層的細節在附錄中介紹。

我們基于PyTorch架構實作了SpinNet。使用帶有預設參數的Adam優化器[35]。初始學習率設定為0.001,每5個周期以0.5的速率衰減。我們對網絡進行20個時間段的訓練,然後使用驗證集上性能最好的模型進行測試。為了公平比較,我們所有的實驗都保持相同的設定。所有實驗都是在Intel Xeon CPU平台上進行的@2.30GHZ使用NVIDIA RTX2080Ti GPU。

4 實驗

我們首先在室内3DMatch資料集[65]和室外KITTI資料集[20]上評估SpinNet。然後,我們評估我們的方法在不同傳感器擷取的多個未見資料集[65,20,46]上的泛化能力。最後,進行了廣泛的性能研究。

實驗設定。我們遵循[2,65]隻考慮整個資料集中重疊大于30%的點雲片段對來生成訓練樣本。對于每一個成對片段P和Q,我們從P的重疊區域随機采樣固定數量的錨點,然後真實應用變換 T = { R , t } T = \{R , t\} T={R,t} 來确定片段Q中對應點。對于每一個錨點,我們從其**support區域(啥是支援區域?)**随機抽樣2048點。

4.1 室内3DMatch資料集評價

3DMatch是一個rgbd重建資料集,由62個真實室内場景從現有資料集[56,49,57,34,56,11]組成。我們按照[2]提供的官方協定将場景分為訓練和測試部分。每個場景包含幾個部分重疊的片段,并有真實變換參數可供評估。采用特征比對recall率[13]作為标準度量。(為什麼是recall?怎麼了解?)

與最優研究現狀的比較。首先,在采樣點 f = 5000 f=5000 f=5000、距離門檻值 τ 1 = 10 c m τ1=10 cm τ1=10cm和inlier ratio門檻值(這是什麼?) τ 2 = 5 % τ2=5\% τ2=5%的條件下,比較SpinNet和較優的基準(包括LMVD[37]、D3Feat[2]、FCGF[8]、PerfectMatch[22]、PPFNet[14]和PPF-FoldNet[13])在3DMatch資料集上獲得的FMR分數。為了進一步評估所有方法對旋轉的魯棒性,我們遵循[14,2],通過對資料集的所有片段在SO(3)組中應用任意旋轉來建立一個旋轉3DMatch基準。每個資料集的旋轉分布在附錄中。

【論文筆記】SpinNet

表1:3DMatch資料集的定量結果,STD:标準偏差。符号’ - '表示結果不可用或STD低于低FMRs (<10%)

如表1所示,我們的方法生成的描述子在原始資料集和旋轉資料集上都獲得了最高的平均FMR評分和最低的标準差,優于最先進的方法。注意,一些基線[8,2]需要基于旋轉的資料增強來進行訓練,而我們的不需要。

不同采樣點數下的性能

我們進一步評估我們SpinNet在3DMatch上的性能,通過輸入不同數量的采樣點數。如表2所示,我們SpinNet學習的描述符,當采樣點的數量從5000減少到250時,始終能夠獲得最好的FMR分數。特别是,通過随機選擇點,我們的方法甚至優于具有顯式關鍵點檢測子產品的D3Feat-pred方法。這表明我們的網絡是高度穩健的,對采樣點的數量不敏感。

【論文筆記】SpinNet

表2:使用不同采樣點數對3DMatch資料集的定量結果

【論文筆記】SpinNet

圖4:不同inlier distance threshold τ 1 τ1 τ1(左)和inlier ratio threshold τ 2 τ2 τ2 (右)下3DMatch資料集的特征比對率。

【論文筆記】SpinNet

表3:KITTI裡程計資料集上不同方法的定量結果。從[2]擷取的基線的分數。

不同錯誤門檻值下的性能。此外,我們通過改變誤差門檻值τ1和τ2來評估SpinNet的魯棒性。如圖4所示,在所有門檻值下,SpinNet生成的描述符的性能始終優于其他方法。值得注意的是,當inlier ratio threshold增加時,我們方法的FMR評分明顯高于其他方法。在更嚴格的條件τ2 = 0.2時,我們的方法保持了較高的FMR評分85.7%,而D3Feat和FCGF分别降至75.8%和67.4%。這突出表明我們的方法在更困難的情況下更健壯。

4.2. Evaluation on Outdoor KITTI Dataset

KITTI odometry[20]是由Velodyne-64 3D雷射雷達掃描器擷取的室外稀疏點雲資料集。它由11個序列的戶外掃描組成。為了進行公平的比較,我們使用與D3Feat[2,8]相同的資料集分割和預處理方法。與[39]類似,使用相對平移誤差Relative Translational Error (RTE)、相對旋轉誤差**Relative Rotation Error(RRE)**和成功率作為評價名額。如果一對圖檔碎塊的RTE和RRE均低于[60]中預定義的門檻值 2 m 2m 2m和 5 ° 5° 5°,則認為配準成功。值得注意的是,點雲在這個資料集中是重力對齊的,我們遵循[60]來跳過我們方法中的參考軸對齊。如表3所示,我們的SpinNet的結果與強基線D3Feat相當。誠然,我們的SpinNet略低于最先進的D3Feat-pred,主要是因為D3Feat有一個強大的聯合學習描述符和關鍵點探測器。此外,該資料集中對齊良好的點雲确實有利于D3Feat。我們将關鍵點檢測的內建留給未來的探索。

4.3. Generalization across Unseen Datasets

我們進行了幾組實驗,以廣泛評估我們的SpinNet泛化能力。在每個組中,我們的網絡在一個資料集上訓練,然後直接在一個完全看不見的資料集上測試。

【論文筆記】SpinNet

表4:ETH資料集的定量結果,其中 † † †為手工描述符。注意,所有學習的方法都是在室内3DMatch資料集上訓練的。比較 τ 1 = 10 c m τ1 = 10cm τ1=10cm和 τ 2 = 5 % τ2 = 5\% τ2=5%時的FMR評分。

Generalization from 3DMatch to ETH dataset. 遵循[2]的設定,所有模型隻在3DMatch資料集上訓練,然後直接在ETH資料集[46]上測試。需要注意的是,ETH資料集包含四個場景,分别是涼亭-夏、涼亭-冬、WoodSummer和Wood-Autumn。與3DMatch不同的是,ETH資料集是通過靜态地面掃描器擷取的,以樹木、灌木等室外植被為主。此外,與3DMatch資料集相比,ETH資料集的點雲碎塊分辨率較低,幾何形狀更複雜。這兩個資料集之間存在較大的域差距,這對所有方法的推廣提出了巨大的挑戰。

如表4所示,所有基線(D3Feat、FCGF、3DMatch、CGF)在ETH資料集上的性能都出現了明顯的下降。他們的FMR評分比3DMatch資料集上最初的結果下降了80%,如表1所示,一些技術的性能甚至低于手工描述符,如SHOT。從根本上說,這些方法的泛化程度較低是由于D3Feat、FCGF和3DMatch學習到的描述符會随着旋轉和平移等剛性變換而變化。

由SpinNet生成的描述符在所有四個場景中獲得了最高的FMR分數,顯著超過第二好的方法(LMVD)約13%。這清楚地表明,我們的方法具有優異的泛化能力,通過一個新的傳感器模式收集的未見資料集。這主要是因為我們的SpinNet是明确設計來實作旋轉不變性的。圖5的第一行顯示了定性結果。

【論文筆記】SpinNet

表5:不同方法對室内3DMatch資料集的定量結果,其中†表示手工繪制的描述符。注意,所有學習的方法僅在戶外KITTI資料集上進行訓練

【論文筆記】SpinNet

表6:KITTI資料集的定量結果。注意,所有模型都在室内3DMatch資料集上訓練,而在室外KITTI資料集上直接測試。

Generalization from KITTI to 3DMatch dataset。所有模型在戶外的KITTI資料集上訓練,該資料集主要由稀疏的LiDAR點雲組成,然後直接在室内的3DMatch資料集上測試,該資料集由RGBD圖像重建的稠密點雲組成。如表5所示,D3Feat和FCGF在3DMatch資料集上的結果都很差,特别是在SO(3)中存在任意旋轉時。它們的得分甚至比傳統方法(如FPFH)還要低,這主要是因為D3Feat和FCGF都有大量的參數,并且傾向于過拟合KITTI資料集,而沒有學習到可以适用于看不見的資料集的代表性和一般的局部模式。相比之下,我們的SpinNet獲得了79.6%的FMR得分,證明了在不同的新場景中具有更好的泛化能力。圖5的第二行顯示了定性結果。

Generalization from 3DMatch to KITTI dataset.另外,我們評估了從3DMatch到KITTI資料集的泛化能力。所有模型隻在室内3DMatch資料集上訓練,然後直接在室外KITTI資料集上測試。表6為定量結果。由于這兩個資料集是由不同類型的傳感器收集的,資料分布之間存在很大的差距。FCGF和D3Feat都不能有效地從3DMatch泛化到KITTI資料集。然而,我們的方法仍然表現出優良的成功率69.19%,是第二最佳方法的兩倍。圖5的第三行顯示了定性結果。

4.4. Ablation Study消融實驗

為了系統地評估SpinNet中每個元件的有效性,我們在3DMatch和ETH資料集上進行了廣泛的消融實驗。具體來說,我們在3DMatch資料集上訓練所有消融模型,然後直接在3DMatch和ETH資料集上測試。

(1)僅拆除與參考軸的對準線。

最初,計算參考軸以使輸入更新檔與z軸對齊。通過删除這一步,SO(3)上的旋轉不變性不再保持。

【論文筆記】SpinNet

表7:所有消融模型的FMR評分在3DMatch和ETH資料集上, τ 1 = 0.1 c m τ1 = 0.1cm τ1=0.1cm。

【論文筆記】SpinNet

圖5:我們方法對未見資料集的定性結果。第一行是3DMatch到ETH,第二行是KITTI到3DMatch,第三行是3DMatch到KITTI。

(2)僅去除xy平面上的變換。

XY平面上的變換一開始設計是為了消除這個平面上每個體素的旋轉方差(rotation variance?) 在這個實驗中,我們去掉變換,直接對未變換的球形體素進行運算,得到圓柱體體積。

(3)僅用密度density替換基于點的層。

我們不是使用基于點的層來學習每個圓柱形體素的簽名(signature,是特征的意思?),而是手工計算每個體素的點密度作為其簽名(?)。基本上,這是為了驗證我們基于點的學習的特征是否比通常使用的、有限的、手工制作的特征更普遍和更有代表性。

(4) MLPs隻替代3DCCN。

3DCNN被設計用來從多個體素學習更大的空間結構,同時保持旋轉等變性(rotation equivariance)。在這個實驗中,我們用所有圓柱形體素共享的相同數量的MLP層替換3DCNN層。這些mlp無法學習wide context。

分析。所有消融網絡在3DMatch資料集上的結果如表7所示,在ETH資料集上的泛化性能如表7所示。可以看出:

1)在沒有使用參考軸對齊或球形體素變換的情況下,燒蝕模型無法在3DMatch或ETH資料集中有效地比對點雲,特别是随機旋轉的點雲。這表明所提出的空間點轉換器确實在我們的SpinNet中實作旋轉不變性起着重要的作用。

2)在不使用先進的基于點的神經層學習**球面體素特征(signature for spherical voxels)**的情況下,消融方法可以使用簡單的手工特征,即點密度,在3DMatch資料集上獲得一緻的結果,但不能推廣到未見的ETH資料集。這清楚地表明,學習到的局部特征往往比手工制作的特征更強大和通用。

3)在不使用3DCCN學習較大表面結構的情況下,消融模型在3DMatch和ETH的資料集上的得分都明顯較低。這說明3DCCN是儲存 局部空間模式 的關鍵。

5.結論

在本文中,我們提出了一個新的神經描述子來學習複雜三維曲面的緊湊表示representations。學習的表示是旋轉不變的,描述性的,并能夠儲存複雜的局部幾何圖案。大量的實驗表明,我們的描述子在未見場景中具有顯著的泛化能力,在三維點雲配準中取得了較好的效果。在未來,我們将研究關鍵點檢測器的內建,以及全卷積結構。

繼續閱讀