基于注意力机制修正网络的行人属性识别

2020-05-22 12:33李辰征卞春江陈红珍
计算机工程与设计 2020年5期
关键词:分支行人注意力

李辰征,陈 实,卞春江,陈红珍

(1.中国科学院国家空间科学中心 复杂航天系统综合电子与信息技术重点实验室,北京 100190;2.中国科学院大学 计算机科学与技术学院,北京 100049)

0 引 言

传统的行人属性识别方法一般利用HOG和LBP等特征,结合姿态估计等辅助信息实现[1],但传统特征表达能力有限,在分辨率较低、背景复杂的监控场景下具有较大局限性。而卷积神经网络(convolutional neural network,CNN)是以数据为驱动学习图像的特征表达[2],有较强的特征提取能力,因此研究者尝试使用CNN进行行人属性识别[3,4]。Sarfraz等[5]提出基于视角的VeSPA方法,通过训练视角检测器来解决监控视频中的多视角遮挡问题;Zhao等[6]提出GRL方法,在属性分组预测前先进行身体部分分块识别来提高准确性。但这些基于视角和身体部分预处理的方法,需要额外提供视角和身体部位信息,对数据集标注和网络功能提出了更高的要求。Liu等[7]提出HydraPlus-Net,在多尺度提取注意力掩模用于强调属性特征;Sara-fianos 等[8]提出了基于视觉注意力整合的属性识别方法,利用注意力机制获取属性相关的空域特征。这种基于注意力机制的方法以弱监督训练的方式注意属性相关区域,降低了网络对视角和身体部位等辅助数据的依赖,但仍需要注意力网络部分参与属性预测,增加了网络体积和计算量。

因此,本文提出了一种基于注意力机制修正的属性识别网络(attention mechanism refined network,AMR-Net)。在基础卷积网络的基础上,建立多尺度注意力分支网络提取注意力特征。注意力网络利用注意力特征辅助主网络的训练,通过多分支融合训练为主网络提供权重修正。实验结果表明,在不增加网络体积和计算量的情况下,经过注意力机制修正训练的主网络可有效提高属性识别能力。

1 方法原理

1.1 深度卷积神经网络

单层卷积神经网络根据一定的设计原则进行堆叠[9],形成深度卷积神经网络。卷积神经网络具有局部连接和权重共享两个基本性质,卷积层的作用是提取局部区域的特征,不同的卷积核相当于不同的特征提取器。特征映射通常用三维张量表示,第l-1层卷积的特征映射可表示为X∈H×W×Cl-1。 卷积核用四维张量表示W∈m×n×Cl-1×Cl,每个二维卷积Wp,d∈m×n,其中p∈[1,Cl],d∈[1,Cl-1]。 将第l-1层卷积的特征映射X与卷积核W进行卷积,并添加偏置项b,最后通过非线性激活函数,得到第l层卷积的输出特征映射

(1)

Yp=f(Zp)

(2)

其中,Wp∈m×n×Cl-1为三维卷积核,f(·) 为非线性激活函数,常用函数有sigmoid、ReLU等。则第l层卷积的输出特征映射Y=[Y1,Y2,…,YCl]。

深度和宽度是卷积神经网络的两个重要因素,在AlexNet之后,网络结构的突破主要瞄准在将网络层数做的更深。之后inception网络[10,11]借鉴了NIN(network in network)的思路,利用多分支结构拓展了网络的宽度,不同大小卷积核的操作也增加了网络对尺度的适应性,inception模块结构如图1所示。在进行3×3和5×5卷积操作前,先通过1×1的卷积对通道进行降维,降低网络的运算成本,并能进行跨通道组织信息,提高网络的表达能力。而残差网络(residual network,ResNet)通过残差学习解决了深度网络退化的问题,进一步加深了网络的深度[12]。inception模型与残差连接相结合形成inception_resnet模块[13],如图2所示,加速网络训练的同时提升了网络性能。不同大小的感受野能够融合图像不同尺度的特征,使得inception网络结构在图像分类方面性能表现较好,因此本文选用inception_v2和inception_resnet_v2作为主网络进行实验。

图1 inception模块结构

图2 inception_resnet模块结构

1.2 注意力模块设计

