一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多粒度联想学习的手绘图像实时检索方法与流程

2022-02-19 06:46:05 来源:中国专利 TAG:


1.本发明属于动态草图检索领域,具体涉及一种基于多粒度联想学习的手绘图像实时检索方法。


背景技术:

2.图像检索根据检索的图片类型分为基于样图的图像检索(ebir)和基于草图的图像检索(sbir)。sbir是一种使用缺乏颜色信息和纹理信息的手绘草图作为输入,然后检索系统返回与手绘草图相似的图像库图像的方法。这种方法中涉及到的手绘草图是人类对所见事物的一种抽象表达形式,与文本和标签不同是,手绘草图能够以更加直观形象的方式,传递出文字难以表述的图像信息,有效预防信息在传递过程中的异化。比如用户想要查询某件商品时,因缺乏对商品的认知,无法提供图片信息或者文字描述时,可以凭借印象对商品的形状特征进行简单的绘制,通过手绘草图检索对应商品。现今触摸设备快速发展,其中电话、平板等带有触屏功能的智能移动端的普及,为广大用户提供了手绘和手写录入条件,使人们在日常生活、工作、娱乐等场景中采用手绘草图来传递信息的频率不断增加,基于草图的图像检索由于其潜在的商业价值而受到特别关注。
3.与基于文本/标签的检索相比,基于手绘草图的图像检索的主要优势在于细粒度,因此衍生出了细粒度草图检索(fg

sbir,fine

grained sbir),其针对手绘草图的细节进行图像匹配,旨在检索图库中的特定照片。现在对于fg

sbir的研究取得了很大的进展,但在绘制草图的过程中存在两个问题阻碍了fg

sbir在实践中的广泛应用:(1)用户的绘图技能不足;(2)绘制完整草图所需的时间。在有参考图片的情况下,不同的绘制者针对相同的对象绘制出的草图,在抽象程度上不尽相同,这导致草图形态迥异;而在没有参考图片的情况下,不同绘制者只能凭借自己的主观印象完成构思以及绘制,这又极大地增加了草图形态的多样性。其次,每个人的绘画水平和绘画风格不一样,这进一步增大了绘制出的草图在风格上的差异,导致草图数据在语义关联上的差异,增加了草图语义理解的难度。尽管最先进的视觉系统擅长识别画得不好的草图,但绘制一幅完整草图所需要的时间根据绘图人的绘图能力而定,如果在画出完整的草图之后才能检索出结果,这个等待时间过于漫长。实际应用中,使用最少的笔画信息能够最快的检索出想要的商品是实时检索中的一个关键。


技术实现要素:

4.为解决以上现有技术存在的问题,本发明提出了一种基于多粒度联想学习的手绘图像实时检索方法,基于多粒度联想学习的手绘图像实时检索方法提出改进的神经网络模型,改进的神经网络模型包括f1、f2和f3三个分支,f1为预训练网络,f2为注意力层,f3为降维层,改进的神经网络模型的训练集为由多张图像与其对应手绘的完整草图组成的图像集,将图像集中每一张图像的完整草图按照绘图的笔画顺序渲染为多张草图,即多张图片,通过渲染后的图像构建该图像的草图分支集合,每次训练选取图像集中的一张图像作为目标图像;
5.通过训练集训练改进的神经网络模型,完成训练后,输入手绘图像实时检索图像,改进的神经网络模型的训练过程包括以下步骤:
6.s0、根据图像集中图像对应的手绘草图,采用三重损失函数triplet loss,训练神经网络模型的f1、f2、f3三个分支,训练完成后固定参数;
7.s1、根据绘制目标图像所需的笔画数对该目标图像的草图分支中每一张图片划分等级,以避免不完整草图的多样性混淆模型;
8.s2、通过预训练网络提取目标图像的特征向量与草图分支中每一张图片的特征向量,采用注意力层的注意力机制得到目标图像的嵌入向量和草图分支中每一张图片的嵌入向量;
9.s3、根据图片划分的等级将图片的嵌入向量送入该图片所属等级对应的降维层;
10.s4、在等级对应的降维层中降低图片的嵌入向量的维数后,将图片与其下一个等级中的图片进行联想,采用均方损失函数mse loss计算当前等级与下一等级图片的均方损失,将计算的均方损失作为损失函数更新降维层;重复该过程,直到所有等级的均方损失计算完成。
11.s5、采用三重态损失函数triplet loss计算草图分支中每一张图片和图像集中图像的误差,将该误差与所有等级的误差相加,进行反向传播,以靠近目标图像、远离图像集中除目标图像外的图像为目标调整模型中的参数,逼近图片与目标图像间的嵌入向量,同时逼近两个相邻等级间的嵌入向量;
12.s6、获取下一张目标图像的草图分支,重复上述步骤s1

