CN115272822A - 训练解析模型的方法、虚拟试衣方法及相关装置 - Google Patents
训练解析模型的方法、虚拟试衣方法及相关装置 Download PDFInfo
- Publication number
- CN115272822A CN115272822A CN202210862126.4A CN202210862126A CN115272822A CN 115272822 A CN115272822 A CN 115272822A CN 202210862126 A CN202210862126 A CN 202210862126A CN 115272822 A CN115272822 A CN 115272822A
- Authority
- CN
- China
- Prior art keywords
- image
- clothes
- model
- clothing
- deformation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000012549 training Methods 0.000 title claims abstract description 73
- 238000004458 analytical method Methods 0.000 claims abstract description 194
- 238000012545 processing Methods 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims description 40
- 239000013598 vector Substances 0.000 claims description 27
- 230000004927 fusion Effects 0.000 claims description 23
- 230000009466 transformation Effects 0.000 claims description 23
- 230000015654 memory Effects 0.000 claims description 20
- 238000000605 extraction Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 12
- 238000007499 fusion processing Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 abstract description 11
- 239000010410 layer Substances 0.000 description 69
- 238000013528 artificial neural network Methods 0.000 description 43
- 230000000694 effects Effects 0.000 description 31
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000011176 pooling Methods 0.000 description 11
- 238000005070 sampling Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000006872 improvement Effects 0.000 description 4
- 210000003127 knee Anatomy 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 3
- 210000003423 ankle Anatomy 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 210000002414 leg Anatomy 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 210000000707 wrist Anatomy 0.000 description 3
- 210000001217 buttock Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 210000003414 extremity Anatomy 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000000611 regression analysis Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000037237 body shape Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Business, Economics & Management (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例涉及图像处理技术领域,尤其涉及一种训练解析模型的方法、虚拟试衣方法及相关装置,采用获取若干个图像组对应的衣服变形图像和局部解析图像对图像生成网络进行训练,得到解析模型。其中,衣服变形图像作为先验条件,有效指导图像生成网络在生成预测解析图像时使得衣服轮廓准确。此外,局部解析图像保留了模特的躯干特征,指导图像生成网络在生成预测解析图像时使得躯干轮廓准确。基于衣服变形图像的指导作用和局部解析图像不受模特身上原衣服的影响,使得预测解析图像能够准确适应试穿衣服。上述方式对图像生成网络进行训练,训练得到的解析模型能够生成更加稳定的自适应衣服风格的解析图像。
Description
技术领域
本申请实施例涉及图像处理技术领域,尤其涉及一种训练解析模型的方法、虚拟试衣方法及相关装置。
背景技术
随着现代科技的不断进步,网购规模不断增加,用户可以通过手机在网络购物平台上购买衣物,但是,由于用户获取的待售衣物的信息一般是二维展示图片,用户无法知道这些衣物穿戴在自己身上的效果。从而,导致线上试装的需求日渐强烈,服装着装展示也成为现代计算机视觉领域的重要的方向。线上试装一般通过拍摄用户图像,对用户图像进行人体解析,得到人体解析图像。选择系统提供的试穿衣服,对试穿衣服按人体解析图像中对应的衣服区域进行变形处理,采用变形后的试穿衣服对用户身上原有的衣服进行自动替换。
然而,由于试穿衣服的风格样式与用户身上衣服的风格样式不同,从而,人体解析图像中衣服区域的轮廓与试穿衣服的穿着轮廓差异较大,对试穿衣服按人体解析图像中对应的衣服区域进行变形处理,会破坏试穿衣服的效果。例如,若试穿衣服为宽松型大衣,用户身上衣服为紧身毛衣,宽松型大衣按紧身毛衣的轮廓进行变形,会导致宽松型大衣变成紧身样式,试穿效果差。
发明内容
本申请实施例主要解决的技术问题是提供一种训练解析模型的方法、虚拟试衣方法及相关装置,该训练方法训练得到的解析模型,能够生成更加稳定的自适应衣服风格的解析图像,使得待试穿衣服按解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果。
为解决上述技术问题,第一方面,本申请实施例中提供了一种训练解析模型的方法,包括:
获取若干个图像组,图像组包括衣服图像和模特图像,模特图像中的模特穿有衣服图像中的衣服;
对衣服图像按模特图像中模特的人体结构进行初步变形,得到衣服变形图像;
对模特图像进行人体解析,得到真实解析图像,并从真实解析图像中提取模特躯干区域,得到局部解析图像;
将局部解析图像和衣服变形图像输入图像生成网络,得到预测解析图像;
采用损失函数计算预测解析图像和真实解析图像之间的损失,并根据若干个图像组对应的损失和,对图像生成网络进行迭代训练,直至收敛,得到解析模型。
在一些实施例中,前述对衣服图像按模特图像中模特的人体结构进行初步变形,得到衣服变形图像,包括:
对模特图像进行关键点检测,得到关键点图像;
采用几何匹配模块分别对关键点图像和衣服图像进行计算处理,生成变换参数;
利用变换参数对衣服图像进行变形处理,得到衣服变形图像。
在一些实施例中,该方法还包括:
将关键点图像上的每个关键点转化为1通道的热图,并将每个关键点对应的热图按通道进行拼接,得到姿势热图;
采用几何匹配模块分别对关键点图像和衣服图像进行计算处理,生成变换参数,包括:
采用几何匹配模块分别对姿势热图和衣服图像进行计算处理,生成变换参数。
在一些实施例中,前述图像生成网络包括连接的编码器、融合模块和解码器;
该方法还包括:
获取衣服图像对应的服装类别文本信息;
对服装类别文本信息进行特征编码,得到服装类别向量;
将局部解析图像和衣服变形图像输入图像生成网络,得到预测解析图像,包括:
局部解析图像和衣服变形图像拼接后,输入编码器进行下采样特征提取,输出编码特征图;
编码特征图与服装类别向量输入融合模块进行融合处理,输出融合特征图;
融合特征图输入解码器进行上采样特征提取,输出预测解析图像。
在一些实施例中,前述融合模块采用以下方式对编码特征图与服装类别向量进行融合处理:
将服装类别向量进行维度转化,转化为与编码特图大小相同的服装类别特征图;
将编码特征图和服装类别特征图进行对应位置相乘操作,得到融合特征图。
在一些实施例中,损失函数包括解析损失、变形区域损失和变形特征损失,其中,解析损失反映真实解析图像和预测解析图像之间的差异,变形区域损失反映衣服变形图像中衣服区域和预测解析图像中衣服区域之间的差异,变形特征损失反映模特图像中衣服特征和衣服变形图像中衣服特征之间的差异。
在一些实施例中,前述损失函数包括:
其中,Lloc为变形区域损失,LGMM为变形特征损失,Lc为解析损失,Xmask为衣服变形图像中衣服区域,Ymask为预测解析图像中衣服区域,Tij为真实解析图像,Pij为预测解析图像,M*L为真实解析图像或预测解析图像的分辨率,C为衣服图像,Tθ(C)为衣服变形图像,Ct为模特图像中的衣服图像,VGGi(Tθ(C))为采用VGG网络对Tθ(C)进行特征提取得到的第i层特征图,VGGi(Ct)为采用VGG网络对Ct进行特征提取得到的第i层特征图,V是VGG网络的层数。
为解决上述技术问题,第二方面,本申请实施例中提供了一种虚拟试衣方法,包括:
获取待试穿衣服图像和用户图像;
采用解析模型基于待试穿衣服图像和用户图像,进行人体解析,得到解析图像,其中,解析模型采用如权利要求1-7中任意一项训练解析模型的方法训练得到;
对用户图像和待试穿衣服图像进行融合,并在融合的过程中基于解析图像中的衣服区域,对待试穿衣服图像进行变形,得到试衣图像。
为解决上述技术问题,第三方面,本申请实施例中提供了一种电子设备,包括:
至少一个处理器,以及
与至少一个处理器通信连接的存储器,其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上第一方面中的方法或第二方面中的方法。
为解决上述技术问题,第四方面,本申请实施例中提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机设备执行如上第一方面中的方法或第二方面中的方法。
本申请实施例的有益效果:区别于现有技术的情况,本申请实施例提供的训练解析模型的方法,首先获取若干个图像组,每个图像组包括衣服图像和模特图像,模特图像中的模特穿有衣服图像中的衣服。然后,对衣服图像按模特图像中模特的人体结构进行初步变形,得到衣服变形图像。对模特图像进行人体解析,得到真实解析图像(可作为标签),并从真实解析图像中提取模特躯干区域,得到局部解析图像。将该局部解析图像和衣服变形图像输入图像生成网络,得到预测解析图像。最后采用损失函数计算预测解析图像和真实解析图像之间的损失,在轮流处理完这若干个图像组后,基于这若干个图像组对应的损失和,对图像生成网络进行迭代训练,直至收敛,收敛后的图像生成网络即为解析模型。
在此实施例中,衣服变形图像不仅保留了衣服特征,还能初步反映衣服大致变形形状,从而,可以作为先验条件,有效指导图像生成网络在生成预测解析图像时使得衣服轮廓准确,从而,预测解析图像能够自适应试穿衣服的风格,更加稳定。此外,局部解析图像保留了模特的躯干特征,一方面,指导图像生成网络在生成预测解析图像时使得躯干轮廓准确,另一方面,不受模特身上原衣服的影响,有助于预测解析图像中衣服区域能够自适应试穿衣服的风格。基于衣服变形图像的指导作用和局部解析图像不受模特身上原衣服的影响,使得预测解析图像能够准确适应试穿衣服,从而,能够有效减少网络对训练数据的依赖。采用若干个图像组以上述方式对图像生成网络进行训练,基于由损失函数计算得到的损失和的反向传播,约束各图像组对应的预测解析图像不断靠近真实预测图像。从而,训练得到的解析模型能够生成更加稳定的自适应衣服风格的解析图像,使得待试穿衣服按对应的解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果,并且还对新款式的衣服具有较强的适应性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请一些实施例中虚拟试衣的应用场景示意图;
图2为本申请一些实施例中电子设备的结构示意图;
图3为本申请一些实施例中训练解析模型的方法的流程示意图;
图4为图3所示方法中步骤S20的一子流程示意图;
图5为本申请一些实施例中的关键点图像;
图6为本申请一些实施例中人体解析图像;
图7为本申请一些实施例中图像生成网络的示意图;
图8为本申请一些实施例中训练解析模型的方法的流程示意图;
图9为图3所示方法中步骤S40的一子流程示意图;
图10为本申请一些实施例中预测解析图像的生成过程视图;
图11为本申请一些实施例中虚拟试衣方法的流程示意图。
具体实施方式
下面结合具体实施例对本申请进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本申请,但不以任何形式限制本申请。应当指出的是,对本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进。这些都属于本申请的保护范围。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本说明书中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本申请。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本申请各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为便于对本申请实施例提供的方法进行理解,首先对本申请实施例中涉及的名词进行介绍:
(1)神经网络
神经网络可以是由神经单元组成的,具体可以理解为具有输入层、隐含层、输出层的神经网络,一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。其中,具有很多层隐含层的神经网络则称为深度神经网络(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控制着如何变换空间。训练神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
需要注意的是,在本申请实施例中,基于机器学习任务所采用的模型,本质都是神经网络。神经网络中的常用组件有卷积层、池化层、归一化层和反卷积层等,通过组装神经网络中的这些常用组件,设计得到模型,当确定模型参数(各层的权重矩阵)使得模型误差满足预设条件或调整模型参数的数量达到预设阈值时,模型收敛。
其中,卷积层配置有多个卷积核、每个卷积核设置有对应的步长,以对图像进行卷积运算。卷积运算的目的是提取输入图像的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更深的卷积层能从低级特征中迭代提取更复杂的特征。
反卷积层用于将一个低维度的空间映射到高维度,同时保持他们之间的连接关系/模式(这里的连接关系即是指卷积时候的连接关系)。反卷积层配置有多个卷积核、每个卷积核设置有对应的步长,以对图像进行反卷积运算。一般,用于设计神经网络的框架库(例如PyTorch库)中内置有upsumple()函数,通过调用该upsumple()函数可以实现低维度到高维度的空间映射。
池化层(pooling)是模仿人的视觉系统可以对数据进行降维或,用更高层次的特征表示图像。池化层的常见操作包括最大值池化、均值池化、随机池化、中值池化和组合池化等。通常来说,神经网络的卷积层之间都会周期性插入池化层以实现降维。
归一化层用于对中间层的所有神经元进行归一化运算,以防止梯度爆炸和梯度消失。
(2)损失函数
在训练神经网络的过程中,因为希望神经网络的输出尽可能的接近真正想要预测的值,可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重矩阵(在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重矩阵让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么神经网络的训练就变成了尽可能缩小这个loss的过程。
(3)人体解析
人体解析是指将在图像中捕获的人分割成多个语义上一致的区域,例如,身体部位和衣物,或,身体部位的细分类别和衣物的细分类别等。即像素级地识别输入图像,并为图像中每个像素点标注其所属的对象类别。例如,通过神经网络将包括人体的图片中的各个要素(例如头发、脸、四肢、衣服以及背景等)进行区分。
为介绍本申请实施例前,先对本申请发明人所知晓的虚拟试衣方法进行简单介绍,使得后续便于理解本申请实施例。
在一些方案中,获取用户图像和试穿衣服图像后,首先对试穿衣服图像中衣服按用户图像中人体结构进行变形,得到变形后的试穿衣服图像。然后,将用户图像中对应的衣服区域进行掩模处理,掩模处理后的用户图像与变形后的试穿衣服图像进行融合,得到试衣图像。在试衣图像中,可以看出用户穿上试穿衣服的效果。在此实施例中,试穿衣服按照人体结构的关键点进行简单变形,会存在边界模糊等问题,造成试衣效果差。
在一些方案中,获取用户图像和试穿衣服图像后,首先,对用户图像进行人体解析,得到人体解析图像。对试穿衣服按人体解析图像中对应的衣服区域进行变形处理,采用变形后的试穿衣服对用户身上原有的衣服进行自动替换。在此实施例中,人体解析图像能够帮助划分试穿衣服的边界信息,使得生成的试衣图像中试穿衣服边界清晰,所展示的试衣效果更加合理。
然而,由于试穿衣服的风格样式与用户身上衣服的风格样式不同,从而,人体解析图像中衣服区域的轮廓与试穿衣服的穿着轮廓差异较大,对试穿衣服按人体解析图像中对应的衣服区域进行变形处理,会破坏试穿衣服的效果。例如,若试穿衣服为宽松型大衣,用户身上衣服为紧身毛衣,宽松型大衣按紧身毛衣的轮廓进行变形,会导致宽松型大衣变成紧身样式,试穿效果差。
针对上述问题,本申请实施提供了一种训练解析模型的方法、虚拟试衣方法及相关装置,该训练解析模型的方法,采用获取若干个图像组对应的衣服变形图像和局部解析图像对图像生成网络进行训练,得到解析模型。其中,衣服变形图像不仅保留了衣服特征,还能初步反映衣服大致变形形状,从而,可以作为先验条件,有效指导图像生成网络在生成预测解析图像时使得衣服轮廓准确,从而,预测解析图像能够自适应试穿衣服的风格,更加稳定。此外,局部解析图像保留了模特的躯干特征,一方面,指导图像生成网络在生成预测解析图像时使得躯干轮廓准确,另一方面,不受模特身上原衣服的影响,有助于预测解析图像中衣服区域能够自适应试穿衣服的风格。基于衣服变形图像的指导作用和局部解析图像不受模特身上原衣服的影响,使得预测解析图像能够准确适应试穿衣服,从而,能够有效减少网络对训练数据的依赖。采用若干个图像组以上述方式对图像生成网络进行训练,基于由损失函数计算得到的损失和的反向传播,约束各图像组对应的预测解析图像不断靠近真实预测图像。从而,训练得到的解析模型能够生成更加稳定的自适应衣服风格的解析图像,使得待试穿衣服按对应的解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果,并且还对新款式的衣服具有较强的适应性。
下面说明本申请实施例提供的用于训练解析模型或用于虚拟试衣的电子设备的示例性应用,可以理解的是,电子设备即可以训练解析模型,也可以采用该解析模型对待试穿衣服和用户图像进行解析生成解析图像,然后将待试穿衣服图像中衣服按该解析图像中衣服区域的轮廓进行变形,变形后的待试穿衣服图像和用户图像进行融合,得到试衣图像。
本申请实施例提供的电子设备可以是服务器,例如部署在云端的服务器。当服务器用于训练解析模型时,根据其他设备或者本领域技术人员提供的训练集和神经网络,采用该训练集对神经网络进行迭代训练,确定最终的模型参数,从而神经网络配置该最终的模型参数,即可得到解析模型。当服务器用于虚拟试衣时,调用内置的解析模型,对其他设备或者用户提供的待试穿衣服图像、用户图像进行相应的计算处理,得到解析图像,然后将待试穿衣服图像中衣服按该解析图像中衣服区域的轮廓进行变形,变形后的待试穿衣服图像和用户图像进行融合,得到试衣图像。
本申请一些实施例提供的电子设备可以是笔记本电脑、台式计算机或移动设备等各种类型的终端。当终端用于训练解析模型时,本领域技术人员将准备好的训练集输入终端,并在终端上设计神经网络,终端采用该训练集对神经网络进行迭代训练,确定最终的模型参数,从而神经网络配置该最终的模型参数,即可得到解析模型。当终端用于虚拟试衣时,调用内置的解析模型,对用户输入的用户图像、待试穿衣服图像进行相应的计算处理,得到解析图像,该解析图像中衣服区域的轮廓与待试穿衣服的真实试穿效果轮廓相适应。然后将待试穿衣服图像中衣服按该解析图像中衣服区域的轮廓进行变形,变形后的待试穿衣服图像和用户图像进行融合,得到试衣图像。
作为示例,参见图1,图1是本申请实施例提供的虚拟试衣系统的应用场景示意图,终端10通过网络连接服务器20,其中,网络可以是广域网或者局域网,又或者是二者的组合。
终端10可以被用来获取训练集和构建神经网络,例如,本领域技术人员在终端上下载准备好的训练集,以及,搭建神经网络的网络结构。可以理解的是,终端10也可以被用来获取户图像、待试穿衣服图像,例如,用户通过输入界面输入用户图像和待试穿衣服图像,输入完成后,终端自动获取用户图像和待试穿衣服图像;例如,终端10具备摄像头,通过摄像头采集用户图像,终端10内存储有衣服图像库,用户可以从衣服图像库中选择待试穿衣服图像。
在一些实施例中,终端10本地执行本申请实施例提供的训练解析模型的方法来完成采用训练集对设计好的神经网络进行训练,确定最终的模型参数,从而神经网络配置该最终的模型参数,即可得到解析模型。在一些实施例中,终端10也可以通过网络向服务器20发送本领域技术人员在终端上存储的训练集和构建好的神经网络,服务器20接收该训练集和神经网络,采用训练集对设计好的神经网络进行训练,确定最终的模型参数,然后将该最终的模型参数发送给终端10,终端10保存该最终的模型参数,使得神经网络配置能够该最终的模型参数,即可得到解析模型。
在一些实施例中,终端10本地执行本申请实施例提供的虚拟试衣方法来为用户提供虚拟试穿衣服服务,调用内置的解析模型,对用户输入的用户图像、待试穿衣服图像进行相应的计算处理,生成解析图像,然后将待试穿衣服图像中衣服按该解析图像中衣服区域的轮廓进行变形,变形后的待试穿衣服图像和用户图像进行融合,得到试衣图像。
在一些实施例中,终端10也可以通过网络向服务器20发送用户在终端上输入的用户图像和待试穿衣服图像,服务器20收到用户图像和待试穿衣服图像,调用内置的解析模型对用户图像、待试穿衣服图像进行相应的计算处理,得到解析图像,将待试穿衣服图像中衣服按该解析图像中衣服区域的轮廓进行变形,变形后的待试穿衣服图像和用户图像进行融合,得到试衣图像。然后,将试衣图像发送给终端10。终端10在接收到试衣图像后,显示于界面,以供用户查看。
下面说明本申请实施例中电子设备的结构,图2是本申请实施例中电子设备500的结构示意图,电子设备500包括至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头,其他输入按钮和控件。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi),和通用串行总线(USB,Universal Serial Bus)等;
显示模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
根据上文可以理解,本申请实施例提供的训练解析模型的方法和虚拟试衣方法可以由各种类型具有计算处理能力的电子设备实施,例如智能终端和服务器等。
下面结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的训练解析模型的方法。参见图3,图3是本申请实施例提供的训练解析模型的方法的流程示意图。
请再次参阅图3,该方法S100具体可以包括如下步骤:
S10:获取若干个图像组。
对于任意一个图像组,包括衣服图像和模特图像,模特图像中的模特穿有衣服图像中的衣服。衣服图像包括想要试穿的衣服,例如衣服图像1#包括一件绿色短袖。模特图像中模特穿有对应衣服图像中的衣服,例如与衣服图像1#对应的真实试衣图像中模特穿有该绿色短袖。
可以理解的是,若干个图像组可由本领域技术人员事先搜集得到,例如在一些服饰售卖网站上可爬取衣服图像和对应的穿有该衣服的模特图像。
在一些实施例中,本领域技术人员可根据实际情况确定若干个图像组的数量,训练得到准确的通用模型即可。
S20:对衣服图像按模特图像中模特的人体结构进行初步变形,得到衣服变形图像。
本步骤对衣服图像中的衣服按模特图像中模特人体结构进行变形,得到衣服变形图像。可以理解的是,原衣服图像中衣服呈二维平面状态,相比于原衣服图像,衣服变形图像中衣服的轮廓靠近模特人体对应躯干的轮廓。
对于变形方法,本实施例中不作任何限制,能够对衣服图像中衣服进行变形即可。在一些实施例中,可以采用薄板样条(Thin Plate Spline,TPS)来模拟衣服的变形。在一些实施例中,可以基于衣服图像和模特图像计算出由衣服图像中衣服像素变换成模特图像中衣服像素的光流,然后,按该光流对衣服图像中衣服像素进行变形,得到衣服变形图像。
为了使得衣服变形图像中衣服轮廓更加靠近模特人体对应躯干的轮廓,在一些实施例中,请参阅图4,前述步骤S20具体包括:
S21:对模特图像进行关键点检测,得到关键点图像。
采用人体关键点检测算法对模特图像进行人体关键点检测,可以定位出人体关键点信息(即人体上若干个关键点),如图5所示,关键点可以是鼻子、左右眼、左右耳、左右肩、左右肘、左右腕、左右臀、左右膝,左右脚踝处的坐标点。在一些实施例中,人体关键点检测算法可以采用openpose算法进行检测。在一些实施例中,人体关键点检测算法可以采用2D关键点检测算法,例如Convolutional Pose Machine(CPM)或Stacked Hourglass Network(Hourglass)等。
可以理解的是,每个关键点拥有自己的序号,每个关键点的位置用坐标表示。例如,请再次参阅图5,openpose算法原定义有18个关键点,关键点的序号代表人体关节,序号包括:0(鼻子),1(脖子),2(右肩),3(右肘),4(右手腕),5(左肩),6(左肘),7(左手腕),8(右臀),9(右膝),10(右脚踝),11(左臀),12(左膝),13(左脚踝),14(右眼),15(左眼),16(右耳),17(左耳)。对于不同的人体,openpose算法均会检测出这18个关键点,基于模特人体体型不同,每个模特的这18个关键点的坐标也不同。
因此,对模特图像进行人体关键点检测,得到关键点图像。关键点图像包括多个关键点,这多个关键点中的每个关键点包括序号和对应的坐标,序号代表人体关节。
S22:采用几何匹配模块分别对关键点图像和衣服图像进行计算处理,生成变换参数。
其中,几何匹配模块包括双通道的卷积块、相关合并层和回归网络。其中,卷积块包括多个卷积层,用于对输入的图像进行下采样,提取特征。具体地,关键点图像经过一个卷积块进行下采样特征提取后,输出关键点特征图,衣服图像经过一个卷积块进行下采样特征提取后,输出衣服特征图。本领域技术人员可以根据实际需求设置卷积块的结构和卷积层的参数,在此不做任何限制。
相关合并层用于将两个特征图进行合并。具体地,关键点特征图和衣服特征图通过相关合并层进行合并处理,得到合并特征图。该合并特征图既包括关键点特征又包括衣服特征。在一些实施例中,相关合并层可以采用通道拼接的方式将关键点特征图和衣服特征图进行合并处理。
可以理解的是,回归网络是用于实现回归分析的神经网络。回归分析是从一组数据中确定变量之间的定量关系。在此实施例中,回归网络能够确定合并特征图和变换参数之间的定量关系。具体地,合并图像输入回归网络中,回归网络学习合并图像和变换参数之间的定量关系,估算出变换参数θ。
可以理解的是,在此实施例中,几何匹配模块也会随着图像生成网络一起进行训练,随着网络收敛,几何匹配模块能够输出更加准确的变换参数θ。
S23:利用变换参数对衣服图像进行变形处理,得到衣服变形图像。
将衣服图像按变换参数θ进行变形处理(例如插值变形),衣服变形图像。在一些实施例中,可以采用薄板样条插值法(Thinplate spline)进行插值变形。利用薄板样条插值法做图像变形,需要制定控制点的坐标,然后根据TPS函数对衣服图像所有像素点进行插值,求得插值之后的位置,进行像素值映射,即可得到衣服变形图像。在此实施例中,将变化参数作为TPS函数的参数,对于衣服图像中的各像素点坐标,采用TPS函数计算新的坐标,实现位置变化,即变形,衣服变形图像。
在此实施例中,采用几何匹配模块计算变形所需的变换参数,然后,衣服图像中的衣服像素按照变化参数进行插值变形,能够得到准确的衣服变形图像,使得衣服变形图像中衣服轮廓更加靠近模特人体对应躯干的轮廓,从而,有利于后续指导图像生成网络在生成预测解析图像时使得衣服轮廓准确。此外,几何匹配模块随着图像生成网络一起训练,实现端到端的训练,使得训练过程更加整洁,有利于模型收敛。
在一些实施例中,该方法还包括:
S24:将关键点图像上的每个关键点转化为1通道的热图,并将每个关键点对应的热图按通道进行拼接,得到姿势热图。
在一些实施例中,对于关键点图像中的任意一个关键点,将关键点周围11*11领域的像素值设置为1,其它位置区域的像素值设置为0,从而,得到该关键点对应的1通道的热图。可以理解的是,还可以选择关键点周围其它大小的领域,例如10*10或14*14等。
如图5所示的18个关键点,对应有18个1通道的热图。在此实施例中,将这18个关键点对应的热图按通道进行拼接,从而,得到一个18通道的姿势热图。
该姿势热图能够反映模特躯干形状特征,从而,在几何匹配模块中,能够指导得到用于使衣服按身体形状进行变形的变换参数θ。
在此实施例中,前述步骤S22具体包括:
S221:采用几何匹配模块分别对姿势热图和衣服图像进行特征计算处理,生成变换参数。
关于几何匹配模块的结构和计算处理过程,请参照步骤S20中的描述,采用姿势热图替换关键点图像即可,在此不再重复赘述。
在此实施例中,由于姿势热图将各关键点进行了扩展,相比于关键点图像,更能够反映模特躯干形状特征,有利于几何匹配模块生成准确的变换参数。
S30:对模特图像进行人体解析,得到真实解析图像,并从真实解析图像中提取模特躯干区域,得到局部解析图像。
具体地,由前述“名词介绍(3)”可知,人体解析是将人体的各个部位分割出来,如图6所示,不同的部位,例如头发、脸、上衣、裤子、胳膊、帽子、鞋等各个部位识别分割出来,用不同的颜色表示,即得到人体解析图。
这里,可以采用现有的解析算法,例如Graphonomy算法,对模特图像进行人体解析,得到人体解析图像(真实解析图像)。在人体解析图中,像素点被分成20类,类别可以采用0-19进行标识,例如,0表示背景,1表示帽子,2表示头发,3表示手套,4表示墨镜,5表示上衣,6表示连衣裙,7表示外套,8表示袜子,9表示裤子,10表示躯干皮肤,11表示围巾,12表示半裙,13表示脸,14表示左手臂,15表示右手臂,16表示左腿,17表示右腿,18表示左鞋,19表示右鞋。从人体解析图中,可以确定人体图像中各个区域所属的类别。
可以理解的是,基于模特图像中模特穿有对应衣服图像中的试穿衣服,即模特图像能够表征试穿衣服的真实试穿效果,从而,可以将从模特图像中解析出的人体解析图像作为真实解析图像。
为了促进在生成新的预测解析图像的过程中,反映模特身份的躯干区域不变,这里,根据像素类别对真实解析图像中模特躯干区域进行提取,得到得到局部解析图像。在一些实施例中,模特躯干区域可以包括头部、手臂、腿部等区域。局部解析图像中保留模特躯干区域,去除衣服区域,一方面,能够减少模特躯干区域变形失真的风险,另一方面,模特身上的衣服不会影响衣服图像中试穿衣服变形。
S40:将局部解析图像和衣服变形图像输入图像生成网络,得到预测解析图像。
其中,图像生成网络是预先设置的神经网络,具有神经网络的组件(卷积层、反卷积层或池化层等)。关于神经网络的基本结构和原理已在“名词介绍(1)”中进行了详细说明,在此不再详细介绍。图像生成网络可以是本领域技术人员在终端(例如电脑)电脑上的神经网络设计平台上自行构建好,然后,发送给服务器。在一些实施例中,可以设置图像生成网络中卷积层、反卷积层或池化层等的层内结构(卷积核、步长等)、层间连接结构和层组合情况等,以得到具体的图像生成网络。
图像生成网络对输入的局部解析图像和衣服变形图像进行特征提取、空间变化等计算处理,得到预测解析图像。在一些实施例中,局部解析图像和衣服变形图像进行通道拼接后,输入图像生成网络,图像生成网络对拼接后的图像进行计算处理(例如卷积运算、反卷积运算等),实现人体解析,得到预测解析图像。其中,“人体解析”已在“名词介绍(3)”中进行了详细说明,在此不再详细介绍。可以理解的是,预测解析图像能够反映拼接图像(局部解析图像和衣服变形图像)中各像素所属的类别,因此,从预测解析图像中,可以获取拼接图像(局部解析图像和衣服变形图像)中各个部位要素的形状区域(例如衣服区域、四肢区域以及背景等)。
可以理解的是,图像生成网络对若干个图像组均以与S40中相同的方式进行人体解析,得到相应的预测解析图像。
在一些实施例中,请参阅图7,图像生成网络包括连接的编码器、融合模块和解码器。
本领域技术人员可以理解的是,编码器用于对输入的图像进行下采样,随着卷积层的递进,输出的下采样特征图的尺寸越来越小。融合模块用于对至少两个数据进行融合处理。解码器用于对输入的图像进行上采样,随着层(可以包括反卷积层)的递进,输出的上采样特征图的尺寸越来越大。
请参阅图7,编码器包括多个级联的卷积层,图7以编码器包括7个卷积层为例进行示意性说明。解码器包括多个级联的反卷积层,图7以解码器包括7个反卷积层进行示意性说明。
编码器对输入的图像进行下采样特征提取后,编码器中最后一个卷积层输出的下采样特征图接着输入融合模块,与其它特征图进行融合处理,得到融合特征图。然后,融合特征图输入解码器,逐层进行上采样特征提取,解码器中最后一个反卷积层输出的上采样特征图即为生成网络需要生成的图像。
在此实施例中,请参阅图8,前述方法还包括:
S60:获取衣服图像对应的服装类别文本信息。
S70:对服装类别文本信息进行特征编码,得到服装类别向量。
其中,服装类别文本信息是能够反映衣服图像中试穿衣服的类别的文本信息。例如,服装类别文本信息可以是“宽松短袖”、“落肩衬衣”、“紧身毛衣”或“宽松大衣”、“直筒长裤”、“A型半裙”等。可以理解的是,服装类别文本信息能够反映衣服的类别和款式。可以理解的是,若干个衣服图像中的衣服可以覆盖多种服装类别。
可以理解的是,若干个图像组中衣服图像对应的服装类别文本信息可由本领域技术人员事先搜集得到,例如在一些服饰售卖网站上可爬取衣服图像、对应的穿有该衣服的模特图像以及对应的服装类别文本信息。通过终端将这些具有对应关系的衣服图像、模特图像和服装类别文本信息,发送给服务器,从而,服务器能够获取到衣服图像对应的服装类别文本信息。
可以理解的是,服装类别文本信息是文本格式的数据。为了能够让图像生成网络学习到服装类别文本信息所能反映的特征,这里,对服装类别文本信息进行编码,得到服装类别向量。也就是说,将服装类别文本信息数字化,转化得到的服装类别向量是数字格式的数据。
在一些实施例中,可采用词袋模型对服装类别文本信息进行编码,将服装类别文本信息转化为服装类别向量。其中,词袋模型是选定所有的服装类别文本信息内的词语放入词袋,统计词袋内所有词语在服装类别文本信息中出现的次数,并将其用向量的形式表示出来。在此实施例中,可以整合若干个衣服图像对应的服装类别文本信息构建词典。可以理解的是,该词典包括干个衣服图像对应的服装类别文本信息所包括的单词,词典包括单词位置信息和对应的单词,其中,单词可以用数字表示。从而,将服装类别文本信息编码转化为一个N*1长度的服装类别向量,其中,N是词典的最大长度。
在其它实施例中,也可以采用词嵌入算法将服装类别文本信息编码转化为服装类别向量。该词嵌入算法是本领域的常用算法,在此不再详细介绍。
在此实施例中,请参阅图9,前述步骤S40具体包括:
S41:局部解析图像和衣服变形图像拼接后,输入编码器进行下采样特征提取,输出编码特征图。
可以理解的是,局部解析图像为1通道的灰度图像,衣服变形图像为3通道图像。在一些实施例中,局部解析图像的分辨率为512*384*1,衣服变形图像的分辨率为512*384*3。在此实施例中,“拼接”可以是按通道进行拼接,例如,将局部解析图像和衣服变形图像按通道进行拼接后,得到一个512*384*4大小的组合图像。从而,组合图像包括局部解析图像的躯干特征和衣服图像的服装特征。
将组合图像输入编码器进行下采样特征提取,输出编码特征图。具体地,请参阅图10,512*384大小的组合图像输入编码器后,通过逐层的7个卷积层进行下采样特征提取,依次生成256*192大小的下采样特征图、128*96大小的下采样特征图、64*48大小的下采样特征图、32*24大小的下采样特征图、16*12大小的下采样特征图、8*6大小的下采样特征图和4*3大小的下采样特征图。该4*3大小的下采样特征图即为编码特征图。
S42:编码特征图与服装类别向量输入融合模块进行融合处理,输出融合特征图。
基于融合模块用于对至少两个数据进行融合处理。从而,融合特征图不仅包括编码特征图所反映的衣服图像特征,还包括服装类别向量所反映的服装类别。
在一些实施例中,融合模块采用以下方式对编码特征图与服装类别向量进行融合处理:
将服装类别向量进行维度转化,转化为与编码特图大小相同的服装类别特征图;
将编码特征图和服装类别特征图进行对应位置相乘操作,得到融合特征图。
可以理解的是,服装类别向量是N*1大小的向量。在一些实施例中,融合模块可以采用至少一个反卷积层对N*1大小的服装类别向量进行上采样特征提取,得到与编码特图大小相同的服装类别特征图。例如,编码特图的大小为4*3,则上采样特征提取得到4*3大小的服装类别特征图。
然后,将编码特征图和服装类别特征图进行对应位置相乘操作,得到融合特征图。这里,对应位置相乘操作是指编码特征图和服装类别特征图中相同行列上的像素值进行相乘。
在此实施例中,采用上述方式将服装类别向量与编码特征图进行融合,丰富了编码特征图中关于服装类别的图像特征的权重,即使得融合特征图中关于服装类别的图像特征得以凸显。
S43:融合特征图输入解码器进行上采样特征提取,输出预测解析图像。
具体地,请参阅图10,4*3大小的融合特征图输入解码器后,通过逐层的7个反卷积层进行上采样特征提取,依次生成8*6大小的上采样特征图、16*12大小的上采样特征图、32*24大小的上采样特征图、64*48大小的上采样特征图、128*96大小的上采样特征图、256*192大小的上采样特征图和512*384大小的上采样特征图。该512*384大小的上采样特征图即为预测解析图像。
在此实施例中,由于融合特征图中关于服装类别的图像特征得以凸显,从而,可以告知图像生成网络试穿衣服的服装类别,随着后续训练的进行,使得预测解析图像中衣服区域形状不断靠近该服装类别下的形状,有利于约束预测解析图像中衣服区域的准确性。
S50:采用损失函数计算预测解析图像和真实解析图像之间的损失,并根据若干个图像组对应的损失和,对图像生成网络进行迭代训练,直至收敛,得到解析模型。
这里,损失函数可由本领域技术人员在终端中配置,配置好的损失函数随着图像生成网络一起发送给服务器。损失函数已在前述“名词介绍(2)”中得以详细介绍,在此不再重复赘述。可以理解的是,基于网络结构和训练方式不同,损失函数的结构可以根据实际情况而设置。
服务器在处理得到一个图像组对应的预测解析图像后,采用损失函数基于预测解析图像和真实解析图像计算图像组对应的损失(该损失反映解析损失)。在轮流处理完这若干个图像组后,基于这若干个图像组对应的损失和,对图像生成网络进行迭代训练,直至收敛,将收敛后的图像生成网络作为解析模型。
可以理解的是,若损失和越小,说明预测解析图像中衣服区域形状与真实预测解析图像中衣服真实试穿形状相似。从而,可以采用损失函数计算图像组对应的损失,在轮流处理完这若干个图像组后,基于这若干个图像组对应的损失和,调整图像生成网络的模型参数。即将损失和进行反向传播,使得图像生成网络输出的预测解析图像中衣服区域形状不断逼近真实解析图像中衣服区域形状。经过多次迭代调整模型参数,直到图像生成网络收敛,将收敛后的图像生成网络作为解析模型。
可以理解的是,这里的收敛可以指的是在某一模型参数下,损失和小于预设阈值或在某一范围内波动。在一些实施例中,采用adam算法优化模型参数,例如,迭代次数设置为10万次,初始化学习率设置为0.001,学习率的权重衰减设置为0.0005,每1000次迭代,学习率衰减为原来的1/10,其中,可以将学习率、损失和输入至adam算法中,得到adam算法输出的调整模型参数,利用该调整模型参数进行下一次训练,直到训练完后,输出图像生成网络收敛后的模型参数,即可将该收敛后的图像生成网络的模型参数保存,得到解析模型。
可以理解的是,在服务器得到收敛后的图像生成网络的模型参数(即最终的模型参数)后,可以将该最终的模型参数发送给终端,终端内的图像生成网络配置有该最终的模型参数,得到解析模型。在一些实施例中,服务器也可以保存该图像生成网络和最终的模型参数,得到解析模型。
需要说明的是,本申请实施例中,多个图像组覆盖多种服装类别,能覆盖市面上大部分种类的衣服。因此,训练出的解析模型是一个通用的模型,能够广泛用于虚拟试衣中的人体解析。
在此实施例中,采用获取若干个图像组对应的衣服变形图像和局部解析图像对图像生成网络进行训练,得到解析模型。其中,衣服变形图像不仅保留了衣服特征,还能初步反映衣服大致变形形状,从而,可以作为先验条件,有效指导图像生成网络在生成预测解析图像时使得衣服轮廓准确,从而,预测解析图像能够自适应试穿衣服的风格,更加稳定。此外,局部解析图像保留了模特的躯干特征,一方面,指导图像生成网络在生成预测解析图像时使得躯干轮廓准确,另一方面,不受模特身上原衣服的影响,有助于预测解析图像中衣服区域能够自适应试穿衣服的风格。基于衣服变形图像的指导作用和局部解析图像不受模特身上原衣服的影响,使得预测解析图像能够准确适应试穿衣服,从而,能够有效减少网络对训练数据的依赖。采用若干个图像组以上述方式对图像生成网络进行训练,基于由损失函数计算得到的损失和的反向传播,约束各图像组对应的预测解析图像不断靠近真实预测图像。从而,训练得到的解析模型能够生成更加稳定的自适应衣服风格的解析图像,使得待试穿衣服按对应的解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果,并且还对新款式的衣服具有较强的适应性。
在一些实施例中,前述损失函数包括解析损失、变形区域损失和变形特征损失。
其中,解析损失反映真实解析图像和预测解析图像之间的差异。当预测解析图像和真实解析图像之间的差异越大时,说明预测解析图像中各要素部位的形状和真实解析图像中各要素部位的形状差异较大。当预测解析图像和真实解析图像之间的差异越小时,说明预测解析图像中各要素部位的形状和真实解析图像中各要素部位的形状差异较小。即解析损失将预测解析图像和真实解析图像进行比较,使得预测解析图像中各要素部位的形状不断逼近真实解析图像中各要素部位的形状。
变形区域损失反映衣服变形图像中衣服区域和预测解析图像中衣服区域之间的差异。当衣服变形图像中衣服区域和预测解析图像中衣服区域之间的差异越大时,说明衣服变形图像中衣服区域所反映的衣服变形偏离真实试穿效果,几何匹配模块的变形效果较差。当衣服变形图像中衣服区域和预测解析图像中衣服区域之间的差异越小时,说明衣服变形图像中衣服区域所反映的衣服变形靠近真实试穿效果,几何匹配模块的变形效果较好。
变形特征损失反映模特图像中衣服特征和衣服变形图像中衣服特征之间的差异。将模特图像中衣服特征和衣服变形图像中衣服特征在不同尺寸分辨率上进行比较,使得衣服变形图像中衣服能够逼近模特图像中真实试穿效果,从而,提高几何匹配模块的变形效果。
在此实施例中,通过解析损失约束预测解析图像靠近真实解析图像,提高图像生成网络的准确性,通过变形区域损失和变形特征损失约束衣服变形图像中衣服能够逼近模特图像中真实试穿效果,提高几何匹配模块的变形效果。从而,在实现端到端的训练的同时,能够获得变形效果好的解析模型。
在一些实施例中,损失函数包括:
其中,Lloc为变形区域损失,LGMM为变形特征损失,Lc为解析损失,Xmask为衣服变形图像中衣服区域,Ymask为预测解析图像中衣服区域,Tij为真实解析图像,Pij为预测解析图像,M*L为真实解析图像或预测解析图像的分辨率,C为衣服图像,Tθ(C)为衣服变形图像,Ct为模特图像中的衣服图像,VGGi(Tθ(C))为采用VGG网络对Tθ(C)进行特征提取得到的第i层特征图,VGGi(Ct)为采用VGG网络对Ct进行特征提取得到的第i层特征图,V是VGG网络的层数。
其中,VGG网络是一种现有的卷积神经网络,在此不再详细介绍。
在此实施例中,基于前述损失函数计算得到的图像组的损失,获取若干个图像组对应的损失的和(即损失和),然后,基于该损失和对几何匹配模块和图像生成网络进行迭代训练,能够加快网络收敛。
此外,上述损失函数,通过衣服变形图像中衣服区域约束预测解析图像中衣服区域,使得图像生成网络能够更加关注衣服区域轮廓,不会过多关注衣服纹理或花纹的变形,从而,能够有效得减少新衣服款式对于解析模型生成的解析图像的影响,使得解析模型生成的解析图像更具有稳定性。例如,款式不同(纹理或花纹不同)的两件宽松短袖,对于同一人体,采用解析模型解析后,解析图像是一样的。
综上所述,本申请实施提供的训练解析模型的方法,采用获取若干个图像组对应的衣服变形图像和局部解析图像对图像生成网络进行训练,得到解析模型。其中,衣服变形图像不仅保留了衣服特征,还能初步反映衣服大致变形形状,从而,可以作为先验条件,有效指导图像生成网络在生成预测解析图像时使得衣服轮廓准确,从而,预测解析图像能够自适应试穿衣服的风格,更加稳定。此外,局部解析图像保留了模特的躯干特征,一方面,指导图像生成网络在生成预测解析图像时使得躯干轮廓准确,另一方面,不受模特身上原衣服的影响,有助于预测解析图像中衣服区域能够自适应试穿衣服的风格。基于衣服变形图像的指导作用和局部解析图像不受模特身上原衣服的影响,使得预测解析图像能够准确适应试穿衣服,从而,能够有效减少网络对训练数据的依赖。采用若干个图像组以上述方式对图像生成网络进行训练,基于由损失函数计算得到的损失和的反向传播,约束各图像组对应的预测解析图像不断靠近真实预测图像。从而,训练得到的解析模型能够生成更加稳定的自适应衣服风格的解析图像,使得待试穿衣服按对应的解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果,并且还对新款式的衣服具有较强的适应性。
在通过本申请实施例提供的训练解析模型的方法训练得到解析模型后,可将该解析模型应用至虚拟试衣。本申请实施例提供的虚拟试衣可以由各种类型具有计算处理能力的电子设备实施,例如智能终端和服务器等。
下面结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的虚拟试衣方法。参见图11,图11是本申请实施例提供的虚拟试衣方法的流程示意图。该方法S200包括如下步骤:
S201:获取待试穿衣服图像和用户图像。
终端(例如智能手机或智能试衣镜)内置的试衣助手(应用软件)获取用户图像和待试穿衣服图像。其中,该用户图像可以是终端拍摄的,或者用户输入终端的。待试穿衣服图像可以是用户从试衣助手中选择的。
可以理解的是,用户图像包括用户的身体,待试试穿衣服图像中包括衣服。
S202:采用解析模型基于待试穿衣服图像和用户图像,进行人体解析,得到解析图像。
其中,解析模型采用前述训练实施例中任意一项训练解析模型的方法训练得到。
终端内置的试衣助手包括解析模型,可以调用该解析模型进行人体解析。将待试穿衣服图像和用户图像输入解析模型,解析模型会基于衣服图像中衣服的服装类别,对用户图像进行人体解析,得到与该服装类别对应的解析图像。
可以理解的是,该解析模型是通过上述实施例中训练解析模型的方法训练得到,与上述实施例中解析模型具有相同的结构和功能,在此不再一一赘述。
可以理解的是,解析图像中衣服区域的形状与待试穿衣服的类别相匹配,从而,解析图像中衣服区域的形状符合待试穿衣服真实试穿效果。
S203:对用户图像和待试穿衣服图像进行融合,并在融合的过程中基于解析图像中的衣服区域,对待试穿衣服图像进行变形,得到试衣图像。
在一些实施例中,将解析图像和待试穿衣服图像、用户图像输入生成对抗网络,用户图像与待试穿衣服图像融合,生成试衣图像。在融合过程中,解析图像约束试穿衣服的边界信息,使得试穿衣服按照解析图像中的衣服区域进行变形。从而,融合得到的试衣图像符合待试穿衣服的真实试穿效果。
其中,生成对抗网络应用于图像生成是本领域技术人员所知的常规方法,在此不再详细介绍。
在此实施例中,解析模型能够生成更加稳定的自适应衣服风格的解析图像,因此,采用该解析模型对待试穿衣服图像和用户图像进行解析变形,使得待试穿衣服按对应的解析图像中的衣服区域进行变形后变形效果真实逼真,有利于提高试衣效果,并且还对新款式的衣服具有较强的适应性。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使电子设备执行本申请实施例提供的训练解析模型的方法,例如,如图3-图10所示出的训练解析模型的方法,或本申请实施例提供的虚拟试衣方法,例如,如图11示出的虚拟试衣方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkupLanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备(包括智能终端和服务器在内的设备)上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点目通过通信网络互连的多个计算设备上执行。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被计算机执行时使计算机执行如前述实施例中训练解析模型的方法或虚拟试衣方法。
需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种训练解析模型的方法,其特征在于,包括:
获取若干个图像组,所述图像组包括衣服图像和模特图像,所述模特图像中的模特穿有所述衣服图像中的衣服;
对所述衣服图像按所述模特图像中模特的人体结构进行初步变形,得到衣服变形图像;
对所述模特图像进行人体解析,得到真实解析图像,并从所述真实解析图像中提取模特躯干区域,得到局部解析图像;
将所述局部解析图像和所述衣服变形图像输入图像生成网络,得到预测解析图像;
采用损失函数计算所述预测解析图像和所述真实解析图像之间的损失,并根据所述若干个图像组对应的损失和,对所述图像生成网络进行迭代训练,直至收敛,得到所述解析模型。
2.根据权利要求1所述的方法,其特征在于,所述对所述衣服图像按所述模特图像中模特的人体结构进行初步变形,得到衣服变形图像,包括:
对所述模特图像进行关键点检测,得到关键点图像;
采用几何匹配模块分别对所述关键点图像和所述衣服图像进行计算处理,生成变换参数;
利用所述变换参数对所述衣服图像进行变形处理,得到所述衣服变形图像。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述关键点图像上的每个关键点转化为1通道的热图,并将每个关键点对应的热图按通道进行拼接,得到姿势热图;
所述采用几何匹配模块分别对所述关键点图像和所述衣服图像进行计算处理,生成变换参数,包括:
采用所述几何匹配模块分别对所述姿势热图和所述衣服图像进行计算处理,生成所述变换参数。
4.根据权利要求1所述的方法,其特征在于,所述图像生成网络包括连接的编码器、融合模块和解码器;
所述方法还包括:
获取所述衣服图像对应的服装类别文本信息;
对所述服装类别文本信息进行特征编码,得到服装类别向量;
所述将所述局部解析图像和所述衣服变形图像输入图像生成网络,得到预测解析图像,包括:
所述局部解析图像和所述衣服变形图像拼接后,输入所述编码器进行下采样特征提取,输出编码特征图;
所述编码特征图与所述服装类别向量输入所述融合模块进行融合处理,输出融合特征图;
所述融合特征图输入所述解码器进行上采样特征提取,输出所述预测解析图像。
5.根据权利要求4所述的方法,其特征在于,所述融合模块采用以下方式对所述编码特征图与所述服装类别向量进行融合处理:
将所述服装类别向量进行维度转化,转化为与所述编码特图大小相同的服装类别特征图;
将所述编码特征图和所述服装类别特征图进行对应位置相乘操作,得到所述融合特征图。
6.根据权利要求3所述的方法,其特征在于,所述损失函数包括解析损失、变形区域损失和变形特征损失,其中,所述解析损失反映所述真实解析图像和所述预测解析图像之间的差异,所述变形区域损失反映所述衣服变形图像中衣服区域和所述预测解析图像中衣服区域之间的差异,所述变形特征损失反映所述模特图像中衣服特征和所述衣服变形图像中衣服特征之间的差异。
8.一种虚拟试衣方法,其特征在于,包括:
获取待试穿衣服图像和用户图像;
采用解析模型基于所述待试穿衣服图像和所述用户图像,进行人体解析,得到解析图像,其中,所述解析模型采用如权利要求1-7中任意一项训练解析模型的方法训练得到;
对所述用户图像和所述待试穿衣服图像进行融合,并在融合的过程中基于所述解析图像中的衣服区域,对所述待试穿衣服图像进行变形,得到试衣图像。
9.一种电子设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器,其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机设备执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210862126.4A CN115272822A (zh) | 2022-07-20 | 2022-07-20 | 训练解析模型的方法、虚拟试衣方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210862126.4A CN115272822A (zh) | 2022-07-20 | 2022-07-20 | 训练解析模型的方法、虚拟试衣方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115272822A true CN115272822A (zh) | 2022-11-01 |
Family
ID=83767739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210862126.4A Pending CN115272822A (zh) | 2022-07-20 | 2022-07-20 | 训练解析模型的方法、虚拟试衣方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115272822A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117689562A (zh) * | 2023-12-13 | 2024-03-12 | 北京中科金财科技股份有限公司 | 一种基于人工智能扩散模型的虚拟换装方法 |
WO2024149294A1 (zh) * | 2023-01-13 | 2024-07-18 | 百果园技术(新加坡)有限公司 | 虚拟试衣及试衣模型训练的方法、装置和设备 |
WO2024207882A1 (zh) * | 2023-04-04 | 2024-10-10 | 厦门美图之家科技有限公司 | 虚拟换衣方法、装置、计算机设备和存储介质 |
-
2022
- 2022-07-20 CN CN202210862126.4A patent/CN115272822A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024149294A1 (zh) * | 2023-01-13 | 2024-07-18 | 百果园技术(新加坡)有限公司 | 虚拟试衣及试衣模型训练的方法、装置和设备 |
WO2024207882A1 (zh) * | 2023-04-04 | 2024-10-10 | 厦门美图之家科技有限公司 | 虚拟换衣方法、装置、计算机设备和存储介质 |
CN117689562A (zh) * | 2023-12-13 | 2024-03-12 | 北京中科金财科技股份有限公司 | 一种基于人工智能扩散模型的虚拟换装方法 |
CN117689562B (zh) * | 2023-12-13 | 2024-06-07 | 北京中科金财科技股份有限公司 | 一种基于人工智能扩散模型的虚拟换装方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115272822A (zh) | 训练解析模型的方法、虚拟试衣方法及相关装置 | |
CN109902548B (zh) | 一种对象属性识别方法、装置、计算设备及系统 | |
JP2020522285A (ja) | 全身測定値抽出のためのシステムおよび方法 | |
CN108550176A (zh) | 图像处理方法、设备及存储介质 | |
CN113496507A (zh) | 一种人体三维模型重建方法 | |
CN109409994A (zh) | 模拟用户穿戴服装饰品的方法、装置和系统 | |
CN110321795A (zh) | 用户姿态识别方法、装置、计算机装置及计算机存储介质 | |
CN115439308A (zh) | 训练试衣模型的方法、虚拟试衣方法及相关装置 | |
CN116416416A (zh) | 虚拟试衣模型的训练方法、虚拟试衣方法及电子设备 | |
CN110728319B (zh) | 一种图像生成方法、装置以及计算机存储介质 | |
CN115564871A (zh) | 训练试衣模型的方法、虚拟试衣方法及相关装置 | |
CN111784845A (zh) | 基于人工智能的虚拟试穿方法、装置、服务器及存储介质 | |
CN111062328A (zh) | 一种图像处理方法、装置及智能机器人 | |
CN116229066A (zh) | 人像分割模型的训练方法及相关装置 | |
CN118212028A (zh) | 虚拟试衣方法、装置、电子设备及可读存储介质 | |
CN114724004B (zh) | 训练试衣模型的方法、生成试衣图像的方法及相关装置 | |
CN111539349A (zh) | 姿态识别模型的训练方法及装置、姿态识别方法及其装置 | |
CN117475258A (zh) | 虚拟试衣模型的训练方法、虚拟试衣方法及电子设备 | |
CN113221794A (zh) | 一种训练数据集生成方法、装置、设备及存储介质 | |
CN112699857A (zh) | 基于人脸姿态的活体验证方法、装置及电子设备 | |
CN116109892A (zh) | 虚拟试衣模型的训练方法及相关装置 | |
CN117372604A (zh) | 一种3d人脸模型生成方法、装置、设备及可读存储介质 | |
CN112115790A (zh) | 人脸识别方法、装置、可读存储介质和电子设备 | |
CN118334285A (zh) | 虚拟换衣方法及其装置、电子设备 | |
CN115439309A (zh) | 训练衣服变形模型的方法、虚拟试衣方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |