基于改进深度卷积神经网络的车辆检测方法研究

2022-02-14 07:37
汽车电器 2022年1期

严 友

(衢州职业技术学院, 浙江衢州 324000)

1 引言

智能辅助驾驶系统 (ADAS) 可为驾驶员实时提供安全预判信息, 具有降低交通事故, 提升汽车安全性, 减少生命财产损失的优点, 逐步成为汽车配件开发的热点。

车辆检测作为辅助驾驶系统的输入, 对于系统的预警和决策起着至关重要的作用, 对危险目标实现有效的检测是精确预警的前提。 如今, 车载相机是车载传感器的重要组成部分, 它能够实时地捕获高分辨率的汽车前方场景的图像信息。 同时, 车载相机的成本较低、 交互性强。 因此, 基于图像的目标感知算法对于车载目标的识别十分重要, 是多传感器融合感知算法的核心和前提。

近年来, 深度卷积神经网络在许多计算机视觉任务中取得了巨大的成功, 包括图像分类、 车辆检测、 语义分割、图像去雾、 超分辨率重建等。 因此, 本项目采用深度卷积神经网络作为基础进行图像的目标感知与识别, 主要包括基础网络的设计和车辆检测网络的构建等两个部分。 首先, 本文对经典的深度残差网络 (resnet) 进行改进, 提出带局部连接的残差单元, 并以此构建带局部连接的残差网络, 带局部连接的残差模块内部相比于原始的残差模块有更多的通路, 信息的传递很难被阻塞, 更加有利于特征的提取和融合前后多层多级语义信息, 令网络模型的鲁棒性更强。 其次, 尽管Faster RCNN、 MSCNN 和FPN 取得了成功, 这类方法仍然存在改进的空间, 具体地, FPN将不同语义级别的特征进行融合后生成的特征仍然不够深度, 不同输出特征图间的语义融合层级仍然不够充分。 基于上述原因, 本文提出了基于共享参数的多分支网络和双金字塔语义传递网络。 基于共享参数的多分支网络主要用于提升不同语义级别特征融合前的语义级别, 而高阶金字塔语义传递网络主要用于深度融合不同分辨率特征图的语义。 最后, 通过改进的深度卷积神经网络的车辆识别算法对区域中的车辆进行检测, 经过测试, 车辆的检测准确率最高达到95.3%, 且具备较高的实时性和环境适应性。

2 基础网络的设计

基础网络指一种用于物体检测及分类的基础框架, 它是后续进行车辆检测的基础。 我们对经典的深度残差网络(resnet) 进行改进, 提出带局部连接的残差单元, 并以此构建带局部连接的残差网络。 所提带局部连接的残差模块与原始残差模块的对比如图1所示。 在一个残差单元里, 带局部连接的残差模块具备更为丰富的信息通路, 信息的传递很难被阻塞, 更加有利于特征的提取和融合前后多层多级语义信息, 同时可以令网络模型的鲁棒性更高、 更稳定。

图1 局部连接的残差模块与原始残差模块对比

基础网络的复杂度与应用工况以及时效性的要求密切相关。 当对性能的要求比较严苛, 需要使用50层的resnet50及以上的大网络时, 通常会采用bottleneck结构的残差单元。当对效率的要求较高, 同时降低对性能的要求时, 可以考虑使用plain结构残差单元的浅层网络, 比如18层的resnet18和34层的resnet34。 为了提升基础网络的特征传递和特征提取性能, 使用带局部连接的残差模块代替原始的残差模块,由于带局部连接的模块内部通道数比原始残差单元内部通道数更少, 因此可以有效地改善基础网络的能力, 同时运行效率也得以保证。 在ImageNet图像分类数据库上, 从头训练我们所提出的基础网络模型, 训练好的模型可用于后续的目标检测识别任务。

3 车辆检测网络的构建

车辆检测网络的构建指在基础网络的基础上搭建车辆检测网络。 相比于图像分类任务, 车辆检测需要检测图像中存在的不同大小车辆, 因此, 车辆检测具有更大的挑战。

