结合注意力与局部特征融合的行人重识别算法
2022-07-21陈林锋雷景生吴宏毅朱陈思聪叶仕超
陈林锋,雷景生,吴宏毅,朱陈思聪,叶仕超
浙江科技学院 信息与电子工程学院,杭州 310000
随着安防需求的日益增加,越来越多的摄像头安装在学校、游乐园、银行、停车场、社区等场所,形成了大型分布式监控网络。成熟的监控网络能够切实保障社会的平稳运行、人身以及财产安全。学校安装摄像头可以保证学生的人身以及财产安全,银行可以通过监控视频识别与跟踪不法分子,社区安装摄像头来保证居民的人身以及财产安全。在面对不同摄像头下行人身份关联的问题时,由于摄像机拍摄角度以及分辨率的原因,无法得到可靠的人脸图片进行身份识别,这时候就需要行人重识别技术。行人重识别是指在跨摄像头跨场景下行人的识别与检索,即给定一个要查询的人,确定这个人是否在不同的时间出现在另一个地方,由不同的摄像头捕捉到。由于光照变化、摄像头视角变化、行人在视频画面中姿态变化以及遮挡等问题的存在,使得同一行人在不同时刻不同场景下被摄像头捕捉到的图像差别很大,这为行人重识别带来了巨大的挑战[1]。
近年来,随着机器学习的理论以及应用取得了巨大的进步,深度学习作为其重要分支,也在各个领域大放异彩。基于深度学习的行人重识别方法增强了表征信息的提取,促进了度量学习方法的革新,提升了在各个数据集上的检索性能。
全局特征学习方法通过使用先进的深度学习技术来提取行人的表征信息,然而,在光照、遮挡等不受限的环境下,只依靠全局特征的行人重识别方法无法解决较大的类内差异,通常会导致检索性能大幅下降,无法再准确识别行人[2]。为了解决这个问题,基于局部特征的方法广泛地应用到行人重识别问题当中。Sun等人[3]提出了基于局部的卷积网络,将从特征提取器获得的特征水平分割成若干块,对每一个特征块提取细粒度局部信息,同时利用精修部件池化(refined part pool)改善直接分块造成边缘粗糙的缺点。Wang等人[4]将特征图进行分割来提取多粒度的行人肢体语义信息。模型采用了三分支结构,一个分支用来提取全局特征,其他两个分支用于局部特征表示,通过融合全局信息以及具有辨识力的多粒度局部信息来增强行人的特征表达。由于图片中行人的身体各部位有不对齐的情况,直接使用基于局部特征的方法在计算特征相似度时会带来噪声,Suh等人[5]提出了基于身体部位对齐的双流网络,其预训练权重由姿势估计数据集训练而得,一个分支用于提取全局外观特征,另一个分支用于提取局部身体特征,并通过双线性池化将两者进行融合。Zhang等人[6]提出了基于密集语义对齐的行人重识别模型,通过引入DensePose(dense human pose estimation in the wild)来定位行人身体各个部件,有效地解决了空间语义不对齐问题,同时也解决了姿态变化、遮挡等常见问题,显著地提高了算法的精度。Sun等人[7]提出一种可见性感知局部模型(visibility-aware part model),VPM可估计出两张行人图像之间的共享区域,并在评估图片相似性时聚焦共享区域,显著提高了行人重识别的准确率。
注意力机制因其增强重要特征以及抑制无关特征的特性被广泛应用在行人重识别领域当中,它能够改善行人姿态变化、视角变化、检测器检测误差等问题带来的干扰[8]。Li等人[9]联合硬注意力与软注意力机制学习区域级别和像素级别的重要特征来解决同一行人不同图片之间差距大的问题,同时提出了交叉注意力交互学习机制(cross-attention interaction)来高效地联合学习全局特征与局部特征。Chen等人[10]采用不同阶次的注意力模块提取高阶统计量,从而显著增强了注意力信息的辨别力和丰富性。此外,引入对抗学习约束来防止模型在训练阶段时高阶模块坍塌为低阶模块。Xia等人[11]结合非局部机制与二阶注意力来挖掘特征图中点与点之间相关性,有效学习到丰富的全局信息,在局部分支加入了DropBlock进行特征擦除来提升模型的鲁棒性。Chen等人[12]将一对互补的注意力模块融入到骨干网络中,分别提取通道以及空间域的注意力信息,避免注意力机制过度集中于前景,同时引入正交规范化对特征空间以及神经网络权重进行约束以确保重识别特征的多样性。Park等人[13]提出基于非局部机制的关系网络,充分考虑了身体各个部位与其他部位之间的关系,使得每个局部特征都包含了相应部位本身以及身体其他部位的信息,使其更具区分性,并提出全局对比池化来(global contrast pool)获得行人图片的细粒度全局特征。
鉴于注意力机制与局部特征学习方法对行人姿态变化、遮挡、视角变化等问题的鲁棒性,本文提出了结合注意力与局部特征融合的行人重识别算法。该算法将ResNeSt-50[14]作为特征提取器,由双分支结构组成,分别提取行人细粒度全局和局部特征,通过关注不同特征之间共享的空间域信息以及同一特征不同水平区域之间的特征相关性,提出了空间感知特征融合模块(spatial-aware feature fusion module)以及跨区域特征融合模块(cross-region feature fusion module)。在Market-1501[15]、DukeMTMC-reID[16]以及CUHK03[17]数据集上的实验结果表明该算法极大程度上提升了网络的检索能力,同时与现有算法进行比较,凸显出优越性能。
1 结合注意力与局部特征融合的算法介绍
1.1 算法网络框架
ResNet-50凭借其引入的残差结构,使得网络能够向更深的方向发展,提取到丰富的高层语义信息,避免了出现梯度爆炸和梯度消失问题。目前绝大部分行人重识别工作都选择ResNet-50[18]作为骨干网络来提取行人图像的初始特征。然而,像ResNet等一系列基础卷积神经网络是针对图像分类而设计,这些基础的卷积神经网络会受到感受野的限制同时缺乏跨通道之间的相互作用。最近,新提出的ResNeSt在图像分类、对象检测、实例分割和语义分割任务中达到了最先进的性能,它通过基于通道的注意力机制来捕获跨通道之间的关系。此外,它采用核大小为3×3的平均池化来代替ResNet-50中使用3×3卷积来进行下采样,这样不会损失很多空间信息。ResNeSt网络目前在行人重识别任务中还未广泛使用,本文选用最新的ResNeSt-50作为骨干网络来拓展其在行人重识别任务中的应用。
图1给出了本文提出的行人重识别网络结构图,与单纯使用ResNeSt-50不同的是,在ResNeSt-50的每个split-attention block中融入了空间感知特征融合模块,目的是对不同的特征图进行跨通道关联之前,让每一个特征图经过一个共享权重的空间域注意力模块,这样能够帮助网络先挑选重要的特征并抑制无关的噪声,进一步增强特征鲁棒性的同时加快网络的收敛。
图1 算法网络框架Fig.1 Algorithm network framework
基于全局特征的单流网络结构能够从图像中提取行人身上显著的辨别特征,来区分不同身份的行人,但是单流结构无法提取关键的非显著性特征,而且学习到的特征容易受背景信息的干扰,在面对遮挡、行人姿态变化等问题时很难完成行人身份的分类[19]。为了解决这个问题,多分支结构被广泛应用在行人重识别任务中,通过多个分支学习不同粒度信息来获得更强大的行人表征,例如双流结构以及三分支结构等[20]。虽然多分支结构能够挖掘更丰富的语义信息,增强网络的检索能力,但同时也加大了网络训练的难度,减慢了网络的收敛。因此本文在设计网络结构上,选用双流网络结构,这样不仅可以通过多分支结构增强行人的特征表示,而且不会因为过多的网络分支造成训练难以收敛[21]。在图1中,从ResNeSt-50 Layer1,2,3开始分开为两个分支,分别是全局分支(global branch)以及部件关联分支(part-association branch)。其中,全局分支强调学习行人整体的表征信息,部件关联分支则强调学习行人各个身体部位的细粒度表征信息。在全局分支中,行人图片通过ResNeSt-50 Layer1,2,3后,进入到ResNeSt-50 Layer4时使用下采样,之后特征图经过平均池化层,核大小为12×4,得到2 048维特征向量。该特征向量先通过一个全连接层,得到1 024维的输出特征fg_1,fg_1在测试阶段被视为行人图片的全局特征,在训练阶段用来计算硬三元组损失。接着,fg_1进入一个全连接层得到输出特征fg_2,此特征向量在训练阶段用来计算交叉熵损失。在部件关联分支中,与全局分支不同的是进入到ResNeSt-50 Layer4时为了保留足够的语义信息,没有使用下采样,之后特征图经过降维层(Reduction)后进入跨区域特征融合模块,让每个身体部位的特征融合到其他身体部位来增强局部特征的丰富性,使得网络能够自适应地关注到图片中的行人区域,减少背景噪声的干扰。模块生成的各个局部特征先通过一个卷积块进行特征融合,再经过平均池化层得到1 024维的输出特征fp_1,其在测试阶段被视为行人图片的局部特征,在训练阶段用来计算硬三元组损失。接着,fp_1进入一个全连接层得到输出特征fp_2,此特征向量在训练阶段用来计算交叉熵损失。网络将行人图片的全局特征fg_1与局部特征fp_1按通道方向拼接在一块,组成2 048维特征向量ftotal作为行人图片的特征表示,如公式(1)所示:
1.2 空间感知特征融合模块
由于ResNeSt网络结构中融入了基于通道的注意力机制,因此能够捕获跨通道的潜在语义信息,获得更加精细化的行人表征。在行人重识别任务中,除了利用通道间的相互作用来增强特征的区别力之外,还可以捕获空间域的重要特征信息,增强网络学习行人特征表示的辨别能力,提升算法精度。鉴于以上分析,采用软注意力机制,抑制特征图中的噪声,引导网络关注对识别行人身份起到关键作用的空间位置,从而为后续的跨通道交互起到互补作用。
给定在ResNeSt的某一个Bottleneck中分组卷积后输出的特征映射组F={F1,F2,…,FT},即该分组卷积的结果有T个特征图。如图2(b)所示,输入的每一个特征图都先经过一个共享权重的空间注意力块(spatial attention block)来优化空间信息,最后将每一个优化后的特征图进行累加融合,其结果作为跨通道交互的输入特征。在图2(a)中,空间注意力块的输入特征先通过一个按通道方向取每个特征位置平均值的全局池化层(Pool),从而得到通道数为1的三维特征向量,再经过三个3×3卷积层(φ1、φ2、φ3)来扩大感受野,捕获更丰富的空间信息,利用Sigmoid函数将卷积操作后的特征向量映射成空间注意力矩阵Xt,输入特征与该注意力矩阵点乘后的结果通过一个残差结构得到优化过空间信息的特征图。特征映射组F经过此空间感知特征融合模块后得到融合特征,如公式(2)、公式(3)所示:
图2 空间注意力块和空间感知特征融合模块Fig.2 Spatial attention block and spatial-aware feature fusion module
1.3 跨区域特征融合模块
最近的一些工作表明基于局部特征学习的方法有助于挖掘行人精细化表示,减少因遮挡产生的噪声[11]。相比于其他方法将特征图水平划分为若干个区域并对这些区域采用池化方法来直接获得局部特征不同,本文方法基于非局部注意力机制,充分考虑不同身体部件之间潜在的语义相关性,通过遍历融合不同部位的局部特征来挖掘关键的非显著性信息。数据经过ResNeSt-50 Layer1,2,3之后,进入部件关联分支学习细粒度局部特征,通过ResNeSt-50 Layer4,进入跨区域特征融合模块学习不同身体部位之间的潜在语义信息,该模块分为空间关联注意力以及通道聚合注意力两个子模块。给定输入特征P∈RC×H×W,其中C是特征图的通道总数,H和W分别是特征图的高和宽。首先把P水平划分为K个特征区域Pi∈RC×(H/K)×W,将这些特征区域经过空间关联注意力子模块,利用不同身体部件之间的空间位置的相关性进行局部特征融合来得到输出特征Ps_i,再将这些特征输入到通道聚合注意力子模块学习通道域中不同身体部件之间的非显著信息,最后得到精细化行人局部特征Ps_c_i。通过联合行人的细粒度全局特征和细粒度局部特征,行人特征的完整性以及丰富性得到进一步提升,网络的检索能力也因此大大增强。在图1中展示了跨区域特征融合模块的框架结构,对其各个子模块的详细说明如下。
1.3.1 空间关联注意力子模块
水平划分的局部特征Pi∈RC×(H/K)×W首先拼接成完整特征图P∈RC×H×W,再让特征图P通过两个1×1卷积层(γs,μs)进行降维得到两个输出特征,对这两个特征进行reshape操作后的结果分别进行矩阵乘积以及Sigmoid激活函数得到空间注意力系数矩阵As。为了挖掘局部特征的空间域相关性,根据Pi与Pj在特征图P中的位置,即可从系数矩阵中找到Pj对应于Pi的空间相关系数子矩阵As_i_j,如公式(4)所示:
由于单个局部特征内部的相关性较高而局部特征之间的相关性较低,为了挖掘到更多关键但非显著的重要特征,在特征融合操作时没有将局部特征本身的空间相关性As_i_i计算在内。在图3中,特征融合操作通过残差结构和一个1×1卷积层(σs)得到局部特征Pi的对应输出特征,如公式(5)所示:
图3 空间关联注意力Fig.3 Spatial association attention(SAA)
1.3.2 通道聚合注意力子模块
在行人重识别任务中,高层特征的通道往往有很强的相关性,一些通道共享相似的语义信息,例如衣服、鞋子、裤子、背景等。通过挖掘每个局部特征与其他局部特征之间的通道相关性来进行特征融合,增强重识别特征的丰富性与多样性。
从空间关联注意力子模块输出的特征图Ps_i按通道方向拼接成完整特征图,将Ps与自身reshape操作后的特征图进行矩阵乘积再通过归一化得到通道注意力系数矩阵Ac。为了挖掘局部特征的通道域相关性,根据Ps_i与Ps_j在特征图Ps中的位置,即可从系数矩阵中找到Ps_j对应于Ps_i的通道相关系数子矩阵Ac_i_j,如公式(6)所示:
同样考虑到局部特征内部的相关性较高而局部特征之间的相关性较低,在特征融合操作时没有将局部特征本身的通道相关性Ac_i_i计算在内。特征融合操作通过残差结构和一个1×1卷积层(σc)得到局部特征Ps_i的对应输出特征,如公式(7)所示:
1.4 损失函数
为了在训练过程中让网络学习到有身份鉴别力的特征,使用交叉熵损失(cross entropy loss)作为损失函数之一。交叉熵损失用来度量网络预测类别分布与真实类别发布的差异性,被广泛应用于机器学习以及深度学习的分类问题当中。在行人重识别任务中使用交叉熵损失意味着将重识别问题转化为分类问题,即给定一张行人图片,判断它属于哪个身份并把它归到那一类别。通过将身份信息作为监督信号,能够有效地引导网络学习到具有身份鉴别力的特征表示,保证在训练过程网络能够平稳收敛。然而,行人重识别本质上是一个图像检索问题,它通过比较查询图片与候选图片之间的特征相似性进行排序,排名越靠前的图片越有可能是与查询图片具有相同的身份。度量学习,即相似度学习,近几年被广泛应用在模式识别领域,它采用神经网络进行训练,目标是使得不同类别的图片相似度小而相同类别的图片相似度大。因此,将硬三元组损失(hard triplet loss)[22]作为另一个损失函数来引入度量学习。网络将原始像素域信息映射到编码空间,硬三元组损失通过拉近相同类别图片距离的同时加大不同类别图片的距离来达到聚类的效果,因此基于硬三元损失的模型更适用于行人重识别领域。由于仅仅依靠硬三元组损失进行模型训练会缺乏身份监督信号,导致训练过程缓慢,因此联合交叉熵损失与硬三元损失作为模型的损失函数,这样不仅引入了身份监督信号,能够学习到具有身份鉴别力的特征,加速网络的平稳收敛,而且拉近了同类图片距离的同时加大不同类别图片的距离,提升了检索性能。
对于交叉熵损失,本文的目标是减少预测标签分布与真实分布的差异性来学习行人的身份鉴别力特征。在图1中,把网络学习到的特征fp_2与fg_2用于计算交叉熵损失。交叉熵定义如公式(8)所示,其中N表示一个批次行人图片总数,C表示训练集行人标签总数,qi,j表示预测的标签概率,pi,j表示真实的标签。
对于硬三元组损失,本文的目标是让距离最远的相同标签的行人图片距离小于最近的不同标签的行人图片距离来提升检索的准确性。在图1中,把网络学习到的特征fp_1与fg_1用于计算硬三元组损失。硬三元组损失定义如公式(9)所示,其中分别是采样得到的锚、积极以及消极特征,这里的积极是指与锚具有相同的标签,消极是指与锚的标签不同,P指的是一个批次采样的行人标签总数,R表示对一个行人标签采样的图片个数,m是用来约束不同类别样本距离的阈值。
2 实验
2.1 数据集
本文使用的数据集是在行人重识别任务中广泛使用的Market-1501、DukeMTMC-reID以及CUHK03。
Market-1501数据集是在清华大学校园内通过5个高分辨率摄像头和1个低分辨率摄像头拍摄到的1 501个行人、32 668张行人图片。数据集提供训练集以及测试集的划分,其中训练集包含751个行人、12 936张行人图片,测试集包含750个行人、19 732张行人图片,每类图片最少被2个摄像头拍摄到。
DukeMTMC-reID数据集是在杜克大学校园内通过8个高分辨率摄像头拍摄到的1 812个行人、36 411张行人图片。数据集提供训练集以及测试集划分,其中训练集包含702个行人、16 522张行人图片,训练集包含702个行人、17 661张行人图片,并且提供了手工标注的边界框(bounding box)。
CUHK03数据集是在香港大学校园内通过5对摄像头拍摄到的1 467个行人、14 097张行人图片,提供检测器检测(Detected)和人工标注(Labeled)两个数据集。采取新的测试协议,将训练集和测试集中行人个数分别划分为767和700。相比于旧版本,新测试协议的训练图片大大减少而测试图片大大增加,因此加大了重识别的难度。
选择第n次命中准确率(Rank-n)以及平均匹配度(mAP)作为网络在数据集上测试效果的评价指标。Rank-n表示待查询图像与候选库图像按照相似度从大到小排序的前n张候选图片中存在与查询图像属于同一身份的准确率,计算如公式(10)所示,其中N表示查询数据集中行人的数目,即总共进行N次查询和排序,ri表示在按相似度排序后的候选图片中第一个与查询图片属于同一身份的行人图像的位置。
mAP计算公式如公式(11)所示,其中C表示行人身份的类别数,AP(c)表示行人身份c的平均精度。平均精度是指同一个类别的每个待查询行人图像的精确率累加之和与该类样本总数G的比值,AP的计算如公式(12)所示。精确率Precision指的是检索出来的正样本中正确的比例,Precision计算如公式(13)所示,其中TP表示被预测为正样本,实际上也是正样本的样本数目,FP表示被预测为负样本,实际上是正样本的样本数目。
在所有实验中,不使用重新排序(re-ranking)算法以及多次查询融合(multi-query fusion)进一步提升评价性能。
2.2 实施细节
遵循常见的行人重识别设置,将所有图像的大小调整为384×128,并通过随机翻转、随机裁剪和随机擦除来增强训练图像。使用在ImageNet[23]上预训练的ResNeSt-50作为骨干网络,在其网络结构中去掉最后的全局平均池化以及全连接层。为了在部件关联分支中保留足够的语义信息,把Layer4下采样层中平均池化的核大小设置为1×1,stride设置为1。使用Adam作为梯度优化器,将学习率初始设置为0.000 3,并在训练阶段的第30轮以及第60轮衰减10倍直至训练结束。批量大小设置为64,P=16,R=4,T=2,m=0.3,K=4。使用两阶段迁移学习算法来训练网络参数,首先冻结骨干网络的权重,仅仅训练分类器150轮,然后将整个网络再训练300轮。本文方法在pytorch框架上实现,并在一块3.6 GHz的Intel i9-9900KF CPU和NVIDIA TITAN RTX GPU环境下训练,所有数据集共享与上述相同的实验设置。
2.3 现有方法的对比实验
在本节中,将提出的方法与现有的最先进方法在三个主流数据集上进行对比来表明本文方法的优越性能,具体在每个数据集上的情况说明如下。
2.3.1 Market-1501
表1中展示了在该数据集上本文提出的方法与现有最先进方法的比对结果,在该数据集上实现了95.9%Rank-1、98.7%Rank-5、99.2%Rank-10以及89.1%mAP。
表1 在Market-1501数据集上的对比结果Table 1 Results comparisons over Market-1501 %
对比使用单一局部特征的PCB,本文方法挖掘局部特征之间的相关性来增强行人表征的丰富性,分别在Rank-1和mAP提高3.6和11.7个百分点。对比同样把ResNeSt-50作为骨干网络的FastReID,本文方法分别在Rank-1和mAP提升了0.9和2.1个百分点,这得益于本文结合注意力以及局部特征融合的方法,增强重识别特征多样性的同时提高了其鲁棒性。GCP虽然充分地考虑身体各部位之间的相关性来挖掘具有身份鉴别力的特征,但是直接地水平划分身体部件区域会导致边界粗糙,本文提出的方法在局部关联分支划分身体部件之前已经通过一系列软注意力机制来优化边界特征,分别在Rank-1和mAP性能提升了0.7和0.2个百分点。
2.3.2 DukeMTMC-reID
在表2中,本文方法在该数据集上达到了89.1%Rank-1、94.3%Rank-5、95.8%Rank-10以及78.9%mAP。
表2 在DukeMTMC-reID数据集上的对比结果Table 2 Results comparisons over DukeMTMC-reID %
和只考虑局部特征的PCB相比,本文模型联合全局特征以及局部特征来提升行人表征的完整性,分别在Rank-1和mAP提高了7.4和12.8个百分点。P2Net虽然充分挖掘行人以及外部装饰的特征来提升精度,但是网络的关注区域容易被行人图片的背景所干扰,本文方法分别在Rank-1、Rank-5、Rank-10以及mAP提高了2.6、1.2、0.8、5.8个百分点。和充分考虑身体各个部位与其他部位之间的关系的GCP相比,本文模型在Rank-1上低了0.6个百分点,但在mAP上提高了0.3个百分点,这是由于该数据集的行人图片被遮挡现象严重,存在较多的背景干扰,GCP在该数据集上的鲁棒性比较强。
2.3.3 CUHK03
该数据集的标注分为检测器检测(Detected)与人工标注(Labeled)两种。在Labeled数据集中,本文方法达到了85.5%Rank-1和82.1%mAP,在Detected数据集中,该方法达到了83.3%Rank-1和77.8%mAP,如表3。
本文方法在这两个数据集上的性能大大超过其他方法,在Detected数据集Rank-1、mAP上提高了3.7和3.3个百分点,在Labeled数据集Rank-1、mAP上提高了4.4和4.7个百分点。本文方法与仅提取局部特征的PCB相比,在Detected数据集Rank-1、mAP上提高了19.6和20.3个百分点。对比同样考虑身体部件关联的GCP,将其原有性能提高了大约10个百分点,这得益于本文模型提取的细粒度全局特征以及细粒度局部特征,提高了行人表征的鉴别力,提高了重识别特征的完整性。
2.4 消融实验
为了验证本文提出的每个注意力模块的有效性以及探索局部特征划分个数的问题。在Market-1501、DukeMTMC-reID和CUHK03这三个数据集上设计了几个不同设置的消融实验。
表3 在CUHK03数据集上的对比结果Table 3 Results comparisons over CUHK03 %
首先验证注意力模块的有效性,实验的具体设置显示在表4中,其中SFFM表示空间感知特征融合模块,SAA表示跨区域特征融合模块中的空间关联注意力子模块,CAA表示跨区域特征融合模块中的通道聚合注意力子模块。在表格的前两行可以看到,为了验证SFFM的有效性,在ResNeSt的split-attention block结构中融入SFFM显著提高了行人重识别的性能,在CUHK03-Labeled的Rank-1和mAP上提升3.9和3.8个百分点,在CUHK03-Detected的Rank-1和mAP上提升3.5和3.6个百分点。为了验证不同特征融合模块对模型性能的影响,在第三、四行分别对ResNeSt-50结构中增加SAA以及CAA,可以看到不管是SAA还是CAA都有助于模型性能的提升。实验结果表明,将SAA融入ResNeSt-50结构后,在CUHK03-Labeled的Rank-1和mAP上提升6.7和5.7个百分点,在CUHK03-Detected的Rank-1和mAP上提升6.2和5.3个百分点,这得益于空间关联子模块将不同身体部位进行关联,来学习身体部件之间的空间位置的相关性,增强局部特征的鉴别力。将CAA融入ResNeSt-50结构后,在CUHK03-Labeled的Rank-1和mAP上提升5.1和6.9个百分点,在CUHK03-Detected的Rank-1和mAP上提升5.5和6.5个百分点,这得益于通道聚合子模块通过挖掘局部特征与其他局部特征的通道相关性,来加强学习局部特征之间的非显著性信息。第五行将它们联合使用,进一步提高了精确度。为了验证软注意力(SFFM)与非局部注意力(SAA、CAA)的互补作用,从第六行开始分别对它们不同的组合进行实验,可以看到无论哪一种组合都比舍弃对应模块的性能要强得多。最后一行将所有模块组合在一起,实验结果表明它在这两个数据集上达到最先进的性能。整个模型在CUHK03-Labeled的Rank-1和mAP上相较于单流网络ResNeSt-50分别提升了12.8和13.1个百分点,在CUHK03-Detected的Rank-1和mAP上相较于单流网络ResNeSt-50分别提升了13.2和12.5个百分点,这表明全局分支与部件关联分支具有互补作用,通过联合网络分支结构学习到的细粒度全局特征与细粒度局部特征,提高了重识别特征的完整性与准确性,极大程度增强了模型的检索性能。
其次,研究了部件关联分支中身体部件划分个数对模型性能的影响,在图4中展示了不同身体部件划分个数的模型在不同数据集上mAP指标的变化。可以看到随着部件数量的增加,mAP在不同数据集上的趋势都是先逐步升高再缓慢下降,当部件数量设置为4时在各个数据集上的性能达到最高。这个观察结果表明,局部特征的划分个数会直接影响模型的性能,过少的部件数不能充分提取细粒度局部特征而过多的部件数会减弱部件关联分支的效果,进而降低特征表达的能力。
图4 不同部件数量的对比实验Fig.4 Comparative experiment of different part numbers
接着,利用Grad-Cam[31]可视化了一些图像在不同模型中关注的区域情况。如图5所示,第1列为输入到模型的原始图像,第2列和第3列分别是ResNeSt-50和本文提出的模型的图像热力图。在图5中,和ResNeSt-50相比,本文模型的关注区域更集中在行人身上以及覆盖区域更广,这是因为通过联合软注意力和非局部注意力机制来挖掘更多的全局信息,提升了关注区域的丰富性,还利用身体部件之间的关联性来融合不同层次的语义信息,增强了关注区域的鲁棒性。
表4 注意力模块的消融实验Table 4 Ablation experiment of attention modules %
图6 Market-1501数据集部分图像查询结果Fig.6 Market-1501 dataset partial image query results
图5 Market-1501数据集部分图像热力图Fig.5 Market-1501 dataset partial image heatmap
图6展示了在遮挡、背景杂乱、图片分辨率低等复杂情况下ResNeSt-50与本文算法的一些查询前5名的对比结果。第一、二、三排行人的查询图片在被背包遮挡的情况下,本文算法相较于ResNeSt-50仍然可以准确地检索,这是由于本文算法融合了软注意力以及非局部注意力机制,模型能够发现更多具有鉴别力的行人特征,因此误检率更低。第四排、第五排查询图像在背景杂乱以及图片模糊的情况下,本文算法相比于ResNeSt-50有更好的检索性能,即使图片出现较大的不对齐情况,仍然能找出对应图片,这得益于部件关联分支充分地挖掘局部特征之间的潜在语义关系,使得算法提取到的细粒度局部特征提升了行人表征的鲁棒性与丰富性。
3 结束语
在本文中,基于ResNeSt-50骨干网络,提出了结合注意力与局部特征融合的方法,通过两个分支网络,分别提取行人的细粒度全局特征和细粒度局部特征。通过联合软注意力以及非局部注意力机制挖掘更丰富的全局信息,让网络提取到的特征更具区分力,同时通过挖掘身体各个部件之间的潜在语义相关性,融合不同层次的语义信息,增强了行人表征的鲁棒性与丰富性,通过联合全局特征与局部特征的方法进一步提升了行人表征的完整性,提高了网络的重识别性能。将ResNeSt网络高效地应用在行人重识别任务,促进其在更多领域上的推广。大量实验证明,提出的每个注意力模块的有效性以及提出的方法相较于现有方法的优越性。