PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

LittleFishC發表於2022-03-16

摘要

點雲是一種重要的幾何資料結構型別。由於其不規則的格式,大多數研究人員將此類資料轉化為常規的三維體素網格或影像集合。然而,這使資料變得不必要的龐大,並導致問題。在本文中,我們設計了一種新型的直接處理點雲的神經網路,它很好地考慮了點在輸入中的排列不變性。我們的網路名為PointNet,為從目標分類、部分分割到場景語義分析等應用提供了一個統一的架構。雖然簡單,但PointNet是非常高效和有效的。從經驗上看,它表現出了與現有技術相當甚至更好的效能。從理論上講,我們提供了分析,以瞭解網路學到了什麼,以及為什麼網路對輸入擾動和損壞具有魯棒性。

1、緒論

在本文中,我們探索了能夠推理3D幾何資料(如點雲或網格)的深度學習架構。典型的卷積架構需要高度規則的輸入資料格式,如影像網格或三維體素的格式,以便進行權重共享和其他核心優化。由於點雲或網格不是常規格式,大多數研究人員在將這些資料送入深度網架構之前,通常會將其轉化為常規的三維體素網格或影像集合(例如,檢視)。但是,這種資料表示轉換會使結果資料變得不必要的龐大,同時還會引入量化偽像,掩蓋資料的不變性。

因此,我們將重點放在使用簡單的點雲的3D幾何體的不同輸入表示上,並將我們得到的深網命名為PointNet。出於這個原因,我們專注於使用簡單的點雲對3D幾何進行不同的輸入表示--並將我們產生的深度網路命名為PointNet。點雲是簡單而統一的結構,避免了網格的組合不規則性和複雜性,因此更容易學習。然而,PointNet仍然必須尊重這樣一個事實,即點雲只是一組點,因此對其成員的排列是不變的,這就需要在網計算中進行某些對稱化。還需要考慮剛體運動的不變性。

我們的PointNet是一個統一的架構,直接將點雲作為輸入和輸出,要麼是整個輸入的類別標籤,要麼是輸入的每個點的分割/部分標籤。我們網路的基本架構非常簡單,因為在初始階段,每個點的處理都是相同和獨立的。在基本設定中,每個點僅由其三個座標\((x,y,z)\)表示。可以通過計演算法線和其他區域性或全域性特徵來增加額外的維度。我們方法的關鍵是使用單個對稱函式,即最大池化。網路有效地學習一組優化函式/標準,這些函式/標準選擇點雲中感興趣的或資訊豐富的點,並編碼選擇它們的原因。最終的網路全連線層將這些學習到的最優值聚合到全域性描述符中,為整個形狀(形狀分類)或用於預測每個點標籤(形狀分割)。


圖1、PointNet的應用。我們提出了一種新的網路架構,它使用原始點雲(點集),而無需體素化或渲染。它是一個學習全域性和區域性點特徵的統一體系結構,為許多3D識別任務提供了一種簡單、高效和有效的方法。

我們的輸入格式很容易應用剛性(就是剛體變換)或仿射變換,因為每個點獨立變換。因此,我們可以新增一個資料相關的空間變換網路,在PointNet處理資料之前嘗試規範化資料,以便進一步改善結果。

我們提供了理論分析和實驗評估我們的方法。我們證明了我們的網路可以逼近任何連續的集合函式。更有意思的是,原來我們的網路是通過一組稀疏的關鍵點來學習概括一個輸入點雲,根據視覺化大致對應物體的骨架。理論分析提供了一個理解,為什麼我們的PointNet對輸入點的小擾動以及通過點插入(異常值)或刪除(丟失資料)造成的損壞具有高度魯棒性。在從形狀分類、部分分割到場景分割的大量基準資料集上,我們實驗性地將我們的PointNet與基於多檢視和體積表示的最先進方法進行了比較。在統一架構下,我們的PointNet不僅速度快得多,而且表現出與現有技術相當甚至更好的強大效能。

我們工作的主要貢獻如下:

  • 我們設計了一種新型的深度網路架構,適用於在3D中使用無序點集;
  • 我們展示瞭如何訓練這樣的網路來執行3D形狀分類、形狀部分分割和場景語義解析任務;
  • 我們對我們方法的穩定性和有效性進行了深入的實證和理論分析;
  • 我們舉例說明了網路中所選神經元計算的3D特徵,並對其效能進行了直觀的解釋。

通過神經網路處理無序集合的問題是一個非常普遍和基本的問題——我們希望我們的想法也可以應用到其他領域。

2、相關工作

點雲特徵 大多數現有的點雲功能都是針對特定任務手工製作的。點特徵通常對點的某些統計屬性進行編碼,並被設計為對某些轉換保持不變,這些轉換通常被分類為內在的[2, 24, 3]或外在的[20, 19, 14, 10, 5]。它們也可以分為區域性特徵和全域性特徵。對於特定任務,找到最佳特徵組合並非易事。

3D資料的深度學習 3D資料具有多種流行的表示形式,引導了各種學習方法。Volumetric CNNs:[28,17,18] 是將3D卷積神經網路應用於體素化形狀的先驅。然而,由於資料稀疏性和3D卷積的計算成本,體積表示受到其解析度的限制。FPNN[13]和Vote3D[26]提出了處理稀疏問題的特殊方法;然而,他們的操作仍然在稀疏的體積上,處理非常大的點雲對他們來說是一個挑戰。Multiview CNNs:[23, 18]嘗試將3D點雲或形狀渲染為2D影像,然後應用2D卷積網路對它們進行分類。通過精心設計的影像CNN,這一系列方法已經在形狀分類和檢索任務上取得了主導效能[21]。然而,將它們擴充套件到場景理解或其他3D任務(如點分類和形狀補全)是很重要的。Spectral CNNs:一些最新的工作[4,16]在網格上使用譜CNN。然而,這些方法目前僅限於流形網格,如organic物體,如何將它們擴充套件到非等距形狀,如傢俱,並不明顯。基於特徵的DNN:[6, 8] 首先將3D資料轉換為向量,通過提取傳統的形狀特徵,然後使用全連線網路對形狀進行分類。我們認為它們受到所提取特徵的表示能力的限制。

無序集合的深度學習 從資料結構的角度來看,點雲是一組無序的向量。 雖然深度學習的大多數工作都集中在常規的輸入表示上,比如序列(在語音和語言處理中)、影像和體積(視訊或3D資料),但在點集的深度學習方面做的工作並不多。

Oriol Vinyals等人[25]最近的一項工作研究了這個問題。 他們使用一個具有注意力機制的read-process-write網路來處理無序的輸入集,並表明他們的網路有能力對數字進行排序。然而,由於他們的工作集中在通用集合和NLP應用程式上,因此集合中缺乏幾何體的作用。

3、問題陳述

我們設計了一個深度學習框架,直接使用無序點集作為輸入。點雲被表示為一組3D點\(\left\{P_{i} \mid i=1, \ldots, n\right\}\),其中每個點\(P_{i}\)是其\((x,y,z)\)座標加上額外的特徵通道(例如顏色、法線等)的向量。為了簡單明瞭,除非另有說明,我們只使用\((x,y,z)\)座標作為點的通道。

對於目標分類任務,輸入點雲要麼直接從形狀取樣,要麼從場景點雲預分割。 我們提出的深度網路輸出所有\(k\)個候選類的\(k\)個分數。 對於語義分割,輸入可以是用於部分割槽域分割的單個目標,也可以是用於目標區域分割的三維場景的子體積。 我們的模型將為每個\(n\)點和每個\(m\)語義子類別輸出\(n×m\)分數。


