David Lowe(SIFT 的提出者)

0. 图像金字塔变换(matlab)

matlab 对图像金字塔变换接口的支持(impyramid),十分简单好用。

其支持在reduceexpand两种方式的变换,分别是成比例的缩小和放大。

% 加载图像数据到内存
I = imread('cameraman.tif'); size(I)% reduce ==> {2, 4, 8}
I1 = impyramid(I, 'reduce'); size(I1)
I2 = impyramid(I1, 'reduce'); size(I2)
I3 = impyramid(I2, 'reduce'); size(I3)figure
a1 = subplot(1, 4, 1); imshow(I),
xs = get(a1, 'xlim'); ys = get(a1, 'ylim');
a2 = subplot(1, 4, 2); imshow(I1),
set(a2, 'xlim', xs, 'ylim', ys);
a3 = subplot(1, 4, 3); imshow(I2),
set(a3, 'xlim', xs, 'ylim', ys);
a4 = subplot(1, 4, 4); imshow(I3)
set(a4, 'xlim', xs, 'ylim', ys);I1 = impyramid(I, 'expand'); size(I1)
I2 = impyramid(I1, 'expand'); size(I2)
I3 = impyramid(I2, 'expand'); size(I3)figure
a1 = subplot(1, 4, 1); imshow(I3),
xs = get(a1, 'xlim'); ys = get(a1, 'ylim');
a2 = subplot(1, 4, 2); imshow(I2),
set(a2, 'xlim', xs, 'ylim', ys);
a3 = subplot(1, 4, 3); imshow(I1),
set(a3, 'xlim', xs, 'ylim', ys);
a4 = subplot(1, 4, 4); imshow(I)
set(a4, 'xlim', xs, 'ylim', ys);

1. SIFT

SIFT(Scale-invariant feature transform)是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest points,or corner points)及其有关 scale 和 orientation 的描述子(descriptor)得到特征并进行图像特征点匹配,获得了良好效果。

整个算法分为以下几个部分:

  • 1、构建尺度空间

    这是一个初始化操作,尺度空间理论目的是模拟图像数据的多尺度特征

    高斯卷积核是实现尺度变换的唯一线性核,于是一副二维图像的尺度空间多尺度特征自然在尺度空间中定义)定义为:

    L(x,y,σ)=G(x,y,σ)⋆I(x,y)

    二维的高斯卷积核的形式为:G(x,y,σ)=12πσ2e−(x2+y2)/2σ2

    σ 大小决定图像的平滑程度,大尺度对应图像的概貌特征,小尺度对应图像的细节特征。大的 σ 值对应粗糙尺度(低分辨率),反之,对应精细尺度(高分辨率)。为了有效的在尺度空间检测到稳定的关键点,提出了高斯差分尺度空间(DOG scale-space)。利用不同尺度的高斯差分核与图像卷积生成。

    D(x,y,σ)==(G(x,y,kσ)−G(x,y,σ))⋆I(x,y)L(x,y,kσ)−L(x,y,σ)

    图像金字塔的建立:对于一幅图像I,建立其在不同尺度(scale)的图像,也成为子八度(octave),这是为了scale-invariant,也就是在任何尺度都能够有对应的特征点,第一个子八度的scale为原图大小,后面每个octave为上一个octave降采样的结果,即原图的1/4(长宽分别减半),构成下一个子八度(高一层金字塔)。

  • 2、LoG 近似 DoG 找到关键点<检测DOG尺度空间极值点>

    为了寻找尺度空间的极值点,每一个采样点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。如图所示,中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。 一个点如果在DOG尺度空间本层以及上下两层的26个领域中是最大或最小值时,就认为该点是图像在该尺度下的一个特征点,如图所示。

  • 3、除去不好的特征点

SIFT 特征提取分析

转载于:https://www.cnblogs.com/mtcnn/p/9422850.html

