基于无参注意力和联合损失的行人重识别*

2023-05-16 08:05程述立汪烈军王有丹
关键词:行人残差注意力

程述立,汪烈军,王有丹

(1.新疆大学 信息科学与工程学院,新疆 乌鲁木齐 830017;2.新疆大学 数学与系统科学学院,新疆 乌鲁木齐 830017)

0 引言

随着基础设施的不断完善和公共需求的不断增长,行人重识别作为视频监控系统的一项关键技术受到了广泛的关注,并在众多领域都有很重要的应用价值.行人重识别主要研究的是从不同的摄像机中检索具有相同身份的人员或在同一摄像机的不同视频片段中识别出目标行人.该任务的目的是通过图像检索实现目标匹配,将目标人物与图片库中的人物信息进行比对,筛选出图片库中含有目标人物的信息[1].然而该任务也存在许多难点,如在复杂环境下出现行人部分部位遮挡的问题以及设备质量、距离导致的图像分辨率低等问题,所以如何提取行人关键特征信息进行度量判断成为了研究重点.

近些年,深度学习的方法在行人重识别任务上取得了一系列成果.相较传统度量学习方法,深度学习的方法代替了其特征提取配合特征度量学习的模式,使得之后能够更好地判别特征信息.基于卷积神经网络(CNN)在图像特征提取上彰显出的独特优势,许多研究者将行人重识别的主干网络建立在CNN 上,如残差网络(Residual Network, ResNet)[2]、稠密连接网络(Dense Convolutional Network, DenseNet)[3].虽然CNN 成为解决行人重识别任务的主流手段,它也因为忽略了长距离的上下文信息之间的关系而存在着自身的局限性.

随着深度学习的不断发展,注意力机制得到了广泛的研究与应用.类似人类处理信息的方法,该机制能够使网络快速聚焦一部分关键信息,同时忽略其它信息.注意力机制通常在输入的特征信息上计算权重,根据权重对特征进行处理从而强化有效特征、抑制无效特征.注意力机制从应用位置上可划分为三类:1)空间注意力.它可以对全图进行处理从而定位出感兴趣的区域,有效地弥补了卷积操作对于全局特征提取能力的不足之处,代表性的网络有动态容量网络(Dynamic Capacity Networks, DCN)[4];2)通道注意力.如压缩激发网络(Squeeze-and-Excitation Networks, SENet)[5],它通过建模各个特征通道的重要程度,针对不同的通道特征进行增强或者抑制;3)空间与通道混合注意力.它可以同时从两个维度对特征进行选择,代表性的网络有卷积块状注意力模块网络(Convolutional Block Attention Module, CBAM)[6]、瓶颈注意力模块网络(Bottleneck Attention Module, BAM)[7]等.由于注意力机制在增强图片特征方面表现尤为突出,行人重识别任务中出现了许多基于注意力机制的方法,如自适应聚合网络(Adaptive Aggregation Network, AANet)[8]、基于关系感知的全局注意力网络(Relation-Aware Global Attention, RAG)[9]等.一般来说,对于行人重识别任务的优化主要是基于特征表示学习、深度度量学习和查询结果排序这三个方面.研究人员基于这三个方面进行了大量工作,有的改进了特征学习方法,有的提出有效的度量损失函数,也有的是在检索排序阶段进行优化.

一些研究人员通过引入局部特征学习或利用注意力机制聚焦于人体部位的关键信息来提取更饱满的行人特征.Yang 等[10]探索了高级特征提取方法,目的是通过建模概念间关系来探索基于上下文的概念融合,而这并不是简单的基于语义推理建模.由于生成对抗网络(Generative Adversarial Network, GAN)[11]在生成图像和学习特征方面具有良好性能,GAN 被广泛应用于人员再识别任务.也有一些研究者利用人的三维形状信息,更好地学习行人特征以提高行人重识别模型的鲁棒性.Ye 等[1]探索了封闭世界和现实世界的行人重识别系统,在标准封闭世界中系统认为特征表示学习是该系统的三要素之一,专注于开发特征构建策略,结合行人的全局特征、局部特征、辅助特征和视频特征,通过这四类特征的综合分析增强了最终的特征表示.Dai 等[12]则尝试设计新的网络模型,该网络由ResNet-50[2]和一个特征丢弃网络构成,同时学习两部分特征来增强模型的表达效果.研究者们不仅在主干网络方面有所探究,还在损失函数方面做了一些研究.有研究者设计了不同的损失函数,利用网络模型优化识别特征的学习[13].这些算法大多基于ResNet-50 进行改进,但存在参数繁多,结构复杂的问题,并且无法把握不同特征的重要性,导致行人识别不够准确,算法准确度有待加强.

