APP下载

基于轻量多分支网络的行人重识别方法

2022-12-11罗丽洁韩华金婕黄丽

智能计算机与应用 2022年11期
关键词:集上分支全局

罗丽洁,韩华,金婕,黄丽

(上海工程技术大学 电子电气工程学院,上海 201620)

0 引言

行人重识别技术是指通过利用一张查询图像,从一个大规模的图像集中准确地找出属于同一个人的所有图像,其中查询图像和图像集中的图像是来自不同相机拍摄到的没有重叠部分的图片。但是由于拍摄的摄像机参数设置存在着差异,行人出现的地点也不相同,还有不同的光影变化、行人姿态的改变、行人换衣、部分遮挡等一系列的问题,造成拍摄到的同一个行人图片之间会存在些许的差异,为行人重识别的研究带来了诸多的挑战,对行人重识别模型性能的提升带来影响。

为了能够解决上述的问题,已陆续提出了基于度量学习[1-2]的方法、针对样本不平衡[3]方法等。近年来,基于深度学习的行人重识别方法得到了越来越多的关注,相较于传统的基于手工特征的方法,用卷积神经网络[4]可以提取到图像中更为显著、丰富的行人特征。通常,卷积神经网络对提取到的全局特征具有鲁棒性,因为全局特征对外观变化和空间位置变化并不敏感,但上述的全局特征却容易忽略掉人体潜在的相关信息和细粒度特征。为了使得网络能够学习到更加显著的特征,部分研究加入了注意力机制[5-6],产生的效果是十分明显的。通过注意力机制可以使网络更加专注于行人图像中有用的信息,同时,能够减少图像中背景噪声带来的干扰。此外,又相继研发出各种基于局部特征的方法,这些方法采用的策略大都是将身体划分为几个水平部分[7-9],从而允许网络能够更多地聚焦到局部特征和细粒度特征上,以便减少因行人姿势的变化给网络特征提取带来的影响。文献[10]中提出了DropBlock 方法,通过去除相关区域的特征,让网络加强学习其他区域的特征。与DropBlock 的思想不同,Batch DropBlock[11]采用的方法是通过在网络训练的过程中随机地丢弃掉一批特征图中的同一块区域,令网络加强对特征图其余部分的学习。

虽然上述的方法在行人重识别问题上均已取得了不错的成绩与效果,但是却在一定程度上增加了模型整体的复杂性,而且还会耗费更多的计算成本和时间成本。因此,本文提出了一个基于OSNet(Omni-scale Network)[12]的多分支网络结构,OSNet是一个全尺度轻量级的Re-ID 模型,可将标准卷积分解为点卷积和深度卷积,能够有效减少参数量,OSNet 参数与基于ResNet50[13]的模型相比,至少要降低一个数量级,但却能表现出更好的性能,所以在保证模型性能的前提下,基于OSNet 的网络更加轻量,不仅减少了训练时间,还提高了训练效率。而多分支的网络结构相比单一的网络则可以学习到更加丰富、更细粒度的特征信息,有利于提升模型的性能。本文的网络包含了全局分支、局部分支、通道分支和顶端擦除分支四个部分,能够从多个维度进行特征提取,提取到的特征也更趋多样化。

1 网络模型

本文提出了一种基于OSNet 的多分支网络结构,如图1 所示,其中包含了全局分支(Global branch)、局部分支(Local branch)、顶端擦除分支(Top erased branch)和通道分支(Channel branch)四个部分。相较于单一的网络结构,多分支网络结构可以提取到更加细粒度、更具显著性的特征。

图1 多分支网络结构图Fig.1 Multi-branch network structure diagram

1.1 注意力模块

注意力模型通常用于各种深度学习的任务中,其本质是通过权重参数加强网络对重要信息的学习,抑制无关的信息,在行人重识别领域中得到广泛使用。为了能够更好地学习到有价值的图像特征,本文提出的网络结构与一般的OSNet 网络相比,在OSNet 网络的conv2和conv3 层中加入了注意力模块,分别为空间注意力模块(Spatial Attention Module,SAM)和通道注意力模块(Channel Attention Module,CAM)。从图1 中可以看到,先由空间注意力模块处理特征,然后经由通道注意力模块,再到各个分支网络分别进行处理。

