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

训练试衣模型的方法、生成试衣图像的方法及相关装置与流程

2022-08-17 06:08:55 来源:中国专利 TAG:


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


背景技术:

2.随着现代科技的不断进步,网购规模不断增加,用户可以通过手机在网络购物平台上购买衣物,但是,由于用户获取的待售衣物的信息一般是二维展示图片,用户无法知道这些衣物穿戴在自己身上的效果,因而可能会导致买到不适合自己的衣物,购物体验较差。
3.随着神经网络的不断发展,在生成图像领域得到了广泛的应用。因此,研究者将神经网络应用到虚拟试衣中,提出各种试衣算法,然而现有的虚拟试衣算法,只能实现单件衣服试穿,无法做到多件衣服混搭试穿。


技术实现要素:

4.本技术实施例主要解决的技术问题是提供一种训练试衣模型的方法、生成试衣图像的方法及相关装置,该训练方法训练得到的试衣模型能够生成多件衣服混搭效果的试衣图像。
5.为解决上述技术问题,第一方面,本技术实施例中提供了一种训练试衣模型的方法,试衣网络包括融合解析网络和生成网络,其中,生成网络包括第一编码器和级联的第二编码器、n个融合模块、解码器,第一编码器与n个融合模块连接;
6.方法包括:
7.获取训练集,训练集包括多个训练数据,训练数据包括真实试衣图像和n个衣服图像,真实试衣图像包括模特穿有n个衣服图像中对应衣服的图像,其中,n≥2;
8.对真实试衣图像进行人体解析,得到第一解析图,从第一解析图中分离出第二解析图,并根据第二解析图从真实试衣图像中提取出身体躯干图,其中,第二解析图反映模特身体躯干的像素区域;
9.将n个衣服图像和第二解析图输入融合解析网络,得到融合解析图,融合解析图包括n个衣服图像中对应衣服的像素区域和模特身体躯干的像素区域;
10.将身体躯干图、融合解析图和n个变形后的衣服图像输入生成网络,得到预测试衣图像,其中,n个变形后的衣服图像是通过对n个衣服图像中的衣服按真实试衣图像中模特人体结构进行变形得到的,n个变形后的衣服图像输入第一编码器得到n个衣服编码,n个衣服编码分别对应输入n个融合模块,身体躯干图和融合解析图输入生成网络得到预测试衣图像,在融合解码过程中,相同层次的解析特征图约束相同层次的试衣特征图的像素类别;
11.采用损失函数对试衣网络进行迭代训练,直到试衣网络收敛,得到试衣模型,损失函数用于表征训练集中各真实试衣图像和各预测试衣图像之间的差异。
12.在一些实施例中,根据第二解析图从真实试衣图像中提取出身体躯干图,包括:
13.对第二解析图进行二值化处理,得到二值化图像,在二值化图像中身体躯干区域
对应的像素为1,其它区域对应的像素为0;
14.将真实试衣图像中的像素和二值化图像中的像素对应位置相乘,得到身体躯干图。
15.在一些实施例中,融合模块包括第一卷积层、第二卷积层和融合层;
16.融合模块采用以下方式对输入特征图和输入衣服编码进行融合处理:
17.通过第一卷积层和第二卷积层分别对输入特征图进行特征提取,得到第一中间特征图和第二中间特征图;
18.通过第一卷积层和第二卷积层分别对输入衣服编码进行特征提取,得到第一中间编码和第二中间编码;
19.通过融合层对输入特征图、第一中间特征图、第二中间特征图和第一中间编码、第二中间编码进行融合处理。
20.在一些实施例中,通过融合层对输入特征图、第一中间特征图、第二中间特征图和第一中间编码、第二中间编码进行融合处理,包括:
21.以第一中间特征图为均值、第二中间特征图为方差,对输入特征图进行归一化处理;
22.将归一化处理得到的结果与第一中间编码、第二中间编码进行融合处理。
23.在一些实施例中,融合层采用以下公式进行融合处理:
[0024][0025]
其中,x为输入特征图,μ(x)为第一中间特征图,σ(x)为第二中间特征图,y为输入衣服编码,μ(y)为第一中间编码,σ(y)为第二中间编码,in(x,y)为融合层输出的特征图。
[0026]
在一些实施例中,损失函数包括真实试衣图像和预测试衣图像之间的对抗损失、感知损失和衣服像素损失,其中,衣服像素损失反映n个衣服图像中的衣服分别在真实试衣图像中的像素和在预测试衣图像中的像素之间的差异。
[0027]
在一些实施例中,损失函数包括:
[0028]
l=l
cgan
λ1l
percept
λ2l
l1

