點云概念
點云與三維圖像的關系:三維圖像是一種特殊的信息表達形式,其特征是表達的空間中三個維度的數據,表現形式包括:深度圖(以灰度表達物體與相機的距離),幾何模型(由CAD軟件建立),點云模型(所有逆向工程設備都將物體采樣成點云)。和二維圖像相比,三維圖像借助第三個維度的信息,可以實現天然的物體——背景解耦。點云數據是最為常見也是最基礎的三維模型。點云模型往往由測量直接得到,每個點對應一個測量點,未經過其他處理手段,故包含了最大的信息量。這些信息隱藏在點云中需要以其他提取手段將其萃取出來,提取點云中信息的過程則為三維圖像處理。
點云的概念:點云是在同一空間參考系下表達目標空間分布和目標表面特性的海量點集合,在獲取物體表面每個采樣點的空間坐標后,得到的是點的集合,稱之為“點云”(Point Cloud)。
點云的獲取設備:RGBD設備是獲取點云的設備,比如PrimeSense公司的PrimeSensor、微軟的Kinect、華碩的XTionPRO。
點云的內容:根據激光測量原理得到的點云,包括三維坐標(XYZ)和激光反射強度(Intensity),強度信息與目標的表面材質、粗糙度、入射角方向,以及儀器的發射能量,激光波長有關。
根據攝影測量原理得到的點云,包括三維坐標(XYZ)和顏色信息(RGB)。
結合激光測量和攝影測量原理得到點云,包括三維坐標(XYZ)、激光反射強度(Intensity)和顏色信息(RGB)。
點云的屬性:空間分辨率、點位精度、表面法向量等。
點云存儲格式:*.pts; *.asc ; *.dat; .stl ; [1] .imw;.xyz;.las。LAS格式文件已成為LiDAR數據的工業標準格式,LAS文件按每條掃描線排列方式存放數據,包括激光點的三維坐標、多次回波信息、強度信息、掃描角度、分類信息、飛行航帶信息、飛行姿態信息、項目信息、GPS信息、數據點顏色信息等。
C–class(所屬類)
F一flight(航線號)
T一time(GPS時間)
I一intensity(回波強度)
R一return(第幾次回波)
N一number of return(回波次數)
A一scan angle(掃描角)
RGB一red green blue(RGB顏色值)
點云的數據類型:
(1)pcl::PointXYZ
PointXYZ 成員:float x,y,z;表示了xyz3D信息,可以通過points[i].data[0]或points[i].x訪問點X的坐標值
(2)pcl::PointXYZI
PointXYZI成員:float x, y, z, intensity; 表示XYZ信息加上強度信息的類型。
(3)pcl::PointXYZRGB
PointXYZRGB 成員:float x,y,z,rgb; 表示XYZ信息加上RGB信息,RGB存儲為一個float。
(4)pcl::PointXYZRGBA
PointXYZRGBA 成員:float x , y, z; uint32_t rgba; 表示XYZ信息加上RGBA信息,RGBA用32bit的int型存儲的。
(5) PointXY 成員:float x,y;簡單的二維x-y點結構
(6)Normal結構體:表示給定點所在樣本曲面上的法線方向,以及對應曲率的測量值,用第四個元素來占位,兼容SSE和高效計算。
點云的處理
點云處理的三個層次:Marr將圖像處理分為三個層次,低層次包括圖像強化,濾波,關鍵點/邊緣檢測等基本操作。中層次包括連通域標記(label),圖像分割等操作。高層次包括物體識別,場景分析等操作。工程中的任務往往需要用到多個層次的圖像處理手段。
PCL官網對點云處理方法給出了較為明晰的層次劃分,如圖所示。
此處的common指的是點云數據的類型,包括XYZ,XYZC,XYZN,XYZG等很多類型點云,歸根結底,最重要的信息還是包含在pointpcl::xyz中。可以看出,低層次的點云處理主要包括濾波(filters),關鍵點(keypoints)/邊緣檢測。點云的中層次處理則是特征描述(feature),分割(segmention)與分類。高層次處理包括配準(registration),識別(recognition)。可見,點云在分割的難易程度上比圖像處理更有優勢,準確的分割也為識別打好了基礎。
低層次處理方法:
①濾波方法:雙邊濾波、高斯濾波、條件濾波、直通濾波、隨機采樣一致性濾波。②關鍵點:ISS3D、Harris3D、NARF,SIFT3D
中層次處理方法:
①特征描述:法線和曲率的計算、特征值分析、SHOT、PFH、FPFH、3D Shape Context、Spin Image
②分割與分類:
分割:區域生長、Ransac線面提取、全局優化平面提取
K-Means、Normalize Cut(Context based)
3D Hough Transform(線、面提取)、連通分析
分類:基于點的分類,基于分割的分類,基于深度學習的分類(PointNet,OctNet)
高層次處理方法:
①配準:點云配準分為粗配準(Coarse Registration)和精配準(Fine Registration)兩個階段。
精配準的目的是在粗配準的基礎上讓點云之間的空間位置差別最小化。應用最為廣泛的精配準算法應該是ICP以及ICP的各種變種(穩健ICP、point to plane ICP、Point to line ICP、MBICP、GICP、NICP)。
粗配準是指在點云相對位姿完全未知的情況下對點云進行配準,可以為精配準提供良好的初始值。當前較為普遍的點云自動粗配準算法包括基于窮舉搜索的配準算法和基于特征匹配的配準算法。
基于窮舉搜索的配準算法:遍歷整個變換空間以選取使誤差函數最小化的變換關系或者列舉出使最多點對滿足的變換關系。如RANSAC配準算法、四點一致集配準算法(4-Point Congruent Set, 4PCS)、Super4PCS算法等……
基于特征匹配的配準算法:通過被測物體本身所具備的形態特性構建點云間的匹配對應,然后采用相關算法對變換關系進行估計。如基于點FPFH特征的SAC-IA、FGR等算法、基于點SHOT特征的AO算法以及基于線特征的ICL等…
②SLAM圖優化
Ceres(Google的最小二乘優化庫,很強大), g2o、LUM、ELCH、Toro、SPA
SLAM方法:ICP、MBICP、IDC、likehood Field、NDT
③三維重建
泊松重建、 Delaunay triangulations、表面重建,人體重建,建筑物重建,樹木重建。結構化重建:不是簡單的構建一個Mesh網格,而是為場景進行分割,為場景結構賦予語義信息。場景結構有層次之分,在幾何層次就是點線面。實時重建:重建植被或者農作物的4D(3D+時間)生長態勢;人體姿勢識別;表情識別;
④點云數據管理:點云壓縮,點云索引(KD、Octree),點云LOD(金字塔),海量點云的渲染。
責任編輯:haq
-
三維
+關注
關注
1文章
507瀏覽量
28967 -
點云
+關注
關注
0文章
58瀏覽量
3789
原文標題:點云及三維圖像處理綜述
文章出處:【微信號:AcousticSignal,微信公眾號:聲學信號處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論