論文筆記:(2019)GAPNet: Graph Attention based Point Neural Network for Exploiting Local Feature of Point Cloud



GAPNet: Graph Attention based Point Neural Network for Exploiting Local Feature of Point Cloud

    Hengshuang Zhao     Li Jiang     Chi-Wing Fu     Jiaya Jia
    The Chinese University of Hong Kong     Tencent Youtu Lab

論文地址:https://arxiv.org/abs/1905.08705
代碼:https://github.com/FrankCAN/GAPointNet

摘要

  由於點雲在非歐幾里得空間中具有不規則和稀疏的結構,利用點雲的細粒度語義特征仍然具有挑戰性。在現有的研究中,PointNet提供了一種在無序三維點雲上直接學習形狀特征的有效方法,並取得了較好的性能。然而,有助於更好的上下文學習的局部特性沒有被考慮。同時,注意機制通過對鄰近節點的關注,可以有效地捕獲基於圖的數據上的節點表示。在本文中,我們提出了一種新的用於點雲的神經網絡,稱為GAPNet,通過在多層感知器(MLP)層中嵌入圖注意機制來學習局部幾何表示。首先,我們引入了一個GAPLayer,通過在鄰域上突出不同的注意權重來學習每個點的注意特征。其次,為了挖掘足夠的特征,采用了多頭機制,允許GAPLayer聚合來自獨立頭的不同特征。第三,我們提出了在鄰域上使用注意力池化層來捕獲局部簽名,以增強網絡的魯棒性。最后,GAPNet應用多層MLP層來關注特征和局部特征,充分提取局部幾何結構。文中在ModelNet40和ShapeNet部件數據集上對提出的GAPNet體系結構進行了測試,並實現在形狀分類和部件分割任務的最先進的性能。

一、引言

  點雲數據變得越來越受歡迎的在一個廣泛的應用,如:自動駕駛、機器人地圖和導航、3 d形狀表示和建模[7],許多研究人員關注形狀分析和理解,特別是當卷積神經網絡(cnn)實現計算機視覺任務的重要的成功。然而,CNNs嚴重依賴標准網格結構的數據,導致對點雲等不規則、無序的幾何數據性能低下。因此,充分利用來自點雲的上下文信息仍然是一個具有挑戰性的問題。

  為了充分利用CNN的優勢,一些方法[13,24,19]在使用CNN架構之前,先將非結構化點雲映射到標准的3D網格中。然而,由於點雲結構具有典型的稀疏性,這些體積表示在內存和計算效率方面並不高效。與在網格點雲上應用CNNs不同,PointNet[16]首創了直接在不規則點雲上應用深度學習的方法。特別地,PointNet使輸入點雲對排列不變性,並通過獨立地在每個點上應用多層感知器(MLP)網絡和對稱函數來利用點的特征。然而,它只捕捉全局特征而沒有局部信息。PointNet++ [18]擴展了PointNet模型,構造了一個層次神經網絡,遞歸地應用設計的采樣層和分組層,通過PointNet來提取局部特征。DGCNN[25]對點和對應邊進行邊緣卷積,進一步利用局部信息。KC-Net[20]改編自點雲配准方法,構建核相關層來度量點的幾何親和力。

  注意機制已被證明在許多領域是有效的,如機器翻譯任務[21,1]、基於視覺的任務[14]和基於圖的任務[22]。靈感來自於圖注意力網絡[22],我們主要集中在充分利用細粒度的局部特征點雲在三維形狀分類和部分分割任務的注意方式。總結我們工作的主要貢獻如下:

  • 我們提出了一個多頭GAPLayer來捕捉上下文的注意特征,通過指示不同的鄰居對每個點的重要性。獨立的頭並行地處理來自表示空間的不同特征,並進一步聚合在一起,以獲得足夠的特征提取能力。
  • 我們提出了自注意力和鄰域注意力機制,以允許GAPLayer通過考慮自幾何信息和與相應鄰域的局部相關性來計算注意系數。
  • 為了提高網絡的魯棒性,提出了一種基於鄰域的注意力池層來識別最重要的特征。
  • 我們的GAPNet將GAPLayer和注意力池層集成到堆疊的多層感知器(MLP)層或現有的流水線(如PointNet)中,以更好地從無序的點雲中提取局部上下文特征。

二、相關工作

