图像局部显著性—点特征(SIFT为例)
基于古老的Marr视觉理论,视觉识别和场景重建的基础即第一阶段为局部显著性探测。探测到的主要特征为直觉上可刺激底层视觉的局部显著性——特征点、特征线、特征块。
SalientDetection 已经好就没有复习过了,DNN在识别领域的超常表现在各个公司得到快速应用,在ML上耗了太多时间,求职时被CV的知识点虐死…
点探测总结(SIft、PCA-SIft、Surf、GLOH、Brief、Brisk、ORB、Freak)
特征点寻找的准则之一是算法的通用准则—泛化性能,即在一个场景中中适用,在另一个场景中也具有相似的效果。而在CV领域,专门对于图像处理问题,应对图像的缩放、平移、旋转、明暗问题,进而提出了特征描述算法的相应要求:缩放不变性、平移不变性、旋转不变性和光照不变性。广受好评SIFT特征在综合评价上几乎达到算法极限,其中图像金字塔、寻找主方向、计算图像梯度,分别应对缩放不变、旋转不变、和光照不变,而同时局部特征用于模式识别不需要考虑相对平移的影响。
参考 原文链接(SIFT):http://www.cnblogs.com/cfantaisie/archive/2011/06/14/2080917.html ,文章有修改!为个人意见。
参考以前的一篇:Sift算法总结:用于图像搜索
推荐搜索系列:http://blog.csdn.net/cserchen/article/category/785155
论文下载见文章末尾的参考资料链接
几个主要的特征点算法年代发展表:
1. 1999年的SIFT(ICCV 1999,并改进发表于IJCV 2004,本文描述);
2. 2005年的GLOH 特征(2005年的PAMI期刊);GLOH采用圆形划分取代SIFT的正方形区间划分。
3. 2006年的SURF(2006年的ECCV);SURF算法是对SIFT算法加强版,同时加速的具有鲁棒性的特征。第二、标准的SURF算子比SIFT算子快好几倍,并且在多幅图片下具有更好的鲁棒性。SURF最大的特征在于采用了harr特征以及积分图像integral image的概念,这大大加快了程序的运行速度。
4. 2010年的Brief特征(ECCV2010 ); Brief:Binary Robust Independent Elementary Features.
5. 2011年的brisk算法(ICCV2011);BRISK算法主要利用FAST9-16进行特征点检测(为什么是主要?因为用到一次FAST5-8),可参见博客:FAST特征点检测算法。要解决尺度不变性,就必须在尺度空间进行特征点检测,于是BRISK算法中构造了图像金字塔进行多尺度表达。
补充:2006年提出的fast作为一种角点检测的方法,不涉及特征子描述。
6. 2011年的ORB特征(ICCV2011);ORB是是ORiented Brief 的简称,对Brief的特定性质进行了改进。
7. 2012年的freak算法(CVPR2012);Fast Retina Keypoint 论文。与brisk算法有相似之处,是在BRISK算法上的改进。
SIFT特征
Sift是David Lowe于1999年提出的局部特征描述子,并于2004年进行了更深入的发展和完善。Sift特征匹配算法可以处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题,具有很强的匹配能力。在Mikolajczyk对包括Sift算子在内的十种局部描述子所做的不变性对比实验中,Sift及其扩展算法已被证实在同类描述子中具有最强的健壮性。
一、Sift特征点生成的主要步骤
1)、尺度空间的生成;
2)、检测尺度空间极值点;
3)、精确定位极值点;
4)、为每个关键点指定方向参数;
注释:高斯核通过调整核的参数,具有缩放到多尺度空间保持信息稳定的性质,但本质上需要图像像素性质遵循高斯分布,而在大多数情况下,这种情况是满足的。
在 Lowe的论文中 , 将第0层的初始尺度定为1.6,图片的初始尺度定为0.5. 在检测极值点前对原始图像的高斯平滑以致图像丢失高频信息,所以 Lowe 建议在建立尺度空间前首先对原始图像长宽扩展一倍,以保留原始图像信息,增加特征点数量。尺度越大图像越模糊。
2、检测空间极值点
3、精确定位极值点
5、特征描述子生成
三、工程师角度理解SIFT(目的驱动)
SIft的主要价值在于:
缩放不变性:这一点 以来尺度空间理论来解决,使用 高斯滤波 理论上可以解决尺度上的差异。在特征点检测过程中,受到尺度的影响不大;在特征点的描述上,仍然要考虑到尺度对特征向量的影响。
旋转不变性:通过对关键点指定主方向来实现。在检测到的特征点邻域内,寻找局部的梯度方向,作为主方向即世界坐标轴。图像局部旋转后以世界坐标轴标定,可以重新对齐,即实现旋转不变。
特征点位置确定:位置确定是Sift特征算法可以改进的地方,并且应对与不同的场景要使用不同的方法,即不是sift特征的特异之处。
PCA—sift:在超量图像检测的场景下,PCA化并不一定能取得好的效果,也有可能适得其反。
四、点-区块检测对比总结:
参考链接:特征提取方法 SIFT,PCA-SIFT,GLOH,SURF 对比总结
总结论文:A comparison of SIFT, PCA-SIFT and SURF 对三种方法给出了性能上的比较,源图片来源于Graffiti datase,对原图像进行尺度、旋转、模糊、亮度变化、仿射变换等变化后,再与原图像进行匹配,统计匹配的效果。效果以可重复出现性为评价指标。
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 |
由此可见,SIFT在尺度和旋转变换的情况下效果最好,SURF在亮度变化下匹配效果最好,在模糊方面优于SIFT,而尺度和旋转的变化不及SIFT,旋转不变上比SIFT差很多。速度上看,SURF是SIFT速度的3倍。
采用NN作为匹配策略的特征描述子性能测评结果:
五、总结
暂无………………………….
参考资料:
Sift Wiki百科:https://en.wikipedia.org/wiki/Scale-invariant_feature_transform
Sift 原始论文:Lowe, David G. (1999).“Object recognition from local scale-invariant features” (PDF). Proceedings of the International Conference on Computer Vision.2. pp. 1150–1157.doi:10.1109/ICCV.1999.790410.
Sift 改进和发展:Lowe, David G. (2004).“Distinctive Image Features from Scale-Invariant Keypoints”. International Journal of Computer Vision.60 (2): 91–110.doi:10.1023/B:VISI.0000029664.99615.94.
GLOH Wiki百科: https://en.wikipedia.org/wiki/GLOH
GLOH原始论文: Krystian Mikolajczyk and Cordelia Schmid “A performance evaluation of local descriptors”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 10, 27, pp 1615–1630, 2005.
Surf 原始论文: Herbert Bay, Andreas Ess, Tinne Tuytelaars, and Luc Van Gool, “Speeded Up Robust Features“, ETH Zurich, Katholieke Universiteit Leuven( SURF was first presented byHerbert Bay, et al., at the 2006European Conference on Computer Vision.).
BRISK 原始论文: 《BRISK:Binary Robust Invariant Scalable Keypoints》ICCV2011文章
Surf 原始论文:Herbert Bay, Andreas Ess, Tinne Tuytelaars, Luc Van Gool, “SURF: Speeded Up Robust Features“, Computer Vision and Image Understanding (CVIU), Vol. 110, No. 3, pp. 346–359, 2008.