掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及人工智能技术领域,尤其涉及一种模型训练方法、装置、电子设备及存储介质。

背景技术

相关技术在进行图像检索时,主要是针对图像中的特定对象进行检索,比如图像中的人或物。当基于图像检索的思路进行图像的框架样式的检索学习时,容易学习到图像中的特定对象的信息,导致信息冗余,从而模型在进行图像的框架样式的检索时检索准确率低。

发明内容

为了解决上述问题,本发明实施例提供了一种模型训练方法、装置、电子设备及存储介质,以至少解决相关技术在进行图像的框架样式的检索学习时,容易学习到图像中的特定对象的信息的问题。

本发明的技术方案是这样实现的:

第一方面,本发明实施例提供了一种模型训练方法,该方法包括:

将训练图像样本输入第一模型,得到所述训练图像样本的第一特征;所述训练图像样本表征含有边框信息的页面设计图;所述第一特征表征所述训练图像样本中边框信息的框架样式特征;

将框架组件样本输入第二模型,得到所述框架组件样本的第二特征;所述框架组件样本是基于对所述训练图像样本中的边框信息转换得到的张量数据;所述第二特征表征所述框架组件样本对应的框架样式特征;

基于所述第一特征与所述第二特征的相似度,确定设定的损失函数对应的损失值;

根据所述损失值更新所述第一模型和/或所述第二模型的权重参数。

上述方案中,所述第一模型和所述第二模型共享输出层。

上述方案中,所述第一模型和所述第二模型基于yolo模型构建。

第二方面,本发明实施例提供了一种检索方法,该方法包括:

将检索对象输入至与所述检索对象的类型对应的特征提取模型,得到所述检索对象对应的框架样式特征;所述特征提取模型包括基于模型训练方法训练得到的第一模型或第二模型;

将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果;其中,

所述检索对象的类型包括图片或者框架组件;所述第一数据库为与检索结果的类型相关的数据库;所述检索结果的类型包括图片或者框架组件。

上述方案中,在所述检索对象为图片的情况下,所述检索对象的类型对应的特征提取模型为所述第一模型;所述将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果,包括:

确定所述框架样式特征与所述第一数据库中存储的每个第一特征之间的相似度;所述第一数据库存储有至少两张图片和所述至少两张图片中每张图片对应的第一特征;所述第一特征表征框架样式特征;

基于所述相似度确定所述检索结果。

上述方案中,在所述检索对象为图片的情况下,所述检索对象的类型对应的特征提取模型为所述第一模型;所述将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果,包括:

确定所述框架样式特征与所述第一数据库中存储的每个第二特征之间的相似度;所述第一数据库存储有至少两个框架组件和所述至少两个框架组件中每个框架组件对应的第二特征;所述第二特征表征框架样式特征;

基于所述相似度确定所述检索结果。

上述方案中,在所述检索对象为框架组件的情况下,所述检索对象的类型对应的特征提取模型为所述第二模型;所述将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果,包括:

确定所述框架样式特征与第一数据库中存储的每个第二特征之间的相似度;所述第一数据库存储有至少两个框架组件和所述至少两个框架组件中每个框架组件对应的第二特征;所述第二特征表征框架样式特征;

基于所述相似度确定所述检索结果。

上述方案中,在所述检索对象为框架组件的情况下,所述检索对象的类型对应的特征提取模型为所述第二模型;所述将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果,包括:

确定所述框架样式特征与所述第一数据库中存储的每个第一特征之间的相似度;所述第一数据库存储有至少两张图片和所述至少两张图片中每张图片对应的第一特征;所述第一特征表征框架样式特征;

基于所述相似度确定所述检索结果。

第三方面,本发明实施例提供了一种模型训练装置,该装置包括:

第一输入模块,用于将训练图像样本输入第一模型,得到所述训练图像样本的第一特征;所述训练图像样本表征含有边框信息的页面设计图;所述第一特征表征所述训练图像样本中边框信息的框架样式特征;