基於體素網格的特征學習

  體素化是一種將稀疏不規則的點雲轉換為標准網格結構的直觀方法,之后可以使用標准的CNNs進行特征提取。Voxnet[13]體素將點雲轉化為一個體素網格,表示每個體素的空間占用情況,然后是一個3D CNN處理被占用體素來預測對象的類別。然而,三維密集和稀疏占用的體積網格會導致高空間分辨率的大內存和計算成本。因此,提出了一些改進措施來解決稀疏性問題。Kd-Net[9]利用kd-tree[2]構建高效的三維空間划分結構和深度架構來學習點雲的表示。類似地,OctNet[19]對一組淺八叉樹生成的混合網格八叉樹結構進行三維卷積,以實現高分辨率。

直接從非結構化點雲中學習特征

  PointNet[16]是在原始點雲上直接應用深度學習的先驅工作。更詳細地說,多層感知器(MLP)網絡和對稱函數(如max pooling)被應用於每一個單獨的點來提取全局特征。該方法為理解非結構化點雲提供了一種有效的方法,但由於該體系結構只在獨立的點上工作,而沒有度量局部區域內點之間的關系,因此無法捕獲局部特征。為了解決這個問題,PointNet++[18]構造了一個遞歸地應用帶有采樣層和分組層的PointNet的層級神經網絡,以利用局部表示。DGCNN[25]通過提出一種邊緣卷積運算(EdgeConv)對PointNet進行了擴展,該運算應用於邊緣特征,將每個點和連接到相鄰對的對應邊緣聚合在一起。為了發揮標准CNN操作的優勢,PointCNN[11]嘗試學習一個X-conv算子將一個給定的無序點集變換為一個潛在的正則序,然后使用典型的CNN架構提取局部特征。

從多視圖模型中學習特征

  為了應用標准的CNN操作,同時又避免基於體積的方法中計算量大的問題,一些研究者對基於多視圖的方法很感興趣。例如,[17,23]將典型的二維CNN架構應用於由三維點雲上的多視圖投影生成的多個二維圖像視圖,從而間接地學習點雲的特征。但是,由於二維圖像缺乏深度信息,這些多視角方法無法實現對點雲的語義分割任務,導致對圖像中每一個點進行分類的難度很大。

幾何深度學習的學習特征

  幾何深度學習[4]是一組新興技術的現代術語,這些技術試圖通過深度神經網絡來處理非歐幾里得結構化數據(如3D點雲、社交網絡或遺傳網絡)。圖CNNs[5,6,28]在許多任務中顯示了圖表示的優勢,對於非歐幾里得數據,它可以自然地處理這些不規則結構。PointGCN[29]構建了一個graph CNN架構來捕獲局部結構並對點雲進行分類,這也證明了幾何深度學習在無序點雲分析方面具有巨大的潛力。

三、GAPNet架構

  在本節中,我們提出了我們的GAPNet模型,以更好地學習形狀分類和部分分割任務中非結構化點雲的局部表示。我們詳細介紹了由三個組件組成的模型:GAPLayer(圖2所示的基於多頭圖注意力的點網絡層)、注意力池化層和GAPNet架構(圖3所示)。
令X = { xi∈RF;i = 1,2,…, N }是無序點和模型輸入的原始集合,具有F維,其中N是點的數量,xi是可能包含3D空間坐標(x; y; z ),顏色,強度,表面法線等。為簡單起見,在此研究中,我們設置F = 3,僅使用3D坐標作為輸入特征。

3.1 GAPLayer

局部結構表示

  考慮到在實際應用中,點雲中的樣本數量可能非常大(如自主車輛),由於每一個點在每一個其他點上的權重分配非常小,讓每一個點都去關注所有其他點將導致高計算成本和梯度消失問題。因此,我們構造了有向k最近鄰圖G =(V; E)來表示點雲的局部結構,其中V ={1,2,…,N}是點的節點,E=V x Ni是連接相鄰點對的邊,Ni是點xi的鄰居集。我們將邊緣特征定義為yij =(xi - xij),其中i∈V,j∈Ni,並且xij指示點xi到相鄰點xj。

