本发明涉及互联网技术领域,特别涉及一种多媒体资源搜索方法、装置、存储介质及设备。
背景技术:
随着互联网技术的飞速发展,时下各大网站或平台均提供了多媒体资源搜索服务,以满足用户想要快速且便捷地搜索其感兴趣的多媒体资源的需求。其中,前述多媒体资源包括但不限于综艺节目、电视剧、动漫、纪录片、电影、新闻资讯视频等。
相关技术在进行多媒体资源搜索时可基于图像实现,比如可以通过输入一张图像来搜索视频,具体过程为:提取输入图像的图像特征,该图像特征包括该输入图像的颜色特征、纹理特征、形状特征和空间关系特征中的至少一种;之后,基于提取到的图像特征在存储的视频库中进行视频匹配,搜索到与该输入图像匹配的视频。
在很多情形下,输入图像是对视频中某一帧图像进行修改得到的,比如通过对一帧图像进行尺寸修改或更换背景等得到输入图像,这种修改往往会造成图像特征的大量丢失,基于此,在根据提取到的图像特征进行多媒体资源搜索时,通常会存在搜索精度差、效果不佳的问题。
技术实现要素:
本发明实施例提供了一种多媒体资源搜索方法、装置、存储介质及设备,能够解决在搜索多媒体资源时搜索效果不佳的问题。所述技术方案如下:
一方面,提供了一种多媒体资源搜索方法,所述方法包括:
获取输入的图像文件;
对所述图像文件进行人脸检测,得到至少一个人脸区域;
在所述至少一个人脸区域上进行人脸特征提取,得到所述图像文件的人脸特征,所述人脸特征用于描述人脸的面部器官特征;
在所述至少一个人脸区域上进行面部表情特征提取,得到所述图像文件的面部表情特征,所述面部表情特征用于描述人脸的情绪状态;
基于所述图像文件的人脸特征和面部表情特征,在多媒体资源池中搜索与所述图像文件匹配的目标多媒体资源。
另一方面,提供了一种多媒体资源搜索装置,所述装置包括:
第一获取模块,用于获取输入的图像文件;
检测模块,用于对所述图像文件进行人脸检测,得到至少一个人脸区域;
提取模块,用于在所述至少一个人脸区域上进行人脸特征提取,得到所述图像文件的人脸特征,所述人脸特征用于描述人脸的面部器官特征;
所述提取模块,还用于在所述至少一个人脸区域上进行面部表情特征提取,得到所述图像文件的面部表情特征,所述面部表情特征用于描述人脸的情绪状态;
搜索模块,用于基于所述图像文件的人脸特征和面部表情特征,在多媒体资源池中搜索与所述图像文件匹配的目标多媒体资源。
另一方面,提供了一种存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的多媒体资源搜索方法。
另一方面,提供了一种多媒体资源搜索设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述的多媒体资源搜索方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的方法基于人脸特征以及面部表情特征进行多媒体资源搜索,由于人脸特征和面部表情特征通常不会受更换背景或修改图像文件尺寸等因素影响,因此不会出现特征大量丢失的情况,该种多媒体资源搜索方式的搜索精度高,效果较佳。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种多媒体资源搜索方法所涉及的实施环境的架构示意图;
图2是本发明实施例提供的一种多媒体资源搜索方法的流程图;
图3是本发明实施例提供的一种多媒体资源搜索方法的流程图;
图4是本发明实施例提供的一种多媒体资源搜索方法的流程图;
图5是本发明实施例提供的一种多媒体资源搜索方法的流程图;
图6是本发明实施例提供的一种多媒体资源搜索方法的流程图;
图7是本发明实施例提供的一种多媒体资源预处理过程的流程示意图;
图8是本发明实施例提供的一种多媒体资源搜索过程的流程示意图;
图9是本发明实施例提供的一种多媒体资源搜索装置的结构示意图;
图10是本发明实施例提供的一种多媒体资源搜索设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细地解释说明之前,先对本发明实施例涉及到的一些名词进行解释说明。
多媒体资源:在本发明实施例中,多媒体资源包括但不限于综艺节目、电视剧、动漫、纪录片、电影、新闻资讯视频等等。
时下多个网站或平台为了满足用户的多媒体资源观看需求,通常会存储海量的多媒体资源,以供用户在海量的多媒体资源中寻找其感兴趣的多媒体资源进行观看。另外,为了方便用户快速寻找到其感兴趣的多媒体资源,各大网站或平台通常会提供多媒体资源搜索服务,以供用户进行资源搜索。
人脸识别:是基于人的脸部特征信息进行身份识别的一种生物识别技术,该技术会自动在图像中检测人脸,并对检测到的人脸进行识别的一系列相关技术,通常人脸识别也称之为人像识别、面部识别。其中,人脸识别过程包括人脸检测、图像预处理、人脸特征提取、以及匹配与识别等步骤。
人脸检测用于在图像中检测人脸区域,即在图像中标定出人脸的位置和大小,人脸区域即为包括人脸的区域,在一张图像中人脸区域可有多个。
图像预处理步骤可对包括人脸的图像进行诸如光线补偿、灰度变换、直方图均衡化、归一化、几何校正、滤波以及锐化等。
在本发明实施例中,人脸特征用于描述人脸的面部器官特征。人脸特征提取步骤用于进行人脸特征提取,即对人脸进行特征建模,提取到的特征信息包括但不限于视觉特征、像素统计特征、人脸图像变换系数特征、人脸图像代数特征等,本发明实施例对此不进行具体限定。
匹配和识别步骤用于将提取的人脸特征与数据库中存储的特征模板进行匹配,换一种表达方式,该步骤将待识别的人脸特征与数据库中存储的特征模板进行比较,根据相似程度对待识别人脸的身份信息进行判断。
另外,人脸特征作为人脸识别过程中的中间数据,其通常为一个高维数据,可能会有上千个维度。
情绪识别:在本文中又称之为面部表情识别。其中,面部表情识别是指从给定的静态图像或动态视频序列中分离出特定的表情状态,从而确定被识别对象的情绪。简言之,面部表情识别是通过深度学习等方式提取人脸上的面部表情特征,识别人脸表达的情绪。即面部表情特征用于描述人脸的情绪状态。
面部表情是人体(形体)语言的一部分,是一种生理及心理的反应,通常用于传递情感。换一种表达方式,面部表情是面部肌肉的一个或多个动作或状态的结果。这些运动表达了个体对观察者的情绪状态,面部表情是非语言交际的一种形式。其中,人类的面部表情至少有21种,除了常见的高兴、吃惊、悲伤、愤怒、厌恶和恐惧6种,还有惊喜(高兴+吃惊)、悲愤(悲伤+愤怒)等15种可被区分的复合表情,本发明实施例对此不进行具体限定。
面部表情识别过程包括人脸检测、图像预处理、面部表情特征提取、以及面部表情分类等步骤。其中,人脸检测步骤和图像预处理步骤与前文一致。针对面部表情特征提取步骤来说,可提取表情的形变特征,即表情的暂态特征,本发明实施例对此不进行具体限定。另外,在进行特征选择时,一个选择依据是:尽可能多的携带人脸面部表情的特征,即信息量丰富;尽可能容易提取;信息相对稳定,比如受光照变化等外界的影响小。
其中,在基于提取到的面部表情特征进行表情分类时,可基于模板的匹配方法、神经网络的方法、概率模型的方法或支持向量机的方法实现,本发明实施例对此不进行具体限定。
另外,面部表情特征作为面部表情识别过程中的中间数据,其通常为一个高维数据,可能会有上千个维度,但是其维度通常会比人脸特征的维度少。
lsh(localitysensitivehashing,局部敏感哈希)算法:提供一种特殊的hash(哈希)函数,能够使得两个相似度很高的数据以较高概率映射到同一个hash值,从而可以方便地实现高维数据的搜索。
其中,局部敏感哈希的最大特点在于保持数据的相似性。示例性地,lsh算法基于一个假设,如果两个文本在原有的数据空间是相似的,那么分别经过哈希函数转换以后的它们也具有很高的相似度;相反,如果它们本身是不相似的,那么经过哈希函数转换后的它们应仍不具有相似性。
本发明实施例提出了一种多媒体资源搜索方法,该种搜索方法可基于用户提供的输入图像实现相关的多媒体资源搜索,详细来说,该种搜索方法提取输入图像中的人脸特征以及面部表情特征,并基于人脸特征和面部表情特征完成多媒体资源搜索。
以视频资源为例,用户在浏览表情包(包括静态图像和动态图像)时,有可能想要通过表情包来搜索相关的视频资源。为此,本发明实施例会事先对视频库中的各个视频资源进行处理,比如获取各个视频资源中的关键帧,然后提取各个关键帧中的人脸特征和面部表情特征,之后,再通过哈希算法(如lsh算法)对提取到的人脸特征和面部表情进行哈希运算,并基于得到的哈希运算结果来建立有关于视频资源的索引信息。
当获取到用户输入的表情包后,首先对该表情包中包括的图像进行上述类似处理,得到该表情包中人脸特征和面部表情特征的哈希运算结果,之后,基于与该表情包匹配的哈希运算结果以及上述建立的索引信息,实现在视频库中搜索与该表情包匹配的视频资源,比如搜索到与该表情包中面部表情相符的视频资源。其中,搜索结果中可包括多个视频资源,且可以列表的形式返回视频资源,本发明实施例对此不进行具体限定。
下面对本发明实施例提供的一种多媒体资源搜索方法所涉及的实施环境进行介绍。参见图1,该实施环境中包括终端101和服务器102。
其中,终端101的类型包括但不限于:智能手机、平板电脑、笔记本电脑、台式电脑等固定式或移动式电子设备。另外,为了在终端101上实现多媒体资源播放,终端101上通常还安装有相关应用,以视频资源为例,则相关应用可为视频播放应用,本发明实施例对此不进行具体限定。
在本发明实施例中,终端101负责获取用户输入的表情包,并将获取到的表情包发送至服务器102;其中,该表情包在本文中也称为图像文件。另外,终端101还用于展示服务器102返回的资源搜索结果。
服务器102用于在接收到终端101发送的表情包后,对该表情包进行人脸特征以及面部表情特征提取,以及对提取到的人脸特征和面部表情特征进行哈希运算,并基于与该表情包匹配的哈希运算结果以及前文所述的索引信息,在资源库中为该表情包搜索适配的多媒体资源,并将资源搜索结果返回给终端101。需要说明的是,前文提到的对视频库中的各个视频资源进行处理,也是由服务器102完成。
另外,如果终端101的处理能力足够,则上述对该表情包进行人脸特征以及面部表情特征提取的步骤,也可由终端101完成,本发明实施例对此不进行具体限定。
综上所述,本发明实施例基于人脸特征以及面部表情特征进行多媒体资源搜索,由于人脸特征和面部表情特征通常不会受更换背景或修改图像文件尺寸等因素影响,因此不会出现特征大量丢失的情况,所以该种多媒体资源搜索方式的搜索效果较佳;另外,本发明实施例除了基于人脸特征能够在资源库搜索到输入图像文件的原始出处,即查找到输入图像文件来源于哪一个视频外,还能基于面部表情特征在资源库中搜索到具有相似情绪的多媒体资源,扩展了资源搜索范围,搜索到的资源类型较为丰富。
图2是本发明实施例提供的一种多媒体资源搜索方法的流程图。该方法的执行主体为终端和服务器。其中,该终端可为图1中示出的终端101,该服务器可为图1中示出的服务器102。参见图2,本发明实施例提供的方法流程包括:
201、服务器获取输入的图像文件。
其中,上述图像文件通常为终端发送给服务器的,即终端接收用户输入的图像文件,并将该图像文件发送至服务器。
在本发明实施例中,用户输入的图像文件可为一个表情包,该表情包中既可包括一张图像也可包括多张图像;当包括一张图像时,该表情包本质上是一张包括面部表情的静态图像;当包括多张图像时,该表情包本质上是一个动图,比如gif(graphicsinterchangeformat,图像互换格式)动图。
其中,终端上通常安装有可用于播放多媒体资源的相关应用,该应用可提供搜索框来支持用户输入图像文件,而用户在输入图像文件后,终端通过该应用便可将该图像文件发送给服务器。
202、服务器对该图像文件进行人脸检测,得到至少一个人脸区域。
在本发明实施例中,服务器在接收到终端发送的该图像文件后,如果该图像文件包括多张图像,则逐张图像地按帧进行处理。需要说明的是,为了便于称谓,图像文件中包括的图像在本文中均以输入图像命名。
203、服务器在至少一个人脸区域上进行人脸特征提取和面部表情特征,得到该图像文件的人脸特征和面部表情特征,人脸特征用于描述人脸的面部器官特征,面部表情特征用于描述人脸的情绪状态。
其中,对人脸进行特征提取实质上就是对人脸进行特征建模的过程,在进行人脸特征提取时,包括但不限于采取下述方式:基于知识的表征方法、基于代数特征或统计学习的表征方法等。以基于知识的表征方法为例,其主要是根据人脸器官的形状描述以及它们之间的距离特性来获得有助于人脸分类的特征数据,其特征数据通常包括特征点间的欧氏距离、曲率和角度等。而对人脸进行面部表情特征提取时,可采取深度学习方式实现,本发明实施例对此不进行具体限定。
204、服务器基于该图像文件的人脸特征和面部表情特征,在多媒体资源池中搜索与该图像文件匹配的目标多媒体资源。
其中,多媒体资源池中包含有海量多媒体资源。在本发明实施例中,服务器基于接收到的该图像文件的类型不同,会采取下述两种不同的方式,搜索与该图像文件匹配的目标多媒体资源。
方式一、当图像文件包括一张输入图像时,参见图3,步骤204包括:
204-1、对输入图像的人脸特征和面部表情特征分别进行哈希运算,得到第一哈希运算结果。
如前文所述,同样可采取lsh算法对人脸特征和面部表情特征进行哈希运算,且哈希运算结果同样指代哈希值。另外,第一哈希运算结果中包括与人脸特征匹配的哈希运算结果,以及与面部表情特征匹配的哈希运算结果。
204-2、基于第一哈希运算结果,在多媒体资源池的哈希运算结果中进行查找,得到初步资源搜索结果。
针对该步骤,在进行资源搜索时,参见图4,可采取下述方式实现:
204-2-1、基于第一哈希运算结果中与该人脸特征匹配的哈希运算结果,在多媒体资源池的哈希运算结果中进行查找,得到与该人脸特征匹配的第一资源搜索结果。
针对该步骤,目的在于使用人脸特征在多媒体资源池中搜索与上述输入图像中出现的人物相关的多媒体资源。
其中,这些搜索到的多媒体资源可以信息条目的方式组成一个多媒体资源列表,一个信息条目中列举一项多媒体资源,比如一个信息条目中包括一项多媒体资源的标识信息等。而上述多媒体资源列表便为服务器获取到的第一资源搜索结果。
需要说明的是,可基于哈希运算结果中的每一个哈希值在资源库中进行搜索,若基于不同的哈希值搜索出相同的多媒体资源,则在后续统计出现帧数时,该张图像在该多媒体资源中的出现帧数仅算一次,且该张图像与该多媒体资源之间的相似度也需取最高的相似度值。
204-2-2、基于第一哈希运算结果中与该面部表情特征匹配的哈希运算结果,在多媒体资源池的哈希运算结果中进行查找,得到与该面部表情特征匹配的第二资源搜索结果。
针对该步骤,目的在于使用面部表情特征在多媒体资源池中搜索与上述输入图像中出现的人物具有类似情绪的多媒体资源。
其中,这些搜索到的多媒体资源同样可以信息条目的方式组成一个多媒体资源列表,而一个信息条目中同样可列举一项多媒体资源,比如一个信息条目中包括一项多媒体资源的标识信息等。而上述多媒体资源列表便为服务器获取到的第二资源搜索结果。
204-2-3、获取第一资源搜索结果和第二资源搜索结果中相同的多媒体资源,得到初步资源搜索结果。
服务器在得到第一资源搜索结果和第二资源搜索结果后,可以信息条目为键值来合并资源搜索结果。以第一资源搜索结果为列表sa、第二资源搜索结果为列表sb为例,则服务器会对列表sa和列表sb取交集,得到两个列表中相同的多媒体资源,这些相同的多媒体资源可组成列表sab,即对应上述初步资源搜索结果。
在另一个实施方式中,若列表sab中包括的多媒体资源的数量较少,可本发明实施例还包括以下处理步骤:若初步资源搜索结果中包括的多媒体资源的第一数量小于目标数值,则在第二资源搜索结果中获取第二数量的多媒体资源,其中,第一数量与第二数量之和不小于目标数值。换一种表达方式,如果列表sa和列表sb中相同多媒体资源的数量过少,则本发明实施例会使用列表sb中的多媒体资源对其进行填充。其中,第一数量、第二数量以及目标数值的取值任意,本发明实施例对此不进行具体限定,仅需保证第一数量与第二数量之和不小于目标数值。
204-3、对于初步资源搜索结果中包括的每一项多媒体资源,获取该多媒体资源与输入图像之间的相似度。
在本发明实施例中,在获取初步资源搜索结果中任一项多媒体资源与输入图像之间的相似度时,可采取下述方式实现:获取输入图像的第一哈希运算结果与该多媒体资源的哈希运算结果之间的相似度。其中,在计算哈希运算结果之间的相似度时,可采取计算欧式距离、曼哈顿距离、夹角余弦、切比雪夫距离、汉明距离的方式,本发明实施例对此不进行具体限定。
204-4、按照与每一项多媒体资源匹配的相似度,对初步资源搜索结果中包括的多媒体资源进行排序,得到目标多媒体资源。
在进行多媒体资源排序时,可采取相似度越高排位越靠前的排序方式,本发明实施例对此不进行具体限定。
方式二、当图像文件包括至少两张输入图像时,参见图5,步骤204包括:
204-5、对于至少两张输入图像中的每一张输入图像,对该输入图像的人脸特征和面部表情特征分别进行哈希运算,得到第二哈希运算结果。
针对该种情形,服务器会对图像文件中包括的图像逐帧进行处理。步骤204-5和204-6便描述了对任意一帧图像的处理过程。
204-6、基于第二哈希运算结果,在多媒体资源池的哈希运算结果中进行查找,得到初步资源搜索结果。
其中,初步资源搜索结果的获取可参考前述步骤204-2实现。
在本发明实施例中,如果该图像文件中包括n帧图像,则一帧图像对应一个初步资源搜索结果,得到n个初步资源搜索结果。对于n个初步资源搜索结果,服务器会按照一定规则对其合并,具体合并方式如下述步骤204-7所示。
204-7、对与每一张输入图像匹配的初步资源搜索结果进行合并处理,得到目标多媒体资源。
其中,合并处理过程至少包括以下步骤:
(1)、对于初步资源搜索结果中包括的每一项多媒体资源,获取该图像文件中包括的输入图像与该多媒体资源之间的平均相似度。
在本发明实施例中,按照多媒体资源的标识信息来统计平均相似度,包括:对于该图像文件中的每一张输入图像,获取该输入图像与该多媒体资源之间的相似度;之后,将每一张输入图像分别与该多媒体资源之间的相似度进行均值计算,得到该图像文件中包括的输入图像与该多媒体资源之间的平均相似度。
举例来说,假设该图像文件中包括5帧输入图像,那么首先计算这5帧输入图像分别与该多媒体资源之间的相似度,得到5个相似度值;之后,对5个相似度值进行均值计算,得到与该多媒体资源匹配的平均相似度。
(2)、获取该图像文件中包括的输入图像在该多媒体资源中的出现帧数。
其中,出现帧数的获取方式为:对于每一张输入图像,若该输入图像出现在该多媒体资源中,则出现帧数加一。举例来说,假设该图像文件中包括5帧输入图像,若其中3帧输入图像均在该多媒体资源中出现,则出现帧数的取值为3。
需要说明的是,上述步骤(1)和(2)针对的是n个初步资源搜索结果中包括的全部多媒体资源。
(3)、基于与每一项多媒体资源匹配的平均相似度以及出现帧数,对与每一张输入图像匹配的初步资源搜索结果进行合并处理。
针对该步骤,服务器在进行合并处理时,合并原则为:总体按照平均相似度进行排序;另外,对于相似度差值在目标阈值范围内的多媒体资源,则以出现帧数为准进行排序,详细排序方式为:
基于与每一项多媒体资源匹配的平均相似度,对得到的初步资源搜索结果包括的每一项多媒体资源进行排序;若任意两项多媒体资源之间的平均相似度的差值位于目标阈值范围内,则按照与两项多媒体资源匹配的出现帧数,对两项多媒体资源进行排序。
需要说明的是,本步骤出现的初步资源搜索结果针对的同样是n个初步资源搜索结果。
在本发明实施例中,服务器在搜索到目标多媒体资源后,会将搜索到的目标多媒体资源返回给终端。其中,服务器可以列表的形式将目标多媒体资源返回给终端,而终端在接收到目标多媒体资源后,可通过相关应用对目标多媒体资源进行展示,本发明实施例对此不进行具体限定。
以上步骤201至步骤204介绍了多媒体资源搜索过程,而服务器在实现多媒体资源搜索之前,通常还会对多媒体资源进行预处理,参见图6,预处理过程包括:
205、对于多媒体资源池中的每一项多媒体资源,服务器对该多媒体资源进行分帧处理,并获取该多媒体资源的关键帧。
在本发明实施例中,关键帧指代角色或者物体在运动或变化中关键动作所处的那一帧。其中,关键帧也称之为i帧,它是帧间压缩编码的最重要帧,即关键帧是帧间压缩的基础。通常情况下关键帧用于连接两段不同的内容,这一帧后面的视频内容会有新的变化或过渡。
服务器在对多媒体资源进行分帧处理时,可借助专门的分帧程序实现,本发明实施例对此不进行具体限定。而在进行关键帧的提取时,包括但不限于下述几种方式:基于镜头的方法、基于内容分析的方法、基于运动分析的方法以及基于欧氏距离的方法,本发明实施例对此不进行具体限定。
206、服务器对获取到的每一个关键帧分别进行人脸特征提取和面部表情特征提取。
在本发明实施例中,服务器会先对该关键帧进行人脸检测,得到至少一个人脸区域,以确定人脸在该关键帧中出现的位置以及大小。之后,在每一个人脸区域上进行人脸特征提取以及面部表情特征提取。本步骤中人脸特征以及面部表情特征提取的实现方式同上述步骤203。
207、对于每一个关键帧,服务器对该关键帧的人脸特征和面部表情特征分别进行哈希运算,得到该关键帧的哈希运算结果。
在本发明实施例中,可采取lsh算法对人脸特征和面部表情特征进行哈希运算。其中,哈希运算结果指代哈希值,另外,可将该关键帧的人脸特征的哈希值存放在一个列表中,而将该关键帧的面部表情特征的哈希值存放在另一个列表中。
208、服务器获取该关键帧在多媒体资源中的播放时刻,基于该多媒体资源的标识信息以及该关键帧的播放时刻,存储该关键帧的哈希运算结果,并将每一项多媒体资源的关键帧的哈希运算结果确定为多媒体资源池的哈希运算结果。
其中,多媒体资源池的哈希运算结果中包括每一项多媒体资源的关键帧的哈希运算结果。多媒体资源的标识信息可为多媒体资源的名称或编号等,本发明实施对此不进行具体限定。服务器对得到的哈希运算结果进行存储,以将其作为索引信息支持后续进行多媒体资源搜索。
在本发明实施例中,在对该关键帧的哈希运算结果进行存储时,可以该多媒体资源的标识信息以及该关键帧的播放时刻为键值(key)来进行存储。另外,还可额外存储该关键帧的人脸特征以及面部表情特征。
需要说明的第一点是,以上仅以资源库中存储的一项多媒体资源的一个关键帧为例进行说明,针对该多媒体资源的其他关键帧,以及资源库中其他多媒体资源的各个关键帧来说,均可按照上述方式进行处理。
需要说明的第二点是,在对资源库中的各项多媒体资源均进行上述步骤205至步骤208的处理后,后续便可基于人脸特征以及面部表情特征进行多媒体资源搜索。
本发明实施例提供的方法基于人脸特征以及面部表情特征进行多媒体资源搜索,由于人脸特征和面部表情特征通常不会受更换背景或修改图像文件尺寸等因素影响,不会出现特征大量丢失的情况,因此该种多媒体资源搜索方式的搜索精度高,效果较佳;另外,本发明实施例除了能够基于人脸特征,在资源库搜索到与输入图像文件中包括的人物匹配的多媒体资源外,比如能够在资源库搜索到输入图像文件的原始出处,即查找到输入图像文件来源于哪一个视频外,还能基于面部表情特征在资源库中搜索到具有相似情绪的多媒体资源,扩展了资源搜索范围,搜索到的资源类型较为丰富。
综上所述,本发明实施例提供的多媒体资源搜索方式,主要包括对资源库中的多媒体数据进行预处理过程以及多媒体资源搜索过程。
以多媒体资源为视频为例,上述多媒体资源池可为视频库,参见图7,服务器的预处理过程包括:
701、对于视频库中的每一项视频,服务器对该视频进行分帧处理,得到该视频中的关键帧。
702、服务器在当前关键帧处理完毕后,获取下一个关键帧。
703、服务器对该关键帧进行人脸特征提取以及面部表情特征提取。
704、服务器对提取到的人脸特征以及面部表情特征分别进行哈希运算。
705、服务器存储得到的哈希运算结果,以将其作为索引信息支持后续视频搜索。
以多媒体资源为视频为例,参见图8,服务器的视频搜索过程包括:
801、服务器获取到图像文件,若该图像文件包括单张图像,则执行下述步骤802至步骤805;若该图像文件包括多张图像,则执行下述步骤806至811。
802、服务器对该图像文件中包括的单张图像进行人脸特征提取以及面部表情特征提取。
803、服务器对提取到的人脸特征和面部表情特征分别进行哈希运算。
804、服务器利用得到的哈希运算结果在视频库中进行查找,得到初步的搜索结果。
805、服务器按照该单张图像与搜索结果中每一项视频的相似度,对初步的搜索结果中包括的各个视频进行排序,得到最终的搜索结果。
806、服务器对当前处理的图像进行人脸特征提取以及面部表情特征提取。
807、服务器对提取到的人脸特征和面部表情特征分别进行哈希运算。
808、服务器利用得到的哈希运算结果在视频库中进行查找,得到初步的搜索结果。
809、服务器将该张图像的搜索结果进行保存。
810、服务器判断当前处理的图像是否为该图像文件中的最后一帧;若否,则继续重复步骤806至步骤809的处理过程;若是,则执行下述步骤811。
811、服务器对于每张图像匹配的搜索结果进行合并处理,得到最终的搜索结果。
812、服务器返回最终的搜索结果。
图9是本发明实施例提供的一种多媒体资源搜索装置的结构示意图。参见图9,该装置包括:
第一获取模块901,用于获取输入的图像文件;
检测模块902,用于对所述图像文件进行人脸检测,得到至少一个人脸区域;
提取模块903,用于在所述至少一个人脸区域上进行人脸特征提取,得到所述图像文件的人脸特征,所述人脸特征用于描述人脸的面部器官特征;
提取模块903,还用于在所述至少一个人脸区域上进行面部表情特征提取,得到所述图像文件的面部表情特征,所述面部表情特征用于描述人脸的情绪状态;
搜索模块904,用于基于所述图像文件的人脸特征和面部表情特征,在多媒体资源池中搜索与所述图像文件匹配的目标多媒体资源。
本发明实施例提供的装置,基于人脸特征以及面部表情特征进行多媒体资源搜索,由于人脸特征和面部表情特征通常不会受更换背景或修改图像文件尺寸等因素影响,不会出现特征大量丢失的情况,因此该种多媒体资源搜索方式的搜索效果较佳;另外,本发明实施例除了能够基于人脸特征,在资源库搜索到与输入图像文件中包括的人物匹配的多媒体资源外,比如能够在资源库搜索到输入图像文件的原始出处,即查找到输入图像文件来源于哪一个视频,还能基于面部表情特征在资源库中搜索到具有相似情绪的多媒体资源,扩展了资源搜索范围,搜索到的资源类型较为丰富。
在另一个实施例中,当所述图像文件包括一张输入图像时,所述搜索模块,还用于对所述输入图像的人脸特征和面部表情特征分别进行哈希运算,得到第一哈希运算结果;基于所述第一哈希运算结果,在多媒体资源池的哈希运算结果中进行查找,得到初步资源搜索结果;对于所述初步资源搜索结果中包括的每一项多媒体资源,获取所述多媒体资源与所述输入图像之间的相似度;按照与每一项多媒体资源匹配的相似度,对所述初步资源搜索结果中包括的多媒体资源进行排序,得到所述目标多媒体资源。
在另一个实施例中,当所述图像文件包括至少两张输入图像时,所述搜索模块,还用于对于所述至少两张输入图像中的每一张输入图像,对所述输入图像的人脸特征和面部表情特征分别进行哈希运算,得到第二哈希运算结果;基于所述第二哈希运算结果,在多媒体资源池的哈希运算结果中进行查找,得到初步资源搜索结果;对与每一张输入图像匹配的初步资源搜索结果进行合并处理,得到所述目标多媒体资源。
在另一个实施例中,所述装置还包括:第二获取模块,用于对于多媒体资源池中的每一项多媒体资源,对所述多媒体资源进行分帧处理,并获取所述多媒体资源的关键帧;对获取到的每一个关键帧分别进行人脸特征提取和面部表情特征提取;对于所述每一个关键帧,对所述关键帧的人脸特征和面部表情特征分别进行哈希运算,得到所述关键帧的哈希运算结果;获取所述关键帧在所述多媒体资源中的播放时刻;基于所述多媒体资源的标识信息以及所述关键帧的播放时刻,存储所述关键帧的哈希运算结果;
其中,所述多媒体资源池的哈希运算结果中包括所述每一项多媒体资源的关键帧的哈希运算结果。
在另一个实施例中,所述搜索模块,还用于对于所述初步资源搜索结果中包括的每一项多媒体资源,获取所述图像文件中包括的输入图像与所述多媒体资源之间的平均相似度;获取所述图像文件中包括的输入图像在所述多媒体资源中的出现帧数;基于与每一项多媒体资源匹配的平均相似度以及出现帧数,对与每一张输入图像匹配的初步资源搜索结果进行合并处理。
在另一个实施例中,所述搜索模块,还用于对于每一张输入图像,获取所述输入图像与所述多媒体资源之间的相似度;将每一张输入图像分别与所述多媒体资源之间的相似度进行均值计算,得到所述至少两张输入图像与所述多媒体资源之间的平均相似度。
在另一个实施例中,所述搜索模块,还用于对于每一张输入图像,若所述输入图像出现在所述多媒体资源中,则所述出现帧数加一。
在另一个实施例中,所述搜索模块,还用于基于与每一项多媒体资源匹配的平均相似度,对所述初步资源搜索结果包括的每一项多媒体资源进行排序;若任意两项多媒体资源之间的平均相似度的差值位于目标阈值范围内,则按照与所述两项多媒体资源匹配的出现帧数,对所述两项多媒体资源进行排序。
在另一个实施例中,所述搜索模块,还用于基于所述第一哈希运算结果中与所述人脸特征匹配的哈希运算结果,在多媒体资源池的哈希运算结果中进行查找,得到与所述人脸特征匹配的第一资源搜索结果;基于所述第一哈希运算结果中与所述面部表情特征匹配的哈希运算结果,在多媒体资源池的哈希运算结果中进行查找,得到与所述面部表情特征匹配的第二资源搜索结果;获取所述第一资源搜索结果和所述第二资源搜索结果中相同的多媒体资源,得到所述初步资源搜索结果。
在另一个实施例中,所述装置还包括:
若所述相同的多媒体资源的第一数量小于目标数值,则在所述第二资源搜索结果中获取第二数量的多媒体资源,将所述第二数量的多媒体资源添加到所述初步资源搜索结果中;
其中,所述第一数量与所述第二数量之和不小于所述目标数值。
在另一个实施例中,所述搜索模块,还用于获取所述输入图像的第一哈希运算结果与所述多媒体资源的哈希运算结果之间的相似度。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的多媒体资源搜索装置在在搜索多媒体资源时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的多媒体资源搜索装置与多媒体资源搜索方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本发明实施例提供的一种服务器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1001和一个或一个以上的存储器1002,其中,所述存储器1002中存储有至少一条指令,所述至少一条指令由所述处理器1001加载并执行以实现上述方法实施例提供的多媒体资源搜索方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成下述实施例中多媒体资源搜索方法。例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。