APP下载

基于生成对抗网络联合时空模型的行人重识别方法

2020-09-29邱耀儒孙为军黄永慧唐瑜祺张浩川吴俊鹏

计算机应用 2020年9期
关键词:分类器行人时空

邱耀儒,孙为军,黄永慧,唐瑜祺,张浩川,吴俊鹏

(广东工业大学自动化学院,广州 510006)

0 引言

目前中国正在大量地建设智慧城市,智能安防是实现智慧城市的重要基础,并且智能安防管理中每天产生的视频数据占据城市数据的很大比重。面对大量的视频数据,仅依靠传统的人工手段无法做到快速、高效的分析和处理,因此需要将计算机视觉以及最新的计算机技术应用于其中,以实现高效、准确的视频分析。

行人重识别(Person re-identification)[1]作为视频分析研究的关键组成部分,目的是对出现在监控区域内的某个目标行人,在监控网络的其他摄像头监控视频中找到目标并标识出来。配合行人检测与跟踪技术可以实现对监控网络范围内的目标行人进行跨摄像头区域的持续跟踪。当目标人物出现在某一监控摄像头的监控范围内时,摄像头拍摄的目标行人图像会与其他摄像头拍摄的行人图像进行一一匹配,寻找出同属于目标行人的图像,从而进行跨摄像机的搜索与跟踪。行人重识别技术的应用可以减少大量视频监控人员的工作量,实现监控视频中目标行人的准确分析,有效地预防和打击犯罪行为。经过近10 年的发展,研究人员提出了大量的行人重识别模型,但是实际监控环境的复杂多变,导致行人重识别技术依然存在诸多问题没有解决。影响行人重识别问题主要有图像像素分辨率低、行人姿态角度多样化、光照变化等因素。如图1 所示,同一行人在不同摄像头拍摄下的图像呈现诸多差异。图1(a)~(e)为同一行人由不同摄像头拍摄的图像。图1(a)与图1(f)为同一摄像头拍摄下的不同行人,图1(b)与图1(g)相同,以此类推。

图1 不同摄像头拍摄的行人样本Fig.1 Person samples taken by different cameras

目前行人重识别模型主要分为行人特征表达模型和行人相似性判别模型等类型。特征表达方法集中于行人外观信息特征的提取和表达上,使得不同行人的特征具有判别性。最开始的行人方法研究是通过手工设计的特征对行人信息进行描述,Ojala 等[2]和Swain等[3]提出基于颜色或纹理信息的特征表示方法。在此基础上,基于集成特征学习的方法[4]被提出并取代了手工设计特征的方法成为经典的行人特征表达方法。国内外研究人员从底层特征方向入手,相继提出了基于跨领域不变颜色特征方法[5]、基于局部对齐的特征变换方法[6]、基于局部最大出现频率的表达模型[7]等行人特征表达方法。近年来,随着深度学习的应用,越来越多的深度学习方法被用来提取行人图像的抽象特征。Ahemd 等[8]、Chen 等[9]和陈兵等[10]利用卷积神经网络提取行人图像的全局抽象特征,所提取的特征比手工设计的特征具有更好的判别性。相似性判别方法的主要思想是对行人训练样本进行相似性判别学习,从样本中学习最优的相似性度量指标。文献[11-15]提出有监督的行人相似性度量判别方法,使得同一行人的距离最小而不同行人的距离最大。实际监控中存在大量无标签信息的数据,因此Peng 等[16]和Yu 等[17]提出基于无监督学习的相似性度量模型。近年来,部分国内外学者开始对行人重识别中的其他特定问题展开研究。从数据角度出发,部分学者提出迁移学习模型[18],利用其他场景中已有标注的行人数据进行模型训练,然后将模型应用于目标场景。Zhu 等[19]提出了从图片风格层面进行迁移的循环生成对抗网络(Cycleconsistent Generative Adversarial Network,CycleGAN),Deng等[20]在此基础上加入行人限制损失,提出保持图像生成前后主体一致性的循环生成对抗网络(Similarity Preserving cycleconsistent Generative Adversarial Network,SPGAN)。除了利用视觉信息进行图像匹配,Huang等[21]和Martinel等[22]提出多模态学习模型,通过利用行人图像的时间及空间信息辅助模型判断。Lv 等[23]提出了视觉融合时空模型(Transfer Learning of Spatio-temporal Pattern,TFusion)算法,通过贝叶斯策略融合时空模型和视觉特征模型进行行人图像的判别。

