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

专利2023-12-06  103



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


背景技术:

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


技术实现要素:

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

技术特征:
1.一种训练解析模型的方法,其特征在于,包括:获取若干个图像组,所述图像组包括衣服图像和模特图像,一所述图像组标注有真实服装类别,所述衣服图像中衣服的类别为所述真实服装类别,所述模特图像中模特所穿衣服的类别为所述真实服装类别;采用解析网络基于所述图像组,进行人体解析,得到预测解析图像;将所述预测解析图像输入服装分类网络,得到对应的预测服装类别;采用损失函数计算所述图像组对应的损失,并根据所述若干个图像组对应的损失和,对所述解析网络和所述服装分类网络进行迭代训练,直至收敛,将收敛后的解析网络作为所述解析模型,其中,所述图像组对应的损失反映所述解析网络的解析损失和所述服装分类网络的分类损失。2.根据权利要求1所述的方法,其特征在于,所述采用解析网络基于所述图像组,进行人体解析,得到预测解析图像,包括:对所述图像组中的模特图像进行人体关键点检测,得到关键点图像;所述解析网络基于所述图像组和所述关键点图像,进行人体解析,得到所述预测解析图像。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:采用解析算法对所述图像组中的模特图像进行人体解析,得到真实解析图像;从所述真实解析图像中提取模特躯干区域,得到局部解析图像;所述所述解析网络基于所述图像组中的衣服图像和所述关键点图像,进行人体解析,得到所述预测解析图像,包括:将所述局部解析图像、所述关键点图像、所述图像组中的衣服图像拼接组合,拼接组合得到的组合图像输入所述解析网络进行人体解析,得到所述预测解析图像。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述解析网络包括编码器和解码器,所述编码器包括多个级联的第一卷积层,每一所述第一卷积层配置有大小不同的多个卷积核;所述第一卷积层用于对输入的图像采用所述多个卷积核分别进行下采样特征提取,将所述多个卷积核提取得到的中间特征图进行通道拼接,作为输出的下采样特征图。5.根据权利要求4所述的方法,其特征在于,所述服装分类网络包括级联的多个第二卷积层、全连接层和分类层;所述第二卷积层用于对输入的图像进行下采样特征提取;所述全连接层用于对输入的特征图像进行特征分类,输出一个特征向量;所述分类层用于对输入的所述特征向量进行概率换算,得到所述预测服装类别。6.根据权利要求1所述的方法,其特征在于,所述损失函数包括解析损失函数和类别损失函数,其中,所述解析损失函数用于计算所述预测解析图像和真实解析图像之间的差异,所述真实解析图像是通过所述模特图像进行人体解析得到的,所述类别损失函数用于计算所述预测服装类别和所述真实服装类别之间的差异。7.根据权利要求6所述的方法,其特征在于,所述损失函数包括:
其中,l
loss
为所述损失函数,l
rec
为所述解析损失函数,l
class
为所述类别损失函数,α和β为权重,x
i,j
为所述真实解析图像第i行第j列的解析类别值,y
i,j
为所述预测解析图像第i行第j列的解析类别值,m*m为所述真实解析图像或所述预测解析图像的尺寸大小,t
i
为所述真实服装类别中第i类别的概率值,p
i
为所述预测服装类别中第i类别的概率值,n为所述服装类别的总个数。8.一种虚拟试衣方法,其特征在于,包括:获取待试穿衣服图像和用户图像;采用解析模型基于所述待试穿衣服图像和所述用户图像,进行人体解析,得到解析图像,其中,所述解析模型采用如权利要求1-6中任意一项训练解析模型的方法训练得到;对所述用户图像和所述待试穿衣服图像进行融合,并在融合的过程中基于所述解析图像中的衣服区域,对所述待试穿衣服图像进行变形,得到试衣图像。9.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机设备执行如权利要求1-8任一项所述的方法。

技术总结
本申请实施例涉及图像处理技术领域,尤其涉及一种训练解析模型的方法、虚拟试衣方法及相关装置,采用服装分类网络对各预测解析图像进行服装类别判别,然后,基于损失和的反向传播,约束预测解析图像中衣服区域所属服装类别不断靠近真实服装类别。在约束预测解析图像中衣服区域所属服装类别不断靠近真实服装类别时,能够强化真实服装类别与预测解析图的对应关系,使得相同服装类别的衣服图像对应同一种预测解析图。从而,训练得到的解析模型面对相同服装类别的待试穿衣服图像时,能够生成与服装类别对应的解析图。若在试衣过程中采用该解析模型,能够使得待试穿衣服按解析图中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果。试衣效果。试衣效果。


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

最新回复(0)