[0029]
其中,l
cgan
=e[logd(t)] e[1-logd(y)]
[0030][0031][0032]
其中,l
cgan
为对抗损失,l
percept
为感知损失,l
l1
为衣服像素损失,λ1和λ2为超参数,t为真实试衣图像,y为预测试衣图像,d为判别器,fi(t)是由真实试衣图像提取得到的第i个特征图,fi(y)是由预测试衣图像提取得到的第i个特征图,ri是fi(t)或fi(y)中的元素数量,v为fi(t)的个数或fi(y)的个数,fj(t)是第j件衣服在真实试衣图像中的像素,fj(f)是第j件衣服在预测试衣图像中的像素。
[0033]
为解决上述技术问题,第二方面,本技术实施例中提供了一种生成试衣图像的方法,包括:
[0034]
获取用户图像和n个待试衣服图像;
[0035]
对用户图像进行人体解析,得到用户的第一解析图,从用户的第一解析图中分离出用户的第二解析图,并根据用户的第二解析图从用户图像中提取出用户的身体躯干图,其中,用户的第二解析图反映用户身体躯干的像素区域;
[0036]
将n个变形后的待试衣服图像、用户的身体躯干图和n个待试衣服图像输入试衣模型,生成试衣图像,其中,试衣模型采用如权利要求1-7中任意一项训练试衣模型的方法训练得到,n个变形后的待试衣服图像是通过对n个待试衣服图像中的衣服按用户图像中用户人体结构进行变形得到。
[0037]
为解决上述技术问题,第三方面,本技术实施例中提供了一种电子设备,包括:
[0038]
至少一个处理器,以及
[0039]
与至少一个处理器通信连接的存储器,其中,
[0040]
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上第一方面中的方法。
[0041]
为解决上述技术问题,第四方面,本技术实施例中提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机设备执行如上第一方面的方法。
[0042]
本技术实施例的有益效果:区别于现有技术的情况,本技术实施例提供的训练试衣模型的方法,通过设计上述试衣网络的结构,试衣网络包括融合解析网络和生成网络,融合解析网络对n个衣服图像和反映模特身体躯干像素区域的第二解析图进行下采样编码和上采样解码,得到融合解析图,从融合解析图中可以清楚获取身体躯干对应的像素位置和n个要试穿衣服对于的像素位置。生成网络中的第一编码器对n个变形后的衣服图像进行下采样编码得到n个衣服编码,生成网络中级联的第二编码器、n个融合模块、解码器依次对身体躯干图和融合解析图进行下采样编码、融合、上采样解码直至输出预测试衣图像。在融合解码过程中,相同层次的解析特征图约束相同层次的试衣特征图的像素类别,即约束多个衣服相对于身体躯干的位置。随着试衣网络的不断迭代训练,融合解析图会按真实混搭试穿效果进行分割,生成的预测试衣图像会不断地靠近真实试衣图像(真实标签),即得到准确的试衣模型。因此,采用该试衣模型能够生成多件衣服混搭效果的试衣图像。
附图说明
[0043]
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0044]
图1为本技术一些实施例中试衣系统的应用场景示意图;
[0045]
图2为本技术一些实施例中电子设备的结构示意图;
[0046]
图3为本技术一些实施例中训练试衣模型的方法的流程示意图;
[0047]
图4为本技术一些实施例中试衣网络的结构示意图;
[0048]
图5为本技术一些实施例中人体解析图;
[0049]
图6为本技术一些实施例中融合解析网络的工作示意图;
[0050]
图7为本技术一些实施例中生成网络的工作示意图;
[0051]
图8为本技术一些实施例中融合模块的工作示意图;
[0052]
图9为本技术一些实施例中生成试衣图像的方法的流程示意图。
具体实施方式
[0053]
下面结合具体实施例对本技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本技术,但不以任何形式限制本技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进。这些都属于本技术的保护范围。
[0054]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
[0055]
需要说明的是,如果不冲突,本技术实施例中的各个特征可以相互结合,均在本技术的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
[0056]
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本说明书中在本技术的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本技术。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0057]
此外,下面所描述的本技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0058]
为便于对本技术实施例提供的方法进行理解,首先对本技术实施例中涉及的名词进行介绍:
[0059]
(1)神经网络
[0060]
神经网络可以是由神经单元组成的,具体可以理解为具有输入层、隐含层、输出层的神经网络,一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。其中,具有很多层隐含层的神经网络则称为深度神经网络(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控制着如何变换空间。训练神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵。因此,神经网络的训练过程
本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
[0061]
需要注意的是,在本技术实施例中,基于机器学习任务所采用的模型,本质都是神经网络。神经网络中的常用组件有卷积层、池化层、归一化层和反向卷积层等,通过组装神经网络中的这些常用组件,设计得到模型,当确定模型参数(各层的权重矩阵)使得模型误差满足预设条件或调整模型参数的数量达到预设阈值时,模型收敛。
[0062]
其中,卷积层配置有多个卷积核、每个卷积核设置有对应的步长,以对图像进行卷积运算。卷积运算的目的是提取输入图像的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更深的卷积层能从低级特征中迭代提取更复杂的特征。
[0063]
反向卷积层用于将一个低维度的空间映射到高维度,同时保持他们之间的连接关系/模式(这里的连接关系即是指卷积时候的连接关系)。反向卷积层配置有多个卷积核、每个卷积核设置有对应的步长,以对图像进行反卷积运算。一般,用于设计神经网络的框架库(例如pytorch库)中内置有upsumple()函数,通过调用该upsumple()函数可以实现低维度到高维度的空间映射。
[0064]
池化层(pooling)是模仿人的视觉系统可以对数据进行降维或,用更高层次的特征表示图像。池化层的常见操作包括最大值池化、均值池化、随机池化、中值池化和组合池化等。通常来说,神经网络的卷积层之间都会周期性插入池化层以实现降维。
[0065]
归一化层用于对中间层的所有神经元进行归一化运算,以防止梯度爆炸和梯度消失。
[0066]
(2)损失函数
[0067]
在训练神经网络的过程中,因为希望神经网络的输出尽可能的接近真正想要预测的值,可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重矩阵(然,在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重矩阵让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么神经网络的训练就变成了尽可能缩小这个loss的过程。
[0068]
(3)人体解析
[0069]
人体解析是指将在图像中捕获的人分割成多个语义上一致的区域,例如,身体部位和衣物,或,身体部位的细分类别和衣物的细分类别等。即像素级地识别输入图像,并为图像中每个像素点标注其所属的对象类别。例如,通过神经网络将包括人体的图片中的各个要素(包括头发、脸、四肢、衣服以及背景等)进行区分。
[0070]
为介绍本技术实施例前,先对本技术发明人所知晓的虚拟试衣方法进行简单介绍,使得后续便于理解本技术实施例。
[0071]
一般,采用生成对抗网络(generative adversarial networks,gan)训练试衣模型,从而,将试衣模型置于终端中供用户使用,获取用户图像和要试穿的衣服图像后,即可生成虚拟试衣图像。然而,大部分试衣模型仅能生成一件试穿衣服的试衣图像。若用户需要多件衣服混搭的试穿效果,则无法实现。
[0072]
针对上述问题,本技术实施提供了一种训练试衣模型的方法、生成试衣图像的方法、计算设备及存储介质,其中,该训练方法通过设计试衣模型的网络结构生成解析特征图,通过相同层次的解析特征图约束相同层次的上采样特征图的像素类别,从而对身体躯干和各个衣服进行像素区定位,使得训练得到的试衣模型能够生成多件衣服混搭效果的试衣图像。
[0073]
下面说明本技术实施例提供的用于训练试衣模型或用于用于生成试衣图像的电子设备的示例性应用,可以理解的是,电子设备即可以训练试衣模型,也可以采用该试衣模型生成试衣图像。
[0074]
本技术实施例提供的电子设备可以是服务器,例如部署在云端的服务器。当服务器用于训练试衣模型时,根据其他设备或者本领域技术人员提供的训练集和试衣网络,采用该训练集对试衣网络进行迭代训练,确定最终的模型参数,从而试衣网络配置该最终的模型参数,即可得到试衣模型。当服务器用于生成试衣图像时,调用内置的试衣模型,对其他设备或者用户提供的用户图像、多个待试衣服图像进行相应的计算处理,融合生成多件衣服混搭效果的试衣图像。
[0075]
本技术一些实施例提供的电子设备可以是笔记本电脑、台式计算机或移动设备等各种类型的终端。当终端用于训练试衣模型时,本领域技术人员将准备好的训练集输入终端,并在终端上设计试衣网络,终端采用该训练集对试衣网络进行迭代训练,确定最终的模型参数,从而试衣网络配置该最终的模型参数,即可得到试衣模型。当终端用于生成试衣图像时,调用内置的试衣模型,对用户输入的用户图像、多个待试衣服图像进行相应的计算处理,融合生成多件衣服混搭效果的试衣图像。
[0076]
作为示例,参见图1,图1是本技术实施例提供的试衣系统的应用场景示意图,终端10通过网络连接服务器20,其中,网络可以是广域网或者局域网,又或者是二者的组合。
[0077]
终端10可以被用来获取训练集和构建试衣网络,例如,本领域技术人员在终端上下载准备好的训练集,以及,搭建试衣网络的网络结构。可以理解的是,终端10也可以被用来获取用户图像和多个待试衣服图像,例如,用户通过输入界面输入用户图像和多个待试衣服图像,输入完成后,终端自动获取用户图像和多个待试衣服图像;例如,终端10具备摄像头,通过摄像头采集用户图像,终端10内存储有衣服图像库,用户可以从衣服图像库中选择多个待试衣服图像。
[0078]
在一些实施例中,终端10本地执行本技术实施例提供的训练试衣模型的方法来完成采用训练集对设计好的试衣网络进行训练,确定最终的模型参数,从而试衣网络配置该最终的模型参数,即可得到试衣模型。在一些实施例中,终端10也可以通过网络向服务器20发送本领域技术人员在终端上存储的训练集和构建好的试衣网络,服务器20接收该训练集和试衣网络,采用训练集对设计好的试衣网络进行训练,确定最终的模型参数,然后将该最终的模型参数发送给终端10,终端10保存该最终的模型参数,使得试衣网络配置能够该最终的模型参数,即可得到试衣模型。
[0079]
在一些实施例中,终端10本地执行本技术实施例提供的生成试衣图像的方法来为用户提供虚拟试衣服务,调用内置的试衣模型,对用户输入的用户图像、多个待试衣服图像进行相应的计算处理,融合生成多件衣服混搭效果的试衣图像。在一些实施例中,终端10也可以通过网络向服务器20发送用户在终端上输入的用户图像和多个待试衣服图像,服务器
20收到用户图像和多个待试衣服图像,调用内置的试衣模型对用户图像、多个待试衣服图像进行相应的计算处理,融合生成多件衣服混搭效果的试衣图像,然后将试衣图像发送给终端10。终端10在接收到试衣图像后,将试衣图像显示在自身的显示界面上,供用户观看混搭效果。
[0080]
下面说明本技术实施例中电子设备的结构,图2是本技术实施例中电子设备500的结构示意图,电子设备500包括至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
[0081]
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0082]
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头,其他输入按钮和控件。
[0083]
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
[0084]
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0085]
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0086]
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(wifi),和通用串行总线(usb,universal serial bus)等;
[0087]
显示模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
[0088]
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0089]
根据上文可以理解,本技术实施例提供的训练试衣模型的方法和生成试衣图像的方法可以由各种类型具有计算处理能力的电子设备实施,例如智能终端和服务器等。
[0090]
下面结合本技术实施例提供的服务器的示例性应用和实施,说明本技术实施例提供的训练试衣模型的方法。参见图3,图3是本技术实施例提供的训练试衣模型的方法的流
程示意图。参见图4,作为该试衣模型的网络结构的试衣网络包括融合解析网络和生成网络,其中,生成网络包括第一编码器和级联的第二编码器、n个融合模块、解码器,第一编码器与n个融合模块连接。图4中以n为2进行示例性说明。
[0091]
这里,级联指顺次首尾相连,以n等于2为例,基于第二编码器、2个融合模块、解码器顺次首尾相连,则第二编码器输出的特征图会输入第1个融合模块,第1个融合模块输出的特征图会输入第2个融合模块,第2个融合模块输出的特征图会输入解码器。基于第一编码器与2个融合模块连接,则第一编码器输出的特征编码会输入至融合模块与特征图进行融合。可以理解的是,第一编码器输出2个特征编码,则这2个特征编码与2个融合模块一一对应输入,与相应的特征图进行融合。
[0092]
本领域技术人员可以理解的是,第一编码器和第二编码器均包括多个下采样卷积层,在第一编码网络和第二编码网络中,随着下采样卷积层的递进,输出的特征图的尺寸越来越小。解码器包括多个上采样卷积层,在解码网络中,随着上采样卷积层的递进,输出的特征图的尺寸越来越大。本领域技术人员可以根据实际需求配置各下采用卷积层和各上采样卷积层的卷积核大小、步长等参数。
[0093]
可以理解的是,该试衣网络可以是本领域技术人员在终端(例如电脑)上的神经网络设计平台上自行构建好的,然后,发送给服务器。
[0094]
请再次参阅图3,该方法s100具体可以包括如下步骤:
[0095]
s10:获取训练集。
[0096]
该训练集包括多个训练数据,训练数据包括真实试衣图像和n个衣服图像。真实试衣图像包括模特穿有这n个衣服图像中对应衣服的图像,其中,n≥2,则说明至少有2个衣服图像,即至少有2件需要试穿的衣服。
[0097]
可以理解的是,一训练数据包括真实试衣图像和n个衣服图像构成的图像组,在一些实施例中,训练数据的数量为万级,例如可以为20000,有利于训练得到准确的通用模型。本领域技术人员可根据实际情况确定训练数据的数量。
[0098]
在n个衣服图像和真实试衣图像构成的图像组中,每一衣服图像包括想要试穿的衣服,有n个衣服图像,说明同时混搭试穿n件衣服。真实试衣图像中模特穿有对应的n个衣服图像中的衣服。以n为2为例,例如衣服图像1#包括一件绿色短袖,衣服图像2#包括一件白色外套。与衣服图像1#和2#对应的真实试衣图像中模特穿有该绿色短袖和白色外套。
[0099]
可以理解的是,包括真实试衣图像和n个衣服图像的训练数据可由本领域技术人员事先在终端(例如电脑)上搜集得到,例如在一些服饰售卖网站上可爬取至少两个衣服图像和对应的穿有这至少两件衣服的模特图像(即真实试衣图像)。在准备好训练集后,通过终端将训练集上传至服务器。
[0100]
s20:对真实试衣图像进行人体解析,得到第一解析图,从第一解析图中分离出第二解析图,并根据第二解析图从真实试衣图像中提取出身体躯干图,其中,第二解析图反映模特身体躯干的像素区域。
[0101]
在服务器接收到训练集后,对训练集中各真实试衣图像进行人体解析,得到第一解析图,进而提取出身体躯干图。
[0102]
可以理解的是,在对真实试衣图像中的模特进行更换衣服时,需要保留模特的身份特征等需要保留的特征。在衣服和模特进行融合前,提取模特的身份特征,即获取用户的
身体躯干图,一方面,能够避免原有旧衣服特征对融合造成干扰,另一方面,能够保留模特的身份特征,使得模特换上需要试穿的衣服后不失真。
[0103]
具体地,由前述“名词介绍(3)”可知,人体解析是将人体的各个部位分割出来,如图5所示,不同的部位,例如头发、脸、上衣、裤子、胳膊、帽子、鞋等各个部位识别分割出来,用不同的颜色表示,即得到第一解析图。
[0104]
在一些实施例中,人体解析算法可以为现有的graphonomy算法。graphomay算法会针对图像分割成20个类别,可以采用不同的颜色进行区分,将各部位进行划分。在一些实施例中,也可以采用标号0-19对前述20个类别进行划分,例如0表示背景,1表示帽子,2表示头发,3表示手套,4表示墨镜,5表示上衣,6表示连衣裙,7表示外套,8表示袜子,9表示裤子,10表示躯干皮肤,11表示围巾,12表示半裙,13表示脸,14表示左手臂,15表示右手臂,16表示左腿,17表示右腿,18表示左鞋,19表示右鞋。从解析图中,可以确定图像中各个部位所属的类别。
[0105]
为了保证生成预测试衣图像的过程中模特身份信息不变,在此实施例中,从第一解析图中分离出第二解析图,第二解析图反映模特身体躯干的像素区域。例如,提取第一解析图中像素类别为2(头发)、10(躯干皮肤)、13(脸)、14(左手臂)、15(右手臂)、16(左腿)、17(右腿)、18(左鞋)和19(右鞋)的像素区域,作为第二解析图。
[0106]
第二解析图表征了模特身体躯干的像素区域,去除了背景等干扰区域。因此,能够根据第二解析图从真实试衣图像中提取出身体躯干图。基于身体躯干图保留模特的身份信息,去除了背景干扰,采用身体躯干图输入试衣网络进行训练,有利于提高模型的收敛速度和准确性。
[0107]
在一些实施例中,前述“根据第二解析图从真实试衣图像中提取出身体躯干图”,包括:
[0108]
对第二解析图进行二值化处理,得到二值化图像,在二值化图像中身体躯干区域对应的像素为1,其它区域对应的像素为0。将真实试衣图像中的像素和二值化图像中的像素对应位置相乘,得到身体躯干图。
[0109]
例如,对于第二解析图,将像素类别为2(头发)、10(躯干皮肤)、13(脸)、14(左手臂)、15(右手臂)、16(左腿)、17(右腿)、18(左鞋)和19(右鞋)等体现人体身份特征的像素区域进行类别更改,将这些像素区域的像素类别更改设置为1,其它区域的像素类别设置为0,即实现二值化处理,得到二值化图像。从而,得到仅采用0和1表征像素类别的二值化图像m。
[0110]
二值化图像m与第一解析图和真实试衣图像的大小相同,二值化图像m包括0和1的元素。相当于,二值化图像m中模特的身体区域对应的像素为1,其它区域对应的像素为0。从而,将真实试衣图像f与二值化图像m对应位置相乘,即可得到身体躯干图f’=f*m。
[0111]
对应位置相乘,可以采用公式f