图像金字塔(pyramid)与 SIFT 图像特征提取(feature extractor)相关推荐

  1. OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()

    OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize() 一.图像金字塔定义: 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是 ...

  2. Image Pyramid(图像金字塔)

    图像处理邻域中比较常用的一种方法,image pyramid, 也叫图像金字塔.就是将图像进行一层一层的下采样,图像金字塔是为了构建图像的多尺度,让模型能够更好的适应图像的尺度变化. 图像金字塔实际上 ...

  3. ORB_SLAM2中特征提取之图像金字塔尺度不变性理解

    本文参考:泡泡机器人提供的带注释的ORB_SLAM2源代码 转载本文请注明出处: https://blog.csdn.net/RobotLife/article/details/87194017 在o ...

  4. 使用Python和OpenCV构建图像金字塔

    使用Python和OpenCV的图像金字塔 1. 效果图 2. 什么是图像金字塔? 3. 依赖 4. 源码 参考 这篇博客将介绍如何使用两种方法构造图像金字塔. 使用Python和OpenCV构建金字 ...

  5. 尺度空间与图像金字塔(多分辨率)超级细致

    文章目录 尺度空间 什么是尺度空间(scale space) 为什么需要尺度空间 高斯核 图像金字塔 什么是分辨率 为什么需要多分辨率 多尺度和多分辨率 图像金字塔 高斯金字塔 SIFT 参考 Why ...

  6. 尺度空间与图像金字塔(一)

    文章目录 尺度空间 什么是尺度空间(scale space) 为什么需要尺度空间 高斯核 图像金字塔 什么是分辨率 为什么需要多分辨率 多尺度和多分辨率 图像金字塔 高斯金字塔 SIFT 参考 Why ...

  7. 图像金字塔和高斯金字塔

    一:图像金字塔 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构.图像金字塔实际上是一张图片在不同尺度下的集合,即原图的上采样和下采样集合.金 ...

  8. 【OpenCV 例程200篇】31. 图像金字塔(cv2.pyrDown)

    [OpenCV 例程200篇]31. 图像金字塔(cv2.pyrDown) 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更 ...

  9. Python+OpenCV:图像金字塔

    Python+OpenCV:图像金字塔 理论 通常情况下,我们使用固定大小的图像.但在某些情况下,我们需要处理(相同的)不同分辨率的图像. 例如,当搜索图像中的某些东西时,比如脸,我们不确定该物体在图 ...

  10. 图像金字塔:概念及实现

    文章目录 图像金字塔:概念和实现 1. 图像金字塔的概念 2. 图像金字塔的实现方式 3. 基于OpenCV的图像金字塔实现 参考资料 图像金字塔:概念和实现 首先补充一下分辨率的概念:图像分辨率指图 ...

最新文章

  1. 图文并茂详解iptables 防火墙工作原理及知识点
  2. linux显示存储与标定不符,找到了linux分区顺序错乱修复方法
  3. 神策数据全新服务体系——打造用户行为分析领域服务最高标准
  4. 【NLP】ALL in BERT:一套操作冲进排行榜首页
  5. js 设备条形码字体_蚌埠食品袋激光打码机设备-青岛博泰格睿特
  6. iPhone4 FaceTime 联通官方教程
  7. UE4学习-虚幻4帮助手册、通过蓝图实现动画效果、添加时间轴、添加声音、C++和蓝图事件关联
  8. 省选+NOI 第三部分 树上问题
  9. 14 MySQL--事务函数与流程控制
  10. oracle rownum使用与分页
  11. 《iOS 6核心开发手册(第4版)》——1.13节秘诀:从滚动视图中拖动
  12. websocket 如何知道对方断开_在爱情里你知道该如何和对方相处吗?
  13. 如何实现大批量UKEY远程连接管控?
  14. 2022-2027年中国酒店及酒店管理市场竞争态势及行业投资前景预测报告
  15. 2021小米笔记本pro14和小新pro14有什么区别 哪个好详细性能配置对比
  16. HTML5新特性知识点总结
  17. pdf水印去除和word转换
  18. vue读取json文件
  19. Ping原理Linux,ping实现原理
  20. office 文档解析

热门文章

  1. java不能修改表_java中不可修改列表的类型是什么
  2. 湖南网络推广浅析外链怎么发才会更快的收录?
  3. 网站过度优化该怎样解决?
  4. php写账户冻结_线上开户指南(首次入金2万,账户总净资产不得低于1万,交易佣金万三,最低25,合单,没平台费)入金后才会有账户号...
  5. commonjs是什么_第一步:面试官让我解释什么是Common.js和ES6模块化
  6. python变量需要声明吗_python中可以声明变量类型吗
  7. Android Studio自定义视图无法预览
  8. 开发日记-20190902 关键词 读书笔记《Unix环境高级编程(第二版)》DAY 7
  9. 开发日记-20190725 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 15
  10. 开发日记-20190715 关键词 读书笔记 《Perl语言入门》Day 9