Pointnet++中文翻譯

                                 PointNet ++:度量空間中點集的深層次特徵學習

摘要:以前很少有人研究點集的深度學習。 PointNet [20]是這方面的先驅。但是,根據設計,PointNet不會捕獲由度量空間點所引發的局部結構,從而限制了識別細粒度模式的能力以及對複雜場景的普遍性。在這項工作中,我們引入了一個分層神經網絡,它將PointNet遞歸地應用於輸入點集的嵌套分區。通過利用度量空間距離,我們的網絡能夠通過增加上下文比例來學習局部特徵。通過進一步觀察,通常採用不同密度對點集進行採樣,這導致對均勻密度訓練的網絡的性能大大降低,我們提出了新的集合學習層,以自適應地組合來自多個尺度的特徵。實驗表明,我們的網絡PointNet ++能夠高效,穩健地學習深度點集功能。特別是,在具有挑戰性的3D點雲基準測試中,結果明顯優於現有技術

1.介紹

我們感興趣的是分析幾何點集,它是歐幾里得空間中的點集合。 特別重要的幾何點集類型是由3D掃描儀捕獲的點雲,例如來自適當配備的自動車輛。 作爲一個集和,這些數據必須對其成員的排列不變。 此外,距離度量定義了可能表現出不同屬性的局部鄰域。 例如,點的密度和其他屬性在不同位置可能不一致 - 在3D掃描中,密度變化可能來自透視效應,徑向密度變化,運動等。

以前很少有人研究點集的深度學習。 PointNet [20]是一項直接處理點集的開創性工作。 PointNet的基本思想是學習每個點的空間編碼,然後將所有單個點特徵聚合到全局點雲簽名。 通過其設計,PointNet不能捕獲由度量引起的局部結構。 然而,利用局部結構已證明對卷積體系結構的成功很重要。 CNN將在常規網格上定義的數據作爲輸入,並且能夠沿着多分辨率層次以越來越大的尺度逐步捕獲特徵。 在較低水平,神經元具有較小的感受野,而在較高水平,它們具有較大的感受野。 沿着層次結構抽象局部模式的能力允許更好地概括到看不見的情況。

我們引入了一個名爲PointNet ++的分層神經網絡,以分層方式處理在度量空間中採樣的一組點。 PointNet ++的一般概念很簡單。 我們首先通過底層空間的距離度量將點集劃分爲重疊的局部區域。 與CNN類似,我們從小區域中提取捕捉精細幾何結構的局部特徵; 這些局部特徵進一步分組爲更大的單元並進行處理以產生更高級別的特徵。 重複此過程,直到我們獲得整個點集的特徵。

PointNet ++的設計必須解決兩個問題:如何生成點集的分區,以及如何通過本地特徵學習器抽象點集或局部特徵。 這兩個問題是相關的,因爲點集的分區必須跨分區產生公共結構,因此可以共享局部特徵學習者的權重,如卷積設置。 我們選擇我們的本地特色學習者爲PointNet。 正如該工作所證明的那樣,PointNet是一種有效的架構,用於處理語義特徵提取的無序點集。 此外,該架構對輸入數據損壞很穩健。 作爲一個基本構建模塊,PointNet將一組本地點或特徵抽象爲更高級別的表示。 在此視圖中,PointNet ++以遞歸方式將PointNet應用於輸入集的嵌套分區。

仍然存在的一個問題是如何生成點集的重疊分區。 每個分區被定義爲底層歐幾里德空間中的鄰域球,其參數包括質心位置和比例。 爲了均勻地覆蓋整個集合,在通過最遠點採樣(FPS)算法設置的輸入點中選擇質心。 與使用固定步幅掃描空間的體積CNN相比,我們的本地感知域依賴於輸入數據和度量,因此更有效和有效。

然而,由於特徵尺度的糾纏和輸入點集的不均勻性,確定局部鄰域球的適當比例是更具挑戰性但有趣的問題。 我們假設輸入點集在不同區域可能具有可變密度,這在實際數據中非常常見,例如結構傳感器掃描[18](參見圖1)。 因此,我們的輸入點集與CNN輸入非常不同,CNN輸入可以被視爲在具有均勻恆定密度的常規網格上定義的數據。 在CNN中,本地分區比例的對應部分是內核的大小。 [25]表明使用較小的內核有助於提高CNN的能力。 然而,我們對點集數據的實驗反駁這一規則。 由於採樣不足,小鄰域可能包含太少的點,這可能不足以允許PointNets強大地捕獲模式。