圖2、PointNet架構。分類網路將n個點作為輸入,應用輸入和特徵變換,然後通過最大池化聚合點特徵。輸出是k個類別的分類分數。分割網路是分類網路的擴充套件。它連線全域性和區域性特徵並輸出每點分數。“mlp”代表多層感知器,括號中的數字是層大小。 Batchnorm用於所有帶有ReLU的層。Dropout層用於分類網路中的最後一個mlp。

4、點集的深度學習

我們網路的架構(第 4.2 節)受到\(\mathbb{R}^{n}\)中點集性質的啟發(第 4.1 節)。

4.1、\(\mathbb{R}^{n}\)中點集的性質

我們的輸入是來自歐幾里得空間的點的子集。它具有三個主要性質:

  • 無序。 與影像中的畫素陣列或體積網格中的體素陣列不同,點雲是一組沒有特定順序的點。換句話說,一個處理\(N\)個3D點集的網路需要在資料輸入順序上對輸入集的\(N !\)排列保持不變。
  • 點之間的相互作用。 這些點來自具有距離度量的空間。這意味著點不是孤立的,相鄰點形成一個有意義的子集。因此,模型需要能夠從附近的點捕捉區域性結構,以及區域性結構之間的組合相互作用。
  • 變換下的不變性。 作為一個幾何目標,點集的學習表示對於某些變換應該是不變的。例如,所有的點旋轉和平移不應修改全域性點雲類別,也不應修改點的分段。

4.2、PointNet架構

我們的完整網路架構如圖2所示,其中分類網路和分割網路共享很大一部分結構。 請閱讀圖2中pipeline的說明。

我們的網路有三個關鍵模組:作為對稱函式聚合所有點資訊的max pooling層、區域性和全域性資訊組合結構,以及用於對齊輸入點和點要素的兩個聯合對齊網路。

我們將在下面單獨的段落中討論這些設計選擇背後的原因。

無序輸入的對稱函式 為了使模型對輸入排列不變,存在三種策略:1)將輸入的內容整理成一個規範的順序。2)將輸入作為一個序列來訓練RNN,但通過各種排列組合來增加訓練資料。3)使用簡單的對稱函式來聚集來自每個點的資訊。這裡,對稱函式將n個向量作為輸入,並輸出一個對輸入順序不變的新向量。例如,+ 和 * 運算子是對稱二元函式。

雖然排序聽起來是一個簡單的解決方案,但在高維空間中,事實上並不存在一個在一般意義上對點擾動穩定的排序。這很容易通過矛盾表現出來。如果存在這樣的排序策略,它定義了一個高維空間和\(1d\)實線之間的雙射對映。不難看出,要求排序對於點擾動是穩定的,相當於要求該地圖在維度減小時保持空間接近度,這是一般情況下無法完成的任務。因此,排序並不能完全解決排序問題,而且隨著排序問題的持續,網路很難從輸入到輸出獲得一致的對映。如實驗所示(圖5),我們發現將MLP直接應用於分類後的點集表現不佳,儘管比直接處理未分類的輸入稍好。使用RNN的想法將點集視為一個序列訊號,並希望通過用隨機排列的序列訓練RNN,RNN將變得對輸入順序不變。然而,在“OrderMatters”[25] 中,作者已經表明順序確實很重要,不能完全省略。雖然RNN對於小長度(幾十個)的序列的輸入排序具有相對較好的魯棒性,但它很難擴充套件到數千個輸入元素,而這是點集的常見大小。根據經驗,我們還表明,基於RNN的模型不如我們提出的方法表現好(圖5)。我們的想法是通過對集合中的變換元素應用對稱函式來近似定義在點集上的一般函式:

\[f\left(\left\{x_{1}, \ldots, x_{n}\right\}\right) \approx g\left(h\left(x_{1}\right), \ldots, h\left(x_{n}\right)\right) \quad\quad \quad\quad(1) \]

,其中\(f: 2^{\mathbb{R}^{N}} \rightarrow \mathbb{R}, h: \mathbb{R}^{N} \rightarrow \mathbb{R}^{K}\)\(g:\underbrace{\mathbb{R}^{K} \times \cdots \times \mathbb{R}^{K}}_{n} \rightarrow \mathbb{R}\)是對稱函式。

根據經驗,我們的基本模組非常簡單:我們用多層感知器網路近似\(h\),用單變數函式和最大池化函式的組合來估算\(g\) 實驗證明,這種方法效果良好。通過\(h\)的集合,我們可以學習一些\(f\)來獲取集合的不同屬性。

雖然我們的關鍵模組看起來很簡單,但它具有有趣的特性(見第5.3節),可以在一些不同的應用中實現強大的效能(見第5.1節)。由於我們模組的簡單性,我們也能夠像第4.3節那樣提供理論分析。

區域性和全域性資訊聚合 上述部分的輸出形成一個向量\(\left[f_{1}, \ldots, f_{K}\right]\),它是輸入集的全域性簽名。 我們可以很容易地在形狀全域性特徵上訓練SVM或多層感知器分類器進行分類。 然而,點分割需要結合區域性和全域性資訊。我們可以通過簡單而高效的方式實現這一點。

我們的解決方案如圖2(分段網路)所示。 在計算全域性點雲特徵向量後,我們通過將全域性特徵與每個點特徵連線起來,將其反饋給每個點特徵。 然後,我們基於組合點特徵提取新的每點特徵——這一次,每點特徵同時感知區域性和全域性資訊。

通過這種修改,我們的網路能夠預測依賴於區域性幾何和全域性語義的每個點的數量。例如,我們可以準確預測每個點的法線(補充圖中的圖),驗證網路是否能夠彙總來自點的區域性鄰域的資訊。在實驗環節中,我們還展示了我們的模型在形狀部分分割和場景分割方面的最新效能。

聯合校準網路 如果點雲經過某些幾何變換,例如剛體變換,點雲的語義標記必須是不變的。因此,我們期望通過我們的點集學習的表示對這些變換是不變的。

一種自然解決方案是在特徵提取之前將所有輸入集對齊到規範空間。Jaderberg等人[9]引入了空間transformer的概念,通過取樣和插值來對齊二維影像,由一個專門的層在GPU上實現。

與[9]相比,我們的點雲輸入形式使我們能夠以更簡單的方式實現這一目標。我們不需要創造任何新的層,也沒有像影像中那樣引入別名。我們通過小型網路(圖2中的T-net)預測仿射變換矩陣,並將該變換直接應用於輸入點的座標。微型網路本身類似於大網路,並且由點獨立特徵提取、最大池化和全連線層的基本模組組成。關於T-net的更多細節在附錄中。

這個想法也可以進一步擴充套件到特徵空間的對齊。我們可以在點要素上插入另一個對齊網路,並預測要素變換矩陣來對齊來自不同輸入點雲的要素。然而,特徵空間中的變換矩陣比空間變換矩陣維數高得多,這大大增加了優化的難度。因此,我們在softmax訓練損失中增加了一個正則項。我們將特徵變換矩陣約束為接近正交矩陣:

\[L_{r e g}=\left\|I-A A^{T}\right\|_{F}^{2} \quad\quad \quad\quad(2) \]

其中\(A\)是由微型網路預測的特徵對準矩陣。正交變換不會丟失輸入中的資訊,因此是所期望的。我們發現,通過加入正則項,優化變得更加穩定,我們的模型實現了更好的效能。

4.3、理論分析

通用近似 我們首先展示了我們的神經網路對連續集函式的通用近似能力。通過集合函式的連續性,直觀地,對輸入點集的小擾動應該不會極大地改變函式值,例如分類或分割分數。

