行人重识别[1]技术主要旨在解决跨摄像头、跨场景下行人的识别与检索。当前行人重识别主要包括行人的特征表示和相似度计算两个阶段。由于姿态差异、视角变化、光线和遮挡等问题使行人图像变化巨大,给检索任务带来巨大的困难和挑战。如何更好地提取行人的特征成为行人重识别技术的关键。近年来,随着深度学习的迅速发展,手工设计特征的方式被逐步取代。相比于传统的手工提取的特征,深度学习[2]提取的特征表示具有更好判别性。
在特征表示方面,早期关于深度学习的行人重识别算法[1]主要关注行人图像的全局特征,将行人图像经过神经网络,提取其全局特征,然后利用该特征进行相似度计算。随着全局特征研究的成熟,行人重识别性能的提升遇到了瓶颈,为了进一步提升行人重识别的性能,开始挖掘细粒度特征,渐渐研究起图像的局部特征[3- 4]。常用的提取局部特征的思想主要有图像或特征切块、利用骨骼关键点定位以及姿态矫正等[3-5]。其中切块是局部特征研究中最常见的一种提取特征的方式。PCB[3]算法是局部特征研究中的代表,其充分挖掘了图像的局部特征,有效提高了行人重识别的准确率。
考虑到仅用局部特征的局限性,以及垂直分割特征可能带来信息损失,本文在PCB算法的基础上,进一步融入图像的全局特征;考虑到全局特征与局部特征的关联性与差异性,提出了一种基于全局特征与局部特征的加权算法。该算法通过有效融合全局特征和局部特征,可以更好地提高模型的准确率和泛化性能。
PCB[3]算法主要贡献是,一是设计了PCB(Part-based Convolutional Baseline)网络,二是提出了RPP(Refined part pooling)方法。
2.1.1 PCB网络结构
PCB选用ResNet50[6]做为主干网络,PCB在ResNet50的基础上做了一些修改。ResNet50中GAP(global average pooling)之前的层保持不变,PCB修改的是GAP层以及之后的层。
首先,将输入的图像经过主干网络得到特征T,定义channel维的列向量为f。然后,PCB算法将T水平均分成p份,经过average pooling得到p个列向量g,再使用1*1的卷积核降维得到p个降维后的特征h。最后,每个h输入到由FC(fully-connected layer)和Softmax function构成的分类器classifier中,从而预测输入的ID,这里的FC参数不共享,即共有p个classifier,实验发现参数不共享的效果更好。
在训练时,PCB使用p个classifer的交叉熵(Cross Entropy)的和作为损失函数。在测试时,PCB可以选择把p个g或者p个h进行拼接得到最后用于判别的特征G或者H,其中, G=[g1,g2,...,gp],H=[h1,h2,...,hp]。
2.1.2 RPP网络
PCB的均分策略是简单、有效的方法,但是可能存在特征对齐的问题,即行人图像是有明显的语义信息的,而简单的划分特征,可能破坏这些关联的特征。RPP即Refined part pooling,其是在训练好的PCB网络的基础上,更改PCB网络的average pooling,用RPP网络代替,用来修正由于PCB均分策略而产生的不良影响,进一步提升PCB的性能。RPP本质上就是注意力模块,目标是把p个部分对应的空间分布进行软权值分配,进而对齐各个部分。
本文采用的网络架构类似与PCB网络,其中主干网络也采用ResNet50,详见图1,其中ResNet50中Conv0-Conv3层的参数共享。从Conv4后网络分为两个分支,即Global分支和Local分支,其中,Conv4_0与Conv4_1初始参数相同。这里主要是参考文献[7]多分支训练方式,让不同分支的参数学习不同的特征,增强不同分支学习特征的差异性。与PCB网络采用同样的技巧,将Conv4层中的下采样步长由2设置为1,这样可以增大最终模型提取特征的感受野,提高行人识别的性能。
Global分支中,Conv4后直接采用GAP和BN(Batch Norm),用以提取图像的全局特征。Local分支中,与PCB网络类似,经过Conv4后的特征T,被水平均匀分割成p份,经过Average Pooling得到p个向量,每个特征向量经过BN,最后分别输入到p个FC(fully-connected layer)用以分类。
图1 网络结构
Fig.1 The structure of network
较人脸识别的算法而言,行人重识别领域有更多可以提升网络性能的训练技巧。本文在训练基于PCB特征加权网络时,也采用了其中一些常用的技巧。
(1)warmup[8]学习率调整:其是一种在训练时,随着迭代次数的增加,学习率先由小慢慢增大,然后再衰减的训练过程。
(2)随机翻转(random flip):即在训练阶段以一定概率,随机水平翻转输入的图像,用以扩充训练数据。它是一种常用的数据增强的手段。
(3)随机擦除数据增强[8-9](random erase):训练时,通过随机擦除归一化后的图片输入的某一块区域,并用归一化后的图像均值填充该区域,起到数据增强,从而提高模型的泛化性能。
(4)Last Stride[8]:ResNet50中最后一层的Conv4层有一个下采样步长为2的步骤,用以进一步缩小特征图的尺度。而Last Stride即是把该Conv4层的下采样步长为2设置为1,从而可以使得最终得到的特征图尺度更大。
(5)BN[8]: 即网络输出的特征在送入分类器前,先经过一个BN(Batch Norm)层,再送入分类器。
在行人重识别任务中,主要分为两个阶段,第一阶段即网络的训练,第二个阶段则是用训练好的模型提取输入图像的特征信息,进而用提取的特征进行相似性度量。这两个阶段都至关重要,相辅相成。基于表征学习的行人重识别算法中,常用的相似性度量的方式一般有两种,一是基于欧氏距离,简称L2距离,二是基于余弦距离,即Cosine距离。考虑到本文在训练时,在特征送入分类层前,经过了BN(Batch Norm)层,对特征进行了归一化操作,考虑到后续的加权算法,余弦距离是更适合本文网络的度量方式。测试时,所采用的特征均为经过BN后,即送入分类层之前的特征,每一分支的特征维度为1×2048。
与PCB算法相同,本文网络也采用的是多分支训练方式。不同的是在PCB算法的基础上,本文还加入了全局特征的信息,全局特征可以很好的补充局部特征分割时带来的特征对齐问题,从而不需要额外的RPP网络进行特征的矫正。从图1可以看出,网络从ResNet50-Conv3后分为上下两分支,其中上分支为global分支,用于提取全局特征的特征图(feature map),然后经过全局池化层(GAP),得到最终的全局特征,下分支主要是对模型提取的feature map进行垂直方向的等距离分割,将分割后的每个子feature map经过GAP,得到多个局部特征。其中之所以ResNet-Conv4的参数训练时不再共享,是因为这样可以让相应的Conv4_0层更好的学习全局特征参数,Conv4_1层更好的学习局部特征的参数。若下分支将feature map均分成L块,则最终加上全局特征,共有L+1个特征,其中每一维度均为1×2048。在训练阶段,将它们分别送入2048×classes的全连接层,其中classes为训练集的类别数,加上global分支,共有L+1个独立的分类层,损失函数采用Cross Entropy Loss,分别对应loss0,loss1,...,lossL,训练时的最终loss为所有子loss的和,即:
(1)
基于多分支的训练后,便是如何融合全局特征和多个局部特征来提升模型准确率的问题。PCB算法因为只应用了局部特征,故其可以直接拼接所有局部特征,进而用RPP网络来矫正所提取局部特征的不足,进而衡量行人重识别网络的性能。而本文所提网络加入了全局特征,用来补充局部特征的局限性,故不能简单的拼接全局特征和局部特征。单个局部特征与全局特征信息对模型性能的影响性是不同,直接拼接全局特征与全部局部特征来进行最终的相似性度量显然是不合适的。此外在网络训练的过程中,每一分支都通过各自分类器单独监督各个特征的,即每一分支的特征是相对对立的,通过加权各个分支的特征,可以提高模型的鲁棒性。加权因子的选取逻辑如下:设两张输入图片的全局特征为fg、hg(列矢量),将其分解为L个局部特征,也即,则有:
(2)
由此可见:如果每个分支提取的局部特征贡献是相等的,则全局特征的贡献大致是每一局部特征贡献的L倍。如果全局特征保持不变,则每一局部特征与全局特征融合时的权重系数应该是因此,最终多支路融合的相似性度量公式为
(3)
这里‘+’表示特征拼接的含义,即将所有的局部特征先乘以一个加权因子,全局特征的加权因子为1,然后拼接所有的特征,用于行人重识别的度量。之所以对每一局部特征均采用均值加权的方式,而不是采用其他概率分布的形式,主要是考虑到了算法的泛化性能,不同的输入图片其自上而下的特征分布可能位置有很大的不同,而且不同的数据集也可能差异巨大。故采用均值加权局部特征的方式可以使模型具有更好的泛化性能。
本文分别在数据级Market1501[10]和DukeMTMC-Reid[11]两大数据集上进行了实验。其中,Market1501数据集是由清华大学所收集,包含从6个不同的摄像头拍摄到的1501个行人,其中训练集有751个行人,共12936张图片;测试集有750个行人,共19732张图片。Duke数据集是由Duke大学所收集,包含1404个行人,其中训练集含702个行人,共16522张行人图片,测试集包含702个行人,共17661张行人图片。这两个数据是目前行人重识别中较大的两个数据集,包含有姿态变化、光照变化、遮挡等问题,符合实际应用场景中常见的情况。
目前行人重识别方法常用的评价指标为CMC曲线(Cumulated Matching Characteristic)和平均准确率mAP(Mean Average Precision)两种评价指标评估方法的性能。
本文实验采用的硬件和软件仿真环境如表1所示。
表1 实验平台参数
Tab.1 Experimental platform parameters
ConfigurationParameterOperating SystemUbuntu 14.04CPUIntel(R) Xeon(R) CPU E5-2680 v4@ 2.40GHzGPUTesla P40Software PlatformPytorch 1.1
在训练过程中,骨干网络采用在ImageNet上预训练过的ResNet50模型,在网络初始化时已完成,以此减少训练时间。为了加大最后网络提取特征的尺度,行人图片被调整为384*128分辨率输入,最后模型提取的feature map为24*8, local分支在垂直切分来提取局部特征时,可以有更多的切割选择。
训练批次大小为64,采用随机采样方式。共进行120个epoch训练,学习率采用线性的warmup方式,这样可以更好的发挥预训练模型参数的作用,从1-10 epoch,学习率从3e- 6逐渐增加到3e- 4,11-50 epoch,学习率保持3e- 4, 51-90 epoch, 学习率变为十分之一,即3e-5, 91-120 epoch,学习率再衰减为原来的十分之一,变为3e- 6。优化器选择的是带动量系数的Adam,一阶动量系数为0.9,二阶动量系数为0.999。训练数据增强方式为随机水平翻转(random flip)、随机擦除(random erase)。
因为输入图片的尺寸为384*128,且ResNet50最后一层中的步长被修改变为1,故经过此ResNet50模型后的feature map尺寸为24*8。显然,1、2、3、4、6、8为24的因子,即网络下分支的feature map可以有多种划分的方式。
这里不考虑12、24等划分情况,因为划分太细存在严重的特征对齐问题,过分的划分只会扩大特征对齐问题,反而不利于网络模型的学习。若因子为L,即表示模型的下分支有L个局部特征,每个局部特征的加权因子为下面是基于不同因子时在Market1501与DukeMTMC-Reid上的实验结果,见表2、表3。
表2 不同L情况下Market1501实验
Tab.2 Market1501 with different L %
LRank 1Rank 5Rank 10mAP092.997.498.581.4193.297.598.783.4294.697.698.486.1394.297.898.785.8494.097.898.684.4693.997.698.583.7891.996.998.178.9
表中L=0表示,仅用global分支,没有local时,即仅用全局特征时,网络的性能。对网络中local分支提取的feature map进行不同的划分,网络的性能有所差异。综合分析不同的分割方式,网络一般在对feature map分割数为2、3、4情况下,取得较好的性能。
若不采用式(3)的特征加权融合方式,直接拼接所有特征,即直接拼接全局特征和所有的局部特征,不考虑全局特征和局部特征的差异性,将最终的拼接的特征作为融合后的特征,用于最终网络性能的衡量。网络的性能见图2、图3,其中“with weighted”表示经过加权网络的性能,“without weighted”表示直接拼接特征网络的性能。
表3 不同L情况下Duke实验
Tab.3 Duke with different L %
LRank 1Rank 5Rank 10mAP084.892.994.771.4186.893.695.374.4288.494.596.177.0388.294.896.477.1488.894.896.276.5687.793.795.276.0883.891.294.868.5
显然,经过式(3)方式进行加权的特征性能比全局特征和局部特征未经加权、直接拼接后的性能无论在rank1方面还是mAP方面的性能都要好很多。
对于上文提及的特征加权方式,即式(3):对局部分支全局feature map进行等分成L份,每一份在特征测试时予以的加权因子,为进一步说明其合理性,我们适当调节了每一局部特征的加权系数。对于局部feature map进行L均匀划分后的特征在测试时,予以的加权系数,其中L-1≤α≤L+1。即新的加权公式如下:
图2 Market1501数据集上特征加权与直接拼接性能比较
Fig.2 Comparison of results on Market1501 with and without weighting method
图3 DukeMTMC数据集上特征加权与直接拼接性能比较
Fig.3 Comparison of results on DukeMTMC with and without weighting method
图4 Market1501数据集上各种加权方式性能对比
Fig.4 Comparison of results on Market1501 with different weighting method
图5 DukeMTMC数据集上各种加权方式性能对比
Fig.5 Comparison of results on DukeMTMC with different weighting method
(4)
此外还比较了以1/L、1/L2的形式对特征进行加权。即:
(5)
(6)
对于不同的划分L及性能比较,实验结果见图4、图5。
在Market1501、DukeMTMC-Reid上的实验结果表明:对网络下分支提取的feature map进行L份的均匀分割,并以的系数进行加权是合理的,提高了模型的准确率,各种加权方式比较,可以看出,这种加权方式有利于提高模型的泛化性能。
本文算法是用于PCB的后处理阶段,即对PCB网络提取后的各分路特征进行加权处理。该加权处理的逻辑在于:global分支特征矢量与local分支L个分部特征矢量(part-level features)之间的信息表达能力有显著差异,存在通过加权提升性能的空间。本文所考虑PCB网络的两个分支处于同一网络层级,通过这样的加权后处理方式,可以提高模型的性能。目前文献报道的其他多分支网络,典型如MGN[17]算法,它们各个分支是都包含global特征,因此多分支融合时并没有对各分支进行加权融合,而是直接拼接各个分支的特征矢量用于最终性能评估。Pyramid[18]则采用了多路金字塔式的多尺度特征,最终也是采用直接拼接方式来融合各路特征矢量。由于MGN和Pyramid的特征提取方式以及融合条件与基本的PCB网络差距加大,本文的加权融合方式很难用于MGN和Pyramid算法。本论文的分析与仿真表明:在论文的PCB网络框架下,各支路直接拼接融合的方案性能要明显差于本文提出的加权融合方式。
为了验证本文所提模型的有效性,在两个主流数据集上对基于本身所提模型的行人重识别算法进行实验,并与最近比较先进的算法进行比较。表4和表5分别给出本文所提算法与其他先进算法在Market1501和DukeMTMC-Reid上的对比结果。
从表4、表5中可以看出本文所提的模型在Market1501数据集上的rank1和mAP分别为94.6%和86.1%。在DukeMTMC-Reid数据集上的Rank1和mAP分别达到了88.8%和77.0%,本文所提模型的Rank1和mAP比PCB等先进算法均有显著的提高。本文所提模型不仅关注局部特征,而且加入了全局特征,考虑了局部特征与全局特征对最终网络模型的性能,对它们分别进行了加权操作,全局特征弥补了局部特征在划分及对齐问题,相比于PCB算法,提高了模型的性能。加权后的特征具有更加丰富的信息,使行人的特征描述变得更有辨别力。对于基于多特征融合的MGN和Pyramid算法,它们除了与PCB类似的特征分割方式,还都引入了基于度量学习的三元组损失,以及动态训练等其他技术,故其性能要更优。本文主要验证加权算法,没有更多的加入基于度量学习等其他技术。
表4 在Market1501数据集上的结果对比
Tab.4 Comparison of results on Market1501 %
MethodR1R5R10mAPHSP[12]93.797.698.483.4AANet[13]93.9--83.4IANet[14]94.4--83.1CASN[15]94.4--82.8AutoReid[16]94.5--85.1Bag of tricks[8]94.585.9CAMA[7]94.7--84.5MGN[17]95.786.9Pyramid[18]95.798.499.088.2PCB[3]92.397.298.277.4PCB+RPP[3]93.897.598.581.6Ours94.697.698.486.1
表5 在Duke数据集上的结果对比
Tab.5 Comparison of results on Duke %
MethodR1R5R10mAPAANet[13]87.7--74.3IANet[14]87.1--73.4CASN[15]87.7--73.7AutoReid[16]88.5--75.1Bag of tricks[8]86.476.4CAMA[7]85.8--72.9MGN[17]88.778.4Pyramid[18]89.079.0PCB[3]81.789.791.966.1PCB+RPP[3]83.390.592.569.2Ours88.894.896.276.5
本文在经典PCB行人重识别算法的基础上,融入了图像的全局特征,用以弥补局部特征划分时带来的特征对齐问题,因此不需要额外的RPP网络进行特征对齐。在性能测试阶段,采用一种特征加权的方式融合全局特征与局部特征信息。本文在两个不同的行人重识别数据集上的进行了实验,实验表明,融入全局特征、对全局特征与局部特征进行加权融合,模型提取的行人特征具有更强的判别性,改善了PCB网络的性能。
[1] Liao S, Hu Y, Zhu X, et al. Person re-identification by local maximal occurrence representation and metric learning[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015: 2197- 2206.
[2] 甄俊杰, 应自炉, 赵毅鸿, 等. 深度学习和迭代量化在图像检索中的应用研究[J]. 信号处理, 2019, 35(5):919-925.
Zhen Junjie, Ying Zilu, Zhao Yihong, et al. Application research of deep learning and iterative quantization in image retrieval[J]. Journal of Signal Processing, 2019, 35(5): 919-925.(in Chinese)
[3] Sun Y, Zheng L, Yang Y, et al. Beyond part models: Person retrieval with refined part pooling (and a strong convolutional baseline)[C]∥Proceedings of the European Conference on Computer Vision (ECCV), 2018: 480- 496.
[4] Varior R R, Shuai B, Lu J, et al. A siamese long short-term memory architecture for human re-identification[C]∥European Conference on Computer Vision. Springer, 2016: 135-153.
[5] Wei L, Zhang S, Yao H, et al. GLAD: Global-local-alignment descriptor for scalable person re-identification[J]. IEEE Transactions on Multimedia, 2018, 21(4): 986-999.
[6] He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 770-778.
[7] Yang W, Huang H, Zhang Z, et al. Towards rich feature discovery with class activation maps augmentation for person re-identification[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2019: 1389-1398.
[8] Luo H, Gu Y, Liao X, et al. Bag of tricks and a strong baseline for deep person re-identification[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops, 2019: 0- 0.
[9] Zhong Z, Zheng L, Kang G, et al. Random erasing data augmentation[J]. arXiv preprint arXiv: 1708.04896, 2017.
[10]Zheng L, Shen L, Tian L, et al. Scalable person re-identification: A benchmark[C]∥Proceedings of the IEEE International Conference on Computer Vision, 2015: 1116-1124.
[11]Ristani E, Solera F, Zou R, et al. Performance measures and a data set for multi-target, multi-camera tracking[C]∥European Conference on Computer Vision. Springer, 2016: 17-35.
[12]Kalayeh M M, Basaran E, Gökmen M, et al. Human semantic parsing for person re-identification[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018: 1062-1071.
[13]Tay C P, Roy S, Yap K H. Aanet: Attribute attention network for person re-identifications[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2019: 7134-7143.
[14]Hou R, Ma B, Chang H, et al. Interaction-and-aggregation network for person re-identification[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2019: 9317- 9326.
[15]Zheng M, Karanam S, Wu Z, et al. Re-identification with consistent attentive siamese networks[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2019: 5735-5744.
[16]Quan R, Dong X, Wu Y, et al. Auto-reid: Searching for a part-aware convnet for person re-identification[C]∥Proceedings of the IEEE International Conference on Computer Vision, 2019: 3750-3759.
[17]Wang G, Yuan Y, Chen X, et al. Learning Discriminative Features with Multiple Granularities for Person Re-Identification[J]. 2018 ACM Multimedia Conference on Multimedia Conference-MM’18, 2018: 274-282. DOI: 10.1145/3240508.3240552.
[18]Zheng F, Deng C, Sun X, et al. Pyramidal person re-identification via multi-loss dynamic training[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2019: 8514-8522.
赵师亮 男, 1994年生, 江苏连云港人。南京邮电大学通信与信息工程学院硕士研究生。主要研究方向为行人重识别。
E-mail: 1018010632@njupt.edu.cn
吴晓富 男, 1975年生, 江苏南京人。博士, 南京邮电大学通信与信息工程学院, 教授。研究方向为信息论与编码、机器学习与计算机视觉、密码学与信息安全。
E-mail: xfuwu@njupt.edu.cn
张索非 男, 1982年生, 江苏镇江人。博士, 南京邮电大学物联网学院, 讲师。研究方向包括图像与视频信号处理、机器学习、物联网技术等。
E-mail: zhangsuofei@njupt.edu.cn