4-Points Congruent Sets for Robust Pairwise Surface Registration——4PCS阅读笔记
4-Points Congruent Sets for Robust Pairwise Surface Registration
1. 背景
1.1. 问题描述
给定两个处于任意初始位置的点集和,找到两个点集之间的最佳刚性变换,使得,中两点间距离小于的点数最多。
1.1.1. RANSAC
- 分别在点集和点集中任意选取三个点来组成一个基础关联对
- 计算这个关联对的旋转矩阵
- 计算点集中处在点集中的点距离内的点的个数
- 如果足够大,则认为是个好结果,否则重读以上步骤
- 这个过程将被重复次,选取最高的作为最后的结果
1.1.2 Randomized Alignment
- 在点集中随机选取一个base
- 计算在点集中所有有可能的bases,得到旋转矩阵
- 验证配准
- 先验证部分点集重合
- 验证剩余点
如何有效的计算可能的bases,提出4点法,基于共面点(planar congruent sets)
1.2. 4点法概述
使用从点集中选取的共面四点作为base ,然后采用一定的算法在点集中找到所有的与近似一致的共面4点对,近似一致指的是两个4点对可以经过刚性变换(rigid transformation)在允许范围(allowed tolerance)内对齐
2. 4点法
2.1 Overview
仿射变换遵循以下法则,给定三个共线点,那么比例是不变的。给定一个共面四点标准对(coplanar 4-points base sets),我们在给定的数据点中寻找近似仿射相等的共面四点对,接着我们确认这些共面四点对与选定的共面四点标准对是否在一定的距离约束下相等。
2.2 4点对的仿射不变性
并非全共线的一个共面四点集,定义了两个独立的比率。令,相交于点,则两个独立的比率为:
在仿射变化中是不变的并且是唯一的。
现在给定一个具有个点的点集,以及两个由点得到的仿射不变的比率,,对每一对点,计算他们的中间点:
若任意两对这样的点,一对由计算得到的中间点和另一对由计算得到的中间点在允许范围内一致,那么可以认为这两对点可能是中基础点的仿射对应点。
2.3 如何在3D模型中找到合适的4点
给定一个在一定范围内共面的基础对,以及另一个点集。我们的目标是从点集中找到所有在允许范围与基础对一致的4点的集合。
- 计算给定基础对的放射不变比
- 使用2.2中提到的算法在点集中寻找所有能与基础对通过放射变换配对的4点集合
- 通过检测这些点集的原始位置,保留下只能通过刚性变化配对的点集
- 通过最小二乘法,对每一对点和计算其最佳变化
事实上,考虑到寻求刚性变换的解,对于一个基础对,首先计算两两点间的距离,然后仅仅考虑点集中两点距离在一定范围内为或的点对。
3. 4点法(The 4PCS Algorithm)
给定两个点集,不确定度,以及点集与点集芙蓉重叠度的预估。我们的目标是找到一个刚性变换使得点集中的点尽可能多的与点集中的某些点的距离小于。
- 在点集中选择一些共面4点对。实际上,在选择的过程上是先随机选择3个点,再选择能够与这个三个点在一定范围内组成共面4点对的另一个点。若选择的这个点与其他点相距较远,可以提升配准的稳定度,也就是说更加精确。然而,如果选择的点过远,则会导致选择的点可能不全在两个点集重叠的部分,从而无法计算出理想的变化对。这里使用重复度(overlap)来预估这个最大距离。
- 对于给定的基础对,我们可以定义放射不变比集合。从点集中提取出所有在一定范围内可能与相符合的4点集合。。对任一,通过和的关系可以计算出最佳刚性变换使得和足够接近。
- 为了确认唯一的,我们计算,并且统计有多少点与点集之间的距离小于。采用ANN(Approximate Nearest Neighbor)来提高确认效率。具体来说就是首先从点集中选择一部分点使用进行变换,然后统计与点集足够接近的点,如果有足够的点被统计到,那么对余下的点也进行这样的测试,并且为评估一个分数。最后得到最佳刚性变换矩阵。
- 对于不同的基础对,我们都可以按照上述的办法找到最佳变化,根据overlap测试组不同的基础对,最终得到最佳变换矩阵。