matlab中ransac函数,matlab – 通过RANSAC查找正弦曲线

RANSAC

算法

直到达到inlier百分比阈值或测试N个样品组合.

>它随机选择最小的样本来构建或拟合模型.

>其他数据点分类为内点或异常值

>该模型被接受或拒绝

输入:

>确定内点和异常值的误差容限

>阈值内部百分比

>测试的最大样本组合

可能的改进

>确保没有多次测试组合

>如果有更好的方法可以选择组合,请使用它.

>一旦找到许多内点,就可以使用一组新的内点来进行进一步搜索

资源:

Fischler和Bolles – 随机样本共识:模型拟合的范例与图像分析和自动制图的应用

你的应用

您的模型是一个正弦定义为f(x)=幅度* sin(周期* x)偏差.拟合这个模型并不像依赖于三个参数那么容易.我认为它会在长期运行中存在风险并且可能会过度拟合.一种可能的解决方案可能是在不同时段运行算法多次,并保持偏置和幅度固定.

iterationThreshold = 10000;

iterationCount = 0

errorthreshold = 0.05;

while(numel(inliers(:,1)) > inlierThreshold)

samples = extractMinimumSamples(points);

[sineX, sineY] = fitSine(samples);

inliers = determineInliers(points, SineX, SineY)

iterationCount = iterationCount + 1;

if(iterationCount => iterationThreshold)

break;

end

end

另请参阅修改此代码的可能改进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值