一种语义对齐的图像虚拟试衣方法

未命名 07-22 阅读:152 评论:0


1.本发明属于图像虚拟试衣领域,具体涉及一种语义对齐的图像虚拟试衣方法。


背景技术:

2.基于图像的虚拟试衣技术旨在将特定的服装图像转移到目标人物图像上,并生成照片级真实性的图像或视频。其与基于图形的虚拟试衣方法的最大不同之处在于无需对服装和人物进行三维重建,而是依靠模型对图片的语义理解合成图像。给定一张目标服装图像和人物图像,模型的输出图像应当满足以下要求:(1)目标服装应穿着在人物的目标位置;(2)人物的姿态和特征应当被保留;(3)目标服装的纹理和细节应当被保留;(4)人物目标着装区域以外的服饰应当被完好保留。
3.当前最流行的图像虚拟试衣方法主要基于服装变形法,一般包含两个主要阶段:(1)服装对齐:将服装变形以对齐人体;(2)试衣合成:将变形后的服装与人体融合以生成试衣服装。常见的用于服装变形的几何方法有薄板样条插值法、光流法、三维辅助法等。同时,一些方法选择预测人体语义图以更好地指导试衣合成。服装变形法的优势在于可以提前对齐服装和人体,以在试衣合成阶段提供更多服装纹理先验。但是现有的服装对齐方法只提供了粗略的对齐效果,例如无法处理自遮挡情况,这会造成服装和目标着装区域的不对齐现象。此外,在试衣合成阶段,基于语义指导的方法倾向于将人体语义图直接输入模块,这往往会丢失语义信息,从而加剧服装与目标着装区域不对齐的现象。


技术实现要素:

4.为解决上述问题,本发明公开了一种语义对齐的图像虚拟试衣方法,可以生成更加符合人体布局的虚拟试衣图像。首先对人体图像和人体语义图进行预处理以去除手臂、服装信息;其次通过人体语义合成模块预测目标人体语义图;然后使用服装对齐模块对齐服装和人体;最后使用试衣合成模块得到最终的试衣图像。在服装对齐模块中,提出了区域限制策略限制服装变形的范围,减少服装过度扭曲的情况。在试衣合成模块中,使用了空间自适应归一化层替代普通的归一化层以固定人体语义图信息。
5.为达到上述目的,本发明的技术方案如下:
6.一种语义对齐的图像虚拟试衣方法,给定一张人物图像i∈r3×h×w和一张目标服装图像c∈r3×h×w,模型将输出穿着目标服装c∈r3×h×w的人物图像同时保留姿态和人体特征,其过程包含以下步骤:
7.(1)数据预处理:该部分旨在抹去人物图像i中的任何目标着装区域的服装信息,从而得到衣服与人物无关表达——人物图像ia和人体语义图sa,两者皆去除了衣服和手臂信息。
8.(2)人体语义合成模块:输入为去除了手臂、服装信息的人体语义图sa和姿态图p和服装掩码cm,模型将生成穿着目标服装的目标人体语义图
9.(3)服装对齐模块:该模块通过非刚性的tps变换将服装图像c扭曲以对齐目标人
体的着装区域,并通过区域限制策略策略避免了变形后的服装t
θ
(c)与目标人体语义图不对齐的问题,同时亦避免了服装的过度扭曲。
10.(4)试衣合成模块:该模块接收人物图像i、姿态p和对齐服装t
θ
(c)作为输入,并使用目标人体语义图作为生成器的的条件归一化信息以生成目标图像
11.所述步骤(1)中,数据预处理的流程为:给定人体图像i,使用预训练的人体姿态提取器和人体解析提取器分别提取到的人体姿态图p∈r
18hw
和人体语义图s∈l
hw
(l为语义图标签的总数)。首先将人体语义图s的服装部分sc置为0,然后使用姿态图p提供的坐标为中心作柱状掩码以遮蔽s的手臂部分。对于人体图像i,使用语义图s遮蔽服装部分,然后同样使用姿态图p提供的坐标为中心作柱状掩码以扩大掩码范围,使得掩码彻底覆盖人体的上半身。经过以上数据预处理,得到了衣服与人物无关表达sa和ia,它们彻底移除了服装信息,同时最大程度保留了非目标着装区域的信息。
12.所述步骤(2)中,人体语义合成采用u-net作为生成器。生成器gs接收人体语义图sa、姿态图p和服装掩码cm作为输入,预测目标人体语义图采用了多尺度判别器结构。使用两个判别器d
s1
和d
s2
在原尺寸和下采样两倍尺寸下对人体语义图进行判别,以增大判别器的感受野。具体方式是,将得到的和输入sa⊕
p
⊕cm
进行通道组合作为判别器的输入,两个判别器分别接收原尺寸的输入和经过两倍下采样的输入,并分别经过sigmoid层输出置信度,然后取平均值作为判别器的最终输出。
13.所述步骤(3)中,服装对齐模块扭曲服装c以对齐目标服装ic,使得试衣模块能轻松地融合服装与人体图像。服装对齐模块的学习目标是一组tps参数,并使用该参数对服装c进行tps变换得到对齐服装cw。使用两个由卷积神经网络组成的编码器e1和e2分别对上个阶段生成的人体语义图和服装c进行编码,生成两个特征向量得到的特征将经过l2归一化,空间展平,并组织成矩阵然后将两者调整形状进行矩阵相乘得到和c之间的关联矩阵corr:
[0014][0015]
corr矩阵包含了f
e1
和f
e2
每对像素之间的相似性。随后使用一个回归器r对corr进行下采样得到对应的tps参数θ∈r
50
。对服装c进行tps变换可以得到变形的服装t
θ
(c)。
[0016]
所述步骤(3)中,采用区域限制策略控制服装的变形范围。具体的做法是从人体语义图中提取目标服装掩码mc=sc,然后和变形后的服装t
θ
(c)作点乘,得到本模块的最终输出,即对齐服装cw:
[0017]cw
=t
θ
(c)

mc[0018]
所述步骤(3)中,目标损失为对齐服装cw和目标服装ic之间的l1+感知损失。同时,为了使模块关注服装的整体形状,而不是仅仅变形目标着装区域的部分像素,引入了形状损失。具体做法为,使用和服装变形同样的一套tps参数变形店内服装掩码cm,得到与t
θ
(c)形状相同的服装掩码t
θ
(cm),然后计算它和目标服装掩码mc之间的l1损失。可以使用以下公式表示:
[0019]
[0020]
因此模块的整体损失函数定义为:
[0021][0022]
所述步骤(4)中,试衣合成模块将之前阶段得到的对齐服装和人物图像融合,得到最终的试衣人物图像。输入为衣服与人物无关表达ia、姿态热图p和对齐服装cw的通道组合ia⊕
p
⊕cw
,输出试衣图像人体语义图为spade resblock的条件归一化输入。试衣合成模块由一系列spade resblock和上采样层堆叠而成,采用纯解码器架构。输入的特征图将逐渐放大到最终输出的尺寸。
[0023]
所述步骤(4)中,模块首先调整ia⊕
p
⊕cw
的大小,然后通过一个3
×
3的卷积层输出一个尺寸为1024
×4×
3的特征图。输出的特征图将与调整大小与其一致的ia⊕
p
⊕cw
进行通道组合作为spade resblock的输入。spaderesblock的结构与residual block的结构类似,由三个卷积层搭配残差连接结构组成。同样,spade层的条件归一化输入也需要调整为和当前spaderesblock输入一样的尺寸。spaderesblock的输出将经过两倍上采样,然后经由一个3
×
3的卷积层将其通道数减半,得到的输出将作为下一个spade resblock的输入。可以看到,模型采用多尺度融合的策略,这保证了不同尺度的特征图在语义图指导下的归一化效果,从而实现输出图像与语义布局的对齐。模块的目标损失函数由对抗损失、重建损失(l1损失)、感知损失和判别器的特征匹配损失组成:
[0024][0025]
式中λ
rec
、λ
perc
和λ
fm
分别为对应损失的系数。
[0026]
本发明的有益效果为:
[0027]
(1)采用语义对齐的四阶段虚拟试衣框架,可以生成符合人体布局的虚拟试衣图像;
[0028]
(2)采用区域限制的服装对齐模块,通过引入区域限制策略限制服装变形的范围,减少服装过度扭曲,使得服装与目标着装区域对齐;
[0029]
(3)采用语义布局对齐的试衣合成模块,使用空间自适应归一化层固定人体语义图信息,从而生成更加符合人体语义布局的试衣图像。
附图说明
[0030]
图1为本发明语义对齐的图像虚拟试衣方法的流程图。
[0031]
图2为本发明数据预处理流程图。
[0032]
图3为本发明人体语义合成模块示意图。
[0033]
图4为本发明人体语义合成模块结构图。
[0034]
图5为本发明区域限制的服装对齐模块示意图。
[0035]
图6为本发明区域限制的服装对齐模块结构图。
[0036]
图7为本发明语义布局对齐的试衣合成模块示意图1。
[0037]
图8为本发明语义布局对齐的试衣合成模块示意图2。
[0038]
图9为本发明语义布局对齐的试衣合成模块结构图。
[0039]
图10为本发明的虚拟试衣效果示意图。
具体实施方式
[0040]
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
[0041]
如图1所示,一种语义对齐的图像虚拟试衣方法,包括如下步骤:
[0042]
步骤s1:数据预处理:数据预处理:该部分旨在抹去人物图像i中的任何目标着装区域的服装信息,从而得到衣服与人物无关表达——人物图像ia和人体语义图sa,两者皆去除了衣服和手臂信息;
[0043]
步骤s2:人体语义合成模块:输入为去除了手臂、服装信息的人体语义图sa和姿态图p和服装掩码cm,模型将生成穿着目标服装的目标人体语义图
[0044]
步骤s3:服装对齐模块:该模块通过非刚性的tps变换将服装图像c扭曲以对齐目标人体的着装区域,并通过区域限制策略策略避免了变形后的服装tθ(c)与目标人体语义图不对齐的问题,同时亦避免了服装的过度扭曲;
[0045]
步骤s4:试衣合成模块:该模块接收人物图像i、姿态p和对齐服装t
θ
(c)作为输入,并使用目标人体语义图作为生成器的的条件归一化信息以生成目标图像
[0046]
如图2所示,本发明的数据预处理的流程为:给定人体图像i,使用预训练的人体姿态提取器和人体解析提取器分别提取到的人体姿态图p∈r
18
×h×w和人体语义图s∈lh×w(l为语义图标签的总数)。首先将人体语义图s的服装部分sc置为0,然后使用姿态图p提供的坐标为中心作柱状掩码以遮蔽s的手臂部分。对于人体图像i,使用语义图s遮蔽服装部分,然后同样使用姿态图p提供的坐标为中心作柱状掩码以扩大掩码范围,使得掩码彻底覆盖人体的上半身。经过以上数据预处理,得到了衣服与人物无关表达sa和ia,它们彻底移除了服装信息,同时最大程度保留了非目标着装区域的信息。
[0047]
如图3所示,本发明的人体语义合成模块流程如下。人体语义合成采用u-net作为生成器。生成器gs接收人体语义图sa、姿态图p和服装掩码cm作为输入,预测目标人体语义图采用了多尺度判别器结构。使用两个判别器d
s1
和d
s2
在原尺寸和下采样两倍尺寸下对人体语义图进行判别,以增大判别器的感受野。具体方式是,将得到的和输入sa⊕
p
⊕cm
进行通道组合作为判别器的输入,两个判别器分别接收原尺寸的输入和经过两倍下采样的输入,并分别经过sigmoid层输出置信度,然后取平均值作为判别器的最终输出。模块的整体损失函数为:
[0048][0049]
式中λ
ce
为交叉熵损失的系数。
[0050]
如图4所示,本发明的人体语义合成模块结构如下。编码器的首层为一个4
×
4卷积核以两倍下采样的卷积层,然后是两个相同的卷积块。每个编码器卷积块中包含一个leakyrelu层,一个4
×
4卷积核以两倍下采样的卷积层和一个实例归一化层。模块的中间层为包含尺寸不变的卷积层和转置卷积层的卷积块。编码器的由于3个卷积块组成。除了最后一个卷积块之外,每个卷积块包含一个relu层,一个两倍上采样的转置卷积层和一个实例归一化层。最后一个卷积块将实例归一化层替换为了tanh层。
[0051]
如图5所示,本发明提出的区域限制的服装对齐模块流程如下。服装对齐模块扭曲服装c以对齐目标服装ic,使得试衣模块能轻松地融合服装与人体图像。服装对齐模块的学
习目标是一组tps参数,并使用该参数对服装c进行tps变换得到对齐服装cw。使用两个由卷积神经网络组成的编码器e1和e2分别对上个阶段生成的人体语义图和服装c进行编码,生成两个特征向量得到的特征将经过l2归一化,空间展平,并组织成矩阵然后将两者调整形状进行矩阵相乘得到和c之间的关联矩阵corr:
[0052][0053]
corr矩阵包含了f
e1
和f
e2
每对像素之间的相似性。随后使用一个回归器r对corr进行下采样得到对应的tps参数θ∈r
50
。对服装c进行tps变换可以得到变形的服装t
θ
(c)。
[0054]
在服装对齐模块中,采用区域限制策略控制服装的变形范围。具体的做法是从人体语义图中提取目标服装掩码mc=sc,然后和变形后的服装t
θ
(c)作点乘,得到本模块的最终输出,即对齐服装cw:
[0055]cw
=t
θ
(c)

mc[0056]
目标损失为对齐服装cw和目标服装ic之间的l1+感知损失。同时,为了使模块关注服装的整体形状,而不是仅仅变形目标着装区域的部分像素,引入了形状损失。具体做法为,使用和服装变形同样的一套tps参数变形店内服装掩码cm,得到与t
θ
(c)形状相同的服装掩码t
θ
(cm),然后计算它和目标服装掩码mc之间的l1损失。可以使用以下公式表示:
[0057][0058]
如图6所示,本发明提出的区域限制的服装对齐模块结构如下。e1和e2拥有相同的结构。由四个卷积核4
×
4以两倍下采样的卷积层和两个卷积核3
×
3的卷积层组成。e1和e2的输出将在相关层(correlation layer)中进行矩阵相乘。回归器r由两个卷积核4
×
4以两倍下采样的卷积层和三个卷积核3
×
3的卷积层组成。最终将输出一组tps参数θ∈r
50

[0059]
如图7,图8,图9所示,本发明提出的语义布局对齐的试衣合成模块流程和结构如下。试衣合成模块将之前阶段得到的对齐服装和人物图像融合,得到最终的试衣人物图像。输入为衣服与人物无关表达ia、姿态热图p和对齐服装cw的通道组合ia⊕
p
⊕cw
,输出试衣图像人体语义图为spade resblock的条件归一化输入。试衣合成模块由一系列spade resblock和上采样层堆叠而成,采用纯解码器架构。输入的特征图将逐渐放大到最终输出的尺寸。
[0060]
模块首先调整ia⊕
p
⊕cw
的大小,然后通过一个3
×
3的卷积层输出一个尺寸为1024
×4×
3的特征图。输出的特征图将与调整大小与其一致的ia⊕
p
⊕cw
进行通道组合作为spade resblock的输入。spaderesblock的结构与residual block的结构类似,由三个卷积层搭配残差连接结构组成。同样,spade层的条件归一化输入也需要调整为和当前spaderesblock输入一样的尺寸。spaderesblock的输出将经过两倍上采样,然后经由一个3
×
3的卷积层将其通道数减半,得到的输出将作为下一个spade resblock的输入。可以看到,模型采用多尺度融合的策略,这保证了不同尺度的特征图在语义图指导下的归一化效果,从而实现输出图像与语义布局的对齐。模块的目标损失函数由对抗损失、重建损失(l1损失)、感知损失和判别器的特征匹配损失组成:
[0061]
[0062]
式中λ
rec
、λ
perc
和λ
fm
分别为对应损失的系数。
[0063]
下面将以viton数据集(一个用于图像虚拟试衣的数据集,包含包含16253组人物-服装图像对,其中14221组为训练集,2032组为测试集)详细叙述本发明的运行环境、参数设置以及虚拟试衣生成效果。
[0064]
本发明中实验的实施环境如下。具体的环境配置如下:(1)cpu,amd epyc 7542 32核64线程(2)gpu,nvidia geforce rtx 3090
×
4(3)内存,三星ddr4 32gb
×
8(4)操作系统,ubuntu 22.04.1lts(5)深度学习环境,pytorch1.11。本发明的所有模块都使用adam优化器进行优化,超参数为β1=0.5,β2=0.999,并使用线性衰减策略逐步降低学习率至0。人体语义合成模块的训练批大小为32,生成器学习率为2e-4,判别器学习率为1e-4。服装对齐模块的训练批大小为64,学习率2e-4,损失函数中的各个系数为:λ
app
=1,λ
vgg
=1,λ
shp
=0.1。试衣合成模块的训练批大小为32,生成器学习率为2e-4,判别器学习率为2e-5,损失函数中的各个系数为:λ
rec
=0.1,λ
perc
=1,λ
fm
=10。
[0065]
如图10所示,展示了本发明在多种服饰上的虚拟试衣效果,包含短袖、半袖、长袖、无袖等服装类型。可以看到,本发明可以为一位模特同时更换多套服装,并且可以生成拥有足够信服力的试衣图像。
[0066]
需要说明的是,以上内容仅仅说明了本发明的技术思想,不能以此限定本发明的保护范围,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰均落入本发明权利要求书的保护范围之内。

技术特征:
1.一种语义对齐的图像虚拟试衣方法,其特征在于,包括如下步骤:(1)数据预处理:该部分旨在抹去人物图像i中的任何目标着装区域的服装信息,从而得到衣服与人物无关表达——人物图像i
a
和人体语义图s
a
,两者皆去除了衣服和手臂信息;(2)人体语义合成模块:输入为去除了手臂、服装信息的人体语义图s
a
和姿态图p和服装掩码c
m
,模型将生成穿着目标服装的目标人体语义图(3)服装对齐模块:该模块通过非刚性的tps变换将服装图像c扭曲以对齐目标人体的着装区域,并通过区域限制策略避免了变形后的服装t
θ
(c)与目标人体语义图不对齐的问题,同时亦避免了服装的过度扭曲;(4)试衣合成模块:该模块接收人物图像i、姿态p和对齐服装t
θ
(c)作为输入,并使用目标人体语义图作为生成器的的条件归一化信息以生成目标图像2.如权利要求1所述的语义对齐的图像虚拟试衣方法,其特征在于,步骤(1)中,给定人体图像i,使用预训练的人体姿态提取器和人体解析提取器分别提取到的人体姿态图p∈r
18
×
h
×
w
和人体语义图s∈l
h
×
w
,l为语义图标签的总数;人体语义图s的服装部分s
c
置为0,然后使用姿态图p提供的坐标为中心作柱状掩码以遮蔽s的手臂部分;对于人体图像i,使用语义图s遮蔽服装部分,然后同样使用姿态图p提供的坐标为中心作柱状掩码以扩大掩码范围,使得掩码彻底覆盖人体的上半身。3.如权利要求1所述的语义对齐的图像虚拟试衣方法,其特征在于,步骤(2)中,人体语义合成采用u-net作为生成器,生成器g
s
接收人体语义图s
a
、姿态图p和服装掩码c
m
作为输入,预测目标人体语义图采用多尺度判别器结构;使用两个判别器d
s1
和d
s2
在原尺寸和下采样两倍尺寸下对人体语义图进行判别,增大判别器的感受野;具体方式是,将得到的和输入进行通道组合作为判别器的输入,两个判别器分别接收原尺寸的输入和经过两倍下采样的输入,并分别经过sigmoid层输出置信度,然后取平均值作为判别器的最终输出。4.如权利要求1所述的语义对齐的图像虚拟试衣方法,其特征在于,步骤(3)中,服装对齐模块学习目标一组tps参数,并使用该参数对服装c进行tps变换得到对齐服装c
w
;采用区域限制策略控制服装的变形范围;具体的做法是从人体语义图中提取目标服装掩码m
c
=s
c
,然后和变形后的服装t
θ
(c)作点乘,得到本模块的最终输出,即对齐服装c
w
:c
w
=t
θ
(c)

m
c
目标损失为对齐服装c
w
和目标服装i
c
之间的l1+感知损失;引入了形状损失,使模块关注服装的整体形状,而不是仅仅变形目标着装区域的部分像素;具体做法为,使用和服装变形同样的一套tps参数变形店内服装掩码c
m
,得到与t
θ
(c)形状相同的服装掩码t
θ
(c
m
),然后计算它和目标服装掩码m
c
之间的l1损失;使用以下公式表示:因此模块的整体损失函数定义为:5.如权利要求1所述的语义对齐的图像虚拟试衣方法,其特征在于,步骤(4)中,试衣合
成模块的输入为衣服与人物无关表达i
a
、姿态热图p和对齐服装c
w
的通道组合输出试衣图像人体语义图为spade resblock的条件归一化输入;试衣合成模块由一系列spade resblock和上采样层堆叠而成,采用纯解码器架构;输入的特征图将逐渐放大到最终输出的尺寸;模块首先调整的大小,然后通过一个3
×
3的卷积层输出一个尺寸为1024
×4×
3的特征图;输出的特征图将与调整大小与其一致的进行通道组合作为spade resblock的输入;spaderesblock的结构与residual block的结构类似,由三个卷积层搭配残差连接结构组成;同样,spade层的条件归一化输入也需要调整为和当前spaderesblock输入一样的尺寸;spaderesblock的输出将经过两倍上采样,然后经由一个3
×
3的卷积层将其通道数减半,得到的输出将作为下一个spade resblock的输入;模型采用多尺度融合的策略,这保证了不同尺度的特征图在语义图指导下的归一化效果,从而实现输出图像与语义布局的对齐;模块的目标损失函数由对抗损失、重建损失、感知损失和判别器的特征匹配损失组成:式中λ
rec
、λ
perc
和λ
fm
分别为对应损失的系数。

技术总结
本发明公开了一种语义对齐的图像虚拟试衣方法,可以实现基于给定服饰的高质量虚拟试衣。所述的图像虚拟试衣方法为四阶段的模型:首先对人体图像和人体语义图进行预处理以去除手臂、服装信息;其次通过人体语义合成模块预测目标人体语义图;然后使用服装对齐模块对齐服装和人体;最后使用试衣合成模块得到最终的试衣图像。在服装对齐模块中,提出了区域限制策略限制服装变形的范围,减少服装过度扭曲的情况。在试衣合成模块中,使用了空间自适应归一化层替代普通的归一化层以固定人体语义图信息。所提出的虚拟试衣方法可以生成更加符合目人体布局的虚拟试衣图像,有助于提升真实场景下的虚拟试衣效果。场景下的虚拟试衣效果。场景下的虚拟试衣效果。


技术研发人员:莫凌飞 陈盛乐
受保护的技术使用者:东南大学
技术研发日:2023.04.23
技术公布日:2023/7/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