训练解析模型的方法、虚拟试衣方法及相关装置与流程

专利2023-03-29  137



1.本技术实施例涉及图像处理技术领域,尤其涉及一种训练解析模型的方法、虚拟试衣方法及相关装置。


背景技术:

2.随着现代科技的不断进步,网购规模不断增加,用户可以通过手机在网络购物平台上购买衣物,但是,由于用户获取的待售衣物的信息一般是二维展示图片,用户无法知道这些衣物穿戴在自己身上的效果。从而,导致线上试装的需求日渐强烈,服装着装展示也成为现代计算机视觉领域的重要的方向。线上试装一般通过拍摄用户图像,对用户图像进行人体解析,得到人体解析图像。选择系统提供的试穿衣服,对试穿衣服按人体解析图像中对应的衣服区域进行变形处理,采用变形后的试穿衣服对用户身上原有的衣服进行自动替换。
3.然而,由于试穿衣服的风格样式与用户身上衣服的风格样式不同,从而,人体解析图像中衣服区域的轮廓与试穿衣服的穿着轮廓差异较大,对试穿衣服按人体解析图像中对应的衣服区域进行变形处理,会破坏试穿衣服的效果。例如,若试穿衣服为宽松型大衣,用户身上衣服为紧身毛衣,宽松型大衣按紧身毛衣的轮廓进行变形,会导致宽松型大衣变成紧身样式,试穿效果差。


技术实现要素:

4.本技术实施例主要解决的技术问题是提供一种训练解析模型的方法、虚拟试衣方法及相关装置,该训练方法训练得到的解析模型,能够生成更加稳定的自适应衣服风格的解析图像,使得待试穿衣服按解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果。
5.为解决上述技术问题,第一方面,本技术实施例中提供了一种训练解析模型的方法,包括:
6.获取若干个图像组,图像组包括衣服图像和模特图像,模特图像中的模特穿有衣服图像中的衣服;
7.对衣服图像按模特图像中模特的人体结构进行初步变形,得到衣服变形图像;
8.对模特图像进行人体解析,得到真实解析图像,并从真实解析图像中提取模特躯干区域,得到局部解析图像;
9.将局部解析图像和衣服变形图像输入图像生成网络,得到预测解析图像;
10.采用损失函数计算预测解析图像和真实解析图像之间的损失,并根据若干个图像组对应的损失和,对图像生成网络进行迭代训练,直至收敛,得到解析模型。
11.在一些实施例中,前述对衣服图像按模特图像中模特的人体结构进行初步变形,得到衣服变形图像,包括:
12.对模特图像进行关键点检测,得到关键点图像;
13.采用几何匹配模块分别对关键点图像和衣服图像进行计算处理,生成变换参数;
14.利用变换参数对衣服图像进行变形处理,得到衣服变形图像。
15.在一些实施例中,该方法还包括:
16.将关键点图像上的每个关键点转化为1通道的热图,并将每个关键点对应的热图按通道进行拼接,得到姿势热图;
17.采用几何匹配模块分别对关键点图像和衣服图像进行计算处理,生成变换参数,包括:
18.采用几何匹配模块分别对姿势热图和衣服图像进行计算处理,生成变换参数。
19.在一些实施例中,前述图像生成网络包括连接的编码器、融合模块和解码器;
20.该方法还包括:
21.获取衣服图像对应的服装类别文本信息;
22.对服装类别文本信息进行特征编码,得到服装类别向量;
23.将局部解析图像和衣服变形图像输入图像生成网络,得到预测解析图像,包括:
24.局部解析图像和衣服变形图像拼接后,输入编码器进行下采样特征提取,输出编码特征图;
25.编码特征图与服装类别向量输入融合模块进行融合处理,输出融合特征图;
26.融合特征图输入解码器进行上采样特征提取,输出预测解析图像。
27.在一些实施例中,前述融合模块采用以下方式对编码特征图与服装类别向量进行融合处理:
28.将服装类别向量进行维度转化,转化为与编码特图大小相同的服装类别特征图;
29.将编码特征图和服装类别特征图进行对应位置相乘操作,得到融合特征图。
30.在一些实施例中,损失函数包括解析损失、变形区域损失和变形特征损失,其中,解析损失反映真实解析图像和预测解析图像之间的差异,变形区域损失反映衣服变形图像中衣服区域和预测解析图像中衣服区域之间的差异,变形特征损失反映模特图像中衣服特征和衣服变形图像中衣服特征之间的差异。
31.在一些实施例中,前述损失函数包括:
[0032][0033]
其中,l
loc
为变形区域损失,l
gmm
为变形特征损失,lc为解析损失,x
mask
为衣服变形图像中衣服区域,y
mask
为预测解析图像中衣服区域,t
ij
为真实解析图像,p
ij
为预测解析图像,m*l为真实解析图像或预测解析图像的分辨率,c为衣服图像,t
θ
(c)为衣服变形图像,c
t
为模特图像中的衣服图像,vggi(t
θ
(c))为采用vgg网络对t
θ
(c)进行特征提取得到的第i层特征图,vggi(c
t
)为采用vgg网络对c
t
进行特征提取得到的第i层特征图,v是vgg网络的层数。
[0034]
为解决上述技术问题,第二方面,本技术实施例中提供了一种虚拟试衣方法,包括:
[0035]
获取待试穿衣服图像和用户图像;
[0036]
采用解析模型基于待试穿衣服图像和用户图像,进行人体解析,得到解析图像,其中,解析模型采用如权利要求1-7中任意一项训练解析模型的方法训练得到;
[0037]
对用户图像和待试穿衣服图像进行融合,并在融合的过程中基于解析图像中的衣服区域,对待试穿衣服图像进行变形,得到试衣图像。
[0038]
为解决上述技术问题,第三方面,本技术实施例中提供了一种电子设备,包括:
[0039]
至少一个处理器,以及
[0040]
与至少一个处理器通信连接的存储器,其中,
[0041]
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上第一方面中的方法或第二方面中的方法。
[0042]
为解决上述技术问题,第四方面,本技术实施例中提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机设备执行如上第一方面中的方法或第二方面中的方法。
[0043]
本技术实施例的有益效果:区别于现有技术的情况,本技术实施例提供的训练解析模型的方法,首先获取若干个图像组,每个图像组包括衣服图像和模特图像,模特图像中的模特穿有衣服图像中的衣服。然后,对衣服图像按模特图像中模特的人体结构进行初步变形,得到衣服变形图像。对模特图像进行人体解析,得到真实解析图像(可作为标签),并从真实解析图像中提取模特躯干区域,得到局部解析图像。将该局部解析图像和衣服变形图像输入图像生成网络,得到预测解析图像。最后采用损失函数计算预测解析图像和真实解析图像之间的损失,在轮流处理完这若干个图像组后,基于这若干个图像组对应的损失和,对图像生成网络进行迭代训练,直至收敛,收敛后的图像生成网络即为解析模型。
[0044]
在此实施例中,衣服变形图像不仅保留了衣服特征,还能初步反映衣服大致变形形状,从而,可以作为先验条件,有效指导图像生成网络在生成预测解析图像时使得衣服轮廓准确,从而,预测解析图像能够自适应试穿衣服的风格,更加稳定。此外,局部解析图像保留了模特的躯干特征,一方面,指导图像生成网络在生成预测解析图像时使得躯干轮廓准确,另一方面,不受模特身上原衣服的影响,有助于预测解析图像中衣服区域能够自适应试穿衣服的风格。基于衣服变形图像的指导作用和局部解析图像不受模特身上原衣服的影响,使得预测解析图像能够准确适应试穿衣服,从而,能够有效减少网络对训练数据的依赖。采用若干个图像组以上述方式对图像生成网络进行训练,基于由损失函数计算得到的损失和的反向传播,约束各图像组对应的预测解析图像不断靠近真实预测图像。从而,训练得到的解析模型能够生成更加稳定的自适应衣服风格的解析图像,使得待试穿衣服按对应的解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果,并且还对新款式的衣服具有较强的适应性。
附图说明
[0045]
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0046]
图1为本技术一些实施例中虚拟试衣的应用场景示意图;
[0047]
图2为本技术一些实施例中电子设备的结构示意图;
[0048]
图3为本技术一些实施例中训练解析模型的方法的流程示意图;
[0049]
图4为图3所示方法中步骤s20的一子流程示意图;
[0050]
图5为本技术一些实施例中的关键点图像;
[0051]
图6为本技术一些实施例中人体解析图像;
[0052]
图7为本技术一些实施例中图像生成网络的示意图;
[0053]
图8为本技术一些实施例中训练解析模型的方法的流程示意图;
[0054]
图9为图3所示方法中步骤s40的一子流程示意图;
[0055]
图10为本技术一些实施例中预测解析图像的生成过程视图;
[0056]
图11为本技术一些实施例中虚拟试衣方法的流程示意图。
具体实施方式
[0057]
下面结合具体实施例对本技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本技术,但不以任何形式限制本技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进。这些都属于本技术的保护范围。
[0058]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
[0059]
需要说明的是,如果不冲突,本技术实施例中的各个特征可以相互结合,均在本技术的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
[0060]
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本说明书中在本技术的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本技术。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0061]
此外,下面所描述的本技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0062]
为便于对本技术实施例提供的方法进行理解,首先对本技术实施例中涉及的名词进行介绍:
[0063]
(1)神经网络
[0064]
神经网络可以是由神经单元组成的,具体可以理解为具有输入层、隐含层、输出层的神经网络,一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。其中,具有很多层隐含层的神经网络则称为深度神经网络(deep neural network,dnn)。神经网络中的每一层的工作可以用数学表达式y=a(w
·
x+b)来描述,从物理层面,神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩
小;3、旋转;4、平移;5、“弯曲”。其中、2、3的操作由“w
·
x”完成,4的操作由“+b”完成,5的操作则由“a()”来实现,这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合,其中,w是神经网络各层的权重矩阵,该矩阵中的每一个值表示该层的一个神经元的权重值。该矩阵w决定着上文所述的输入空间到输出空间的空间变换,即神经网络每一层的w控制着如何变换空间。训练神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
[0065]
需要注意的是,在本技术实施例中,基于机器学习任务所采用的模型,本质都是神经网络。神经网络中的常用组件有卷积层、池化层、归一化层和反卷积层等,通过组装神经网络中的这些常用组件,设计得到模型,当确定模型参数(各层的权重矩阵)使得模型误差满足预设条件或调整模型参数的数量达到预设阈值时,模型收敛。
[0066]
其中,卷积层配置有多个卷积核、每个卷积核设置有对应的步长,以对图像进行卷积运算。卷积运算的目的是提取输入图像的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更深的卷积层能从低级特征中迭代提取更复杂的特征。
[0067]
反卷积层用于将一个低维度的空间映射到高维度,同时保持他们之间的连接关系/模式(这里的连接关系即是指卷积时候的连接关系)。反卷积层配置有多个卷积核、每个卷积核设置有对应的步长,以对图像进行反卷积运算。一般,用于设计神经网络的框架库(例如pytorch库)中内置有upsumple()函数,通过调用该upsumple()函数可以实现低维度到高维度的空间映射。
[0068]
池化层(pooling)是模仿人的视觉系统可以对数据进行降维或,用更高层次的特征表示图像。池化层的常见操作包括最大值池化、均值池化、随机池化、中值池化和组合池化等。通常来说,神经网络的卷积层之间都会周期性插入池化层以实现降维。
[0069]
归一化层用于对中间层的所有神经元进行归一化运算,以防止梯度爆炸和梯度消失。
[0070]
(2)损失函数
[0071]
在训练神经网络的过程中,因为希望神经网络的输出尽可能的接近真正想要预测的值,可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重矩阵(在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重矩阵让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么神经网络的训练就变成了尽可能缩小这个loss的过程。
[0072]
(3)人体解析
[0073]
人体解析是指将在图像中捕获的人分割成多个语义上一致的区域,例如,身体部位和衣物,或,身体部位的细分类别和衣物的细分类别等。即像素级地识别输入图像,并为图像中每个像素点标注其所属的对象类别。例如,通过神经网络将包括人体的图片中的各个要素(例如头发、脸、四肢、衣服以及背景等)进行区分。
[0074]
为介绍本技术实施例前,先对本技术发明人所知晓的虚拟试衣方法进行简单介绍,使得后续便于理解本技术实施例。
[0075]
在一些方案中,获取用户图像和试穿衣服图像后,首先对试穿衣服图像中衣服按用户图像中人体结构进行变形,得到变形后的试穿衣服图像。然后,将用户图像中对应的衣服区域进行掩模处理,掩模处理后的用户图像与变形后的试穿衣服图像进行融合,得到试衣图像。在试衣图像中,可以看出用户穿上试穿衣服的效果。在此实施例中,试穿衣服按照人体结构的关键点进行简单变形,会存在边界模糊等问题,造成试衣效果差。
[0076]
在一些方案中,获取用户图像和试穿衣服图像后,首先,对用户图像进行人体解析,得到人体解析图像。对试穿衣服按人体解析图像中对应的衣服区域进行变形处理,采用变形后的试穿衣服对用户身上原有的衣服进行自动替换。在此实施例中,人体解析图像能够帮助划分试穿衣服的边界信息,使得生成的试衣图像中试穿衣服边界清晰,所展示的试衣效果更加合理。
[0077]
然而,由于试穿衣服的风格样式与用户身上衣服的风格样式不同,从而,人体解析图像中衣服区域的轮廓与试穿衣服的穿着轮廓差异较大,对试穿衣服按人体解析图像中对应的衣服区域进行变形处理,会破坏试穿衣服的效果。例如,若试穿衣服为宽松型大衣,用户身上衣服为紧身毛衣,宽松型大衣按紧身毛衣的轮廓进行变形,会导致宽松型大衣变成紧身样式,试穿效果差。
[0078]
针对上述问题,本技术实施提供了一种训练解析模型的方法、虚拟试衣方法及相关装置,该训练解析模型的方法,采用获取若干个图像组对应的衣服变形图像和局部解析图像对图像生成网络进行训练,得到解析模型。其中,衣服变形图像不仅保留了衣服特征,还能初步反映衣服大致变形形状,从而,可以作为先验条件,有效指导图像生成网络在生成预测解析图像时使得衣服轮廓准确,从而,预测解析图像能够自适应试穿衣服的风格,更加稳定。此外,局部解析图像保留了模特的躯干特征,一方面,指导图像生成网络在生成预测解析图像时使得躯干轮廓准确,另一方面,不受模特身上原衣服的影响,有助于预测解析图像中衣服区域能够自适应试穿衣服的风格。基于衣服变形图像的指导作用和局部解析图像不受模特身上原衣服的影响,使得预测解析图像能够准确适应试穿衣服,从而,能够有效减少网络对训练数据的依赖。采用若干个图像组以上述方式对图像生成网络进行训练,基于由损失函数计算得到的损失和的反向传播,约束各图像组对应的预测解析图像不断靠近真实预测图像。从而,训练得到的解析模型能够生成更加稳定的自适应衣服风格的解析图像,使得待试穿衣服按对应的解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果,并且还对新款式的衣服具有较强的适应性。
[0079]
下面说明本技术实施例提供的用于训练解析模型或用于虚拟试衣的电子设备的示例性应用,可以理解的是,电子设备即可以训练解析模型,也可以采用该解析模型对待试穿衣服和用户图像进行解析生成解析图像,然后将待试穿衣服图像中衣服按该解析图像中衣服区域的轮廓进行变形,变形后的待试穿衣服图像和用户图像进行融合,得到试衣图像。
[0080]
本技术实施例提供的电子设备可以是服务器,例如部署在云端的服务器。当服务器用于训练解析模型时,根据其他设备或者本领域技术人员提供的训练集和神经网络,采用该训练集对神经网络进行迭代训练,确定最终的模型参数,从而神经网络配置该最终的模型参数,即可得到解析模型。当服务器用于虚拟试衣时,调用内置的解析模型,对其他设
备或者用户提供的待试穿衣服图像、用户图像进行相应的计算处理,得到解析图像,然后将待试穿衣服图像中衣服按该解析图像中衣服区域的轮廓进行变形,变形后的待试穿衣服图像和用户图像进行融合,得到试衣图像。
[0081]
本技术一些实施例提供的电子设备可以是笔记本电脑、台式计算机或移动设备等各种类型的终端。当终端用于训练解析模型时,本领域技术人员将准备好的训练集输入终端,并在终端上设计神经网络,终端采用该训练集对神经网络进行迭代训练,确定最终的模型参数,从而神经网络配置该最终的模型参数,即可得到解析模型。当终端用于虚拟试衣时,调用内置的解析模型,对用户输入的用户图像、待试穿衣服图像进行相应的计算处理,得到解析图像,该解析图像中衣服区域的轮廓与待试穿衣服的真实试穿效果轮廓相适应。然后将待试穿衣服图像中衣服按该解析图像中衣服区域的轮廓进行变形,变形后的待试穿衣服图像和用户图像进行融合,得到试衣图像。
[0082]
作为示例,参见图1,图1是本技术实施例提供的虚拟试衣系统的应用场景示意图,终端10通过网络连接服务器20,其中,网络可以是广域网或者局域网,又或者是二者的组合。
[0083]
终端10可以被用来获取训练集和构建神经网络,例如,本领域技术人员在终端上下载准备好的训练集,以及,搭建神经网络的网络结构。可以理解的是,终端10也可以被用来获取户图像、待试穿衣服图像,例如,用户通过输入界面输入用户图像和待试穿衣服图像,输入完成后,终端自动获取用户图像和待试穿衣服图像;例如,终端10具备摄像头,通过摄像头采集用户图像,终端10内存储有衣服图像库,用户可以从衣服图像库中选择待试穿衣服图像。
[0084]
在一些实施例中,终端10本地执行本技术实施例提供的训练解析模型的方法来完成采用训练集对设计好的神经网络进行训练,确定最终的模型参数,从而神经网络配置该最终的模型参数,即可得到解析模型。在一些实施例中,终端10也可以通过网络向服务器20发送本领域技术人员在终端上存储的训练集和构建好的神经网络,服务器20接收该训练集和神经网络,采用训练集对设计好的神经网络进行训练,确定最终的模型参数,然后将该最终的模型参数发送给终端10,终端10保存该最终的模型参数,使得神经网络配置能够该最终的模型参数,即可得到解析模型。
[0085]
在一些实施例中,终端10本地执行本技术实施例提供的虚拟试衣方法来为用户提供虚拟试穿衣服服务,调用内置的解析模型,对用户输入的用户图像、待试穿衣服图像进行相应的计算处理,生成解析图像,然后将待试穿衣服图像中衣服按该解析图像中衣服区域的轮廓进行变形,变形后的待试穿衣服图像和用户图像进行融合,得到试衣图像。
[0086]
在一些实施例中,终端10也可以通过网络向服务器20发送用户在终端上输入的用户图像和待试穿衣服图像,服务器20收到用户图像和待试穿衣服图像,调用内置的解析模型对用户图像、待试穿衣服图像进行相应的计算处理,得到解析图像,将待试穿衣服图像中衣服按该解析图像中衣服区域的轮廓进行变形,变形后的待试穿衣服图像和用户图像进行融合,得到试衣图像。然后,将试衣图像发送给终端10。终端10在接收到试衣图像后,显示于界面,以供用户查看。
[0087]
下面说明本技术实施例中电子设备的结构,图2是本技术实施例中电子设备500的结构示意图,电子设备500包括至少一个处理器510、存储器550、至少一个网络接口520和用
户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
[0088]
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0089]
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头,其他输入按钮和控件。
[0090]
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
[0091]
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0092]
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0093]
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(wifi),和通用串行总线(usb,universal serial bus)等;
[0094]
显示模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
[0095]
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0096]
根据上文可以理解,本技术实施例提供的训练解析模型的方法和虚拟试衣方法可以由各种类型具有计算处理能力的电子设备实施,例如智能终端和服务器等。
[0097]
下面结合本技术实施例提供的服务器的示例性应用和实施,说明本技术实施例提供的训练解析模型的方法。参见图3,图3是本技术实施例提供的训练解析模型的方法的流程示意图。
[0098]
请再次参阅图3,该方法s100具体可以包括如下步骤:
[0099]
s10:获取若干个图像组。
[0100]
对于任意一个图像组,包括衣服图像和模特图像,模特图像中的模特穿有衣服图像中的衣服。衣服图像包括想要试穿的衣服,例如衣服图像1#包括一件绿色短袖。模特图像中模特穿有对应衣服图像中的衣服,例如与衣服图像1#对应的真实试衣图像中模特穿有该
绿色短袖。
[0101]
可以理解的是,若干个图像组可由本领域技术人员事先搜集得到,例如在一些服饰售卖网站上可爬取衣服图像和对应的穿有该衣服的模特图像。
[0102]
在一些实施例中,本领域技术人员可根据实际情况确定若干个图像组的数量,训练得到准确的通用模型即可。
[0103]
s20:对衣服图像按模特图像中模特的人体结构进行初步变形,得到衣服变形图像。
[0104]
本步骤对衣服图像中的衣服按模特图像中模特人体结构进行变形,得到衣服变形图像。可以理解的是,原衣服图像中衣服呈二维平面状态,相比于原衣服图像,衣服变形图像中衣服的轮廓靠近模特人体对应躯干的轮廓。
[0105]
对于变形方法,本实施例中不作任何限制,能够对衣服图像中衣服进行变形即可。在一些实施例中,可以采用薄板样条(thin plate spline,tps)来模拟衣服的变形。在一些实施例中,可以基于衣服图像和模特图像计算出由衣服图像中衣服像素变换成模特图像中衣服像素的光流,然后,按该光流对衣服图像中衣服像素进行变形,得到衣服变形图像。
[0106]
为了使得衣服变形图像中衣服轮廓更加靠近模特人体对应躯干的轮廓,在一些实施例中,请参阅图4,前述步骤s20具体包括:
[0107]
s21:对模特图像进行关键点检测,得到关键点图像。
[0108]
采用人体关键点检测算法对模特图像进行人体关键点检测,可以定位出人体关键点信息(即人体上若干个关键点),如图5所示,关键点可以是鼻子、左右眼、左右耳、左右肩、左右肘、左右腕、左右臀、左右膝,左右脚踝处的坐标点。在一些实施例中,人体关键点检测算法可以采用openpose算法进行检测。在一些实施例中,人体关键点检测算法可以采用2d关键点检测算法,例如convolutional pose machine(cpm)或stacked hourglass network(hourglass)等。
[0109]
可以理解的是,每个关键点拥有自己的序号,每个关键点的位置用坐标表示。例如,请再次参阅图5,openpose算法原定义有18个关键点,关键点的序号代表人体关节,序号包括:0(鼻子),1(脖子),2(右肩),3(右肘),4(右手腕),5(左肩),6(左肘),7(左手腕),8(右臀),9(右膝),10(右脚踝),11(左臀),12(左膝),13(左脚踝),14(右眼),15(左眼),16(右耳),17(左耳)。对于不同的人体,openpose算法均会检测出这18个关键点,基于模特人体体型不同,每个模特的这18个关键点的坐标也不同。
[0110]
因此,对模特图像进行人体关键点检测,得到关键点图像。关键点图像包括多个关键点,这多个关键点中的每个关键点包括序号和对应的坐标,序号代表人体关节。
[0111]
s22:采用几何匹配模块分别对关键点图像和衣服图像进行计算处理,生成变换参数。
[0112]
其中,几何匹配模块包括双通道的卷积块、相关合并层和回归网络。其中,卷积块包括多个卷积层,用于对输入的图像进行下采样,提取特征。具体地,关键点图像经过一个卷积块进行下采样特征提取后,输出关键点特征图,衣服图像经过一个卷积块进行下采样特征提取后,输出衣服特征图。本领域技术人员可以根据实际需求设置卷积块的结构和卷积层的参数,在此不做任何限制。
[0113]
相关合并层用于将两个特征图进行合并。具体地,关键点特征图和衣服特征图通
过相关合并层进行合并处理,得到合并特征图。该合并特征图既包括关键点特征又包括衣服特征。在一些实施例中,相关合并层可以采用通道拼接的方式将关键点特征图和衣服特征图进行合并处理。
[0114]
可以理解的是,回归网络是用于实现回归分析的神经网络。回归分析是从一组数据中确定变量之间的定量关系。在此实施例中,回归网络能够确定合并特征图和变换参数之间的定量关系。具体地,合并图像输入回归网络中,回归网络学习合并图像和变换参数之间的定量关系,估算出变换参数θ。
[0115]
可以理解的是,在此实施例中,几何匹配模块也会随着图像生成网络一起进行训练,随着网络收敛,几何匹配模块能够输出更加准确的变换参数θ。
[0116]
s23:利用变换参数对衣服图像进行变形处理,得到衣服变形图像。
[0117]
将衣服图像按变换参数θ进行变形处理(例如插值变形),衣服变形图像。在一些实施例中,可以采用薄板样条插值法(thinplate spline)进行插值变形。利用薄板样条插值法做图像变形,需要制定控制点的坐标,然后根据tps函数对衣服图像所有像素点进行插值,求得插值之后的位置,进行像素值映射,即可得到衣服变形图像。在此实施例中,将变化参数作为tps函数的参数,对于衣服图像中的各像素点坐标,采用tps函数计算新的坐标,实现位置变化,即变形,衣服变形图像。
[0118]
在此实施例中,采用几何匹配模块计算变形所需的变换参数,然后,衣服图像中的衣服像素按照变化参数进行插值变形,能够得到准确的衣服变形图像,使得衣服变形图像中衣服轮廓更加靠近模特人体对应躯干的轮廓,从而,有利于后续指导图像生成网络在生成预测解析图像时使得衣服轮廓准确。此外,几何匹配模块随着图像生成网络一起训练,实现端到端的训练,使得训练过程更加整洁,有利于模型收敛。
[0119]
在一些实施例中,该方法还包括:
[0120]
s24:将关键点图像上的每个关键点转化为1通道的热图,并将每个关键点对应的热图按通道进行拼接,得到姿势热图。
[0121]
在一些实施例中,对于关键点图像中的任意一个关键点,将关键点周围11*11领域的像素值设置为1,其它位置区域的像素值设置为0,从而,得到该关键点对应的1通道的热图。可以理解的是,还可以选择关键点周围其它大小的领域,例如10*10或14*14等。
[0122]
如图5所示的18个关键点,对应有18个1通道的热图。在此实施例中,将这18个关键点对应的热图按通道进行拼接,从而,得到一个18通道的姿势热图。
[0123]
该姿势热图能够反映模特躯干形状特征,从而,在几何匹配模块中,能够指导得到用于使衣服按身体形状进行变形的变换参数θ。
[0124]
在此实施例中,前述步骤s22具体包括:
[0125]
s221:采用几何匹配模块分别对姿势热图和衣服图像进行特征计算处理,生成变换参数。
[0126]
关于几何匹配模块的结构和计算处理过程,请参照步骤s20中的描述,采用姿势热图替换关键点图像即可,在此不再重复赘述。
[0127]
在此实施例中,由于姿势热图将各关键点进行了扩展,相比于关键点图像,更能够反映模特躯干形状特征,有利于几何匹配模块生成准确的变换参数。
[0128]
s30:对模特图像进行人体解析,得到真实解析图像,并从真实解析图像中提取模
特躯干区域,得到局部解析图像。
[0129]
具体地,由前述“名词介绍(3)”可知,人体解析是将人体的各个部位分割出来,如图6所示,不同的部位,例如头发、脸、上衣、裤子、胳膊、帽子、鞋等各个部位识别分割出来,用不同的颜色表示,即得到人体解析图。
[0130]
这里,可以采用现有的解析算法,例如graphonomy算法,对模特图像进行人体解析,得到人体解析图像(真实解析图像)。在人体解析图中,像素点被分成20类,类别可以采用0-19进行标识,例如,0表示背景,1表示帽子,2表示头发,3表示手套,4表示墨镜,5表示上衣,6表示连衣裙,7表示外套,8表示袜子,9表示裤子,10表示躯干皮肤,11表示围巾,12表示半裙,13表示脸,14表示左手臂,15表示右手臂,16表示左腿,17表示右腿,18表示左鞋,19表示右鞋。从人体解析图中,可以确定人体图像中各个区域所属的类别。
[0131]
可以理解的是,基于模特图像中模特穿有对应衣服图像中的试穿衣服,即模特图像能够表征试穿衣服的真实试穿效果,从而,可以将从模特图像中解析出的人体解析图像作为真实解析图像。
[0132]
为了促进在生成新的预测解析图像的过程中,反映模特身份的躯干区域不变,这里,根据像素类别对真实解析图像中模特躯干区域进行提取,得到得到局部解析图像。在一些实施例中,模特躯干区域可以包括头部、手臂、腿部等区域。局部解析图像中保留模特躯干区域,去除衣服区域,一方面,能够减少模特躯干区域变形失真的风险,另一方面,模特身上的衣服不会影响衣服图像中试穿衣服变形。
[0133]
s40:将局部解析图像和衣服变形图像输入图像生成网络,得到预测解析图像。
[0134]
其中,图像生成网络是预先设置的神经网络,具有神经网络的组件(卷积层、反卷积层或池化层等)。关于神经网络的基本结构和原理已在“名词介绍(1)”中进行了详细说明,在此不再详细介绍。图像生成网络可以是本领域技术人员在终端(例如电脑)电脑上的神经网络设计平台上自行构建好,然后,发送给服务器。在一些实施例中,可以设置图像生成网络中卷积层、反卷积层或池化层等的层内结构(卷积核、步长等)、层间连接结构和层组合情况等,以得到具体的图像生成网络。
[0135]
图像生成网络对输入的局部解析图像和衣服变形图像进行特征提取、空间变化等计算处理,得到预测解析图像。在一些实施例中,局部解析图像和衣服变形图像进行通道拼接后,输入图像生成网络,图像生成网络对拼接后的图像进行计算处理(例如卷积运算、反卷积运算等),实现人体解析,得到预测解析图像。其中,“人体解析”已在“名词介绍(3)”中进行了详细说明,在此不再详细介绍。可以理解的是,预测解析图像能够反映拼接图像(局部解析图像和衣服变形图像)中各像素所属的类别,因此,从预测解析图像中,可以获取拼接图像(局部解析图像和衣服变形图像)中各个部位要素的形状区域(例如衣服区域、四肢区域以及背景等)。
[0136]
可以理解的是,图像生成网络对若干个图像组均以与s40中相同的方式进行人体解析,得到相应的预测解析图像。
[0137]
在一些实施例中,请参阅图7,图像生成网络包括连接的编码器、融合模块和解码器。
[0138]
本领域技术人员可以理解的是,编码器用于对输入的图像进行下采样,随着卷积层的递进,输出的下采样特征图的尺寸越来越小。融合模块用于对至少两个数据进行融合
处理。解码器用于对输入的图像进行上采样,随着层(可以包括反卷积层)的递进,输出的上采样特征图的尺寸越来越大。
[0139]
请参阅图7,编码器包括多个级联的卷积层,图7以编码器包括7个卷积层为例进行示意性说明。解码器包括多个级联的反卷积层,图7以解码器包括7个反卷积层进行示意性说明。
[0140]
编码器对输入的图像进行下采样特征提取后,编码器中最后一个卷积层输出的下采样特征图接着输入融合模块,与其它特征图进行融合处理,得到融合特征图。然后,融合特征图输入解码器,逐层进行上采样特征提取,解码器中最后一个反卷积层输出的上采样特征图即为生成网络需要生成的图像。
[0141]
在此实施例中,请参阅图8,前述方法还包括:
[0142]
s60:获取衣服图像对应的服装类别文本信息。
[0143]
s70:对服装类别文本信息进行特征编码,得到服装类别向量。
[0144]
其中,服装类别文本信息是能够反映衣服图像中试穿衣服的类别的文本信息。例如,服装类别文本信息可以是“宽松短袖”、“落肩衬衣”、“紧身毛衣”或“宽松大衣”、“直筒长裤”、“a型半裙”等。可以理解的是,服装类别文本信息能够反映衣服的类别和款式。可以理解的是,若干个衣服图像中的衣服可以覆盖多种服装类别。
[0145]
可以理解的是,若干个图像组中衣服图像对应的服装类别文本信息可由本领域技术人员事先搜集得到,例如在一些服饰售卖网站上可爬取衣服图像、对应的穿有该衣服的模特图像以及对应的服装类别文本信息。通过终端将这些具有对应关系的衣服图像、模特图像和服装类别文本信息,发送给服务器,从而,服务器能够获取到衣服图像对应的服装类别文本信息。
[0146]
可以理解的是,服装类别文本信息是文本格式的数据。为了能够让图像生成网络学习到服装类别文本信息所能反映的特征,这里,对服装类别文本信息进行编码,得到服装类别向量。也就是说,将服装类别文本信息数字化,转化得到的服装类别向量是数字格式的数据。
[0147]
在一些实施例中,可采用词袋模型对服装类别文本信息进行编码,将服装类别文本信息转化为服装类别向量。其中,词袋模型是选定所有的服装类别文本信息内的词语放入词袋,统计词袋内所有词语在服装类别文本信息中出现的次数,并将其用向量的形式表示出来。在此实施例中,可以整合若干个衣服图像对应的服装类别文本信息构建词典。可以理解的是,该词典包括干个衣服图像对应的服装类别文本信息所包括的单词,词典包括单词位置信息和对应的单词,其中,单词可以用数字表示。从而,将服装类别文本信息编码转化为一个n*1长度的服装类别向量,其中,n是词典的最大长度。
[0148]
在其它实施例中,也可以采用词嵌入算法将服装类别文本信息编码转化为服装类别向量。该词嵌入算法是本领域的常用算法,在此不再详细介绍。
[0149]
在此实施例中,请参阅图9,前述步骤s40具体包括:
[0150]
s41:局部解析图像和衣服变形图像拼接后,输入编码器进行下采样特征提取,输出编码特征图。
[0151]
可以理解的是,局部解析图像为1通道的灰度图像,衣服变形图像为3通道图像。在一些实施例中,局部解析图像的分辨率为512*384*1,衣服变形图像的分辨率为512*384*3。
在此实施例中,“拼接”可以是按通道进行拼接,例如,将局部解析图像和衣服变形图像按通道进行拼接后,得到一个512*384*4大小的组合图像。从而,组合图像包括局部解析图像的躯干特征和衣服图像的服装特征。
[0152]
将组合图像输入编码器进行下采样特征提取,输出编码特征图。具体地,请参阅图10,512*384大小的组合图像输入编码器后,通过逐层的7个卷积层进行下采样特征提取,依次生成256*192大小的下采样特征图、128*96大小的下采样特征图、64*48大小的下采样特征图、32*24大小的下采样特征图、16*12大小的下采样特征图、8*6大小的下采样特征图和4*3大小的下采样特征图。该4*3大小的下采样特征图即为编码特征图。
[0153]
s42:编码特征图与服装类别向量输入融合模块进行融合处理,输出融合特征图。
[0154]
基于融合模块用于对至少两个数据进行融合处理。从而,融合特征图不仅包括编码特征图所反映的衣服图像特征,还包括服装类别向量所反映的服装类别。
[0155]
在一些实施例中,融合模块采用以下方式对编码特征图与服装类别向量进行融合处理:
[0156]
将服装类别向量进行维度转化,转化为与编码特图大小相同的服装类别特征图;
[0157]
将编码特征图和服装类别特征图进行对应位置相乘操作,得到融合特征图。
[0158]
可以理解的是,服装类别向量是n*1大小的向量。在一些实施例中,融合模块可以采用至少一个反卷积层对n*1大小的服装类别向量进行上采样特征提取,得到与编码特图大小相同的服装类别特征图。例如,编码特图的大小为4*3,则上采样特征提取得到4*3大小的服装类别特征图。
[0159]
然后,将编码特征图和服装类别特征图进行对应位置相乘操作,得到融合特征图。这里,对应位置相乘操作是指编码特征图和服装类别特征图中相同行列上的像素值进行相乘。
[0160]
在此实施例中,采用上述方式将服装类别向量与编码特征图进行融合,丰富了编码特征图中关于服装类别的图像特征的权重,即使得融合特征图中关于服装类别的图像特征得以凸显。
[0161]
s43:融合特征图输入解码器进行上采样特征提取,输出预测解析图像。
[0162]
具体地,请参阅图10,4*3大小的融合特征图输入解码器后,通过逐层的7个反卷积层进行上采样特征提取,依次生成8*6大小的上采样特征图、16*12大小的上采样特征图、32*24大小的上采样特征图、64*48大小的上采样特征图、128*96大小的上采样特征图、256*192大小的上采样特征图和512*384大小的上采样特征图。该512*384大小的上采样特征图即为预测解析图像。
[0163]
在此实施例中,由于融合特征图中关于服装类别的图像特征得以凸显,从而,可以告知图像生成网络试穿衣服的服装类别,随着后续训练的进行,使得预测解析图像中衣服区域形状不断靠近该服装类别下的形状,有利于约束预测解析图像中衣服区域的准确性。
[0164]
s50:采用损失函数计算预测解析图像和真实解析图像之间的损失,并根据若干个图像组对应的损失和,对图像生成网络进行迭代训练,直至收敛,得到解析模型。
[0165]
这里,损失函数可由本领域技术人员在终端中配置,配置好的损失函数随着图像生成网络一起发送给服务器。损失函数已在前述“名词介绍(2)”中得以详细介绍,在此不再重复赘述。可以理解的是,基于网络结构和训练方式不同,损失函数的结构可以根据实际情
况而设置。
[0166]
服务器在处理得到一个图像组对应的预测解析图像后,采用损失函数基于预测解析图像和真实解析图像计算图像组对应的损失(该损失反映解析损失)。在轮流处理完这若干个图像组后,基于这若干个图像组对应的损失和,对图像生成网络进行迭代训练,直至收敛,将收敛后的图像生成网络作为解析模型。
[0167]
可以理解的是,若损失和越小,说明预测解析图像中衣服区域形状与真实预测解析图像中衣服真实试穿形状相似。从而,可以采用损失函数计算图像组对应的损失,在轮流处理完这若干个图像组后,基于这若干个图像组对应的损失和,调整图像生成网络的模型参数。即将损失和进行反向传播,使得图像生成网络输出的预测解析图像中衣服区域形状不断逼近真实解析图像中衣服区域形状。经过多次迭代调整模型参数,直到图像生成网络收敛,将收敛后的图像生成网络作为解析模型。
[0168]
可以理解的是,这里的收敛可以指的是在某一模型参数下,损失和小于预设阈值或在某一范围内波动。在一些实施例中,采用adam算法优化模型参数,例如,迭代次数设置为10万次,初始化学习率设置为0.001,学习率的权重衰减设置为0.0005,每1000次迭代,学习率衰减为原来的1/10,其中,可以将学习率、损失和输入至adam算法中,得到adam算法输出的调整模型参数,利用该调整模型参数进行下一次训练,直到训练完后,输出图像生成网络收敛后的模型参数,即可将该收敛后的图像生成网络的模型参数保存,得到解析模型。
[0169]
可以理解的是,在服务器得到收敛后的图像生成网络的模型参数(即最终的模型参数)后,可以将该最终的模型参数发送给终端,终端内的图像生成网络配置有该最终的模型参数,得到解析模型。在一些实施例中,服务器也可以保存该图像生成网络和最终的模型参数,得到解析模型。
[0170]
需要说明的是,本技术实施例中,多个图像组覆盖多种服装类别,能覆盖市面上大部分种类的衣服。因此,训练出的解析模型是一个通用的模型,能够广泛用于虚拟试衣中的人体解析。
[0171]
在此实施例中,采用获取若干个图像组对应的衣服变形图像和局部解析图像对图像生成网络进行训练,得到解析模型。其中,衣服变形图像不仅保留了衣服特征,还能初步反映衣服大致变形形状,从而,可以作为先验条件,有效指导图像生成网络在生成预测解析图像时使得衣服轮廓准确,从而,预测解析图像能够自适应试穿衣服的风格,更加稳定。此外,局部解析图像保留了模特的躯干特征,一方面,指导图像生成网络在生成预测解析图像时使得躯干轮廓准确,另一方面,不受模特身上原衣服的影响,有助于预测解析图像中衣服区域能够自适应试穿衣服的风格。基于衣服变形图像的指导作用和局部解析图像不受模特身上原衣服的影响,使得预测解析图像能够准确适应试穿衣服,从而,能够有效减少网络对训练数据的依赖。采用若干个图像组以上述方式对图像生成网络进行训练,基于由损失函数计算得到的损失和的反向传播,约束各图像组对应的预测解析图像不断靠近真实预测图像。从而,训练得到的解析模型能够生成更加稳定的自适应衣服风格的解析图像,使得待试穿衣服按对应的解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果,并且还对新款式的衣服具有较强的适应性。
[0172]
在一些实施例中,前述损失函数包括解析损失、变形区域损失和变形特征损失。
[0173]
其中,解析损失反映真实解析图像和预测解析图像之间的差异。当预测解析图像
和真实解析图像之间的差异越大时,说明预测解析图像中各要素部位的形状和真实解析图像中各要素部位的形状差异较大。当预测解析图像和真实解析图像之间的差异越小时,说明预测解析图像中各要素部位的形状和真实解析图像中各要素部位的形状差异较小。即解析损失将预测解析图像和真实解析图像进行比较,使得预测解析图像中各要素部位的形状不断逼近真实解析图像中各要素部位的形状。
[0174]
变形区域损失反映衣服变形图像中衣服区域和预测解析图像中衣服区域之间的差异。当衣服变形图像中衣服区域和预测解析图像中衣服区域之间的差异越大时,说明衣服变形图像中衣服区域所反映的衣服变形偏离真实试穿效果,几何匹配模块的变形效果较差。当衣服变形图像中衣服区域和预测解析图像中衣服区域之间的差异越小时,说明衣服变形图像中衣服区域所反映的衣服变形靠近真实试穿效果,几何匹配模块的变形效果较好。
[0175]
变形特征损失反映模特图像中衣服特征和衣服变形图像中衣服特征之间的差异。将模特图像中衣服特征和衣服变形图像中衣服特征在不同尺寸分辨率上进行比较,使得衣服变形图像中衣服能够逼近模特图像中真实试穿效果,从而,提高几何匹配模块的变形效果。
[0176]
在此实施例中,通过解析损失约束预测解析图像靠近真实解析图像,提高图像生成网络的准确性,通过变形区域损失和变形特征损失约束衣服变形图像中衣服能够逼近模特图像中真实试穿效果,提高几何匹配模块的变形效果。从而,在实现端到端的训练的同时,能够获得变形效果好的解析模型。
[0177]
在一些实施例中,损失函数包括:
[0178][0179]
其中,l
loc
为变形区域损失,l
gmm
为变形特征损失,lc为解析损失,x
mask
为衣服变形图像中衣服区域,y
mask
为预测解析图像中衣服区域,t
ij
为真实解析图像,p
ij
为预测解析图像,m*l为真实解析图像或预测解析图像的分辨率,c为衣服图像,t
θ
(c)为衣服变形图像,c
t
为模特图像中的衣服图像,vggi(t
θ
(c))为采用vgg网络对t
θ
(c)进行特征提取得到的第i层特征图,vggi(c
t
)为采用vgg网络对c
t
进行特征提取得到的第i层特征图,v是vgg网络的层数。
[0180]
其中,vgg网络是一种现有的卷积神经网络,在此不再详细介绍。
[0181]
在此实施例中,基于前述损失函数计算得到的图像组的损失,获取若干个图像组对应的损失的和(即损失和),然后,基于该损失和对几何匹配模块和图像生成网络进行迭代训练,能够加快网络收敛。
[0182]
此外,上述损失函数,通过衣服变形图像中衣服区域约束预测解析图像中衣服区域,使得图像生成网络能够更加关注衣服区域轮廓,不会过多关注衣服纹理或花纹的变形,从而,能够有效得减少新衣服款式对于解析模型生成的解析图像的影响,使得解析模型生成的解析图像更具有稳定性。例如,款式不同(纹理或花纹不同)的两件宽松短袖,对于同一
人体,采用解析模型解析后,解析图像是一样的。
[0183]
综上所述,本技术实施提供的训练解析模型的方法,采用获取若干个图像组对应的衣服变形图像和局部解析图像对图像生成网络进行训练,得到解析模型。其中,衣服变形图像不仅保留了衣服特征,还能初步反映衣服大致变形形状,从而,可以作为先验条件,有效指导图像生成网络在生成预测解析图像时使得衣服轮廓准确,从而,预测解析图像能够自适应试穿衣服的风格,更加稳定。此外,局部解析图像保留了模特的躯干特征,一方面,指导图像生成网络在生成预测解析图像时使得躯干轮廓准确,另一方面,不受模特身上原衣服的影响,有助于预测解析图像中衣服区域能够自适应试穿衣服的风格。基于衣服变形图像的指导作用和局部解析图像不受模特身上原衣服的影响,使得预测解析图像能够准确适应试穿衣服,从而,能够有效减少网络对训练数据的依赖。采用若干个图像组以上述方式对图像生成网络进行训练,基于由损失函数计算得到的损失和的反向传播,约束各图像组对应的预测解析图像不断靠近真实预测图像。从而,训练得到的解析模型能够生成更加稳定的自适应衣服风格的解析图像,使得待试穿衣服按对应的解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果,并且还对新款式的衣服具有较强的适应性。
[0184]
在通过本技术实施例提供的训练解析模型的方法训练得到解析模型后,可将该解析模型应用至虚拟试衣。本技术实施例提供的虚拟试衣可以由各种类型具有计算处理能力的电子设备实施,例如智能终端和服务器等。
[0185]
下面结合本技术实施例提供的终端的示例性应用和实施,说明本技术实施例提供的虚拟试衣方法。参见图11,图11是本技术实施例提供的虚拟试衣方法的流程示意图。该方法s200包括如下步骤:
[0186]
s201:获取待试穿衣服图像和用户图像。
[0187]
终端(例如智能手机或智能试衣镜)内置的试衣助手(应用软件)获取用户图像和待试穿衣服图像。其中,该用户图像可以是终端拍摄的,或者用户输入终端的。待试穿衣服图像可以是用户从试衣助手中选择的。
[0188]
可以理解的是,用户图像包括用户的身体,待试试穿衣服图像中包括衣服。
[0189]
s202:采用解析模型基于待试穿衣服图像和用户图像,进行人体解析,得到解析图像。
[0190]
其中,解析模型采用前述训练实施例中任意一项训练解析模型的方法训练得到。
[0191]
终端内置的试衣助手包括解析模型,可以调用该解析模型进行人体解析。将待试穿衣服图像和用户图像输入解析模型,解析模型会基于衣服图像中衣服的服装类别,对用户图像进行人体解析,得到与该服装类别对应的解析图像。
[0192]
可以理解的是,该解析模型是通过上述实施例中训练解析模型的方法训练得到,与上述实施例中解析模型具有相同的结构和功能,在此不再一一赘述。
[0193]
可以理解的是,解析图像中衣服区域的形状与待试穿衣服的类别相匹配,从而,解析图像中衣服区域的形状符合待试穿衣服真实试穿效果。
[0194]
s203:对用户图像和待试穿衣服图像进行融合,并在融合的过程中基于解析图像中的衣服区域,对待试穿衣服图像进行变形,得到试衣图像。
[0195]
在一些实施例中,将解析图像和待试穿衣服图像、用户图像输入生成对抗网络,用户图像与待试穿衣服图像融合,生成试衣图像。在融合过程中,解析图像约束试穿衣服的边
界信息,使得试穿衣服按照解析图像中的衣服区域进行变形。从而,融合得到的试衣图像符合待试穿衣服的真实试穿效果。
[0196]
其中,生成对抗网络应用于图像生成是本领域技术人员所知的常规方法,在此不再详细介绍。
[0197]
在此实施例中,解析模型能够生成更加稳定的自适应衣服风格的解析图像,因此,采用该解析模型对待试穿衣服图像和用户图像进行解析变形,使得待试穿衣服按对应的解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果,并且还对新款式的衣服具有较强的适应性。
[0198]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使电子设备执行本技术实施例提供的训练解析模型的方法,例如,如图3-图10所示出的训练解析模型的方法,或本技术实施例提供的虚拟试衣方法,例如,如图11示出的虚拟试衣方法。
[0199]
在一些实施例中,存储介质可以是fram、rom、prom、eprom、ee prom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0200]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0201]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(h tml,hyper textmarkup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0202]
作为示例,可执行指令可被部署为在一个计算设备(包括智能终端和服务器在内的设备)上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点目通过通信网络互连的多个计算设备上执行。
[0203]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被计算机执行时使计算机执行如前述实施例中训练解析模型的方法或虚拟试衣方法。
[0204]
需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0205]
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0206]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;在本
申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。

