[Computer Vision] SIFT特征学习笔记
SIFT(Scale Invariant Feature Transform),尺度空间不变特征,目前手工设计的最好vision特征。
以下是学习http://blog.csdn.net/zddblog/article/details/7521424后的收获。
一、尺度空间

gaussian pyramid的产生:
1、为避免对第一组第一层图片(原始图片)做高斯滤波导致损失,在其基础上将尺度扩大一倍作为-1层,方法是用
=0.5做高斯滤波。
2、对每组(octave)倒数第三张图片做降采样,产生下组的第一层图片(第一组不用),由于降采样,越往上图片越小。
3、每层图片在上一层基础上做高斯滤波。
所谓尺度即一张图片的精细程度或概括度,用
度量,
由下往上尺度变大。尺度用高斯函数中的方差
来描述。


从2.1的高斯分布图可知,对一个区域做高斯滤波,若方差
越大(峰越低),则这个点被平滑得越厉害,那么图像就变得越模糊。在模糊的图片中我们看到的是更宏观的东西(
大,尺度大),而清晰的图片看到的是更为微观的东西(
小,尺度小)。
点->线,边缘,角点->轮廓形状->鼻子,嘴巴->头->人(尺度
由小到大)
组(O,octave),层(S),尺度(
)三者的关系:

可见
逐组逐层递增。
二、尺度空间上的关键点选取
关键点,即金字塔上的三维局部极值点。(三维:x,y,
,每张图上的位置及图的尺度)
1、首先对gaussian做高斯差分(Difference of Gaussian,DOG)

即上层减下层。
原因:2002年Mikolajczyk在详细的实验比较中发现尺度归一化的高斯拉普拉斯函数
的极大值和极小值同其它的特征提取函数,例如:梯度,Hessian或Harris角特征比较,能够产生最稳定的图像特征。而Lindeberg早在1994年就发现高斯差分函数(Difference of Gaussian ,简称DOG算子)与尺度归一化的高斯拉普拉斯函数
非常近似。
所以用DOG之后提取的极值更有效。从而金字塔变成:

2、关键点定位

取三维极值点。
用到了两个trick
(1)子像素插值(Sub-pixel Interpolation),找到连续空间上的精确极值点。
(2)消除边缘效应,DOG算子会产生较强的边缘响应。

3、关键点方向
在每个找到的关键点的二维邻域内取方向梯度直方图,数值最大的方向作为该关键点的方向。

三、关键点的特征描述
每个关键点用一个向量来描述。
描述的方法就是取这个关键点在二维领域空间内的梯度值,
(1)取该点周围的4×4个区域,每个区域内含多个像素点
(2)每个区域的坐标轴旋转到该关键点的主方向上
(3)将子区域内的像素点的梯度值分配到8个方向上,计算其权值。
这样对于一个关键点,有4× 4× 8 = 128特征值。

SIFT的产生就是这样,对于一张输入图片,假设对其找到了K个关键点,他就有K× 128维的SIFT特征。
[Computer Vision] SIFT特征学习笔记的更多相关文章
- LBP特征 学习笔记
这几天一直在做人脸识别的项目,有用到LBP特征,但是毫无头绪,师姐这几天也比较忙,没有时间来指导我,随自己找相应的介绍LBP的博文来看,现在总算有了一个大体的思路了,就写下来吧 注:参考博文: 目标检 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- 【学习笔记】SIFT尺度不变特征 (配合UCF-CRCV课程视频)
SIFT尺度不变特征 D. Lowe. Distinctive image features from scale-invariant key points, IJCV 2004 -Lecture 0 ...
- [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 1 课程介绍
课程大纲:http://vision.stanford.edu/teaching/cs131_fall1718/syllabus.html 课程定位: 课程交叉: what is (computer) ...
- [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 2 颜色和数学基础
大纲 what is color? The result of interaction between physical light in the environment and our visual ...
- [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 4 像素和滤波器
Background reading: Forsyth and Ponce, Computer Vision Chapter 7 Image sampling and quantization Typ ...
- Sparse Filtering 学习笔记(二)好特征的刻画
Sparse Filtering 是一个用于提取特征的无监督学习算法,与通常特征学习算法试图建模训练数据的分布的做法不同,Sparse Filtering 直接对训练数据的特征分布进行分析,在所谓 ...
- SIFT特征点检测学习一(转载)
新手上路,先转载学习tornadomeet的博客:http://www.cnblogs.com/tornadomeet/archive/2012/08/16/2643168.html 特征点检测学习_ ...
- ArcGIS案例学习笔记-聚类点的空间统计特征
ArcGIS案例学习笔记-聚类点的空间统计特征 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于聚集点,根据分组字段case field,计算空间统计特征 ...
随机推荐
- 实现GetHashCode时要遵循的规则
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:实现GetHashCode时要遵循的规则.
- php错误级别
E_ERROR 致命的运行错误.错误无法恢复,暂停执行脚本. E_WARNING 运行时警告(非致命性错误).非致命的运行错误,脚本执行不会停止. E_PARSE 编译时解析错误.解析错误只由分析器产 ...
- Windows环境下安装Ionic
1. 首先要安装node环境,Ionic的安装和后续的许多前端工具的安装都依赖于node的包管理器npm. nodeJs环境的安装很简单,去官网下载最新版的NodeJs直接安装即可. Nod ...
- Android获取ip地址
原文:http://www.cnblogs.com/android100/p/Android-get-ip.html 1.使用WIFI 首先设置用户权限 <uses-permission and ...
- linux中shell变量$#,$@,$0,$1,$2的含义解释
linux中shell变量$#,$@,$0,$1,$2的含义解释 linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID ...
- 在文件地理数据库中使用 SQL 进行报告和分析 (转)
================以下摘自ArcGIS10.1帮助=================== 文件地理数据库允许在 QueryDef 中通过 SubFields(字段列表)方法使用表达式和别 ...
- [置顶] c#对于文件的操作
在system.iO:命名空间中提供了两种遍历枚举文件夹的类,Directory 和DirectoryInfo, 他们都有一个方法GetDirectories():来便利枚举文件夹, /// < ...
- 开始C#之旅
注释 /// <summary> /// 3.文档注释 /// </summary> private static void Test() { Console.WriteLin ...
- js calendar橙色日期选择器代码
原文出处 http://files.cnblogs.com/files/quixon/date_js.rar
- android 中在CMD中查看sqlite
今天第一次学习Sqlite,在代码中执行了sql,但是不知道在上面地方才能直观的查看sqlite中的数据,下面是查看资料后的找到的查看方法: 通过上述可以从cmd进入数据库查看原文地址:http:// ...