s5,直至模型达到训练次数上限。
13.进一步的,将一张图像的完整草图根据绘图的笔画顺序渲染为n张图片,n张图片组成一个草图分支,该草图分支中每一张图片包括完整草图的第一笔至第n笔且每张图片笔画不同,1≤n≤n,根据图片包含的笔画数升序排列,则一个草图分支s={s1,s2,...,s
n
...,s
n
},s
n
表示包含第一笔到第n笔笔画的图片。
14.进一步的,采用注意力机制得到草图分支中每一张图片的嵌入向量,其表达式是:
15.v
h
=global_pooling(b b.f
att
(b))
16.其中,b是经过预训练网络之后得到的特征向量,f
att
()表示注意力机制,global_pooling(*)表示对经过注意力层得到的嵌入向量做全局池化,v
h
表示草图分支经过全局池化后进一步得到的嵌入向量。
17.进一步的,根据笔画数对草图分支的每一张图片划分等级,每个等级设计一个单独的降维层,降维层又称线性映射层,其表达式:
18.v
l
=a.v
h
19.其中,a代表线性映射,v
l
表示降维后的草图分支的嵌入向量。
20.进一步的,每一个等级都有对应的降维层,降维层将2048维的嵌入向量映射到64维上,采用多粒度联想学习方法,实现不完整手绘图像的特征向量空间向其相对完整手绘图像的特征向量空间逼近,以进一步优化不完整手绘图像的特征向量空间。
21.进一步的,所述步骤s1包括:
22.若绘制一张完整草图需要笔画为n笔,完整草图渲染后的草图分支中包含n张图片;
23.划分等级时,将草图分支中的第1张到第m张图片划分为第一等级,即前m笔划分为第一等级,第m 1张到第2m张图片划分为第二等级,即第1笔到第2m笔划分为第二等级;此后的每一个等级都依次增加m张图片,即增加m笔笔画;
24.若p为整数,p=n/m,则将n张图片共划分为p个等级,若p不为整数,则将n张图片共划分为p 1个等级。
25.进一步的,所述步骤s1包括:
26.若绘制一张完整草图需要笔画为n笔,完整草图渲染后的草图分支中包含n张图片,m
k
为第k个等级所包含的图片数,采用完整度判别器根据公式划分图片等级,每个等级中包含的图片数依次减少,第k个等级所包含的图片数表示为:
[0027][0028]
对于笔画数较少的图像,减少了所需划分的等级数,降低了计算机的计算压力,提升了检索效率。
[0029]
进一步的,所述步骤s4包括:
[0030]
将第i等级向第i 1等级逼近过程中,第i等级中图片x
i
按照笔画数从少到多的顺序与第i 1等级中每次随机选择的一张图片x
i 1
计算均方损失,将i等级中的每一张图片和下一个等级图片的均方损失依次相加,得到第i等级的均方误差,将第i等级向第i 1等级逼近,第i等级中图片x
i
与下一个等级的图片x
i 1
的均方损失表示为:
[0031]
mse loss=ω(x
i 1

x
i
)2[0032]
其中,ω>0。
[0033]
进一步的,三重态损失函数的表达式为:
[0034][0035]
其中,m代表一张完整的手绘草图共渲染出的图片数量;v
[i,j]
表示草图分支中第i张图片的嵌入向量,通过降维层之后获得;v
[i 1,rnd]
表示草图分支第i 1张图片;v
p
表示经过训练网络和注意力层后获得的正样本,即目标照片的嵌入向量,v
n
表示经过预训练网络和注意力层后获得的负样本,即图像集中除目标图像外的图像的嵌入向量,α是一个常数,d是欧式距离。
[0036]
本发明针对具有不同完整性的草图分支开发了一个多阶段模型,以避免不完整草图的多样性混淆模型,提出了一种渐进式不完整草图的多粒度关联学习方法,使得每个不完整草图的嵌入空间都近似于后续草图及其对应目标照片的嵌入空间,尽可能以最少的草图笔画检索出目标图片,从而减少了手绘草图的检索时间,提高了检索效率。
附图说明
[0037]
图1为本发明的深度神经网络骨干模型图;
[0038]
图2为本发明的深度神经网络模型图;
[0039]
图3为本发明的多粒度联合学习检索模型图。
具体实施方式
[0040]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]
一种基于多粒度联想学习的手绘草图实时检索方法,该方法如图1

3所示,包括:
[0042]
从qmul

shoe

v2数据集和qmul

chair

v2数据集中获取目标图像的完整草图,将一张完整草图根据绘图的笔画顺序渲染为n张图片,n张图片组成一个草图分支,该草图分支中每一张图片包含完整草图的第一笔至第n笔且每张图片笔画不同,1≤n≤n,根据图片包含的笔画数升序排列,则一个草图分支s={s1,s2,...,s
n
...,s
n
},s
n
表示包含第一笔到第n笔笔画的图片;
[0043]
具体地,qmul

shoe

v2数据集和qmul

chair

v2数据集的提供者找到不同绘画基础的志愿者让他们根据目标图像手绘出完整草图。
[0044]
具体地,如图3所示,对一张完整草图,根据草图的完整性将其渲染为n张图片,n张图片为一个草图分支,该草图分支中每一张图片包含完整草图的第一笔至第n笔。例如:草图分支中的第一张图片只包含完整草图的第一笔,第二张图片包含了完整草图的第一笔和第二笔,第三张图片包含了完整草图的第一笔,第二笔,第三笔,以此类推。
[0045]
由多张图像与其对应手绘的完整草图组成图像集,获取图像集中每一张图像的完整草图,将每一张图像的完整草图按照绘图的笔画顺序渲染为多张图片,多张图片组成一张图像的一个草图分支,所有图像的完整草图的渲染过程均在训练之前完成,每次训练选取图像集中的一张图像作为目标图像。
[0046]
通过训练集训练改进的神经网络模型,完成训练后,输入手绘图像实时检索图像,改进的神经网络模型的训练过程包括以下步骤:
[0047]
s0、根据图像集中图像对应的手绘草图,采用三重损失函数triplet loss,训练神经网络模型的f1、f2、f3三个分支,训练完成后固定参数,如图1所示,正样本即目标图像,草图为目标图像对应的手绘完整草图,负样本为图像集中除目标图像外的图像,采用triplet loss训练神经网络模型的三个分支,训练完成后固定参数;
[0048]
s1、根据绘制目标图像所需的笔画数对该目标图像的草图分支中每一张图片划分等级;
[0049]
s2、通过预训练网络提取目标图像的特征向量与草图分支中每一张图片的特征向量,采用注意力层的注意力机制得到目标图像的嵌入向量和草图分支中每一张图片的嵌入向量;
[0050]
s3、根据图片划分的等级将图片的嵌入向量送入该图片所属等级对应的降维层;
[0051]
每一个等级都有对应的降维层,降维层将2048维的嵌入向量映射到64维上,采用多粒度联想学习方法,实现不完整手绘图像的特征向量空间向其相对完整手绘图像的特征向量空间逼近,以进一步优化不完整手绘图像的特征向量空间。
[0052]
s4、在等级对应的降维层中降低图片的嵌入向量的维数后,将图片与其下一个等级中的图片进行联想,采用均方损失函数mse loss计算当前等级与下一等级图片的均方损失,将计算的均方损失作为损失函数更新降维层;重复该过程,直到所有等级的均方损失计
算完成;
[0053]
将第i等级向第i 1等级逼近过程中,第i等级中图片x
i
按照笔画数从少到多的顺序与第i 1等级中每次随机选择的一张图片x
i 1
计算均方损失,将i等级中的每一张图片和下一个等级图片的均方损失依次相加,得到第i等级的均方误差,将第i等级向第i 1等级逼近,第i等级中图片x
i
与下一个等级的图片x
i 1
的均方损失表示为:
[0054]
mse loss=ω(x
i 1

x
i
)2[0055]
其中,ω>0。
[0056]
s5、采用三重态损失函数triplet loss计算草图分支中每一张图片和目标图像的误差,将该误差与所有等级的误差相加,进行反向传播,以靠近目标图像、远离图像集中除目标图像外的图像为目标调整模型中的参数,逼近图片和目标图像之间的嵌入向量,同时逼近两个相邻等级间的嵌入向量;
[0057]
s6、获取下一张目标图像的草图分支,重复上述步骤s1