常用的车辆检测架构是Faster RCNN。 Faster RCNN进行车辆检测主要包括两步: ①候选车辆窗口的提取; ②候选车辆窗口的分类、 回归。 为了减少计算消耗量, Faster RCNN在上述过程中共享一个基础网络。 由于基础网络经过若干池化层之后, 输出特征图的分辨率相对较小, 小尺度车辆的信息大量丢失。 因而, Faster RCNN在小尺度车辆检测上具有相对较差的检测性能。

为了提升体积较小物体检测的精准性, 技术人员提出了综合考虑多种不同尺度信息的复合方式对物体进行检测。该方法利用基础网络中靠前的分辨率相对较大的特征图检测小尺度车辆, 利用基础网络中靠后的分辨率相对较小的特征图检测大尺度车辆。 因而, 该方法能够利用不同分辨率的特征图检测适合尺度的车辆, 进而能够提高小尺度车辆检测的性能。 但是语义级别暂时没有较为合适的方法进行评估。 为了能够使不同输出特征图具有相似的语义级别,特征金字塔网络被相关研究人员提出, 该网络检测为FPN。FPN利用跨层连接将上采样的高语义级别低分辨率的特征图同低语义级别高分辨率的特征图进行融合得到高语义级别高分辨率的特征图。 基于跨层连接和自上而下的上采样操作, FPN能够输出具有相似高级语义的不同分辨率大小特征图, 并利用这些不同分辨率特征图检测不同尺度的车辆。 相比于Faster RCNN和MSCNN, FPN进一步提升了车辆检测的性能, 特别是小尺度车辆检测的性能。

图2给出了基于共享参数的多分支网络的基本架构。 输入图像首先经过前i-2的卷积层 (即conv1到conv (i-2)),然后输出拆分成2个不同的分支。 具体地, 一个分支经过卷积层conv (i-1) s和卷积层convis得到输出特征图, 该分支称为bran-s; 另一个分支首先经过一个池化层和一个卷积层conv (i-1), 然后继续拆分成2个不同的分支。 具体地,一个分支经过卷积层convim得到输出特征图, 该分支简称为bran-m; 另一个分支经过一个池化层和一个卷积层convil得到输出特征图, 该分支简称为bran-l。 为了提升bran-s和bran-m输出特征图的感受野, 采用了跨层连接。 具体地,bran-m的最终输出特征图由上述bran-m的输出特征图和上采样的bran-l输出特征进行点对点像素值相加得到, bran-l的最终输出特征图由上述bran-l的输出特征图和上采样的bran-m最终输出特征图进行点对点像素值相加得到。

图2 基于共享参数的多分支网络架构

一方面, bran-s、 bran-m、 bran-l输出的特征图经过了相同数量的卷积层, 具有相似的语义级别, 因而, 它们进一步融合的特征具有更高的语义级别且更加鲁棒; 另一方面, bran-s、 bran-m、 bran-l输出的特征图具有不同的空间分辨率和不同的感受野, 适合检测不同尺度的车辆。 具体地, bran-s输出的特征图具有最大的空间分辨率和最小的感受野, 适合检测尺度相对较小的车辆, bran-l输出的特征图具有最小的空间分辨率和最大的感受野, 适合检测相对较大的车辆, bran-m则适合检测相对适中的车辆。 同时,为了减少网络参数量, 不同分支之间的卷积层可以共享网络参数。

图3给出了高阶金字塔语义传递网络。 输入图像首先经过基础网络, 生成若干分辨率不同的特征图 (包括输出特征图F01, 特征图F02和特征图F03)。 3个特征图的语义级别从F03到F01逐渐降低。 为了传递不同特征图的语义, 自上而下的跨层连接操作被引入。 特征图F13由特征图F13经过一个卷积层后得到; 特征图F12由上采样的F13和特征图F02经过一个卷积层后进行点对点相加得到; 特征图F01由上采样的F02和特征图F01经过一个卷积层后进行点对点相加得到。 因而, F13融合了F01、 F02、 F03的语义特征, F12融合F01、 F02的语义特征。 为了深度融合不同特征图的语义,上述自上而下的跨层连接继续重复3次。 为了增加不同语义的特征, 在每次融合过程不仅引入上层低分辨率的特征图,而且引入同分辨率前几次融合过程中的特征图。 例如, F42由上采样的特征图F43和同分辨率特征图F02、 特征图F12、特征图F22、 特征图F32进行点对点相加得到。

图3 高阶金字塔语义传递网络

一方面, 特征图F43、 特征图42、 特征图41充分融合了不同分辨率、 不同语义的特征, 提升了输出特征图的语义级别, 能够更好地提升车辆检测的鲁棒性; 另一方面, 特征图F43、 特征图42、 特征图41具有不同的分辨率, 适合检测不同尺度的行人和车辆, 有效地解决了车辆尺度变化的问题, 增强了算法的尺度鲁棒性。

4 车辆检测结果测试

为获得改进深度卷积神经网络学习的训练集, 在车辆上安装高清摄像头, 采集不同路况下的车辆图片, 训练集图片如图4所示。

图4 采集的车辆图片

选取课题组自研的标注软件对采集到的图片信息进行自动化标注, 形成统一格式的可扩展标记语言文件, 运行环境是Linux系统, 并在该系统下对改进深度卷积神经网络算法进行配置: 计算平台内存容量为8GB (8GB×1)DDR42133MHz, 硬盘为128GB+1TB混合硬盘 (SSD+5400转HDD), 显卡芯片为NVIDIAGeForce940MX, CPU型号为Intel酷睿i57200U, CPU主频为2.5GHz。 人工智能开发软件Tensorflow和用于机器学习的视觉软件库Opencv需要提前在上述计算平台预先配置并安装, 用于深度卷积神经网络算法对输入数据进行学习。

改进的深度卷积神经网络模型训练完成后, 调用本文提出的算法对图片中的车辆进行检测, 检测结果如图5所示。 通过BIT-Vehicle车辆数据集对算法准确率进行测试,以平均准确率mAP为评价指标, 测试结果如表1所示。

图5 车辆检测结果对比图

表1 车辆数据集测试结果对比表

通过检测准确率的结果对比, 改进后的深度卷积神经网络算法提升了车辆识别的置信度, 对于近距离和远距离的车辆都有了较好的检测效果。 但是, 在车辆行驶与城市工况, 算法会将护栏、 树木、 灌木等类似车辆特征的车辆误认为目标车辆, 存在一定的误检, 如图6所示。

图6 真实城市工况下车辆检测结果

表2为信息融合算法在不同天气条件下的检测结果, 在晴天、 阴天和夜晚有光照的情况下, 对于目标车辆检测的准确率分别达到了95.3%、 93.8%和91.7%, 误检率分别为0.3%、 0.4%和0.6%, 相比于单传感器车辆检测的准确率得以提升, 实现了前方目标车辆的精确感知。

表2 车辆检测准确率对比表

5 结论

1) 本文提出带局部连接的残差单元, 对传统深度学习网络进行了改进, 并以此构建带局部连接的残差网络, 带局部连接的残差模块内部相比于原始的残差模块有更多的通路, 信息的传递很难被阻塞, 更加有利于特征的提取和融合前后多层多级语义信息, 同时使得网络的训练更加稳定。

2) 本文提出了基于共享参数的多分支网络和双金字塔语义传递网络, 其中, 基于共享参数的多分支网络提升了不同语义级别特征融合前的语义级别, 而高阶金字塔语义传递网络主要实现深度融合不同分辨率特征图的语义。

3) 采用本文提出的改进的深度卷积神经网络算法对真实城市工况下的车辆进行了实时检测, 并对测试结果进行测试, 对于晴天环境中车辆的检测准确率最高达到了95.3%, 为后续高级别辅助驾驶系统的精准决策及控制奠定了坚实的基础。