一种基于姿态引导生成对抗网络的行人重识别方法
技术领域
本发明属于计算机视觉
技术领域
,具体涉及一种基于姿态引导生产对抗网络的行人重识别方法。背景技术
现如今,不断发展的视频监控为“平安城市”和“智慧城市”的建设提供了有力的基础支撑和技术支持。公共安全问题是诸多社会挑战中的热点话题,也是国家经济平稳发展和社会稳定进步的基础要求,同时也是预防和应对各类安全事故,保证人民群众财产的重要基石。在过去的十多年间,中国已经成为监控摄像设备安装增长最快的国家,监控视频系统被广泛的应用在各种场合,目前我国已经建成世界上最大的视频监控网系统。大量架设的摄像头组成了一个巨大的“天眼”网络,覆盖到城市的大街小巷。据不完全统计,国内目前用于公共安全服务的视频监控设备已超过3000万台,全国省级公安部门中基本都建设了省级视频图像数据平台。这些监控系统每天产生海量的视频数据,需要相关安全部门主动分析和挖掘有用信息,对异常情况进行及时预警。虽然大规模的网络化监控可以提高视频监控系统的可靠性,同时也为管理和分析工作带来了很大的困难。目前监控数据的筛查、处理及内容的理解分析工作大多采用人工处理,然而由于监控中的场景变化具有不确定性,长时间的监控处理工作使得工作人员难以集中注意力,尤其是监控视频中场景复杂,人员密集,人流量大等情况中,人工处理的方式容易出现疏漏,难以有效地监控视频中发生的事件。这种人工处理方式不但准确性不高,而且需要花费大量时间,同时对于负责数据处理的人员来说也是一个巨大挑战。因此探究如何利用计算机视觉的方法实现检测、识别、跟踪和行为分析等类似于人类能力的智能视频监控,已经成为国内外研究学者和各智能企业的重点内容之一。
行人是视频监控中的主体,利用计算机视觉技术对行人的行为进行研究和分析是智能监控技术的重要组成部分。目前行人分析的技术主要有行人检测、行人计数、行人跟踪、行人识别、行人重识别等。行人检测主要是检测出视频中行人的位置及区域;行人计数则是在行人检测的基础上对行人进行计数工作,主要应用在人流量大的场所,如重要的交通路口、车站、机场等;行人跟踪是行人从进入单个监控设备的视野到离开此监控视野的时间内对其进行跟踪;行人识别主要是识别出已检测出的行人的身份;而行人重识别技术则是解决跨摄像头跨场景下行人的识别与检索问题。现有的行人识别技术主要借助于行人本身特有的信息,如人脸、指纹、虹膜等。在实际场景中,指纹和虹膜的获取需要每个行人的接触式配合工作,大多数的监控设备无法获取到清晰的行人人脸图片,同时单个相机通常无法覆盖所有的区域,多个相机视野覆盖的区域几乎没有重叠,为了解决这些问题,一种根据行人的外观、衣着、体态、发型、携带的物品等信息从多个非重叠摄像机获取得图像或视频序列中检索特定行人的技术——行人重识别技术应运而生。行人重识别又称为行人再识别,被广泛认为属于图像检索技术之一,是智能监控和多媒体应用的核心技术之一,经常用于发现罪犯、分析人类活动和跟踪多个目标等任务。
然而与传统的图像识别和检索任务相比,行人重识别任务依旧面临很多挑战,在实际监控环境中,由于相机与行人之间的距离、角度不同,导致拍摄出来的图片中行人姿态与视角都不同,同时,不同位置部署的相机具有较大的环境差异,拍摄到的图片往往受到光照强度,恶劣天气以及相机自身的差异,导致拍摄到的行人姿态变化大、白天与夜间光照差异大、场景杂乱且有遮挡、相机风格变化大、分辨率低等情况,极大的增加了行人重识别的难度。
发明内容
本发明的目的是为了解决背景技术中所提出的问题,而提供一种基于姿态引导生产对抗网络的行人重识别方法,在不改变主干网络地基础上,融合了网络不同阶段提取的特征,融合后的特征可以有效地应对不同尺度的行人样本。
本发明的目的是这样实现的:
一种基于姿态引导生产对抗网络的行人重识别方法,包括如下步骤:
S1:利用ResNet-50构建行人重识别模型的主干网络,用于提取行人特征;
S2:构建多尺度行人重识别网络MPN;用于融合不同尺度的行人特征;
S3:构建姿态转移模块PCM,用于融合行人的姿态和外观特征;
S4:构建基于姿态引导的生成对抗网络PGGAN,用于生成不同姿态下的行人样本图像;
S5:设计联合训练策略,挖掘行人外观信息,克服姿态变化产生的影响,并提升生成样本图像的质量。
优选的,S1中,利用ResNet-50构建行人重识别模型的主干网络的具体流程为:先将ResNet-50在ImageNet上进行预训练,再去除掉了conv5_x中最后一个空间下采样操作,增加了Ni-dim全连接层进行分类,用Ni表示数据集中行人身份的数量。
优选的,S2的具体流程为:
在ResNet-50网络模型的基础上,创建包含有三个分支的多尺度信息融合结构,用来提取网络中不同尺度的特征信息,所述的三个分支分别为ResNet-50网络模型正常的主干网络的预测分支一、在ResNet-50网络模型的stage-3和stage-4后分别加入的预测分支二和预测分支三,所述的预测分支一、预测分支二和预测分支三统称为多尺度分类模块。
优选的,所述的三个分支的结构相同,均由全局平均池化层、特征向量层和分类层三层全连接层组成,所述的三个分支的每个分支使用了一个分类损失函数,将每个分支的特征级联后,使用了一个验证损失函数,总的损失函数Lreid如下:
其中,为交叉熵分类损失函数,为三元组损失函数,μ1,μ2为平衡多尺度预测分支的系数,ν为平衡验证损失和分类损失的系数。
优选的,S3中,姿态转移模块PCM是由若干个姿态转换块PCB级联组成,姿态转移模块PCM的构建流程如下:
S3-1:将原始行人的外观编码与融合原始姿态和目标姿态的姿态编码进行融合,输出目标姿态的行人外观编码S3-2:将输入生成对抗网络PGGAN的反卷积网络中生成目标姿态的行人样本。
优选的,S4中,生成对抗网络PGGAN包括生成器网络G和判别器网络D,以及使用的对抗损失函数,其中生成器网络G包括行人外观编码器Ef、行人姿态编码器Ep、PCM模块和反卷积网络。
优选的,S5中,联合训练策略的设计流程如下:
S5-1:向S4中的生成对抗网络PGGAN中,每次输入一对行人样本,行人外观编码模块Ef和行人姿态编码模块Ep分别对其提取视觉外观特征和姿态特征;S5-2:将视觉外观特征与姿态特征融合后送入反卷积网络生成新的行人样本;S5-3:在S5-2的基础上,使用行人外观编码模块Ef对生成的行人样本提取行人外观特征;
S5-4:将原始图片和生成图片的视觉外观特征同时送入MPN计算分类损失。
优选的,所述的行人外观编码器Ef是使用ResNet-50网络中的卷积层形成的,行人姿态编码器Ep是使用VGG-16网络中的卷积层形成的,在对姿态编码之前,首先将原始姿态和目标姿态沿通道方向进行叠加,将两个不同的姿态混合在一起送入行人姿态编码器Ep进行编码,这样可以尽可能地保留原始姿态和目标姿态的信息。
优选的,所述PCM模块和反卷积网络组成生成对抗网络PGGAN中的解码器。
优选的,判别器网络D包括外观判别器Da和姿态判别器Dp两个判别器,外观判别器Da用来判断生成图片与原始图片的外观相似度,姿态判别器Dp用来判断生成图片姿态与目标姿态的相似度。
优选的,所述的两个判别器均采用ResNet-50网络结构提取特征,所述的两个判别器的输入分别是生成图片与原始图片或生成图片与目标姿态热图叠加后的数据。
优选的,两个判别器的输出得分分别记为Ra和Rp,Ra和Rp为softmax层的输出,整个判别器最终的得分记为两个判别器得分的乘积,即R=Ra·Rp。
优选的,所述的PCB是一个具有双流结构的独立的模块结构,所述PCB的双流结构包括外观编码流和姿态编码流,所述外观编码流和姿态编码流两个流之间具有相互作用的结构,将外观编码流的输入记为,将姿态编码流的输入记为,则PCB在两个流的作用下,逐渐的输出fi+1和pi+1。
优选的,所述PCB是处理原始行人的外观数据分布,并逐步的将原始行人的外观数据分布转换成目标行人姿态的外观数据分布,将姿态编码作为一个姿态掩模,PCB将这个姿态掩模作用到外观编码中,姿态编码掩模中对应的是新的外观数据分布的权重,将姿态编码掩模记作Mp,则Mp的表达式为:Mp=α·conνp1(pi),其中,conνp1代表姿态编码流的第一次卷积操作,包含三个卷积层和一个BN层。
优选的,在得到姿态掩模之后,将其与外观编码数据进行融合,并在外观编码流中引入了残差结构,以解决编码特征因网络层深度较高而产生梯度消失的问题,外观编码流的输出记为:
fi+1=Mp□[fi+conνf(fi)],其中,□代表矩阵点乘运算,conνf代表外观编码流的卷积操作,与姿态编码流的卷积操作类似,也是三个卷积层和一个BN层构成。
与现有技术相比,本发明的有益效果在于:
1、本发明提供的一种基于姿态引导生产对抗网络的行人重识别方法,在不改变主干网络地基础上,融合了网络不同阶段提取的特征,融合后的特征可以有效地应对不同尺度的行人样本。
2、本发明提供的一种基于姿态引导生产对抗网络的行人重识别方法,在生成对抗网络PGGAN中输入一个行人样本图像和目标行人姿态,通过对行人的外观和姿态进行编码,然后与目标姿态进行融合后并解码,可以将原始行人样本转换为目标姿态下清晰的行人样本图像,通过PGGAN可以有效地扩充行人重识别数据集的规模与姿态多样性。
3、本发明提供的一种基于姿态引导生产对抗网络的行人重识别方法,设计了PGGAN与行人重识别网络联合训练的策略,使行人重识别网络充分利用PGGAN中的行人外观信息和对数据集进行扩充,克服行人姿态变化产生的影响,提升PGGAN生成样本图像的质量。
附图说明
图1为本发明的总体网络框图。
图2为本发明的多尺度行人重识别网络框架图。
图3为本发明的姿态转移模块框架图。
图4为本发明的判别网络框架图。
图5为本发明的基于姿态引导的生成对抗网络框架图。
具体实施方式
下面结合附图对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
结合图1,一种基于姿态引导生产对抗网络的行人重识别方法,包括如下步骤:
S1:利用ResNet-50构建行人重识别模型的主干网络,用于提取行人特征;
S2:构建多尺度行人重识别网络MPN;用于融合不同尺度的行人特征;
S3:构建姿态转移模块PCM,用于融合行人的姿态和外观特征;
S4:构建基于姿态引导的生成对抗网络PGGAN,用于生成不同姿态下的行人样本图像;
S5:设计联合训练策略,挖掘行人外观信息,克服姿态变化产生的影响,并提升生成样本图像的质量。
实施例2
结合图1-5,一种基于姿态引导生成对抗网络的行人重识别方法,包括以下步骤:S1:利用ResNet-50构建行人重识别模型的主干网络,用于提取行人特征。
首先,ResNet-50需要在ImageNet上进行预训练,再去除掉了conv5_x中最后一个空间下采样操作,增加了Ni-dim全连接层进行分类,Ni表示数据集中行人身份的数量。
S2:构建多尺度行人重识别网络MPN。
在ResNet-50网络模型的基础上,设计一种多尺度信息融合的结构,除了正常的主干网络预测分支一外,我们在网络的stage-3和stage-4后分别加入了两个新的预测分支,即预测分支二和预测分支三,三个分支的结构相同,均由三层全连接层组成,依次是全局平均池化层、特征向量层和分类层,三个分支用来提取网络中不同尺度的特征信息。
每个分支中的特征向量层的神经元个数为512,分类层的神经元个数与数据集中行人样本的ID数相同,如在Market-1501训练集中,行人的ID数为751,则在Market-1501数据集上训练时,分类层的神经元个数为751,三个预测分支统称之为多尺度分类模块。
每个分支使用了一个分类损失函数,然后将每个分支的特征级联后,使用了一个验证损失函数,总的loss函数如下:其中,为交叉熵分类损失函数,为三元组损失函数。μ1,μ2为平衡多尺度预测分支的系数,ν为平衡验证损失和分类损失的系数。
S3:构建姿态转移模块PCM,用于融合行人的姿态和外观特征。
PCM是整个PGGAN的核心,PCM是由若干个姿态转换块PCB级联组成。
PCM将原始行人的外观编码与融合原始姿态和目标姿态的姿态编码进行融合,输出目标姿态的行人外观编码最终将输入反卷积网络中生成目标姿态的行人样本。
PCB是一个独立的模块结构,PCB是一个双流的结构,一个是外观编码流,一个是姿态编码流,且两个流之间具有相互作用的结构,对于单个PCB来说,将外观编码流的输入记为,将姿态编码流的输入记为,则PCB在两个流的作用下,逐渐的输出fi+1和pi+1。
PCB具体的原理如下:PCB主要是处理原始行人的外观数据分布,逐步的将其转换成目标行人姿态的外观数据分布,将姿态编码看作为一个姿态掩模,PCB主要是将这个姿态掩模作用到外观编码中,而姿态编码掩模中对应的是新的外观数据分布的权重,因此将姿态编码流的输入pi经过卷积层的编码后,乘以一个权重系数后,将其与外观编码流的特征进行点乘操作;将姿态编码掩模记作Mp,则Mp的表达式为:Mp=α·conνp1(pi);其中,conνp1代表姿态编码流的第一次卷积操作,主要包含三个卷积层和一个BN层,详细的配置如图4所示。
当得到姿态掩模之后,将其与外观编码数据进行融合,考虑到编码特征的网络层深度较高,容易产生梯度消失的问题,在外观编码流中引入了残差结构,外观编码流的输出记为:fi+1=Mp□[fi+conνf(fi)];其中,□代表矩阵点乘运算,conνf代表外观编码流的卷积操作,与姿态编码流的卷积操作类似,也是由3个卷积层和一个BN层构成。
单个PCB模块不足以将原始的外观编码数据分布直接转换到目标行人姿态的外观编码数据分布,因此需串联多个PCB模块处理数据,对于非最终的PCB模块来说,需将处理后的外观编码数据融入姿态编码数据中,输入到下一个PCB模块中,因此:pi+1=conνp2[β·fi+1+conνp1(pi)];其中,conνp2代表姿态编码流的第二次卷积操作。
S4:构建基于姿态引导的生成对抗网络PGGAN,用于生成不同姿态下的行人样本图像。
PGGAN主要包括生成器网络G和判别器网络D,以及使用的对抗损失函数,其中生成器网络G包括行人外观编码器、行人姿态编码器、PCM模块和反卷积网络。
编码器:使用ResNet-50网络中的卷积层作为行人外观编码器Ef,使用VGG-16网络中的卷积层作为行人姿态编码器Ep,在对姿态编码之前,首先将原始姿态和目标姿态沿通道方向进行叠加,将两个不同的姿态混合在一起送入编码器Ep进行编码,这样可以尽可能地保留原始姿态和目标姿态的信息,采用先融合姿态估计点热图,再编码的结构可以大大减少计算量,有效地提取它们之间的依赖关系,并保持较好的性能。
解码器:该模块主要分为两个部分:姿态转换模块(Pose Change Module,PCM)和反卷积网络模块。
判别器:主要包括外观判别器Da和姿态判别器Dp,分别用来判断生成图片与原始图片的外观相似度和生成图片姿态与目标姿态的相似度。两个判别器均采用了ResNet-50网络结构提取特征,两个判别器的输入分别是生成图片与原始图片或生成图片与目标姿态热图叠加后的数据。两个判别器的输出得分分别记为Ra和Rp,Ra和Rp为softmax层的输出,整个判别器最终的得分记为两个判别器得分的乘积,即R=Ra·Rp。
S5:设计一种联合训练策略,充分挖掘行人外观信息,克服姿态变化产生的影响,并提升生成样本图像的质量。
具体来说,每次输入一对行人样本,行人外观编码模块Ef和行人姿态编码模块Ep分别对其提取视觉外观特征和姿态特征,然后将视觉外观特征与姿态特征融合后送入反卷积网络生成新的行人样本,在此基础上使用Ef对生成的行人样本提取行人外观特征,最后将原始图片和生成图片的视觉外观特征同时送入MPN计算分类损失。
数据集的预处理和训练参数的设定,所有行人图像的大小统一调整为256×128,对所有行人图像使用随机裁剪,随机水平翻转,随机擦除等数据增强策略,采用Adam优化器对S1-S5提出的方法进行优化,其中,,共迭代800个周期,学习率初始为,在进行400个周期的训练后,每100周期衰减为原来的10%,行人外观编码模块Ef和PCM模块使用Dropout策略,多尺度预测模块的全连接层使用Leaky ReLU激活函数,且负斜率的系数,在训练过程中,本发明采用迭代两次生成器后迭代一次判别器的方式交替训练PGGAN,在测试阶段,行人样本的特征向量在归一化处理后使用欧氏距离来评估两个行人样本间的相似度。
本发明提出了一种基于姿态引导的生成对抗网络(PGGAN),PGGAN主要由行人外观编码模块、行人姿态编码模块和解码模块组成,输入一个行人样本图像和目标行人姿态,通过对行人的外观和姿态进行编码,然后与目标姿态进行融合后并解码,该网络可以将原始行人样本转换为目标姿态下清晰的行人样本图像。通过PGGAN可以有效地扩充行人重识别数据集的规模与姿态多样性。此外,为了使行人重识别网络充分利用PGGAN中的行人外观信息和对数据集的扩充,克服行人姿态变化产生的影响,以及提升PGGAN生成样本图像的质量,本发明提出了一种PGGAN与行人重识别网络联合训练的策略,行人重识别模型的特征提取网络采用PGGAN中的行人外观编码模块的网络结构,在模型训练阶段,该部分共享网络参数,在训练过程中,PGGAN生成的样本图像被在线输入到行人重识别模型中提出特征并进行行人重识别训练。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的保护范围内所做的任何修改,等同替换等,均应包含在本发明的保护范围之内。