基于改进GhostNet的多分支行人重识别方法
文献发布时间:2023-06-19 10:19:37
技术领域
本发明属于计算机视觉领域,涉及一种基于轻量级特征提取主干的多分支行人重识别方法。
技术背景
行人重识别(Person re-identification)也称行人再识别,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。广泛被认为是一个图像检索的子问题。给定一个监控行人图像,检索跨设备下的该行人图像。旨在弥补固定的摄像头的视觉局限,并可与行人检测/行人跟踪技术相结合,可广泛应用于智能视频监控、智能安保等领域。由于不同摄像设备之间的差异,同时行人兼具刚性和柔性的特性,外观易受穿着、尺度、遮挡、姿态和视角等影响,使得行人重识别成为计算机视觉领域中一个既具有研究价值同时又极具挑战性的热门课题。
行人重识别任务主要包括特征提取和相似度度量两个步骤。在特征提取上,深度卷积网络的蓬勃发展带来了更强大的特征表示,对于行人图像具有更好的分辨力和鲁棒性,这将Re-ID的性能提升到了一个新的水平;在相似度度量上,统一的度量都是采用特征向量间的欧式距离或者是余弦距离作为相似度的度量标准。
行人图片中包含主要的人物信息和无用的背景信息,为了让模型学习到有用的目标信息,通常使用卷积神经网络来对图片进行特征提取,并对提取的特征进行相应的处理进行学习,最后得到一个识别能力较好的识别模型。
在进行特征学习时,全局特征的目的是学习到最显著的外观表现,但是,一些细节性的特征在全局特征学习时是被忽略的,比如人身上或者衣服上的标志。全局特征会做特征均匀化,从而忽略掉一些细粒度的特征表现。局部特征可以关注更多的细节,但是无论是做关键点定位后的姿态估计还是图像的水平分块,都包含了很多先验知识,在很多的场景中,获得的图像数据不够完整,比如目标大面积被障碍物遮挡,姿态的大幅度变化,行人在图像中的不同占比,以及分块特征没有对齐校准等等。所以,局部特征的学习鲁棒性不够高,在做数据集的迁移时,模型往往适应性比较差。所以,单一做全局特征或者局部特征的学习产生的效果还是不理想的。
发明内容
为了客观、有效地融合细粒度特征,并且利用局部特征和全局特征的信息,本发明提出了一种基于轻量级特征提取主干的多分支行人重识别方法。本发明通过插入改进SE模块的GhostNet对图像进行特征提取,然后经过降维卷积,之后通过ResNet50的layer4和layer5进行通道信息的加深,然后进行了三个分支的联合训练,分别用Cross-Entropy和Triplet损失来训练局部特征和全局特征,最终使用训练好的模型实现行人重识别任务。
基于改进GhostNet的多分支行人重识别方法包括以下步骤:
步骤一,对GhostNet网络中的Ghost模块进行改进,使Ghost模块的输入经过SE模块后与最后一个Ghost Module的输出加权相加,然后将加权相加的结果与恒等映射后的输入相加作为Ghost模块的输出。并使用Mish激活层替代插入了SE模块的GhostNet网络中的ReLu激活函数。使用改进后的GhostNet网络的特征提取部分提取行人图片的特征,得到特征图f∈W×H×1280,W和H分别为特征图f的宽度和高度;
步骤二,将特征图f经过一个1×1的降维卷积,降低特征图f的通道数,得到特征图f
步骤三,将f
s3.1、将特征f
所述特征重塑模块的结构依次为最大池化、降维卷积、均值归一化,作用是将输入特征重塑成batch×256形状的特征向量。
s3.2、对于特征f
s3.3对于特征f
作为优选,在模型的训练过程中设置batch=32。
步骤四,将
其中,a和p为同一个目标的不同图片,n为与a不同目标的图片,
作为优选,m=0.3。
当训练损失不再有明显的下降变化时,完成训练优化,保存模型参数。
步骤五:使用训练优化后的模型进行行人重识别,将特征重塑模块中的batch设置为1,将需要查询的数据集的所有图像送入模型,得到所有图像的表征向量表,每张图像的表征向量为
本发明具有以下有益效果:
第一,在特征提取主干上,选择了比ResNet50参数量更少的GhostNet,实验证明,两者的特征提取能力相当;在特征提取网络中,加入SE注意力机制,这使得在训练过程中,模型会更加关注有用的信息。
第二,在特征处理阶段,首先经过ResNet50的layer4和layer5加深特征的通道信息,然后复制分成三个分支,第一个分支代表了全局特征信息;第二个分支水平划分为2,表示细粒度为2的局部特征信息;第三个分支水平划分为3,表示细粒度为3的局部特征信息。并且在特征处理阶段使用梯度流更加平缓的Mish代替Relu激活函数。
第三,在有监督训练阶段,不同的特征送入不同的损失函数来约束。其中三个分支的最大池化得到的特征送入三元组损失,其余的局部特征送入交叉熵损失,进行多损失联合训练。
附图说明
图1表示行人重识别方法流程图;
图2表示在步长为2的Ghost模块中插入改进的SE模块的示意图;
图3表示实施例中特征提取网络对行人图片提取的特征图可视化;
图4表示基于GhostNet的多分支细粒度行人重识别模型;
图5(a)、(b)分别表示激活函数Mish和Relu的对比;
图6(a)、(b)、(c)、(d)分别表示实施例的训练过程中模型的交叉熵损失、三元组损失、总损失以及评估指标的变化曲线图;
图7为实施例的查询结果可视化。
具体实施方式
为了有效的提取行人的特征并进行分类识别,本发明对GhostNet网络的特征提取部分进行改进,并融合考虑了全局特征与局部特征。下面结合附图对本发明的实施例作详细说明:
如图1所示,基于改进GhostNet的行人重识别分类方法,具体包括如下步骤:
步骤一,使用将Mish激活层替换了Relu激活函数并添加了SE注意力机制的轻量级特征提取卷积神经网络GhostNet代替传统的特征提取网络ResNet50,提取数据集Market-1501中行人图片的特征。图2为添加了SE模块的步长为2的Ghost模块的网络结构。因为GhostNet的最后一层的特征层的通道为1280,所以将得到的特征图记为f∈W×H×1280;图3展示了GhostNet在行人图片上提取的特征图可视化。
步骤二,构建如图4所示分类模型,将特征图f经过一个1×1的降维卷积,降低尺寸,得到特征图f
步骤三,将f
特征f
为了使训练中的梯度传播更平滑,把传统的激活函数Relu改成Mish,两者的对比如图5(a)、(b)所示,可以看到在x<0时,Relu函数的梯度一直是1保持不变,而Mish函数的梯度在一个平缓的变换范围内,这可能会有利于模型参数的梯度下降更新。
步骤四,将全局特征
当训练损失不再明显变化时,完成训练优化,保存模型参数。
步骤五,使用数据集Market-1501中的query集和gallery集对模型进行性能评估。首先用模型提取gallery集中的所有样本的表征向量,其次将query集中的每一个样本提取它的表征向量,计算与gallery中的向量表向量间的距离,将最相近的几个样本记为查询到的结果集。最后计算查询结果的正确率来评估模型的好坏。模型的mAP和rank-k如下表所示,其中RK表示re-rank。
步骤六、使用优化后的模型进行行人重识别,重识别的结果及可视化如图7所示。
- 基于改进GhostNet的多分支行人重识别方法
- 基于改进型SSD网络的行人目标检测与重识别方法