语义引导的遮挡行人再识别注意力网络

2021-11-14 08:23任雪娜张冬明包秀国李冰
通信学报 2021年10期
关键词:掩膜全局行人

任雪娜,张冬明,包秀国,李冰

(1.中国科学院信息工程研究所,北京 100093;2.中国科学院大学网络空间安全学院,北京 100093;3.国家计算机网络应急技术处理协调中心,北京 100029;4.北京航空航天大学自动化学院,北京 100191)

1 引言

行人再识别(Re-ID,re-identification)也称行人重识别,是指利用计算机视觉技术在不同监控设备采集的大规模图像或者视频中搜索目标行人的技术。随着深度学习神经网络在图像识别和计算机视觉领域的广泛成功应用,行人再识别取得了快速的发展,作为视频监控研究领域的关键组成部分,近几年逐渐成为研究热点,受到广泛的关注[1-2]。它可以弥补固定摄像头的视觉局限,并可与行人检测[3]、行人跟踪技术[4]相结合,应用于视频监控、智能安防、智慧城市等领域。研究基于深度学习的行人重识别的相关技术具有非常重要的理论意义和应用前景。

当前,Re-ID 方法在公开的基准数据集上的准确率基本达到了90%以上,但是在面对复杂多变的实际场景时,模型性能会急剧下降。这是由于实际的应用场景中,行人可能受到不同程度的遮挡,遮挡物可能是物体,例如汽车、树木等,也可能是其他行人。这些遮挡导致Re-ID 性能降低。当然,还有影响Re-ID 的其他因素,包括拍摄姿态和视角、光照,以及采集视频的清晰度、分辨率等。当采集数据时间跨度较长时,Re-ID 还可能面临服装变化的巨大挑战。因此,研究能适应复杂场景的行人识别方法是当前的主要趋势,也是行人再识别面临的主要挑战[5-7]。本文重点研究行人识别中的遮挡问题,即遮挡行人再识别。

遮挡行人再识别用遮挡的图像作为查询对象,在不同摄像头下采集的数据中查找相同身份的行人。待查找数据中既有全身图像又有遮挡图像。如前所述,由于遮挡的随机性,全身行人再识别的有效算法在遮挡数据集上性能会严重下降,有必要研究可统一处理全身和遮挡的行人再识别框架及算法。

本文针对遮挡行人再识别中特征不对齐问题,提出了一种利用注意力对齐语义特征的算法。该算法利用注意力机制学习行人的全局特征和带有语义信息的局部特征,并根据局部特征的可见性约束特征的训练和匹配,抑制遮挡区域影响,进而实现图像对之间的共有特征的语义对齐匹配,可统一实现全身和遮挡的行人再识别。

本文主要的研究工作如下。

1) 语义引导网络。利用行人掩膜作为监督信息,以注意力的形式增加对非遮挡区域的关注,设计全局语义引导和局部语义引导结构,抑制遮挡和背景因素的影响。网络训练中,利用头部、上半身、下半身以及脚部的监督信息得到对应部分的可见性,根据可见性动态地训练模型。相比已有语义引导工作,本文将对人体语义模型嵌入网络中,构成端到端网络,仅在训练阶段使用外部语义模型结果作为监督信息,在推理阶段则不再依赖外部模型。

2) 局部特征对齐。局部语义特征分为头部、上半身、下半身和脚部,分别设计对应的注意力结构,并用对应的头部、上半身、下半身、脚部的掩膜作监督。通过局部注意力得到带有语义信息的局部特征,实现特征的语义对齐。在损失函数设计中,利用人体结构中头部、上半身、下半身以及脚部在全身中的占比分配不同的权重损失约束。

3) 基于可见性的相似度计算。利用局部语义引导学到的掩膜计算局部特征的可见性,选择待检索图像和底库图像中同时出现的特征,采用局部到局部的匹配策略得到图像间的匹配度。

实验结果表明,本文提出的方法不仅在全身数据集Market1501[8]和DukeMTMC-reID[4,9]上保持了较高的识别准确率,更重要的是能够有效应对遮挡问题,在复杂的遮挡数据集Occluded-DukeMTMC[10]和P-DukeMTMC-reID[11]上的性能优于其他先进算法。实验结果验证了本文算法可统一实现全身和遮挡的行人再识别。

