sift特征提取算法

article/2025/9/28 15:41:10

简介

SIFT算法是用来提取图像局部特征的经典算法,SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。 

主要步骤

1、构建DOG尺度空间

2、关键点搜索和定位

3、方向赋值

4、关键点描述子的生成


算法详细流程

————————————————————————————————————————————————————————————————

1,构建DOG尺度空间

(1)基础知识

(a)尺度空间:

        在视觉信息处理模型中引入一个被视为尺度的参数,通过连续变化尺度参数获得不同尺度下的视觉处理信息,然后综合这些信息以深入地挖掘图像的本质特征。尺度空间方法将传统的单尺度视觉信息处理技术纳入尺度不断变化的动态分析框架中,因此更容易获得图像的本质特征。尺度空间的生成目的是模拟图像数据多尺度特征。

       尺度空间中各尺度图像的模糊程度逐渐变大,能够模拟人在距离目标由近到远时目标在视网膜上的形成过程。大尺度对应图像的概貌特征,小尺度对应图像的细节特征。所以对不同尺度的图像检测关键点,最终得到的sift特征点具有尺度不变性。尺度空间是客观存在的,我们使用高斯卷积的形式来表现尺度空间。
一幅二维图像的尺度空间可以定义为
                                                                        

    其中I(x,y)是图像区域,G(x,y,σ)是尺度可变高斯函数,x,y是空间坐标,σ大小决定图像的平滑程度。

参考材料:
http://blog.csdn.net/tanxinwhu/article/details/7048370

(b)高斯模糊:

       这里尺度空间的生成需要使用高斯模糊来实现,Lindeberg等人已经证明高斯卷积核是实现尺度变换的唯一线性核。高斯模糊是一种图像滤波器,它使用正态分布(高斯函数)计算模糊模板,并使用该模板与原图像做卷积运算,达到模糊图像的目的。
N维空间正态分布方程为:

其中,是正态分布的标准差,值越大,图像越模糊(平滑)。r为模糊半径,模糊半径是指模板元素到模板中心的距离。如二维模板大小为m*n,则模板上的元素(x,y)对应的高斯计算公式为:

对图像做卷积运算可以看做是加权求和的过程,把使用到的图像区域中的每个元素分别与卷积核的每个对应位置的元素相乘,所有乘积之和作为区域中心的像素值。
一个5*5的高斯模板:
可以看出高斯模板是圆对称的,卷积的结果使原始像素值有最大的权重,距离中心越远的相邻像素值权重也越小
在实际应用中,在计算高斯函数的离散近似时,在大概距离之外的像素都可以看作不起作用,这些像素的计算也就可以忽略。所以,通常程序只计算(6σ+1)*(6σ+1)就可以保证相关像素影响。


http://chatgpt.dhexx.cn/article/aESFHhls.shtml

相关文章

特征提取算法:HOG,HAAR,LBP

(一)HOG特征 1、HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征…

人脸识别技术中的Gabor特征提取算法

前言 上篇文章中,讲述了语音识别技术中的DTW算法,DTW算法是用于模板匹配的。这篇文章我们将介绍人脸识别中的Gabor特征提取算法,Gabor算法是用在特征提取阶段。我们在这里对比一下语音识别的流程图和人脸识别技术的流程图,以便学…

特征提取算法简单学习笔记

update 2021.04.22 这几年的经验下来,以前以为特征提取的方法时共通的,注意力都在后续算法部分,现在的感受是,不同领域算法反而很多时候时共通的,特征提取差异很大,不能简单的一言以蔽之,这也是…

脑电数据的特征提取算法详解

脑电信号的特征工程。 作者做了什么 做这件事有什么意义 作者是用什么方法去做的 这个方法(思路)的每一步具体怎么操作,每一步都有什么目的,为了解决一个什么样的小问题 在做的过程中,有哪些难点,作者是如何…

特征提取算法(1)——纹理特征提取算法LBP

模式识别中进行匹配识别或者分类器分类识别时,判断的依据就是图像特征。用提取的特征表示整幅图像内容,根据特征匹配或者分类图像目标。 常见的特征提取算法主要分为以下3类: 基于颜色特征:如颜色直方图、颜色集、颜色矩、颜色聚合向量等;基于纹理特征:如Tamura纹理特征、…

深度学习理论——特征提取算法

大家好,继续理论学习,今天介绍几种最常见的特征提取算法。 1.LBP算法(Local Binary Patterns,局部二值模式) LBP算子是一种用来描述图像局部纹理特征的算子,具有灰度不变性。 其主要思想是在目标像素周围…

特征提取算法的总结

