您的当前位置:精优范文网 > 专题范文 > 范文大全 >

基于通道特征聚合的行人重识别算法

时间:2023-07-07 12:50:04 来源:精优范文网
导读: 徐增敏,陆光建,陈俊彦,陈金龙,丁勇1 桂林电子科技大学数学与计算科学学院,广西桂林5410042

徐增敏,陆光建,陈俊彦,陈金龙,丁 勇

1.桂林电子科技大学数学与计算科学学院,广西 桂林 541004

2.桂林电子科技大学计算机与信息安全学院,广西 桂林 541004

3.桂林安维科技有限公司,广西 桂林 541010

行人重识别ReID 技术主要研究跨摄像机场景下不同行人的识别与检索[1],但不同拍摄设备之间存在差异,且行人兼具刚性和柔性的特征,其外观易受穿着、尺度、遮挡、姿态、视角等影响,因此数据集通常涵盖行人正面、侧身、背身或遮挡图像,算法模型要学习同一行人在不同样本中的表观特征。在神经网络不同通道提取特征的过程中,如何融合多特征信息提高模型泛化能力及特征表达能力,已经成为ReID 的研究热点和难点。

行人重识别算法中的通道特征容易被忽视,导致模型表达能力降低,因此可考虑以分类模型ResNeSt50[2]作为骨干网络,并在骨干网络中加入SE block[3]结构,通过Squeeze 和Excitation 操作学习各通道的重要性参数;
同时,为提高神经网络对全局特征的学习能力,尝试改进骨干网络的激活函数,在一定程度上减少静默神经元的出现;
利用circle loss 改进损失函数并在公开数据集进行实验对比分析,验证所提算法的有效性。

传统的行人重识别方法主要集中于研究行人的可视特征,包括颜色[4]、形状等[5]。然而,行人特征易受场景变换、光线和遮挡等因素的影响,因此传统行人重识别方法的泛化能力面临很大挑战。随着深度学习的兴起,文献[6-7]率先在行人重识别的研究中引入卷积神经网络。凭借着卷积神经网络提取特征的高效性,深度学习在快速发展过程中逐渐成为研究行人重识别技术的主流方法。

基于深度学习的行人重识别方法有表征学习、度量学习和局部特征学习等,其中表征学习通过设计分类损失与对比损失来实现对网络的监督学习;
度量学习旨在通过网络学习两幅图像的相似度;
局部特征学习则提取特征图的各个局部特征,最后将各个局部特征进行融合。

1.1 基于表征学习的方法

2016年,Geng 等[8]提出基于表征学习的方法,把ReID 问题当成是一个对不同种类的归类问题或者是一个验证问题。该方法先用两个子网络训练网络模型,再以分类网络预测图像ID,最后用验证网络判断两幅图像是否属于同一个行人。如果仅仅依靠行人的ID 信息,模型的泛化能力是比较差的;
如果能利用行人数据的其他属性,如性别、头发、衣着等,就能结合行人ID 和其他属性的损失,提高神经网络的泛化能力。

2019年,Zhang 等[9]提出语义紧密一致网络模型,首次根据细粒度语义解决行人图像中身体不对齐问题。该方法将行人特征映射到三维空间中,把行人特征分为24 个部分以获取细粒度语义信息,有效解决了因视角变化、姿势变化和遮挡等引起的行人身体不对齐问题,使得行人重识别算法能更好区分外观相似的行人数据。

2020年,Zhang 等[10]提出一个关系感知全局注意力模块,可以利用全局结构信息更好地学习注意力,有效提取空间上不同区域之间的关系向量,使得特征图既能表达局部特征,又能兼顾全局特征,从而提高了模型对行人特征的表达能力。

1.2 基于度量学习的方法

基于度量学习的方法利用神经网络学习两幅图像的相似度特征,在行人重识别上表现为属于同一个行人的几幅不同图像之间的相似度大于不同行人不同图像之间的相似度。通过神经网络的特征学习,损失函数会让属于同一个行人的正样本对数据之间的距离尽可能小,而使属于不同行人的负样本对数据之间的距离尽可能大。常用的度量学习损失方法有对比损失[11]、三元组损失[12-14]、四元组损失[15]、边界挖掘损失[16]。

