雙目立體視覺-特徵檢測與特徵匹配總結

特徵檢測


opencv可以檢測圖像的主要特徵,然後提取這些特徵,使其成爲圖像描述符。

特徵:特徵就是有意義的圖像區域,該區域具有獨特性或易於識別性。角點與高密度區域是一個很好的特徵,邊緣可以將圖像分爲兩個區域,因此可以看作很好的特徵,斑點(與周圍有很大區別的圖像區域)也是有意義的特徵。

大多數特徵檢測算法都會涉及圖像的角點、邊和斑點的識別。

Harris可用於識別角點。此函數可以很好的檢測角點,這些角點在圖像旋轉的情況下也能被檢測到。但是如果減少或者增加圖像的尺寸,可能會丟失圖像的某些部分,也有可能增加圖像的角點。這種特徵損失的現象需要一種與圖像比例無關的檢測方法解決。這就是SIFT,可以對不同圖像尺寸輸出相同的結果。SIFT會通過一個特徵向量來描述關鍵點周圍區域的情況。Dog用於檢測關鍵點。

SURF算法比SIFT快好幾倍,它吸收了SIFT算法的思想。SURF採用Hessian算法檢測關鍵點。SURF需要提供閾值,特徵隨着閾值的增加而減少。

ORB是用來取代SIFT和SURF的,與兩者相比,ORB有更快的速度。ORB用FAST來檢測關鍵點,用BRIEF來進行關鍵點特徵描述。

有點迷糊,現在總結一下

opencv中的SIFT是DoG與SIFT的結合。DoG用於關鍵點的檢測,SIFT用於描述關鍵點的特徵(圖像描述符)。

                     SURF是Hessian與SURF的結合,Hessian用於關鍵點的檢測,SURF用於描述關鍵點的特徵。

                     ORB是FAST和BRIEF的結合,FAST用於關鍵點的檢測,BRIEF用於描述關鍵點的特徵。

速度上ORB>SURF>SIFT,SURF的魯棒性(抗干擾能力)更好一些。

 

特徵匹配


1.暴力(Brute-Force)匹配:一種描述符匹配算法,該方法會比較兩個描述符,併產生匹配結果列表,第一個描述符的所有特徵都拿來和第二個進行比較。

2.K-最近鄰(knn)匹配:在所有的機器學習suan算法中,knn可能是最簡單的。

.FLANN匹配:FLANN具有一種內部機制,該機制可以根據數據本身選取合適的算法來處理數據集,FLANN比其他的最近鄰搜索快10倍。

.FLANN的單應性匹配,單應性指的是兩幅圖像中的一幅出現投影畸變時,他們還能彼此匹配。
————————————————
版權聲明:本文爲CSDN博主「想想叫啥名」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_35239859/article/details/81184571

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