形式上,設\(\mathcal{X}=\left\{S: S \subseteq[0,1]^{m}\right.\) and \(\left.|S|=n\right\}, f:\mathcal{X} \rightarrow \mathbb{R}\)\(\mathcal{X}\)上關於Hausdorff距離(Hausdorff距離可以理解成一個點集中的點到另一個點集的最短距離的最大值。\(d_{H}(\cdot, \cdot)\), i.e., \(\forall \epsilon>0, \exists \delta>0\)的連續集函式,對任意\(S, S^{\prime} \in \mathcal{X}\),若\(d_{H}\left(S, S^{\prime}\right)<\delta\),則\(\left|f(S)-f\left(S^{\prime}\right)\right|<\epsilon\)。我們的定理說,在最大池化層給定足夠的神經元,即(1)中的\(K\)足夠大,\(f\)可以由我們的網路任意估算。

img
圖3、部分分割的定性結果。我們視覺化所有16個目標類別的CAD部分分割結果。我們展示了部分模擬Kinect掃描(左塊)和完整ShapeNet CAD 模型(右塊)的結果。

定理1。假設\(f: \mathcal{X} \rightarrow \mathbb{R}\)是關於Hausdorff距離\(d_{H}(\cdot, \cdot) . \quad \forall \epsilon>0\)的連續集函式,\(∃\)一個連續函式\(h\)和一個對稱函式\(g\left(x_{1}, \ldots, x_{n}\right)=\gamma \circ M A X\),對於任何\(S \in \mathcal{X}\)

\[\left|f(S)-\gamma\left(\operatorname{MAX}_{x_{i} \in S}\left\{h\left(x_{i}\right)\right\}\right)\right|<\epsilon \]

其中\(x_{1}, \ldots, x_{n}\)\(S\)中任意排序的元素的完整列表,\(γ\)是一個連續函式,MAX是一個向量\(max\)運算子,它以\(n\)個向量作為輸入,並返回元素最大值的新向量。

這個定理的證明可以在我們的補充材料中找到。關鍵思想是,在最壞的情況下,網路可以通過將空間劃分為相等大小的體素,來學習將點雲轉換為體積表示。然而,在實踐中,網路學會了一種更智慧的策略來搜尋空間,正如我們將在point函式視覺化中看到的。

瓶頸維度與穩定性 從理論上和實驗上,我們發現我們的網路的表達能力受到最大池化層的維度,即\(K\)在(1)中的影響。在這裡,我們提供了一個分析,這也揭示了與我們的模型穩定性相關的屬性。 我們將\(\mathbf{u}=\underset{x_{i} \in S}{\operatorname{MAX}}\left\{h\left(x_{i}\right)\right\}\)定義為\(f\)的子網路,它將\([0,1]^{m}\)中的一個點集對映到\(K\)維向量。以下定理告訴我們,輸入集中的損壞較小或額外噪聲點不太可能改變網路的輸出:

定理2 假設\(\mathbf{u}: \mathcal{X} \rightarrow \mathbb{R}^{K}\)滿足於\(\mathbf{u}= \underset{x_{i} \in S}{\operatorname{MAX}}\left\{h\left(x_{i}\right)\right\}\)\(f=\gamma \circ \mathbf{u}\)條件,那麼,

(a) \(\forall S, \exists \mathcal{C}_{S}, \mathcal{N}_{S} \subseteq \mathcal{X}, f(T)=f(S)\) if \(\mathcal{C}_{S} \subseteq T \subseteq \mathcal{N}_{S}\)

(b) \(\left|\mathcal{C}_{S}\right| \leq K\)

我們解釋這個定理的含義。(a)表示如果\(\mathcal{C}_{S}\)中的所有點都被保留,\(f(S)\)在輸入損壞之前保持不變;它也保持不變,額外的噪聲點達到\(\mathcal{N}_{S}\)。 (b)表示\(\mathcal{C}_{S}\)僅包含有限數量的點,由(1)中的\(K\)確定。換句話說,\(f(S)\)實際上完全由小於或等於\(K\)個元素的有限子集\(\mathcal{C}_{S} \subseteq S\)決定。 因此,我們稱\(\mathcal{C}_{S}\)\(S\)的臨界點集,稱\(K\)\(f\)的瓶頸維數。

結合\(h\)的連續性,這解釋了我們的模型在點擾動、腐敗和額外的噪聲點方面的穩健性。類似於機器學習模型中的稀疏性原理,獲得了魯棒性。直觀地說,我們的網路學習通過一組稀疏的關鍵點來總結形狀。在實驗部分,我們看到關鍵點構成了一個目標的骨架。

img
表1、ModelNet40上的分類結果。我們的網路在3D輸入的深度網路中達到了最先進的水平。

5、實驗

實驗分為四個部分。首先,我們展示了PointNet可以應用於多個3D識別任務(第5.1節)。 其次,我們提供詳細的實驗來驗證我們的網路設計(第5.2節)。 最後,我們將網路學習的內容視覺化(第5.3節),並分析時間和空間複雜性(第5.4節)。

5.1、應用

在本節中,我們將展示如何訓練我們的網路來執行3D目標分類、目標部分分割和語義場景分割。儘管我們正在研究一種全新的資料表示(點集),但我們能夠在多個任務的基準測試中獲得相當甚至更好的效能。

3D物體分類 我們的網路學習可用於目標分類的全域性點雲特徵。 我們在ModelNet40[28]形狀分類基準上評估我們的模型。共有來自40個人造物體類別的12311個CAD模型,分為9843個用於訓練,2468個用於測試。雖然以前的方法側重於體積和多檢視影像表示,但我們是第一個直接處理原始點雲的方法。

我們根據面面積對網格面上的1024個點進行統一取樣,並將它們規格化為一個單位球體。 在訓練過程中,我們通過沿上軸隨機旋轉目標,並通過具有零均值和0.02標準偏差的高斯噪聲抖動每個點的位置,來實時增加點雲。

在表1中,我們將我們的模型與以前的工作以及我們的基線進行了比較,我們使用MLP對從點雲提取的傳統特徵(點密度、D2、形狀輪廓等)進行了比較。).我們的模型在基於3D輸入(體積和點雲)的方法中實現了最先進的效能。由於只有全連線層和最大池化,我們的網路在推理速度上獲得了強大的領先優勢,並且可以很容易地在CPU中並行化。在我們的方法和基於多檢視的方法(MVCNN [23])之間仍然有一個小的差距,我們認為這是由於渲染影像可以捕獲的精細幾何細節的損失。

3D目標部分分割 部分分割是一項具有挑戰性的細粒度3D識別任務。給定3D掃描或網格模型,任務是為每個點或面分配部分類別標籤(例如椅子腿、杯柄)。

我們評估了來自[29]的ShapeNet部分資料集,其中包含來自16個類別的16,881個形狀,總共註釋了50個部分。大多數目標類別都標有兩到五個部分。真值註釋標註在形狀取樣點上。

我們將目標分割描述為逐點分類問題。我們將部分分割描述為逐點分類問題。 對於C類的每個形狀S,要計算形狀的mIoU: 對於C類中的每種部分型別,計算出基本事實和預測之間的IoU。 如果真實值相和預測點的並集為空,則將部分IoU計算為1。 然後我們對C類中所有部分型別的IOU進行平均,得到該形狀的mIoU。為了計算類別的mIoU,我們取該類別中所有形狀的mIoU的平均值。 在本節中,我們將我們的分割版本PointNet(圖2的修改版本,分割網路)與兩種傳統方法[27]和[29]進行比較,這兩種方法都利用了逐點幾何特徵和形狀之間的對應關係,以及我們自己的3D CNN基線。

有關3D CNN的詳細修改和網路架構,請參見補充說明。在表2中,我們報告了每個類別和平均IoU(%)分數。 我們觀察到平均IoU改善了2.3%,我們的淨改善率超過了大多數類別的基線方法。