人的视觉感知系统以一种时序的、部分性的方式去关注场景中的显著部分,然后再获取视觉语义信息。受启发于人类的这种视觉注意力系统,注意力机制的产生也是为指导网络关注输入图像中包含有效信息的空域部分。由于注意力机制能够在没有额外空域信息的情况下,关注图像最有辨识度的区域,因此适用于行人属性识别这类细粒度图像分类问题[14]。

注意力机制通常是在输入数据信息的驱动下,生成对输入信息不同的关注度。注意力机制的输入特征可表示为X=[x1,x2,…,xN],i=1,2,…,N,在特定任务下,对应的注意力特征zxi可以通过加性模型表示

zxi=vTtanh(Pxi+U)

(3)

或者,通过点积模型[15]表示

(4)

其中,v、P和U为可学习参数。一般情况下,还会使用softmax函数对注意力特征进行规范化,得到规范化后的注意力特征ai

(5)

本文采用的注意力模块由注意力分支和置信分支组成[8],网络结构如图3所示。注意力模块以主网络inception模块的特征映射Fincep∈H×W×K为输入,输出注意力特征映射A∈H×W×C。

图3 注意力模块结构

注意力分支由3层卷积层组成,先采用1×1的卷积核对特征维度压缩,之后通过3×3的卷积进行特征的有效提取,最后一层1×1的卷积将通道数量映射为需要识别的属性类别数量,每个通道的特征分别代表对应属性的空域显著图。将该属性注意力特征再通过空域softmax激活映射进行空域规范化

(6)

置信分支通过单层1×1的卷积层将inception特征的通道数同样地映射为待识别的属性数量,并进行sigmoid激活。该分支目的是获得某属性存在与否的置信度,为通过注意力分支获得的各注意力特征通道分配置信权重,避免当该属性不存在时学习到错误的区域相关信息。

1.3 损失函数与优化

(7)

(8)

其中,N为训练样本的数量,C为属性类别的数量,σ(·) 即为sigmoid激活函数。

但是这种激活函数忽略了属性类别间的样本不均衡性,而在行人属性识别问题中,不同属性的正样本比例可能会极不均衡[4]。例如,对于性别属性而言,正负样本比例几乎相当,然而对于光头、穿马甲等属性,正样本数量可能会远小于负样本。因此为了处理这种样本属性不均衡问题,实验采用了如下的加权sigmoid交叉熵损失函数

(9)

wl=exp(1-pl)

(10)

其中,wl为第l个属性的损失权重,pl为第l个属性正样本比例。通过对损失函数的加权改进,使得当属性正样本比例较低时,增加相应的错误识别的“惩罚”,提高网络在这种样本分布不均衡情况下的学习能力。

2 行人属性识别方法

2.1 注意力机制修正网络模型设计

本文建立了一个注意力机制修正网络,网络结构如图4所示。该网络主要由两部分构成:主网络为基础的深度卷积神经网络;注意力网络由多尺度的注意力模块分支组成。

图4 基于注意力机制修正的行人属性识别网络结构

主网络主要由inception模块堆叠而成,随着卷积层数加深,由低层到高层提取行人图像不同尺度的特征,最后通过全连接层分类输出属性预测值,计算主网络的加权sigmoid交叉熵损失Lm。在注意力网络部分,为利用卷积网络不同尺度的特征信息,本文在不同的inception模块后添加注意力分支(实验选取inception网络后两个inception模块的输出特征作为注意力分支的输入),通过注意力模块提取注意力特征后,直接通过全局平均池化操作和全连接层分类后获得注意力分支的属性识别损失La。

本文提出了一种注意力机制辅助训练方法,网络的训练损失Lcls=Lm+La1+La2,在主网络损失的基础上,注意力网络提供了额外的训练损失值,通过反向传播对网络进行端到端的训练。因此在训练过程中,注意力网络起到辅助主网络训练的作用,即利用注意力网络形成的属性空域注意能力对主网络权重进行修正。这种损失累加的方式将主网络与注意力分支均视为独立分类器,目的是利用注意力特征为主网络提供参数修正信息。因此在属性预测时,仅用主网络的预测输出ym作为属性识别结果,注意力网络输出ya将不参与属性预测结果的计算,即在测试时去掉图4 中的虚线部分。这样针对属性识别任务,便形成了一种利用注意力机制提高主网络性能的训练方法。通过这种注意力修正的训练方式,实现了在不增加模型体积的情况下,提高主网络的属性识别性能,这种模型高效性方便了在安防监控中的实际部署。

2.2 行人属性识别框架

本文提出的行人属性识别方法基于注意力机制修正网络,方法主要包括网络训练和预测两个阶段,总体方法流程如图5所示。在训练阶段,利用行人属性数据集训练注意力机制修正网络,对样本图片进行尺寸缩放预处理后,再通过数据增广增加样本多样性,提高卷积网络的鲁棒性。注意力分支通过损失反向传播辅助网络训练,使网络能够有效提取行人特征。在预测阶段,去掉网络模型的注意力分支部分,使用经过注意力修正的主网络实现属性预测,获得最终的行人属性识别结果。

图5 行人属性识别方法总体流程

3 实验与结果分析

3.1 数据集与网络训练配置

本文使用了RAP数据集[17]进行网络的训练与测试实验。RAP数据集共有41 585张图片,为商场内26个监控摄像头拍摄,每张行人样本都有72种属性标注(其中包括69种二值属性和3种多值属性),还有视角、遮挡和身体分块信息标注,是样本数量和标注水平都较高的监控场景下的行人属性数据集。

研究通常选取正样本比例大于1%的51种属性进行实验,根据文献[17]中的数据集划分方式,本实验采用随机划分的33 268张图片作为训练集,其余8317张图像作为测试集。

本实验网络模型通过TensorFlow框架实现,模型主网络选用inception_v2和inception_resnet_v2。主网络都采用了ImageNet预训练模型,注意力分支权重则采用了随机初始化。对于inception_v2网络,图片首先调整为256×256大小,然后随机裁剪为224×224,并通过随机翻转进行数据增广。在训练时,网络初始学习率设为0.001,每两个epoch下降0.65(学习率下降到0.000 01为止),使用 Adam 优化器进行训练,batch大小设为32。实验环境为Ubuntu16.04,单块NVIDIA GeForce GTX 1080 Ti GPU。

3.2 评价指标

在实验评估方面,本文采用了基于标签和基于样本的两种评估准则[17]。

基于标签的评估方式通过计算每种属性的正、负样本准确率的均值,用这种平均准确率(mean accuracy,mA)作为最终的识别率

(11)

其中,C代表属性的数量,Pi代表正样本的数量,TPi代表正确识别的正样本数量,Ni代表负样本的数量,TNi代表正确识别的负样本的数量。这种评估方式不受类别不均衡性影响,但这种评估方式将每种属性视为独立,却忽略了属性间的相关性。

基于样本的评估准则包括准确率(accuracy)、精确度(precision)、召回率(recall)和F1指标,如下所示

(12)

(13)

(14)

(15)

其中,N代表实例样本的数量,Yi代表第i个实例的真实标签,f(xi) 代表第i个实例的预测标签, |·| 代表集合的基数。这种评估方式是以每个样本实例为单位的评估,能对给定样本更好地进行一致性评价,其中F1指标是精确度和召回率的调和平均,是对识别能力的综合表达,在监控场景应用中具有更强的实际意义。

3.3 实验结果与分析

本文方法在RAP数据集上的实验结果见表1,并与其它近年来发表的行人属性识别方法进行了比较,各项指标的最优值用加粗字体表示。

在上述方法中,DeepMar*[4]和GRL[6]显式地利用了身体部位信息,VeSPA[5]则训练视角检测器为属性识别提供视角信息,结果表明这些额外的辅助信息确实有助于识别性能的提高,然而需要设计额外的身体部位或视角检测器,或者需要数据集提供除属性标签外其它的标注信息。JRL[18]与GRL还使用了CNN与RNN结合的方法,能够更好地利用属性间的相关性,但是需要事先人工确定合适的属性预测顺序,主观影响较大,并且训练较复杂。WPAL[16]在多尺度特征图上提取并融合多层级尺度特征,强制网络注意相关区域特征。HydraPlus-Net[7]使用获取的注意力特征进行融合识别,但是计算量较大。Imbalanced-learning[8]使用视觉注意力整合的方法,在注意力模块后通过多卷积层进一步提取注意力特征,预测时将注意力分支与主网络输出的加权平均值作为属性预测结果。

表1 行人属性识别方法对比

由表1结果可以看出,本文提出的AMR-Net在RAP数据集上表现出了较强的识别能力,F1值达到了最优80.59%,相比利用视角辅助特征的VeSPA方法提高了1%。本文将Imbalanced-learning方法在RAP数据集上进行了实验,对比结果发现,在同样的训练方式下,本文方法在不增加原网络体积和计算量的情况下,AMR-Net保证了属性识别的性能,甚至优于分支输出加权平均的方法。实验结果表明,AMR-Net通过弱监督训练获得注意力特征,不需要提供额外的辅助信息;在原卷积网络的基础上通过注意力网络分支为主网络提供权重修正,实现了端到端的高效训练,并且在不增加模型体积和计算量的前提下,对原网络的属性识别性能实现了提升。

为验证所提出方法的有效性,本文分别选用了inception_v2和inception_resnet_v2两种基础卷积网络为主网络进行实验,在RAP数据集上测试属性识别结果见表2,各项指标的最优值用加粗字体表示。

表2中实验结果共分为两组,每组分别由原始主网络和注意力修正网络(AMR-Net)的测试结果组成。对于原始主网络模型,inception_resnet_v2的mA相较inception_v2由74.01%提升至78.33%,F1也由79.02%提升至79.83%,可以看出随着网络层数和结构复杂度增加,网络的识别性能提高。每组结果中,AMR-Net与相应的原始主网络相比性能均得到了提升,对于inception_v2为主网络的AMR-Net,mA提升了0.48%,F1值提升了0.34%。当AMR-Net以inception_resnet_v2为主网络时,基于样本的各项指标性能都得到了提高,F1值达到了80.59%,相较基础网络提高了0.76%。通过该组实验结果表明,本文提出的AMR-Net具有普适性和有效性,能够适用于不同的基础卷积网络,为原网络带来性能提升。这对网络模型体积和计算量要求较高的情况下,具有较高的实际应用价值。

表2 不同主网络结构下的属性识别结果

本文也对注意力模块的输出特征进行了可视化分析。由图6中第一行可以看出,注意力特征关注到了单肩包和衬衫对应的区域。对于更高阶的语义属性,例如打电话行为,注意力特征也捕获到手机所在的区域。还有性别这类抽象属性,注意力特征则注意到目标所在的全局特征,这也与人们的自然认知相符。通过将注意力特征可视化的定性分析,可以发现注意力分支确实能够为主网络提供正确有用的信息修正,有助于主网络的性能提升。

图7展示了通过AMR-Net进行行人属性识别的结果。样本图片右侧为网络预测的属性,黑色字体表示识别正确的属性,加粗字体表示识别错误的属性,在括号中标明了对应的正确标签,带下划线字体表示漏检的属性,删除线字体表示网络识别的多余属性。可以看出,对于较为明显的特征,如黑色头发、围巾和性别等有很高的识别率,还有紧身裤和长裤这种差别细微的属性也能得到较好的识别。但是对于视角变化情况导致属性特征不明显,以及颜色和外观语义相似的属性识别能力还有待提高。

图6 注意力特征可视化分析

图7 基于注意力机制修正网络(AMR-Net)的行人属性识别结果

4 结束语

本文受注意力机制在细粒度图像分类应用的启发,提出了一个端到端的基于注意力机制修正的网络模型,用于安防监控场景下的行人属性识别。本文方法在主网络的多尺度特征后添加注意力分支,提取属性对应的空域注意力特征,在网络训练过程中对主网络进行权重修正,实现了在不增加模型体积和计算量的情况下,提升主网络的属性识别性能。通过在RAP数据集上与现有方法的实验对比,本文方法将F1提升到80.59%,验证了本文方法的有效性。本文方法可适用于不同的卷积网络结构,具有一定的普适性,可应用于不同网络的性能提升。在未来的工作中,将对注意力网络进行更深入的研究,将注意力信息更好地与网络特征相结合,提高网络在复杂背景和相似属性情况下的属性识别能力。

猜你喜欢
分支行人注意力
让注意力“飞”回来
一类离散时间反馈控制系统Hopf分支研究
一类四次扰动Liénard系统的极限环分支
毒舌出没,行人避让
巧分支与枝
路不为寻找者而设
“扬眼”APP:让注意力“变现”
我是行人
曝光闯红灯行人值得借鉴
A Beautiful Way Of Looking At Things