特徵點匹配算法

粗匹配

  1. 暴力匹配(漢明距離):顧名思義,取a圖中一個點,依次計算與b圖中所有點的距離,找出距離最近點
  2. FLANN 快速最近鄰匹配:實現原理:對高維數據依次以其中一維作爲劃分依據將所有點構建一個KD-Tree,從集合中快速查找。效率比暴力匹配高的多。

去粗取精:匹配錯誤點剔除

  1. Lower's算法

Lowe’s算法:爲了進一步篩選匹配點,來獲取優秀的匹配點,這就是所謂的“去粗取精”。一般會採用Lowe’s算法來進一步獲取優秀匹配點。
   爲了排除因爲圖像遮擋和背景混亂而產生的無匹配關係的關鍵點,SIFT的作者Lowe提出了比較最近鄰距離次近鄰距離的SIFT匹配方式:取a圖像中的1個SIFT關鍵點,並找出其與b圖像歐式距離最近的前2個關鍵點,在這兩個關鍵點中,如果最近的距離除以次近的距離得到的比率ratio少於某個閾值T,則接受這一對匹配點。保證最近和次近的距離較遠,儘可能保證最近的準確性
   Lowe推薦ratio的閾值爲0.8,但作者對大量任意存在尺度、旋轉和亮度變化的兩幅圖片進行匹配,結果表明ratio取值在0. 4~0. 6 之間最佳,小於0. 4的很少有匹配點,大於0. 6的則存在大量錯誤匹配點,所以建議ratio的取值原則如下:

ratio=0. 4:對於準確度要求高的匹配;ratio=0. 6:對於匹配點數目要求比較多的匹配;ratio=0. 5:一般情況下。

2.RANSAC:設定閾值,抽樣誤差大於閾值的點就可認爲是外點(迭代)

3.LMEDS:不需要閾值,但是內點數小於50%會失效(迭代)

      LMedS也從樣本中隨機抽選出一個樣本子集,使用LS對子集計算模型參數,然後計算所有樣本與該模型的偏差。但是與Ransac LS不同的是,LMedS記錄的是所有樣本中,那個是中位偏差樣本的偏差,稱爲Med偏差(這也是LMedS中Med的由來),以及本次計算得到的模型參數。由於這一變化,LMedS不需要預先設定閾值來區分inliers和outliers。重複前面的過程N次,從中N個Med偏差中挑選出最小的一個,其對應的模型參數就是最終的模型參數估計值。其中迭代次數N是由樣本集子中樣本的個數、期望的模型誤差、事先估計的樣本中outliers的比例所決定。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章