目录

3D匹配算法简述

3D匹配算法简述

一.什么是3D匹配

• 形状、大小一致的源点云与目标点云之间的刚体变换。

• 源点云通过平移与旋转操作变换到目标点云位置使之重合。

• 源点云与目标点云坐标系之间的变换。

https://i-blog.csdnimg.cn/direct/776db339eea744fa95b541aadf9a3c0d.png

典型的应用流程为:

3D相机数据采集—-点云生成—-点云处理—-目标点云提取—- 3D模板匹配 —-位姿估计

3D模板匹配的流程为:3D粗匹配—-3D精匹配

二.粗匹配的原理(PPF算法)

基于点对特征的匹配过程:

• 对源点云所有点对特征进行记录

• 遍历目标点云点对,并在记录中查找特征一致的点对。

• 通过对应点对求取源点云到目标点云

的转换关系。

https://i-blog.csdnimg.cn/direct/e15705eaf8db49e49a81077e231e92a3.png

1. PPF的定义:

(1)两点间的距离:|d|

(2)点1的法线与向量d的夹角

(3)点2的法线与向量d的夹角

(4)点1的法线与点2的法线的夹角

2.off-line准备:

(1)计算模型点云中任意两点的PPF

(2)以其为哈希表的key并在对应的位置存入点对信息

https://i-blog.csdnimg.cn/direct/0e9c6885c14849b3a31408616522f30b.png

创建的哈希表如下:

PPFPairs
F(m1, m2)(m1, m2),(m3, m4),(m7, m9),(m7, m10),(m1, m6)……
F(m2, m3)(m2, m3),(m3, m5),(m4, m8),(m6, m8),(m7, m8)……
F(m1, m4)(m1, m4)
…………
…………

3.PPF的步骤

(1)取得点云后,在点云中选择一个参考点

(2)将场景中的点分为参考点(reference point)和其他的点(refered point),在参考点中选择一点,并与其他的点种的每一个点组成的点对且计算PPF

https://i-blog.csdnimg.cn/direct/df43618e900a42ab82df24c245408b60.png https://i-blog.csdnimg.cn/direct/8fac8f3da76e4f70906d8dfaa7115c54.png

如选择一个参考点Sr1,计算每个点对的PPF,即为计算F(Sr1, Si1),F(Sr1, Si2),F(Sr1, Si3)……

(3)用计算的PPF来查哈希表,并将对应的模型点云中的点对抽出

查表的例子:

https://i-blog.csdnimg.cn/direct/41110346ea464f5fb61f1537c06a202c.png https://i-blog.csdnimg.cn/direct/aa9e034c181945d38432bc610c6a3a9b.png

(4)通过抽出的点对计算位姿(局部坐标系)

将场景的点Sr和模型的点mr转移到世界坐标系原点,将此两点的法线并齐,计算旋转角α

https://i-blog.csdnimg.cn/direct/1766fe39f7564bf08e7545264c2d0c4a.png

计算位姿的例子:

https://i-blog.csdnimg.cn/direct/43023b1734b54ed8b2b344365a59ee42.png

https://i-blog.csdnimg.cn/direct/2d576d5ebc1745d49107e76fe849cbcd.png

依次计算每个点对的位姿,得到旋转角α,

(5)对(位姿,对应的模型点)进行投票

(6)输出最高票的(位姿,对应的模型点)

(7)改变参考点并重复步骤2–6

在完成此步骤后,对于每一个参考点有一个组合F=(参考点,对应的模型的点,位姿,票数)

(8)进行聚类并输出位姿

对F中的位姿进行聚类,计算每个cluster的分数并输出最高票数对应的位姿,分数是每个cluster中所有参考点的票数总和

三.精匹配的原理

精匹配常用的方法有

1. Iterative Closest Point(ICP)

迭代最近点:由于未知点集间对应关系,即认为距离最近的两个点为对应点,所以称为迭代最近点。

求解方法:构建为最小二乘问题,求解使两个点集误差平方和最小的变换(R,T)

方法一:点到点匹配,基于svd分解的解析解

方法二:点到面匹配,基于非线性优化的迭代解

https://i-blog.csdnimg.cn/direct/bf9d426d0f6e41be92213cb2f728867b.png

优点:思路简单,实现容易

缺点:对噪声和异常点比较敏感,鲁棒性较差

2.Coherent Point Drift CPD

将点云匹配问题,构建为基于高斯混合模型的极大似然估计,并通过期望最大算法(EM算法)求解。

以每一个模型点的坐标为中心,构建一个高斯核

,组成高斯混合模型。每一个场景点,置身于高斯核中,与每一个模型点构成的高斯核有一个对应关系,比如最近点的对应概率可能是0.8,次近点可能是0.19,其它点的对应关系非常小0.01。