行人再识别旨在解决跨摄像头、跨场景下目标行人的关联与匹配,作为智能视频监控系统的关键环节,对维护社会公共秩序具有重大作用.当前,行人再识别研究视角多样,如鸟瞰行人再识别[14],这类研究不仅趋向于水平视图捕获人员图像,而且关注鸟瞰图拍摄的人员信息;长时行人再识别研究[15],这类研究关注服装有关的生物特征,通过服装状态意识网络,嵌入服装状态意识来规范行人的描述;跨模态行人再识别研究[16],旨在从数据库匹配出该行人的红外(或可见光)照片,突破单模态行人再识别在黑暗环境中的局限性,减轻模态差异的影响;无监督行人重识别[17],旨在学习识别表征,从无标签数据中检索行人;遮挡行人重新识别[18],这是一种基于变换器的姿势引导特征分解方法,利用姿势信息来明确分解语义部分;域适应性行人重识别[19],研究表明时间上的连续性先验是有益的,它为区分一些相貌相似的人提供了线索.总之,这些研究利用更多的补充信息来协助行人重识别任务.

总结上述行人重识别研究,其核心在于网络模型的构建和度量学习策略的研究,基于以上考虑,本文从网络模型和损失函数两个角度进行算法设计,提出一种基于无参注意力的行人重识别算法.它是在ResNet-50 网络上进行改进,分别在残差模块的末端引入无参注意力机制(Simple, Parameter-Free Attention Module,SimAM)[20],这是一个简单而有效的注意力模块,增强了网络特征提取及表达能力;然后联合ID 损失、Triplet 损失和WRLL 损失,共同形成联合损失函数来优化网络参数;最后在三个公开数据集Market-1501、DukeMTMCreID 和CUHK03 上评估算法的识别性能.所提模型参数量少、鲁棒性高,具有较好的应用市场和研究价值.

1 PFNet 网络结构

本文将无参注意力模块应用在行人重识别模型中进行训练,可以对任务中更为相关的内容自适应地赋予更高的权重,使得该网络框架能有效提高行人识别的准确率.整体框架结构如图1 所示,它由三个重要的部分构成:主干网络ResNet-50、SimAM 模块和联合损失函数.

图1 模型整体框架结构

由图1 可知,分别在第一个残差块和第三个残差块后加入SimAM 模块,这种方式可以在不同的网络深度提取到更为丰富的特征.SimAM 模块是一种通过能量函数赋予权值的无参注意力机制,不会额外增加参数.同时在损失函数前加入可训练池化层(Generalized-Mean, GeM)[21]压缩特征来提高检索能力.最后采用ID 损失、Triplet 损失和WRLL 损失组成的联合损失函数对网络进行训练.将在下文对每一部分进行具体介绍.

1.1 主干网络ResNet-50

残差网络可以有效抑制卷积网络中梯度爆炸的影响从而提高模型性能,该优点使其在行人重识别领域有广泛应用.ResNet-50 结构简单,主要由残差块构成,在网络加深的同时有效减少梯度消失且不会增加实验误差,使得训练结果有很好的提升.残差块是规避梯度消失的关键,它采用简单的跳跃式加法来保留更多信息,只在原网络上增加很小的计算复杂度就能使模型在训练速度和网络性能方面均有所提升,这对网络效果的提升有很大的价值.常用的残差网络深度有34 层、50 层、101 层等,综合考虑模型的性能和复杂度,本文使用ResNet-50网络模型作为算法的主干网络.

1.2 无参注意力SimAM

无参数的注意力模块SimAM[20]是目前较为先进的注意力机制,能通过特征图本身推导出3D 注意力权值,可以更好地进行特征增强以提升模型性能,同时不会引入额外的参数,因此被称为“无参注意力”.SimAM 解决了通道空间注意力无法同步进行的问题.由于人类视觉机制是“通道和空间注意力”同时进行的,SimAM 以能量函数的方式让通道和空间进行同步加权,可以充分发掘每个神经元的重要性并赋予其合适的权值,从而改善特征丢失的问题.SimAM注意力结构如图2 所示.c 表示通道数,X 表示每个通道输入H×W 矩阵的维度,也是通道中神经元的数量.

图2 无参注意力模块[20]

一般来说,信息丰富的神经元通常会抑制周围神经元,具有抑制效应的神经元应当赋予更高的权重.为了评估每个神经元的重要性,通过能量函数的方式给每个神经元赋予合适的权值.能量函数的表达式如公式(1)所示:

式中:t 和xi是输入特性X ∈RC×H×W中同一通道的目标神经元和其它神经元,(ωtt+bt) 和(ωtxi+bt) 是关于目标神经元和其它神经元的线性变换,i 是空间维度的索引,M 是该通道上的神经元数量,ωt是变换的权值,bt是变换的偏差.通过计算得到ωt和bt解析解和通道中所有神经元的均值和方差,得到最小能量函数如公式(2)所示:

1.3 损失函数

本文涉及的损失函数分别为ID 损失(Softmax Loss)、三元组损失(Triplet Loss)和自适应加权排序损失(Adaptive Weighted Rank List Loss, WRLL)[21-22].使用的总损失函数如下:

式中:LID代表交叉熵损失函数,LTriplet代表三元组损失函数,LWRLL代表自适应加权排序损失函数.

1.3.1 ID 损失行人重识别模型中,ID 损失就是Softmax 损失,这是由Softmax 函数和交叉熵损失函数组成的损失函数.Softmax 损失用来衡量预测样本和真实样本的误差,所得到的损失函数值越小表明误差越小.

1.3.2 三元组损失

三元组损失是数据集中随机样本的损失和集,而随机样本的损失由目标样本与正负样本之间的欧式距离判别.三元组损失主要使具有相同标签的图片在空间位置上更加接近,同时令具有不同标签的图片在空间位置上更加疏远[23].该功能在个体级别上有很显著的效果,使三元组损失函数在行人重识别领域得到广泛应用.

1.3.3 自适应加权排序损失

2 实验结果与分析

本节首先介绍PFNet 模型的数据集和评价指标,然后详细说明实验环境以及参数配置,再将GeM、三元组损失、WRLL 和SimAM 注意力机制依次叠加到基线上进行消融实验.最后将PFNet 与其它先进行人重识别算法进行对比,实验表明PFNet 模型有较为优秀的表现.

2.1 数据集

为了验证PFNet 模型的有效性,本文在Market-1501、DukeMTMC-reID 和CUHK03 三个权威行人重识别数据集上进行了大量实验.每个数据集均被分为三个集合:训练集、测试集和查询集.模型通过训练集进行训练,然后通过查询集进行评估和模型调优,最后通过测试集进行测试和验证.Market-1501、DukeMTMC-reID和CUHK03 数据集的具体信息如表1 所示.

表1 数据集信息描述

2.2 评价指标

在行人重识别领域,首位命中率(Rank-1)和平均检测精度(mAP)是两个广泛使用的评价指标.行人重识别模型以待检测图片作为输入,最终输出一个排序列表.Rank-1 就是输出列表中第一张匹配结果为正确的精度,是行人重识别领域评价模型性能优劣的一项重要指标.mAP 是多个带检测图片的精准率均值,适用于多标签数据集,是行人重识别中常用的度量标准.

2.3 实验环境与参数配置

本实验基于PyTorch 深度学习框架进行训练,实现代码为Python,操作系统为Ubuntu16.04,在GPU 配置为4 片Tesla v100 的终端进行训练与测试.在训练阶段,将输入图片大小调整为256×128,使用水平翻转和随机擦除进行数据增强.用Adam 优化器训练所有模型,批量大小为48,训练周期为50,初始学习率设置为0.000 5.为了验证PFNet 的有效性,在三个主流数据集Market-1501、DukeMTMC-reID 和CUHK03 上进行实验,并采用Rank-1 和mAP 作为评价指标.

2.4 消融实验

本文分别基于池化层GeM、损失函数Triplet、损失函数WRLL 以及注意力机制SimAM 四个部分在Market-1501、DukeMTMC-reID 和CUHK03 这三个数据集上进行实验,实验结果如表2 所示.由表2 可知,本文使用ResNet-50 和交叉熵损失函数作为基线.在三个数据集上,本文算法较基线均有很明显的提升,Rank-1分别提升了1.8%、5.3% 和25.0%,mAP 分别提升了5.7%、6.8% 和27.0%.在CUHK03 数据集上效果尤为明显,主要是WRLL 能充分挖掘样本信息,为每个类学习超球面保护样本结构从而提升模型性能.在基线上叠加GeM、Triplet、WRLL 和SimAM 这四个模块的算法精度高于其它实验,达到最优效果.表明SimAM 也会使行人重识别精度有所提升,这是因为该模块从神经元的角度赋予每个特征点合适的权重,一定程度上丰富输入特征,提升模型性能.

表2 在三个数据集上的消融实验

实验过程中,验证了注意力模块在四个残差块中不同位置插入的情况,实验结果表明,在残差块1、3 之后插入注意力模块,所提出的算法性能最优.因此,将SimAM 注意力模块放在残差块1 和残差块3 之后,此时算法获得最优的识别性能.相关消融分析的实验结果如表3 所示.

