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