本文节选自《基于MPEG-7与内容的图像检索技术的研究》。

MPEG-7 标准中视觉描述工具包括基本结构和描述符。本文主要介绍各描述符。

(1)颜色描述符

MPEG-7 主要定义了七种颜色描述符:颜色空间、主颜色、颜色的量化、颜色直

方图、颜色布局、GOF/GOP 颜色、颜色结构、对颜色的特征和结构进行描述。他们之间的关系如图 2.2 所示。

①颜色空间,该描述符主要用于其它基于颜色的描述。当前描述所支持的颜色空间有:RGB、YCbCr、HSV、HMMD、关于 RGB 的线性变换矩阵、单色。

②颜色量化,该描述符定义了颜色空间的均匀量化。量化产生的维(bin)的数目是可配置的,这样使得各种应用具有更大的灵活性。要使这个描述符在 MPEG-7 背景下有应用意义,例如表示主颜色值的含义,必须结合其它颜色描述符。

③主颜色,该描述符最适用于表示局部(对象或图像区域)特征,几种颜色就足以表达我们感兴趣区域的颜色信息。当然,它也可以用于整个图像,例如旗帜图像或彩色商标图像。颜色量化用于提取每个区域/图像的少数代表颜色,并相应的计算出区域中的每种量化颜色所占的百分比。同时还定义了整个描述符的空间相关性,用于相似性检索。

④颜色布局,该描述符以一种紧凑的形式,有效的表达了颜色的空间分布。这种紧凑性以很小的计算代价,带来高速的浏览和检索。它提供图像与图像的匹配和超高速的片断与片断的匹配,这些匹配要求大量相似性计算的重复。由于该描述符表达了颜色特征的布局信息,因此它可以提供相当友好的用户接口,例如使用其它颜色描述符中均不支持的手绘草图查询。

⑤可伸缩颜色,该描述符是 HSV 颜色空间的颜色直方图(用 Haar 变换编码)。根据维的数目和比特表示的精度,它的二进制表示在一定数据速率范围内是可伸缩的。这个描述符主要用于图像与图像的匹配和基于颜色特征的检索,检索的精度随着描述中使用的比特数目的增加而增加。

⑥颜色结构,该描述符是一个颜色特征描述符,它既包括颜色内容信息(类似于颜色直方图),又包括内容的结构信息。它的主要功能是图像与图像的匹配,主要用于静态图像检索,在这里一幅图像可能由一个单一矩形或者任意形状、可能是非连通的区域组成。提取的方法是:通过考虑一个 8×8 像素的结构化元素中的所有颜色,将颜色结构信息加入该描述符中,而不是单独考虑每个像素。

⑦帧组/图组颜色,该描述符将用于静态图像的可伸缩颜色描述符扩展到对视频片段或静态图像集合的颜色描述。在 Haar 变换之前,用附加的两个比特定义如何计算颜色直方图,是均值、中值还是相交。

(2)纹理描述符

MPEG-7 推荐了三种纹理描述符,同质纹理描述符(HomogenousTexture Descriptors)、纹理浏览描述符(Texture Browsing Descriptors)和边缘直方图描述符(Edge HistogramDescriptors)。

①同质纹理描述符

同质纹理作为一个重要的视觉基本特征,主要用于大量相似图案的搜索和浏览。一幅图像可看作由同质纹理以马赛克形式拼接而成的,所以与这些区域关联的纹理特征可以作为索引来检索图像。例如,用户浏览一个航空图像数据库,可能想识别图像集合中停车场。当从远处观察时,汽车规则(以相等间隔)停放的停车场就是一个极好的同质纹理图案的例子。同样的,从空中或是卫星拍摄的农田和植被也是同质纹理的示例。同质纹理描述符使用 62 个数字(每一个都量化为 8bits)提供了纹理信息的量化表示。这62 个数字的计算方法是:将图像用一组带有方向和尺度参数的
Gabor 滤波器进行滤波,一共是六个方向和五个尺度。一共得到 30 个滤波结果,每一个滤波结果频率域的一阶矩和二阶矩就是两个描述数字。

②纹理浏览描述符

