RANSAC算法已广泛应用于计算机视觉等工程领域。不过,如果我理解得好的话,使用这个算法时有两个参数需要设置:一个与迭代次数有关,另一个与估计模型的阈值有关。以线性直线估计问题为例:
图中的蓝色点代表内部值,红色点代表异常值。
迭代次数表明我们应该尝试多少次才能找到正确的线路模型。我们尝试的越多,就越有可能获得正确的模型。但消耗时间也会增加。此外,迭代次数还与数据集中异常值的百分比有关。存在的异常值越少,我们预期的迭代次数就越少。
模型的阈值取决于当前的问题。如果设置得太严格,适合模型的数据将变得无用,从而导致估计不准确。而且,严格的模型阈值也会导致错误的模型。如果设置得太松,异常值就会出现并发挥作用。
暂时我对这两个参数的设置的解决办法是: 1)迭代次数:一开始粗略估计异常值的百分比,如果百分比高,则需要更多的迭代;否则,迭代次数设置得相对较低。 2)模型阈值:开始时设置一个相对较大的阈值,之后根据与模型的接近程度对内点进行加权。如果异常值碰巧变成内部值,它们不会显着影响模型估计。 我想知道 RANSAC 参数设置是否存在其他解决方案。谢谢!
最佳答案
关于algorithm - RANSAC算法参数设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12619894/