APP下载

基于改进的RFBNet 行人检测算法

2021-12-17黎国斌张剑林向会谢本亮

智能计算机与应用 2021年6期
关键词:卷积行人注意力

黎国斌,张剑,林向会,谢本亮

(贵州大学 大数据与信息工程学院,贵阳 550025)

0 引言

深度学习技术在计算机视觉领域已经取得较为满意的成绩,例如图像分类、目标检测、车导线检测等。2017 年的ILSVRC 图像分类挑战大赛中,Hu j等人提出SENet 并成功夺取第八届ImageNet 图像分类冠军。

深度卷积神经网络在计算机视觉领域运用之前,传统的目标检测算法主要是基于人工提取特征,例如SIFT、LBP、SURF、HOG,以及Haar等特征描述因子,其中HOG 特征在行人检测中运用最为广泛。特征提取后输入至传统的分类器进行学习,进一步确定是行人还是背景,传统的分类器有boosting 或者SVM。传统的目标检测过程需要人为提取特征,过程繁杂。

卷积神经网络在计算机视觉相关任务成功运用之后,神经网络特征提取能力得到进一步的推广。基于深度学习的检测算法分为一阶段检测算法和二阶段检测算法。二阶段目标检测算法,例如RCNN、Fast R-CNN、Faster R-CNN,先是生成目标候选框,然后将候选框通过分类和回归网络得到相应的目标类别、位置以及预测置信度。一阶段目标检测算法,例如YOLOv1、YOLOv2、YOLOv3等算法、SSD 以及DSSD 算法,取消候选框生成阶段,直接将图像特征输入回归网络得到相应的检测结果,在速度上领先于二阶段检测算法,但在检测精度上稍逊色于两阶段检测算法。

行人检测是一种特殊的目标检测任务,其目标尺度不一,算法需同时处理多尺度特征。RFBNet[1]算法引入Inception[2]模块的多尺度分支,最后将不同尺度的特征进行融合,从而提高不同尺度行人的检测准确率。

为了进一步提高行人的检测精准率,本文在RFBNet 基础上引进通道域注意力机制。通道域注意力机制可以凸显关键信息,忽略无关信息。在注意力机制下,网络模型可以更倾向可见部分行人信息,忽略被遮挡信息,提高行人与背景的区分度。

1 相关工作

1.1 注意力机制

注意力机制与大脑神经相似,可以更倾向特定特征,忽略无关信息。注意力机制,利用掩码(mask)信息与网络提取的信息进行加权整合,得到更重要的信息。掩码信息是网络生成的一层权重,特征图上重要信息得到更大的权重,无关信息得到更小的权重。注意力机制分为软注意力机制、强注意力机制,两者最大的不同是,前者更加注重空间或者通道,并且是确定性的注意力,可以通过网络训练进行调整,并且可微分,通过网络不断的前向和反向传播迭代,得到最佳的注意力权重,而后者更加关注点,图像上每个点都可以延伸出注意力,同时强注意力是一个随机的预测过程,更强调动态变化。强注意力是不可微分,训练过程只能通过强化学习完成。

注意力机制分为通道域注意力、空间域注意力、以及混合注意力。本文重点阐述通道域注意力,其中在RFBNet 算法基础上引入SENet 通道域注意力。

图像经过深度卷积神经网络提取特征后,由于图像当中只有部分区域是存在目标,其它都为背景信息,输出各个通道的特征响应理应会有所不同,但神经网络更多的是把控整体的信息,难以针对目标、背景施加不同响应。

Hu J等提出SENet 通道域注意力网络,该网络充分模拟卷积层特征不同通道之间的关系,允许网络可以适当地进行特征校正[3]。SENet 网络结构,如图1 所示。

图1 SENet 网络结构图Fig.1 SENet model structure

对于给定的输入X∈RH′×W′×C′通过任意的转换Ftr(可以是一个卷积层或者卷积集合)得到U∈RH×W×C。特征U首先通过一个压缩(squeeze)操作,压缩操作表示为全局池化层,即将H × W特征图转化为一个通道描述因子。由于通道描述因子内嵌各个通道特征响应的全局分布,浅层的卷积层可以充分利用全局信息。压缩后的特征再通过扩张(excitation)操作,即通过带下采样因子r(默认是16)的全连接层,得到的输出通道是C/r,之后添加非线性激活函数,接着通过带上采样因子r的全连接层,得到的输出通道为原来C。最后,扩张后的特征通过sigmoid激活函数,将权重限制在[0,1]。输入特征向量U对应各个通道的响应得到重新加权。

1.2 RFBNet 网络结构

RFBNet 网络结构如图2 所示,分别为基础网络,额外层、头部(置信度、分类回归),RFBNet 的基础网络为SSD,提取原始图像的特征,额外层对不同尺度的特征图应用RFB 或者RFB-s 模块,如图3、图4 所示,最后根据提取的特征进行分类回归。

