陈 莉,王洪元,张云鹏,曹 亮,殷雨昌
(常州大学计算机与人工智能学院阿里云大数据学院,江苏常州 213164)
行人重识别旨在检索出不同环境中非重叠摄像机下的特定行人[1]。具体来说,给定一个目标行人的查询图片或视频,行人重识别的目标是从非重叠视角域多摄像头[2]网络图库或视频库中识别这个行人。由于摄像机视角不同、光照影响、背景杂乱和部分遮挡等因素[3],导致行人外观差异较大,影响行人特征表示,因此行人重识别的研究仍然是计算机视觉领域一个极具挑战性的难点。
行人重识别分为基于图像的行人重识别和基于视频的行人重识别。基于图像的行人重识别技术已经得到了广泛研究。但在实际场景中,视频才是监控摄像机捕获的第一手材料。视频片段中不仅包含了和行人外观有关的空间信息,还包含与行人运动有关的时间信息[4],这些时间信息往往更有助于区分相似的行人。因此,目前越来越多的研究者将研究重点从图片行人重识别转移到视频行人重识别上。视频行人重识别当前面临的最大挑战是如何有效利用视频片段之间的时间线索信息。先前有部分研究者借助光流场,对参与训练的视频帧提取动态时间信息来学习时间特征。例如,Yu 等[5]借助光场探索流结构来提取时间特征,然而在特征提取过程中若出现某一段视频片段的相邻帧不对齐,则会产生光流估计误差。因此借助光流信息学习时间特征的方法会产生光流估计偏差问题。还有一些研究者通过递归神经网络(Recursive Neural Network,RNN)[6-7]聚合帧级时间特征来表示视频片段的行人特征,从而学习时间特征。例如,McLaughlin 等[6]提出直接利用RNN 来聚合所有视频帧之间的时间信息,但是在对所有帧进行同等处理的情况下,RNN 的方法无法学习到最有判别力的特征,且RNN 模型对于长片段视频的训练比较复杂,耗时长。虽然以上这些工作能获得一定的识别性能,但在一些复杂的场景和环境下,其适应性和鲁棒性仍有待提升。
本文采用三维卷积神经网络嵌入残差模块(3DResNet50)[8]的框架,并在此次框架上增加全局时间特征池化层,以端到端的方式学习更有判别力的行人特征表示。该方法既能提高模型训练速度,又能有效改善行人检索的性能。在3 个视频数据集上的大量实验验证了本文提出方法的有效性。
本文的主要贡献如下:
1)提出了将均等采样随机擦除(Evenly Sampling-random Erasing,ESE)[9]相结合的方法,用于数据增强与正则化方法互补,结合采样的长短时间线索,缓解视频片段中的遮挡和噪声;
2)提取特征后,采用3D-ResNet50[8]框架,在此基础上增加全局时间特征池化层(Global Temporal Feature Pooling,GTFP),从帧特征中学习判别力的时间表示,探索时间线索。从短期和长期帧的时间线索上,有效地在视觉上区分相似的行人,提高视频行人重识别的精度;
3)应用在PRID-2011[10]、DukeMTMC-VideoReID[11]和MARS[12]3 个视频数据集的实验结果表明,本文提出的联合均等采样随机擦除和全局时间特征池化的方法可以显著地提升视频行人重识别的精度。
时间建模方法不仅仅应用于行人重识别领域,在其他领域也有应用,例如视频分类[13]、时间动作检测[14-15]。时间建模方法分为两大类:一类是直接输入一段视频,利用三维卷积神经网络(3D Convolutional Neural Network,3DCNN)[16]得到一个特征向量,3DCNN 通常采用三维卷积嵌入残差模块的网络模型,即在残差模块架构中采用3D 卷积核(原为动作分类任务设计),将原始的最后分类层改为行人身份输出,并在Kinetics 数据集[8]上预训练权重;另一类是采用标准的残差模块作为图像层次的特征提取器的二维卷积神经网络(2D Convolutional Neural Network,2DCNN),网络从一系列的图片中提取特征,再利用时间池化、时间注意和递归神经网络等时间建模方法,将图片特征聚合成视频特征。时间池化是最简单粗暴的时间建模方法,直接对图像层次的特征进行最大池化或平均池化操作,即选择图像层次特征[17]中最大值或者平均值作为整个片段的表示特征。时间注意是针对平均或最大池化方法没有充分利用所有图像层次特征的问题,在图像层次特征上应用了一个注意力加权平均。简单来说,给质量高的图片高权重,质量低的图片低权重,加权求和。RNN 具有反馈连接,允许网络随时间记住信息,在每个时间步长上RNN 接收新输入,并基于当前输入和来自先前时间步的信息产生输出。Karpathy 等[13]设计一个卷积神经网络来提取视频帧级特征,并使用时间池化方法来聚合特征;Tran等[18]提出一种从视频片段中提取时空特征的三维卷积神经网络;Hara等[19]用三维卷积探索残差网络结构;Gao 等[20]提出一个时间边界回归网络,定位长视频中的动作。
时间池化被广泛用于聚合所有时间帧上的特征;Zheng等[12]使用两种池化方法来获取视频级特征,其中包括平均池化和最大池化;Li 等[21]利用部分线索和学习加权策略来融合从视频帧中提取的特征;Suh 等[22]提出一种双流结构来共同学习外观特征和部分特征,并通过池化策略融合图像级特征得到最终的视频级特征。这些实验表明时间池化具有很高的效率,但时间池化是独立地提取帧特征,忽略了相邻帧之间的时间顺序性。
与现有的时间池化策略相比,本文提出的全局时间特征池化方法可以同时捕获全局和局部时间线索,不仅能够捕获每帧图片的特征,而且还充分利用了帧与帧之间的时间信息,因此能表现出更好的时间线索的建模能力。
本文提出方法的整体框架流程如图1所示。
图1 整体框架流程Fig.1 Flowchart of overall framework
学习一个3D卷积神经网络模型,用网络模型提取视频特征,对探针视频和图库视频进行匹配。首先,给定任意一段行人的探针视频,利用均等采样方法将输入视频等时长划分成视频片段,从每个视频片段抽取固定位置的图片,并对抽取的图片进行随机擦除操作。然后,将抽取擦除后的图片重新组合成视频送入到网络模型进行特征提取。特征提取时,在网络最后输出行人身份前,加入全局时间特征池化层,在已经提取的时空特征的基础上,对时间特征做进一步细化,最终输出视频特征。
最近,有大量的研究工作将深度3DCNN 引入到视频表示学习中。视频表示学习通常采用2DCNN 和3DCNN,但在2DCNN中,二维卷积只能计算空间维度的特征,较之2DCNN,三维卷积更适合学习时空特征。尽管3DCNN 能够很好地利用时序信息,但它仍然对空间错位敏感,需要叠加一定数量的三维卷积核,导致参数开销大,增加了卷积神经网络优化的难度。不同于Tran 等[18]提出的用于时空特征学习的3DCNN,本文采用的3D卷积残差网络模型3D-ResNet50[8]中的3DCNN是基于二维卷积膨胀的三维卷积网络模型,从多个连续视频帧中捕获时间信息引入三维卷积,在时间维度上增加了ImageNet[23]的预训练权重来初始化本文模型权重,并嵌入残差模块,之后训练模型提取时空特征,能有效改善3DResNet50[8]的性能。
为了解决模型中视频片段时间依赖较长的问题,本文采用了均等采样法,给定一段输入的视频,将其划分成T个相等时长的视频片段,在训练的时候,固定取每个片段的第M张图片。之后组成具有一定时间信息的连续帧(即视频片段)作为输入,以最后分类层前一层的输出作为行人的表示。
3DCNN 对于空间错位比较敏感,针对目标行人被干扰或部分遮挡的情况,提高3DCNN 的一个泛化能力,训练模型时,本文在均等采样之后,使用了随机擦除[9]方法,即对于一个批次中的一个视频帧,随机地从帧中选择一个矩形区域,用随机值对这个矩形块擦除像素,生成了不同程度遮挡的训练图像来增强数据。均等采样随机擦除(ESE)的数据增强方法细节流程如图2所示。
图2 ESE流程Fig.2 Flowchart of ESE
本文采用网络框架3D-ResNet50[8]是卷积神经网络中3D卷积核嵌入残差模块,用来提取时空特征。由于3D-ResNet50中3DCNN 参数众多,很难进行优化,导致提取特征效果不好。为了解决这个问题,按照时间分离卷积思想,本文在2DCNN卷积滤波器中添加一个全局的时间维,将2Dk×k内核膨胀为3Dt×k×k内核。接着使用2D核初始化所有3D核(在ImageNet上预先训练):在t×k×k内核中的每个T维上由预先训练的k×k权重初始化,并按照1/t重新缩放。之后沿空间和时间维度应用3D平均池化,将每个图像的输出特征聚合到一个代表性的矢量中,然后进行批处理归一化。全局时间特征池化(GTFP)结构如图3所示。
图3 GTFP结构Fig.3 Structure of GTFP
由于训练过程中网络参数的变化,本文将内部协变量偏移定义为在网络激活分布中的变化[9]。为了改善训练效果,减少内部协变量转移,本文在非线性之前加上Batch Normalization 变换,消除协变量偏移,通过固定层输入x的分布,提高训练的速度和质量。
本文使用困难样本挖掘的三元组损失[24]和标签平滑正则化的交叉熵损失[25]。三元组损失的本质是拉近正样本对之间的距离,推远负样本对之间的距离,最后使得相同ID 的行人图片在特征空间里形成聚类,识别行人。训练时,本文在一个批次中,随机抽取P个行人身份,再从每个行人身份中抽取K个视频段(每个视频段包含T帧);这样一个批次中共有P×K个片段。对于每个样本a,在计算三元组损失时,选择批次中最困难的正负样本,如式(1)所示:
其中:P为行人身份,K为视频片段,分别是从目标样本、正样本和负样本中提取的特征;α是用于控制样本内部距离的超参数。
本文在3D-ResNet50[8]的训练阶段,假设标签可能存在错误,避免“过分”相信训练样本的标签。使用标签平滑正则化处理无标签数据(如果训练集的类别数是K,则该无标签数据属于任意类别的概率都是1/K),所以最终行人身份识别的损失函数如式(2):
其中:N为类别数,pi,a为预测概率,qi,a为真实概率,ε为平滑因子。
通过联合三元组损失和标签平滑正则化交叉熵损失,对网络模型进行优化,引导网络探索更具判别力的特征,目标损失函数如式(3):
本文在3 个数据集上进行了大量实验来验证本文方法的有效性,数据集统计数据如表1所示。
表1 视频数据集统计信息Tab.1 Statistics of video datasets
PRID-2011[10]数据集提供了2 个不同静止监控摄像机下的多个人的视频片段,监控人行航道和人行道。相机A下385人,摄像机B 下749 人,有200 人同时出现在A 和B 两个视角。个视频有5 到675 帧,平均100 帧。数据集是在不拥挤的户外场景下采集的,有相对简单和干净的背景,较少的遮挡。
MARS[12]是至今最大的视频行人重识别数据集。MARS数据集由1 261个不同身份的行人组成,每个人都至少出现在两个相机镜头下。与iLIDS-VID 和PRID-2011 相比,MARS 的行人身份数量是iLIDS-VID 的4 倍,视频片段总数是PRID-2011 的30 倍。MARS 的所有边界框和轨迹都是自动生成的,这样的数量和复杂程度使得MARS 较之以往的视频数据集更加逼真,当然也更具挑战性。
DukeMTMC[11]是一个针对多摄像机跟踪的大型数据集。数据集是在具有嘈杂背景的室外场景中捕获的,并且受到照明、姿势和视角改变以及遮挡的影响。为进一步提升实验效果,使用DukeMTMC 的子集作为DukeMTMC-VideoReID 数据集,专门用于基于视频的重识别。由于数据集是手动注释的,因此每个标识在摄像机下只有一个视频片段。数据集包括702个用于训练的身份,702个用于测试的身份,以及408个身份作为干扰者。共有2 196 个视频用于训练,2 636 个视频片段用于测试。视频包含每12帧采样的人物图像。
本文使用两个行人重识别通用指标:rank-k和平均精度均值(mean value of Average Precision,mAP)来评估方法的性能:rank-k表示在排名前k个列表中正确匹配的概率,反映的是检索精度;mAP反映的是召回率。
本文采用3D-ResNet50[8]作为特征提取的主干网络,第1个全连接层的输出为1 024 维,第2 个全连接层的输出是N维,其中N代表训练集中的类别数。对MARS、DukeMTMCVideoReID 和PRID-2011视频数据集,本文设置N分别为625,751和89。
本文使用一种可以替代传统随机梯度下降过程的一阶优化算法:适应性矩估计[26]优化器进行训练,它能基于训练数据迭代地更新神经网络权重。训练前,先将数据集划分成T=15个相等时长的视频片段,取每个片段的固定位置的图片,随后对所取图片做随机擦除处理,实验中将擦除的概率设置不同值,同时将图片大小调整256×128,之后将处理后图片按时间顺序重新组成视频片段作为每个训练周期的输入。对3DResNet50 网络训练的过程中,每个批次包含32 个视频片段,480 幅图像。为了使得目标函数能够得到收敛,优化网络模型,将适应性矩估计优化器的学习率初始值设置为0.01,每20 个周期缩小至原来的1/10,直至学习率达到0.000 1。网络模型采用标签平滑正则化的交叉熵损失和三元组损失联合进行优化训练。测试阶段,每一张输入图片最终提取的特征为2 048维并且通过欧氏距离来衡量图片之间的相似性。
整个实验基于Ubuntu 16.04、Cuda10 和Cudnn7.6 的环境和Python 3.7、Pytorch 1.3.1 和torchvision 0.4.2 深度学习框架进行,实验的硬件配置包括:4 块GPU:GTX 2080Ti(显存为11 GB)。
3.3.1 均等采样随机擦除、全局时间特征池化对性能的改进
本文在3 个视频行人重识别的数据集上进行了3DResNet50 基线(Baseline)方法、仅带有均等采样随机擦除的3D-ResNet50(ESE)和仅带有全局时间特征池化的3DResNet50(GTFP)实验,实验结果分别如表2~4所示。
表2 基线方法和仅均等采样随机擦除、仅全局时间特征池化的方法在3个数据集上的性能比较 单位:%Tab.2 Performance comparison of methods of baseline,ESE,GTFP on PRID-2011,DukeMTMC-VideoReID and MARS datasets unit:%
基线方法是采用联合三元组损失和标签平滑正则化的交叉熵损失训练3D-ResNet50。使用均等采样随机擦除方法和基线方法之间的效果是明显的,主要表现在以下的方面:在基线的方法上,加入均等采样随机擦除之后,在PRID-2011 数据集上,rank-1从83.2%提高到了85.3%,mAP 从85.6%提高到了89.2%;在DukeMTMC-VideoReID 数据集上,rank-1 从86.5%提高到了90.2%,mAP 从82.1%提高到了84.3%;在MARS 数据集上,rank-1 从79.0%提高到了81.6%,mAP 从70.9%提高到了73.4%。使用全局时间特征池化方法和基线方法之间的差距是显而易见的,主要表现在以下的方面:在基线的方法上,加入全局时间特征池化之后,在PRID-2011 数据集上,rank-1从83.2%提高到了91.0%,mAP 从85.6%提高到了94.0%;在DukeMTMC-VideoReID 数据集上,rank-1 从86.5%提高到了91.3%,mAP 从82.1%提高到了90.1%;在MARS 数据集上,rank-1 从79.0%提高到了84.3%,mAP 从70.9%提高到了77.9%。这表明从全局的角度对时间进行池化,能够有效地细化时间特征,进一步提升行人识别的性能。
3.3.2 联合均等采样随机擦除和全局时间特征池化方法对性能的改进
从表3中可以看出:在Baseline+GTFP的基础上,使用均等采样随机擦除方法,精度有了明显提升。在PRID-2011、DukeMTMC-VideoReID和MARS数据集上rank-1上分别提升了4.5个百分点、2.3个百分点和1.8个百分点,对应的mAP分别提升了3.0个百分点、2.7个百分点和2.6个百分点。实验结果充分说明了本文方法能有效地改善行人重识别的性能。
表4 显示了不同长度的视频序列进行的性能比较的实验结果。实验中,只改变视频序列的长度T,其他参数均保持不变。从表4 中可以看出,随着序列长度T的增加,mAP 和rank的整体结果是变好的,当T=15 时,本文使用的均等采样随机擦除和全局时间特征池化方法的整体性能表现最佳。
表3 联合均等采样随机擦除和全局时间特征池化的方法在PRID-2011、DukeMTMC-VideoReID和MARS数据集上的性能比较 单位:%Tab.3 Performance comparison of method of jointing evenly sampling-random erasing and global temporal feature pooling on PRID-2011,DukeMTMC-VideoReID and MARS datasets unit:%
表4 不同长度的视频序列在MARS、DukeMTMC-VideoReID和PRID-2011数据集上的性能比较 单位:%Tab.4 Performance comparison of video sequences with different lengths on MARS,DukeMTMC-VideoReID and PRID-2011 datasets unit:%
3.3.3 和先进方法比较
除了以上对比实验外,本文方法也和目前一些先进方法做了比较,包括MARS[12]、Temporal Attention Model+Spatial Recurrent Model(TAM+SRM)[27]、Sequential Decision Making(SDM)[28]、TriNet[24]、End-to-end CNN model with Temporal Average Pooling(ETAP-Net)[29]、SpatioTemporal Attention Network(STAN)[21]、Attribute-Driven Feature Disentangling and Temporal Aggregation(ADFD-TA)[30]、Spatial and Temporal Mutual Promotion(STMP)[31]、3D Convolutional Networks and Non-Local Attention (3DCNN+NLA)[8]和 K-reciprocal Harmonious Attention Network[32](KHAN)等方法,如表5所示。
表5 不同方法在MARS、DukeMTMC-VideoReID和PRID-2011数据集上的性能比较 单位:%Tab.5 Performance comparison of different methods on MARS,DukeMTMC-VideoReID and PRID-2011 datasets unit:%
表5 中,在PRID-2011 小型视频数据集上,本文方法能够在rank-1 达到95.5%,mAP 达到97.0%;在DukeMTMCVideoReID 较新的视频数据集上,本文方法能够在rank-1达到93.6%,mAP 达到92.8%。在MARS 这个更具挑战性的视频数据集上,本文方法也能够在rank-1 达到86.1%,mAP 达到80.5%。由此可见,本文提出的联合均等采样随机擦除和全局时间特征池化的方法在综合性能上要优于目前先进方法,在有效丰富行人特征信息的基础上,进一步提升了视频行人重识别的识别率。
本文对基于视频行人重识别的时间建模方法做了改进,对行人的时间信息做了细化处理,显著地提高了视频行人重识别的精度;同时采用均等采样随机擦除的数据增强方法,丰富了视频行人特征表示。本文在PRID-2011 小型的数据集上和DukeMTMC-VideoReID 大型视频数据集上做了评估实验,特别地,也在最具有代表性的MARS 大型视频数据集做了一系列对比实验。在3 个视频数据集上实验结果表明,本文提出的联合均等采样随机擦除和全局时间特征池化的方法能有效地提取具有判别力的行人特征表示,在准确度和效率方面优于许多已有的视频行人重识别方法。因此,本文方法是可行且高效的。