我們論文的一個重要貢獻是PointNet ++利用多個尺度的鄰域來實現穩健性和細節捕獲。 在訓練期間輔助隨機輸入丟失,網絡學習自適應地加權在不同尺度下檢測的模式,並根據輸入數據組合多尺度特徵。 實驗表明,我們的PointNet ++能夠高效,穩健地處理點集。 特別是,在具有挑戰性的3D點雲基準測試中,已經獲得了明顯優於現有技術的結果。

2.問題陳述

假設X =(M,d)是離散度量空間,其度量從歐幾里德空間R n繼承,其中M⊆Rn是點集,d是距離度量。 另外,環境歐幾里德空間中的M密度在各處可能不均勻。 我們感興趣的是學習集合函數f,它將這樣的X作爲輸入(以及每個點的附加特徵)併產生重新劃分X的語義興趣信息。 在實踐中,這樣的f可以是爲X分配標籤的分類功能或者爲M的每個成員分配每點標籤的分割功能。

3.方法

我們的工作可以看作是PointNet [20]的擴展,增加了層次結構。 我們首先回顧PointNet(第3.1節),然後介紹具有分層結構的PointNet的基本擴展(第3.2節)。 最後,我們提出了即使在非均勻採樣點集中也能夠穩健地學習特徵的PointNet ++(第3.3節)。

3.1 回顧PointNet [20]:通用連續集函數逼近器

給定帶有x_{i} \epsilon R^{d}的無序點集{x1,x2,...,xn},可以定義一組函數f:X→R將一組點映射到向量:

                                                 

其中γ和h通常是多層感知器(MLP)網絡。

公式1中的集合函數f對於輸入點排列是不變的,並且可以任意近似任何連續集函數[20]。 注意,h的響應可以解釋爲一個點的空間編碼(詳見[20])。

PointNet在一些基準測試中取得了令人矚目的成績。 但是,它缺乏捕捉不同尺度的局部環境的能力。 我們將在下一節中介紹一個分層特徵學習框架來解決這個限制。

圖2:我們的分層特徵學習體系結構的圖示及其在2D歐幾里德空間中使用點進行集合分割和分類的應用。 單尺度點分組在這裏可視化。 有關密度自適應分組的詳細信息,請參見圖3

3.2 分層點集特徵學習

雖然PointNet使用單個最大池操作來聚合整個點集,但我們的新架構構建了一個點的分層分組,並逐步抽象出更大和更大的局部區域。

我們的層次結構由許多集合抽象層次組成(圖2)。 在每個級別,處理和抽象一組點以產生具有較少元素的新集合。 集合抽象級別由三個關鍵層組成:採樣層,分組層和PointNet層。 採樣層從輸入點中選擇一組點,這些點定義了局部區域的質心。 然後,分組層通過查找質心周圍的“相鄰”點來構造局部區域集。 PointNet層使用迷你PointNet將局部區域模式編碼爲特徵向量。

集合抽象級別採用N×(d + C)矩陣作爲輸入,其來自具有d-dim座標和C-dim點特徵的N個點。 它輸出具有d-dim座標的N' 個子採樣點的N' ×(d + C' )矩陣和總結局部上下文的新C'  -dim特徵向量。 我們在以下段落中介紹了集抽象級別的層。

採樣層。 給定輸入點{x1,x2,...,xn},我們使用迭代最遠點採樣(FPS)來選擇點{xi1,xi2,...,xim}的子集,使得xij是最遠點來自集合{xi1,xi2,...,xij-1}關於其餘點。與隨機採樣相比,在給定相同數量的質心的情況下,它具有更好的覆蓋整個點集。 與掃描與數據分佈無關的向量空間的CNN相比,我們的採樣策略以數據相關的方式生成感受域。

分組圖層。 該層的輸入是大小爲N×(d + C)的點集和大小爲N' ×d的一組質心的座標。 輸出是大小爲N' ×K×(d + C)的點集的組,其中每個組對應於局部區域,K是質心點附近的點的數量。 請注意,K在不同的組中有所不同,但後續的PointNet層能夠將靈活的點數轉換爲固定長度的局部區域特徵向量。

在卷積神經網絡中,像素的局部區域由具有在像素的某個曼哈頓距離(內核大小)內的陣列索引的像素組成。 在從度量空間採樣的點集中,點的鄰域由度量距離定義。

Ball查詢查找查詢點半徑範圍內的所有點(在實現中設置K的上限)。 替代範圍查詢是K最近鄰(kNN)搜索,其找到固定數量的相鄰點。 與kNN相比,球查詢的局部鄰域保證了固定的區域尺度,從而使得局部區域特徵在空間上更加通用,這對於需要局部模式識別的任務(例如,語義點標記)是優選的。

PointNet圖層。 在該層中,輸入是數據大小爲N' ×K×(d + C)的點的N' 個局部區域。 輸出中的每個局部區域都由其質心和局部特徵抽象,該特徵對質心的鄰域進行編碼。 輸出數據大小爲N' ×(d + C' )。