單頭GAPLayer

  為了方便讀者,我們首先介紹一個單頭GAPLayer以點雲數據作為輸入,與多頭機制結合,通過我們網絡中的特性通道將所有頭連接在一起。單頭GAPLayer的結構如圖2(b)所示。

  為了對不同的鄰域給予不同的注意,我們提出了自注意機制和鄰域注意機制來獲取每個點對其鄰域的注意系數,如圖1所示。自注意力機制通過考慮每個點的自幾何信息來學習自系數,而鄰域注意力機制通過考慮鄰域來關注局部系數。

  作為第一步,我們對點雲的節點和邊緣進行編碼,其輸出維度F’由公式1和2定義。

  其中h()是參數非線性函數,在我們的研究中被選作單層神經網絡實驗,並且是過濾器的一組可學習的參數。

  我們將方程3定義的自系數h(x’i;θ)和局部系數h(y’ij; θ)融合起來獲得注意力系數,其中h(x’i;θ)和h(y’ij;θ)是單層神經網絡 具有一維輸出。 LeakyReLU()表示非線性激活函數LeakyReLU。

  為了對齊比較不同點的相鄰點的注意系數,我們使用softmax函數將所有相鄰點的注意力系數歸一化到每個點(4)。
  每個單頭GAPLayer的目標是計算每個點的上下文注意力特征。為此,我們利用得到的歸一化系數來計算一個線性組合,即公式5。如圖2(b)所示,單頭GAPLayer的輸出為注意力特征x^i∈RF'和由圖的邊進行編碼的圖特征。
  其中f()為非線性激活函數,實驗中選擇RELU。

多頭機制

  為了獲得充分的結構信息和穩定網絡,我們將M個獨立的單頭GAPlayer連接在一起,生成具有M個F’通道的多頭注意力特征。方程被定義為6。如圖2(a)所示,multi-head GAPLayer(簡稱GAPLayer)的輸出是將對應頭的注意力特征和圖特征進行拼接的多頭注意力特征和多圖特征。

  其中, x^i(m)是第m個頭像的注意力特征,M是頭的總數,||是特征通道上的連接操作。

3.2注意力池化層

  為了增強網絡的魯棒性和提高網絡性能,我們在多圖特征的相鄰通道上定義了一個注意力池化層。我們使用最大池化作為我們的注意力池化操作,它識別頭部之間最重要的特征,以捕獲局部簽名表示Yi,被定義為公式7。局部簽名連接到中間層,用於捕獲全局特征。

3.3 GAPNet架構

  圖3所示的GAPNet模型考慮了點雲的形狀分類和語義部分分割。體系結構類似於PointNet[16]。然而,架構之間有三個主要的區別。首先,我們使用一個注意感知的空間變換網絡使點雲對特定的變換不變性。其次,我們不是只處理單個點,而是在多層MLP層之前利用一個GAPLayer的局部特征。第三,利用注意力池層獲取連接到中間層的局部簽名

四、實驗

  在本節中,我們評估了我們的GAPNet模型在3D點雲分類和零件分割任務中的應用,然后我們比較我們的表現與最近的最先進的方法,並進行消融研究,以調查不同的設計變化。

4.1分類

數據集

  我們在ModelNet40基准測試上演示了我們的分類模型的有效性[26]用於形狀分類。ModelNet40數據集包含12311個網格化的CAD模型,這些模型被划分為40個人工類別。我們分離了9,843個模型用於訓練,2,468個模型用於測試。然后對單元球內的模型進行歸一化,在模型表面均勻采樣1024點。我們通過隨機旋轉、縮放點雲和使用高斯噪聲抖動每個點的位置來進一步增大訓練數據集,所有模型的均值為零,標准差為0.01。

網絡結構

  分類模型如圖3所示(上分支)。為了使輸入點對一些幾何變換(如縮放、旋轉)不變,我們首先應用注意力感知空間變換網絡將點雲對准一個規范空間.然后該網絡采用了一個具有16個通道的單頭GAPLayer來捕獲注意力特征,接着采用三個共享MLP層(64,128,1024)分別輸出大小為64,128,1024的神經元,然后采用最大池化操作和兩個全連接層(512,256)最后生成一個變換矩陣。

  然后使用多頭 GAPLayer生成M個F’通道的多注意特征,其中設置M = 4個人頭,設置F’ = 16個編碼通道。我們的多注意特征集合了點雲的坐標特征,得到了上下文的注意特征,通道數為3+M x F’,然后通過4個共享的MLP層(64、64、64、128)提取細粒度特征。使用skip-connection方法連接局部簽名和這些中間層,然后是共享的全連接層(1024)和特征通道上的最大池化操作,得到整個點雲的全局特征。最后應用三個共享的MLP層(512、256、40)和保留概率為0.5的dropout操作,將全局特征轉換為40個類別。另外,使用批處理歸一化的激活函數ReLU被用在每層,鄰居k設為20。

