1. 引言
行人重识别(Person Re-Identification, Person Re-ID),是指在跨摄像头的情况下,在多张行人图像中找出匹配目标人物的图像 [1],广泛应用于安防系统和智能商业等领域。行人重识别实现思路为计算查询图像与图库中所有图像的相似度,根据相似度从大到小排列得到重识别结果 [2]。目前,行人重识别亟需解决的问题有:行人姿态多变、背景变化大、拍摄角度差异大、存在局部遮挡等。解决上述难题的关键在于特征提取和相似性度量。
传统行人重识别任务研究主要集中在人工设计特征提取器,比如文献 [3] 提出的尺度不变特征变换(Scale-Invariant Feature Transform, SIFT),文献 [4] 提出的局部二值模式(Local Binary Patterns, LBP)以及文献 [5] 提出的局部最大特征值(Local Maximal Occurrence, LOMO)。但这些方法提取到的特征描述能力有限,难以应用于复杂情况下大数据量的行人重识别任务。随着深度学习的兴起,卷积神经网络(Convolution Neural Network, CNN)凭借出色的特征提取能力,取代了传统的人工特征提取器。研究者利用卷积神经网络提取行人整图图像的全局特征,并通过不同的局部划分策略,如图像切块 [6]、通过姿态语义信息分块 [7] 通过注意力机制分块 [8]、和通过人体语义解析信息分块 [9] 等,进行局部特征提取,最后将全局特征和局部特征拼接得到行人的特征表示,并通过计算行人特征表示之间的欧式距离作为行人图像的相似度。
基于深度卷积网络的局部特征提取方法虽然可以提取到有判别性的特征,在行人重识别任务上取得了不错的效果,但仍存在两个问题导致局部特征的判别性被削弱。第一,由于局部划分的粒度比较大,获取到的局部区域包含行人信息和背景噪声信息。比如PCB [6] 使用垂直方向均匀切块的方法,每个局部块都包含了背景噪声信息。SpindleNet [7] 根据语义将人体姿态中身体部位的关节点分成五组,对应身体的五个部位,将每组关节点在行人图像上围起来的区域作为局部特征提取的区域。这种方式提取到的局部图像同样也包含了背景噪声信息。第二,忽视了提取到的局部特征之间的关联关系。文献 [6] [7] [8] [9] 等局部特征提取方法,直接将提取到的局部特征拼接,然后计算拼接后的局部特征之间的相似度,这种方式导致了模型在辨别两个穿着相似的行人时,由于缺少了额外的位置辅助信息,从而很难进行精确匹配。
针对上述问题,本文提出了一种基于人体语义解析和图神经网络的行人重识别模型。本文的主要贡献分为三个部分:
1) 本文引入人体语义解析网络预先提取行人身体局部区域,用于提取细粒度的局部特征,获取到行人身份的敏感信息,减少背景噪声信息带来的负面影响。
2) 本文引入图卷积神经网络,用于提取局部特征之间的关联关系,增强局部特征的判别性。
3) 本文将行人局部特征构造成图,引入全局对级相似度损失函数进行模型训练,进一步增强局部特征的判别性。
本文的结构如下:第二章介绍行人重识别的相关工作,第三章介绍提出的方法,第四章展示实验,第五章总结全文。
2. 相关工作
2.1. 行人重识别
行人重识别旨在实现跨摄像头检索目标人物,主要分为特征提取和度量学习两部分。
随着深度学习技术的发展,CNN已经广泛应用于计算机视觉任务中的图像特征提取。通过CNN直接提取整张图像特征的方式简单高效,但提取到的特征很容易忽略行人身份的敏感信息,从而导致全局特征无法很好的区分类间相似度高或类内差异大的行人样本。因此,研究者们提出了基于局部特征的行人重识别方法,通过定位行人的身体部位,提取对应部位的身份敏感信息。Sun [6] 等人提出了PCB模型,将行人图像水平切割分块,通过骨干网络提取到每块的特征,拼接成局部特征。Zhao [7] 等人提出的SpindleNet引入了行人姿态信息,通过姿态关键点提取到7个身体区域,并从身体区域中提取局部特征。Li [8] 等人提出了HA-CNN模型,引入了多条局部分支,每条分支分别关注图片的一块局部区域的特征,最终将各条分支学到的特征进行融合得到行人的局部特征。文献 [9] 中的SPReID模型引入行人人体语义解析网络提取行人的身体区域的掩膜图像,与原图经过骨干网络得到的特征图结合,得到行人身体区域的局部特征。众多基于局部特征的行人重识别方法证实了局部特征的有效性。
度量学习是广泛应用于图像检索领域的一种方法,旨在通过网络学习出两张图片的相似度。在行人重识别任务上表现为同一行人的不同图像的相似度要大于不同行人的图像的相似度。Varior [10] 等人使用了孪生网络,同时输入两张行人图像,采用对比损失(Contrastive Loss)训练模型,使得相同行人图像(正样本)之间的距离逐步缩小,不同行人图像(负样本)之间的距离逐步增大。文献 [11] 首先构造包括一对正样本和一对负样本的三元组,分别命名为目标图片(Anchor),正样本图片(Positive)和负样本图片(Negative)。然后采用三元组损失函数训练网络,拉近了正样本之间的距离,增大了负样本之间的距离。但三元组损失没有考虑到正样本的绝对距离,因此文献 [12] 提出改进三元组损失,在损失函数上增加正样本绝对距离公式项约束。Chen [13] 等人进一步考虑了正负样本对的绝对距离,提出了四元组损失(Quadruplet Loss)。
2.2. 图卷积神经网络
图卷积网络(Graph Convolutional Network, GCN)是一种能对图数据进行深度学习的方法。它是对卷积神经网络在图域的扩展,能同时对结点特征信息与结构信息进行端到端的学习。文献 [14] 首次将图卷积用于半监督结点分类任务并取得了成功。之后图卷积神经网络广泛应用于计算机视觉领域,如动作识别 [15]、多标签图像识别 [16]、3D几何重构 [17] 等。在行人重识别领域,很多方法将行人图像样本建图,使用GCN来更新行人图像的特征表示。比如,Shen [18] 等人将查询集和候选集的图片两两组成对,并通过GCN来学习查询集图片与候选集图片之间的关联关系。Ye [19] 等人为每个摄像机中的图像样本构造一个图,然后利用图匹配方案进行跨摄像机的标签关联等。
3. 本文方法
本节主要介绍基于图神经网络的行人重识别模型的具体细节。如图1所示,网络模型分为全局表示学习分支和图表示学习分支,其中全局分支使用交叉熵损失函数和三元组损失函数对模型进行训练,学习到行人图像的全局表示。图表示学习分支先通过人体语义解析的结果得到行人图像的局部特征,然后将每块局部特征作为图结点,将局部块语义连接作为边构成图,通过图卷积网络更新局部特征,再通过交叉熵损失函数和图度量学习模块共同训练网络,增强提取到的特征的表达能力。