1.1.1 空间注意力模块

空间注意力模块更加关注于空间维度内的相关特征,能够更好地聚合空间域中与语义相关像素,如图2 所示。图2中,输入维度为H×W×C的特征图x,H、W、C分别表示高度、宽度和通道数,经过卷积后得到2 个维度为的特征图a和b。特征图a被重塑为D ×C的张量,特征图b被重塑为C× D的张量,其中D=H ×W。经过Softmax函数后,再进行批量归一化处理,得到空间注意力张量。

图2 空间注意力模块Fig.2 Spatial attention module

1.1.2 通道注意力模块

通道注意力模块用于探寻不同通道间的特征映射关系,使得网络能够更好地关注具有价值的特征,提取到更具显著性的特征。通道注意力模块(CAM)如图3 所示。本文的通道注意力模块是基于压缩-激发块(Squeeze-and-Excitation block)[14],而与文献[14]不同的是,删除了初始block 中的全局平均池化(Global Average Pooling,GAP),有助于将空间信息保留到注意力block 中。

图3 通道注意力模块Fig.3 Channel attention module

图3中,输入维度为H × W × C的特征图,经过第一个卷积后维度变为再经过第二个卷积后维度变为H×W×C,接着经过Softmax函数,得到通道注意力张量。

1.2 全局分支

全局分支的优势主要体现在学习行人图像的整体信息方面,但对一些细粒度特征的区分度并不大。本文的全局分支是由OSNet 网络的conv4层和conv5 层组成的,输入的图像特征经过一个全局最大池化(Global Max Pooling,GMP)层后生成了一个512 维的向量。在局部分支中采用的是平均池化(Average Pooling,AP),而在全局分支中采用全局最大池化,主要是为全局分支和局部分支机构提供了彼此间的功能多样性。

1.3 局部分支

相较于全局分支,局部分支更擅长提取细粒度特征,减少因行人姿态带来的变化,能够弥补全局分支的不足。局部分支采用与全局分支较为相似的层结构,但使用平均池化代替了全局最大池化。为了实现特征的多样化,将特征图水平分成4 个条带,并将4 个512 维的特征向量连接起来,生成一个2 048维的特征向量,与PCB(Part-based Convolutional Baseline)网络采用多个ID 预测损失、并且每个部件都具有独立的ID 预测损失不同的是,本文的局部分支只使用一个ID 预测损失。

1.4 顶端擦除分支

卷积神经网络往往只关注图像中最具辨别力的部分,如图4 所示。高激活区域大都集中在图像的上半部分,这会导致网络不能够很好地学习到图像其他部分的特征,所以本文采用顶端(高激活区域)擦除的方式、而不是随机擦除,让网络可以关注到其他区域。根据BDB(Batch DropBlock)网络中提出的擦除大小为特征图像高度的三分之一、且宽度相同的区域效果为最好,故本文也采用了这种方法。

图4 激活图与顶端擦除Fig.4 Activation map and top erased map

每个训练批次输入行人图像,经过神经网络,输出特征图F,根据文献[15]提出的定义,可以将特征图像F转换为激活图A,即:

其中,Fi表示每个大小为H×W的张量,c表示通道数。

在A的基础之上,将每个条带rj的相关性R定义为第j行上值的平均值,对此可表示为:

再将rj值最大的行归零。

1.5 通道分支

加入通道分支可以使得网络提取到关于通道的更多信息,丰富整个网络提取到特征的多样性。首先,通过卷积的方式生成一个512 维的向量,然后将这个向量划分为2 个长度为256 维的向量,再使用1×1 的卷积对特征进行缩放,得到2 个512 维向量分别为c1和c2。这里,1×1Conv的参数在2 个通道部分之间共享,可以减少参数的数量,节约计算时间。

1.6 损失函数

