直线拟合3:RANSAC:搜索正常点

        在直线拟合2中,通过修改点到直线的权重,可以去除干扰点,但是,如果离散点偏离正常拟合直线的点太多且偏离距离大,则通过修改权重可能完全去除不了干扰点,如下图所示,正确的拟合直线是红线,通过修改权重未能达到效果,拟合的结构是蓝色的线。而RANSAC算法直接通过搜索正常的点进行拟合,步骤如下:

                                                        直线拟合3:RANSAC:搜索正常点_第1张图片

  • 采用均匀采样算法,抽取数据中n个点,并计划抽取次数k;
  • n个点拟合一条直线;
  • 判断其余点到直线的距离,如果小于t,则认为此点属于这条直线,并计数;
  • k次计算过程中,选取计数值大于d的直线作为备选直线;
  • 在备选直线中,每个备选直线的所有点重新拟合直线,拟合误差最小认为是最佳直线。       

   RANSAC源码在CSDN中可以查到,这里就不贴出来了。 

你可能感兴趣的:(直线拟合3:RANSAC:搜索正常点)