MPEG-7 视觉描述符
本文节选自《基于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 标准的框架中,要求对三维信息实现智能的基于内容的提取,用以查找、检索和浏览三维模型库。三维形状特征描述符对三维网格模型进行本质的形状描述,它善于挖掘三维表面的局部特征。
MPEG-7 视觉描述符的更多相关文章
- 第十五节、韦伯局部描述符(WLD,附源码)
纹理作为一种重要的视觉线索,是图像中普遍存在而又难以描述的特征,图像的纹理特征一般是指图像上地物重复排列造成的灰度值有规则的分布.纹理特征的关键在于纹理特征的提取方法.目前,用于纹理特征提取的方法有很 ...
- 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 ...
- shell 重定向以及文件描述符
1.对重定向的理解 Linux Shell 重定向分为两种,一种输入重定向,一种是输出重定向:从字面上理解,输入输出重定向就是「改变输入与输出的方向」的意思. 输入方向就是数据从哪里流向程序.标准输入 ...
- 杂项之python描述符协议
杂项之python描述符协议 本节内容 由来 描述符协议概念 类的静态方法及类方法实现原理 类作为装饰器使用 1. 由来 闲来无事去看了看django中的内置分页方法,发现里面用到了类作为装饰器来使用 ...
- python描述符理解
Python中的描述符是一个相对底层的概念 descriptor Any object which defines the methods get(), set(), or delete(). Whe ...
- (转)ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了"ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务"错误,帮其解决后,发现很多人遇到过这样的问 ...
- python2.7高级编程 笔记二(Python中的描述符)
Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些" ...
- 文件描述符、文件表项指针、inode节点的关系
内核使用3种数据结构表示打开的文件,他们之间的关系决定了在文件共享方面一个进程对另一个进程的影响. (1) 每个进程在进程表中都有一个纪录项,纪录项中包含一张打开文件描述符表,每个文件描述符各占一项, ...
- Linux内核笔记--深入理解文件描述符
内核版本:linux-2.6.11 文件描述符(file descriptor)在Linux编程里随处可见,设备读写.网络通信.进程通信,fd可谓是关键中的关键. 深入理解可以增加我们使用它的信心. ...
随机推荐
- Playground中格式注释语法
类似于Ruby的ruby document,Xcode的Playground自身也提供一些嵌入文档中的格式注释的语法. 我们先定义一个简单的类: class A{ } 按住opt点击class A,你 ...
- linux中probe函数中传递的参数来源(上)
点击打开链接 上一篇中,我们追踪了probe函数在何时调用,知道了满足什么条件会调用probe函数,但probe函数中传递的参数我们并不知道在何时定义,到底是谁定义的,反正不是我们在驱动中定义的(当然 ...
- [extjs5学习笔记]第三十七节 Extjs6预览版都有神马新东西
本文在微信公众号文章地址:微信公众号文章地址 本文地址:http://blog.csdn.net/sushengmiyan/article/details/45190485 [TOC] 在Ext JS ...
- EBS技术开发之返利开发
返利是指公司间应收款项按一定比率的返还给客户.返利开发实质就是实现对应收发票的更改和新增(暂时我的理解) 一.对发票行更改 PACKAGE AP_INVOICE_LINES_ALL_PRIVATE I ...
- RxJava操作符(06-错误处理)
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51658235 本文出自:[openXu的博客] 目录: Catch Retry 源码下载 1 ...
- android解析网络json数据(1)
1.首先获得url,传入URL类,利用URL的openconnection方法,获得URLConnection,去的输入流,进行操作,具体代码如下: public class NetConnectio ...
- Nginx的负载均衡 - 加权轮询 (Weighted Round Robin) 下篇
Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd 上篇blog讲述了加权轮询算法的原理.以及负载均衡模块中使用的数据结构,接着我们来看看加权轮询算法的具 ...
- 分布式缓存GemFire架构介绍
1什么是GemFire GemFire是一个位于应用集群和后端数据源之间的高性能.分布式的操作数据(operational data)管理基础架构.它提供了低延迟.高吞吐量的数据共享和事件分发.Gem ...
- 17 一个ContentProvider的例子
服务端(ContentProvider) 目录结构图: MainActivity.java: package com.qf.day17_contentprovider_words_demo2; imp ...
- Dynamics CRM 窗体Javascript获取时间字段值的准确转换
本篇延续上篇博文继续时间字段的转化实验,本篇讲的是在窗体Javascript中获取及更新时间字段的具体写法,是否需要进行时制的转化,先看下通过ODATA取到的时间字段值 当然取出来看格式就知道是不能直 ...