第二输入模块,用于将框架组件样本输入第二模型,得到所述框架组件样本的第二特征;所述框架组件样本是基于对所述训练图像样本中的边框信息转换得到的张量数据;所述第二特征表征所述框架组件样本对应的框架样式特征;

确定模块,用于基于所述第一特征与所述第二特征的相似度,确定设定的损失函数对应的损失值;

更新模块,用于根据所述损失值更新所述第一模型和/或所述第二模型的权重参数。

第四方面,本发明实施例提供了一种检索装置,该装置包括:

第三输入模块,用于将检索对象输入至与所述检索对象的类型对应的特征提取模型,得到所述检索对象对应的框架样式特征;所述特征提取模型包括基于模型训练方法训练得到的第一模型或第二模型;

第四输入模块,用于将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果;其中,

所述检索对象的类型包括图片或者框架组件;所述第一数据库为与检索结果的类型相关的数据库;所述检索结果的类型包括图片或者框架组件。

第五方面,本发明实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的模型训练方法的步骤或第二方面提供的检索方法的步骤。

第六方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的模型训练方法的步骤或第二方面提供的检索方法的步骤。

本发明实施例通过将训练图像样本输入第一模型,得到训练图像样本的第一特征;将框架组件样本输入第二模型,得到框架组件样本的第二特征。基于第一特征与第二特征的相似度,确定设定的损失函数对应的损失值,根据损失值更新第一模型和/或第二模型的权重参数。其中,训练图像样本表征含有边框信息的页面设计图,第一特征表征训练图像样本中边框信息的框架样式特征;框架组件样本是基于对训练图像样本中的边框信息转换得到的张量数据,第二特征表征框架组件样本对应的框架样式特征。本发明实施例通过第一特征与第二特征的相似度确定设定的损失函数对应的损失值,根据损失值更新第一模型和/或第二模型的权重参数,从而可以提高第一模型和第二模型在框架样式检索时的准确率。

附图说明

图1是本发明实施例提供的一种模型训练方法的实现流程示意图;

图2是本发明实施例提供的一种检索方法的实现流程示意图;

图3是本发明实施例提供的另一种检索方法的实现流程示意图;

图4是本发明实施例提供的另一种检索方法的实现流程示意图;

图5是本发明实施例提供的另一种检索方法的实现流程示意图;

图6是本发明实施例提供的另一种检索方法的实现流程示意图;

图7是本发明应用实施例提供的一种模型训练流程的示意图;

图8是本发明应用实施例提供的一种检索流程的示意图;

图9是本发明实施例提供的一种模型训练装置的示意图;

图10是本发明实施例提供的一种检索装置的示意图;

图11是本发明一实施例提供的电子设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

相关技术在进行图像的框架样式的检索学习时,容易学习到图像中的内容信息,比如容易学习到图像中的人、物体和建筑等信息,这些信息对框架样式的检索学习是无用的,容易信息冗余,导致模型在进行框架样式的检索时检索准确率低。这里,图像的框架样式指图像中的元素的布局,图像中的元素包括图片、文本和按钮等,这些元素的布局和结构关系称为图像的框架样式。

相关技术基于自动编码器的方法能够学习到图像框架本身的特征,但是无法学习得到框架语义的表示特征,框架语义指图像中每个边界框中放置的元素的类型,元素类型包括图片、文本和按钮等。

针对上述相关技术的缺点,本发明实施例提供了一种模型训练方法,至少能够提高模型对框架样式的检索准确率。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1是本发明实施例提供的一种模型训练方法的实现流程示意图,所述模型训练方法的执行主体可以为电子设备,电子设备可以为台式电脑、笔记本电脑和服务器等。参考图1,模型训练方法包括:

S101,将训练图像样本输入第一模型,得到所述训练图像样本的第一特征;所述训练图像样本含有边框信息的页面设计图;所述第一特征表征所述训练图像样本中边框信息的框架样式特征。

