本文是學習肖勇大神的點雲課程總結的筆記,僅供個人學習使用。
肖勇
Mapping & Localization Technical Specialist @ Lucid Motors,主要從事無人車地 圖和定位演算法研發。先後參與 Lyft、百度無人車 專案開發。密歇根大學土木工程博士,中科院遙 感與數字地球研究所地圖學碩士,武漢大學測繪 工程學士。
點雲資料及獲取
- 定義
- 點雲:三維點的資料集合
- 屬性
- 三維座標
- 強度
- 顏色
- 時間戳
-
分類
-
點雲組織形式:
- organized: the point cloud is laid out as a 2D array of points that resembles an image like structure -
- unorganized: the point cloud is a list of points.
-
- 點雲獲取方式
- 鐳射掃描器
- 星載
- 機載
- 地面
- 移動
- 深度相機(depth Camera)
- 雙目相機(stereo Camera)
- 光學相機多視角重建
- 鐳射掃描器
鐳射掃描器
-
工作原理:time of flight
-
分類
- 星載:衛星
- 機載:飛機,無人機
- 地面:三腳架上固定
- 移動:車輛,機器人等
星載鐳射雷達
- 常見系統
- GLAS星載鐳射雷達 系統(Geoscience Laser Altimeter System)
- CALIOP星載鐳射雷 達
- ALADIN星載多普勒 鐳射雷達
機載鐳射雷達
- 機載鐳射雷達
- 使用配有 GPS/IMU的飛機(無人機) 獲取大範圍的點雲
- 特點
- 精度高:10cm
- 大尺度測繪
- 應用領域
- 大尺度(城市級別)測繪
- DEM
- 正射影像 (高精度相機)
地面鐳射雷達
- 地面鐳射雷達
- 鐳射雷達通常固定在三角架上,進行 較大範圍掃描獲取點雲。
- 特點
- 精度高: 可達到 mm
- 距離遠:可達到400m
- 掃描速度快: Leica RTC360 1s 採集 ~200萬點雲
- 應用
- 文物三維掃描建模
- 地形測量
移動鐳射雷達
-
移動鐳射雷達
- 鐳射雷達通常跟著移動物體( 機器人無人車),進行較大範 圍掃描獲取點雲
-
特點
- 精度高: cm
- 距離遠:~240m
- 掃描速度快: 10Hz, 200萬點 雲每秒
-
應用
-
無人車,機器人
-
街景測量
-
Point Cloud created by Velodyne Lidar’s Alpha Prime sensor
深度相機
- 深度相機
- 通過近紅外鐳射器把具有結構特徵 的光線投影到物體上,通過紅外攝 像頭採集得到深度資訊。
- 特點
- 成本低,計算量小
- 主動光源,夜晚也可用
- 觀測該範圍和距離有限
- 應用
- 室內機器人
- AR/VR
雙目相機
- 使用兩個相機從不同位置獲取物體的 兩幅影像,通過計算對應點的位置偏 差,使用三角原理(Triangulation) 計算點的三維座標
- 特點
- 成本低
- 室內室外都適用
- 對環境光敏感
- 基線限制了測量範圍
光學相機多視角重建
-
SFM 運動結構恢復(Structure from motion)
- 給出多幅影像及其影像特徵點的對應集合 ,估計3D點的位置和攝像機姿態(運動)
-
特點
-
成本低
-
使用高精度相機和更穩定的平臺(有 GPS/IMU)可以進行高精度測量
-
計算量大
-
Credit to http://gsp.humboldt.edu/OLM/Courses/GSP_216_Online/lesson8-2/SfM.html
點雲資料處理
點雲濾波(filtering)
- 檢測和移除點雲中的噪聲或不感興趣的點
- 分類
- 基於統計資訊 (statiscal-based)
- 基於領域 (neighbor-based) 基於投影(projection-based)
- 基於訊號處理(singal processing based)
- 基於偏微分方程(PDEs-based)
- 其他方法:voxel grid fitlering, quadtreebased, etc.
- 常用方法
- 基於體素(voxel grid)
- 移動平均最小二乘(Moving Least Squares)
點雲匹配 (point cloud registration)
- 估計兩幀或者多幀點雲之間的 rigid body transformation 資訊,將所有幀的點雲配準在同 一個座標系。
- 分類
- 初/粗匹配: 適用於初始位姿差別大的兩幀點雲
- 精匹配:優化兩幀點雲之間的變換
- 全域性匹配:通常指優化序列點雲匹配的誤差, 如鐳射 SLAM,兩幀之間匹配,全域性匹配
- 常用方法
- 基於 Iterative Closest Point (ICP)的方法
- 基於特徵的匹配方法
- 深度學習匹配方法
Credit to http://geometryhub.net/en/notes/registration
- Iterative Closest Point (ICP)Registration
- Given two scans ? and ?, initial transformation between them ?,?
- Iterate
- Find some pairs of closest points (??,??)
- Optimize ?,? to minimize
點雲分割 (segmentation)
- 根據空間、集合等特徵將點劃分為不同的集合。
- 常用方法
- 基於邊緣的方法:變成影像,使用邊緣資訊
- 基於區域生長
- 幾何模型擬合:擬合平面,球形,圓柱等
- Segmentation using smoothness constraint
點雲目標檢測 (object detection)
-
從點雲中檢測某類物體
-
方法:
- 傳統機器學習方法
- 深度學習方法
點雲分類 (classification)/語義分割(Semantic Segmentation)
-
為每個點雲分配一個語義標籤
-
方法:
- 傳統機器學習
- 深度學習
模型重建 (model reconstruction
-
從點雲中獲取更精簡更緊湊的模型,如獲取 mesh 模型。
-
常見的 3D shape representation: 深度圖,點雲 ,體素,網格(mesh)
-
常用方法:
- Delaunay Mesh Generation
- Finite Element Mesh Generation.
- Marching cube
常用軟體及開源
CloudCompare
開源,且支援多平臺(Windows, Mac, Linux)
- 支援常見的點雲資料格式,簡單的 點雲編輯
- 支援使用者自己新增外掛和增加新功 能 (如 Ransac, Poisson Mesh Reconstruction, Classification with CANUPO)
- 適合於點雲視覺化,簡單編輯或者處理
Meshlab
- 處理和編輯3D三角形網格的開源系 統
- 主要是編輯,清理,修復,檢查, 渲染,紋理和轉換網格的工具
- 3D Acquisition: color mapping and texturing Cleaning 3D models
- 支援多平臺(Win,Linux, Mac)
部分商業軟體
- Microstation TerraSolid (Bentley):航測,主要適用於機載雷達,獲取 DEM 和建築建模等
- Global Mapper Lidar Moduel:主要處理機載鐳射雷達資料,分類,建模,生成 DEM等
- LiDAR 360 (數字綠土):林業資源調查,地形測繪等
- 點雲魔方(中國科學院遙感與數字地球研究所):植被應用,電力巡線等
- ENVI LiDAR; ArcGIS:含有部分點雲處理模組,主要用於遙感和林業
- Cyclone, Cloudworx, TruView: Leica徠卡開發,主要用於其地面鐳射雷達和移動(揹包式)鐳射
雷達資料處理 - Riscan Pro:主要用於處理 Riegl 瑞格地面鐳射雷達資料
- RealWorks(Trimble)
- Polyworks (Innovmetric); Geomagic (3D systems):逆向工程,主要用於機械測量
開源庫
- PCL (Point cloud library)
- Filter
- Segmentation
- Registration
- Keypoints
- Recognition
- 特點
- 支援多平臺(Win,Linux, Mac)
- 功能齊全,可擴充套件性好
- 廣泛用於機器人,很多開源演算法和 系統(ROS)
- Open3D
- Surface alignment
- 3D machine learning support with PyTorch and TensorFlow
- GPU acceleration for core 3D operation
- 特點 •
- 支援多平臺
- python整合成熟,可和 Pytorch, Tensorflow 整合
參考文獻
- Fernandes, D., Silva, A., Névoa, R., Simões, C., Gonzalez, D., Guevara, M., Novais, P., Monteiro, J. and Melo-Pinto, P., 2021. Pointcloud based 3D object detection and classification methods for self-driving applications: A survey and taxonomy. Information Fusion,68, pp.161-191.
- Florent Lafarge, Clément Mallet. Creating large-scale city models from 3D-point clouds: a robust approach with hybrid representation. International Journal of Computer Vision, Springer Verlag, 2012, 99 (1), pp.69-85. ffhal-00759265f
- Han, X.F., Jin, J.S., Wang, M.J., Jiang, W., Gao, L. and Xiao, L., 2017. A review of algorithms for filtering the 3D point cloud. Signal Processing: Image Communication, 57, pp.103-112.
- Landrieu, L., & Simonovsky, M. (2018). Large-scale point cloud semantic segmentation with superpoint graphs. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 4558-4567).
- Lin, X. and Zhang, J., 2014. Segmentation-based filtering of airborne LiDAR point clouds by progressive densification of terrain segments. Remote Sensing,6(2), pp.1294-1326.
- Rabbani, T., Van Den Heuvel, F. and Vosselmann, G., 2006. Segmentation of point clouds using smoothness constraint. International archives of photogrammetry, remote sensing and spatial information sciences,36(5), pp.248-253.
- Schnabel, R., Wahl, R., & Klein, R. (2007, June). Efficient RANSAC for point‐cloud shape detection. In Computer graphics forum
- Seif, H.G. and Hu, X., 2016. Autonomous driving in the iCity—HD maps as a key challenge of the automotive industry. Engineering, 2(2), pp.159-162
- Vo, A. V., Truong-Hong, L., Laefer, D. F., & Bertolotto, M. (2015). Octree-based region growing for point cloud segmentation. ISPRS Journal of Photogrammetry and Remote Sensing,104, 88-100.
- Yang, B., Luo, W. and Urtasun, R., 2018. Pixor: Real-time 3d object detection from point clouds. In Proceedings of the IEEE conference on Computer Vision and Pattern Recognition (pp. 7652-7660).
- Wang, N., Zhang, Y., Li, Z., Fu, Y., Liu, W. and Jiang, Y.G., 2018. Pixel2mesh: Generating 3d mesh models from single rgb images. In Proceedings of the European Conference on Computer Vision (ECCV) (pp. 52-67).