Figure 1. Human semantic parsing and graph metric learning fused model
图1. 人体语义解析与图度量学习融合模型
3.1. 全局表示学习
由于残差神经网络 [20] 在行人重识别任务取得了很好的效果,因此本文选取Resnet-50骨干网络来提取输入图片相应的特征图。为了增大特征图的感受野,本文将Resnet-50网络最后一层卷积层的步长设置为1,使得大小为256 × 128的原始图片经过骨干网络后输出的特征图大小为8 × 4,然后对特征图进行全局平均池化操作(Global Average Pooling, GAP)得到形状为C×H×W的特征,其中C为通道数,H为高度,W为宽度。再依次经过一层全连接层(Fully Connected, FC)进行降维、一层批处理归一化层(Batch Normalization, BN)进行归一化,得到全局表示。全局分支使用交叉熵损失函数和困难样本三元组损失函数进行联合训练,本文参考了文献 [21] 的做法,将经过BN层前的特征用于计算三元组损失,BN层后的特征用于计算交叉熵损失。
3.2. 基于人体语义解析的图表示学习
3.2.1. 局部特征提取
现有的局部特征提取方法 [6] 证明了局部特征的有效性,但这些方法提取到的局部区域是粗粒度的。为了精准定位行人身体部位的区域,本文使用了在人体语义解析数据集(Look into Person, LIP [22] )上预训练好的SCHP [23] 模型,通过该模型提取到行人图像的19个像素级人体部位标注,包括头部、手臂、左腿、上半身、下半身等,形成掩膜图像,如图2所示。将骨干网络提取到的特征图和二值化的掩膜图像对应位置相乘,再将所得结果进行全局池化,从而提取人体不同身体部位区域的特征作为局部特征。
3.2.2. 局部结构图的构建
现有的行人重识别方法提取到局部特征后,往往将各块局部特征单独考虑,通过简单的拼接或者最大池化操作进行融合,忽略了局部特征之间的关系。本文将提取到的19个身体部位的特征作为图的结点,并以19个结点的自然连接作为边,构成局部特征关系图G,如图3所示,每个柱形表示该部位的特征。获取到关系图G后,通过两层图卷积组成的图卷积网络进行结点间信息的传播,从而对关系图中的结点进行更新,得到融入结构信息的局部特征
,最后通过最大池化融合局部特征得到整图的表示
。图卷积函数的公式表达如式(1)所示,其中HL表示第L层图卷积后的特征,
表示归一化后的邻接矩阵,WL-1是模型学习到的变换矩阵,h表示非线性激活函数。
(1)

