RANSAC及其經典變種

2021-10-18 13:30:30 字數 2082 閱讀 3696

近年來學者們不斷在對經典演算法ransac進行各種改進,本文想總結一下近年來ransac演算法的各種改進優化。看到乙個寫得很好的部落格系列,可惜博主沒有繼續寫下去了,很希望博主哪天想起來繼續寫下去,我暫時在這裡做一些簡單補充吧(此處暫時只蒐集到的一些相關文獻,後續隨著學習的增加會再繼續完善~ :p)。

ransac簡史

ransac簡史(一)——ransac之初

ransac演算法步驟

1) 從所有的資料中取樣n個點,以能確定出模型;

2) 利用取樣點計算模型;

3) 利用模型來確定其他點是否是內點;如果內點率達到指定值,演算法終止,並用所有內點優化模型;否則,繼續上述過程,直到達到指定的迭代次數,此時將最高內點率對應的模型作為最終模型。

核心思想:待求解的模型,應該是能同時使最多資料點符合模型。

可能存在的問題

如何選取能用來確定模型的最小資料量n?

取樣策略?

在第一步中,我們要求取樣點盡可能少,同時我們也知道,當資料點存在雜訊(通常考慮為高斯雜訊)時,樣本點的數目越多,求解的模型越準確。這就意味著我們此刻求解的模型不夠準確,那麼這個不夠準確的模型,是否能夠用來判斷其他點是否是內點?

如果我們待求解的問題,無法用乙個模型,或者無法用乙個僅包含若干個引數的模型進行表達,此時是否還能使用「最大一致性」的思路?

如何判斷其他點是否為內點?如果通過其他點與模型的符合程度,那麼如何設定這樣乙個閾值?有時乙個資料是否為內點還與其他資料相關,那麼此時如何考慮資料間的關聯?

(例如兩個資料點相衝突,不可能同時為內點。這種情況會發生在:根據兩張圖特徵點匹配,求解其基礎矩陣時,如果a圖中的兩個點,匹配到b圖中的同乙個點)

使演算法終止的內點率閾值?

(對於一組資料,通常情況下我們是無法知道其最大內點率,但或許我們可以事先求解出最優模型對應的內點率)

如何確定迭代次數上限?

《image matching from handcrafted to deep features: a survey》中提到:

《主成分分析的匹配點對提純方法》中提到:

1.prosac 漸近樣本一致 [6]

progressive sample consensus**翻譯

相比經典的 ransac 方法均勻地從整個集合中取樣,prosac 方法是從不斷增大的最佳對應點集合中進行取樣的。所以這種方法可以節省計算量,提高執行速度。

該方法採用半隨機方法,對所有點對進行質量評價計算q值,然後根據q值降序排列,每次只在高質量點對中經驗模型假設與驗證,這樣就大大降低了計算量,在ransac無法收斂的情況下,prosac依然可以取得良好的結果。opencv中的rho方法就是基於prosac估算。

2.usac 全域性ransac [7]

usac**翻譯

stage1: 最小集取樣方法採用2.2.2節中的prosac。

stage3: 模型(引數)驗證採用2.4.3的sprt測試。

stage4: 產生最終模型,採用2.5.1介紹的lo-ransac。

在本文中,我們通過分析和比較多年來研究的各種方法,對基於ransac的魯棒估計的最新研究進行了全面的綜述。通過引入乙個新的穩健估計框架,我們為這一分析提供了乙個共同的背景,我們稱之為全域性ransac(usac)。usac擴充套件了標準ransac的簡單假設和驗證結構,納入了許多重要的實際和計算考慮因素。

3.mlesac [13]

4.napsac [10]5.lo-ransac 區域性優化的ransac [2] [4]6.r-ransac 隨機模型驗證策略 [3] [11]7.dsac [5]

8.ng-ransac [8]

9.graph-cut ransac [9]

p-ransac

逆序對及其變種

首先看一下逆序對 leetcode 劍指offer 51 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個 逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。示例 1 輸入 7,5,6,4 輸出 5 限制 0 陣列長度 50000這也是乙個經典問題,而且如果方向沒對的話,是...

nim遊戲及其變種

nim遊戲 n堆石子,操作為可以從任意一堆拿走任意正整數個石子,不能操作者輸。問先手勝還是後手勝。結論 當n堆石子的個數的亦或為0時,先手必敗 否則先手必勝。證明 1,若亦或值不為0,則一定可以通過一步操作讓它變成0.考慮亦或值最高位的那個1,一定有一堆石子數在那一位是1 否則總的亦或裡的那個1是怎...

Relu啟用函式及其變種

神經網路中使用啟用函式來加入非線性因素,提高模型的抽象表達能力。relu rectified linear unit,修正線性單元 relu公式近似推導 下面解釋上述公式中的softplus,noisy relu.softplus函式與relu函式接近,但比較平滑,同relu一樣是單邊抑制,有寬廣的...