2012-09-27 73 views
2

RANSAC算法已經廣泛應用於計算機視覺等工程領域。但是,如果我理解的很好,使用此算法時需要設置兩個參數:一個與迭代次數相關,另一個與估計模型的閾值相關。走直線估計問題作爲一個例子:RANSAC算法參數設置

enter image description here

圖中的藍色點表示內點而紅點代表異常值。

迭代次數顯示我們應該嘗試嘗試多少次,然後才能找到正確的線模型。我們嘗試越多越好,我們可以獲得正確的模型。但是,消費時間也會增加。此外,迭代次數也與數據集中異常值的百分比有關。離羣值越小,我們可以預期的迭代越少。

模型的閾值取決於手頭的問題。如果設置過於嚴格,那麼可能適合該模型的數據將變得無用,從而導致估算不準確。而且,嚴格的模型閾值也會導致錯誤的模型。如果設置太鬆,異常值可能會發揮作用。

目前,我對這兩個參數設置的解決方案如下: 1)迭代次數:開始時粗略估計異常值的百分比,如果百分比較高,則迭代次數較多需要;否則,迭代次數設置得相對較低。 2)模型閾值:在開始時設置相對較大的閾值保持,並且之後基於它們與模型的接近度給予內部加權。如果異常值恰好成爲內點,它們不會顯着影響模型估計。 我想知道是否存在RANSAC參數設置的其他解決方案。謝謝!

+0

的問題太精確模型門檻不在於你得到一個不準確的模型,但風險垃圾桶幾乎所有的解決方案,因爲你永遠不會得到一個共識不夠大。 – Batsu

回答