在一般的拟合与估计算法中,一般均假设测量数据点误差来源仅发生在对该点的位置测量,并服从高斯分布(如最小二乘)。实际情况中,普遍存在一些测量数据点的数值由于前级测量失效、突发干扰等原因而严重偏离真实值。这些测量数据点对于高斯(或其他类型)误差分布来说是外点(outlier),或称错误点。即使外点的数量极少,但由于其数值很大,故若使用一般线性估计方法,得到的估计值会由于少数的扰动而与真实值有极大的偏差。因此,必须使用某种方法识别外点,并在拟合估计运算前进行剔除。本文介绍常用的三种方法:RANSAC方法、M-估计、最小中值估计。此外还有最大后验RANSAC方法数学理论较复杂,详情请参阅文献1
由于鲁棒算法均为尝试型算法,在具体实现中需要将拟合估计算法包裹起来作为内循环,以估计的偏差大小控制外循环的算法流程及终止条件。
RANSAC方法
对于一般模型 M 和给定的测量数据点集
1. 设估计模型参数
2. 从数据点集