表2、ShapeNet部分資料集的分割結果。度量標準是點上的mIoU(%)。我們與兩種傳統方法[27]和[29]以及我們提出的3D全卷積網路基線進行比較。我們的PointNet方法在mIoU中達到了最先進的水平。

我們還對模擬Kinect掃描進行了實驗,以測試這些方法的魯棒性。對於ShapeNet部分資料集中的每個CAD模型,我們使用Blensor Kinect Simulator[7]從六個隨機視點生成不完整的點雲。 我們使用相同的網路架構和訓練設定在完整的形狀和部分掃描上訓練我們的PointNet。結果表明,我們只損失了5.3%的平均IoU。在圖3中,我們給出了完整資料和部分資料的定性結果。可以看出,雖然部分資料相當具有挑戰性,但我們的預測是合理的。

場景中的語義分割 我們的部分分割網路可以很容易地擴充套件到語義場景分割,其中點標籤成為語義目標類而不是目標部分標籤。

我們在史丹佛3D語義解析資料集[1]上進行實驗。該資料集包含來自6個區域(包括271個房間)的Matterport掃描器的3D掃描。掃描中的每個點都用來自13個類別(椅子、桌子、地板、牆壁等加上雜亂)的語義標籤之一進行註釋。

為了準備訓練資料,我們首先按房間分割點,然後將房間取樣成面積為1m x 1m的塊。我們對PointNet的分段版本進行訓練,以預測每個塊中的每個點類。


表3、場景中語義分割的結果。指標是13個類別(結構和傢俱元素加上雜亂)的平均IoU和基於點計算的分類精度。


表4、場景中3D目標檢測的結果。指標是在3D體積中計算的閾值IoU0.5的平均精度。

圖4、語義分割的定性結果。頂行是帶顏色的輸入點雲。底行是在與輸入相同的相機視點中顯示的輸出語義分割結果(在點上)。

每個點由XYZ、RGB和房間的歸一化位置(從 0 到 1)的9維向量表示。在訓練時,我們在每個塊中隨機抽取 4096 個點。在測試時,我們對所有點進行測試。我們遵循與 [1] 相同的協議,使用k-fold策略進行訓練和測試。

我們將我們的方法與使用手工點特徵的基線進行比較。基線提取相同的9維區域性特徵和三個附加特徵:區域性點密度、區域性曲率和法向量。我們使用標準MLP作為分類器。結果如表3所示,其中我們的PointNet方法明顯優於基線方法。在圖4中,我們顯示了定性分割結果。我們的網路能夠輸出平滑的預測,並且對於缺失點和遮擋是魯棒的。基於從我們的網路輸出的語義分割,我們進一步使用用於目標proposal的連線元件來構建3D目標檢測系統(細節參見補充)。我們在表4中與以前的最先進的方法進行了比較。前一種方法是基於滑動形狀方法(具有CRF後處理),使用在體素網格中的區域性幾何特徵和全域性房間上下文特徵上訓練的SVM。我們的方法在報導的傢俱類別上遠遠超過它。

5.2、結構設計分析

在本節中,我們通過控制實驗來驗證我們的設計選擇。我們還顯示了我們的網路的超參的影響。

與其他順序不變方法的比較 如4.2節所述,至少有三種選擇來處理無序的集合輸入。我們使用ModelNet40形狀分類問題作為比較這些選項的測試平臺,以下兩個操作實驗也將使用此任務。

我們比較的基線(如圖5所示)包括未排序和排序點上的多層感知器(n×3陣列)、將輸入點視為序列的RNN模型,以及基於對稱函式的模型。我們實驗的對稱操作包括最大池化、平均池化和基於注意力的加權和。注意力方法類似於[25]中的方法,其中從每個點特徵預測標量分數,然後通過計算softmax對分數進行歸一化。然後根據歸一化分數和點特徵計算加權和。如圖5所示,max pooling操作以較大的優勢獲得了最佳效能,這驗證了我們的選擇。

圖5、實現順序不變性的三種方法。應用於點的多層感知器(MLP)由5個隱藏層組成,神經元大小為64、64、64、128、1024,所有點共享一個 MLP副本。靠近輸出的 MLP 由大小為 512,256的兩層組成。

輸入和特徵轉換的有效性 在表5中,我們展示了我們的輸入和特徵轉換(用於對齊)的積極效果。有趣的是,最基本的架構已經取得了相當合理的結果。使用輸入轉換可以提高0.8%的效能。正則化損失是高維變換工作所必需的。通過結合變換和正則項,我們獲得了最佳效能。

魯棒性測試 我們展示了我們的PointNet,雖然簡單有效,但對各種輸入損壞具有魯棒性。我們使用與圖5的最大池化網路相同的架構。輸入點被歸一化為一個單位球體。結果如圖6所示。

至於缺失點,當有 50% 的點缺失時,相對於最遠和隨機輸入取樣,準確率僅下降2.4%和3.8%。如果我們的網路在訓練期間看到了異常點,那麼它對異常點也很魯棒。我們評估了兩個模型:一個在具有(x, y, z)座標的點上訓練;另一個在(x, y, z)加上點密度。即使 20%的點是異常值,網路的準確率也超過80%。圖6右側顯示了網路對點擾動的魯棒性。


表5、輸入特徵變換的影響。 Metric是ModelNet40測試集上的整體分類準確率。


圖6、PointNet穩健性測試。該指標是ModelNet40測試集上的整體分類準確率。左:刪除點。最遠意味著以最遠取樣對原始1024個點進行取樣。中:插入。異常值均勻地分散在單位球面上。右:擾動。分別向每個點新增高斯噪聲。

5.3、視覺化PointNet

在圖7中,我們視覺化了一些樣本形狀\(S\)的臨界點集\(C_{S}\)和上界形狀\(N_{S}\)(如在Thm 2中討論的)。兩個形狀之間的點集將給出完全相同的全域性形狀特徵\(f(S)\)

從圖7中我們可以清楚地看到,對最大池化特徵有貢獻的臨界點集\(C_{S}\)總結了形狀的骨架。上界形狀\(N_{S}\)說明了與輸入點雲\(S\) 給出相同全域性形狀特徵\(f(S)\)的最大可能點雲。\(C_{S}\)\(N_{S}\)反映了PointNet的魯棒性,這意味著丟失一些非關鍵點根本不會改變全域性形狀簽名\(f(S)\)\(N_{S}\)通過網路轉發邊長為2的立方體中的所有點,並選擇點函式值\(\left(h_{1}(p), h_{2}(p), \cdots, h_{K}(p)\right)\)不大於全域性形狀描述符的點\(p\)來構建。


圖7、臨界點和上限形狀。雖然臨界點共同確定給定形狀的全域性形狀特徵,但任何落在臨界點集和上限形狀之間的點雲都會給出完全相同的特徵。我們對所有圖形進行顏色編碼以顯示深度資訊。

5.4、時空複雜度分析

表6總結了我們的分類 PointNet 的空間(網路中的引數數量)和時間(浮點運算/樣本)複雜度。我們還將PointNet與之前作品中一組具有代表性的基於體積和多檢視的架構進行了比較。

雖然MVCNN[23]和Subvolume(3D CNN)[18]實現了高效能,但PointNet在計算成本方面的效率更高(以FLOPs/樣本衡量:效率分別提高了141倍和8倍)。此外,就網路中的#param(引數少17倍)而言,PointNet比MVCNN更節省空間。此外,PointNet更具可擴充套件性——它的空間和時間複雜度為\(O(N)\)——與輸入點的數量呈線性關係。然而,由於卷積在計算時間中占主導地位,多檢視方法的時間複雜度在影像解析度上成正比增長,而基於體積卷積的方法隨著體積大小三次增長。

經驗表明,PointNet在TensorFlow上使用1080X GPU每秒能夠處理超過100萬個點用於點雲分類(約1K個目標/秒)或語義分割(約2個房間/秒),顯示出巨大的實時應用潛力.


