【綜述翻譯:第二章】Deep Learning for 3D Point Clouds: A Survey

Deep Learning for 3D Point Clouds: A Survey爲國防科技大學發佈的綜述文章,這裏只翻譯第二章。
下載鏈接:https://arxiv.org/abs/1912.12033;
倉庫鏈接:https://github.com/QingyongHu/SoTA-Point-Cloud

2 3D形狀分類

這些方法通常首先學習每個點的嵌入,然後使用聚合方法從整個點雲中提取全局形狀嵌入。最終,通過幾個完全連接的層實現了分類。基於在每個點上執行特徵學習的方式,現有的3D形狀分類方法可以分爲基於投影的網絡和基於點的網絡。圖2說明了幾種里程碑方法。
在這裏插入圖片描述
圖2:3D形狀分類網絡的時間順序概述。
基於投影的方法首先將非結構化的點雲投影到中間的規則表示中,然後利用完善的2D或3D卷積實現形狀分類。相反,基於點的方法可直接在原始點雲上運行,而無需任何體素化或投影。基於點的方法不會造成明顯的信息丟失,並且越來越受歡迎。 文中,作者主要關注基於點的網絡,但爲了完整起見,也很少包含基於投影的網絡。

2.1基於投影的網絡

這些方法將3D點雲投影到不同的表示形式(例如多視圖,體積表示)中,用於特徵學習和形狀分類。

2.1.1多視圖表示

這些方法首先將3D對象投影到多個視圖中,並提取相應的按視圖方向的特徵,然後融合這些特徵以進行準確的對象識別。 如何將多個基於視圖的特徵聚合到一個可區分的全局表示中是一個關鍵挑戰。 MVCNN [15]是一項開創性的工作,它只是將多視圖特徵最大池化爲一個全局描述符。 但是,最大池化只能保留特定視圖中的最大元素,會導致信息丟失。 MHBN [16]通過協調雙線性池化整合了局部卷積特徵,以生成緊湊的全局描述符。 楊等[17]首先利用關係網絡來利用一組視圖之間的相互關係(例如,區域-區域關係和視圖-視圖關係),然後將這些視圖進行聚合以獲得具有區別性的3D對象表示。 另外,還提出了其他幾種方法[18],[19],[20],[21]以提高識別精度。

2.1.2體素表示

早期方法通常在3D點雲的體素表示基礎上應用3D卷積神經網絡(CNN)。 Daniel等[22]介紹了一種稱爲VoxNet的體積佔用網絡,以實現可靠的3D對象識別。 Wu等[6]提出了一種基於卷積深度信念的3D ShapeNet,以學習各種3D形狀中點的分佈。 3D形狀通常由體素網格上二進制變量的概率分佈表示。儘管已經實現了令人鼓舞的性能,但是這些方法無法很好地應用到密集的3D數據,因爲計算和內存佔用量會隨着分辨率的增加而三次增長。爲此,引入了分層而緊湊的圖結構(例如八叉樹)以減少這些方法的計算和存儲成本。 OctNet [23]首先使用混合網格八叉樹結構對點雲進行分層劃分,該結構代表沿規則網格具有幾個淺八叉樹的場景。使用位串表示對octree的結構進行有效編碼,並通過簡單的算法對每個體素的特徵向量進行索引。 Wang等[24]提出了一種基於Octree的CNN用於3D形狀分類。在最細的葉子八分位數中採樣的3D模型的平均法線向量被饋送到網絡中,並將3D-CNN應用於3D形狀表面所佔據的八分位數。與基於密集輸入網格的基準網絡相比,OctNet對於高分辨率點雲所需的內存和運行時間要少得多。 Le等[25]提出了一種稱爲PointGrid的混合網絡,該網絡集成了點和網格表示,以進行有效的點雲處理。在每個嵌入的體素網格單元中採樣恆定數量的點,這使網絡可以使用3D卷積提取幾何細節。

2.2基於點的網絡

根據用於每個點的特徵學習的網絡體系結構,可以將這一類的方法分爲逐點MLP,基於卷積,基於圖,基於數據索引的網絡和其他典型網絡。