2 行人再识别

2.1 全身行人再识别

基于深度学习的行人再识别方法近年取得了较大的进展。行人再识别方法大致可分为特征提取方法和基于距离度量学习的方法两类。特征提取方法核心是找到能够很好表现行人的表观特征的模型,而基于距离度量学习的方法关注的是找到有效度量行人特征相似度的准则。以下主要针对特征提取方法进行阐述。

特征提取方法的重点在于设计稳健可靠的行人图像特征表示模型,提高模型的泛化能力和稳健性,降低模型对各种影响因素的敏感度。特征提取方法又分为全局特征提取和局部特征提取。

全局特征提取利用卷积网络对整幅图像提取特征图,对特征图通过一个全局池化得到一个特征向量。利用全局特征进行行人识别通常会建模为分类和验证 2 种模型。PersonNet(person re-identification with deep convolutional neural network)[12]构建验证模型学习输入图像对的融合特征,并判断是否为同一个行人。MuDeep(multi-scale deep learning model)[13]利用分类子网络和验证子网络分别学习单幅图像的全局特征和2 幅图像的一个融合特征来进行类别的预测。全局特征因进行全局池化会丢失空间信息,此外,由于全局特征提取主要关注某一个身体区域,因此在着装相似场景下学习不到判别性的特征。针对全身数据的学习方式会因数据上的遮挡部分使学到的特征带有噪声,从而导致匹配错误。而实际行人数据非常复杂,单独使用全局特征不能满足性能要求,因此,局部特征提取逐渐成为当前主流的研究方法。

局部特征提取方法通过人工或者自动方法让网络关注显著的局部区域,然后提取这些区域的局部特征。常用的提取局部特征的方式主要有图像切块[14-16]、先验知识(如姿态)估计关键点定位、人体语义分割、行人前景分割等[17-18]。局部特征提取方式能从一定程度上减轻遮挡部分的影响,但简单的均匀分块的方法仍需要预先人工剪切人体区域,而姿态估计等又严重依赖外部模型的性能。

2.2 遮挡行人再识别

针对遮挡行人识别问题,当前研究工作主要集中于表征学习能力提升和不同特征匹配两方面。这些研究方法大致可以分为三类。

1) 遮挡预处理方法。这类方法首先对遮挡图像进行人工裁剪或者网络分割,去掉遮挡区域,只留下可见的部分行人区域;然后用部分行人图像进行检索。例如,DSR(deep spatial feature reconstruction)[19]和SFR(spatial feature reconstruction)[20]处理的图像先进入全卷积网络(FCN,fully convolution network)进行分割,再利用整个库中的图像对查询图像的像素特征进行稀疏重建,在DSR 的基础上进行提升,通过FCN 生成多尺度特征以处理特征图的尺度问题。STNRe-ID(spatial transformer networks Re-ID)利用孪生网络输入一对图像对,图像对由同一身份的全身图像和部分图像组成,利用STN(spatial transformer network)学习仿射变换得到仿射图像,使仿射图像逼近部分可见的图像。这类方法并不是真正的遮挡行人识别方法,对遮挡部分的处理会消耗较多的时间与人力成本。

2) 局部-全身特征匹配方法。AFPB(attention framework of person body)[11]和 T-S(teacherstudent)[21]通过显著性掩膜学习遮挡图像中的显著特征与全身图像特征匹配,该方法不需要裁剪及分割的操作,比直接利用被遮挡的图像特征更容易找到相似图像。然而,局部-全局的匹配策略很明显会引起特征的不对齐问题。

3) 局部-局部特征匹配方法。Zheng 等[22]提出了一种基于字典学习的AMC(ambiguity-sensitive matching classifier),并引入滑动窗口匹配(SWM,sliding window matching)解决全局局部匹配的问题。VPM(visibility-aware part model)[23]通过自我监督学习感知可见区域,从而避免遮挡区域的噪声影响。在测试过程中,给定待比较的2 幅图像,VPM 首先计算它们共享区域之间的局部距离,然后得出总体距离。PVPM(pose-guided visible part matching)[24]、PGFA(pose-guided feature alignment)[10]和高阶信息[25]利用人体姿态估计得到人体的关键点信息,从而利用语义信息块进行局部特征块之间的对齐。

