1.一种人体与姿态变换图像生成方法,其特征在于,包括以下步骤:获取源输入图像和源引导信息;源输入图像包括源人体图像与源姿态图像;源引导信息包括目标人体图像和目标姿态图像;
利用训练好的人体编码器将源人体图像与目标人体图像压缩到张量空间,形成源人体张量与目标人体张量;
利用训练好的姿态编码器将源姿态图像与目标姿态图像压缩到张量空间,形成源姿态张量与目标姿态张量;
将源人体张量与目标人体张量连接,构成姿态引导信息;将源姿态张量与目标姿态张量连接,构成人体引导信息;
将源人体张量结合人体引导信息作为输入信息,输入训练好的人体‘W’型迁移网络,得到预测人体张量,将源姿态张量结合姿态引导信息作为输入信息,输入训练好的姿态‘W’型迁移网络,得到预测姿态张量;
将预测人体张量输入训练好的人体解码器,得到预测人体图像;
将预测姿态张量输入训练好的姿态解码器,得到预测姿态图像;
人体‘W’型迁移网络与姿态‘W’型迁移网络结构相同,均包括多个功能模块;
功能模块利用引导信息VG不断引导张量VS向目标张量VT迁移;功能模块包含:信息引入模块,使输入张量VS引入目标张量的引导信息,
权值图模块,通过计算引导信息中输入信息与目标信息的差异构建权值图更新输入张量VS,张量对齐模块,通过在‘W’型迁移网络Wi与Wg间约束中间张量对齐实现双任务加速,注意力模块,使用交叉注意力机制使张量VS抽取更多目标信息特征。
2.根据权利要求1所述的人体与姿态变换图像生成方法,其特征在于,所述人体编码器、姿态编码器的末端以及人体解码器、姿态解码器的前端设置有codebook机制;
所述codebook机制通过将输入张量z替换为在一个可学习的随机初始化的张量表中与其距离最近的张量z′,并用codebook损失函数来学习张量表中的参数,替换过程表示如下:z′=vq(z);
zh,w′=ek,k=argmini||zh,w‑ei||;
其中,ek表示codebook中第k个替换张量,zh,w表示张量z最后两个维度位于h,w的张量分量,zh,w′表示更新后的zh,w,argmini||zh,w‑ei||表示当|zh,w‑ei||取最小值时,i的值,z为输入张量,z′为输出张量,cath,w表示沿着张量z最后两个维度进行拼接,vq表示codebook机制。
3.根据权利要求2所述的人体与姿态变换图像生成方法,其特征在于,所述人体编码器、姿态编码器的末端以及人体解码器、姿态解码器的前端设置有一层Attn注意力层;
所述人体编码器、姿态编码器的编码器结构表示为:
m m‑1 1
E(x)=AttnBlock(ResBlock(ResBlock (...ResBlock(x))));
所述人体解码器、姿态解码器的解码器结构表示为:
m m‑1 1
D(z)=ResBlock(ResBlock (...ResBlock(AttnBlock(z))));
m
其中,AttnBlock为注意力机制层,ResBlock为残差层,ResBolck为第m层网络层中残差层,编码器为E,解码器为D,编码器输入为x,解码器输入为z。
4.根据权利要求3所述的人体与姿态变换图像生成方法,其特征在于,所述人体‘W’型迁移网络和姿态‘W’型迁移网络均为由多个功能模块构成‘W’形状网络结构,并通过残差连接同一层级的功能模块形成的‘W’型迁移网络;
所述人体解码器、姿态解码器输出表示为:
其中,cat()表示拼接操作, 为源人体图像, 为源姿态图像, 为目标姿态图像,为目标人体图像, 为人体引导张量, 为姿态引导张量; 与 分别表示预测迁移后的图像与预测迁移后的姿态, 为人体解码器输出的预测人体图像, 为姿态解码器输出的预测姿态图像;
其中Di与Dg分别为人体解码器,姿态解码器,Ei与Eg分别为人体编码器,姿态编码器,Wi与Wg分别为图像迁移网络与姿态迁移网络,vqi与vqg分别表示图像codebook机制与姿态codebook机制;
其中,‘W’型迁移网络包括2个主层,2个副层,3个中间层;且主层层数为np,副层层数为nq,中间层层数为nm,不同层级的输出如下:其中cat()表示拼接操作, 表示该张量在第m分支,是全部第n层网络的输出张量,‘W’型网络最终输出为 RA表示‘W’型网络中核心功能模块,上标n表示网络第n层,V为‘W’型迁移网络的输入。
5.根据权利要求4所述的人体与姿态变换图像生成方法,其特征在于,所述功能模块包括残差连接模块、信息导入模块、权值图模块、张量约束对齐模块、注意力模块和通道权值重分配模块;
所述信息导入模块、权值图模块、张量约束对齐模块、注意力模块使用残差链接两两串联,再与通道权值重分配模块并联,且在功能模块的输入与输出端引入残差连接模块以改l变输入张量的尺寸与通道数,输入张量V经过功能模块表示为:其中⊙表示点乘运算,Vtemp是中间张量, 表示该张量在第m分支,是全部第n层网络的输出张量, 表示第m层网络层中第n个不同的Block块,ResBlock表示残差连接模块,Proj表示信息引入模块,SE表示通道权值重分配模块,Wt表示权值图模块,Tran表示张量约l l l′束对齐模块,Attn表示注意力模块,V为第l层的功能模块RA的输入张量,V 为第l层的功l l′ l能模块RA输出张量,V 表示更新后的输入张量V。
6.根据权利要求5所述的人体与姿态变换图像生成方法,其特征在于,所述通道权值重分配模块满足:l
其中,AvgPool为平均池化,LeakyReLU为一种激活函数, 表示为位于网络第l层的张量中第b批中第c个通道数上,位于(w,h)的像素点上的值,省略部分下标则表示全部选取的张量,本方法中将输入的张量沿着通道维度进行全尺寸平均,FN表示全连接层, 表示第l层网络层中第k个不同的全连接模块;cat表示沿着通道维度拼接,Sigmoid为一种激l活函数,SE表示通道权值重分配模块,V 与x为第l层的功能模块的输入张量;B,W,H分别表示批数,宽度,高度。
7.根据权利要求6所述的人体与姿态变换图像生成方法,其特征在于,所述信息引入模块用于执行以下步骤:将引导张量 拆分为当前引导信息 与目标引导信息
l
用目标张量VT经过ResBlock模块投影后使用GRU模块更新 用源张量 使用GRU模块更新 二者重新合并组成新的引导张量 同时将更新后前引导信息 与目标引导l
信息 拼接一同经过ConvBlock层后加上 的残差连接得到信息引入模块输出的当前张量 表示如下表示:l
其中,GRU模块为一种门控制更新模块, 表示该张量在第m分支,是全部第n层网络的输出张量,cat表示沿着通道维度拼接,ConvBlock表示卷积层模块,ResBlock表示残差连接层模块,VT表示目标张量,V′表示更新后的张量V, 表示输入引导张量, 表示信息引入模块输入待迁移张量, 表示信息引入模块当前引导信息, 表示信息引入模块目标引导信息, 与 为信息引入模块的输入张量, 与 为信息引入模块输出的引导张量和当前张量,上标l表示第l层的功能模块;
所述权值图模块用于执行以下步骤:
信息引入模块输出的引导张量和当前张量 与 经过权值图模块时,信息引入模块输出的引导张量 整体经过卷积层更新得到权值图模块输出的引导张量 将权值图模块输出的引导张量 分解为权值图模块输出的目标引导张量 与权值图模块输出的当前引导张量 做差后送入双曲正切函数tanh得到张量权值图 权值图模块输入待迁移张量 与张量权值图 点乘后经过卷积层后加上 的残差连接得到权值图模块输出的当前张量 如下表示:其中, 表示该张量在第m分支,是全部第n层网络的输出张量,cat表示沿着通道维度拼接,ConvBlock表示卷积层模块,V″表示权值图模块更新后的张量V′, 表示信息引入模块输出的、权值图模块输入的引导张量, 表示信息引入模块输出的、权值图模块输入的待迁移张量, 由 与 沿通道维度拼接而成, 表示权值图模块当前引导信息,与 为权值图模块输入张量, 与 为权值图模块输出的引导张量和当前张量,⊙表示张量间点乘运算,tanh表示双曲正切函数,Wt表示权值图模块;
所述张量对齐模块的执行方法包括:
将权值图模块输出的引导张量 整体经过卷积层更新得到张量对齐模块输出的引导l张量 用对齐张量M 与一系列卷积去近似 中张量对齐模块当前引导张量 到张量对齐模块目标引导张量 的变换,将张量对齐模块当前引导张量 通过两个可学习的全连接模块与LeakyReLU激活函数接近张量对齐模块目标引导张量 来模拟对齐l l张量M,最后将权值图模块输出的当前张量 与对齐张量M做矩阵运算接近对称任务中的张量对齐模块输出的引导张量 得到隐藏张量 再经过卷积层后加上张量对齐模块输出的当前张量 的残差连接得到张量对齐模块输出的当前张量 如下式:其中,上述 表示该张量在第m分支,是全部第n层网络的输出张量,cat表示沿着通道维度拼接,ConvBlock表示卷积层模块, 表示第l层网络层中第k个不同的卷积层模块,V″′表示张量对齐模块更新后的张量V″, 表示张量对齐模块输入的引导张量,也是权值图模块输出的引导张量, 表示张量对齐模块输入的待迁移张量,也是权值图模块输出的待迁移张量, 表示张量对齐模块当前引导信息, 表示张量对齐模块目标引导信息, 与 为张量对齐模块的输入张量, 与 为张量对齐模块的输出的引l
导张量和当前张量, 表示张量间矩阵乘法运算,LeakyReLU表示一种激活函数,Tran表示l功能模块RA 中的张量约束对齐模块,FN表示全连接模块, 表示第l层网络层中第k个不同的全连接模块;
所述注意力模块的执行方法包括:
张量对齐模块输出的当前张量 与引导张量 经过注意力模块时, 整体经过卷积层更新得到注意力模块输出的引导张量 将 分别与引导张量 中的当前引导张量 和目标引导张量 拼接送入交叉注意力机制,利用交叉注意力机制更新并再经过卷积层后加上 的残差连接得到注意力模块输出的当前张量 表示如下:其中,上述 表示该张量在第m分支,是全部第n层网络的输出张量,cat表示沿着通道维度拼接,ConvBlock表示卷积层模块,V″″表示注意力模块更新后的张量V″′, 由与 沿通道维度拼接而成, 表示注意力模块当前引导信息, 表示注意力模块目标引导信息, 与 为注意力模块的输入张量, 与 为注意力模块的输出张量,attention表示注意力机制函数,CrossAttn表示交叉注意力机制,Attn表示注意力模块,FN表示全连接模块,右上标l表示第l个功能模块中,右下标n表示第n个模块。
8.根据权利要求7所述的人体与姿态变换图像生成方法,其特征在于,所述人体编码器、姿态编码器、人体解码器和姿态解码器的训练方法包括:获取训练数据集;所述训练数据集至少包括人体图像和姿态图像;
采用训练数据集以及基于用于整体训练VQVAE框架的损失函数对人体编码器、姿态编码器、人体解码器和姿态解码器进行训练,得到训练好的人体编码器、姿态编码器、人体解码器和姿态解码器;
获取训练数据集的方法包括:
从DeepFashion公开人体数据集获取人体图像数据;
采用姿态估计算法OpenPose来提取人体图像数据的姿态,得到人体姿态数据;
将同一人体图像与姿态图像配对数据,取同一人的两组不同动作的配对数据形成一份训练数据,使得一份训练数据中分别含有源人体图像,目标人体图像,源姿态图像与目标姿态图像,制作得到训练数据集。
9.根据权利要求8所述的人体与姿态变换图像生成方法,其特征在于,所述人体‘W’型迁移网络和姿态‘W’型迁移网络的训练方法包括:获取张量训练数据集;
基于张量训练数据集和用于训练整体迁移网络‘W’的损失函数,对所述人体‘W’型迁移网络和姿态‘W’型迁移网络进行训练,得到训练好的所述人体‘W’型迁移网络和姿态‘W’型迁移网络。
10.一种人体与姿态变换图像生成装置,其特征在于,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据权利要求1‑9任一项所述方法的步骤。