结合多尺度特征学习与特征对齐的行人重识别

金子丰,卞春江,陈 实

1.中国科学院 国家空间科学中心 复杂航天系统综合电子与信息技术重点实验室,北京 100190

2.中国科学院大学 计算机科学与技术学院,北京 100049

行人重识别被广泛认为是图像检索的子任务,旨在从大量的行人图像库中检索给定的目标图像,从而帮助人们获取目标跨多相机监控下出现的信息。行人重识别技术具有广泛的应用前景,如智能安防、身份认证、人机交互等,近年来,行人重识别逐渐成为计算机视觉领域的研究热点[1]。

早期的行人重识别工作主要集中于手工设计更好的视觉特征和学习更好的相似度度量两个方面[2],其中主要用到的手工特征包括Gabor特征[3]、梯度直方图(histogram of oriented gradient,HOG)[4]、SIFT(scale invariant feature transform)[5]等,一些工作[6-9]通过多种手工特征的组合来表示特定行人图像,再通过距离度量手段进行特征间相似度计算。然而,由于实际监控中的行人图像场景复杂,行人重识别面临人体姿势与外观变化、复杂背景干扰、遮挡、光照及摄像机视角变化等一系列挑战,且行人检测误差也会导致提供的行人包围框质量不佳,传统手工提取的特征对数据敏感,无法作为行人健壮的特征表示。

最近几年,以卷积神经网络为代表的深度学习已被成功应用到计算机视觉的多项任务中,如人脸识别、图像分类、机器翻译等,并取得了远超传统方法的性能,这得益于深度学习所具有的强大的特征提取和自动学习能力。在行人重识别领域,基于深度学习的方法重点关注于行人判别性特征的提取,通过利用GoogLeNet[10]、ResNet[11]等深度神经网络,结合特征学习算法来获得行人更好的表示,并将其用于行人间的匹配。损失函数作为神经网络的监督信息,对网络的学习具有至关重要的作用,行人重识别工作中有两种常用的损失函数:分类损失和度量损失。分类损失将行人重识别看作一个分类任务,把网络提取的特征经过全连接层后用于行人的身份分类,如Softmax损失;
度量损失不直接将特征用作分类,而是通过某种度量学习方式,使相同行人间的特征距离更小,不同行人间的特征距离更大,以达到区分不同行人的目的,常用的度量损失有对比损失(contrastive loss)[12]、三元组损失(triplet loss)[13],以及在三元组损失基础上的一些改进[14-15]等。

对于行人特征的学习来说,一个直观的方法是对整个输入图像提取一个全局特征,这种全局特征学习的方式在于使网络基于整个人体去学习一个完整的表示,由于没有显式地让网络关注人体的某个部分,可能会导致一些局部细节信息轻易地被忽略掉,这对于区分两个外观相似的行人是不利的。实际场景下,姿势、相机视角、光照、分辨率等的不同均会导致较大的类内差异,同时,不同行人间的外观相似性也会让类间差异更小,使网络难以实现有效的区分。识别相似的两个行人,一些局部区分性细节是有用的,比如一个人是长发或短发、有无背包等,这些细节信息能够提高人们识别的准确度,而这对于深度神经网络来说是困难的,因为它无法选择性地去关注这些对识别有用的细节。基于上述考虑,在提取全局特征的基础上,一些工作通过手动或自动地让网络关注局部区域,并从局部区域中获取有价值的细节信息,从而使网络能够学习到更加丰富的行人特征。常见的有利用姿态、骨架关键点定位网络来获取具有确定语义的身体部位,或通过行人属性识别获取人体属性等辅助行人重识别的工作。这些方法需要额外训练的检测网络,增加了整个模型的复杂度,且检测效果易受数据质量和场景变化影响,不利于实际场景下的应用。因此,本文主要关注另一种简单且更有效的局部特征学习方法,即对图像或特征进行切分,最近被广泛地应用到行人重识别领域,并获得了更好的性能表现。需要注意的是,直接对图像或特征进行切块,要求行人图像具有良好的空间对齐,当行人在图像中具有不同分辨率、不同空间位置和较大姿势差异的情况下,简单地进行切分反而会使得模型学习到错误信息而判断失误[2,16]。

