首页> 中国专利> 动态图片相似度模型建立、相似度计算方法和装置

动态图片相似度模型建立、相似度计算方法和装置

摘要

本发明实施例公开了一种动态图片相似度模型建立、相似度计算方法和装置,其中,动态图片相似度模型建立方法,包括:获取动态图片训练样本组;将动态图片训练样本组的每张动态图片转换成对应的图样本,得到动态图片训练样本组对应的图样本组;将图样本组输入至图神经网络,得到第一相似度和第二相似度;以最大化第一相似度,以及最小化第二相似度为目标,训练图神经网络,得到动态图片相似度模型。本发明公开的技术方案用于搜索相似动态图片时,能以较高的精度计算动态图片间的相似度,提高了相似度的计算精度。

著录项

  • 公开/公告号CN112381147A

    专利类型发明专利

  • 公开/公告日2021-02-19

    原文格式PDF

  • 申请/专利权人 虎博网络技术(上海)有限公司;

    申请/专利号CN202011279333.4

  • 发明设计人 蔡薇;汪伟;黄帅;

    申请日2020-11-16

  • 分类号G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11463 北京超凡宏宇专利代理事务所(特殊普通合伙);

  • 代理人张萌

  • 地址 200050 上海市长宁区宣化路3号二层2561室

  • 入库时间 2023-06-19 09:55:50

说明书

技术领域

本发明涉及深度学习领域,尤其涉及一种动态图片相似度模型建立、相似度计算方法和装置。

背景技术

随着互联网社交媒体的流行,越来越多的人们喜欢使用动态图片表情包进行交流。通过某一个动态图片搜索出与之相似的更丰富的动态图片,能满足网络社交人群的需求。常见的搜索相似动态图片方法是利用哈希算法计算动态图片间相似度,以此搜索相似动态图片。

然而,利用哈希算法计算动态图片间的相似度时,只能考虑像素的分布频率和数值大小,导致动态图片间的相似度的计算不准确,相似动态图片的搜索的准确度低。

发明内容

鉴于上述问题,本发明提出一种动态图片相似度模型建立、相似度计算方法和装置。

第一方面,本发明的第一个实施方案提供一种动态图片相似度模型建立方法,该方法包括:

获取动态图片训练样本组,其中,动态图片训练样本组包括参考样本、参考样本的正样本以及参考样本的负样本;

将动态图片训练样本组的每张动态图片转换成对应的图样本,得到动态图片训练样本组对应的图样本组;

将图样本组输入至图神经网络,得到第一相似度和第二相似度,其中,第一相似度为参考样本与正样本的相似度,第二相似度为参考样本与负样本的相似度;

以最大化第一相似度,以及最小化第二相似度为目标,训练图神经网络,得到动态图片相似度模型。

进一步地,上述动态图片相似度模型建立方法,还包括:

将动态图片训练样本组的每张动态图片按帧拆分成多张静态图片,得到每张动态图片对应的静态图片集合;

解码静态图片集合中的每张静态图片,得到每张动态图片对应的表示矩阵;

对表示矩阵进行矩阵拼接,得到每张动态图片对应的初始矩阵样本;

对每个初始矩阵样本进行填充,得到动态图片训练样本组对应的标准矩阵样本;

对每个标准矩阵样本进行加权处理,得到动态图片训练样本组对应的图样本组。

进一步地,上述动态图片相似度模型建立方法,还包括:

将图样本组输入至图神经网络中依次相连的第一图卷积层、激活函数层、第二图卷积层,得到图样本组对应的特征向量组;

将特征向量组输入至softmax函数中,计算出第一相似度和第二相似度。

进一步地,上述动态图片相似度模型建立方法,还包括:

将第一相似度和第二相似度输入至三元组损失函数,获得损失值;

以最大化第一相似度,以及最小化第二相似度为目标,利用损失值对图神经网络进行训练,得到动态图片相似度模型。

进一步地,上述动态图片相似度模型建立方法,还包括:

动态图片训练样本组的每张动态图片至少包括一个标签信息;

动态图片训练样本组的参考样本与正样本至少存在一个相同的标签信息;

动态图片训练样本组的参考样本与负样本不存在相同的标签信息。

第二方面,本发明的第二个实施方案提供一种动态图片相似度计算方法,该方法包括:

获取待计算相似度的动态图片组,其中,动态图片组包括待测图片,以及待测图片的相似图片;

将动态图片组的每张动态图片转换成对应的图,得到动态图片组对应的图组;

将图组输入至动态图片相似度模型,得到待测图片与相似图片的相似度。