在前面的blog中,我们已经讲了SIFT的原理,这里我们再详细讲解SIFT的变体:PCA-SIFT和GLOH。 – Scale invariant feature transform (SIFT): Lowe, 2004. – PCA-SIFT: SIFT: Ke and Sukthankar 2004 Ke and Sukthankar, 2004. – Gradient l…

常见的几种图像特征提取算法

常见的几种图像特征提取算法 1. LBP算法(Local Binary Patterns,局部二值模式)2.HOG特征提取算法(Histogram of Oriented Gradient)3.SIFT算子(Scale-invariant feature transform,尺度不变特征变换) 1. LBP算法(Local…

SIFT特征提取算法实验

SIFT特征提取算法实验 SIFT特征提取算法 1.1 算法定义 1.2 SIFT特征提取算法实验: 1.3 构造数据集 检测提取感兴趣点 2.1代码实现: 2.2.绘制特征点代码分析: 提取数据集中每张图片的SIFT特征并展示 3.1实现对比: 3.2代码实现: 4.计算两张图片间的SIFT特征匹配结果 4.1匹配…

SIFT、SURF等关键点特征提取算法代码

文章目录 1.关键点特征提取算法2.SIFT代码(pythonopencv)2.SURF代码(pythonopencv)3.SIFT和SURF的比较 1.关键点特征提取算法 特征提取是提取出物体(如图片)的特征,用数学的向量、矩阵等对物体…

HOG图像特征提取算法

HOG图像特征提取算法 HOG简介HOG特点HOG计算步骤HOG参数计算HOG提取特征效果HOG代码实现 HOG简介 HOG全称:方向梯度直方图(Histogram of Oriented Gradient),发表于2005年的CVPR,是一种图像特征提取算法,和…

SURF特征提取算法详解

上一节我们已经介绍了SIFT算法,SIFT算法对旋转、尺度缩放、亮度变化等保持不变性,对视角变换、仿射变化、噪声也保持一定程度的稳定性,是一种非常优秀的局部特征描述算法。但是其实时性相对不高。 SURF(Speeded Up Robust Features)算法改进了特征了提取…

图像特征提取算法—HOG

图像特征提取算法—HOG 一 图像基本概念 1.1特征 边缘,角,区域。但不同的目的对应着的不同的特征,边缘特征,颜色特征,梯度方向分布等。 每个物体,我们总可以用一些词语或部件来描述它,比如人…

时域特征提取_EEG信号特征提取算法

点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 时域分析与频域分析 EEG信号特征提取就是以脑电信号作为源信号,确定各种参数并以此为向量组成表征信号特征的特征向量。 特征參数主要包括时域信号(如幅值)和频域信号(如频率)两大类,相应的特征提取方法也…

特征提取算法

特征提取 1、背景2、边界预处理Moore boundary tracing algorithmChain CodesFreeman Chain Codesslope chain codes (SCCs) minimum-perimeter polygon (MPP)signaturesskeletons 3、Region Feature Descriptors3.1 区域描述子和特征向量3.2 Topological Descriptors3.3 Textu…

深度学习之特征提取算法

目录 前言 二、LBP(Local Binary Patterns,局部二值模式) 三、HOG算法(Histogram of Oriented Gradient, 方向梯度直方图) 四、SIFT算子(Scale-invariant feature transform ,尺度不变特征变换) 五、H…

idea如何使用git关联远程仓库

1.git的配置 一般本地安装了git,idea会自动检索, 2.创建git本地仓库 一般以你要上传的项目为根目录 3.将文件提交至本地仓库 4.提交至远程仓库 点击VCS选择git点击push提交,第一次连接会让你输入远程仓库的地址。 我们先将github上的地…

git 将本地项目关联到远程仓库

原文链接:https://www.jianshu.com/p/2a8b4e627991 参考链接: https://blog.csdn.net/baidu_35085676/article/details/53456884 1.首先在项目目录下初始化本地仓库 git init 2.添加所有文件( . 表示所有) git add . 3.提交所有文件到本地仓库 git comm…

git创建本地仓库远程仓库,并关联。全过程

1.在网页中自己的github账号下,创建仓库project 2.在本机创建文件夹project。 进入文件夹project. (1) git init (2) git add README.md (3) git commit -m "first commit" (4) git branch -M master (5) git remote add origin https://github.co…

Git本地仓库与远程仓库关联

一、前提条件 1、本地一个仓库:本地仓库已经经过git init 初始化 2、远程一个仓库:已经存在了一个远程的仓库 3、GitHub已经添加了SSH Keys 二、建立远程与本地仓库的关联 本地仓库与远程仓库关联有两种方法,一种是通过IDE(比…