CVPR2020:點雲分析中三維圖形卷積網絡中可變形核的學習
Convolution in the Cloud: Learning Deformable Kernels in 3D Graph Convolution Networks for Point Cloud Analysis
論文地址:
代碼地址Our code is publicly available at https://github.com/j1a0m0e4sNTU/3dgcn
摘要
點雲是三維視覺應用中常用的幾何表示形式之一。然而,如果沒有像二維圖像這樣的規則結構,在這些無序數據點上處理和匯總信息是非常困難的。盡管已有的許多工作試圖分析點雲並獲得有希望的性能,但是當數據變化(如移動和尺度變化)出現時,它們的性能會顯著下降。本文提出了一種三維圖形卷積網絡(3D-GCN),用於跨尺度從點雲中提取局部三維特征,並引入了平移和尺度不變性。我們的3D-GCN的新穎之處在於使用圖最大池機制定義可學習內核。我們證明3D-GCN可以應用於3D分類和分割任務,消融研究和可視化驗證了3D-GCN的設計。
1. 介紹
三維視覺一直是一個活躍的研究課題,與增強現實、無人機和自動駕駛車輛等應用密切相關[20,15]。現有的三維數據表示包括使用體素、網格或點雲特征。體素[3,33]將三維物體描述為體素網格,但通常存在分辨率不高和存儲成本高的問題。網格在動畫中很常見,而這些表示與三維傳感器輸出沒有直接關聯[16,19]。最后,三維點雲以描述三維物體的形狀信息為中心,可以很容易地被三維傳感器獲取,但由此產生的三維點的無序集合可能會限制后續的分析任務。近年來,隨着深度學習技術,特別是卷積神經網絡(CNN)的顯著發展,人們在各種計算機視覺任務中觀察到了很有前途的性能[6,11]。然而,圖像數據通常是以網格結構(例如,像素或單元過刻度)表示的,這使得卷積操作可行。對於不規則和非結構化數據(如三維點雲),不可能在這些數據上學習和部署具有固定大小或模式的內核。為了處理這樣一個非結構化/無序的點集,PointNet[21]應用多個完全連接的層對3D點雲進行編碼,然后進行全局max池運算,並顯示了令人印象深刻的3D數據識別和分割結果。由於部署了全局池操作,可能無法正確觀察到三維點雲的局部結構化信息。此外,它並不像我們稍后討論和驗證的那樣,被設計成對全局變換(如移位或縮放)具有不變性。為了更好地描述三維數據的局部信息,一些研究工作利用網格數據及其相應的圖形結構(即頂點和相關邊)來提取所需的信息。例如,[27,4]選擇傳播和聚合相鄰頂點的特征以獲得最終表示,而其他[16,2]選擇具有固定模式的精細內核以觀察局部信息。
在上述工作的推動下,[26,14,1,30,32]嘗試構建三維點雲的類圖結構。由於這種方法在表示圖時考慮了全局坐標,因此移位和縮放效應會降低模型的性能。本文提出了一種新的三維圖形卷積網絡(3D-GCN)深度學習模型,用於處理和學習三維點雲的結構信息。在二維CNN的驅動下,我們的目標是得到可變形的三維核,其形狀和權重在訓練階段是可學習的。此外,與標准CNN中的最大池操作類似,我們在3D-GCN中執行唯一的圖最大池操作,以總結不同尺度下處理的特征。因此,我們的3D-GCN能夠觀察和提取任意形狀和大小的無序3D點雲的結構信息。如后文所述,我們的3D-GCN對3D點雲移動和縮放變化保持不變,這是真實3D視覺應用的關鍵特性。現將主要貢獻總結如下:
•我們提出了一種用於處理三維點雲數據的三維圖形卷積網絡(3DGCN),該網絡具有平移和尺度不變的特性,具有很好的分類/分割性能。
•我們的3D-GCN中每個核的形狀和權重在訓練期間是可學習的,這顯示了從無序的3D點雲描述局部結構信息的能力。
•3DGCN中還引入了一種新的圖形最大池,允許在不同尺度上提取和總結點雲特征,以提高性能。
2.相關工作
多視圖和體素化方法。由於標准卷積神經網絡不能直接應用於處理非結構化數據,如三維點雲,現有的工作通常選擇將點雲轉換為適當的表示形式,以便進一步處理。例如,[33,3,18,17,25]將點特征注冊到體素網格中,或者直接使用體素化的3D形狀作為模型輸入,這樣就可以對這些輸入數據執行標准的3D CNN。盡管已經提出了基於八叉樹的方法,如[24,31]來重新確定預測輸出的分辨率,但是基於體素的方法通常被認為在三維體素表示中存在分辨率不足和巨大的內存消耗。或者,許多工作[28、9、22、29、1]選擇在多個視圖中將3D形狀投影到2D平面上,然后選擇2D CNN進行特征提取。雖然報告了令人印象深刻的結果,但它不容易擴展到三維數據分割或重建[11,6]。
基於點雲的方法
為了處理三維點雲數據,PointNet[21]有多個共享的完全連接層來處理無序的三維點輸入,然后是通道最大值池來提取全局特征來表示三維點雲數據。雖然PointNet能夠處理三維點雲數據,而不受無序特性的限制,但它本質上學習了輸入對象的關鍵點表示,以獲得最終特征。局部幾何信息不直接編碼,該模型對輸入平移和尺度變化敏感,這一點我們稍后將進行驗證。為了緩解上述問題,研究人員建議將三維點排序為有序列表,其中相鄰點在三維空間中具有較小的歐氏距離。例如,[8]將所有的點按不同的維度排序,然后使用遞歸神經網絡(RNN)從得到的序列中提取特征。[10,5]根據三維點的坐標,通過kd樹將其轉換成一維列表,然后用一維CNNs提取相應的特征。然而,將3D點集排序為1D列表並非易事;而且,局部幾何信息可能不容易保存在這樣的有序列表中。
基於幾何的方法
與上述以整個三維數據為輸入的工作不同,另一個方法分支選擇從三維點的子集中學習局部幾何信息[23、32、26、14、7、13、34、30]。通過將三維點划分為更小的組,這種方法從每個局部組中提取特征以進行表示。例如,PointNet++[23]將三維點雲划分為幾個球區域,並對每個球應用[21]進行局部特征提取。DGCNN[32]通過識別特征空間中3D點的最近鄰來構造局部圖,然后執行EdgeConv操作進行特征提取。Shen等人 [26]擴展上述思想,並在特征聚合期間額外學習幾何信息。RS-CNN[14]應用鄰域點特征的加權和,根據兩個點之間的幾何關系,用MLPs學習每個權值。這些工作試圖在三維點雲的局部區域內提取幾何信息。然而,現有的方法通常使用點或距離向量的精確坐標作為輸入特征,因此模型性能會受到移動和縮放效果的影響,這對於場景分割和多目標檢測等實際應用是不可取的。本文提出了一種新的具有可學習三維圖核和圖最大池機制的三維幾何特征網絡,該網絡具有跨尺度的有效幾何特征,同時具有尺度不變性和平移不變性。
3. 3D Graph Convolution Networks
我們提出了一種新的三維圖形卷積網絡(3DGCN)來從點雲數據中提取特征,並應用於視覺分類和語義分割。為了完整起見,我們將本文中使用的符號定義如下。點雲實例被視為一個集合,它包含位於感興趣對象表面上的N個點P={pn | N=1,2,…,N}。
對於分類任務,我們的3D-GCN采用點雲輸入,並生成每個感興趣類別的預測輸出分數c。對於語義分割,我們需要預測三維對象中每個點的區域/場景標簽。因此,輸出大小為N×c,這也表明3D-GCN在語義分割任務中執行逐點分類。
在標准的二維CNN模型中,學習3D-GCN中的核,核由網格中的權重參數組成,在圖像塊中共享相同的模式(如圖1a所示)。然而,對於三維點雲數據,數據點被視為無序集,並且無法觀察到特定的空間三維模式。
在2dcnn中,核中的每個元素都是描述感興趣空間模式的學習權重。在我們的3D-GCN中,我們定義了每個核點k的權重向量w(k)∈RD,因此,使用相應權重的特征f(p)的加權和將實現卷積運算。由於支撐的數量和方向可能與三維點的接收域不同,我們需要定義方向向量ks-kC=ks,s=1,2,…,s來描述學習核的模式。如圖2所示,除了kC=(0,0,0),3D-GCN中的內核現在定義為{w(kC),(ks,w(ks))| s=1,2,…,s},其中每個元素都是通過訓練學習的。
相似函數簡單地計算了dm、n和ks之間的余弦相似性,而不考慮它們的長度。因此,我們的3D-GCN可以共同觀察到尺度不變性。圖3說明了3D-GCN中的3D圖形卷積操作。
如圖4所示,該匯集層使我們能夠學習多尺度三維點雲特征,並使學習和計算更加高效,這是三維深度學習模型中的關鍵因素。
通過三維圖形核學習局部接收域內的方向信息,結合池機制,我們的3D-GCN具有很好的平移和尺度不變性。盡管像[14、21、23、26、30]這樣的現有工作報告了有希望的性能,但它們通常考慮全局坐標或要求點雲規范化來緩解這種數據方差,這將限制它們的不變性屬性(參見圖5中的示例)。我們將比較徹底的實驗,以確認我們的3D-GCN的穩健性時,上述變種提出。
用於語義分割的3D-GCN的體系結構如圖6b所示。
4.實驗測試
網絡配置
我們用於分類的3D-GCN模型結構如圖6a所示。特征提取部分由5個3D圖形卷積層組成,核數(32,64,128,256,1024)從低層到高層。我們為內核設置支持號S=1,為接收字段設置鄰居號M=25。
結果
表1列出了我們的3D-GCN分類結果,其中我們還將我們的結果與最近的一些方法進行了比較,包括PointNet[21]、PointNet++[23]、DGCNN[32]和KPConv[30]。從該表中,我們可以看出,當試驗數據沒有任何位移或比例變化時,我們的3D-GCN通常與幾種最新方法EL具有可比性或性能良好。
為了進一步評估模型的不變性,我們使用1024個點的三維點雲數據與上述模型進行了比較,這些點雲數據被規范化為一個零均值的單位球體,沒有數據增加。我們在三種不同的情況下測試它們:坐標移動、形狀縮放和形狀旋轉。結果分別如圖7a、7b和7c所示。從這些圖中的結果可以看出,由於從全局坐標中提取特征,隨着坐標的移動,PointNet和DGCNN的性能顯著下降。當尺度變量出現時,只有我們的模型能夠以令人滿意的性能進行識別。對於形狀旋轉,我們的3D-GCN顯示出更好的不變性。因此,上述實驗證實了我們的3D-GCN的有效性和魯棒性。
我們使用平均交並(mIoU)來評估分割性能,mIoU是該對象類別中每個部分類型的平均IoU。請注意,每個類別的mIoU是通過平均所有形狀實例的mIoU來計算的。更具體地說,類mIoU是所有16個類別中mIoU的平均值,而實例mIoU是所有實例中mIoU的平均值。局部分割結果見表2。請注意,在不使用全局坐標的情況下,我們的3D-GCN取得了與最近的方法相當或更好的結果。此外,我們通過可視化對象在不同變換下的分割結果來演示3D-GCN的健壯性,如圖8所示。我們將每個對象的中心/坐標移動100,並將對象大小放大10倍,圖8將我們的分割性能與其他對象進行了比較。我們發現在這兩種情況下,KPConv[30]和PointNet++[23]未能正確分割相應的部分。另一方面,我們的3D-GCN顯示出非常有希望的不變性能力,而不受位移和尺度變化的影響。
為了進一步評估模型的不變性,我們使用1024個點的三維點雲數據與上述模型進行了比較,這些點雲數據被規范化為一個零均值的單位球體,沒有數據增加。我們在三種不同的情況下測試它們:坐標移動、形狀縮放和形狀旋轉。結果分別如圖7a、7b和7c所示。從這些圖中的結果可以看出,由於從全局坐標中提取特征,隨着坐標的移動,PointNet和DGCNN的性能顯著下降。當尺度變量出現時,只有我們的模型能夠以令人滿意的性能進行識別。對於形狀旋轉,我們的3D-GCN顯示出更好的不變性。因此,上述實驗證實了我們的3D-GCN的有效性和魯棒性。
結果精度見表4第一列。接下來,我們考慮並分配沿每個軸的3個單位向量(例如,沿x軸的(1,0,0))作為3個方向向量ks。由於這些向量是不可學習的,表4第二列所示的結果也不令人滿意。最后,如表的最后一列所示,我們驗證是否需要使用我們的可學習知識。注意,方向信息對於提取幾何信息是很重要的,可學習的ks使得核可以變形並確定感興趣的對象,這就是為什么可以提高識別性能的原因。
在圖9中,我們將在3D-GCN的每一層上具有較大響應值的對象的點可視化。從低層到高層,我們可以看到響應從點到部分層發生了變化,這證明了我們在處理和匯總跨尺度的三維信息方面的能力,這相當於在描述圖像數據時使用2D CNN。
另一方面,我們比較了最近三維點雲模型的參數數量,並將比較結果列在表5中。從這個表中,我們可以看到我們的模型實現了與最新模型相當的識別性能,而我們的模型需要的參數最少。這證明了我們提出的3D-GCN的有效性和有效性。