Figure 2. Human semantic parsing result of some query images in Market-1501
图2. Market-1501上部分检索图像的人体语义解析图

Figure 3. Relation graph of local features
图3. 局部特征关系图
3.2.3. 图度量模块
图度量学习旨在训练模型学习到满足正类图在特征空间距离更近,负类图在特征表示空间距离更远的图表示。常用的图度量有图嵌入(Graph Embedding)、模式计数(Motif Counting)和图编辑距离(Graph Edit Distance)等。本文的身体局部连接关系是固定的,因此不适用模式计数。而图编辑距离的方式需要预先计算编辑代价,不够高效。图嵌入的方式只考虑整图全局的相似度,容易丢失图结构信息,因此本文引入了一种图度量学习方法,通过对比两个图对应结点之间的相似性,并赋予不同的权重来获得整图的相似性。具体实现模块见图1 Graph Metric Learning Module。首先通过一层点积层计算两个图的对应结点的相似性,再经过一层全连接层学习各个结点的重要程度,得到整图的相似性,并通过全局成对相似度损失函数对正负样本的相似性分布做约束。
全局成对相似度损失函数由文献 [24] 提出,旨在避免过度采样和欠采样,基于相同类别和不同类别的特征相似性呈独立分布的假设,最小化正类相似度和负类相似度分布的方差,最小化正类相似度分布的均值,并最大化负类相似度分布的均值,在学习局部图片特征的任务上效果远超传统的损失函数。该损失函数的表达式如下:
(2)
(3)
(4)
(5)
(6)
3.3. 损失函数
3.3.1. 标签平滑交叉熵损失函数
行人重识别通常被视作分类任务,并用交叉熵损失函数训练行人重识别网络。由于行人重识别中训练集和测试集中的行人是不同的,用传统的交叉熵损失函数训练得到的网络容易对训练集的行人标签过拟合,为了避免这种情况,我们借鉴了文献 [25] 的做法,对标签进行了平滑处理,其中K表示行人标签数,
表示阈值,实验中设置为0.1,如式(7),(8)所示。
(7)
(8)
3.3.2. 困难样本三元组损失函数
行人重识别任务也被视为聚类任务,目标是直接将相同行人的若干图片映射到高维空间,形成聚类效应。行人重识别任务中常用三元组损失函数进行模训练。考虑到大多数三元组是简单样本,不利于模型的训练,因此借鉴了Alex [26] 等人提出的困难样本三元组损失函数,对于每个目标图片anchor在一个训练批次内选择欧式距离最远的正样本图片positive和欧式距离最近的负样本图片negative来训练网络,增强网络的泛化能力,从而使网络学习到更好的表征。难样本三元组损失函数如式(9)所示,其中
表示目标样本与正负样本的间隔参数,设置为0.3,da,p,da,n分别表示目标样本和正样本的欧氏距离,目标样本与负样本的欧氏距离。
(9)
3.3.3. 联合损失函数
本文提出的行人重识别网络通过标签平滑交叉熵损失函数、三元组损失函数和全局成对相似度损失函数进行训练,共同约束特征,其中全局分支使用标签平滑交叉熵损失函数Lxcent_g和三元组损失函数Ltri_g进行训练,局部分支使用标签平滑交叉熵损失函数Lxcent_l和全局成对相似度损失函数J进行训练。关于全局成对相似度损失函数已在3.2.3节中详细阐述。因此,本文的损失函数如式(10)所示。
(10)
4. 实验与分析
4.1. 数据集
本文所提出的算法在行人重识别领域的三大主流数据集(Market1501、DukeMTMC-reID、CUHK03)进行了广泛实验,并通过mAP、Rank-1、Rank-5、Rank-10评价指标作出对比评估,我们的实验结果并未进行重排序操作。
Market1501数据集中,训练集图片数为12936,包括751个人;测试集为19732张图像,包括查询集3368张图像。DukeMTMC-reID数据集在2017年公开,训练集中702人,16522张图像;测试集中702人,19889张图像,包括查询集2228张图像。CUHK03数据集在2014年公开,本文实验中采用了新版的测试协议,将数据集分为包含767个行人的训练集和包含700个行人的测试集。表1列出了每个数据集的详细信息。
4.2. 评估标准
评估行人重识别模型的性能时,需要获取相关实验的模型测评指标。针对不同的研究任务,评价指标也不尽相同。在行人重识别任务中,常用首位匹配率(Rank-1)和均值平均精度(mAP)这两个评价指标来描述模型性能的优劣。对应两个指标越高,说明模型对行人重识别的效果就越好。
首位匹配率(Rank-1)是在对应的查询集(Query Set)中的每张行人图像,通过行人重识别算法在候选集中选出候选序列,对应行人的图像排在候选序列第一位的数量占整个查询集图像数量的比例。假定查询集
,候选集
,m,n分别表示图像张数。P和G之间计算相似度得到相似度矩阵S,将S中的每行按数值从大到小的顺序排列,S中的数值越大,表示两张图像的相似度越高,定义s1为S中第一列中对应的来自查询集和候选集组成的图像对是同一行人身份的数量,则首位匹配率可表示成:Rank1 = s1/m。Rank-5,Rank-10表示候选序列中前5张图片和前十张图片中目标任务的命中率,可由同样的计算方法得出。
均值平均精度(mAP)是衡量模型总体好坏的指标,由模型的召回率和精确率进行计算得出。对于查询集的中的每个查询图像,定义精确度P为候选列表中前k个图像中正确匹配的图像数目n与k的比值,可表示成:P = n/k。而图像样本对应的召回率R为在候选列表的前k个图像正确匹配的数量n与行人在候选集中的图像数量m的比值,即:R = k/m。
当k取不同值时,可以在坐标系上得到多个P值的点和R值的点,用曲线分别依次连接各个P值点和各个R值点可以得到PR图。该样本的平均精度(AP)即为PR图中曲线围成的面积,而mAP为所有查询图像的AP值的均值。mAP作为常用的评估指标,可以更加综合和客观的评价模型性能。
4.3. 消融实验
为了进一步验证提取到的局部特征的有效性,本文以全局分支组成的模型Model_G作为Baseline,并采用标签平滑交叉熵损失函数和三元组损失函数进行训练。基于相同Baseline在Market1501和DukeMTMC-reID数据集做了多组消融实验,实验结果如表2所示。
从结果中我们发现,同时考虑全局特征和局部特征的Model_G_L模型,在Market1501数据集上的表现为rank-1,mAP比Baseline提升了0.3%和1.3%,在DukeMTMC-reID数据集表现为rank-1提升了1.3%,mAP提升了0.6%。证明了局部特征能够补足全局特征遗漏的行人细节信息。
在进一步考虑局部特征关系,引入图卷积网络后,模型Model_G_L_GCN在两个数据集上rank-1,mAP分别再提升0.4%,0.5%和0.2%,1.8%。证明了引入局部关系信息,使用图卷积得到行人的图表示,可以更好的实现行人重识别任务。
为了验证图度量学习模块的有效性,训练局部分支时,去掉了triplet loss,引入图度量学习模块组成Model_G_L_GCN_Jloss模型,在rank-1和mAP上进一步提升了1.0%,0.4%和0.5%,1.0%。证明了图度量学习模块中的全局成对相似度损失函数在图表示学习任务上的效果优于三元组损失函数。图度量学习模块考虑了各个结点之间的相似性,并通过全连接层学习各个结点的重要性,比三元组损失单独考虑整体相似度更能学到鲁棒性的特征。

