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特征学习笔记的更多相关文章

  1. LBP特征 学习笔记

    这几天一直在做人脸识别的项目,有用到LBP特征,但是毫无头绪,师姐这几天也比较忙,没有时间来指导我,随自己找相应的介绍LBP的博文来看,现在总算有了一个大体的思路了,就写下来吧 注:参考博文: 目标检 ...

  2. Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  3. 【学习笔记】SIFT尺度不变特征 (配合UCF-CRCV课程视频)

    SIFT尺度不变特征 D. Lowe. Distinctive image features from scale-invariant key points, IJCV 2004 -Lecture 0 ...

  4. [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 1 课程介绍

    课程大纲:http://vision.stanford.edu/teaching/cs131_fall1718/syllabus.html 课程定位: 课程交叉: what is (computer) ...

  5. [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 2 颜色和数学基础

    大纲 what is color? The result of interaction between physical light in the environment and our visual ...

  6. [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 4 像素和滤波器

    Background reading: Forsyth and Ponce, Computer Vision Chapter 7 Image sampling and quantization Typ ...

  7. Sparse Filtering 学习笔记(二)好特征的刻画

      Sparse Filtering 是一个用于提取特征的无监督学习算法,与通常特征学习算法试图建模训练数据的分布的做法不同,Sparse Filtering 直接对训练数据的特征分布进行分析,在所谓 ...

  8. SIFT特征点检测学习一(转载)

    新手上路,先转载学习tornadomeet的博客:http://www.cnblogs.com/tornadomeet/archive/2012/08/16/2643168.html 特征点检测学习_ ...

  9. ArcGIS案例学习笔记-聚类点的空间统计特征

    ArcGIS案例学习笔记-聚类点的空间统计特征 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于聚集点,根据分组字段case field,计算空间统计特征 ...

随机推荐

  1. tcpclient 类

    1. 构造函数 1) 类对象将套接字与本地系统地址和一个随机的tcp端口号进行绑定. 在默认的tcpclient 对象创建后,必须使用connect方法与远程设备连接. TcpClient tc = ...

  2. oc学习之路----application.keyWindow.rootViewController与self.window.rootViewController与[self.window makeKeyAndVisible];小发现

    刚才调试的时候除了一些小问题,有一段代码要重用 NSString *key = @"CFBundleVersion"; // 取出沙盒中存储的上次使用软件的版本号 NSUserDe ...

  3. IOS ScrollowView 滑动到边缘后不允许再拖动

    当scrollowview滑动图片时,滑动到最后一张图本应该不让其滑动,但是如果不可以去设置属性,依然可以滑动,露出白色的底色,挺影响美观的, 可以设置其属性: sv.bounces=NO; 这样就不 ...

  4. hdu2571动态规划

    125ms.... 太慢了...dp[i][j] = max(dp[i][j-1],dp[i-1][j],dp[i][k],1<k<j&&j%k==0); #include ...

  5. matlab2013a for linux/Ubuntu 安装步骤及创建快捷方式(ubuntu14.04下安装)

    1.挂载安装镜像:sudo mount -o loop myfile.iso /media/mnt   #挂载ISO文件,使用參数 -o loop      mnt为已经建立好的文件夹. 2.运行安装 ...

  6. Java 加密 AES 对称加密算法

    版权声明:本文为博主原创文章,未经博主允许不得转载. [AES] 一种对称加密算法,DES的取代者. 加密相关文章见:Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES R ...

  7. WSGI是一种编程接口,而uwsgi是一种传输协议

    http://uwsgi-docs.readthedocs.io/en/latest/Nginx.html http://sunxiunan.com/?p=1778 cgi---------fastc ...

  8. UVA 10564 - Paths through the Hourglass (dp)

    本文出自   http://blog.csdn.net/shuangde800 题目传送门 题意: 给一个相上面的图.要求从第一层走到最下面一层,只能往左下或右下走,经过的数字之和为sum. 问有多少 ...

  9. netty Getting Started--reference

    reference from:http://docs.jboss.org/netty/3.1/guide/html/start.html 1.1. Before Getting Started 1.2 ...

  10. Android 自学之线性布局 LinearLayout

    线性布局(LinearLayout),线性布局有点想AWT编程里面的FolwLayout,他们都会将容器里面的组件挨个的排列起来. 他们最大的区别在于:Android的线性布局不会换行:AWT里面的F ...