1.3 基于局部特征学习的方法

2017年,Zhao 等[17]首次在行人重识别研究中考虑人体结构信息,并提出一种新型卷积神经网络Spindle Net。借助人体姿势信息将行人分为肩膀、上半身、下半身、左右手、左右脚7 个部分,再将这7 个局部特征部分和完整的特征图作为特征提取网络的输入,得到1 个全局特征和7 个局部特征,最后将得到的8 个特征融合成深度特征。

2018年,Fan 等[18]提出了空间维度-通道维度并行网络SCPNet,包含全局分支和局部分支两部分。全局分支用全局平均池化获得全局特征,局部分支将行人的特征图在水平方向分为多份,并分别用水平池化获得局部特征,然后将全局特征和局部特征融合获得最终的特征表示。SCPNet 在完整图像和遮挡图像上均取得了很好的成绩。

在行人目标清晰可见而且没有遮挡的数据集上,训练出的神经网络会有较高的准确率,但其泛化能力受到限制,对于那些被遮挡的对象可能无法识别。随机擦除[19]的提出便是为了解决遮挡问题,随机擦除后的数据样本效果如图1所示。

图1 随机擦除前后的数据样本示例Figure 1 Data examples before/after random erasing

假设输入原始图像的宽、高分别为Wraw、Hraw,面积S=Wraw×Hraw;
随机擦除区域的宽、高分别为We、He,面积Se=We×He,则纵横比为当需要随机擦除操作时,首先在原始图像上随机找一个像素点P(xe,ye),若满足

则将随机擦除区域内所有点的像素值改为(0,0,0)。

本节主要阐述骨干网络ResNeSt、嵌入SE block、两个新激活函数、网络结构的改进、损失函数的改进。需要注意的是,虽然本文提出的两个激活函数有一定的表征学习能力,但对于骨干网络整体而言,新激活函数仍是通过划分特征图来提取局部特征的,属于局部特征学习方法。

2.1 ResNeSt 网络

ResNeSt 是对ResNet 的改进,在单个网络内合并了特征图的拆分注意力,即把每个块的特征图沿通道维度分成几组和更细粒度的子组。其中,每个组的特征表示由其子组表示的加权组合确定。对特征图的分组卷积和模块化的Split-Attention 构成了ResNeSt 网络的残差块,而ResNeSt 则由ResNeSt block 堆叠而成。

ResNeSt 共进行两轮分组卷积,即Cardinal 组和split 组。先将输入分成K个Cardinal组,再将每个Cardinal 分成R个split 组。在第k个Cardinal 和第r个split 中按比例划分通道数目,然后跨通道进行特征拼接,以便更好地聚合通道信息。

在ResNeSt 的Split-Attention 模块中,首先将各分组进行融合处理,然后接一个SE 结构,即全局池化+两个全连接层,其中两个全连接层都用1×1 卷积代替。全局池化的公式为

式中:特征图Uk,V k ∈RH×W×C/K,i=1,2,···,H;j=1,2,···,W;k ∈1,2,···,K;K为基数组Cardinal 的数量,其中H、W、C为ResNeSt block 输入特征图的维度。全局池化主要用于收集上下文信息。输入特征图的每一个通道都是一个独立的H ×W矩阵,对这个矩阵中所有元素加和求平均,得到第c个通道的skc;
再对skc进行r-Softmax,即按第r个split 组进行Softmax 处理,得到各组的权重,其中r-Softmax 的计算公式为

根据全局上下文信息sk决定每个分组中第c个通道的权重Gci,按权重融合各组特征以输出特征图V k,则V k中第c个通道的融合计算公式为

2.2 SE block

在传统的池化操作过程中,一般假设特征图的每个通道是价值相等的,但实际情况可能并非如此。注意力机制可以减少无关信息对提取主要特征造成的干扰,从而提高网络对特征的提取能力。SE block 即为在通道维度上添加的注意力机制,只需少量的计算便可以自动学习通道特征的重要性。SE block 主要包含Squeeze 和Excitation 两个操作,其实现过程如图2所示[3]。