综上所述,针对一般行人重识别方法中存在的行人特征表示能力不足的问题,本文提出了一种新的多尺度特征学习算法,网络采取多分支的结构,不同分支将不同尺度的特征图作为输入,学习更加健壮和丰富的人体特征。同时,考虑到人体在图像中不对齐会导致模型性能下降,对骨干网络不同深度输出的特征图,采用特征对齐模块对其进行空间上的变换,调整人体特征在图像中的大小和位置,实现人体特征在空间上的良好对齐。对齐后的特征有利于后续网络的学习,同时也使模型在逐步迭代训练的过程中,每个分支能够更多地关注其负责的行人特征区域,而不是变化的背景或其他区域,从而提升多尺度特征学习算法的有效性。在测试阶段,特征对齐模块有助于相同人体区域的特征之间进行比较,避免了由于人体特征不对齐导致的相似性度量不准确。最后,在标准大型数据集上与一些代表性的方法做比较,验证了所提出方法的有效性。

在行人重识别中,局部特征与全局特征具有互补性质,两种特征通常被结合起来改善行人重识别的结果。Tian等人[17]使用场景属性和行人属性来改善行人检测结果,对背景相似的行人和困难行人样本有更好的检测能力;
Zhao等人[18]提出了一种基于属性驱动的行人重识别方法。单个行人图像的特征被分解成若干子特征,每个子特征对应于特定区域的语义属性。通过属性识别的置信度对同一行人时域多帧图像进行加权聚合得到最终表示。Lin等人[19]提出了一种属性——身份识别网络,分别训练行人属性识别和行人身份识别两个模型,优化两个目标函数。对人进行重识别时,属性信息作为行人重识别的辅助线索,利用属性对大量的非目标图像进行过滤,加快检索速度,并提高重识别的精度。人体的属性信息虽然能为行人重识别提供有用线索,但无法很好地应对遮挡和视角、姿势的变化,而跨场景下属性识别容易出现误差,这会直接对行人重识别任务造成负面影响。

局部特征学习的另一个重要方向,采取对图像或特征进行切分的方式。Varior等人[20]采用孪生网络,将输入的一对图片水平切分为若干份,然后将分割好的若干图像块按照顺序送到一个长短时记忆网络(long short term memory network,LSTM)[21],融合所有图像块的局部特征得到最后的特征表示。简单地进行图像水平切分来提取局部特征,要求输入的图像本身具有高度的对齐,否则如果图像本身在空间上的分布不一致,如图1,当一个图像中的头部对应另一个图像中的胸部或背景,将两个具有不同语义的特征进行比较会导致错误。Zhang等人[22]设计了一种动态对齐网络实现图片块从上到下的自动对齐。在人体的空间对齐问题上,Zheng等人[23]利用空间转换网络[24](spatial transformer networks,STN),代替直接对原始图像进行切分和对齐,通过STN网络对CNN提取的浅层特征进行空间变换,达到人体特征在空间上对齐的目的。同样,Dai等人[25]也采用STN来缓解数据集中图像的空间错位问题;
Han等人[26]通过STN联合优化行人检测和行人重识别两个任务,利用行人的分类损失指导行人检测网络生成更好的行人包围框。另外,一些其他的工作[27-28]通过引入关键点和姿态检测网络,获得相对准确的身体部位划分,前提是图像中人体的各个部位能够被准确识别和定位,同时额外的检测网络使整个模型变得更加复杂,无法以端到端的方式学习。

图1 行人空间不对齐示例Fig.1 Examples of pedestrian spatial misalignment