由表3 可知,注意力模块嵌入在四个残差块的任何一个后面,或者同时嵌入在四个残差块之后,算法均未获得最优性能.而当SimAM 注意力模块放在残差块1 和残差块3 之后,算法获得最优的识别性能,因此在表2 以及后续的实验中,注意力模块默认的嵌入位置为残差块1 和残差块3 之后.

表3 注意力模块的嵌入位置消融实验

2.5 与先进实验进行对比

为了验证所提模型的优越性,本文选择5 个较为先进的行人重识别算法进行对比分析.采用联合损失函数训练模型的方法(BagTricks[24]、AGW[1])、注意力机制的方法(AANet[24]、GLWR[22])以及多尺度、多分支的方法(Auto-ReID+[25]),主干网络均是ResNet-50.表2 和表4 展示了算法在Market-1501、DukeMTMC-reID 和CUHK03 这三个数据集上的性能对比结果.

由表4 可知,在三个数据集上,本文算法的Rank-1 分别达到95.5%、90.9% 和84.3%,mAP 分别达到89.6%、81.6%和82.0%.GLWR 算法和本文算法模型相似,也是采取将注意力机制插入到残差网络不同层级中的方法,以此获取更为丰富的特征,但是它的注意力只是从通道和空间的维度获取特征,而本文的注意力还能从图片本身提取特征.在Market-1501 数据集上,本文算法的mAP 比GLWR 算法提升了0.1%.在DukeMTMCreID 和CUHK03 数据集上,本文算法的Rank-1 比GLWR 算法分别提升了0.2% 和2.0%,mAP 分别提升了0.2% 和3.1%.根据实验结果分析,本算法在三个数据集上表现都优于其它先进算法,是一个拥有较好的鲁棒性和先进性的行人重识别模型.

由表4 可知,本文提出的网络架构相对BagTricks、GLWR 参数略有提升,但本文算法相对BagTricks 在Rank-1 上提升了25.5%,在mAP 上提升了25.4%.相对GLWR,本文算法在Rank-1 和mAP 上分别提升了2.0% 和3.1%.虽然AGW 整体参数量较少,但AGW 的Rank-1 和mAP 整体得分相对本文算法较低,这说明AGW 难以获得到特征图中大部分重要的前景信息.整体来看,相对其它网络,本文在微增参数的前提下Rank-1 和mAP 取得了较大的改善.

表4 在三个数据集上与前沿算法的对比

2.6 实验可视化

本文将算法的排序结果进行了可视化展示,如图3 所示,第1 列红色框为输入的待检索图片,后7 列图片是输入样本(红色框图片)经过模型可视化得到的最终结果.可以观察到,本文的算法没有匹配错误,且在一些特殊情况下也能准确识别.不仅对正常行走且周围无遮挡的行人能准确识别其身份,而且对面部遮挡的戴帽子行人或只有背部特征的行人也能精准匹配其行人身份.另外通过查询结果的第3 组第3 张图片也可以观察到,在含有并行行人信息的情况下,本算法也能准确进行识别.

图3 行人检索排序展示

通过客观性能对比和主观可视化分析,实验结果显示,本文的算法能够在行人所处环境相对复杂的情况下进行高准确率的识别工作,验证了本算法具有较好的识别性能、较强的鲁棒性优势.

3 结论

针对行人重识别中存在的遮挡和相似外观等问题,本文设计了一个新的行人重识别算法,经过实验验证,发现所提算法在一定程度上缓解了以上问题.该算法的主干网络为ResNet-50,通过在网络的第一层残差块和第三层残差块后嵌入SimAM 注意力模块为每个神经元赋予合适的权重,并采用GeM 模块获取具有区分性的特征,最后基于提出的联合损失函数来训练该网络模型.这里,SimAM 注意力模块属于无参注意力模块,整体而言,与基线对比算法相比,本文在增加少量参数的前提下,所提出的算法在Rank-1 和mAP 指标上取得了较大的性能改善.所提模型在三个公共数据集上进行测试,并将其和目前较先进的算法进行对比,实验结果表明本文设计的基于无参注意力机制的行人重识别模型具有很高的精准度,其性能领先目前大部分行人重识别算法.后期将进一步轻量化行人重识别网络架构,以促进本文网络在较低网络复杂度的前提下取得更好的性能.

猜你喜欢
行人残差注意力
基于双向GRU与残差拟合的车辆跟驰建模
让注意力“飞”回来
毒舌出没,行人避让
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
路不为寻找者而设
“扬眼”APP:让注意力“变现”
我是行人
A Beautiful Way Of Looking At Things
平稳自相关过程的残差累积和控制图