原文地址:https://arxiv.org/abs/1912.12033
文獻更新地址:https://github.com/QingyongHu/SoTA-Point-Cloud
作者主頁:http://yulanguo.me/
摘要
近年來,因點雲學習在許多領域的廣泛應用而越來越引起人們的關注,如計算機視覺、自動駕駛和機器人等領域。作為人工智能領域的主要技術,深度學習已經成功用於解決各種二維視覺問題。然而,由於通過深吧 度神經網絡處理點雲的過程中面臨的獨特挑戰,點雲上的深度學習仍處於起步階段。近來,點雲上的深度學習更加蓬勃發展,眾多的方法正在提出解決這一領域的不同問題。為了激勵未來的研究,本文對點雲深度學習方法的最新進展進行了全面綜述。它涵蓋了三大任務,包括3D形狀分類、3D物體檢測和跟蹤,以及3D點雲分割。它還介紹了幾個公開數據集的比較結果。以及深刻的觀察和啟發未來的研究方向。
索引術語: 深度學習,點雲,3D數據,形狀分類,形狀檢索,對象檢測,對象跟蹤,場景流。
(為什么興起?一是硬件設備采集設備性能更好了;二是3D數據因為多了一個維度包含更多的信息;三是深度學習技術可以在無序的3D數據上施展手腳了)
1、引言:
隨着3D采集技術的快速發展,3D傳感器越來越多且價格實惠,包括各種類型的3D掃描儀、激光雷達和RGB-D攝像機(如Kinect、RealSense和RealSense、蘋果深度相機)[1]。這些傳感器獲取的3D數據可以提供豐富的幾何、形狀和比例信息[2][3]。 與二維圖像相輔相成,三維數據提供了一個以更好地了解機器周圍的環境的機會。三維數據有很多應用在不同領域,包括自動駕駛、機器人、遙感、醫療等領域[4]。三維數據通常可以用不同的格式來表示。包括深度圖像、點雲、網格和體積網格。作為一種常用的格式,點雲保留了原始的幾何信息在三維空間中,不需要任何離散化。因此,它是許多場景理解相關的首選表示方法,例如自動駕駛和機器人等應用。最近,深度學習技術有許多主導的研究領域例如:計算機視覺、語音識別和自然語言處理等研究領域。然而,深度學習在3D點雲上仍然面臨着一些重大的挑戰[5],如數據集規模小、維度高和3D點雲的非結構化性質。在此的基礎上,本文重點分析了深度學習中的的方法,這些方法已被用於處理3D點雲。
點雲上的深度學習一直吸引着更多的和更多的關注,特別是在過去五年。一些公開的數據集也被發布,如ModelNet [6], ScanObjectNN [7], ShapeNet [8], PartNet [9],S3DIS [10], ScanNet [11], Semantic3D [12], ApolloCar3D[13], and the KITTI Vision Benchmark Suite [14], [15]。這些數據集進一步推動了深度學習在三維點雲上的研究。隨着越來越多的方法擬解決與點雲處理有關的各種問題,包括3D形狀分類、3D物體檢測和跟蹤、3D點雲分割、3D點雲對准、6-DOF姿態估計和3D重建[16],[17],[18]。很少有關於三維數據的深度學習的調查研究可以得到,如[19]、[20]、[21]、[22]。然而,我們的論文是第一篇專門關注於點雲理解的深度學習方法。現有的3D點雲的深度學習方法的分類如圖1所示:
與現有的文獻相比,這項工作的主要貢獻被總結如下:
1) 第一篇全面涵蓋幾個重要點雲相關任務的深度學習方法的調查論文,包括三維形狀分類、三維目標檢測和跟蹤以及三維點雲分割。
2) 相對於現有的綜述[19]、[20],我們特別專注於3D點雲的深度學習方法而不是所有類型的3D數據。
3) 本文涵蓋了點雲上深度學習的最新的和最先進的進展。因此,它為讀者提供了最先進的方法。
4) 現有方法在幾個公開的數據集上的綜合比較是被提供(如表2、3、4、5),並附有簡短的摘要和有見地的討論說明。
本文的結構如下。第二節介紹了對應任務的數據集和評估指標。第3節回顧了3D形狀分類。第4節提供了對現有3D物體檢測和跟蹤的方法。第五節介紹了點雲分割的方法綜述。包括語義分割、實例分割和部件分割。最后,第6節總結了該文。我們還提供了一個定期更新的項目頁面:https://github.com/QingyongHu/SoTA-Point-Cloud.
2、背景
2.1 數據集
已經收集了大量的數據集,以便評估深度學習算法在不同的3D點雲應用的性能。表1列出了一些典型的數據集用於三維形狀分類、三維對象檢測和跟蹤,以及三維點雲分割。尤其是,還總結了這些數據集的屬性。
對於三維形狀分類,有兩種類型的數據集:合成數據集[6]、[8]和現實世界的數據集。[7], [11]. 合成數據集中的對象是完整的,沒有任何遮擋和背景。相反,物體在現實世界的數據集中,在不同的層次上被遮擋住了和一些物體被背景噪音污染。
對於三維物體的檢測和跟蹤,有兩種類型的數據集:室內場景[11]、[25]和戶外城市場景[14]、[28]、[30]、[31]。室內的點雲數據集是由密集的深度圖轉換而來,或者是從三維網格中采樣而來。戶外城市數據集是為自動駕駛而設計,其中物體在空間上是分離良好的,這些點雲是稀疏的。
對於3D點雲分割,這些數據集的獲取方式是通過不同類型的傳感器,包括移動激光掃描儀(MLS)[15], [34], [36], 航空激光掃描儀(ALS)[33]、[38]、靜態地面激光掃描儀(TLS)[12]、RGBD攝像機[11]和其他3D掃描儀[10]。這些數據集可用於開發應對各種挑戰的算法,包括類似的干擾因素、形狀不完整和類別不平衡。
2.2評價指標
有人提出了不同的評價指標來測試這些用於各種點雲理解任務的方法。對於三維形狀分類,總體准確度(OA)和平均類別准確率(mAcc)是最常用的性能。標准。'OA'代表所有測試實例的平均准確度。而'mAcc'代表的是所有形狀類的平均准確率。對於三維物體檢測,平均精度(AP)是最常用的標准。它的計算方法是精度-召回曲線下的面積。精度和成功率通常用於評估三維單物體跟蹤器的整體性能。平均多物體跟蹤准確率(AMOTA)和平均多目標跟蹤精度(AMOTP)是3D多物體跟蹤評估的最常用的標准。對於三維點雲分分割、OA、平均交叉點單元(mIoU)和平均類別精度(mAcc)[10]、[12]、[15]、[36]、[37]為最常用的績效評估標准。尤其是,平均准確率精度(mAP)[39]也被用於3D點雲的實例分割。
3、3D形狀分類
這個任務的方法通常是學習每個點的嵌入,然后使用聚合方法從整個點雲中提取全局形狀嵌入,最終由幾個全連接層來實現分類。根據神經網絡輸入的數據類型,現有的3D形狀分類方法可分為多視圖的、基於體積的和基於點的方法。一些里程碑方法如圖2所示。
基於多視角的方法將一個非結構化的點雲投影到二維圖像,而基於體積的方法將點雲轉換為三維體積表示。然后,成熟的二維或三維卷積網絡被用於利用來實現形狀分類。相比之下,基於點的方法直接在原始點雲上工作,不需要任何體素化或投影;基於點的方法不會引起明顯的信息丟失,並且越來越受歡迎。 請注意,本文主要關注基於點的方法,但也包含少許基於多視圖和基於體積的完整性方法。
3.1基於多視圖的方法
這些方法首先將3D形狀投影到多個視圖中並提取視圖功能,然后融合這些功能用於精確的形狀分類。如何匯總多個視圖特征轉化為可區分的全局表示這些方法面臨的主要挑戰。
MVCNN [40]是一項開創性的工作,它只是maxpools將多視圖功能轉換為全局描述符。然而,max-pooling僅保留來自具體的觀點,造成信息流失。 MHBN [41]通過協調雙線性整合局部卷積特征合並以生成緊湊的全局描述符。楊等。 [42]首先利用關系網絡來開發相互關系(例如區域與區域之間的關系以及視圖-視圖關系)匯總這些視圖以獲得有區別的3D對象表示。此外,還有其他幾種方法[43],[44],[45],[46]也被提出來提高識別度准確性。與以前的方法不同,Wei等人[47]通過考慮多個因素在View-GCN中使用了有向圖視圖作為grpah節點。局部的核心層組成圖卷積,非本地消息傳遞和選擇性然后將視圖采樣應用於構造的圖。所有級別的最大池節點特征的串聯是最終用於形成全局形狀描述符。
注意:Multi-View的方法有以下幾個特點:
1。理解簡單,就是將點雲投影到不同的view
2。網絡結構已有,投影到2D平面之后,就可以用處理圖像的CNN處理
3。精度高:RotationNet已有體現
4。處理速度慢:要處理多幅圖像
5。對於一般場景不適用:因為要獲取multi-view,例如智能車場景,就不可能獲取多個view的投影
3.2基於體素的方法
這些方法通常會將點雲體素化為3D網格,然后應用3D卷積神經網絡(CNN)
在體素表示中進行形狀分類。Maturana等[48]引入了稱為VoxNet的體積占用網絡,可實現強大的3D對象識別。Wu等 [6]提出了基於卷積的深層信念3DShapeNets,可從中學習各種3D形狀中點的分布(以概率表示二元變量在體素網格上的分布)。 雖然這些方法已取得令人鼓舞的表現,但是這些方法無法將其很好地縮放到密集的3D數據,因為計算和內存占用量隨着分辨率的增加而三次增長。
為此,采用了層次分明的緊湊結構(例如八叉樹),以減少計算量和這些方法的存儲成本。OctNet [49]首先分層使用混合網格八叉樹結構分割點雲結構,它代表了具有幾個淺層的沿着規則網格的八叉樹的場景。八叉樹的結構是使用位字符串表示有效地編碼,並且通過簡單的算術索引每個體素的特征向量。Wang等 [50]提出了基於Octree的3D CNN形狀分類。 在最細的葉子八分位數中采樣的3D模型的平均法線向量被饋送到網絡中,並將3D-CNN應用於3D形狀表面所占據的八分位數。與基於密集輸入網格的基准網絡相比,OctNet對於高分辨率點雲所需的內存和運行時間要少得多。 Le等[51]提出了一種稱為PointGrid的混合網絡,該網絡集成了點和網格表示,以進行有效的點雲處理。在每個嵌入的體素網格單元中采樣恆定數量的點,這使網絡可以使用3D卷積提取幾何細節。Ben-Shabat等 [52] 把點雲輸入轉換到3D網格中,通過3D修改的Fisher向量(3DmFV)方法進一步表示,然后通過常規的CNN體系結構學習全局表示。
注意:Voxel的有以下特點:
(1)理解容易,就是柵格化然后使用3D或者2D卷積
(2)速度慢,占用內存大:內存占用和計算量都是與分辨率的立方有關
(3)在體素化的過程中容易丟失信息,分辨率(精度)與計算效率的trade-off明顯
3.3基於點的方法
根據用於每個點的特征學習的網絡體系結構,可以將這一類的方法分為逐點MLP,基於卷積,基於圖,基於數據索引的網絡和其他典型網絡。
3.3.1 點對多層感知機方法
這些方法用幾個共享的多層感知器(MLP)對每個點獨立的建模,然后使用對稱函數聚合全局特征,如圖3所示。這些網絡可以實現無序3D點雲的置換不變性。但是,沒有完全考慮3D點之間的幾何關系。
由於其簡單性和強大的表示能力,已經基於PointNet [5]開發了許多網絡。Mo-Net [55]的體系結構與PointNet [5]相似,但是它需要一組有限的矩作為其網絡的輸入。在點注意力變換(PATs)[56]中,每個點都由其自身的絕對位置和相對於其鄰居的相對位置表示,通過多層感知器學習高維特征。然后,使用組混洗注意力(GSA)來捕獲點之間的關系,並開發了置換不變、可區分且可訓練的端到端Gumbel子集采樣(GSS)層來學習分層特征。 PointWeb [57]也是基於PointNet ++[54]構建的,它使用局部鄰域的上下文來使用自適應特征調整(AFA)來改進點特征。Duan等 [58]提出了一種結構關系網絡(SRN)來學習使用MLP的不同局部結構之間的結構關系特征。 Lin等[59]通過為PointNet所學習的輸入和函數空間構造查找表來加速推理過程。在中等機器上,與PointNet相比,ModelNet和ShapeNet數據集上的推理時間縮短了1.5毫秒和32倍。 SRINet [60]首先投影一個點雲以獲得旋轉不變表示,然后利用基於PointNet的主干來提取全局特征,並利用基於圖的聚合來提取局部特征。在PointASNL中,Yan等人[61]利用自適應采樣(AS)模塊來自適應地調整最遠點采樣(FPS)算法所采樣點的坐標和特征,並提出了一種局部非局部(L-NL)模塊來捕獲這些采樣點局部和遠距離的依賴性。
3.3.2基於卷積的方法
與2D卷積相比,由於點雲的不規則性,3D點雲的卷積核更難設置。根據卷積核的不同,目前的3D卷積網絡可以被分為連續卷積網絡(continuous convolution networks )和離散卷積網絡(discrete convolution networks),如下圖所示。
3.3.2.1 3D連續卷積網絡
這類方法在連續的空間中定義卷積核,其中鄰居點的權重與它和中心點的空間分布有關。
3D卷積可以解釋為給定子集的加權和。 MLP是學習權重的一種簡單方法。 RS-Conv作為RS-CNN[62]的核心層,以某一點周圍的局部子集作為輸入,通過學習局部子集中的低層關系(如歐幾里德距離和相對位置)到高層關系的映射,利用MLP實現卷積。 在[63]中,內核元素是在單位球體內隨機選擇的。 然后使用基於MLP的連續函數在內核元素的位置和點雲之間建立關系。 在DensePoint [64]中,卷積定義為具有非線性激活器的單層感知器(SLP)。 通過串聯所有先前層的特征以充分利用上下文信息來學習特征。Thomas等 [65] 使用一組可學習的內核點提出了剛性和可變內核點卷積(KPConv)運算符處理3D點雲。 ConvPoint [66]將卷積核分為空間和特征部分。空間部分的位置是從單位球體中隨機選擇的,加權函數是通過一個簡單的MLP學習。
一些方法還使用現有算法來執行卷積。在PointConv [67]中,卷積定義為相對於重要性采樣的連續3D卷積的蒙特卡洛估計。卷積核由加權函數(通過MLP層學習)和密度函數(通過核化密度估計和MLP層學習)組成。為了提高內存和計算效率,將3D卷積進一步簡化為兩個運算:矩陣乘法和2D卷積。使用相同的參數設置,其內存消耗可減少約64倍。在MCCNN [68]中,卷積被視為依賴樣本密度函數(由MLP實現)的蒙特卡洛估計過程。然后使用泊松磁盤采樣來構建點雲層次結構。該卷積算子可用於在兩種或多種采樣方法之間執行卷積,並可處理變化的采樣密度。在SpiderCNN [69]中,提出了SpiderConv來定義卷積,將卷積定義為在k個最近鄰居上定義的階躍函數和泰勒展開式的乘積。階梯函數通過對局部測地距離進行編碼來捕獲粗略的幾何形狀,泰勒展開通過在立方體的頂點處插值任意值來捕獲固有的局部幾何變化。此外,還基於徑向基函數為3D點雲提出了卷積網絡PCNN [70]。
已經提出了幾種方法來解決3D卷積網絡面臨的旋轉等變問題。 Esteves等人[71]提出了一種以多值球面函數為輸入的三維球面卷積神經網絡(spheral CNN)來學習三維形狀的旋轉等變表示。通過在球形諧波域中使用錨點對頻譜進行參數化來獲得局部卷積濾波器。張量場網絡[72]將點卷積運算定義為可學習的徑向函數和球諧函數的乘積,球諧函數局部等價於點的三維旋轉、平移和置換。[73]中的卷積是基於球面互相關定義的,並使用廣義快速傅里葉變換(FFT)算法實現。基於PCNN,SPHNet [74]通過在體積函數的卷積過程中合並球諧函數內核來實現旋轉不變性。
為了加快計算速度,Flex-Convolution [75]將卷積核的權重定義為k個最近鄰居上的標准標量積,可以使用CUDA對其進行加速。實驗結果證明了它在具有較少參數和較低內存消耗的小型數據集上的競爭性能。
3.3.2.2 3D離散卷積網絡
這些方法在常規網格上定義卷積核,其中相鄰點的權重與相對於中心點的偏移量有關。
Hua等[76]將非均勻的3D點雲轉換為均勻的網格,並在每個網格上定義了卷積核。與2D卷積不同(向每個像素分配權重),提出的3D內核將相同的權重分配給落入同一網格的所有點。對於給定點,從上一層計算位於同一網格上的所有相鄰點的平均特征。然后,對所有網格的平均特征進行加權和求和,以生成當前圖層的輸出。 Lei等[77]通過將3D球形鄰近區域划分為多個體積區域並將每個區域與可學習的加權矩陣相關聯來定義球形卷積核。一個點的球形卷積核的輸出由其相鄰點的加權激活值平均值的非線性激活確定。在GeoConv [78]中,一個點及其相鄰點之間的幾何關系是基於六個基礎顯式建模的。沿基礎每個方向的邊緣特征根據相鄰點的基礎由可學習的矩陣獨立加權。然后根據給定點及其相鄰點形成的角度聚合這些與方向相關的特征。對於給定點,其當前層的特征定義為給定點的特征及其在上一層的相鄰邊緣特征的總和。
PointCNN [79]通過χ-conv轉換(通過MLP實現)實現了置換不變性。通過將點特征插值到相鄰的離散卷積核量坐標,Mao等人[80]提出了一個插值卷積算子InterpConv來測量輸入點雲和核重量坐標之間的幾何關系。Zhang等[81]提出了一個RIConv算子來實現旋轉不變性,它以低層旋轉不變幾何特征作為輸入,然后通過一種簡單的分區方法將卷積變成一維。A-CNN [82]通過圍繞查詢點每個環上的核大小圍繞鄰居數組循環定義環形卷積。A-CNN學習局部子集中的相鄰點之間的關系。
為了減少3D CNN的計算和存儲成本,Kumawat等人[83]提出了一種基於3D短期傅里葉變換(STFT)的3D局部鄰域中的相位提取整流局部相體積(ReLPV)塊,STFT顯着減少了參數數量。在SFCNN [84]中,將點雲投影到具有對齊球坐標的規則二十面體網格上。然后,通過卷積-最大池-卷積結構對從球形晶格的頂點及其相鄰像素連接的特征進行卷積。 SFCNN抵抗旋轉和擾動。
3.3.3基於圖的方法
基於圖的網絡將點雲中的每個點視為圖的頂點,並基於每個點的鄰居為圖生成有向邊。然后在空間或頻譜域中進行特征學習[58]。一個典型的基於圖的網絡如圖5所示。
3.3.3.1 空間域中的基於圖的方法
這些方法在空間域中定義操作(例如,卷積和池化)。具體來說,卷積通常是通過空間鄰域上的MLP來實現的,而池化則是通過聚合每個點鄰域的信息來產生一個新的粗化圖。通常為每個頂點的特征分配坐標,激光強度或顏色,而通常為每個邊緣的特征分配兩個連接點之間的幾何屬性。
這些方法在空間域中定義操作(例如,卷積和池化)。具體來說,卷積通常是通過空間鄰域上的MLP來實現的,而池化則是通過聚合每個點鄰域的信息來產生一個新的粗化圖。通常為每個頂點的特征分配坐標,激光強度或顏色,而通常為每個邊緣的特征分配兩個連接點之間的幾何屬性。
作為開創性的工作,Simonovsky等人[85]將每個點視為圖的頂點,並通過有向邊將每個頂點連接到其所有鄰居。然后,使用濾波器生成網絡(例如,MLP)提出了邊緣條件卷積(ECC)。采用最大池化來聚集鄰域信息,並基於VoxelGrid [86]算法實現圖粗化。對於形狀分類,卷積核池化時交錯的。然后,根據全局平均池化和全連接層產生分類分數。在DGCNN[87]中,在特征空間中構造一個圖,並在網絡的每一層之后動態更新。作為EdgeConv的核心層,采用MLP作為每個邊緣的特征學習函數,並對與每個點鄰域相關的邊緣特征進行信道對稱聚集。此外,LDGCNN[88]移除了變換網絡,並將DGCNN[87]中不同層的分層特征連接起來,以提高其性能並減小模式大小。本文還提出了一種端到端無監督的深度自編碼網絡(FoldingNet[89]),它使用矢量化的局部協方差矩陣和點坐標的級聯作為輸入。
Hassani等人受Inception [90]和DGCNN [87]的啟發。 [91]提出了一種無監督的多任務自動編碼器來學習點和形狀特征。 編碼器是基於多尺度圖構造的。 解碼器是使用三個非監督任務構造的,包括聚類,自我監督分類和重構,這些任務與多任務損失一起訓練。 劉等[92]提出了一種基於圖卷積的動態點集聚模塊(DPAM),以將點集聚(采樣,分組和池化)的過程簡化為一個簡單的步驟,該步驟通過將集聚矩陣與點特征矩陣相乘來實現。 基於PointNet架構,通過堆疊多個DPAM來構建分層學習架構。與PointNet ++[54]的層次結構策略相比,DPAM在語義空間中動態挖掘點與聚集點之間的關系。
為了利用局部幾何結構,KCNet [93]學習基於核相關的特征。 具體而言,將表征局部結構的幾何類型的一組可學習點定義為內核。 然后,計算內核與給定點鄰域之間的親和力。 在G3D [94]中,卷積定義為鄰接矩陣多項式的變體,池化定義為將Laplacian矩陣和頂點矩陣乘以一個粗化矩陣。 ClusterNet [95]利用嚴格旋轉不變(RRI)模塊提取每個點的旋轉不變特征,並基於具有監督聯系標准的無監督聚集層次聚類方法構建點雲的層次結構[96]。 首先通過EdgeConv塊學習每個子集群中的特征,然后通過最大池化聚合。
為了解決當前數據結構化方法的耗時問題(例如FPS和鄰居點查詢),徐等[97]建議融合基於體積和基於點的方法的優勢,改進計算效率。 在ModelNet上進行實驗分類任務證明了提出的Grid-GCN網絡的計算效率比其他型號平均快5倍。
3.3.3.2 譜域中的基於圖的方法
這些方法將卷積定義為頻譜濾波,這是通過將圖上的信號與圖拉普拉斯矩陣的特征向量相乘來實現的[98][99]。
RGCNN [100]通過將每個點與點雲中的所有其他點連接來構造圖,並更新每一層中的圖拉普拉斯矩陣。為了使相鄰頂點的特征更相似,在損失函數中添加了先驗圖信號平滑度。為了解決由多樣的數據圖拓撲引起的挑戰,AGCN [101]中的SGC-LL層利用可學習的距離度量來參數化圖上兩個頂點之間的相似度。從圖獲得的鄰接矩陣使用高斯核和學習距離進行歸一化。馮等[102]提出了一個超圖神經網絡(HGNN),並通過在超圖上應用譜卷積來建立一個超邊緣卷積層。
前述方法在全圖上運行。為了利用局部的結構信息,王等[103]提出了一個端到端的頻譜卷積網絡LocalSpecGCN來處理局部圖(它是由k個最近的鄰居構造而成的)。此方法不需要對圖拉普拉斯矩陣和圖粗化層次進行任何離線計算。在PointGCN [104]中,基於來自點雲的k個最近鄰居構建圖,並使用高斯核對每個邊進行加權。卷積濾波器在圖譜域中定義為Chebyshev多項式。全局池化和多分辨率池化用於捕獲點雲的全局和局部特征。 Pan等[105]通過在譜域中的k個最近鄰圖上應用卷積來提出3DTINet。通過從相對的歐幾里得距離和方向距離中學習,可以實現幾何變換的不變性。
3.3.4基於層級數據結構的方法
這些網絡是根據不同的數據索引結構(例如octree和kd-tree)構建的。在這些方法中,點特征是沿着樹從葉節點到根節點分層學習的。
Lei等[77]提出了一種使用球面卷積核的八叉樹引導的CNN。網絡的每一層都對應於八叉樹的一層,並且在每一層都應用了球形卷積核。當前層中神經元的值確定為上一層中所有相關子節點的平均值。與基於octree的OctNet [49]不同,Kd-Net [106]是使用多個K-d樹構建的,每個樹在每次迭代時具有不同的分割方向。按照自下而上的方法,使用MLP根據非子節點的子代表示來計算非子節點的表示。根節點的特征(描述整個點雲)最終被饋送到全連接層以預測分類得分。注意,Kd-Net根據節點的拆分類型在每個級別共享參數。3DContextNet [107]使用標准的平衡K-d樹來實現特征學習和聚合。在每個級別上,首先通過MLP基於局部提示(該局部提示對局部區域中的點之間的相互依賴性進行建模)和全局上下文提示(其針對一個位置相對於所有其他位置的關系進行建模)來學習點特征。然后,使用MLP從非子節點的子節點計算其特征,並通過最大池化對其進行聚合。對於分類,重復上述過程直到獲得根節點。
SO-Net網絡的層次結構是通過執行點到節點k最近鄰居搜索來構建的[108]。具體而言,修改后的置換不變自組織圖(SOM)用於對點雲的空間分布進行建模。通過一系列全連接層,從歸一化的點到節點坐標中學習單個點的特征。 SOM中每個節點的特征是使用通道的最大池化從與此節點關聯的點特征中提取的。然后使用類似於PointNet [5]的方法從節點特征中學習最終特征。與PointNet ++ [54]相比,SOM的層次結構效率更高,並且可以充分利用點雲的空間分布。
3.3.5其他方法
除上述方法外,還提出了許多其他方案。 RBFNet [113]通過聚集來自稀疏分布的徑向基函數(RBF)內核的特征來顯式地建模點的空間分布。 RBF特征提取層計算所有內核對每個點的響應,然后對內核位置和內核大小進行優化,以捕獲訓練期間各點的空間分布。與全連接層相比,RBF特征提取層可產生更多區分性特征,同時將參數數量減少幾個數量級。趙等[112]提出了一種無監督的自動編碼器3DPointCapsNet,用於3D點雲的通用表示學習。在編碼器階段,首先將逐點MLP應用於點雲以提取點獨立特征,然后將其進一步饋送到多個獨立卷積層中。然后,通過串聯多個最大池學習特征圖來提取全局潛在表示。基於無監督的動態路徑,可以學習強大的代表性潛在膠囊。Qin等[116]提出了一種基於端到端無監督域自適應的網絡PointDAN,用於3D點雲表示。為了獲取點雲的語義特性,提出了一種自監督的點雲重構方法,該方法對點雲的部分進行了隨機重組[117]。Li等[118]提出了一種自動增強框架PointAugment,在網絡訓練時,自動優化和擴充點雲樣本。具體來說,是每個輸入樣本自動學習按形狀進行變換和按點進行變換,網絡也可以通過優化和更新增強器和分類器的學習參數進行訓練。Xie等人[109]從形狀上下文描述符的構建中得到啟發[119],提出了一種新穎的ShapeContextNet體系結構,該方法通過將親和點選擇和緊湊的特征聚合結合在一起,並使用點積自注意力[120]進行軟對齊操作。為了解決3D點雲中的噪聲和遮擋問題,Bobkov等人[121]將基於手工制作的點對函數的4D旋轉不變描述符輸入4D卷積神經網絡。 Prokudin等[122]首先從單位球中隨機采樣具有均勻分布的基點集,然后將點雲編碼為到基點集的最小距離,這將點雲轉換為固定長度相對較小的向量。然后可以使用現有的機器學習方法來處理編碼的表示。
RCNet [115]利用標准的RNN和2D CNN構造用於3D點雲處理的置換不變網絡。首先將點雲划分為平行波束,並沿特定維度分類,然后將每個波束饋入共享的RNN。所學習的特征被進一步饋送到有效的2D CNN中以進行分層特征聚合。為了增強其描述能力,RCNet-E沿不同分區和排序方向集成多個RCNet。Point2Sequences [114]是另一個基於RNN的模型,可捕獲點雲局部區域中不同區域之間的相關性。它將從多個區域的局部區域中學習的特征視為序列,並將來自所有局部區域的這些序列饋送到基於RNN的編碼器-解碼器結構中,以聚合局部區域特征。
還提出了幾種方法來從3D點雲和2D圖像中學習。在PVNet [110]中,從多視圖圖像中提取的高級全局特征通過嵌入網絡投影到點雲的子空間中,並通過軟關注掩模與點雲特征融合。最后,對融合特征和多視圖特征采用殘差連接以執行形狀識別。后來,進一步提出了PVRNet [111],以利用3D點雲及其多個視圖之間的關系,這些關系是通過關系評分模塊學習的。基於關系得分,原始的2D全局視圖特征得到了增強,可用於點單視圖融合和點多視圖融合。
3.4總結
ModelNet10 / 40數據集是最常用的形狀分類數據集。表2顯示了通過不同的基於點的網絡獲得的結果。可以得出以下幾點結論:
(1)逐點MLP網絡通常用作其他類型的網絡的基本構建塊,以學習逐點特征。
(2)作為標准的深度學習架構,基於卷積的網絡可以在不規則的3D點雲上實現出色的性能。對於不規則數據,應該更加注意離散卷積網絡和連續卷積網絡。
(3)由於其固有的強大能力來處理不規則數據,基於圖形的網絡近年來引起了越來越多的關注。但是,將頻譜域中的基於圖的網絡擴展到各種圖結構仍然具有挑戰性。
(4)大多數網絡需要將點雲降采樣為固定的小尺寸。此采樣過程將丟棄形狀的詳細信息。 開發可以處理大規模點雲的網絡仍處於起步階段。
參考資料:
https://blog.csdn.net/john_bh/article/details/103804177?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.channel_param
https://blog.csdn.net/taifengzikai/article/details/104153717?utm_medium=distribute.pc_relevant.none-task-blog-title-5&spm=1001.2101.3001.4242
https://blog.csdn.net/wqwqqwqw1231/article/details/104206664?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.channel_param
https://blog.csdn.net/tomy2426214836/article/details/106975196/?utm_medium=distribute.pc_relevant.none-task-blog-title-5&spm=1001.2101.3001.4242
http://vlambda.com/wz_wzQEb5y08m.html