SIFT SURF ORB方法总结

SIFT特征基于梯度方向和梯度值的直方图构建特征,SURF基于梯度值的大小构建直方图,ORB基于像素值的大小构建直方图

SIFT方法的原理(128,梯度方向的统计结果)

基于梯度方向的统计直方图
参考https://www.jianshu.com/p/95c4890c486b?utm_source=oschina-app
https://gilscvblog.com/2013/08/18/a-short-introduction-to-descriptors/
关键点:
(1)SIFT会先检测图中较明显的点(如角点),对这些点提取特征
(2)sift的特征为什么具有旋转不变性:
sift会先提取主方向,然后将特征点周围1616的像素根据主方向旋转;然后对每个1616分为16个44的区域,在每个区域提取8个方向的梯度直方图(提取方向的直方图,而不是每个像素的梯度值)。即sift特征是特征点周围像素的梯度相对于主梯度的方向的分布,与梯度相对方向和梯度值的大小有关。
16
8=128。

SIFT SURF ORB方法总结_第1张图片

SURF方法 (维度64,梯度大小)

参考https://gy23333.github.io/2020/04/24/SURF%E7%AE%97%E5%AD%90/

surf也具有旋转不变性,所以检测到关键点后,首先提取关键点的主方向,然后以特征点为中心,沿着主方向,构建边长为2020的正方形,在该正方形中,提取64维向量,作为该特征点的特征向量。
**如何从20
20的正方形得到64维的特征向量**
首先,将2020分为16个55的子区域,在每个子区域中,通过dx,dy求梯度,然后统计∑dx、∑|dx|、∑dy、∑|dy|获得4维的向量。
SIFT SURF ORB方法总结_第2张图片

SIFT SURF ORB方法总结_第3张图片

ORB算法

参考:https://www.cnblogs.com/alexme/p/11345701.html
一般维度取128、256或512,opencv默认为256
特征构建:可以构建256维度的特征或者512维度的特征,各维度的特征是基于像素值的大小,使用相同的方法,相同的步骤获得的。特征值为1或者为0:按照一定的采样策略在特征点周围采集两个点{A,B},如果pixelA>pixelB,则特征值为0,如果pixelB>pixelA,则特征值为1。 按照这种步骤采样256次或者512次,就得到了该特征点的ORB特征。

你可能感兴趣的:(计算机视觉,opencv,机器学习)