SIFT特徵點的匹配正確率衡量標準與量化

原文鏈接:https://blog.csdn.net/cgwang_1580/article/details/68944319

另外還有一篇文章寫的也不錯:http://bookshadow.com/weblog/2014/06/10/precision-recall-f-measure/

目前圖像匹配中,局部特徵匹配佔據了絕大部分,常用的局部特徵匹配方法有Harris、SIFT、SURF、ORB等等,不同的特徵點檢測和匹配方法尤其獨特的優勢和不足;

特徵點匹配經過Ransac算法優化後仍存在錯誤匹配點對,需要優化後的匹配結果進行量化評價;
特徵點檢測和匹配評價一般包括兩個部分,分別爲檢測和匹配的評價。

1、特徵點檢測評價

評價特徵點檢測方法的優劣常常用到repeatability(重複率)這個概念。
《a performance evaluation of local descriptors》一文提出了特徵點檢測器和匹配結果的評價準則,我的理解是:圖A、B是兩幅待匹配圖像,圖A映射到圖B有一個單應性矩陣H1,圖B映射到圖A有單應性矩陣H2,圖A檢測出N1個特徵點,圖B檢測出N2個特徵點,因爲圖像A和B有部分圖像不重疊,故將A圖檢測的特徵點座標由H1算出在B圖的座標,去掉不合格(計算結果超出在B圖像座標)的特徵點,剩下的特徵點數記爲n1;同樣,B圖的特徵點經過處理剩下n2個;分母便是min(n1, n2)。將圖A剩下的特徵點由H1計算出在圖B中的座標,與圖B檢測出的特徵點的座標求距離,即dist(h1*a1, b1),若距離小於閾值ε,則認爲是重複的,這麼做是因爲得到的單應性矩陣不一定完全精確以及一些別的誤差原因。

《An affine invariant interest point detector》中對repeatability定義進行了延伸,針對affine invariant的圖像特徵點。
在這裏插入圖片描述
repeatability計算式的分母可以和原來定義相同,分子的定義correspondence滿足兩個條件:
1、同之前定義,即設定ε=1.5;
2、regions映射到另一幅圖像中重疊誤差小於0.2。
這裏第二點是因爲特徵點檢測器得到的特徵點實際上是根據特徵點附近區域計算梯度來選取特徵點,實際上檢測的特徵區域(region),如Harris-Affine檢測的是一個橢圓區域,SIFT檢測的是一個圓形區域;當左圖一特徵點區域在經過乘上單應性矩陣H後實際,該區域會發生變化,所以需要判斷變化之後的區域與右圖某一特徵點區域的重疊誤差,誤差<0.2,則判斷自是一對特徵點。
在這裏插入圖片描述

2、特徵點匹配評價

特徵點匹配的評價一般涉及到兩個概念,即Recall(召回率)和Precision(精確率),我們先來了解一下這兩個概念。
精確率和召回率是廣泛用於信息檢索和統計學分類領域的兩個度量值,用來評價結果的質量。
——精確率是檢索出相關文檔數與檢索出的文檔總數的比率,衡量的是檢索系統的查準率;
——召回率是指檢索出的相關文檔數和文檔庫中所有的相關文檔數的比率,衡量的是檢索系統的查全率。
在信息檢索中:

精確率 = 提取出的正確信息條數 / 提取出的信息條數
召回率 = 提取出的正確信息條數 / 樣本中的信息條數
下面是一個非常經典的解釋Recall和Precision的圖,我做了一點兒說明:
在這裏插入圖片描述
Precision和Recall指標有時候會出現的矛盾的情況,可以繪製Precision-Recall曲線,曲線越靠上部,結果越好。

對比信息檢索的評價,在特徵點匹配時:
A指的是實際爲匹配點對,且該匹配算法得到了這些匹配對;
B指的是實際爲匹配點對,但該匹配算法沒有得到這些匹配對;
C指的是實際爲錯誤匹配對,但該算法得到了這些匹配對;
即Precision爲匹配結果中有多少是準確的,Recall就是所有正確的匹配結果有多少通過匹配算法得到了。

在第一部分中已經說明了根據兩圖像間的單應性矩陣H計算兩個特徵點是否重複,這裏設置一個correspondence變量,作爲重複特徵點的數量,則匹配結果評價的兩個參數Precision和Recall有如下公式:
在這裏插入圖片描述
在這裏插入圖片描述
公式中,#correct matches表示匹配結果中正確匹配點對,#correspondences表示特徵點檢測時重複特徵點對(特徵點重複即認爲實際爲正確匹配點對,但可能被匹配算法匹配上,也可能未匹配上),#false matches表示匹配結果中錯誤匹配點對。其中,正確與錯誤匹配點對可以用上面提到的兩個判斷特徵點是否重複的條件來判定。