最近,Sun等人[29]提出PCB(part-based convolutional baseline,PCB)网络为局部特征学习提供了新的思路,因其具备简单且高表现的优势,成为行人重识别领域一个流行的基准。代替对原始图像进行水平分块,PCB网络对骨干网络输出的特征图进行水平切分得到六个局部特征,随后,六个局部特征被送入六个独立的分支,让每个分支从局部信息中学习行人的分类。这种直接的切分方法可能将原本属于一个部分的特征划分到不同部分,作者提出了部分修正模块RPP(refined part pooling,RPP),在一定程度上缓解了这种简单的方式引起的划分错误。然而,PCB网络的性能仍然受限于两个方面。首先,如图1所示,在实际场景中,来自于姿势、视角和分辨率等的巨大差异导致的行人身体在图像中的不对齐更加严重,此时RPP的作用是有限的;
其次,人体各部分信息具有强的语义相关性,这种相关性有助于网络学习到更好的表示,而将特征图切分成多个部分独立进行学习,丢失了各部分特征之间的关联信息。

针对上述问题,本文所提出的行人重识别方法,通过对特征进行空间上的变换以实现人体特征在空间上的对齐。在此基础上,对网络最终输出的规范的特征图,应用所提出的多尺度特征学习算法,使网络在多个尺度的特征上学习不同粒度水平的人体信息,同时保留了人体各部分特征之间的内在联系,最终实现模型识别性能的提升。

本文采用ResNet-50作为特征提取的骨干网络,在其基础上做了一些简单的修改。首先,本文将ResNet-50网络中的全局平均池化层替换成一种多尺度的特征池化层,通过不同大小的池化核,得到多个尺度的特征张量,作为后续多尺度特征学习分支的输入。其次,通过将ResNet-50最后一个阶段中下采样操作的步长从2修改为1,使得输出的特征图在尺寸上扩大了一倍,更高空间分辨率会使特征保留更多的细节信息,为模型带来显著的提升[29-30]。最后,在不同的数据集上,把用于分类的全连接层根据数据集的训练行人数目进行相应的修改,以完成模型在不同数据集上的训练任务。

2.1 多尺度特征学习算法

对行人图像提取一个全局特征是简单的,但它没有考虑局部信息,导致一些有用的细节常常被忽略;
而无论是对图像还是特征进行切块,目的都在于让网络从有限的局部特征中去学习行人代表性的细节内容,在分类损失监督下,实现局部特征到行人身份的正确分类。之前的局部特征学习的工作主要关注对图像或特征的划分方式,而忽略了人体各部分特征间是高度相关的,这种相关性有助于学习到更好的行人表示,比如一件衣服或背包,当被划分到不同的部分之后,会失去其代表的实际语义和上下文关联。本文提出的多尺度特征学习算法,弥补了简单切分的学习方式存在的不足。如图2所示,输入图像x,经过ResNet-50骨干网络得到特征张量T∈RH×W×C,其中C为通道数,H和W分别为高和宽。随后,一个多尺度特征池化层,代替原ResNet-50中的全局池化层,对T以不同大小的池化核进行池化,得到多个不同尺度的特征张量作为后续多尺度特征学习分支的输入。

图2 网络的多分支结构Fig.2 Multi-branch structure of network

在本文的实验设置中,输入x的大小被调整为324×128,则经过ResNet-50得到张量T∈R24×8×2048,本文中将3维张量沿通道维度方向定义为特征向量,对于张量T,其包含192个特征向量,每个向量的维度为2 048。在多尺度特征池化层,三种不同大小的池化核(相同步长,均为8×8)作用于T,得到三个不同尺度的特征,网络由此被分为三个独立的分支。其中,张量T经过大小为8×8的平均池化得到zP1∈R3×1×2048作为局部分支P1的输入,同样,经过16×8的平均池化得到zP2∈R2×1×2048作为局部分支P2的输入。24×8的平均池化得到zG∈R1×1×2048,作为第三个分支的输入,因为该分支相当于对T作全局平均池化得到一个行人的全局特征作为输入,因此该分支被当作全局分支G。在局部分支P1与P2中,输入特征分别经过一个1×1的卷积层进行降维,然后再经过批归一化层,ReLU激活层,得到fP1∈R3×1×512与fP2∈R2×1×512,随后,fP1与fP2在垂直方向上进行水平切分,分别得到切分后的特征向量被用作局部特征学习。在局部分支P1中,fP1被水平切分成三个部分,三个部分分别关注张量T上互不相干的三个特征区域。而在局部分支P2中,对fP2切分得到的两部分特征向量在T上具有上下重叠的感知区域,这使得在P1分支中被切分到不同部分的特征,在P2分支与全局分支G中弥补了其所丢失的相关性。在多尺度池化层的作用下,三个分支用于分类的特征向量具有不同大小的感知野,以学习不同粒度水平的人体特征,全局分支中的特征zG具有全局感知野,综合考虑行人的全部信息,用于学习行人整体上的表示。局部分支P1与P2中的特征向量具有更小的感知野,每个向量关注特征图上对应的局部区域,用来学习局部细节信息的提取。因为具有更小的池化核尺寸,P1分支中的每个特征向量比P2分支中的感知野更小,学习更精细的局部信息。