首先將局部區域中的點的座標轉換成相對於質心點的局部框架: ,其中i = 1,2,...,K和 j = 1,2,...,d其中 是質心的座標。 我們使用PointNet [20],如第二節所述。 3.1作爲本地模式學習的基本構建模塊。 通過使用相對座標和點要素,我們可以捕獲局部區域中的點對點關係。

3.3 對非均勻採樣密度下的魯棒特徵學習

如前所述,點集通常在不同區域具有不均勻的密度。 這種不均勻性爲點集特徵學習帶來了重大挑戰。 在密集數據中學習的特徵可能不會推廣到稀疏採樣區域。 因此,針對稀疏點雲訓練的模型可能無法識別細粒度的局部結構。

理想情況下,我們希望儘可能接近地檢查點集,以捕獲密集採樣區域中最精細的細節。 但是,在低密度區域禁止這種密切檢查,因爲樣本缺陷會破壞局部模式。 在這種情況下,我們應該在更大的附近尋找更大規模的模式。 爲了實現這一目標,我們提出了密度自適應PointNet層(圖3),它們學習在輸入採樣密度變化時組合來自不同尺度區域的特徵。 我們將具有密度自適應PointNet層的分層網絡稱爲PointNet ++。

以前在Sec。 3.2,每個抽象級別包含單個規模的分組和特徵提取。 在PointNet ++中,每個抽象級別提取多個局部模式的比例,並根據局部點密度智能地組合它們。 在對局部區域進行分組並組合來自不同尺度的特徵方面,我們提出了兩種類型的密度自適應層,如下所示

多尺度分組(MSG)。 如圖3(a)所示,捕獲多尺度模式的一種簡單但有效的方法是應用具有不同尺度的分組圖層,然後根據PointNets提取每個尺度的特徵。 不同尺度的特徵被連接起來以形成多尺度特徵。

我們對網絡進行培訓,以學習優化策略,以結合多尺度功能。 這是通過隨機丟棄每個實例的隨機概率輸入點來完成的,我們將其稱爲隨機輸入丟失。 具體地,對於每個訓練點集,我們選擇從[0,p]均勻採樣的丟失比θ,其中p≤1。對於每個點,我們以概率θ隨機地丟棄一個點。 在實踐中,我們設置p = 0.95以避免生成空點集。 在這樣做時,我們向網絡呈現各種稀疏度(由θ引起)和變化均勻性(由丟失中的隨機性引起)的訓練集。 在測試期間,我們保留所有可用點。

多分辨率分組(MRG)。 上面的MSG方法在計算上是昂貴的,因爲它在每個質心點的大規模鄰域中運行本地PointNet。 特別是,由於質心點的數量在最低級別通常非常大,因此時間成本很高。

在這裏,我們提出了一種替代方法,它避免了這種昂貴的計算,但仍然保留了根據點的分佈特性自適應地聚合信息的能力。 在圖3(b)中,某個層Li的區域的特徵是兩個矢量的串聯。 通過使用設置的抽象級別從較低級別Li-1彙總每個子區域的特徵來獲得一個向量(圖中左)。 另一個向量(右)是通過使用單個PointNet直接處理本地區域中的所有原始點而獲得的特徵。

當局部區域的密度低時,第一矢量可能不如第二矢量可靠,因爲計算第一矢量的子區域包含更稀疏的點並且更多地受到採樣不足的影響。 在這種情況下,第二個矢量應該加權更高。 另一方面,當局部區域的密度高時,第一矢量提供更精細細節的信息,因爲它具有以較低水平遞歸地以較高分辨率檢查的能力。

與MSG相比,該方法在計算上更有效,因爲我們避免了在最低級別的大規模鄰域中的特徵提取。

3.4 集合分割的點特徵傳播

在集合抽象層中,原始點集是二次抽樣的。 然而,在諸如語義點標記的集合分割任務中,我們想要獲得所有原始點的點特徵。 一種解決方案是始終將所有點作爲所有設置抽象級別中的質心進行採樣,然而這會導致高計算成本。 另一種方法是將特徵從子採樣點傳播到原始點。

