1 PCL的编译与安装
- 环境与版本
目前环境PCL1.12.1+VTK9.1+VS2022+Qt5.15.2+CGAL-5.3.2+···
环境配置,需要多次尝试,下面的博客写的很详细。
博客参考:
Win10+Qt6.4.2+VS2019+pcl1.12.1+vtk9.1.0环境配置
Windows PCL点云库不同版本的切换
Windows系统中基于PCL的Qt开发环境详细配置教程
VS2019+PCL1.12.1+Qt5.14.2编译VTK9.1(苦尽甘来系列)
资料链接
由于部分大部分内容有通用性,我把资料上传到CSDN
资料链接
提取码:prqi
2 PCL点云知识总结
2.1点云的概念
点云是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合,在获取物体表面每个采样点的空间坐标后,得到的是点的集合,称之为“点云”(PointCloud)。 点云图像是三维图像。
三维图像的表现形式包括:深度图(以灰度表达物体与相机的距离),几何模型(由CAD软件建立),点云模型(所有逆向工程设备都将物体采样成点云)。
点云的属性:空间分辨率、点位精度、表面法向量等。
三维数据表现形式
2.2点云处理
一般将点云图像处理分为三个层次:
- 低层次包括图像强化,滤波,关键点/边缘检测等基本操作。
- 中层次包括连通域标记(label),图像分割等操作。
- 高层次包括物体识别,场景分析等操作。工程中的任务往往需要用到多个层次的图像处理手段。
PCL官网对点云处理方法给出了较为明晰的层次划分:
2.3 点云文件格式
1 *.las
LAS文件格式是一种用于交换三维点云数据的公共文件格式,由美国摄影测量和遥感学会(ASPRS)维护。该格式不仅可以用于激光雷达点云数据,还支持其他任何三维xyz元组。
LAS文件格式的目的是提供一种开放的格式标准,允许不同的硬件和软件提供商输出可互操作的统一格式。V1.4-R15的LAS文件主要有四部分:
①公共头块(Public Header Block),主要包括版本号、时间、缩放因子、偏移值、范围等描述数据整体情况的信息;
②变长记录(Variable Length Records, VLRs),是LAS文件具有扩充性的呈现,其中包含一些变长类型数据,如坐标投影信息和用户信息等;
③点数据记录(Point Data Records),LAS文件按每条扫描线排列方式存放数据,包括激光点的三维坐标、回波、强度、扫描角度、分类、飞行航带、飞行姿态、GPS时间、点颜色等信息;
④ 扩展的变长记录(Extended Variable Length Records, EVLRs),类似于变长记录,但可以存储更多信息。
2 *.laz
LAZ文件格式是针对LAS文件的无损压缩格式,LASzip压缩器是无损的、非渐进的、流式的、保留原有点顺序的、支持随机访问的。据说编码和解码速度大约为100万-300万点/秒,可以将原有LAS文件大小压缩到7%-25%,默认分块点数量为5000万。
3 *.pcd
PCL官方指定格式,优点是支持n维点类型扩展机制,发挥PCL的处理性能。
PCD文件的文件头用于确定和声明文件中存储点云数据的某种特性,描绘点云的整体信息,必须用ASCII码。PCD文件存储的数据如果以ASCII形式,每点占据一行,用空格键或Tab键分开,没有其他任何字符;也可以用二进制存储格式。
4 *.txt/asc/neu/xyz/ptx/pts/csv
这几种数据格式都是ASCII格式。
如下图所示,这几种数据格式可以直观地查看数据,记事本、写字板、NotePad++等都可以打开;灵活性较强,可以自定义格式,点号、颜色、强度等属性可按需添加。但是,读写慢,占用空间大,对海量点云不适合。
.ptx和.pts是Leica的扫描仪与相关配套软件所使用的点云文件格式。
*.ptx文件采用单独扫描的概念,每个文件中可以有多组点云,一般一站为一组。每组点云都提供了单独的头信息,包括行列数、扫描仪位置、扫描仪主轴和转换矩阵等。基于头信息和存储的点坐标,除了可计算激光点在统一坐标系中的坐标外,还可以恢复每个激光点的扫描信息。
*.pts文件的第一行是点数。其后每一行单独存储一个点的信息,有7个值:X、Y、Z、Intensity、R、G、B。强度和颜色值的范围是0-255。
3 PCL重要模块
3.1 点云滤波模块:去噪声和离群值
pcl_filters模块包含了用于3D点云数据过滤应用的离群值和噪声去除机制。一般用于前期预处理,类似于OpenCV中的各种滤波算子组成的库,只不过操作数据不再是像素而是空间点。
滤波模块依赖库:common(公共库:公共数据结构和方法模块)
sample_consensus(样本一致性库:RANSAC等方法)
search(搜索库:数据搜索结构和最邻近方法)
kdtree(KD树结构)
octree(八叉树结构)
3.2 点云特征模块:计算几何图形特征
pcl_features库包含了从点云数据中估算3D特征的数据结构和机制。三维特征是空间中某一三维点或位置的表示形式,它根据该点周围的可用信息来描述几何图形。围绕该点选择的数据空间通常称为k-邻域。
特征模块依赖库:common search kdtree octree
range_image(由pcl/PointCloud派生而来,提供了从特定视角捕捉3D场景的功能。)
3.3 点云关键点模块:提取角点或其他独特的点
pcl_keypoints库目前(1.12.0)包含两个点云关键点检测算法的实现。关键点(也称为兴趣点)是图像或点云中稳定、独特的点,可以使用定义良好的检测标准进行识别。通常,兴趣点的数量将远小于点云中点的总数,当关键点与特征描述子结合在一起使用时能够对原始数据形成一个紧凑而具有描述性的表示。
关键点模块依赖库:common search kdtree octree range_image
features filters
3.4 点云配准模块:将几片点云组合成全局一致的点云集合
pcl_registration库为有序和无序(普遍)数据集实现了大量的点云配准算法。其关键思想是确定数据集之间的对应点,并找到一个使对应点之间的距离(对齐误差)最小的变换。这个过程是迭代的,受到数据集的相对位置和方向的影响。一旦对准误差低于给定的阈值,就称配准完成。
配准模块依赖库:common kdtree sample_consensus features
3.5 kdTree KD树模块:一种树状数据结构可提高点云搜索速度
pcl_kdtree库使用FLANN提供了kd-tree数据结构,允许快速的最近邻搜索。Kd-tree (k维树)是一种空间分区数据结构,它在树结构中存储一组k维点,可以进行有效的范围搜索和最近邻搜索。最近邻搜索是处理点云数据时的核心操作,可用于查找一组点或特征描述符之间的对应关系,或定义一个或多个点周围的局部邻域。但需要注意的是,kd-Tree能够减少点云的搜索时间,但初始化时需要消耗一定时间将点云排列存储成kd-tree结构。
kdtree模块依赖库:common
3.6 octree 八叉树模块一种树状数据结构,支持点云数据空间划分、下采样和搜索操作
pcl_octree库提供了从点云数据创建层次树数据结构的有效方法。这支持对点数据集进行空间划分、下采样和搜索操作。每个八叉树节点要么有8个子节点,要么没有子节点。根节点描述了封装所有点的立方体包围盒。在每个树级别上,这个空间被2的因子细分,从而增加体素分辨率。
octree模块依赖库:common
3.7 点云分割模块:多种不同分割算法组合用于物体分离
pcl_segmentation库包含了将点云分割成不同簇的算法。这些算法最适合处理由许多空间隔离区域组成的点云。在这种情况下,通常使用集群将云分解为其组成部分,然后可以独立处理这些部分。
分割模块依赖库:common search sample_consensus kdtree octree
3.8 样本一致性模块:多用于圆柱、平面等规则几何体的拟合或分割检测
pcl_sample_consensus库保存了像RANSAC这样的样本一致性(SAC)方法以及像平面和圆柱体这样的模型。这些可以自由组合,以检测点云中的特定模型及其参数。这个库中实现的一些模型包括:直线、平面、圆柱体和球体。平面拟合通常用于检测室内常见表面,如墙壁、地板和桌面。其他模型可以用来检测和分割具有共同几何结构的对象(例如,拟合一个圆柱体模型到一个杯子)。
目前(1.12.0版本)支持的模型包括:
平面、线、平行线、平面上二维圆、空间上三维圆、垂直于指定轴向的平面、法向约束的平面、
球面、圆柱面、圆锥面、表面法相约束的球面、条(杆)状物。
样本一致性模块所依赖的库:common
3.9 点云重建表面模块
pcl_surface库用于从3D扫描中重建原始表面。例如网格表示或光滑/重采样表面与法线表示的物体。如果点云存在噪声,或者是由多片没有完全对齐的扫描点云组成的,在重建表面前对当前点云集进行平滑和重采样是必不可少的。该算法可以调整曲面估计的复杂度,甚至可以同步估计出法线。网格划分是一种通用的方法来创建一个表面的点,目前PCL有两种算法提供:一个非常快速的原始点三角划分,和一个较慢的利用平滑和孔填充的网格划分方法。
点云重建表面模块依赖的库:common search kdtree octree
3.10 点云识别模块:类似于模板匹配
PCL识别模块包含用于物体识别应用的算法。类似于2D的模板匹配应用在3D点云上。但又有很多细节上有所不同,具体在后面的文章中再做具体展开。
点云识别模块依赖的库:common search features
3.11 点云输入输出IO模块:最为常用,PCL库的基础模块
pcl_io库包含用于读取和写入点云数据(PCD)文件的类和函数,以及从各种传感设备捕获点云。能直接使用PCL的IO库读取点云数据的设备种类有很多,例如使用OpenNI的设备:Primesense PSDK, Microsoft Kinect, Asus Xtion Pro/Live等。对于无法直接通信的设备也可以手动写一个点云格式转换函数完成衔接。
IO模块依赖的库:common octree OpenNi for kinect handling
uEye and Ensenso SDK for Ensenso handling
3.12 点云可视化模块:输出可视化点云,调整可视化颜色等参数
构建pcl_visualization库的目的是能够快速原型化并可视化在三维点云数据上操作的算法的结果。类似于OpenCV用于在屏幕上显示2D图像和绘制基本2D形状的高端gui。
该库提供如下功能:
1.为点云数据集渲染和设置视觉属性(颜色、点大小、不透明度等)的方法
2.基于点集或者参数方程在屏幕上绘制基本的3D形状(例如,柱面,球体,直线,多边形等)的方法
3.用于2D绘图的直方图可视化模块(PCLHistogramVisualizer)
4.多个几何和颜色处理程序的数据集
该模块包使用VTK库进行距离图像的3D渲染和2D操作。
可视化模块依赖的库:common VTK io kdtree RangeImage
附录 国内外点云处理著名的研究小组和学者
一、中国大陆
1. 厦门大学 李军、王程教授团队
(1)王程教授主页
http://www.cwang93.net/
2. 武汉大学 杨必胜教授团队
(1)主页
http://3s.whu.edu.cn/ybs/index.htm
(2)简介
研究小组综合利用3D计算机视觉、深度学习、摄影测量与遥感等技术手段,实现基于多源异构大数据(如:点云、影像、矢量、模型、物联网数据)的城市空间智能,
服务于高清地图、道路基础设施数字化及健康状况检测、5G信号仿真及优化选址、文化遗产保护、能源-环境-生态仿真与预测、森林资源调查、电力线安全诊断等领域。
研究方向包括:(1)点云智能处理与深度学习(2)地理空间智能与GIS应用 (3)激光扫描测量与无人机摄影测量。
3. 北京师范大学 张立强
(1)个人主页
http://www.escience.cn/people/zhangliqiang/index.html
4. 北京大学、山东大学 陈宝权
(1)个人主页
http://cfcs.pku.edu.cn/baoquan/
(2)Research Interests
General Interests: Computer Graphics and Visualization
Specific Interests: Large Environment Acquisition, Accelerated Rendering, Antialiasing, Volume Visualization
Applications: Scientific & Biomedical Visualization, Digital Architecture Design, Art and Entertainment
5. 首都师范大学 钟若飞
(1)个人主页
http://cret.cnu.edu.cn/szdw/js/79569.htm
(2)简介
研究小组主要研究方向为:遥感卫星设计与数据预处理、多传感器激光雷达集成与后处理、深度学习与计算机视觉
6. 中科院遥感所 王成教授团队
(1)团队主页
http://lidar.radi.ac.cn/
(2)简介
中科院遥感与数字地球研究所激光雷达遥感团队于2009年10月由王成研究员创建,专注激光雷达遥感机理、激光雷达植被参数反演、激光雷达三维建模以及其他各种应用。
7. 首都师范大学 张爱武
(1)个人主页
http://cret.cnu.edu.cn//szdw/js/63076.htm
(2)简介
研究小组主要研究方向为:高光谱影像,点云硬件软件开发
8. 中科院自动化所-模式识别国家重点实验室-机器视觉组
(1)团队主页
http://vision.ia.ac.cn/zh/index_cn.html
(2)简介
研究组主要研究方向为基于视觉影像的三维场景重建,视觉定位与姿态估计,机器人视觉导航等,同时将计算机视觉技术应用到中国古代文物修复、采矿区域边坡三维重建
航拍影像自动地形生成等领域。
9. 华中科技大学 白翔
(1)团队主页
http://cloud.eic.hust.edu.cn:8071/~xbai/
(2)简介
研究组主要研究方向为分割和形状表示。涵盖3D视觉,多传感器融合+
二、美国
1. 普渡大学 Habib教授团队
(1)主页
https://engineering.purdue.edu/CE/Academics/Groups/Geomatics/DPRG
2. Hunter College of City University of New York Ioannis Stamos教授团队
(1)主页
http://www.cs.hunter.cuny.edu/~ioannis/
(2)Google Scholar
https://scholar.google.com/citations?hl=en&user=ENLTjooAAAAJ&view_op=list_works&sortby=pubdate
3. 南加州大学 Computer Graphics and Immersive Technologies (CGIT) laboratory
(1)主页
https://graphics.usc.edu/cgit/index.php
(2)简介
The fields of computer graphics, computer vision, and immersive technologies all fall within the lab’s scope. Activities in the lab range from fundamental algorithms and mathematical methods to systems and application prototypes. Students engage in interdisciplinary research driven by realistic needs and problems. Unique domain knowledge is obtained through the laboratory’s twenty-year history of close ties to multidisciplinary centers such as CiSoft (Center for Interactive Smart Oilfield Technologies) and IMSC (Integrated Media Systems Center).
4. New York University, Chen Feng, AI4CE Lab
(1)团队主页
https://ai4ce.github.io/
5. Louisiana State University, Xin Li
(1)主页
http://www.ece.lsu.edu/xinli/
(2)Research Interests: Geometric & Visual Computing
Geometric Data Processing
Large-scale Visual (Geometric/Image/Spatiotemporal) Data Modeling and Understanding
Computer Graphics, Computer Vision, Image Processing and Analysis
6. Leonidas J. Guibas (his group includes the author of PointNet Charles Ruizhongtai Qi)
(1)个人主页
https://geometry.stanford.edu/member/guibas/
https://geometry.stanford.edu/member/rqi/
(2)简介
Professor Guibas heads the Geometric Computation group in the Computer Science Department of Stanford University.
He is acting director of the Artificial Intelligence Laboratory and member of the Computer Graphics Laboratory,
the Institute for Computational and Mathematical Engineering (iCME) and the Bio-X program.
His research centers on algorithms for sensing, modeling, reasoning, rendering, and acting on the physical world.
Professor Guibas’ interests span computational geometry, geometric modeling, computer graphics, computer vision, sensor networks, robotics, and discrete algorithms
— all areas in which he has published and lectured extensively.
7. UCSD, Su Lab, Hao Su
(1) homepage:
https://cseweb.ucsd.edu/~haosu/
(2) Masterpiece:
PointNet, PointNet++
8.NYU, Urban Modeling
(1)https://wp.nyu.edu/urbanmodeling/our-work/projects/
三、法国
1. CENTRE FOR ROBOTICS,MINES ParisTech NPM3D团队
(1)主页
http://caor-mines-paristech.fr/en/research/point-cloud-and-3d-modeling-pc3dm/
2.Inria Titane-Geometric Modeling of 3D Environments
(1)主页https://team.inria.fr/titane/
(2)简介
Our overall objective is the computerized geometric modeling of complex scenes from physical measurements. On the geometric modeling and processing pipeline, this objective corresponds to steps required for conversion from physical to effective digital representations: analysis, reconstruction and approximation. The related scientific challenges include i) being resilient to defect-laden data due to the uncertainty in the measurement processes and imperfect algorithms along the pipeline, ii) being resilient to heterogeneous data, both in type and in scale, iii) dealing with massive data, and iv) recovering or preserving the structure of complex scenes. We define the quality of a computerized representation by its i) geometric accuracy, or faithfulness to the physical scene, ii) complexity, iii) structure accuracy and controllability, and iv) amenability to effective processing and high level scene understanding.
四、德国
1. Cyrill Stachniss
(1)个人主页
http://www.ipb.uni-bonn.de/people/cyrill-stachniss/
(2)简介
Research Interests
Probabilistic Robotics
Localization, Mapping, SLAM, Bundle Adjustment
Autonomous Navigation and Exploration
Visual and Laser Perception
Scene Analysis and Classification
Robotics for Agriculture
Unmanned Aerial Vehicles (UAVs and MAVs)
Autonomous Cars, Logistics, Wheeled Robots, …
2. University of Bonn, Reinhard Klein
(1)主页
https://cg.cs.uni-bonn.de/en/people/prof-dr-reinhard-klein/
3. Institute for Photogrammetry (ifp), University of Stuttgart
(1)研究所主页
https://www.ifp.uni-stuttgart.de/en/institute/
4. TUM, Institute of Photogrammetry & Remote Sensing, Uwe Stilla
(1) Homepage:
http://www.pf.bgu.tum.de/
五、中国香港
1. HongKong PolyU, LSGI, Yao Wei
(1) Homepage:
https://yweirt.github.io/
六、加拿大
1. GrUVi Lab,Simon Fraser University Yasutaka Furukawa教授团队
(1) 团队主页
https://www2.cs.sfu.ca/~furukawa/
七、英国
1. University of Oxford Bo Yang
(1) 个人主页
https://yang7879.github.io/
(2)简介
研究方向主要包括:(1)实例和语义分割(2)machine learning, computer vision, and robotics
2. UCL Department of Civil, Environmental and Geomatic Engineering,Jan Boehm
(1) 个人主页
https://www.ucl.ac.uk/civil-environmental-geomatic-engineering/people/dr-jan-boehm
(2) 简介
Jan Boehm’s research focuses on photogrammetry, image understanding and robotics. With his background in Computer Science he wants to bridge the remaining gap between photogrammetry and computer vision. The latter provides key components to increased productivity in the geomatic processing pipeline. In past projects he already successfully leveraged the productivity in terrestrial laser scanning by introducing automation to georeferencing by direct georeferencing, automated registration using intensity features and automated modelling strategies.
八、荷兰
1.University of Twente, George Vosselman
(1)团队主页
https://research.utwente.nl/en/persons/george-vosselman
2.Delft, 3D GeoInformation Group
(1)团队主页https://3d.bk.tudelft.nl/
九、澳大利亚
1.The University of Adelaide
研究所主页
https://www.adelaide.edu.au/aiml/our-research
2. Department of Infrastructure Engineering, University of Melbourne Kourosh Khoshelham教授团队
(1)团队主页
https://people.eng.unimelb.edu.au/kkhoshelham/people.html
十、瑞士
1.ETH Zurich, Institute of Geodesy and Photogrammetry
(1) 团队主页
https://prs.igp.ethz.ch/
(2) Masterpiece:
Semantic3D Datase
2.ETH Zurich, Institute for Visual Computing
(1)团队主页
Computer Vision and Geometry Group(CVCG) https://cvg.ethz.ch/people/faculty/
Interactive Geometry Lab(IGL) https://igl.ethz.ch/
Computer Graphics Laboratory(CGL) https://cgl.ethz.ch/people/faculty.php
十一、其他国家
1. National University of Singapore, Gim Hee Lee
(1) homepage
https://sites.google.com/site/gimheelee/
(2) Research interests
Computer Vision: Minimal Problems, 3D Computer Vision, Structure-from-Motion (SfM), Visual Place Recognition, 3D Human Pose Prediction/Estimation, 3D Object Detection, and Scene Understanding.
Robotic Perception: Self-driving car, Micro-Aerial Vehicles (MAVs), Visual Odometry, and Simultaneous Localization and Mapping (SLAM).
Machine Learning: Deep Learning and Probabilistic Graphical Modeling.
2. Computer Vision Lab, University of Bologna, Italy
(1) homepage
http://www.vision.deis.unibo.it/
(2) Masterpiece:
SHOT
3. Applied Geotechnologies Research Group, University of Vigo, Spain
(1)homepage
http://geotech.webs.uvigo.es/index.html
(2)leader’s Google Scholar
https://scholar.google.es/citations?hl=es&user=ukRzH4oAAAAJ&view_op=list_works&sortby=pubdate
(3)团队简介
The Applied Geotechnologies Group is a research team at the University of Vigo that develops, tests and applies geo-technologies for problem solving in different fields such as environment, cultural heritage, terrestrial and coastal infrastructures and architecture.
Nowadays, the main research lines include infrastructure management systems and energy efficiency studies based on as-built BIM reconstruction.
The group was recently recognized as Galician reference group because of the quality of the scientific publications and the number of successful R&D projects funded by external agents.