論文筆記:(2019)LDGCNN : Linked Dynamic Graph CNN-Learning on PointCloud via Linking Hierarchical Features



LDGCNN : Linked Dynamic Graph CNN-Learning on PointCloud via Linking Hierarchical Features

論文地址:https://arxiv.org/abs/1904.10014
代碼:https://github.com/KuangenZhang/ldgcnn

摘要

  由於點雲是一種常見的幾何數據類型,可以幫助機器人牢固地理解環境,因此迫切需要在點雲上學習。但是,點雲是稀疏的,非結構化的和無序的,傳統的卷積神經網絡(CNN)或遞歸神經網絡(RNN)無法准確識別。幸運的是,圖卷積神經網絡(圖CNN)可以處理稀疏和無序數據。因此,我們提出一種鏈接動態圖CNN(LDGCNN),以直接對點雲進行分類和分割。我們刪除了轉換網絡,從動態圖鏈接了層次特征,凍結了特征提取器,並重新訓練了分類器,以提高LDGCNN的性能。我們使用理論分析和可視化來解釋我們的網絡。通過實驗,我們證明了所提出的LDGCNN在兩個標准數據集:ModelNet40和ShapeNet上達到了最先進的性能。

索引詞——深度學習,圖卷積神經網絡,點雲,分類,分割

一、引言

  三維(3D)感知可幫助機器人感知和理解環境,從而提高機器人的智能。深度相機、LiDAR掃描儀和雷達可以提供3D幾何數據。這些傳感器通常通過將脈沖信號(例如激光和紅外光)投射到目標,並測量反射的脈沖或作用時間來測量目標與傳感器之間的距離。因此,3D幾何數據可以提供3D空間信息,並且受照明強度的影響較小,照明強度比RGB(紅色,綠色和藍色)圖像更強健。例如,3D傳感器可以在夜間感知環境。此外,可以融合來自不同視角的3D幾何數據以提供完整的環境信息。因此,3D幾何數據對於機器人在實際環境中執行任務至關重要。此外,在實際應用中急切需要3D理解,包括自動駕駛[1],自動室內導航[2]和機器人技術[3,4]。

  點雲通常表示3D空間(R3)中的一組3D點。點雲中的每個點都有三個坐標:x,y和z。點雲是3D幾何數據的最常見表示形式。例如,深度相機、LiDAR掃描儀和雷達的原始數據通常是點雲。此外,幾何數據的其他3D表示形式,例如網格,體素和深度圖像可以容易地轉換為點雲。 因此,認識點雲很重要。

  因此,我們考慮在本文中設計識別點雲的方法。具體來說,我們專注於兩個任務:點雲分類和分割。如圖1所示,點雲分類將整個點雲作為輸入,並輸出輸入點雲的類別。分割是將每個點分類為點雲的特定部分。對於這兩個任務,有兩個經典的公共數據集:ModelNet40 [5]和ShapeNet [6]。第二節簡要介紹了這兩個數據集。

圖1:LDGCNN的應用:點雲分類和分割
  傳統上,研究人員傾向於設計手工制作的特征,例如形狀上下文[7],點特征直方圖[8],局部表面特征描述[9]和面片上下文[10]以識別點雲。但是,這些手工制作的功能通常旨在解決特定問題,並且難以推廣到新任務。近年來,深度學習方法在對象的分類和分割上取得了成功[11,12]。研究人員傾向於設計數據驅動的方法來學習特征並自動識別點雲。

  深度學習方法已經在處理2D圖像方面取得了顯着進展[13],但是准確地對點雲進行分類和分割仍然是挑戰。由於點雲稀疏,無結構化,無序,典型的卷積神經網絡(CNN)和遞歸神經網絡(RNN)需要規則的圖像格式或有序序列,因此不適合直接識別點雲。為了識別點雲,先前的研究人員提出了三種深度學習方法:基於視圖的方法,體素方法和幾何方法。我們將在下面詳細討論這些方法。

A.基於視圖的方法

  以前的研究人員試圖將點雲沿不同方向投影到2D圖像,然后應用標准2D CNN提取特征。從不同圖像中學習到的特征通過視圖池化層聚合為全局特征,然后可以利用該全局特征對對象進行分類[5、14、15]。盡管基於視圖的方法可以在分類任務中實現較高的准確性,但是將這種方法應用於分割點雲即將每個點分類為特定類別並非易事。

