PCL的采样一致性

    看了《点云库PCL从入门到精通》采样一致性这章,说实话,并不是很懂。先把自己理解的部分内容记录一下,以后深入了解之后再补充。
    PCL中以随机采样一致性算法(RANSAC)为核心,这一章涉及的基于采样一致性算法的应用主要是对点云进行分割,根据不同的设定几何模型,估计对应的几何模型参数,在一定允许误差范围内分割出在模型上的点云。这里主要对采样一致性进行介绍,点云分割部分会在之后文章中详细讨论。
    目前PCL中支持的几何模型分割有空间平面,直线,二维,或三维圆周、圆球、锥体等。随机采样一致性估计的另一个应用就是点云的配准对的剔除。

随机采样一致性相关概念及算法

RANSAC随机采样一致性算法:
    RANSAC算法是一种不确定的算法——它有一定的概率得出一个合理的结果;为了提高概率必须提高迭代次数。

    这里可以将数据分两种:局内点(inliers)和局外点(outliers)。偏差不大的数据称为有效数据,偏差大的数据是无效数据。如果有效数据占大多数,无 效数据只是少量时,我们可以通过最小二乘法或类似的方法来确定模型的参数和误差;如果无效数据很多(比如超过了50%的数据都是无效数据),最小二乘法就失效了,我们需要新的算法.

    一个简单的例子是从一组观测数据中找出合适的2维直线。假设观测数据中包含局内点和局外点,其中局内点近似的被直线所通过,而局外点远离于直线。简单的最 小二乘法不能找到适应于局内点的直线,原因是最小二乘法尽量去适应包括局外点在内的所有点。相反,RANSAC能得出一个仅仅用局内点计算出模型,并且概 率还足够高。但是,RANSAC并不能保证结果一定正确,为了保证算法有足够高的合理概率,我们必须小心的选择算法的参数。

在这里插入图片描述

RANSAC算法的输入是一组观测数据一个可以解释或者适应于观测数据的参数化模型一些可信的参数

  1. RANSAC从样本中随机选择数据中的一个样本子集,用最小方差估计算法对这个子集计算参数模型,然后计算所有样本与该模型的偏差,再使用一个预先设定好的阈值与这个偏差比较,当偏差小于阈值时,该样本点属于模型内样本点inliers,否者为模型外样本点outliers。
  2. 记录下当前的inliers,并重复这1中的过程。每一次重复,都记录当前最佳的模型参数,所谓最佳,就是inliers的个数最多。此时对应的inliers个数为best_ninliers。每次迭代的结尾,都会根据期望的误差率,best_ninliers,总样本个数,当前迭代次数,计算一个迭代结束评判因子,据此决定是否迭代结束。迭代结束后,最佳模型参数及时最终的模型参数估计值。

理论上RANSAC可以剔除outliers的影响,并得到全局最优的参数估计。但是RANSAC算法有两个问题:

  1. 每次迭代中都要区分outliers和inliers,因此需要事先设定阈值。当模型有明显的物理意义时,这个阈值还比较容易设定,但是若模型比较抽象时,这个阈值就不那么容易设定,而且固定阈值不适用于样本动态变化的应用。
  2. RANSAC的迭代次数是运行期决定的,不能预知迭代的确切次数。除此之外,RANSAC只能从一个特定数据集中估计一个模型,当两个或者更多个模型存在时,RANSAC不能找到别的模型。

LMedS最小中值方差估计算法

    LMedS也是一种随机参数估计算法。LMedS也从样本中随机选择数据中的一个样本子集,用最小方差估计算法对这个子集计算参数模型,然后计算所有样本与该模型的偏差。但是不同的是,LMedS是记录所有样本中,偏差值居中的那个样本的偏差(称为Med偏差),以及本次计算得到的模型参数。
    这样一来,就不要预先设定阈值来区分outliers和inliers了。重复前面过程N次,从N个Med偏差中挑一个最小的,其对应的模型参数就是最终的模型参数估计值。其中迭代次数N是由样本子集中样本的个数、期望的模型误差、预先估计的样本中outliers的比例所决定的。这克服了RANSAC算法的两个缺点,但是也有本身的缺点,即当outliers的比例在样本中达到或者超过50%时,就无法使用。

PCL中Sample_consensus模块支持的几何模型

(1)SACMODEL_PLANE(三维平面):设置4个参数,平面法向量的坐标及常量d值。ax+by+cz+d=0。从点云中分割提取的内点都处在估计参数对应的平面上,或与平面距离在一定范围内

used to determine plane models. The four coefficients of the plane are itsHessian Normal form: [normal_x normal_y normal_z d] 
    a : the X coordinate of the plane's normal (normalized)
    b : the Y coordinate of the plane'
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值