图2 Squeeze-and-Excitation 模块[3]Figure 2 Squeeze-and-Excitation block[3]

Squeeze 操作本质上是一种特征压缩的方式,主要通过特征图的全局池化实现,其计算公式与式(2) 相同,在此定义为

式中:Uc表示特征图U中第c个二维矩阵。

Excitation 操作通过两个1×1×c的全连接层对通道间的相关性进行建模,输出特征值对应的权重,其计算公式为

式中:W1Zc表示第1 个全连接,σ表示Sigmoid 函数,δ表示ReLU 激活函数,W2δ即表示第2 个全连接操作。

SE block 的主要任务是学习通道之间的相关性,筛选出不同通道的注意力,于是本文将SE block 嵌入ResNeSt block 末尾(如图8所示),以提高网络对通道特征的提取能力。

2.3 WReLU 激活函数

为提高网络对全局特征的表达能力,本文结合ReLU 和动态学习因子,提出了1 个新的激活函数Weighted ReLU(WReLU),其中动态学习因子Q为单个特征值与特征图所有特征值之和的比值。将Q应用于x轴正向并结合ReLU 即可得到新的激活函数WReLU。

传统ReLU 函数代表的是修正线性单元,它是带有卷积图像输入x的最大函数(x,0)。ReLU 函数将矩阵内所有负值都设为0,让其余的值保持不变,可用公式表示为

ReLU 的计算效率高,能使网络快速收敛。当x>0 时,函数值保持不变,这样可以使得特征延续到下一层网络,但不同特征的重要程度不同。然而,传统ReLU 激活函数在通道特征学习过程中缺少控制因子,限制了不同通道的特征图对激活值产生准确响应的可能性,影响模型的深度特征提取能力。

为更好地学习各通道注意力之间的响应关系,并考虑到修正线性神经元因其稀疏激活性更接近于脑神经接受信号的激活模型,本文沿用ReLU 的分段线性函数思路,引入一个动态学习因子丰富通道特征权重信息,形成新的激活函数WReLU。与ReLU 相比,WReLU 在梯度正向的取值为权重偏置项与x之和,其计算公式为

式中:Q×x为权重偏置项,Q可以表示为

式中:xci,j表示第c个通道上特征图矩阵中第i,j个元素的值。动态学习因子Q表示x的权重,即x与全部通道特征图所有元素绝对值之和的比值,故加入权重偏置项的激活函数对全局特征有更好的表达能力。

WReLU 对特征图的变换如图3所示。设输入特征图为3×3×1,以左上角的值1 为例,先计算出特征图对应的特征矩阵中各元素的绝对值之和为45,接着计算Q=1/45,则f(1)=1+Q×1=1.022;
而−2<0,所以重置为0。重复以上操作即可得到图3中的(b)。

图3 WReLU 激活前后的特征图示例Figure 3 Examples of feature maps before/after WReLU activation

当自变量x ∈[0,1]时,WReLU 和ReLU 函数图形如图4所示。当x>0 时,Q>0,所以x+Q×x>x;
当x=1 时,fWReLU>1,而fReLU=1。可见x的权重Q越大,WReLU和ReLU 之间的差异就越大,相当于增强了全局特征在x轴正区间的响应值。

图4 激活函数对比图Figure 4 Comparison of activation function images

WReLU 虽然继承了ReLU 能稀疏矩阵和加速收敛的优点,但是也继承了ReLU 的缺点。ReLU 在负数区域被抑制的现象称为Dead ReLU,即神经元静默,因此ReLU 在训练时很脆弱。当x <0 时,梯度为0。这个神经元及之后神经元的梯度永远为0,不再对任何数据有所响应,导致相应参数永远不会更新,可能出现遗失部分重要特征的问题。

2.4 LWReLU 激活函数

为了解决可能遗失部分重要特征的问题,传统LeakyReLU 用一个极小值初始化网络的神经元,以此让ReLU 在负数区域部分更偏向于激活而不是消失,其计算公式为

式中:Leaky 为一个很小的常量。这样加入Leaky 后,LeakyReLU 保留了一些x轴负区间的值,使得x轴负区间的信息不会全部丢失。

由于LeakyReLU 的导数不为0,因此对于负值输入都有一个梯度,以减少零梯度的产生,从而减少神经元静默现象的发生。与整个网络的参数量相比,这种激活函数的参数量增加较少。因此,本文借鉴LeakyReLU 激活函数的思路,将Q应用于x轴负区间,提出新的激活函数Leaky Weighted ReLU(LWReLU),使其在x轴正区间保持不变,而在x轴负区间用一个系数与特征值相乘。不同的是,LeakyReLU 的系数Leaky 为极小的固定值,而LWReLU 的系数Q由特征值和特征图所有特征值之和的比值动态决定,参见式(9)。因此,LWReLU 不仅没有神经元静默的问题,而且还有更好的全局表征能力,其公式为

LWReLU 对特征图的变换如图5所示。设输入特征图为3×3×1,以左上角的值1 为例,先计算出特征图对应的特征矩阵中各元素的绝对值之和为45,因为1>0,所以f(1)=1;
而−2<0,所以f(−2)=×(−2)=−0.09。重复以上操作即得到图5中的(b)。当自变量x ∈[0,1]时,LWReLU 和LeakyReLU 的函数图形如图6所示:

图5 LWReLU 激活前后的特征图示例Figure 5 Examples of feature maps before/after LWReLU activation

图6 激活函数对比图Figure 6 Comparison of activation function images

从图6中可以看出:LeakyReLU 在x轴负方向的取值为固定值,而LWReLU 在x轴负方向的取值为动态变化值。在x轴负方向上,x越小Q就越大,LWReLU 和LeakyReLU 之间的差异就会越大。

2.5 网络结构的改进

鉴于本文所提WReLU 是基于残差网络主体结构设计的激活函数,而LWReLU 是基于分组卷积特征图局部设计的激活函数;
考虑到WReLU 稀疏网络和收敛速度快的特点,以及LWReLU 能避免神经元静默的问题,本文尝试根据这些特点改进网络结构,在神经网络关键位置灵活运用所提出的2 种不同的激活函数。

根据2.1 节所述及图7的网络结构,ResNeSt block 将特征图中每个Cardinal 的R个split,以1×1 卷积和3×3 卷积来划分通道,分别将各个split 提取的特征送进Split-Attention的全局池化层,得到K组输出。

图7 ResNeSt 模块Figure 7 ResNeSt block

本文实验设K=3 表示RGB 这3 个通道,将K组输出在通道维度上进行拼接,即通道特征聚合,最后接一层1×1 的卷积输出至图8的Conv3 层。

WReLU 和ReLU 的x轴负区间都为0,而ReLU 作为主流的激活函数,在一定程度上反映了负区间为0 并不会影响网络性能,于是本文主要在ResNeSt block 主体中使用WReLU,令x轴负区间仍为0。然而,x轴负区间为0 并不代表对网络的最终性能毫无影响,即使是被丢弃的负值也可能是特征图的重要部分。因此,在分组卷积过程中进行特征聚合时可能会丢失大量的负值。

鉴于不想完全舍弃这些值,本文主要将LWReLU 应用到SE block 和Split-Attention 中,令SE block 在提取通道特征的同时兼顾表达全局特征;
而且Split-Attention 对每组特征进行加权组合时,仍然能保留x轴负区间的部分特征。实验结果表明,在Split-Attention 应用LWReLU 能比传统ReLU 更好地计算各组特征图的权重。

尽管LWReLU 考虑了x轴负区间的通道特征,旨在保留潜在的重要特征,但若在网络中全部应用LWReLU,则会使更多原本不重要的特征纳入计算,因此本文仍用WReLU 作为骨干网络主体部分的激活函数,而只在一些关键的网络位置使用LWReLU。改进后的ResNeSt block 如图8所示,在图8中可将K个Cardinal 和R个split 简化为1 个。

图8 改进的ResNeSt 网络结构Figure 8 Improved network structure of ResNeSt

