RANSAC魯棒引數估計

2021-08-25 09:41:19 字數 877 閱讀 4308

**:

ransac 是"random sample consensus"的縮寫。該演算法是用於從一組觀測資料中估計數學模型引數的迭代方法,由fischler and bolles在1981 提出,它是一種非確定性演算法,因為它只能以一定的概率得到合理的結果,隨著迭代次數的增加,這種概率是增加的。 該演算法的基本假設是觀測資料集中存在"inliers"(那些對模型引數估計起到支援作用的點)和"outliers"(不符合模型的點),並且這組觀測資料受到雜訊影響。ransac 假設給定一組"inliers"資料就能夠得到最優的符合這組點的模型。

ransac 演算法需要給定一些引數:

1)fit 乙個模型所需的最少樣本點數n;

2)最大迭代次數k;

3)確定某個點是否靠近模型的閾值t;

4)確定某個模型是好模型需要的符合該模型的最少樣本點數。

這些引數對ransac 演算法的結果影響很大。

ransac演算法直線引數估計**

1) 資料輸入,為了方便觀察,程式採用二值圖的方式輸入,其中黑點代表資料。輸出時採用綠點表示「inlineres」

紅點表示「outliners」

2) 初始化引數引數n,k,d,t。其中直線估計時n=2,另外我們初始化最小樣本數的比例k/n,其中n為總的樣本數。

3) 程式按照ransac 演算法執行,在結果圖中將最終選擇的模型裡,距離該模型小於閾值

4) 隨機選擇兩個點,確定一條直線,計算其他點到這條直線的距離,若小於閾值,則將其加入到「inlineres」中。

5) 若「inlineres」的數量大於符合該模型的最少樣本點數,則利用總體最小二乘重新估計出一條直線,計算誤差。若當前誤差小於

最優誤差,則修改最優誤差為當前誤差。

6) 迭代進行,直至完成。

結果如下

RANSAC魯棒引數估計

ransac 是 random sample consensus 的縮寫。該演算法是用於從一組觀測資料中估計數學模型引數的迭代方法,由fischler and bolles在1981 提出,它是一種非確定性演算法,因為它只能以一定的概率得到合理的結果,隨著迭代次數的增加,這種概率是增加的。該演算法的...

引數估計 引數估計

1 引數估計 用樣本統計量去估計總體的引數。2 估計量 用於估計總體引數的統計量的名稱 如樣本均值,樣本比例,樣本方差等 例如 樣本均值就是總體均值 3 引數用 4 估計值 估計引數時計算出來的統計量的具體值 如果樣本均值 5 點估計 例如 用樣本均值直接作為總體均值的估計乙個點估計量的可靠性是由它...

引數估計與非引數估計

引數估計 parameter estimation 根據從 總體中抽取的 樣本估計總體分布中包含的未知引數的方法。人們常常需要根據手中的資料,分析或推斷資料反映的本質規律。即根據樣本資料如何選擇統計量去推斷總體的分布或數字特徵等。統計推斷是數理統計研究的核心問題。所謂統計推斷是指根據樣本對總體分布或...