DSR、SFR、VPM 以及AMC 都需要预先人工裁剪遮挡部分区域,只保留可见区域。姿态估计[10]、人体语义解析模型[26]以及显著性检测[21]方法能够直接处理遮挡图像,不需要耗时的人工裁剪,并且能够准确地定位行人关键点以及行人身体区域,实现特征对齐,但该类方法的性能对外部模型有较强的依赖性,且在测试阶段会因辅助模型引入额外的计算消耗。因此,本文提出语义引导的注意力网络(SGAN,semantic-guided attention network)来对齐不同人体部分,利用注意力学习带有语义信息的局部特征,根据局部特征块的语义信息进行对齐,并利用掩膜信息判断各个局部特征的可见性,训练过程中根据监督信息的可见程度对训练损失进行动态约束,并在测试阶段根据局部语义注意力的掩膜信息选择是否参与相似性度量。

3 语义引导对齐的遮挡行人识别

SGAN 的网络结构如图1 所示。采用残差卷积神经网络结构ResNet-50[27]作为主干网络,在第一个残差层Res-Stage1 和第四个残差层Res-Stage4 中分别增加全局语义引导和局部语义引导,并专门设计了相应的网络损失函数约束。

图1 SGAN 的网络结构

3.1 全局语义引导

全局语义引导和局部语义引导网络结构分别如图2 和图3 所示,全局语义引导包括空间注意力和通道注意力。其中,FC 代表全连接层;Conv 代表卷积操作;ReLu 和Sigmoid 均是激活函数,实现非线性变换。

图2 全局语义引导网络结构

图3 局部语义引导网络结构

从ResNet-50 的Res-Stage1 得到特征图A后,特征图进入空间注意力层,在空间注意力层经过一个3×3 的卷积操作、ReLu 激活函数、1×1 的降维卷积操作得到单通道的概率图,最后经过Sigmoid函数获得空间注意特征图。从 ResNet-50 的Res-Stage1 得到特征图,并与空间注意特征图做乘法得到图像中行人的前景特征图,前景特征图进一步通过通道注意力层,经过全局平均池化操作和2 个升维降维的全连接层以及Sigmoid 函数,最终得到过滤背景和遮挡的全局特征fglobal。

3.2 局部语义引导

在ResNet-50 的Res-Stage4 后增加局部语义引导,在局部语义引导中有4 个分支,分别对应头部、上半身、下半身和脚部部分。4 个局部的注意力结构相同,4 个分支的语义引导结构相同,且只有空间注意力。如图3 所示,先对Res-Stage4 的输出特征V进行降维操作,从通道2048 变为512,再经过ReLu 激活函数的非线性变换,之后将512 通道经过1×1 的卷积得到单张通道的空间注意力特征图,得到头部、上半身、下半身和脚部的注意力特征图后,与V相乘分别得到局部语义特征fhead、fupper、flower、ffeet。

3.3 损失函数

三元损失[28]是SGAN 模型训练的基本损失,SGAN 计算三元损失Ltri,在此基础上,SGAN 将同时考虑全局、局部语义损失和注意力损失。下面介绍这些损失的影响因子计算方法。

3.3.1动态因子

由于人体的头部、上身以及下身的比例不同,根据人体的头身比例特点这个先验知识来为4 个局部特征分配不同的权重系数。

因男性与女性的身体比例差异及采集图像中行人姿态和年龄等因素的影响,本文对头部、上半身、下半身和脚部的比例分割采用不同的比例,根据人体的头身比以及人体的黄金分割比得到一个比例范围,头身比约为1/6 到1/8,再根据黄金比例分割参数0.618 得到上下身比例。最终在16×8 的监督掩膜中得到4 个局部-全身的比例,分别为3/16(头部/全身)、5/16(上身/全身)、1/2(下身/全身)及3/16(脚部/全身),比例参数用r表示。据此得到4 个比例参数为