表6、用於3D資料分類的深度架構的時間和空間複雜度。PointNet(vanilla)是沒有輸入和特徵轉換的分類PointNet。FLOP代表浮點運算。“M”代表百萬。Subvolume和MVCNN對來自多個旋轉或檢視的輸入資料使用池化,沒有它它們的效能要差得多。

6、結論

在這項工作中,我們提出了一種直接處理點雲的新型深度神經網路PointNet。我們的網路為許多3D識別任務提供了統一的方法,包括目標分類、部分分割和語義分割,同時在標準基準上獲得與現有技術相當或更好的結果。我們還提供理論分析和視覺化,以瞭解我們的網路。

參考文獻

[1] I. Armeni, O. Sener, A. R. Zamir, H. Jiang, I. Brilakis, M. Fischer, and S. Savarese. 3d semantic parsing of large-scale indoor spaces. In Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition, 2016. 6, 7

[2] M. Aubry, U. Schlickewei, and D. Cremers. The wave kernel signature: A quantum mechanical approach to shape analysis. In Computer Vision Workshops (ICCV Workshops),2011 IEEE International Conference on, pages 1626–1633. IEEE, 2011. 2

[3] M. M. Bronstein and I. Kokkinos. Scale-invariant heat kernel signatures for non-rigid shape recognition. In Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on, pages 1704–1711. IEEE, 2010. 2

[4] J. Bruna, W. Zaremba, A. Szlam, and Y . LeCun. Spectralnetworks and locally connected networks on graphs. arXiv preprint arXiv:1312.6203, 2013. 2
[5] D.-Y . Chen, X.-P . Tian, Y .-T. Shen, and M. Ouhyoung. On visual similarity based 3d model retrieval. In Computer graphics forum, volume 22, pages 223–232. Wiley Online Library, 2003. 2

[6] Y . Fang, J. Xie, G. Dai, M. Wang, F. Zhu, T. Xu, and E. Wong. 3d deep shape descriptor. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2319–2328, 2015. 2

[7] M. Gschwandtner, R. Kwitt, A. Uhl, and W. Pree. BlenSor:Blender Sensor Simulation Toolbox Advances in Visual Computing. volume 6939 of Lecture Notes in Computer Science, chapter 20, pages 199–208. Springer Berlin Heidelberg, Berlin, Heidelberg, 2011. 6

[8] K. Guo, D. Zou, and X. Chen. 3d mesh labeling via deep convolutional neural networks. ACM Transactions on Graphics (TOG), 35(1):3, 2015. 2
[9] M. Jaderberg, K. Simonyan, A. Zisserman, et al. Spatial transformer networks. In NIPS 2015. 4

[10] A. E. Johnson and M. Hebert. Using spin images for efficient object recognition in cluttered 3d scenes. IEEE Transactions on pattern analysis and machine intelligence, 21(5):433–449, 1999. 2
[11] M. Kazhdan, T. Funkhouser, and S. Rusinkiewicz. Rotation invariant spherical harmonic representation of 3 d shape descriptors. In Symposium on geometry processing, volume 6, pages 156–164, 2003. 5

[12] Y . LeCun, L. Bottou, Y . Bengio, and P . Haffner. Gradient-based learning applied to document recognition. Proceed-ings of the IEEE, 86(11):2278–2324, 1998. 13

[13] Y . Li, S. Pirk, H. Su, C. R. Qi, and L. J. Guibas. Fpnn:Field probing neural networks for 3d data. arXiv preprint arXiv:1605.06240, 2016. 2

[14] H. Ling and D. W. Jacobs. Shape classification using the inner-distance. IEEE transactions on pattern analysis and machine intelligence, 29(2):286–299, 2007. 2

[15] L. v. d. Maaten and G. Hinton. Visualizing data using t-sne.Journal of Machine Learning Research, 9(Nov):2579–2605, 2008. 15

[16] J. Masci, D. Boscaini, M. Bronstein, and P . V andergheynst.Geodesic convolutional neural networks on riemannian man-ifolds. In Proceedings of the IEEE International Conference on Computer Vision Workshops, pages 37–45, 2015. 2

[17] D. Maturana and S. Scherer. V oxnet: A 3d convolutional neural network for real-time object recognition. In IEEE/RSJ International Conference on Intelligent Robots and Systems,September 2015. 2, 5, 10, 11
[18] C. R. Qi, H. Su, M. Nießner, A. Dai, M. Yan, and L. Guibas.Volumetric and multi-view cnns for object classification on 3d data. In Proc. Computer Vision and Pattern Recognition(CVPR), IEEE, 2016. 2, 5, 8

[19] R. B. Rusu, N. Blodow, and M. Beetz. Fast point feature histograms (fpfh) for 3d registration. In Robotics and Automation, 2009. ICRA’09. IEEE International Conference on, pages 3212–3217. IEEE, 2009. 2

[20] R. B. Rusu, N. Blodow, Z. C. Marton, and M. Beetz. Aligning point cloud views using persistent feature histograms. In 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 3384–3391. IEEE, 2008. 2

[21] M. Savva, F. Y u, H. Su, M. Aono, B. Chen, D. Cohen-Or, W. Deng, H. Su, S. Bai, X. Bai, et al. Shrec16 track large-scale 3d shape retrieval from shapenet core55. 2

[22] P . Y . Simard, D. Steinkraus, and J. C. Platt. Best practices for convolutional neural networks applied to visual document analysis. In ICDAR, volume 3, pages 958–962, 2003. 13

[23] H. Su, S. Maji, E. Kalogerakis, and E. G. Learned-Miller. Multi-view convolutional neural networks for 3d shape recognition. In Proc. ICCV , to appear, 2015. 2, 5, 6, 8

[24] J. Sun, M. Ovsjanikov, and L. Guibas. A concise and provably informative multi-scale signature based on heat diffusion. In Computer graphics forum, volume 28, pages 1383–1392. Wiley Online Library, 2009. 2

[25] O. Vinyals, S. Bengio, and M. Kudlur. Order mat-ters: Sequence to sequence for sets. arXiv preprint arXiv:1511.06391, 2015. 2, 4, 7

[26] D. Z. Wang and I. Posner. V oting for voting in online point cloud object detection. Proceedings of the Robotics: Science and Systems, Rome, Italy, 1317, 2015. 2

[27] Z. Wu, R. Shou, Y . Wang, and X. Liu. Interactive shape co-segmentation via label propagation. Computers & Graphics,38:248–254, 2014. 6, 10

[28] Z. Wu, S. Song, A. Khosla, F. Y u, L. Zhang, X. Tang, and J. Xiao. 3d shapenets: A deep representation for volumetric shapes. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1912–1920, 2015. 2,5, 11

[29] L. Yi, V . G. Kim, D. Ceylan, I.-C. Shen, M. Yan, H. Su,C. Lu, Q. Huang, A. Sheffer, and L. Guibas. A scalable active framework for region annotation in 3d shape collections.SIGGRAPH Asia, 2016. 6, 10, 18

Supplementary

A、綜述

本檔案為主要檔案提供了額外的定量結果、技術細節和更多定性測試示例。

在第二節中,我們擴充套件了健壯性測試,在不完全輸入的情況下比較了PointNet和VoxNet。在C節中,我們提供了有關神經網路架構、訓練引數的更多詳細資訊,在 D 節中,我們描述了我們在場景中的檢測pipeline。然後E節展示了PointNet更多的應用,F節展示了更多的分析實驗。在第G節為我們在點網上的理論提供了一個證明。最後,我們展示了更多的視覺化結果。

B、PointNet和VoxNet之間的比較(第5.2節)

