1.本发明涉及计算机视觉模拟技术领域,特别是涉及一种虚拟试衣方法及系统。
背景技术:
2.随着互联网技术的迅猛发展,越来越多的人们喜欢在电商平台上购买衣服,如淘宝、蘑菇街、唯品会等,但是只能依赖于虚拟模特来观察服装效果,并不能直观地衡量服装是否适合自己。如何通过计算机让服装虚拟试穿到人物图像上是计算机视觉领域的研究热点,用户亲身体验自己穿着不同服装,直观判断自己是否心仪某件衣服,从而帮助用户做出购买决策,还能丰富在线购物体验。
3.现有的试衣工作是基于三维模型实现3d虚拟试衣。例如,通过多摄像机捕获的深度图来合成用户身材体型,根据体型来调整2d服装图像,完成三维虚拟试衣。利用多区域扫描的3d技术来捕获服装,并根据人物的身形和姿势重新调整服装。但是3d试衣依赖三维测量来进行精确的服装模拟,实施条件严苛且工作量较大。
4.基于二维图像级的虚拟试衣已成为试衣领域的热点,从图像视觉上合成真实的试衣图像。gan是图像合成模型的热点,吸引了越来越多的学者将gan应用于服装图像生成、服装图像编辑、服装时尚感提升以及试衣等任务。例如,采用结合gan和深度cnn的方式来完成图像生成任务,在没有考虑人物姿势的前提下,通过穿着服装的人物图像生成其上衣图像。图像级的穿着全身服装的人物生成模型,可以根据人物姿势形态进行服装调整,但服装是随机生成,并没有考虑如何控制服装项。fashion 训练了提升服装时尚感的模型,能自动度量时尚标准,对全身服装进行微小改变,将输入图像的服装调整为更加时尚的服装。cagan采用gan实现2d试衣,让模特试穿给定的服装,但是没有考虑人物的姿态,要求人物图像和服装图像高度对齐。acgpn在tps形变的基础上,引入了二阶差分约束,使得参考服装的纹理不会发生较大形变,效果更加真实,但人物姿态较为复杂时,会出现无法正确试衣的情形。viton提出先生成粗糙试衣图像,再对参考服装的特征信息进行二次提取,来合成更加真实的试衣图像,但是依然会丢失服装和人物细节特征。cp
‑
vton在此基础上,提出了特征保留的试衣网络,更好地保留了参考服装图像的细节特征,但试衣后人物细节特征丢失,除服装区域变化外,人物手臂手部区域以及其它非试衣服装区域发生了不可控的变化,无法合成更加写实保真的图像。为了解决上述问题,cp
‑
vton 提出了服装形状和纹理保留网络,虽然它优于目前的方法,但对于长袖款、纹理复杂的服装图像,以及姿态复杂的目标人物图像,它并不总是能生成满意的试衣效果。
5.如何提供一种不受衣服款式和试衣人员的身姿限制的虚拟试衣方法,以提高用户的体验,成为一个亟待解决的技术问题。
技术实现要素:
6.本发明的目的是提供一种虚拟试衣方法及系统,以提供一种不受衣服款式和试衣人员的身姿限制的虚拟试衣方法,提高用户的体验。
7.为实现上述目的,本发明提供了如下方案:
8.本发明提供一种虚拟试衣方法,所述试衣方法包括如下步骤:
9.提取目标人物图像的服装区域;
10.根据参考服装的款式,采用对抗网络模型对服装区域进行款式变换,获得服装参考区域;
11.利用服装形变模型,根据目标人物图像中的人物的身姿对参考服装进行形变,获得形变后的参考服装;
12.利用服装渲染模型,将形变后的参考服装渲染到目标人物图像的服装参考区域,获得渲染后的目标人物图像。
13.可选的,所述提取目标人物图像的服装区域,具体包括:
14.采用马尔科夫随机场选取目标人物图像的服装位置的多个像素点作为正样本和非服装处的多个像素点作为负样本;
15.利用所述正样本和所述负样本训练分类器,获得训练后的分类器;
16.利用训练后的分类器遍历所述目标人物图像的每个像素点,获得目标人物图像的服装区域。
17.可选的,所述对抗网络模型包括两个生成器和两个判别器;两个所述生成器分别为第一生成器和第二生成器,两个所述判别器分别为第一判别器和第二判别器;
18.所述第一生成器用于参照目标人物图像和服装区域图像生成参考人物生成图像和参考服装生成图像;所述第二生成器用于参照参考人物图像和参考服装图像生成目标人物生成图像和服装区域生成图像;
19.所述第一判别器用于对目标人物图像、服装区域图像、目标人物生成图像和服装区域生成图像进行判别;
20.所述第二判别器用于对参考人物图像、参考服装图像、参考人物生成图像和参考服装生成图像进行判别。
21.可选的,两个所述生成器均包括6层卷积层和3层残差块;
22.两个所述判别器均包括3层卷积层。
23.可选的,所述对抗网络模型的损失函数为:
24.l
atm
=l
lsgan
λ
cyc
l
cyc
λ
idt
l
idt
λ
ctx
l
ctx
;
25.其中,l
atm
为对抗网络模型的整体损失,l
lsgan
为对抗网络模型的对抗损失,l
cyc
为对抗网络模型的域转换损失、l
idt
为对抗网络模型的映射损失,l
ctx
为对抗网络模型的内容损失;λ
cyc
为域转换损失权重,λ
idt
为映射损失权重,λ
ctx
为内容损失权重;
26.l
lsgan
=(d
at1
(i1,m1)
‑
1)2 d
at1
(g
at2
(i2,m2))227.l
cyc
=||g
at2
(g
at1
(i1,m1))
‑
(i1,m1)||1 ||g
at1
(g
at2
(i2,m2))
‑
(i2,m2)||128.l
idt
=||g
at1
(i2,m2)
‑
(i2,m2)||1 ||g
at2
(i1,m1)
‑
(i1,m1)||1[0029][0030]
d
at1
(
·
)为第一判别器,d
at2
(
·
)为第二判别器,i1为目标人物图像,为参照参考人物图像生成的目标人物生成图像,m1为服装区域图像,为参照参考服装图像生成的服
装区域生成图像,g
at1
(
·
)为第一生成器,g
at2
(
·
)为第二生成器,i2为穿着有参考服装的人物的参考人物图像,为参照目标人物图像生成的参考人物生成图像,m2为参考服装图像,为参照服装区域图像生成的参考服装生成图像,为第一生成器的内容损失权重,为第二生成器的内容损失权重,
⊙
表示逐元素相乘。
[0031]
可选的,所述服装形变模型包括两个特征提取网络、特征连接网络、回归网络和tps转换网络;
[0032]
两个所述特征提取网络分别用于提取参考服装图像和目标人物图像的特征,获得参考图像特征和人物图像特征;
[0033]
所述特征连接网络用于将所述参考图像特征和所述人物图像特征连接后,送入回归网络;
[0034]
所述回归网络用于根据所述参考图像特征和所述人物图像特征,预测参考服装的形变参数;
[0035]
所述tps转换网络用于根据所述形变参数对所述参考服装进行形变,获得形变后的参考服装。
[0036]
可选的,服装形变模型的损失函数为:
[0037]
l
cwm
=λ
l1
l
l1
(θ) λ
global
l
global
(c
*
,c
gt
) λ
local
l
local
(c
*
,c
gt
)
[0038]
其中,l
cwm
为服装形变模型的整体损失,l
l1
(θ)表示服装形变模型的l1损失,θ表示形变参数,l
global
(c
*
,c
gt
)为服装形变模型的全局损失,l
local
(c
*
,c
gt
)表示服装形变模型的局部损失,λ
l1
、λ
global
和λ
local
分别表示l1损失、全局损失和局部损失的权重;
[0039]
c
*
表示形变后的参考服装图像,c
gt
表示目标人物服装的ground
‑
truth图像;
[0040][0040]
表示形变后的参考服装图像在感知网络的第i层特征图;表示目标人物服装的ground
‑
truth图像在感知网络的第i层特征图,λ
i
表示第i层特征图的权重;其中,特征提取网络提取目标人物和参考服装图像的特征,特征连接网络连接参考图像特征和人物图像特征后,送入到回归网络,回归网络根据目标人物图像特征,预测参考服装的形变参数,tps转换网络根据形变参数,对参考服装进行调整,得到契合目标人物的身材姿态的形变后的服装;
[0041][0041]
表示形变后的参考服装图像的第n个图像块在感知网络的第i层特征图,表示形变后的参考服装图像的第n个图像块,表示目标人物服装的ground
‑
truth图像的第n个图像块在感知网络的第i层特征图,c
gt,n
表示目标人物服装的ground
‑
truth图像的第n个图像块,n表示图像块的数量。
[0042]
可选的,所述服装渲染模型包括6层卷积网络和3层unet网络。
[0043]
可选的,所述服装渲染模型的损失函数为:
[0044]
l
render
=λ
l1
||i
to
‑
i
gt
||1 λ
vgg
l
vgg
(i
to
,i
gt
)
[0045]
其中,l
render
表示服装渲染模型的损失,λ
l1
表示l1损失的权重,i
to
表示渲染后的目标人物图像,i
gt
表示目标人物图像的ground
‑
truth图像,l
vgg
(
·
)表示vgg感知损失函数,λ
vgg
表示vgg感知损失的权重。
[0046]
一种虚拟试衣系统,所述试衣系统包括:
[0047]
服装语义分析模块,用于提取目标人物图像的服装区域;
[0048]
款式变换模块,用于根据参考服装的款式,采用对抗网络模型对服装区域进行款式变换,获得服装参考区域;
[0049]
服装形变模块,用于利用服装形变模型,根据目标人物图像中的人物的身姿对参考服装进行形变,获得形变后的参考服装;
[0050]
服装渲染模块,用于利用服装渲染模型,将形变后的参考服装渲染到目标人物图像的服装参考区域,获得渲染后的目标人物图像。
[0051]
可选的,所述服装语义分析模块,具体包括:
[0052]
样本选取子模块,用于采用马尔科夫随机场选取目标人物图像的服装位置的多个像素点作为正样本和非服装处的多个像素点作为负样本;
[0053]
分类器训练子模块,用于利用所述正样本和所述负样本训练分类器,获得训练后的分类器;
[0054]
服装区域提取子模块,用于利用训练后的分类器遍历所述目标人物图像的每个像素点,获得目标人物图像的服装区域。
[0055]
根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0056]
本发明公开了一种虚拟试衣方法,所述试衣方法包括如下步骤:提取目标人物图像的服装区域;根据参考服装的款式,采用对抗网络模型对服装区域进行款式变换,获得服装参考区域;利用服装形变模型,根据目标人物图像中的人物的身姿对参考服装进行形变,获得形变后的参考服装;利用服装渲染模型,将形变后的参考服装渲染到目标人物图像的服装参考区域,获得渲染后的目标人物图像。本发明利用对抗网络模型对服装区域进行款式变换,使虚拟试衣不受款式的限制,利用服装形变模型对参考服装进行形变,使其适用于不同的身姿,使虚拟试衣不受身姿的限制,本发明提供一种不受衣服款式和试衣人员的身姿限制的虚拟试衣方法,提高了用户的体验。
[0057]
而且本发明的服装形变模型的损失函数中考虑了全局损失和局部损失,使服装形变模型更加关注局部特征和细节特征,使生成结果更接近于原始图像。
[0058]
而且本发明利用服装渲染模型只对服装参考区域进行渲染,保证非试衣区域的信息不变,减小试衣图像的失真度。
附图说明
[0059]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0060]
图1为本发明提供的一种虚拟试衣方法的流程图;
[0061]
图2为本发明提供的一种虚拟试衣方法的原理图;
[0062]
图3为本发明提供的提取目标人物图像的服装区域的流程图;
[0063]
图4为本发明提供的款式变换的流程图。
具体实施方式
[0064]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0065]
本发明的目的是提供一种虚拟试衣方法及系统,以提供一种不受衣服款式和试衣人员的身姿限制的虚拟试衣方法,提高用户的体验。
[0066]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0067]
如图1和2所示,本发明提供本发明提供一种虚拟试衣方法,所述试衣方法包括如下步骤:
[0068]
步骤101,提取目标人物图像的服装区域。
[0069]
为了防止试衣后的服装位置错乱,需要寻找出目标人物图像的服装区域,然后将形变后的服装渲染到该区域,来完成试衣。将待试衣的目标人物图像(targetperson)输入到网络,由服装语义分析模块(clothes parsing module,cpm)对目标图像进行像素级语义分割,寻找出服装区域的位置,同时也为局部渲染创造实施条件。
[0070]
如图3所示,步骤101所述提取目标人物图像的服装区域,具体包括:
[0071]
采用马尔科夫随机场选取目标人物图像的服装位置的多个像素点作为正样本和非服装处的多个像素点作为负样本;即,利用马尔科夫随机场作为基础网络模型,寻找出相邻像素点,确定具体的服装区域。
[0072]
利用所述正样本和所述负样本训练分类器,获得训练后的分类器;即,为了能让计算机自动辨别服装区域的标签,选定标签过的服装区域作为正样本,其它外部区域作为负样本,训练分类器。
[0073]
利用训练后的分类器遍历所述目标人物图像的每个像素点,获得目标人物图像的服装区域。即,采取滑动窗遍历整幅图像,通过分类器寻找出指定标签的服装区域。
[0074]
步骤102,根据参考服装的款式,采用对抗网络模型对服装区域进行款式变换,获得服装参考区域。
[0075]
试衣时,若仅对服装区域进行渲染,当目标人物服装和参考服装款式不同时,局部渲染策略无法实现,因此需要应用款式变换模块将其转换为与参考服装相同的款式,从而实现不同服装款式间的换装。此外,提出的款式变换模块是可学习的,便于学习多种服装款式之间的转换。
[0076]
其中,所述对抗网络模型包括两个生成器和两个判别器;两个所述生成器分别为第一生成器和第二生成器,两个所述判别器分别为第一判别器和第二判别器;所述第一生成器用于参照目标人物图像和服装区域图像生成参考人物生成图像和参考服装生成图像;所述第二生成器用于参照参考人物图像和参考服装图像生成目标人物生成图像和服装区
域生成图像;所述第一判别器用于对目标人物图像、服装区域图像、目标人物生成图像和服装区域生成图像进行判别;所述第二判别器用于对参考人物图像、参考服装图像、参考人物生成图像和参考服装生成图像进行判别。两个所述生成器均包括6层卷积层和3层残差块;两个所述判别器均包括3层卷积层。
[0077]
所述对抗网络模型的损失函数为:
[0078]
l
atm
=l
lsgan
λ
cyc
l
cyc
λ
idt
l
idt
λ
ctx
l
ctx
;
[0079]
其中,l
atm
为对抗网络模型的整体损失,l
lsgan
为对抗网络模型的对抗损失,l
cyc
为对抗网络模型的域转换损失、l
idt
为对抗网络模型的映射损失,l
ctx
为对抗网络模型的内容损失;λ
cyc
为域转换损失权重,λ
idt
为映射损失权重,λ
ctx
为内容损失权重;
[0080]
l
lsgan
=(d
at1
(i1,m1)
‑
1)2 d
at1
(g
at2
(i2,m2))2[0081]
l
cyc
=||g
at2
(g
at1
(i1,m1))
‑
(i1,m1)||1 ||g
at1
(g
at2
(i2,m2))
‑
(i2,m2)||1[0082]
l
idt
=||g
at1
(i2,m2)
‑
(i2,m2)||1 ||g
at2
(i1,m1)
‑
(i1,m1)||1[0083][0084]
d
at1
(
·
)为第一判别器,d
at2
(
·
)为第二判别器,i1为目标人物图像,为参照参考人物图像生成的目标人物生成图像,m1为服装区域图像,为参照参考服装图像生成的服装区域生成图像,g
at1
(
·
)为第一生成器,g
at2
(
·
)为第二生成器,i2为穿着有参考服装的人物的参考人物图像,为参照目标人物图像生成的参考人物生成图像,m2为参考服装图像,为参照服装区域图像生成的参考服装生成图像,为第一生成器的内容损失权重,为第二生成器的内容损失权重,
⊙
表示逐元素相乘。
[0085]
经服装款式变换模型后,生成的目标图像是通用款式,即具有泛化属性,结合人物图像姿态图可以实现任意与其相同款式服装之间的试衣。例如图2中目标图像是短袖款式,结合姿态图可以和任意短袖款式进行试衣,并不局限于只能与图1中参考服装r进行试衣。
[0086]
如图4所示,步骤102所述根据参考服装的款式,采用对抗网络模型对服装区域进行款式变换,获得服装参考区域,具体包括:
[0087]
s21款式变换模块包含生成器g
at
和判别器d
at
。生成器输出生成的图像,由6层卷积网络和3层残差块组成。判别器d
at
对生成器g
at
产生的图像i
*
进行判定,是真样本和假样本,由3层卷积层组成。卷积层作为特征提取,残差块级联邻层特征,作为特征优化。
[0088]
s22以分割掩膜m1、m2和原图i1、i2作为生成器g
at1
、g
at2
的输入,g
at1
参考i2的服装款式,生成与i2相同款式的图像g
at2
参考i1的服装款式,生成与i1相同款式的图像(图4没有给出的结果),除了服装款式发生变换外,应尽可能保留i1、i2其它细节特征。为了更好地保留原图i1、i2的内容特征,采用内容损失函数l
cyc
、l
idt
分别计算域转换损失和映射损失:
[0089][0090][0091]
原始输入(i1,m1)、(i2,m2)经款式变换模块后的输出为在上述的内容损失上,还引入了内容保留函数l
ctx
:
[0092][0093]
式中,为权重,
⊙
表示逐元素相乘。对抗损失部分选取损失函数l
lsgan
:
[0094]
l
lsgan
=(d
at
(i1,m1)
‑
1)2 d
at
(g
at
(i2,m2))2ꢀꢀ
(4)
[0095]
款式变换模块的整体损失l
st
如公式(5)所示:
[0096]
l
atm
=l
lsgan
λ
cyc
l
cyc
λ
idt
l
idt
λ
ctx
l
ctx
ꢀꢀ
(5)
[0097]
步骤103,利用服装形变模型,根据目标人物图像中的人物的身姿对参考服装进行形变,获得形变后的参考服装。
[0098]
为了让服装更好地符合试穿者身材,使用可学习的服装形变模块,将参考服装根据目标服装图像的身材姿态进行相对应的形变。此外为了更好地保留形变后服装的细节特征,提出了改进型风格感知损失,该损失更加关注图像的全局特征和局部细节特征。
[0099]
服装形变模型由2个特征提取网络、1个特征连接网络、1个回归网络和tps转换网络组成。
[0100]
步骤103具体包括:
[0101]
s31特征提取网络分别提取参考服装图像r和目标人物图像的特征(由人物姿态图、语义分析图和人物形状图组成);
[0102]
s32特征连接网络连接参考图像特征和人物图像特征后,送入到回归网络;
[0103]
s33回归网络根据目标人物图像特征,预测参考服装的形变参数θ;
[0104]
s34 tps转换网络根据形变参数,对参考服装进行调整,得到契合目标人物的身材姿态的形变后的服装c
*
。最终得到该模块的损失函数如式6所示,c
gt
为目标人物服装的ground
‑
truth图像。
[0105][0106]
传统的l1损失是基于整幅图像计算损失,因此不能保持图像的细节特征,形变后服装图像的线条混乱、图案logo带有伪影,无法产生真实感形变结果。为了解决上述问题,本发明提出改进型风格感知损失,由全局损失和局部损失构成,全局损失用来保持图像的全局特征信息,局部损失用来保持图像的细节特征信息,将二者相结合有利于维持原始信息特征,使得试衣结果更加真实,不会影响到服装的观感以及试穿者的试衣体验;
[0107]
s41为了准确的计算图像的全局损失,本发明对不同特征层赋予了不同权重,让模型更加关注图像的高层语义特征;
[0108][0109]
表示图像c经感知网络的第i层特征图,其中感知网络是vgg19在imagenet数据集上训练得到的,λ
i
表示第i层特征图的权重(在本方法中,λ1=1/32,λ2=1/16,λ3=1/8,λ4=1/4,λ5=1),每层赋予不同的权重,是为了让网络关注服装图像的高层语义特征。
[0110]
s42提出的局部损失用来约束服装形变模块,通过最小化形变服装图像和ground
‑
truth图像间的距离,使得形变后的服装图像尽可能地保持原始图像的细节纹理特征,有利于后续试衣模块生成更加真实感的试衣图像。计算局部损失时,本发明将ground
‑
truth图像和形变后图像分成n块,对每块分别计算其感知损失,最后对所有块的损失求和,得到图像的局部损失;
[0111][0112]
最后,该形变模块的整体损失为:
[0113][0114]
λ
l1
、λ
global
、λ
local
表示每个损失的权重。
[0115]
具体的,所述服装形变模型包括两个特征提取网络、特征连接网络、回归网络和tps转换网络;两个所述特征提取网络分别用于提取参考服装图像和目标人物图像的特征,获得参考图像特征和人物图像特征;所述特征连接网络用于将所述参考图像特征和所述人物图像特征连接后,送入回归网络;所述回归网络用于根据所述参考图像特征和所述人物图像特征,预测参考服装的形变参数;所述tps转换网络用于根据所述形变参数对所述参考服装进行形变,获得形变后的参考服装。
[0116]
本发明的服装形变模型的损失函数为:
[0117]
l
cwm
=λ
l1
l
l1
(θ) λ
global
l
global
(c
*
,c
gt
) λ
local
l
local
(c
*
,c
gt
)
[0118]
其中,l
cwm
为服装形变模型的整体损失,l
l1
(θ)表示服装形变模型的l1损失,θ表示形变参数,l
global
(c
*
,c
gt
)为服装形变模型的全局损失,l
local
(c
*
,c
gt
)表示服装形变模型的局部损失,λ
l1
、λ
global
和λ
local
分别表示l1损失、全局损失和局部损失的权重;
[0119]
c
*
表示形变后的参考服装图像,c
gt
表示目标人物服装的ground
‑
truth图像;
[0120][0120]
表示形变后的参考服装图像在感知网络的第i层特征图;表示目标人物服装的ground
‑
truth图像在感知网络的第i层特征图,λ
i
表示第i层特征图的权重;其中,特征提取网络提取目标人物和参考服装图像的特征,特征连接网络连接参考图像特征和人物图像特征后,送入到回归网络,回归网络根据目标人物图像特征,预测参考服装的形变参数,tps转换网络根据形变参数,对参考
服装进行调整,得到契合目标人物的身材姿态的形变后的服装。
[0121][0121]
表示形变后的参考服装图像的第n个图像块在感知网络的第i层特征图,表示形变后的参考服装图像的第n个图像块,表示目标人物服装的ground
‑
truth图像的第n个图像块在感知网络的第i层特征图,c
gt,n
表示目标人物服装的ground
‑
truth图像的第n个图像块,n表示图像块的数量。
[0122]
步骤104,利用服装渲染模型,将形变后的参考服装渲染到目标人物图像的服装参考区域,获得渲染后的目标人物图像。
[0123]
本发明仅对服装区域进行渲染,能保持目标人物图像的手臂区域、手部脸部区域、头发区域以及非试衣区域等信息不变,即更好地保留了人物原始的细节特征。
[0124]
所述服装渲染模型包括6层卷积网络和3层unet网络。卷积层作特征提取,unet层采用3个跳连接,将低层和高层特征进行拼接,更好地保留原始特征。
[0125]
将形变后的服装r
*
渲染到目标图像的指定区域,得到试衣后图像i
to
。在渲染时,增添约束,只对服装区域进行渲染,保留人物服装区域以外的特征。最后得到服装渲染模型的损失函数为:
[0126]
l
render
=λ
l1
||i
to
‑
i
gt
||1 λ
vgg
l
vgg
(i
to
,i
gt
)
ꢀꢀ
(10)
[0127]
式中,i
gt
为ground
‑
truth图像,l
vgg
为vgg感知损失函数。
[0128]
本发明还提供一种虚拟试衣系统,所述试衣系统包括:
[0129]
服装语义分析模块,用于提取目标人物图像的服装区域。
[0130]
所述服装语义分析模块,具体包括:样本选取子模块,用于采用马尔科夫随机场选取目标人物图像的服装位置的多个像素点作为正样本和非服装处的多个像素点作为负样本;分类器训练子模块,用于利用所述正样本和所述负样本训练分类器,获得训练后的分类器;服装区域提取子模块,用于利用训练后的分类器遍历所述目标人物图像的每个像素点,获得目标人物图像的服装区域。
[0131]
款式变换模块,用于根据参考服装的款式,采用对抗网络模型对服装区域进行款式变换,获得服装参考区域。
[0132]
服装形变模块,用于利用服装形变模型,根据目标人物图像中的人物的身姿对参考服装进行形变,获得形变后的参考服装。
[0133]
服装渲染模块,用于利用服装渲染模型,将形变后的参考服装渲染到目标人物图像的服装参考区域,获得渲染后的目标人物图像。
[0134]
根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0135]
本发明为了实现不同服装款式间的试衣,构造了可学习的款式变换模块。目标人物试衣前,将其服装按照参考服装的款式先进行转换,转换成相同服装款式后,再进行后续的试衣,这一操作能减轻渲染服装环节的压力,能更好地实现不同款式间的试衣。为了让形变后的服装更好地保留原始服装的细节特征,设计了改进型风格感知损失,将全局损失和局部损失相结合,使生成结果更接近于原始图像。此外,为了让目标人物图像的非试衣区域的特征不丢失,本发明采用先语义分割后局部渲染的策略,仅对人物服装区域进行渲染,维持非试衣区域的原始特征。本发明在人物手臂、手部等细节保持方面效果显著,除试衣区域
外,更好地保留了非试衣区域的特征信息,试衣后图像更加写实保真。此外,还解决了试穿者姿态复杂时无法正确试衣的问题,相比于现有的方法,例如viton、cp
‑
vton、cp
‑
vton 、acgpn等方法,本发明提出的方法试衣效果更加显著。
[0136]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0137]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:
1.一种虚拟试衣方法,其特征在于,所述试衣方法包括如下步骤:提取目标人物图像的服装区域;根据参考服装的款式,采用对抗网络模型对服装区域进行款式变换,获得服装参考区域;利用服装形变模型,根据目标人物图像中的人物的身姿对参考服装进行形变,获得形变后的参考服装;利用服装渲染模型,将形变后的参考服装渲染到目标人物图像的服装参考区域,获得渲染后的目标人物图像。2.根据权利要求1所述的虚拟试衣方法,其特征在于,所述提取目标人物图像的服装区域,具体包括:采用马尔科夫随机场选取目标人物图像的服装位置的多个像素点作为正样本和非服装处的多个像素点作为负样本;利用所述正样本和所述负样本训练分类器,获得训练后的分类器;利用训练后的分类器遍历所述目标人物图像的每个像素点,获得目标人物图像的服装区域。3.根据权利要求1所述的虚拟试衣方法,其特征在于,所述对抗网络模型包括两个生成器和两个判别器;两个所述生成器分别为第一生成器和第二生成器,两个所述判别器分别为第一判别器和第二判别器;所述第一生成器用于参照目标人物图像和服装区域图像生成参考人物生成图像和参考服装生成图像;所述第二生成器用于参照参考人物图像和参考服装图像生成目标人物生成图像和服装区域生成图像;所述第一判别器用于对目标人物图像、服装区域图像、目标人物生成图像和服装区域生成图像进行判别;所述第二判别器用于对参考人物图像、参考服装图像、参考人物生成图像和参考服装生成图像进行判别。4.根据权利要求3所述的虚拟试衣方法,其特征在于,两个所述生成器均包括6层卷积层和3层残差块;两个所述判别器均包括3层卷积层。5.根据权利要求1或3所述的虚拟试衣方法,其特征在于,所述对抗网络模型的损失函数为:l
atm
=l
lsgan
λ
cyc
l
cyc
λ
idt
l
idt
λ
ctx
l
ctx
;其中,l
atm
为对抗网络模型的整体损失,l
lsgan
为对抗网络模型的对抗损失,l
cyc
为对抗网络模型的域转换损失、l
idt
为对抗网络模型的映射损失,l
ctx
为对抗网络模型的内容损失;λ
cyc
为域转换损失权重,λ
idt
为映射损失权重,λ
ctx
为内容损失权重;l
lsgan
=(d
at1
(i1,m1)
‑
1)2 d
at1
(g
at2
(i2,m2))2;
d
at1
(
·
)为第一判别器,i1为目标人物图像,为参照参考人物图像生成的目标人物生成图像,m1为服装区域图像,为参照参考服装图像生成的服装区域生成图像,g
at1
(
·
)为第一生成器,g
at2
(
·
)为第二生成器,i2为穿着有参考服装的人物的参考人物图像,为参照目标人物图像生成的参考人物生成图像,m2为参考服装图像,为参照服装区域图像生成的参考服装生成图像,为第一生成器的内容损失权重,为第二生成器的内容损失权重,
⊙
表示逐元素相乘。6.根据权利要求1所述的虚拟试衣方法,其特征在于,所述服装形变模型包括两个特征提取网络、特征连接网络、回归网络和tps转换网络;两个所述特征提取网络分别用于提取参考服装图像和目标人物图像的特征,获得参考图像特征和人物图像特征;所述特征连接网络用于将所述参考图像特征和所述人物图像特征连接后,送入回归网络;所述回归网络用于根据所述参考图像特征和所述人物图像特征,预测参考服装的形变参数;所述tps转换网络用于根据所述形变参数对所述参考服装进行形变,获得形变后的参考服装。7.根据权利要求1或6所述的虚拟试衣方法,其特征在于,服装形变模型的损失函数为:其中,l
cwm
为服装形变模型的整体损失,l
l1
(θ)表示服装形变模型的l1损失,θ表示形变参数,l
global
(c
*
,c
gt
)为服装形变模型的全局损失,l
local
(c
*
,c
gt
)表示服装形变模型的局部损失,λ
l1
、λ
global
和λ
local
分别表示l1损失、全局损失和局部损失的权重;l
l1
(θ)=||c
*
‑
c
gt
||1,c
*
表示形变后的参考服装图像,c
gt
表示目标人物服装的ground
‑
truth图像;truth图像;表示形变后的参考服装图像在感知网络的第i层特征图;表示目标人物服装的ground
‑
truth图像在感知网络的第i层特征图,λ
i
表示第i层特征图的权重;表示第i层特征图的权重;表示形变后的参考服装图像的第
n个图像块在感知网络的第i层特征图,表示形变后的参考服装图像的第n个图像块,表示目标人物服装的ground
‑
truth图像的第n个图像块在感知网络的第i层特征图,c
gt,n
表示目标人物服装的ground
‑
truth图像的第n个图像块,n表示图像块的数量。8.根据权利要求1所述的虚拟试衣方法,其特征在于,所述服装渲染模型包括6层卷积网络和3层unet网络。9.根据权利要求1或8所述的虚拟试衣方法,其特征在于,所述服装渲染模型的损失函数为:l
crm
=λ
l1
||i
to
‑
i
gt
||1 λ
vgg
l
vgg
(i
to
,i
gt
)其中,l
crm
表示服装渲染模型的损失,λ
l1
表示l1损失的权重,i
to
表示渲染后的目标人物图像,i
gt
表示目标人物图像的ground
‑
truth图像,l
vgg
(
·
)表示vgg感知损失函数,λ
vgg
表示vgg感知损失的权重。10.一种虚拟试衣系统,其特征在于,所述试衣系统包括:服装语义分析模块,用于提取目标人物图像的服装区域;款式变换模块,用于根据参考服装的款式,采用对抗网络模型对服装区域进行款式变换,获得服装参考区域;服装形变模块,用于利用服装形变模型,根据目标人物图像中的人物的身姿对参考服装进行形变,获得形变后的参考服装;服装渲染模块,用于利用服装渲染模型,将形变后的参考服装渲染到目标人物图像的服装参考区域,获得渲染后的目标人物图像。
技术总结
本发明公开了一种虚拟试衣方法,所述试衣方法包括如下步骤:提取目标人物图像的服装区域;根据参考服装的款式,采用对抗网络模型对服装区域进行款式变换,获得服装参考区域;利用服装形变模型,根据目标人物图像中的人物的身姿对参考服装进行形变,获得形变后的参考服装;利用服装渲染模型,将形变后的参考服装渲染到目标人物图像的服装参考区域,获得渲染后的目标人物图像。本发明利用对抗网络模型对服装区域进行款式变换,使虚拟试衣不受款式的限制,利用服装形变模型对参考服装进行形变,使其适用于不同的身姿,使虚拟试衣不受身姿的限制,本发明提供一种不受衣服款式和试衣人员的身姿限制的虚拟试衣方法,提高了用户的体验。提高了用户的体验。提高了用户的体验。
技术研发人员:普园媛 徐俊 徐丹 赵征鹏 周浩 袁国武 钱文华
受保护的技术使用者:云南大学
技术研发日:2021.04.27
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-13137.html