这里,训练图像样本是含有边框信息的页面设计图,比如可以是应用软件的前端设计页面图。边框信息是训练图像样本的标签,用边界框(bounding box)对训练图像样本中的元素进行标记,边框信息包括边界框的尺寸和边界框中的元素的类型等信息。

第一模型可以是yolo-v3模型,yolo(you only lookonce)模型是一种目标检测模型,yolo-v3是yolo系列目标检测算法中的第三版。在本发明实施例中,yolo-v3模型用于用边界框(bounding box)对图像中的元素的位置、尺寸和类型进行预测。

将训练图像样本输入第一模型,得到训练图像样本的第一特征,第一特征表征训练图像样本中边框信息的框架样式特征。这里,第一模型是对图像本身编码,第一特征是图像层面的特征。

S102,将框架组件样本输入第二模型,得到所述框架组件样本的第二特征;所述框架组件样本是基于对所述训练图像样本中的边框信息转换得到的张量数据;所述第二特征表征所述框架组件样本对应的框架样式特征。

这里,框架组件是由图片、文本和按钮等元素组成的,一个框架组件对应一种框架样式。

这里,第一模型和第二模型需要同时进行训练,第二模型输入的训练数据是基于对训练图像样本中的边框信息转换得到的张量数据,即将训练图像样本作为第一模型的训练数据,将训练图像样本中的边框信息转换得到的张量数据作为第二模型的训练数据。

第二模型对张量数据进行特征提取,得到第二特征,第二特征表征所框架组件样本对应的框架样式特征。第一特征和第二特征都表示框架样式特征,第一特征是图像层面的,第二特征是数据层面的。

第二模型可以是深度神经网络(DNN,Deep Neural Networks)模型,也可以是经过简化的yolo-v3模型,简化指减少yolo-v3模型的参数和网络层数,由于张量数据的结构比较简单,没有必要使用复杂结构的yolo-v3模型来进行特征提取,所以对yolo-v3模型进行简化。

在一实施例中,第一模型和第二模型都基于yolo模型构建。比如第一模型使用原始的yolo-v3模型,第二模型使用简化后的yolo-v3模型。

应理解,上述步骤S101和步骤S102是同时进行的。

S103,基于所述第一特征与所述第二特征的相似度,确定设定的损失函数对应的损失值。

这里,设定的损失函数是一种匹配损失函数,设定的损失函数的作用是使得第一模型输出的第一特征和第二模型输出的第二特征尽可能相似,这样后续在进行检索时,图像和框架组件之间能够互相进行特征匹配。

这里,可以通过计算第一特征与第二特征之间的欧式距离来确定第一特征与第二特征的相似度,欧式距离越小,第一特征与第二特征的相似度越大。还可以通过计算第一特征与第二特征之间的余弦相似度来确定第一特征与第二特征的相似度,余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比距离度量,余弦相似度更加注重两个向量在方向上的差异,而非距离或长度上。与欧式距离相反,余弦相似度的值越小,说明第一特征与第二特征的相似度越小,差异越大。

计算出第一特征与第二特征的相似度后,通过相似度计算设定的损失函数对应的损失值。在本发明实施例中,相似度越大,设定的损失函数对应的损失值越小;相似度越小,设定的损失函数对应的损失值越大。将相似度带入设定的损失函数求解损失值,当损失值最小时可以认为模型训练完成,第一特征与第二特征的相似度达到最大。在实际应用中,设定的损失函数可以为L2损失函数,L2损失函数也被称为最小平方误差,可以通过梯度下降来求设定的损失函数的最小值。

S104,根据所述损失值更新所述第一模型和/或所述第二模型的权重参数。

模型训练是一个迭代训练的过程,在每次计算得到损失值后,根据损失值调整第一模型和/或第二模型的权重参数,这里,权重参数就是模型内部的配置变量。一个模型是否适用或者效果如何很大程度上取决于权重参数的设置,通过对权重参数进行调优可以优化模型,提高模型性能。在实际应用中,权重参数的更新包括增大参数值和减小参数值等。

更新完第一模型和/或第二模型的权重参数后,使用训练数据继续训练更新完权重参数后的第一模型和第二模型,直至设定的损失函数收敛为止。另外,第一模型和第二模型还需要各自对应一个检测损失函数,根据检测损失函数调整第一模型和第二模型的模型参数。也就是说,需要训练到设定的损失函数和检测损失函数都收敛为止,第一模型和第二模型才训练完成。

在一实施例中,所述第一模型和所述第二模型共享输出层。第一模型和第二模型共享输出层是为了让输出的两种框架样式特征表示对齐。

在实际应用中,可以使用平均倒数排名(MRR,Mean Reciprocal Rank)指标作为评估指标,评估模型的训练效果,MRR是一个国际上通用的对搜索算法进行评价的机制,即第一个结果匹配,分数为1,第二个匹配分数为0.5,第n个匹配分数为1/n,如果没有匹配的句子分数为0。最终的分数为所有得分之和。在yolo-v3模型的三个尺度的输出特征分别进行指标计算,小尺度的特征能获得整体的结构信息,尺度越大对应的特征表示越精细。

本发明实施例通过将训练图像样本输入第一模型,得到训练图像样本的第一特征;将框架组件样本输入第二模型,得到框架组件样本的第二特征。基于第一特征与第二特征的相似度,确定设定的损失函数对应的损失值,根据损失值更新第一模型和/或第二模型的权重参数。其中,训练图像样本表征含有边框信息的页面设计图,第一特征表征训练图像样本中边框信息的框架样式特征;框架组件样本是基于对训练图像样本中的边框信息转换得到的张量数据,第二特征表征框架组件样本对应的框架样式特征。本发明实施例通过第一特征与第二特征的相似度确定设定的损失函数对应的损失值,根据损失值更新第一模型和/或第二模型的权重参数,从而可以提高第一模型和第二模型在框架样式检索时的准确率。

图2是本发明实施例提供的一种检索方法的实现流程示意图,所述检索方法的执行主体可以为电子设备,电子设备可以为台式电脑、笔记本电脑和服务器等。参考图2,检索方法包括:

S201,将检索对象输入至与所述检索对象的类型对应的特征提取模型,得到所述检索对象对应的框架样式特征;所述特征提取模型包括基于模型训练方法训练得到的第一模型或第二模型。

这里,特征提取模型包括使用上述模型训练方法训练得到的第一模型和第二模型。根据检索对象的类型的不同,需要将检索对象输入不同的特征提取模型,检索对象的类型包括图片或者框架组件,如果检索对象的类型是图片,则将图片输入第一模型,如果检索对象的类型是框架组件,则将框架组件输入第二模型。

如果是检索对象是图片,则通过第一模型提取图片的第一特征。如果检索对象是框架组件,则通过第二模型提取框架组件的第二特征。第一特征和第二特征都是框架样式特征。

S202,将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果;其中,所述检索对象的类型包括图片或者框架组件;所述第一数据库为与检索结果的类型相关的数据库;所述检索结果的类型包括图片或者框架组件。

在第一模型和第二模型训练完成之后,利用第一模型和第二模型创建第一数据库。第一数据库与检索结果的类型相关,检索结果的类型包括图片或者框架组件。

如果检索结果的类型是图片,则第一数据库中存储有至少两张图片和至少两张图片中每张图片对应的第一特征,预先利用第一模型提取至少两张图片中每张图片对应的第一特征,并将至少两张图片中每张图片和对应的第一特征存储在第一数据库中。

如果检索结果的类型是框架组件,则第一数据库中存储有至少两个框架组件和至少两个框架组件中每个框架组件对应的第二特征,预先利用第二模型提取至少两个框架组件中每个框架组件对应的第二特征,并将至少两个框架组件中每个框架组件和对应的第二特征存储在第一数据库中。在实际应用中,前端组件一般都存储在一个前端组件数据库中,可以用第二模型对前端组件数据库中的所有前端组件进行特征提取,并将特征对应存储在前端组件数据库中。

在实际应用中,可以使用faiss或vearch等向量检索工具构建用于检索的第一数据库。

参考图3,在一实施例中,在所述检索对象为图片的情况下,所述检索对象的类型对应的特征提取模型为所述第一模型;所述将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果,包括:

S301,确定所述框架样式特征与所述第一数据库中存储的每个第一特征之间的相似度;所述第一数据库存储有至少两张图片和所述至少两张图片中每张图片对应的第一特征;所述第一特征表征框架样式特征。

在根据图片检索图片的情况下,首先利用第一模型提取图片的框架样式特征(第一特征),将框架样式特征与第一数据库中存储的第一特征进行匹配,计算框架样式特征与第一数据库中存储的每个第一特征之间的相似度,相似度越大,说明两张图片对应的框架样式越相似。这里,可以通过欧式距离计算框架样式特征与第一数据库中存储的每个第一特征之间的相似度。

S302,基于所述相似度确定所述检索结果。

上述步骤计算得到了框架样式特征与第一数据库中存储的每个第一特征之间的相似度,将其中与框架样式特征的相似度大于设定值的第一特征挑选出来,将第一数据库中与框架样式特征的相似度大于设定值的第一特征对应的图片作为检索结果。这里,根据预先设定好的检索结果中图片的数量,从第一数据库中获取设定数量的图片作为检索结果。

在实际应用中,可以通过k近邻算法确定出第一数据库中与框架样式特征最相似的k个第一特征,将k个第一特征中排名靠前的第一特征对应的图片作为检索结果。

参考图4,在一实施例中,在所述检索对象为图片的情况下,所述检索对象的类型对应的特征提取模型为所述第一模型;所述将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果,包括:

S401,确定所述框架样式特征与所述第一数据库中存储的每个第二特征之间的相似度;所述第一数据库存储有至少两个框架组件和所述至少两个框架组件中每个框架组件对应的第二特征;所述第二特征表征框架样式特征。

在根据图片检索框架组件的情况下,首先利用第一模型提取图片的框架样式特征(第一特征),将框架样式特征与第一数据库中存储的第二特征进行匹配,计算框架样式特征与第一数据库中存储的每个第二特征之间的相似度,相似度越大,说明图片与框架组件的框架样式越相似。这里,可以通过欧式距离计算框架样式特征与第一数据库中存储的每个第二特征之间的相似度。

S402,基于所述相似度确定所述检索结果。

上述步骤计算得到了框架样式特征与第一数据库中存储的每个第二特征之间的相似度,将其中相似度大于设定值的第二特征挑选出来,将第一数据库中与框架样式特征的相似度大于设定值的第二特征对应的框架组件作为检索结果。这里,根据预先设定好的检索结果中框架组件的数量,从第一数据库中获取设定数量的框架组件作为检索结果。

在实际应用中,可以通过k近邻算法确定出第一数据库中与框架样式特征最相似的k个第二特征,将k个第二特征中的排名靠前的第二特征对应的框架组件作为检索结果。

参考图5,在一实施例中,在所述检索对象为框架组件的情况下,所述检索对象的类型对应的特征提取模型为所述第二模型;所述将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果,包括:

S501,确定所述框架样式特征与第一数据库中存储的每个第二特征之间的相似度;所述第一数据库存储有至少两个框架组件和所述至少两个框架组件中每个框架组件对应的第二特征;所述第二特征表征框架样式特征。

在根据框架组件检索框架组件的情况下,首先利用第二模型提取框架组件的框架样式特征(第二特征)。通常用户输入的是框架组件的样式信息,比如具体元素在框架组件中的位置、尺寸和元素类别等信息,首先将用户输入的框架组件的样式信息转换为张量数据,将张量数据输入第二模型,得到框架样式特征。

将框架样式特征与第一数据库中存储的第二特征进行匹配,计算框架样式特征与第一数据库中存储的每个第二特征之间的相似度,相似度越大,说明图片与框架组件的框架样式越相似。这里,可以通过欧式距离计算框架样式特征与第一数据库中存储的每个第二特征之间的相似度。

S502,基于所述相似度确定所述检索结果。

上述步骤计算得到了框架样式特征与第一数据库中存储的每个第二特征之间的相似度,将其中相似度大于设定值的第二特征挑选出来,将第一数据库中与框架样式特征的相似度大于设定值的第二特征对应的框架组件作为检索结果。这里,根据预先设定好的检索结果中框架组件的数量,从第一数据库中获取设定数量的框架组件作为检索结果。

在实际应用中,可以通过k近邻算法确定出第一数据库中与框架样式特征最相似的k个第二特征,将k个第二特征中的排名靠前的第二特征对应的框架组件作为检索结果。

参考图6,在一实施例中,在所述检索对象为框架组件的情况下,所述检索对象的类型对应的特征提取模型为所述第二模型;所述将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果,包括:

S601,确定所述框架样式特征与所述第一数据库中存储的每个第一特征之间的相似度;所述第一数据库存储有至少两张图片和所述至少两张图片中每张图片对应的第一特征;所述第一特征表征框架样式特征。

在根据框架组件检索图片的情况下,首先利用第二模型提取框架组件的框架样式特征(第二特征)。通常用户输入的是框架组件的样式信息,比如具体元素在框架组件中的位置、尺寸和元素类别等信息,首先将用户输入的框架组件的样式信息转换为张量数据,将张量数据输入第二模型,得到框架样式特征。

然后将框架样式特征与第一数据库中存储的第一特征进行匹配,计算框架样式特征与第一数据库中存储的每个第一特征之间的相似度。这里,可以通过欧式距离计算框架样式特征与第一数据库中存储的每个第一特征之间的相似度。

S602,基于所述相似度确定所述检索结果。

上述步骤计算得到了框架样式特征与第一数据库中存储的每个第一特征之间的相似度,将其中相似度大于设定值的第一特征挑选出来,将第一数据库中与框架样式特征的相似度大于设定值的第一特征对应的图片作为检索结果。这里,根据预先设定好的检索结果中图片的数量,从第一数据库中获取设定数量的图片作为检索结果。

在实际应用中,可以通过k近邻算法确定出第一数据库中与框架样式特征最相似的k个第一特征,将k个第一特征中的排名靠前的第一特征对应的框架组件作为检索结果。

可见,上述4个实施例分别提供了第一模型和第二模型的4种应用场景,分别可以实现图片检索框架样式相似的图片、图片检索框架样式相似的框架组件、框架组件检索框架样式相似的图片、以及框架组件检索框架样式相似的框架组件。由于第一模型输出的第一特征和第二模型输出的第二特征均能表征框架样式特征,从而在进行框架样式的检索时能够提高检索准确率。

本发明实施例通过将检索对象输入至与检索对象的类型对应的特征提取模型,得到检索对象对应的框架样式特征,特征提取模型包括上述模型训练方法训练得到的第一模型或第二模型。将框架样式特征输入至第一数据库进行匹配,得到检索对象对应的检索结果;其中,检索对象的类型包括图片或者框架组件,第一数据库为与检索结果的类型相关的数据库,检索结果的类型包括图片或者框架组件。本发明实施例可以实现基于图片检索图片、图片检索框架组件、框架组件检索图片和框架组件检索框架组件,并且本发明实施例检索准确率高。