我們採用基於距離的插值和跨越跳級鏈路的分層傳播策略(如圖2所示)。在特徵傳播級別中,我們將點特徵從Nl ×(d + C)點傳播到Nl-1 個點,其中Nl-1Nl (具有NlNl-1 )是集合抽象級別的輸入和輸出的點集大小。我們通過在Nl-1 點的座標處內插Nl 個點的特徵值f來實現特徵傳播。在插值的衆多選擇中,我們使用基於k個最近鄰居的反距離加權平均值(如在等式2中,在默認情況下我們使用p = 2,k = 3)。然後,Nl-1 個點上的內插特徵與來自集合抽象級別的跳過鏈接點特徵連接。然後,連接的特徵通過“Pointnet 單元”傳遞,這類似於CNN中的逐個卷積。應用一些共享的完全連接和ReLU層來更新每個點的特徵向量。重複該過程,直到我們將特徵傳播到原始點集。

                               where ,    j=1,…,C                                                    

4.實驗

數據集我們評估四個數據集,從2D對象(MNIST [11]),3D對象(ModelNet40 [31]剛性對象,SHREC15 [12]非剛性對象)到真實3D場景(ScanNet [5])。 對象分類通過準確性進行評估。 語義場景標記通過[5]之後的平均體素分類精度來評估。 我們在下面列出了每個數據集的實驗設置:

  • MNIST: 具有60k訓練和10k測試樣本的手寫數字圖像。
  • ModelNet40:40個類別(主要是人造)的CAD模型。 我們使用官方拆分,9,843個形狀用於培訓,2,468個用於測試.
  • SHREC15:來自50個類別的1200種形狀。 每個類別包含24種形狀,大多是有機形狀,具有各種姿勢,如馬,貓等。我們使用五折交叉驗證來獲得該數據集的分類準確性.
  • ScanNet:1513個掃描和重建的室內場景。 我們按照[5]中的實驗設置,使用1201個場景進行訓練,312個場景進行測試

4.1 歐氏度量空間中的點集分類

我們評估我們的網絡分類從2D(MNIST)和3D(ModleNet40)歐幾里德空間採樣的點雲。 MNIST圖像被轉換爲數字像素位置的2D點雲。 從ModelNet40形狀的網格表面採樣3D點雲。 默認情況下,我們對MNIST使用512點,對ModelNet40使用1024點。 在表2的最後一行(我們的法線)中,我們使用面法線作爲附加點特徵,其中我們還使用更多點(N = 5000)來進一步提高性能。 所有點集都歸一化爲零均值並且在單位球內。 我們使用具有三個完全連接層的三級分層網絡.

圖4:左:具有隨機點丟失的點雲。 右圖:曲線顯示我們的密度自適應策略在處理非均勻密度方面的優勢。 DP表示訓練期間的隨機輸入丟失; 否則訓練是在均勻密集點上進行的。 有關詳細信息,請參見第3.3節。

結果。 在表1和表2中,我們將我們的方法與先前的現有技術水平進行比較。 請注意,表2中的PointNet(vanilla)是[20]中不使用轉換網絡的版本,它相當於我們只有一個級別的分層網絡。

首先,我們的分層學習架構比非分層PointNet實現了更好的性能[20]。 在MNIST中,我們看到從PointNet(vanilla)和PointNet到我們的方法的錯誤率降低了60.8%和34.6%。 在ModelNet40分類中,我們還看到使用相同的輸入數據大小(1024點)和特徵(僅限座標),我們的功能明顯強於PointNet。 其次,我們觀察到基於點集的方法甚至可以實現與成熟圖像CNN更好或相似的性能。 在MNIST中,我們的方法(基於2D點集)實現了接近網絡CNN中的網絡的準確度。 在ModelNet40中,我們的有法向量信息的方法明顯優於以前最先進的方法MVCNN [26]。

採樣密度變化的穩健性。 直接從現實世界捕獲的傳感器數據通常會遇到嚴重的不規則採樣問題(圖1)。 我們的方法選擇多個尺度的點鄰域,並通過適當地加權來學習平衡描述性和魯棒性。

我們在測試時間內隨機丟棄點(見圖4左側),以驗證我們的網絡對非均勻和稀疏數據的魯棒性。 在右圖4中,我們看到MSG + DP(在訓練期間具有隨機輸入丟失的多尺度分組)和MRG + DP(在訓練期間具有隨機輸入丟失的多分辨率分組)對於採樣密度變化非常穩健。 從1024到256個測試點,MSG + DP性能下降不到1%。 此外,與替代品相比,它在幾乎所有采樣密度上都實現了最佳性能。 PointNet vanilla [20]在密度變化下相當穩健,因爲它專注於全局抽象而不是精細細節。 然而,與我們的方法相比,細節的丟失也使其不那麼強大。 SSG(在每個級別中使用單一尺度分組的消融PointNet ++)無法推廣到稀疏採樣密度,而SSG + DP通過在訓練時間中隨機丟棄點來修正問題。

4.2 語義場景標註的點集分割

爲了驗證我們的方法適用於大規模點雲分析,我們還評估了語義場景標記任務。 目標是預測室內掃描中點的語義對象標籤。 [5]在體素掃描上使用完全卷積神經網絡提供基線。 它們純粹依賴於掃描幾何體而不是RGB信息,並以每個體素爲基礎報告精度。 爲了進行公平的比較,我們在所有實驗中刪除了RGB信息,並在[5]之後將點雲標籤預測轉換爲體素標籤。 我們還與[20]進行了比較。 在圖5(藍色條)中以每個體素爲基礎報告準確度。

我們的方法大大優於所有基線方法。 與在體素掃描中學習的[5]相比,我們直接學習點雲以避免額外的量化誤差,並進行數據相關採樣以允許更有效的學習。 與[20]相比,我們的方法引入了分層特徵學習並捕獲不同尺度的幾何特徵。 這對於理解多個級別的場景和標記各種大小的對象非常重要。 我們將示例場景標記結果可視化爲圖6。

採樣密度變化的穩健性爲了測試我們訓練的模型在非均勻採樣密度的掃描中的表現,我們合成了類似於圖1中的Scannet場景的虛擬掃描,並根據這些數據評估我們的網絡。 我們向讀者推薦我們如何生成虛擬掃描的補充材料。 我們在三種設置(SSG,MSG + DP,MRG + DP)中評估我們的框架,並與基線方法進行比較[20]。

性能比較如圖5所示(黃色條)。 由於採樣密度從均勻點雲向虛擬掃描場景的轉變,我們發現SSG性能大大下降。 另一方面,MRG網絡對採樣密度偏移更加穩健,因爲它能夠在採樣稀疏時自動切換到描繪較粗粒度的特徵。 即使在訓練數據(具有隨機丟失的均勻點)和具有非均勻密度的掃描數據之間存在域間隙,我們的MSG網絡僅受到輕微影響並且在比較方法中實現最佳準確度。 這些證明了我們的密度自適應層設計的有效性。

圖6:Scannet標籤結果。 [20]正確捕捉房間的整體佈局,但未能發現傢俱。 相比之下,我們的方法在分割房間佈局之外的對象方面要好得多。 

 

4.3 非歐幾里德度量空間中的點集分類

在本節中,我們展示了我們對非歐幾里德空間的方法的普遍性。 在非剛性形狀分類中(圖7),一個好的分類器應該能夠將圖7中的(a)和(c)正確地歸類爲同一類別,即使它們的姿勢不同,這需要內在結構的知識。 SHREC15中的形狀是嵌入3D空間的2D表面。 沿着表面的測地距離自然地引起度量空間。 我們通過實驗表明,在此度量空間中採用PointNet ++是捕獲基礎點集的內在結構的有效方法。

對於[12]中的每個形狀,我們首先構造由成對測地距離引起的度量空間。 我們遵循[23]來獲得模仿測地距離的嵌入度量。 接下來,我們提取該度量空間中的內在點特徵,包括WKS [1],HKS [27]和多尺度高斯曲率[16]。 我們使用這些功能作爲輸入,然後根據基礎度量空間對點進行採樣和分組。 通過這種方式,我們的網絡學習捕獲不受形狀的特定姿勢影響的多尺度內在結構。 替代設計選擇包括使用XY Z座標作爲點要素或使用歐幾里德空間R3作爲基礎度量空間。 我們在下面顯示這些不是最佳選擇.

結果。 我們將我們的方法與表3中先前的最新方法[14]進行了比較。[14]將測地時刻提取爲形狀特徵,並使用堆疊稀疏自動編碼器來消化這些特徵以預測形狀類別。 我們使用非歐幾里德度量空間和內在特徵的方法在所有設置中實現了最佳性能,並且大幅優於[14]。

比較我們的方法的第一和第二設置,我們看到內在特徵對於非剛性形狀分類非常重要。 XY Z特徵未能揭示內在結構,並且受姿勢變化的影響很大。 比較我們的方法的第二和第三設置,我們看到使用測地鄰域是有益的歐幾里德鄰域。 歐幾里德鄰域可能包括遠離表面的點,當形狀提供非剛性變形時,該鄰域可能會發生顯着變化。 這引入了有效的重量分配的困難,因爲局部結構可能變得組合複雜。 另一方面,表面上的測地線鄰域擺脫了這個問題並提高了學習效率。

