• 大小: 14KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: Matlab
  • 标签: ransac算法  Matlab  

资源简介

RANSAC为RANdom SAmple Consensus的缩写,它是根据一组包含异常数据的样本数据集,计算出数据的数学模型参数,得到有效样本数据的算法。

资源截图

代码片段和文件信息

function [results options] = RANSAC(X options)

% [results options] = RANSAC(X options)
%
% DESC:
% estimate the vector of parameters Theta using RANSAC (see source [1]
% [2])
%
% VERSION:
% 1.1.5
%
% INPUT:
%
% X                 = input data. The data id provided as a matrix that has
%                     dimesnsions 2dxN where d is the data dimensionality
%                     and N is the number of elements
%
% options           = structure containing the following fields:
%
%   sigma               = noise std
%   P_inlier            = Chi squared probability threshold for inliers
%                         (i.e. the probability that an point whose squared
%                          error is less than T_noise_squared is an inlier)
%                         (default = 0.99)
%   T_noise_squared     = Error threshold (overrides sigma)
%   epsilon             = False Alarm Rate (i.e. the probability we never
%                         pick a good minimal sample set) (default = 1e-3)
%   Ps                  = sampling probability ( 1 x size(X 2) )
%                         (default: uniform i.e. Ps is empty)
%   ind_tabu            = logical array indicating the elements that should
%                         not be considered to construct the MSS (default
%                         is empty)
%   validateMSS_fun     = function that validates a MSS
%                         Should be in the form of:
%
%                         flag = validateMSS_foo(X s)
%
%   validateTheta_fun   = function that validates a parameter vector
%                         Should be in the form of:
%
%                         flag = validateTheta_foo(X Theta s)
%
%   est_fun             = function that estimates Theta.
%                         Should be in the form of:
%
%                         [Theta k] = estimate_foo(X s)
%
%   man_fun             = function that returns the residual error.
%                         Should be in the form of:
%
%                         [E T_noise_squared] = man_fun(Theta X)
%
%   mode                = algorithm flavour
%                         ‘RANSAC‘  -> Fischler & Bolles
%                         ‘MSAC‘    -> Torr & Zisserman
%
%
%   max_iters           = maximum number of iterations  (default = inf)
%   min_iters           = minimum number of iterations  (default = 0)
%   max_no_updates      = maximum number of iterations with no updates
%                         (default = inf)
%   fix_seed            = true to fix the seed of the random number
%                         generator so that the results on the same data
%                         set are repeatable (default = false)
%   reestimate          = true to resestimate the parameter vector using
%                         all the detected inliers
%                         (default = false)
%   verbose             = true for verbose output
%                         (default = true)
%   notify_iters        = if verbose output is on then print some
%                     

评论

共有 条评论