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

视频生成模型训练方法、视频生成方法及装置与流程

2022-06-18 05:44:13 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,特别是涉及一种视频生成模型训练方法、视频生成方法及装置。


背景技术:

2.随着网络电商平台的发展,将用户选择的衣服模拟穿到人身上的虚拟试衣技术可以增强用户的购物体验,由于3d虚拟试衣方案需要消耗大量的计算资源,所以2d虚拟试衣方案是本领域的主流研究方向。
3.目前各个2d虚拟试衣方案中的试穿(try-on)模块均为以逐帧(frame-by-frame)的方式生成虚拟试衣视频,也就是说,在得到用户上传的人物视频后,每次将变形后的衣服图像与人物视频的一个视频帧输入try-on模块,然后try-on模块针对该视频帧输出一张合成试衣图像。之后将try-on模块针对每一视频帧输出的合成试衣图像拼接为试衣视频,拼接得到的试衣视频存在时空不一致的问题,即试衣视频中的空间在时间上不连续,生成的试衣视频是抖动的,并且生成的试衣视频中的背景区域与衣服区域不协调,导致生成的试衣视频的质量较差。


技术实现要素:

4.本技术实施例的目的在于提供一种视频生成模型训练方法、视频生成方法及装置,以提高生成的试衣视频的质量。具体技术方案如下:
5.第一方面,本技术实施例提供了一种视频生成模型训练方法,所述方法包括:
6.获取样本试衣视频和样本衣服图像,其中,所述样本试衣视频为人穿着样本衣服拍摄的视频;
7.从所述样本试衣视频中提取姿势图像序列和背景图像序列,其中,所述姿势图像序列包含所述样本试衣视频每一视频帧中人物的姿势信息,所述背景图像序列包括所述样本试衣视频每一视频帧中除待试衣区域之外的图像;
8.根据所述样本试衣视频每一视频帧中人物的姿势信息对所述样本衣服图像进行变形处理,得到变形衣服图像序列;
9.将所述变形衣服图像序列、所述姿势图像序列和所述背景图像序列输入视频生成模型中,得到所述视频生成模型输出的合成试衣视频;
10.根据所述合成试衣视频和所述样本试衣视频计算损失函数值,基于所述损失函数值调整所述视频生成模型参数,直至所述视频生成模型收敛时,确定所述视频生成模型训练完成。
11.在一种可能的实现方式中,所述视频生成模型包括:三个编码器、多个基于多尺度图像块的mpdt模块和一个解码器,每个mpdt模块包括三个输入端,不同编码器的输出端连接于所述多个mpdt模块中的起始mpdt模块的不同输入端,所述多个mpdt模块中的结束mpdt模块的输出端连接于所述解码器的输入端;所述将所述变形衣服图像序列、所述姿势图像
序列和所述背景图像序列输入视频生成模型中,得到所述视频生成模型输出的合成试衣视频,包括:
12.将所述变形衣服图像序列、所述姿势图像序列和所述背景图像序列分别输入一个编码器,得到变形衣服序列特征、姿势序列特征和背景序列特征;
13.将所述变形衣服序列特征、所述姿势序列特征和所述背景序列特征经过所述多个mpdt模块迭代处理,得到第一融合特征值;
14.将所述第一融合特征值输入解码器,获取所述解码器输出的图像序列;
15.基于解码器输出的图像序列生成所述合成试衣视频。
16.在一种可能的实现方式中,所述解码器输出的图像序列包括初始试衣图像序列和衣服区域掩膜序列;所述基于解码器输出的图像序列生成所述合成试衣视频,包括:
17.将所述初始试衣图像序列、所述衣服区域掩膜序列和所述变形衣服图像序列进行融合,得到融合图像序列;
18.将所述融合图像序列、背景图像掩膜序列和所述背景图像序列进行融合,得到所述合成试衣视频。
19.在一种可能的实现方式中,所述mpdt模块包括第一多头注意力模块、第二多头注意力模块和第三多头注意力模块;所述将所述变形衣服序列特征、所述姿势序列特征和所述背景序列特征经过所述多个mpdt模块迭代处理,得到第一融合特征值,包括:
20.将所述变形衣服序列特征和姿势注意力特征集合输入所述起始mpdt模块的第一多头注意力模块,得到变形衣服注意力特征,所述姿势注意力特征集合包括所述起始mpdt模块中第二多头注意力模块的每个头对所述姿势序列特征处理得到的特征;
21.将所述背景序列特征和所述姿势注意力特征集合输入所述起始mpdt模块的第三多头注意力模块,得到背景注意力特征;
22.将所述变形衣服注意力特征和所述背景注意力特征拼接后,进行卷积运算得到第二融合特征值;
23.针对每个mpdt模块,将该mpdt模块的第一多头注意力模块的输出与输入进行残差连接,作为下一个mpdt模块的第一多头注意力模块的输入;将该mpdt模块输出的第二融合特征值与该mpdt模块的第二多头注意力模块的输入进行残差连接,作为下一个mpdt模块的第二多头注意力模块的输入;将该mpdt模块的第三多头注意力模块的输出与输入进行残差连接,作为下一个mpdt模块的第三多头注意力模块的输入,直至得到所述结束mpdt模块输出的所述第一融合特征值。
24.在一种可能的实现方式中,所述将所述变形衣服序列特征和姿势注意力特征集合输入所述起始mpdt模块的第一多头注意力模块,得到变形衣服注意力特征,包括:
25.将所述变形衣服序列特征输入所述第一多头注意力模块,得到所述第一多头注意力模块的每个头对所述变形衣服序列特征处理得到的第一键值对;
26.将所述姿势注意力特征集合输入所述第一多头注意力模块,以使得所述第一多头注意力模块基于所述姿势注意力特征集合和多个第一键值对得到所述变形衣服注意力特征;
27.所述将所述背景序列特征和所述姿势注意力特征集合输入所述起始mpdt模块的第三多头注意力模块,得到背景注意力特征,包括:
28.将所述背景序列特征输入所述第三多头注意力模块,得到所述第三多头注意力模块的每个头对所述变形衣服序列特征处理得到的第二键值对;
29.将所述姿势注意力特征集合输入所述第三多头注意力模块,以使得所述第三多头注意力模块基于所述姿势注意力特征集合和多个第二键值对得到所述背景注意力特征。
30.在一种可能的实现方式中,所述将所述初始试衣图像序列、所述衣服区域掩膜序列和所述变形衣服图像序列进行融合,得到融合图像序列,包括:
31.根据以下公式进行融合计算:
32.i
masked1t
=m
c1t
⊙c1t
(1-m
c1t
)
⊙ir1t
33.其中,c
1t
表示所述变形衣服图像序列,m
c1t
表示所述衣服区域掩膜序列,i
r1t
表示所述初始试衣图像序列,i
masked1t
表示所述融合图像序列。
34.所述将所述融合图像序列、背景图像掩膜序列和所述背景图像序列进行融合,得到所述合成试衣视频,包括:
35.根据以下公式进行融合计算:
36.i
t1
=(1-m
a1t
)
⊙imasked1t
m
a1t
⊙a1t
37.其中,m
a1t
表示背景图像掩膜序列,a
1t
表示背景图像序列,i
t1
表示所述合成试衣视频。
38.第二方面,本技术实施例提供了一种视频生成方法,所述方法包括:
39.获取待处理视频和目标衣服图像,其中,所述待处理视频为包含人物的视频;
40.从所述待处理视频中提取姿势图像序列和背景图像序列,其中,所述姿势图像序列包含所述待处理视频每一视频帧中人物的姿势信息,所述背景图像序列包括所述待处理视频每一视频帧中除待试衣区域之外的图像;
41.根据所述待处理视频每一视频帧中人物的姿势信息对所述目标衣服图像进行变形处理,得到变形衣服图像序列;
42.将变形衣服图像序列、所述姿势图像序列和所述背景图像序列和输入视频生成模型,得到目标合成试衣视频,其中,所述视频生成模型为通过上述第一方面所述的方法训练得到的视频生成模型。
43.第三方面,本技术实施例提供了一种视频生成模型训练装置,所述装置包括:
44.第一获取模块,用于获取样本试衣视频和样本衣服图像,其中,所述样本试衣视频为人穿着样本衣服拍摄的视频;
45.第一提取模块,用于从所述样本试衣视频中提取姿势图像序列和背景图像序列,其中,所述姿势图像序列包含所述样本试衣视频每一视频帧中人物的姿势信息,所述背景图像序列包括所述样本试衣视频每一视频帧中除待试衣区域之外的图像;
46.第一变形模块,用于根据所述样本试衣视频每一视频帧中人物的姿势信息对所述样本衣服图像进行变形处理,得到变形衣服图像序列;
47.第一生成模块,用于将所述变形衣服图像序列、所述姿势图像序列和所述背景图像序列输入视频生成模型中,得到所述视频生成模型输出的合成试衣视频;
48.计算模块,用于根据所述合成试衣视频和所述样本试衣视频计算损失函数值,基于所述损失函数值调整所述视频生成模型参数,直至所述视频生成模型收敛时,确定所述视频生成模型训练完成。
49.第四方面,本技术实施例提供了一种视频生成装置,所述装置包括:
50.第二获取模块,用于获取待处理视频和目标衣服图像,其中,所述待处理视频为包含人物的视频;
51.第二提取模块,用于从所述待处理视频中提取姿势图像序列和背景图像序列,其中,所述姿势图像序列包含所述待处理视频每一视频帧中人物的姿势信息,所述背景图像序列包括所述待处理视频每一视频帧中除待试衣区域之外的图像;
52.第二变形模块,用于根据所述待处理视频每一视频帧中人物的姿势信息对所述目标衣服图像进行变形处理,得到变形衣服图像序列;
53.第二生成模块,用于将变形衣服图像序列、所述姿势图像序列和所述背景图像序列和输入视频生成模型,得到目标合成试衣视频,其中,所述视频生成模型为通过上述第三方面所述的装置训练得到的视频生成模型
54.第五方面,本技术实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
55.存储器,用于存放计算机程序;
56.处理器,用于执行存储器上所存放的程序时,实现第一方面或第二方面所述的方法步骤。
57.第六方面,在本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的视频生成模型训练方法或视频生成方法。
58.第七方面,在本技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的视频生成模型训练方法或视频生成方法。
59.采用本技术实施例提供的方案,相比于现有技术中try-on模块分别对人物视频的每一视频帧生成一张试衣图像,再将生成的所有试衣图像拼接为试衣视频的方式,本技术实施例可以从样本试衣视频中提取姿势图像序列和背景图像序列,进而本技术实施例中的视频生成模型是基于变形衣服图像序列、姿势图像序列和背景图像序列训练得到的。因为训练视频生成模型时用到了从样本试衣视频中提取的连续的姿势图像序列和背景图像序列,并非只对样本试衣视频的一个视频帧进行处理,所以视频生成模型生成试衣视频过程中,能够学习到姿势图像序列中连续的姿势图像之间的关系,且能学习到背景图像序列中连续的背景图像之间的关系,如此基于该视频生成模型生成的试衣视频具备时空一致性,试衣视频的画面稳定不抖动。且由于训练视频生成模型时的输入包括背景图像序列,所以视频生成模型在生成试衣视频时结合了背景图像序列,使得生成的试衣视频中背景区域与衣服区域较为协调,可以提升试衣视频的画面质量。
附图说明
60.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
61.图1为本技术实施例提供的一种视频生成模型训练方法的流程图;
62.图2a为本技术实施例提供的一种第一关键点信息的示例性示意图;
63.图2b为本技术实施例提供的一种第二关键点信息的示例性示意图;
64.图2c为本技术实施例提供的一种背景图像序列示意图;
65.图3为本技术实施例提供的另一种视频生成模型训练方法的流程图;
66.图4为本技术实施例提供的另一种视频生成模型训练方法的流程图;
67.图5为本技术实施例提供的一种视频生成方法的流程图;
68.图6为本技术实施例提供的视频合成模型结构示意图;
69.图7为本技术实施例提供的一种视频生成模型训练装置的结构示意图;
70.图8为本技术实施例提供的一种视频生成装置的结构示意图;
71.图9为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
72.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
73.如图1所示,本技术实施例提供了一种视频生成模型训练方法,该方法可以应用于电子设备,电子设备可以为智能手机、平板电脑、台式电脑、服务器等设备,该方法包括:
74.s101、获取样本试衣视频和样本衣服图像。
75.其中,样本试衣视频为人穿着样本衣服拍摄的视频。
76.s102、从样本试衣视频中提取姿势图像序列和背景图像序列。
77.其中,姿势图像序列包含样本试衣视频每一视频帧中人物的姿势信息,背景图像序列包括样本试衣视频每一视频帧中除待试衣区域之外的图像。
78.s103、根据样本试衣视频每一视频帧中人物的姿势信息对样本衣服图像进行变形处理,得到变形衣服图像序列。
79.s104、将变形衣服图像序列、姿势图像序列和背景图像序列输入视频生成模型中,得到视频生成模型输出的合成试衣视频。
80.s105、根据合成试衣视频和样本试衣视频计算损失函数值,基于损失函数值调整视频生成模型参数,直至视频生成模型收敛时,确定视频生成模型训练完成。
81.采用本技术实施例,相比于现有技术中try-on模块分别对人物视频的每一视频帧生成一张试衣图像,再将生成的所有试衣图像拼接为试衣视频的方式,本技术实施例可以从样本试衣视频中提取姿势图像序列和背景图像序列,进而本技术实施例中的视频生成模型是基于变形衣服图像序列、姿势图像序列和背景图像序列训练得到的,因为训练视频生成模型时用到了从样本试衣视频中提取的连续的姿势图像序列和背景图像序列,并非只对样本试衣视频的一个视频帧进行处理,所以视频生成模型生成试衣视频过程中,能够学习到姿势图像序列中连续的姿势图像之间的关系,且能学习到背景图像序列中连续的背景图像之间的关系,如此基于该视频生成模型生成的试衣视频具备时空一致性,试衣视频的画面稳定不抖动。且由于训练视频生成模型时的输入包括背景图像序列,所以视频生成模型在生成试衣视频时结合了背景图像序列,使得生成的试衣视频中背景区域与衣服区域较为协调,可以提升试衣视频的画面质量。
82.针对上述s101,样本衣服图像为样本衣服处于平铺状态下的图像。
83.针对上述s102,一种实现方式中,可以通过人体姿态识别算法对样本试衣视频中每一视频帧中的人像进行人体姿态识别,得到人物的姿势图像序列,姿势图像中的姿势信息包括第一关键点信息和第二关键点信息,其中,第一关键点信息为表示人体各关节的关
键点的信息,第二关键点信息为表示人体各部位形状的信息,第一关键点信息可以通过openpose算法得到,如图2a所示,图2a为第一关键点信息的示例性示意图,第二关键点信息可以通过densepose算法得到,如图2b所示,图2b为第二关键点信息的示例性示意图;其中,openpose算法是一种用来识别图像中人体各关节的关键点的人体姿态识别算法,densepose算法是一种2d人体图像转换为3d人体图像的人体姿态识别算法。
84.背景图像序列为通过将样本试衣视频中每一视频帧中的人像的待试衣区域处理为同一像素值得到的,如图2c所示,图2c为背景图像序列示意图,图2c中包括的人像的上衣区域被处理为同一像素值,即该背景图像中包括除人像区域的背景、人像区域除上衣区域之外的部分以及上衣区域的遮挡物。
85.针对上述s103,一种实现方式中,可以根据样本试衣视频每一视频帧中人物的姿势信息,通过cp-vton,无解析器外观流网络(parser free appearence flow network,pf-afn),自适应内容生成与保持网络(adaptive content generation and preserving network,acgpn),viton-hd等试穿方法中的变形(warp)模块对样本衣服图像进行变形处理,得到变形衣服序列。其中,cp-vton为在欧洲计算机视觉国际会议上被提出的一种特征保留虚拟试穿网络(cp-vton),viton-hd是一种基于图像的虚拟试衣网络。
86.例如,该变形模块可以通过薄板样条(thin plate spline,tps)方法或者基于外观流变形(appearance-flow-based warp)方法对样本衣服图像进行变形处理。
87.其中,变形衣服序列中每一帧图像的变形衣服与样本试衣视频中的人物姿态贴合。
88.针对上述s105,在本技术实施例中,根据合成试衣视频和样本试衣视频计算损失函数值,基于损失函数判断视频生成模型是否收敛,如果视频生成模型收敛,则确定视频生成模型训练完成;如果视频生成模型未收敛,则根据损失函数值调整视频生成模型参数,返回执行s101,获取下一个样本试衣视频和样本衣服图像,直至视频生成模型收敛时,确定视频生成模型训练完成。
89.其中,本技术实施例中的损失函数可以为:
[0090][0091]
其中,λ1、λ2、λ3、λ4为超参数,表示合成试衣视频和样本试衣视频在所有区域的损失函数,表示合成试衣视频和样本试衣视频在试衣区域的损失函数,l
tpgan
表示对抗损失,l
perc
表示知觉损失函数。
[0092]
在本技术另一实施例中,上述视频生成模型包括:三个编码器、一个解码器、多个基于多尺度图像块的双流转换(multi-scale patch-based dual-stream transformer,mpdt)模块,每个mpdt模块包括三个输入端,不同编码器的输出端连接于所述多个mpdt模块中的起始mpdt模块的不同输入端,多个mpdt模块中的结束mpdt模块输出端连接于解码器的输入端。在此基础上,如图3所示,上述s104具体可以实现为:
[0093]
s1041、将变形衣服图像序列、姿势图像序列和背景图像序列分别输入一个编码器,得到变形衣服序列特征、姿势序列特征和背景序列特征。
[0094]
其中,可以将变形衣服图像序列输入第一个编码器,得到第一个编码器输出的变形衣服序列特征。
[0095]
将姿势图像序列输入第二个编码器,得到第二个编码器输出的姿势序列特征。
[0096]
将背景图像序列输入第三个编码器,得到第三个编码器输出的背景序列特征。
[0097]
s1042、将变形衣服序列特征、姿势序列特征和背景序列特征经过多个mpdt模块迭代处理,得到第一融合特征值。
[0098]
在本技术实施例中,视频生成模型中,多个mpdt模块依次连接,多个mpdt模块中的第一个mpdt模块为起始mpdt模块,最后一个mpdt模块为结束mpdt模块。每个mpdt模块包括三个输入端,不同编码器的输出端连接于多个mpdt模块中的起始mpdt模块的不同输入端,起始mpdt模块的三个输出端一一连接于第二个mpdt模块的三个输入端,第二个mpdt模块的三个输出端一一连接于第三个mpdt模块的三个输入端,以此类推。
[0099]
将变形衣服序列特征、姿势序列特征和背景序列特征将输入起始mpdt模块后,将依次经过多个mpdt模块的迭代处理,得到多个mpdt模块中的结束mpdt模块输出的第一融合特征值。
[0100]
其中,除结束mpdt模块外,每一mpdt模块的三个输出均会与该mpdt模块的三个输入一一进行残差连接,作为下一mpdt模块的三个输入,进而实现多个mpdt模块迭代处理。具体的残差连接方法将在下文中进行介绍。
[0101]
s1043、将第一融合特征值输入解码器,获取解码器输出的图像序列。
[0102]
本技术实施例中,结束mpdt模块的输出端连接于解码器输入端,解码器可以对结束mpdt模块输出的第一融合特征值进行解码,从而得到图像序列。
[0103]
s1044、基于解码器输出的图像序列生成合成试衣视频。
[0104]
采用该方法,可以通过三个编码器将变形衣服图像序列、姿势图像序列和背景图像序列分别处理为变形衣服序列特征、姿势序列特征和背景序列特征,进而通过多个mpdt模块对这些特征进行迭代处理,也就使得多个mpdt模块可以学习到姿势图像序列中连续的姿势图像之间的关系,以及背景图像序列中连续的背景图像之间的关系,进而使得多个mpdt模块输出的第一融合特征值能够充分反映变形衣服序列特征、姿势序列特征和背景序列特征,所以基于该第一融合特征值解码得到的图像序列,可以生成背景与衣服区域协调的合成试衣视频,且试衣视频具备时空一致性,画面稳定不抖动。
[0105]
在本技术另一实施例中,mpdt模块包括第一多头注意力模块、第二多头注意力模块和第三多头注意力模块,其中,mpdt模块的三个输入端分别为第一多头注意力模块的输入端、第二多头注意力模块的输入端和第三多头注意力模块的输入端,第一个编码器的输出端连接于起始mpdt模块的第一多头注意力模块的输入端,第二个编码器的输出端连接于起始mpdt模块的第二多头注意力模块的输入端,第三个编码器的输出端连接于起始mpdt模块的第三多头注意力模块的输入端,在此基础上,上述s1042可以实现为:
[0106]
步骤一、将变形衣服序列特征和姿势注意力特征集合输入起始mpdt模块的第一多头注意力模块,得到变形衣服注意力特征。
[0107]
其中,姿势注意力特征集合包括起始mpdt模块中第二多头注意力模块的每个头对姿势序列特征处理得到的特征。
[0108]
一种实现方式中,第二多头注意力模块中每个头截取不同尺寸的图像块的姿势序列特征,然后通过一个1*1的卷积核对提取的姿势序列特征进行卷积处理得到姿势注意力特征。例如,第二多头注意力模块可以为4个头,其中,第一个头截取尺寸为64*48的图像块
的姿势序列特征、第二个头截取尺寸为32*24的图像块的姿势序列特征,第三个头截取尺寸为16*12的图像块的姿势序列特征,第四个头截取尺寸为8*6的图像块的姿势序列特征,4个头各输出一个姿势注意力特征,姿势注意力特征集合中包含4个姿势注意力特征,各头中卷积公式为:
[0109]
q=convq(p)
[0110]
其中,p为姿势序列特征,q为姿势注意力特征,convq()表示卷积函数。
[0111]
上述步骤一具体可以实现为:
[0112]
将变形衣服序列特征输入第一多头注意力模块,得到第一多头注意力模块的每个头对变形衣服序列特征处理得到的第一键值对;将姿势注意力特征集合输入第一多头注意力模块,以使得第一多头注意力模块基于姿势注意力特征集合和多个第一键值对得到变形衣服注意力特征。
[0113]
一种实现方式中,第一多头注意力模块中每个头截取不同尺寸的图像块的变形衣服序列特征,然后通过两个1*1的卷积核对截取的衣服序列特征进行卷积处理,得到第一键值对。例如,第一多头注意力模块可以为4个头,其中,第一个头截取尺寸为64*48的图像块的变形衣服序列特征、第二个头截取尺寸为32*24的图像块的变形衣服序列特征,第三个头的截取尺寸为16*12的图像块的变形衣服序列特征,第四个头截取尺寸为8*6的图像块的变形衣服序列特征,每个头都得到一个第一键值对,卷积公式为:
[0114]
(kc,vc)=(convk(c),convv(c))
[0115]
其中,(kc,vc)表示第一键值对,convk()和convv()表示卷积函数,c表示变形衣服注意力特征。
[0116]
其中,第一多头注意力模块和第二多头注意力模块的包含相同数量和尺寸的头,例如,第一多头注意力模块和第二多头注意力模块都包含4个头,第一多头注意力模块中的第一个头与第二多头注意力模块中的第一个头的截取尺寸相同,第一多头注意力模块中的第二个头与第二多头注意力模块中的第二个头的截取尺寸相同,第一多头注意力模块中的第三个头与第二多头注意力模块中的第三个头的截取尺寸相同,第一多头注意力模块中的第四个头与第二多头注意力模块中的第四个头的截取尺寸相同。
[0117]
在截取尺寸相同的头内,将上述特征q和第一键值对(kc,vc)进行注意力操作,得到该头输出的变形衣服注意力结果。
[0118]
具体通过以下公式计算获得每个头中的变形衣服注意力结果:
[0119][0120][0121]
其中,i表示第i个头,表示第i个头的姿势注意力特征,softmaxj()表示归一化
指数函数,r1*r2表示第i个头的截取尺寸,cn表示通道数,和表示第j个图像块的键值对,ωc表示变形衣服区域,表示注意力权重,表示第i个头内的变形衣服注意力结果。
[0122]
将每个头中的输入3*3的卷积核中进行融合得到变形衣服注意力特征attc。
[0123]
步骤二、将背景序列特征和姿势注意力特征集合输入起始mpdt模块的第三多头注意力模块,得到背景注意力特征。
[0124]
步骤二具体可以实现为:将背景序列特征输入第三多头注意力模块,得到第三多头注意力模块的每个头对变形衣服序列特征处理得到的第二键值对;将姿势注意力特征集合输入第三多头注意力模块,以使得第三多头注意力模块基于姿势注意力特征集合和多个第二键值对得到背景注意力特征。
[0125]
一种实现方式中,第三多头注意力模块中每个头截取不同尺寸的图像块的变形衣服序列特征,然后通过两个1*1的卷积核对截取的背景序列特征进行卷积处理,得到第二键值对。例如,第一多头注意力模块可以为4个头,其中,第一个头截取尺寸为64*48的图像块的变形衣服序列特征、第二个头截取尺寸为32*24的图像块的变形衣服序列特征,第三个头的截取尺寸为16*12的图像块的变形衣服序列特征,第四个头截取尺寸为8*6的图像块的变形衣服序列特征,每个头都得到一个第二键值对,卷积公式为:
[0126]
(ka,va)=(convk(a),convv(a))
[0127]
其中,(ka,va)表示第二键值对,a表示背景序列特征,convv()和convk()表示卷积函数。
[0128]
其中,第三多头注意力模块生成背景注意力特征的方式与第一多头注意力模块生成变形衣服注意力特征的方式相同,可以参考上述第一多头注意力模块生成生成变形衣服注意力特征的方式。
[0129]
步骤三、将变形衣服注意力特征和背景注意力特征拼接后,再进行卷积运算得到第二融合特征值。
[0130]
一种实现方式中,可以通过1*1的卷积核对拼接完成的变形衣服注意力特和背景注意力特征进行卷积融合,具体融合公式为:
[0131][0132]
其中,o表示第二融合特征,w1,b1为1*1卷积参数。
[0133]
步骤四、针对每个mpdt模块,将该mpdt模块的第一多头注意力模块的输出与输入进行残差连接,作为下一个mpdt模块的第一多头注意力模块的输入;将该mpdt模块输出的第二融合特征值与该mpdt模块的第二多头注意力模块的输入进行残差连接,作为下一个mpdt模块的第二多头注意力模块的输入;将该mpdt模块的第三多头注意力模块的输出与输入进行残差连接,作为下一个mpdt模块的第三多头注意力模块的输入,直至得到所述结束mpdt模块输出的所述第一融合特征值。
[0134]
例如,针对起始mpdt模块,将起始mpdt模块中第一多头注意力模块输出的变形衣服注意力特征和编码器输出的变形衣服序列特征进行残差连接后,输入下一个mpdt模块的第一多头注意力模块;将起始mpdt模块输出的第二融合特征值和编码器输出的姿势序列特
征进行残差连接后,输入下一个mpdt模块的第二多头注意力模块;将起始mpdt模块中第三多头注意力模块输出的背景注意力特征和编码器输出的背景序列特征进行残差连接后,输入下一个mpdt模块的第三多头注意力模块。
[0135]
后续每一级mpdt模块进行迭代时,该mpdt模块的第二多头注意力输入为前一级mpdt模块输出的第二融合特征值和前一级mpdt模块中第二多头注意力模块的输入残差连接的结果。
[0136]
当前mpdt模块的第一多头注意力模块的输入为前一级mpdt模块中第一多头注意力模块的输出和前一级mpdt模块中第一多头注意力模块的输入残差连接的结果。
[0137]
当前mpdt模块中第三多头注意力模块的输入为前一级mpdt模块中第三多头注意力模块的输出和前一级mpdt模块中第三多头注意力模块的输入残差连接的结果。
[0138]
采用本技术实施例,通过mpdt模块中包含的三个多头注意力模块分别从不同尺寸对变形衣服序列特征、姿势序列特征和背景序列特征进行卷积操作,得到多个第一键值对、姿势注意力特征集合和多个第二键值对,也就使得第二多头注意力模块可以学习到姿势图像序列中连续的姿势图像之间的关系,第三多头注意力模块可以学习到背景图像序列中连续的背景图像之间的关系,进而第一多头注意力模块可以利用姿势注意力特征集合对多个第一键值对进行注意力操作,得到变形衣服注意力特征,第三多头注意力模块可以利用姿势注意力特征集合对多个第二键值对进行注意力操作,得到背景注意力特征,从而使得mpdt模块可以融合变形衣服注意力特征和背景注意力特征生成第二融合特征值,第二融合特征值综合了多个图像序列特征,提高了最终生成的试衣视频中画面的稳定性,且对背景序列特征也进行了注意力操作,使得最终生成的试衣视频中背景区域协调,提升了试衣视频的画面质量。
[0139]
使用多个mpdt模块进行迭代处理,每个mpdt模块输出的特征可以与输入的特征进行残差连接,使得多个mpdt模块迭代处理的过程中,不会丢失图像序列特征,进一步提高了基于该视频生成模型生成的试衣视频画面质量。
[0140]
在本技术另一实施例中,解码器输出的图像序列包括初始试衣图像序列和衣服区域掩膜序列,如图4所示,上述s1044具体可以实现为:
[0141]
s10441、将初始试衣图像序列、衣服区域掩膜序列和变形衣服图像序列进行融合,得到融合图像序列。
[0142]
根据以下公式进行融合计算:
[0143]imasked1t
=m
c1t
⊙c1t
(1-m
c1t
)
⊙ir1t
[0144]
其中,c
1t
表示变形衣服图像序列,m
c1t
表示衣服区域掩膜序列,i
r1t
表示初始试衣图像序列,i
masked1t
表示融合图像序列。
[0145]
s10442、将融合图像序列、背景图像掩膜序列和背景图像序列进行融合,得到合成试衣视频。
[0146]
其中,背景图像掩膜序列为通过对样本试衣视频中每一视频帧进行人体解析后得到人体的各部分人体分割图,将人体分割图中衣服区域进行放大得到的序列。
[0147]
根据以下公式进行融合计算:
[0148]it1
=(1-m
a1t
)
⊙imasked1t
m
a1t
⊙a1t
[0149]
其中,m
a1t
表示背景图像掩膜序列,a
1t
表示背景图像序列,i
t1
表示合成试衣视频。
[0150]
采用本技术实施例,通过将解码器解码得到的初始试衣图像序列和衣服区域掩膜序列与变形衣服图像序列和背景图像序列进行融合,可以进一步提高最终得到的合成试衣视频的视频帧序列的稳定性。
[0151]
对应于上述实施例,本技术实施例还提供了一种虚拟试衣视频生成方法,如图5所示,该方法包括:
[0152]
s501、获取待处理视频和目标衣服图像。
[0153]
其中,待处理视频为包含人物的视频,目标衣服图像为用户选择的要进行试穿的衣服在平铺状态下的图像。
[0154]
s502、从待处理视频中提取姿势图像序列和背景图像序列。
[0155]
其中,姿势图像序列包含待处理视频每一视频帧中人物的姿势信息,背景图像序列包括待处理视频每一视频帧中除待试衣区域之外的图像。
[0156]
从待处理视频中提取姿势图像序列和背景图像序列的方法与上述实施例中从样本试衣视频中提取姿势图像序列和背景图像序列的方法一致,可以参考上述实施例中的相关描述。
[0157]
s503、根据待处理视频每一视频帧中人物的姿势信息对目标衣服图像进行变形处理,得到变形衣服图像序列。
[0158]
其中,对目标衣服图像进行变形处理的方法与上述实施例中对样本衣服图像变形方法一致,可以参考上述有关描述。
[0159]
s504、将变形衣服图像序列、姿势图像序列和背景图像序列和输入视频生成模型,得到目标合成试衣视频。
[0160]
其中,视频生成模型为通过上述视频生成模型训练方法训练得到的视频生成模型。
[0161]
采用本技术实施例,相比于现有技术中try-on模块分别对人物视频的每一视频帧生成一张试衣图像,再将生成的所有试衣图像拼接为试衣视频的方式,本技术实施例可以从待处理视频和目标衣服图像中提取变形衣服图像序列、姿势图像序列和背景图像序列,将变形衣服图像序列、姿势图像序列和背景图像序列输入到视频生成模型中,使得视频生成模型可以基于变形衣服图像序列、姿势图像序列和背景图像序列,生成试衣视频,因为视频生成模型生成试衣视频时用到了从待处理视频中提取的连续的姿势图像序列和背景图像序列,并非只对待处理视频中的一个视频帧进行处理,所以视频生成模型生成试衣视频过程中,能够学习到姿势图像序列中连续的姿势图像之间的关系,且能学习到背景图像序列中连续的背景图像之间的关系,所以基于该视频生成模型生成的试衣视频具备时空一致性,试衣视频的画面稳定不抖动。且由于训练视频生成模型时的输入包括背景图像序列,所以视频模型在生成试衣视频时结合了背景图像序列特征,使得生成的试衣视频中背景区域与衣服区域较为协调,可以提升试衣视频的画面质量。
[0162]
图6为本技术实施例提供的视频合成模型结构图,下面结合图6进行说明。
[0163]
将变形衣服图像序列人物姿势图像序列和背景图像序列a
1t
分别输入一个编码器(encoder)中,得到变形衣服图像特征c、人物姿势图像特征p和背景图像特征a。
[0164]
将特征c、p、a别输入三个多头注意力模块,三个多头注意力模块每个头截取不同
尺寸的图像块的特征c、p、a进行卷积,分别变形衣服图像键值对(kc,vc)、得到查询值q和背景图像键值对(k
bg
,v
bg
)。
[0165]
图5中每一多头注意力模块有四个头,第一个头截取图像块尺寸为r1=64、r2=48,第二个头截取图像块尺寸为r1=32、r2=24,第三个头截取图像块尺寸为r1=16、r2=12,第四个头截取图像块尺寸为r1=8、r2=6。
[0166]
在相同尺寸的头内,使用q值对变形衣服图像键值对(kc,vc)进行注意力操作,得到该头的注意力结果,使用3*3卷积核融合各头的注意力结果得到变形衣服图像注意力结果attc。
[0167]
在相同尺寸的头内,使用q值对背景图像键值对(k
bg
,v
bg
)进行注意力操作,得到该头的注意力结果,使用3*3卷积核融合各头的注意力结果得到背景图像注意力结果atta。
[0168]
将attc和atta拼接后经过1*1卷积融合得到特征值o。
[0169]
将特征值o和编码器输出的特征p进行残差连接,作为下一级mpdt block模块的输入p;将attc和特征值c进行残差连接,作为下一级mpdt block模块的输入c;将atta和特征值a进行残差连接,作为下一级mpdt block模块的输入a,进行迭代处理,得到最终输出的融合特征值o。
[0170]
其中,每一级mpdt block模块进行迭代时,当前mpdt block模块输入的特征值c为前一级输入特征c和前一级输出的attc残差连接的结果。
[0171]
当前mpdt block模块输入的特征值p为前一级输入的特征值p和前一级输出的特征值o残差连接的结果。
[0172]
当前mpdt block模块输入的特征值a为前一级输入的特征值a和前一级输出的atta残差连接的结果。
[0173]
将最终输出的融合特征值o输入解码器(decoder)得到合成衣服序列i
r1t
和衣服区域掩膜序列m
c1t

[0174]
将合成衣服序列i
r1t
先与衣服区域掩膜序列m
c1t
和变形衣服图像序列进行融合,得到中间融合序列i
masked1t
[0175]
再将中间融合序列i
masked1t
与背景图像掩膜序例m
a1t
和背景图像序列a
1t
进行融合,得到虚拟试衣视频序列i
t1

[0176]
对应于上述方法实施例,本技术实施例还提供了一种视频生成模型训练装置,如图7所示,该装置包括:
[0177]
第一获取模块701,用于获取样本试衣视频和样本衣服图像,其中,样本试衣视频为人穿着样本衣服拍摄的视频;
[0178]
第一提取模块702,用于从样本试衣视频中提取姿势图像序列和背景图像序列,其中,姿势图像序列包含样本试衣视频每一视频帧中人物的姿势信息,背景图像序列包括样本试衣视频每一视频帧中除待试衣区域之外的图像;
[0179]
第一变形模块703,用于根据样本试衣视频每一视频帧中人物的姿势信息对样本衣服图像进行变形处理,得到变形衣服图像序列;
[0180]
第一生成模块704,用于将变形衣服图像序列、姿势图像序列和背景图像序列输入视频生成模型中,得到视频生成模型输出的合成试衣视频;
[0181]
计算模块705,用于根据合成试衣视频和样本试衣视频计算损失函数值,基于损失
函数值调整视频生成模型参数,直至视频生成模型收敛时,确定视频生成模型训练完成。
[0182]
在本技术另一实施例中,视频生成模型包括:三个编码器、多个基于多尺度图像块的mpdt模块和一个解码器,每个mpdt模块包括三个输入端,不同编码器的输出端连接于所述多个mpdt模块中的起始mpdt模块的不同输入端,多个mpdt模块中的结束mpdt模块的输出端连接于解码器的输入端;将变形衣服图像序列、第一生成模块704,具体用于:
[0183]
将变形衣服图像序列、姿势图像序列和背景图像序列分别输入一个编码器,得到变形衣服序列特征、姿势序列特征和背景序列特征;
[0184]
将变形衣服序列特征、姿势序列特征和背景序列特征经过多个mpdt模块迭代处理,得到第一融合特征值;
[0185]
将第一融合特征值输入解码器,获取解码器输出的图像序列;
[0186]
基于解码器输出的图像序列生成合成试衣视频。
[0187]
在本技术另一实施例中,解码器输出的图像序列包括初始试衣图像序列和衣服区域掩膜序列;第一生成模块704,具体用于:
[0188]
将初始试衣图像序列、衣服区域掩膜序列和变形衣服图像序列进行融合,得到融合图像序列;
[0189]
将融合图像序列、背景图像掩膜序列和背景图像序列进行融合,得到合成试衣视频。
[0190]
在本技术另一实施例中,mpdt模块包括第一多头注意力模块、第二多头注意力模块和第三多头注意力模块;第一生成模块704,具体用于:
[0191]
将变形衣服序列特征和姿势注意力特征集合输入起始mpdt模块的第一多头注意力模块,得到变形衣服注意力特征,姿势注意力特征集合包括起始mpdt模块中第二多头注意力模块的每个头对姿势序列特征处理得到的特征;
[0192]
将背景序列特征和姿势注意力特征集合输入起始mpdt模块的第三多头注意力模块,得到背景注意力特征;
[0193]
将变形衣服注意力特征和背景注意力特征拼接后,进行卷积运算得到第二融合特征值;
[0194]
针对每个mpdt模块,将该mpdt模块的第一多头注意力模块的输出与输入进行残差连接,作为下一个mpdt模块的第一多头注意力模块的输入;将该mpdt模块输出的第二融合特征值与该mpdt模块的第二多头注意力模块的输入进行残差连接,作为下一个mpdt模块的第二多头注意力模块的输入;将该mpdt模块的第三多头注意力模块的输出与输入进行残差连接,作为下一个mpdt模块的第三多头注意力模块的输入,直至得到结束mpdt模块输出的第一融合特征值。
[0195]
在本技术另一实施例中,第一生成模块704,具体用于:
[0196]
将变形衣服序列特征输入第一多头注意力模块,得到第一多头注意力模块的每个头对变形衣服序列特征处理得到的第一键值对;
[0197]
将姿势注意力特征集合输入第一多头注意力模块,以使得第一多头注意力模块基于姿势注意力特征集合和多个第一键值对得到变形衣服注意力特征;
[0198]
第一生成模块704,具体用于:
[0199]
将背景序列特征输入第三多头注意力模块,得到第三多头注意力模块的每个头对
变形衣服序列特征处理得到的第二键值对;
[0200]
将姿势注意力特征集合输入第三多头注意力模块,以使得第三多头注意力模块基于姿势注意力特征集合和多个第二键值对得到背景注意力特征。
[0201]
在本技术另一实施例中,第一生成模块704,具体用于:
[0202]
根据以下公式进行融合计算:
[0203]imasked1t
=m
c1t
⊙c1t
(1-m
c1t
)
⊙ir1t
[0204]
第一生成模块704,具体用于:
[0205]
根据以下公式进行融合计算:
[0206]it1
=(1-m
a1t
)
⊙imasked1t
m
a1t
⊙a1t
[0207]
其中,c
1t
表示变形衣服图像序列,m
c1t
表示衣服区域掩膜序列,i
r1t
表示初始试衣图像序列,i
masked1t
表示融合图像序列,m
a1t
表示背景图像掩膜序列,a
1t
表示背景图像序列,i
t1
表示合成试衣视频。
[0208]
本技术实施例还提供了一种视频生成装置,如图8所示,该装置包括:
[0209]
第二获取模块801,用于获取待处理视频和目标衣服图像,其中,待处理视频为包含人物的视频;
[0210]
第二提取模块802,用于从待处理视频中提取姿势图像序列和背景图像序列,其中,姿势图像序列包含待处理视频每一视频帧中人物的姿势信息,背景图像序列包括待处理视频每一视频帧中除待试衣区域之外的图像;
[0211]
第二变形模块803,用于根据待处理视频每一视频帧中人物的姿势信息对目标衣服图像进行变形处理,得到变形衣服图像序列;
[0212]
第二生成模块804,用于将变形衣服图像序列、姿势图像序列和背景图像序列和输入视频生成模型,得到目标合成试衣视频,其中,视频生成模型为通过上述视频生成模型训练装置训练得到的视频生成模型。
[0213]
本技术实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
[0214]
存储器903,用于存放计算机程序;
[0215]
处理器901,用于执行存储器903上所存放的程序时,实现上述视频生成模型训练方法或视频生成方法中的步骤。
[0216]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0217]
通信接口用于上述电子设备与其他设备之间的通信。
[0218]
存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0219]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器
(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0220]
在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一所述的视频生成模型训练方法或视频生成方法。
[0221]
在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频生成模型训练方法或视频生成方法。
[0222]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0223]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0224]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0225]
以上所述仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
再多了解一些

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

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

相关文献