技术特征:
1.一种训练解析模型的方法,其特征在于,包括:获取若干个图像组,所述图像组包括衣服图像和模特图像,所述模特图像中的模特穿有所述衣服图像中的衣服;对所述衣服图像按所述模特图像中模特的人体结构进行初步变形,得到衣服变形图像;对所述模特图像进行人体解析,得到真实解析图像,并从所述真实解析图像中提取模特躯干区域,得到局部解析图像;将所述局部解析图像和所述衣服变形图像输入图像生成网络,得到预测解析图像;采用损失函数计算所述预测解析图像和所述真实解析图像之间的损失,并根据所述若干个图像组对应的损失和,对所述图像生成网络进行迭代训练,直至收敛,得到所述解析模型。2.根据权利要求1所述的方法,其特征在于,所述对所述衣服图像按所述模特图像中模特的人体结构进行初步变形,得到衣服变形图像,包括:对所述模特图像进行关键点检测,得到关键点图像;采用几何匹配模块分别对所述关键点图像和所述衣服图像进行计算处理,生成变换参数;利用所述变换参数对所述衣服图像进行变形处理,得到所述衣服变形图像。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:将所述关键点图像上的每个关键点转化为1通道的热图,并将每个关键点对应的热图按通道进行拼接,得到姿势热图;所述采用几何匹配模块分别对所述关键点图像和所述衣服图像进行计算处理,生成变换参数,包括:采用所述几何匹配模块分别对所述姿势热图和所述衣服图像进行计算处理,生成所述变换参数。4.根据权利要求1所述的方法,其特征在于,所述图像生成网络包括连接的编码器、融合模块和解码器;所述方法还包括:获取所述衣服图像对应的服装类别文本信息;对所述服装类别文本信息进行特征编码,得到服装类别向量;所述将所述局部解析图像和所述衣服变形图像输入图像生成网络,得到预测解析图像,包括:所述局部解析图像和所述衣服变形图像拼接后,输入所述编码器进行下采样特征提取,输出编码特征图;所述编码特征图与所述服装类别向量输入所述融合模块进行融合处理,输出融合特征图;所述融合特征图输入所述解码器进行上采样特征提取,输出所述预测解析图像。5.根据权利要求4所述的方法,其特征在于,所述融合模块采用以下方式对所述编码特征图与所述服装类别向量进行融合处理:将所述服装类别向量进行维度转化,转化为与所述编码特图大小相同的服装类别特征
图;将所述编码特征图和所述服装类别特征图进行对应位置相乘操作,得到所述融合特征图。6.根据权利要求3所述的方法,其特征在于,所述损失函数包括解析损失、变形区域损失和变形特征损失,其中,所述解析损失反映所述真实解析图像和所述预测解析图像之间的差异,所述变形区域损失反映所述衣服变形图像中衣服区域和所述预测解析图像中衣服区域之间的差异,所述变形特征损失反映所述模特图像中衣服特征和所述衣服变形图像中衣服特征之间的差异。7.根据权利要求6所述的方法,其特征在于,所述损失函数包括:其中,l
loc
为所述变形区域损失,l
gmm
为所述变形特征损失,l
c
为所述解析损失,x
mask
为所述衣服变形图像中衣服区域,y
mask
为所述预测解析图像中衣服区域,t
ij
为所述真实解析图像,p
ij
为所述预测解析图像,m*l为所述真实解析图像或所述预测解析图像的分辨率,c为所述衣服图像,t
θ
(c)为所述衣服变形图像,c
t
为所述模特图像中的衣服图像,vgg
i
(t
θ
(c))为采用vgg网络对所述t
θ
(c)进行特征提取得到的第i层特征图,vgg
i
(c
t
)为采用所述vgg网络对所述c
t
进行特征提取得到的第i层特征图,v是vgg网络的层数。8.一种虚拟试衣方法,其特征在于,包括:获取待试穿衣服图像和用户图像;采用解析模型基于所述待试穿衣服图像和所述用户图像,进行人体解析,得到解析图像,其中,所述解析模型采用如权利要求1-7中任意一项训练解析模型的方法训练得到;对所述用户图像和所述待试穿衣服图像进行融合,并在融合的过程中基于所述解析图像中的衣服区域,对所述待试穿衣服图像进行变形,得到试衣图像。9.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机设备执行如权利要求1-8任一项所述的方法。

技术总结
本申请实施例涉及图像处理技术领域,尤其涉及一种训练解析模型的方法、虚拟试衣方法及相关装置,采用获取若干个图像组对应的衣服变形图像和局部解析图像对图像生成网络进行训练,得到解析模型。其中,衣服变形图像作为先验条件,有效指导图像生成网络在生成预测解析图像时使得衣服轮廓准确。此外,局部解析图像保留了模特的躯干特征,指导图像生成网络在生成预测解析图像时使得躯干轮廓准确。基于衣服变形图像的指导作用和局部解析图像不受模特身上原衣服的影响,使得预测解析图像能够准确适应试穿衣服。上述方式对图像生成网络进行训练,训练得到的解析模型能够生成更加稳定的自适应衣服风格的解析图像。适应衣服风格的解析图像。适应衣服风格的解析图像。


技术研发人员:陈仿雄
受保护的技术使用者:深圳数联天下智能科技有限公司
技术研发日:2022.07.20
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-2097.html

最新回复(0)