我們擴充套件了第5.2節魯棒性測試中的實驗,以比較PointNet和VoxNet 17對輸入點雲中缺失資料的魯棒性。兩個網路都在相同的訓練測試分割上進行訓練,以1024個資料點作為輸入。對於VoxNet,我們將點雲體素化為32×32×32佔用網格,並通過圍繞上軸的隨機旋轉和抖動來增加訓練資料。

在測試時,輸入點按照一定的比例被隨機刪除。由於VoxNet對旋轉很敏感,它的預測使用了點雲的12個視點的平均分數。如圖8所示,我們看到我們的PointNet對於缺失點更加健壯。當一半的輸入點丟失時,VoxNet的準確性急劇下降,從86.3%下降到46.0%,差異為40.3%,而我們的PointNet僅具有3.7%的效能下降。這可以通過我們的PointNet的理論分析和解釋來解釋——它正在學習使用臨界點的集合來總結形狀,因此它對於缺失的資料非常健壯。


圖8、PointNet與VoxNet[17]處理不完整的輸入資料。 Metric是ModelNet40測試集上的整體分類準確率。請注意,VoxNet使用12個視點進行平均,而PointNet僅使用點雲的一個檢視。顯然,PointNet對缺失點具有更強的魯棒性。

C、網路架構和訓練細節(第5.1節)

PointNet分類網路 由於基本架構已經在主要論文中說明,這裡我們提供了更多關於關節對齊/轉換網路和訓練引數的細節。

第一個轉換網路是一個mini-PointNet,它將原始點雲作為輸入並回歸到一個3×3矩陣。它由每個點上的共享MLP(64、128、1024)網路(層輸出大小為64、128、1024)、通過點的最大池化和兩個輸出大小為512、256的全連線層成。輸出矩陣被初始化為單位矩陣。除最後一層外,所有層都包括ReLU和批量歸一化。第二個變換網路的架構與第一個相同,只是輸出是64×64矩陣。矩陣也被初始化為一個單位矩陣。一個正則化損失(權重為 0.001)被新增到softmax 分類損失中,以使矩陣接近正交矩陣。在類分數預測之前,我們在最後一個全連線層(其輸出維度為256)上使用保持比為0.7的dropout。批量歸一化的衰減率從0.5開始,逐漸增加到0.99。我們使用初始學習率0.001、momentum為0.9 和批量大小32的adam優化器。學習率每20個epoch除以2。在ModelNet上進行訓練需要3-6小時才能與TensorFlow 和GTX1080 GPU融合。

PointNet分割網路 分割網路是分類PointNet的擴充套件。區域性點特徵(第二個轉換網路之後的輸出)和全域性特徵(最大池化的輸出)為每個點連線起來。分割網路不使用dropout。訓練引數與分類網路相同。

對於形狀部分分割的任務,我們對基本的分割網路架構(主論文中的圖2)進行了一些修改,以實現最佳效能,如圖9所示。我們新增一個指示輸入類別的one-hot向量,並將其與最大池化層的輸出連線。我們還在某些層中增加了神經元,並新增了跳躍連結以收集不同層中的區域性點特徵並將它們連線起來形成點特徵輸入到分割網路。

雖然[27]和[29]獨立處理每個目標類別,但由於缺少某些類別的訓練資料(資料集中所有類別的形狀總數顯示在第一行),我們訓練我們的跨類別的PointNet(但使用one-hot 向量輸入來指示類別)。為了進行公平比較,在測試這兩個模型時,我們只預測給定特定目標類別的部分標籤。

至於語義分割任務,我們使用了主要論文中圖2中的架構。在ShapeNet part資料集上訓練模型大約需要6到12個小時,在史丹佛語義解析資料集上訓練大約需要半天時間。

img
圖9、部分分割的網路架構。 T1和T2是輸入點和特徵的對齊/轉換網路。FC是在每個點上執行的全連線層。MLP是每個點上的多層感知器。 One-hot是一個大小為16的向量,表示輸入形狀的類別。

img
圖10、baseline 3D CNN分割網路。該網路是完全卷積的,並預測每個體素的部分分數。

Baseline 3D CNN分割網路 在ShapeNet部分分割實驗中,我們將我們提出的分割版本PointNet與兩種傳統方法以及3D volumetric CNN網路baseline進行了比較。在圖10中,我們展示了我們使用的baseline 3D volumetric CNN網路。我們將著名的3D CNN架構,如VoxNet[17]和3DShapeNets[28]推廣到完全卷積的3D CNN分割網路。

對於給定的點雲,我們首先將其轉換為體積表示,作為解析度為32×32×32的佔用網格。然後,依次應用五個3D卷積操作,每個操作具有32個輸出通道和步長為1,以提取特徵。每個體素的感受野為19。最後,將核心大小為1×1×1的3D卷積層序列附加到計算的特徵圖中,以預測每個體素的分割標籤。除最後一層外,所有層都使用ReLU和批量歸一化。網路是跨類別訓練的,然而,為了與給定目標類別的其他baseline方法進行比較,我們只考慮給定目標類別中的輸出分數。

D、檢測pineline的詳細資訊(第5.1節)

我們基於語義分割結果和我們的目標分類PointNet構建了一個簡單的3D目標檢測系統。

我們使用具有分割分數的連線元件來獲得場景中的目標proposals。我們從場景中的一個隨機點開始,找到它的預測標籤,並使用BFS搜尋附近具有相同標籤的點,搜尋半徑為0.2米。如果生成的叢集有超過200個點(假設在1m x 1m的區域中有4096個點樣本),則叢集的邊界框被標記為一個目標proposal。對於每個proposal的目標,它的檢測分數被計算為該類別的平均分數。在評估之前,對面積/體積極小的proposals進行修剪。對於桌子、椅子和沙發,邊界框延伸到地板,以防腿與座椅/表面分開。

我們觀察到,在禮堂等一些房間中,許多目標(例如椅子)彼此靠近,其中連線的元件無法正確分割出單個目標。因此,我們利用我們的分類網路並使用滑動形狀方法來緩解椅子類的問題。我們為每個類別訓練一個二元分類網路,並使用分類器進行滑動視窗檢測。結果框通過非最大抑制進行修剪。將來自連線元件和滑動形狀的建議框組合起來進行最終評估。

在圖11中,我們展示了目標檢測的精確召回曲線。我們訓練了六個模型,每個模型都在五個區域進行訓練並在左側區域進行測試。在測試階段,每個模型都在它從未見過的區域進行測試。彙總所有六個區域的測試結果以生成PR曲線。

img
圖11、3D點雲中目標檢測的精確召回曲線。我們對四個類別的所有六個區域進行了評估:桌子、椅子、沙發和木板。 IoU閾值為0.5的體積。

E、更多應用(第 5.1 節)

從點雲中檢索模型 我們的PointNet為每個給定的輸入點雲學習全域性形狀簽名。我們期望幾何相似的形狀具有相似的全域性特徵。在本節中,我們在形狀檢索應用程式上測試我們的猜想。更具體地說,對於來自ModelNet測試分割的每個給定的查詢形狀,我們計算其由我們的分類PointNet給出的全域性簽名(得分預測層之前的層的輸出),並通過最近鄰搜尋在訓練分割中檢索相似的形狀。結果如圖12所示。


圖12、從點雲中檢索模型。對於每個給定的點雲,我們從ModelNet測試拆分中檢索前5個相似形狀。從上到下,我們展示了椅子、植物、床頭櫃和浴缸查詢的示例。檢索到的屬於錯誤類別的結果用紅色框標記。

形狀對應 在本節中,我們展示了PointNet學習的點特徵可以潛在地用於計算形狀對應。給定兩個形狀,我們通過匹配啟用全域性特徵中相同維度的點對來計算它們的臨界點集\(C_{S}\)之間的對應關係。圖13和圖14顯示了檢測到的兩個相似椅子和桌子之間的形狀對應關係。


