数据经常收到噪声和外点影响,需要鲁棒估计选择出“最好”的模型。openMVGT提供了一下方法:
- Max-Consensus,
- Ransac,
- LMeds,
- AC-Ransac (A Contrario Ransac).
Max-Consensus
随机采样–>估计模型。重复max次。选择最好的一个
Require: correspondences
Require: model solver, residual error computation
Require: T threshold for inlier/outlier discrimination
Require: maxIter the number of performed model estimation
Ensure: inlier list
Ensure: best estimated model Mbest
for i = 0 ! maxIter do
Pick NSample random samples
Evaluate the model Mi for the random samples
Compute residuals for the estimated model
if Cardinal(residual < T) > previousInlierCount then
previousInlierCount = Cardinal(residual < T)
Mbest = Mi
end if
end for
Ransac
随机采样一致。可以动态地决定采样次数
AC-Ransac A Contrario Ransac
最大一致需要设置:迭代次数和阈值
Ransac需要设置:阈值
AC-Ransac可以自动地选择阈值