图2 RFBNet 网络结构图Fig.2 RFBNet network structure diagram

图3 RFB 模块结构图Fig.3 RFB modular structure chart

图4 RFB-s 模块结构图Fig.4 RFB-s modular structure chart

RFB 模块主要是利用Inception 模块的多尺度特征融合思想,并引入空洞卷积。空洞卷积在不增加参数的前提下,可以扩大卷积层的感受野,因而网络深层的语义信息更加丰富,提高网络对目标特征的提取能力。

1.3 轻量网络结构

随着硬件技术的发展,轻量设备可以运行现有的目标检测算法,例如英伟达的Jetson tx2。尽管存储设备容量很大,但鉴于算法部署在硬件平台的限制,网络模型压缩已成为一种必要的趋势。基础网络可以采用移动端mobilenet 作为特征提取网络,压缩模型的输出通道数,减少不必要的卷积层数量[4]。

2 加入通道注意力机制的RFBNet 算法

图像经过卷积神经网络提取的特征图,是泛化的,不具备针对性。行人被遮挡部分的背景信息参与网络训练,会误导网络判断,因此引入注意力机制。网络模型更加倾向可见部分的行人特征,抑制被遮挡部分的行人信息,加快网络模型往正确的方向进行训练。

本文引入的是SENet 模块,该模块分为3 部分:第一部分是Squeeze,即先压缩;第二部分是Excitation,即激励;最后一部分是特征重标定,即注意力。Squeeze-and-Excitation block 如图1 所示。压缩的表达式如公式(1)所示:

公式(1)是图1 中的Fsq(·),通道内特征做全局池化操作。h × w分别表示图像经过卷积神经网络得到的特征图的高度和宽度,X(i,j)表示特征图上位置(i,j)的特征信息,特征图上的信息经过压缩后输出一组通道数为c的特征信息。通道数为c的特征信息通过激励操作,对各个通道的相关性建模,激励操作的表达式如公式(2)所示:

W1的维度是C′ ×C;W2的维度是C ×C′;C′为C*1/4。之后分别通过一个全连接层、激活函数、全连接层,对Squeeze 的结果Y做非线性变换。最后通过sigmoid函数将值限定在[0,1],输出的维度是1×1×C。最后是特征重标定,表达式如公式(3)所示:

输入特征X,Excitation 得到的结果作为权重,两者相乘得到各个通道调整后的特征,重要的特征可以获得更大权重,无关信息可以得到较低权重,因此可以对原特征进行重新标定。

RFBNet 网络基础上引入通道域注意力机制,分别在基础网络、RFB 模块或者RFB-s 模块上添加,添加注意力机制后的网络结构如下图5 所示。

图5 引入通道注意力的算法结构图Fig.5 An algorithm structure diagram that introduces channel attention

3 实验结果与分析

3.1 实验环境与数据集

本实验采用Linux 操作系统ubuntu16.04,选用HP inter(R)Core(TM)i7-9750 的CPU 笔记本作为调试平台,TITAN V 显卡的服务器训练神经网络,搭载PyTorch 深度学习环境的开发平台。本实验采用PASCAL VOC 行人数据集,VOC2007 和VOC2012 的行人子集作为训练集,VOC2007-test 作为测试集。参与网络训练的行人数据集有6 095张,测试集有2 007张。

3.2 实验设计及结果分析

目标检测主要使用均值平均准确率(Map)作为衡量算法的检测精度。本文实验主要分为4 组,第一组是压缩模型参数并测试行人检测的精度,第二组是0.9 M 模型参数量下引入注意力机制,第三组是3.1 M模型参数量下引入注意力机制,第四组是RFBNet300-person 模型引入注意力机制,分别定义0.9 M、3.1 M、33.8 M 模型为RFBNet_S、RFBNet_M、RFBNet300-person。最后展示实验结果并分析原因。

3.2.1 第一组实验

本次实验主要在RFBNet 网络基础上进行压缩,减少卷积层的数量、减小网络模型输出的通道数,因此参数量大幅度下降。实验设置迭代次数100 epochs,batch_size为32,单GPU 训练,学习率为0.008,骨干网络(backbone)使用去掉全连接层的VGG16,训练得到最后的网络模型。VOC2007 测试集上行人检测结果对比见表1。

表1 VOC2007 测试集上行人检测结果对比Tab.1 Comparison of pedestrian detection results on VOC2007 test set