圖13、兩把椅子之間的形狀對應。為了視覺化的清晰,我們只展示了20個隨機挑選的對應對。


圖14、兩個表格之間的形狀對應關係。為了視覺化的清晰,我們只展示了20個隨機挑選的對應對。

F、更多架構分析(第 5.2節)

瓶頸維度和輸入點數的影響 在這裡,我們展示了我們的模型在第一個最大層輸出的大小以及輸入點的數量方面的效能變化。在圖15中,我們看到效能隨著點數的增加而增長,但是它在大約1K點處飽和。最大層大小起著重要作用,將層大小從64增加到1024會導致2−4%的效能提升。這表明我們需要足夠的點特徵函式來覆蓋三維空間,以便區分不同的形狀。

值得注意的是,即使輸入64個點(從網格上的最遠點取樣獲得),我們的網路也可以獲得不錯的效能。


圖15、瓶頸大小和輸入點數量的影響。該指標是 ModelNet40 測試集上的整體分類準確率。

MNIST數字分類 雖然我們專注於3D點雲學習,但完整性檢查實驗是將我們的網路應用於2D點雲-畫素集。為了將 MNIST影像轉換為2D點集,我們對畫素值進行閾值化,並將值大於128的畫素(表示為影像中具有(x, y)座標的點)新增到該集。我們使用256的集合大小。如果集合中的畫素超過256個,我們隨機對其進行子取樣;如果更少,我們用集合中的一個畫素填充集合(由於我們的最大操作,用於填充的點不會影響結果)。

如表7所示,我們與一些基線進行比較,包括將輸入影像視為有序向量的多層感知器、將輸入視為從畫素(0,0)到畫素 (27,27)的序列的RNN,以及vanilla版CNN。雖然MNIST上效能最好的模型仍然是精心設計的CNN(誤差率低於0.3%),但有趣的是,我們的PointNet模型可以通過將影像視為2D點集來實現合理的效能。


表7、MNIST分類結果。我們與其他深度架構的普通版本進行比較,以表明我們基於點集輸入的網路

正態估計 在PointNet的分割版本中,區域性點特徵和全域性特徵被連線起來,以便為區域性點提供上下文。但是,尚不清楚上下文是否是通過這種連線來學習的。在這個實驗中,我們通過展示我們的分割網路可以被訓練來預測點法線來驗證我們的設計,點法線是由點的鄰域決定的區域性幾何屬性。

我們以監督的方式訓練我們的分割PointNet的修改版本,以迴歸到groundtruth點法線。我們只需更改分割點網路的最後一層來預測每個點的法線向量。我們使用餘弦距離的絕對值作為損失。

圖16將我們的PointNet法線預測結果(左列)與從網格計算的真實法線(右列)進行比較。我們觀察到合理的正常重建。我們的預測比在某些區域包括翻轉法線方向的ground-truth更平滑和連續。


圖16、PointNet法線重建結果。在該圖中,我們顯示了一些樣本點雲中所有點的重建法線以及在網格上計算的ground-truth法線。

分割魯棒性 正如5.2節和B節所討論的,我們的PointNet對分類任務的資料損壞和缺失點不太敏感,因為全域性形狀特徵是從給定輸入點雲的關鍵點集合中提取的。在本節中,我們展示了魯棒性也適用於分割任務。基於每點特徵和學習的全域性形狀特徵的組合來預測每點部分標籤。在圖17中,我們說明了給定輸入點雲\(S\)(最左列)、臨界點集\(C_{S}\)(中間列)和上限形狀\(N_{S}\)的分割結果。


圖17、分割結果的一致性。我們舉例說明了一些樣本點雲\(S\),它們的臨界點集\(C_{S}\)和上限形狀\(N_{S}\)的分割結果。我們觀察到\(C_{S}\)\(N_{S}\)之間的形狀族共享一致的分割結果。

網路對看不見的形狀類別的泛化性 在圖18中,我們視覺化了臨界點集合和上界形狀,這些形狀來自未在ModelNet或ShapeNet中出現的看不見的類別(臉、房子、兔子、茶壺)。這表明所學習的每點(per-point)函式是可推廣的。然而,由於我們主要在具有大量平面結構的人造物體上進行訓練,因此在新類別中重建的上限形狀也包含更多的平面表面。


圖18、可見物體的臨界點集合和上限形狀。我們將不在ModelNet或ShapeNet形狀儲存庫中的茶壺、兔子、手和人體的臨界點集和上限形狀視覺化,以測試我們的PointNet的學習的每點(per-point)函式在其他看不見的目標上的普遍性.影像採用顏色編碼以反映深度資訊。

G、定理的證明(第4.3節)

定理1 假設\(f: \mathcal{X} \rightarrow \mathbb{R}\)是關於Hausdorff距離\(d_{H}(\cdot, \cdot)\)的連續集函式。\(\forall \epsilon > 0\) , ∃一個連續函式\(h\)和一個對稱函式\(g\left(x_{1}, \ldots, x_{n}\right)=\gamma \circ MAX\),其中\(γ\)是一個連續函式,max是一個向量MAX操作符,它將n個向量作為輸入,並返回一個元素最大值的新向量,使得對於任何\(S \in \mathcal{X}\)

\[\left|f(S)-\gamma\left(\operatorname{MAX}\left(h\left(x_{1}\right), \ldots, h\left(x_{n}\right)\right)\right)\right|<\epsilon \]

其中\(x_{1}, \ldots, x_{n}\)是按一定順序提取的\(S\)的元素。

證明:通過\(f\)的連續性,我們取\(\delta_{\epsilon}\)使得\(\left|f(S)-f\left(S^{\prime}\right)\right|<\epsilon\)對於任意\(S, S^{\prime} \in \mathcal{X}\),如果\(d_{H}\left(S, S^{\prime}\right)<\delta_{\epsilon}\)

定義\(K=\left\lceil 1 / \delta_{\epsilon}\right\rceil\),它將\([0,1]\)平均分成\(K\)個區間,並定義一個輔助函式,將一個點對映到它所在區間的左端:

\[\sigma(x)=\frac{\lfloor K x\rfloor}{K} \]

\(\tilde{S}=\{\sigma(x): x \in S\}\),則

\[|f(S)-f(\tilde{S})|<\epsilon \]

因為\(d_{H}(S, \tilde{S})<1 / K \leq \delta_{\epsilon}\)

\(h_{k}(x)=e^{-d\left(x,\left[\frac{k-1}{K}, \frac{k}{K}\right]\right)}\)是一個軟指示函式,其中\(d(x, I)\)是要設定(間隔)距離的點。設\(\mathbf{h}(x)=\left[h_{1}(x) ; \ldots ;h_{K}(x)\right]\),則\(\mathbf{h}: \mathbb{R} \rightarrow \mathbb{R}^{K}\)

\(v_{j}\left(x_{1}, \ldots, x_{n}\right)=\max \left\{\tilde{h}_{j}\left(x_{1}\right), \ldots, \tilde{h}_{j}\left(x_{n}\right)\right\}\),表示\(S\)中的點對第\(j\)個區間的佔用。設\(\mathbf{v}=\left[v_{1} ; \ldots ; v_{K}\right]\),則\(\mathbf{v}: \underbrace{\mathbb{R} \times \ldots \times \mathbb{R}}_{n} \rightarrow\{0,1\}^{K}\)是一個對稱函式,用\(S\)中的點表示每個區間的佔用情況。

\(\tau:\{0,1\}^{K} \rightarrow \mathcal{X}\)定義為\(\tau(v)=\left\{\frac{k-1}{K}: v_{k} \geq 1\right\}\),它將佔用向量對映到包含每個佔用區間左端的集合。很容易展示:

\[\tau\left(\mathbf{v}\left(x_{1}, \ldots, x_{n}\right)\right) \equiv \tilde{S} \]

其中\(x_{1}, \ldots, x_{n}\)是按一定順序提取的\(S\)的元素。

\(\gamma: \mathbb{R}^{K} \rightarrow \mathbb{R}\)是一個連續函式,使得\(\gamma(\mathbf{v})=f(\tau(\mathbf{v}))\)對於\(v \in\{0,1\}^{K}\)。則,

\[\begin{aligned} &\left|\gamma\left(\mathbf{v}\left(x_{1}, \ldots, x_{n}\right)\right)-f(S)\right| \\ =&\left|f\left(\tau\left(\mathbf{v}\left(x_{1}, \ldots, x_{n}\right)\right)\right)-f(S)\right|<\epsilon \end{aligned} \]

注意\(\gamma\left(\mathbf{v}\left(x_{1}, \ldots, x_{n}\right)\right)\)可以改寫如下:

\[\begin{aligned} \gamma\left(\mathbf{v}\left(x_{1}, \ldots, x_{n}\right)\right) &=\gamma\left(\operatorname{MAX}\left(\mathbf{h}\left(x_{1}\right), \ldots, \mathbf{h}\left(x_{n}\right)\right)\right) \\ &=(\gamma \circ \mathbf{M A X})\left(\mathbf{h}\left(x_{1}\right), \ldots, \mathbf{h}\left(x_{n}\right)\right) \end{aligned} \]

顯然\(\gamma \circ\) MAX是一個對稱函式。

接下來我們給出定理2的證明。我們將\(\mathbf{u}=\underset{x_{i} \in S}{\operatorname{MAX}}\left\{h\left(x_{i}\right)\right\}\)定義為\(f\)的子網路,它將\([0,1]^{m}\)中的點集對映到 \(K\)維向量。

定理2 假設\(\mathbf{u}: \mathcal{X} \rightarrow \mathbb{R}^{K}\)使得\(u = \underset{x_{i} \in S}{\operatorname{MAX}}\left\{h\left(x_{i}\right)\right\}\)並且\(f=\gamma \circ \mathbf{u}\)。則,

(a) \(\forall S, \exists \mathcal{C}_{S}, \mathcal{N}_{S} \subseteq \mathcal{X}, f(T)=f(S)\) if \(\mathcal{C}_{S} \subseteq T \subseteq \mathcal{N}_{S}\);

(b) \(\left|\mathcal{C}_{S}\right| \leq K\)

證明:顯然,\(\forall S \in \mathcal{X}\)\(f(S)\)\(\mathbf{u}(S)\)決定。所以我們只需要證明 \(\forall S, \exists \mathcal{C}_{S}, \mathcal{N}_{S} \subseteq \mathcal{X},f(T) = f(S)\), 如果\(\mathcal{C}_{S} \subseteq T \subseteq \mathcal{N}_{S}\)

對於作為\(\mathbf{u}\)的輸出的第j個維度,至少存在一個\(x_{j} \in \mathcal{X}\)使得\(h_{j}\left(x_{j}\right)=\mathbf{u}_{j}\),其中\(h_{j}\)是來自\(h\)的輸出向量的第j個維度。以\(C_{S}\)作為 \(j=1, \ldots, K\)的所有\(x_{j}\)的並集。則\(C_{S}\)滿足上述條件。

增加任何額外的點\(x\)使得在\(C_{S}\)的所有維度上\(h(x) ≤ u(S)\)不會改變\(\mathbf{u}\),hence \(f\)。因此,\(T_{S}\)可以通過將所有這些點的並集與\(N_{S}\)相加來獲得。

H、更多視覺化

分類視覺化 我們使用t-SNE[15]將來自我們分類點網的點雲全域性簽名(1024維)嵌入到2D空間中。圖20示出了ModelNet 40測試分割形狀的嵌入空間。相似的形狀根據它們的語義類別聚集在一起。

分割視覺化 我們在完整的CAD模型和模擬的Kinect部分掃描上呈現了更多的分割結果。我們還通過錯誤分析視覺化失敗案例。圖21和圖22顯示了在完整CAD模型及其模擬Kinect掃描上生成的更多分割結果。圖23顯示了一些故障情況。請閱讀錯誤分析的標題。

場景語義解析視覺化 我們在圖24中給出了語義解析的視覺化,其中我們示出了兩個辦公室和一個會議室的語義分割和目標檢測的輸入點雲、預測和基礎事實。在訓練集中看不到區域和房間。

點功能視覺化 我們的分類點網路計算每個點的K(在該視覺化中我們取K = 1024)維點特徵,並通過最大池層化將所有每點區域性特徵聚集到單個K維向量中,這形成了全域性形狀描述符。

為了獲得關於所學習的每點函式\(h\)檢測到什麼的更多見解,我們在圖19中視覺化給出高每點函式值\(f(p_{i})\)的點\(p_{i}\)。這種視覺化清楚地顯示了不同的點函式學習檢測具有分散在整個空間中的各種形狀的不同區域中的點。


圖19、點函式視覺化。對於每個點函式\(h\),我們計算位於原點的直徑為2的立方體中所有點\(p\)的值\(h(p)\),它在空間上覆蓋了在訓練PointNet時我們的輸入形狀被歸一化的單位球體。在此圖中,我們將所有使\(h(p) > 0.5\)的點\(p\)視覺化,函式值由體素的亮度進行顏色編碼。我們隨機選擇15個點函式並視覺化它們的啟用區域。


圖20、 學習形狀全域性特徵的2D嵌入。我們使用t-SNE技術來視覺化ModelNet40測試拆分中形狀的學習全域性形狀特徵。


圖21、完整CAD模型上的PointNet分割結果。


圖22、模擬Kinect掃描的PointNet分割結果。


圖23、PointNet分割失敗案例。在此圖中,我們總結了分割應用程式中的六種常見錯誤。第一列和第二列給出了預測和真值分割,而第三列計算並顯示了差異圖。紅點對應於給定點雲中錯誤標記的點。(a)說明了最常見的失敗案例;邊界上的點被錯誤地標記。在示例中,桌/椅腿和頂部之間的交叉點附近的點的標籤預測不準確。然而,大多數分割演算法都存在這個錯誤。(b)顯示了奇異形狀的錯誤。例如,圖中所示的吊燈和飛機在資料集中非常罕見。(c)表明小部分可以被附近的大部分覆蓋。例如,飛機的噴氣發動機(圖中黃色)被錯誤地歸類為機身(綠色)或機翼(紫色)。(d)顯示了由part形狀固有的模糊性引起的誤差。例如,圖中兩個桌子的兩個底部被分類為桌腿和桌底([29]中的其他類別),而ground-truth分割則相反。(e)說明了由部分掃描的不完整性引入的錯誤。對於圖中的兩個帽子,幾乎一半的點雲都丟失了。(f)顯示了當某些目標類別的訓練資料太少而無法涵蓋足夠多的種類時的失敗案例。對於此處顯示的兩個類別,整個資料集中只有54個袋子和39個帽子。


圖24. 語義分割和目標檢測示例。第一行是輸入點雲,為了清晰起見,隱藏了牆壁和天花板。第二行和第三行是對點的語義分割的預測和ground-truth,其中屬於不同語義區域的點顏色不同(紅色椅子,紫色桌子,橙色沙發,灰色木板,綠色書櫃,藍色地板,紫羅蘭色的窗戶,黃色的橫樑,洋紅色的柱子,卡其色的門和黑色的雜物)。最後兩行是帶有邊界框的目標檢測,其中預測框來自基於語義分割預測的連線元件。

相關文章