根据比例参数计算得到各个局部权重参数,通过人体语义解析模型预先得到行人数据集的语义掩膜M,用该掩膜作为监督信息,同时用它来判断每个身体部位特征的可见性。通过计算掩膜的均值来得到4 个局部身体特征的可见标签。每一部分的掩膜计算都会从上一特征区域的最后一行开始计算,局部特征图的大小为16×8,行数以0~15 为索引,则头部的掩膜均值计算对应0~2 行,上身的掩膜均值计算对应2~6 行,下身的掩膜均值计算对应6~13 行,脚部的掩膜计算对应13~15 行。先计算监督掩膜的概率均值,再与各比例参数操作得到各个局部语义部分的权重参数,按式(2)计算。

其中,16 和8 分别为局部监督掩膜图像的高度和宽度,ms(w,h)为监督掩膜中(w,h)处的像素值。

在训练阶段,从ResNet-50 的第四个残差层得到特征V,特征V进入局部语义引导部分,局部语义引导中包含4 个分支,分别用来得到图形中行人的头部、上身、下身及脚部的概率图,用得到的4 个身体部位的概率图分别与特征图V相乘,再经过平均池化层得到4 个局部语义特征fhead、fupper、flower、ffeet,考虑遮挡因素的影响,某个局部特征可能只有极少的几个像素可见,在可见像素很少时,设定此局部特征不可见,不参加模型的训练。局部特征的可见性按式(3)计算。经实验对比,δ设置为0.1。

3.3.2分类损失

根据式(4)与式(5)计算局部和全局损失。

其中,C是身份类别总数,ξ是平滑参数,分别是C维的局部向量和全局向量中的第i维度的预测值,ID 是行人图像的真实分类,Lcls_l和Lcls_g分别对应的全局特征分类和局部特征分类。

3.3.3注意力损失

注意力损失用来引导全局和局部语义网络的学习,用于监督的掩膜是二值掩膜,为了能够使各个语义引导部分学习到更加逼近真实掩膜的注意力概率图,采用二分类的交叉熵损失计算。局部注意力损失用Ls_l表示,同局部分类损失一样,也根据wfl的值动态地约束掩膜的学习。全局注意损失用Ls_g表示。全局、局部注意力损失分别为

其中,Mg和Ml分别是全局掩膜和局部掩膜,本文实验设置Mg的大小为64×32,Ml的大小为16×8;分别是全局掩膜和局部掩膜在i位置的掩膜标签;分别是全局引导和局部引导在i位置的预测值。

这样,SGAN 的总体损失函数为

3.4 基于可见特征行人识别度量策略

在测试阶段,根据局部语义引导部分学到的概率图来判断当前区域属于遮挡部分还是行人区域。vl是对应局部特征的可见性标签,如前所述,vl=0表示遮挡,vl=1 表示特征可见。simg表示全局特征的相似度,siml表示局部特征的相似度值。sim 值越大,表明相似度越高。

本节选取Occluded-DukeMTMC 数据集中的图像进行实验。对上述相似度计算方式进行可视化,如图4 所示,不可见部分对最终的相似度没有影响,可见部分对相似度的贡献取决于对应部分相似度,其权重受可见块数调节。查询目标图像与检索图像示例如图5所示,q和g分别表示查询的目标图像和Gallery中的某一幅图像,其具体的匹配计算如表1 所示。

图5 查询目标图像与检索图像示例

表1 q 与g 的相似度匹配计算

4 实验结果及分析

4.1 实验数据及评价标准

为了验证所提方法的有效性,分别在主流公开的全身数据集和遮挡数据集上进行实验验证。采用的全身数据集为Market1501 和DukeMTMC-reID,采用的遮挡数据集为 Occluded-DukeMTMC 和P-DukeMTMC-reID。

Market-1501[8]包含来自1 501 个行人的共32 668 幅图像。这些图像来自6 个采集设备,其中包括5 个高分辨率摄像头和一个低分辨率摄像头。751 个行人的12 936 幅图像被分为训练集,其余750 个行人的19 732 幅图像被划分为测试集。测试集中又分为待查找对象(query)和底库(gallery)。query 有3 368 幅图像,gallery 有19 734 幅图像。每个行人最多具有6 幅查询图像。

DukeMTMC-reID[9]是跟踪数据集DukeMTMC的一个子集,舍弃了只出现在一个摄像头中的408 个行人(即干扰项ID),只选取出现在2 个摄像头以上的1 404 个行人。因此它包含来自8 个不同摄像机的1 404 个行人的36 411 幅图像。702 个行人的16 522 幅图像被分为训练集。剩余的702 个行人的19 889 幅图像被分为测试集,其中,query 为2 228 幅,gallery 为17 661幅。