参考图7,图7是本发明应用实施例提供的一种模型训练流程的示意图。模型训练流程包括:训练图像样本作为yolo-v3模型的训练数据,训练图像样本是含有边框信息的页面设计图,比如可以是应用软件的前端设计页面图。边框信息是训练图像样本的标签,用边界框(bounding box)对训练图像样本中的元素进行标记,边框信息包括边界框的尺寸和边界框中的元素的类型等信息。简化版的yolo-v3模型的训练数据是基于对训练图像样本中的边框信息转换得到的张量数据。即将训练图像样本作为yolo-v3模型的训练数据,将训练图像样本中的边框信息转换得到的张量数据作为简化版的yolo-v3模型的训练数据。

在训练过程中,获取yolo-v3模型输出的图片编码特征(对应第一特征),简化版的yolo-v3模型输出的语义编码特征(对应第二特征),计算图片编码特征和语义编码特征的相似度,根据相似度计算匹配L2损失函数的损失值,基于损失值更新yolo-v3模型和/或简化版的yolo-v3模型的权重参数。其中,yolo-v3模型和简化版的yolo-v3模型共享输出层,获取yolo-v3模型对图像bounding boxes的预测结果,与目标值进行对比,如果yolo-v3模型的预测结果与目标值差距过大,则基于图像检测损失函数调整yolo-v3模型的模型参数,重新训练yolo-v3模型,直至图像检测损失函数收敛。获取简化版的yolo-v3模型的框架语义bounding boxes的预测结果,将简化版的yolo-v3模型的预测结果与目标值进行对比,如果简化版的yolo-v3模型的预测结果与目标值差距过大,则基于语义检测损失函数调整简化版的yolo-v3模型的模型参数,重新训练简化版的yolo-v3模型,直至语义检测损失函数收敛。

参考图8,图8是本发明应用实施例提供的一种检索流程的示意图。检索流程包括:首先构建检索数据库,利用训练好的第一模型提取图片数据库中存储的图片的第一特征构建图像特征数据库,利用第二模型提取框架组件数据库中的框架组件的第二特征构建框架组件特征数据库。

图像特征数据库存储有至少两张图片和至少两张图片中每张图片对应的第一特征,预先利用第一模型提取图片数据库中每张图片对应的第一特征,并将图片数据库中每张图片和对应的第一特征存储在图像特征数据库中。框架组件特征数据库中存储有至少两个框架组件和至少两个框架组件中每个框架组件对应的第二特征,预先利用第二模型提取框架组件数据库中每个框架组件对应的第二特征,并将框架组件数据库中每个框架组件和对应的第二特征存储在框架组件特征数据库中。

在根据图片检索图片的情况下,首先将输入的图片(Query图片)输入第一模型提取第一特征,将第一特征输入至图像特征数据库进行匹配,得到检索结果。如果是根据图片检索框架组件,则将输入的图片(Query图片)输入第一模型提取第一特征,将第一特征输入至框架组件特征数据库进行匹配,得到检索结果。如果是根据框架组件检索图片,则将框架组件的样式信息转换为张量数据,将张量数据输入第二模型提取第二特征,将第二特征输入至图像特征数据库进行匹配,得到检索结果。如果是根据框架组件检索框架组件,则将框架组件的样式信息转换为张量数据,将张量数据输入第二模型提取第二特征,将第二特征输入至框架组件特征数据库进行匹配,得到检索结果。

本发明应用可以实现基于图片检索图片、图片检索框架组件、框架组件检索图片和框架组件检索框架组件,并且本发明应用实施例的检索准确率高。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

另外,在本发明实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

参考图9,图9是本发明实施例提供的一种模型训练装置的示意图,如图9所示,该装置包括:第一输入模块、第二输入模块、确定模块和更新模块。

第一输入模块,用于将训练图像样本输入第一模型,得到所述训练图像样本的第一特征;所述训练图像样本表征含有边框信息的页面设计图;所述第一特征表征所述训练图像样本中边框信息的框架样式特征;

第二输入模块,用于将框架组件样本输入第二模型,得到所述框架组件样本的第二特征;所述框架组件样本是基于对所述训练图像样本中的边框信息转换得到的张量数据;所述第二特征表征所述框架组件样本对应的框架样式特征;

确定模块,用于基于所述第一特征与所述第二特征的相似度,确定设定的损失函数对应的损失值;

更新模块,用于根据所述损失值更新所述第一模型和/或所述第二模型的权重参数。

所述第一模型和所述第二模型共享输出层。

所述第一模型和所述第二模型基于yolo模型构建。

参考图10,图10是本发明实施例提供的一种检索装置的示意图,如图10所示,该装置包括:第三输入模块和第四输入模块。

第三输入模块,用于将检索对象输入至与所述检索对象的类型对应的特征提取模型,得到所述检索对象对应的框架样式特征;所述特征提取模型包括基于权利要求1至3任一项所述的模型训练方法训练得到的第一模型或第二模型;

第四输入模块,用于将所述框架样式特征输入至第一数据库进行匹配,得到所述检索对象对应的检索结果;其中,

所述检索对象的类型包括图片或者框架组件;所述第一数据库为与检索结果的类型相关的数据库;所述检索结果的类型包括图片或者框架组件。

在所述检索对象为图片的情况下,所述检索对象的类型对应的特征提取模型为所述第一模型;所述第四输入模块具体用于:

确定所述框架样式特征与所述第一数据库中存储的每个第一特征之间的相似度;所述第一数据库存储有至少两张图片和所述至少两张图片中每张图片对应的第一特征;所述第一特征表征框架样式特征;

基于所述相似度确定所述检索结果。

在所述检索对象为图片的情况下,所述检索对象的类型对应的特征提取模型为所述第一模型;所述第四输入模块具体用于:

确定所述框架样式特征与所述第一数据库中存储的每个第二特征之间的相似度;所述第一数据库存储有至少两个框架组件和所述至少两个框架组件中每个框架组件对应的第二特征;所述第二特征表征框架样式特征;

基于所述相似度确定所述检索结果。

在所述检索对象为框架组件的情况下,所述检索对象的类型对应的特征提取模型为所述第二模型;所述第四输入模块具体用于:

确定所述框架样式特征与第一数据库中存储的每个第二特征之间的相似度;所述第一数据库存储有至少两个框架组件和所述至少两个框架组件中每个框架组件对应的第二特征;所述第二特征表征框架样式特征;

基于所述相似度确定所述检索结果。

在所述检索对象为框架组件的情况下,所述检索对象的类型对应的特征提取模型为所述第二模型;所述第四输入模块具体用于:

确定所述框架样式特征与所述第一数据库中存储的每个第一特征之间的相似度;所述第一数据库存储有至少两张图片和所述至少两张图片中每张图片对应的第一特征;所述第一特征表征框架样式特征;

基于所述相似度确定所述检索结果。

实际应用时,所述第一输入模块、第二输入模块、确定模块和更新模块可通过电子设备中的处理器,比如中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)等实现。

需要说明的是:上述实施例提供的模型训练装置在进行模型训练时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的模型训练装置与模型训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备。图11为本申请实施例电子设备的硬件组成结构示意图,如图11所示,电子设备包括:

通信接口,能够与其它设备比如网络设备等进行信息交互;

处理器,与所述通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述电子设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器上。

当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统。

本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。

可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器130旨在包括但不限于这些和任意其它适合类型的存储器。

上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。

可选地,所述处理器执行所述程序时实现本申请实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。

在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器,上述计算机程序可由电子设备的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

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

需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

另外,在本申请实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

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

相关技术
  • 模型训练方法、模型训练装置、存储介质和电子设备
  • 模型训练方法、模型训练平台、电子设备和存储介质
技术分类

06120113240504