东北大学秦皇岛分校 控制工程学院,河北 秦皇岛 066004
收稿日期:2021-11-22
基金项目:河北省自然科学基金资助项目(F2019501012)。
作者简介:刘洋(1997-),男,山东滕州人,东北大学硕士研究生;
闫冬梅(1970-),女,北京人,东北大学秦皇岛分校副教授,硕士生导师。
摘要:针对基于卷积神经网络的行人重识别算法全局信息建模不足的问题,分析了卷积操作的局限性,提出一种基于Transformer改进的全局-局部两分支行人重识别算法.首先利用相对位置编码改进多头自注意力机制,并将其嵌入到Resnet50骨干网络中.之后在全局分支中对图像进行空间几何划分并利用Transformer的全局感受野增强抽象特征的提取能力;在局部分支中对Layer_3输出进行降维监督,利用多尺度池化获得更丰富的局部特征.实验结果表明,该算法在公开数据集Market-1501和DukeMTMC-reID上的mAP/Rank-1分别达到了93.45%/95.61%和88.79%/90.35%,相对于单纯基于卷积神经网络的算法,本文算法达到更高的精度.
关键词:行人重识别Transformer卷积神经网络特征提取多头自注意力机制
Improved Two-Branch Person Re-identification Algorithm Based on Transformer
LIU Yang, YAN Dong-mei, MENG Fan-wei
School of Control Engineering, Northeastern University at Qinhuangdao, Qinhuangdao 066004, China
Corresponding author: LIU Yang, E-mail: 2071938@stu.neu.edu.cn.
Abstract: In order to solve the problem of insufficient global information modeling of person re-recognition algorithm based on convolutional neural network, the limitation of convolution operation is analyzed, and an improved global-local two-branch person re-recognition algorithm based on Transformer is proposed. Firstly, the multi-headed self-attention mechanism which is embedded in the Resnet50 backbone network is optimized by relative position-coding. After that, the processed image is split into two parts on the global branch geometrically, and the ability of extracting the abstract features is enhanced by the Transformer's global receptive field. On the local branch, the Layer_3 output is under the supervision of dimensionality reduction while the multi-scale pooling obtains richer local features. The experimental result shows that, on the Market-1501 and DukeMTMC-reID datasets, mAP/Rank-1 of the algorithm reaches 93.45%/95.61% and 88.79%/90.35%, respectively. Compared with the algorithm which is only based on convolutional neural network, higher accuracy is achieved.
Key words: person re-identificationTransformerconvolutional neural networkfeature extractionmulti-headed self-attention mechanism
行人重识别(person re-identification)也称行人再识别,被普遍认为是一个图像检索的子问题.通过给定一个待查询图像和监控图像库,利用重识别算法检索出不同摄像头下的相同行人.该项技术在刑事侦查、走失救助、行人跟踪等安防领域有着广阔的应用前景.行人重识别技术的特征提取依赖于行人图像的信息,如头发、衣服的颜色、身上的配饰等.但在实际应用过程中易受到光照和姿态不对齐等诸多因素的影响,因此,如何提取更鲁棒的行人特征成为一个至关重要的问题.当前许多基于表征学习和度量学习的工作多是利用卷积神经网络来获取行人特征,卷积神经网络在计算机视觉领域取得了巨大的成功[1].2018年Sun等[2]提出PCB算法,将特征向量分为6份,并分别进行监督,该算法提高了行人重识别的精度,也促进了许多先进算法的提出,如SPReID[3]、PyramidNet[4]等.2020年Zhang等[5]提出了基于全局注意力机制改进的行人重识别算法,利用通道注意力和空间注意力机制较好地关注了全局信息,但该算法没有从根本上解决卷积的局限性问题,没有达到较高的精度.当前行人重识别算法有以下两个主要问题: 1)行人重识别算法需要获取丰富的全局信息,而卷积神经网络是通过卷积盒在图像上的移动来获取极小的局部信息,更多地关注图像的细节而不容易获得更抽象的全局信息.一些工作如AANet[6]通过加深网络的层数来获得更多的全局信息,大大增加了模型的参数和计算量.2)卷积神经网络一次卷积只能处理一个局部区域,会受到卷积和下采样算子的影响,导致很多特征信息的丢失.
近期,研究人员提出了一些新的解决方法.Dosovitskiy等[7]第一次将自然语言处理领域的Transformer方法应用于计算机视觉领域.2021年,在Transformer方法的基础上,微软亚洲研究院提出了Swin Transformer[8],其位移窗口和层级设计等思想在检测、分类等多个计算机视觉任务上取得了巨大的成功.由多头自注意力机制组成的Transformer方法在各个视觉任务上表现出较大的潜力,同时在多个任务的数据集上表现出色,有着逐渐替代卷积神经网络的趋势.但纯Transformer网络缺少归纳偏差,且计算复杂度高,训练过程缓慢,其模型需要在非常大的数据集上完成预训练,才能够取得出色的效果.因此采用纯Transformer方法不能满足行人重识别问题的实际需求.
针对以上问题,本文设计了一个将CNN与Transformer相结合的两分支行人重识别算法,使用相对位置编码改进多头自注意力机制,在保留CNN较快推理速度和局部特征提取能力的同时,利用Transformer的全局感受野更好地建立长距离像素点之间的联系,增强全局信息的提取能力,提升算法的鲁棒性和识别精度.本文算法的源代码下载链接为:https://github.com/yunnoil/ReID.
1 本文算法1.1 网络结构本文算法采用Resnet50作为基础模型,输入图像大小为288×144.每次输入P×K张图像,即对于每个训练的batch随机挑选P个行人,对于每一个行人随机挑选K张图像输入模型.本文算法设计了一个全局分支和局部分支并行的结构,整体网络结构如图 1所示.
图 1(Fig. 1)
图 1 本文行人重识别算法网络结构示意图Fig.1 The overall network architecture of the proposed person re-identification algorithm |
在全局分支中,利用Transformer模块的全局感受野来提取行人的全局特征,利用空间几何划分的方法,分别监督行人半身图像特征;在局部分支中,利用局部特征模块得到行人的局部信息.具体地,将Layer_3输出特征分别进行全局池化和平均池化,之后融合池化后的特征得到新的输出特征,最后分别对融合前后的特征进行监督.
输出特征在分类器处理之前,增加一层BN层,一层ReLu层和两层全连接层.在训练时,同时使用表征学习和度量学习的方法,使用2个基于难样本挖掘的三元组损失和3个改进的分类损失完成图像特征提取和监督学习.在测试时,使用融合全局和局部两分支的特征的方式获取检测行人图像和图像库行人图像的特征.最后利用计算余弦相似度的方法对图像进行相似度排序.
1.2 改进的多头自注意力机制Transformer[9]是一个完全不同于卷积神经网络和循环神经网络的算法,它完全基于自注意力机制得到输入和输出之间的全局依赖关系.基于多头自注意力机制的Transformer方法解决了seq2seq模型的不足,现已成功取代循环神经网络并广泛应用于NLP(natural language processing)领域.
与传统的自注意力机制不同,本文将提取到的行人特征图像按照14×14平均划分为196个patches,之后将每一个patches变换为一维的序列.如图 2所示,X经过权重矩阵Q, K, V重构后得到qi,ki,vi, i∈(1,2,3,…,T).使用相对位置编码的方式对qi编码位置信息,之后与kiqi求和并利用softmax函数得到注意力权重,注意力权重与vi值乘积即为最终的输出.图中H为特征的高度, W为特征的宽度, C为特征的通道数.
图 2(Fig. 2)
图 2 改进的自注意力机制Fig.2 The improved self-attention mechanism |
自注意力权重定义如下:
(1) |
(2) |
更适合行人图像的相对位置编码的方式使图像划分包含了更符合行人输入结构的相对位置信息,将196张图像的信息和位置联系起来.由于分割图像的数目固定,将原来的层归一化的方法改为批归一化,批归一化的方式有效地解决了梯度消失和梯度爆炸的问题.改进的多头自注意力机制更好地建立了行人图像长距离像素之间的关系,同时替代了卷积和池化等操作,不易造成图像信息丢失.
1.3 全局Transformer模块基于卷积神经网络的Resnet50利用卷积和池化操作获取图像信息,缺乏对高级特征的获取能力.基于此,本文在改进的多头自注意力机制的基础上设计了一个Transformer模块,使用多头自注意机制获取图像的高级特征.为不增加模型参数且提高运算效率,本文直接使用该模块代替Resnet50的第四层架构.
具体全局Transformer模块结构如图 3所示,该模块将Resnet50第三层得到的输出特征划分为2个大小为64×1 024×9×9(1 024为通道数)的张量,行人图像被分为上半身和下半身,实验证明划分为2个张量的形式能够更有效地提高重识别效果.之后,将本文中改进的多头自注意力机制嵌入Resnet50的Stage_4结构.对于自注意力机制的嵌入位置,本文采用了与BoTNet[10]类似的结构.将Resnet50第四层的3×3空间卷积操作替换为本文改进的全局多头自注意力机制.划分后的特征由3个改进的残差结构获取图像的全局特征.最终利用分类器对2个半身特征进行分类,分别监督行人上半身和下半身特征的获取.
图 3(Fig. 3)
图 3 Transformer模块结构图Fig.3 Diagram of Transformer module structure |
1.4 局部特征模块为不增加模型的参数,采用对Stage_3输出降维监督的方式实现局部特征的获取.如图 1所示,本文直接对基于卷积神经网络获取到的行人特征信息进行处理,没有增加更多的卷积操作.
局部特征模块对得到的空间特征采取最大池化和平均池化两种池化方式,不同的池化方式获得不同粒度的行人特征.最大池化的方式可以提取到行人的特征纹理,选择区域最有代表性的特征,去除背景信息的影响;平均池化的方式使提取的特征更加全面.两种不同的池化方式使模型获得了更加丰富全面的行人特征.局部特征模块计算过程如下:
(3) |
(4) |
(5) |
(6) |
最后,本文对池化后的特征X0,X1使用基于难样本挖掘的三元组损失作监督训练,对于融合后的特征X2采用基于标签平滑的交叉熵损失函数进行监督训练.
1.5 损失函数与其他算法不同,本文在训练过程中联合两种损失函数对模型进行约束,分别为交叉熵损失和三元组损失.本文利用标签平滑[11]的方法将原交叉熵损失目标的one-hot标签变为
(7) |
(8) |
(9) |
最终联合2个TriHard损失和3个标签平滑改进的交叉熵损失进行训练,总损失函数Loss为
(10) |
2.2 数据集与评价指标为验证算法的有效性,本文分别在清华大学的Market-1501数据集[14]和杜克大学的DukeMTMC-reID数据集[15]上进行实验.Market-1501包含在清华大学校园6个手动设置的摄像机采集的1 501个行人信息,共有32 217张行人图像.DukeMTMC-reID数据集包含杜克大学校园8个摄像头采集的2 700多个行人信息,共有364 441张行人图像.数据集分为训练集、验证集、Query、Gallery四部分,利用训练集与测试集进行模型的训练,之后对Query和Gallery中的图像提取特征并计算特征相似度,对于每一个Query在Gallery中找出前N个与其相似的图像.
本文采用了两种评估方法:第一种是重识别图像的首位命中率,即Rank-1;第二种是平均均值精度即mAP (mean average precision),mAP是每个Query的AP (average precision) 的平均值.mAP同时考虑了精度和召回率,反映检索的行人在数据库中所有正确图像排在序列表前面的程度,能够更好地反映算法的精度.
2.3 消融实验2.3.1 各分支结构有效性验证为验证各模块以及全局-局部结构的有效性,本文在Market-1501数据集进行了一系列消融实验.在实验中保留了Random Erasing等数据增强方法,之后分别针对①基于Resnet50的行人重识别基础模型,②改进的多头自注意力机制组成的Transformer模块替换Resnet50_Layer4,③在全局分支中对特征做空间几何划分,④增加局部特征提取模块,⑤损失函数改为标签使用标签平滑的损失函数,这5种方法进行实验,所有实验均使用相同的实验参数.
如表 1所示,相对于方法①,方法②使用多头自注意力机制增强了模型对特征的提取能力,mAP提高了1.03%,Rank-1提高了1.13%,证明了全局Transformer模块可以提高行人重识别的准确率.在方法②的基础上,方法③将图像划分为两部分,虽然结构更为复杂,但是mAP也相应提高了1.32%,Rank-1提高了0.61%.方法④相比于方法③重识别准确率得到较大提升,mAP提高了7.50%,Rank-1提高了3.10%,原因是局部特征模块获取了更为原始的底层细节信息,并且基于难样本挖掘的三元组损失能够更好地学习到图像的细微特征,从而证明局部特征模块能够有效提升行人重识别算法精度.方法⑤利用标签平滑的方法增强了算法的泛化性能,本文算法精度得到进一步提升,mAP提高了0.68%,Rank-1提高了0.19%.
表 1(Table 1)
表 1 各分支结构有效性验证Table 1 Validation of each branch structure ?
| 表 1 各分支结构有效性验证 Table 1 Validation of each branch structure ? |
2.3.2 相对位置编码有效性验证为证明相对位置编码方式的有效性,本文在Market-1501数据集上进行消融实验.如表 2所示,在局部分支不变的情况下,分别对比了绝对位置编码和相对位置编码[16]两种多头自注意力机制位置编码方式.实验证明,相对位置编码方式能够更好地表达行人图像的顺序信息.加入相对位置信息的Transformer结构使得模型mAP和Rank-1分别提高了0.32和0.91个百分点.
表 2(Table 2)
表 2 Transformer有效性验证Table 2 Transformer validity verification ?
| 表 2 Transformer有效性验证 Table 2 Transformer validity verification ? |
2.3.3 多尺度池化有效性验证对局部分支特征的直接监督不利于获得丰富的行人局部特征.如表 3所示,在Market-1501数据集上,本文分别对比了局部特征模块3种不同的结构.实验过程中全局分支结构保持不变,实验结果显示,采用最大池化和平均池化结合的多尺度池化方式配合难样本挖掘的三元组损失相比于简单的对输出进行平均池化mAP和Rank-1指标分别提高了4.82%和1.31%,验证了多尺度池化的方式能够提高行人重识别算法的精度.
表 3(Table 3)
表 3 多尺度池化有效性验证Table 3 Multi-scale pooling validity verification ?
| 表 3 多尺度池化有效性验证 Table 3 Multi-scale pooling validity verification ? |
2.4 与现有方法比较为进一步证明本文算法能够有效提升行人重识别的准确率,将本文算法与近三年文章提出的基于卷积神经网络(CNN)和基于Transformer算法进行比较,每种算法都注明了其基本架构和来源.
在Market-1501和DukeMTMC-reID数据集上进行实验,结果如表 4所示.DuATM[21], AANet[6]分别使用了DenseNet和ResNet152作为基础架构,达到了较为先进效果的同时增加了算法参数,本文算法在参数量更少的情况下行人重识别精度优于上述算法.SPReID[3]与PCB[2]相似,都是使用分割行人的方法对局部特征进行提取,本文算法比这两种算法复杂,但精度相对提升了2%~3%.Mancs[17],IANet[18],CASN[19],SNR[22]致力于提取更有判别力的局部特征,其中精度较好的SNR[22]算法mAP达到84.70%,尽管如此,本文算法仍有近1%的提高.
表 4(Table 4)
表 4 与其他先进算法在Market-1501, DukeMTMC-reID两个数据集上的定量比较Table 4 Quantitative comparison on Market-1501, DukeMTMC-reID datasets with others advanced algorithm
| 表 4 与其他先进算法在Market-1501, DukeMTMC-reID两个数据集上的定量比较 Table 4 Quantitative comparison on Market-1501, DukeMTMC-reID datasets with others advanced algorithm |
基于Transformer的方法一经提出就达到了较高的精度,其中最有代表性的是发表在ICLR21的Vit-Transformer[7]和近期的Swin-Transformer[8].相比于这种纯Transformer结构的算法,本文算法利用Transformer对卷积神经网络进行改进,在达到更高的行人重识别精度的同时,算法的推理速度也得到提高.
如图 4所示,2个数据集实验表明,本文算法精度优于基于卷积神经网络的算法和纯Transformer的算法.经过Re-ranking[20]对检索到的图像做重排序后,算法精度得到进一步提高,在Market-1501数据集中,mAP和Rank-1分别达到93.45%和95.61%.在DukeMTMC-reID数据集中,mAP和Rank-1分别达到88.79%和90.35%
图 4(Fig. 4)
图 4 不同方法平均均值精度和首位命中率示意图Fig.4 The mAP and Rank-1 indicators of different methods |
2.5 结果展示本文算法重识结果如图 5所示.在输入一个需要查询的行人图像后,算法识别出不同摄像头下相同行人的图像,并从Rank-1到Rank-10按照相似度排序.图 5a, 图 5b分别展示了本文算法在Market-1501数据集和DukeMTMC-reID数据集上的识别结果.图中实线框内是属于一行人的正确结果,虚线框内是匹配错误的结果.如图 5a所示,尽管摄像头拍摄的角度和姿态有着很大差异,本文算法依旧能够准确地识别出对应的行人.如图 5b所示,本文算法在光照和行人姿态变化的情况下也能达到较好的识别效果,第9张图像中,由于行人穿着与Query图像相似,产生1张图像的误检.
图 5(Fig. 5)
图 5 重识别结果Fig.5 Results of the re-identification (a)—Market-1501;(b)—DukeMTMC-reID. |
3 结语本文将CNN和Transformer相结合应用于行人重识别领域,是利用这种方式解决行人重识别问题的早期尝试之一.本文设计了一个全局-局部行人重识别网络.全局分支利用空间几何划分的方法分割行人图像,通过相对位置编码和批归一化对多头自注意力机制进行改进,并将其嵌入到卷积神经网络中,更好地建立了长距离像素点之间的联系,弥补了卷积神经网络的不足;局部分支利用多尺度池化的方式获得了更加丰富的图像局部特征.最后,利用基于标签平滑改进的交叉熵损失和基于难样本挖掘的三元组损失对模型进行监督.本文算法在Market-1501数据集和DukeMTMC-reID数据集上进行了大量实验,Rank-1指标分别达到95.61%和90.35%,mAP指标分别达到93.45%和88.79%,相较于目前基于卷积神经网络的算法和纯Transformer结构的算法精度都有所提高.
参考文献
[1] | 罗浩, 姜伟, 范星, 等. 基于深度学习的行人重识别研究进展[J]. 自动化学报, 2019, 45(11): 2032-2049. (Luo Hao, Jiang Wei, Fan Xing, et al. A survey on deep learning based person re-identification[J]. Acta Automatica Sinica, 2019, 45(11): 2032-2049.) |
[2] | 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. Munich: Springer, 2018: 480-496. |
[3] | Mahdi M K, Emrah B, Muhittin G, et al. Human semantic parsing for person re-identification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake: IEEE, 2018: 1062-1071. |
[4] | Lin T, Dollar P, Girshick R, et al. Feature pyramid networks for object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Hawaii: IEEE, 2017: 2117-2125. |
[5] | Zhang Z, Lan C, Zeng W, et al. Relation-aware global attention for person re-identification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 3186-3195. |
[6] | Tay C P, Roy S, Yap K H. AANet: attribute attention network for person re-identifications[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 7134-7143. |
[7] | Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth 16x16 words: Transformers for image recognition at scale[J]. arXiv preprint arXiv, 2020, 2010.11929. |
[8] | Liu Z, Lin Y, Cao Y, et al. Swin transformer: hierarchical vision transformer using shifted windows[J]. arXiv preprint arXiv, 2021, 2103.14030. |
[9] | Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in Neural Information Processing Systems. La Jolla: NIPS, 2017: 5998-6008. |
[10] | Srinivas A, Lin T Y, Parmar N, et al. Bottleneck transformers for visual recognition[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Kuala Lumpur: IEEE, 2021: 16519-16529. |
[11] | Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 2818-2826. |
[12] | Lyu Y, Gu Y, Liu X G. The dilemma of TriHard loss and an element-weighted TriHard loss for person re-identification[J]. Advances in Neural Information Processing Systems, 2020, 33: 17391-17402. |
[13] | Zhong Z, Zheng L, Kang G, et al. Random erasing data augmentation[C]//Proceedings of the AAAI Conference on Artificial Intelligence. Palo Alto : AAAI, 2020: 13001-13008. |
[14] | Zheng L, Shen L, Tian L, et al. Scalable person re-identification: a benchmark[C]//Proceedings of the IEEE International Conference on Computer Vision. Santiago: IEEE, 2015: 1116-1124. |
[15] | 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. Amsterdam: Springer, 2016: 17-35. |
[16] | Shaw P, Uszkoreit J, Vaswani A. Self-attention with relative position representations[J]. arXiv preprint arXiv, 2018, 1803.02155. |
[17] | Wang C, Zhang Q, Huang C, et al. Mancs: a multi-task attentional network with curriculum sampling for person re-identification[C]//Proceedings of the European Conference on Computer Vision. Munich: Springer, 2018: 365-381. |
[18] | Hou R, Ma B, Chang H, et al. Interaction-and-aggregation network for person re-identification[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 9317-9326. |
[19] | Zheng M, Karanam S, Wu Z, et al. Re-identification with consistent attentive siamese networks[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 5735-5744. |
[20] | Zhong Z, Liang Z, Cao D, et al. Re-ranking person re-identification with k-reciprocal encoding[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Hawaii: IEEE, 2017: 1318-1327. |
[21] | Si J, Zhang H, Li C G, et al. Dual attention matching network for context-aware feature sequence based person re-identification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake: IEEE, 2018: 5363-5372. |
[22] | Jin X, Lan C, Zeng W, et al. Style normalization and restitution for generalizable person re-identification[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 3143-3152. |