(一)图像特征匹配--SIFT

1.1 SIFT背景简介

SIFT算法是David Lowe在1999年提出的局部特征描述子,并在2004年深入发展和完善。

SIFT算法是在尺度空间进行特征检测并确定关键点的位置和关键点所在的尺度。

该关键点方向特征选取该点邻域梯度的主方向,以便实现算子对尺度和方向的无关性。

1.2 SIFT特征向量生成步骤

一幅图像SIFT特征向量的生成步骤主要有如下四步:

(1)检测尺度空间极值点,初步确定关键点的位置和所在尺度; [初步找出关键点群]

(2)精确确定关键点位置和尺度,同时去除低对比度的关键点和不确定的边缘响应点,以便增强匹配稳定性、提高抗噪声能力;[精确确定关键点群并择优筛选]

(3)指定每个关键点的方向参数,以便算子具有旋转不变性;

(4)生成关键点描述子,即生成SIFT特征向量;

1.2.1尺度空间

概念解释:尺度空间:尺度空间是利用高斯核对原始图像进行尺度变换,获得图像多尺度下的尺度空间表示序列,对这些序列进行尺度空间特征提取

其中,二维高斯核定义为:

其中σ被称为尺度坐标, 是高斯正态分布的方差。

注:除高斯核外,尺度函数有很多,但并不是所有的尺度函数都可以构建尺度空间。Koenderink和Lindeberg已经证明,在一些合理的约束下,高斯核是唯一可以产生尺度空间的核,而且是唯一的线性核。

二维图像

在不同的尺度空间

可以通过图像

与卷积核

做卷积求得

这里尺度坐标σ越小表示图像被平滑的越少,σ越大表示图像被平滑的越多。大尺度反映图像概貌特征,小尺度反映图像细节特征。

选择合适的尺度因子是构建尺度空间的关键。

1.2.2 高斯金字塔构建

1)高斯差分尺度空间(DOG scale-space);

为了在尺度空间有效检测到稳定的关键点,提出了高斯差分尺度空间,它是由不同尺度的高斯差分核与图像卷积而生成的。

图像高斯金字塔有O组,每一组有S层,在实际计算时,使用高斯金字塔每组中相邻上下两层图像相减,下一层的图像由上一层图像降采样得到,得到高斯差分图像。

(a)高斯金字塔 (b)高斯差分金字塔生成图示

图 高斯金字塔图示

(1)空间极值点检测 [关键点初步筛选]

为了寻找尺度空间极值点,需要每个采样点与它所有的相邻点比较,看其是否比它图像域和尺度域的相邻点大或小。

图 DOG尺度空间局部极值监测

图中中间的检测点与它相同尺度的8个相邻点以及上、下相邻尺度的9*2个点比较,以确保在尺度空间和二维图像空间都监测到极值点。

(2)确定极值点位置 [确定关键点]

通过你和三维二次函数来精确确定关键点位置和尺度。

由于DOG算子会产生较强的边缘效应,,所以需要去除低对比度的关键点和不问稳定的边缘响应点以增强匹配稳定性和提高抗噪声能力。

去除边缘响应点原理: 定义一个不好的高斯差分算子的极值在横跨边缘的地方主曲率大,而垂直边缘的方向主曲率小。主曲率通过一个2*2的Hessian矩阵

求出,令 为最大特征值,

为最小特征值,

导数由采样点相邻差估计得到。

D的主曲率和H的特征值成正比,令α = γβ,则

此函数单调递增,可以限制比值γ达到过滤边缘响应点的目的。

(3)求关键点方向

利用关键点邻域像素的梯度方向分布特性为每个关键点制定方向参数,使算子具备旋转不变性。

由此可以求出(x,y)处的方向和梯度。 L所用的尺度是每个关键点所在的尺度。

注:一个特征点有三个属性:位置、尺度和方向

(4)生成SIFT特征向量