2.2.1逐點MLP網絡

這些方法使用多個多層感知器(MLP)獨立地對每個點建模,然後使用對稱函數聚合全局特徵,如圖3所示。這些網絡可以實現無序3D點雲的置換不變性。但是,沒有完全考慮3D點之間的幾何關係。
在這裏插入圖片描述
圖3:PointNet的體系結構。 n表示輸入點的數量,M表示每個點的學習特徵尺寸。 在最大池化之後,整個點雲的全局特徵的維度也是M。
作爲一項開創性的工作,PointNet [5]通過幾個MLP層學習逐點特徵,並通過最大池化層提取全局形狀特徵。 使用幾個MLP層獲得分類分數。 Zaheer等[26]從理論上也證明了實現置換不變性的關鍵是對所有表示求和並應用非線性變換。 他們還爲包括形狀分類在內的各種應用設計了一種基本架構DeepSets [26]。
由於對於PointNet [5]中的每個點都是獨立學習特徵的,因此無法捕獲點之間的局部結構信息。 因此,齊等[27]提出了一個層次網絡PointNet ++來捕獲每個點附近的精細幾何結構。 作爲PointNet ++層次結構的核心,其集合抽象級別由三層組成:採樣層,分組層和PointNet層。 通過堆疊幾個集合抽象級別,PointNet ++可以從局部幾何結構中學習特徵,並逐層抽象局部特徵。
由於其簡單性和強大的表示能力,已經基於PointNet [5]開發了許多網絡。 Achlioptas等[28]介紹了一種深度自動編碼器網絡來學習點雲表示。它的編碼器遵循PointNet的設計,並使用五個1-D卷積層,ReLU非線性激活,批處理規範化和最大池化操作獨立學習點特徵。在點注意力變換(PAT)[29]中,每個點都由其自身的絕對位置和相對於其鄰居的相對位置表示。然後,使用組混洗注意力(GSA)來捕獲點之間的關係,並開發了排列不變,可區分且可訓練的端到端Gumbel子集採樣(GSS)層來學習分層特徵。 Mo-Net [30]的體系結構與PointNet [5]相似,但是它需要一組有限的矩作爲其網絡的輸入。 PointWeb [31]也是基於PointNet ++構建的,它使用局部鄰域的上下文來使用自適應特徵調整(AFA)來改進點特徵。段等。 [32]提出了一種結構關係網絡(SRN)來學習使用MLP的不同局部結構之間的結構關係特徵。 Lin等[33]通過爲PointNet所學習的輸入和函數空間構造查找表來加速推理過程。在中等機器上,與PointNet相比,ModelNet和ShapeNet數據集上的推理時間縮短了1.5毫秒,達到32倍。 SRINet [34]首先投影一個點雲以獲得旋轉不變表示,然後利用基於PointNet的主幹來提取全局特徵,並利用基於圖的聚合來提取局部特徵。

2.2.2基於卷積的網絡

與在2D網格結構(例如圖像)上定義的內核相比,由於點雲的不規則性,難以爲3D點雲設計卷積內核。 根據卷積內核的類型,當前的3D卷積網絡可以分爲連續卷積網絡和離散卷積網絡,如圖4所示。

