三维扫描系列 点云绪论
本文是学习肖勇大神的点云课程总结的笔记,仅供个人学习使用。
肖勇 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
image-20210314100935007 分类
星载:卫星 机载:飞机,无人机 地面:三脚架上固定 移动:车辆,机器人等
星载激光雷达
常见系统 GLAS星载激光雷达 系统(Geoscience Laser Altimeter System) CALIOP星载激光雷 达 ALADIN星载多普勒 激光雷达 image-20210314101202934
机载激光雷达
机载激光雷达 使用配有 GPS/IMU的飞机(无人机) 获取大范围的点云 特点 精度高:10cm 大尺度测绘 应用领域 大尺度(城市级别)测绘 DEM 正射影像 (高精度相机)

地面激光雷达
地面激光雷达 激光雷达通常固定在三角架上,进行 较大范围扫描获取点云。 特点 精度高:可达到 mm 距离远:可达到400m 扫描速度快:Leica RTC360 1s 采集 ~200万点云 应用 文物三维扫描建模 地形测量

移动激光雷达
移动激光雷达
激光雷达通常跟着移动物体( 机器人无人车),进行较大范 围扫描获取点云 特点
精度高:cm 距离远:~240m 扫描速度快:10Hz, 200万点 云每秒 应用
无人车,机器人
街景测量
image-20210314101740973
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 Find some pairs of closest points (𝑝𝑖,𝑞𝑖) Optimize 𝑅,𝑡 to minimize Given two scans 𝑃 and 𝑄, initial transformation between them 𝑅,𝑡 Iterate

点云分割 (segmentation)
根据空间、集合等特征将点划分为不同的集合。 常用方法 基于边缘的方法:变成图像,使用边缘信息 基于区域生长 几何模型拟合:拟合平面,球形,圆柱等


Segmentation using smoothness constraint image-20210314103110235
点云目标检测 (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).
End
赞 (0)