Occluded-DukeMTMC[10]包含15 618 幅训练图像、17 661 幅gallery 图像和2210 幅被遮挡的query图像。在训练集、query、gallery 中遮挡图像所占的比例分别是9%、100%和10%。所有的query 是遮挡的图像,在gallery 中既有全身图像又有遮挡图像。

P-DukeMTMC-reID[11]训练集12 927 幅图像、665 个行人,query 中有634 个行人的2 163 幅图像,gallery 中有9 053 幅图像。

本节采用行人识别中常用的累积匹配特征(CMC,cumulative match characteristic)曲线和平均平均精度(mAP,mean average precision)来评估所提方法。CMC 曲线中的Rank-n 指匹配结果的前n幅图像的正确率。本节实验中,Rank-1、Rank-5、Rank-10 和mAP用来衡量算法的性能并与其他方法进行比较。所有实验结果均是在单个q设置下。指标及具体方法如下。

其中,k是一个从1 开始增加的变量,最常用的为1、5、10。用Q中所有图像的Rank-k值相加,再除以Q的总数即可得到CMC 的值。

mAP。mAP 是Q中每个q的AP(average precision)的平均值。AP 计算的是和q同一ID 的图像在查询结果中的占比,计算式为

4.2 实验环境及参数设置

实验平台的操作系统为Ubuntu16.04,一块NVIDIA 1080TI GPU,显存为11 GB;使用深度学习框架Pytorch1.0.1,基于Python3.5.2 完成程序编程;使用在 ImageNet[29]数据集上预训练的ResNet-50 参数初始化主干网络,并去掉了全局平均池化层和全连接层。输入图像的尺寸是256 像素×128 像素,在实验中用到了行人再识别中常用的数据增强策略,包括图像的随机水平翻转、标准化和随机擦除策略。三元损失函数中的边界超参为0.3,训练过程中使用Adam 优化器进行优化,训练批次是64,每一训练批次中包括16 个行人,每个行人4 幅图像。初始的学习率为3×10-4,分别在50、100 epoch 时按照10%速度衰减,迭代次数为200。

4.3 性能对比

为了验证模型的有效性,本节在Market-1501、DukeMTMC-reID 和遮挡数据集 Occluded-DukeMTMC、P-DukeMTMC-reID 数据集上进行实验,表2 和表3 分别展示了所提SGAN 与当前的主流方法的对比结果。

从表2 和表3 中可以看出,SGAN 获得了最好的表现。提取全局特征的方法会引入遮挡噪声,从而影响特征的表达;均匀分块方法没有考虑局部特征的语义性,图像中的遮挡特征会引起特征块的不对齐;SGAN 在Occluded-DukeMTMC 数据集上的性能比HONet[25]在mAP 和Rank-1 上分别提高了2.9%和1.6%,在P-DukeMTMC-reID 数据集上的mAP 比最新方法PVPM 的结果提高了2.2%。

表2 Occluded-DukeMTMC 数据集上的对比结果

表3 P-DukeMTMC-reID 数据集上的对比结果

表4 展示了 SGAN 在 Market-1501 和DukeMTMC-reID 数据集上与不同方法的性能对比结果。从表4 可以看出,SGAN 在全身数据集上也有较好的表现,通过在行人再识别网络中引入注意力网络学习全局和局部特征,并根据注意力网络的概率图得到的语义信息进行局部特征的对齐策略有效提高了网络的精度,且明显优于其他现有方法。

表4 Market-1501 和DukeMTMC-reID 数据集上的对比结果

4.4 性能分析

4.4.1语义引导的有效性

为了验证SGAN 中语义引导的有效性,以及动态训练的有效性,本节在遮挡数据集上进行了对比实验。对比实验包括4组,分别是行人识别基准(B)、使用全局注意力引导(G)、使用局部注意力引导(L)、同时使用全局和局部注意力引导(G+L)。实验基准使用Resnet-50 提取图像全局特征,用身份约束和三元损失训练网络,测试时用全局特征进行度量。其余3 组(G、L、G+L)实验在训练时各个损失带有权重约束,测试时将特征聚合。