B.基於體素的方法

  識別點雲的另一種方法是應用體素化將非結構化點雲轉換為結構化3D網格。 然后,可以利用3D CNN和體積CNN來對3D網格進行分類和分割[16,17]。但是,點雲是稀疏,使用3D網格表示點雲是浪費的。另外,考慮到體積數據的高存儲和計算成本,3D網格的分辨率通常較低,這可能導致量化偽像。因此,利用體積方法來處理大規模點雲是有問題的。

C.基於幾何的方法

  近年來,Qi等人引入了PointNet來直接對點雲進行分類和分割[18],這開創了用於處理非結構化數據的幾何方法[19]。點雲具有幾個特征:稀疏性,排列不變性和變換不變性。考慮到點雲的稀疏性,PointNet的研究人員直接處理點,而不是將點雲投影到圖像或體積網格上。為了解決置換不變性問題,他們設計了一個多層感知器(MLP)來從每個點獨立提取特征。由於用於不同點的MLP共享參數,因此可以從不同點提取相同類型的特征。此外,他們使用最大池化層提取全局特征以匯總來自所有點的信息。共享的MLP和最大池化層都是對稱的,從而解決了置換不變性問題。此外,他們設計了一個轉換網絡來估計點雲的仿射轉換矩陣。然后他們使用估計的仿射轉換矩陣來彌補點雲,以解決變換不變性問題。

  PointNet獨具匠心,可以直接對點雲進行分類和分割,但是它可以單獨處理每個點,而無需提取點與其鄰居之間的局部信息。相鄰點之間的局部特征可能比每個點的坐標更健壯,因為點雲可以旋轉和移動。結果,PointNet的研究人員將他們的網絡改進到PointNet ++ [20]。他們將PointNet遞歸地應用於嵌套分區,以提取局部特征並組合多尺度的學習特征。提取局部特征后,PointNet ++在幾個常見的3D數據集上實現了點雲分類和分割任務的最新結果。但是,PointNet ++仍然會單獨處理局部點中的每個點,並且不會提取該點及其鄰居之間的關系,例如距離和邊緣向量。

  最近,研究人員開始設計PointNet的變體,以從點對之間的關系中學習局部特征。k維樹(KD-tree)用於將點雲划分為細分。研究人員逐步在這些細分上執行乘法變換,並對點雲進行分類。但是,如果點雲的規模發生變化,則基於KDtree的這些分區可能會有所不同。 Wang等人設計了一個邊緣卷積算子,從中心點(pc)提取特征,並從其鄰域自身(pn - pc)提取邊緣向量。此外,他們在每個邊緣卷積層之前應用k最近鄰(KNN)算法。因此,它們不僅在輸入的歐幾里得空間R3中搜索鄰居,而且還在特征空間中聚集相似的特征。受益於提取動態特征,它們的動態圖CNN(DGCNN)在點雲識別任務上獲得了最先進的結果[21]。最近,徐等人指出MLP在點雲上不能很好地工作,他們基於泰勒多項式設計了一個新的卷積層SpiderCNN,以提取局部測地信息[22]。但是,對於與DGCNN相同的輸入(1024點),SpiderCNN的分類精度略低於DGCNN的分類精度。因此,這種復雜的卷積內核似乎並不勝過簡單而有效的MLP。李等人為了從點雲中提取層次特征,隨機對點雲進行下采樣,並將PointCNN應用於稀疏點雲中新鄰居之間的關系[23]。此外,他們從局部點集學習變換矩陣,以將點排列為潛在的規范順序。它們由於下采樣而減少了網絡的前向時間,並達到了與DGCNN相似的精度。但是,下采樣可能會影響配點雲的精度,因為每個點都應歸為一類。

  到目前為止,當輸入點雲中只有1024個點時,DGCNN在modelNet40數據集上實現了最高的分類精度。盡管其他一些方法(例如自組織網絡[24]和GeometricCNN(Geo-CNN)[25])可以進一步提高分類精度,但它們需要更密集的點雲,該點雲由10,000或5,000個點和法向矢量組成。由於ModelNet40和ShapeNet的數據集是從計算機輔助設計(CAD)模型生成的,因此很容易使用法向矢量獲取更密集的點雲。然而,在實際應用中情況卻不同。 3D傳感器(如LiDAR掃描儀)只能捕獲稀疏點雲。此外,在3D傳感器的原始數據中沒有法線向量。因此,DGCNN似乎更實用,但也存在一些問題。首先,DGCNN依賴於轉換網絡來抵消點雲,但是此轉換網絡使網絡的大小增加了一倍。此外,深度特征及其鄰居可能太相似而無法提供有價值的邊緣向量。此外,DGCNN中有許多可訓練的參數,並且在訓練整個網絡時很難找到最佳參數

  在本文中,我們優化了DGCNN的網絡架構,以提高性能並減少網絡的模型大小。由於我們的網絡鏈接了來自不同動態圖的分層功能,因此我們將其稱為鏈接動態圖CNN(LDGCNN)。 我們應用K-NN和共享參數的MLP提取中心點及其鄰居中的局部特征。然后,我們在不同層之間添加shortcuts,以鏈接層次特征以計算有用的邊緣矢量。此外,LDGCNN中包含兩部分:卷積層(特征提取器)和完全連接層(分類器)。訓練完LDGCNN后,我們凍結特征提取器並重新訓練分類器以提高網絡性能。在實驗中,我們在兩個公共數據集上對LDGCNN進行評估:Model-Net40和ShapeNet用於分類和分割。實驗結果表明,我們的LDGCNN在這兩個數據集上均達到了最先進的性能。

  這篇文章的 關鍵貢獻 包括:

  • 我們將來自不同動態圖的層次特征鏈接起來,以計算出有用的邊緣矢量,並避免梯度問題的消失。
  • 我們從DGCNN中移除了變換網絡,並證明了我們可以使用MLP來提取變換不變特征。
  • 我們通過凍結特征提取器並重新訓練分類器來提高LDGCNN的性能( 避免在大量參數下產生局部最優解 )。
  • 我們評估了LDGCNN,並顯示它在兩個經典3D數據集上均達到了最新的性能。

  在本文的以下部分中,我們將在第二部分介紹ModelNet40和ShapeNet的數據集。然后在第三節中描述研究問題,我們的理論方法和網絡體系結構。實驗結果和相應的討論見第四節。最后,我們在第五節結束本文。