第三方面,本发明的第三个实施方案提供一种动态图片相似度模型建立装置,该装置包括:

样本获取模块,用于获取动态图片训练样本组,动态图片训练样本组包括参考样本、参考样本的正样本以及参考样本的负样本;

样本转换模块,用于将动态图片训练样本组的每张动态图片转换成对应的图样本,得到动态图片训练样本组对应的图样本组;

相似度计算模块,用于将图样本组输入至图神经网络,得到第一相似度和第二相似度,其中,第一相似度为参考样本与正样本的相似度,第二相似度为参考样本与负样本的相似度;

更新模块,用于以最大化第一相似度,以及最小化第二相似度为目标,训练图神经网络,得到图片相似度模型。

第四方面,本发明的第四个实施方案提供一种动态图片相似度计算装置,该装置包括:

获取模块,用于获取待计算相似度的动态图片组,其中,图片组包括待测图片,以及待测图片的相似图片;

转换模块,用于将动态图片组的每张动态图片转换成对应的图,得到动态图片组对应的图组;

计算模块,用于将图组输入至动态图片相似度模型,得到待测图片与相似图片的相似度,其中,动态图片相似度模型通过上述第一方面的方法得到。

第五方面,本发明的第五个实施方案提供一种计算机设备,计算机终端包括存储器和处理器,存储器用于存储计算机程序,处理器运行计算机程序以使计算机终端执行上述第一方面或第二方面的方法。

第六方面,本发明的第六个实施方案提供一种可读存储介质,存储有计算机程序,计算机程序在存储器上运行时执行上述第一方面或第二方面的方法。

上述动态图片相似度模型建立方法,将用于训练的动态图片训练样本组中的参考样本、正样本和负样本分别转化成对应的图样本,再输入至图神经网络,由此得到参考样本与正样本的第一相似度,参考样本与负样本的第二相似度,以最大化第一相似度,最小化第二相似度为目标训练上述图神经网络,最后得到动态图片相似度模型。模型训练前,将动态图片转换成图,以此完成了动态的深层编码,再利用图进行训练,使得神经网络能考虑到动态图片的深层信息,当应用于模型相似度计算时,能提高相似度的计算精度。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。

图1示出了本发明动态图片相似度模型建立方法的一种流程示意图;

图2A和图2B示出了一张图片的矩阵示意图和对应图的示意图;

图3示出了标准矩阵样本中各个顶点与相邻边的关系的示意图;

图4示出了本发明动态图片相似度计算方法的一种流程示意图;

图5示出了本发明动态图片相似度模型建立装置的一种结构示意图;

图6示出了本发明动态图片相似度计算装置的一种结构示意图。

主要元件符号包括:

300-动态图片相似度模型建立装置;310-样本获取模块;320-样本转换模块;330-相似度计算模块;340-更新模块。

400-动态图片相似度计算装置;410-获取模块;420-转换模块;430-计算模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。

此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。

实施例1

在本实施例中,参见图1,示出了一种动态图片相似度模型建立方法,包括:

S110,获取动态图片训练样本组,其中,动态图片训练样本组包括参考样本、参考样本的正样本以及参考样本的负样本。

在训练神经网络前,通常会设置好训练集,训练集包含多个训练样本组,每个训练样本组至少包含参考样本、参考样本的正样本以及参考样本的负样本。其中,正样本是与参考样本相似的动态图片,负样本是与参考样本不相似的动态图片。由此,在利用正样本和参考样本提高模型拟合效果的同时,还能利用负样本和参考样本来防止模型过拟合,使得神经网络更贴近现实情况,从而提高了计算精度。

具体的,上述训练样本组中,每张动态图片都至少包含一个标签信息,动态图片训练样本组的参考样本与正样本至少存在一个相同的标签信息,动态图片训练样本组的参考样本与负样本不存在相同的标签信息。由此,通过标签信息划分正负样本。

示范性的,假设训练样本组中的参考样本为X,X可以是图片的名字或编号,X包含“小孩”、“握拳”和“励志”等标签信息。基于X的标签信息,可知X的正样本X

S120,将动态图片训练样本组的每张动态图片转换成对应的图样本,得到动态图片训练样本组对应的图样本组。

具体的,在图论中,图(graph)是表示物件与物件之间的关系的数学对象;在计算机科学中,图是由顶点和边两部分组成的一种数据结构;在图神经网络(Graph NeuralNetworks)中,图是最基本的研究对象,图神经网络可以理解为一种直接作用在图上的神经网络。

示范性的,一张图片装换为图的过程可采用以下方式:

假设一张图片S包含像素点x

node

其中,w

基于上述处理方式,对其他像素点进行类似的处理,由此构成图样本;再对其他动态图片样本做相同处理,由此得到动态图片训练样本组对应的图样本组。由此,完成了图像的深层编码,使得神经网络在进行训练时,能考虑到像素点之间的联系,进一步提高模型的计算精度。

可选的,上述S120可以采用以下方式进行:

将动态图片训练样本组的每张动态图片按帧拆分成多张静态图片,得到每张动态图片对应的静态图片集合;

具体的,动态图片可以理解为多帧静态图片的集合,将动态图片按帧拆分成多张静态图片,得到动态图片对应静态图片集合。

可选的,将动态图片拆分成多张静态图片后,可以对每张静态图片进行图像增强、数据增强等手段,如图片平滑、锐化及图像降噪等,以此削弱图片质量对神经网络的影响。此处对图像增强、数据增强的具体方式不做限定。

解码静态图片集合中的每张静态图片,得到每张动态图片对应的表示矩阵。

具体的,将静态图片集合中的每张静态图片转为一个表示矩阵,矩阵大小可以为[x,y,3]。其中,表示矩阵的前两个元素x和y,表示图片横纵方向上的像素点的个数,最后一个元素3表示这个图片被读取为RGB的3通道的表示矩阵。假设一张动态图片按帧拆分后,得到30张静态图片,可知此动态图片对应的表示矩阵为[30,x,y,3]。

对表示矩阵进行矩阵拼接,得到动态图片对应的初始矩阵样本。

具体的,以横向或纵向拼接的方式,将表示矩阵中的每个表示矩阵拼接为一个大矩阵,得到动态图片对应的初始化矩阵X_Embeddings,X_Embeddings的维度可以是[1,30*x,y,3],或是[1,x,30*y,3],此处不对拼接方式做出限定。

对每个初始矩阵样本进行填充,得到动态图片训练样本组对应的标准矩阵样本。

具体的,表示矩阵的大小由图片决定,即每张图片解码后得到的表示矩阵的大小不一致,使得每张动态图片对应的初始矩阵样本的维度大小也不同。为了提高神经网络训练的效果,对每张动态图片对应的初始矩阵样本X_Embeddings进行填充处理(padding),得到标准矩阵样本X_Norm_Embeddings,使得每张动态图片对应的初始矩阵样的维度相同,由此提高了神经网络的训练效果。上述填充方式可以为均值填充。

基于上述处理方式,并参见图2A和图2B,图2A为图像的矩阵表示形式,图2B为图像的图表示形式,对每张动态图片对应的初始矩阵样本进行填充处理,得到图片训练样本组对应的标准矩阵样本。

对每个标准矩阵样本进行加权处理,得到动态图片训练样本组对应的图样本组。

具体的,参加图3,图3示出了一个标准矩阵样本中各个顶点与相邻边的关系的示意图。

假设标准矩阵样本X_Norm_Embeddings中存在元素x

node

其中,w

基于上述处理方法,再对标准矩阵样本X_Norm_Embeddings的其他元素做类似的处理,得到X_Norm_Embeddings对应的图;再对训练样本组的其他动态图片做类似的处理,得到训练样本组对应的图样本组。

S130,将图样本组输入至图神经网络,得到第一相似度和第二相似度,其中,第一相似度为参考样本与正样本的相似度,第二相似度为参考样本与负样本的相似度。

具体地,利用图神经网络计算相似度,相当于计算参考样本与正样本在欧式空间的距离,和参考样本与负样本在欧式空间的距离。参考样本与正样本在欧式空间上的距离理解为第一相似度,参考样本与正样本在欧式空间上的距离理解为第二相似度。

进一步的,上述S130,还可以采用以下方式进行:

将图样本组输入至图神经网络中依次相连的第一图卷积层、激活函数层、第二图卷积层,得到图样本组对应的特征向量组;

具体的,本方案的图神经网络是用GCN(GraphConvolution Network)来实现的,包含一层GCN神经网络,加上一层激活函数层Relu,再加一层GCN神经网络,最后网络输出的结果计算loss。GCN的作用是更深层地编码特征,激活函数的作用是将GCN的输出结果做非线性分类。

将特征向量组输入至softmax函数中,计算出第一相似度和第二相似度。

S140,以最大化第一相似度,以及最小化第二相似度为目标,训练图神经网络,得到动态图片相似度模型。