度量损失和分类损失通常被结合用于优化行人重识别模型,有助于获取更具判别性的行人特征表示。在全局分支G中,本文同时使用度量损失和分类损失。具体来说,全局特征zG被用于度量损失,拉近类内距离,推开类间距离;
分类损失不直接作用于zG,而是zG经过批归一化(batch normalization,BN)后的特征fG,这降低了分类损失与度量损失之间的约束,使两者更容易实现同步收敛。在局部分支P1与P2中,将切分后的局部特征向量,输入到各自的分类层单独计算分类损失,网络最终的损失等于来自三个分支的六个分类损失与来自全局分支G中的度量损失的和。在测试阶段,将三个分支中的特征fP1、fP2与fG进行级联得到行人最终的特征表示,用于行人间的特征比对。

2.2 特征对齐模块

行人图像或特征在空间上的不对齐,会对模型的识别造成不良影响。针对这个问题,大部分工作着眼于使用额外的姿态或骨架关键点检测模型来定位身体部位,以进行局部特征的学习和比对,这不仅使模型变得复杂,且无法以端到端的方式去训练检测和识别两个不同的任务,使检测模型提供的检测结果变得不可靠。STN首次被提出用来对图像或特征执行空间变换,增强模型对图像中的目标主体平移、缩放、扭曲等的适应能力。在行人重识别领域,一些工作利用STN对图像或特征进行空间上的变换以达到人体或人体特征对齐的目的,伴随着网络的训练过程,STN将对各种类型的输入学习相应的空间变换策略。受上述工作启发,本文在ResNet-50的不同深度应用特征对齐模块,以确保其面对复杂场景下人体特征不对齐情况时能有效地发挥作用。特征对齐模块被插入到ResNet-50中,作为一个整体进行端到端训练,无需提供额外的数据集和标注信息,整个模块具备可导性,使其能够参与标准的误差反向传播和参数更新,在整个模型的训练过程中得到学习。

如图3,特征对齐模块包括变换参数估计和坐标采样两个步骤。具体来说,对于一个输入张量U∈RH×W×C,变换参数估计由一个轻量级的CNN来完成,该轻量级网络由卷积层、最大池化层、BN层、ReLU激活层和全连接层堆叠而成,最后用一个全连接层实现特征向量到变换参数向量维度的映射。本文采用仿射变换来作为特征对齐模块中对特征的空间变换方式。通过参数估计网络得到一个六维的变换参数向量θ,由θ构成仿射变换矩阵Aθ,Aθ的形式为:

图3 特征对齐模块Fig.3 Feature Alignment Module,FAM

对于期望输出特征V∈RH×W×C上的特征点坐标G,根据Aθ有:

在本文中,分别对骨干网络ResNet-50中stage_1和stage_2输出的特征图,通过两个特征对齐模块执行空间变换,表1展示了两个特征对齐模块中参数估计CNN网络的设计细节,1×1卷积先对输入特征张量进行降维,减少特征对齐模块的参数量,避免陷入过拟合;
BN层稳定梯度,使模型易于收敛;
最后需要一个全连接层将不同长度的特征向量映射到固定长度的变换参数,本文采用仿射变换因此有6个变换参数。参数估计网络会在不同深度的特征图上学习相应的空间变换参数,以保证变换后的特征达到预期的效果。变换后的特征输入网络后续部分继续前向计算过程。在测试阶段,特征对齐模块的应用能使模型提取到更有效的人体特征,进而提升特征间相似性度量结果的准确性。

表1 参数估计网络的结构设计Table 1 Structure design of parameters estimation network

2.3 损失函数

为了增强所学特征的判别能力,本文结合度量损失与分类损失共同指导网络参数的学习。对于一个批次的训练样本{(xi,yi),i=1,2,…,N},Softmax损失形式为:

其中,Wq表示类别q分类层的权重参数,Q表示训练集中行人类别数目,fi是网络对xi提取的特征。

在度量学习工作中,Triplet损失是一种常用的度量损失。对于一个训练批次的P×K张图像,其中P表示行人数目,K表示每个行人的图像数目,Triplet损失每次从一批训练数据中随机选择一个锚点样本(anchor,a),一个与a相同身份的正样本(positive,p),一个与a不同身份的负样本(negative,n)构成一个三元组去训练网络,使同类样本对间的距离小于不同类的样本对。Triplet损失的限制在于其三元组的构建是一种随机采样的方法,没有关注样本之间的难易程度,大多数采样得到的三元组都是一些易区分的样本对,可能导致模型在面对困难样本时无法进行正确区分。本文采用一种改进的Triplet损失,即难样本采样三元组损失(triplet loss with batch hard mining,TriHard损失)[31],通过在一批训练数据中挖掘困难样本,以增强模型对困难样本的区分能力。在一批训练数据中,TriHard损失三元组的采样每次都挑选出一个与a相同身份但距离最大的作为正样本p,与a不同身份但距离最小的作为负样本n,组成难样本三元组来训练网络。使用欧式距离作为度量函数时,损失函数形式如下:

其中,α为控制类内与类间差异的阈值超参数分别为锚点样本、正样本和负样本的特征。这种难样本采样的方法可以改进度量学习方法的性能,提高模型的泛化能力。

其中,WP1,k、WP2,k与WG表示三个分支中各分类层的权重参数。

3.1 数据集和评价指标

本文在两个常用的大型公开行人重识别数据集,Market1501[32]与DukeMTMC-reID[33]上,对所提出的方法进行验证,并与当前一些代表性的工作进行比较。Market1501采集于清华大学,图像来自6个不同的摄像头,其中有一个摄像头为低分辨率。数据集包含1 501个行人,由检测器检测得到的32 668张图像。数据集分为训练集和测试集,训练集包含751个行人的12 936张图像,测试集图像来源于其余750个行人。测试集又被划分为查询集和图库集,查询集有3 368张图像,图库集包括与查询集相同行人的不同图像13 056张,还有6 676张查询集未出现过的行人的图像被用于干扰项。DukeMTMC-reID采集于杜克大学,图像来自8个高分辨率摄像头,数据集共包含1 812个行人的36 411张图像,由人手工标注得到。其中,训练集包含702个行人的16 522张图像,其余行人用于测试集。测试集中,查询集由其余702个行人组成,共2 228个图像,图库集中包含与查询集相同行人的不同图像,和用作干扰项的其他408个未出现在查询集的行人的图像共17 661张。

本文采用k位命中率rank-k和平均精度(mean average precision,mAP)作为算法的评价指标。rank-k表示模型返回的排序列表中,前k个结果存在目标行人的概率;
mAP反映了在排序列表中,目标行人在图库中所有图像都排在前面的程度,综合考虑查准率和查全率,能更全面地衡量算法性能。

3.2 实验设置

本文在Ubuntu16.04,单块11 GB的NVIDIA GeForce GTX 1080 Ti GPU环境下进行实验。整个模型的实现基于PyTorch深度学习框架。使用在ImageNet[34]上预训练的ResNet-50网络权重初始化骨干网络。在训练过程中,输入图像被调整到384×128,使用随机水平翻转和随机擦除进行数据增强,采用随机抽取的P个行人,和对每个行人随机采样的K张图片构成一个训练批次,实验中P=16,K=4。本文选择Adam作为模型优化器,动量设置为0.9,用于l2正则化的权重衰减系数为5E-4。TriHard损失中α被设置为1.2。训练共经过200轮,对于主网络,初始学习率为5E-5,在前20轮线性增加到1E-3,并在第60和第150轮分别衰减为1E-4和1E-5。在训练的开端,特征对齐模块的变换参数θ11与θ22被初始化为0.9,其余为0,这使网络从关注特征图的中心区域开始训练,特征对齐模块的学习率设置为主网络的0.1,避免模型震荡难以收敛。

3.3 实验结果

与最近一些具有代表性的行人重识别方法进行比较,其中PCB+RPP[29]将行人特征进行水平切块进行局部特征学习;
BDB[35]随机擦除一个批次所有特征的相同区域,以增强局部区域注意力特征的学习;
AANet[36]和APR[19]利用人体属性信息辅助行人重识别任务;
Spindle[27]和GLAD[28]通过骨架关键点检测定位身体部位指导局部特征的学习。另外,AlignedReID[22]和PAN[23]将行人图像或特征进行对齐来提升行人重识别精度。为了简化实验和直观地分析方法本身的有效性,在本文的所有实验中均使用单帧查询模式,且未使用re-ranking[37]技术。

表2列出了本文的方法及上述工作在Market1501上的实验结果,本文方法的结果被展示在最后两行,前一行为测试阶段仅使用2 048维全局特征向量fG的实验结果,后一行为将三个分支中的特征fP1、fP2与fG进行级联的实验结果,共4 608维。可以看到,本文方法取得了更好的表现,在仅使用全局特征向量fG用于特征匹配时,rank-1精度和mAP分别为94.82%和85.66%。当级联各分支特征时,rank-1精度和mAP分别达到了95.31%和87.49%,优于现有大多数行人重识别方法。与PCB+RPP相比,本文提出的方法在rank-1与mAP指标上分别增加了1.51和5.89个百分点;
与BDB相比,本文的方法在rank-1与mAP指标上分别增加了1.11和3.19个百分点;
PAN虽然也采用STN缓解人体特征不对齐的问题,但PAN将网络划分为主分支与对齐分支两个部分,而不是在训练过程中作为一个整体端到端地学习。与PAN相比,本文的方法将特征对齐模块嵌入到骨干网络中,是一个完整的端到端架构,特征对齐模块通过优化网络的学习过程,进而促进多尺度特征学习算法更好地发挥作用。在各项指标上,本文的方法相比PAN有显著提升。

表2 Market1501数据集实验结果对比Table 2 Comparison of experimental results on Market1501 单位:%

如表3所示,在DukeMTMC-reID数据集上,本文的方法同样取得了优秀的表现,其中,rank-1精度和mAP分别达到87.74%和77.53%。与PCB+RPP和BDB相比,rank-1分别提升了4.44和0.94个百分点。mAP分别提升了8.33和5.43个百分点。进一步验证了本文方法的有效性。

表3 DukeMTMC-reID数据集实验结果对比Table 3 Comparison of experimental results on DukeMTMC-reID 单位:%

在图4中,列举了一些给定行人图像的前十位检索结果,这些图像取自Market-1501的查询集,其中,错误的返回结果用红色框标出。在前两行,可以看到本文方法对各种姿势和视角下的行人识别具有强大的鲁棒性,即使给定的是一个人的正面图像,其背后视角的图像也得到了正确识别。在第一行虽然给定的是一个人不完整的背面图像,本文方法依然能准确地找出其在多相机视角下的正确结果,这得益于多尺度特征学习算法,使网络能提取到更丰富、更具代表性的人体特征。同时,当人体在图像中的位置和分辨率具有较大变化时,也得到了正确的识别,特征对齐模块使模型能够更好地适应这些困难样本。

图4 给定查询图像的前十位检索结果Fig.4 Top-10 search results for some given query images

3.4 分析与讨论

为了研究多尺度特征学习算法各分支作用,在Market1501数据集上,本文对各分支间的不同组合进行了一系列对比实验,使用特征对齐模块的结果被显示在括号内,实验结果如表4。其中,G表示ResNet-50+全局分支G的实验结果,G+P1+P2则表示同时采用全局分支和两个局部分支的实验结果,即本文方法的最终结果。

表4 Market1501上不同分支组合的实验结果Table 4 Experimental results of different branch combinations on Market1501 单位:%

可以看出,仅使用全局分支G时获得了最差的结果,rank-1与mAP分别为93.05%和82.87%,同时使用全局分支G和局部分支P1时,rank-1与mAP分别增加了0.76和1.79个百分点,而同时使用全局分支G和局部分支P2时,rank-1与mAP分别增加了1.07和2.31个百分点,局部分支的加入增强了模型的识别能力。G+P2的结果略优于G+P1,因为P2分支中特征的每个列向量在张量T上具有相互重叠的感知区域,这使在进行局部特征学习的同时,保留了更多特征间的相关性信息。G+P1+P2作为本文最终的方法,获得了最好的实验结果,相比仅使用单一的全局特征,rank-1与mAP分别增加了1.37和3.02个百分点,因为每个分支学习不同粒度水平的人体特征,不同分支学习的特征相互补充,进一步增强模型所提取特征的丰富性和表示能力。另外,表4中的实验结果表明,在多项对比实验中,特征对齐模块的加入对结果有进一步的提升。

为了直观分析特征对齐模块在整个模型中的作用,对ResNet-50中stage_2的输出Ustage_2∈Rn×512×48×16,通过可视化得到其通过特征对齐模块变换前后的特征响应图。如图5所示,抽取的几张示例图像来自于Market1501测试集。可以看到,特征对齐模块变换之前的特征对人体以外的背景也具有不同程度上的高响应,且各特征图中人体特征的大小和位置具有较大差异,这对模型的学习和识别是不利的。当特征被输入特征对齐模块后,变换后的特征丢弃掉了人体特征以外大量无用的背景干扰信息,使高响应聚焦于人体,从而强调了图像中包含人体信息的重要部分而抑制背景;
在所有的例子中,人体特征图都得到了不同程度上的平移和缩放,变换后的人体特征更靠近特征图的中心区域,得到良好的对齐,这对网络学习行人的判别性表示是非常重要的。

图5 变换前后特征的可视化示例Fig.5 Visualization examples of features before and after transformation

当前一些行人重识别方法对行人提取一个简单的全局特征,无法应对复杂的行人重识别场景;
局部特征学习的方法有助于学习到丰富的人体局部信息,但将行人生硬地划分成多个部分,对每个部分独立地学习该部分的表示,忽略了人体各部分之间的相关性,而部分划分的错误也会影响行人重识别效果。本文提出的多尺度特征学习算法,在多个尺度的特征上学习不同粒度水平的人体信息,同时保留了各部分特征之间的相关性,增强模型所提取特征的表示能力。实验结果表明,多尺度特征学习算法优于单一的全局特征和一般的局部特征学习方法。特征对齐模块通过将不对齐的人体特征执行相应的空间变换,将其调整到适当的大小和位置,增强模型对图像中人体大小和位置差异的适应能力,进一步提升识别精度。本文方法在两个大型行人重识别数据集上均取得了优秀的识别结果,在接下来的工作,将从实际应用的角度出发,进一步研究跨场景下如何提升行人重识别模型的泛化能力,并结合行人检测模型完成行人重识别系统的实现和优化。

猜你喜欢 分支行人局部 日常的神性:局部(随笔)山花(2022年5期)2022-05-12毒舌出没,行人避让意林(2021年5期)2021-04-18凡·高《夜晚露天咖啡座》局部[荷兰]散文诗(2020年1期)2020-07-20基于git工具的多分支并行开发上线流程电子技术与软件工程(2019年5期)2019-06-20路不为寻找者而设扬子江(2019年1期)2019-03-08用“分散数论”对“哥德巴赫猜想”的初等证明课程教育研究(2018年30期)2018-12-14含有二阶幂零鞍点的双同宿环附近的极限环分支上海师范大学学报·自然科学版(2018年3期)2018-05-14我是行人小天使·一年级语数英综合(2017年6期)2017-06-07丁学军作品东方艺术·国画(2016年3期)2017-02-08硕果累累疯狂英语·口语版(2013年1期)2013-01-31

推荐访问:特征 尺度 对齐