SIFT特征向量_艳光普照的博客-程序员宅基地

技术标签: 图像处理操作  

http://blog.csdn.net/pp5576155/article/details/7000060

sift特征可以用于人脸识别,图像检索 图像匹配 图像拼接,sift特征具有旋转不变形,尺度不变形,光照不变形等,此算法已广泛应用于人脸识别 图像检索 图像匹配 图像拼接的研究。

 

1 SIFT 发展历程

  SIFT算法由D.G.Lowe 1999年提出,2004年完善总结。后来Y.Ke将其描述子部分用PCA代替直方图的方式,对其进行改进。

2 SIFT 主要思想

  SIFT算法是一种提取局部特征的算法,在尺度空间寻找极值点,提取位置,尺度,旋转不变量。

3  SIFT算法的主要特点:

 a) SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性。

b) 独特性(Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配.

c) 多量性,即使少数的几个物体也可以产生大量SIFT特征向量。

d) 高速性,经优化的SIFT匹配算法甚至可以达到实时的要求。

e) 可扩展性,可以很方便的与其他形式的特征向量进行联合。

 

 

 

一幅图像SIFT特征向量的生成算法总共包括4步:
    (1)尺度空间极值检测,以初步确定关键点位置和所在尺度。
         在检测尺度空间极值时,图中标记为叉号的像素需要跟包括同一尺度的周围邻域8个像素和相邻尺度对应位置的周围邻域9×2个像素总共26个像素进行比较,以确保在尺度空间和二维图像空间都检测到局部极值。
   (2)通过拟和三维二次函数以精确确定关键点的位置和尺度,同时去除低对比度的关键点和不稳定的边缘响应点(因为DoG算子会产生较强的边缘响应),以增强匹配稳定性、提高抗噪声能力.
    (3)利用关键点邻域像素的梯度方向分布特性为每个关键点指定方向参数,使算子具备旋转不变性。 
    (4)生成SIFT特征向量。

 

 

图像特征特点及其常用的特征提取与匹配方法

 

常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。

一 颜色特征

(一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。另外,仅使用颜色特征查询时,如果数据库很大,常会将许多不需要的图像也检索出来。颜色直方图是最常用的表达颜色特征的方法,其优点是不受图像旋转和平移变化的影响,进一步借助归一化还可不受图像尺度变化的影响,基缺点是没有表达出颜色空间分布的信息。

(二)常用的特征提取与匹配方法

(1)        颜色直方图

其优点在于:它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。其缺点在于:它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。

最常用的颜色空间:RGB颜色空间、HSV颜色空间。

颜色直方图特征匹配方法:直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。

(2)       颜色集

颜色直方图法是一种全局颜色特征提取与匹配方法,无法区分局部颜色信息。颜色集是对颜色直方图的一种近似首先将图像从 RGB颜色空间转化成视觉均衡的颜色空间(如 HSV 空间),并将颜色空间量化成若干个柄。然后,用色彩自动分割技术将图像分为若干区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达为一个二进制的颜色索引集。在图像匹配中,比较不同图像颜色集之间的距离和色彩区域的空间关系

(3)       颜色矩

这种方法的数学基础在于:图像中任何的颜色分布均可以用它的矩来表示。此外,由于颜色分布信息主要集中在低阶矩中,因此,仅采用颜色的一阶矩(mean)、二阶矩(variance)和三阶矩(skewness)就足以表达图像的颜色分布。

(4)       颜色聚合向量

其核心思想是:将属于直方图每一个柄的像素分成两部分,如果该柄内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。

(5)       颜色相关图

二 纹理特征

(一)特点:纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。但是,纹理特征也有其缺点,一个很明显的缺点是当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。另外,由于有可能受到光照、反射情况的影响,从2-D图像中反映出来的纹理不一定是3-D物体表面真实的纹理。

例如,水中的倒影,光滑的金属面互相反射造成的影响等都会导致纹理的变化。由于这些不是物体本身的特性,因而将纹理信息应用于检索时,有时这些虚假的纹理会对检索造成“误导”。

在检索具有粗细、疏密等方面较大差别的纹理图像时,利用纹理特征是一种有效的方法。但当纹理之间的粗细、疏密等易于分辨的信息之间相差不大的时候,通常的纹理特征很难准确地反映出人的视觉感觉不同的纹理之间的差别。

(二)常用的特征提取与匹配方法

纹理特征描述方法分类

(1)统计方法统计方法的典型代表是一种称为灰度共生矩阵的纹理特征分析方法Gotlieb 和 Kreyszig 等人在研究共生矩阵中各种统计特征基础上,通过实验,得出灰度共生矩阵的四个关键特征:能量、惯量、熵和相关性。统计方法中另一种典型方法,则是从图像的自相关函数(即图像的能量谱函数)提取纹理特征,即通过对图像的能量谱函数的计算,提取纹理的粗细度及方向性等特征参数

(2)几何法

所谓几何法,是建立在纹理基元(基本的纹理元素)理论基础上的一种纹理特征分析方法。纹理基元理论认为,复杂的纹理可以由若干简单的纹理基元以一定的有规律的形式重复排列构成。在几何法中,比较有影响的算法有两种:Voronio 棋盘格特征法和结构法。

(3)模型法

模型法以图像的构造模型为基础,采用模型的参数作为纹理特征。典型的方法是随机场模型法,如马尔可夫(Markov)随机场(MRF)模型法和 Gibbs 随机场模型法

(4)信号处理法

纹理特征的提取与匹配主要有:灰度共生矩阵、Tamura 纹理特征、自回归纹理模型、小波变换等。

灰度共生矩阵特征提取与匹配主要依赖于能量、惯量、熵和相关性四个参数。Tamura 纹理特征基于人类对纹理的视觉感知心理学研究,提出6种属性,即:粗糙度、对比度、方向度、线像度、规整度和粗略度。自回归纹理模型(simultaneous auto-regressive, SAR)是马尔可夫随机场(MRF)模型的一种应用实例。

三 形状特征

  (一)特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题,包括:①目前基于形状的检索方法还缺乏比较完善的数学模型;②如果目标有变形时检索结果往往不太可靠;③许多形状特征仅描述了目标局部的性质,要全面描述目标常对计算时间和存储量有较高的要求;④许多形状特征所反映的目标形状信息与人的直观感觉不完全一致,或者说,特征空间的相似性与人视觉系统感受到的相似性有差别。另外,从 2-D 图像中表现的 3-D 物体实际上只是物体在空间某一平面的投影,从 2-D 图像中反映出来的形状常不是 3-D 物体真实的形状,由于视点的变化,可能会产生各种失真。

(二)常用的特征提取与匹配方法

Ⅰ几种典型的形状特征描述方法

通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。

几种典型的形状特征描述方法:

(1)边界特征法该方法通过对边界特征的描述来获取图像的形状参数。其中Hough 变换检测平行直线方法和边界方向直方图方法是经典方法。Hough 变换是利用图像全局特性而将边缘像素连接起来组成区域封闭边界的一种方法,其基本思想是点—线的对偶性;边界方向直方图法首先微分图像求得图像边缘,然后,做出关于边缘大小和方向的直方图,通常的方法是构造图像灰度梯度方向矩阵。

(2)傅里叶形状描述符法

傅里叶形状描述符(Fourier shape descriptors)基本思想是用物体边界的傅里叶变换作为形状描述,利用区域边界的封闭性和周期性,将二维问题转化为一维问题。

由边界点导出三种形状表达,分别是曲率函数、质心距离、复坐标函数。

(3)几何参数法

形状的表达和匹配采用更为简单的区域特征描述方法,例如采用有关形状定量测度(如矩、面积、周长等)的形状参数法(shape factor)。在 QBIC 系统中,便是利用圆度、偏心率、主轴方向和代数不变矩等几何参数,进行基于形状特征的图像检索。

需要说明的是,形状参数的提取,必须以图像处理及图像分割为前提,参数的准确性必然受到分割效果的影响,对分割效果很差的图像,形状参数甚至无法提取。

(4)形状不变矩法

利用目标所占区域的矩作为形状描述参数。

(5)其它方法

近年来,在形状的表示和匹配方面的工作还包括有限元法(Finite Element Method 或 FEM)、旋转函数(Turning Function)和小波描述符(Wavelet Descriptor)等方法。

Ⅱ 基于小波和相对矩的形状特征提取与匹配

   该方法先用小波变换模极大值得到多尺度边缘图像,然后计算每一尺度的 7个不变矩,再转化为 10 个相对矩,将所有尺度上的相对矩作为图像特征向量,从而统一了区域和封闭、不封闭结构。

四 空间关系特征

  (一)特点:所谓空间关系,是指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。通常空间位置信息可以分为两类:相对空间位置信息和绝对空间位置信息。前一种关系强调的是目标之间的相对情况,如上下左右关系等,后一种关系强调的是目标之间的距离大小以及方位。显而易见,由绝对空间位置可推出相对空间位置,但表达相对空间位置信息常比较简单。

空间关系特征的使用可加强对图像内容的描述区分能力,但空间关系特征常对图像或目标的旋转、反转、尺度变化等比较敏感。另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。为了检索,除使用空间关系特征外,还需要其它特征来配合。

(二)常用的特征提取与匹配方法

提取图像空间关系特征可以有两种方法:一种方法是首先对图像进行自动分割,划分出图像中所包含的对象或颜色区域,然后根据这些区域提取图像特征,并建立索引;另一种方法则简单地将图像均匀地划分为若干规则子块,然后对每个图像子块提取特征,并建立索引。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/szv123_rier/article/details/8687595

智能推荐

java axis_java中使用axis1.4开发webService_weixin_39640767的博客-程序员宅基地

一、Axis环境的安装1、安装环境 J2SE SDK 1.4,Tomcat 5.0,eclipse 3.2。2、到 http://xml.apache.org 网站下载Axis安装包。3、将Axis相关包文件放在WEB-INF\lib目录下。4、Axis可选的包:activation.jar; mail.jar; xmlsec-1.4.Beta1.jar拷贝到WEB-INF目录下,生成客户端时候需...

教你如何方便的减少apk的体积大小_砺雪凝霜的博客-程序员宅基地

        公司的android马上就要上线了,领导要求要我们减少apk的体积。经过优化apk的大小从3M多减少到了1.4M左右。下面是我优化的思路:1 删除项目中没有到的文件,包括资源文件,java代码等等2 避免jar包的重复引用3 可以考虑压缩一下图片,前提是尽量保持图片别失真。在前面2步还没有起到明显作用的时候,可以考虑第三步。 (一) 减少没有引用的...

struts启动时出错(error:init-filterStart)_渭城朝雨浥轻尘的博客-程序员宅基地

StandardContext[/hibernate]Exception starting filter struts2ControllerUnable to load bean: type:com.opensymphony.xwork2.util.ValueStackFactory class:com.opensymphony.xwork2.ognl.OgnlValueStackFactor

Apache ShardingSphere(Incubating)周报 2019.4.22-2019.4.26_ShardingSphere的博客-程序员宅基地

本周工作ShardingSphere功能开发新模块开发1. 非分片情况下,Sharding-Proxy支持存储过程和自定义函数透传 (#2195, 完成)2. Shard...

通过调用百度生成短连接API接口,将长链接转换成短链接,并且生成短网址并返回,用户可以通过短连接访问,然后浏览器会解析跳转至长链接地址,有效的解决用户修改url后面的参数_Mario♔的博客-程序员宅基地

package com.avic.controller.user.utls;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;/** * ...

如何将svn上的项目下载到本地并转化成maven项目_xiaozhu0301的博客-程序员宅基地_svn导出项目到本地

1. 安装maven插件a) 下载maven http://maven.apache.org/download.cgib) 安装maven插件Help --> Eclipse Marketplace -->Find MavenWindow --> Performance --> Maven 配置相关项目2. 添加SVN库 a) 添加库

随便推点

通过阿里云实现工业控制器在互联网中的访问_paky_du的博客-程序员宅基地

很多时候我们无法访问某个控制节点的原因是那个控制节点没有公网的IP地址,特别是对目前公网IP地址耗尽的现实下。 在互联网中有公司已经开发出了解决这种问题的产品,如花生壳公司的花生棒产品,这个产品有一个功能就是内网穿透。它的大概原理应该如下图所示:Oraybox很像一个“间谍”,我们在互联网中的所有请求都是通过这个“间谍”代理,把请求发给控制节点,把节点在返回给我们。对于它...

android网络请求框架Volley(一)_砺雪凝霜的博客-程序员宅基地

1 Volley的介绍    Volley从服务器端请求字符串数据,图片数据,和JSON格式数据。Volley可以写出标准化的模板代码,并让我们更加关注于我们的业务逻辑,这对于我们的App来说是非常重要的。 Volley的优势:  自动的调度网络请求 多并发的网络请求  可以缓存http请求 支持请求的优先级 支持取消请求的API,可以取消单个请求...

vue学习记录-02 插值操作_AaronWong0的博客-程序员宅基地

vue学习记录-02 插值操作这篇文章是根据codewhy老师在b站的视频进行的学习记录文章目录vue学习记录-02 插值操作一、Mustache语法二、v-once指令三、v-html指令四、v-text指令五、v-pre指令六、v-cloak指令一、Mustache语法双大括号的语法就是Mustache语法,代码如下:<div id='app'> <h2>{{message}}</h2></div>mustache语法

Linux运维:现状、入门和未来之路___Cheny的博客-程序员宅基地_linux运维是必死之路

今天想谈谈“运维”这一行,我将从以下五个部分来和大家分析一下目前Linux这个行业的现状以及如何学好Linux、成为专业运维人员和云服务对运维的影响。

莫烦爬虫学习记录_liucheng_zimozigreat的博客-程序员宅基地

最初我会经常看一下自己的程序员宅基地的总访问量、排名以及一些文章的访问量(看着这些量与日俱增心里很满足,哈哈),后来想学习一下爬虫,正好可以用来记录自己的程序员宅基地的信息。在Google上第一条推荐教程是莫烦,之前在网易云上也跟着莫烦学了一下matplotlib,觉得蛮不错,于是就跟着莫烦来学习,B站上有视频,GitHub地址。正则表达式很重要,查阅参看小抄,另附需要转义的字符以及使用Pyt...