三维点云语义分割总览
點云PCL免費知識星球,點云論文速讀。
標題:三維點云語義分割總覽
作者:吉祥街
歡迎各位加入免費知識星球,獲取PDF文檔,歡迎轉發朋友圈,分享快樂。
希望有更多的小伙伴能夠加入我們,一起開啟論文閱讀,相互分享的微信群。參與和分享的方式:dianyunpcl@163.com
3D點云語義分割任務
三維點云分割既需要了解全局幾何結構,又需要了解每個點的細粒度細節。根據分割粒度的不同,三維點云分割方法可以分為三類:語義分割(場景級)、實例分割(對象級)和部分分割(部分級)。
對于給定的點云,語義分割的目標是根據點的語義意義將其劃分為多個子集。與三維形狀分類的分類方法類似(第3節),語義分割有四種范式:基于投影的方法、基于離散的方法、基于點的方法和混合方法。投影和離散的方法的第一步是將點云一個中間正則表示,如多視點[181],[182],球形[183],[184],[185],[166],[186],[187],然后中間分割結果被投影回原始點云。相反,基于點的方法直接工作在不規則的點云上。幾種典型的方法如圖10所示。
01
基于投影的方法
這些方法通常將三維點云投影到二維圖像中,包括多視圖和球形圖像。總體而言,多視圖分割方法的性能對視點選擇和遮擋非常敏感。并且這些方法沒有充分利用底層的幾何和結構信息,因此投影步驟不可避免地會引入信息損失。與單視圖投影相比,球面投影保留了更多的信息,適合于激光雷達點云的標注。但是,此中間表示法不可避免地會帶來離散化、誤差和遮擋等問題.
多視圖表示
Lawin等人的研究成果。[181]首先將3D點云從多個虛擬相機視圖投影到2D平面。然后,使用多流FCN對合成圖像進行像素級分數預測。通過融合不同視圖上的重新投影分數來獲得每個點的最終語義標簽。
Boulch等人。[182]首先使用多個相機位置生成點云的多個RGB和深度快照。然后,他們使用2D分割網絡對這些快照進行像素級標記。使用殘差校正進一步融合從RGB和深度圖像預測的分數[192]。
基于點云是從局部歐幾里得曲面采樣的假設,Tatarchenko等人。[193]引入了用于密集點云分割的切線卷積。此方法首先將每個點周圍的局部曲面幾何體投影到虛擬切線平面。然后直接在曲面幾何體上操作切線卷積。該方法具有很強的可擴展性,能夠處理幾百萬個點的大規模點云。
球形表示(球面投影)
為了實現三維點云的快速準確分割,Wu等人提出了一種新的分割方法。[183]提出了一種基于SqueezeNet[194]和條件隨機場(CRF)的端到端網絡。
為了進一步提高分割精度,引入了SqueezeSegV2[184],通過使用無監督的域自適應流水線來解決域偏移問題。
Milioto等人。[185]提出了基于RangeNet++的激光雷達點云實時語義分割方法。首先將二維深度圖像的語義標簽轉換為三維點云,然后采用一種高效的基于KNN的后處理步驟來緩解離散化誤差和推理輸出模糊的問題。
02
基于離散化的方法(Discretization-based Methods)
這些方法通常將點云轉換為稠密/稀疏的離散表示,如體積晶格和稀疏透面體格。總體而言,密集化的體積表示天然保留了三維點云的鄰域結構。其常規數據格式還允許直接應用標準3D卷積。這些因素導致了這一領域的性能穩步提高。然而,體素化步驟固有地引入了離散化偽影和信息丟失。通常,高分辨率會導致較高的內存和計算成本,而較低的分辨率會導致細節丟失。在實踐中,選擇合適的網格分辨率并不是一件容易的事。體積表示是稀疏的,因為非零值的數量只占很小的比例,,因此,在空間稀疏數據上應用密集卷積神經網絡效率并不高。
密集的離散化表示
早期的方法通常將點云體素化為密集的網格,然后利用標準的3D卷積。黃等人[195]首先將點云劃分為一組占用體素,然后將這些中間數據饋送到全3D-CNN進行體素分割。最后,為體素內的所有點分配與體素相同的語義標簽。該方法的性能受到體素粒度和點云分割引起的邊界偽影的嚴重限制。
Tchapmi et al.。[196]提出SEGCloud實現細粒度、全局一致的語義分割。該方法引入確定性的三線性插值,將3D-FCNN[197]生成的粗體素預測映射回點云,然后使用完全連通CRF(FCCRF)來強制這些推斷的每個點標簽的空間一致性。
孟等人。[186]提出了一種基于核的插值變分自動編碼器結構,對每個體素內部的局部幾何結構進行編碼。代替二進制占用表示,對每個體素使用RBF來獲得連續的表示并捕捉每個體素中的點的分布。VAE進一步用于將每個體素內的點分布映射到緊湊的潛在空間。然后,使用對稱群和等價CNN來實現魯棒的特征學習。
由于3D-CNN良好的可擴展性,基于體積的網絡可以在不同空間大小的點云上自由訓練和測試。在全卷積點網絡(FCPN)[187]中,首先從點云中分層提取不同層次的幾何關系,然后使用3D卷積和加權平均來提取特征及合并遠程依賴關系。該方法可以處理大規模的點云數據,并且在推理過程中具有良好的可擴展性。
戴等人。[198]提出ScanComplete來實現3D掃描來進行逐體素語義標注。該方法利用了全卷積神經網絡的可擴展性,在訓練和測試過程中可以適應不同的輸入數據量。采用由粗到精的策略分層提高預測結果的分辨率。
稀疏的離散化表示
Graham et al.[166]提出了基于索引結構的子流形稀疏卷積網絡。該方法通過將卷積的輸出限制為僅與占用的體素相關,從而顯著降低了存儲和計算成本。同時,它的稀疏卷積還可以控制提取的特征的稀疏性。此子流形稀疏卷積適用于高維和空間稀疏數據的有效處理。
Choy et al.。[199]提出了一種用于3D視頻感知的4D時空卷積神經網絡Minkowski Net。為了有效地處理高維數據,提出了一種廣義稀疏卷積算法。進一步應用一個三邊平穩的條件隨機場來加強一致性。
Su et al.。[188]提出了基于雙邊卷積層(BCL)的稀疏網格網絡(SPLATNet)。該方法首先將原始點云插值到置換面體稀疏格子上,然后應用BCL對稀疏填充格子中被占用的部分進行卷積。然后將過濾后的輸出內插回原始點云。該方法允許靈活地聯合處理多視點圖像和點云。
Rosu et al.。[189]提出了LatticeNet,以實現對大型點云的高效處理。此外,還引入了與數據相關的插值模塊DeformsSlice,將網格特征反投影到點云中。
03
混合方法
為了進一步利用所有可用的信息,已經提出了幾種方法來從3D掃描中學習多模態特征。
Dai和Nieüner[190]提出了一種聯合3D-多視圖網絡,將RGB特征和幾何特征結合起來。使用一個三維CNN流和多個2D流來提取特征,并提出了一種可微反投影層來聯合融合學習到的2D嵌入和3D幾何特征。
Chiang et al.。[200]提出了一個統一的基于點的框架,用于從點云中學習二維紋理外觀、三維結構和全局上下文特征。該方法直接使用基于點的網絡從稀疏采樣點集中提取局部幾何特征和全局上下文,而不需要進行任何體素化。
Jaritz et al.。[191]提出了一種多視點網絡(MVPNet),將二維多視點圖像的外觀特征與規范點云空間中的空間幾何特征進行聚合。
04
基于點的方法
?直接對無序的、非結構化的點云進行操作,開山之作PointNet用共享權重的MLP學習每個點的特征,使用對稱池化函數學習全局特征。以此為基提出了一系列網絡。分為以下四類:逐點的MLP方法、點卷積方法、基于RNN的方法、基于圖的方法。
逐點的MLP方法
為了高效獲取逐點特征,這些方法通常使用共享MLP作為其網絡的基本單元,但共享MLP提取的點特征不能捕獲點云的局部幾何形狀和點之間的相互作用。為了獲取每個點更廣泛的上下文并學習更豐富的局部結構,我們引入了一些專用網絡,包括基于鄰近特征池化、基于注意力的聚集和基于局部-全局特征連接的方法。
臨近特征池化
為了獲取局部幾何模式,通過對局部鄰近點的信息進行聚合來獲得每個點的特征。
Pointnet++[論文地址54]對點進行分層分組(即球查詢),逐步從更大的局部區域進行學習。針對點云的不均勻性和密度變化等問題,提出了多尺度和多分辨率的聚類方法。
PointSIFT[論文地址141]提出了一個PointSIFT模塊來實現方向編碼和尺度感知。該模塊通過three-stage有序卷積將八個空間方向的信息堆疊并編碼,多尺度特征被連接在一起以實現對不同尺度的自適應。
Engelmann等[204]利用K-means聚類和KNN分別定義了世界空間和特征空間中的兩個鄰域。代替了PointNet++中的球查詢。基于來自同一類的點在特征空間中更接近的這一假設,引入pairwise distance loss(雙距離損失)和centroid loss(質心損失)來進一步規范特征學習。
為了對不同點之間的相互作用進行建模,Zhao等[57]提出了PointWeb,通過密集地構建一個局部全連接的web來探索一個局部區域內所有對點之間的關系。提出了一種自適應特征調整(AFA)模塊來實現信息交換和特征細化。這種聚合操作有助于網絡學習一種有區別的特征表示。
Zhang等人[205]提出了一種基于同心球殼統計量的置換不變卷積Shellconv。該方法首先查詢一組多尺度的同心球體,然后在不同的shell中使用max-pooling操作來匯總統計?使用MLPs和1D卷積得到最終的卷積輸出。
RandLA-Net[206]是一種高效、輕量級的用于大規模點云分割的網絡。利用隨機點采樣(Random Sampling),在內存和計算方面取得了非常高的效率。進一步提出了一種局部特征聚合模塊(LFA)來捕獲和保存幾何特征.
基于注意力的聚合
在點云分割中引入了注意機制[120]。
Yang等人[56]提出了一種group shuffle attention來建模點之間的關系,并提出了一種置換不變量、任務不可知且可微的Gumbel子集抽樣(GSS)來替代廣泛使用的FPS方法。該模塊對異常值不太敏感,能夠選擇出一個有代表性的點云子集。?注意力機制用于采樣。
為了更好地捕捉點云的空間分布,Chen等人[207]提出了局部空間感知(LSA)層,基于點云的空間布局和局部結構來學習空間感知權值。
與CRF類似,Zhao等人[208]提出了一個基于注意力的評分細化(ASR)模塊,用于對網絡產生的分割結果進行后處理。通過將相鄰點的分數與學習到的注意權值相結合,對初始分割結果進行細化。這個模塊可以很容易地集成到現有的深度網絡,以提高分割性能。?增分神器。
基于局部-全局特征連接
Zhao等人[112]提出了一種置換不變的PS2-Net來結合點云的局部結構和全局上下文。
Edgeconv[87]和NetVLAD[209]被反復堆疊,以捕捉本地信息和場景級的全局特征。
點卷積方法
這些方法趨向于提出有效的點云卷積操作。
Hua等[76]提出了一種逐點卷積操作,將相鄰的點分割到核單元中,然后用核權值進行卷積。
Wang等[201]提出了一種基于參數連續卷積層的網絡PCCN,如圖12(b)所示。該層的核函數由MLPs參數化,并張成連續向量空間。
Thomas等[65]提出了一種基于核點卷積(KPConv)的核點全卷積網絡(Kernel Point full Convolutional Network, KP-FCNN)。KPConv的卷積權值由到核點的歐幾里得距離決定,核點的數量不是固定的。將核點的位置表示為球空間中最優覆蓋的優化問題。需要注意的是,使用半徑鄰域來保持一致的感受場,而在每一層使用網格子采樣來實現不同密度點云下的高魯棒性。
在[211]中,Engelmann等提供了豐富的消融實驗和可視化結果來展示感受野對基于聚合方法性能的影響。他們還提出了一種擴展點卷積(DPC)操作來聚合擴展的鄰近特征,而不是K個最近鄰。該操作被證明是非常有效的增加接受場,并可以很容易地集成到現有的基于聚合的網絡。
基于RNN的方法
為了從點云中捕獲內在的上下文特征,遞歸神經網絡(RNN)也被用于點云的語義分割。
Engelmann等[213]基于PointNet[5],首先將一個點塊轉換為多尺度塊和網格塊,獲得輸入級上下文。然后,將PointNet提取的塊化特征依次輸入到合并單元(CU)或周期性合并單元(RCU)中,獲得輸出級上下文。實驗結果表明,結合空間上下文對提高分割性能具有重要意義。
Huang等[212]提出了一種輕量級局部依賴建模模塊,利用slice pooling 層將無序的點特征集轉換為有序的特征向量序列。
如圖12(c)所示,Ye等人[202]首先提出了點態金字塔池(3P)模塊來捕獲由粗到細的局部結構,然后利用雙向分層RNNs進一步獲取遠程空間依賴關系,然后應用RNN實現端到端學習。
然而,這些方法在用全局結構特征聚合局部鄰域特征時,失去了點云豐富的幾何特征和密度分布[220]。
為了緩解剛性池化和靜態池化操作帶來的問題,Zhao等人[220]提出了一種同時考慮全局場景復雜度和局部幾何特征的動態匯聚網絡(DARNet)。利用自適應接收域和節點權值,動態聚合介質間特征。
Liu等人[221]提出了3DCNN-DQN-RNN用于大規模點云的高效語義解析。該網絡首先使用3D CNN網絡學習空間分布和顏色特征,然后使用DQN對屬于特定類的對象進行定位。最后將拼接后的特征向量送入殘差神經網絡,得到最終的分割結果。
基于圖的方法
使用圖網絡捕獲3D點云形狀與幾何結構。
如圖12(D)所示,Landrieu et al.。[203]將點云表示為一組相互關聯的簡單形狀和超點,并使用屬性有向圖(即超點圖)來捕捉結構和上下文信息。然后,將大規模點云分割問題分解為幾何均勻分割、超點嵌入和上下文分割三個子問題。
為了進一步改進劃分步驟,Landrieu和Boussaha[214]提出了一個監督框架來將點云過度分割?成純超點。該問題被描述為一個由鄰接圖構造的深度度量學習問題。此外,還提出了一種圖結構的對比損失來幫助識別物體之間的邊界。
為了更好地捕捉高維空間中的局部幾何關系,Kang等人提出了一種新的方法。[222]提出了一種基于圖嵌入模塊(GEM)和金字塔注意力網絡(PAN)的PyramNet。GEM模塊將點云表示為有向無環圖,并用協方差矩陣代替歐幾里德距離構造相鄰相似度矩陣。PAN模塊使用四種不同大小的卷積核來提取不同語義強度的特征。
在[215]中,圖注意卷積(GAC)被提出用來從局部相鄰集合中選擇性地學習相關特征。該操作是通過基于不同的鄰近點和特征通道的空間位置和特征差異動態地分配關注度權重來實現的。GAC可以學習獲取可區分的特征進行分割,并且與常用的CRF模型,具有相似的特征。
Ma等人。[223]提出了一種點全局上下文推理(PointGCR)模塊,使用無向圖表示,沿通道維度捕獲全局上下文信息。PointGCR是一個即插即用的端到端可訓練模塊。它可以很容易地集成到現有的分段網絡中,以實現性能提升。增分神器。
其它方法
弱監督下的語義分割
魏等人,[224]提出了一種兩階段訓練具有云下層次標簽的分割網絡的方法。
許等人,[225]研究了幾種不精確的點云語義分割監督方案。他們還提出了一種僅能用部分標記點(例如10%)進行訓練的網絡。
評價指標
OA (Overall Accuracy):總體精度
mIoU (mean Interp over Unionand):平均交并比
mAcc (mean class Accuracy):平均類別精度
MAP(mean Average Precision) : 平均精度均值 ,常用于3D點云實例分割。
常用Benchmark DataSet
01
Public Datasets
ScanNet (CVPR'17)?
S3DIS (CVPR'17)?
Semantic3D (ISPRS'17)?
semantic-8?
reduced-8?
Paris-Lille-3D (IJRR'18)
SemanticKITTI (ICCV'19)?
Toronto-3D(CVPRW2020)
DALES(CVPRW2020)
對于3D點云分割,這些數據集由不同類型的傳感器獲取,包括移動激光掃描儀(MLS)[15]、[34]、[36]、空中激光掃描儀(ALS)[33]、[38]、靜態陸地激光掃描儀(TLS)[12]、RGBD相機[11]和其他3D掃描儀[10]。這些數據集可用于開發各種挑戰的算法,包括相似干擾、形狀不完整和類別不平衡。
02
Benchmark Results
總結
由于規則的數據表示,基于投影的方法和基于離散化的方法都可以利用其2D圖像對應的成熟的網絡體系結構。然而,基于投影的方法的主要局限性在于3D-2D投影造成的信息損失,而基于離散化的方法的主要瓶頸是分辨率的提高導致計算和存儲開銷的成倍增加。為此,建立在索引結構上的稀疏卷積將是一個可行的解決方案,值得進一步探索。
基于點的網絡是研究最多的方法。然而,點表示自然沒有顯式的鄰域信息,大多數現有的基于點的方法求助于昂貴的鄰域搜索機制(例如,KNN[79]或Ball Query[54])。這固有地限制了這些方法的效率,最近提出的點-體素聯合表示法[256]將是一個有趣的進一步研究方向。
從不平衡數據中學習仍然是點云分割中的一個具有挑戰性的問題。雖然有幾種方法[65]、[203]、[205]取得了顯著的整體表現,但它們在少數類別上的表現仍然有限。例如,RandLA-Net[206]在Semanti3D的Reduced-8子集上實現了76.0%的整體IOU,但在Hardscape類上的IOU非常低,只有41.1%。
現有的大多數方法[5]、[54]、[79]、[205]、[207]適用于小的點云(例如,具有4096個點的1m×1m)。在實際應用中,深度傳感器獲取的點云數據通常是巨大的、大規模的。因此,需要進一步研究大規模點云的高效分割問題。
一些工作[178]、[179]、[199]已經開始從動態點云中學習時空信息。期望時空信息能夠幫助提高后續任務(如3D對象識別、分割和完成)的性能。
論文引用
由于引用過多,如果需要暫時可以去參考文獻1中去查看
參考文獻
Deep Learning for 3D Point Clouds:A Survey_20200727版
https://github.com/QingyongHu/SoTA-Point-Cloud
資源
三維點云論文及相關應用分享
【點云論文速讀】基于激光雷達的里程計及3D點云地圖中的定位方法
3D目標檢測:MV3D-Net
三維點云分割綜述(上)
3D-MiniNet: 從點云中學習2D表示以實現快速有效的3D LIDAR語義分割(2020)
win下使用QT添加VTK插件實現點云可視化GUI
JSNet:3D點云的聯合實例和語義分割
大場景三維點云的語義分割綜述
PCL中outofcore模塊---基于核外八叉樹的大規模點云的顯示
基于局部凹凸性進行目標分割
基于三維卷積神經網絡的點云標記
點云的超體素(SuperVoxel)
基于超點圖的大規模點云分割
更多文章可查看:點云學習歷史文章大匯總
SLAM及AR相關分享
【開源方案共享】ORB-SLAM3開源啦!
【論文速讀】AVP-SLAM:自動泊車系統中的語義SLAM
【點云論文速讀】StructSLAM:結構化線特征SLAM
SLAM和AR綜述
常用的3D深度相機
AR設備單目視覺慣導SLAM算法綜述與評價
SLAM綜述(4)激光與視覺融合SLAM
Kimera實時重建的語義SLAM系統
SLAM綜述(3)-視覺與慣導,視覺與深度學習SLAM
易擴展的SLAM框架-OpenVSLAM
高翔:非結構化道路激光SLAM中的挑戰
SLAM綜述之Lidar SLAM
基于魚眼相機的SLAM方法介紹
往期線上分享錄播匯總
第一期B站錄播之三維模型檢索技術
第二期B站錄播之深度學習在3D場景中的應用
第三期B站錄播之CMake進階學習
第四期B站錄播之點云物體及六自由度姿態估計
第五期B站錄播之點云深度學習語義分割拓展
第六期B站錄播之Pointnetlk解讀
[線上分享錄播]點云配準概述及其在激光SLAM中的應用
[線上分享錄播]cloudcompare插件開發
[線上分享錄播]基于點云數據的?Mesh重建與處理
[線上分享錄播]機器人力反饋遙操作技術及機器人視覺分享
[線上分享錄播]地面點云配準與機載點云航帶平差
點云PCL更多活動請查看:點云PCL活動之應屆生校招群
掃描下方微信視頻號二維碼可查看最新研究成果及相關開源方案的演示:
如果你對本文感興趣,請點擊“原文閱讀”獲取知識星球二維碼,務必按照“姓名+學校/公司+研究方向”備注加入免費知識星球,免費下載pdf文檔,和更多熱愛分享的小伙伴一起交流吧!
以上內容如有錯誤請留言評論,歡迎指正交流。如有侵權,請聯系刪除
掃描二維碼
? ? ? ? ? ? ? ? ? ?關注我們
讓我們一起分享一起學習吧!期待有想法,樂于分享的小伙伴加入免費星球注入愛分享的新鮮活力。分享的主題包含但不限于三維視覺,點云,高精地圖,自動駕駛,以及機器人等相關的領域。
分享及合作方式:可聯系微信“920177957”(需要按要求備注)聯系郵箱:dianyunpcl@163.com,歡迎企業來聯系公眾號展開合作。
點一下“在看”你會更好看耶
總結
以上是生活随笔為你收集整理的三维点云语义分割总览的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 开源点云实时压缩方案测试
 - 下一篇: TeaseR++:快速鲁棒的C++点云配