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

一种基于稠密流的虚拟试衣方法与流程

2021-10-24 09:27:00 来源:中国专利 TAG:试衣 虚拟 稠密 提出 方法


1.本发明属于虚拟试衣技术领域,提出一种基于稠密流的虚拟试衣方法。


背景技术:

2.随着近年来互联网发展迅速,产生了一系列电商平台,众多人群选择从互联网上购买所需商品,比如生活用品、食物和衣物,这与线下购买方式相比为人们提供了极大的便捷。但线上购物也有一些弊端,如从互联网上购买衣物时,由于无法试穿衣服,可能导致顾客糟糕的购物体验,为了解决这个问题,虚拟试衣任务应运而生。基于图像的虚拟试衣在近年来已成为了一个热门话题的,目的是将服装图像转移到目标人物身上。传统的虚拟试衣任务通常侧重于在保持人体姿势不变情况下令服装扭曲成符合人体,并保存服装形象的特征(纹理,图标,刺绣)。此外姿势引导的人体生成在大量的现实应用程序中非常重要,特别是对于时尚行业,客户或造型师希望将服装从一个人转移到另一个人。图像到图像转换的生成网络的最新进展激发了研究人员通过输入源图像和目标姿态作为输入,然后合成目标图像来解决这个问题。然而,衣服的非刚性性质可能会导致严重变形和无法正确处理的严重遮挡,从而限制其在目标视图中呈现服装细节(例如,图案、图形、标志)的性能。以上两个任务都有较大的限制,第一个任务需要先获得服装的原始产品图,第二个任务只针对同一人物和服装的不同视角的生成,不考虑服装交换问题。本发明结合了上述两个任务的特点并更具挑战性,我们不需要服装的原始产品图,而是一张穿着源服装的模特图,同时可以完成同一件服装在不同人物身上以不同视角的呈现。想象一下,你能在舒适的家里,在几分钟内,在外面,尝试穿上名人红毯上的不同类型的衣服而不用花费大量的购物时间。在本发明中,我们的目标是通过一种算法来实现这一目标,在任意姿势、形状和服装中的两个单个视图模特图像之间传递服装信息。例如,在拍摄完照片后,摄影师可能会决定穿着不同的摄影环境和照明条件的衣服看起来更好。服装转移也很适合于设计理念,它可以回答诸如“这种风格的服装在不同体型和比例上的外观如何?”这些应用程序需要解决共同推断一个人的身体姿势、形状和服装的具有挑战性的问题,因此我们的任务需要解决以下几个问题:
3.(1)推断出源服装呈现在目标人物身上的语义分割图:由于源服装来自另一人物的图片,需要根据目标人物的体型推断出源服装在目标人物身上的语义分布。
4.(2)服装扭曲困难:目前多数工作采用薄板插值样条算法(tps)来对源服装进行扭曲但由于其有限的自由度当大的几何变化发生时,这会导致不准确和不自然的变换估计。
5.(3)融合人体和服装信息:现有方法主要是通过掩膜在像素级别上生成结果与扭曲的服装,这往往令最终结果的服装纹理受扭曲服装结果影响而忽略了生成结果的效果。
6.为了解决上述的问题,我们提出了一个新的方法。


技术实现要素:

7.本发明的目的是针对现有技术的不足,提出一种基于稠密流的虚拟试衣方法,一种新的方法用于虚拟试衣任务,主要涉及利用深层神经网络生成目标语义分割图,并通过
语义分割图利用可变形卷积神经网络预测稠密流,用于对源服装的特征信息进行空间形变并与目标人体信息融合得到服装转换的结果。
8.本发明解决其技术问题所采用的技术方案如下:
9.步骤(1)、生成目标语义分割图
10.将源服装语义分割图、目标人物的姿态信息以及目标人物身体信息经由unet神经网络估计源服装到目标人物的语义转换,生成目标语义分割图。
11.所述的通过unet神经网络实现语义层面上的转换,在转换过程中不能改变服装的种类并要保留目标人物的姿态信息和人体信息。
12.步骤(2)、计算稠密流
13.根据目标语义分割图能够得到准确的空间位置信息,通过源服装语义分割图和目标语义分割图的服装部分估计稠密流。
14.步骤(3)、对人体信息和源服装信息进行融合得到最后的结果。
15.不断在特征层面上融合人体信息和通过稠密流扭曲过后的源服装信息以达到人体和服装混合。
16.步骤(1)所述的生成目标语义分割图:
[0017]1‑
1.为了实现源服装到目标人物身上的转换,首先实现语义层面上的转换,在转换过程中不能改变服装的种类并要保留目标人物的姿态信息和人物身体信息;所以利用源服装语义分割图和目标人物的姿态信息以及目标人物身体信息去生成目标语义分割图。
[0018]
本发明不把目标人体语义分割图作为unet神经网络的条件输入,而是以姿态信息作为输入让unet神经网络预测人体信息以实现解耦合。
[0019]
所述的人体信息包括目标人物的姿态信息、身体信息;
[0020]1‑
2.为了获得用于训练的语义分割图和姿态信息,使用预训练的姿态估计器和人类解析器。具体地说:姿态估计器预测了一组人体关键点的二维信息,紧接着将二维信息转换成18个通道的热图,在半径为4像素的圆内标记为1,其余部分标记为0。人类解析器用于预测语义分割图,把语义分割图编码成20个通道的二值图,每个通道对应特定的人体部分,包括头发、脸、服装、胳膊等。
[0021]1‑
3.将源服装语义分割图、目标人物的姿态信息以及目标人物身体信息作为unet神经网络的输入。经过特征提取后由反卷积层得到预测的目标语义分割图。采用交叉熵损失函数来约束模型预测正确的目标语义分割图,损失函数如下:
[0022]
l
g
=e
x,y
[log(d(x,y)] e
x,z
[log(1

d(x,g(x,z))]
ꢀꢀ
(1)
[0023]
l=l
parsing
(y,g(x,z)) l
g
ꢀꢀ
(2)
[0024]
其中l
parsing
(x,g(x,y))是交叉熵损失,l
g
为生成对抗损失,x为输入,y为真实结果,z为噪声;
[0025]1‑
4.为了监督训练,我们本应该需要的样本为含有源服装的图片a,含有目标人物的图片b以及目标人物b穿着源服装a的图片c(a b=c)。但这样的样本是难以收集的,因此设定图片a和图片b是穿着同一件服装的同一个人物但姿势并不相同,通过同一个人物的自我服装转换来训练模型。
[0026]
步骤(2)所述的计算稠密流
[0027]2‑
1.该阶段我们的目标是对源服装进行自然的形变以符合目标人物的姿势和体
形。该想法类似与传统虚拟试衣任务,在传统虚拟试衣任务中使用tps(thin plate spline,薄板样条插值)对服装产品图进行扭曲,而tps受限于自由度不高无法实现复杂非刚性的形变,并不适合我们的情况。近年来非监督光流发展迅速,其目标是估计两张图像之间的稠密流,通过稠密流来扭曲一个图像以匹配另一个图像,以使这两个图像之间的差异最小化,并适应某种形式的正则化。这与我们的目的有相似之处,我们使用服装语义分割图作为输入,在不同特征层估计关注不同形变程度的残差稠密流,不断的迭代优化得到最终稠密流,用于对源服装图片进行形变,使用半监督的方法训练稠密流网络。
[0028]2‑
2.由于源服装和目标服装存在巨大的空间形变差异,直接估计稠密流是困难的,因此采用粗到细的方法,把巨大的空间形变分解成不同程度的子形变,在高级语义特征层进行特征匹配得到预估整体变形的稠密流,再逐级根据低级语义特征匹配得到关注细微变化的稠密流,最终估计出整个稠密流。
[0029]
使用同一个编码器对服装语义分割图进行特征提取,由此得到特征金字塔fs{fs
n
,fs
n
‑1,fs
n
‑2,...,fs1}和ft{ft
n
,ft
n
‑1,ft
n
‑2,...,ft1}。稠密流网络从最高级层的特征开始进行匹配,直接拼接特征fs
n
和ft
n
,由可变形卷积层估计得到较注重整体形变的稠密流flow
n
,并根据得到的稠密流flow
n
对较低层的特征fs
n
‑1利用线性插值法进行扭曲,以减少与特征ft
n
‑1的空间距离,再次拼接fs
n
‑1和ft
n
‑1,由可变形卷积层估计得到残差稠密流resflow
n
‑1,将flow
n
与resflow
n
‑1相加得到当前层的稠密流flow
n
‑1,特征金字塔的每一层都重复该过程,从而得到整个稠密流。
[0030]
fs

n
‑1=warp(fs
n
‑1,flow
n
)
ꢀꢀ
(3)
[0031]
flow
n
‑1=flow
n
resflow
n
‑1ꢀꢀ
(4)
[0032]
fs
n
表示源服装语义分割图经过编码器得到的第n层特征,flow
n
表示第n层稠密流,fs

n
表示fs
n
经过fl0w
n
扭曲后得到的特征,warp通过双线性插值法实现,resflow
n
‑1为第n

1层得到的残差稠密流。
[0033]2‑
3稠密流网络的损失函数如下:
[0034]
l
struct
(c
s
,c
t
)=∑
i
ψ(c
s
,i)ψ(c
t
,i)||c
s

c
t
||1,
ꢀꢀ
(5)
[0035][0036]
其中,l
struct
为结构损失,c

s
表示由稠密流扭曲后得到的源服装语义分割图,c
t
为目标服装语义分割图(目标语义分割图中的服装部分),i表示语义分割图的的通道索引(即每个i是一个特定的服装类别),ψ是一个指示器函数,而ψ(c
s
,i)ψ(c
t
,i)表示一个服装类别i是否同时存在于源图像和目标图像中,l
roi_perc
为roi

感知损失函数,λ
l
表示损失的权重,

表示点乘。
[0037]2‑
4.但是由于不同的服装部分可能会有相似的纹理,使网络难以感知到服装的边界和产生不准确的错位。为了解决这个问题,我们进一步设计了一个结构损失来加强服装翘曲区域的结构约束。由于稠密流密集且自由维数高,稠密流网络允许源服装区域和目标服装区域进行像素与像素的匹配,从而更好地估计几何变化,这是产生真实感结果的关键。然而如果没有适当的正则化,使用稠密流通常会产生不真实的伪影,因此进一步引入了一种总变化损失,它将估计的稠密流进行正则化,以增强平滑性。
[0038][0039]
l
flow
=l
roi_perc
αl
struct
βl
smt
ꢀꢀ
(8)
[0040]
其中,l
smt
为总变化损失函数,f
n
表示第n层得到的稠密流,n表示特征金字塔的层数,α和β为损失函数的权重。
[0041]
步骤(3)对人体信息和源服装信息进行融合得到最后的结果。
[0042]3‑
1.在这个阶段,需要对源服装信息和人体信息进行融合得到最终的结果。但在此之前有一个问题,在训练本发明整个网络时是对自身进行服装转换,服装的种类没有发生改变,然而实际上这种情况并不常见,举一个例子,源服装是一件短袖,但是目标任务原先穿着长袖,那么目标人物的手臂因为遮挡而缺失。为了能处理这个问题,我们提出了人体修复模型。在训练时,不是把整个目标人体作为输入,而是利用掩膜mask进行挖空,把被挖空的人体作为输入,我们的目的是使人体修复模型在不能感受到全部的人体结构的情况下,根据目标语义分割图去生成完整的人体。
[0043]
b

t
=b
t
*mask
ꢀꢀ
(9)
[0044]
其中,b
t
为目标人物身体,mask为不规则形状的掩膜,在数值上由0和1构成。
[0045]
在之前工作中,大多是通过对源服装进行像素级别的形变,然后通过计算掩膜对生成结果和像素级形变结果进行融合,我们在特征层面上对源服装信息和人体信息进行融合,具体地,我们把源服装作为编码器的输入得到特征,对每一层的服装特征根据上一阶段得到的稠密流对当前服装特征进行形变,然后与人体信息相加,经过解码器得到服装转换后的结果。
[0046][0047][0048]
其中,表示源服装经由编码器得到第i层源服装特征,flow
i
表示第i层稠密流,表示b

t
经过编码器得到的第i层特征。
[0049]
损失函数如下所示:
[0050][0051][0052]
l
inpating
=l
perc
l
style
ꢀꢀ
(14)
[0053]
i
r
是第三阶段得到的结果,i
t
是真实结果,l
perc
是感知损失,φ
l
表示图片在imagenet预训练的vgg

19模型上得到的第i层特征。l
style
是风格损失,表示图片在imagenet预训练的vgg

19模型上得到的第i层特征的格拉姆矩阵。λ
l
和γ
l
都表示系数。
[0054]
本发明有益效果:
[0055]
本发明提出了一种新的虚拟试衣方法方法,结合了传统虚拟试衣任务和姿势引导的人体生成任务的特点,提供了一种更具普遍性的虚拟试衣方法。不需要服装的原始产品图,而是一张模特图,同时也能完成同一件服装在不同人物身上以不同视角的呈现,生成的
结果纹理清晰,转换自然。
附图说明
[0056]
图1是本发明的具体流程图
[0057]
图2是利用服装语义分割图和目标姿态与部分外观信息生成目标语义分割图示意图;
[0058]
图3是利用语义分割图预测转换稠密流示意图;
[0059]
图4是对源服装信息和人体信息进行融合得到结果的示意图;
具体实施方式
[0060]
下面结合附图和实施例对本发明作进一步说明。
[0061]
如图1所示,一种基于稠密流的虚拟试衣方法,一种新的方法用于虚拟试衣任务,主要涉及利用深层神经网络生成目标语义分割图,并通过语义分割图利用可变形卷积神经网络预测稠密流,用于对源服装的特征信息进行空间形变并与目标人体信息融合得到服装转换的结果。本发明的虚拟试衣过程划分为3个子任务。在第一阶段:生成目标语义分割图,给出来自源图片的服装语义信息与来自目标图片的头发掩膜和姿势信息,深度神经网络估计源服装到目标人物的语义转换,生成目标语义分割图。在第二个阶段:目标语义分割图提供了准确的空间位置信息,根据源图片和目标语义分割图的服装语义部分估计稠密流。最后在第三阶段,我们不断在特征层面上融合人体信息和通过稠密流扭曲过后的服装信息以达到人体和服装混合。根据此方法,我们得到的结果中服装纹理清晰,服装变形自然,目前获得了在该领域最好的效果。
[0062]
本发明具体实现过程如下:
[0063]
步骤(1)、生成目标语义分割图
[0064]
将源服装语义分割图、目标人物的姿态信息以及目标人物身体信息经由unet神经网络估计源服装到目标人物的语义转换,生成目标语义分割图。
[0065]
所述的通过unet神经网络实现语义层面上的转换,在转换过程中不能改变服装的种类并要保留目标人物的姿态信息和人体信息。
[0066]
步骤(2)、计算稠密流
[0067]
根据目标语义分割图能够得到准确的空间位置信息,通过源服装语义分割图和目标语义分割图的服装部分估计稠密流。
[0068]
步骤(3)、对人体信息和源服装信息进行融合得到最后的结果。
[0069]
不断在特征层面上融合人体信息和通过稠密流扭曲过后的源服装信息以达到人体和服装混合。
[0070]
如图2所示,步骤(1)所述的生成目标语义分割图:
[0071]1‑
1.为了实现源服装到目标人物身上的转换,首先实现语义层面上的转换,在转换过程中不能改变服装的种类并要保留目标人物的姿态信息和人物身体信息;所以利用源服装语义分割图和目标人物的姿态信息以及目标人物身体信息去生成目标语义分割图。
[0072]
本发明不把目标人体语义分割图作为unet神经网络的条件输入,而是以姿态信息作为输入让unet神经网络预测人体信息以实现解耦合。
[0073]
所述的人体信息包括目标人物的姿态信息、身体信息;
[0074]1‑
2.为了获得用于训练的语义分割图和姿态信息,使用预训练的姿态估计器和人类解析器。具体地说:姿态估计器预测了一组人体关键点的二维信息,紧接着将二维信息转换成18个通道的热图,在半径为4像素的圆内标记为1,其余部分标记为0。人类解析器用于预测语义分割图,把语义分割图编码成20个通道的二值图,每个通道对应特定的人体部分,包括头发、脸、服装、胳膊等。
[0075]1‑
3.将源服装语义分割图、目标人物的姿态信息以及目标人物身体信息作为unet神经网络的输入。经过特征提取后由反卷积层得到预测的目标语义分割图。采用交叉熵损失函数来约束模型预测正确的目标语义分割图,损失函数如下:
[0076]
l
g
=e
x,y
[log(d(x,y)] e
x,z
[log(1

d(x,g(x,z))]
ꢀꢀ
(1)
[0077]
l=l
parsing
(y,g(x,z)) l
g
ꢀꢀ
(2)
[0078]
其中l
parsing
(x,g(x,y))是交叉熵损失,l
g
为生成对抗损失,x为输入,y为真实结果,z为噪声;
[0079]1‑
4.为了监督训练,我们本应该需要的样本为含有源服装的图片a,含有目标人物的图片b以及目标人物b穿着源服装a的图片c(a b=c)。但这样的样本是难以收集的,因此设定图片a和图片b是穿着同一件服装的同一个人物但姿势并不相同,通过同一个人物的自我服装转换来训练模型。
[0080]
如图3所示,步骤(2)所述的计算稠密流
[0081]2‑
1.该阶段我们的目标是对源服装进行自然的形变以符合目标人物的姿势和体形。该想法类似与传统虚拟试衣任务,在传统虚拟试衣任务中使用tps对服装产品图进行扭曲,而tps受限于自由度不高无法实现复杂非刚性的形变,并不适合我们的情况。近年来非监督光流发展迅速,其目标是估计两张图像之间的稠密流,通过稠密流来扭曲一个图像以匹配另一个图像,以使这两个图像之间的差异最小化,并适应某种形式的正则化。这与我们的目的有相似之处,我们使用服装语义分割图作为输入,在不同特征层估计关注不同形变程度的残差稠密流,不断的迭代优化得到最终稠密流,用于对源服装图片进行形变,使用半监督的方法训练稠密流网络。
[0082]2‑
2.由于源服装和目标服装存在巨大的空间形变差异,直接估计稠密流是困难的,因此采用粗到细的方法,把巨大的空间形变分解成不同程度的子形变,在高级语义特征层进行特征匹配得到预估整体变形的稠密流,再逐级根据低级语义特征匹配得到关注细微变化的稠密流,最终估计出整个稠密流。
[0083]
使用同一个编码器对服装语义分割图进行特征提取,由此得到特征金字塔fs和ft。
[0084]
稠密流网络从最高级层的特征开始进行匹配,直接拼接特征,由可变形卷积层估计得到较注重整体形变的稠密流,并根据得到的稠密流对较低层的特征利用线性插值法对特征fs进行扭曲,以减少与ft的空间距离,特征金字塔的每一层都重复该过程,从而得到整个稠密流。
[0085]
fs

n
=warp(fs
n
,flow
n
)
ꢀꢀ
(3)
[0086]
fs
n
表示源服装语义分割图经过编码器得到的第n层特征,flow
n
表示第n层稠密流,fs

n
表示fs
n
经过flow
n
扭曲后得到的特征,warp通过双线性插值法实现。
[0087]2‑
3稠密流网络的损失函数如下:
[0088]
l
struct
(c
s
,c
t
)=∑
i
ψ(c
s
,i)ψ(c
t
,i)||c
s

c
t
||1,
ꢀꢀ
(4)
[0089][0090]
其中,l
struct
为结构损失,c

s
表示由稠密流扭曲后得到的源服装语义分割图,c
t
为目标服装语义分割图(目标语义分割图中的服装部分),i表示语义分割图的的通道索引(即每个i是一个特定的服装类别),ψ是一个指示器函数,而ψ(c
s
,i)ψ(c
t
,i)表示一个服装类别i是否同时存在于源图像和目标图像中,l
roi_perc
为感知损失函数,λ
l
表示损失的权重,

表示点乘。
[0091]2‑
4.但是由于不同的服装部分可能会有相似的纹理,使网络难以感知到服装的边界和产生不准确的错位。为了解决这个问题,我们进一步设计了一个结构损失来加强服装翘曲区域的结构约束。由于稠密流密集且自由维数高,稠密流网络允许源服装区域和目标服装区域进行像素与像素的匹配,从而更好地估计几何变化,这是产生真实感结果的关键。然而如果没有适当的正则化,使用稠密流通常会产生不真实的伪影,因此进一步引入了一种总变化损失,它将估计的稠密流进行正则化,以增强平滑性。
[0092][0093]
l
flow
=l
roi_perc
αl
struct
βl
smt
ꢀꢀ
(7)
[0094]
其中,l
smt
为正则化损失函数,f
n
表示第n层得到的稠密流,n表示特征金字塔的层数,α和β为损失函数的权重.
[0095]
如图4所示,步骤(3)对人体信息和源服装信息进行融合得到最后的结果。
[0096]3‑
1.在这个阶段,需要对源服装信息和人体信息进行融合得到最终的结果。但在此之前有一个问题,在训练本发明整个网络时是对自身进行服装转换,服装的种类没有发生改变,然而实际上这种情况并不常见,举一个例子,源服装是一件短袖,但是目标任务原先穿着长袖,那么目标人物的手臂因为遮挡而缺失。为了能处理这个问题,我们提出了人体修复模型。在训练时,不是把整个目标人体作为输入,而是利用掩膜mask进行挖空,把被挖空的人体作为输入,我们的目的是使人体修复模型在不能感受到全部的人体结构的情况下,根据目标语义分割图去生成完整的人体。
[0097]
b

t
=b
t
*mask
ꢀꢀ
(7)
[0098]
其中,b
t
为目标人物身体,mask为不规则形状的掩膜,在数值上由0和1构成。
[0099]
在之前工作中,大多是通过对源服装进行像素级别的形变,然后通过计算掩膜对生成结果和像素级形变结果进行融合,我们在特征层面上对源服装信息和人体信息进行融合,具体地,我们把源服装作为编码器的输入得到特征,对每一层的服装特征根据上一阶段得到的稠密流对当前服装特征进行形变,然后与人体信息相加,经过解码器得到服装转换后的结果。
[0100][0101]
[0102]
其中,表示源服装经由编码器得到第i层源服装特征,flow
i
表示第i层稠密流,表示b

t
经过编码器得到的第i层特征。
[0103]
损失函数如下所示:
[0104][0105][0106]
l
inpating
=l
perc
l
style
ꢀꢀ
(12)
[0107]
i
r
是第三阶段得到的结果,i
t
是真实结果,l
perc
是感知损失,φ
l
表示图片在lmagenet预训练的vgg

19模型上得到的第i层特征。表示图片在lmagenet预训练的vgg

19模型上得到的第i层特征的格拉姆矩阵。λ
l
和γ
l
都表示系数。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