RANSAC鲁棒参数估计
轉自:http://blog.csdn.net/zhanglei8893/archive/2010/01/23/5249470.aspx
?
?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鲁棒参数估计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图像比对算法
- 下一篇: 图像配准----Harris算子