1、计算机与图像技术Computer&Multimedia Technology电子技术与软件工程Electronic Technology&Software Engineering169现如今,科技的持续进步使得监控摄像头广泛应用于日常生活,城市的安全越来越依靠智能视频监控系统。利用视频监控系统排查搜寻已成为一个重要的技术侦查手段。因为摄像头的分辨率不一和拍摄角度不同,监控摄像头大多数无法获取非常清晰的脸部图片,导致人脸失效。这种情况下,行人重识别(Person Re-identification)就成为了一种有效替代人脸识别的方法1,2。现有的行人重识别任务都是直接对行人检测算法或人工截取得到
2、的单个行人图像来进行行人的检索,并且大部分行人重识别方法都假设匹配中的行人都是站立的完整行人图像,这显然是不符合现实场景中摄像机所拍摄到的所有情况。在现实世界中的一些重要场景如医院、车站、机场、商场等人员拥挤的场景中都会出现行人被部分遮挡的情况,以及街道中行人被车辆、树木等遮挡的情形也常有发生3,因此,遮挡场景下的行人重识别任务是当前行人重识别中亟需关注的研究重点4,并且由于遮挡带来的信息缺失和辨识困难,本文研究遮挡行人重识别方法,以提高在遮挡场景下的行人重识别精度。遮挡行人重识别系统正面临着两大挑战。第一,超丰富的遮挡变化,随机遮挡不同的身体部位,大幅改变人体图像的外观。第二,遮挡的干扰,通
3、常与身体部位具有相似的外观,不利于网络对人体图像的学习识别。现有的方法大多通过检测非遮挡的身体部位和对准可见的人体部位来解决遮挡的问题,其中两类典型的对齐方法已被广泛研究。第一类方法5,6,7利用各种外部线索,如人体编码,语义解析和姿态估计来准确地对齐可见的身体部位。然而,外部线索的提取很敏感,无法应对带有严重遮挡或噪声问题的图片,在面对严重的遮挡和背景噪声时往往会失败。另一类方法8,9,10是基于局部图像特征的相似性对身体部位进行对齐,但它经常难以区分人体与障碍,导致匹配错位甚至错误。遮挡行人重识别问题关键在于解决遮挡问题。目前大致有三种方法解决遮挡问题11:(1)添加模拟遮挡到训练集中作为
4、训练集数据的扩充,以强化深度学习网络对于带遮挡图片的学习,进一步提高识别准确度12,13。(2)为了解决第一种方法研究过程中引入噪声特征的问题而产生的。它利用人体姿态或部位关系等提取生成合适的特征,以减小添加遮挡引入的噪声的影响,进而优化识别效果14,15。融合人体姿态估计与非局部注意力机制的遮挡行人重识别陈岸明1林群雄2孙全忠2洪小龙2温峻峰3(1.清华大学深圳国际研究生院 广东省深圳市 518000)(2.广东省公安科技协同创新中心 广东省广州市 510000)(3.中科天网(广东)科技有限公司 广东省广州市 510000)摘要:本文提出一种基于姿态估计模型与非局部注意力机制的遮挡行人重识
5、别方法,利用姿态估计器获得图像中的非遮挡局部人体,并引入非局部注意力机制解决特征的长距离依赖问题,使得网络的关注度集中在非遮挡部分,实现遮挡场景下的精确行人重识别任务。通过实验验证了本文所提出方法在遮挡数据集上取得了先进的表现。关键词:行人重识别;姿态估计模型;非局部注意力;人体图像图 1:本文网络结构图计算机与图像技术Computer&Multimedia Technology电子技术与软件工程Electronic Technology&Software Engineering170(3)重构由于遮挡缺失的身体部位还原完整的人体,从而实现去遮挡16,17。这种方法可以不用姿态估计直接恢复完整
6、人体,对于有时间序列的视频图片有很好的识别提升效果。本文提出了一种姿态估计的非局部注意遮挡行人重识别网络,该网络首先在 ResNet-50 骨干网络中引入非局部注意力模块,将其他位置计算得到的权重标出该对应位置需要注意的关键区域,传输到下一层网络中,使下层网络学会关注对应的关键区域;然后对骨干网络提取到的特征进行水平局部分块得到局部特征分支,并对分块后的各局部特征均进行降维后再分别进行身份学习,可以从具有区分度的局部信息中实现对不同身份行人的识别;再由姿态引导全局特征分支利用姿态估计器得到人体特征点以实现对遮挡干扰的抵消,从获得的特征点中的到所有未被遮挡的人体部分,只提取这部分的人体信息特征,
7、有效抵消了非人体信息对行人重识别的干扰;最后联合身份损失函数和三元组损失函数对该网络的身份标签和行人特征分别进行训练。在使用最广泛的遮挡行人重识别领域的 Occluded-DukeMTMC 数据集6上的大量实验证明了本文所提出方法的有效性。1 所提出方法本文构建了姿态引导的非局部注意遮挡行人重识别网络,具体包含非局部注意力模块的 ResNet-50 骨干网络,特征分块的局部特征分支和姿态引导全局特征分支,如图 1 所示。1.1 基于非局部注意机制的骨干网络本文使用 ResNet50 作为主干,且其不含平均池化层和全连接层,对给定的图像进行全局特征图提取。在本网络的 ResNet50 主干中,第
8、五大层的第一小模块conv5_1 的下采样步幅被设置为 1。因此,在通过本文的主干网络后,大小为 HW 的输入图像将输出具有(H/16W/16)空间尺寸的特征图,是原始 ResNet-50中的(H/32W/32)的四倍。更大的特征图可以让更大的空间尺寸上的目标行人和遮挡物的信息更容易得到更好的解释。除 此 之 外,受 AGW 基 线18的 启 发,本 文 在ResNet-50 的中间层中添加非注意力模块。具体的,在第三大层网络的最后两小层 conv3_4/5 和第四大层网络的最后三小层 conv_4/5/6 的后面分别添加了非局部注意力模块,使得网络对于遮挡行人重识别有了识别能力更强。本文将从
9、 ResNet50 网络主干中提取的特征映射表示为,其中 h 表示高度,w 表示宽度,c 表示通道数。然后将特征映射 F 输入到两个分支:局部特征分支和姿态引导全局特征分支。1.2 局部特征分支在局部特征分支中,特征 F 被水平划分为 p 个部分,记为 Fi,i=1,.,p。然后通过平均池化和 11 卷积层进行处理,将维数从 2048 降到 256,得到部分特征向量Fi。将每个部分特征 fi输入相应的全连接层 FCi,并使用 softmax 层对各输入图像进行 ID 识别预测。部分特征分支示意图如图 2 所示。1.3 姿态引导全局特征分支姿态引导全局特征分支包括姿态估计和全局特征构建两部分。第
10、一部分是姿态估计。本文使用在 COCO 数据集图 2:部分特征分支结构图计算机与图像技术Computer&Multimedia Technology电子技术与软件工程Electronic Technology&Software Engineering171上预先训练的人体姿态估计器从人体图像中检测人体特征点,然后借助特征点产生由以特征点真实位置为中心的二维高斯分布形成的热图。当 LMj为 0 时,对应的热图的值设置为 0。生成的热图记为 Mj,j=1,.,N。每个热图通过双线性插值降采样到 hw 的大小。对于给定的一个输入图像,本文采用姿态估计器,提取图片内行人的N 个特征点,并给出每一个特征
11、点的坐标及其置信度分数。本文设置 N 为 18,同时设置了一个阈值 来过滤掉置信度分数小于的特征点。人体特征点可以表示为:(1)其中,LMj表示第 j 个地标,cxj,cyj表示第 j 个地标的坐标,为置信值,为阈值。第二部分是姿态引导的全局特征构建。姿态引导的全局特征分支旨在整合全局特征图信息和来自目标行人的姿态信息。如图 3 所示,首先将特征图 F 合并为全局特征 fg。然后将热图 Mj,j=1,.,N 与特征图 F 元素相乘,从而输出姿态引导特征图 Mj,j=1,.,N。由于各热图对目标行人的不同遮挡区域信息进行了清晰的编码,因此姿态引导特征图可以将焦点聚集于非遮挡部分,有效对遮挡区域的
12、信息进行抑制。经过平均池化层,各引导特征图 Mj将得到维度为 2048 的特征向量,该向量与包含特定特征点的部分相对应。本文对所有特征向量进行最大池化运算,并连接全局特征 fg,将连接起来的特征记为fcat。最大池化操作使特征向量融合可见身体部位的信息,忽略被遮挡的部分和冗余的部分信息。然后本文将 4096维的 fcat通过全连接层,得到的 256 的低维特征,将该特征表示为姿态引导的全局特征 fpose。利用 Softmax 层对每幅输入图像进行 ID 识别,姿态引导的全局特征分支的输出为每幅输入图像 I 的预测。姿态引导全局特征分支如图 3 所示。1.4 损失函数遮挡行人重识别有三种广泛应
13、用于迭代的损失函数,包括身份损失(Identity Loss)、验证损失(Verification Loss)、三元组损失(Triplet Loss)。本文使用了身份损失和三元组损失的联合损失。身份损失函数用于分类问题。如果不同行人 ID 视为不同的类,那么遮挡行人重识别任务训练行人图片的过程可以看作是一个图像分类问题。在测试阶段,身份损失(ID loss)函数将训练得到的图片特征作为输出,对于一张带有标签的输入图片,预测该图片的类别。一般用交叉熵来判断实际输出和期望输出之间的关系。交叉熵的值越小,表示两个输出的接近程度越高。本文利用 Pytorch 自带的交叉熵损图 3:姿态引导全局特征分支
14、结构图计算机与图像技术Computer&Multimedia Technology电子技术与软件工程Electronic Technology&Software Engineering172失函数 CrossEntropyLoss 函数设计编码器,得到身份损失函数表达式:(2)其中,n 为每批训练中的样本数量,xi为输入图片,yi为图片标签,p(yi|xi)为 xi被认定为 yi类的概率。三元组损失将遮挡行人重识别任务训练行人图片的过程可以看作是一个检索排序问题。其主要思想是,先预设一个边缘距离,将同一行人图片称为正对图片,不同行人图片称为负对图片,则正对图片之间的距离比负对图片的距离多至少一
15、个预设距离。通常,一个三元组包含一个锚样本、一个具有同一性的正样本、和一个具有不同性的负样本,用这三种样本表示三元组损失函数:(3)其中,i 为锚样本,j 为正样本,k 为负样本,dij为正样本与锚样本之间的距离,dik为负样本与锚样本之间的距离。2 实验分析2.1 实验数据集遮挡行人重识别现存的公开、图片数量较大的数据集较少。本文实验选择了迄今为止最大的遮挡行人数据集数据集Occluded-DukeMTMC 数据集6。表 1 为该数据集的参数介绍。Occluded-DukeMTMC 数 据 集 是 由 DukeMTMC-reID 数据集19处理得来的。在原始的 DukeMTMC-reID中,
16、训练集、查询库和图库中的遮挡图像比重分别为14%、15%和 10%。显然,原先的数据集由于遮挡图片比重较少,不符合遮挡行人重识别对于遮挡图片的要求。2.2 评估协议行人重识别的主要评价指标有累计匹配特征曲线(Cumulative Match Characteristics Curve,CMC)和 均 值平均精度(Mean Average Precision,mAP),本文中 CMC仅由累计匹配特征中的匹配排名第一的正确击中概率Rank-1 指标替代。2.3 实验设置本实验首先在实验室服务器上搭建 PyTorch 平台,并利用该环境作为训练环境和测试环境。在本文的实验设置中,输入图像被调整到 384128,并通过水平随机翻转和随机擦除进行增强。本文将批处理大小设置为32,将训练周期数设置为 60。在 Occluded-DukeMTMC数据集实验上,基本学习速率初始化为 0.1,在 40 个迭代周期后衰减到 0.01,特征提取层学习率与分类层学习率不一致,特征提取层学习率为分类层的 0.1 倍。2.4 实验分析2.4.1 消融实验为了验证本文所提出方法的有效性,我们在Occluded-Du