现有的研究虽取得一定的成效,但是大部分的算法属于有监督学习的方法,这类方法在单场景应用中能够获得相对较高的准确率。但是当算法需要部署于新的应用场景时,需要耗费大量的成本构建对应场景的样本标签,这类算法应用比较局限。其中的无监督方法虽然能够在多个不同场景中应用,但是由于缺少标签信息训练,算法准确率偏低,达不到实际应用要求。因此本文提出一种基于生成对抗网络联合时空模型的方法,通过引入生成对抗网络生成目标场景的样本训练特征提取模型,使得模型适应于目标场景样本的识别。在此基础上利用目标场景的数据生成时空模型筛选低概率匹配样本,提高模型在目标应用场景的性能表现。依据模型特性,模型命名为基于生成对抗网络联合时空模型(GAN Uniting with Spatio-Temporal Pattern,STUGAN)算法。通过在两个标准的行人重识别数据集Market-1501[24]和DukeMTMC-reID[25]进行实验,验证了算法的有效性。

本文的主要贡献如下:

1)利用图像分类器有效联合生成对抗网络和时空模型,生成对抗网络的生成样本用于提升图像分类器在目标场景的识别准确率,高水准的图像分类器构建更真实的时空模型。

2)训练过程不需要目标场景的数据标签,使得模型能够快速应用于不同的目标场景,有效减少实际项目工程中构建数据标签的时间与人力资源。

1 相关模型

1.1 SPGAN算法

SPGAN 算法是在CycleGAN 的基础上加入行人限制损失函数,能够更好地保留行人图像的主体信息。SPGAN 需要训练两对生成器与鉴别器,分别为{G,DT}和{F,DS}。生成器G(⋅)的目标是生成能够欺骗鉴别器DT的样本,而鉴别器的任务是辨别样本是否为生成样本,两者的对抗损失函数如下:

其中:px和py表示源域和目标域的样本分布,样本x∈S,y∈T(S表示源数据集,T表示目标数据集)。

生成器F(⋅)和DS的任务与G(⋅)和DT的任务相同,但数据样本的生成方向相反,两者的对抗损失函数如下:

通常情况,生成对抗网络通常需要对齐的样本对进行训练,而CycleGAN 使用了循环自监督模型F(G(S)) ≈S,无需进行样本标注。循环损失约束表示如下:

CycleGAN 中使用了一致性损失函数减小生成样本的色彩偏差,其损失函数如下:

式(1)~(4)由CycleGAN 提出,SPGAN 在此基础上加入孪生网络进行生成样本间的比较,目的是保留生成图像的行人主体信息,其损失函数如下:

其中:x1和x2是经过孪生网络提取后的向量特征样本对,d表示x1和x2之间的欧氏距离。i∈{0,1},当i=1 时表示x1和x2是正样本对,当i=0 时表示x1和x2是负样本对。边界指标m∈{0,1,2}表示x1和x2所在向量空间的可分离性:当m=0时,表示负样本对的损失不影响网络参数更新;当m>0 时正负样本对的损失都影响网络参数更新。m=1和m=2表示负样本对损失函数的影响程度,m越大,负样本反向传播的权重越大。关于正负样本的选择请参考SPGAN。

总损失函数如下所示:

总损失函数分为3 个部分:生成器、鉴别器和孪生网络,3个部分的参数交替更新。

1.2 时空模型

现实场景中,摄像头除了记录图像信息外,还记录着图像的拍摄时间以及自身编号。图像的拍摄时间和所拍摄的摄像头信息即是图像的时间及空间信息。

TFusion 算法假设两个样本间的时空点属于同一行人的概率可以表示为如下形式:

其中:En和Ep表示图像分类器的误差率(下标p和n分别表示positive 和 negative),当误差率趋近于0 时趋近式(7)。关于式(8)的详细证明过程请参考TFusion附录部分。

1.3 贝叶斯融合方法

融合模型的计算公式如下所示:

其中vi和vj表示样本Ti和Tj经过图像分类器提取后的特征。式(9)表示给定样本的视觉特征及时空信息的条件下,样本Ti和Tj属于同一个人的概率。

根据贝叶斯定理,式(9)可以等价于:

2 基于生成对抗网络联合时空模型算法

基于生成对抗网络联合时空模型(STUGAN)算法通过引入生成对抗网络生成目标场景的训练样本,增强识别模型的稳定性;利用时空特征构建目标场景样本的时空模型,筛选低概率匹配样本,提高算法准确率。

2.1 算法思想

假定源数据集S={S1,S2,…,Sn}与目标数据集T={T1,T2,…,Tm},不包含同一行人,其中Si标签信息包含行人编号、摄像头编号和图像所拍摄的时间序列。Tj标签信息包含摄像头编号和时间序列。

由于目标场景的数据集不具备标签信息,无法进行有监督特征提取模型(图像分类器)的训练。因此本文使用生成对抗网络进行图像生成,在保留数据集S中行人主体信息的同时将背景风格转化为目标数据集场景的风格的数据集G(S),以此减少图像背景信息对于图像分类器的影响。

假定行人在各个摄像头之间的运动存在一定的时间规律,则可通过行人的运动规律筛选错误样本对,如两张视觉特征极其相似的图像(非同一行人)被图像分类器判定为同一行人,但两张图像的时间差相差较大,则可以通过时空模型进行错样本对的矫正。由式(8)可知要得到数据集T的时空模型,需要知道同一行人的图像,但由于数据集T不包含行人的标签信息,因此本文利用图像分类器对数据集T中的图像进行识别,构建目标数据集的弱标签信息,以此构建时空模型。

算法由三部分组成,算法流程框架如图2所示。

图2 算法框架Fig.2 Framework of algorithm

图像分类器的损失函数如下:

其中:yik表示真实标签信息,pik表示模型预测的样本标签信息。正则化参数λ=0.000 5,其中Wi的维度等于输出维度,W={W1,W2,…,W1024}。

图像分类器作为中间组件,将生成对抗网络和时空模型联合。生成对抗网络提升图像分类器对于目标数据的识别准确率,使得在构建时空模型过程中图像分类器的识别误差率减小,从而构建更接近于真实情况时空模型。

2.2 算法描述

算法训练和测试过程的详细步骤如下:

训练过程:

根据式(8)得知,图像分类器的误差率影响时空模型的真实性,当图像分类器预测的标签信息越准确,所构建的时空模型更加接近真实情况。时空模型越接近于真实情况,能够更有效地筛选出错误的相似样本,提高总体模型在目标场景中的表现。

3 实验验证与分析

3.1 实验设置

1)网络参数。

生成对抗网络的参数设置参考SPGAN 论文作者设定的参数,其中式(6)的∂1、∂2和∂3分别设置为10、5 和2,式(5)中的m设置为2。算法的初始学习率为0.000 2,总共训练5 个epoch。

图像分类器使用在ImageNet[26]预训练的ResNet-50[27]作为特征提取模型,根据训练数据的ID 数量设置输出层的维度。图像分类器的训练过程中,冻结ResNet-50网络中BN层、conv1层以及res2层的参数,网络输出层的参数采用高斯分布初始化,网络参数反向传播的优化算法采用随机梯度下降法(Stochastic Gradient Descent,SGD)。超参数的设定参考文献[20]特征识别模型的训练超参数设定经验,将每一批次batch中的样本数量、最大迭代次数和动量分别设置为16、50 和0.9。学习率采用阶梯型衰减策略,初始学习率为0.001,在40个epoch之后学习率衰减为0.000 1,直至训练结束。

由2.2 节可知,构建时空模型时需要判断样本对是否属于同一行人,本文算法直接假设图像分类器的误差率为0,即是令En=Ep=0代入式(8)求得时空模型。

2)数据集。

为了验证算法的有效性,本文选取的两个数据集分别是Market-1501 和DukeMTMC-reID,实验过程中交替使用其中一个数据集作为源数据集,剩下的数据集则作为目标数据集。关于两个数据集的具体信息如表1所示。

表1 数据集介绍Tab.1 Introduction of datasets

每个数据集都由两个部分组成,训练数据集和测试数据集,训练数据集中的行人不会出现在测试数据集。待匹配样本库(query)是从备选库(test)所属ID 行人中抽取部分样本组成,两个库共同组成了测试数据集。数据集中每个样本的标签信息包含行人的ID、样本所拍摄的摄像头信息和拍摄时间三部分。Market-1501 由32 668 个样本组成,包含6 个摄像头的数据,总共1 501 位行人。DukeMTMC-reID 由36 411 个样本组成,包含8个摄像头的数据,总共1 401位行人。

3)评价指标。

实验分为两个部分:第一部分为图像分类器的比较,为了验证生成样本对图像分类器的影响,通过与TFusion算法的图像分类器进行比较实验,实验分析将在3.2.1 节中详细阐述;第二部分为STUGAN 算法与其他算法的比较,在选取的数据集 中 进 行 实 验,通 过 与BoW(Bag-of-Words)[24]、PUL(Progressive Unsupervised Learning)[28]、UMDL(Unsupervised Multi-task Dictionary Learning)[16]、基于聚类的非对称度量学习(Clustering-based Asymmetric MEtric Learning,CAMEL)[17]、SPGAN[20]和TFusion[23]算法进行对比,以验证本文算法的性能表现。其中,算法BoW 采用线性搜索策略,从数据集的表现结果中寻找最优参数,本文选取BoW 算法在目标数据集的最优情况的准确率作为对比;PUL 通过随机梯度下降法更新卷积神经网络(Convolutional Neural Network,CNN)识别模型的参数,然后对目标数据集样本特征进行聚类,根据聚类结果重新训练CNN模型,微调网络参数;UMDL通过拉格朗日对偶法和分析法求解多个投影矩阵的最优参数;CAMEL 利用拉格朗日法将求解过程转化为因式分解问题,求解最优化投影矩阵参数;SPGAN 和TFusion 的优化过程是利用损失函数计算预测标签和真实标签的差值,通过随机梯度下降法更新识别网络中的参数。

行人重识别算法采用定量衡量作为衡量标准,采用rank-1、rank-5、rank-10 及平均精度均值(mean Average Precision,mAP)[24]作为行人重识别算法的表现指标。所有指标的范围为0%~100%,指标值越大,表明算法效果越好。

4)实验条件。

本文算法中的所有模型都在一台有着GTX1080Ti GPU的Linux 服务器上进行训练和测试。Market-1501 作为源数据集时,其中SPGAN 训练时长为103 min,图像分类器训练时长为78 min,时空模型构建时长为145 min。假设测试样本数量为N,待匹配样本数量为M,测试过程中图像分类器使用的是矩阵运算计算样本间的特征相似度,时间复杂度为O(N*M),通过利用GPU 加速可以提高运算效率。时空模型的运算时间相当于字典的检索,时间复杂度为O(N*M),算法总时间复杂度为O(N*M)。

3.2 算法对比分析

3.2.1 图像分类器对比分析

表2 为图像分类器在Market-1501 和DukeMTMC-reID 数据集上的性能表现情况,其中TFusion’C 和STUGAN’C 分别表示TFusion 算法和本文算法的图像分类器。当测试集为Market-1501 时,训练数据集为DukeMTMC-reID,反之亦然。TFusion’C(SPGAN)和STUGAN’C(SPGAN)表示使用生成数据训练后的图像分类器,生成的数据来自DukeMTMC-reID 的训练数据集。

表2 图像分类器在不同数据集上的性能表现 单位:%Tab.2 Visual classifier performance on different datasets unit:%

从表2 中得出,本文的图像分类器无论在直接迁移或使用生成数据集的条件下,在两个数据集的表现均优于TFusion算法的图像分类器。本文图像分类器效果更好的原因在于训练过程中冻结了低层卷积的参数,使得高层的行人全局特征提取层得到更好的训练。因为生成样本的图像视觉风格更接近于目标场景的数据风格,一定程度上减少了场景转换对图像分类器的影响。

3.2.2 总体模型对比分析

表3 为各算法基于Market-1501 和DukeMTMC-reID 数据集的rank-1、rank-5、rank-10 及mAP 指标表现情况。其中算法SPGAN、TFusion、STUGAN 存在训练过程,当测试集为Market-1501时,训练数据集为DukeMTMC-reID,反之相同。

从表3中可得出在两个数据集的rank-1、rank-5及rank-10指标比较中,本文算法的准确率均优于所比较的算法。尤其在数据集Market-1501上,rank-1指标的准确率相比TFusion算法高出5.7 个百分点。其中BoW 为手工设计的算法,因为没有任何训练过程,因此算法在两个数据集的准确率都偏低。PUL 和UMDL 为无监督算法,因为缺少标签信息进行算法的学习,所以算法的准确率较低。与使用了生成对抗网络的SPGAN 算法相比,本文算法在此基础上加入了时空模型的辅助,时空模型的加入一定程度上排除视觉特征高度相似的错样本被匹配,减小了图像分类器的误差率。对于使用了时空模型作为辅助的TFusion算法,本文算法的图像分类器更好地利用生成对抗网络生成的样本进行训练,减少场景之间领域偏差对图像分类器的负面影响。较高水平的图像分类器构建的时空模型更接近于真实情况,两者的联合使得STUGAN 算法在目标场景中具备良好的识别性能。

表3 不同算法在Market-1501和DukeMTMC-reID数据集上的性能对比结果 单位:%Tab.3 Algorithm performance comparison results on Market-1501 and DukeMTMC-reID datasets unit:%

4 结语

本文针对行人重识别算法跨场景应用时出现算法准确率大幅下降问题,提出一种基于生成对抗网络联合时空模型的识别方法。算法在目标场景中获得相对满意的表现,但是距离实际应用要求的准确率仍存在一定的距离。由于图像分类器的识别准确率相对较低,在构建时空模型时存在较多的错误样本对被判别为同一行人,导致时空模型与真实的时空模型具有一定的偏差。如何构建适应于场景变化的图像分类器,使其在跨场景应用中仍然保持良好的准确率是今后的研究方向。

猜你喜欢

分类器行人时空
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
跨越时空的相遇
学贯中西(6):阐述ML分类器的工作流程
毒舌出没,行人避让
基于朴素Bayes组合的简易集成分类器①
路不为寻找者而设
玩一次时空大“穿越”
基于AdaBoost算法的在线连续极限学习机集成算法
我是行人
时空守护者之宇宙空间站