描述纹理的感知特性,例如规则性、方向性和粗糙性。计算方法和同质纹理描述符类似,首先使用一组带有方向和尺度参数的 Gobor 滤波器进行滤波,然后通过分析滤波结果,找到纹理主要的方向。接着分析滤波后的图像沿着这两个(第二个主方向是可选的)主方向投影,来确定纹理的规则性和稀疏性。最多只需要 12 比特。同质纹理描述符和浏览描述符提供了表示相似纹理区域(Homogeneous Texture Regions)的多尺度方法。

③边缘直方图描述符

描述了 5 种边缘(4 种方向边缘和一种无方向边缘)的空间分布统计。因为对于图像感知,边缘扮演了一个重要角色,所以它可以用于相似语义的图像检索。因此它的主要目标在于图像与图像的匹配(通过示例或草图),特别是边缘分布不规则的自然图像。如果边缘直方图描述符与其它描述符如颜色直方图相结合,将可以显著提高图像检索的性能。

(3)形状描述符

MPEG-7 定义了三种形状描述符:基于区域的形状(RegionShape)、基于轮廓的形状(Contour Shape)和三维形状(Shape 3D)。

①基于区域的形状

一个对象的形状可能只包括一个单一区域,也有可能包括多个区域,同时在对象中还可能有一些孔(见图 2.3)。基于区域的形状描述符充分利用了一个帧内组成形状的所有像素,它可以描述任何形状,不但可以描述有一个单一连通区域的简单形状(如图(a)和图(b)),而且可以描述有对象中一些孔或几个不向连区域组成的复杂形状(如图(c)、图(d)和图(e))。基于区域的形状描述符不仅能够有效描述不同目标形状,而且对于沿对象边界的较小变形具有一定的健壮性。

②基于轮廓的形状

基于轮廓的形状描述符提取了目标和区域基于轮廓获得的形状,一般采用曲率空间表示形状信息,这种形状描述符反映了人的感知特性,又称为曲率尺度空间(Curvature Scale-space,CSS)表示,它由轮廓的曲率尺度空间表达式构成,该表达式具有如下重要特征(如图 2.4 所示):

较好的提取了形状特有特征,并能用于相似性检索;

反映了人类视觉系统的感知性,具有良好的概括性;

对于不是很明显的运动、形状的部风重叠、投影变换均具有健壮性;

表达式简洁。

③三维形状

考虑到多媒体技术、虚拟世界和增强现实技术的持续发展,三维内容也成为当今多媒体信息系统的普遍特征。大多数情况下,三维信息是用多边形网格来表示的。MPEG-4的 SNHC 组研究这个问题并开发了有效的三维网格模型编码技术。在 MPEG-7 标准的框架中,要求对三维信息实现智能的基于内容的提取,用以查找、检索和浏览三维模型库。三维形状特征描述符对三维网格模型进行本质的形状描述,它善于挖掘三维表面的局部特征。

原文地址:http://www.cnki.net/KCMS/detail/detail.aspx?QueryID=4&CurRec=2&recid=&filename=2008145927.nh&dbname=CMFD0911&dbcode=CMFD&pr=&urlid=&yx=&uid=WEEvREcwSlJHSldSdnQ1V1l1YzRFR1o1VWlJc3EwQmJhdExWR3NMbFdRSW9oczZOUnNyMkwxczBMdDJxc2JZPQ==&v=MTIwNTJGeXJsVnIzS1YxMjdGcks4RzlqT3FKRWJQSVI4ZVgxTHV4WVM3RGgxVDNxVHJXTTFGckNVUkxtZVp1UnU=

MPEG-7 视觉描述符的更多相关文章

  1. 第十五节、韦伯局部描述符(WLD,附源码)

    纹理作为一种重要的视觉线索,是图像中普遍存在而又难以描述的特征,图像的纹理特征一般是指图像上地物重复排列造成的灰度值有规则的分布.纹理特征的关键在于纹理特征的提取方法.目前,用于纹理特征提取的方法有很 ...

  2. file descriptor 0 1 2 一切皆文件 stdout stderr stdin /dev/null 沉默是金 pipes 禁止输出 屏蔽 stdout 和 stderr 输入输出重定向 重定向文件描述符

    movie.mpeg.001 movie.mpeg.002 movie.mpeg.003 ... movie.mpeg.099   $cat movie.mpeg.0*>movie.mpeg   ...

  3. shell 重定向以及文件描述符

    1.对重定向的理解 Linux Shell 重定向分为两种,一种输入重定向,一种是输出重定向:从字面上理解,输入输出重定向就是「改变输入与输出的方向」的意思. 输入方向就是数据从哪里流向程序.标准输入 ...

  4. 杂项之python描述符协议

    杂项之python描述符协议 本节内容 由来 描述符协议概念 类的静态方法及类方法实现原理 类作为装饰器使用 1. 由来 闲来无事去看了看django中的内置分页方法,发现里面用到了类作为装饰器来使用 ...

  5. python描述符理解

    Python中的描述符是一个相对底层的概念 descriptor Any object which defines the methods get(), set(), or delete(). Whe ...

  6. (转)ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

    早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了"ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务"错误,帮其解决后,发现很多人遇到过这样的问 ...

  7. python2.7高级编程 笔记二(Python中的描述符)

    Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些" ...

  8. 文件描述符、文件表项指针、inode节点的关系

    内核使用3种数据结构表示打开的文件,他们之间的关系决定了在文件共享方面一个进程对另一个进程的影响. (1) 每个进程在进程表中都有一个纪录项,纪录项中包含一张打开文件描述符表,每个文件描述符各占一项, ...

  9. Linux内核笔记--深入理解文件描述符

    内核版本:linux-2.6.11 文件描述符(file descriptor)在Linux编程里随处可见,设备读写.网络通信.进程通信,fd可谓是关键中的关键. 深入理解可以增加我们使用它的信心. ...

随机推荐

  1. Android------Android.mk调用shell脚本

    $(info $(shell ($(LOCAL_PATH)/echo_test.sh)))

  2. Android二维码扫描、生成

    Android二维码扫描.生成 现在使用二维码作为信息的载体已经越来越普及,那么二维码的生成以及扫描是如何实现的呢 google为我们提供了zxing开源库供我们使用 zxing GitHub源码地址 ...

  3. 【安卓开发】Layout Inflation不能这么用

    Layout inflation在Android上下文环境下转换XML文件成View结构对象的时候需要用到. LayoutInflater这个对象在Android的SDK中很常见,但是你绝对没想到竟然 ...

  4. linux 服务器网络有关的内核参数

    几乎所有的内核模块,包括内核核心模块和驱动程序,都在/proc/sys 文件系统下提供了某些配置文件以提供用户调整模块的属性和行为.通常一个配置文件对应一个内核参数,文件名就是参数的名字,文件的内容是 ...

  5. 集成JPA+springmvc+spring+EJB中的Java EE应用

    EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序.凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台.EJB (Enterprise Jav ...

  6. Struts 2 标签库

    <s:if>标签 拥有一个test属性,其表达式的值用来决定标签里内容是否显示 <s:if test="#request.username=='clf'"> ...

  7. gitlab的搭建及问题的解决

    gitlab则是类似于github的一个工具,github无法免费建立私有仓库,并且为了代码安全,于是在内网安装了一个自己实验室的一个git服务器,gitlab有很多依赖,而bitnami制作了一键安 ...

  8. 实现string到double的转换

    分析:此题虽然类似于atoi函数,但毕竟double为64位, 而且支持小数,因而边界条件更加严格,写代码时需要更加注意. #include <errno.h> #include < ...

  9. 剑指Offer——网易笔试之解救小易——曼哈顿距离的典型应用

    剑指Offer--网易笔试之解救小易--曼哈顿距离的典型应用 前言 首先介绍一下曼哈顿,曼哈顿是一个极为繁华的街区,高楼林立,街道纵横,从A地点到达B地点没有直线路径,必须绕道,而且至少要经C地点,走 ...

  10. android程序崩溃后重启

    有时候由于测试不充分或者程序潜在的问题而导致程序异常崩溃,这个是令人无法接受的,在android中怎样捕获程序的异常崩溃,然后进行一些必要的处理或重新启动 应用这个问题困恼了我很久,今天终于解决了该问 ...