具体地,利用第一相似度和第二相似度来训练神经网络,使得参考样本在欧式空间上,与正样本的距离更近,与负样本的距离更远。反复迭代,直到损失值降到一定数据后在很小的范围内震荡多轮,或是F1参数(F1-score)增大到预定数值后,停止训练,得到动态图片相似度模型。

可选的,上述S140可以采用以下方式进行:

将第一相似度和第二相似度输入至三元组损失函数,获得损失值。

具体的,三元组损失函数(Triplet Loss)的计算公式为:

其中,d

以最大化第一相似度,以及最小化第二相似度为目标,利用损失值对图神经网络进行训练,得到动态图片相似度模型。

具体的,利用损失值反向更新图神经网络的权值,使得参考样本在欧式空间上,与正样本的距离更近,与负样本的距离更远,反复迭代,直到损失值降到一定数据后在很小的范围内震荡多轮,或是F1参数(F1-score)增大到预定数值后,停止训练,得到动态图片相似度模型。

上述动态图片相似度模型建立方法,将用于训练的动态图片训练样本组中的参考样本、正样本和负样本分别转化成对应的图样本,再输入至图神经网络,由此得到参考样本与正样本的第一相似度,参考样本与负样本的第二相似度,以最大化第一相似度,最小化第二相似度为目标训练上述图神经网络,最后得到动态图片相似度模型。模型训练前,将动态图片转换成图,以此完成了图片的深层编码,再利用图进行训练,使得神经网络训练时能考虑到动态图片的深层信息,由此,当应用于相似度计算时,能提高相似度的计算精度。

实施例2

在本实施例中,参见图4,示出了一种动态图片相似度计算方法,包括:

S210,获取待计算相似度的动态图片组,其中,动态图片组包括第一图片和第二图片。

其中,第一图片和第二图片不带有用户预先定义的标签信息,不对第一图片和第二图片做出任何限定。

S220,将动态图片组的每张动态图片转换成对应的图,得到动态图片组对应的图组。

S230,将图组输入至动态图片相似度模型,得到待测图片与相似图片的相似度。

其中,动态图片相似度模型通过上述实施例1的动态图片相似度模型建立方法得到。

上述动态图片相似度计算方法,在计算待测图片与相似图片的相似度时,先将待测图片与相似图片分别转换成对应的图,再将图输入至预先训练好的动态图片相似度模型中,得到待测图片与相似图片的相似度。在进行相似度计算中,需要将待测图片与相似图片分别转换成对应的图,由此实现了动态图片的深层编码,使得动态图片相似度模型计算待测图片与相似图片的相似度时,能充分考虑待测图片和相似图片的深层信息,提高了相似度的计算精度。

实施例3

在本实施例中,参见图5,示出了一种动态图片相似度模型建立装置300,包括:样本获取模块310、样本转换模块320、相似度计算模块330和更新模块340。

样本获取模块310,用于获取动态图片训练样本组,动态图片训练样本组包括参考样本、参考样本的正样本以及参考样本的负样本。

样本转换模块320,用于将动态图片训练样本组的每张动态图片转换对应的图样本,得到动态图片训练样本组对应的图样本组。

相似度计算模块330,用于将图样本组输入至图神经网络,得到第一相似度和第二相似度,其中,第一相似度为参考样本与正样本的相似度,第二相似度为参考样本与负样本的相似度。

更新模块340,用于以最大化第一相似度,以及最小化第二相似度为目标,训练图神经网络,得到图片相似度模型。

应当理解,本实施例的技术方案通过上述各个功能模块的协同作用,用于执行上述实施例1的动态图片相似度模型建立方法,实施例1所涉及的实施方案以及有益效果在本实施例中同样适用,在此不再赘述。

实施例4

在本实施例中,参见图6,示出了一种动态图片相似度计算装置400,包括:获取模块410;转换模块420;计算模块430。

获取模块410,用于获取待计算相似度的动态图片组;图片组包括待测图片,以及待测图片的相似图片;

转换模块420,用于将动态图片组的每张动态图片转换成对应的图,得到动态图片组对应的图组;

计算模块430,用于将处理后的动态图片组输入至动态图片相似度模型,得到待测图片与相似图片的相似度。

应当理解,本实施例的技术方案通过上述各个功能模块的协同作用,用于执行上述实施例2的动态图片相似度计算方法,实施例2所涉及的实施方案以及有益效果在本实施例中同样适用,在此不再赘述。

实施例5

在本实施例中,涉及一种计算机设备,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述终端设备能执行上述实施例1和实施例2的方法。

实施例6

在本实施例中,本实施例涉及一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行上述实施例1和实施例2的方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。

功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号