s5,直至模型达到训练次数上限。
[0058]
在一实施例中,如图3所示,步骤s1划分等级采用相同笔画数均分的方式,每两张图片间含有相近的笔画,每两个等级间也含有相近的笔画,包括:
[0059]
若绘制一张完整草图需要笔画为n笔,完整草图渲染后的草图分支中包含n张图片;
[0060]
划分等级时,将草图分支中的第1张到第m张图片划分为第一等级,即前m笔划分为第一等级,第m 1张到第2m张图片划分为第二等级,即第1笔到第2m笔划分为第二等级;此后的每一个等级都依次增加m张图片,即增加m笔笔画;
[0061]
若p为整数,p=n/m,则将n张图片共划分为p个等级,若p不为整数,则将n张图片共划分为p 1个等级。
[0062]
具体地,以绘制一张完整草图所需的笔画共20笔,完整草图渲染后的草图分支中包含20张图片为例,划分等级时,将草图分支中的第1

5张图片划分为第一个等级(就是前五笔划分为一个等级),第6

10张划分为第二个等级(就是第1笔至第10笔划分为第二个等级),第11

15张划分为第三个等级(就是第1笔至第15笔划分为第三个等级),第16

20张划分为第四个等级(就是第1笔至第20笔划分为第四个等级)。
[0063]
在另一实施例中,步骤s1包括:
[0064][0065]
若绘制一张完整草图需要笔画为n笔,完整草图渲染后的草图分支中包含n张图片,m
k
为第k个等级所包含的图片数,采用完整度判别器根据公式划分图片等级,每个等级中包含的图片数依次减少。该方式对于笔画数较少的图像,减少了所需划分的等级数,降低了计算机的计算压力,提升了检索效率。
[0066]
优选地,采用注意力机制得到草图分支中每一张图片的嵌入向量,其表达式是:
[0067]
v
h
=global_pooling(b b.f
att
(b))
[0068]
其中,b是经过预训练网络之后得到的特征向量,f
att
()表示注意力机制,global_pooling(*)表示对经过注意力层得到的嵌入向量做全局池化,v
h
表示草图分支经过全局池
化后进一步得到的嵌入向量。
[0069]
优选地,根据笔画数对草图分支中的每一张图片划分等级,每个等级设计一个单独的降维层,降维层又称线性映射层,其表达式:
[0070]
v
l
=a.v
h
[0071]
其中,a代表线性映射,v
l
表示降维后的草图分支的嵌入向量。
[0072]
优选地,三重态损失函数的表达式为:
[0073][0074]
其中,m代表一张完整草图共渲染出的图片数量;v
[i,j]
表示草图分支中第i张图片的嵌入向量,通过降维层之后获得;v
[i 1,rnd]
表示草图分支中第i 1张图片;v
p
表示经过预训练网络和注意力层后获得的正样本,即目标图像的嵌入向量,v
n
表示经过预训练网络和注意力层后获得的负样本,即图像集中除目标图像外的图像的嵌入向量,α是一个常数,d是欧式距离。
[0075]
手绘图像实时检索的过程包括:
[0076]
s21、根据用户在画板上绘制的草图作为原始草图,按照绘图的笔画顺序,每增加一笔就形成一张图片;
[0077]
s22、将当前笔画的图片送入预训练网络和注意力层,得到当前笔画的图片的嵌入向量;
[0078]
s23、将当前笔画的图片送入完整度判别器判断图片的等级,并送入该等级对应的降维层;
[0079]
s24、在等级对应的降维层降低图片的嵌入向量的维数后,计算图片与数据库中的图像之间的欧氏距离;
[0080]
s25、根据图片与数据库中的图像之间的欧氏距离返回检索到的k张图片
[0081]
s26、获取用户绘制的下一笔,重复步骤s22

s25,直至检索到目标图片或所有笔画检索完。
[0082]
如图2所示,深度神经网络模型的网络结构分为两个部分,一部分是采用triplet loss训练包含目标图像的图像集,图像集经过模型的f1、f2和f3三个分支得到所需的嵌入向量;另一部分是采用triplet loss和mse loss训练草图分支,草图分支经过模型的f1、f2后需要判断图片等级,送入对应的f
31
、f
32

……
f
3k
得到所需嵌入向量。
[0083]
在没有商品图片,且文字难以描述该商品时,用户可以凭借对商品的映象在触屏设备上手绘商品草图,商品草图渲染为草图分支后输入训练好的神经网络模型,模型通过对草图分支的检索返回k张与商品草图最相似的图像。
[0084]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献