|
眾所周知,點云的有效分割是許多應用的前提,例如在三維重建領域,需要對場景內(nèi)的物體首先進行分類處理,然后才能進行后期的識別和重建。傳統(tǒng)的點云分割主要依賴聚類算法和基于隨機采樣一致性的分割算法,在很多技術(shù)上得到了廣泛應用,但當點云規(guī)模不斷增大時,傳統(tǒng)的分割算法已經(jīng)很難滿足實際需要,這時就需要結(jié)合深度學習進行分割。因此,本文將重點介紹5種前沿的點云分割網(wǎng)絡,包括PointNet/PointNet++、PCT、Cylinder以及JSNet網(wǎng)絡,最后介紹5中常用的點云分割數(shù)據(jù)集。 作者丨泡椒味的泡泡糖 “點云分割是根據(jù)空間、幾何和紋理等特征對點云進行劃分,使得同一劃分內(nèi)的點云擁有相似的特征?!?/span> 說起點云分割網(wǎng)絡,就不得不介紹PointNet,它來源于CVPR的論文“Deep Learning on Point Sets for 3D Classification and Segmentation”。PointNet是首個輸入3D點云輸出分割結(jié)果的深度學習網(wǎng)絡,屬于開山之作,成為了后續(xù)很多工作的BaseLine,網(wǎng)絡的總體結(jié)構(gòu)如圖1所示。
圖1 PointNet網(wǎng)絡 整體的PointNet網(wǎng)絡中,除了點云的感知以外,還有T-Net,即3D空間變換矩陣預測網(wǎng)絡,這主要是由于點云分類的旋轉(zhuǎn)不變性,當一個N×D在N的維度上隨意的打亂之后,其表述的其實是同一個物體,因此針對點云的置換不變性,其設計的網(wǎng)絡必須是一個對稱的函數(shù)。 在PointNet網(wǎng)絡中,對于每一個N×3的點云輸入,網(wǎng)絡先通過一個T-Net將其在空間上對齊(旋轉(zhuǎn)到正面),再通過MLP將其映射到64維的空間上,再進行對齊,最后映射到1024維的空間上。這時對于每一個點,都有一個1024維的向量表征,而這樣的向量表征對于一個3維的點云明顯是冗余的,因此這個時候引入最大池化操作,將1024維所有通道上都只保留最大的那一個,這樣得到的1×1024的向量就是N個點云的全局特征。 PointNet網(wǎng)絡在ShapeNet數(shù)據(jù)集上的實驗效果如表1所示,可以看出,大多數(shù)分割都取得了SOAT效果。部分分割結(jié)果如圖2所示,可以看出分割結(jié)果相當平穩(wěn),并且具有很強的魯棒性。
表1 PointNet在ShapeNet上的分割效果對比
圖2 PointNet部分分割結(jié)果 PointNet++主要是為了克服PointNet自身的一些缺點,其中最大的缺點就是缺失局部特征。由于PointNet直接暴力地將所有的點最大池化為一個全局特征,因此局部點與點之間的聯(lián)系并沒有被網(wǎng)絡學習到。在分類和物體的Part Segmentation中,這樣的問題還可以通過中心化物體的坐標軸部分地解決,但在場景分割中,這就會導致效果變差。 為了克服PointNet的缺點,作者在PointNet++中主要借鑒了CNN的多層感受野的思想。CNN通過分層不斷地使用卷積核掃描圖像上的像素并做內(nèi)積,使得越到后面的特征圖感受野越大,同時每個像素包含的信息也越多。而PointNet++就是仿照了這樣的結(jié)構(gòu),先通過在整個點云的局部采樣并劃一個范圍,將里面的點作為局部的特征,用PointNet進行一次特征的提取。因此,通過了多次這樣的操作以后,原本的點的個數(shù)變得越來越少,而每個點都是有上一層更多的點通過PointNet提取出來的局部特征,也就是每個點包含的信息變多了。 PointNet++的網(wǎng)絡結(jié)構(gòu)如圖3所示,同時作者對比了PointNet和PointNet++的分割效果如圖4所示,可見PointNet++的效果全面優(yōu)于PointNet。
圖3 PointNet++網(wǎng)絡結(jié)構(gòu)
圖4 PointNet++分割結(jié)果 近年來,NLP領域的Transformer大火,同時也有大量學者將其從NLP領域遷移到圖像和點云領域。清華大學將Transformer應用于3D點云分割技術(shù),設計了全新的PCT(Point Cloud Transformer)網(wǎng)絡,其網(wǎng)絡結(jié)構(gòu)如圖5所示。
圖5 PCT網(wǎng)絡結(jié)構(gòu) PCT應用Transformer進行點云分割的具體原理如圖6所示,其中星號代表Transformer的查詢向量,黃色到藍色代表注意力權(quán)重逐漸增加,最后一列代表分割結(jié)果。
圖6 PCT點云分割原理 為了更好地捕獲點云中的local context,作者在最遠點采樣和最近鄰居搜索的支持下增強了輸入嵌入,同時Transformer在點云分割領域的成功,也逐漸打通了NLP、圖像、點云等不同領域的壁壘,對于“模型大一統(tǒng)”具有重要意義。PCT點云分割與其他分割算法的對比如圖7所示,大量的實驗表明,PCT在形狀分類,part分割和法向量估算任務方面達到了最先進的性能。
圖6 PCT點云分割效果與其他算法對比 Cylinder網(wǎng)絡來源于CVPR論文“Cylindrical and Asymmetrical 3D Convolution Networks for LiDAR Segmentation”,Cylinder網(wǎng)絡結(jié)構(gòu)如圖7所示。Cylinder網(wǎng)絡由圓柱坐標體素劃分和非對稱3D卷積網(wǎng)絡組成,作者認為圓柱分割可以有效提高分割精度,此外作者還引入了一個point-wise模塊來改進體素塊輸出,提高辨識精度。
圖7 Cylinder網(wǎng)絡結(jié)構(gòu) 作者認為基于柱坐標的voxel的劃分,可以與激光雷達掃描過程保持一致。進而有效地減少空voxel的比率。此外,作者將Cylinder網(wǎng)絡在兩個大型室外場景數(shù)據(jù)集(SemanticKITTI和nuScenes)上進行了評估,評估效果對比如表2和表3所示。評估顯示,在SemanticKITTI數(shù)據(jù)集上,Cylinder網(wǎng)絡排名第一。在nuScenes數(shù)據(jù)集上,新方法的表現(xiàn)也大大超過了之前的方法。
表2 Cylinder網(wǎng)絡在SemanticKITTI數(shù)據(jù)集上的對比效果
表3 Cylinder網(wǎng)絡在nuScenes數(shù)據(jù)集上的對比效果JSNet來源于AAAI論文“JSNet: Joint Instance and Semantic Segmentation of 3D Point Clouds”,JSNet可以同時解決3D點云的實例和語義分割問題,其網(wǎng)絡結(jié)構(gòu)如圖8所示。
圖8 JSNet網(wǎng)絡結(jié)構(gòu) JSNet首先建立有效的骨干網(wǎng)絡,以從原始點云數(shù)據(jù)中提取魯棒的特征。其次為了獲得更多的判別特征,提出了一種點云特征融合模塊來融合骨干網(wǎng)的不同層特征。此外,JSNet開發(fā)了聯(lián)合實例語義分割模塊以將語義特征轉(zhuǎn)換為實例嵌入空間,然后將轉(zhuǎn)換后的特征進一步與實例特征融合以促進實例分割。同時,該模塊還將實例特征聚合到語義特征空間中,以促進語義分割。最后,JSNet通過對實例嵌入應用簡單的均值漂移聚類來生成實例預測。 如表4和表5所示是JSNet網(wǎng)絡在大型3D室內(nèi)點云數(shù)據(jù)集S3DIS上的評估結(jié)果,圖9是JSNet網(wǎng)絡的分割效果。實驗結(jié)果表明,JSNet網(wǎng)絡在3D實例分割中的性能優(yōu)于最新方法,在3D語義預測方面有重大改進,同時有利于零件分割。
表4 JSNet網(wǎng)絡在S3DIS數(shù)據(jù)集上的實例分割結(jié)果
表5 JSNet網(wǎng)絡在S3DIS數(shù)據(jù)集上的語義分割結(jié)果
圖9 JSNet網(wǎng)絡的分割效果 深度神經(jīng)網(wǎng)絡的訓練往往需要大量的數(shù)據(jù)集,同時深度神經(jīng)網(wǎng)絡性能的優(yōu)劣也往往是在公開數(shù)據(jù)集上進行評估,因此選擇合適的數(shù)據(jù)集至關(guān)重要。常用的點云分割數(shù)據(jù)集主要有如下幾個: 5.1 Semantic3D經(jīng)典的大型室外場景點云分割數(shù)據(jù)集,由激光雷達掃描周圍場景得到。Semantic3D提供了一個帶有大標簽的自然場景的3D點云數(shù)據(jù)集,總計超過40億個點,8個類別標簽。 數(shù)據(jù)集包含了各種城市和鄉(xiāng)村場景,如農(nóng)場,市政廳,運動場,城堡和廣場。該數(shù)據(jù)集包含15個訓練數(shù)據(jù)集和15個測試數(shù)據(jù)集,另外還包括4個縮減了的測試數(shù)據(jù)集。數(shù)據(jù)集中的點都含有RGB和深度信息,并被標記為8個語義類別,分別是1:人造地形;2:自然地形;3:高植被;4:低植被;5:建筑物;6:硬景觀;7:掃描人工制品,8:汽車,附加標簽0:未標記點,標記沒有地面真值的點。 數(shù)據(jù)集地址:http://www./
5.2 S3DISS3DIS數(shù)據(jù)集是斯坦福大學開發(fā)的帶有像素級語義標注的語義數(shù)據(jù)集,是常用的室內(nèi)場景分割數(shù)據(jù)集,使用Matterport相機收集數(shù)據(jù),包含6個Area,13個語義元素,11種場景。 其中13個語義元素分別包括:天花板ceiling、地板floor、墻壁wall、梁beam、柱column、窗window、門door、桌子table、椅子chair、沙發(fā)sofa、書柜bookcase、板board、混雜元素(其他)clutter;11種場景分別包括辦公室office、會議室conference room、走廊hallway、禮堂auditorium、開放空間open space、大堂lobby、休息室lounge、儲藏室pantry、復印室copy room、儲藏室storage和衛(wèi)生間WC。 數(shù)據(jù)集地址:http://buildingparser./dataset.html
5.3 SemanticKITTISemanticKITTI數(shù)據(jù)集是一個基于KITTI Vision Benchmark里程計數(shù)據(jù)集的大型戶外點云數(shù)據(jù)集,顯示了市中心的交通、住宅區(qū),以及德國卡爾斯魯厄周圍的高速公路場景和鄉(xiāng)村道路。原始里程計數(shù)據(jù)集由22個序列組成,作者將序列00到10拆分為訓練集,將11到21拆分為測試集,并且為了與原始基準保持一致,作者對訓練和測試集采用相同的劃分,采用和KITTI數(shù)據(jù)集相同的標定方法,這使得該數(shù)據(jù)集和KITTI數(shù)據(jù)集等數(shù)據(jù)集可以通用。 SemanticKITTI數(shù)據(jù)集作者提供了精確的序列掃描注釋,并且在點注釋中顯示了前所未有的細節(jié),包含28個類,確保了類與Mapillary Visiotas數(shù)據(jù)集和Cityscapes數(shù)據(jù)集有很大的重疊,并在必要時進行了修改,以考慮稀疏性和垂直視野。 數(shù)據(jù)集地址:http://www./index.html
5.4 ShapeNetShapeNet數(shù)據(jù)集是一個由對象的三維CAD模型表示的形狀存儲庫,注釋豐富,規(guī)模較大。ShapeNet包含來自多種語義類別的3D模型,并按照WordNet分類法組織,能夠完成部件分割任務,即不僅知道這個點云數(shù)據(jù)大的分割,還要將它的小部件進行分割。它總共包括十六個大的類別,每個大的類別有可以分成若干個小類別,十六個類別具體包括:飛機Airplane、包Bag、帽子Cap、汽車Car、椅子Chair、耳機Earphone、吉他Guitar、刀Knife、燈Lamp、電腦Laptop、摩托車Motorbike、杯子Mug、手槍Pistol、火箭Rocket、滑板Skateboard、桌子Table。 數(shù)據(jù)集地址:https://www./
5.5 PartNetPartNet數(shù)據(jù)集是用于細粒度和分層零件級3D對象理解的大規(guī)?;鶞?。數(shù)據(jù)集包含573585個零件實例,涵蓋26671個3D模型,涵蓋24個對象類別。PartNet數(shù)據(jù)集啟用并充當許多任務的催化劑,例如形狀分析,動態(tài)3D場景建模和仿真,可負擔性分析等。數(shù)據(jù)集建立了用于評估3D零件識別的三個基準測試任務:細粒度語義分割,分層語義分割和實例分割。 數(shù)據(jù)集地址:https:///download/parts
近年來,隨著自動駕駛和三維重建技術(shù)的不斷發(fā)展,需要處理的點云規(guī)模越來越龐大,傳統(tǒng)的聚類算法和基于隨機采樣一致性的分割算法較難滿足實時性和精度要求。而基于深度學習的點云分割網(wǎng)絡較好地解決了上述問題,本文重點介紹了幾種前沿的點云分割網(wǎng)絡,包括PointNet/PointNet++、PCT、Cylinder以及JSNet網(wǎng)絡,并介紹了5種常用的點云分割數(shù)據(jù)集。讀者在應用深度學習進行點云分割或設計點云分割網(wǎng)絡時,要根據(jù)自身需求和實際工況,有針對地選擇合適的點云分割網(wǎng)絡和數(shù)據(jù)集。 本文僅做學術(shù)分享,如有侵權(quán),請聯(lián)系刪文。 |
|
|
來自: mynotebook > 《待分類》