多分支融合注意力机制的行人重识别方法

2022-08-16 03:11王成龙
计算机工程与设计 2022年8期
关键词:池化分支全局

郭 彤,赵 倩,赵 琰,王成龙

(上海电力大学 电子与信息工程学院,上海 201306)

0 引 言

行人重识别[1]是一项跨摄像机的图像检索任务,用于判断多摄像头检测的行人序列中是否存在同一行人,该技术广泛应用于视频监控、智能安防和智能摄像头等领域。

深度学习的应用使行人重识别的性能得到了极大提升。Wang等[2]将深度卷积神经网络每一阶段输出的全局特征进行权重控制并通过级联的方式融合,该模型在多个数据集上被证明有效,但当行人发生遮挡时,基于全局特征的重识别方法将达不到预期效果。因此,基于局部特征的方法被引入到行人重识别任务中。Zhao等[3]将姿态估计与行人重识别任务相结合,提出Spindle Net网络,该网络将姿态估计模型生成表征人体部件的7个区域和采用卷积神经网络提取的全局特征融合生成多尺度特征,但是基于姿态估计的行人重识别方法依赖于姿态估计模型的准确性。Zhang等[4]提出了一种最短路径对齐方法,通过动态的计算图像对局部特征之间的距离来完成重识别任务,避免了分割带来的图像对之间的不匹配问题。徐等[5]采用多尺度的自适应滑动窗口提取局部特征并进行最优选择,以此联合全局特征共同完成行人重识别。然而,实际监控场景中的行人运动、背景等因素会对行人身份信息带来干扰,导致行人重识别的准确性降低。

基于此,本文提出了一种多分支融合注意力机制的行人重识别方法,该方法设计了一个基于注意力机制的全局分支,提取更加具有显著性的全局特征,采用独立的分支提取局部特征,避免网络共享参数导致的性能下降,并且使用特征补充提取相邻局部特征之间连接处的特征,保证局部特征的完整性。在Market-1501、DukeMTMC-reID和CHUK-03数据集上进行多次实验,结果表明该网络模型能够有效提高行人重识别的性能。

1 行人重识别网络模型

1.1 网络结构

在训练神经网络时,随着网络深度不断增加,训练的准确率会逐渐平缓,但是误差却会变大,残差网络中残差模块的设计很好地解决了这种网络退化现象,因此本文采用残差网络ResNet50[6]作为基础网络。本文网络结构如图1所示,将ResNet50的Conv4-1之后的部分,分成两个分支。第一个分支为全局分支,该分支中,在Conv4之后加入注意力机制,通过注意力机制增强网络特征学习的能力,使网络在有限的特征信息中更加关注行人信息,减少图像背景复杂造成的误差。对Conv5-1块中的stride-2卷积层进行下采样,然后在相应的输出特征图上执行全局最大池化操作,并使用批处理归一化的1×1卷积层和ReLU将2048维特征减少为256维。第二个分支为局部分支,包含局部-2分支、局部-3分支和特征补充分支。该分支将行人特征图分割为基本块,使得网络更关注细微但必要的局部特征区域,联合全局特征和局部特征将促使网络在有限的信息中探索有用的细粒度信息。该分支中,在基础网络不同深度分别进行局部水平池化,将相应的输出特征图水平均匀地切分成局部基本块,记为局部-N分支,其中N表示分支中基本块的数量。

由于硬分割会造成图像分割边缘信息的丢失,并且局部-2分支和局部-3分支中分割存在重叠部分,因此只在局

图1 网络结构

部-3分支引出特征补充分支,对目标切割部位进行特征补充,避免特征丢失,同时对其余部分的特征进行丢弃,避免与局部-2分支中提取的特征信息重复,造成特征冗余。该分支在Conv5中不进行任何下采样操作以保留更完备的局部信息,与全局分支一样,对所用到的基本块降维至256维。在测试阶段,将所有缩小到256维的特征合并为一个特征向量来测试该网络的性能,结合了全局和局部信息,使提取的特征信息更全面。

1.2 基于注意力机制的全局分支

为了增强网络提取显著特征的能力,使网络更加关注行人特征,在全局分支中引入注意力机制,设计了基于注意力机制的全局分支。在提取局部特征时分块策略可以起到弱注意力的作用,因此只在全局分支引入注意力机制。本文采用CBAM(convolutional block attention module)[7]注意力机制,设计了基于注意力机制的全局分支,注意力机制如图2所示,将ResNet50的Conv4-X输出特征图依次通过通道注意力和空间注意力。通道注意力集中于输入图像“是什么”上,采用平均池化和最大池化操作聚合特征图的空间信息,得到两个1×1×C的通道矩阵,将这两个矩阵输入到同一个多层感知机后合并输出特征向量,如式(1)和式(2)所示

Mc(F)=σ(MLP(AvgPool(F))+MLP(MaxPool(F)))

(1)

F′=Mc(F)⊗F

(2)

式中:F表示输入行人特征图,σ为Sigmoid激活函数,AvgPool(F)和MaxPool(F)分别为平均池化和最大池化,MLP(multi-layer perceptron)为多层感知器,Mc(F)为通道注意力模块,F′表示经过通道注意力后得到的特征。空间注意力集中于“在哪里”,是对通道注意的补充,采用平均池化和最大池化操作来聚合一个特征映射的信道信息,生成两个W×H的2维空间矩阵,然后将它们拼接并通过一个标准的卷积层,生成二维空间注意力,如式(3)和式(4)所示

Ms(F′)=σ(f([Avgpool(F′);MaxPool(F′)]))

(3)

F″=Ms(F′)⊗F′

(4)

式中:Ms(F′) 为空间注意力模块,f为卷积层运算,AvgPool(F′)和MaxPool(F′)分别为平均池化和最大池化,σ为激活函数,F″表示经过空间注意力后得到的特征。

图2 注意力机制

1.3 局部分支网络

由于在多摄像头下采集的行人数据集中存在大量的困难样本,使得单独使用全局特征或者单一的局部特征不能完全将图片的关键信息表征出来。因此,如何提取更具代表性和判别力的局部特征和如何合适地统一全局特征与局部特征,成为提升行人重识别性能的关键。目前常用的局部特征提取方法有姿态关键点匹配、语义分割、图像切块等方法,其中图像切块是一种简单有效的方法。图像切块可以捕获到图像的细节信息,但是图像切块容易导致边缘信息丢失,因此本文采用多尺度特征提取和特征补充的方法弥补图像切块的缺陷,并将其与全局特征联合进行行人重识别任务。

受到MGN(multiple granularity network)[8]网络的启发,本文在提取局部特征部分包含在网络不同深度将行人特征水平均匀分割为2个基本块的局部-2分支、将行人特征图水平均匀分割为3个基本块的局部-3分支和对其进行特征增强的特征补充分支。局部-2分支中,将基础网络Conv4输出特征图进行局部池化操作,水平均匀分割为2个基本块dij(i=2;j=1,2); 局部-3分支中,将ResNet50的Conv5输出特征图进行局部池化操作,水平均匀分割为3个基本块gij(i=3;j=1,2,3); 由于局部-2分支和局部-3分支中的分割具有重叠部分,因此在局部-3分支中Conv5输出特征图再次进行局部池化操作,水平均匀分割为4个基本块,取其中与局部-3分支中的分块之间存在重叠部分的基本块,即第2和第3个基本块wij(i=4;j=2,3), 作为特征补充分支的基本块,为了避免与局部-2分支中提取的特征信息重复,将剩余的基本块wij(i=4;j=1,4) 丢弃,共7个基本块进行模型训练。特征补充分支既可以较好避免因硬分割所带来的局部边缘信息的丢失,也可以避免与前面分支中的多个局部基本块重复所带来的特征冗余,具体实验部分在2.3节进行具体阐述。

行人图像切分效果如图3(a)所示,与HPM(horizontal pyramid matching)[9]网络(图3(b))相比,本文的方法采用参数不共享的独立分支结构,可以避免一个分支共享参数导致网络性能的退化。在提取局部特征时,首先根据人体基本结构,将行人分成上半身和下半身两个部分提取局部特征;其次考虑到还有更细小的特征待发掘,并且与前面二等分相配合,将行人三等分提取较精细但必要的局部特征;最后提出特征补充分支来避免前面硬切分带来的图像切分边缘精细特征的丢失,同时为了防止特征冗余和本地资源的浪费,有区分地选取局部特征基本块。HPM网络则是将特征图和其进行二等分、四等分和八等分后分别预测行人身份,来完成行人重识别任务。但由于行人具有较强的灵活性,同一身份的行人图片之间往往会出现身体部分错位、不对齐的情况,这种情况下过于细小的特征分块不仅对于最后的识别结果没有提升,反而会浪费本地更多的硬件资源和训练成本。