4.4 特徵可視化

在圖8中,我們可視化我們的分層網絡的第一級內核所學到的內容。 我們在空間中創建了一個體素網格,並聚合了局部點集,這些點集在網格單元格中最能激活某些神經元(最多使用100個例子)。 保留具有高票數的網格單元並將其轉換回3D點雲,其表示神經元識別的模式。 由於模型是在ModelNet40上訓練的,而ModelNet40主要由傢俱組成,因此我們可以看到可視化中的平面,雙平面,直線,角等結構。

圖8:從第一層內核學習的3D點雲模式。 該模型針對ModelNet40形狀分類進行訓練(隨機選擇128個內核中的20個)。 顏色表示點深度(紅色接近,藍色接近)。

5. 相關工作

分層特徵學習的想法非常成功。 在所有學習模型中,卷積神經網絡[10,25,8]是最突出的之一。 但是,卷積不適用於具有距離度量的無序點集,這是我們工作的重點。

最近的一些作品[20,28]研究瞭如何將深度學習應用於無序集合。 即使點集確實具有一個,它們也會忽略基礎距離度量。 因此,他們無法捕獲點的本地上下文,並且對全局集合轉換和規範化很敏感。 在這項工作中,我們針對從度量空間採樣的點,並通過明確考慮我們設計中的基礎距離度量來解決這些問題

從度量空間採樣的點通常是有噪聲的並且採樣密度不均勻。 這會影響有效的點特徵提取並導致學習困難。 關鍵問題之一是爲點特徵設計選擇合適的比例。 以前在幾何處理社區或攝影測量和遙感社區中已經開發了幾種關於[19,17,2,6,7,30]的方法。 與所有這些作品相比,我們的方法學習提取點特徵並以端到端的方式平衡多個特徵尺度。

在3D度量空間中,除了點集之外,還有幾種流行的深度學習表示,包括體積網格[21,22,29]和幾何圖形[3,15,33]。 然而,在這些工作中,沒有明確考慮採樣密度不均勻的問題。

6. 結論

在這項工作中,我們提出了PointNet ++,這是一個強大的神經網絡架構,用於處理在度量空間中採樣的點集。 PointNet ++遞歸地在輸入點集的嵌套分區上起作用,並且在學習關於距離度量的分層特徵方面是有效的。 爲了處理非均勻點採樣問題,我們提出了兩個新穎的集合抽象層,它們根據局部點密度智能地聚合多尺度信息。 這些貢獻使我們能夠在具有挑戰性的3D點雲基準上實現最先進的性能。

在未來,如何通過在每個局部區域共享更多計算來考慮如何加速我們所提出的網絡的推理速度,特別是對於MSG和MRG層,這是值得的。 在更高維度度量空間中找到應用程序也很有趣,其中基於CNN的方法在計算上是不可行的,而我們的方法可以很好地擴展。

補充材料

A:概要

該補充材料提供了主要論文中有關實驗的更多細節,幷包括更多實驗來驗證和分析我們提出的方法。

在Sec B中,我們提供了用於主要論文中的實驗的特定網絡架構,並且還描述了數據準備和培訓中的細節。 在Sec C中,我們展示了更多的實驗結果,包括部件分割的基準性能和鄰域查詢分析,對採樣隨機性和時間空間複雜度的敏感性。

B:實驗中的細節

架構協議。 我們使用以下符號來描述我們的網絡架構。 SA(K, r, [l_{1}, ... , l_{d}])是一個集抽象(SA)級別,具有球半徑爲r的K個局部區域,使用PointNet的d個完全連接的層,寬度爲l_{i} (i=1, ..., d)SA([l_{1}, ... , l_{d}])是一個全局集抽象級別,它將集合轉換爲單個向量。 在多尺度設置中(如在MSG中),我們使用SA(K, [r^{(1)}, ... , r^{(m)}], [l_{1}^{(1)}, ... , l_{d}^{(1)}], ... , [l_{1}^{(m)}, ... , l_{d}^{(m)}])表示具有m個標度的MSG。 FC(l,dp)表示具有寬度l和壓差比dp的完全連接的層。 FP(l_{1}, ... , l_{d})是具有d個完全連接層的特徵傳播(FP)級別。 它用於更新插值和跳過鏈接連接的特徵。 除了最後一個得分預測層之外,所有完全連接的層之後是批量標準化和ReLU。

B1:網絡結構