sift算法_图像配准SIFT相关推荐

  1. python实现基于SIFT算法的图像配准(仿射变换)

    话不多说,直接上代码,可以用的话别忘了请喝可乐!(手动笑哭脸) [用法] 第45.46行的输入: img1 = cv2.imread('sift/3.jpg') img2 = cv2.imread(' ...

  2. 图像配准----SIFT

    SIFT算子(Scale Invariant Feature Transform)是David Lowe提出的一种基于尺度空间的.对图像缩放.旋转甚至仿射变换保持不变性的图像局部特征描述算子.SIFT ...

  3. SIFT-FCACO算法的图像配准

    SIFT-FCACO算法的图像配准 2014年微型机与应用第15期 作者:吴金津,文志强,龙永新,武岫缘 2015/6/1 19:12:00 关键词: SIFT-FCACO算法 蚁群算法 RANSAC ...

  4. 基于SIFT特征的图像配准(附Matlab源代码)

    基于SIFT特征的图像配准(附Matlab源代码) 本文先给出了采用SIFT方法进行图像配准的实验原图以及实验结果,最后附上Matlab源代码. 实验一: 实验一的图像(见图1.1)是本人自己拍摄的, ...

  5. 图像配准系列之基于FFD形变与粒子群算法的图像配准

    在之前的文章中,我们分别使用了梯度下降发与LM算法来优化FFD形变的控制参数,达到图像配准的目的: 图像配准系列之基于FFD形变与梯度下降法的图像配准 图像配准系列之基于FFD形变与LM算法的图像配准 ...

  6. c语言编程图像拼接,一种基于Lucas-Kanade算法的图像配准和拼接方法

    一种基于Lucas-Kanade算法的图像配准和拼接方法 [技术领域] [0001 ]本发明涉及图像处理技术领域,具体涉及一种基于Lucas-Kanade算法的图像配准 和拼接方法. [背景技术] [ ...

  7. 基于sift特征提取的图像配准算法matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 SIFT 是一种从图像中提取独特不变特征的方法,其特点为基于图像的一些局部特征,而与图像整体的大小和 ...

  8. sift算法_单应性Homograph估计:从传统算法到深度学习

    点击上方"CVer",选择加"星标"置顶 重磅干货,第一时间送达 本文作者:白裳 https://zhuanlan.zhihu.com/p/74597564 本 ...

  9. globalmapper如何选取图像上的点_图像配准算法

    [导读]图像配准与相关[1]是图像处理研究领域中的一个典型问题和技术难点,其目的在于比较或融合针对同一对象在不同条件下获取的图像,例如图像会来自不同的采集设备,取自不同的时间,不同的拍摄视角等等,有时 ...

  10. 【图像配准】基于粒子群改进sift实现SAR图像配准附matlab代码

    1 简介 1.1 SIFT综述 尺度不变特征转换(Scale-invariant feature transform或SIFT)是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找 ...

最新文章

  1. vscode使用教程python-使用VS Code开发Python
  2. leetcode 491. Increasing Subsequences | 491. 递增子序列(Java)
  3. 【设计】精致的侧滑菜单设计案例
  4. 第十周软件工程作业-每周例行报告
  5. Source Generator 单元测试
  6. SharePoint 2010新特性Ribbon
  7. Struct1中 Form表单提交的几种方式以及无刷新提交的方式
  8. cmd代码玩贪吃蛇_关于N行贪吃蛇回答的补充
  9. SNMP 简单网络管理协议
  10. thinkpad指点杆(trackpoint)在WPS的word文档中失效的解决办法
  11. con和com开头单词规律_这些背单词的弯路,你家孩子正在走吗?其实你可以...
  12. Ubuntu安装网络打印机
  13. Python中随机数种子的作用及使用
  14. detach分片表非常慢的一个案例
  15. 《利用python进行数据分析》读书笔记--第十一章 金融和经济数据应用(一)
  16. Python爬虫项目整理
  17. 移动互联网时代,不会“网络预约”的老年人应该怎么办
  18. 英语4级词汇量有多少?【原创】
  19. 设计模式看这篇就够了
  20. 使用nvm管理node版本,nvm常用命令,nvm换源

热门文章

  1. 使用github安装vue-devtools
  2. 人工智能知识全面讲解: RBF神经网络
  3. instantclient_11_2远程连接Oracle安装,绝对清晰易懂
  4. RS-485通信协议(ModBus版)
  5. 程序设计语言基础知识复习
  6. 计算机组成原理面试常见问题
  7. VMware Workstation16.2下载安装教程(win10)
  8. 计算机无法检测到键盘,检测到不兼容的键盘驱动程序,小编教你电脑提示检测到不兼容的键盘驱动怎么办...
  9. 【antd-design-vue】a-table取消组件自带的暂无数据图片
  10. 系统集成项目管理工程师和PMP®的对比