CN111241309A - 多媒体资源搜索方法、装置及存储介质 - Google Patents
多媒体资源搜索方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111241309A CN111241309A CN202010014849.XA CN202010014849A CN111241309A CN 111241309 A CN111241309 A CN 111241309A CN 202010014849 A CN202010014849 A CN 202010014849A CN 111241309 A CN111241309 A CN 111241309A
- Authority
- CN
- China
- Prior art keywords
- multimedia resource
- multimedia
- vector
- resource
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
Abstract
本发明提供了一种多媒体资源搜索方法、装置、电子设备及存储介质;方法包括:响应于多媒体资源的搜索请求,确定所述多媒体资源对应的第一向量;其中,所述第一向量用于表示所述多媒体资源中的语义信息和视觉信息;获取至少两个候选多媒体资源及对应的第二向量;确定所述第一向量与各所述第二向量之间的向量距离;其中,所述向量距离用于表示所述多媒体资源与所述候选多媒体资源之间的相似度,且所述相似度是结合语义信息和视觉信息两个维度确定的;将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并用于响应所述搜索请求。通过本发明,能够提升进行多媒体资源搜索的精度。
Description
技术领域
本发明涉及人工智能技术,尤其涉及一种多媒体资源搜索方法、装置、电子设备及存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。
多媒体资源的相似搜索是人工智能的一个重要应用,在相关技术提供的方案中,通常是对多媒体资源进行哈希编码处理,将多媒体资源映射为低维的向量,再根据向量之间的距离确定多媒体资源之间的相似度,从而进行相似搜索。但是,在哈希编码处理的过程中,会丢失多媒体资源中的大量信息,导致进行相似搜索的准确性差。
发明内容
本发明实施例提供一种多媒体资源搜索方法、装置、电子设备及存储介质,能够提升进行多媒体资源相似搜索的准确性。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种多媒体资源搜索方法,包括:
响应于多媒体资源的搜索请求,确定所述多媒体资源对应的第一向量;其中,所述第一向量用于表示所述多媒体资源中的语义信息和视觉信息;
获取至少两个候选多媒体资源及对应的第二向量;
确定所述第一向量与各所述第二向量之间的向量距离;其中,所述向量距离用于表示所述多媒体资源与所述候选多媒体资源之间的相似度,且所述相似度是结合语义信息和视觉信息两个维度确定的;
将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并用于响应所述搜索请求。
本发明实施例提供一种多媒体资源搜索方法,包括:
在搜索界面中呈现包括至少两个多媒体资源的资源面板;
获取所述资源面板中被选中的多媒体资源,并获取至少两个候选多媒体资源;
确定所述被选中的多媒体资源与所述候选多媒体资源之间的向量距离;其中,所述向量距离用于表示所述被选中的多媒体资源与所述候选多媒体资源之间的相似度,且所述相似度是结合语义信息和视觉信息两个维度确定的;
将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并
将所述被选中的多媒体资源及所述相似多媒体资源呈现于所述搜索界面。
本发明实施例提供一种多媒体资源搜索装置,包括:
向量确定模块,用于响应于多媒体资源的搜索请求,确定所述多媒体资源对应的第一向量;其中,所述第一向量用于表示所述多媒体资源中的语义信息和视觉信息;
获取模块,用于获取至少两个候选多媒体资源及对应的第二向量;
距离确定模块,用于确定所述第一向量与各所述第二向量之间的向量距离;其中,所述向量距离用于表示所述多媒体资源与所述候选多媒体资源之间的相似度,且所述相似度是结合语义信息和视觉信息两个维度确定的;
响应模块,用于将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并用于响应所述搜索请求。
本发明实施例提供一种多媒体资源搜索装置,包括:
第一呈现模块,用于在搜索界面中呈现包括至少两个多媒体资源的资源面板;
选中模块,用于获取所述资源面板中被选中的多媒体资源,并获取至少两个候选多媒体资源;
确定模块,用于确定所述被选中的多媒体资源与所述候选多媒体资源之间的向量距离;其中,所述向量距离用于表示所述被选中的多媒体资源与所述候选多媒体资源之间的相似度,且所述相似度是结合语义信息和视觉信息两个维度确定的;
第二呈现模块,用于将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并
将所述被选中的多媒体资源及所述相似多媒体资源呈现于所述搜索界面。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的多媒体资源搜索方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的多媒体资源搜索方法。
本发明实施例具有以下有益效果:
本发明实施例通过确定多媒体资源对应的第一向量,获取至少两个候选多媒体资源及对应的第二向量,并通过计算第一向量与第二向量之间的向量距离,根据向量距离实现相似搜索,由于第一向量同时表示了多媒体资源中的语义信息和视觉信息,故在向量映射过程中减少了多媒体资源的信息丢失,提升了进行相似搜索的准确性。
附图说明
图1是本发明实施例提供的多媒体资源搜索系统的一个可选的架构示意图;
图2是本发明实施例提供的结合区块链网络的多媒体资源搜索系统的一个可选的架构示意图;
图3A是本发明实施例提供的服务器的一个可选的架构示意图;
图3B是本发明实施例提供的服务器的一个可选的架构示意图;
图4是本发明实施例提供的多媒体资源搜索装置的一个可选的架构示意图;
图5A是本发明实施例提供的多媒体资源搜索方法的一个可选的流程示意图;
图5B是本发明实施例提供的多媒体资源搜索方法的一个可选的流程示意图;
图5C是本发明实施例提供的训练孪生模型的一个可选的流程示意图;
图5D是本发明实施例提供的确定二元组及对应的二元组标签的一个可选的流程示意图;
图6是本发明实施例提供的多媒体资源搜索方法的一个可选的流程示意图;
图7是本发明实施例提供的孪生模型的一个可选的架构示意图;
图8是本发明实施例提供的添加分类层的待训练神经网络模型的一个可选的架构示意图;
图9是本发明实施例提供的搜索功能的入口示意图;
图10是本发明实施例提供的相似表情搜索的前端示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)多媒体资源:为静态图片、动态图片或视频等媒体形式的资源,例如,多媒体资源可以是内容交互平台中表情商店包括的表情。
2)视觉信息:指图片的底层信息,如图片的颜色、纹理、形状和像素差异等。
3)语义信息:指图片表达出的接近人类理解的信息,例如一张橘猫图片的语义信息可以是:该图片包括“猫”这种生物。
4)卷积神经网络(CNN,Convolutional Neural Network)模型:一种包含了卷积计算的前馈神经网络模型,卷积神经网络模型具有特征表示能力强、共享权值参数少、对变形情况(包括平移、缩放及旋转等)具有较强的不变性等优点。
5)卷积层(Convolution Layer):卷积神经网络模型中进行卷积操作的网络层,卷积层包含若干个卷积核,每个卷积核通过卷积操作可以较好地捕捉特征,避免人工进行特征抽取。在本文中,多层卷积层是指包括至少两个卷积层的网络层。
6)池化层(Pooling Layer):卷积神经网络模型中的一个重要组成部分,主要作用是对卷积层生成的特征进行降采样处理,降低过拟合的可能性,提高卷积神经网络模型的泛化性。其中,最大池化层(Max Pooling Layer)是常用的池化层之一,可以快速地抽取最有效的特征表示。
7)全连接层(Fully-Connected Layer):全连接层由多个神经元构成,当前层的每个神经元会与上一层的所有神经元进行连接。在卷积神经网络模型中,全连接层通常位于最后几层,可用于将卷积层或池化层的多维输出映射成一维向量,便于损失函数的计算。
8)二元组:在本文中,一个二元组包括两个多媒体资源,二元组还对应二元组标签,该二元组标签用于表示二元组内的两个多媒体资源是否相似。例如,当二元组标签为1时,表示二元组内的两个多媒体资源相似;当二元组标签为0时,表示二元组内的两个多媒体资源不相似。
9)孪生模型:一种判断两个可比较对象是否相似的人工神经网络模型。孪生模型有两个相同类型的子网络模型,并且这两个子网络模型共享权重参数。每个子网络模型接收一个对象作为输入,将其转换为特征向量,并输入到统一的结构判断相似度。
10)垂直搜索:针对某一行业的专业搜索引擎,是搜索引擎的细分和延伸,具体是对数据库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。举例来说,垂直搜索可以是表情搜索,可以是小程序搜索。
11)表情:在本文中,是指静态表情或动态表情,属于多媒体资源的范畴。其中,静态表情仅包括一张静态图片,动态表情集成至少两帧静态图片,在呈现动态表情时,会连续播放其内的至少两帧静态图片,以形成一种简单的动画。
12)相似表情:是指相同风格的表情,例如同一个表情包中的表情,或者表情主体大部分相同,但局部区域做了明显修改的同系列表情。
13)相似表情搜索:指对用户输入或选中的表情进行相似搜索,得到相似的表情,便于用户对相似的表情进行发送或添加等操作。
对于多媒体资源的相似搜索,相关技术主要提供了如下三种方式,为了便于理解,以多媒体资源为图片的情况进行说明:
1)哈希编码处理。具体指将大小不同的图片通过哈希编码处理,映射成固定维度的哈希编码,当两张图片的哈希编码的相似度高于一定阈值时,确定两张图片较为相似。常见的进行哈希编码处理的算法包括平均值哈希(aHash)、差异值哈希(dHash)及感知哈希(pHash)等。但是,在进行哈希编码处理时,需要将图片缩小到比较小的尺寸,导致会丢失图片的大量信息。另一方面,如果第二张图片是对第一张图片进行旋转或轻微拉伸等操作后得到的结果,那么通过哈希编码处理的方式,计算出的两张图片的相似度会较低,但实际上两张图片的相似度应当是较高的。综上,通过哈希编码处理的方式进行相似搜索的精度有限,且抗噪能力较差。
2)局部特征检测。对图片进行局部的关键点检测,并根据得到的局部特征算子描述图片的特征表示,然后计算两张图片的特征表示之间的距离,从而得到两张图片的相似度。常见的局部特征算子包括尺度不变特征变换(SIFT,Scale-Invariant FeatureTransform)、方向梯度直方图(HOG,Histogram of Orien ted Gradient)、局部二值模式(LBP,Local Binary Patterns)及Haar特征等。但是,该种方式是一种无监督的计算方式,仅计算图片的视觉相似度,却难以表示图片的语义相似度。例如,对于分别为灰猫和猫头鹰的两张图片,通过局部特征检测的方式,容易将两张图片误判为相似的图片。另外,抽取并融合各种局部特征的工程也较为繁琐。
3)深度分类处理。首先通过训练集对深度学习模型进行训练,接着将图片输入至深度学习模型进行前馈处理,并将深度学习模型输出的向量作为图片的编码,最后根据两张图片的编码之间的距离确定两张图片的相似度。但是,深度学习模型具有强特征不变性,容易忽略图片的视觉相似度,导致对于语义信息相同但视觉信息不同的两张图片,得到的相似度不准确。例如,通过深度分类处理的方式,得到一张橘猫图片和另一张橘猫图片之间的相似度,同时,得到一张橘猫图片和另一张黑猫图片之间的相似度,前者的相似度与后者的相似度并不具有区分性,但是从视觉层面,前者的相似度应当高于后者的相似度。
本发明实施例提供一种多媒体资源搜索方法、装置、电子设备及存储介质,能够提升相似搜索的准确性,反馈在视觉层面和语义层面均相似的多媒体资源,下面说明本发明实施例提供的电子设备的示例性应用。
参见图1,图1是本发明实施例提供的多媒体资源搜索系统100的一个可选的架构示意图,为实现支撑一个多媒体资源搜索应用,终端设备400(示例性示出了终端设备400-1和终端设备400-2)通过网络300连接服务器200,服务器200连接数据库500,网络300可以是广域网或者局域网,又或者是二者的组合。
终端设备400用于根据用户输入或选中的多媒体资源,向服务器200发送包括该多媒体资源的搜索请求;服务器200用于响应于该搜索请求,确定该多媒体资源对应的第一向量,该第一向量用于表示该多媒体资源中的语义信息和视觉信息;从数据库500中获取至少两个候选多媒体资源及对应的第二向量;确定第一向量与各第二向量之间的向量距离;将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并将相似多媒体资源发送至终端设备400;终端设备400还用于在图形界面410(示例性示出了图形界面410-1和图形界面410-2)显示相似多媒体资源。在图1中,示例性地示出了用户输入或选中的多媒体资源为图片1,服务器200确定出的相似多媒体资源为图片2。
值得说明的是,服务器200除了从数据库500获取中第二向量外,也可从数据库500中获取至少两个候选多媒体资源,并实时确定出候选多媒体资源对应的第二向量。此外,除了从数据库500中获取候选多媒体资源之外,服务器200还可从终端设备400的本地存储,例如从本地日志中的聊天数据中获取候选多媒体资源。
本发明实施例也可结合区块链技术实现,区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参见图2,图2是本发明实施例提供的多媒体资源搜索系统110的一个可选的架构示意图,包括区块链网络600(示例性地示出了节点610-1至节点610-3)、认证中心700、业务系统800(示例性地示出了归属于业务系统800的电子设备810,电子设备810可以是图1中的服务器200或终端设备400,下面分别进行说明。
区块链网络600的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务系统的电子设备例如终端设备和服务器,都可以在不需要授权的情况下接入区块链网络600;以联盟链为例,业务系统在获得授权后其下辖的电子设备(例如终端设备/服务器)可以接入区块链网络600,此时,成为区块链网络600中的一类特殊的节点即客户端节点。
需要指出地,客户端节点可以只提供支持业务系统发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络600的原生节点的功能,例如下文的排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务系统的具体业务需求)地实现。从而,可以将业务系统的数据和业务处理逻辑最大程度迁移到区块链网络600中,通过区块链网络600实现数据和业务处理过程的可信和可追溯。
区块链网络600接收来自业务系统(例如图2中示出的业务系统800)的客户端节点(例如,图2中示出的归属于业务系统800的电子设备810)提交的交易,执行交易以更新账本或者查询账本。
下面以业务系统接入区块链网络以实现候选多媒体资源及第二向量的上链为例,说明区块链网络的示例性应用。
业务系统800的电子设备810接入区块链网络600,成为区块链网络600的客户端节点。电子设备810根据用户的指令或预设逻辑,从数据库或本地存储中获取候选多媒体资源,确定候选多媒体资源对应的第二向量,其中,第二向量用于表示候选多媒体资源中的语义信息和视觉信息。然后,电子设备810生成提交候选多媒体资源和对应的第二向量的交易,在交易中指定了实现提交操作需要调用的智能合约以及向智能合约传递的参数,交易还携带了业务系统800签署的数字签名(例如,使用业务系统800的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络600。其中,数字证书可由业务系统800向认证中心700进行登记注册得到。
区块链网络600中的节点610在接收到交易时,对交易携带的数字签名进行验证,数字签名验证成功后,根据交易中携带的业务系统800的身份,确认业务系统800是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点610自己的数字签名,并继续在区块链网络600中广播。
区块链网络600中具有排序功能的节点610接收到验证成功的交易后,将交易填充到新的区块中,并广播到区块链网络600中提供共识服务的节点。
区块链网络600中的提供共识服务的节点610对新区块进行共识过程以达成一致,提供账本功能的节点将新区块追加到区块链的尾部,并执行新区块中的交易:对于提交候选多媒体资源及对应的第二向量的交易,将候选多媒体资源及第二向量以键值对的形式存储至状态数据库。
下面以业务系统接入区块链网络以实现候选多媒体资源及第二向量的查询为例,说明区块链网络的示例性应用。
电子设备810根据用户的指令或预设逻辑,生成查询候选多媒体资源及第二向量的交易(相当于请求),同时在交易中指定了实现查询操作需要调用的智能合约以及向智能合约传递的参数,交易还携带了业务系统800签署的数字签名。然后,电子设备810将交易广播到区块链网络600,区块链网络的节点610经验证、区块填充及共识一致后,提供账本功能的节点610将形成的新区块追加到区块链的尾部,并执行新区块中的交易:对于用于查询候选多媒体资源及第二向量的交易,从状态数据库中查询包括候选多媒体资源及第二向量的所有键值对,并发送至电子设备810。当然,除了查询区块链中的所有候选多媒体资源及对应的第二向量之外,电子设备810也可生成包括候选多媒体资源(或候选多媒体资源的标识)的查询交易,以查询区块链存储的与该候选多媒体资源对应的第二向量。值得说明的是,状态数据库中存储的数据通常与区块链存储的数据相同,在响应查询交易时,优先根据状态数据库中的数据进行响应,从而提升响应效率。
下面继续说明本发明实施例提供的电子设备的示例性应用。电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的终端设备,也可以实施为服务器。下面,以电子设备为服务器为例进行说明。
参见图3A,图3A是本发明实施例提供的服务器200(例如,可以是图1所示的服务器200)的架构示意图,图3A所示的服务器200包括:至少一个处理器210、存储器240和至少一个网络接口220。服务器200中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3A中将各种总线都标为总线系统230。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器240旨在包括任意适合类型的存储器。
在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本发明实施例提供的多媒体资源搜索装置可以采用软件方式实现,图3A示出了存储在存储器240中的多媒体资源搜索装置2431,其可以是程序和插件等形式的软件,包括以下软件模块:向量确定模块24311、获取模块24312、距离确定模块24313及响应模块24314,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在一些实施例中,参见图3B,示出了存储在存储器240中的多媒体资源搜索装置2432,其可以是程序和插件等形式的软件,包括以下软件模块:第一呈现模块24321、选中模块24322、确定模块24323及第二呈现模块24324,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。值得说明的是,图3B除了示出的多媒体资源搜索装置2432外,其余部分可均与图3A相同,此处不再赘述。
在另一些实施例中,本发明实施例提供的多媒体资源搜索装置可以采用硬件方式实现,作为示例,本发明实施例提供的多媒体资源搜索装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的多媒体资源搜索方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
本发明实施例提供的多媒体资源搜索方法可以由上述的服务器执行,也可以由终端设备(例如,可以是图1所示的终端设备400-1和终端设备400-2)执行,或者由服务器和终端设备共同执行。
下面将结合上文记载的电子设备的示例性应用和结构,说明电子设备中通过嵌入的多媒体资源搜索装置2431,而实现多媒体资源搜索方法的过程。
参见图4和图5A,图4是本发明实施例提供的多媒体资源搜索装置2431的架构示意图,示出了通过一系列模块得到相似多媒体资源的流程,图5A是本发明实施例提供的多媒体资源搜索方法的流程示意图,将结合图4对图5A示出的步骤进行说明。
在步骤101中,响应于多媒体资源的搜索请求,确定多媒体资源对应的第一向量;其中,第一向量用于表示多媒体资源中的语义信息和视觉信息。
作为示例,参见图4,在向量确定模块24311中,响应于多媒体资源的搜索请求,从语义层面和视觉层面两个层面对多媒体资源进行特征提取,得到第一向量,该第一向量既表示了多媒体资源的语义信息,同时也表示了多媒体资源的视觉信息。
举例来说,在用于社交的应用程序中设置有多媒体资源相似搜索的搜索界面,当获取到用户在搜索界面中选中的多媒体资源时,确定接收到用户发起的多媒体资源的搜索请求。其中,可向用户提供数据库中的至少两个候选多媒体资源,例如提供应用程序的表情商店中的至少两个表情,或者,可向用户提供本地图库内的至少两个多媒体资源,以供用户选择,本发明实施例对此不做限定。
在一些实施例中,可以通过这样的方式来实现上述的确定多媒体资源对应的第一向量:当多媒体资源为静态图片时,确定静态图片对应的第一向量;当多媒体资源为动态图片时,确定动态图片中位于设定帧数的静态图片,并确定位于设定帧数的静态图片对应的第一向量;其中,动态图片集成有至少两张静态图片。
这里,第一向量是通过提取图片中的特征得到的。当多媒体资源为静态图片时,直接对该多媒体资源进行特征提取,得到第一向量;当多媒体资源为动态图片时,确定多媒体资源中位于设定帧数的静态图片,并确定位于设定帧数的静态图片对应的第一向量,设定帧数如第一帧、中间帧或最后一帧等,根据实际应用场景进行设定。其中,动态图片集成有至少两张静态图片,例如动态图片可以是集成至少两张静态图片的图像互换格式(GIF,Graphics Interchange Format)图,通过连续播放至少两张静态图片,从而实现动画效果。此外,当多媒体资源为视频时,同样适用于动态图片的向量确定方式。通过上述方式,提升了对不同媒体形式的多媒体资源的适用性。
在步骤102中,获取至少两个候选多媒体资源及对应的第二向量。
作为示例,参见图4,在获取模块24312中,可同时获取预先存储的至少两个候选多媒体资源及对应的第二向量,也可以获取至少两个候选多媒体资源,再实时确定每个候选多媒体资源对应的第二向量。其中,确定第二向量的方式与确定第一向量的方式相同,即第二向量用于表示候选多媒体资源中的语义信息和视觉信息。
在一些实施例中,步骤101之前,还包括:从数据库或本地存储中获取候选多媒体资源,并确定候选多媒体资源对应的第二向量;将候选多媒体资源及第二向量发送至区块链网络,以使区块链网络的节点将候选多媒体资源及第二向量填充至新区块,并将新区块追加至区块链的尾部;
可以通过这样的方式来实现上述的获取至少两个候选多媒体资源及对应的第二向量:向区块链网络发送请求,以获取区块链存储的至少两个候选多媒体资源及对应的第二向量。
这里,可应用预先存储的机制,具体地,从数据库或本地存储中获取候选多媒体资源,其中,本地存储如本地日志。举例来说,对于用于社交的应用程序来说,可从数据库中获取表情商店提供的所有表情,作为候选多媒体资源;可从数据库中获取线上社交产生的聊天数据,并将聊天数据中的表情作为候选多媒体资源;可从终端设备的本地日志中获取聊天数据,并将聊天数据中的表情作为候选多媒体资源;还可将终端设备的本地图库中存储的图片,作为候选多媒体资源。根据实际应用场景的不同,可应用上面的一种或至少两种方式获取候选多媒体资源。
获取到候选多媒体资源后,确定对应的第二向量,并生成包括候选多媒体资源及对应的第二向量的交易,将该交易发送至区块链网络。区块链网络的节点对该交易验证成功后,将交易中的候选多媒体资源及第二向量填充至新区块,并对新区块进行共识。当共识一致后,区块链网络的节点将新区块追加至区块链的尾部,完成上链。
如此,在响应于多媒体资源的搜索请求时,可向区块链网络发送请求,以获取区块链存储的至少两个候选多媒体资源及对应的第二向量。由于区块链具有不可篡改的特性,故通过上述方式,能够保证获取到的候选多媒体资源及第二向量的准确性,在此基础上,还可在区块链网络中设置上传候选多媒体资源及第二向量的权限,即只有具有特定权限的客户端节点(例如应用程序的运营方)才能完成候选多媒体资源及第二向量的上链,进一步提升数据准确性。
在步骤103中,确定第一向量与各第二向量之间的向量距离;其中,向量距离用于表示多媒体资源与候选多媒体资源之间的相似度,且相似度是结合语义信息和视觉信息两个维度确定的。
作为示例,参见图4,在距离确定模块24313中,确定第一向量与每个第二向量之间的向量距离,向量距离可以是欧式距离或余弦距离等,本发明实施例对此不做限定。第一向量与第二向量之间的向量距离,可用于表示第一向量对应的多媒体资源与第二向量对应的候选多媒体资源之间的相似度,向量距离越小,相似度越大,该相似度是结合语义信息和视觉信息两个维度确定的,准确性较高。
在步骤104中,将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并用于响应搜索请求。
作为示例,参见图4,在响应模块24314中,根据设定的距离条件,对向量距离对应的候选多媒体资源进行筛选,将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,例如,满足距离条件的向量距离可以是数值最小的K个向量距离,K为大于0的整数,满足距离条件的向量距离也可以是小于距离阈值的向量距离。
然后,根据相似多媒体资源响应搜索请求。例如,将搜索请求对应的多媒体资源和相似多媒体资源同时呈现于搜索界面中,又例如,根据用户指令或自动将相似多媒体资源添加至终端设备的资源收藏夹(表情收藏夹)中,又例如,根据用户指令或自动将相似多媒体资源发送给特定的社交对象。
通过发明实施例对于图5A的上述示例性实施可知,本发明实施例通过确定能够准确表示图片信息的向量,并根据向量之间的距离进行相似搜索,提升了相似搜索的准确性,同时提升了相似搜索的抗噪能力。
在一些实施例中,参见图5B,图5B是本发明实施例提供的多媒体资源搜索方法的一个可选的流程示意图,图5A示出的步骤101可以通过步骤201至步骤204实现,将结合各步骤进行说明。
在步骤201中,响应于多媒体资源的搜索请求,通过孪生模型中的第一神经网络模型或第二神经网络模型的第n个多层卷积层,对输入资源进行特征提取处理,得到第n个卷积特征;其中,输入资源为多媒体资源或第n-1个经过降采样处理的卷积特征。
作为示例,参见图4,在向量确定模块24311中,通过神经网络模型的第n个多层卷积层对输入资源进行特征提取处理,得到第n个卷积特征,其中。当n为1时,输入资源是多媒体资源;当n大于1时,输入资源是第n-1个经过降采样处理的卷积特征。值得说明的是,多层卷积层是指包括至少两个卷积层的网络层,图4所示的神经网络模型是孪生模型中的第一神经网络模型或第二神经网络模型,第一神经网络模型或第二神经网络模型的权重参数相同,孪生模型的训练过程在后文进行详细阐述。
在步骤202中,通过第n个多层卷积层对应的全连接层,将第n个卷积特征转化为第n个向量表示。
作为示例,参见图4,在向量确定模块24311中,对于第n个多层卷积层来说,存在与其唯一对应的全连接层,该全连接层用于将第n个卷积特征转化为第n个向量表示。
在步骤203中,通过池化层对第n个卷积特征进行降采样处理。
在相邻的两个多层卷积层之间,还存在池化层,该池化层用于对上一个多层卷积层输出的卷积特征进行降采样处理,降采样处理的作用一方面是降低卷积特征中的噪音,去除冗余特征;另一方面是提升卷积特征的粒度,进一步淡化细节,突出主体。其中,池化层可以是最大池化层。
在步骤204中,迭代n的取值直至得到第N个向量表示,并对N个向量表示进行拼接处理,得到第一向量;其中,n的取值依次为1,2,……N,N为大于2的整数。
迭代n的取值,并在n取得一个新的取值时,执行步骤201~203,直至得到第N个向量表示,其中,n的取值依次为1,2,……N,N为大于2的整数。最后,对N个向量表示进行拼接处理,得到第一向量。值得说明的是,也可根据神经网络模型,确定候选多媒体资源对应的第二向量。
作为示例,参见图4,在向量确定模块24311中,N的取值为3,即神经网络模型包括三个多层卷积层。在确定多媒体资源对应的第一向量时,通过神经网络模型的多层卷积层1对多媒体资源进行特征提取处理,得到第1个卷积特征,并将第1个卷积特征输入至全连接层1,以使全连接层1将第1个卷积特征转化为第1个向量表示,同时,多层卷积层1将第1个卷积特征输入至池化层1(图4中未示出),以使池化层1对第1个卷积特征进行降采样处理,并将降采样处理后的第1个卷积特征输入至多层卷积层2。如此,神经网络模型的底部结构(多层卷积层1和全连接层1)最靠近多媒体资源,可以抽取到更具体的特征,包括多媒体资源的图像主体和背景,即可学习到更细致的视觉信息;神经网络模型的顶部结构(多层卷积层3和全连接层3)处于最深的层次,可以捕捉到以多媒体资源的图像主体为主的更高级的特征,即可学习到更抽象的语义信息;神经网络模型的中部结构(多层卷积层2和全连接层2)介于底部结构和顶部结构之间,能够更好地学习视觉信息和语义信息的关联性。
通过发明实施例对于图5B的上述示例性实施可知,本发明实施例通过包括至少三个多层卷积层的神经网络模型,确定多媒体资源对应的第一向量,实现了向量的自动确定,避免了繁琐的特征工程,同时也减少了在向量确定过程中的信息丢失,提升了得到的第一向量的准确性。
在一些实施例中,参见图5C,图5C是本发明实施例提供的训练孪生模型的一个可选的流程示意图,基于图5B,在步骤201之前,还可以在步骤301中,确定二元组及对应的二元组标签;其中,二元组标签用于表示二元组内的两个多媒体资源是否相似。
这里,确定包括两个多媒体资源的二元组及对应的二元组标签,为了便于理解,设定当二元组标签为1时,二元组内的两个多媒体资源相似;当二元组标签为0时,二元组内的两个多媒体资源不相似。二元组及二元组标签可以由人为标注生成,也可以根据其他方式生成,本发明实施例对此不做限定。
在一些实施例中,在步骤301之后,还包括:对二元组中的第一多媒体资源和第二多媒体资源进行相同的数据增强处理;根据数据增强处理后的第一多媒体资源和第二多媒体资源,构建新的二元组;其中,数据增强处理的方式包括裁剪、旋转及翻转中的至少一种。
在确定二元组之后,可对二元组中的第一多媒体资源和第二多媒体资源进行相同的数据增强处理,数据增强处理的方式包括裁剪、旋转及翻转中的至少一种。例如,将第一多媒体资源和第二多媒体资源均裁剪至设定尺寸后,再均向右旋转90度,根据得到的新的第一多媒体资源和第二多媒体资源构建新的二元组,从而实现样本的扩充,并且,在后续进行模型训练时,可提升模型的泛化性。
在步骤302中,通过孪生模型中的第一神经网络模型,对二元组中的第一多媒体资源进行前馈处理,得到第一训练向量。
这里,孪生模型中的第一神经网络模型和第二神经网络模型共享权重参数,即两个神经网络模型的权重参数相同。通过孪生模型中的第一神经网络模型,对二元组中的第一多媒体资源进行前馈处理,得到第一训练向量,其中,前馈处理的过程与步骤201~204类似,在此不做赘述。
在一些实施例中,在步骤302之前,还包括:确定二元组中第一多媒体资源包括的静态图片;当静态图片不符合第一神经网络模型对应的输入图片尺寸时,对静态图片进行等比例缩放处理,直到静态图片的图片尺寸与输入图片尺寸在横向或纵向上匹配;根据输入图片尺寸,对等比例缩放处理后的静态图片进行空白填充处理或裁剪处理,以使得到的静态图片的图片尺寸与输入图片尺寸在横向及纵向上均匹配。
由于孪生模型通常具有固定的输入图片尺寸,故在对二元组中的第一多媒体资源进行前馈处理之前,对第一多媒体资源的尺寸进行调整。具体地,确定第一多媒体资源包括的静态图片,其中,当第一多媒体资源为动态图片时,确定动态图片中位于设定帧数的静态图片。
当静态图片不符合第一神经网络模型对应的输入图片尺寸时,对静态图片进行等比例缩放处理,直到静态图片的图片尺寸与输入图片尺寸在横向或纵向上匹配。然后,根据输入图片尺寸,对等比例缩放处理后的静态图片进行空白填充处理或裁剪处理,以使得到的静态图片的图片尺寸与输入图片尺寸在横向及纵向上均匹配。当然,若在进行等比例缩放处理后,静态图片的图片尺寸与输入图片尺寸在横向及纵向上均匹配,则完成尺寸调整。其中,横向是指图片的长所在的方向,纵向是指图片的宽所在的方向。将尺寸调整后的静态图片输入至第一神经网络模型,以使第一神经网络模型对该静态图片进行前馈处理。另外,尺寸调整的方式同样适用于第二多媒体资源,也适用于搜索请求对应的多媒体资源。通过上述方式,使输入孪生模型的数据达到设定的输入标准,提升了后续进行前馈处理的有效性。
在一些实施例中,在步骤302之前,还包括:将分类层设置为待训练神经网络模型的输出层,待训练神经网络模型为第一神经网络模型和第二神经网络模型中的任意一个;获取包括样本多媒体资源和多媒体类别的训练样本;通过待训练神经网络模型对样本多媒体资源进行前馈处理,得到预测类别;根据预测类别和多媒体类别确定样本损失值;根据样本损失值在待训练神经网络模型中进行反向传播,并在反向传播的过程中,沿梯度下降方向更新待训练神经网络模型中各个层的权重参数;结合两个相同的且去除分类层的待训练神经网络模型,构建孪生模型。
在二元组数量有限的情况,会影响到孪生模型的训练效果。故在本发明实施例中,进行模型预训练,首先,将第一神经网络模型或第二神经网络模型确定为待训练神经网络模型,并将分类层设置为待训练神经网络模型的输出层。然后,获取包括样本多媒体资源和多媒体类别的训练样本,例如从开源的ImageNet分类数据集中获取训练样本,并通过待训练神经网络模型对样本多媒体资源进行前馈处理,得到预测类别。通过损失函数对预测类别和多媒体类别进行处理,得到样本损失值,根据样本损失值在待训练神经网络模型中进行反向传播,并在反向传播的过程中,沿梯度下降方向更新待训练神经网络模型中各个层的权重参数。
在对待训练神经网络模型更新完成后,结合两个相同的且去除分类层的待训练神经网络模型,构建孪生模型。例如,当待训练神经网络模型是第一神经网络模型时,将更新完成的第一神经网络模型的权重参数共享至第二神经网络模型,并根据第一神经网络模型和第二神经网络模型构建孪生模型。完成模型预训练后,即可根据二元组及二元组标签进行模型权重参数的精调。通过上述方式,在二元组数量有限的情况,实现了模型权重参数的初步更新,使更新后的权重参数优于随机初始化的权重参数,提升了模型训练的精度。
在步骤303中,通过孪生模型中的第二神经网络模型,对二元组中的第二多媒体资源进行前馈处理,得到第二训练向量。
在步骤304中,确定第一训练向量与第二训练向量之间的向量距离,并根据向量距离和二元组标签确定损失值。
这里,确定第一训练向量与第二训练向量之间的向量距离,值得说明的是,该步骤中确定出的向量距离与步骤103中确定出的向量距离的种类相同,例如都为欧式距离或者都为余弦距离。通过损失函数对第一训练向量与第二训练向量之间的向量距离、以及二元组标签进行处理,得到损失值。本发明实施例对损失函数的具体种类不做限定。
在步骤305中,根据损失值进行反向传播,并在反向传播的过程中,沿梯度下降方向更新孪生模型中第一神经网络和第二神经网络模型的各个层的权重参数;其中,第一神经网络模型与第二神经网络模型的权重参数相同。
根据损失值在孪生模型中进行反向传播,并在反向传播的过程中根据损失值计算梯度,沿梯度下降方向更新孪生模型中第一神经网络和第二神经网络模型的各个层的权重参数。重复步骤302~305,直至达到设定的迭代次数,或者孪生模型的准确率达到设定阈值为止。
通过发明实施例对于图5C的上述示例性实施可知,本发明实施例通过确定二元组及对应的二元组标签,并对孪生模型进行训练,提升了训练速度和精度。
在一些实施例中,参见图5D,图5D是本发明实施例提供的确定二元组及对应的二元组标签的一个可选的流程示意图,图5C示出的步骤301可以通过步骤401至步骤403实现,将结合各步骤进行说明。
在步骤401中,确定至少两个多媒体资源类;其中,多媒体资源类内的任意两个多媒体资源满足相似条件。
这里,确定至少两个多媒体资源类,每一个多媒体资源类内的任意两个多媒体资源满足相似条件,相似条件可根据实际应用场景进行设定,如属于同一创作方,或者属于同一系列的资源(如同一系列的表情)等。
在一些实施例中,可以通过这样的方式来实现上述的确定至少两个多媒体资源类:执行以下任意一种处理:从数据库中获取至少两个多媒体资源类;从数据库中获取至少两个候选多媒体资源,对各候选多媒体资源进行映射处理得到映射向量,并根据映射向量对所有候选多媒体资源进行聚类处理,得到至少两个多媒体资源类。
本发明实施例提供了两种确定多媒体资源类的方式,其一是直接从数据库中获取至少两个多媒体资源类,举例来说,对于用于社交的应用程序,可从对应的表情商店中获取至少两个表情包,由于每个表情包内表情的主体或风格较为相似,故将表情包作为多媒体资源类,其中,表情商店内的表情包存储于数据库中。
其二,是从数据库中获取至少两个候选多媒体资源,对各候选多媒体资源单独进行映射处理得到映射向量,然后根据两个映射向量之间的向量距离,确定对应的两个候选多媒体资源之间的相似度,为了便于区分,将这里的相似度命名为映射相似度,其中,向量距离越小,则映射相似度越大。根据映射相似度,对所有候选多媒体资源进行聚类处理,将得到的类确定为多媒体资源类,本发明实施例对具体的聚类方式不做限定,例如可通过K-Means聚类算法进行聚类。另外,除了将数据库作为数据源,还可从本地日志或区块链网络中获取相应的数据。通过上述方式,提升了确定多媒体资源类的灵活性,
在一些实施例中,可以通过这样的方式来实现上述的对各候选多媒体资源进行映射处理得到映射向量:执行以下任意一种处理:对各候选多媒体资源进行哈希编码处理,得到映射向量;对各候选多媒体资源进行局部特征检测,将得到的局部特征算子确定为映射向量;通过分类模型对各候选多媒体资源进行前馈处理,将分类模型的最后一个全连接层输出的向量表示确定为映射向量。
本发明实施例提供了映射处理的三种方式,根据实际应用场景的不同,可采用任意一种方式得到映射向量。第一种方式,是对各候选多媒体资源进行哈希编码处理,得到映射向量,哈希编码处理可采用平均值哈希、差异值哈希或感知哈希等;第二种方式是对各候选多媒体资源进行局部特征检测,将得到的局部特征算子确定为映射向量;第三种方式是通过分类模型对各候选多媒体资源进行前馈处理,将分类模型的最后一个全连接层输出的向量表示确定为映射向量,其中,分类模型是深度学习模型,例如可为CNN模型或残差神经网络(ResNet,Residual Neural Network)等。
根据具体的映射处理方式得到映射向量,便于根据映射向量计算两个候选多媒体资源之间的映射相似度。在此基础上,还可为根据不同映射处理方式得到的映射相似度设置不同的权重,通过加权平均的方式,将根据至少两种映射处理方式得到的映射相似度进行结合,得到最终的映射相似度。举例来说,通过哈希编码处理的方式得到的候选多媒体资源A与候选多媒体资源B之间的映射相似度为Similarity1,通过分类模型前馈处理的方式得到的候选多媒体资源A与候选多媒体资源B之间的映射相似度为Similarity2,则可根据哈希编码处理的方式对应的权重Weight1,根据分类模型前馈处理的方式对应的权重Weight2,对两个映射相似度进行加权平均,得到最终的映射相似度SimilarityF,计算公式为:
SimilarityF=(Weight1×Similarity1+Weight2×Similarity2)/2。
其中,权重可根据实际应用场景进行设定。由于哈希编码处理的方式更偏向于提取视觉信息,分类模型前馈处理的方式更偏向于提取语义信息,故通过进行加权平均,有效地综合了两种方式,提升了最终得到的映射相似度的准确性。通过上述方式,实现了候选多媒体资源的向量映射,便于后续计算映射相似度,从而构建模型训练集。
在步骤402中,根据属于同一多媒体资源类的任意两个多媒体资源,构建相似二元组,并将相似二元组对应的二元组标签确定为相似标签。
这里,可在同一多媒体资源类选取任意两个多媒体资源,构建相似二元组,并将该相似二元组对应的二元组标签确定为相似标签,直到达到相似二元组的设定数量(如1000个),或者在构建相似二元组时遍历完成所有多媒体资源类为止。其中,相似标签可以是值为1的标签。
在图5D中,步骤402可以通过步骤501至步骤505实现,将结合各步骤进行说明。
在步骤501中,确定多媒体资源类包括的各多媒体资源的资源标识。
这里,每一个多媒体资源均对应一个资源标识,该资源标识可以是编号形式,用于体现多媒体资源的发布时间(顺序),如某个多媒体资源是第567个上传的资源,则可将该多媒体资源的资源标识设置为567。在构建相似二元组时,以一个多媒体资源类进行举例,首先确定该多媒体资源类包括的各多媒体资源的资源标识,并将该多媒体资源类内的所有多媒体资源标记为未访问。
在步骤502中,将多媒体资源类内任一个未访问的多媒体资源确定为第一多媒体资源,并将第一多媒体资源标记为已访问。
在步骤503中,确定第一多媒体资源的资源标识与其他未访问的多媒体资源的资源标识之间的标识差异值。
这里,遍历第一多媒体资源所在的多媒体资源类内的其他未访问的多媒体资源,并确定第一多媒体资源的资源标识与遍历到的多媒体资源之间的标识差异值。例如,第一多媒体资源的资源标识为标识1,遍历到的多媒体资源的资源标识为标识2,则标识差异值可以是标识1与标识2之间的差值的绝对值。
在步骤504中,将数值最小的标识差异值对应的未访问的多媒体资源,确定为第二多媒体资源,并将第二多媒体资源标记为已访问。
标识差异值越小,代表对应的两个多媒体资源的发布时间越为接近,而在实际应用场景中,发布时间跨度较小的两个多媒体资源之间的相似度,相较于发布时间跨度较大的两个多媒体资源之间的相似度来说,数值通常更高,例如同一创作方连续创作出的两个多媒体资源之间的相似度通常较高。故在本发明实施例中,将数值最小的标识差异值对应的未访问的多媒体资源,确定为第二多媒体资源,并将第二多媒体资源标记为已访问。
在步骤505中,根据第一多媒体资源和第二多媒体资源,构建相似二元组,并将相似二元组对应的二元组标签确定为相似标签。
根据第一多媒体资源和第二多媒体资源构建相似二元组,并设置对应的相似标签。基于各多媒体资源类构建相似二元组,直到达到相似二元组的设定数量,或者遍历完成所有多媒体资源类为止。通过上述的根据资源标识构建相似二元组的方式,能够得到更为准确的相似二元组,提升了后续的训练效果。
在图5D中,在执行步骤402的同时,还可以在步骤403中,根据不属于同一多媒体资源类的任意两个多媒体资源,构建不相似二元组,并将不相似二元组对应的二元组标签确定为不相似标签。
这里,可任意挑选出不属于同一多媒体资源类的两个多媒体资源,构建不相似二元组,并将不相似二元组对应的二元组标签确定为不相似标签,直到达到不相似二元组的设定数量(如1000个),或者在构建不相似二元组时遍历完成所有多媒体资源类为止。其中,不相似标签可以是值为0的标签,构建相似二元组与构建不相似二元组的过程互相隔离。
同样地,在构建不相似二元组时,可引入资源标识。具体地,首先确定所有多媒体资源类包括的多媒体资源的资源标识,并将所有多媒体资源类包括的多媒体资源均标记为未访问。然后,将任意一个多媒体资源类内任意一个未访问的多媒体资源,确定为第一多媒体资源,并将第一多媒体资源标记为已访问。确定第一多媒体资源的资源标识与其他未访问的多媒体资源的资源标识之间的标识差异值,这里的其他未访问的多媒体资源与第一多媒体资源不属于同一个多媒体资源类。与构建相似二元组不同的是,这里将数值最大的标识差异值对应的未访问的多媒体资源,确定为第二多媒体资源,并将第二多媒体资源标记为已访问,最后,根据第一多媒体资源和第二多媒体资源,构建不相似二元组。
通过发明实施例对于图5D的上述示例性实施可知,本发明实施例根据多媒体资源类构建相似二元组及不相似二元组,提升了构建二元组的准确性,也提升了后续进行模型训练的效果。
下面将结合上文记载的电子设备的示例性应用和结构,说明电子设备中通过嵌入的多媒体资源搜索装置2432,而实现多媒体资源搜索方法的过程。
参见图6,图6是本发明实施例提供的多媒体资源搜索方法的一个可选的流程示意图,将结合图6示出的步骤进行说明。
在步骤601中,在搜索界面中呈现包括至少两个多媒体资源的资源面板。
在本发明实施例中,可在终端设备呈现包括资源面板的搜索界面,其中,资源面板包括至少两个多媒体资源,资源面板呈现的方式可以是从搜索界面的底部弹出,当然也可应用其他的呈现方式。另外,多媒体资源可以是从数据库、本地存储或区块链网络中获取的。
在一些实施例中,可以通过这样的方式来实现上述的在搜索界面中呈现包括至少两个多媒体资源的资源面板:呈现包括资源选择入口的搜索界面;响应于对资源选择入口的触发操作,在搜索界面中呈现包括至少两个多媒体资源的资源面板。
在本发明实施例中,可在终端设备呈现包括资源选择入口的搜索界面,资源选择入口即为多媒体资源搜索功能的入口,其中,资源选择入口可以按钮或其他形式呈现,用于提示用户触发并选择待搜索的多媒体资源。另外,在这之前,终端设备还可呈现资源搜索功能的入口,用于提示用户触发,以使终端设备呈现搜索界面。
在接收到用户对资源选择入口的触发操作时,在搜索界面中呈现包括至少两个多媒体资源的资源面板,本发明实施例对触发操作的具体形式不做限定,例如触发操作可以是点击操作,也可以是达到设定时长(如3秒)的长按操作等。值得说明的是,资源面板中的多媒体资源可以是数据库或区块链网络中存储的多媒体资源,也可以是终端设备的本地存储中的多媒体资源。
在步骤602中,获取资源面板中被选中的多媒体资源,并获取至少两个候选多媒体资源。
这里,被选中的多媒体资源可以是用户通过触发操作选中的,可以是随机选中,或者通过其他方式选中的,本发明实施例对此不做限定。获取到被选中的多媒体资源,即接收到根据该多媒体资源发起的搜索请求。同时,从数据库、本地存储或区块链网络中获取至少两个候选多媒体资源。
在步骤603中,确定被选中的多媒体资源与候选多媒体资源之间的向量距离;其中,向量距离用于表示被选中的多媒体资源与候选多媒体资源之间的相似度,且相似度是结合语义信息和视觉信息两个维度确定的。
对用户选中的多媒体资源进行向量提取,得到第一向量,该第一向量用于表示该多媒体资源中的语义信息和视觉信息。对候选多媒体资源同样进行向量提取,得到第二向量,该第二向量用于表示该候选多媒体资源中的语义信息和视觉信息,其中,提取得到第二向量的过程可以预先进行,并在获取候选多媒体资源时,同时获取对应的第二向量。
将第一向量与每个第二向量进行向量比对,得到向量距离,该向量距离用于表示第一向量对应的多媒体资源与第二向量对应的候选多媒体资源之间的相似度,且该相似度是结合语义信息和视觉信息两个维度确定的,准确性较高。
在步骤604中,将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并将被选中的多媒体资源及相似多媒体资源呈现于搜索界面。
这里,确定满足距离条件的向量距离,并将该向量距离对应的候选多媒体资源确定为相似多媒体资源,其中,满足距离条件的向量距离可以是数值最小的K个向量距离,K为大于0的整数,满足距离条件的向量距离也可以是小于距离阈值的向量距离。
在搜索界面中,收起资源面板,并将被选中的多媒体资源及对应的相似多媒体资源呈现于搜索界面,以便用户对相似多媒体资源进行进一步处理。在此基础上,还可提供对相似多媒体资源的附加操作选项,附加操作选项在相似多媒体资源被触发时呈现,具体可包括添加及发送等操作。用户可针对搜索界面中呈现的一个或至少两个相似多媒体资源,触发对应的附加操作选项中的操作,以将相似多媒体资源添加至用户的资源收藏夹,或者将相似多媒体资源发送至特定的社交对象。
在一些实施例中,步骤604之后,还包括:响应于对搜索界面中的多媒体资源的触发操作,在搜索界面中呈现包括至少两个多媒体资源的资源面板。
由于用户可能选中了错误的多媒体资源,或者需要对至少两个多媒体资源依次进行相似搜索,故在本发明实施例中提供了重新选中多媒体资源的功能。具体地,响应于对搜索界面中呈现的多媒体资源的触发操作,在搜索界面中呈现包括至少两个多媒体资源的资源面板,以便重新选中多媒体资源。通过上述方式提升了相似搜索的灵活性。
通过发明实施例对于图6的上述示例性实施可知,本发明实施例根据被选中的多媒体资源进行相似搜索,并将得到的相似多媒体资源和被选中的多媒体资源呈现于前端界面中,使得用户能够根据较为准确的相似搜索结果进行相关操作,提升了用户体验。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
本发明实施例提供了如图7所示的孪生模型的一个可选的架构示意图,孪生模型包括架构相同的第一神经网络模型和第二神经网络模型,且第一神经网络模型和第二神经网络模型共享权重参数。为了便于理解,以第一神经网络模型说明具体的模型架构,第一神经网络模型的网络层表现为金字塔结构,主要分为三部分,底部结构是由卷积层(Convolutional Layer)1、卷积层2、卷积层3和全连接层(Fully Connected Layer)1组成;中部结构由卷积层4、卷积层5、卷积层6和全连接层2组成;顶部结构由卷积层7、卷积层8、卷积层9和全连接层3组成。对应于上文,也可理解为第一神经网络模型包括三个多层卷积层,第一个多层卷积层包括卷积层1、卷积层2及卷积层3,第二个多层卷积层包括卷积层4、卷积层5及卷积层6,第三个多层卷积层包括卷积层7、卷积层8及卷积层9。当然,根据实际应用场景的不同,也可叠加更多的结构,加深网络深度,提高模型的拟合能力。
在底部结构中,通过三个卷积层对输入的静态图片逐层进行卷积操作,并将卷积层3提取到的卷积特征输入至全连接层1中,以将卷积特征转化成64维的向量表示。与底部结构类似,在中部结构中,获取到卷积层3输出的卷积特征后,通过三层卷积层来进一步捕捉特征,接着将卷积层6捕捉的特征输入至全连接层2中,转化成64维向量表示。以此类推,在顶部结构中,获取到卷积层6输出的卷积特征后,逐层抽取更高级抽象的特征,并通过全连接层3转化成64维的向量表示。然后,将底部结构、中部结构及顶部结构输出的三个64维向量进行拼接,得到192维的向量表示。在进行孪生模型的训练时,将两张静态图片分别输入至第一神经网络模型和第二神经网络模型,经处理后,根据得到的两个192维的向量表示计算损失值。
值得说明的是,卷积层3抽取的卷积特征会经过最大池化层的降采样操作,然后再输入到卷积层4,卷积层6和卷积层7之间也采用了相同的降采样操作。通过降采样处理,一方面降低卷积特征中的噪音,去除冗余特征;另一方面提升特征表示的粒度,进一步淡化细节,突出主体。降采样操作使第一神经网络模型和第二神经网络模型的模型架构呈金字塔形,图片的特征表示由细粒度逐渐变成粗粒度。在模型中,底部结构最靠近输入的静态图片,可以抽取到更具体的图像特征(包括图像主体和背景),学习到更细致的视觉信息;顶部结构在模型中处于最深的层次,经过多个卷积层的处理后,可以捕捉到更高级的图像特征(以图像主体为主),学习到更抽象的语义信息;中部结构介于两者之间,能够更好地学习视觉信息和语义信息的关联性。
后文以多媒体资源为表情的情况,并针对在用于社交的应用程序中进行相似表情搜索的场景,说明孪生模型的训练过程。
首先,确定至少两个表情类。例如,应用程序的表情商店包括至少两个设计方上传的表情包,每个表情包内多个表情的主体或风格较为相似,因此,可将表情商店中的表情包作为表情类。又例如,可通过上文的哈希编码处理、局部特征检测及深度学习模型分类中的任意一种方式,计算数据库中不同表情之间的相似度,然后根据相似度对多个表情进行聚类,得到至少两个表情类。
然后,根据至少两个表情类构建二元组及二元组标签。具体地,随机抽取一个表情类,并从该表情类中随机选取两个表情,组成相似二元组,并设置对应的二元组标签y=1;同时,随机抽取两个不同的表情类,从两个表情类中各随机选取一个表情,组成不相似二元组,并设置对应的二元组标签y=0。
此外,由于孪生模型的输入通常是一张固定尺寸的图片,因此,抽取各二元组的各表情中位于设定帧数的静态图片,进行等比例缩放,然后进行空白填充或裁剪处理,以达到孪生模型的输入标准,当然,如果表情本身是一个静态图片,则不需进行抽取操作。另外,为了提高孪生模型的泛化性,通过裁剪、旋转及翻转中的至少一种操作,对静态图片进行数据增强处理,构建新的二元组。
由于二元组的数量可能有限,会对孪生模型的训练效果造成不利影响,故在本发明实施例中,将训练过程划分为两个阶段,分别是预训练阶段和精调阶段。
1)预训练阶段
预训练阶段针对于待训练神经网络模型,待训练神经网络模型为第一神经网络模型或第二神经网络模型。预训练的目的在于,通过公开的大规模数据集将待训练神经网络模型的权重参数调整到合理范围,使待训练神经网络模型的权重参数优于随机初始化的待训练神经网络模型。
本发明实施例提供了如图8所示的添加分类层的待训练神经网络模型的一个可选的架构示意图,如图8所示,在待训练神经网络模型的最后一层添加了分类层(Softmax)层,将待训练神经网络模型改造为多分类模型。在预训练阶段中,通过ImageNet数据集对图8所示的待训练神经网络模型进行多分类训练,并通过Softmax函数计算预测类别和多媒体类别(ImageNet数据集中的真实类别)之间的损失值,根据损失值在待训练神经网络模型中进行反向传播,并在反向传播的过程中,沿梯度下降方向更新待训练神经网络模型的权重参数。完成对待训练神经网络模型的权重参数的更新后,去除分类层,并保存待训练神经网络模型的所有权重参数。
2)精调阶段
首先,根据待训练神经网络模型的权重参数初始化另一个神经网络模型,从而构建孪生模型,例如,当待训练神经网络模型为第一神经网络模型时,将第一神经网络模型的权重参数共享至第二神经网络模型。
然后,将二元组中的两张静态图片分别输入至第一神经网络模型和第二神经网络模型,并通过损失函数,对第一神经网络模型输出的192维向量表示和第二神经网络模型输出的192维向量表示进行处理,得到损失值。其中,损失函数可采用对比损失(ContrastiveLoss)函数,公式如下:
其中,d=(an-bn)2,表示第n个二元组中第一表情的向量an和第二表情的向量bn之间的欧氏距离,an即对应上文的第一训练向量,bn即对应上文的第二训练向量;N表示二元组的数量;D表示设定的距离阈值;y表示二元组标签,y=1表示二元组中的两张静态图片(表情中位于设定帧数的静态图片)相似,y=0表示两张静态图片不相似。
根据损失函数可得到损失值,根据损失值在孪生模型中进行反向传播,并在反向传播的过程中,沿梯度下降方向更新孪生模型的权重参数。
完成孪生模型的训练后,对应用程序的表情商店中的所有表情(相当于上文的候选多媒体资源)进行预处理,即确定每个表情对应的静态图片,其中,当表情为静态表情时,表情对应的静态图片即为表情本身;当表情为动态表情时,抽取表情中位于设定帧数的静态图片。然后,通过孪生模型内的第一神经网络模型或第二神经网络模型,对每个表情对应的静态图片进行处理,得到每个表情的向量表示,该向量表示即为上文的第二向量。然后,将每个表情与对应的第二向量构建索引关系,并将该索引关系存储至数据库或区块链网络中,以应对后续的相似表情搜索。
在相似表情搜索的过程中,获取用户在应用程序提供的搜索界面中,通过触发操作选中的一个表情,当选中的表情是静态表情时,通过孪生模型内的第一神经网络模型或第二神经网络模型,确定该静态表情对应的向量表示;当选中的表情是动态表情时,抽取该表情中位于设定帧数的静态图片,并通过孪生模型内的第一神经网络模型或第二神经网络模型,确定该静态图片对应的向量表示。得到的该向量表示即为上文的第一向量。然后,确定第一向量与已存储的多个第二向量之间的向量距离,并确定数值最小的K个向量距离对应的第二向量,将与K个第二向量存在索引关系的表情确定为相似表情,相似表情即为上文的相似多媒体资源,其中,K为大于0的整数。然后,将相似表情呈现于应用程序的搜索界面中,例如,按照对应的向量距离从小到大的顺序呈现K个相似表情。
本发明实施例提供了如图9所示的搜索功能的入口示意图,图9所示的界面91是用于社交的应用程序的功能界面,提供了包括“搜一搜”在内的多个功能,其中,“搜一搜”即为搜索功能的入口按钮。当检测到用户对“搜一搜”按钮的触发操作后,应用程序从界面91跳转至界面92,界面92提供了多个细分的搜索功能,包括朋友圈搜索、文章搜索、公众号搜索、小程序搜索、音乐搜索及表情相似搜索,其中,触发操作如点击操作或长按操作。
本发明实施例提供了如图10所示的相似表情搜索功能的前端示意图,当应用程序呈现的界面为界面92、且检测到对“表情”按钮(对应上文的资源搜索功能的入口)的触发操作时,跳转至如图10所示的搜索界面101,搜索界面用于提供相似表情搜索功能,相似表情搜索功能对应上文的资源搜索功能。界面101呈现了“以表情搜表情”的提示框1011,用于提示用户选择表情,提示框1011对应上文的资源选择入口。当检测到对提示框1011的触发操作时,在搜索界面101中呈现表情面板1012,表情面板1012包括多个表情,这些表情可以是用户在应用程序的表情收藏夹中的表情,也可以是应用程序的表情商店中的表情,可根据实际应用场景进行具体设定,其中,表情面板1012对应上文的资源面板。图10示例性地示出了表情面板1012中的表情1013,还示出了表情包的示例图案1014,示例图案用于提示用户选中表情包,以查看表情包内的多个表情,还用于提示用户在不同的表情包之间切换。
当在搜索界面101检测到对某一表情的触发操作后,确定该表情被选中,并根据该表情进行相似表情搜索。具体地,确定该表情对应的第一向量,计算第一向量与每个第二向量之间的向量距离,并确定数值最小的K个向量距离对应的第二向量,进一步将K个第二向量对应的表情确定为相似表情,将K个相似表情呈现于搜索界面101的“相关表情”下,例如图10所示的相似表情1015,值得说明的是,在图10中,K的值为12,相似表情1015包括文案4,该文案用于辅助表达该表情的含义。同时,搜索界面101还呈现了作为搜索基础的表情1016,便于用户在主观上判断表情1016与相似表情之间的相似度。并且,搜索界面101还呈现了“更换表情”的更换提示,用于提示用户通过触发表情1016,从而在表情面板1012中重新选择作为搜索基础的表情。除此之外,应用程序还可提供对相似表情的附加操作选项,附加操作选项在用户触发相似表情时呈现(图10中未示出),具体包括添加表情及发送表情等操作。用户可对搜索界面101呈现的一个或至少两个相似表情执行附加操作选项中的操作,以将相似表情添加至用户的表情收藏夹,或者将相似表情发送至特定的社交对象。值得说明的是,图10仅为相似表情搜索功能的一种示例性的展现,并不构成对本发明实施例的限定。
下面继续说明本发明实施例提供的多媒体资源搜索装置2431实施为软件模块的示例性结构,在一些实施例中,如图3A所示,存储在存储器240的多媒体资源搜索装置2431中的软件模块可以包括:向量确定模块24311,用于响应于多媒体资源的搜索请求,确定多媒体资源对应的第一向量;其中,第一向量用于表示多媒体资源中的语义信息和视觉信息;获取模块24312,用于获取至少两个候选多媒体资源及对应的第二向量;距离确定模块24313,用于确定第一向量与各第二向量之间的向量距离;其中,向量距离用于表示多媒体资源与候选多媒体资源之间的相似度,且相似度是结合语义信息和视觉信息两个维度确定的;响应模块24314,用于将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并用于响应搜索请求。
在一些实施例中,向量确定模块24311,还用于:通过孪生模型中的第一神经网络模型或第二神经网络模型的第n个多层卷积层,对输入资源进行特征提取处理,得到第n个卷积特征;通过第n个多层卷积层对应的全连接层,将第n个卷积特征转化为第n个向量表示;通过池化层对第n个卷积特征进行降采样处理;迭代n的取值直至得到第N个向量表示,并对N个向量表示进行拼接处理,得到第一向量;其中,n的取值依次为1,2,……N,N为大于2的整数;输入资源为多媒体资源或第n-1个经过降采样处理的卷积特征。
在一些实施例中,向量确定模块24311,还用于:确定二元组及对应的二元组标签;其中,二元组标签用于表示二元组内的两个多媒体资源是否相似;通过孪生模型中的第一神经网络模型,对二元组中的第一多媒体资源进行前馈处理,得到第一训练向量;通过孪生模型中的第二神经网络模型,对二元组中的第二多媒体资源进行前馈处理,得到第二训练向量;确定第一训练向量与第二训练向量之间的向量距离,并根据向量距离和二元组标签确定损失值;根据损失值进行反向传播,并在反向传播的过程中,沿梯度下降方向更新孪生模型中第一神经网络和第二神经网络模型的各个层的权重参数;其中,第一神经网络模型与第二神经网络模型的权重参数相同。
在一些实施例中,向量确定模块24311,还用于:确定至少两个多媒体资源类;其中,多媒体资源类内的任意两个多媒体资源满足相似条件;根据属于同一多媒体资源类的任意两个多媒体资源,构建相似二元组,并将相似二元组对应的二元组标签确定为相似标签;根据不属于同一多媒体资源类的任意两个多媒体资源,构建不相似二元组,并将不相似二元组对应的二元组标签确定为不相似标签。
在一些实施例中,向量确定模块24311,还用于:执行以下任意一种处理:从数据库中获取至少两个多媒体资源类;从数据库中获取至少两个候选多媒体资源,对各候选多媒体资源进行映射处理得到映射向量,并根据映射向量对所有候选多媒体资源进行聚类处理,得到至少两个多媒体资源类。
在一些实施例中,向量确定模块24311,还用于:执行以下任意一种处理:对各候选多媒体资源进行哈希编码处理,得到映射向量;对各候选多媒体资源进行局部特征检测,将得到的局部特征算子确定为映射向量;通过分类模型对各候选多媒体资源进行前馈处理,将分类模型的最后一个全连接层输出的向量表示确定为映射向量。
在一些实施例中,向量确定模块24311,还用于:确定多媒体资源类包括的各多媒体资源的资源标识;将多媒体资源类内任一个未访问的多媒体资源确定为第一多媒体资源,并将第一多媒体资源标记为已访问;确定第一多媒体资源的资源标识与其他未访问的多媒体资源的资源标识之间的标识差异值;将数值最小的标识差异值对应的未访问的多媒体资源,确定为第二多媒体资源,并将第二多媒体资源标记为已访问;根据第一多媒体资源和第二多媒体资源,构建相似二元组。
在一些实施例中,向量确定模块24311,还用于:将分类层设置为待训练神经网络模型的输出层,待训练神经网络模型为第一神经网络模型和第二神经网络模型中的任意一个;获取包括样本多媒体资源和多媒体类别的训练样本;通过待训练神经网络模型对样本多媒体资源进行前馈处理,得到预测类别;根据预测类别和多媒体类别确定样本损失值;根据样本损失值在待训练神经网络模型中进行反向传播,并在反向传播的过程中,沿梯度下降方向更新待训练神经网络模型中各个层的权重参数;结合两个相同的且去除分类层的待训练神经网络模型,构建孪生模型。
在一些实施例中,向量确定模块24311,还用于:对二元组中的第一多媒体资源和第二多媒体资源进行相同的数据增强处理;根据数据增强处理后的第一多媒体资源和第二多媒体资源,构建新的二元组;其中,数据增强处理的方式包括裁剪、旋转及翻转中的至少一种。
在一些实施例中,向量确定模块24311,还用于:确定二元组中第一多媒体资源包括的静态图片;当静态图片不符合第一神经网络模型对应的输入图片尺寸时,对静态图片进行等比例缩放处理,直到静态图片的图片尺寸与输入图片尺寸在横向或纵向上匹配;根据输入图片尺寸,对等比例缩放处理后的静态图片进行空白填充处理或裁剪处理,以使得到的静态图片的图片尺寸与输入图片尺寸在横向及纵向上均匹配。
在一些实施例中,向量确定模块24311,还用于:当多媒体资源为静态图片时,确定静态图片对应的第一向量;当多媒体资源为动态图片时,确定动态图片中位于设定帧数的静态图片,并确定位于设定帧数的静态图片对应的第一向量;其中,动态图片集成有至少两张静态图片。
在一些实施例中,多媒体资源搜索装置2431还包括:候选资源获取模块,用于从数据库或本地存储中获取候选多媒体资源,并确定候选多媒体资源对应的第二向量;其中,第二向量用于表示候选多媒体资源中的语义信息和视觉信息;上链模块,用于将候选多媒体资源及第二向量发送至区块链网络,以使区块链网络的节点将候选多媒体资源及第二向量填充至新区块,并将新区块追加至区块链的尾部;
获取模块24312,还用于:向区块链网络发送请求,以获取区块链存储的至少两个候选多媒体资源及对应的第二向量。
下面继续说明本发明实施例提供的多媒体资源搜索装置2432实施为软件模块的示例性结构,在一些实施例中,如图3B所示,存储在存储器240的多媒体资源搜索装置2432中的软件模块可以包括:第一呈现模块24321,用于在搜索界面中呈现包括至少两个多媒体资源的资源面板;选中模块24322,用于在搜索界面中呈现包括至少两个多媒体资源的资源面板;确定模块24323,用于确定被选中的多媒体资源与候选多媒体资源之间的向量距离;其中,向量距离用于表示被选中的多媒体资源与候选多媒体资源之间的相似度,且相似度是结合语义信息和视觉信息两个维度确定的;第二呈现模块24324,用于将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并将被选中的多媒体资源及相似多媒体资源呈现于搜索界面。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的多媒体资源搜索方法,例如,如图5A、图5B或图6示出的多媒体资源搜索方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上,本发明实施例通过提取多媒体资源中的语义信息和视觉信息,得到对应的向量,减少了向量确定过程中的信息损耗,提升了根据向量进行相似搜索的准确性;此外,本发明实施例通过神经网络模型自动学习图片特征,避免了繁琐的特征工程,节省了研发成本,同时也提升了抗噪能力,适用于垂直搜索的应用场景。
以上,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (15)
1.一种多媒体资源搜索方法,其特征在于,包括:
响应于多媒体资源的搜索请求,确定所述多媒体资源对应的第一向量;其中,所述第一向量用于表示所述多媒体资源中的语义信息和视觉信息;
获取至少两个候选多媒体资源及对应的第二向量;
确定所述第一向量与各所述第二向量之间的向量距离;其中,所述向量距离用于表示所述多媒体资源与所述候选多媒体资源之间的相似度,且所述相似度是结合语义信息和视觉信息两个维度确定的;
将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并用于响应所述搜索请求。
2.根据权利要求1所述的多媒体资源搜索方法,其特征在于,所述确定所述多媒体资源对应的第一向量,包括:
通过孪生模型中的第一神经网络模型或第二神经网络模型的第n个多层卷积层,对输入资源进行特征提取处理,得到第n个卷积特征;
通过所述第n个多层卷积层对应的全连接层,将所述第n个卷积特征转化为第n个向量表示;
通过池化层对所述第n个卷积特征进行降采样处理;
迭代n的取值直至得到第N个向量表示,并对N个向量表示进行拼接处理,得到第一向量;
其中,所述n的取值依次为1,2,……N,N为大于2的整数;所述输入资源为所述多媒体资源或第n-1个经过降采样处理的卷积特征。
3.根据权利要求2所述的多媒体资源搜索方法,其特征在于,所述对输入资源进行特征提取处理之前,还包括:
确定二元组及对应的二元组标签;其中,所述二元组标签用于表示所述二元组内的两个多媒体资源是否相似;
通过所述孪生模型中的所述第一神经网络模型,对所述二元组中的第一多媒体资源进行前馈处理,得到第一训练向量;
通过所述孪生模型中的所述第二神经网络模型,对所述二元组中的第二多媒体资源进行前馈处理,得到第二训练向量;
确定所述第一训练向量与所述第二训练向量之间的向量距离,并根据所述向量距离和所述二元组标签确定损失值;
根据所述损失值进行反向传播,并在反向传播的过程中,沿梯度下降方向更新所述孪生模型中所述第一神经网络和所述第二神经网络模型的各个层的权重参数;
其中,所述第一神经网络模型与所述第二神经网络模型的权重参数相同。
4.根据权利要求3所述的多媒体资源搜索方法,其特征在于,所述确定二元组及对应的二元组标签,包括:
确定至少两个多媒体资源类;其中,所述多媒体资源类内的任意两个多媒体资源满足相似条件;
根据属于同一所述多媒体资源类的任意两个多媒体资源,构建相似二元组,并将所述相似二元组对应的二元组标签确定为相似标签;
根据不属于同一所述多媒体资源类的任意两个多媒体资源,构建不相似二元组,并将所述不相似二元组对应的二元组标签确定为不相似标签。
5.根据权利要求4所述的多媒体资源搜索方法,其特征在于,所述确定至少两个多媒体资源类,包括:
执行以下任意一种处理:
从数据库中获取至少两个多媒体资源类;
从所述数据库中获取至少两个候选多媒体资源,对各所述候选多媒体资源进行映射处理得到映射向量,并
根据所述映射向量对所有所述候选多媒体资源进行聚类处理,得到至少两个多媒体资源类。
6.根据权利要求5所述的多媒体资源搜索方法,其特征在于,所述对各所述候选多媒体资源进行映射处理得到映射向量,包括:
执行以下任意一种处理:
对各所述候选多媒体资源进行哈希编码处理,得到映射向量;
对各所述候选多媒体资源进行局部特征检测,将得到的局部特征算子确定为映射向量;
通过分类模型对各所述候选多媒体资源进行前馈处理,将所述分类模型的最后一个全连接层输出的向量表示确定为映射向量。
7.根据权利要求4所述的多媒体资源搜索方法,其特征在于,所述根据属于同一所述多媒体资源类的任意两个多媒体资源,构建相似二元组,包括:
确定所述多媒体资源类包括的各多媒体资源的资源标识;
将所述多媒体资源类内任一个未访问的多媒体资源确定为第一多媒体资源,并将所述第一多媒体资源标记为已访问;
确定所述第一多媒体资源的资源标识与其他未访问的多媒体资源的资源标识之间的标识差异值;
将数值最小的标识差异值对应的未访问的多媒体资源,确定为第二多媒体资源,并将所述第二多媒体资源标记为已访问;
根据所述第一多媒体资源和所述第二多媒体资源,构建相似二元组。
8.根据权利要求3所述的多媒体资源搜索方法,其特征在于,还包括:
将分类层设置为待训练神经网络模型的输出层,所述待训练神经网络模型为所述第一神经网络模型和所述第二神经网络模型中的任意一个;
获取包括样本多媒体资源和多媒体类别的训练样本;
通过所述待训练神经网络模型对所述样本多媒体资源进行前馈处理,得到预测类别;
根据所述预测类别和所述多媒体类别确定样本损失值;
根据所述样本损失值在所述待训练神经网络模型中进行反向传播,并在反向传播的过程中,沿梯度下降方向更新所述待训练神经网络模型中各个层的权重参数;
结合两个相同的且去除所述分类层的所述待训练神经网络模型,构建孪生模型。
9.根据权利要求3所述的多媒体资源搜索方法,其特征在于,所述确定二元组及对应的二元组标签之后,还包括:
对所述二元组中的第一多媒体资源和第二多媒体资源进行相同的数据增强处理;
根据数据增强处理后的所述第一多媒体资源和所述第二多媒体资源,构建新的二元组;
其中,数据增强处理的方式包括裁剪、旋转及翻转中的至少一种。
10.根据权利要求1至9任一项所述的多媒体资源搜索方法,其特征在于,所述确定所述多媒体资源对应的第一向量,包括:
当所述多媒体资源为静态图片时,确定所述静态图片对应的第一向量;
当所述多媒体资源为动态图片时,确定所述动态图片中位于设定帧数的静态图片,并确定所述位于设定帧数的静态图片对应的第一向量;
其中,所述动态图片集成有至少两张静态图片。
11.根据权利要求1至9任一项所述的多媒体资源搜索方法,其特征在于,还包括:
从数据库或本地存储中获取候选多媒体资源,并确定所述候选多媒体资源对应的第二向量;其中,所述第二向量用于表示所述候选多媒体资源中的语义信息和视觉信息;
将所述候选多媒体资源及所述第二向量发送至区块链网络,以使
所述区块链网络的节点将所述候选多媒体资源及所述第二向量填充至新区块,并将所述新区块追加至区块链的尾部;
所述获取至少两个候选多媒体资源及对应的第二向量,包括:
向所述区块链网络发送请求,以获取所述区块链存储的至少两个候选多媒体资源及对应的第二向量。
12.一种多媒体资源搜索方法,其特征在于,包括:
在搜索界面中呈现包括至少两个多媒体资源的资源面板;
获取所述资源面板中被选中的多媒体资源,并获取至少两个候选多媒体资源;
确定所述被选中的多媒体资源与所述候选多媒体资源之间的向量距离;其中,所述向量距离用于表示所述被选中的多媒体资源与所述候选多媒体资源之间的相似度,且所述相似度是结合语义信息和视觉信息两个维度确定的;
将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并
将所述被选中的多媒体资源及所述相似多媒体资源呈现于所述搜索界面。
13.一种多媒体资源搜索装置,其特征在于,包括:
向量确定模块,用于响应于多媒体资源的搜索请求,确定所述多媒体资源对应的第一向量;其中,所述第一向量用于表示所述多媒体资源中的语义信息和视觉信息;
获取模块,用于获取至少两个候选多媒体资源及对应的第二向量;
距离确定模块,用于确定所述第一向量与各所述第二向量之间的向量距离;其中,所述向量距离用于表示所述多媒体资源与所述候选多媒体资源之间的相似度,且所述相似度是结合语义信息和视觉信息两个维度确定的;
响应模块,用于将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并用于响应所述搜索请求。
14.一种多媒体资源搜索装置,其特征在于,包括:
第一呈现模块,用于在搜索界面中呈现包括至少两个多媒体资源的资源面板;
选中模块,用于获取所述资源面板中被选中的多媒体资源,并获取至少两个候选多媒体资源;
确定模块,用于确定所述被选中的多媒体资源与所述候选多媒体资源之间的向量距离;其中,所述向量距离用于表示所述被选中的多媒体资源与所述候选多媒体资源之间的相似度,且所述相似度是结合语义信息和视觉信息两个维度确定的;
第二呈现模块,用于将满足距离条件的向量距离对应的候选多媒体资源,确定为相似多媒体资源,并
将所述被选中的多媒体资源及所述相似多媒体资源呈现于所述搜索界面。
15.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至11任一项所述的多媒体资源搜索方法,或权利要求12所述的多媒体资源搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014849.XA CN111241309B (zh) | 2020-01-07 | 2020-01-07 | 多媒体资源搜索方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014849.XA CN111241309B (zh) | 2020-01-07 | 2020-01-07 | 多媒体资源搜索方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111241309A true CN111241309A (zh) | 2020-06-05 |
CN111241309B CN111241309B (zh) | 2021-09-07 |
Family
ID=70872457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010014849.XA Active CN111241309B (zh) | 2020-01-07 | 2020-01-07 | 多媒体资源搜索方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111241309B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085120A (zh) * | 2020-09-17 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 多媒体数据的处理方法、装置、电子设备及存储介质 |
CN115994668A (zh) * | 2023-02-16 | 2023-04-21 | 浙江非线数联科技股份有限公司 | 智慧社区资源管理系统 |
CN116578729A (zh) * | 2023-07-13 | 2023-08-11 | 腾讯科技(深圳)有限公司 | 内容搜索方法、装置、电子设备、存储介质和程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055266A1 (en) * | 2009-08-25 | 2011-03-03 | Satyam Computer Services Limited | System and method for hierarchical image processing |
CN104376105A (zh) * | 2014-11-26 | 2015-02-25 | 北京航空航天大学 | 一种社会媒体中图像低层视觉特征与文本描述信息的特征融合系统及方法 |
CN106250915A (zh) * | 2016-07-22 | 2016-12-21 | 福州大学 | 一种融合深度特征和语义邻域的自动图像标注方法 |
CN106599883A (zh) * | 2017-03-08 | 2017-04-26 | 王华锋 | 一种基于cnn的多层次图像语义的人脸识别方法 |
CN108446312A (zh) * | 2018-02-06 | 2018-08-24 | 西安电子科技大学 | 基于深度卷积语义网的光学遥感图像检索方法 |
CN108829764A (zh) * | 2018-05-28 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 推荐信息获取方法、装置、系统、服务器及存储介质 |
-
2020
- 2020-01-07 CN CN202010014849.XA patent/CN111241309B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055266A1 (en) * | 2009-08-25 | 2011-03-03 | Satyam Computer Services Limited | System and method for hierarchical image processing |
CN104376105A (zh) * | 2014-11-26 | 2015-02-25 | 北京航空航天大学 | 一种社会媒体中图像低层视觉特征与文本描述信息的特征融合系统及方法 |
CN106250915A (zh) * | 2016-07-22 | 2016-12-21 | 福州大学 | 一种融合深度特征和语义邻域的自动图像标注方法 |
CN106599883A (zh) * | 2017-03-08 | 2017-04-26 | 王华锋 | 一种基于cnn的多层次图像语义的人脸识别方法 |
CN108446312A (zh) * | 2018-02-06 | 2018-08-24 | 西安电子科技大学 | 基于深度卷积语义网的光学遥感图像检索方法 |
CN108829764A (zh) * | 2018-05-28 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 推荐信息获取方法、装置、系统、服务器及存储介质 |
Non-Patent Citations (1)
Title |
---|
刘大伟: "支持多层表示的海量视频快速检索及反馈学习", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085120A (zh) * | 2020-09-17 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 多媒体数据的处理方法、装置、电子设备及存储介质 |
CN112085120B (zh) * | 2020-09-17 | 2024-01-02 | 腾讯科技(深圳)有限公司 | 多媒体数据的处理方法、装置、电子设备及存储介质 |
CN115994668A (zh) * | 2023-02-16 | 2023-04-21 | 浙江非线数联科技股份有限公司 | 智慧社区资源管理系统 |
CN115994668B (zh) * | 2023-02-16 | 2023-06-20 | 浙江非线数联科技股份有限公司 | 智慧社区资源管理系统 |
CN116578729A (zh) * | 2023-07-13 | 2023-08-11 | 腾讯科技(深圳)有限公司 | 内容搜索方法、装置、电子设备、存储介质和程序产品 |
CN116578729B (zh) * | 2023-07-13 | 2023-11-28 | 腾讯科技(深圳)有限公司 | 内容搜索方法、装置、电子设备、存储介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111241309B (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241309B (zh) | 多媒体资源搜索方法、装置及存储介质 | |
CN111966914B (zh) | 基于人工智能的内容推荐方法、装置和计算机设备 | |
Mo et al. | Image feature learning for cold start problem in display advertising | |
CN110598019B (zh) | 重复图像识别方法及装置 | |
Zhu et al. | Weighting scheme for image retrieval based on bag‐of‐visual‐words | |
CN111325245B (zh) | 重复图像识别方法、装置、电子设备及计算机可读存储介质 | |
CN111339343A (zh) | 图像检索方法、装置、存储介质及设备 | |
Han et al. | VRFP: On-the-fly video retrieval using web images and fast fisher vector products | |
Wang et al. | WeGAN: Deep image hashing with weighted generative adversarial networks | |
Hu et al. | Adversarial binary mutual learning for semi-supervised deep hashing | |
Sharifnejad et al. | Facial expression recognition using a combination of enhanced local binary pattern and pyramid histogram of oriented gradients features extraction | |
Praseetha et al. | Secure fingerprint authentication using deep learning and minutiae verification | |
Liong et al. | Automatic traditional Chinese painting classification: A benchmarking analysis | |
CN113590854B (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
CN114329004A (zh) | 数字指纹生成、数据推送方法、装置和存储介质 | |
CN111445545B (zh) | 一种文本转贴图方法、装置、存储介质及电子设备 | |
CN115935049A (zh) | 基于人工智能的推荐处理方法、装置及电子设备 | |
Polley et al. | X-Vision: explainable image retrieval by re-ranking in semantic space | |
CN113408282B (zh) | 主题模型训练和主题预测方法、装置、设备及存储介质 | |
CN116955707A (zh) | 内容标签的确定方法、装置、设备、介质及程序产品 | |
Jalal et al. | Suspect face retrieval system using multicriteria decision process and deep learning | |
Bhardwaj et al. | An efficient comparison of two indexing-based deep learning models for the formation of a web-application based IoT-cloud network | |
CN111597453A (zh) | 用户画像方法、装置、计算机设备及计算机可读存储介质 | |
Town | Ontology based visual information processing. | |
CN114708449B (zh) | 相似视频的确定方法、实例表征模型的训练方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40023640 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |