首页 / 专利库 / 电脑编程 / 算法 / 置信度传播算法 / 一种基于生成对抗网络的多姿态行人图像合成算法

一种基于生成对抗网络的多姿态行人图像合成算法

阅读:65发布:2020-05-16

专利汇可以提供一种基于生成对抗网络的多姿态行人图像合成算法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于生成对抗网络的多 姿态 行人图像合成 算法 ,包括以下步骤:S1:通过行人重识别任务数据集Market-1501中获取 训练数据 集和测试数据集;S2:根据预设方法通过训练数据集构建生成对抗网络模型;S3:采用预设方法向生成对抗网络模型输入中加入姿态信息潜码;S4:基于姿态信息潜码构建生成对抗网络模型的目标函数,并利用带有目标函数的生成对抗网络模型合成多姿态的行人图像;S5:根据合成的多姿态行人图像进行实验结果分析。有益效果:本发明有效地缩小了生成器的解空间,使得生成对抗网络训练更加平稳,从而可以生成高 质量 的多姿态行人图片。,下面是一种基于生成对抗网络的多姿态行人图像合成算法专利的具体信息内容。

1.一种基于生成对抗网络的多姿态行人图像合成算法,其特征在于,包括以下步骤:
S1:通过行人重识别任务数据集Market-1501中获取训练数据集和测试数据集;
S2:根据预设方法通过所述训练数据集构建生成对抗网络模型;
S3:采用预设方法向所述生成对抗网络模型输入中加入姿态信息潜码;
S4:基于所述姿态信息潜码构建所述生成对抗网络模型的目标函数,并利用带有所述目标函数的生成对抗网络模型合成多姿态的行人图像;
S5:根据合成的所述多姿态行人图像进行实验结果分析。
2.根据权利要求1所述的一种基于生成对抗网络的多姿态行人图像合成算法,其特征在于,所述S2中根据预设方法通过所述训练数据集构建生成对抗网络模型具体包括以下步骤:
S21:生成器的构建,通过预设方法构建所述生成器;
其中,所述S21中通过预设方法构建所述生成器具体包括以下步骤:
S211:通过将三层卷积核一条跳跃连接构成残差模,并设定x为所述残差模块的输入;
S212:编码器通过三层卷积在瓶颈处生成特征向量F(x),并设定x+F(x)为所述残差模块的输出;
S213:在解码器中间层抽取特征,并通过一个卷积层输出原图四分之一的图片;
S22:分类器的构建,在所述生成器的瓶颈处,添加一个基于softmax多分类的卷积神经网络,将所述特征向量F(x)针对个体进行多分类;
S23:判别器的构建,设计两组判别器,分别用于对所述残差模块输出和所述原图四分之一大小图片的判断。
3.根据权利要求2所述的一种基于生成对抗网络的多姿态行人图像合成算法,其特征在于,用于所述生成器输出的判别器的分辨率为原图大小,用于所述原图四分之一大小图片的判别器的分辨率为小分辨率,且用于小分辨率的所述判别器层数比用于原图的所述判别器层数少两层。
4.根据权利要求1所述的一种基于生成对抗网络的多姿态行人图像合成算法,其特征在于,所述S3中采用预设方法向所述生成对抗网络模型输入中加入姿态信息潜码具体包括以下步骤:
S31:利用OpenPose模型对姿态信息潜码进行提取;
S32:根据预设方法将提取的所述姿态信息潜码加入所述生成对抗网络模型输入中。
5.根据权利要求4所述的一种基于生成对抗网络的多姿态行人图像合成算法,其特征在于,所述S31中利用OpenPose模型对姿态信息潜码进行提取具体包括以下步骤:
S311:以所述训练数据集中的图片作为输入,通过反向传播网络,同时预测身体部位位置的一组二维置信度图,以及用于编码身体部分关联程度的相邻亲和的一组二维向量;
S312:基于相邻亲和场进行身体部位的聚合;
S313:基于贪心推理,进行人与人之间姿态信息的分割。
6.根据权利要求4所述的一种基于生成对抗网络的多姿态行人图像合成算法,其特征在于,所述S32中根据预设方法将提取的所述姿态信息潜码加入所述生成对抗网络模型输入中具体包括以下步骤:
S321:通过OpenPose库提取各个关键点的坐标信息,并生成一张黑色背景,以半径为5的白色圆形表达关键点的图片;
S322:将含有姿态信息的图像作为第四通道与原有的RGB图像进行叠加,并作为输入的第四个通道。
7.根据权利要求1所述的一种基于生成对抗网络的多姿态行人图像合成算法,其特征在于,所述S4中基于所述姿态信息潜码构建所述生成对抗网络模型的目标函数具体包括以下步骤:
S41:设定IA指某张姿态为A的行人图像,IB是姿态为B的目标图像,将目标图像的姿态PB与IA相加并作为生成器G的输入,输出为具有目标姿态PB的合成图像 小分辨率、原分辨率判别器分别以D1,D2指代;
S42:构建生成对抗网络损失函数;
其中,所述S52中构建生成对抗网络损失函数具体包括以下步骤:
S421:构建生成对抗网络的目标函数表达式:
其中,D表示判别器,G(Z,C)表示生成器,C表示
潜码,I(C;G(Z,C))表示共同信息项;
S422:定义辅助分布Q(c|x)逼近P(c|x),从而获取一个下界:
S423:构建生成对抗网络部分的损失函数表达式:
其中E表示分布函
数的期待值,Pdate表示真实数据的分布;
S43:构建L1距离损失函数;
其中,所述S43中构建L1距离损失函数具体包括以下步骤:构建两个分辨率下的损失函数表达式: 其中,Gmid(IA,PB)是生成器
中间层的输出,CS是将生成器中间层生成为小分辨率图像的小型卷积神经网络,LL1为原分辨率图像的L1损失函数, 为小分辨率图像的L1损失函数;
S44:构建图片块损失函数;
其中,所述S44中构建图片块损失函数具体包括以下步骤:构建基于patch的损失函数表达式: 其中, 表示图
片 中的第i个patch,并将原图与生成图像的对应位置的patch进行对比,H、W表示的是当前图像的基于patch的高度和宽度,Lpatch和 分别表示原分辨率下、小分辨率下的基于patch的损失函数;
S45:构建交叉熵损失函数;
其中,S45中构建交叉熵损失函数具体包括以下步骤:
S451:在所述生成器的瓶颈处,所述分类器基于softmax分类层进行训练:z=Ψ(mbottleneck),其中,z表示在瓶颈处的卷积神经网络Ψ的输出,mbottleneck表示在生成器瓶颈处的特征向量;
S452:设softmax层前的输出为一个向量V,vj代表v中第i个元素,则该元素的softmax值为:
S453:构建基于softmax的分类器的损失函数为:
S46:构建所述生成对抗网络模型的目标函数:

