任丹萍,董会升,何婷婷,张春华
(1.河北工程大学 信息与电气工程学院,河北 邯郸 056038;2.河北工程大学河北省安防信息感知与处理重点实验室,河北 邯郸 056038;3.河北工程大学 体育与健康学院,河北 邯郸 056038)
行人重识别[1]是指从多个目标拍摄到的视频中查找出特定的人。目前主要的方法是将特征提取与度量学习的方法结合起来对行人重识别模型进行训练。利用神经网络结构自动学习复杂的深层图像特征[2-4]。Wang等[5]提出的DaRe-Net模型在不同层级的网络中提取行人图像的特征。Fu等[6]提出水平金字塔解决特征之间的匹配问题,对每个局部特征层面使用双特征池化的方式得到行人的特征表示。Liao等[7]提出了在主干网络融合注意力机制的基础上,进一步提取不同分辨率的特征来获得行人更有判别力的特征向量。
上述方法虽然在一定程度上提高了行人重识别模型的准确率,但提取的特征容易忽略图像中不显著的细节,因此,提出一种联合归一化模块和多分支特征的行人重识别模型,主要工作如下:
(1)在主干网络的归一化模块中融入一层通道注意力引导归一化模块对行人特征的提取,减轻行人图像中的背景等杂波信息带来的影响;
(2)双级特征融合模块包含了局部和全局特征,使用注意力机制对局部特征引导P个可学习的参数进行加权求和,之后再与全局特征共同形成对行人的全面特征表达;
(3)在网络的优化过程中,使用平滑交叉熵损失、三元组损失以及跨分支特征蒸馏损失共同对网络进行优化,强化网络对行人更细节信息的提取;
(4)通过大量实验分析验证了模型的有效性,在Market-1501和DukeMTMC-ReID数据集上,验证了模型具有较好的稳定性和准确率。
为了增加特征图的分辨率,增强网络模型提取更有效特征的能力,本文设计了一种基于Res-Net50残差网络的联合归一化模块和多分支特征的行人重识别模型INMM(normalization module and multi branch feature),包含了实例归一化模块(instance normalization module,INM)和双级特征融合模块(two level feature fusion module,TLFFM)。
本文提出的网络模型架构如图1所示,为了增加特征图的分辨率,去掉最后一层的下采样操作,同时去除全局平均池化和全连接层。由于网络的前两层提取的特征信息语义可解释性低,因此只在网络的三四层后面嵌入INM模块。双级特征融合模块包含了对行人局部和全局特征的提取,在得到网络提取到的特征图之后,将特征图在水平方向分成P个水平的特征空间,对每一块水平的特征空间都使用全局平局池化来生成P个局部特征向量,由于行人图像不同的身体部位之间的重要性也不同,因此使用局部注意力机制引导P个可学习的特征参数对局部特征进行加权求和,加权后的局部特征向量和全局特征向量联合形成对行人特征充分的信息表达。在网络的优化过程中,联合使用平滑交叉熵损失(cross entropy loss,CE Loss)、三元组损失(triplet loss)以及跨分支特征蒸馏损失(cross branch characteristic distillation loss,CBCD Loss)共同对网络进行更新,3种损失函数优势互补,使网络朝着提取更有效图像特征的方向优化。
图1 网络架构
为了缓解不同图像的背景、光照等信息的差异,将INM模块分别嵌入到主干网络的第三层和第四层之后,INM模块如图2所示。将网络提取的行人特征图Z∈Rh×w×c作为INM模块的输入,其中h、w和c分别表示特征图的高度、宽度和维数。同时为了防止直接使用IN层对行人信息的提取造成影响,提出使用通道注意力机制引导IN层对行人的特征信息进行提取。实例归一化模块如式(1)所示
图2 INM实例归一化
(1)
受到通道注意力机制[8]的启发,使用通道注意力对不同通道的特征进行自适应的加权,让网络在训练过程中自适应的去提取更具有判别力的特征,同时也避免了硬性的对特征使用IN层编码带来的影响。通道注意力机制如式(2)所示
mC=σ(W2δ(W1g(Z)))
(2)
特征图的每一层通道的特征归一化如式(3)所示
(3)
其中,Zk表示特征图Z的通道维度中第k层的特征,参数ε是用来避免运算的过程中除数为0的情况,文中参数ε取值为0.0001,E[·]用来计算特征图第k个维度的平均值,Var[·]用来计算特征图第k个维度的标准差。
经过实例归一化模块后的特征,会更加关注图像中行人的前景信息,有利于缓解图像中杂波等信息带来的特征误差,使网络提取图像中更细节更有判别力的特征信息。
大多数行人重识别关注的信息侧重于对图像构造全局特征的约束,将全局特征作为行人最终信息的表示,然而由于行人姿态,光照和遮挡等信息的影响,仅使用全局特征并不能很好形成对图像细节特征的完整表达,因此提出将全局特征和加权后的局部特征融入到双级特征融合模块中来形成对行人图像更全面更细节的表达。双级特征融合模型如图3所示,由于行人不同部位的重要性也不同,因此在局部特征中提出局部注意力机制引导P个可变参数来细化局部的聚合特征,其中P表示局部特征的块数,局部特征的计算流程如式(4)所示
图3 双级特征融合模型
(4)
为了得到更有判别力的局部聚合特征向量,提出局部注意力机制引导经过归一化后的P个可学习的参数对不同的局部特征进行加权求和,加权参数使用w=(w1,…,wP)T来进行表示,聚合加权后的局部特征如式(5)和式(6)所示
(5)
(6)
然而仅结合权重的局部特征向量不能充分利用全局视角下的特征信息,不能形成对行人特征的全面表达,为了形成对行人特征的全面表达,增强图像信息的可判别性,将加权后的局部聚合特征向量与经过全局平均池化后的全局特征向量结合起来,将行人图像的特征映射到一个更有区分性的特征空间,行人的最终特征如式(7)所示
(7)
为了增强网络提取行人图像更细节特征的能力,提高模型的识别率,使用平滑交叉熵损失、三元组损失以及跨分支特征蒸馏损失策略进行训练。
(8)
(9)
(10)
其中,N代表每批行人的图像个数,C代表每个身份的行人个数,fi代表图像的特征向量,其真实标签为yi,W代表权重向量,b是偏置值,ε表示标签平滑参数,参数大小取值为0.0001。
(11)
其中,P表示在同一批训练数据中有P个不同身份的行人图像,K表示在同一批训练数据中每一个身份的行人有K个实例,α表示正样本和负样本的间隔距离,文中取α=0.3。
特征相似性损失如式(12)所示
(12)
特征差异性损失如式(13)所示
(13)
网络的总损失函数为
LSUM=LCE+LTriplet+LS+LC
(14)
本文算法基于Pytorch框架进行开发,实验使用的计算平台是Ubuntu16.04操作系统,硬件配置如下:GPU为NVIDIA GeForce GTX 3090、内存大小为64 GB。训练批次大小为32,每一批次中P设置为8,K设置为4总共迭代次数为150,使用Adam优化器优化模型参数。在训练的过程中,引入了REA[10]的训练技巧对行人图像进行随机遮挡,设置对图像随机擦除的概率为0.5,擦除部分的面积比为0.025
图4 随机遮挡
在目前比较常用的数据集Market-1501[11]和DukeMTMC-ReID[12]上对提出的行人重识别模型进行了相应的实验,验证了所提模型的有效性。详细信息见表1。
表1 数据集属性信息
在两个数据集上采用目前行人重识别方法的两种评价指标,首位准确率(Rank-1)和平均匹配度(mAP)。Rank-1和mAP的定义参见文献[13]。
本节将提出的INMM模型在现有使用广泛的数据集上与现在近些年来主流的Re-ID算法进行对比和分析。对比结果见表2。
表2 与其它方法对比
从表2中可以看出,本文提出INMM模型在Market-1501数据集上的首位准确率达到了95.7%,平均准确率达到了88.1%,在DukeMTMC-ReID数据集上的首位准确率达到了89.2%,平均准确率达到了79.5%。本文所提方法在两个数据集上的mAP和Rank-1相比于其它方法均有明显提升,其中IDE模型使用的网络中没有对图像的特征进行归一化同时也没有结合图像的全局和局部特征,因此准确率没有文中提出的模型高。PCB+RPP模型仅仅使用了局部特征对行人进行特征的表示,并没有结合全局特征,因此准确率也不如INMM模型。虽然ABD-Net模型在Market-1501数据集上mAP的指标比INMM高了0.1%,但是rank1指标以及DukeMTMC-ReID上的指标都不如INMM高,并且ABD-Net模型在求解SVDO梯度的时候使用了自动微分法,这个过程的计算量特别巨大。因此本文所提出的模型对行人重识别任务的性能提升是有效的。
为了更直观展示出本文所提模型的先进性,随机在查询集中取了4类行人图像,分别包含行人步行、行人骑车、行人遮挡以及图像模糊。图5所示为行人结果查询示意图,其中上一行是本文模型所对应的查询结果,下一行为ResNet50网络所对应的查询结果,图像上方无黑色三角表示查询集中的正确结果,图像上方有黑色三角表示查询集中的错误结果。可以很直观看出,本文模型相对于基线模型在4类行人图像查询结果中,均取得了更好的效果,提高了行人重识别模型的准确率。本文模型在INM模块和TLFFM模块的相互作用下可以提取更细节更全面的行人特征。
图5 查询结果
3.5.1 不同模块的影响
为了验证本模型不同模块的有效性,在INM模块和TLFFM模块之间进行模型的消融实验。消融实验的对应热力图如图6所示,其中图像浅色区域越大说明该区域对特征的提取越重要。在查询集中随机挑选4张行人图像,其中图(a)对应的是行人原图,图(b)对应的是基线模型的热力激活图,图(c)对应的是加入INM模块中对应的热力激活图,图(d)对应的是加入INM模块和TLFFM模型后对应的热力激活图。在加入INM模块后,激活的行人图像区域更大,这是因为INM模块归一化之后在图像的特征层面降低了背景等杂波因素的干扰,在这个基础上再加入TLFFM模块,行人激活区域进一步加深,这是因为TLFFM模块根据注意力机制的参数让模型自适应的关注了全局特征和局部特征,二者形成了对行人图像特征的充分表达。
图6 行人可视化热力图
模块消融实验对应的结果见表3,在依次加入INM模块和TLFFM模块后行人图像部位激活区域更多,因此在实验对应的结果中,Rank-1和mAP也是依次增加的,消融实验结果表明的INM和TLFFM模块的有效性,二者相互作用增强了行人重识别模型的识别率。
表3 模型消融实验
3.5.2 损失函数的影响
文中的损失函数共包含了3种,分别是平滑交叉熵损失、三元组损失以及跨分支特征蒸馏损失。为了验证损失函数的有效性,在3个损失函数上设计了消融实验,交叉熵损失仅仅考虑了高维特征的分类面,并没有考虑特征之间的绝对距离,因此效果不如加入三元组之后的效果好,跨分支特征蒸馏损失将全局特征的语义信息传递到了局部特征,因此3个损失函数相互作用,增强了模型对图像特征信息的提取能力。损失函数实验的结果见表4。
表4 损失函数实验
为确定局部特征分支中的超参数P的取值,在Market-1501和DukeMTMC-ReID数据集上对一定范围内P的取值进行相应的验证与分析。不同超参数的准确率如图7所示,在数据集Market-1501和DukeMTMC-ReID中,Rank-1和mAP都是在P取值为6的时候达到最高,这是因为当P取值太小时,局部特征的语义信息细节程度会降低,当P取值太大时,局部特征的语义可解释性会大幅降低。当P取值为6的时候,模型的识别率最高,因此文中P取值为6。
图7 P参数分析
如何提取出图像细节特征一直是行人重识别研究中重要的问题,为此,提出一种联合归一化模块和多分支特征的行人重识别模型,在网络模型中,通过被注意力机制引导的归一化模块提取前景特征信息,并对局部特征使用可变参数进行加权求和,最后与全局特征共同提取图像中的判别性特征。在两个数据集上进行实验验证,开展可视化实验、消融实验以及与其它先进算法对比实验,验证了所提算法的有效性。在未来的工作中,将尝试使用轻量化模型展开研究。