双目立体视觉-特征检测与特征匹配总结

特征检测


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

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