2.6 损失函数的改进

特征学习有2 种基本范式:分类学习和样本对学习。进行分类学习时,通常需要用到像cross entropy loss 等分类损失函数以优化样本和权重向量之间的相似度;
进行样本对学习时,通常需要用triplet loss 等度量损失函数。然而,以上两种特征学习在优化过程中缺乏灵活性,且收敛状态不明确。为解决上述问题,Sun 等[20]提出了统一两种特征学习范式的circle loss,可以表示为

式中:sp为类内相似度,sn为类间相似度,T表示单个样本相关的类内相似度分数的总数,L表示与给定特征空间中单个样本相关的类间相似度分数的总数。

cross entropy loss 作为常用的损失函数,同样有着凸优化函数的优点,即利用梯度下降方法找到最优解。cross entropy loss 的公式为

式中:概率分布p为期望输出,概率分布q为实际输出。

本文骨干网络ResNeSt 未应用传统ReID 的三元组损失,为结合circle loss 和cross entropy loss 的优点,于是将两者的输出相加,得到改进后的损失函数为Lcircle+Lcross。

3.1 数据集

本文在Market1501[21]、DukeMTMC-ReID[22-23]和CUHK03-NP[24-25]这3 个主流的公开数据集上进行实验。如表1所示,Market1501 数据集包含1 501 个行人数据,共32 668 幅行人图像数据;
DukeMTMC-ReID 数据集包含1 404 个行人数据,共36 411 幅行人图像数据;
CUHK03-NP 数据集包含1 467 个行人对象,共13 164 幅行人图像数据。CUHK03-NP 数据集根据不同的标注方式分为detected 和labeled 两部分,每部分均有独立的训练集和测试集。其中前者的行人框数据由机器标注,后者的行人框数据由人工标注。本文在CUHK03-NP数据集上,采用了Zhong 等[24]的评估方式。

表1 数据集简介Table 1 Introduction to datasets

3.2 实验设置

本文实验在NVIDIA TITANXP GPU 上进行,使用Pytorch 为算法框架,ResNeSt50 为骨干网络。输入图像在进入网络前先进行随机剪裁、水平翻转和随机擦除等数据增强操作,并调整图像大小为256×128,进行归一化输入神经网络。初始学习率lr 设置为0.02,每经过一个epoch,学习率衰减为lr×0.965。实验的批大小设置为8,总共训练90 个epoch。预训练模型使用在ImageNet 已训练好的分类网络ResNeSt50。本文所有实验均采用单一查询,即每个行人在每个摄像机下只随机选用1 幅图像进行查询,用Rank-1 和均值平均精度mAP 评估行人重识别算法的性能。

3.3 实验分析

将改进后的模型分别在Market1501、DukeMTMC-ReID、CUHK03-NP 上进行验证,并用Rank-1 和mAP 指标进行性能评估。其中,由Zheng 等提出的mAP 用来测试多摄像机下的行人检索性能。Rank-1 表示在算法检索后返回的有序列表中第1 位即为正确检索目标的命中率。

3.3.1 嵌入SE block 实验

嵌入SE block 后的模型在3 个数据集上的性能如表2所示。

表2 本文所提方法的消融实验Table 2 Ablation experiment of our proposed method%

由表2可以看出:改进后模型在3 个数据集上的性能均有提升,特别是在DukeMTMCReID 的提升幅度较为明显,这可能与数据集的拍摄成像等因素有关。在DukeMTMC-ReID上,Rank-1 和mAP 分别提升了1.22% 和2.23%;
在Market1501 上,Rank-1 和mAP 分别提升了0.54% 和0.49%。

3.3.2 WReLU 激活函数实验

从表2还可以看出:当骨干网络单独应用WReLU 时,在3 个数据集上的实验结果均有明显提升,其中实验数据取3 次重复实验的均值。在DukeMTMC-ReID 上,Rank-1 和mAP 分别提升了1.53% 和1.56%;
在Market1501 上,Rank-1 和mAP 分别提升了0.54% 和1.42%。

3.3.3 LWReLU 激活函数实验