为了使模型能够得到更好的训练,总的损失函数为每个分支的损失函数之和,包括了三元组损失Ltriplet,ID 损失Lid和中心损失Lcenter,数学表达式为:

其中,λ1,λ2,λ3为权重参数,实验中的取值分别为λ1=1,λ2=1,λ3=0.005。

进一步地,给出ID 损失公式具体如下:

其中,N表示样本的数量;pi表示预测行人ID为i的概率;qi表示真实的标签。三元组损失分别从每一个batch中抽取P个行人的K张图片,推导得到的公式为:

为了能够提高网络对特征的鉴别能力,对类内距离进行约束,采用中心损失作为特征提取的依据,中心损失的数学定义公式可写为:

其中,m表示mini-batch 大小;xi表示样本特征;表示第yi个类别的特征中心。

2 实验结果与分析

2.1 数据集和评价指标

本文的实验是在Market-1501[16]、CUHK03[17]、DukeMTMC-reID[18]三个公开数据集上进行的。表1中的数据为这3 个数据集的基本信息。表1中,Market-1501 数据集是通过6 个摄像头采集到的1 501个行人的图片。DukeMTMC-reID 数据集用8个摄像头采集到1 812 个行人的图片,下文由DukeMTMC 表示。CUHK03 是通过5 对摄像头采集到的1 467个行人的图片,其中CUHK03-L 的行人框由人工进行标注,而CUHK03-D 的行人框则由机器进行标注。

表1 数据集信息Tab.1 Dataset information

上述的数据集分别采集于不同地点、不同季节、不同时间段,采集图片的设备包含了高清摄像头和低清摄像头。数据集中的行人图片有着复杂的背景、明显的光照变化、不同的清晰程度,贴近现实场景。

本文采用2 个常用的评价指标:首位命中率(rank1)和平均精度值(Mean Average Precision,mAP)来对行人重识别模型的性能进行评价。其中,rank1 表示的是与每张查询图片所对应的返回的图片集中排在第一张是准确的概率,而mAP表示的是返回查询图片结果平均精度(Average Precision,AP)的平均值。

2.2 实验细节

本文实验是在PyTorch 1.7.1 上展开,编程语言选用了Python 3.8,硬件设备为配有一块NVIDIA RTX 3090 GPU 的服务器,系统是Ubuntu 20.04 版本。

将输入图像调整为256×128 像素,训练期间使用随机水平翻转和擦除[19]作为数据增强方式,采用Adam[20]作为优化器。训练批量大小为48,一个批量由8 个样本组成,其中每个样本包含6 个行人的身份。训练时使用WarmUp 策略,一共进行110个epoch的训练,初始学习率设置为6e-04,到第50个epoch的时候学习率降为6e-05;到第80个epoch的时候,学习率降为6e-06;最后,到第110个epoch的时候,学习率下降到6e-07。

2.3 消融实验

加入多分支会在一定程度上增加模型的参数、增加计算成本,因此,必须有充分理由,才可增加网络分支。为探究多分支网络各个分支对模型性能的影响,在Market-1501 和CUHK03-D 两个数据集上进行消融实验。表2 显示的是网络在不同分支组合下的性能。表2中,G 表示全局分支,P 表示局部分支,T 表示顶端擦除分支,C 表示通道分支。结果表明,使用多分支的结构相比于单分支有所提升,在CUHK03-D 上表现比较明显,rank1 有3.1 个百分点的提升,mAP有4.1 个百分点的提升。从实验结果可以看出,每增加一个网络分支在一定程度上对网络的性能都有所提升,多个分支在网络结构中起到了互补的作用。在二分支网络中,全局加上局部分支的效果最好。这样一来,全局分支用以提取图像的一般特征,加上局部分支后,改进了网络对细粒度特征的学习。在三分支的网络结构中,全局加局部、再加顶端擦除分支的组合效果是最好的,顶端擦除分支的加入可以令网络关注到容易被忽略的低信息区域,学习到更加丰富的特征。因此,实验结果表明,多分支的网络结构可以相互弥补不足,加强彼此之间对复杂特征的学习,增强网络对特征的提取能力。

