zoukankan      html  css  js  c++  java
  • RANSAC

    RANSAC范例的正式描述如下:

    首先,要给定:

             1一个模型,该模型需要最少n个数据点去实例化它的自由参数;

             2一组数据点P,P中包含数据点的数量#(P)大于n。

    然后

    从P中随机地选择n个点(组成P的一个子集S1)并实例化这个模型(构造成M1)。

    接下来

             利用实例化的模型M1去测定P中点的某个子集S1*,这些点相对于M1的错误被限制在一个给定的阈值下,其中S1*被称作S1的一致性集合。

             或者:

             利用实例化的模型M1去逐个测定P中的其它点,舍掉那些偏离M1较大的点,保留那些偏离M1较小的点并组成一个集合S1*,该集合被称作S1的一致性集合。

    接下来的步骤要对S1*中点的数量#(S1*)进行条件判定:

             if( #(S1*) >= t )         // t是一个阈值,是P中离群点(相对于M1)数量的估计函数

             {

                       利用S1*(+S1)去计算一个新的模型M1*;// 例如用最小二乘法

             }

             if( #(S1*) < t )

             {

                       随机地选择一个新的子集S2,并重复以上过程;

                       如果

    在几次预定义的实验次数之后,找到的一致性集合含有点的数量总是小于t;

                       那么

    要么使用已经找到的最大的一致性集合去解决这个模型;

                                  要么以失败来终结掉这个算法。

    }

  • 相关阅读:
    新汉诺塔
    车的放置
    [NOI 2015]荷马史诗
    [JSOI2008]星球大战
    分组
    星空
    [Luogu4175][CTSC2008]网络管理Network
    [Luogu2617]Dynamic Rankings(整体二分)
    2018冬令营赛前停课总结
    [BZOJ2752][HAOI2012]高速公路
  • 原文地址:https://www.cnblogs.com/pangblog/p/3301691.html
Copyright © 2011-2022 走看看