Table 2. Person re-ID evaluation value on Market-1501 and DukeMTMC-reID
表2. 在Market-1501和DukeMTMC-ReID数据集上的实验结果
4.4. 与当前主流方法对比
为了验证本文中所提算法的优越性,本文与近几年的行人重识别主流算法分别在Market1501、DukeMTMC-reID、CUHK03-NP三个数据集上进行了比较。由表3可知,在Market1501、DukeMTMC-reID数据集上,本文提出的算法评价指标Rank-1、Rank-5、Rank-10、mAP与众多对比模型相比均达到了较高水平。对比MGN和PSRL模型,本文在Market1501和DukeMTMC的rank-1和mAP指标略低,这是因为MGN利用了多层粒度的特征图提取局部特征,能适应背景环境变化大的情况。PSRL模型使用了特征拼接模块,进一步融合局部特征,并训练模型学习得到局部结构之间的连接关系。从表4可知,MGN和PSRL在行人存在严重遮挡的情况下提取到的特征不够鲁棒。CUHK03数据集的行人姿态变化大,遮挡问题严重,行人重识别难度比其他两个数据集要大。而本文提出的算法在该数据集上的效果远远超过上述两个模型,证明了本文通过图度量学习训练获取到的图表示更具鲁棒性。

Table 3. Comparison with mainstream algorithm evaluation indicators on Market-1501 and DukeMTMC-reID
表3. 在Market-1501和DukeMTMC-reID上与主流算评价指标比较

Table 4. Comparison with mainstream algorithm evaluation indicators on CUHK03-NP
表4. 在CUHK03-NP上与主流算评价指标比较
5. 结论
本文从由行人姿态多变、背景混杂、摄像头视角差异大和部分遮挡导致的行人不对齐这一问题着手,提出了一种基于图神经网络的行人重识别算法,使用人体语义解析得到行人身体部位标注,提取细粒度局部特征构建部位关系图,再通过图卷积网络融入局部结构信息,并用图度量学习得到更具鲁棒性的图表示。最后在3个数据集上的实验结果表明,本文所提模型相比目前的主流算法重识别率更优。未来的工作是简化网络模型复杂度的情况下,寻求效果更优的重识别率的方法,并研究更为有效的跨数据集识别方法,实现跨域行人重识别任务。
基金项目
国家自然科学基金资助项目(61876043,61976052)。
参考文献