二、材料

  分類的數據集為ModelNet40 [5],其中包括屬於40個類別的12,311個CAD模式。 該數據集分為訓練集(9843個模型)和驗證集(2468個模型)[18]。 但是,沒有對ModelNet40進行測試。 我們將在IV-B小節中討論這個問題。 此外,每個CAD模型都通過1024個點進行采樣,這些點被標准化為一個單位球體。

  分割任務基於ShapeNet零件數據集[6],該數據集由16個類別的16,881個CAD模型組成。以前的研究人員將每個CAD模型采樣到2048個點,每個點用50個零件中的一個進行注釋。 本文中的訓練,驗證和測試數據集與[21]中的相同。

三、方法

  我們的LDGCNN受PointNet [18]和DGCNN [21]的啟發。我們為點雲構造一個有向圖。然后我們從構造的圖形中提取特征,並利用特征對點雲進行分類和分割。下面,我們討論研究問題和相應的解決方案。

A.問題陳述

  我們方法的輸入是點雲,它是一組3D點:

  其中pi是點雲的一個點,由三個坐標(xi; yi; zi)組成。 該點的索引和點雲中的點數分別為i和n。

  我們在本文中專注於兩個任務:點雲分類和分割。對於點雲分類,我們需要對整個點雲的類別進行分類。因此,我們應該找到一個分類函數fc,將輸入點雲轉換為每個類Pr上的概率分布:

  至於點雲分割,可以將每個點pi分類為特定類別。因此,我們需要找到一個分割函數fs來計算每個點pi在每個類別Pri上的概率分布:
  分類函數fc和分割函數fs有幾個設計約束:

(1)置換不變性:

  點雲是一個點集,而不是序列信號。因此,點的順序可以變化,但不影響點雲的類別。分類函數不應受輸入點的順序影響:

(2)變換不變性:

  在實際應用中,傳感器和物體之間的相對位置和方向可能會發生變化,從而導致生成的點雲平移和旋轉。但是,上述仿射變換不應更改分類和分割的結果:

(3)提取局部特征:

  局部特征是點與它的鄰居之間的關系,這對於點雲識別的成功至關重要。 因此,我們需要學習局部特征,而不是分別處理每個點:

B.圖生成

  圖神經網絡是一種適用於處理點雲的方法,因為它在每個節點上傳播而忽略了節點的輸入順序,並學習兩個節點之間的依存關系信息[26]將其作為邊。要在點雲上應用圖神經網絡,我們需要先將其轉換為有向圖。圖G由頂點V和邊E組成:

  我們不為點雲構造完全連接的邊緣,因為它消耗大量內存。一種簡單的方法是利用K-NN構造局部有向圖,如圖2所示。在該局部有向圖中,每個點pi是一個中心節點,並計算出中心節點與其k個近鄰之間的邊ei:
  像DGCNN [21]一樣,我們在每個卷積層之前應用K-NN,然后我們可以在歐氏空間和特征空間中構造局部圖。因此,點pi也代表特征空間中的中心點,而pij是特征空間中中心點pi的鄰居。

C.圖特征提取

  構造局部圖后,我們基於邊緣卷積層提取局部圖特征[21]。特征提取函數fe對於所有點都是相同的,因此我們以一個中心點pi及其K個鄰居為例進行說明。 輸入是中心點pi的局部圖,輸出是局部特征li:

  其中h(pi; eij)是關於中心點pi和一個邊緣向量eij的隱藏層向量。

  在(9)中,我們使用最大池化操作,因為它不受鄰居順序的影響,並且可以提取所有邊緣中最主要的特征。 此外,我們利用一個MLP提取隱藏特征向量h(pi; eij):

  其中pic和pijc是通道c中中心點pi及其相鄰pij的值。 輸入點pi和輸出隱藏特征向量h(pi; eij)的通道數分別為C和C’,隱藏層特征向量在通道c’中的值由hc’(pi; eij)表示。MLP的可訓練參數為wc’c,wc’(c + C)和bc’。

D.變換不變函數

  PointNet [18]和DGCNN [21]都依賴於轉換網絡來估計點雲的旋轉矩陣並補償點雲。但是,轉換網絡使網絡的大小增加了一倍。此外,通過實驗,我們發現該網絡在去除轉換網絡后仍然具有令人滿意的性能。因此,我們在這里討論相應的原因。
轉換網絡的輸出是一個3 x 3的矩陣R,它可以補償點雲P:

  其中rij是第i行第j列上旋轉矩陣R的值。另外,xi,yi和zi是點雲P中單點pi的坐標。

  如果將MLP轉換為矩陣形式,我們可以找到隱藏層的特征向量是:

  其中wic’和bc’是通道c’中MLP的可訓練參數。輸出通道數為C’。

  將(12)與(11)進行比較,我們可以發現它們是相似的。不同之處在於,轉換網絡可以為每個點雲估計一個特定的矩陣,而MLP對於所有點雲都是靜態的。MLP在不同通道中的參數可以使點雲旋轉不同的角度,並可以使點雲移動不同的平移。考慮到我們至少有64個輸出通道,MLP可以沿至少64個方向觀察點雲,這可以使網絡大致旋轉不變。

  此外,我們增加了訓練數據以提高網絡的泛化能力。像PointNet ++ [20]一樣,我們也隨機旋轉,移動和縮放輸入點雲,並在每個點上添加隨機噪聲。擴充訓練數據后,網絡可以學習旋轉和平移不變特征。

E.LDGCNN架構

  LDGCNN的體系結構如圖3所示,詳細說明在圖3的標題中進行了說明。我們的網絡類似於DGCNN [21],並且LDGCNN和DGCNN之間存在一些差異:

  • 我們鏈接來自不同層的分層特征。
  • 我們刪除了轉換網絡。

  刪除轉換網絡的原因在第III-D小節中討論。在這里,我們解釋了為什么我們要鏈接來自不同層的層次結構特征。第一個原因是,鏈接層次結構特征可以避免深度神經網絡的梯度消失問題,這在[27]中得到了證明。此外基於當前特征的鄰域索引不同於基於先前特征的鄰域索引。因此,我們可以通過,使用當前索引從先前特征中提取邊緣來學習新特征。此外,當前特征的鄰居彼此相似,這可能導致邊緣向量接近零。如果我們使用當前的鄰域索引從以前的特征計算邊緣,則可能會得到有用的邊緣向量

F.凍結特征提取器和再訓練分類器

  通過凍結特征提取器(在全局特征之前的網絡)並重新訓練分類器(在全局特征之后的MLP),我們進一步提高了網絡的性能。從理論上講,訓練整個網絡可以找到全局最小值。但是,網絡中的參數太多,幾乎不可能通過訓練找到全局最小值。相反,由於參數大,網絡可能會降到較低的局部最小值。凍結特征提取器后,反向傳播僅影響分類器的參數,該分類器由三個完全連接的層組成。因此,在訓練了整個網絡之后,我保存了全局特征,然后利用這些全局特征分別訓練了分類器,這有助於我的網絡獲得更好的性能。