對於所有分類實驗,我們使用具有不同K(類別數)的以下架構(我們的SSG):

SA(512, 0.2, [64, 64, 128]) → SA(128, 0.4, [128, 128, 256]) → SA([256, 512, 1024]) →  F C(512, 0.5) → F C(256, 0.5) → F C(K)

多尺度分組(MSG)網絡(PointNet ++)架構如下:

SA(512, [0.1, 0.2, 0.4], [[32, 32, 64], [64, 64, 128], [64, 96, 128]]) →  SA(128, [0.2, 0.4, 0.8], [[64, 64, 128], [128, 128, 256], [128, 128, 256]]) →  SA([256, 512, 1024]) → F C(512, 0.5) → F C(256, 0.5) → F C(K)

跨層多分辨率分組(MRG)網絡的體系結構使用三個分支:

Branch 1: SA(512, 0.2, [64, 64, 128]) → SA(64, 0.4, [128, 128, 256])

Branch 2: SA(512, 0.4, [64, 128, 256]) using r = 0.4 regions of original points

Branch 3: SA(64, 128, 256, 512) using all original points.

Branch 4: SA(256, 512, 1024).

將分支1和分支2連接並饋送到分支4.然後將分支3和分支4的輸出連接並饋送到F C(512,0.5)→F C(256,0.5)→F C(K)用於分類。

用於語義場景標記的網絡(FP中的最後兩個完全連接的層之後是具有丟棄率0.5的丟失層):

SA(1024, 0.1, [32, 32, 64]) → SA(256, 0.2, [64, 64, 128]) →

SA(64, 0.4, [128, 128, 256]) → SA(16, 0.8, [256, 256, 512]) →

F P(256, 256) → F P(256, 256) → F P(256, 128) → F P(128, 128, 128, 128, K)

用於語義和部分分割的網絡(FP中的最後兩個完全連接的層之後是丟棄率爲0.5的丟失層):

SA(512, 0.2, [64, 64, 128]) → SA(128, 0.4, [128, 128, 256]) → SA([256, 512, 1024]) → F P(256, 256) → F P(256, 128) → F P(128, 128, 128, 128, K)

 

B2:虛擬掃描生成

在本節中,我們將介紹如何使用ScanNet場景生成具有非均勻採樣密度的標記虛擬掃描。 對於ScanNet中的每個場景,我們將攝像機位置設置在地板平面的質心上方1.5m處,並在8個方向上均勻地在水平面上旋轉攝像機方向。 在每個方向上,我們使用尺寸爲100像素×75像素的圖像平面,並將來自相機的光線通過每個像素投射到場景中。 這提供了一種在場景中選擇可見點的方法。 然後,我們可以爲每個測試場景生成8個類似的虛擬掃描,圖9中顯示了一個示例。注意點樣本在靠近攝像機的區域中更密集。

B3:MNIST和ModelNet40實驗細節

對於MNIST圖像,我們首先將所有像素強度歸一化到範圍[0,1],然後選擇強度大於0.5的所有像素作爲有效數字像素。 然後我們將圖像中的數字像素轉換爲座標在[-1,1]內的2D點雲,其中圖像中心是原點。 創建增強點以將點設置添加到固定基數(在我們的示例中爲512)。 我們抖動初始點雲(隨機平移高斯分佈N(0,0.01)並剪切到0.03)以生成增廣點。 對於ModelNet40,我們基於面部區域從CAD模型表面均勻地採樣N個點。

對於所有實驗,我們使用Adam [9]優化器,學習率爲0.001用於訓練。 對於數據增強,我們隨機縮放對象,擾動對象位置以及點樣本位置。 我們還遵循[21]隨機旋轉對象以進行ModelNet40數據增強。 我們使用TensorFlow和GTX 1080,Titan X進行培訓。 所有層都在CUDA中實現以運行GPU。 訓練我們的模型到收斂大約需要20個小時。

B4:ScanNet實驗細節

