PCL专栏目录及须知

目录

1.前言

2.Filters(滤波)

2.1 抽稀

2.2 去噪

2.3 平滑

2.4 裁剪

2.5 其他常用滤波

3.Features(特征)

3.1 法向量计算

3.2 边界提取

3.3  点云分割

3.4 三维重建

3.5 其他

4.common(通用)

4.1 基础计算

4.2 距离及投影计算相关

4.3 点云操作相关

5. IO(读写PCL相关文件)

5.1 读写文件相关

6.KdTree(KD树)

7.OcTree(八叉树)

8.Registration(配准)

8.1 点对相关

8.2 配准相关

8.2.1 粗配准

8.2.2 精配准

9. sample_consensus(采样一致性拟合)

9.1 拟合算法相关

9.2 拟合模型相关

10. Segmentation(分割)

11. Surface(三维重建)


1.前言

 本专栏PCL所有文章,基于PCL1.12.1VS2019windows10

使用数据均为PCL自带的测试数据。

本专栏按照PCL接口文件目录顺序依次实现每个目录中的所有文件(不包含PCL自身调用的接口文件,如clipper3D.h这样的类),方便使用者查找学习。

本专栏目的在于你工作的时候,了解大概原理和关键函数,然后就可以上手使用,如果想知道内部很具体的数学计算逻辑,之后有机会会补充。

所有的原理和关键函数都用自己的语言进行了尽量直白的描述,没有直接把英文注释翻译一下搬上来,并且较难理解的部分有配图(拒绝学术性语言,教程是教怎么用,不是装高手)

读者有什么建议的话,可以在下面留言,专栏写的顺序暂时定为:PCL、OSG/OSGearth、Opencv

一起进步。

转载请附上我的博客链接:者山海-优快云博客https://blog.youkuaiyun.com/xhm01291212?spm=1011.2266.3001.5343

2.Filters(滤波)

2.1 抽稀

体素滤波(voxel_grid)

体素中心点滤波(approximate_voxel _grid)

均匀采样滤波(uniform_sampling)

随机采样滤波(random_sample)

法向量空间下采样滤波(normal_space)

表面法线滤波器(sampling_surface_normal)

2.1.1 抽稀对比

实际使用优先级:

体素滤波 > 体素中心滤波 > 均匀采样滤波 > 随机采样滤波 > 法向量空间下采样滤波 > 表面法线滤波。

抽稀速度对比:

随机采样滤波 > 体素滤波 > 体素中心滤波 > 均匀采样滤波 >法向量空间下采样滤波 ≈ 表面法线滤波。

抽稀效果对比:

均匀采样滤波 > 体素滤波 > 体素中心滤波>随机采样滤波

2.2 去噪

统计滤波(statistical_outlier_removal)

半径滤波(radius_outlier_removal)

中值滤波(median_filter)

高斯滤波(convolution_3d)

2.2.1 去噪对比

实际使用优先级:

半径滤波 > 统计滤波 > 高斯滤波 > 中值滤波

去噪速度对比:

半径滤波 > 中值滤波 > 统计滤波 > 高斯滤波

去噪效果对比:

几种往往结合使用

2.3 平滑

双边滤波(bilateral)(强度)

快速双边滤波(fast_bilateral、fast_bilateral_omp)(强度)

高斯滤波(convolution_3d)

中值滤波(median_filter)

2.3.1 平滑对比

实际使用优先级:

高斯滤波 ≈ 中值滤波

快速双边滤波 > 双边滤波(强度)

2.4 裁剪

3D平面裁剪滤波(PlaneClipper3D)

视锥体裁剪(frustum_culling)

2D多边形裁剪(crop_hull)

立方体裁剪(crop_box)

三维立方体裁剪点云(box_clipper3D)

2.5 其他常用滤波

直通滤波(passthrough)

条件滤波器(conditional_removal)

投影滤波(project_inliers)

模型滤波(model_outlier_removal)

索引滤波(extract_indices)

移除阴影点(shadowpoints)

局部最大值滤波(local_maximum)

最低栅格滤波(grid_minimum)

3.Features(特征)

3.1 法向量计算

点云法线计算(Feature_Normal3d)

密集数据表面法线估计(Feature_LinearLeastSquaresNormalEstimation)

积分图法线估计(Feature_IntegralImageNormal)

3.1.1 法向量计算对比

点云法线计算:速度慢,较准确,常用,计算每个点的法向量,可用于无序点云及有序点云。