四、結果

A.應用細節

  我們的訓練策略與[21]相同。學習率為0.001的Adam optimizer用於優化整個網絡。輸入點數,批次大小和動量分別為1024、32和0.9。我們將鄰居數K設置為20。此外,所有丟失層dropout的丟失率都設置為0.5。訓練完整個網絡后,我凍結特征提取器並重新訓練分類器。在重訓練過程中,我僅將優化器更改為Momentum。對於分割網絡,由於輸入點數更改為2048,因此將鄰居數K更改為30。其他設置與分類的設置相同。此外,我們用一個NVIDIA TITAN V GPU訓練分類網絡。 然后,我們使用兩個NVIDIA TITANV GPU來訓練我們的分割網絡。

B.點雲分類

  我們在第二部分介紹的ModelNet40數據集[5]上評估分類網絡的性能。如表1所示,我們的LDGCNN在此數據集上實現了最高的准確性。對於相同的輸入(1024點),我們的網絡的整體分類准確度(92.9%)比DGCNN和PointCNN高0.7%。

  先前的研究人員提出,他們將ModelNet40分為訓練集和測試集[18,21]。 但是,他們在論文中寫下了最佳的測試精度。他們訓練的最后一個時期的測試准確性可能比其最佳測試准確性低約1%-1.5%。因此,他們將測試集視為驗證集,並使用驗證集優化其超參數並確定停止訓練的時間。因為我們需要將我們的網絡與以前的網絡進行比較,所以我們還使用ModelNet40的驗證集來確定停止訓練的時間。 由於我們使用與以前的研究人員相同的分裂數據集和訓練策略,因此,我們網絡的更高分類精度仍然可以證明我們的網絡達到了最先進的性能。

C.點雲分割

  交並比(IoU)用於評估我們的網絡在ShapeNet [6]上進行點雲分割的性能,這在第二節中進行了描述。分割網絡預測每個點的標簽,並將預測結果與真實標簽進行比較。然后計算出預測點與真實點的交集和並集。IoU是交集與並集中的點數之比。如表2所示,我們的分割網絡也達到了最先進的性能。此外,在圖4中,我們將分割的點雲與真實點雲和DGCNN分割的點雲進行了比較。

D.時間和空間復雜度分析

  我們通過與其他分類網絡比較我們的分類網絡的參數數量和前向時間來評估模型的復雜性。根據一個NVIDIA TITAN V GPU的計算能力來估算前向時間。如表3所示,我們網絡的模型規模小於PointNet,PointNet ++和DGCNN。我們的網絡的前向時間比DGCNN的要短,但比PointNet ++和PointNet的要長,這是因為我們將K-NN用於在每個邊緣卷積層中搜索鄰居。與DGCNN相比,我們的網絡更加簡潔,並且實現了更高的分類精度。

E.可視化和消融實驗

  T分布隨機鄰居嵌入(T-SNE)被用來展示我們的特征提取器的性能[29]。T-SNE減少了高維特征的維數以可視化特征的可分離性。如圖5所示,提取的特征比原始點雲具有更大的判別力。此外,我們分析了這兩個組成部分的作用:刪除變換網絡和凍結特征提取器並重新訓練分類器。如表4所示,通過凍結特征提取器和重新訓練分類器,我們將整體分類精度從91.8%提高到92.9%。此外,轉換網絡無法提高網絡的性能。這一結果證實了我們的假設,即MLP可以代替變換網絡逼近旋轉不變性,這是在III-D小節中提出的。

五、總結

  在本文中,我們提出了一種LDGCNN直接對點雲進行分類和分割。 與DGCNN相比,我們通過刪除轉換網絡來減小網絡的模型大小,並通過鏈接來自不同動態圖的層次結構特征來優化網絡體系結構。在訓練了整個網絡之后,我們凍結了特征提取器並重新訓練了分類器,這使ModelNet40上的分類准確性從91.8%提高到92.9%。我們的網絡在兩個標准數據集上實現了最先進的性能:ModelNet40和ShapeNet。此外,我們提供了對網絡的理論分析以及可視化的分類和分割結果。將來,我們將在更多語義分割數據集上評估LDGCNN並將其應用於實時環境理解應用程序。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM