基于改进faster R-CNN 算法的小目标车辆检测

2021-01-24 14:27姚国愉李雪纯张佳乐
科技创新与应用 2021年4期
关键词:特征提取卷积函数

张 昭,姚国愉,李雪纯,张佳乐

(西安邮电大学 通信与信息工程学院,陕西 西安 710121)

1 概述

车辆目标检测[1-2]在智能交通、智能驾驶、交通安全等方面发挥着重要作用,其任务是通过图像处理技术识别出车辆目标在图像中的具体坐标位置。如今,车辆目标检测算法虽然对正常的目标车辆大小的检测效果达到了一定标准,但对远距离小目标的检测性能均未达到应有的效果,并且对远距离小目标的检测在交通疏导和交通安全上都起着至关重要的作用,可以达到缓解交通压力和降低交通事故的作用。在交通场景复杂性的背景下,远距离小目标车辆检测存在一定难度。

为了应对这些挑战,目标检测技术在不断的发展,目标检测算法在最初的开发阶段是基于手工特征的,但局限在提取特征能力比较弱,于是,由于深度学习的效果明显,便成为了目标检测的主流方法。最初,AlexNet[3]由Krizhevsky 等人提出,随后,在卷积神经网络框架的不断改进和创新下,VGG[4]以及ResNet[5]网络等优秀网络框架先后被提出,为深度学习方法在图像检测识别的应用奠定了坚实的基础。

车辆目标检测深度学习算法被分为两类:分别是基于two stage 方法和基于one stage 方法。基于two stage的车辆检测方法分为两步进行,第一步使用某种图像分割算法提出候选区域,第二步再将这些候选区域进一步进行分类以及位置校准得到最终的检测结果。2014年,Girshick 等人提出了 R-CNN 算法[6],到 2015年提出的空间金字塔池化结构(Spatial Pyramid Pooling,SPP)[7],再到Girshick 等人提出的 Fast R-CNN 算法[8],最后到Ren 等人提出的Faster R-CNN 算法[9],这是基于two stage 的最优秀的经典算法,但由于网络深度过深,对小目标的特征提取较差。随后,基于one stage 方法的车辆检测方法出现,虽然网络框架更简易,但其用检测精度换取了检测速度的提升,同样由于网络深度较高,对底层的空间特征表达较差,所以对小目标车辆检测性较差。

faster R-CNN 虽然是基于two stage 的目标检测方法,但它的特征网络主要都是共享的,并且网络是端到端,检测速度可以应用到实际,所以我们选择了基于two stage 的优秀经典算法faster R-CNN 作本文框架的基础,提出反卷积反向特征融合faster R-CNN 算法,首先对faster R-CNN 算法的特征提取网络进行改进,选用在网络深度和网络性能均表现良好的ResNet-101 网络替换原VGG 网络,提取出表达性能更丰富的特征,且结合FPN 网络特点提出反卷积反向特征融合结构,将特征提取网络的各层次的提取结果进行自上向下和自左向右的特征融合,提高了远距离小目标这种对分辨率要求较高的低层特征信息的特征提取和表达能力,提高网络对不同场景下检测的精确度,特别是对小目标的精确度;最后,将网络中的ReLU 激活函数改进为Mish 激活函数,用整个区域的光滑曲线解决ReLU 函数会丢失一部分信息的问题,以整体提高网络对车辆目标的精确度、稳定性和鲁棒性。

2 反卷积反向特征融合faster R-CNN 算法

2.1 算法整体框架

图1 本文算法整体框架

本文为了提高远距离小目标的检测效果,在faster R-CNN 算法的基础上,对特征提取网络进行改进,并将网络中的ReLU 激活函数改进为Mish 激活函数,构成了如图1 所示的本文算法整体框架。本文算法分为四个阶段:(1)输入图片经过特征提取网络得到四个多尺度融合后的feature maps;(2)分别经过RPN 网络生成不同大小和比例的候选区域;(3)分别经过RoI pooling 层对候选区域和经过特征提取网络的共享特征图进行处理,并融合后输出大小统一的特征图(proposal feature map);(4)对proposal feature map 经过softmax 分类得到具体类别,经过边框回归修正物体的精确位置。

2.2 特征提取网络

对faster R-CNN 算法的特征提取网络进行改进,选用ResNet-101 网络和提出的反卷积反向特征融合结构相结合,提高了远距离小目标这种对分辨率要求较高的信息的特征提取和表达能力。

2.2.1 ResNet-101 网络

选用在网络深度和网络性能均表现良好的ResNet网络替换原先的VGG 网络,使用了残差模块,不仅减轻了深层网络的训练难度,而且有效的改善了网络的梯度消失或梯度爆炸问题。本文选用的是ResNet-101 网络结构,分为5 个卷积块,第一个卷积块是由一个7*7 大小、通道数为64、步长为2 的卷积核构成,第二个卷积块中由一个3*3、步长为2 的最大池化层,和3 个如图1 所示的残差块级联,输出通道数为256,第三个卷积块由四个残差块级联,输出通道数为512,第四个卷积块由23 个卷积块级联,输出通道数为1024,第五个卷积块由3 个卷积块级联,输出通道数为2048,最后加上一个全连接层,共101 层网络(101 层中不包含激活函数层和池化层)。

2.2.2 反卷积反向连接融合结构

针对提高远距离小目标车辆这种小分辨率的信息的特征提取和特征表达,并且本文网络层次较深,直接对深层次提取到的特征进行处理,会因为特征中浅层特征图语义信息较少,而影响网络检测的精确度。并且参考到FPN 的特点,即对网络中浅层和深层特征图包含信息的再利用,因为浅层特征图语义信息较少,但包含空间位置信息较为丰富。使用浅层特征能够使分析出小目标车辆的位置信息更加准确,而深层特征图中提取到的特征语义信息相对丰富,在识别分类上能够有更佳的表现。所以,在FPN 的基础上,修改上采样为反卷积,提出反卷积反向连接融合结构。通过反向连接和横向连接将深层特征图的语义信息有效地与浅层特征相结合,使得融合后的特征图具有准确预测远距离小目标的能力。本文特征提取网络中的反卷积反向特征融合结构如图2 所示:

图2 反卷积反向特征融合结构

输入图像经过自下向上的路径进行卷积块的处理,得到五个层次的特征映射,由于深一层的卷积块输出的特征映射尺寸比浅一层的小一倍,所以基于FPN 中自顶向下的中的下一层输入应经过上一层的2 倍上采样得到与左侧路径平级的特征映射尺寸,然后再进行融合;但由于上采样仅仅是对低分辨率特征图的一个简单的扩充,对特征的逆向的表达性能与左侧提取到的特征联系性较差,会丢失一些信息,所以提出用反卷积替换上采样,因为反卷积是卷积的一个逆过程,对信息的丢失会大大减少;最后,经融合后的特征层P2、P3、P4、P5 分别经过RPN 层和 RoI pooling 层,在 proposal feature map 上进行合并。

反卷积将特征图不仅达到放大一倍的效果,还使经过融合的特征保持与融合前的特征的紧密联系,提高整个特征提取网络多尺度的特征表达。由于经过反卷积后的特征图大小为原来的2 倍,所以padding 的计算公式如式1 所示:

其中 p 为 padding,o 为反卷积后的特征图大小,k 为卷积核大小,s 为步长。

2.3 Mish 激活函数

针对ReLU 激活函数的硬零边界和过于简易的非线性处理的问题,选用Mish 激活函数来替代,两种函数的数学公式如式2 和式3 所示:

Mish 激活函数在负值区域有轻微的允许,并在整个区域的梯度都是光滑的,不会像ReLU 激活函数那样,丢失掉一部分信息,并且Mish 激活函数在深层次网络中准确性和稳定性更好,且提高了网络的泛化能力。

3 实验结果与分析

3.1 实验环境与参数设置

实验环境:操作系统为Windows 10,CPU 为英特尔Core i5-7300HQ @ 2.50GHz 四核,GPU 为 NVIDIA GeFo rce GTX 1050,显存4 GB,深度学习框架为Tensorflow 框架。在训练阶段,初始learning_rate 设为0.001,momentum设为 0.9,weight_decay 设为 0.0005,batch_size 设为 32,max_iters 设为 10000。

3.2 实验数据集

由于大型公开数据集(如VOC 数据集等)中目标检测的种类过多,包含车辆图片较少,对网络训练效果较差,所以,需要通过制作更加丰富的数据集来训练目标检测网络的参数,并提高网络对车辆目标检测的专业性。本文制作小目标车辆图像库的步骤如下:

(1)搜集来自西安市多处天桥上拍摄的车辆图片和大型公开数据集UA-DETRAC(主要拍摄于北京和天津的道路过街天桥,并已进行了手动标注)的部分图片,共4196张图片,包含白天、夜晚、稀疏、密集等综合场景以达到丰富图像库场景的目的,并且紧密贴合交通道路实际情况,小目标车辆图像库部分示例如图 3 中(a)、(b)、(c)、(d)所示。

(2)将所有图片均通过labelImg 标注工具进行手工标注,标注效果图部分示例如图4 所示,包含不同尺寸的目标,生成标注文件。

(3)将图像库按8:1:1 比例分为训练集、验证集和测试集,建立了VOC 格式的数据集,以备进行小目标车辆检测实验。

3.3 评价指标

在道路交通背景下,车辆目标检测结果的精确位置起着至关重要的作用,并且本文目标检测是二分类的问题,所以,本文使用AP(Average Precision)来衡量网络对于车辆目标检测的性能。AP 值是由查准率Precision 和召回率Recall 在不同阈值下构成的P(R)曲线下的面积经过插值求解计算得到的,数学公式如式4 所示:

图3 小目标车辆图像库部分示例

图4 标注效果图部分实例

maxk1≥kP(k1)表示对于某个召回率 R,所有召回率不小于R 中的查准率最大值,ΔR(k)表示召回率的变化值。

查准率和召回率的计算公式如式5 和式6 所示,TP为测试集中正确识别车辆的检测框个数,FP 为测试集中错误识别车辆的检测框个数,FN 为测试集中未识别出车辆的标注框个数,且TP 与FN 之和为所有标注框的个数。

3.4 实验结果及分析

利用上述实验数据集分别对已经经过ImageNet 图像库预训练的faster R-CNN、YOLOv3 和本文提出的改进算法模型进行训练和测试。faster R-CNN 是在two-stage 目标检测方法中具有代表性的经典算法,在精度和检测速度均达到了实际应用的标准,YOLOv3 是在one stage 目标检测算法中的具有代表性经典算法,所以,本文对在faster R-CNN 基础上提出的反卷积反向特征融合faster R-CNN、faster R-CNN 和 YOLOv3 在测试集上进行对比实验,对比三种算法在综合场景下对不同大小目标车辆的检测精度;本文借鉴了MS COCO 数据集,对大目标、中等目标、小目标的范围进行了定义,如表1 所示:

表1 目标大小区分定义

图5 所示为faster R-CNN、YOLOv3 和本文算法的车辆检测效果对比。

图5 三种算法的车辆检测效果

图5(a)所示为faster R-CNN 检测效果图,可看出虽然在精确度上已经达到了一定的标准,但会对小目标车辆出现漏检的情况,并且明显能观察出越小的目标车辆检测效果越差;图5(b)所示为YOLOv3 检测效果图,YOLOv3算法中结合了多尺度融合预测,可以观察到小目标车辆检测效果有所提升,并具有一定的检测精度,但相对于faster R-CNN,对大分辨率目标的精确位置检测稍差;图5(c)所示为本文提出的反卷积反向特征融合faster RCNN 算法的检测效果,可看出不仅能保证大分辨率目标的检测精度,并且经过特征提取网络和激活函数层的改进,提高了小分辨率目标的特征提取效果。

三种算法在测试集上的检测结果如表2 所示。

表2 三种算法在测试集上的检测结果

由表2 可以对比出,本文算法在综合场景下的AP值均高于 faster R-CNN 和 YOLOv3,且 faster R-CNN 的AP 值高于YOLOv3;在目标尺寸方面,虽然faster RCNN 对大目标和中等目标的检测精度优于YOLOv3,但YOLOv3 对小目标的检测精度优于faster R-CNN,然而,本文算法在三个尺寸目标的检测精度都高于另外两种算法;本文算法针对小目标车辆检测比faster R-CNN、YOLOv3 分别提高了5.72%、2.10%;综合场景下本文算法的 AP 值比 faster R-CNN、YOLOv3 分别提高了2.18%、2.98%。

4 结论

本文提出了反卷积反向特征融合faster R-CNN 算法,与faster R-CNN 和YOLOv3 算法相比,选用ResNet-101 网络和提出的反卷积反向特征融合结构相结合,来改进faster R-CNN 算法的特征提取网络,提高了远距离小目标这种对分辨率要求较高的低层信息的特征提取和表达能力;其次,利用Mish 激活函数替换网络中的ReLU激活函数,提高整体网络的精确度、稳定性和鲁棒性;通过实验验证,本文算法在综合场景下的检测精度均有不同程度的提高,尤其是对小目标的车辆检测效果提升更突出。在未来的工作中,应该提高小目标车辆检测网络在光照和遮挡等情况下的泛化能力。

猜你喜欢
特征提取卷积函数
二次函数
基于3D-Winograd的快速卷积算法设计及FPGA实现
第3讲 “函数”复习精讲
二次函数
函数备考精讲
卷积神经网络的分析与设计
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
从滤波器理解卷积