在這裏插入圖片描述
圖4:一個點的局部鄰居的連續和離散卷積的圖示。(a)代表局部近鄰區;(b)和(c)分別代表3D連續和離散卷積。
3D連續卷積網絡。 這些方法在連續空間上定義卷積核,其中相鄰點的權重與相對於中心點的空間分佈有關。
3D卷積可以解釋爲給定子集的加權和。 MLP是學習權重的一種簡單方法。 RS-Conv作爲RS-CNN[35]的核心層,以某一點周圍的局部子集作爲輸入,通過學習局部子集中的低層關係(如歐幾里德距離和相對位置)到高層關係的映射,利用MLP實現卷積。 在[36]中,內核元素是在單位球體內隨機選擇的。 然後使用基於MLP的連續函數在內核元素的位置和點雲之間建立關係。 在DensePoint [37]中,卷積定義爲具有非線性激活器的單層感知器(SLP)。 通過串聯所有先前層的特徵以充分利用上下文信息來學習特徵。
一些方法還使用現有算法來執行卷積。在PointConv [38]中,卷積定義爲相對於重要性採樣的連續3D卷積的蒙特卡洛估計。卷積核由加權函數(通過MLP層學習)和密度函數(通過核化密度估計和MLP層學習)組成。爲了提高內存和計算效率,將3D卷積進一步簡化爲兩個運算:矩陣乘法和2D卷積。使用相同的參數設置,其內存消耗可減少約64倍。在MCCNN [39]中,卷積被視爲依賴樣本密度函數(由MLP實現)的蒙特卡洛估計過程。然後使用泊松磁盤採樣來構建點雲層次結構。該卷積算子可用於在兩種或多種採樣方法之間執行卷積,並可處理變化的採樣密度。在SpiderCNN [40]中,提出了SpiderConv來定義卷積,將卷積定義爲在k個最近鄰居上定義的階躍函數和泰勒展開式的乘積。階梯函數通過對局部測地距離進行編碼來捕獲粗略的幾何形狀,泰勒展開通過在立方體的頂點處插值任意值來捕獲固有的局部幾何變化。此外,還基於徑向基函數爲3D點雲提出了卷積網絡PCNN [41]。托馬斯等[42]使用一組可學習的核點,爲3D點雲提出了剛性和可變形核點卷積(KPConv)運算符。
已經提出了幾種方法來解決3D卷積網絡面臨的旋轉等變問題。 Esteves等人[43]提出了一種以多值球面函數爲輸入的三維球面卷積神經網絡(spheral CNN)來學習三維形狀的旋轉等變表示。通過在球形諧波域中使用錨點對頻譜進行參數化來獲得局部卷積濾波器。張量場網絡[44]將點卷積運算定義爲可學習的徑向函數和球諧函數的乘積,球諧函數局部等價於點的三維旋轉、平移和置換。[45]中的卷積是基於球面互相關定義的,並使用廣義快速傅里葉變換(FFT)算法實現。基於PCNN,SPHNet [46]通過在體積函數的卷積過程中合併球諧函數內核來實現旋轉不變性。 ConvPoint [47]將卷積核分爲空間和特徵部分。從單位球體中隨機選擇空間部分的位置,並通過簡單的MLP學習加權函數。
爲了加快計算速度,Flex-Convolution [48]將卷積核的權重定義爲k個最近鄰居上的標準標量積,可以使用CUDA對其進行加速。實驗結果證明了它在具有較少參數和較低內存消耗的小型數據集上的競爭性能。
3D離散卷積網絡。 這些方法在常規網格上定義卷積核,其中相鄰點的權重與相對於中心點的偏移量有關。
華等[49]將非均勻的3D點雲轉換爲均勻的網格,並在每個網格上定義了卷積核。與2D卷積不同(向每個像素分配權重),提出的3D內核將相同的權重分配給落入同一網格的所有點。對於給定點,從上一層計算位於同一網格上的所有相鄰點的平均特徵。然後,對所有網格的平均特徵進行加權和求和,以生成當前圖層的輸出。 Lei等[50]通過將3D球形鄰近區域劃分爲多個體積區域並將每個區域與可學習的加權矩陣相關聯來定義球形卷積核。一個點的球形卷積核的輸出由其相鄰點的加權激活值平均值的非線性激活確定。在GeoConv [51]中,一個點及其相鄰點之間的幾何關係是基於六個基礎顯式建模的。沿基礎每個方向的邊緣特徵根據相鄰點的基礎由可學習的矩陣獨立加權。然後根據給定點及其相鄰點形成的角度聚合這些與方向相關的特徵。對於給定點,其當前層的特徵定義爲給定點的特徵及其在上一層的相鄰邊緣特徵的總和。 PointCNN [52]通過χ-conv轉換(通過MLP實現)實現了置換不變性。通過將點特徵插值到相鄰的離散卷積核量座標,Mao等人[53]提出了一個插值卷積算子InterpConv來測量輸入點雲和核重量座標之間的幾何關係。張等[54]提出了一個RIConv算子來實現旋轉不變性,它以低層旋轉不變幾何特徵作爲輸入,然後通過一種簡單的分區方法將卷積變成一維。
A-CNN [55]通過圍繞查詢點每個環上的核大小圍繞鄰居數組循環定義環形卷積。A-CNN學習局部子集中的相鄰點之間的關係。爲了減少3D CNN的計算和存儲成本,Kumawat等人[56]提出了一種基於3D短期傅里葉變換(STFT)的3D局部鄰域中的相位提取整流局部相體積(ReLPV)塊,STFT顯着減少了參數數量。在SFCNN [57]中,將點雲投影到具有對齊球座標的規則二十面體網格上。然後,通過卷積-最大池-卷積結構對從球形晶格的頂點及其相鄰像素連接的特徵進行卷積。 SFCNN抵抗旋轉和擾動。