密集数据表面法线估计:速度快,准确度不及其他,不常用,计算部分特征点的法向量,可用于无序点云及有序点云。

积分图法线估计:速度快,准确性较好,不常用,计算每个点的法向量,只适用于有序点云。

3.2 边界提取

基于法向量的点云边界提取(boundary)

3.3  点云分割

法线微分分割(Don)

3.4 三维重建

点云表面凸包重建(Surface_Convex_hull)

3.5 其他

3D形状上下文特征(Feature_3dsc)

获取点云AABB包围盒(Feature_MomentOfInertiaEstimation)

获取点云OBB包围盒(Feature_MomentOfInertiaEstimation)

获取点云特征值+特征向量(Feature_MomentOfInertiaEstimation)

计算点云曲率(Feature_PrincipalCurvatures)

4.common(通用)

4.1 基础计算

角度转换相关

计算点云质心

计算点云的协方差矩阵

计算两向量夹角

平均值和标准差计算相关

计算三个点外接圆半径

中值计算

计算两条直线的交点

计算两个平面的交线

计算三个平面的交点

求解多项式方程式相关

4.2 距离及投影计算相关

求距离某点最远的点云点

获取给定点云点的最大最小XYZ值

计算两点间距离

计算两点间距离的平方

计算点投影到平面(平面由原点和法向量定义)

计算平面原点指向投影点的单位向量(平面由原点和法向量定义)

4.3 点云操作相关

判断点云中哪些点在box盒中

PCA主成分分析计算点云最小包围盒

计算多边形点云的面积

关于pcd文件夹及文件名称的IO操作

有序点云和无序点云

处理点云字段(pcl::PCLPointField)

点云拷贝

拼接两个字段(pcl::PCLPointField)相同的点云

拼接两个字段(pcl::PCLPointField)不同的点云

5. IO(读写PCL相关文件)

5.1 读写文件相关

读取ASCII类型点云文件【*.txt、*.asc、*.neu、*.xyz、*.pts、*.csv】

读写OBJ格式文件

PCD文件的读取和写入

.ply文件的读取和写入

6.KdTree(KD树)

KD树的原理及应用(K邻域搜索、半径搜索)

7.OcTree(八叉树)

八叉树的介绍

空间变化检测

体素搜索

K邻域搜索

半径搜索

获取八叉树中,与射线相交的所有体素块的索引

获取八叉树中,用户指定范围内的所有体素块的索引

获取与输入点最邻近点的索引

8.Registration(配准)

8.1 点对相关

基于法线信息寻找对应点对

基于反投影法寻找对应点对

寻找点云对应点对关系

基于特征点寻找对应点对

根据距离筛选对应点对

根据中值筛选对应点对

一对一删除重复点对

根据法线一致性筛选对应点对

根据ICP重叠率估计筛选对应点对

8.2 配准相关

8.2.1 粗配准

4PCS点云粗配准

8.2.2 精配准

ICP精配准【点到点】

ICP精配准【点到面】

NDT精配准

9. sample_consensus(采样一致性拟合)

9.1 拟合算法相关

LMedS最小中值平方拟合(以拟合平面为例)

MLESAC极大似然采样一致性估计(拟合平面为例)

MASC M估计样本一致性(拟合平面为例)

Prosac算法(拟合平面为例)

RANSAC随机采样一致性拟合(拟合平面为例)

RMSAC算法拟合(拟合平面为例)

9.2 拟合模型相关

拟合二维圆(以RANSAC为例)

拟合三维圆(以RANSAC为例)

拟合直线(以RANSAC为例)

拟合球体(以RANSAC为例)

拟合圆柱(以RANSAC为例)

拟合圆锥(以RANSAC为例)

10. Segmentation(分割)

渐进式形态学滤波(去除地面/ 提取地面点)

欧式聚类(点云分簇)

条件欧氏聚类(欧式聚类的拓展)

分割得到平面上的物体

区域生长分割(分割建筑物或地面的各部分)

基于颜色的区域生长分割(分割具有颜色流通性的各部分)

11.Surface(三维重建)

点云表面凸包重建(2D/3D)

计算点云凹包(2D及3D)

Delaunay贪婪投影三角化

网格投影曲面重建(生成结果为体素块形式)

Marching cubes移动立方体重建(HOPPE)

Marching cubes移动立方体重建(RBF)

MLS移动最小二乘法上采样

Possion泊松表面重建

耳切法三角剖分(用于简单多边形的三角剖分)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值