由表2可以看出:当骨干网络全部应用LWReLU 时,在3 个数据集上提升的整体性能不如WReLU 明显。LWReLU 和WReLU 的主要区别在于,前者在负数区域的值为一个权重偏置项而后者为0,由此可见LWReLU 并不适合全局使用,也间接说明了WReLU 在x轴负区间丢弃的大多为不影响网络性能的次要特征。在DukeMTMC-ReID 上,Rank-1 和mAP 分别提升了0.77% 和2.08%;
在Market1501 上,Rank-1 和mAP 分别提升了0.33% 和1.39%。

3.3.4 模型消融实验

为验证改进后模型各部件的有效性,在3 个数据集上进行了消融实验,采用单一查询模式并以Rank-1 和mAP 作为评价指标。如表2所示,在ResNeSt50 网络中嵌入SE block 后,模型的Rank-1 和mAP 指标均有一定的提高;
在CUHK03-NP 上用了改进后的算法,Rank-1和mAP 分别提升19.09% 和17.13%;
在Market1501 上用了改进后的算法,Rank-1 和mAP分别提升0.98% 和2.11%;
在DukeMTMC-ReID 上用了改进后的算法,Rank-1 和mAP 分别提升2.02% 和2.56%。

3.3.5 与现有方法对比

如表3所示,改进后的模型在行人数据集上有显著提升,其中all 表示同时使用了SE+WReLU+LWReLU+circle loss 方法。2018年的AACN 同时使用姿态估计和身体部位关联特征;
2018年的SCPNet 将网络分为全局分支和局部分支处理行人遮挡;
2019年的GLAD运用4 层监督学习的多尺度特征融合方法;
2020年的SCSN(4 stages) 引入特征聚合模块和显著特征提取单元,利用残差双注意模块和非局部融合块,能抑制前一个级联阶段学习到的显著性特征,自适应地学习其他潜在的显著性特征。

表3 不同算法和模型的性能对比Table 3 Performance comparison of different algorithms and models%

相对而言,本文对特征图的Cardinal 和split 进行分割并提取残差特征,且所用骨干网络ResNeSt50 的主体结构与SCSN 骨干网络ResNet50 保持一致,故本文所提出的ResNeSt50+all 方法相当于在SCSN stage I 阶段前已进行通道特征聚合,提取了基于通道注意力的深度特征,因此在Market1501 的Rank-1 上超过SCSN(4 stages)。当骨干网络换为更深层的ResNeSt269 时,本文所提方法在Rank-1 和mAP 指标上,均比ResNeSt50 和ResNeSt269 获得更大幅度的提升,说明了所提方法在残差网络上的有效性。

鉴于分组卷积和注意力机制可以增强卷积神经网络学习特征的能力,本文引入了SE block,能更好地学习通道特征,提高Split-Attention 计算各组特征图的权重能力,增强神经网络模型的性能;
提出了激活函数WReLU 和LWReLU,具有更好的特征表达能力;
结合了circle loss 和cross entropy loss,能优化模型的训练效果。今后将研究无人机视角下的行人图像,以及跨分辨率的行人重识别技术,并充分挖掘无监督学习样本。

猜你喜欢全局行人卷积Cahn-Hilliard-Brinkman系统的全局吸引子数学物理学报(2022年4期)2022-08-22量子Navier-Stokes方程弱解的全局存在性数学物理学报(2022年2期)2022-04-26基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02毒舌出没,行人避让意林(2021年5期)2021-04-18从滤波器理解卷积电子制作(2019年11期)2019-07-04路不为寻找者而设扬子江(2019年1期)2019-03-08落子山东,意在全局金桥(2018年4期)2018-09-26基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20我是行人小天使·一年级语数英综合(2017年6期)2017-06-07曝光闯红灯行人值得借鉴汽车安全(2016年5期)2016-12-01

推荐访问:算法 行人 识别

本文链接:https://www.xpbxgsx.cn/zhuantifanwen/fanwendaquan/60359.html(转载请注明文章来源)
热门标签
Copyright © 2024 精优范文网 版权所有 备案号:浙ICP备15042696号-1
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
Top