2.2.3基於圖的網絡

基於圖的網絡將點雲中的每個點視爲圖的頂點,並基於每個點的鄰居爲圖生成有向邊。然後在空間或頻譜域中進行特徵學習[58]。一個典型的基於圖的網絡如圖5所示。
在這裏插入圖片描述
圖5:基於圖的網絡的圖示。
空間域中基於圖的方法。 這些方法在空間域中定義操作(例如,卷積和池化)。具體來說,卷積通常是通過空間鄰域上的MLP來實現的,而池化則是通過聚合每個點鄰域的信息來產生一個新的粗化圖。通常爲每個頂點的特徵分配座標,激光強度或顏色,而通常爲每個邊緣的特徵分配兩個連接點之間的幾何屬性。
作爲開創性的工作,Simonovsky等人[58]將每個點視爲圖的頂點,並通過有向邊將每個頂點連接到其所有鄰居。然後,使用濾波器生成網絡(例如,MLP)提出了邊緣條件卷積(ECC)。採用最大池化來聚集鄰域信息,並基於VoxelGrid [59]算法實現圖粗化。對於形狀分類,卷積核池化時交錯的。然後,根據全局平均池化和全連接層產生分類分數。在DGCNN[60]中,在特徵空間中構造一個圖,並在網絡的每一層之後動態更新。作爲EdgeConv的核心層,採用MLP作爲每個邊緣的特徵學習函數,並對與每個點鄰域相關的邊緣特徵進行信道對稱聚集。此外,LDGCNN[61]移除了變換網絡,並將DGCNN[60]中不同層的分層特徵連接起來,以提高其性能並減小模式大小。本文還提出了一種端到端無監督的深度自編碼網絡(FoldingNet[62]),它使用矢量化的局部協方差矩陣和點座標的級聯作爲輸入。
Hassani等人受Inception [63]和DGCNN [60]的啓發。 [64]提出了一種無監督的多任務自動編碼器來學習點和形狀特徵。 編碼器是基於多尺度圖構造的。 解碼器是使用三個非監督任務構造的,包括聚類,自我監督分類和重構,這些任務與多任務損失一起訓練。 劉等[65]提出了一種基於圖卷積的動態點集聚模塊(DPAM),以將點集聚(採樣,分組和池化)的過程簡化爲一個簡單的步驟,該步驟通過將集聚矩陣與點特徵矩陣相乘來實現。 基於PointNet架構,通過堆疊多個DPAM來構建分層學習架構。與PointNet ++的層次結構策略相比,DPAM在語義空間中動態挖掘點與聚集點之間的關係。
爲了利用局部幾何結構,KCNet [66]學習基於核相關的特徵。 具體而言,將表徵局部結構的幾何類型的一組可學習點定義爲內核。 然後,計算內核與給定點鄰域之間的親和力。 在G3D [67]中,卷積定義爲鄰接矩陣多項式的變體,池化定義爲將Laplacian矩陣和頂點矩陣乘以一個粗化矩陣。 ClusterNet [68]利用嚴格旋轉不變(RRI)模塊提取每個點的旋轉不變特徵,並基於具有監督聯繫標準的無監督聚集層次聚類方法構建點雲的層次結構[69]。 首先通過EdgeConv塊學習每個子集羣中的特徵,然後通過最大池化聚合。
頻譜域中基於圖的方法。 這些方法將卷積定義爲頻譜濾波,這是通過將圖上的信號與圖拉普拉斯矩陣的特徵向量相乘來實現的[70]。
爲了應對高計算量和非局部化的挑戰,Defferrard等人[71]提出了一個截斷的切比雪夫多項式來近似頻譜濾波。他們學習的特徵圖位於每個點的K跳鄰居內。注意,特徵向量是根據[70] [71]中的固定圖拉普拉斯矩陣計算的。相反,RGCNN [72]通過將每個點與點雲中的所有其他點連接來構造圖,並更新每一層中的圖拉普拉斯矩陣。爲了使相鄰頂點的特徵更相似,在損失函數中添加了先驗圖信號平滑度。爲了解決由多樣的數據圖拓撲引起的挑戰,AGCN [73]中的SGC-LL層利用可學習的距離度量來參數化圖上兩個頂點之間的相似度。從圖獲得的鄰接矩陣使用高斯核和學習距離進行歸一化。馮等[74]提出了一個超圖神經網絡(HGNN),並通過在超圖上應用譜卷積來建立一個超邊緣卷積層。
前述方法在全圖上運行。爲了利用局部的結構信息,王等[75]提出了一個端到端的頻譜卷積網絡LocalSpecGCN來處理局部圖(它是由k個最近的鄰居構造而成的)。此方法不需要對圖拉普拉斯矩陣和圖粗化層次進行任何離線計算。在PointGCN [76]中,基於來自點雲的k個最近鄰居構建圖,並使用高斯覈對每個邊進行加權。卷積濾波器在圖譜域中定義爲Chebyshev多項式。全局池化和多分辨率池化用於捕獲點雲的全局和局部特徵。 Pan等[77]通過在譜域中的k個最近鄰圖上應用卷積來提出3DTINet。通過從相對的歐幾里得距離和方向距離中學習,可以實現幾何變換的不變性。

