鲁棒估计&单应的自动计算
鲁棒估计
之前我们讨论的对应集的唯一误差源来自点的位置测量,在许多实际运行中,还存在着点被错配的情况。错配点对高斯误差分布而言是野值。
RANSAC
用模型去拟合数据,随机样本包含足以确定模型的最小数据集。如果模型是平面单应,而数据是 2D 点对应集,那么最小子集包含四组对应。
RANSAC 算法思路如下:
1.随机地从数据集 中选择 个数据点组成的一个样本作为模型的一个示例。
2.确定在模型距离阈值t 内的数据点集 , 称为采样的一致集并定义 的内点。
3.如果 的大小(内点的数目)大于某个阀值 , 用 的所有点重估计模型并结束。
4. 如果 的大小小于 ,选择一个新的子集并重复上面的过程。
5.经过 次试验选择最大一致集 ,并用 的所有点重估计模型。
其他鲁棒算法
最小中值平方(LMS)估计 根据数据中所有点的距离中值,选择具有最小中值的模型。LMS 的优点在于它不需要阈值或误差方差的先验知识。 LMS 的缺点是如果多于一半的数据是野值那么它要失败,因为距离的中值可能是一个野值。解决的办法是用野值的比例来确定所选的距离。
如果野值的数量少,那么可以采用以下鲁棒方法:
删点方法 每点轮流被删除而用模型对剩下的数据拟合。
加权最小二乘方迭代 其中一个数据点对拟合的影响以它的残差来反加权。
单应的自动计算
算法的输入仅仅是图像,不需要其他先验信息;而输出是单应的估计以及一组对应的兴趣点。该算法可以应用于诸如一张平坦表面的两幅图像或由摄像机绕其光心旋转得到的两幅图像。算法思路如下:
1.兴趣点:在每一幅图像上计算兴趣点。
2.假设对应: 根据兴趣点灰度邻域的接近和相似,计算它们的匹配集。
3.RANSAC鲁棒估计: 重复 次采样:
(a)选择由四组对应组成的一个随机样本并计算单应 。
(b)对假设的每组对应,计算距离 。
(c)根据 像素确定对应数,进而计算与 一致的内点数。
选择具有最大内点数的 。当数目相等时选择内点的标准方差最低的 。
4.最优估计:由划定为内点的所有对应重新估计 。用Levenberg - Marquardt算法来最小化ML代价函数。
5.引导匹配:用估计的 去定义转移点位置附近的搜索区域,进一步确定兴趣点的对应。
最后两步可以重复直到对应的数目稳定为止。