【泡泡点云时空-PCL源码解读】PCL中的点云配准方法

2019 年 6 月 16 日 泡泡机器人SLAM

泡泡点云时空,带你剖析PCL点云库

作者:徐二帅

来源:个人总结

审核:吕佳俊

欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权

大家好,欢迎来到泡泡点云时空的PCL点云库推广版块,今天继续给大家分享PCL点云库的使用。PCL点云库作为点云算法研究开源库,不断的集成最新的点云研究领域成果,优化代码结构,算法涉及点云去噪、点云滤波、点云分类和点云配准等方面,为点云研究人员提供了点云处理函数调用接口,极大简化点云算法的测试和应用,今天给大家带来PCL点云库中点云配准c++类总结,具体类的使用可参照PCL官网提供documentation网页,网址:http://docs.pointclouds.org/1.9.1/

基于对应3D匹配计算变换矩阵

点云配准中确定两点云中多个同名点对可实现点云的配准,具体的,三维点云构造点几何邻域特征或深度学习特征,进而进行特征匹配获得最优同名点对,最后计算对应点对间最优变换矩阵。

CorrespondenceEstimation类

用来确定两点云中的对应匹配关系。

CorrespondenceRejectorFeatures类

能够实现基于特征匹配的对应点对提取。

SampleConsensusPrerejective类

实现了基于RANSAC方法的对应点对外点去除,用于姿态评估和点云配准中的几何一致性限制,从而保证后续算法的准确和高效。

TransformationEstimation3Point类

实现使用三个匹配点计算两点云变换矩阵。

TransformationFromCorrespondences类

实现三个及以上匹配点间变换矩阵的计算。

TransformationEstimationDQ类和TransformationEstimationDualQuaternion类

实现基于对偶四元数的点云姿态估计。

TransformationEstimationLM类

实现基于对应匹配点对,用Levenberg-Marquardt优化的变换矩阵估计。

TransformationEstimationPointToPlane类

实现基于Levenberg-Marquardt优化的匹配点对间最小点到平面距离的最优变换矩阵计算。

TransformationEstimationPointToPlaneWeighted类

在TransformationEstimationPointToPlane类的基础上加入了对应匹配点的权重,以适应更为复杂场景点云配准任务。

TransformationEstimationPointToPlaneLLS 类

基于线性最小二乘的点到平面距离累计最小化约束,对应点到平面的距离计算加入法向量约束,具体内容参照论文:Linear Least-Squares Optimization for Point-to-Plane ICP surface registration 2014

TransformationEstimationPointToPlaneLLSWeighted类

在TransformationEstimationPointToPlaneLLS 类基础上加入了对应点匹配权重,从而更合理的计算匹配点间变换矩阵。

TransformationEstimationSVD类

使用SVD分解策略完成匹配点对的变换矩阵计算。

TransformationValidationEuclidean类

实现了给定对应匹配的变换,并计算可靠性得分。


图1 对应点匹配计算转换矩阵

基于迭代最近点的配准方法

IterativeClosestPoint类

实现迭代最近点算法(ICP)。

IterativeClosestPointNonLinear类

ICP算法的变体,后端使用Levenberg-Marquardt作为优化。

GeneralizedIterativeClosestPoint类

ICP算法的变体,实现了一般化的ICP算法,具体参考Generalized-ICP论文。

GeneralizedIterativeClosestPoint6D类

集成了L*a*b*颜色空间到Generalized-ICP算法中。

IterativeClosestPointWithNormals 类

ICP算法的变体,以点到平面的最小距离作为迭代优化对象,实现点云配准。

基于RANSAC框架的点云粗配准

FPCSInitialAlignment 类

实现《4-points congruent sets for robust pairwise surface registration》中的4PCS算法;

KFPCSInitialAlignment类

实现《Markerless point cloud registration with keypoint-based 4-points congruent sets》中的k4PCS算法。

图2 4PCS粗配准方法

基于概率模型的点云配准方法

NormalDistributionsTransform(NDT)类

统计分析点云中法向量分布,来实现点云的转化和配准。具体参考The Three-Dimensional Normal-Distributions Transform an Efficient Representation for Registration(2009)实例参考网址:http://www.pclcn.org/study/shownews.php?lang=cn&id=80

点云配准流程框架

MetaRegistration类

提供了一个迭代配准流程,使用该流程可以将新加入点云不断配准到基准点云中;

IncrementalRegistration类

提供了一种配准点云流的方法,其中每个云都将与前一个云对齐,其中对齐方法限定为ICP算法。

SLAM相关点云配准方法

GraphHandler类

提供了通用SLAM的实现流程;

LUM类

实现了Lu和Milios的GraphSLAM方法,GraphSLAM算法实现了将待配准点云以图的形式进行配准。具体论文参照:《Globally Consistent Range Scan Alignment for Environment Mapping》和《The Efficient Extension of Globally Consistent Scan Matching to 6 DoF》,


如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号。

欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。

有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!

泡泡网站:www.paopaorobot.org

泡泡论坛:http://paopaorobot.org/forums/


泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!

商业合作及转载请联系liufuqiang_robot@hotmail.com


登录查看更多
69

相关内容

根据激光测量原理得到的点云,包括三维坐标(XYZ)和激光反射强度(Intensity)。 根据摄影测量原理得到的点云,包括三维坐标(XYZ)和颜色信息(RGB)。 结合激光测量和摄影测量原理得到点云,包括三维坐标(XYZ)、激光反射强度(Intensity)和颜色信息(RGB)。 在获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,称之为“点云”(Point Cloud)
【开放书】SLAM 中的几何与学习方法,62页pdf
专知会员服务
109+阅读 · 2020年6月5日
CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
专知会员服务
43+阅读 · 2020年4月17日
专知会员服务
41+阅读 · 2020年2月20日
知识图谱本体结构构建论文合集
专知会员服务
106+阅读 · 2019年10月9日
【泡泡点云时空-PCL源码解读】ICP点云精配准算法
泡泡机器人SLAM
179+阅读 · 2019年5月22日
【泡泡点云时空】完美配准:具有平滑密度的3D点云配准
泡泡机器人SLAM
61+阅读 · 2019年5月16日
【泡泡点云时空】集成深度语义分割的3D点云配准
泡泡机器人SLAM
28+阅读 · 2018年11月24日
基于几何特征的激光雷达地面点云分割
泡泡机器人SLAM
15+阅读 · 2018年4月1日
A Sketch-Based System for Semantic Parsing
Arxiv
4+阅读 · 2019年9月12日
VIP会员
Top
微信扫码咨询专知VIP会员