一、點云配準基礎知識
1.入門知識及背景
1)點云概念
點云是在同一空間參考系下表達目標空間分布和目標表面特性的海量點集合,在獲取物體表面每個采樣點的空間坐標后,得到的是點的集合,稱之為“點云”(Point Cloud)。
2)點云圖像是最基礎也是最常見的三維圖像。
那什么是三維圖像呢?三維圖像是一種特殊的圖像信息表達形式。相比較于常見的二維圖像,其最大的特征是表達了空間中三個維度(長度寬度和深度)的數據。
3)三維圖像的表現形式
深度圖(以灰度表達物體與相機的距離),幾何模型(由CAD軟件建立),點云模型(所有逆向工程設備都將物體采樣成點云)。
4)點云根據測量原理主要分為兩種
根據激光測量原理得到的點云,包括三維坐標(XYZ)和激光反射強度(Intensity)。強度信息與目標的表面材質、粗糙度、入射角方向,以及儀器的發射能量,激光波長有關。
根據攝影測量原理得到的點云,包括三維坐標(XYZ)和顏色信息(RGB)。
當然也有把激光和攝影相結合在一起的(多傳感器融合技術),這種結合激光測量和攝影測量原理得到點云,包括三維坐標(XYZ)、激光反射強度(Intensity)和顏色信息(RGB)。
本次的文章主要講的是基于攝像技術的點云配準。
5)點云的獲取設備
RGBD設備(深度攝像機)是可以獲取點云的設備。比如PrimeSense公司的PrimeSensor、微軟的Kinect、華碩的XTionPRO。
6)點云的屬性
空間分辨率、點位精度、表面法向量等。
7)點云存儲格式
.pts;.asc ; *.dat; .stl ; [1] .imw;.xyz;.las。
8)點云的數據類型
(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和高效計算
9)點云處理的三個層次
一般將圖像處理分為三個層次,低層次包括圖像強化,濾波,關鍵點/邊緣檢測等基本操作。中層次包括連通域標記(label),圖像分割等操作。高層次包括物體識別,場景分析等操作。工程中的任務往往需要用到多個層次的圖像處理手段。
PCL官網對點云處理方法給出了較為明晰的層次劃分:
低層次處理方法
①濾波方法:雙邊濾波、高斯濾波、條件濾波、直通濾波、隨機采樣一致性濾波。②關鍵點: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(金字塔),海量點云的渲染。
參考博客:blog.csdn.net/hongju_ta
10)點云配準在三維重建中的應用
以上是關于點云配準的最最基礎的知識,其他專業的知識請參見一下其他博客。
1. 關于三維計算機視覺的研究內容
cnblogs.com/yhlx125/p/4
2. 關于點云數據處理方法
(三維計算機視覺中點云數據處理面對的問題,主要方法和技術,概述其特點。)
blog.csdn.net/pdw521/ar
二、書籍和文獻
書籍
由于純粹的點云配準技術發展的并不是很成熟,所以關于點云配準的書籍目前很少,我了解的書籍只有一本國防工業出版社的《點云數據配準及曲面細分技術》講解了點云配準的相關技術,但主要內容稍顯過時,適合沒有基礎的小白看看,參考意義不多。
筆者主要還是從博客和碩士博士論文中學習
文獻
朱琛琛. 基于ICP算法的點云配準研究[D]. 2019.(注:基于攝像技術的點云配準)
點云配準若干問題研究[D].2018. (注:基于雷達激光的點云配準)
Besl P J , Mckay H D . A method for registration of 3-D shapes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14(2):0-256.
Aiger D , Mitra N J , Cohen-Or D . 4-points congruent sets for robust pairwise surface registration[J]. ACM Transactions on Graphics, 2008, 27(3):1.
Automatic registration of large-scale urban scene point clouds based on semantic feature points[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2016, 113:43-58.
三、課程與博客
1)點云配準算法的說明與流程介紹:
blog.csdn.net/Ha_ku/art
2)幾種點云配準算法的方法的介紹與比較:
blog.csdn.net/weixin_43
3)三維點云用機器學習的方法進行處理:
blog.csdn.net/u01463624
4)以一個例子詳細介紹了點云配準的過程:
zhihu.com/question/3417
四、數據集
The Stanford 3D Scanning Repository(斯坦福大學的3d掃描存儲庫)
鏈接:graphics.stanford.edu/d
這應該是做點云數據最初大家用最多的數據集,其中包含最開始做配準的Bunny、Happy Buddha、Dragon等模型。
Shapenet
ShapeNet是一個豐富標注的大規模點云數據集,其中包含了55中常見的物品類別和513000個三維模型。
The KITTI Vision Benchmark Suite
鏈接:cvlibs.net/datasets/kit
這個數據集來自德國卡爾斯魯厄理工學院的一個項目,其中包含了利用KIT的無人車平臺采集的大量城市環境的點云數據集(KITTI),這個數據集不僅有雷達、圖像、GPS、INS的數據,而且有經過人工標記的分割跟蹤結果,可以用來客觀的評價大范圍三維建模和精細分類的效果和性能。
Robotic 3D Scan Repository
鏈接:kos.informatik.uni-osnabrueck.de
這個數據集比較適合做SLAM研究,包含了大量的Riegl和Velodyne雷達數據
佐治亞理工大型幾何模型數據集
鏈接:cc.gatech.edu/projects/
PASCAL3D+
鏈接:cvgl.stanford.edu/proje
包含了12中剛體分類,每一類超過了3000個實例。并且包含了對應的imageNet中每一類的圖像。
其他總結
鏈接:github.com/timzhang642/
五、開源工具
MeshLab
簡介:是一款開源、可移植和可擴展的三維幾何處理系統。主要用于處理和編輯3D三角網格,它提供了一組用于編輯、清理、修復、檢查、渲染、紋理化和轉換網格的工具。提供了處理由3D數字化工具/設備生成的原始數據以及3D打印功能,功能全面而且豐富。MeshLab支持多數市面上常見的操作系統,包括Windows、Linux及Mac OS X,支持輸入/輸出的文件格式有:STL 、OBJ 、 VRML2.0、U3D、X3D、COLLADA MeshLab可用于各種學術和研究環境,如微生物學、文化遺產及表面重建等。
-
3D
+關注
關注
9文章
2875瀏覽量
107486 -
相機
+關注
關注
4文章
1350瀏覽量
53582 -
攝像技術
+關注
關注
0文章
16瀏覽量
7420 -
點云配準
+關注
關注
0文章
4瀏覽量
796
原文標題:該如何學習三維點云配準的相關知識?
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論