2.2.4基於數據索引的網絡

這些網絡是根據不同的數據索引結構(例如octree和kd-tree)構建的。在這些方法中,點特徵是沿着樹從葉節點到根節點分層學習的。 Lei等[50]提出了一種使用球面卷積核的八叉樹引導的CNN。網絡的每一層都對應於八叉樹的一層,並且在每一層都應用了球形卷積核。當前層中神經元的值確定爲上一層中所有相關子節點的平均值。與基於octree的OctNet [23]不同,Kd-Net [78]是使用多個K-d樹構建的,每個樹在每次迭代時具有不同的分割方向。按照自下而上的方法,使用MLP根據非子節點的子代表示來計算非子節點的表示。根節點的特徵(描述整個點雲)最終被饋送到全連接層以預測分類得分。注意,Kd-Net根據節點的拆分類型在每個級別共享參數。3DContextNet [79]使用標準的平衡K-d樹來實現特徵學習和聚合。在每個級別上,首先通過MLP基於局部提示(該局部提示對局部區域中的點之間的相互依賴性進行建模)和全局上下文提示(其針對一個位置相對於所有其他位置的關係進行建模)來學習點特徵。然後,使用MLP從非子節點的子節點計算其特徵,並通過最大池化對其進行聚合。對於分類,重複上述過程直到獲得根節點。
SO-Net網絡的層次結構是通過執行點到節點k最近鄰居搜索來構建的[80]。具體而言,修改後的置換不變自組織圖(SOM)用於對點雲的空間分佈進行建模。通過一系列全連接層,從歸一化的點到節點座標中學習單個點的特徵。 SOM中每個節點的特徵是使用通道的最大池化從與此節點關聯的點特徵中提取的。然後使用類似於PointNet [5]的方法從節點特徵中學習最終特徵。與PointNet ++ [27]相比,SOM的層次結構效率更高,並且可以充分利用點雲的空間分佈。

2.2.5其他網絡