因此,在評價特徵點匹配結果時,首先應當知道兩個圖像間的單應性矩陣H,然後通過特徵點檢測算法得到左右圖像中的特徵點信息,根據單應性矩陣得到重複特徵點數,即#correspondences;接着由特徵點匹配算法得到的匹配結果計算Precision和Recall,繪製1-precision和recall曲線,曲線靠上方的結果較出色!
參考曲線圖:
在這裏插入圖片描述
以上內容爲我的理解,可能存在理解不當的地方,歡迎指正!

轉載請註明出處:圖像特徵點檢測與匹配評價準則——量化
參考資料:
介紹Precision和Recall的博客:
http://blog.csdn.net/pirage/article/details/9851339
http://bookshadow.com/weblog/2014/06/10/precision-recall-f-measure/
文章《A Performance Evaluation of Local Descriptors》
https://www.robots.ox.ac.uk/~vgg/research/affine/det_eval_files/mikolajczyk_pami2004.pdf
K Mikolajczyk大神的特徵點重複率計算相關代碼:
http://www.robots.ox.ac.uk/~vgg/research/affine/descriptors.html#binaries
特徵點檢測匹配標準數據庫:

http://www.robots.ox.ac.uk/~vgg/data/data-aff.html

另附另一篇文章的講解過程:

下面簡單列舉幾種常用的推薦系統評測指標:

1、準確率與召回率(Precision & Recall)

準確率和召回率是廣泛用於信息檢索和統計學分類領域的兩個度量值,用來評價結果的質量。其中精度是檢索出相關文檔數與檢索出的文檔總數的比率,衡量的是檢索系統的查準率;召回率是指檢索出的相關文檔數和文檔庫中所有的相關文檔數的比率,衡量的是檢索系統的查全率。

一般來說,Precision就是檢索出來的條目(比如:文檔、網頁等)有多少是準確的,Recall就是所有準確的條目有多少被檢索出來了。

正確率、召回率和 F 值是在魚龍混雜的環境中,選出目標的重要評價指標。不妨看看這些指標的定義先:

1. 正確率 = 提取出的正確信息條數 /  提取出的信息條數     

2. 召回率 = 提取出的正確信息條數 /  樣本中的信息條數    

兩者取值在0和1之間,數值越接近1,查準率或查全率就越高。

3. F值  = 正確率 * 召回率 * 2 / (正確率 + 召回率) (F 值即爲正確率和召回率的調和平均值)

不妨舉這樣一個例子:某池塘有1400條鯉魚,300只蝦,300只鱉。現在以捕鯉魚爲目的。撒一大網,逮着了700條鯉魚,200只蝦,100只鱉。那麼,這些指標分別如下:

正確率 = 700 / (700 + 200 + 100) = 70%

召回率 = 700 / 1400 = 50%

F值 = 70% * 50% * 2 / (70% + 50%) = 58.3%

不妨看看如果把池子裏的所有的鯉魚、蝦和鱉都一網打盡,這些指標又有何變化:

正確率 = 1400 / (1400 + 300 + 300) = 70%

召回率 = 1400 / 1400 = 100%

F值 = 70% * 100% * 2 / (70% + 100%) = 82.35%

由此可見,正確率是評估捕獲的成果中目標成果所佔得比例;召回率,顧名思義,就是從關注領域中,召回目標類別的比例;而F值,則是綜合這二者指標的評估指標,用於綜合反映整體的指標。

當然希望檢索結果Precision越高越好,同時Recall也越高越好,但事實上這兩者在某些情況下有矛盾的。比如極端情況下,我們只搜索出了一個結果,且是準確的,那麼Precision就是100%,但是Recall就很低;而如果我們把所有結果都返回,那麼比如Recall是100%,但是Precision就會很低。因此在不同的場合中需要自己判斷希望Precision比較高或是Recall比較高。如果是做實驗研究,可以繪製Precision-Recall曲線來幫助分析。
2、綜合評價指標(F-Measure)

P和R指標有時候會出現的矛盾的情況,這樣就需要綜合考慮他們,最常見的方法就是F-Measure(又稱爲F-Score)。

F-Measure是Precision和Recall加權調和平均:
在這裏插入圖片描述

當參數α=1時,就是最常見的F1,也即
在這裏插入圖片描述

可知F1綜合了P和R的結果,當F1較高時則能說明試驗方法比較有效。

3、E值

E值表示查準率P和查全率R的加權平均值,當其中一個爲0時,E值爲1,其計算公式:
在這裏插入圖片描述

b越大,表示查準率的權重越大。

4、平均正確率(Average Precision, AP)

平均正確率表示不同查全率的點上的正確率的平均。

原文鏈接:http://blog.csdn.net/taohuaxinmu123/article/details/9833001

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