梯度只是一维的变化,也就是边缘的信息。一个导数值明显的点可能是某处的边缘,但却和此边缘的其他点看起来一样。
如果一个点在两个正交的方向上都有明显的导数,这个点更倾向于独一无二。
最普遍是使用二维Hessian矩阵。
SURF(Speeded Up RobustFeature)是一种高鲁棒性的局部特征点检测器。由Herbert Bay 等人在2006年提出。该算法可以用于计算机视觉领域例如物体识别或者三维重建。根据作者描述该算法比SIFT更快更加具有鲁棒性。该算法中采用积分图像、Haar小波变换和近似的Hessian矩阵运算来提高时间效率,采用Haar小波变换增加鲁棒性。
SIFT/SURF为了实现不同图像中相同场景的匹配,主要包括三个步骤:
1、尺度空间的建立;
2、特征点的提取;
3、利用特征点周围邻域的信息生成特征描述子
4、特征点匹配。
共同的大问题有以下几个:
1、为什么选用高斯金字塔来作特征提取?
2、Hessian矩阵为什么能用来筛选极值点?
3、为什么采用梯度特征作为局部不变特征?
4、为什么可以采用某些特征点的局部不变特征进行整幅图像的匹配?
从直观的人类视觉印象来看,人类视觉对物体的描述也是局部化的,基于局部不变特征的图像识别方法十分接近于人类视觉机理,通过局部化的特征组合,形成对目标物体的整体印象,这就为局部不变特征提取方法提供了生物学上的解释,因此局部不变特征也得到了广泛应用。
不同点的比较:
从博客上看到一个总结,我修改了一些内容。大家可以参看以下链接:
http://blog.csdn.net/ijuliet/archive/2009/10/07/4640624.aspx
| SIFT | SURF |
尺度空间 | DOG与不同尺度的图片卷积 | 不同尺度的box filters与原图片卷积 |
特征点检测 | 先进行非极大抑制,再去除低对比度的点。再通过Hessian矩阵去除边缘的点 | 先利用Hessian矩阵确定候选点,然后进行非极大抑制 |
方向 | 在正方形区域内统计梯度的幅值的直方图,找max对应的方向。可以有多个方向。 | 在圆形区域内,计算各个扇形范围内x、y方向的haar小波响应,找模最大的扇形方向 |
特征描述子 | 16*16的采样点划分为4*4的区域,计算每个区域的采样点的梯度方向和幅值,统计成8bin直方图,一共4*4*8=128维 | 20*20s的区域划分为4*4的子区域,每个子区域找5*5个采样点,计算采样点的haar小波响应,记录∑dx, |
性能的比较:
论文:A comparison of SIFT, PCA-SIFT and SURF
比较的结果如下:
method | Time | Scale | Rotation | Blur | Illumination | Affine |
Sift | common | best | best | common | common | good |
Pca-sift | good | good | good | best | good | best |
Surf | best | common | common | good | best | good |
SURF匹配:
步骤1.在检测特征点的过程中,计算了Hessian 矩阵的行列式,与此同时,计算得到了Hessian 矩阵的迹,矩阵的迹为对角元素之和。
按照亮度的不同,可以将特征点分为两种,第一种为特征点及其周围小邻域的亮度比背景区域要亮,Hessian矩阵的迹为正;另外一种为特征点及其周围小邻域的亮度比背景区域要暗,Hessian矩阵为负值。根据这个特性,首先对两个特征点的 Hessian的迹进行比较。如果同号,说明两个特征点具有相同的对比度;如果是异号的话,说明两个特征点的对比度不同,放弃特征点之间后续的相似性度量。
步骤2.对于两个特征点描述子的相似性度量,我们采用欧式距离进行计算
步骤3. 对于待配准图上的特征点,计算它到参考图像上所有特征点的欧氏距离,得到一个距离集合。通过对距离集合进行比较运算得到小欧氏距离和次最小欧式距离。设定一个阈值,一般为0.8,当最小欧氏距离和次最小欧式距离的比值小于该阈值时,认为特征点与对应最小欧氏距离的特征点是匹配的,否则没有点与该特征点相匹配。
阈值越小,匹配越稳定,但极值点越少。
参考:http://wenku.baidu.com/view/1f66acf3f61fb7360b4c65ad.html