目录
1 直线的 RANSAC 估计
2 RANSAC 的思想
3 RANSAC一般性描述
3.1 抽样次数
3.2 距离阈值
3.3 终止阈值
3.4 最终估计
4 使用RANSAC,自动估计基本矩阵F
1 直线的 RANSAC 估计在几何上,鲁棒估计一条直线可描述为:给定一组二维测量数据点,寻找一条直线使得测量点到该直线的几何距离的平方和达到最小,即该直线最小化测量点到直线的几何距离平方和,并且使得内点偏离该直线的距离小于 t 个单位。因此,这个问题有两个要求:
- 1. 用一条直线拟合测量数据点;
- 2. 根据阈值 t 将测量数据分为内点与外点;
其中,阈值 t 是根据测量噪声而设置的。
2 RANSAC 的思想比较简单,主要有以下几步:
- 1. 随机选择两点(确定一条直线所需要的最小点集);由这两个点确定一条线 l;
- 2. 根据阈值 t,确定与直线 l 的几何距离小于 t 的数据点集 S(l),并称它为直线 l 的一致集;
- 3. 重复若干次随机选择,得到直线 l1, l2,..., ln 和相应的一致集 S(l1), S(l2),..., S(ln ) ;
- 4. 使用几何距离,求最大一致集的最佳拟合直线,作为数据点的最佳匹配直线。
如果随机选择的两点中存在外点,则这两点所确定的直线一般不会有大的一致集,所以根据一致集的大小对所估计的直线进行评价有利于获取得更好的拟合直线,如图 17.1.1 所示。正如 Fischler和 Bolles 所指出: RANSAC 与通常的数据最佳拟合技术相反,不是用尽可能多的数据点去获得模型的估计,而是用尽可能少的可行数据并尽量地扩大一致性数据集。




RANSAC 方法可以从有误匹配的点对应集中估计基本矩阵,这使得从两幅图像自动估计基本矩阵成为可能。基本矩阵自动估计的步骤如下:
- 1. 自动提取两幅图像的特征点集,并建立初始“匹配对集” ;
- 2. RANSAC 去除错误匹配对:
- 计算当前抽样所确定的基本矩阵 F,和它的一致点集 S(F);
- 如果当前的一致集大于原先的一致集, 则保持当前的一致集 S(F)和相应的基本矩阵 F,并删去原先的一致集和相应的基本矩阵;
- 由自适应算法终止抽样过程,获得最大一致集,最大一致集中的匹配对(内点)是正确 匹配对。
- 3.由最大一致集(即正确匹配对)重新估计基本矩阵。
为了自动估计基本矩阵,首先需要从两幅图像自动建立一个“点对应集”,可以容忍这个点对应集包含有大量的误匹配,因为在 RANSAC 估计方法中,理论上只要存在 8 个“好”的点对应就可以估计出基本矩阵。
参考:
- 吴福朝:计算机视觉中的数学方法 第 17 章:鲁棒方法
- 求基本矩阵F_六/七/八点法_误差评估: https://blog.csdn.net/shyjhyp11/article/details/104093868