訓練細節

  在訓練過程中,我們的優化器模型是Adam [8], momentum為0.9,我們設置批大小為32,學習率從0.005開始,然后每20 epoch被2除到0.00001。批次歸一化的衰減率最初設置為0.7,逐漸增加到0.99。我們的模型是在NVIDIA GTX1080Ti GPU和TensorFlow v1.6上訓練的。

結果

  表1將我們的結果和復雜性與最近的幾個最先進的工作進行了比較,我們的模型在ModelNet40基准測試中獲得了最好的性能,並且它比之前的最先進的模型DGCNN的精度高出0.2%。

  為了比較復雜度,我們分別使用模型大小和轉發時間來測量模型復雜度和計算復雜度。我們還評估了同一實驗環境中所有可用模型的相同度量,並在表1中列出了這些度量。雖然PointNet的計算復雜度最好,但是我們的模型比它的精度要高3.1%,這使得我們的模型在精度和復雜度之間取得了最好的平衡。

消融研究

  我們還在ModelNet40基准[26]上使用不同的設置測試我們的分類模型。特別地,我們分析了GAPLayer,注意力池層,以及不同數目的多個頭和編碼通道的有效性。

  表3表示了我們的GAPLayer和注意力池層的優點。結果表明,注意力集中層的准確率為0.6%。Constant-GAPLayer表示一個與我們的GAPLayer具有相同結構的模型,但所有的系數都設置為相等的常數,這表明了圖注意機制和我們的GAPLayer模型的有效性,其精確度達到0.7%。

  關於不同頭數M和編碼通道F’的影響。從表4可以看出,適當的數目有利於局部特征提取,但隨着數目的增大,性能會下降。

4.2 語義部件分割

數據集

  在語義部分分割任務中,我們評估了我們在ShapeNet部件數據集[27]上的分割模型,即對網格模型中的每個點進行部件分類。數據集由16個類別的16,881個CAD形狀組成,模型中的每個點都用一個包含50個部分類的類進行注釋。並且每個形狀模型標注了幾個不超過6個的部件。我們采用與4.1節相同的采樣策略,對2048個點進行均勻采樣,實驗中將數據集分為9843個模型進行訓練,2468個模型進行測試。

模型結構

  我們的分割模型如圖3所示(底部分支)是為點雲中的每個點預測一個部件類別標簽。我們首先使用與4.1節相同的空間變壓器網絡和GAPLayer,然后使用共享的MLP層(64,64,128)。第二個GAPLayer具有4個頭和128個編碼通道,然后是共享的MLP層(128,128,512)得到512個信道的表示,這些表示與GAPLayer相應的注意力池化層生成的局部簽名連接。聚合后的特征使用共享的全連接層(1024)和最大池化,得到一個全局特征,然后復制2048次,最后使用4個共享的全連接層(256,256,128,50),保留概率為0.6,將全局特征轉換為50個部分類別。

訓練細節

  訓練設置與分類任務的設置類似,只是批大小設置為8,鄰居k設置為30,我們將任務分配給兩個NVIDIA TESLA V100 GPUs。

結果

  我們使用聯合的平均交(mIoU)[16]作為我們的評估方案來對齊評估度量。每個形狀的IoU是通過對屬於同一類別的所有部分的IoU進行平均來計算的,然后mIoU就是測試數據集中所有形狀的IoU的平均值。

  表2顯示了我們的模型在ShapeNet部件數據集[27]上取得了競爭結果。與DGCNN的6個類別相比,我們的模型獲得了8個類別的部分分割[25],盡管它比我們的准確率高0.4%。圖4(a)表示了我們結果中的一些形狀,我們也將ground truth與我們的預測結果的差異可視化為圖4(b),左邊的形狀表示ground truth,右邊的形狀表示我們的預測結果。

五、結論

  在本文中,我們提出了一種基於圖注意的點神經網絡,名為GAPNet,用於學習點雲的形狀表示。實驗表明,在形狀分類和語義部分分割任務的最新性能。該模型的成功也驗證了圖注意網絡在圖節點相似度計算和幾何關系理解方面的有效性。
在未來,我們可以進一步探索幾個研究途徑。例如,一些應用程序,如自動駕駛汽車,通常需要處理非常大規模的點雲數據。因此,如何有效、穩健地處理大規模數據將是一項值得研究的課題。此外,為非結構化數據分析開發一種高效的類似cnn的操作將是很有趣的。


免責聲明!

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



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