Occluded-DukeMTMC 数据集上语义引导的对比结果如表5 所示。从表5 可以看出,基准实验和只有全局注意力的Rank-1 差1.8%,局部注意力比基准实验高2.5%,说明利用语义引导部分能够关注图像中的可见区域,从一定程度上缓解遮挡的影响。G 和L 的对比说明对齐的局部语义特征能够减小匹配的误差,在只有全局特征时,会存在半身-全身的特征度量,这导致G 比L 的首位命中率低。G+L 中Rank-1 达到了58.0%,对齐的局部特征和全局特征相结合提高了模型的准确率。

表5 Occluded-DukeMTMC 数据集上语义引导的对比结果

4.4.2权重损失约束的有效性

表6 显示了不同权重损失约束下模型在Occluded-DukeMTMC 数据集上的性能对比结果。3 组对比实验分别是不带权重的身份损失和不带权重的注意力损失C+A、带权重的身份损失和不带权重的注意力损失w×C+A、带权重的身份损失和带权重的注意力损失w×(C+A)。从表6 可以看到,随着对分类损失和注意力损失增加约束,模型的首位命中率逐渐提高,尤其在给注意力损失增加权重约束之后,Rank-1 和mAP 的值比不带损失约束提高了1.4%和0.8%。由此可以得出增加权重损失约束能够使模型更关注占比较大的可见区域,使模型以较大概率地从这些区域学习判别性的特征。

表6 Occluded-DukeMTMC 数据集上权重损失约束的对比结果

4.4.3可视化结果

为了验证模型的全局和局部特征的学习性能,对模型学习到的全局概率图和局部语义概率图进行了可视化,实验中图像来自Occluded-DukeMTMC 数据集。局部注意力结果和语义注意力图可视化结果分别如图6 和图7 所示,图6 中数据保留2 位小数显示。从图6 和图7 中可以看出,利用语义注意损失,不仅能够准确地定位到各个局部特征,还能够利用得到语义掩膜判断各个局部特征的可见性。图8 为利用GradCAM[45]方法在特征图上的可视化结果,可以看出模型突出了各个身体的局部区域。图像检索结果如图9 所示,其中显示了排序中的前5 个图像,图像上方的CORRECT表示匹配正确,图9 也说明SGAN 在图像存在遮挡时,能够在一定程度上找到相匹配的目标图像。

图6 局部注意力结果

图7 语义注意力图可视化结果

图8 GradCAM 在特征图上的可视化结果

图9 图像的检索结果

5 结束语

本文对行人再识别中的遮挡导致的特征不对齐问题进行研究。考虑遮挡的随机性以及人体结构的一般比例,提出基于语义引导进行特征对齐的遮挡行人再识别网络模型。SGAN 能够根据局部特征的可见性对模型训练和特征匹配进行约束,根据特征的可见性实现动态训练,并借助语义信息实现同语义特征块对齐及共有的可见特征的匹配计算。实现结果表明,算法获得了优异的检索性能,在复杂遮挡数据集Occluded-DukeMTMC 和P-DukeMTMCreID 上算法的Rank-1/mAP 分别达到58.0%/45.4%和84.0%/71.2,优于当前的最新方法。本文研究表明,利用语义特征可有效引导模型降低遮挡区域对行人再识别的负面影响。端到端的行人再识别网络不仅能够减少对其他语义模型的依赖,还能避免因使用语义模型带来的计算消耗。

在未来的研究工作中,考虑改变网络内部结构,对遮挡进行感知,研究遮挡图像特征与全身图像特征的关联度,期望不利用附加的人体语义分割结果作为监督信息即可以实现准确遮挡行人再识别,从而提高模型的泛化能力。

猜你喜欢
掩膜全局行人
利用掩膜和单应矩阵提高LK光流追踪效果
基于改进空间通道信息的全局烟雾注意网络
基于Mask R-CNN的回环检测算法
毒舌出没,行人避让
清溢光电:掩膜版产业国产化的领军者
路不为寻找者而设
落子山东,意在全局
国内首条G11光掩膜版项目在成都高新区启动
记忆型非经典扩散方程在中的全局吸引子
我是行人