爲了從ScanNet場景生成訓練數據,我們從初始場景採樣1.5m×1.5m×3m立方體,然後保持立方體中≥2%的體素被佔用,≥70%的表面體素具有有效註釋(這是 [5]中的相同設置。 我們在運行中對這些訓練立方體進行採樣,並沿着右上軸隨機旋轉。 增加的點被添加到點集以產生固定的基數(在我們的例子中爲8192)。 在測試期間,我們類似地將測試場景分成較小的立方體,並首先獲得立方體中每個點的標籤預測,然後在同一場景的所有立方體中合併標籤預測。 如果一個點從不同的立方體獲得不同的標籤,我們將進行多數投票以獲得最終點標籤預測。

B5:SHREC15實驗細節

我們在每個形狀上隨機抽取1024個點用於訓練和測試。 爲了生成輸入固有特徵,我們分別提取100維WKS,HKS和多尺度高斯曲率,導致每個點的300維特徵向量。 然後我們進行PCA以將特徵尺寸減小到64.我們使用[23]之後的8維嵌入來模擬測地距離,用於在選擇點鄰域時描述我們的非歐幾里德度量空間。

C:更多試驗

在本節中,我們提供了更多的實驗結果來驗證和分析我們提出的網絡架構。

C1:語義部分分割

按照[32]中的設置,我們評估我們對零件分割任務的方法,假設每個形狀的類別標籤已知。 將點雲表示的形狀作爲輸入,任務是預測每個點的零件標籤。 該數據集包含16個類中的16,881個形狀,總共註釋了50個部分。 我們使用[4]之後的官方列車測試分組。

我們爲每個點配備其法線方向,以更好地描繪下面的形狀。這樣我們就可以擺脫[32,33]中使用的手工製作的幾何特徵。我們將我們的框架與傳統的基於學習的技術[32]以及表4中最先進的深度學習方法[20,33]進行比較。結合點交叉(IoU)用作評估度量,平均跨所有部分類。在訓練期間,交叉熵損失最小化。平均而言,我們的方法可以實現最佳性能。與[20]相比,我們的方法在大多數類別上表現更好,這證明了分層特徵學習對於詳細語義理解的重要性。請注意,我們的方法可以被視爲隱式構建不同尺度的接近圖並在這些圖上運行,因此與圖CNN方法相關,如[33]。由於我們的多尺度鄰域選擇的靈活性以及設置操作單元的功能,與[33]相比,我們可以獲得更好的性能。請注意,與圖卷積核相比,我們的集合運算單元要簡單得多,而且與[33]相比,我們不需要進行昂貴的特徵分解。這些使我們的方法更適合大規模點雲分析。

                                              表4:ShapeNet零件數據集上的分割結果。

C2:鄰居查詢:kNN  v.s. 球查詢。

在這裏,我們比較兩個選擇當地社區的選項。 我們在主要論文中使用了基於半徑的球查詢。 在這裏,我們還嘗試了基於kNN的鄰域搜索,並且還使用不同的搜索半徑和k進行遊戲。 在本實驗中,所有培訓和測試均採用具有均勻採樣密度的ModelNet40形狀。 使用1024點。 如表5所示,基於半徑的球查詢略好於基於kNN的方法。 但是,我們推測在非常不均勻的點集中,基於kNN的查詢將導致更差的泛化能力。 我們還觀察到,稍大的半徑對於性能有幫助,可能是因爲它捕獲了更豐富的局部模式。

                                 表5:鄰里選擇的影響。 評估指標是ModelNet 40測試集上的分類準確度(%)。

C3:隨機性在最遠點採樣中的影響

對於我們的集合抽象級別中的採樣層,我們使用最遠點採樣(FPS)進行點集子採樣。 然而,FPS算法是隨機的,並且子採樣取決於首先選擇哪個點。 在這裏,我們評估我們的模型對這種隨機性的敏感性。 在表6中,我們測試了在ModelNet40上訓練的模型的特徵穩定性和分類穩定性。

爲了評估特徵穩定性,我們使用不同的隨機種子提取所有測試樣本的全局特徵10次。 然後我們計算10個採樣中每個形狀的平均特徵。 然後我們計算特徵與均值特徵的差異的標準偏差。 最後我們平均所有標準。 在表中報告的所有要素維度中。 由於在處理之前將特徵歸一化爲0到1,因此0.021差異意味着特徵範數的2.1%偏差。

                                                    表6:FPS(最遠點採樣中)中隨機性的影響(使用ModelNet40) 

C4:時空複雜性。

表7總結了基於幾個點集的深度學習方法之間的時間和空間成本的比較。 我們使用TensorFlow 1.1和單個GTX 1080記錄批量大小爲8的前向時間。第一批被忽略,因爲有一些GPU準備。 雖然PointNet(vanilla)[20]具有最佳的時間效率,但我們的沒有密度自適應層的模型以合理的速度實現了最小的模型尺寸。

                                      表7:幾個網絡的模型大小和推理時間(正向通過) 

值得注意的是,我們的MSG雖然在非均勻採樣數據中具有良好的性能,但由於多尺度區域特徵提取,它比SSG版本昂貴2倍。 與MSG相比,MRG更有效,因爲它使用跨層的區域。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章