點雲資料處理方法概述
icp點雲配準就是我們非常熟悉的點雲處理演算法之一。實際上點雲資料在形狀檢測和分類、立體視覺、運動恢復結構、多檢視重建中都有廣泛的使用。點雲的儲存、壓縮、渲染等問題也是研究的熱點。隨著點雲採集裝置的普及、雙目立體視覺技術、vr和ar的發展,點雲資料處理技術正成為最有前景的技術之一。pcl是三維點雲資料處理領域必備的工具和基本技能,這篇文章也將粗略介紹。
1. 點雲濾波(資料預處理)
點雲濾波,顧名思義,就是濾掉雜訊。原始採集的點雲資料往往包含大量雜湊點、孤立點,比如下圖為濾波前後的點雲效果對比。
點雲濾波的主要方法有:雙邊濾波、高斯濾波、條件濾波、直通濾波、隨機取樣一致濾波、voxelgrid濾波等,這些演算法都被封裝在了pcl點雲庫中。
2. 點雲關鍵點
我們都知道在二維影象上,有harris、sift、surf、kaze這樣的關鍵點提取演算法,這種特徵點的思想可以推廣到三維空間。從技術上來說,關鍵點的數量相比於原始點雲或影象的資料量減小很多,與區域性特徵描述子結合在一起,組成關鍵點描述子常用來形成原始資料的表示,而且不失代表性和描述性,從而加快了後續的識別,追蹤等對資料的處理了速度,故而,關鍵點技術成為在2d和3d 資訊處理中非常關鍵的技術。
常見的三維點雲關鍵點提取演算法有一下幾種:iss3d、harris3d、narf、sift3d
這些演算法在pcl庫中都有實現,其中narf演算法是博主見過用的比較多的。
3. 特徵和特徵描述
如果要對乙個三維點雲進行描述,光有點雲的位置是不夠的,常常需要計算一些額外的引數,比如法線方向、曲率、文理特徵等等。如同影象的特徵一樣,我們需要使用類似的方式來描述三維點雲的特徵。
常用的特徵描述演算法有:法線和曲率計算、特徵值分析、pfh、fpfh、3d shape context、spin image等。
pfh:點特徵直方圖描述子,fpfh:跨蘇點特徵直方圖描述子,fpfh是pfh的簡化形式。這裡不提供具體描述了,具體細節去谷歌吧。
4. 點雲配準
點雲配準的概念也可以模擬於二維影象中的配準,只不過二維影象配準獲取得到的是x,y,alpha,beta等放射變化引數,二三維點雲配準可以模擬三維點雲的移動和對其,也就是會獲得乙個旋轉矩陣和乙個平移向量,通常表達為乙個4×3的矩陣,其中3×3是旋轉矩陣,1*3是平移向量。嚴格說來是6個引數,因為旋轉矩陣也可以通過羅格裡德斯變換轉變成1*3的旋轉向量。
常用的點雲配準演算法有兩種:正太分布變換和著名的icp點雲配準,此外還有許多其它演算法,列舉如下:
icp:穩健icp、point to plane icp、point to line icp、mbicp、gicp
5. 點雲分割與分類
點雲的分割與分類也算是乙個大topic了,這裡因為多了一維就和二維影象比多了許多問題,點雲分割又分為區域提取、線面提取、語義分割與聚類等。同樣是分割問題,點雲分割涉及面太廣,確實是三言兩語說不清楚的。只有從字面意思去理解了,遇到具體問題再具體歸類。一般說來,點雲分割是目標識別的基礎。
分割:區域聲場、ransac線面提取、ndt-ransac、k-means、normalize cut、3d hough transform(線面提取)、連通分析
分類:基於點的分類,基於分割的分類,監督分類與非監督分類
6. slam圖優化
slam又是大topic,slam技術中,在影象前端主要獲取點雲資料,而在後端優化主要就是依靠圖優化工具。而slam技術近年來的發展也已經改變了這種技術策略。在過去的經典策略中,為了求解landmark和location,將它轉化為乙個稀疏圖的優化,常常使用g2o工具來進行圖優化。下面是一些常用的工具和方法。
g2o、lum、elch、toro、spa
slam方法:icp、mbicp、idc、likehood field、 cross correlation、ndt
7. 目標識別檢索
這是點雲資料處理中乙個偏應用層面的問題,簡單說來就是hausdorff距離常被用來進行深度圖的目標識別和檢索,現在很多三維人臉識別都是用這種技術來做的。
8. 變化檢測
當無序點雲在連續變化中,八叉樹演算法常常被用於檢測變化,這種演算法需要和關鍵點提取技術結合起來,八叉樹演算法也算是經典中的經典了。
9. 三維重建
我們獲取到的點雲資料都是乙個個孤立的點,如何從乙個個孤立的點得到整個曲面呢,這就是三維重建的topic。
在玩kinectfusion時候,如果我們不懂,會發現曲面漸漸變平緩,這就是重建演算法不斷迭代的效果。我們採集到的點雲是充滿雜訊和孤立點的,三維重建演算法為了重構出曲面,常常要應對這種雜訊,獲得看上去很舒服的曲面。
常用的三維重建演算法和技術有:
泊松重建、delauary triangulatoins
表面重建,人體重建,建築物重建,輸入重建
實時重建:重建紙杯或者龍作物4d生長台式,人體姿勢識別,表情識別
10. 點雲資料管理
點雲壓縮,點雲索引(kdtree、octree),點雲lod(金字塔),海量點雲的渲染
點雲資料處理中,不僅涉及前段資料的輸入,中間資料和處理,還涉及到後端點雲的渲染顯示,如果這些函式都要我們親自來實現,那麼開發效率必然受到極大影響。在點雲資料處理領域,有乙個不可或缺的助手:pcl (point cloud library)。pcl在點雲資料處理中的地位猶如opencv在影象處理領域的地位,如果你接觸三維點雲資料處理,那麼pcl將大大簡化你的開發。
點雲資料處理(分類 分割 檢測)
2 pointnet 3 總結 傳統深度學習模式 處理二維影象資料 使用序列化的卷積核處理序列化的二維影象資料,但點雲是一種不規則資料,在空間上和數量上可以任意分布,因此傳統的深度學習模式無法處理點雲資料。在將實景儲存為點雲資料時 以pcd為例 是一行儲存乙個點的xyz資訊,如果放大到多行點雲資料來...
PCL 點雲資料處理方法概述
目錄 三維點雲資料處理技術 1.點雲濾波 資料預處理 2.點雲關鍵點 3.特徵和特徵描述 4.點雲配準 5.點雲分割與分類 6.slam圖優化 7.目標識別檢索 8.變化檢測 9.三維重建 10.點雲資料管理 pcl庫簡介 回到課題上,接下來要面對的就是點雲資料的處理了。這篇部落格主要介紹三維計算機...
點雲資料處理學習筆記
三維計算視覺研究內容包括 1 三維匹配 兩幀或者多幀點雲資料之間的匹配,因為雷射掃瞄光束受物體遮擋的原因,不可能通過一次掃瞄完成對整個物體的三維點雲的獲取。因此需要從不同的位置和角度對物體進行掃瞄。三維匹配的目的就是把相鄰掃瞄的點雲資料拼接在一起。三維匹配重點關注匹配演算法,常用的演算法有最近點迭代...