除上述方法外,還提出了許多其他方案。在3DmFV [82]中,將點雲體素化爲統一的3D網格,並根據在這些網格上定義的一組高斯混合模型的似然性來提取費舍爾向量。由於費舍爾向量的分量在所有點上求和,因此所得表示形式對點雲的順序,結構和大小不變。 RBFNet [86]通過聚集來自稀疏分佈的徑向基函數(RBF)內核的特徵來顯式地建模點的空間分佈。 RBF特徵提取層計算所有內核對每個點的響應,然後對內核位置和內核大小進行優化,以捕獲訓練期間各點的空間分佈。與全連接層相比,RBF特徵提取層可產生更多區分性特徵,同時將參數數量減少幾個數量級。趙等[85]提出了一種無監督的自動編碼器3DPointCapsNet,用於3D點雲的通用表示學習。在編碼器階段,首先將逐點MLP應用於點雲以提取點獨立特徵,然後將其進一步饋送到多個獨立卷積層中。然後,通過串聯多個最大池學習特徵圖來提取全局潛在表示。基於無監督的動態路徑,可以學習強大的代表性潛在膠囊。 Xie等人[81]從形狀上下文描述符的構建中得到啓發[89],提出了一種新穎的ShapeContextNet體系結構,該方法通過將親和點選擇和緊湊的特徵聚合結合在一起,並使用點積自關注[90]進行軟對齊操作。爲了解決3D點雲中的噪聲和遮擋問題,鮑勃科夫等人[91]將基於手工製作的點對函數的4D旋轉不變描述符輸入4D卷積神經網絡。 Prokudin等[92]首先從單位球中隨機採樣具有均勻分佈的基點集,然後將點雲編碼爲到基點集的最小距離,這將點雲轉換爲固定長度相對較小的向量。然後可以使用現有的機器學習方法來處理編碼的表示。RCNet [88]利用標準的RNN和2D CNN構造用於3D點雲處理的置換不變網絡。首先將點雲劃分爲平行波束,並沿特定維度分類,然後將每個波束饋入共享的RNN。所學習的特徵被進一步饋送到有效的2D CNN中以進行分層特徵聚合。爲了增強其描述能力,RCNet-E沿不同分區和排序方向集成多個RCNet。Point2Sequences [87]是另一個基於RNN的模型,可捕獲點雲局部區域中不同區域之間的相關性。它將從多個區域的局部區域中學習的特徵視爲序列,並將來自所有局部區域的這些序列饋送到基於RNN的編碼器-解碼器結構中,以聚合局部區域特徵。秦等[93]提出了一種基於端到端無監督域自適應的網絡PointDAN,用於3D點雲表示。爲了獲取點雲的語義特性,提出了一種自監督的點雲重構方法,該方法對點雲的部分進行了隨機重組[94]。
還提出了幾種方法來從3D點雲和2D圖像中學習。在PVNet [83]中,從多視圖圖像中提取的高級全局特徵通過嵌入網絡投影到點雲的子空間中,並通過軟關注掩模與點雲特徵融合。最後,對融合特徵和多視圖特徵採用殘差連接以執行形狀識別。後來,進一步提出了PVRNet [84],以利用3D點雲及其多個視圖之間的關係,這些關係是通過關係評分模塊學習的。基於關係得分,原始的2D全局視圖特徵得到了增強,可用於點單視圖融合和點多視圖融合。
ModelNet10 / 40數據集是最常用的形狀分類數據集。表1顯示了通過不同的基於點的網絡獲得的結果。可以得出以下幾點結論:
在這裏插入圖片描述

  • 逐點MLP網絡通常用作其他類型的網絡的基本構建塊,以學習逐點特徵。
  • 作爲標準的深度學習架構,基於卷積的網絡可以在不規則的3D點雲上實現出色的性能。對於不規則數據,應該更加註意離散卷積網絡和連續卷積網絡。
  • 由於其固有的強大能力來處理不規則數據,基於圖形的網絡近年來引起了越來越多的關注。但是,將頻譜域中的基於圖的網絡擴展到各種圖結構仍然具有挑戰性。
  • 大多數網絡需要將點雲降採樣爲固定的小尺寸。此採樣過程將丟棄形狀的詳細信息。 開發可以處理大規模點雲的網絡仍處於起步階段[95]。

請各位關注公衆號。更多的文章可以關注公衆號查看。

在這裏插入圖片描述

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