视频检索系统(精选7篇)
视频检索系统 篇1
0 引 言
随着计算机处理能力、数字化设备、多媒体、数据库、Web等技术的不断发展,大量视频信息迅速产生。面对海量的视频信息,如何进行分类、组织、索引以实现海量视频信息的快速检索,就成为人们迫切需要研究解决的问题。目前,传统的视频检索技术大体可以分为两种:一是基于视频的标题、标签、标注等文本描述的元信息的检索;二是基于内容和图像的视频检索[1]。基于元信息的视频检索技术在互联网上应用得最为广泛,这是由于互联网上的视频分享网站发布的视频一般都包含在网页中,而网页里还包含了有关视频内容的描述信息,这就使得通用的搜索引擎能够利用网页爬虫来获取视频的信息。但是,基于元信息的视频检索技术仅仅依靠人工编辑的文本标注,无法充分获取和利用视频内容本身所包含的信息,因而检索效果有一定局限。基于内容和图像的视频检索技术主要利用计算机图像、视觉等领域的技术,通过对视频内容进行分析处理,将视频分割为场景和镜头两个层次的片段,并提取视频片段中的颜色、纹理、形状、运动等低级特征,最后通过特征的匹配来实现视频的检索。这方面的系统有代表性的是:爱尔兰都柏林城市大学的Fischlar系统[2]和IBM的Multimedia Search and Retrieval System[3,4]等。这类技术存在索引建立计算量太大、检索速度慢、检索精确度不高等问题。
目前视频检索领域新的研究热点是基于语义的视频检索技术[3,4]。基于语义的视频检索是把多媒体信息检索与人工智能技术、自然语言技术相结合的检索。它从语义理解的角度分析和匹配视频对象与检索者的检索请求,是一种基于概念及其相关关系的检索匹配机制。但是如何让计算机自动、高精度地提取视频的语义信息,并且建立海量视频的语义索引,从而达到视频检索语义处理的最终目的,是当前基于语义的视频检索技术研究的热点问题。目前有不少工作关注于从视频低层特征到视频语义描述的自动映射,从而试图解决语义鸿沟问题,这方面有代表性的工作包括:美国NSF、ASF和NASA资助的数字图书馆项目,IBM的CueVideo项目[5],卡耐基-梅隆大学的Informedia Digital Video Library[6],荷兰阿姆斯特丹大学的Intelligent Systems Lab的MediaMill[7]等。但是目前这类利用计算机自动理解和提取视频语义对象及对象间语义关系并建立视频索引的技术仍然不成熟,视频语义对象的识别正确率还很低,远远没有达到商业应用的程度。
目前,在视频机器理解尚未突破的情况下,在商业上最实用的视频索引仍然是建立在视频人工标注基础上的,利用文本索引技术对视频的人工标注建立起索引[8,9]。而在视频信息的文本描述标准方面,1998年10月,动态图像专家组提出了视频描述接口标准MPEG-7,该标准可以使用结构化文本(MPEG-7文件是一种XML文件)的形式来描述视频的元信息、低级特征和高级语义特征。与此相配合的,有不少研究机构还提供了支持MPEG-7的视频自动分段和标注编辑工具,如IBM VideoAnnEx Annotation Tool,BilVideo-7等,这些工具可以自动分析、分段和提取视频的低级特征,并支持人工标注,最后自动将低级特征的描述信息和人工标注的语义信息添加到MPEG-7描述文件中。因此,基于MPEG-7标准,可以利用工具生成的MPEG-7描述文件中的视频语义信息来建立起有效的针对海量视频的语义索引。
然而,如何在MPEG-7标准的描述框架的基础上通过人工标注来更好地表征视频语义信息并建立有效的索引呢?为了实现人工标注的视频语义信息的表征,本文提出了利用语义实体和语义实体之间的语义关系来描述视频镜头中的语义信息,其中语义实体采用MPEG-7标准中的语义对象(如人物、事件/行为、事物、时间及地点等),语义关系采用MPEG-7标准中定义的语义关系(如agent, agentOf, patient, patientOf, similar, opposite, user, userOf, location, locationOf, time, timeOf等)[10,11]。具体来说,将IBM VideoAnnEx Annotation Tool改进为一个可视化的语义图标注工具,用户可以利用该工具对视频镜头进行可视化的语义有向图标注(其中语义图的结点为语义实体,有向边为语义关系),然后该工具自动将语义有向图中的所有有向路径进行文本串化生成关键字集,最后写入MPEG-7描述文件中。
由于视频镜头的语义图标注人工劳动量太大,本文提出利用MPEG-7描述文件中机器标注的或用户标注的视频镜头的自由文本信息进行自然语言分析处理,分析自由文本信息中描述语句的语法结构,提取语义实体及其之间的关系,并同MPEG-7标准和知识库中已有的实体信息和关系进行自动匹配,生成语义图描述,最后将文本串化为关键字集并写入MPEG-7描述文件中。这样就可以大大地减少人工标注的劳动量,实现自动的语义信息提取。
最后,利用MPEG-7描述文件中语义图生成的语义关键字集来建立倒排索引,实现视频的语义索引和检索。
根据以上思路,本文设计和实现了一个支持语义的分布式视频检索系统:“语寻”。该系统提供视频片段级的关键字语义扩展查询、语义图查询以及自然语句查询的功能,并且系统架构可应用支持:(1) 语义镜头表示,通过镜头的语义图人工标注和镜头的自由文本标注的自然语言分析,实现镜头的语义内容的语义图表示,并建立相应的语义文本索引;(2) 镜头级事件查询,用户通过语义图或自然语句来描述“事件”的语义查询意图,在语义镜头表示和索引的基础上实现“事件”的查询。
1 相关技术
1.1 MPEG-7标准
MPEG-7全称为“多媒体内容描述接口”,是由动态图像专家组在1998年10月提出的,目的是要制定一种针对各类多媒体信息的描述标准,这种描述与多媒体内容本身有关,包括低级特征和高级特征[12]。MPEG-7描述文件是一种XML格式的文件,可以由一些视频处理软件分析生成。
MPEG-7的主要元素包括以下二种:
1) 描述工具,包括一套标准的描述子D(Descriptor)和描述方案DS(Description Schemes)。描述子是指用来定义和表达实体某一方面特征的句法或语法。与视频相关的常用描述子分为颜色(Color)、质地(Texture)、 形状(Shape)和动作(Motion)等类型,每一类包含若干种描述子,以不同的方式和结构来描述视觉信息。描述方案是由一个或多个D和DS构成,DS规定了它们相互关系的结构和语法。
2) 描述定义语言DDL(Description Definition Language),用来指定描述方案的一种语言。它是一种模式化语言,是对音视频数据建模结果的一种表征。DDL规定了MPEG-7的描述工具,包括描述符和描述方案,并提供了把描述符构建为描述方案的规则。
在MPEG-7描述文件中,视频的描述对象在时间上可以分解为许多镜头,一个镜头分解为多个关键帧。在本系统中,在MPEG-7描述文件中的每个镜头加入了三个描述子:自由文本描述子FreeTextAnnotation标签(该标签用来写入机器自动标注或用户标注的自由文本信息),语义图描述子SemanticGraph标签(该标签用来写入语义图标注经文本串化后的关键字集)以及语义文本描述子SemanticText标签(该标签用来写入自由文本经自然语言分析后的关键字集)。
1.2 Lucene
Lucene是一个开放源程序的全文检索引擎工具包,最初由Doug Cutting开发,现在是Apache软件基金会项目组的一个子项目。Lucene使用Java开发,是一个完全面向对象的全文检索引擎框架,可以方便地嵌入目标程序中,以实现全文检索功能;同时,开发人员也可以很容易对Lucene进行扩展,以定制自己的检索功能。
Lucene包含文本分析引擎、索引引擎和查询引擎。Lucene的发行版包含了英文和德文等的分析引擎,其它语言如中文,可以按照Lucene提供的文本分析接口,方便地打造各种语言的分析引擎。Lucene使用的是倒排文件索引方式,其索引文件的格式独立于应用平台。Lucene的索引可以由一段或多段索引组成,通过索引合并机制,在配置较低的机器上也能高效地索引大量的文件。Lucene的查询功能非常丰富,不但支持常用的多关键字查询,还支持模糊查询、范围查询、通配符查询等多种查询方式,且自身提供查询解析器,可以处理复杂的查询语法。
1.3 LTP和语义知识库
哈工大语言技术平台(LTP)是一个语言处理系统框架。它定义了基于XML的文本表示,提供了一整套自底向上的语言处理模块,提供了处理结果的可视化工具,并且共享了依存树库、同义词词林扩展版等语料资源。LTP集成了包括词法、词义、句法、语义等6项中文处理核心技术。在LTP的基础上,我们能够跨越语言处理的基本门槛,直接针对高层的课题进行研究。
自然语言处理系统最终需要强大的知识库的支持,因为,自然语言处理首先得理解什么是知识,尤其是关于什么是计算机可处理的知识。知识是一个系统,是一个包含着各种概念与概念之间的关系,以及概念的属性与属性之间的关系的系统[13]。文献[3]提出应首先建立一种称为知识系统的常识性知识库,它以通用的概念为描述对象,建立并描述这些概念之间的关系,而这些主要是通过知识工程师和专业人员设计编撰而成的。目前,国内重要的知识库包括知网(HowNet)、哈工大同义词林、以及东南大学开发的中文WordNet。
1.4 基于“知网”的语义相似度计算方法
与传统的语义词典不同,“知网”并不是将每一个概念对应于一个树状概念层次体系中的一个结点,而是通过用一系列的义原,利用某种知识描述语言来描述一个概念,而这些义原通过上下位关系组织成一个树状义原层次体系。因此,可以利用这种知识描述语言表示的两个语义表达式进行相似度计算。
(1) 词语相似度计算
对于两个汉语词语W1和W2,如果W1有n个义项(概念):S11,S12,…,S1n;W2有m个义项(概念):S21,S22,…,S2m。W1和W2的相似度是各个概念的相似度之最大值,也就是说:
这样,就把两个词语之间的相似度问题归结到了两个概念之间的相似度问题[14]。
(2) 义原相似度计算
由于所有的概念都最终归结于用义原来表示,所以义原的相似度计算是概念相似度计算的基础。
由于所有的义原根据上下位关系构成了一个树状的义原层次体系,在义原树中,这条路径的长度就可以作为两个义原的实际距离,所以采用简单的通过语义距离计算相似度的办法。两个义原P1、P2在这个层次体系中的路径距离表示为Dis(P1,P2)。计算分两种情况:
① 两个义原处于同一棵树中,路径长度就等于义原距离,语义相似度用下面的公式表示:
其中P1和P2表示两个义原,Dis(P1,P2)是P1和P2在义原层次体系中的路径长度,是一个正整数;α是一个可调节的参数[14]。
② 两个义原处于不同义原树中,可采用的处理方法是义元距离Dis(P1,P2)一律当作无穷大的常数,即语义相似度为零。
2 “语寻”系统描述
“语寻”是一个基于MPEG-7视频描述信息的视频语义检索系统,它通过分析视频的MPEG-7描述信息来建立索引,并且既支持通过关键字的语义扩展的方式来检索视频和片段,也支持通过语义图和自然语言来检索语义相似的视频和片段,因此,能够在大量视频中快速定位到视频内部的相关片段,具有检索速度快、精度高的特点。
2.1 系统架构
“语寻”视频检索系统由五个子系统组成,包括:视频预处理子系统、视频语义处理子系统、视频分布式检索子系统、视频分布式存储子系统、全局信息管理子系统,如图1所示。系统提供了三个功能:视频描述信息的分布式索引、视频文件的分布式存储、视频的分布式检索和点播。
(1) 视频描述信息的分布式索引
“语寻”将管理员提交的经语义标注的视频MPEG-7描述文件和关键帧组成的压缩包进行解压缩,在全局信息管理子系统的控制下对MPEG-7描述文件进行XML解析,将MPEG-7描述文件中有关视频和视频片段的描述信息分别存储到全局信息管理子系统的InfoDB数据库中;再将描述信息中的自由文本标注信息提交给语义处理子系统进行处理,得到的视频语义信息再存储到数据库中;最后,将视频和视频片段的所有描述信息传输到分布式检索子系统中进行分布式索引。
(2) 视频文件的分布式存储
视频原文件首先经过视频预处理子系统和视频语义处理子系统的格式转换、切割、语义分析等处理后,由全局信息管理子系统通过ftp将处理后的视频文件(.mpg等格式)上传并最终部署到视频分布式存储子系统中。
(3) 视频的分布式检索和点播
用户通过Web界面提交语义查询请求,“语寻”系统首先将语义查询提交给语义处理子系统进行处理,生成包含语义的串化关键字集,接着提交给分布式检索子系统中进行查询,然后将查询结果集返回给Web应用服务器,最终显示查询结果给终端用户。用户可以通过视频分布式检索子系统点播视频和视频片段。
2.2 系统用户界面
“语寻”视频检索系统的用户界面主要包括三个部分:管理界面、查询界面、结果呈现和点播界面。
(1) 管理界面
管理界面主要包括:① 提供视频MPEG-7描述文件、关键帧以及视频原文件的提交接口;② 提供对分布式存储视频原文件、数据库中的视频描述信息、分布式视频信息索引的查看、删除、更新的同步操作接口。
(2) 查询界面
查询界面要求简单直接并易于用户交互。主要包括三种界面:关键字查询、语义图查询和自然语言查询。关键字查询和自然语言查询提供简洁的输入框接口,语义图查询提供可视化的操作界面,如图2所示。另外,系统提供对应的高级查询功能。
(3) 结果呈现和点播界面
系统查询结果界面是由排序的关键帧和描述信息组成的,并且描述信息中关键字高亮显示;用户可以浏览查询结果,预览和点播结果中的视频和视频片段。
3 子系统设计与实现
3.1 视频预处理子系统
视频预处理子系统主要目标是对视频分析处理得到视频内部的描述信息,具体处理过程如图3所示。
视频首先经过预处理模块进行格式转换和切割,得到多个视频片段文件;然后,视频文件片段经特征抽取模块(IBM VideoAnnEx Annotation Tool视频分析工具),生成MPEG-7视频描述文件和关键帧,其中MPEG-7视频描述文件内容包括视频的元信息、按照起始时间和长度切割的镜头的低级特征以及一些附加元信息;然后,通过语义标注模块(改进的IBM VideoAnnEx Annotation Tool语义图标注工具)对MPEG-7视频描述文件中的镜头进行手工和半自动的语义标注,并插入到MPEG-7视频描述文件中的镜头中的相应描述子标签中;最后,解析包含语义信息的MPEG-7描述文件中的所有信息,并和关键帧一起存储到信息管理子系统的InfoDB数据库中。
(1) 手工标注
手工标注包括对视频中切分的镜头进行自由文本标注和语义图标注。自由文本标注是用一段自由文本来描述镜头里面的发生的故事,并由标注工具自动插入到MPEG-7描述文件中相应的镜头的自由文本描述子标签中。
(2) 语义图标注
语义图标注是语义实体以及实体之间发生的语义关系来描述镜头中的语义信息。在可视化语义图标注过程中,语义实体用结点表示,语义关系用有向箭头来表示,这样,利用一个有向图就可以描述镜头中的语义信息;最后标注工具会自动将语义图中的长度为0、1、2级的有向路径串化成字符串关键字集并插入到MPEG-7描述文件中相应的镜头的语义图描述子标签中。
(3) 半自动化标注
半自动化的标注主要是利用比较完备的带有时间戳的影片剧本进行标注,将影片剧本中的带有时间戳的场景描述和对白信息按照时间点插入到MPEG-7描述文件中相应的镜头的自由文本描述子标签中,该过程用程序自动完成。
3.2 全局信息管理子系统
全局信息管理子系统主要包括Web应用服务器,信息管理子系统以及数据库InfoDB。
(1) Web应用服务器
Web应用服务器主要用来接收用户和管理员的请求和返回请求结果,具体功能是:① 将用户的查询和点播请求分别分配到视频分布式检索子系统和视频分布式存储子系统中去,最后返回查询结果和流化播放;② 将管理员的视频部署、删除、更新等管理请求提交到信息管理子系统中进行分析和处理,最后返回管理结果。
(2) 信息管理子系统
信息管理子系统主要用来管理整个系统的信息,并处理整个系统的核心业务逻辑,具体功能是:① 对管理员提交的MPEG-7描述文件和关键帧的压缩包进行解压和解析,并将解析得到的视频描述信息和关键帧一起存到InfoDB中;② 接受管理员的操作请求,对InfoDB中的视频和视频片段的信息进行添加、删除、更新等操作;③ 同时,根据②步,发出命令以更新部署在分布式检索子系统的索引信息和分布式存储子系统中的源视频。
(3) 数据库InfoDB
视频在加入检索系统之前,需要先经过视频预处理子系统和视频语义处理子系统的处理,处理后生成的信息最终包含在一个MPEG-7描述文件中以及一组关键帧截图,InfoDB负责存储这些信息。由于这些信息主要是一些结构化的数据,可以使用关系型数据库来存储(例如MySQL)。目前,主要信息存储在了两张表中:视频信息表和片段信息表。视频信息表以视频为单位,如表1所示。
片段信息表则以片段(镜头)为单位,保存了视频经过分割后产生的每个片段(镜头)的信息,如表2所示。
3.3 分布式检索子系统
检索子系统是“语寻”视频检索系统的一个分布式的基础服务系统,是在Lucene框架基础上进行分布式改造而成的,主要提供视频描述信息的分布式倒排索引和关键字检索功能。系统由Manager中心管理节点、Indexer索引节点、Searcher查询节点、Collector归并节点组成,其系统框架如图4所示。
(1) 视频索引流程
分布式检索子系统在提供用户检索功能之前需要对视频和片段的描述信息进行索引,管理员可以通过全局信息管理子系统的管理界面选择本地要索引的视频的XML描述文件和关键帧组成的压缩包,点击“索引”按钮后,系统便开始执行添加索引流程。首先,全局信息管理子系统通告Manager索引视频或者视频片段的命令;然后,Indexer从信息管理子系统中的数据库中获取MPEG-7视频描述信息,建立倒排索引;最后,Manager按照索引负载均衡通知Indexer将索引部署到特定的Searcher上。视频索引流程具体为:
① 全局信息管理子系统通知Manager一个添加视频索引的任务,其中包含需要添加的VideoIDs数组。
② Manager接收到任务后,把VideoIDs数组封装成多个任务添加到任务优先队列TaskQueue中。
③ Manager上的一个调度线程不断从TaskQueue队列中取出一个任务,根据任务类型提交给一个执行线程。
④ 执行线程给Indexer发送添加视频索引的任务消息。
⑤ Indexer接到通知后,根据VideoIDs从全局信息管理子系统中取回对应的视频及其片段的MPEG-7视频描述信息,分别建立索引。
⑥ Indexer生成好索引后,通知Manager索引完成,并发送△df和△tf信息给Manager。
⑦ Manager更新全局df+=△df、maxDoc+=△maxDoc,并同时通告各个 Searcher更新它们的全局df和全局maxDoc,然后根据各个Searcher上的索引负载均衡计算部署策略,然后将部署策略发送给Indexer。
⑧ Indexer根据部署策略,通知指定的Searcher将要传送视频索引,通知成功后,开始建立一个连接,传送视频索引。
⑨ Searcher接收到索引文件后,并将其与本地索引合并完成后,通知Indexer索引部署成功。
⑩ Indexer接收到Searcher的成功接收索引的通知后删除本地临时的视频索引,之后通知Manager部署成功。
(11) Manager上的执行线程在TaskQueue队列中添加视频VideoIDs完成的任务。
(12) Manager上的调度线程从TaskQueue队列中取出该任务并通知全局信息管理子系统对应的视频VideoIDs已经成功完成部署。
(2) 视频检索流程
“语寻”将关键字查询集请求提交给分布式检索子系统的Collector,Collector再向各个Searcher节点查询,并将结果归并后返回给Web应用服务器,由Web应用服务器以合适的方式显示给用户。视频(或片段)查询流程具体为:
① “语寻”的Web应用服务器将查询关键字集合形成的查询请求发送给Collector,并根据分页的要求指明返回第start条至第start+count-1条搜索结果。
② Collector从Manager获取当前在线的所有Searchers的ip地址,并将查询请求发送给Searchers。
③ Searchers接收到查询请求,从本地查询,将匹配结果集中的第1条至第start+count-1条查询结果的ids及其对应的scores返回给Collector。
④ Collector收集Searchers返回的结果,对其进行归并、排序,然后将第start条至第start+count-1条查询结果ids及其对应的scores返回给Web应用服务器。
⑤ Web应用服务器接收到Collector发送来的查询结果ids,然后向数据库InfoDB请求相应的视频(或片段)信息。
⑥ InfoDB接到Web应用服务器的请求,将视频(或片段)的关键帧和简介等信息发送给Web应用服务器。
⑦ Web应用服务器接收到视频信息后,将其显示给用户。
3.4 语义处理子系统
语义处理子系统由三个模块组成:同义词和语义扩展、语义图字符串化、自然语言处理,并提供两个功能:一是将用户提交的查询进行语义分析和扩展,串化成语义关键字集,再提交给检索子系统进行检索;二是将信息管理子系统中存储的MPEG-7视频描述文件中的自由文本标注信息进行语义分析和扩展,串化成语义关键字集,存储在数据库中,以便随后将该语义关键字集索引到检索子系统中去。子系统框架如图5所示。
(1) 同义词和语义扩展查询
语义处理子系统中的同义词和语义扩展模块,主要包括两个功能:一个是查询关键字的同义词扩展;另一个是查询关键字的语义上下位扩展。
系统对提交的每个查询关键字首先利用“哈工大改进版同义词词林”查找到对应的同义词集合,然后利用基于“知网”的相似度计算方法,得到查询关键字和各个同义词的相似度值,该相似度值作为扩展的同义词的查询权重。
接着,系统对每个查询关键字和同义词集合利用中文WordNet中定义的分类体系中的上下位关系,进行向上一层的抽象语义扩展和向下一层的具体语义扩展,其中查询关键字和同义词分别扩展的语义词的查询权重值设定不同。
最后,系统再将同义词扩展和语义扩展后的不同查询权重值的查询关键字集提交给检索子系统进行检索。
(2) 语义图查询
全局信息管理子系统首先将InfoDB数据库中存储的视频片段的语义图标注的语义关键字集传送到检索子系统建立倒排索引。用户在Web查询页面上画语义图来表征查询意图,后台Web 服务器经语义图字符串化模块处理为关键字集,并经同义词和上下位扩展,提交给检索子系统进行查询。
(3) 自然语句查询
自然语言处理模块的功能是对现代汉语句子进行一些浅层的语义分析和处理,从而能够在汉语语句中提取出一些语义成分,并以一种规范化的语义图的形式把语义内容表示出来。该模块使用了由哈尔滨工业大学信息检索实验室开发的“语言技术平台Language Technology Platform(LTP)”工具,以及中文WordNet词库。
由于现代汉语句型相对比较复杂,同时相对构造的规则并不能形成一个相对统一的规范,在相关领域对现代汉语句型的研究也比较少。在本模块中,主要只对一部分汉语句型进行分析和处理,处理流程如图6所示,处理的句型都是陈述句,具体细分为:“主语+动词”结构、“主语+形容词词”结构、“主语+动词+名词”结构、“主语+动词+名词1+名词2”(双宾语)结构、“主语+动词+名词+动词+名词”(兼语句)结构、以及连动结构等。
在MPEG-7视频描述文件信息存入数据库InfoDB时,全局信息管理子系统首先将MPEG-7视频描述文件中视频片段的自由文本标注信息传送到自然语言处理模块进行分析处理,得到语义图信息,接着经语义图串化以及同义词和上下位扩展,得到语义关键字集,并存入数据库InfoDB中该视频片段的“语义文本信息”字段中,最后语义关键字集传送到检索子系统建立倒排索引。
用户在Web查询页面上输入自然语句查询,后台Web应用服务器经自然语句处理模块和语义图串化模块处理为语义关键字集,并经同义词和上下位扩展,提交给检索子系统进行查询。
3.5 分布式存储子系统
分布式存储子系统是由媒体分发网络MDN,以及外围流化服务器MS集群和MCP媒体内容提供商组成,如图7所示。媒体分发网络由中心管理模块MM、目录服务器DS(多目录服务器),以及若干个分布在网络中的PN节点构成的。整个子系统主要功能是提供视频的分布式存储和流化点播功能,具体为:
1) 全局信息管理子系统首先将视频通过ftp上传到MCP服务器上面,然后通告MM部署该视频,MM根据一定的部署策略(负载均衡和热点调度等)计算并通告相应的各个PN到MCP上去取对应的视频片段,或者在一定的时机(增加、删除PN节点时)按照一定的部署策略进行部署的调整,使得视频内容进入MDN的存储区域,以便在MS点播用户服务时能够保障服务的质量,并最大限度地提高本地数据的请求击中率。
2) 在MS向用户进行流化服务时,如果MS发现媒体内容不在本MS存储区域,则通过内容分发网络实时请求数据,MDN系统能够按照一定指标完成媒体内容的实时调度和服务。
(1) 视频部署流程
系统在提供用户点播功能之前需要对视频源文件进行部署,管理员可以通过全局信息管理子系统的管理界面选择本地要部署的视频源文件,点击“部署”按钮后,系统便开始执行影片部署流程。
① 全局信息管理子系统首先通过ftp将视频上传到MCP服务器上面。
② 影片上传完成后,全局信息管理子系统给MM一个视频部署命令。
③ MM查询DS上面的当前PN的存储状况并按照负载均衡和热播均衡等策略计算出视频片段的部署策略,然后通告DS和相应的PN做好视频片段接收的准备工作。
④ 当DS和相应的PN上报准备工作就绪之后,MM通告DS创建相应的影片目录管理信息,通告相应的PN到指定的MCP上面去取相应的视频片段。
⑤ 相应的PN协同下载相应的视频片段,全部下载完成后,DS和相应的PN上报部署成功的消息。
⑥ MM接收到所有影片片段的部署成功的消息后,上报给全局信息管理子系统影片部署成功。
(2) 视频点播流程
用户检索到视频片段的列表后,点击感兴趣的视频片段上的“点播”按钮后,浏览器向Web应用服务器发出VOD请求并刷新页面,该页面自动调用本地的VLC Media Player,最后播放器主动去连接最近的MS,开始接收和播放视频流。
① Web应用服务器的接收到VOD请求(SegmentID, startTime, length)后,按照负载均衡将该请求分发到最近的MS流媒体服务器上面。
② MS首先检查本地磁盘是否存在相应的视频片段,如果存在,则直接返回该视频片段所在的位置,否则,MS向它的PN协同下载组中的每个PN′发出视频块请求(Block Request)。
③ PN′节点接收到块请求后,首先检查本地磁盘是否存在相应的视频片段,如果有一个PN′存在,则直接多线程将该片段回传给PN,否则,PN节点向DS查询。
④ DS查询视频片段的管理目录和数据库信息,并返回给PN拥有部分VOD请求的视频片段的PN结点列表。
⑤ PN接收到PN列表后,向这些列表中的PN发出块请求。
⑥ 这些PN多线程地将视频片段发送给该PN,PN接收到所有片段后,将该片段组装成VOD请求所要的视频片段,最后将该片段多线程地发送回给MS。
⑦ MS接收到完整的VOD请求的片段后,返回给Web应用服务器该片段的地址。
⑧ 最后,浏览器上页面内嵌VLC Media Player按照指定的视频片段地址连接到MS上去流化播放视频片段。
4 结 语
本文基于MPEG-7标准对视频内容的强大描述能力,设计和实现了一个支持语义的视频检索系统:“语寻”。该系统利用一个改进的IBM视频语义处理工具对视频和视频片段进行自由文本的自动和半自动标注、语义图标注、自由文本的自然语句分析,生成包含统一标准的语义关键字集的MPEG-7视频描述文件,然后将视频的MPEG-7中所有描述信息建立分布式倒排索引,并同时分布式存储视频文件;在查询时,通过多种方式(包括关键字的同义词和上下位扩展查询、语义图查询以及自然语句查询)对视频和片段进行查询,实现对视频内容的高效检索和点播。由于互联网上视频数据快速增长,“语寻”采用分布式架构,具备良好的可扩展性,支持海量视频信息的索引和检索。
今后的研究工作主要是:如何提高语义检索的精度,针对不同用户的个性化视频检索,以及考虑利用用户的评价反馈来改善检索结果的准确度,同时提高系统的容错能力和稳定性。
视频检索系统 篇2
目前的基于内容的视频检索系统主要是利用视频处理技术, 通过对视频内容进行分析处理, 将视频分割成不同的场景和片段这两个层次, 然后提取出视频片段中的纹理、颜色、形状、运行等全局特征, 最后通过特征的匹配来实现视频的检索。这方面比较有代表性的系统是Fischlar系统[6]和IBM公司的Multimedia Search and Retrieval System[7]。而日常生活中的监控视频与普通视频相比, 有如下特点:1) 监控视频的背景变化缓慢。因为一般监控摄像头都是固定在某一特定的场合, 其录制的监控视频都是在某一特定场合下的视频;2) 监控视频有较大的冗余。监控视频中经常会出现较长的“静止”画面;3) 监控视频中最感兴趣的信息一般是行人、车辆等。因此, 针对监控视频的这些特性, 使用类似于Fischlar系统等系统, 会产生建立索引的计算量太大, 检索效率低以及不能有效检索所需要的感兴趣信息 (行人、车辆等) 等问题。
本文提出了一种基于内容的监控视频检索系统的构建方法。根据监控视频的场景变化缓慢的特点, 使用关键帧提取技术[8,9]来生成视频摘要, 通过精简的关键帧图像来反映监控视频的主要信息。人们通常对监控视频中的行人、人脸以及车辆等信息更感兴趣, 因此利用机器学习方法对这些感兴趣区域进行识别, 然后提取出关键帧图像中的车辆图像、行人甚至人脸图像。将生成的这些图像信息及监控视频之间建立关系映射, 并存储在关系型数据库中。然后利用开源的CBIR (ContentBased Image Retrieval) 工具Lucene Image Retrieval[10,11,12]构建基于内容的图像检索系统。首先分别将生成的关键帧图像、车辆图像、行人图像和人脸图像建立基于颜色、纹理、边缘等特征的索引, 形成多层次的信息数据库。然后根据用户输入的待检测图像, 检索出相同或者相似的目标图像, 再根据关系型数据库中保存的目标图像与监控视频的对应关系找到对应的监控视频。最终完成了根据图像内容检索目标监控视频的目的。因此, 本文提出的基于内容的海量监控视频的多层次检索系统主要包含关键帧提取子系统、车辆检测子系统、行人检测子系统、人脸识别子系统、视频数据库管理子系统、基于内容的图像检索子系统、数据库管理子系统、Web应用和用户交互界面等模块。实验表明, 该系统能够高效准确地检索出所需监控的视频。该系统采用Java Web开发技术, B/S (Browser/Server) 系统架构, 具有很强的实用性、可移植性及可扩展性。
1 相关技术
1.1 关键帧提取
视频摘要技术主要分为两大类, 即关键帧 (Key Frames) 技术和缩略视频 (Video Skim) 或浓缩视频 (Video Synopsis) 技术[13]。结合监控视频的特点, 本文使用的是关键帧技术。常见的关键帧算法有:帧差法 (Frame Difference) , 近似平均法 (Approximate Median) , 混合高斯法 (Mixture of Gaussian) 。本文选取效果较好的混合高斯法。在用混合高斯模型法获得关键帧时, 首先建立混合高斯模板[14,15], 通过计算新建像素模板与已知模板的相符程度判断某一像素属于前景还是背景。学习速率的选择对背景图像的准确性有一定的影响, 更新速度过慢会延长背景建立的时间;更新速度过快又可能将短暂停留的前景目标误当作背景。
1.2 行人检测和车辆检测
基于高斯混合模型, 获得了能够体现视频内容的关键帧集合。由于同一场景下占有视频帧较大比例的背景图像变化不明显, 直接用关键帧进行检索的准确率大大降低, 这就要求对检索范围进一步缩小。在监控视频中, 行人和车辆是主要关注的目标, 因此采用HOG (Histograms of Oriented Gradients) [16]的方法来检测行人与车辆。HOG训练样本时分为两大部分, 包括特征提取和训练方法, 流程图如图1所示。特征提取的流程包括:色彩的伽马归一化, 梯度的计算, 构建以cell为单位的利用梯度幅值作为加权方案的方向直方图, 将多个cell单元的方向直方图组合为更大的区间块block并对block内的直方图向量进行标准化, 最后合并检测窗口内的block直方图向量。训练方法采用的是支持向量机 (Support Vector Machine, SVM) [17]中简单的线性SVM训练得到检测行人和车辆的相关系数, 使用SVM进行目标检测的流程如图1所示。
1.3 人脸检测
对于检索到的行人图像, 对其进行人脸检测, 以提高检索的效率。本文中人脸检测采用的是Viola P等人提出的级联Adaboost方法[18], 利用积分图法来加快Haar矩形特征的计算, 利用多个最佳弱分类器训练到强分类器。在检测人脸时使用级联的方法来加快检测速度达到实时检测的要求。图2是人脸检测中分类器训练的流程图和人脸检测的流程图。
1.4 CBVR框架LIRe
LIRe是使用Java编程语言开发的一个可扩展的开源CBIR库[11]。其中, Lucene是Apache软件基金会项目组下的一个开源的全文检索引擎包, 它使用Java开发, 开发人员很容易对其扩展, 以定制自己的检索引擎。LIRe就是在Lucene的基础上, 结合图像的颜色、边缘、纹理及局部特征, 构建CBIR引擎包。LIRe使用的主要图像特大致可以分为如下几类:
1) 颜色, 如颜色布局 (Color Layout) 、可变长颜色 (Scalable Color) 、自动颜色关联图 (Auto Color Correlogram) 、联合直方图、RGB颜色直方图、Opponent颜色直方图等。
2) 边缘, 如边缘直方图 (Edge Histogram) , 分层梯度方向直方图 (Pyramid Histogram of Oriented Gradients) , 颜色和边缘的方向性描述符 (Color and Edge Directivity Descriptor, CEDD) , 模糊颜色和纹理直方图 (Fuzzy Color and Texture Histogram, FCTH) 等。
3) 纹理, 如Tamura Texture Features (粗糙度、对比度、方向度等心理学上的纹理特征) 、Gabor纹理特征等。
4) 局部特征, 如尺度不变特征变换 (Scale-Invariant Feature Transform, SIFT) 等。
LIRe检索图像分为2个步骤:1) 索引文件的生成, 即特征库;2) 根据用户输入的图像, 从特征库中查询出相同或相似的图像。图3是LIRe对一幅图像生成索引的流程示意图。从图中可以看出, LIRe首先提取图像的颜色、纹理等特征, 然后用对应的直方图数组来表示图像。最后, 按照Lucene的索引格式, 将特征数据写入到索引文件, 形成“特征库”。另外, 索引文件中还保存了图像的其他信息, 如图像的名称、图像所在路径等。
LIRe检索图像的过程示意图如图4所示, 检索图像需要经过如下步骤:
1) 对用户输入的图像进行特征提取, 生成相应的特征向量A;
2) 逐个读取“特征库”中的特征向量B;
3) 计算输入图像的特征向量A与向量B之间的“距离”;
4) 按照“距离”的数值, 从小到大排序。距离越小, 说明两者图像越相近。
不同特征类型的特征向量之间的距离衡量标准是不同的, 比如, 对于边缘特征, 使用l1范数, 即设U, V分别代表2幅图像的边缘特征向量, 它们之间的距离d表示为
式中:L为向量的长度。而且对于特征, 比如颜色特征, 使用l2范数距离, 即
而CEDD特征则使用Tanimoto系数, 然后将Tonim-oto系数转化为距离。Tanimoto系数的定义为
特征之间的距离d与Tanimoto系数之间的转化关系为
总之, 通过计算特征之间距离, 寻找出最相似的图像, 由于之前特征库中保存了图像的名称、路径等信息, 这样就能够找到与之相类似的原图像, 进而完成了“以图搜图”的全过程。
1.5 Java Web开发框架
本系统使用Java Web开发技术, 系统前端使用Java Script、Html和Jquery技术, 系统后端采用Struts2+Spring+Hibernate三大主流开源框架开发。结合LIRe完成基于内容的图像检索子系统。同时, 用Web的方式管理视频库、图像库和特征库。同时为该系统设计了用户管理模块。普通用户可以通过上传图像, 从多个层次检索所需视频。系统管理员拥有普通用户的权限之外, 还可以管理视频库、图像库和特征库, 控制索引文件的分布和存储。整个系统具有图像上传、图像特征选取、监控视频播放等功能。用户只需要使用浏览器就可以使用该系统, 充分体现了B/S架构的优点。
2 系统设计
2.1 多层次信息数据库设计
多层次信息数据库的结构图如图5所示。首先, 通过关键帧提取子系统提取出监控视频中的关键帧图像, 这些关键帧图像能够反映监控视频的主要内容, 在一定程度上去除了监控视频的冗余信息。其次, 使用行人检测子系统和车辆检测子系统对关键帧图像当中的行人和车辆进行提取, 同时, 对于行人图像, 再使用人脸识别子系统提取出行人中的人脸图像, 进一步提取出了监控视频中最感兴趣的部分。最后, 使用LIRe索引生成模块对生成的图像分别建立含有图像特征的特征库, 即Lucene的索引文件, 以备检索。另外, 为了能够根据检索出的图像查找到该图像所在的视频, 将视频与图像的关系保存在关系型数据库中。因此, 最终得到的多层次信息数据库包括视频库、关键帧图像库、行人图像库、车辆图像图、人脸图像库以及它们之间的关系数据库和特征库。
2.2 检索框架设计
系统采用B/S架构, 使用Java Web开发技术, 将系统的各个模块整合成一个多层次的检索系统。图6是系统的检索框架图, 用户可以从监控视频的场景图、行人图像、车辆图像或者人脸图像4个角度对监控视频进行检索。
检索过程如下:
1) 用户使用浏览器, 登录系统的Web页面, 从本地选择1幅图像 (场景、行人、车辆或人脸) , 同时需要选择检索时所需要的图像特征;
2) 浏览器将图像上传到Web服务器后台;
3) 服务器后台调用LIRe检索模块, 根据用户选择的特征, 对图像进行特征提取, 生成特征向量;
4) LIRe模块读取特征库, 将特征库中的特征向量与待检测图像的特征进行对比, 选择最相近的多幅图像, 根据相识度排序, 生成图像集;
5) 根据关系数据库中图像与视频之间的对应关系, 检索到与该图像对应的视频;
6) 后台程序将检索结果和检索时间等信息反馈到前端, 供用户浏览观看。
3 检索实验
整个海量监控视频检索系统部署在4台Sugon天阔I420r-G型流媒体服务器和2台Sugon海量存储服务器上, 系统总存储容量为24 Tbyte, 操作系统版本为Ubuntu Server 12.04LTS, JDK版本为Open JDK6, Web容器为Tomact6, 系统使用的关系型数据库为My SQL数据库。监控视频素材为选自公司内部监控视频、交通路口监控视频以及室内监控视频等, 数据量为15 Gbyte。系统主要分为检索模块、索引管理模块和系统管理模块, 用户在第一次进行检索之前, 需要使用索引管理模块生成对应的特征库。
图7~图9表示了一个检索实例, 其中图7为用户选择CEDD特征作为检索特征的检索入口页面。图8为用户上传的待检索图像。图9为检索结果的页面。从检索结果的页面中可以看到, 用户能够检索出与之相同或相似的行人图像, 并根据检索结果与原图像之间的“距离”依次排序。最右边一列为检索结果图像所属的监控视频, 用户可以对视频进行浏览和播放。同理, 用户也可以上传车辆图像、人脸图像或者场景图像对监控视频进行检索, 同样能够得到相应的监控视频。
图10是系统在当前配置下, 不同特征下的平均检索时间, 横坐标是图像特征, 纵坐标是检索所需要的平均时间。从图中可以看出, 在系统在当前实验环境下, 能够实时地检索出所需要的视频。
4 结束语
视频检索系统 篇3
伴随着视频安防监控系统的快速发展与应用,其产生的数据呈现几何级数的增长,并且数据已不再是简单的文本数据了。由于数字视频数据的非结构化,使得现有及将来产生的大量的数字视频无法智能利用,大量有价值的数据只能成为毫无意义的积累。因此,面对海量的监控视频数据,提供一个快速而高效的检索方案成为一个亟待解决的问题,同时也是监控领域所面临的主要困扰。视频检索系统伴随着多媒体技术、网络技术、视觉技术的发展应运而生。
目前大部分视频检索系统如Google和YouTube等主要是依赖于人为手工地对视频片断进行文本描述信息标注,这种方式需要耗费大量时间和人力去标注视频。与传统视频检索系统不同的是,本文提出的快速检索系统主要对视频片断智能地进行信息提取,获取视频对象,而检索主要针对视频对象数据库操作,能够获取较高的检索效率。
1 系统框架
本文所提出的视频检索系统实现主要分为后台视频分析系统和前台视频检索系统两部分完成。其系统框架如图1所示。
图1中,(a)部分是视频采集与压缩模块,视频通过固定摄像头采集得到,并以H.264格式[1,2]在DM642开发板上进行压缩[3]。(b)部分为视频对象分析过程,H.264文件通过H.264解码器得到帧图像然后进行视频分析。在开源库OpenCV[4]和MySQL[5]的支持下,分析得到的结果将存入视频对象特征数据库中。同时,如图中虚线所示,摄像头采集到的视频图像也可以直接用来进行视频分析。(c)部分为视频检索模块,用户可以输入语义检索信息或示例图像,检索程序将会从视频对象数据库中返回匹配上的结果。
2 视频分析
本文中以对象的形式描述视频内容,视频对象可以通过当前帧与背景帧帧差分割得到。得到的对象通过视频对象描述子[6,7,8,9]进行语义描述。视频分析包含视频对象提取、分割、视频对象特征提取、对象匹配等模块。
2.1 视频对象描述子
2.2.1 颜色
颜色为视频对象提供了有价值的自然属性及光照形状。对于两个外形相似的视频对象,通常从主要颜色及颜色分布信息可以有效的地分开来。主要颜色向量Vdc定义为HSV(Hue,Saturation,Value)空间Hue分量上的8个主要颜色值,第i个颜色直方图值chi定义如下
式中:hx,y是像素点(x,y)的Hue分量值,O(n)是分割得到的视频对象n。主要颜色向量Vdc由M个主要颜色值[ch0,ch1,ch2,…,chM-1]组成。δi(hx,y)函数定义如下
2.2.2 形状
形状信息是除了颜色之外对视频对象分类识别的又一重要视觉信息。视频对象形状包含轮廓和大小。视频场景中的视频尺寸与对象实际尺寸成一定比例关系,包含宽和高。在本课题中,矩形形状被设置为视频对象的尺寸大小,轮廓形状暂不考虑。图2描述了视频对象的形状描述子。
2.2.3 边缘方向直方图
边缘方向直方图是通过对视频对象轮廓进行Sobel算子处理得到。参考文献[10-11]中,8个方向值vertical edge,22.5°,45°,67.5°,90°,112.5°,135°,157.5°用来描述边缘方向。边缘方向向量Veo就指定为这8个方向值。第i个方向值ehi定义如下
式中:θx,y表示像素点(x,y)的方向值,C(n)分割得到的视频对象n的轮廓。边缘方向向量Veo可由M个边缘方向值[eh0,eh1,eh2,…,ehM-1]构建而成。θx,y可通过如下公式计算得到
式中:g(x,y)是像素点(x,y)的灰度值,Gx和Gy是Sobel模板。δi(θx,y)函数定义如下
2.2.4 运动向量
运动向量可以从MPEG-4或H.264标准格式码流中解码分离出来。运动信息将作为MPEG-4/H.264格式视频对象的可选描述子[12,13,14]。平均运动向量MV可以通过待研究视频对象区域内所包含的运动宏块Bi,j的运动向量值MVBi,j平均加权得到,如下式所示
式中:N是视频对象区域内所包含的运动宏块数。
颜色、形状、边缘方向和运动向量是表征一个视频对象的重要信息。对于其他描述子,如纹理及区域协方差[13]等,本课题中暂不考虑。
2.2视频对象提取
视频对象提取在于将视频对象从背景中提取出来。通过高斯混合[15]或系数加权模型,可以获取到背景帧。背景帧定义如下
式中:f0,fn分别表示视频第1帧和第(n+1)帧,M(·)表示混合高斯模型或系数加权模型函数。
通过连续帧视频采用混合高斯背景建模或权系数背景建模获取背景之后,将视频帧与背景帧做帧差和预/后处理后,就可以得到视频前景。通过当前帧fn和背景帧fb,前景帧DFn通过帧差由下式得到
式中:算子F,⊕和Θ分别表示平滑滤波、膨胀、腐蚀操作。图3a为背景提取过程,图3b为视频对象提取处理过程。
2.3 视频对象分割
通过当前图像与背景图像帧差获取到的前景图像包含有当前图像中所有的视频对象。视频对象分割就是指将这些视频对象的统一体分割成一个个独立的视频对象过程。运用CANNY和CONTOUR运算子[16]从得到的前景图像中把视频对象一个个分离出来。图4表明视频对象以矩形框形式被分割出来并标以不同颜色加以区分。
2.4 视频对象匹配
视频对象分割后,需要判定当前对象是否在之前的视频帧出现。通常做法是进行视频对象跟踪。本课题中将采用视频对象匹配代替跟踪。分割后的视频对象和固定大小的视频对象序列进行匹配。如果匹配,说明当前视频对象已存在于视频对象库中,否则表明当前对象为新出现的视频对象,需要储存到视频对象缓存和数据库中。匹配流程如图5所示。
视频对象匹配是用来判定两个视频对象是否为同一个对象。根据从视频对象提取得到的特征信息,可以通过直方图匹配、形状匹配、SIFT匹配[17,18]、HU-不变矩匹配[19]、区域协方差匹配[14]或加权融合匹配等方法进行判定。
对于2个视频对象{VO1,VO2},其颜色特征信息分别为CH1=[ch10,ch11,ch12,…,ch1M-1],CH2=[ch20,ch21,ch22,…,ch2M-1];边缘方向特征信息分别为EH1=[eh10,eh11,eh12,…,eh1N-1],EH2=[eh20,eh21,eh22,…,eh2N-1]。2个视频对象的颜色、边缘方向直方图距离和SIFT匹配度可分别表示为
式中:M和N分别表示颜色和边缘方向直方图的bins数;
EH2(i)=eh2i。SIFT(·)为SIFT算法实现函数[17,18],THsift为自定义阈值。
3 视频检索
视频检索系统通过语义或示例图片实现基于对象视频检索。用户可以通过输入语义信息或提供示例图片从数据库中检索到相似对象。其中,语义信息包含视频对象形状、主要颜色和主要边缘方向。用户输入的语义信息将与数据库中的视频对象特征信息进行匹配。如果提供示例图片,检索系统将会先提取出示例图片的语义信息,然后在执行语义检索过程。待检索的视频对象特征向量Vq与已分割存入数据库的视频对象特征向量V(n)={Vdc(n),Veo(n)}进行匹配,其中n表示数据库中第n个视频对象。当待查询的视频对象与数据库中的视频对象距离d小于预设的阈值dth时,对象匹配成功。
4 实验与分析
所提出的系统由后台视频分析模块和前端客户检索模块组成。系统依赖于OpenCV视觉支持库和MySQL数据库。通过固定摄像头采集视频并以H.264标准压缩,采集视频分辨率为CIF格式(352×288),系统基于以上参数进行评估。
图6为视频检索系统的演示图。图6a为视频分析模块,左侧显示为处理帧,场景为一实验室,右侧为数据库和视频处理操作按钮。视频文件或摄像头可作为视频源进行处理。视频帧被转换到HSV空间提取颜色信息。图6b为视频分析模块经过视频处理所提取的视频对象。图6c为客户检索模块,提供2种检索输入方式:语义和示例图片。检索结果以文本和图像的形式返回。
5 小结
本文中提出了一种快速有效的监控视频检索方式。系统可以从视频对象数据库中直接快速检索而不需要重复进行视频处理。所提出的视频检索系统能够进行较为有效的视频对象检索。视频分析模块能够对输入视频进行解码分析,提取并分割出视频对象,并将视频对象特征信息提取出来,然后进行是否为新对象判决,最后将获取到的新对象存储到数据库中。视频检索模块能够根据输入的示例图片或语义信息从数据库中检索到类似视频对象并返回结果。
该系统还有很多不足之处需要改进,比如视频对象定义描述子尚不完善,视频对象提取分割精准性有待提高,视频对象匹配准确度也有待提高,视频对象特征数据库有待优化等。
摘要:介绍了一种基于H.264格式压缩的监控视频检索系统,该系统基于对象和语义,主要包括视频分析和视频检索两大模块。通过视频分析模块,对H.264压缩域视频解码并进行视频对象提取、分割、特征提取和对象匹配等分析过程,将得到的视频对象及特征信息存入至对象特征数据库;在视频检索模块端,用户可以通过输入语义信息或示例图片直接从特征数据库中进行视频检索查询,避免了视频的重复处理。实验表明,通过提出的系统可以快速有效地进行视频检索。
视频检索系统 篇4
随着网络技术的快速发展,网络视频数量飞速增长,人们对视频检索的需求日益增加。目前国内外已经研发出了基于内容的视频检索系统,例如IBM Almaden研究中心开发的QBIC(QueryByImageContent)系统、美国哥伦比亚大学研究的VideoQ系统以及国内清华大学研究的TV-FI(TsinghuaVideoFind It)系统等。基于内容的视频检索系统在其技术和性能上的原因离实际应用尚需时日[1],目前Google、Baidu等搜索引擎提供的视频检索方法主要是根据用户输入的关键词和视频提供者为视频标注的元数据信息[2]进行匹配。当前的搜索引擎一般采用集群负载均衡技术构建集中式搜索引擎系统[3],这使得当网络上的视频搜索请求高并发时系统的入口服务器很容易成为系统的瓶颈。对等网络(Peer-to-Peer,P2P)由于其具有很好的可扩展性、健壮性和负载均衡性等特点逐渐发展起来并且技术日渐成熟[4]。为此本文研究了基于对等网络的分布式视频检索系统以此改善传统视频检索系统的性能该系统中,首先对视频进行相关处理,包括基于文本的视频场景分割、镜头关键帧抽取和语义类别标注[5]等,得到视频片段及相应描述文本,这部分工作更详细的内容可参考文献[5]。本文重点介绍利用对等网络平台、分布式数据存储技术和消息组播技术构建分布式视频查询系统,主要包括视频片段及描述文本的分布式存储、索引库构建、P2P网络中查询请求消息组播和索引搜索等。
本文第2节为整个视频检索系统介绍;第3节重点介绍分布式视频索引库的构建,包括分布式存储和索引查询过程;第4节给出查询优化机制,包括同义扩展查询、查询串自动提示以及缩略语提示等;第5节为视频检索系统的实现。另外在不同P2P节点数和不同响应时间限制条件下进行实验并分析实验结果;第6节为总结和未来工作展望。
2 P 2P分布式视频检索系统结构
近几年,P2P研究热兴起,财富杂志更将P2P列为影响Internet未来的四项科技之一。P2P技术可以理解为网络参与者共享他们的部分资源(处理能力、存储能力、通信能力等),这些共享资源通过网络提供内容和服务,能被其它对等节点(Peer)直接访问而无需经过中间实体。网络中的参与者既是资源提供者(Server),又是资源获取者(Client)。
P2P网络中的节点必须以某种方式组成一个有机的整体,即覆盖网络(Overlay)。P2P覆盖网络的拓扑结构有中心化、全分布非结构化、全分布式结构化和半分布式四种[6]。全分布式结构化P2P网络由于没有中心式服务器,所有节点既是服务器又是客户机,真正做到网络对等以及高效快速的资源定位等优点为本文所采用。本文中的视频检索系统构建于微软研究院和美国Rice大学研究开发的Pastry分布式平台之上,它是全分布结构化的P2P网络。FreePastry作为Rice大学的一个项目,是Pastry的开源实现。
本节主要介绍分布式视频检索系统结构,同时给出系统所使用的分布式平台Pastry。
2.1 分布式视频检索系统
图1为视频检索系统总的结构图。
电影视频进入本文的视频检索系统后,首先经过视频分析获取视频描述文档,该描述文档被送往视频管理作为系统中的一个管理对象。电影视频数据依据场景分为多个片段并存储。同时根据视频描述文档生成用于检索整个电影视频及其包含的场景片段的文本文档文本文档进入索引库创建倒排索引以支持用户基于关键字的快速视频检索。本文中提到的“视频分析、标注文档生成”等更详细的内容可参考文献[5]。
系统分布式视频索引库和查询消息组播是在开源软件FreePastry、PAST、Scribe之上的二次开发实现。分布式视频索引器和搜索器在Lucene之上实现。系统主要部分为服务器端,提供索引文档的生成和存储、查询消息的组播、同义扩展和输入提示,其中输入提示涉及到客户端部分。客户端主要为用户提供查询接口功能。后面各节详细介绍各部分内容。
2.2 Pastry平台
Pastry是一个大规模可扩展的分布式对象定位和路由的P2P底层网络系统,它是通过互联网连接的多个节点组成的自组织覆盖网,在应用层进行消息路由和对象定位。Pastry具有很好的分布式控制、自组织、自适应和可扩展能力,可用来支持大量的对等应用,例如全球海量的数据存储和共享等。有关Pastry更详细的内容可参考Antony和Peter等人的文章[7]。
3 分布式视频索引库构建、存储和查询
使用文献[5]中的方法获得视频片段及对应的语义描述文本后,需要对文本建立索引并存储索引到分布式网络节点上。同时对用户的查询请求在P2P节点间进行组播,根据用户输入的查询串进行模糊查询,获取存储有用户请求的视频片段的节点信息,对视频片段进行排序后返回给用户对应的视频链接。本文对FreePastry研究者在Pastry基础之上开发的数据持久存储工具PAST和应用层组播协议Scribe进行二次开发,有机组织构建分布视频查询平台,用以完成对视频索引文档进行存储和查询消息组播。另外在Apache软件基金会jakarta开发的开源软件Lucene[8]基础之上开发搜索引擎,完成对索引库检索。
3.1 索引库的建立和存储
文本文档的基本查找方法为顺序扫描文本即“顺序查找”。该方法不需要对文档集合中的信息做任何形式的预处理。用户查询时,直接在文档中进行字符串简单匹配,方法简单,容易实现。但是当需要查找的文件大小及数量很大时这种查找方法的效率比较低。文档的另一种搜索方法是建立索引。当文档的数量很大且文档中的信息相对稳定时,建立索引可以大大提高搜索时的效率。索引建立的方法有倒排索引、后缀数组和签名文件等多种[9],其中倒排索引技术广泛应用于信息检索系统中。本文使用倒排索引技术构建视频文档索引库。
同时本文采用PAST工具将获得的索引文档存储到P2P网络上。PAST是一个大规模持久化的存储工具[10],构建于Pastry之上,是互联网中节点组成的覆盖网。PAST网络中的每个节点均有一个唯一的128-bit长的节点标识,同时,对于存储于PAST网络上的文件都有一个唯一的160-bit长的文件标识。PAST网络中的节点或用户可以进行文件存储文件和回收等操作。另外,PAST统计性地将文件存储到节点,平衡网络负载。PAST维护用户指定的文件冗余度,保证当网络中有节点失效或离开后文件副本数量不变[11]。
采用文献[5]中的方法,索引库获得视频及场景标注文本文档后,对每个文档创建倒排索引并添加到索引表中。对于获取的每个标注文本文档(用D表示),设置其冗余度为k(即在P2P网络中保存该文档文件的k个副本)后将文档提交给PAST存储,并由PAST维护k个副本在节点加入和退出时保持不变。k≥1且可根据网络中物理节点的数量正比例调整。假设PAST分配节点A和B存储该文档,A、B节点接收及存储文档后,节点上的索引器单元完成工作:(1)对文档中所包含的文本内容进行中文分词处理[12],并去除停用词,获得文档关键词集;(2)统计每个词(用t表示)在文档中的出现频率,建立文档的前向索引表,结构如表1所示;(3)将每个词的信息添加到如表2所示的后向(倒排)索引表中,如果该词已经存在则在对应表项中追加文档名称和词频否则新建单词表项。
如果某个节点退出网络或失效,PAST将该节点存储的文件在别的节点上增加一个备份。假设节点A失效,PAST从B处复制doc到节点C,则节点C在收到doc后,其上的索引器单元为文档doc创建倒排索引。通过上述机制,保证每个文档在网络中至少有两个倒排索引副本,防止由于节点失效带来的索引丢失。同时可以通过调用PAST提供的存储空间回收操作,删除存储的视频及索引信息。
图2给出了分布式索引库的系统结构图。服务接口层响应外部的服务请求,包含文档入库、文档删除、文档更新和文档搜索等。服务接口层收到这些请求后根据请求类型交由搜索器或索引器进行处理。索引器负责对文本文档建立倒排索引并在下层PAST的支持下在整个索引库的多个节点中进行冗余存储,索引器同时也是文档删除和文档更新操作的入口。搜索器根据查询字符串在整个索引库的倒排索引中查找对应的文档并根据相关性对搜索结果进行排序,返回结果给服务接口层。
3.2 索引查询
系统提供用户查询接口。当系统获取到用户的查询请求后,对查询消息进行优化,Scribe网络向索引库中任一服务节点转发该优化后的查询消息。服务节点中的外部接口索引库中发起该查询响应过程,并综合最终的搜索结果返回给检索接口。
Scribe[12]是一个大规模去中心化的应用层组播协议,构建于Pastry之上,具有可扩展性、容忍Internet故障、低时延和有效利用网络资源的特性。Scribe为组通信协议,所以视频检索系统中的各个节点均需加入一个组播组内,这些查询消息才能在各节点间传递。
在Scribe网络中,查询过程如下:
步骤1:首先外部服务接口通过调用Scribe的多播通信服务将来自外部的查询字符串发送给所在组的所有服务节点,节点中的搜索器单元接收该查询字符串后启动以下处理:
步骤2:对查询串进行分词和去停用词处理,获得单词串;
步骤3:为每个词在倒排索引表中找到包含它的文档及该词在每个文档中的出现次数;
步骤根据查找结果计算找到的文档相对于查询串相关度得分;
步骤5:将搜索到的文档及相关度得分返回给发起本次查询节点的外部接口作为本搜索器的搜索结果;
步骤6:外部查询接口综合其他服务节点发送的搜索结果排序后将搜索结果返回给检索接口。
为缩短响应时间,可以设定外部接口返回结果时间门限值,到达时间时外部服务接口必须将已获得的搜索结果返回给检索接口,对于后续收到的搜索结果再行发送给检索接口。检索接口将结果格式化后返回给用户。一般查询结果较多,检索接口并不将检索结果一次返回,而是先给用户返回相关度最高的若干条记录,之后再根据用户的请求返回其它记录。检索接口对检索结果进行了缓存。
3.3 搜索结果排序
本文基于文档空间向量模型(VSM,VectorSpaceModel)对搜索结果进行排序。VSM将文档和用户查询串转化为向量形式,对于所有文档和用户查询都映射到文本向量空间。用户查询和被检索文档两者的相关度可用向量余弦相似度度量[13],从而将信息检索转化为向量空间的向量匹配问题。
系统中对每个包含查询关键词的文档都计算相关度值,并根据该值进行排序即可获得文档与查询字符串的相关度排序结果。
4 查询优化机制
通常情况下,用户会输入他想查询的视频片段的相关信息,比如导演姓名、视频中的主要演员姓名或者对话等等。但是难以避免会出现以下几种情况:
一是用户输入错别字或者同音字,例如把“师傅”输入为“师父”。特别是国外演员的姓名,他们都是音译过来的,输入时很容易跟电影中的不一样;
二是用户对想搜索的内容不是很清楚,只知道大概的内容。这时他可能会输入同义词进行查询;
三是用户可能会输入一些常见的英文缩略语,比如“NBA”,“NASA”等;
这就要求检索系统能够进行模糊查询。在对用户输入的查询串进行分词和去停用词后,本文根据得到的查询串进行同义扩展,即如果检索系统对这些查询串没有返回记录或者记录很少,则查询其同义词。同时,在用户输入的过程中进行同音和缩略语提示,以提高用户输入的准确率和查询效率。
4.1 基于中文WordNet的同义扩展查询
美国普林斯顿大学感知科学实验室开发的WordNet是基于英文词汇语义网络的一部在线词典数据库[14]。它将英文中的名词、动词、形容词和副词组织成为同义词集(synsets),每个集合表示一个基本的词汇概念,然后在这些概念之上建立包括同义关系、反义关系、上/下位关系等多种词汇语义关系。目前成功应用于自然语言处理、计算机语言学等多个领域。东南大学计算机科学与工程学院高志强等在英文WordNet的基础之上研究开发了中文WordNet[15],并且部分开放中文数据库词典。本文采用中文WordNet词典,完成同义词扩展查询功能。图3为同义扩展流程。
本文使用中科院计算技术研究所开发的中文分词工具ICTCLAS对查询串进行分词,并去停用词得到查询关键词组(t1,t2,t3,...)。如果系统返回0条查询结果或者查询结果很少,则对查询关键词组里面的每个词进行同义扩展,得到由每个词的同义词组组成的集合其中(t11,t12,t13,...)为t1的同义词组,后面依次为t2,t3,...的同义词组。将各个同义词组中的词进行组合形成新的查询串,以扩大查询范围,提高查询准确率。
4.2 JavaScript实现查询串提示
用户在输入查询串的时候可能会出现输入同音字和缩略语的情况,为了提高用户输入准确率,本文使用JavaScript技术实现检索接口的输入提示功能。
首先将汉字拼音词典分汉字、拼音和多音等多个字段存入数据库。当用户在检索接口的文本框中输入时,JavaScribt实时将用户输入发送到服务器端。服务器在收到用户输入时查询数据库,得到与用户输入同音的词组,作为输入提示返回到检索接口供用户选择,达到提高输入准确率的目的。
同时将常见缩略语和查询高频词存入数据库中,同样可以做到缩略语和高频词的查询提示功能。此功能类似于baidu和google搜索引擎的输入智能提示。
5 实验及分析
前面详细介绍了系统各个部分所使用的方法与技术,下面为实验结果及分析。
系统包含3台普通服务器,即系统中P2P节点的数量为3,同时设置系统中文件冗余度为2。系统节点数为1及不同响应时间时系统的查全率如图4所示。
从图中可以看出系统只有一个服务节点时其查全率与响应时间基本成正比响应时间超过后系统的查全率超过90%。再启动一个机器加入系统,测试此时系统查全率,图4给出了系统节点数为2时的测试结果。从图5可以看出响应时间门限值超过125ms时系统的查全率稳定在90%以上,说明系统节点数量增加后查询的响应速度有所加快,这一点也可从图6得到验证。图6是系统节点数为3时的测试结果,此时在响应时间超过75ms后系统的查全率已超过90%。
同时,本文还测试了系统查询结果的准确率情况。在系统的索引库中只要有与用户要查询内容相同的文档,则返回结果几乎100%准确,即此时的查准率为100%。如果对用户输入的查询串系统返回结果为0或者太少,此时系统将进行扩展查询,即模糊查询,实验结果如表3所示。
表3中可以看出,经过扩展查询后提高了查询准确率。
上述实验结果及分析可知基于P2P分布式视频检索系统在稳定性、查全率、查询的准确率等性能上比较好。同时由于系统索引库是基于P2P技术构建的,与基于集群的大规模系统要求服务节点集中放置及节点间需用高速网络连接相比,本文系统具有实施成本低易于部署等优点。
6 总结和展望
新闻视频片花检索新方法 篇5
关键词:新闻片花,时空切片,主色调,纹理特征
1 引言
由于宽带网的普及,越来越多的视频内容被搬到互联网上,如视频点播、数字图书馆等。基于内容的视频数据检索得到越来越广泛的应用[1,2]。然而在一系列视频中,新闻视频的应用范围更广,以江苏电视台为例,“南京零距离”和“甲方乙方”2个精品小栏目的片花重复出现,且位置不固定。传统的方法是利用人工来剪裁素材,然后放到互联网上供用户点播,费时费力,因此如何由计算机自动分割出精品小栏目的片头和片尾是实现高效点播系统的关键,同时片花的准确定位对于新闻视频结构的分析也具有重要意义。
近年来,关于新闻片花检索的研究较少,已有的研究是文献[3]。文献[3]将片花的定位分为2步:首先通过单帧对比得到所有和片花代表帧相似的帧,然后再利用小段视频的组合帧和视频库进行对比,通过连续性分析实现对片花的准确定位。该方法存在以下缺点:由于视频数据量巨大,单帧对比时间复杂度高,并且前提是片花内的各帧比较相似。随着片花制作的多样性,片花各帧也可能有较大差别;其次在通过小段视频定位阶段,区间长度的设置会影响最终定位的精度。
对于电视节目中的片花而言,一般采用动感、渐变、具有动态效果的背景,颜色比较鲜明饱满,持续帧数很短,然而用镜头检测方法检测出的镜头效果并不明显,所以不能通过关键帧检索。综合文献[3]和片花的这种特点,笔者提出了一种新的片花检索方法。该方法分为3个阶段:第一阶段是镜头分割,然后根据待检索片花的长度信息和视觉特征过滤掉不相关的镜头;第二阶段是进行镜头切片合并得到查询结果的候选片段;第三阶段是将候选片段融合为时间切片,然后根据片花切片特点提取其底层特征得到最终检索结果。
2 新闻片花特征提取
2.1 时空切片的定义
时空切片是将具有时间序列的视频内容融合为一个2D图像,实现三维视频到二维图像的转化。时空切片的定义如下:
设视频节奏为θ,原视频中每一帧表示为视频节奏的一条竖线
式中,z∈∈0,1,…,Mθ-1∈,t∈∈0,1,…,Nθ-1∈,Mθ和Nθ分别是视频节奏的高度和宽度,rx和ry是像素取样的方向因子,a和b为每帧的偏移量,ft表示视频帧,M,N分别代表视频帧的宽度和高度。图1表明了视频节奏的构造方式:当rx=ry=1,a=b=0,并且M=N时,得到每帧图像对角线上的像素;当rx=1,ry=0,a=0,b=N/2时,得到每帧图像水平方向中线上的像素;当rx=0,ry=1,a=M/2,b=0时,得到每帧图像垂直方向中线上的像素。
2.2 新闻片花时空切片的特征表达
因为电视台工作人员常在片花的开始和结尾处做一些特殊效果,同一个节目的片花可能在长度和开始结尾处稍有不同,同时切片图像具有较为鲜明的纹理特征,且新闻片花颜色鲜艳饱满,由此本文采用分块主色调和纹理特征相结合的方法进行检索。时间切片的颜色特征采用分块加权主色调[4],本文将时间切片的分块方法见图2。
图2a表示在垂直方向进行分块,当采用垂直采样构造时空切片时采用左、中、右的分块策略。图2b表示在水平方向进行分块,当采用水平采样构造时空切片时采用上、中、下的分块策略。A1,A2,A3分别为分块图像所占的比例,A1+A2+A3=1,根据人类视觉对图像的关注程度集中和片花的特点,A1,A2,A3的取值应满足以下条件:A2>A1,A2>A3。ω1,ω2,ω3为对应分块主色调直方图距离所占的比例,ω1+ω2+ω3=1。纹理特征中,图像的灰度共生矩阵已被理论证明并且实验显示它在纹理分析中是一个很好的方法,广泛用于从灰度图像中提取纹理特征。本文提取了与人类视觉感知特性有明确对应关系的4个特征,包括纹理的一致性,熵,对比度和相关性[5]。
3 检索算法描述
首先采用基于字符串匹配的方法对新闻片花做镜头分割,根据式(1)将每个镜头融合为一个时间切片,然后提取每个时间切片的颜色特征形成查询特征向量,同理对视频库作相同的处理并去掉长度大于片花总长度的镜头。查询片花Q的时间切片序列为q1,q2,…,qn,每个时间切片qi查询得到的相似镜头切片集合为Si=s1i,s2i,…,smi。Ri,R0,…,Rn中所有在时间上连续的切片合并为候选片段,最后再将所有的候选片段融合为切片,这些切片与查询切片的相似度的排列顺序就是查询片段Q的查询结果。具体检索算法如下:
1)用字符串匹配算法[6]进行镜头分割。2)根据长度信息过滤掉不相关的镜头,然后对每个镜头用时间切片融合算法融合为镜头切片qi,提取其底层特征。3)循环:对于每个镜头切片qi,在镜头切片库中检索与其相似的k个相似镜头切片,此处设定一个较小阈值T,检索所有大于T的相似切片,得到镜头切片集合为R=R1,R2,…,Rn。4)根据Ri中镜头切片在视频数据中的顺序排序。5)将集合R中所有的镜头切片根据候选片段合并规则合并为若干个候选片段c=c,c2,…,ck。6)依据每个候选片段ci在视频库中的起始帧和结束帧融合为切片si,根据其视觉特征计算候选片段切片与查询片段的综合形似度。7)结果集S=s1,s2,…,sl的相似片段根据相似度排序输出。
候选片段ci合并规则如下:初始化ci为空,对R中的每个镜头切片,如果其满足时间连续性约束条件,则将其融合到ci中;否则初始化ci+1为空,继续融合下一个镜头切片。时间连续性约束条件为
式中:Tri+1beg是集合R中第i+1个镜头切片的起始时间,Tribeg是集合R中第i个镜头切片的起始时间,Tribeg是集合R中第i个镜头切片的结束时间。条件(1)说明相邻的2个镜头切片在时间上连续;条件(2)说明在时间上不连续的镜头切片也有可能属于同一个候选片段,例如电视台工作人员对某个栏目的片花做一定特效处理后有可能在步骤3)中漏检一个或者多个镜头切片。Tri+1end-Tribeg≤T说明某个镜头切片的持续时间不应大于T,阈值T根据查询片花的长度设定,本文设置为查询片花的总帧数的110%,原因在于对于片花而言,假设某2个镜头切片在同一个候选片段内,而它们之间的相隔时间大于此阈值,那么这2个镜头切片之间存在漏检镜头并且漏检镜头总帧数大于查询片段,此时这2个镜头切片几乎不可能在同一个候选片段内,与假设矛盾,所以将阈值设为查询片花总帧数比较合理。用户可以根据设计情况自行设定。
4 实验结果及分析
实验用的视频数据是来自于江苏城市频道的“1860节目”,视频中包含多个节目片花,分别有3个“甲方乙方”片花和3个“南京零距离”片花,其时空切片如图3所示。从视频中抽取1个甲方乙方片花和1个“南京零距离”片花作为查询片段。实验分析了检索算法中关键参数和不同特征对检索效果的影响,并且与已有研究进行了对比。
需要说明的是本文实验结果的查准率是指片花定位的位置相对于实际位置的偏移程度,偏移程度越大,准确率越低,查全率主要衡量是否检索到所有相似的片花。其中查准率的具体定义如下
式中:offset_beg是指检索到的起始位置相对于其在视频库中位置的偏移程度;offset_end是指检索到的结束位置相对于其在视频库中位置的偏移程度。
图4给出了在检索相似镜头切片时各个阈值对结果的影响。由图可以看出,构造镜头的相似镜头切片集的阈值设为0.4,0.5时,检索的准确度相同并且都达到了90%以上;当阈值设为0.6时,准确度分别为88%和86%,并且不能准确定位出“甲方乙方”的位置。原因在于本文的过滤主要是通过镜头长度过滤,而底层特征过滤只是为了防止构造过多的候选片段,镜头检测方法对片花检测效果不理想,所以较高的阈值会过滤掉片花中某些镜头。由此在构造每个查询镜头的相似镜头切片集时应将阈值设置为较小值以防止漏检某些镜头切片。
表1给出了从“甲方乙方”和“南京零距离”时空切片中提取不同的特征对检索结果的影响。由表看出,在时空切片上用分块主色调和纹理特征相结合的方法取得的效果最好。对甲方乙方而言,用主色调特征取得了100%的查全率,但是查准率是75%,其原因在于该片花与查询片花在尾部有所不同,并且持续时间也有差别,而利用分块主色调和纹理特征的方法可以克服片花在头和尾不同带来的误差。对于“南京零距离”而言,直方图与分块主色调和纹理相结合的方法都取得了很高的查全率和准确率,原因在于该片花在视觉上极为相似,并且片花在持续时间上稍有差别,几乎是完全相同的几个片花视频。
表2给出了当镜头切片阈值设为0.5,采用分块加权主色调和纹理特征相结合的特征提取方法时,该方法与文献[3]比较的实验结果。由表2可以看出,本文的方法明显优于文献[3]提出的方法,原因在于:1)文献[3]是利用单帧对比确定片花的范围,同属一个片花的帧会被分割为几部分。本文利用镜头切片和片花的长度信息首先过滤了很多不相关的长镜头,例如主持人镜头、新闻镜头等,并且切片充分利用了镜头内各帧的信息,区分度更高。2)文献[3]在小段视频对比阶段,由于同一个片花的长度不同,对比区间的设定会影响最后定位的精度。而本文在镜头过滤后通过连续性原则进行合并,不需要设定合并区间。此外,文献[3]利用单帧对比或多帧对比都会极大地提高检索定位的复杂度。
5 总结
笔者根据新闻片花的特点提出了一种片花检索新方法,该方法是基于时空切片的,先根据新闻片花的长度信息和视觉信息进行粗过滤,然后再进行精确定位,从检索速度和效果上都取得了较好的效果。笔者下一步的工作将研究片花的自动提取,同时还可以根据片花的大字幕定格信息作为检索的依据。
参考文献
[1]卢汉清,孔维新,廖明,等.基于内容的视频信号与图像库检索中的图像技术[J].自动化学报,2001,27(1):56-69.
[2]章毓晋.基于内容的视觉信息检索[M].北京:科学出版社,2003.
[3]丁汶涤,王崇骏.基于全局颜色的图像检索算法与实现[J].计算机科学,2004,31(2):142-144.
[4]BEZERRA F N,LEITE N J.Video transition detection using string matching:preliminary results[J].Computer Graphics and Image Pro-cessing,2003:44-45.
[5]HARALICK R M,SHANMNGAM K,DINSTEIN I.Texture feature for image classification[J].IEEE Trans.Systems,Man and Cybernet-ics,1973,3(6):768-780.
统一视频标记和检索方法的研究 篇6
随着中国电信全球眼业务的发展, 铺设的监控网点越来越多, 海量的视频数据得不到有效的利用。用户只能通过实时观看感兴趣的对象、事件, 或者通过回放来进行人工检索。这种传统耗时的浏览方式已远不能满足人们对视频内容的访问和查询需求, 人们越来越希望能在海量视频库中快速找到自己感兴趣的视频片段。另外, 视频数据只是简单的存放于系统后台, 视频数据没有得到进一步分析, 蕴涵的丰富信息得不到充分利用。如何利用智能信息处理技术, 自动识别出监控视频中发生的一些特定对象或者事件便成为国内外研究的热点问题。
鉴此, 结合全球眼增值业务以及现今已有的视频智能识别方案, 我们提出了一种基于内容的统一视频标记与检索框架。在该框架中, 系统首先识别视频数据中的对象以及事件, 鉴于不同识别算法输出内容的差异性, 系统再对识别的内容进行统一标记处理, 最后用户可以通过匹配规则检索得到相关的视频列表。
2 统一视频标记和检索介绍
2.1 什么是视频标记与检索
基于视频内容的图像检索是一种新的检索技术, 是指直接根据描述媒体对象内容的各种特征进行检索, 它能从数据库中查找到具有指定特征或含有特定内容的图像 (包括视频片段) , 它区别于传统的基于关键字的检索手段, 克服了文本方式的缺点, 融合了图像处理、模式识别、计算机视觉、图像理解、数据库管理等技术。
在基于视频内容的图像检索基础上, 对提取出的指定特征 (例如对对象的颜色、纹理、形状和运动特性;声音空间中的音调、语气、节奏、节奏的改变和位置等特性) 提供有效的标准的描述框架, 采用统一的方法进行标记, 这就是视频标记与检索。
2.2 基本流程
统一视频标记和检索的基本流程如图1所示。
其主要流程包括:
(1) 视频分析处理
这是视频数据处理的第一步, 目的是从非结构化的视频数据中提取一定的视频结构, 譬如将一段长的视频序列结构化为一系列的场景, 然后每个场景里又包含有若干个镜头, 每个镜头中含有一系列的视频帧。这一步为后面的特征提取奠定了基础, 也是最为关键的一步。然后通过运动目标检测、运动估计和目标跟踪等视频分析算法来提取视频底层和中层的时空对象特征, 为高层视频处理中的事件识别提供推断依据。
(2) 标记
对可识别的内容进行视频理解, 并将对象以及事件的相关属性标记为可被搜索的结构化数据。视频理解是指通过分析和理解视频分析层提供的时空对象底层特征来完成对视频事件的识别, 属于视频处理过程中的高级处理部分。而监控视频事件识别主要是指通过分析和理解计算机视觉和视频分析方法 (包括运动目标检测、识别和跟踪) 所获得的视频图像的底层和中层特征, 并在此基础上分析和判断预先描述和定义的监控视频事件模型, 最终完成对监控视频事件识别的过程。
(3) 视频检索
为用户和系统之间建立一个有效的交互手段, 用户利用视频检索得到自己需要的视频内容, 并可以通过视频浏览快速地了解视频内容, 用户还可以通过检索反馈实现对查询结果进一步修正。
2.3 现阶段国内外研究成果
虽然基于内容的视频检索系统的研究起步比较晚, 但是十多年来国内国外在这方面的研究和应用取得了长足的进步。首先是MPEG-7标准的出现, 极大地推动了智能视频检索技术的发展。“多媒体内容描述接口” (Multimedia Content Description Interface) , 简称为MPEG-7。它规范了一组“描述子”, 用于描述各种多媒体信息, 也将对定义其他描述子以及结构 (称为“描述模式”) 的方法进行标准化。这些“描述” (包括描述子和描述模式) 与其内容关联, 允许快速有效地搜索用户感兴趣的资料。MPEG-7将标准化一种语言来说明描述模式, 即“描述定义语言”。带有MPEG-7数据的视频资料可以包含静止图像、图形、3D模型、音频、语音、视频, 以及这些元素如何在多媒体表现中组合的信息。另外, 一些智能视频检索的系统也应运而生。UtopiaCompression智能视频监控与分析系统是一个基于可视化知识发现技术的系统, 它能从大量的监控视频数据中, 自动进行场景识别以及危险事件的检测与识别。IBM的标注工具VideoAnnex可用来分析视频内容, 并产生符合MPEG-7标准的描述, 也可用来给场景人工分配语义标签, 标注关键字和主要物体。VideoQ是一套全自动的面向对象的基于内容的视频查询系统, 是由哥伦比亚大学的图像与高级电视实验室研制的一个原型系统。它拓展了基于关键词或主题浏览的传统检索方式, 提出了全新的基于丰富视觉特征和时空关系的查询技术, 可以帮助用户查询视频中的对象。
总之, 到目前为止, 已有许多高校、科研机构、组织致力于视频检索技术的研究, 视频检索系统在多个领域得到广泛应用。特征提取、标记方法、视频检索算法逐渐丰富。
但视频检索技术是一种综合集成技术, 其一些关键技术的研究虽然取得了一定的进展, 但由于各种理论和相关技术都不尽完善, 所以还有许多问题需要进一步深入研究, 如:提高识别率, 提高速度, 有效的特征提取等。
本文将结合基于内容的视频检索方法和视频标记与检索方法, 提出一种统一视频标记与检索框架, 并介绍这个框架的总体构成以及各主要子模块的功能。
3 统一视频标记和检索框架
将非结构化的视频转换成结构化的视频数据, 视频统一标记与检索系统可以看作是介于信息用户和 (多媒体) 数据之间的一种信息服务系统。用户首先通过人机交互界面提交查询请求, 然后系统将查询条件 (关键字或关键对象的描述) 与中的视频的XML标记文件按一定匹配规则进行匹配, 把满足用户查询要求的结果返回给用户, 用户就可以在众多候选结果中进行选择。如果查询结果不满意, 则可进行查询条件的调整, 再次提交给系统, 系统利用一定的反馈机制, 再次查找, 如此逐步缩小查询范围, 最终得到用户需要的查询结果。
3.1 总体框架
本框架主要分为场景分类, 对象/事件识别, 视频标记, 视频搜索、反馈5部分, 并建立了原始视频库, 知识库, 结构化视频内容库3个数据库, 如图2所示。
系统中标记与检索是两个最重要的部分。视频图像由一组对象表示, 标记部分对对象的低层属性及特征进行描述, 如颜色、纹理、形状等;除此之外, 对对象相应的高层语义也进行分析理解, 从而实现由计算机的数据描述上升到人工智能识别的转化。
正是系统在标记部分做了大量的工作, 才能够使快速检索成为现实。标记的好坏直接影响检索的效率与精度。检索根据标记的内容进行搜索, 能够标记的对象属性及高层语义在检索模块中都能通过关键字进行查询匹配。总之, 标记为检索服务, 检索以标记为基础。
下面对框架的各部分进行描述。
3.2 场景分类
场景分类是本框架中的重要组成部分。
我们知道, 不同的监控视频拥有不同的特点, 例如设置在仓库中的监控摄像头所拍摄的视频处于屏幕长时间不变状态;设置在十字路口的摄像头所拍摄的视频则处于长时间变化状态, 而且出现的移动对象基本都是车辆;设置在学校门口或者其他公共场所的摄像头则主要记录的是以人为主的对象运动。对于这些风格迥异的监控视频, 选用不同识别算法进行对象和事件的识别, 才能达到高效、快速的识别视频的效果。
由此可见, 场景分类是非常有必要的, 可依据全球眼业务的范围, 将经过预处理的原始视频进行分类。
场景分类的主要原则是: (1) 根据室内与室外划分; (2) 根据关注对象不同划分。
3.3 预处理
图像预处理的主要目的是消除图像中无关的信息, 恢复有用的真实信息, 增强有关信息的可检测性和最大限度地简化数据, 从而改进特征抽取、图像分割、匹配和识别的可靠性。预处理过程一般有数字化、几何变换、归一化、平滑、复原和增强等步骤。
预处理部分用于实现对原始视频的预处理功能, 可以采用高斯滤波消除噪声, 采用直方图均衡改善图像质量使图像清晰化等等。这些技术已经非常成熟, 本文不再赘述。
3.4 对象/事件识别
对象/事件识别模块主要实现对特定对象 (如人、人群、车辆) 或者事件 (如打架、徘徊、越界) 进行识别, 该模块的识别范围依赖于视频识别厂商。
现阶段已有许多厂商深入视频识别领域, 虽然各个厂商识别的侧重点不同, 例如人脸识别厂商、车牌识别厂商、特殊事件识别厂商等等, 但总的来说, 越来越多的对象和事件能被计算机准确地识别, 因此, 根据全球眼业务范围, 我们规定一个全球眼监控视频中可能引起用户兴趣的对象和事件的集合, 这一个集合中的各种对象和事件的识别过程由不同的视频识别厂商负责实现, 然后提供数据模型或知识库。本系统需要实现的是通过视频厂商提供的知识库对原始视频进行分析识别, 得到被识别的对象和事件的关键帧和描述, 然后把这些描述通过标记处理模块, 生成统一标记文件。
对象/事件识别模块的输出结果是一个关键帧的集合, 以及若干描述这些关对象和事件的信息。
3.5 视频标记
视频标记指的是根据已经提取的特征信息对原始视频打标签的过程, 其标记内容应体现对象、起止时间、行为、特征等。对象/事件识别之后的输出 (对象/事件的关键帧和描述性信息) 通过标记操作, 生成结构化的XML标记文件, 这些文件与关键帧一起被存储起来, 以备检索之用。
视频标记的关键就是对所描述的对象/事件进行层次化的描述, 为此需要建立描述模型。图3为基于内容的图像层次化描述模型。该描述模式是层次化的, 它描述了视频的一般属性 (元数据) , 同时也描述了视频视觉上反映出来的属性 (对象和事件) 。该模型直接用XML语言进行定义。
例如, 现在要标记视频中的“穿红色衣服的短发男人”这样一个对象, xml标记的结果为:
3.6 视频搜索
通过以上几部分, 系统已经从非结构化数据中提取了结构化的XML标记文件和关键帧, 下一步自然是对这些结构化数据进行搜索, 视频搜索部分即实现该功能。
用户通过终端输入关键字或关键对象, 视频搜索功能根据用户的输入调用不同的匹配规则 (对象匹配规则, 事件匹配规则) 搜索结构化数据库 (即XML标记文件数据库) , 得到一系列符合匹配规则的关键帧ID, 系统通过这些ID查找关键帧数据集合, 最后对这些关键帧排序, 使其符合人们的浏览习惯, 并返回给用户。
针对“视频标记”部分所举例子, 如果用户输入查询条件“红衣短发男人”, 系统将其解析成多个字段:人、男、红衣、短发。在源视频xml文件中搜索所有class=’人’, sex=’男’, color=’red’, hair=’短’的对象, 在用户界面输出关键帧图像并生成包含这些对象的新的xml文件。
3.7 反馈
通过搜索功能得到的搜索结果可能因为多种原因无法得到用户最感兴趣的结果, 例如用户输入关键信息过少, 使得搜索结果过于庞大;或者用户输入的关键信息过于详细, 查找到的匹配结果太少。针对该问题, 本文提供了一种用户反馈机制, 即用户在得到搜索结果后, 可以选取搜索结果中的任意一个或多个关键帧, 进行二次搜索, 通过用户的多次选择和系统的多次匹配搜索, 系统最终将返回给用户一组较为满意的搜索结果。
4 总结
本文结合全球眼业务的实际情况, 借鉴目前国内外统一视频分析和检索的研究成果, 提出了一种统一视频标记和检索的框架, 将对包括全球眼业务在内的中国电信视频类业务的发展起积极的参考和指导作用。
摘要:随着中国电信各类视频业务的发展, 对海量视频数据的后处理、再利用就变得异常重要和急迫。文章介绍了统一视频标记和检索的概念、基本流程以及目前国内外的研究成果, 并提出了一种统一视频标记和检索的框架。
关键词:视频,标记,检索,框架
参考文献
[1] 余卫宇, 谢胜利, 余英林, 潘晓舟.语义视频检索的现状和研究进展.2005, (5)
[2]A.Hampapur, L.Brown, J.Connell, et al.Smart video surveillance:exploring the concept of multiscale spatiotemporal tracking, IEEE SignalProcessing Magazine, 2005, 50 (22) :38-51
[3] 孟倩.基于内容检索的视频数据库数据模型的研究.徐州师范大学学报 (自然科学版) , 2003, 12:59-62
基于运动目标的监控视频检索方法 篇7
随着“平安城市”和“3111工程”在全国范围内的实施,越来越多的专用视频监控网络建成并投入使用,这些监控网络在公安工作中发挥着较大的作用。然而,随着监控网络规模的扩大,视频数据呈现海量增长的趋势,视频调用查看所占用的警力也成倍增长,常有案件,警方为查找某嫌疑车或嫌疑人,投入大量人力花几天时间来浏览数量庞大的录像文件,从而成为制约监控网络、监控视频效能充分发挥的瓶颈。究其原因,主要在于视频信息具有非结构化和内容的多义性特性,传统的基于关键词的数据库检索方法难以实现。因此如何快速有效地搜索出感兴趣的视频内容己成为一大挑战。
1视频检索技术
视频检索是从大量的视频数据中找到所需的视频片断[1]。视频检索是当前多媒体数据库发展的一个重要研究领域,它综合了数字图像处理、数字视频处理、多媒体技术、数据库技术等多学科的内容,是目前世界各国学者研究的热点问题之一。为了能有效快捷地对海量视觉信息进行过滤、浏览和检索,人们提出了基于内容的视频检索CBVR(Content—based Video Retrieval)技术,并取得了一定的进展。目前基于内容的视频检索技术主要有[2]:基于元数据的视频检索技术、基于文本数据的视频检索技术、基于关键帧的视频检索技术、基于语义特征的视频检索技术、基于对象的视频检索技术。
2基于运动目标的监控视频检索
纵观众多监控场合,他们通常都有以下共同特点:
• 监控场景固定。
• 感兴趣的内容固定。
在绝大多数的监控中,通常只关心车辆和人员情况,此二者在监控视频中多为运动体。并且,实际对监控视频的调用中,经常是找到第一次出现嫌疑车辆或人员的视频录像,然后扩大范围,查找周边监控录像中出现过的类似特征的嫌疑车辆或人员,最终还原出嫌疑车辆的犯罪路线。因此,对监控视频的检索,往往是对嫌疑车辆或人员的查找。为此,本文结合基于对象的视频检索技术,提出一种基于运动目标的监控视频检索方法(如图1所示)。该方法首先检测监控视频中的运动目标,将运动目标存成图片,并对运动目标提取特征,生成相应的视频描述文件。检索时,只需通过输入图片的特征与描述文件中的特征相匹配最终查找出视频中的相似对象。
2.1运动目标的检测
在视频图像背景区域固定不动时,常用的运动目标检测方法有光流法、相邻差分法和背景差分法[3]。光流法在不需要背景区域的任何先验知识条件下就能够实现对运动目标的检测和跟踪,但光流法运算复杂、计算量大且抗噪性差;相邻差分法是利用连续两帧或几帧图像的做差结果检测运动目标,并通过阈值化方法提取图像中的运动区域,相邻差分法当检测表面光滑而且运动较慢的目标时,往往检测到的前景目标是不连通的碎片,这对后续处理是不利的;背景差分法通过利用背景参考模型建立背景图像,当前帧减去背景图像,然后对所得图像选择合适的阈值二值化以后,就得到完整的运动目标,是一种最为简单和有效的方法。本文采用基于中值模型的背景差分法来提取运动目标,相关的对比研究表明该算法简单、检测效果不亚于那些相对复杂的背景建模算法[4]。算法主要包括以下几部分:
(1) 背景初始化 将视频帧转化成灰度图像并分块,每块大小为16×16。若连续两帧,对应块变化小于5%,认为该块无变化,若连续10帧无变化,则将该块数据填充至背景相应部分,最终获得初始背景图像BG0;
(2) 背景更新 建一个大小为K(实验中取50)的帧缓冲池,存储帧记为I1,I2,…,Ik,并以N帧(实验中取15)间隔采样更新缓冲池中的帧。将当前背景BG0与缓冲池中的K帧,共K+1帧中的像素(i,j)按灰度强度排序,取中值更新背景图像中相应像素;
(3) 获取前景 当前帧图像I,其R、G、B分量图像分别为Ir,Ig,Ib,由Ir-BG0、Ig-BG0、Ib-BG0分别获得前景图像Dr、Dg、Db,并分别以下式二值化:
最终的运动前景图像为:
f(i,j)=fr(i,j)|fg(i,j)|fb(i,f)
其中,threshl(i,j)与thresh&(i,j)按以下公式获得(Ip表示排序的K帧图像中的第P帧):
λ、l、h通过实验确定,本文取15,10,20。该算法的程序设计框图如图2所示。
2.2特征选取
本文对运动物体的特征选取主要分颜色特征和纹理特征两类,具体包括以下四种:
(1) 颜色布局 它以一种非常紧密的形式有效地表示了视觉信号的颜色空间分布,其基本提取方法是:将图像从RGB空间映射到YCrCb空间后,分成64块,计算每一块中所有像素各颜色分量(Y,Cr,Cb)的平均值,并以此作为该块的颜色,然后对各块的平均值数据进行DCT变换,通过之字形扫描和量化,取出三组颜色DCT变换后的低频分量,共同构成该图像的颜色布局描述符,CLD={DY,DCr,DCb}。
(2) 颜色结构 它不仅能够反映图像的色彩信息,类似于颜色直方图,而且描绘了图像的局部颜色结构特征。通过考虑一个8×8像素结构化元素中的所有颜色,将颜色结构信息加入到该描述符中,而不是单独考虑每个像素,表达了一幅图像中的局部颜色结构信息。虽然它与颜色直方图相关,但并不相同:不是突出某种颜色个别图像采样的相对频数,而是突出包含某种颜色图像采样的结构化元素的相对频数。颜色结构可从不同的颜色空间提取,如MPEG-7中使用了HMMD颜色空间[5]。
(3) 主导颜色 它描述子图像中任意不规则区域中处于支配地位的颜色信息。在给定的图像区域,颜色信息将由少数具有代表性的色彩(即主导颜色)来表示。主导颜色可以表示为:FC={ci,pi,vi},s},(i=1,2,…,n)其中,ci表示第i个主导颜色,pi表示第i个主导颜色所占比重,vi表示其颜色方差,s表示主颜色的空间一致性,ci、pi、vi和s通过对颜色聚类后求得。图像任意区域中的主导颜色个数i的选择,国际上已有相关研究,如MPEG-7中规定主导颜色个数最多可以有8个[5]。
(4) 边缘直方图 它描述了边缘的空间分布信息,边缘的空间分布是重要的纹理信息,尤其当图像中的纹理分布不一致时,该描述子可用于图像间的匹配。首先将图像划分成16个互不重叠的矩形区域,对每个图像区域分别按0°、90°、45°、135°角四个方向和一个无方向性边缘五类信息进行直方图统计。此描述子具有尺度不变性,支持纹理旋转和旋转不变匹配,适用于非一致纹理图像。
2.3视频描述
对视频内容的描述包括:结构(区域、帧、视频段)和语义(物体、事件、抽象概念)描述。结构信息是在空间、时间、时空上组织而成,通过使用颜色、纹理、形状、运动等进行描述。语义信息通过文本注释对每一分段进一步描述。本文的视频描述如图3所示[6]。
2.4相似度计算及归一化
对于两个颜色布局描述符CLD1={DY,DCr,DCb}和CLD2={DY′,DCr′,DCb′},它们之间的相似度计算公式为:
其中(DYi,DCri,DCbi)表示各颜色分量的第i个DCT系数,wyi,wri,wbi为权重系数。
而对于两个主导颜色描述符FC1={{ci,pi,vi},s},(i=1,2,…,M)和FC2={cj,qj,vj},s},(j=1,2,…,N),在不考虑颜色方差V和主导颜色的空间一致性S时,两个描述符之间的距离为:
d(FC1,FC2)=∑
系数ai,j表示两种颜色的相似性:ai,j=1-di,j/dmax,其中di,j是颜色i和j之间的欧氏距离,dmax是两种颜色间的最大距离。在HSV空间中两种颜色(h1,s1,v1)和(h2,s2,v2)(其中的s和v归一化到
两个边缘直方图描述子的距离计算方法采用文献[7]提出的在原有的局部边缘分布统计的基础上,进一步统计图像纹理的全局和半全局的边缘分布,而后采用L1距离来计算。同样,类似于其他的直方图,选用L1距离来计算两个颜色结构描述子的相似度。
由于不同算法得到的视觉特征的物理意义不同,其范围的差别较大,相似距离互相之间的可比性差,因此在利用综合特征进行检索时,需要对不同特征向量计算所得的相似距离进行归一化处理。这样才能保证不同的算法在加权中处于平等的地位,保证不同特征向量在进行检索时具有相同的作用。本文对相似距离归一化使用高斯归一化方法。高斯归一化方法特点是归一化之后一些超大或者超小的元素值对整个归一化后的元素值分布影响不大。在经过归一化之后,我们将各个相似距离变换到[0,1]的区间上。对不同特征量的相似距离采用加权相加,得到最终的相似距离。
2.5实验结果
基于上述方法,本文实现了一个原型系统。该系统的实验环境为Intel(R) Core(TM)2 Duo 2.33GHz,Windows XP,2GB内存。通过道路上架设Honeywell HDC-505PV摄像机,使用MicroViewE43采集卡采集的监控视频以及网络下载获取的监控视频作为实验数据。为监控视频生成描述后,通过输入示例图片进行检索,检索结果如图4、图5所示(示例中人物检索所用视频的分辨率为384×288,长约为5分钟,车辆检索所用视频分辨率为704×576,长约为60分钟)。左上角为输入所要检索的图片,右上栏为检索出的相似图片,以相似度从大到小排列。点击图片,视频定位到相应帧。
3结语
基于运动目标的监控视频检索是一种基于对象的视频检索方法,通过对监控视频的分析获得运动目标,以运动目标为对象提取特征,而非以关键帧为对象提取特征,在一定程度上提高了检索准确率。实践证明,该方法具有一定的实用性,为警方在监控视频中查找嫌疑车辆或嫌疑人员提供帮助。下一步将研究基于运动目标的视频语义检索方法。
摘要:随着我国视频监控网络的不断壮大,监控视频数据呈现海量增长的趋势,如何快速有效地进行监控视频检索变得越来越重要。提出一种基于运动目标的监控视频检索方法。对监控视频中的运动目标提取特征,生成相应的视频描述文件,通过匹配查询图片与描述文件中的运动目标特征最终找到相似对象出现的视频片断。实验表明,该方法实用性较好。
关键词:监控视频,视频检索,运动目标,特征提取
参考文献
[1]老松杨,刘海涛,白亮,等.视频检索综述[J].数字图书馆论坛,2006,27(8):10-17.
[2]陆建江,张亚非,徐伟光,等.智能检索技术[M].北京:科学出版社,2009.
[3]张娟,毛晓波,陈铁军.运动目标跟踪算法研究综述[J].计算机应用研究,2009,26(12):4407-4410.
[4]Parks D,Fels S.Evaluation of Background Subtraction Algorithms withPost-processing[C]//IEEE International Conference on AdvancedVideo and Signal-based Surveillance,AVSS 2008,Sept.2008.
[5]ISO/IEC 15938-3:2002(E)Information technology—Multimediacontent description interface—Part 3:Visual[S].
[6]ISO/IEC 15938-5:2003/Amd.2:2005(E)Information technology—Multimedia content description interface—Part 5:Multimedia descrip-tion schemes[S].
【视频检索系统】推荐阅读:
网络检索系统08-07
专利检索与服务系统08-08
文献检索系统开发研究论文06-22
地方文献数据库检索系统建立之设想06-20
视频播出系统08-27
视频制作系统05-13
视频会议系统06-01
视频智能分析系统08-08
实时视频拼接系统08-15
视频监控系统技术08-20