极值点检测模块,主要由 5 个部分组成:像素 窗生成模块、极值点检测、低对比度点剔除、强边缘点剔除和特征点位置信息存储, 像素窗生成模块缓存两行图像生成 3x3 的图像块,极值点检测模块将当前 DoG 像素与相邻的 26 个 DoG 像素比较, 判断当前 DoG 像素是否为局部极值点 (极大值或者极小值)。低对比度点剔除模块将当前 DoG 像素值与固定阈值(本架构 中该值为 3, DoG 灰度值域为[-31.0, 32.0])比较, 判断当前像素点是否为低对比度点。 为了达到全并行处理的目标,本架构使用原始 DoG 灰度值与阈值比较, 并非原文提 出的修正后的灰度值。强边缘点剔除模块利用当前 DoG 像素及其周围 DoG 像素构建Hessian 矩阵,并将 Hessian 矩阵最大特征值与最小特征值的比值与固定阈值(本章 中该值为 10)进行比较。最后, 综合极值点检测模块、低对比度剔除模块与强边缘 点剔除模块的估计结果,判断当前 DoG 像素是否为稳定的局部极值点,并将其最为SIFT 特征点。 特征点位置信息存储模块接收稳定极值点的评估结果,并将 SIFT 特征 点的相关位置信息存入特征点 FIFO( KP_FIFO)。

极值点检测模块框图如下:

其中像素 窗生成模块实现思路如下:

极值点主要是在 DOG 金字塔相邻三层图像中进行的。在比较过程中要求中间层的每一个点和周围相邻的 26个点做比较,其中这 26 个点包括上下层对应的各 9 个点,该层周围的 8 个点。为了使相邻的 26 个点能够与中间点能够以并行流水的方式,出现在同一个时钟周期内,对于每一组中的每一层图像都用了两个行FIFO,前一个 FIFO 的输入作为下一个 FIFO 的输出。每个 FIFO 的深度为 320,宽度为 8 bit,以实现对该层像素点的行延迟作用。这样在两个行 FIFO 的输出与该层图像输入行之间就构成了相邻三行的图像并行结构设计。而对于每一行数据,为了能够提取每一行中的两个三个像素点的DOG值,这里使用了三组触发器做延时。框图如下:

SIFT之极值点检测相关推荐

  1. SURF C++代码 详细阅读(二)—— 极值点检测 确定极值点精确位置

    SURF C++代码详细阅读(二) 2.2.3 极值点检测 2.2.4 确定极值点精确位置 2.3 新建自定义Ipoint类获得特征点 阅读(一)进行到了 2.2.2 获取特征点 buildRespo ...

  2. (二十一)sift 特征点检测

    sift(尺度不变特征变换) 参考 一.sift 算法的目标 sift 的目标是: 找到一幅图像中的一些稳定的保持不变性的局部特征点,该特征点被一个特殊向量描述.该特征点的特征叫做sift特征 199 ...

  3. opencv学习笔记二十九:SIFT特征点检测与匹配

    SIFT(Scale-invariant feature transform)是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest points,or corner points) ...

  4. 边缘检测(Edge Detection)和极值点检测(Blod Detection)相关知识

    a.一阶导数的极值 图像的一阶导数极值一般是求图像中物体的边缘,而对于图像极值点的求法就是对二维离散点求导(这里的导数是二元导数,有方向,有大小的矢量,一般称为梯度(方向指向数值增量最快的方向),因此 ...

  5. SIFT特征提取与检测

    文章目录 一.SIFT算子介绍 二.SIFT算子特点 三.SIFT算子应用 四.SIFT特征点提取算法 五.SIFT算法特征匹配实验 六.RANSAC算法 1.算法描述 2.RANSAC算法在SIFT ...

  6. 数字图像处理成长之路13:SIFT之极值点(子像元插值)

    很多关于SIFT算法都会写到极值点的定位,这篇文章也 离不开这以问题,然而这篇文章的重点是发现在定位的过程中用到的知识,这也是我写SIFT的目的,我究竟学会了哪些知识,上一篇我初步领略了尺度空间这一全 ...

  7. 关于SIFT特征点检测与黑塞矩阵的读书笔记

    SIFT特征点我看了不下六次,每次都看一半就不看了,现在还是半懂不懂,当然和我个人数学水平.知识积累.懒惰的个性有关. 不过SIFT确实包含了很多内容,如高斯金字塔.DOG.矩阵求导以及黑塞矩阵,要求 ...

  8. C语言实现寻找极值点,九之再续:教你一步一步用c语言实现sift算法、上

    教你一步一步用c语言实现sift算法.上 作者:July.二零一一年三月十二日 出处:http://blog.csdn.net/v_JULY_v 参考:Rob Hess维护的sift 库 环境:win ...

  9. OpenCV —— 特征点检测之 SIFT 特征检测器

    SIFT 原理详解 尺度空间的表示 高斯金字塔的构建 高斯差分金字塔 空间极值点检测 尺度变化的连续性 特征点定位 特征点的精确定位 剔除不稳定的边缘响应点 特征点方向赋值 生成特征描述 SIFT的缺 ...

最新文章

  1. SQL执行过程中的性能负载点
  2. CUDA Samples: image normalize(mean/standard deviation)
  3. Ubuntu 安装docker-engine的三种方法
  4. uva 1252——Twenty Questions
  5. 值不值得入手_iPhone11现在还值不值得入手?真实用户说出心里话
  6. 4.2 算法之数论 185 反正切函数的应用 scratch
  7. 将pdf书籍变成横排的方法
  8. java后端简历项目经历_java程序员简历项目经验怎么写
  9. MAPGIS提示请在“系统设置”里设置好系统库路径(SUVSLIB或者其他)再重新运行程序
  10. 千呼万唤始出来:JUC灵魂AQS终于来了
  11. MFC TabCtrl 控件修改标签尺寸
  12. 读书笔记(一)——《许三观卖血记》
  13. 电脑配置学习(台式机)
  14. linux环境变量设置详解
  15. 一文带你入坑全链路监控,skywalking
  16. 无线AP(Access Point)是什么
  17. 安装sql server 过程(为了使用SQL Server Management Studio)
  18. 龙芯(mips)+麒麟V10 electron适配
  19. Python【3】:格式化输出
  20. 烂泥:mysql5.5主从同步复制配置

热门文章

  1. SQL 根据日期精确计算年龄
  2. python算库存管理_年终库存盘点怎么做?无代码库存管理系统高效率!
  3. 搭建jpress个人博客
  4. 2017.9.26 noip模拟赛 总结
  5. 即时聊天app开发有哪些功能?3种类型盈利模式解读
  6. PgSQl 结合 Mybatis 插入 json,及查询,数据库使用 jsonb
  7. maven本地仓库中已有jar包,项目却读取不了
  8. git log vs git diff 中的点式范围(Dotted Range Notations)异同
  9. 幼麟・闪影・奎特尔~2019不太冷!
  10. 如何将android文件标题归中,Android复习题归纳总结