图3 行人图片切分效果

1.4 多损失函数联合学习

在训练网络模型时,联合多种损失函数共同学习可以使得网络模型更具鲁棒性。本文组合3种不同的损失函数:softmax损失、三元组损失(triplet loss)和中心损失(center loss)共同训练网络。由于三元组损失和中心损失使用的度量方法是欧式距离,而softmax损失使用的是余弦距离,且局部特征基本块之间存在不匹配问题,因此对于图1中降维之前1024维的全局特征和局部分支所用到的基本块使用softmax损失函数约束;对于降至256维的全局特征使用三元组损失和中心损失共同约束,以达到收敛效果。行人重识别问题可以看成一个分类任务,对于训练网络过程中每个批次学习到的特征,Softmax损失如式(5)所示

(5)

式中:Wk对应于k类的一个权向量,N为训练过程中的批量大小,C为训练数据集中的类数。根据文献[10]该损失函数丢弃了线性多分类器中的偏量,有助于提高识别能力。本文使用基于难样本挖掘的三元组损失[11],定义如式(6)所示

(6)

(7)

式中:fti表示第i张图片的特征值,cyi表示第i张图片对应特征值所属的特征中心,M是一个批次中行人图片的数量。中心损失可以使得同一类行人之间的特征向内聚集,类内特征更为紧凑,与三元组损失共同约束特征向量使得同一行人的特征更加接近,不同行人之间的特征距离增大,提升网络的检索能力。因此,改进之后的损失函数如式(8)所示

L=Lsoftmax+Ltriplet+Lcenter

(8)

2 实验结果及分析

2.1 数据集及评估协议

为了验证本文所提方法是否有效,在常用的行人重识别数据集 Market-1501、DukeMTMC-reID和 CUHK03上分别进行测试[13-15],并将其与目前主流的行人重识别方法进行对比,表1是行人重识别数据集的介绍。Market-1501数据集是在夏天拍摄,样本具有较大的姿态和光照变化,行人检测框由人工和DPM算法进行标注;DukeMTMC-reID数据集是在冬天拍摄,行人样本具有较大的外观变化,行人检测框由人工进行标注,数据集内不同行人之间具有很高的相似度,同一行人之间却有很大的差异性;CUHK03数据集由和人工标注检测框(CUHK03-labeled)和DPM算法标注检测框(CUHK03-detected)两部分组成,该数据集是在楼道拍摄得到的,摄像头相比于其它两个数据集较多,并且空间密闭狭窄,存在较多侧面和背影行人样本,测试集行人类型少于训练集行人类型,增加了测试的难度,具有较大的挑战性。

表1 行人重识别数据集介绍

本文采用累积匹配特征(cumulative matching characteristic,CMC)曲线[16]中的Rank-1精度和平均精度均值(mean average precision,mAP)这两个标准来评价行人重识别方法的性能。Rank-1表示模型返回的排序列表中第一个结果即为查询目标的概率。平均精度均值是对待查询集中所有图片返回的结果进行计算,具体公式如式(9)所示

(9)

式中,N为查询集,mi为每个查询图像返回正确匹配结果的数量,Precision(Rij)表示返回第j正确匹配结果的平均精度。

2.2 实验设置

实验使用ImageNet分类的Resnet50作为提取特征的基础网络。训练过程中,输入图像分辨率调整为384×128,并应用随机擦除来对图像进行数据增强。设置批处理大小为16,每批次中随机抽取4个行人,每个行人抽取4张图像,三元组损失函数中的阈值α设为1.2,初始学习率为0.0002。整个训练过程持续400个epoch,并采用自适应梯度优化器(Adam)更新参数。本文所提方法是在深度学习框架pytorch上进行实现的,所有实验均使用单一查询方式。

2.3 消融实验

为验证算法性能,设置消融实验。由于CUHK03数据集中的行人图片遮挡较多,且背景复杂,具有较大的挑战性,因此在CUHK03中的两个数据集(labeled和detected)上来验证所提方法每个组件的有效性,每次实验均与上文所述的实验设置保持一致,实验结果见表2。其中AM-GB表示基于注意力机制的全局分支,LB-2表示局部-2分支,即图1中的局部-2分支,LB-3表示局部-3分支,LB-4表示局部-4分支,即没有进行丢弃前的特征补充分支,加入此分支消融实验可以更为直观说明特征补充分支的有效性,FSB表示特征补充分支,SM表示softmax损失函数,T表示三元组损失函数,C表示中心损失函数。由表2可以看出,每加入一个单独的组件其性能都有不同程度的提高,局部-4分支相对于特征补充分支而言,其性能有所下降,在CUHK03-labeled和CUHK03-detected数据集上Rank-1分别下降了4.36%和5.14%,mAP分别下降了3.49%和3.98%,进一步说明了特征补充分支可以提高重识别效果。

表2 不同方法的实验结果对比

2.4 结果可视化

为了能够更加直观体现本文算法的检测效果,图4展示了部分在Market-1501数据集上查询前10名的结果。图中最左侧query是查询目标,右侧1~10为相似度排名前十的行人图像。第一、二个查询图像在自行车混淆行人信息的情况下,本文网络可以通过不同粒度的局部分支为全局分支提供更全面的特征,从而获得较好的结果。第三、四排行人的查询图像是在低分辨率下采集的,且背景杂乱无章,该网络仍然可以鲁棒地表示其特征信息。最后一个行人图像的查询结果Rank-8、Rank-9和Rank-10虽然没有明显的红色元素作为强有力的特征,该网络仍然可以找出正确的行人图像,这得益于不同层次的语义信息和不同粒度的局部分支对网络的影响。

图4 Market-1501数据集部分图像结果可视化

2.5 与主流方法的比较

为了验证所提方法的性能,将该方法与主流的行人重识别方法进行对比,对比结果见表3和表4。由表3可知,本文方法在Market1501和DukeMTMC-reID数据集上的Rank-1分别达到了95.68%和89.84%,相比于只使用局部特征的PCB网络分别提高了3.38%和8.14%;mAP分别达到了87.20%和79.14%,相比于PCB网络分别提高了9.8%和13.04%,这得益于该网络局部分支中在网络的不同深度提取不同层次的语义信息,增加了局部特征的丰富性;多分支提取不同粒度的局部特征,获取行人图像更具鲁棒的特征。由表4可知,本文方法在labeled和detected数据集上的Rank-1分别达到了83.21%和79.21%,相比于只包含多个分支结构,但没有考虑局部特征之间联系的MGN网络分别提高了15.21%和12.41%;mAP分别达到了79.95%和75.67%,相比于MGN网络分别提高了12.55%和9.67%,这得益于局部分支中引入了采用不同于基础特征部分的切分方式的特征补充机制,避免了边缘信息的丢失。

表3 Market-1501和DukeMTMC-reID数据集上 与主流方法性能对比

表4 CUHK03数据集上与主流方法性能对比

3 结束语

本文提出了一种多分支融合注意力机制的行人重识别网络,多分支网络结构可以增强网络的特征提取能力,注意力机制使网络更关注行人的关键特征。此外,通过不同尺度的局部特征与特征补充的联合,进一步挖掘行人特征的潜在信息,使特征信息更加完整。实验在3个主流行人重识别数据集上进行验证,实现了较好的重识别效果,相较于现有行人重识别方法性能有所提高。在未来的研究中,将尝试对模型进行轻量化,在保证精度的同时尽可能降低模型对设备资源的需求。

猜你喜欢
池化分支全局
基于高斯函数的池化算法
一类离散时间反馈控制系统Hopf分支研究
卷积神经网络中的自适应加权池化
软件多分支开发代码漏合问题及解决途径①
巧分支与枝
基于卷积神经网络和池化算法的表情识别研究
落子山东,意在全局
用于手写汉字识别的文本分割方法
记忆型非经典扩散方程在中的全局吸引子
硕果累累