那对应概率最大的模型点高斯核,即为该场景点的对应点

,归一化后的

概率值即为点对权重

通过高斯混合概率分布表达模型点和场景点的对应关系(对应点+权重),而不是ICP硬性假设最近点100%就是对应点。

https://i-blog.csdnimg.cn/direct/80cf3891f167459ca06feb15eb79e19b.png

EM

算法建模、求解过程

优化目标:估计一组参数,使场景点云在根据模型云构造的高斯混合模型中后验概率最大,即使模型点和场景点间距均方误差最小。

已知参数:高斯核的位置(均值)

未知参数:高斯核的方差是什么?模型点与场景点之间的对应关系?已知对应关系后,模型点到场景点之间的位姿变换?

EM迭代过程:

第一步,初始化:

根据粗匹配初始位姿,将高斯核初始位置(均值)构建在每个模型点上,根据粗匹配的位姿偏差人工设置一个默认值(比如3毫米)。

第二步,Expection-Step

(

求解对应关系

)

计算场景点在每个模型高斯核中概率值,取概率最大的高斯核模型点为对应点,归一化后的概率值为点对权重。

第三步,Maximization-Step(求解位姿变换):

已知模型点与场景点的对应关系(对应点+权重),构建为最小二乘问题,求解使两个点集误差平方和最小的变换(R,T)

交替进行,获取最佳对应关系和匹配位姿。

https://i-blog.csdnimg.cn/direct/db87593aaaa6429689714d13719acba8.png

优点:鲁棒性优于

ICP

缺点:时间复杂度

O

mnd

),点数稍多,速度极慢,无法在真实应用场景推广应用

3. FilterReg

基本思想:

将点云匹配问题,构建为基于高斯混合模型的极大似然估计,并通过期望最大算法(EM算法)求解。

不同于

CPD

,为了避免每次迭代后都要重建场景

lattice

FilterReg

将高斯混合模型构建在场景点上。

CPD

取得是概率最大的一个点作为对应点。

FilterReg

是周围一定范围内所有点的权重均值。

https://i-blog.csdnimg.cn/direct/a5296e2cd5864804aed385a7a22750ae.png

如何获取模型点对应的场景点

Expectation

step)

通过permutohedral lattice将场景点云构建为高维高斯过滤模型,模型点投影到lattice数据结构中,对模型点3倍标准偏差范围内的场景点做高斯过滤,过滤后的目标点即为模型点的对应点。

https://i-blog.csdnimg.cn/direct/05a8000bf34f4e9ab73a9c39550c3a07.png

如何计算点对权重?

FilterReg中点对权重表达的物理意义:

模型点找到的场景点非outlier point的概率,可以称为点对有效性概率。

计算方式:

weight sum = 模型点在lattice中收集的权重和

点对有效性概率 = weight sum / (weight sum + constant)

从计算公式理解,模型点投影的lattice中,点数越多,距离lattice中心越近,那么权重和越大,点对有效性越高。

https://i-blog.csdnimg.cn/direct/d7065a7f8ad44dba826304f020b23dae.png

https://i-blog.csdnimg.cn/direct/add27a5acfd34407a77bef32f0ef2c58.png

4.EM算法收敛性

EM算法为什么能收敛呢?

EM算法收敛性的简易理解角度:坐标上升法(coordinate ascent)。

图中的直线式迭代优化的路径,可以看到每一步都会向最优值前进一步,而且前进路线是平行于坐标轴的,因为每一步只优化一个变量。

这犹如在x-y坐标系中找一个曲面的极值,然而曲面函数不能直接求导,因此梯度下降方法就不适用了。但固定一个变量后,另外一个可以通过求导得到,因此可以使用坐标上升法,一次固定一个变量,对另外的求极值,最后逐步逼近极值。

对应到EM上:

E步:固定模型初始位姿,优化点对对应关系;

M步:固定点对对应关系,优化模型位姿;

交替进行将极值推向最大。

https://i-blog.csdnimg.cn/direct/8c15464e77864e5e875fb02c72714cad.png

5. 点集配准收敛条件

条件一,模型初始位姿临近目标极值,即粗匹配的初始位姿偏差不能过大。

例:曲轴工件,粗匹配给出了反向位姿

条件二,模型点云和场景点云在形状上提供足够的约束

约束刚体位姿需要六个维度,任意一个维度上缺失足够的约束,都无法输出唯一的全局最优解。

例:轴对称物体,下图工件沿X轴对称,所以Y轴和Z轴的方向是在X轴的垂直平面上是随机状态,没有提供足够约束,即在Y轴和Z轴未提供足够的约束。