结合上下文信息和融合表征的行人重识别方法

2022-09-02 03:23秦昌辉李小霞刘晓蓉
制造业自动化 2022年8期
关键词:池化残差行人

秦昌辉,李小霞,刘晓蓉

(1.西南科技大学 信息工程学院,绵阳 621010;2.特殊环境机器人技术四川省重点实验室,绵阳 621010)

0 引言

行人重识别[1]是广泛应用于跨摄像头监控系统的图像检索技术,其核心内容是特征提取和距离度量,已成为计算机视觉领域的研究热点。由于行人姿态和视角变化、遮挡、摄像头拍摄环境复杂多变等因素的影响,研究出性能优良的行人重识别方法还是一项巨大的挑战,吸引了众多研究人员进行了大量的研究。

传统的行人重识别技术依靠人工设计的特征来表征行人目标,包括颜色、纹理、HOG(Histogram of oriented gradient)[2]、SIFT(Scale invariant feature transform)[3]等特征及其它们的组合。然而人工设计的特征表征能力有限,难以满足复杂监控场景的行人重识别任务。由于卷积神经网络强大的特征提取能力,能够自适应调节不同类别间的分界面,可以通过卷积神经网络来学习出一个判别性强的特征空间,然后通过距离度量函数计算特征空间中样本的距离,取得了显著的效果。文献[4]提出了一种融合分类与验证任务的孪生网络模型,该模型以图片对为输入,以行人身份和图片对中的行人是否为同一身份为监督信息,通过交叉熵损失和验证损失来优化模型,能够同时学习出一个具有判别性的特征空间和相似性度量方法。相较于单一的身份分类模型,该方法充分利用了数据集中不同图片之间的关系,取得了不错的识别效果。但是该方法仅使用图像的一个全局特征,难以适应行人部分遮挡和姿态变化等情况,因此出现了利用行人身体各个部位提供的细粒度信息来描述行人的方法。文献[5]引入人体骨骼关键点检测方法来获得行人身体部位的14个关键点并划分行人部位,然后对整个行人和各个部位提取特征,并且在多个尺度上连接各部位特征,最后融合全局特征和各部位特征。该方法通过关键点检测模型实现了行人各部位的语义对齐,但是增加了额外的计算负担。文献[6]依据行人身体的各个部位具有一致的语义信息,将主干网络得到的全局特征水平切分为六个局部特征,并通过精细局部池化(refined part pooling RPP)方法修正统一切分造成的局部区域内语义不一致的问题,优化六个局部特征的损失之和得到判别性高的模型。文献[7]构建了一个包含全局特征分支和特征丢弃分支的模型,该模型通过随机丢弃一个批次内同一区域的特征能够加强对局部区域显著特征的学习,连接两个分支的特征可获得更全面的行人特征表达。

上述方法都致力于提取全局特征和局部特征来获得具有判别性的行人特征表达,但是多数方法只用了高层特征来学习特征空间,在特征提取过程中对不同位置信息的重要程度未作区分。根据卷积神经网络自身的特性,低层卷积学习图像的局部特征,包含较多的细节信息,高层卷积学习图像的全局特征,表达出较强的语义信息。因此这些方法提取的特征会损失部分细节信息,具有判别性的显著特征得不到加强,影响了行人重识别的精度。

本文提出一种结合上下文信息和融合表征的行人重识别方法,该方法使用上下文残差模块构建主干网络提取图像特征,使特征图每个位置的特征与整个特征图产生长距离依赖关系,拥有全局感受野,提取的特征信息更加充分。主干网络提取的高低层特征输入三个并行分支进行身份识别和度量学习,使用Softmax损失、三元组损失和中心损失联合优化模型,可以获得一个类内紧致、类间分离的特征空间。模型推理阶段将三个分支归一化后的特征融合,使用更加丰富的特征来表征行人,获得更高的行人重识别精度。

1 方法

为了获得更具判别性的行人特征,本文提出了一种结合上下文信息和融合表征的行人重识别方法,其网络模型如图1所示。主干网络包括1个卷积层、1个池化层和4个上下文残差模块(Context Residual Module,CRM)。CRM_3和CRM_4提取的特征图分别通过三条分支网络。每条分支网络由1个广义平均池化(Generalized Mean Pooling,Gempool)层、1个归一化模块(Normalize block)和1个全连接(Fully Connection,FC)层构成。在模型的训练阶段,Gempool层提取的特征用于计算三元组损失和中心损失,全连接层提取的特征用于计算Softmax损失。在模型的推理阶段,以通道堆叠(Concatenate)的方式融合归一化模块输出的低层特征f1和高层特征f2、f3,得到更丰富的特征表达。

图1 行人重识别网络模型

1.1 上下文残差模块

上下文信息是图像中每个像素与其它像素之间的依赖关系,有利于更加全面地理解图片所表达的场景信息,减轻遮挡对行人重识别的影响。在标准的卷积网络中,卷积层在较小的邻域内建立像素之间的局部依赖关系,通过堆叠卷积层的方式获得更大范围内的依赖关系,这种方式会增加模型的计算量和优化难度。为了避免上述问题,本文设计了一个上下文残差模块,该模块利用自注意力机制学习像素的全局注意力权重,通过全局注意力权重对特征图加权求得到全局上下文信息。本文设计的上下文残差模块如图2所示,由n个残差单元和一个上下文建模单元串联组成,本文主干网络中使用了4个上下文残差模块,n的取值依次是3,4,6,3。

图2 上下文残差模块

上下文残差模块中的残差单元结构如图3所示,输入特征X一路经过卷积、归一化和激活层前向传播得到F(X),另一路通过恒等映射与F(X)相加,再通过激活层输出特征。使用残差结构可以防止深层网络引起的模型性能退化,有利于模型优化。

图3 残差单元结构

本文使用的上下文建模单元如图4所示,输入特征图经过1×1的卷积变换和Sigmoid函数激活后学习到空间注意力权重的概率分布,依赖关系强的位置拥有更高的概率,关系弱的位置概率低,从而达到增强有用特征、抑制无关特征的目的,输入特征与概率分布相乘得到空间上下文信息。再经过1×1的卷积、归一化、Mish激活函数和1×1的卷积捕获通道之间的依赖关系,最终获得具有全局依赖关系的上下文信息。其中r是通道压缩率,本文设置为8,可以减少模型的参数量。最后通过相加的操作将上下文信息聚合到输入特征的每个位置。上下文建模单元定义为式(1)所示:

图4 上下文建模单元

式(1)中i,j,k表示特征图的空间位置,N是空间位置的总个数,W1,W2,W3是1×1卷积核的参数,σ是Mish激活函数,X为输入特征,Z为输出特征。

1.2 高低层特征融合

为了缓解最大池化或平均池化特征图造成信息缺失,导致特征的鲁棒性和判别性降低的问题,本文使用广义平均池化对主干网络提取的特征图进行池化处理,融合三个分支网络归一化后的特征f1、f2和f3得到丰富的行人特征表达。广义平均池化的输入为X,输出为f,计算公式定义如式(2)所示:

式(2)中K为特征图通道的维数,Xk是特征图第k个通道的特征,pk是池化参数,因为式(2)的池化操作可微,所以pk可以通过学习得到。当pk趋于无穷时,式(2)就变化为最大池化,当pk=1时,式(2)就变化为平均池化。

在嵌入空间中,Softmax损失主要优化图像对之间的余弦距离,而三元组损失则是优化图像对之间的欧式距离,两种损失函数组合使用时优化目标可能会出现不一致的现象,导致两种损失不能同时收敛,为了解决这个问题,本文设计了一个归一化模块将特征向量归一化到一个单位超球面附近,使两种损失函数能够向一致的方向收敛,归一化网络结构如图5所示。

图5 归一化网络模块

在模型推理阶段以通道堆叠(Concatenate)的方式融合图1中的f1、f2和f3得到丰富的行人特征,其中f1是低层特征,包含更多的细节信息,f2和f3是高层特征,具有更强的语义信息,融合高低层特征来表征行人可以有效地降低因卷积和池化造成的信息丢失的影响,增强特征的判别性。

1.3 损失函数

为了使模型学习到一个类内更紧致、类间更分离的特征空间,增强特征的判别性,本文使用Softmax损失、三元组损失和中心损失联合优化模型,损失函数定义如式(3)所示:

总的损失函数是Softmax损失、三元组损失和中心损失之和,式中i为模型的第i个分支,总共三个分支,λ1、λ2和λ3分别是各个损失的权重。Softmax损失可以引导模型学习到一个各个类别之间具有有效分界面的特征空间,具有很好的分类性质,其定义如式(4)所示:

式(4)中的n为一个训练批次中的图片数量,C为总的类别数,pj为第i张图片的预测概率向量,pi是第i张图片真实类别对应的概率值。三元组损失引导模型向增大类间距离、减小类内距离的优化方向收敛。随机选择P个身份,每个身份K个样本构成一个训练批次,经过模型提取特征后,使用困难样本挖掘技术产生困难三元组计算损失,α是边际控制量,三元组损失函数定义如式(5)所示:

式(5)中α取值为0.3,xa,xp和xn分别是模型提取的锚点、正样本和负样本的特征。为了增强特征的聚类性能,缩小类内距离,使用中心损失引导特征向各自的类中心靠拢,中心损失定义如式(6)所示:

式(6)中Cyi是一个批次内第i张图片对应的类别中心,m是一个批次中图片的数量。

2 实验与分析

2.1 实验环境及参数配置

本文实验使用的计算平台是Windows10操作系统,NVIDIA RTX2070 GPU,使用Pytorch深度学习框架构建模型,Adam优化器优化模型参数,Adam的初始学习率设置为3.5×10-4,权重衰减率设置为5×10-4。在训练模型时,输入图片的分辨率设置为256×128,批次大小为32,其中包含8个不同的人,每个人采样4张图片,迭代次数为120。损失函数的权重λ1、λ2设置为1,λ3设置为0.0005。

2.2 数据集及评价指标

本文在Market1501[8]和DukeMTMC-reID[9]两个行人重识别数据集上采用首位命中率(Rank-1)和平均准确度(mean Average Precision mAP)两个指标衡量本文方法的有效性。Market1501数据集包含1501个身份的32668张行人图片,采集自清华大学校园中的6个相机。训练集包含751个身份的12936张图片,测试集包含750个身份的19732张图片,训练集和测试集中包含的人身份不同。DukeMTMC-reID数据集的图像采集于杜克大学校园内8个不同的摄像头,训练集包含702个身份的16522张图像,另外702个身份的2228张作为检索图片,1110个身份的17661张图片作为被检索图片集。

2.3 数据增强

为了丰富数据的多样性,提高模型的泛化能力,本文使用了数据增强策略,包括标准化、随机水平翻转、随机裁剪和随机擦除,图6是输入图片经过数据增强后的效果。

图6 数据增强效果

2.4 实验结果与分析

为验证本文方法的有效性,在Market1501和DukeMTMC-reID数据集上进行了对比实验。实验结果如表1所示,其中Base方法是以Resnet50为主干网络提取特征,特征经过如图1所示的三条分支网络计算损失,测试时只用f2特征作为行人表征,F是融合f1、f2和f3作为行人表征。由表1中的数据分析可知,本文方法在两个数据集上Rank-1和mAP指标均有不同程度的提升,其中上下文残差模块CRM的使用对于mAP的影响十分显著,在Market1501和DukeMTMC-reID数据集上分别提高了1.7%和2.6%,图像的上下文信息可以有效地提高行人在特征空间中的判别性。

表1 不同方法组合的实验结果(%)

表2是本文方法与目前先进方法在Market1501和DukeMTMC-reID数据集上指标的比较。在所对比的先进方法中,本文方法在两个数据集上均获得了最高的Rank-1和mAP。在mAP指标上取得了更显著的优势,相较于2019年的BFE方法,在两个数据集上分别获得了2.4%和2.8%的提升,验证了本文方法的有效性。

表2 Market1501和DukeMTMC-reID数据集上不同算法的指标对比(%)

3 结语

在实际应用环境中,卷积神经网络提取的特征会因行人图像存在遮挡、姿态和视角变化等复杂因素的影响而降低判别性,针对此问题本文提出一种结合上下文和融合表征的行人重识别方法。首先通过上下文残差模块以全局的感受野提取图像的上下文信息,增强了特征的判别性和鲁棒性;然后使用三个损失函数联合优化模型,使模型收敛到一个类内紧致、类间分离的特征空间;最后融合高低层特征表征行人,使行人特征更加丰富。在Market1501和DukeMTMC-reID数据集上的实验结果验证了本文方法提取到了判别性更强的行人特征,有效地提高了行人重识别的准确率。

猜你喜欢
池化残差行人
基于高斯函数的池化算法
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
卷积神经网络中的自适应加权池化
毒舌出没,行人避让
基于残差学习的自适应无人机目标跟踪算法
基于深度卷积的残差三生网络研究与应用
路不为寻找者而设
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法