ij
=f
ij
×mij
解释,其中,f
ij
表示真实试衣图像中第i行第j列的像素值,m
ij
表示二值化图像中第i行第j列的数值,f

ij
为身体躯干图中第i行第j列的像素值。
[0112]
在此实施例中,通过从第一解析图中分离出反映身份特征的第二解析图,对第二解析图进行二值化处理,将得到的二值化图像与真实试衣图像对应位置相乘,即可得到身体躯干图,使得身体躯干图中能够准确保留模特的身份特征,去除需要被替换的原有衣服特征,使得模特换上需要试穿的衣服后不失真。
[0113]
s30:将n个衣服图像和第二解析图输入融合解析网络,得到融合解析图。
[0114]
服务器采用融合解析网络对n个衣服图像和第二解析图进行下采样编码和上采样解码,得到融合解析图。
[0115]
该融合解析图包括n个衣服图像中对应衣服的像素区域和模特身体躯干的像素区域。例如,对于模特身体躯干、要试穿的绿色短袖和白色外套,随着网络逐渐收敛,在融合解析图中,按真实混搭试穿效果进行区域分割,从融合解析图中可以清楚获取身体躯干对应的像素位置,绿色短袖对应的像素位置和白色外套对应的像素位置。
[0116]
在一些实施例中,请参阅图6,融合解析网络包括编码器和解码器,其中,编码器包括6个下采样卷积层,最后一个下采样卷积层提取到4*4*256大小的特征图。解码器包括6个上采样卷积层,对4*4*256大小的特征图进行上采样,最后一个上采样卷积层输出512*512*3大小的融合解析图。
[0117]
本领域技术人员可以理解的是,当rgb三通道的衣服图像1#、衣服图像2#以及单通道的第二解析图输入融合解析网络时,衣服图像1#、衣服图像2#和第二解析图组合成七通道的输入图像,输入融合解析网络中的编码器。编码器中的6个下采样卷积层对该七通道的输入图像进行逐层下采样提取特征,输出一个4*4*256大小的特征图。随后,该4*4*256大小的特征图输入融合解析网络中的解码器。解码器中的6个上采样卷积层对4*4*256大小的特征图进行上采样,最后,输出512*512*1大小的融合解析图。
[0118]
在该单通道的融合解析图中,能够定位出n个衣服图像中对应衣服的像素区域和模特身体躯干的像素区域。可以理解的是,随着试衣网络的训练,n个衣服图像中对应衣服的像素区域和模特身体躯干的像素区域逼近真实试穿效果,按真实混搭试穿效果进行分割。
[0119]
s40:将身体躯干图、融合解析图和n个变形后的衣服图像输入生成网络,得到预测试衣图像。
[0120]
在服务器获取到身体躯干图融合解析图和n个变形后的衣服图像后,采用生成网络对身体躯干图融合解析图和n个变形后的衣服图像进行融合处理,得到预测试衣图像。
[0121]
其中,n个变形后的衣服图像是通过对该n个衣服图像中的衣服按真实试衣图像中模特人体结构进行变形得到的。这里,考虑到衣服图像中衣服呈二维平面状态,然而,人体结构是立体的,为了使得衣服与模特在生成网络中进行融合时衣服能够与人体结构相适应,对n个衣服图像中的衣服按真实试衣图像中模特人体结构进行变形,得到变形后的衣服图像。变形后的衣服图像中的衣服呈立体状态,与人体结构相适应,有益于衣服与人体融合后结合贴切,试衣效果真实自然。在一些实施例中,可以分别采用现有的关键点算法(例如stacked hourglass network)定位出衣服关键点和人体关键点,然后基于衣服关键点和人体关键点,计算出用于仿射变化的仿射变化矩阵,然后,将衣服图像中的衣服像素按仿射变化矩阵进行仿射变化,能够得到准确的变形后的衣服图像。具体地,可以采用如下公式进行计算:
[0122][0123]
(xi,yi)为衣服图像中衣服像素的坐标,(x
′i,y
′i)为变形后的衣服图像中衣服像
素的坐标,h为前述计算所得的仿射变化矩阵。
[0124]
为了提取要试穿的衣服的特征,将n个变形后的衣服图像输入第一编码器进行下采样编码得到n个衣服编码。在一些实施例中,第一编码器包括7个卷积层(conv),这7个卷积层(conv)配置的卷积核大小、步长以及输出的特征图的大小,如下表1所示。第一编码器主要采用3*3大小的卷积核(kernel_size),步长(s)设置为2,实现降为的操作。输入第一编码器的衣服图像x的大小为512*512*3,第一编码器的最后一层卷积层输出4*4*512大小的衣服编码。
[0125]
表1第一编码器的网络结构
[0126]
layerkernel_sizesoutput shapeimage x
‑‑
512*512*3conv12256*256*16conv32128*128*32conv3264*64*64conv3232*32*128conv3216*16*256conv328*8*256conv324*4*512
[0127]
可以理解的是,n个变形后的衣服图像在第一编码器中进行下采样编码是独立进行的,得到的n个衣服编码与n个变形后的衣服图像一一对应,衣服编码的大小为4*4*512。
[0128]
请参阅图7,n个衣服编码分别对应输入n个融合模块,即一个衣服编码对应输入一个融合模块,以等待与从第二编码器输出的特征图进行融合。身体躯干图和融合解析图输入生成网络,基于生成网络包括级联的第二编码器、n个融合模块、解码器,从而,身体躯干图和融合解析图均在生成网络中依次进行下采样编码、融合、上采样解码,得到预测试衣图像。在融合解码过程中,相同层次的解析特征图约束相同层次的试衣特征图的像素类别。
[0129]
具体地,如图7所示,身体躯干图和融合解析图首先输入第二编码器分别进行下采样编码,得到4*4*512大小的身体躯干特征图和4*4*512大小的解析特征图。以n为2为例,身体躯干特征图和解析特征图输入第1个融合模块,身体躯干特征图与相同大小的第1个衣服编码进行融合生成第1个试衣特征图(4*4*512大小),在融合的过程中,解析特征图约束第1个试衣特征图中像素的像素类别,即对第1件试穿的衣服相对于身体躯干进行定位。这里,输入第1个融合模块的身体躯干特征图、解析特征图和衣服编码的大小都为4*4*512,属于相同层次。
[0130]
第1个试衣特征图输入第2个融合模块,与相同大小的第2个衣服编码进行融合生成第2个试衣特征图(4*4*512大小),在融合的过程中,解析特征图约束第2个试衣特征图中像素的像素类别,即对第2件试穿的衣服相对于身体躯干进行定位。这里,相同层次可以理解为分辨率相同且对应同一融合模块或卷积层。
[0131]
第2个试衣特征图和解析特征图输入解码器中,随着上采样卷积层的逐层推进,逐层进行上采样解码,生成尺寸逐渐增大的试衣特征图和解析特征图,解码器的最后一个上采样特征图输出预测试衣图像(例如大小为512*512*3)。在解码过程中,相同层次的解析特征图约束相同层次的试衣特征图中像素的像素类别,即输入同一上采样卷积层的解析特征
图对相应的试衣特征图进行像素类别约束,即约束多个衣服相对于身体躯干的位置,实现真实的混搭试穿效果。
[0132]
在一些实施例中,融合模块包括第一卷积层、第二卷积层和融合层。第一卷积层和第二卷积层的卷积核参数可以根据实际情况配置,在一些实施例中,第一卷积层和第二卷积层的卷积核大小可以为3*3,用于卷积运算提取特征。第一卷积层和第二卷积层是两个不同的卷积层,卷积运算方式不同。
[0133]
融合层是对两个或多个输入的特征图进行融合处理,输出一个融合后的特征图。
[0134]
在此实施例中,融合模块采用以下方式对输入特征图和输入衣服编码进行融合处理:
[0135]
通过第一卷积层和第二卷积层分别对输入特征图进行特征提取,得到第一中间特征图和第二中间特征图。通过第一卷积层和第二卷积层分别对输入衣服编码进行特征提取,得到第一中间编码和第二中间编码。通过融合层对输入特征图、第一中间特征图、第二中间特征图和第一中间编码、第二中间编码进行融合处理。
[0136]
请参阅图8,当输入特征图输入融合模块后,第一卷积层对输入特征图进行卷积处理提取特征,得到第一中间特征图μ(x),第二卷积层对输入特征图进行卷积处理提取特征,得到第二中间特征图σ(x)。可以理解的是,这里,输入特征图可以是第二编码器输出的特征图或者上一个融合模块输出的特征图。同理,当衣服编码输入融合模块后,第一卷积层对衣服编码进行卷积处理提取特征,得到第一中间编码μ(y),第二卷积层对衣服编码进行卷积处理提取特征,得到第二中间编码σ(y)。
[0137]
然后,该输入特征图、第一中间特征图、第二中间特征图和第一中间编码、第二中间编码均输入融合层进行融合处理,
[0138]
在此实施例中,先对输入特征图和衣服编码采用两种不同的卷积方式(第一卷积层和第二卷积层)进行特征提取,得到第一中间特征图、第二中间特征图和第一中间编码、第二中间编码,这些中间特征图能够从不同角度保留输入特征图的特征,这些中间编码能够从不同角度保留衣服编码的特征,从而使得基于将这些中间特征图和中间编码进行融合处理得到的融合特征图能够更加全面地反映输入特征图和衣服编码的特征,不丢失特征。
[0139]
在一些实施例中,前述“通过融合层对输入特征图、第一中间特征图、第二中间特征图和第一中间编码、第二中间编码进行融合处理”,包括:以第一中间特征图为均值、第二中间特征图为方差,对输入特征图进行归一化处理;将归一化处理得到的结果与第一中间编码、第二中间编码进行融合处理。
[0140]
这里,先对输入特征图进行归一化处理,归一化处理得到的结果中像素值数值差异减小,归一化处理得到的结果与第一中间编码、第二中间编码进行融合处理,能有效减小像素值数值差异对融合造成的影响,能够更好地融合保留第一中间编码和第二中间编码所反映的衣服特征。
[0141]
在一些实施例中,前述融合层采用以下公式进行融合处理:
[0142][0143]
其中,x为输入特征图,μ(x)为第一中间特征图,σ(x)为第二中间特征图,y为输入衣服编码,μ(y)为第一中间编码,σ(y)为第二中间编码,in(x,y)为融合层输出的特征图。
[0144]
在此实施例中,归一化处理得到的结果首先与第二中间编码σ(y)进行相乘融合,然后与第一中间编码μ(y)进行相加融合,经过相乘融合和相加融合,能够更好地融合保留要试穿衣服的衣服特征。
[0145]
s50:采用损失函数对试衣网络进行迭代训练,直到试衣网络收敛,得到试衣模型,该损失函数用于表征训练集中各真实试衣图像和各预测试衣图像之间的差异。
[0146]
这里,损失函数可由本领域技术人员在终端中配置,配置好的损失函数随着试衣网络一起发送给服务器,服务器在处理得到训练集中各真实试衣图像对应的预测试衣图像后,采用损失函数计算训练集中各真实试衣图像和预测试衣图像之间的差异,基于差异对试衣网络进行迭代训练,直到试衣网络收敛,得到试衣模型。
[0147]
可以理解的是,若训练集中各真实试衣图像和预测试衣图像的差异越小,则真实试衣图像和预测试衣图像就越相似,说明预测试衣图像能够准确地还原出真实试衣图像。从而,可以根据训练集中各真实试衣图像和预测试衣图像的差异,调整前述试衣网络的模型参数,对试衣网络进行迭代训练。基于试衣网络包括融合解析网络和生成网络,则模型参数包括融合解析网络的模型参数和生成网络的模型参数。即将上述差异进行反向传播,使得试衣网络输出的预测试衣图像不断逼近真实试衣图像,直到试衣网络收敛,得到试衣模型。
[0148]
可以理解的是,这里的试衣网络收敛可以指的是在某一模型参数下,训练集中各真实试衣图像和预测人体试衣图的差异总和小于预设阈值或在某一范围内波动。
[0149]
在一些实施例中,采用adam算法优化模型参数,例如,迭代次数设置为10万次,初始化学习率设置为0.001,学习率的权重衰减设置为0.0005,每1000次迭代,学习率衰减为原来的1/10,其中,可以将学习率、训练集中各真实试衣图像和各预测试衣图像的差异输入至adam算法中,得到adam算法输出的调整模型参数,利用该调整模型参数进行下一次训练,直到训练完后,输出收敛后的试衣网络的模型参数,即得到试衣模型。
[0150]
可以理解的是,在服务器得到收敛后的试衣网络的模型参数(即最终的模型参数)后,可以将该最终的模型参数发送给终端,终端内的试衣网络配置有该最终的模型参数,得到试衣模型。在一些实施例中,服务器也可以保存该试衣网络和最终的模型参数,得到试衣模型。
[0151]
需要说明的是,本技术实施例中,训练集包括多个训练数据,例如20000个训练数据,其覆盖的模特、衣服不同,能覆盖市面上大部分的衣服特点。因此,训练出的试衣模型是一个通用的模型,能够广泛用于虚拟试衣,生成具有真实混搭试穿效果的试衣图像。
[0152]
在此实施例中,采用损失函数计算训练集中各真实试衣图像对应的真实试衣图像和预测试衣图像之间的差异。损失函数已在前述“名词介绍(2)”中得以详细介绍,在此不再重复赘述。可以理解的是,基于网络结构和训练方式不同,损失函数的结构可以根据实际情况而设置。
[0153]
在一些实施例中,损失函数包括真实试衣图像和预测试衣图像之间的对抗损失、感知损失和衣服像素损失,其中,衣服像素损失反映n个衣服图像中的衣服分别在真实试衣图像中的像素和在预测试衣图像中的像素之间的差异。
[0154]
其中,对抗损失是预测试衣图像是否为对应的真实试衣图像的损失,当对抗损失
大时,说明预测试衣图像的分布与真实试衣图像的分布差异较大,当对抗损失小时,说明预测试衣图像的分布与真实试衣图像的分布差异较小、相近。这里,试衣图像的分布是指图像中各部位的分布,例如衣服、头部、四肢的分布等。
[0155]
感知损失是将真实试衣图像经卷积得到的特征图与预测试衣图像经卷积得到的特征图作比较,使得高层信息(内容和全局结构)接近。
[0156]
衣服像素损失反映n个衣服图像中的衣服分别在真实试衣图像中的像素和在预测试衣图像中的像素之间的差异。将预测试衣图像中的衣服像素与真实试衣图像中的衣服像素进行比较,使得预测试衣图像中衣服能够逼近真实试衣图象中衣服,一方面,使得试穿衣服接近真实试穿效果,另一方面,保证预测试衣图像在训练中的稳定性,加快模型收敛的速度。
[0157]
在一些实施例中,该损失函数包括:
[0158]
l=l
cgan
λ1l
percept
λzl
l1