RFBNet300 输入图像分辨率为300,通过VGG16 骨干网络提取行人的特征,从conv4_3 特征图输出后输入至RFB-s 模块提取不同尺度的特征,将不同尺度的特征进行拼接,最后输出至检测层。RFBNet 算法中分别从conv4_3、fc_7、conv8_2、conv9_2、conv10_2、conv11_2 特征图输出不同尺度不同宽高比的锚框,在最后的检测层拼接所有的结果,之后通过NMS 剔除重复的边界框。该算法虽然从多个卷积层提取不同尺度的行人特征,但弊端是通过多个特征图进行特征提取,会带来大量的计算,模型参数量大幅度增加。因此本文削减部分卷积层,降低卷积层的输出通道数,并减少每一个特征图锚框的个数。Conv1_2 输出通道数64 改为32,conv2_2 输出通道数128 改为64,conv3_3 输出通道数256 改为128,conv4_3 输出通道数512 改为258,conv5_2输出通道数512 改为258,并削减conv5_3 卷积层,同时削减conv8_2 和conv9_2 层的RFB 模块,模型为RFBNet_M。RFBNet_M 基础上将conv4_3、conv5_2、conv6_2、conv7_2、conv8_2 的输出通道数256 改为128,并conv9_2 的输出通道数256 改为64,得到的模型为RFBNet_S。由表1 知,RFBNet_M 算法平均精准率仍然为80.01%,模型参数量压缩为原来的约10%。RFBNet_S 模型参数量为0.99M,平均精准率为78.04%。RFBNet_M 模型削减conv8_2 和conv9_2 特征图的RFB 模块,特征图并没有得到多尺度特征融合,产生漏检,检测精度稍微下降。另一原因是压缩部分卷积层和降低输出通道数,降低模型的非线性表达,因此模型对行人特征提取能力下降。

本文在上述模型分别引入注意力机制,增加模型的非线性表达,可以增大模型的特征提取能力。注意力机制可以实现网络更倾向可见部分行人特征,减少被遮挡部分行人信息对模型的干扰。

3.2.2 第二组实验

本次实验是在RFBNet_S 引入注意力机制。实验迭代次数设置为100 epochs,batch_size为32,单GPU 训练,学习率为0.008。引入注意力机制的实验结果见表2。

表2 引入注意力机制的实验结果Tab.2 Experiment results of attention mechanism is introduced

表2 中√表示在骨干网络(Backbone)或者在(RFB)模块中引入注意力机制。从表2 知,FBNet_S在骨干网络引入注意力机制效果更佳。在骨干网络的基础上引入注意力机制,检测精度提升0.06%。通道域模块加入到骨干网络,会增加网络的非线性表达能力,通道域注意力计算出各个通道权重,行人特征对应通道得到较大权重,背景信息对应通道得到较低权重,因此提高模型对行人特征的提取能力。在RFB 模块引入注意力机制,失去多尺度行人特征融合的作用,模型检测性能会略微下降。

3.2.3 第三组实验

本次实验是在RFBNet_M 引入注意力机制。实验迭代次数设置为100 epochs,batch_size为32,单GPU 训练,学习率为0.008。引入注意力机制的实验结果见表3。

表3 引入注意力机制的实验结果对比Tab.3 Experiment results of attention mechanism is introduced

表3 中√表示对应的模块引入注意力机制。从表1、表3 实验结果可知,FBNet_M 在骨干网络引入注意力机制效果更佳。骨干网络添加注意力模块,可以增加网络的非线性,提高模型对行人特征的提取能力。通道域注意力可以对不同通道施加不同的权重,行人特征对应通道得到更大权重,背景信息对应通道得到较小权重,网络可以更倾向有用的行人特征,忽略无关信息,因此行人检测精度提高。

3.2.4 第四组实验

本次实验是在RFBNet300-person 引入注意力机制。实验迭代次数设置为100 epochs,batch_size为32,单GPU 训练,学习率为0.008。引入注意力机制的实验结果见表4。

表4 引入注意力机制的实验结果Tab.4 Experimental results with attention mechanisms

表4 中√表示相应的模块引入注意力机制。FBNet300-person 在骨干网络引入注意力机制效果更佳,检测精度提升0.51%。通道域注意力可以实现网络更倾向行人的关键信息,忽略无关信息,精准训练网络。SENet 结构专注于卷积核各个通道的响应,图像经过卷积核提取特征后,图像上不同的目标在卷积核对应通道会得到不同的响应,SENet 可以加强有用行人特征,降低无用特征对应通道响应,因而网络对行人特征识别能力更强,进一步提升行人检测的性能。

4 结束语

为了将RFBNet 算法部署在轻量设备上运行,本文对RFBNet 模型进行进一步压缩。削减卷积层,降低模型输出通道数,削减conv8_2 和conv9_2特征图的RFB 模块,经过实验,模型参数量压缩约为原来的1/10,行人检测精度仍然保持为80.01%。骨干网络引入通道域注意机制的RFBNet 算法,提高行人检测的精度,且具有良好的鲁棒性和适用性。

猜你喜欢

卷积行人注意力
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
让注意力“飞”回来
毒舌出没,行人避让
基于深度卷积网络与空洞卷积融合的人群计数
路不为寻找者而设
我是行人
卷积神经网络概述
A Beautiful Way Of Looking At Things
阅读理解两则