RANSAC 随机采样一致性

推荐资料

http://t.csdnimg.cn/ljIMI

【2022B站最好最全的【三维重建】课程!!!北邮教授竟然把三维重建讲的如此通俗易懂,学不会UPZHIJIE 退网下架!!!-人工智能/计算机视觉/三维重建】https://www.bilibili.com/video/BV1DP41157dB?p=7&vd_source=bd967f0d540a64617b8b612bc0f0f9a3

上面视频的第7P,1小时15分钟开始,有生动的介绍。

简介

RANSAC(Random Sample Consensus)算法是一种基于随机采样的迭代算法,用于估计一个数学模型参数。它最初由Fischler和Bolles于1981年提出,主要用于计算机视觉和计算机图形学中的模型拟合和参数估计问题。

RANSAC算法的基本思想是通过随机采样一小部分数据来估计模型参数,然后用这个模型对所有数据进行测试,将满足模型的数据点作为内点,不满足模型的数据点作为外点。通过迭代的方式不断随机采样和估计模型参数,最终得到内点数目最多的模型作为最终的估计结果。

RANSAC算法的优点是可以处理包含大量外点的数据集,并且不需要事先知道外点的数量。它可以用于解决许多计算机视觉和计算机图形学中的问题,如图像配准、物体识别、三维重建、特征点匹配等。

计算方法

是一种适用于数据收到异常值污染的模型拟合方法

  • 随即均匀采样获取模型求解所需的最小子集
  • 适用该子集估计模型参数
  • 计算剩余样本与当前模型的一致性,统计满足当前模型的点个数,作为当前模型分数
  • 以设定的次数n重复上面3个步骤,输出得分最高的模型

参数设置:

  • 初始点数量s:模型求解所需的最少的点的个数
  • 距离门限t
  • 采样次数:选择采样次数N使得至少有一次采样为真实解的概率为p(例如p=0.99)
  • 必须匹配拟合模型的点数d:与内点数占比一致

有一个概率公式推荐:

自适应迭代次数

  • 外点率通常未知,按照最坏情况估计,比如50%。然后,根据计算结果自适应的调整外电比率,修正所需的总采样次数;

    [

实例:直线拟合

随机选择两个点,构成一条线。在这个线设置一个距离阈值,如果点在阈值内,则为内点,点在阈值外则为外点。

内点数量代表这条线的得分。通过N次迭代,找到分值最高的线,即为求解答案。