[0159]
其中,l
cgan
=e[logd(t)] e[1-logd(y)]
[0160][0161][0162]
其中,l
cgan
为所述对抗损失,l
percept
为所述感知损失,l
l1
为所述衣服像素损失,λ1和λ2为超参数,t为所述真实试衣图像,y为所述预测试衣图像,d为判别器,fi(t)是由所述真实试衣图像提取得到的第i个特征图,fi(y)是由所述预测试衣图像提取得到的第i个特征图,ri是fi(t)或fi(y)中的元素数量,v为所述fi(t)的个数或所述fi(y)的个数,fj(t)是第j件衣服在所述真实试衣图像中的像素,fj(f)是所述第j件衣服在所述预测试衣图像中的像素。
[0163]
在一些实施例中,可以采用vgg等卷积神经网络对真实试衣图像进行下采样,提取得到v个特征图fi(t)。同理,可以采用vgg等卷积神经网络对预测试衣图像进行下采样,提取得到v个特征图fi(y)。
[0164]
在一些实施例中,当i=1时fi(t)和fi(y)的大小为8*8;当i=2时fi(t)和fi(y)的大小为16*16;当i=3时fi(t)和fi(y)的大小为32*32;当i=4时fi(t)和fi(y)的大小为64*64;当i=5时fi(t)和fi(y)的大小为128*128;当i=6时fi(t)和fi(y)的大小为256*256;当i=7时fi(t)和fi(y)的大小为512*512。
[0165]
因此,基于包括对抗损失、感知损失和衣服像素损失的损失函数计算得到的差异,对试衣网络进行迭代训练,能够约束预测试衣图像从分布、内容特征和衣服像素这四个方面不断靠近真实试衣图像,有利于提高训练得到的试衣模型的试衣效果。
[0166]
综上所述,通过设计上述试衣网络的结构,试衣网络包括融合解析网络和生成网络,融合解析网络对n个衣服图像和反映模特身体躯干像素区域的第二解析图进行下采样编码和上采样解码,得到融合解析图,从融合解析图中可以清楚获取身体躯干对应的像素位置和n个要试穿衣服对于的像素位置。生成网络中的第一编码器对n个变形后的衣服图像进行下采样编码得到n个衣服编码,生成网络中级联的第二编码器、n个融合模块、解码器依
次对身体躯干图和融合解析图进行下采样编码、融合、上采样解码直至输出预测试衣图像。在融合解码过程中,相同层次的解析特征图约束相同层次的试衣特征图的像素类别,即约束多个衣服相对于身体躯干的位置。随着试衣网络的不断迭代训练,融合解析图会按真实混搭试穿效果进行分割,融合生成的预测试衣图像会不断地靠近真实试衣图像(真实标签),即得到准确的试衣模型。因此,采用该试衣模型能够生成多件衣服混搭效果的试衣图像。
[0167]
在通过本技术实施例提供的训练试衣模型的方法训练得到试衣模型后,可利用该试衣模型应用至虚拟试衣,生成试衣图像。本技术实施例提供的生成试衣图像的方法可以由各种类型具有计算处理能力的电子设备实施,例如智能终端和服务器等。
[0168]
下面结合本技术实施例提供的终端的示例性应用和实施,说明本技术实施例提供的生成试衣图像的方法。参见图9,图9是本技术实施例提供的生成试衣图像的方法的流程示意图。该方法s200包括如下步骤:
[0169]
s201:获取用户图像和n个待试衣服图像。
[0170]
终端(例如智能手机或智能试衣镜)内置的试衣助手(应用软件)获取用户图像和n个待试衣服图像。其中,该用户图像可以是终端拍摄的,或者用户输入终端的。n个待试衣服图像可以是用户从试衣助手中选择的。
[0171]
可以理解的是,用户图像包括用户的身体,待试衣服图像中包括衣服。
[0172]
s202:对用户图像进行人体解析,得到用户的第一解析图,从用户的第一解析图中分离出用户的第二解析图,并根据用户的第二解析图从用户图像中提取出用户的身体躯干图,其中,用户的第二解析图反映用户身体躯干的像素区域。
[0173]
可以理解的是,在对用户图像中的用户更换衣服时,需要保留用户的身份特征等需要保留的特征。
[0174]
在要试穿的衣服和用户输入试衣模型进行融合前,提取用户的身份特征,即获取用户的身体躯干图,一方面,能够避免原有旧衣服特征对融合造成干扰,另一方面,能够保留用户的身份特征,使得用户换上需要试穿的衣服后不失真。
[0175]
关于人体解析、分离第二解析图、提取身体躯干图已在步骤s20中详细介绍,在此不再重复说明。
[0176]
s203:将n个变形后的待试衣服图像、用户的身体躯干图和n个待试衣服图像输入试衣模型,生成试衣图像,其中,试衣模型采用前述训练实施例中训练试衣模型的方法训练得到。
[0177]
终端内置的试衣助手包括试衣模型,调用试衣模型生成试衣图像。
[0178]
n个变形后的待试衣服图像是通过对n个待试衣服图像中的衣服按用户图像中用户人体结构进行变形得到。为了使得衣服与用户在试衣模型中进行融合时衣服能够与人体结构相适应,对n个待试衣服图像中的衣服按用户人体结构进行变形,得到变形后的待试衣服图像。变形后的待试衣服图像中的衣服呈立体状态,与用户的人体结构相适应,有益于衣服与用户融合后结合贴切,试衣效果真实自然。具体的变形实施方式请参照步骤s40中的变形方式。
[0179]
然后,将n个变形后的待试衣服图像、用户的身体躯干图和n个待试衣服图像输入试衣模型,生成试衣图像。可以理解的是,该试衣模型是通过上述实施例中训练试衣模型的
方法训练得到,与上述实施例中试衣模型具有相同的结构和功能,在此不再一一赘述。
[0180]
简而言之,将n个变形后的待试衣服图像和用户的身体躯干图输入试衣模型,试衣模型首先会生成用户的融合解析图,用户的融合解析图。融合解析图会按用户真实混搭试穿这n件待试穿衣服的效果进行分割。然后,试衣模型生成试衣图像,在生成试衣图像的过程中,融合解析图约束试衣图像的像素类别,即约束多个衣服相对于身体躯干的位置,从而,能够生成多件衣服混搭效果的试衣图像
[0181]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使电子设备执行本技术实施例提供的训练试衣模型的方法,例如,如图3-8所示出的训练试衣模型的方法,或本技术实施例提供的生成试衣图像的方法,例如,如图9示出的生成试衣图像的方法。
[0182]
在一些实施例中,存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0183]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0184]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper textmarkup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0185]
作为示例,可执行指令可被部署为在一个计算设备(包括智能终端和服务器在内的设备)上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点目通过通信网络互连的多个计算设备上执行。
[0186]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被计算机执行时使计算机执行如前述实施例中训练试衣模型的方法或生成试衣图像的方法。
[0187]
需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0188]
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0189]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术的不同方面的许多其它变化,为了简明,它们没
有在细节中提供;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

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

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

相关文献