说明书全文

一种基于生成对抗网络的多姿态行人图像合成算法

技术领域

[0001] 本发明涉及图像合成算法技术领域,具体来说,涉及一种基于生成对抗网络的多姿态行人图像合成算法。

背景技术

[0002] 在计算机视觉领域中,可以生成看上去更为现实、自然的图片的算法变得越来越受欢迎,这得益于现实生活中对于高质量合成图像的需求变得越来越高。而人物姿态迁移又是一个在该领域中非常活跃的主题。随着深度神经网络在计算机视觉中的广泛应用,近几年来,各种新颖的生成式网络结构,例如变分自编码网络和生成对抗网络在图像生成领域都取得了一定的成就。
[0003] 然而,目前大多数基于条件信息的生成对抗网络(condition GAN)更多的将精集中于潜码的表达或者图像质量上,而忽略了行人个体信息的保留以及个体之间特征的差异性。对于Wasserstein等人提出的基于生成对抗网络的特性,其存在以下缺点:生成器远远比判别器难训练到收敛,因此判别器很容易早于生成器收敛,从而出现过于强大的判别器,导致生成器与判别器之间的对抗训练与学习无从进行,并抑制生成器对特征空间的学习和模仿。
[0004] 针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容

[0005] 针对现有技术存在的上述问题,本发明要解决的技术问题是:保证个体信息尽可能的保留、生成图片低层、高层信息真实图片尽可能的一致,以及缓和生成器与判别器之间的对抗训练,避免两者之间提前收敛,使得训练尽可能的稳定。
[0006] 为解决上述技术问题,本发明采用如下技术方案:一种基于生成对抗网络的多姿态行人图像合成算法,包括以下步骤:
[0007] S1:通过行人重识别任务数据集Market-1501中获取训练数据集和测试数据集;
[0008] S2:根据预设方法通过所述训练数据集构建生成对抗网络模型;
[0009] S3:采用预设方法向所述生成对抗网络模型输入中加入姿态信息潜码;
[0010] S4:基于所述姿态信息潜码构建所述生成对抗网络模型的目标函数,并利用带有所述目标函数的生成对抗网络模型合成多姿态的行人图像;
[0011] S5:根据合成的所述多姿态行人图像进行实验结果分析。
[0012] 进一步的,所述S2中根据预设方法通过所述训练数据集构建生成对抗网络模型具体包括以下步骤:
[0013] S21:生成器的构建,通过预设方法构建所述生成器;
[0014] 其中,所述S21中通过预设方法构建所述生成器具体包括以下步骤:
[0015] S211:通过将三层卷积核一条跳跃连接构成残差模,并设定x为所述残差模块的输入;
[0016] S212:编码器通过三层卷积在瓶颈处生成特征向量F(x),并设定x+F(x)为所述残差模块的输出;
[0017] S213:在解码器中间层抽取特征,并通过一个卷积层输出原图四分之一的图片;
[0018] S22:分类器的构建,在所述生成器的瓶颈处,添加一个基于softmax多分类的卷积神经网络,将所述特征向量F(x)针对个体进行多分类;
[0019] S23:判别器的构建,设计两组判别器,分别用于对所述残差模块输出和所述原图四分之一大小图片的判断。
[0020] 进一步的,用于所述生成器输出的判别器的分辨率为原图大小,用于所述原图四分之一大小图片的判别器的分辨率为小分辨率,且用于小分辨率的所述判别器层数比用于原图的所述判别器层数少两层。
[0021] 进一步的,所述S3中采用预设方法向所述生成对抗网络模型输入中加入姿态信息潜码具体包括以下步骤:
[0022] S31:利用OpenPose模型对姿态信息潜码进行提取;
[0023] 其中,所述S31中利用OpenPose模型对姿态信息潜码进行提取具体包括以下步骤:
[0024] S311:以所述训练数据集中的图片作为输入,通过反向传播网络,同时预测身体部位位置的一组二维置信度图,以及用于编码身体部分关联程度的相邻亲和力的一组二维向量;
[0025] S312:基于相邻亲和场进行身体部位的聚合;
[0026] S313:基于贪心推理,进行人与人之间姿态信息的分割;
[0027] S32:根据预设方法将提取的所述姿态信息潜码加入所述生成对抗网络模型输入中。
[0028] 其中,所述S32中根据预设方法将提取的所述姿态信息潜码加入所述生成对抗网络模型输入中具体包括以下步骤:
[0029] S321:通过OpenPose库提取各个关键点的坐标信息,并生成一张黑色背景,以半径为5的白色圆形表达关键点的图片;
[0030] S322:将含有姿态信息的图像作为第四通道与原有的RGB图像进行叠加,并作为输入的第四个通道。
[0031] 进一步的,所述S4中基于所述姿态信息潜码构建所述生成对抗网络模型的目标函数具体包括以下步骤:
[0032] S41:设定IA指某张姿态为A的行人图像,IB是姿态为B的目标图像,将目标图像的姿态PB与IA相加并作为生成器G的输入,输出为具有目标姿态PB的合成图像 小分辨率、原分辨率判别器分别以D1,D2指代;
[0033] S42:构建生成对抗网络损失函数;
[0034] 其中,所述S52中构建生成对抗网络损失函数具体包括以下步骤:
[0035] S421:构建生成对抗网络的目标函数表达式:其中,D表示判别器,G(Z,C)表示生成器,C表示
潜码,I(C;G(Z,C))表示共同信息项;
[0036] S422:定义辅助分布Q(c|x)逼近P(c|x),从而获取一个下界:
[0037]
[0038] S423:构建生成对抗网络部分的损失函数表达式:
[0039]
[0040] 其中E表示分布函数的期待值,Pdate表示真实数据的分布;
[0041] S43:构建L1距离损失函数;
[0042] 其中,所述S43中构建L1距离损失函数具体包括以下步骤:构建两个分辨率下的损失函数表达式: 其中,Gmid(IA,PB)是生成器中间层的输出,CS是将生成器中间层生成为小分辨率图像的小型卷积神经网络,LL1为原分辨率图像的L1损失函数, 为小分辨率图像的L1损失函数;
[0043] S44:构建图片块损失函数;
[0044] 其中,所述S44中构建图片块损失函数具体包括以下步骤:构建基于patch的损失函数表达式: 其中, 表示图片 中的第i个patch,并将原图与生成图像的对应位置的patch进行对比,H、W表示的是当前图像的基于patch的高度和宽度,Lpatch和 分别表示原分辨率下、小分辨率下的基于patch的损失函数;
[0045] S45:构建交叉熵损失函数;
[0046] 其中,S45中构建交叉熵损失函数具体包括以下步骤:
[0047] S451:在所述生成器的瓶颈处,所述分类器基于softmax分类层进行训练:z=Ψ(mbottleneck),其中,z表示在瓶颈处的卷积神经网络Ψ的输出,mbottleneck表示在生成器瓶颈处的特征向量;
[0048] S452:设softmax层前的输出为一个向量V,vj代表v中第i个元素,则该元素的softmax值为:
[0049]
[0050] S453:构建基于softmax的分类器的损失函数为:
[0051] S46:构建所述生成对抗网络模型的目标函数:
[0052] 相对于现有技术,本发明的有益效果为:基于经典的编码器-解码器结构,提出了包含分类器、小分辨率图片卷积器在内的新的生成器网络,通过在中间层、瓶颈处插入卷积神经网络的方式在图像生成过程中添加针对个体的、高低层信息的、类间差异的有效地监督及对应的损失函数,不仅有效地缩小了生成器的解空间,使得个体信息尽可能的保留,生成图片的高低层信息与真实图片尽可能的一致,而且还有效地缓和了生成器与判别器之间的对抗训练,使得生成对抗网络训练更加平稳,可以生成高质量的多姿态行人图片。附图说明
[0053] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0054] 图1是根据本发明实施例的一种基于生成对抗网络的多姿态行人图像合成算法的流程示意图;
[0055] 图2是根据本发明实施例中Market-1501数据集中的样本示例图;
[0056] 图3是根据本发明实施例中用于测试阶段的十个模板姿态图;
[0057] 图4是根据本发明实施例中不同姿态信息表示示例图;
[0058] 图5是根据本发明实施例中生成对抗网络模型的整体架构;
[0059] 图6是残差模块示意图和本发明实施例中的残差模块示意图;
[0060] 图7是根据本发明实施例中的姿态信息生成过程示意图;
[0061] 图8是根据本发明实施例中姿态输入信息样本示例图;
[0062] 图9是根据本发明实施例中softmax分类的示意图;
[0063] 图10是根据本发明实施例中实验结果示意图;
[0064] 图11是根据本发明实施例中无小分辨率图片情况下的结果示意图;
[0065] 图12是根据本发明实施例中无分类器情况下的结果示意图;
[0066] 图13是根据本发明实施例中当前最先进的行人图像合成模型复现后的生成结果示意图;
[0067] 图14是根据本发明实施例中输入行人状态为骑行时的生成结果示意图。

具体实施方式

[0068] 为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
[0069] 根据本发明的实施例,提供了一种基于生成对抗网络的多姿态行人图像合成算法。
[0070] 现结合附图和具体实施方式对本发明进一步说明,如图1-14所示,根据本发明实施例的一种基于生成对抗网络的多姿态行人图像合成算法,包括以下步骤:
[0071] S1:通过行人重识别任务数据集Market-1501中获取训练数据集和测试数据集;
[0072] 具体应用时,生成对抗网络模型的训练和测试都是在当前最大的行人重识别任务数据集Market-1501上,如图2所示,其中包含来自六台分离的监视摄像机捕获的1501人的32688张行人图像,此数据集中的行人在姿态、照明、视和背景方面各不相同,从而使得生成新的行人图像极具挑战性,所有图像的尺寸为128*64,并分成分别为12936张、19732张的训练集与测试集。
[0073] 而本发明中生成对抗网络模型的训练并非完全基于以上所有的图片,由于OpenPose库并非对每一张图片的每一个关键点都能做到完美地提取,故筛选出能够检测数14个关键点以上的共4641张图片作为训练数据集,并在同一个训练行人的ID下,对不同的姿态的属于同一行人的图片进行组合,形成了共58706对的训练数据集。
[0074] 在测试过程中,本实施例从测试数据集中随机选取10个能够完好检测到所有身体关键点的姿态作为模板姿态,然后从测试集随机选取200张图片,每一张图片分别和模板姿态中的每一个作组合并输入生成器,即对应每个测试集中的图片,生成10个不同姿态的图片。如图3所示,为用于测试阶段的基于点信息的姿态模板。
[0075] 此外,在潜码的输入形式上,本实施例中进行了多种尝试,如图4所示,为其中的示例:(a)是算法模型中输入的潜码的最终表示形式,人身体的18个关节点包含:鼻子、颈、左肩膀、左手肘、左手腕、左肩膀、右手肘、右手腕、左臀部、左膝盖、左脚踝、右臀部、左膝盖、右脚踝、左眼睛、右眼睛、左朵、右耳朵、背景以纯黑色为背景,以半径为5的白色圆圈标注以上18个关节点。
[0076] (b)尝试将腿部连接,以增强腿部信息的学习,但实验证明,连接线起到了较强的干扰作用,随符合直觉,但不能很好地适用于卷积神经网络。
[0077] (c)尝试用不同的灰度值赋值关键点,给予不同图像间相同关节点赋值相同,并且不同关节点间灰度值不同,实验证明,效果仍不理想,原因是关节点的颜色越深,即关节点的灰度越接近黑色,由于难以与背景区分,导致此类关节点很难学习到。
[0078] S2:根据预设方法通过所述训练数据集构建生成对抗网络模型;
[0079] 如图5所示,为本实施例中生成对抗网络模型的整体架构,生成器由四部分组成:编码器、解码器、分类卷积网络、小分辨率图像生成卷积网络;且设计两个判别器网络,分别对应生成器中间层特征卷积而来的小分辨率图像和生成器网络最终生成的图像。
[0080] 如下表1所示,为生成对抗网络模型中的编码器结构,可以看到,先进行边缘填充,由3个卷积层,和8个残差模块组成,其中每个卷积层后跟随者一层批正则化层和ReLu激活层。
[0081] 每个残差模块两个卷积层,两个批正则化层,一个激活层,一个边缘填充层组成,与前面卷积层不同的是,残差模块中的卷积层的卷积核大小为1x1。
[0082] 表1编码器网络结构
[0083]
[0084]
[0085] 如下表2为生成器中解码器的网络架构与具体参数,反卷积层与编码器中残差模块外的的卷积层一一对应,包括每一层的具体参数,步长、卷积核等。
[0086] 表2解码器网络架构
[0087]
[0088]
[0089] 如下表3为用于生成小分辨率图片的卷积神经网络,在具体实现中,这个卷积神经网络的输入是在解码器中第一个反卷积层的输出的特征向量,经过对比验证,使用tanh激活函数的效果最好。
[0090] 表3小分辨率图片生成卷积网络
[0091] 层名称 具体细节与参数 输入通道数 输出通道数卷积层 卷积核大小=(1,1),步长=(1,1) 128 3
Tanh激活层   3 3
[0092] 如下表4为为用于监督行人个体特征的基于卷积神经网络的多分类器,先以卷积层调整特征向量的尺寸,然后以全连接层生成1x 739的特征向量,739维的原因是Market-1501数据集的训练集中的行人个体数量为739。
[0093] 表4基于softmax的多分类器卷积网络
[0094]
[0095] 其中,所述S2中根据预设方法通过所述训练数据集构建生成对抗网络模型具体包括以下步骤:
[0096] S21:生成器的构建,通过预设方法构建所述生成器;
[0097] 本实施中是基于残差模块(residual block),通过另一种形式的跳跃连接,既能够较好的保留低层次信息,又能免去跳跃连接带来的计算和模型上的负担。如图6(a)所示,残差模块(residual block)由两层卷积核一条跳跃连接组成,x作为该模块的输入,经过两层卷积生成F(x),该模块的输出则是将x与F(x)加起来,作为下一个模块的输出。而在本实施例的生成对抗网络模型中,采用了图6(b)中的设计,具体如下:
[0098] 所述S21中通过预设方法构建所述生成器具体包括以下步骤:
[0099] S211:通过将三层卷积核一条跳跃连接构成残差模块,并设定x为所述残差模块的输入;
[0100] S212:编码器通过三层卷积在瓶颈处生成特征向量F(x),并设定x+F(x)为所述残差模块的输出;
[0101] S213:在解码器的中间层抽取特征,并通过一个卷积层输出原图四分之一的图片,作为生成器的限制之一;
[0102] S22:分类器的构建,在所述生成器的瓶颈处,添加一个基于softmax多分类的卷积神经网络,将所述特征向量F(x)针对个体进行多分类;
[0103] 具体应用时,本发明创造性地在生成器的瓶颈处,添加了一个基于softmax多分类的卷积神经网络,直接将瓶颈处,即前面编码器卷积而得来的特征向量进行针对个体的多分类,相当于在编码器处增加了一个针对个体信息的监督。通过softmax层实现了基于行人id的多分类任务,基于在瓶颈处的分类器,作为一个限制,起到了如下的作用:
[0104] 1)、限制了瓶颈处的特征,即之前的卷积层提取的特征,都是与个体信息有着强烈相关性的,防止了个体重要信息的丢失。
[0105] 2)、在前面的卷积层提取行人信息的同时,保证了个体间的(intra-identity)差异,避免丢失独属于行人个体的、与其余行人不同的信息,从而避免了在已有工作中出现的,不同行人的生成图片间一定的相似性。
[0106] S23:判别器的构建,设计两组判别器,分别用于对所述残差模块输出(即生成器的输出)和所述原图四分之一大小图片的判断。其中,由于两个判别器的输入的尺度(即分辨率)不同,故针对小尺度的判别器的层数比针对原图的判别器少两层。
[0107] 具体应用时,通过多分辨率的判别器,该模型达到了以下效果:
[0108] 1)、基于小尺度更多集中于全局信息的优点,通过小尺度的判别器实现了对生成图片与原图片全局信息、高层信息的一致性约束;通过大尺度图片和其对应的判别器实现了对生成图片与原图片局部信息、低层信息一致性的约束,两者相互辅助,实现对生成图片在局部信息与全局信息的约束。
[0109] 2)、通过对中间层的特征信息进行约束,进一步约束了生成器的解空间,相当于在图片生成过程中加了一层约束,作为增强信息促进反卷积层在上采样过程中学习更加有利、有用的特征,从而加快生成器的收敛,使得训练过程更加平稳。
[0110] S3:采用预设方法向所述生成对抗网络模型输入中加入姿态信息潜码;
[0111] 其中,所述S3中采用预设方法向所述生成对抗网络模型输入中加入姿态信息潜码具体包括以下步骤:
[0112] S31:利用OpenPose模型对姿态信息潜码进行提取;
[0113] 具体的,如图7所示,所述S31中利用OpenPose模型对姿态信息潜码进行提取具体包括以下步骤:
[0114] S311:以所述训练数据集中的图片作为输入,通过反向传播网络,同时预测身体部位位置的一组二维置信度图,以及用于编码身体部分关联程度的相邻亲和力的一组二维向量;
[0115] S312:基于相邻亲和场进行身体部位的聚合;如图7中将手肘与肩部联合来形成胳膊。
[0116] S313:基于贪心推理,进行人与人之间姿态信息的分割;
[0117] S32:根据预设方法将提取的所述姿态信息潜码加入所述生成对抗网络模型输入中。
[0118] 具体的,所述S32中根据预设方法将提取的所述姿态信息潜码加入所述生成对抗网络模型输入中具体包括以下步骤:
[0119] S321:通过OpenPose库提取各个关键点的坐标信息后,如图8所示,生成一张黑色背景,以半径为5的白色圆形表达关键点的图片;
[0120] S322:将含有姿态信息的图像作为第四通道与原有的RGB图像进行叠加,并作为输入的第四个通道。
[0121] S4:基于所述姿态信息潜码构建所述生成对抗网络模型的目标函数,并利用带有所述目标函数的生成对抗网络模型合成多姿态的行人图像;
[0122] 其中,所述S4中基于所述姿态信息潜码构建所述生成对抗网络模型的目标函数具体包括以下步骤:
[0123] S41:设定IA指某张姿态为A的行人图像,IB是姿态为B的目标图像,将目标图像的姿态PB与IA相加并作为生成器G的输入,输出为具有目标姿态PB的合成图像 小分辨率、原分辨率判别器分别以D1,D2指代;
[0124] S42:构建生成对抗网络损失函数;
[0125] 具 体 应 用时 ,传 统 生 成 对 抗 网 络 的 损 失 函 数 表 达 形 式 为 :目标是通过学习使得生成
器的分布pG(x)与真实的数据分布pdate(x)尽可能一致,GAN通过生成器网络G,以噪声数据z:
pnoise(z)输入,生成生成器样本分布pG,生成器通过与判别器网络D对抗训练,对于给定生成器,最优化的判别器应当是D(x)=Pdate(x)/(Pdate(x)+PG(x))。
[0126] 而本实施例中的生成对抗网络模型不仅于此,借鉴自InfoGAN,在整个生成对抗网络的生成对抗损失函数中将潜码(latent code)纳入了考虑,在最大化学习并保留共有信息(mutual information)的同时,学习多样化的姿态信息。
[0127] 在这里本发明中用c表示潜码,在加入潜码的情况下,对于生成器而言,形式则变成了G(z,c),但在传统的生成器网络中,作为输入的一部分,潜码会对生成图片起到相当干扰作用,破坏原有的结构,故应当寻找一种表示,使得PG(x|c)=PG(x),从另一个角度来说,是寻求一种共同信息(mutual information),使得潜码包含在原有输入中。
[0128] 在信息论中,X与Y共同信息表达为I(X;Y),意为从Y中能够学到的关于X的信息的多少。共同信息可以表达为两个熵值的差:I(X;Y)=H(X)–H(X|Y)=H(Y)–H(Y|X),直觉上来解释,I(X;Y)是当观察到Y时,对X的不确定性的减少程度。若X,Y完全独立,则I(X;Y)=0,相反,若为1,则两者互相间有着直接的决定性的联系。
[0129] 以上的解释可以得出这样的代价函数:对于给定的x:PG(x),则要使PG(c|x)有着尽可能低的熵值。换句话说,潜码c中的信息在生成器的生成过程中不应被丢失。因此,设计生成对抗网络的目标函数。具体如下:所述S52中构建生成对抗网络损失函数具体包括以下步骤:
[0130] S421:构建生成对抗网络的目标函数表达式:其中,D表示判别器,G(Z,C)表示生成器,C表示
潜码,I(C;G(Z,C))表示共同信息项;
[0131] S422:定义辅助分布Q(c|x)逼近P(c|x),从而获取一个下界:
[0132]
[0133] S423:构建生成对抗网络部分的损失函数表达式:
[0134]
[0135] 其中E表示分布函数的期待值,Pdate表示真实数据的分布;
[0136] S43:构建用于衡量并惩罚生成图片和目标图片之间差异的L1距离损失函数;
[0137] 具体的,所述S43中构建L1距离损失函数具体包括以下步骤:构建两个分辨率下的损失函数表达式: 其中,Gmid(IA,PB)是生成器中间层的输出,CS是将生成器中间层生成为小分辨率图像的小型卷积神经网络,LL1为原分辨率图像的L1损失函数, 为小分辨率图像的L1损失函数;
[0138] 本实施例中,不同于传统机器学习方法中使用的L2作为距离度量,L1距离在生成对抗网络中使用的更为广泛,原因是其能够更好地作为图片质量度量的情况下,鼓励生成器生成边缘更加锐利的图片,从而尽可能的保留生成图片的边缘信息。
[0139] 直观上说,就是直接将生成图片与原图进行像素值直接进行差值运算,从而引导训练尽可能与原图接近。
[0140] 与传统的利用L1距离的判别器不同,本发明利用了两个判别器D1和D2,分别对应中间层特征信息通过卷积生成的小分辨率图片,和原图大小的生成器的最终生成,在这两个部分的L1信息有着不同的意义和作用:
[0141] 1)、相比于原分辨率而言,低分辨率更多的压缩了底层信息、细节信息,而保留了高层信息、结构信息,故小分辨率的判别器强化了对高层信息的学习,而大分辨率对细节信息、底层信息的学习进行了强化;
[0142] 2)、从编码器-解码器结构角度而言,随着卷积层的加深,每一层卷积层的输出越来越向高层信息靠近,而解码器部分的反卷积则可以认为是卷积运算的逆过程,故浅层位置的反卷积是在基于高层信息进行解码、上采样,而反卷积层数越深,则越偏向底层信息,而两个基于L1距离的损失函数刚好与反卷积层不同位置的对低层、高层信息的学习对应起来。
[0143] S44:构建图片块损失函数;
[0144] 具体应用时,传统判别器的损失函数一般基于传统机器学习方法中的二分类问题,即分类结果是离散的0-1分布,但由于生成器的生成图片的质量十分有限,而判别器由于卷积神经网络强大的特征提取能力,很容易通过个别细节判定生成的图片为假,而离散的0-1分布在反向传播算法中不能很好地鼓励生成图片的质量,故本发明中提出的模型的判别器创造性地使用了基于patch的损失函数。
[0145] 所谓patch的产生,是基于卷积神经网络的特性决定的,对于相邻两层,通过大小为3*3的卷积核生成的后的一个像素则对应上一层的一个3*3的patch,若再通过一层步长为2的3*3卷积进行卷积运算,则新生成特征向量中的一个特征值则对应输入图片中的一个5*5的patch。
[0146] 在本实施例实现的判别器模型中,Patch是基于判别器最后一层的输出进行判定,由于卷积神经网络的特征,最后一层的每一个特征值,基于感受野的原理,对应着原图中的一个patch,以原图大小(128*64像素)作为输入的判别器中,最后一层的特征向量中每一个特征值对应着7*7的patch。
[0147] 对于每一个patch,通过对原图和生成图片对应位置的特征值判定,生成一个结果为0-1分布的结果,然后根据patch的分类结果生成一个连续的值,从而在反向传播算法中能够得将基于目标函数的反馈反向传播,从而很好地鼓励生成器生成的更高图片质量的图片。
[0148] 具体的,所述S44中构建图片块损失函数具体包括以下步骤:构建基于patch的损失函数表达式: 其中, 表示图片 中的第i个patch,并将原图与生成图像的对应位置的patch进行对比,H、W表示的是当前图像的基于patch的高度和宽度,Lpatch和 分别表示原分辨率下、小分辨率下的基于patch的损失函数;
[0149] S45:构建交叉熵损失函数;
[0150] 具体的,S45中构建交叉熵损失函数具体包括以下步骤:
[0151] S451:在所述生成器的瓶颈处,设计一个分类器,基于每个个体的ID进行多分类,在这里,所述分类器基于softmax分类层进行训练:z=Ψ(mbottleneck),其中,z表示在瓶颈处的卷积神经网络Ψ的输出,mbottleneck表示在生成器瓶颈处的特征向量;如图9所示,为softmax分类的示意图。
[0152] 具体应用时,传统的one-hot编码,给预测的label赋值为1,其余赋值为0,这样虽然非常符合直觉,有着诸多缺点:1)、离散的输出不符合神经网络的反向传播算法,不能很好地将损失函数的差值进行反向传播;2)、One-hot编码一定程度上不符合典型的概率分布,即每次只预测一个结果,而忽略其余ID的可能性。基于以上one-hot的缺陷,本文的多分类器使用了基于softmax的多分类层。Softmax是将多个神经元的输出,映射到(0,1)区间内,从而进行多分类。
[0153] S452:设softmax层前的输出为一个向量V,vj代表v中第i个元素,则该元素的softmax值为:
[0154]
[0155] S453:构建基于softmax的分类器的损失函数为:
[0156] S46:构建所述生成对抗网络模型的目标函数:
[0157] S5:根据合成的所述多姿态行人图像进行实验结果分析。
[0158] 本实施例中,实验设置的硬件环境为:
[0159] CPU:Intel Core i7-5820K CPU@3.30GHz x12
[0160] 内存:128G
[0161] GPU:4x NVIDIA GeForce TITAN Xp
[0162] 硬盘:12TB
[0163] 操作系统:64位Ubuntu 14.04
[0164] 开发语言为python,框架为PyTorch1.0,CUDA版本为8.0,CuDNN版本为5.0。
[0165] 其中,所述S5中的实验结果分析如下:基于训练后的生成对抗网络模型,在测试阶段,随机抽取测试数据集中的图片和模板姿态作为输入,生成了以下结果,在每组展示样本中,最左侧为输入的原图,右侧十张为生成的对应于图10的十个姿态模板的生成图像。在Market-1501数据集中,图像分辨率为128*64,故生成图像分辨率也为128*64。
[0166] 如图10所示为实验结果,以上为模型的最终结果,在尽可能保留行人原图片细节的前提下,对行人姿态进行了任意的变换,并且即使在腿部交叉的情况下依然生成了相当自然的图片,边缘锐利、清晰。
[0167] 如图11所示为无小分辨率图片情况下的结果,出现了与目标姿态一定程度的偏离和变形
[0168] 如图12所示为无分类器情况下结果,如图中最下面一列,行人个体信息不能够很好地得到保留,出现了女性转变成男性的倾向。
[0169] 如图13所示为当前最先进的行人图像合成模型复现后的生成结果,可以看出,细节信息、个体信息都不能得到很好地保留,且边缘模糊。
[0170] 如图14所示为输入行人状态为骑行时的生成结果,由图示,当输入的行人状态是骑行时,结合以目标的姿态信息,虽然会一定程度上影响生成图片的质量,但依然能够有效、成功地生成基于新的姿态的图片,并且在生成图像中已经消除掉了自行车,可见训练的模型已经具有着相当强的鲁棒性和泛化能力。
[0171] 本实验中通过进行大量的实验,并对每一部分网络的改动做出了解释和针对性地对比,验证了众多思路的实现效果,验证了本发明的思路的可行性,并证实了本发明所设计的模型在个体信息保留、低高层信息一致上皆优于目前的现有所有方案。
[0172] 综上所述,本发明基于经典的编码器-解码器结构,提出了包含分类器、小分辨率图片卷积器在内的新的生成器网络,通过在中间层、瓶颈处插入卷积神经网络的方式在图像生成过程中添加针对个体的、高低层信息的、类间差异的有效地监督及对应的损失函数,不仅有效地缩小了生成器的解空间,使得个体信息尽可能的保留,生成图片的高低层信息与真实图片尽可能的一致,而且还有效地缓和了生成器与判别器之间的对抗训练,使得生成对抗网络训练更加平稳,可以生成高质量的多姿态行人图片。
[0173] 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