基于MPEG-7视频检索系统的设计与实现
2018-06-20卢成浪吴宗大李桂玲
卢成浪,吴宗大,李桂玲
(1.西北工业大学 航海学院,陕西 西安 710072;2.浙江机电职业技术学院 信息技术系,浙江 杭州 310053;3.温州大学 瓯江学院,浙江 温州 325035;4.中国地质大学 计算机科学与技术学院,湖北 武汉 430074)
基于内容特征的多媒体信息检索技术依赖于多媒体处理技术和数据库技术[1-2]。随着多媒体处理和数据库技术的发展,21世纪伊始,陆续出现了一些基于内容特征的多媒体信息检索系统,例如BVQL[3],UMQL[4-7],GMQL[8-9],CIRS[10]等。通常,这些系统首先描述多媒体数据的视觉和听觉内容特征(如图像的颜色、纹理等),然后基于这些特征描述检索多媒体目标数据。然而,由于多媒体内容特征描述缺乏统一规范,导致这些多媒体检索系统的通用性无法得到保证,限制了它们的实用化进程[11-12]。为此,国际标准化组织ISO的运动图像专家组MPEG制定了一个国际多媒体内容特征描述标准,即MPEG-7[13-14]。在MPEG-7中,所有常见的多媒体类型均被涵盖,包括视频、音频、图像等。MPEG-7通过使用标准化描述接口,统一描述各种不同类型多媒体内容信息,并将这些内容特征描述与多媒体数据相关联,使得用户可以按照多媒体内容特征快捷检索到所需数据,从而为实现基于内容的多媒体检索奠定技术基础。在多媒体数据中,视频是最常见的类型之一,其内部结构最为复杂,涵盖的信息量也最为丰富,为此,实现基于内容的视频检索具有重要的理论意义和实际价值。在这样的背景下,本文深入研究基于MPEG-7的视频检索方法,探讨一个视频内容检索系统的设计与实现,从而为实现有效的基于内容视频检索提供重要的理论和技术基础。
1 系统框架
图1给出基于MPEG-7的视频检索系统框架。该框架包括4个功能模块:① 视频语义信息提取器,其输入为MPEG-7视频特征描述文档,功能是解析视频文档,提取视频特征,并把视频特征数据通过数据库接口存储到视频数据库中;② 内容视频检索器,其功能是解析用户给出的视频查询,在完成语法语义检查后,将视频查询转化成能在视频数据库上准确执行的SQL查询,并提交给视频数据库执行;③ 个性化视频检索器,提供个性化视频检索界面,基于用户的兴趣模型,通过建立基于用户兴趣点的检索视图,返回用户感兴趣的检索结果,并通过为相关属性建立索引,使得检索结果按照用户兴趣权重排序输出;④ 结果输出界面,负责输出服务器返回的检索结果集,把用户感兴趣的视频信息以MPEG-7文档的形式呈现出来,并允许用户播放目标视频。此外,服务器端的视频数据库负责存储视频数据本身,语义特征库负责存储从MPEG-7视频描述文档中提取出来的视频语义特征信息。
图1 基于MPEG-7的视频检索系统框架Fig.1 The framework of MPEG-7-based video semantic retrieval system
2 系统设计
2.1 视频语义提取存储方案
视频语义提取存储方案面向图1的语义信息提取器模块,主要包括两项内容:①视频语义特征提取(即确定需要从MPEG-7视频描述文档中提取的视频语义特征类别);②视频特征库设计和映射(即设计关系数据库模式,以存储提取的视频语义特征,并设计映射方案,将视频语义特征映射存储到视频特征库中)。
2.1.1 视频语义特征提取 MPEG-7标准由一系列的多媒体描述工具组成,其中,语义描述工具主要从语义和概念两个角度来描述多媒体视听内容特征,因而是多媒体内容检索的基础,也是本文关注的重点。为此,要求我们从MPEG-7视频描述文档里获取这些视频内容特征,并存放到视频特征库中,从而为后续视频内容检索提供基础。具体来说,需要提取的视频语义特征信息主要包括以下几个方面:①视频对象,即视频内容中人类可感知的事物(分为抽象对象和具体对象),它是最基本的视频语义元素,是视频内容检索的基础;②视频事件,即各种结构层次的视频对象的上下文环境,视频事件把视频分割成若干个片段,每个视频片段包含多个视频对象,视频事件可看作这些对象的整体行为呈现;③时间关系,即两个视频事件之间的时间关系;④空间关系,即两个视频对象之间的空间位置关系。
2.1.2 视频特征库设计 为了存储从MPEG-7视频描述文档中提取的视频语义特征,以方便后续视频语义查询,需要确定合适的关系数据库模式。为此,基于前文给出的视频语义特征提取方案,定义了视频特征数据库的关系模式。表1~表3给出了视频特征库的部分关键表。其中,表1用于存储MEPG-7视频描述文档中提取的视频对象;表2用于存储视频事件;表3用于存储语义关系(如视频对象间关系)。当然视频特征库是相当复杂的,还包含有很多其他的关系表。
表1 视频对象表Tab.1 Video object table
表2 视频事件表Tab.2 Video event table
表3 视频语义关系表Tab.3 Video semantic relation table
2.1.3 视频特征库映射 为了提出MEPG-7视频描述文档中语义视频特征,需要解析MEPG-7文档。目前主要有两种解析方式:DOM解析和SAX解析。本视频检索方案采用DOM解析,对整个MPEG-7视频描述文档树(MPEG-7文档的内部结构可被看作树形结构)进行遍历解析,遇到MPEG-7视频语义元素就将其对应的语义信息映射存储到视频特征数据库中相应关系表中。从MPEG-7 DOM树到视频特征数据库表的具体映射过程如算法1所示。
算法1视频高级语义信息提取和映射算法
输入:一个MPEG-7视频描述文档;
输出:视频特征数据库的数据记录。
算法概要:
1)读取MPEG-7视频描述文档的各个元素标记,然后判断标记的类型;
2)若标记为属性节点,则生成属性节点记录,并映射到属性节点表中;
3)若标记为数据节点,则生成数据节点记录,并映射到数据节点表中;
4)若标记为注释节点,则生成注释节点记录,并映射到注释节点表中;
5)若标记为元素节点,则生成元素节点记录,并映射到元素节点表中,同时,如果元素节点为语义节点,则:
①如果元素节点为视频对象节点,则生成视频对象记录,然后将视频对象记录映射到视频对象表中;
②如果元素节点为视频事件节点,则生成视频事件记录,然后将视频事件记录映射到视频事件表中;
③如果元素节点为语义关系节点,则生成语义关系记录,然后将语义关系记录映射到语义关系表中;
④如果元素节点为创作信息节点,则生成创作信息记录,然后将创作信息记录映射到创作信息表中,并将创作者信息映射到创作者表中;
⑤如果元素节点为媒体信息节点,则生成媒体信息记录,然后将媒体信息记录映射到媒体信息表中。
2.2 基于内容的视频检索方案
基于内容的视频检索方案面向图1的内容视频检索器模块,主要包括两项内容:①语义查询接口(即给出有效的视频查询接口及其查询处理方法);②查询处理(即如何执行视频语义查询接口给出的语义查询,从视频数据库中获取目标视频)。
2.2.1 视频检索器的整体设计 视频检索器给用户提供了一般性的视频查询接口,用户可以通过它表达自己的视频查询需求。视频检索器包括语法分析器、查询执行器等部件。对于用户给出的一个视频查询,首先,视频检索器通过语法分析器对视频查询条件进行解析,检查视频查询语法的有效性;然后,使用查询执行器执行视频查询,在这个过程中,执行器会生成多个SQL查询语句,逐个提交给视频特征数据库执行,获取相关视频索引,根据这些索引,执行器可以进一步获取相应的目标视频;最后,将目标视频提交给检索结果输出界面显示。视频检索器的整体设计方案如图2所示。
图2 视频检索器的整体设计方案Fig.2 The overall framework of video retrieval component
2.2.2 视频查询接口的设计 本文采用一种声明式文本语言(称作SVQL[15])作为视频查询接口,以方便用户表达视频语义查询需求。SVQL语法可简要表述为:一个SVQL查询一般由3个部分组成,即视频对象列表、视频事件列表和语义关系列表。对象列表用于描述视频事件中包含的视频对象和视频对象属性;事件列表用于描述视频包含的视频事件和视频事件属性;语义关系列表用于描述对象之间、事件之间、对象与事件之间以及其他实体之间的语义关系。通过例1来说明SVQL查询的语法形式。
例1查询在2004年,在北京大学体育馆,刘国梁和孔令辉发生扣球事件的所有视频。
1)FIND VIDEO /* FIND VIDEO为关键字*/
/* 1.视频对象声明列表 */
2)OBJECT刘国梁 { /*OBJECT为对象声明关键字,后面跟着对象名*/ 类型 = 运动员; /*“类别”是对象的属性*/ }
3)OBJECT孔令辉 { 类型 = 运动员; }
/* 2.视频事件声明列表 */
4)EVENT扣球事件 /* EVENT为事件声明关键字,后面跟着事件名*/
5)开始时间> ′2004-01-01 20:57:00′; 发生地点 = 北京大学体育馆; /*“开始时间”和“地点”均为属性*/
/* 3.语义关系声明列表 */
6)OBJECT 刘国梁AgentOf EVENT扣球事件; OBJECT孔令辉AgentOf EVENT扣球事件;/*AgentOf为关键字*/
SVQL可以描述更加复杂的视频查询,这里不再列举。在完成视频查询需求描述后,还需要对用户查询进行解析,检查语法的正确性,这部分工作由语法分析器模块完成。我们使用正则表达式定义SVQL的文法规则,使用逻辑代数式定义SVQL的语法规则。然后,使用词法分析工具LEX[7]生成SVQL的词法分析器,利用YACC[7],根据文法规则生成SVQL的语法分析器,根据语义规则,设计实现SVQL的语法分析器。因此,语法分析器模块主要包括:词法分析器、文法分析器和语义分析器。
2.2.3 视频查询的处理 图2的查询执行器模块负责查询从视频特征数据库和视频数据库获取的目标数据。查询执行器主要通过处理SVQL视频查询中的各类声明式来完成查询处理。首先,根据视频对象列表生成SQL查询,从视频特征库获取目标视频对象集;然后,根据视频事件列表生成SQL查询,获取目标视频事件集;其次,根据语义关系列表条件对目标对象集和目标事件集进行筛选;最后,根据结果从视频数据库中获取目标视频文档。具体的视频查询的处理方案如算法2所示。
算法2视频语义查询处理算法
输入:语法正确有效的SVQL视频语义查询;
输出:满足查询条件的目标视频数据。
1)对于视频对象声明列表{O1, O2, …, On}中的每个视频对象声明项Oi,根据其属性描述列表构造SQL查询,从视频特征库的视频对象表中获取目标视频对象集ROi,最终共生成n个对象集,分别为:RO1, RO2, …, ROn;
2)对于视频事件声明列表{Q1, Q2, …, Qn}中的每个视频事件声明项Qi,根据其属性描述列表构造SQL查询,从视频特征库的视频事件表中获取目标视频事件集RQi,最终共生成n个事件集,分别为:RQ1, RQ2, …, RQn;
3)对于语义关系声明列表{D1, D2, …, Dn}中的每个语义关系声明项Di:
①若语义关系声明项表示事件-事件关系,且该关系相关联的事件分别包含在RQa和RQb中,则构造SQL查询,从视频特征库的语义关系表中获取事件源落在RQa中,而事件目标落在RQb中的事件-事件关系,据此,剔除RQa和RQb中不满足条件的视频事件;
②若语义关系声明项表示对象-对象关系,且该关系相关联的对象分别包含在ROa和ROb中,则构造SQL查询,从视频特征库的语义关系表中获取事件源落在ROa中,而事件目标落在ROb中的对象-对象关系,据此,剔除ROa和ROb中不满足条件的视频对象;
③若语义关系声明项表示对象-事件关系,且该关系分别与对象集ROa和事件集RQb相关联,则构造SQL查询,从视频特征库的语义关系表中获取事件源落在ROa中而事件目标落在RQb中的对象-事件关系;据此,剔除ROa中不满足条件的视频对象,剔除RQb中不满足条件的视频事件;
4)根据RO1, RO2, …, ROn和RQ1, RQ2, …, RQn等实体集,从视频数据库中获取目标视频数据。
2.3 个性化视频检索方案
个性化视频检索方案面向图1的个性化视频检索器模块,主要包括两项内容:①设计用户视频检索兴趣度模型;②确立个性化的视频检索方案,研究其查询处理方法。
2.3.1 视频检索兴趣度模型 用户兴趣度模型描述用户对某些特定主题相对稳定的兴趣,反映了用户在一定时间段内的检索偏好倾向,是实现个性化检索的重要基础。为了建立用户兴趣度模型,首先需要获取用户的个人偏好信息。偏好的采集主要有两种方法:①通过人机交互获取用户个人偏好,这种方法实现简单,并且可以较准确地获得用户需求,是目前绝大多数检索系统所采用的方法,但缺点是主动性差;②通过挖掘用户检索记录,获取用户个人偏好,这种方法的主动性强,但缺点是实现复杂。本文采用的做法是:在用户第一次进行个性查询时,让用户填写一份兴趣偏好表,然后将其转化为内部表示,存放到用户兴趣档案库中,建立最初的用户偏好信息库。在用户兴趣偏好表中,用户可以设置他感兴趣的视频内容信息(如视频事件、视频对象和语义关系等)及兴趣度值。
2.3.2 个性化视频检索 个性化视频检索方案建立在一般性视频查询方案基础之上。它首先给用户提供了一个图形化视频检索界面,该界面拥有与SVQL等价的查询表达能力。利用图形化检索界面,用户可以很方便地定义视频查询,然后将用户通过图形化检索界面定义的视频查询描述转换为SVQL描述,从而可以使得后续查询处理方法可以建立在前文给出的一般性视频查询方案之上。方案的整体思路是:首先,从用户偏好信息库中获取用户偏好的视频内容(如偏好的对象或事件类型等),构造用户偏好数据视图;然后,通过在用户偏好数据视图上执行算法2,获取目标视频数据;最后,从用户偏好信息库中获取用户偏好内容的兴趣度值,对结果重新排序,提交给视频检索输出界面显示。具体的过程如算法3所示。
算法3个性化视频查询处理算法
输入:语法正确有效的SVQL视频语义查询和用户偏好信息库;
输出:满足查询条件且符合用户偏好的目标视频数据。
1)从用户偏好信息库中获取用户偏好的内容,构造用户偏好视图如下:
①如果偏爱信息涉及视频创作者,则确定创建者表(因为视频的创作者信息存储在特征数据库的创建者表中);
②如果偏爱信息涉及视频创作工具、创作地点、或创作时间,则确定创建信息表(因为视频的这些创作信息存储在特征数据库的创建信息表中);
③如果偏爱信息涉及视频的标题、类别、分布源、或标题关键字,则确定视频信息表(因为这些信息存储在特征数据库中的视频信息表中);
④如果偏爱信息涉及视频语义对象,则确定视频对象表(因为视频对象存储在特征数据库中的视频对象表中);
⑤如果偏爱信息涉及视频语义事件,则确定视频事件表(因为视频事件存储在特征数据库中的视频事件表中);
⑥如果偏爱信息涉及视频语义关系,则确定视频语义关系表(因为视频语义关系存储在特征库中的视频关系表中)。
2)根据用户偏爱信息所涉及到的数据表,建立用户偏好数据视图。
3)在用户偏好数据视图上,执行算法2,获取满足视频语义查询条件的目标视频数据。
4)从用户偏好信息库中获取用户偏好内容的兴趣度值,对查询结果按兴趣度权重降序排序。
3 系统测试
图3给出了视频检索系统的视频检索界面和结果输出界面。视频检索界面的左边允许用户逐个设定查询条件(包括视频对象条件、视频事件条件,以及对象或事件间的语义关系),界面会根据用户设定的查询条件,生成SVQL查询语句(展示在界面的右边)。结果输出界面主要展示查询结果,其左边是查询得到的视频,点击后可以在界面右边分别播放视频或者查询视频的MPEG-7描述文档。
图3 视频检索系统Fig.3 The video retrieval system
为了验证系统的查准率(检索出的相关视频数量/检索出的视频总量)和查全率(检索出的相关视频数量/系统中相关视频总量),选取了50个视频,并手工对这些视频描述文档进行预处理,将提取出的语义特征存储到视频特征库中,相应的视频存储到视频媒体库中。共进行了10次视频检索测试,实验测试结果如表4所示。可以看出,平均查全率为80%,平均查准率为81%。指标无法达到100%的原因是:检索系统是基于MPEG-7视频描述文档的,如果文档没有对视频内容信息进行足够详细的描述,检索效果将受到极大影响。例如,在一段乒乓球比赛视频中,真实比赛场地是北京大学体育馆,但是相应MPEG-7视频描述文档没有描述比赛场地,当搜索发生在北京大学的视频时,就不能检索出这段视频。因此,本系统的视频检索性能主要取决于MPEG-7描述文档的质量。此外,为了评价个性化视频检索效果,手工为10个视频查询设置了相应的用户兴趣偏好表,据此,系统可对检索到的视频片段按照用户兴趣从高到低排序。个性化检索效果为“OK”,当且仅当检索结果中的所有非目标视频均排在结果列表的最后面(例如查询10会产生4个非目标视频,但在结果列表中它们均排在最后)。实验测试结果见表4的最后一行,可以看出,借助个性化检索方案,系统会将符合用户个人兴趣偏好的视频优先推荐给用户,改善了视频检索效果。
表4 实验结果Tab.4 Experimental result
4 结 语
本文讨论了基于MPEG-7的视频内容检索系统的设计与实现。本文工作包括3个方面:①设计了基于MPEG-7的视频存储方法,以解析MPEG-7 视频描述文档,提取视频语义特征,建立视频特征库;②设计了基于内容的视频检索方法,通过设计视频查询语言,研究相应的视频查询处理方法,从视频数据库中有效地获取目标视频;③实验评估验证了视频检索系统的有效性。然而,本文工作建立在MPEG-7视频描述文档基础上,因此,如何为视频构造生成有效的MPEG-7内容描述文档,是后续研究的重点。
参考文献:
[1] 查正军,郑晓菊.多媒体信息检索中的查询与反馈技术[J].计算机研究与发展,2017,54 (6):1267-1280.
[2] GROSKY W I, RUAS T L. The continuing reinvention of content-based retrieval: Multimedia is not dead[J]. IEEE Multimedia, 2017, 24 (1): 6-11.
[3] DONDERLER M E, SAYKOL E, ARSLAN U,et al. BilVideo: Design and implementation of a video database management system[J].Multimedia Tools and Applications, 2005, 27 (1): 79-104.
[4] CAO Z, WU Z, WANG Y. UMQL: A unified multimedia query language[C]∥Third International IEEE Conference on Signal Image Technology and Internet-Based Systems (SITIS 2007).IEEE Computer Society, 2007:109-115.
[5] WU Z, CAO Z, WANG Y,et al. Processing and optimizing UMQL-based multimedia queries[J]. Journal of Southeast University-English Edition,2009, 25 (3): 320-325.
[6] WU Z, CAO Z, WANG Y. Multimedia selection operation placement[J]. Multimedia Tools and Applications,2011, 54 (1): 69-96.
[7] 吴宗大, 曹忠升, 王元珍,等. 多媒体查询语言UMQL语法分析器的设计与实现[J]. 小型微型计算机系统,2010, 31 (2): 271-276.
[8] WU Z, XU G, CAO Z, et al. GMQL: A graphical multimedia query language[J]. Knowledge-Based Systems,2012, 26: 135-143.
[9] 卢成浪, 刘明雍, 吴宗大. 有效多媒体查询代数的设计与实现[J]. 西北工业大学学报,2014, 32 (6): 899-905.
[10] MOHAMADZADEH S, FARSI H. Content-based image retrieval system via sparse representation[J]. IET Computer Vision,2016, 10 (1): 95-102.
[11] 曹忠升, 吴宗大, 王元珍. 多媒体查询语言及其评价准则[J]. 计算机科学,2009, 36 (3): 47-53.
[12] SCHOEFFMANN K, HUDELIST M A, HUBER J. Video interaction tools: A survey of recent work[J].ACM Computing Surveys, 2015, 48 (1): 1-34.
[13] CHU Y, CHIA L T, BHOWMICK S S, et al. Looking at mapping, indexing and querying of MPEG-7 descriptors in RDBMS with SM3[C]∥ACM International Workshop on Multimedia Databases.ACM,2004: 55-64.
[14] CHRISTOPOULOS C, BERG D, SKODRAS A. The colour in the upcoming MPEG-7 standard[C]∥Proceeding of the European Signal Processing Conference.IEEE, 2015: 1-4.
[15] LU C,LIU M,WU Z.SVQL:A SQL extended query language for video databases[J].International Journal of Database Theory and Application,2015,8(3): 235-248.