表2 各个分支对网络性能的影响Tab.2 The influence of each branch on the network performance

使用注意力机制可以令网络提高行人重识别模型的性能,加强网络对重要信息的学习,抑制无关信息。因此,在这部分的消融实验中,在Market-1501上评估了注意力模块对网络的影响。注意力模块对网络性能的影响见表3。

表3 注意力模块对网络性能的影响Tab.3 The influence of attention modules on the network performance

从表3 的实验结果可以看出,注意力模块有助于网络抑制无用信息,与未加入注意力模块相比,加入后模型的rank1 提升了0.6 个点,mAP提升了1.4个点。

为了验证顶端擦除(Top DropBlock)的方式要比随机擦除(Random DropBlock)的方法更加优越,在Market-1501 和DukeMTMC 上进行了消融实验。顶端擦除对网络性能的影响见表4。

表4 顶端擦除对网络性能的影响Tab.4 The influence of top DropBlock on the network performance

从表4 的实验结果可以看出,顶端擦除要比随机擦除在2 个数据集上的表现更好。顶端擦除可以提高网络对低信息区域的关注,提取到更为丰富的信息,相比随机擦除更加具有针对性。

2.4 与其他方法对比

将本文的网络与先进方法在3 个数据集上进行比较,实验结果均未使用Re-ranking 方法,取3 次实验的平均值。其中,BoT(Bag of Tricks)[21]是一个加入了很多训练技巧的基线网络;OSNet(Omniscale Network)[12]是一个轻量级的行人重识别网络;MHN(Mixed High Order Attention Network)[22]让网络学习混合高阶注意力;BDB(Batch DropBlock Network)[11]对特征图进行了随机擦除;ABD(Attentive But Diverse Network)[23]结合了通道和位置注意力;Pyramid[24]是一个学习不同粗细粒度特征的金字塔模型;SCSN(Salience-Guided Cascaded Suppression Network[25]挖掘图像中潜在的显著性特征;SCR(Spatial and Channel Partition Representation Network)[26]是一个对全局和局部特征进行联合训练的网络。

表5 是本文所提出的方法在Market-1501 和DukeMTMC 两个公开的数据集上与最近几年在行人重识别领域中先进方法的比较结果。从表5 中可以看出,同样使用OSNet 作为主干网络,本文的方法在Market-1501 数据集上比OSNet的rank1 高出1.3 个百分点,mAP高出6.3 个百分点;在DukeMTMC 数据集上比OSNet的rank1 高出2.9 个百分点,mAP高出9.6 个百分点。与采用随机擦除策略的BDB网络相比,在Market-1501 数据集上本文的方法比BDB的rank1 高出0.8 个百分百点,mAP则高出4.5个点;在DukeMTMC 数据集上比BDB的rank1 高出2.5个百分点,mAP高出4.5 个百分点。和采用特征金字塔的方法(Pyramid)、挖掘潜在图像显著特征的方法(SCSN)、对全局特征和局部特征进行联合训练的方法(SCR)等先进方法相比,本文提出的方法也有着更佳的表现。

表5 Market-1501 和DukeMTMC 上与最先进方法比较Tab.5 Comparison of state-of-the-arts on Market-1501 and DukeMTMC

表6 是本文的方法在CUHK03-D 和CUHK03-L 上与先进方法的比较。由表6 可知,同样与OSNet网络相比,本文的方法在CUHK03-D 上有着更好的表现,rank1 高出11.2 个百分点,mAP高出12.9 个百分点,在CUHK03-L 上OSNet 没有实验数据。与BDB 网络相比,本文的方法在CUHK03-D上,rank1高出了7.1 个百分点,mAP高出7.2 个百分点;并且在CUHK03-L上,rank1 高出6.1 个百分点,mAP高出6.8 个分点。与其他的先进方法相比,本文的方法在CUHK03-D 上比SCSN在rank1 上低了1.2 个百分点,mAP上低了0.3 个百分点,而在CUHK03-L上,比SCSN在rank1 上低了1.3 个百分点,在mAP上低0.5 个百分点。结果表明,本文提出的方法在CUHK03-D 和CUHK03-L 数据集上,虽然没有能够在rank1和mAP两项性能评价指标上都达到最佳,但在行人重识别问题上仍然有着不错的性能表现。

表6 CUHK03-D 和CUHK03-L 上与最先进方法比较Tab.6 Comparison of state-of-the-arts on CUHK03-D and CUHK03-L

通过在行人重识别领域3 个公开数据集上与其他的先进方法进行比较发现,本文提出的多分支网络在性能上有着一定的优越性,尤其是在Market-1501 和DukeMTMC 两个数据集上,rank1和mAP都有着最佳的性能,在CUHK03 数据集上虽然没有都达到最佳性能,但也有着不错的表现。相比于单一的网络结构,多分支网络可以挖掘出行人图像中更多的具有相关性的特征,也丰富了特征的多样性,更加适合行人重识别任务。加入注意力模块后,可以令网络更多地关注到有用的信息,抑制一些不具有效信息的区域、如图片的背景,减少对网络进行特征提取的干扰。

2.5 结果可视化

图5 是本文的模型在一次训练的过程中rank1、rank3、rank5、rank10和mAP随着epoch迭代的变化趋势。从图5 中可以看出,各项指标都在随着epoch次数的增加逐渐地上升,前80个epoch的上升趋势比较明显,后30个epoch上升趋势比较缓慢。根据本文实验的设置,到第80个epoch的时候降低网络的学习率,模型逐渐开始收敛,到第100个epoch的时候,各项评价指标逐渐趋于平稳,所以本文的实验一共取110个epoch,对实验结果进行分析。

图5 rank1、rank3、rank5、rank10和mAP 随着epoch 的变化Fig.5 rank1、rank3、rank5、rank10 and mAP change with epochs

激活图与查询图像检索结果如图6 所示。从图6 中可以看到,正确的结果以绿色框突出显示,而不正确的结果以红色框突出显示,行人图像中红色越深的部分代表激活的程度越高,越蓝的部分代表激活程度越低。本文使用Top DropBlock,对高激活区域进行擦除、而不是随机的DropBlock,可以使激活的部分更加分散到行人身上,这有助于提取到更好的特征表示。而加入注意力模块可以令网络更多地关注到行人身上,减少背景对提取特征时的干扰,可以使得网络更加关注到图像的有效区域。

图6 激活图与查询图像检索结果Fig.6 Activation map and query image retrieval results

从图6 中看到,模型根据查询图像检索到的匹配图片中,对于一些与查询图片十分相似的负样本,模型在判断上仍会出现错误,负样本困难也一直是行人重识别研究的难题,但排在前面的大都是正确结果,说明模型还是具有不错的性能。

3 结束语

本文提出了一种基于轻量多分支网络结构的方法,用于解决行人重识别特征提取的问题。使用轻量级网络OSNet 作为主干网络,主要由全局分支、局部分支、顶部擦除分支和通道分支四个部分构成。其中,全局分支提取行人的一般特征;局部分支将特征图进行分割,学习更细粒度的特征;顶部擦除分支通过丢弃特征图的高激活区域使得网络更加关注于激活性较差的区域,能够学习到更加丰富的信息;通道分支用于获取更多的通道信息。使用多分支的网络结构能够使网络学习到更具多样性、且区分度更高的特征。通过在3 个公开数据集上的仿真实验证明,本文提出的轻量多分支网络模型在行人重识别领域有着优秀表现,并且与更加复杂的SOTA 方法相比性能更加优越。

猜你喜欢

集上分支全局
Cahn-Hilliard-Brinkman系统的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
一类离散时间反馈控制系统Hopf分支研究
一类四次扰动Liénard系统的极限环分支
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
巧分支与枝
R语言在统计学教学中的运用
落子山东,意在全局
新思路:牵一发动全局