简 介: 近年来,深度学习在交通安全、无人驾驶等领域被广泛研究与应用,而车辆检测作为其中不可或缺的一环,被人们所重点关注。本文基于YOLOV3 网络对其不同骨网进行了训练与分析,最终实现了对交通车辆的准确检测。在Paddle 平台实验条件下,可同时得到高达78.432mAP 与平均108.74ms 的推测时间。

关键词目标检测车辆YOLOv3

#mermaid-svg-uU1pRvQQuGPEWr0R {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-uU1pRvQQuGPEWr0R .error-icon{fill:#552222;}#mermaid-svg-uU1pRvQQuGPEWr0R .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-uU1pRvQQuGPEWr0R .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-uU1pRvQQuGPEWr0R .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-uU1pRvQQuGPEWr0R .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-uU1pRvQQuGPEWr0R .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-uU1pRvQQuGPEWr0R .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-uU1pRvQQuGPEWr0R .marker{fill:#333333;stroke:#333333;}#mermaid-svg-uU1pRvQQuGPEWr0R .marker.cross{stroke:#333333;}#mermaid-svg-uU1pRvQQuGPEWr0R svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-uU1pRvQQuGPEWr0R .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-uU1pRvQQuGPEWr0R .cluster-label text{fill:#333;}#mermaid-svg-uU1pRvQQuGPEWr0R .cluster-label span{color:#333;}#mermaid-svg-uU1pRvQQuGPEWr0R .label text,#mermaid-svg-uU1pRvQQuGPEWr0R span{fill:#333;color:#333;}#mermaid-svg-uU1pRvQQuGPEWr0R .node rect,#mermaid-svg-uU1pRvQQuGPEWr0R .node circle,#mermaid-svg-uU1pRvQQuGPEWr0R .node ellipse,#mermaid-svg-uU1pRvQQuGPEWr0R .node polygon,#mermaid-svg-uU1pRvQQuGPEWr0R .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-uU1pRvQQuGPEWr0R .node .label{text-align:center;}#mermaid-svg-uU1pRvQQuGPEWr0R .node.clickable{cursor:pointer;}#mermaid-svg-uU1pRvQQuGPEWr0R .arrowheadPath{fill:#333333;}#mermaid-svg-uU1pRvQQuGPEWr0R .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-uU1pRvQQuGPEWr0R .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-uU1pRvQQuGPEWr0R .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-uU1pRvQQuGPEWr0R .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-uU1pRvQQuGPEWr0R .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-uU1pRvQQuGPEWr0R .cluster text{fill:#333;}#mermaid-svg-uU1pRvQQuGPEWr0R .cluster span{color:#333;}#mermaid-svg-uU1pRvQQuGPEWr0R div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-uU1pRvQQuGPEWr0R :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

引 言
目 录
Contents
YOLO目标检测
数据准备
网络训练
锚框选定
正式训练
效果评估
总结与展望
总 结
参考文献

§01 引  言


  目标检测作为深度学习神经网络在计算机视觉方面的热门应用,在探测、医疗以及公共安全等领域都已成为研究热点,并有着丰富多元且广阔的应用前景,而车辆检测便是其重要应用分支之一,给交通及公共安全带来一层可靠保障。并且在交通系统日益繁杂的今天,仅仅依靠人为驾驶存在许多安全隐患,因此催生了人们在无人驾驶以及智能驾驶技术领域的广泛探索。车辆检测便是无人与智能驾驶能够实行的前提,本文则采用深度学习神经网络中的 YOLOV3对交通车辆实现了检测与识别。以下先对 YOLO模型进行简要介绍。

▲ 图1.1 YOLO模型检测

§02 YOLO目标检测


  YOLO检测推算过程目标检测问题求解主要包括两部分,分为物体的识别(分类问题)与物体位置(回归问题)的求解。因此,在目标检测领域较为经典的 R-CNN系列网络采用的方法就是对上述两部分的分别求解。而在 2016Redmon[1]提出 YOLOYou Only Look Once)目标检测模型网络,他将目标检测作为一个回归问题进行求解,即整个网络只对完整图像检测一次便可得到结果,因此检测速度有了大幅提高。其基本思路为将整幅图分为 SXS个网格,如图所示,各网格只负责预测落入该网格中心位置的物体,并同时给出物体类别的概率信息以及多个物体边界框及置信度信息。其中边界框通过对置信度设置阈值进行过滤,过滤之后又通过非极大值抑制( non-maximum suppression,NMS)处理以得到最终的检测结果。最终 YOLO可得到实时 45FPS的高速检测结果,但由于 YOLO的每个格子只能预测出一个物体,且只选择置信度最高的边界框进行输出,故在检测物体时的边框定位效果不佳。

  随后, YOLO系列针对上述问题进行改进, YOLOV2[2]采用 Darknet-19作为特征提取的骨架,进一步提升检测速度,并在卷积层中加入了批量归一化 BNBatch Normalize)以及引入锚框 (anchor),提升了的物体定位精度。

  在 2017年的提出 YOLOV3[3]通过采用 logistic代替 softmax实现了多标签目标检测。其网络整体结构如下图所示,且图中各个小单元网络的详细结构如图底所示。 YOLOV3借鉴了 Resnet的残差网络,采用更深层次的 Darknet-53作为特征提取网络,因为其具有 53层卷积层,故称其为 Darenet53,其网络整体结构如图中左上部分所示。 concat为用于特征融合的计算单元,如图中所示,特征图经过相互融合,最终输出 3个不同尺度的特征图,并通过其来进行误差反向传播,从而实现对目标检测的训练。采用多尺度特征图,目的是为了降低小目标的特征丢失,因此最终提升了对小目标的检测精度。相比当时的其它网络模型,在相近检测表现的情况下, YOLOV3可实现 3.8倍左右的速度提升。

▲ 图2.1 YOLOV3网络结构

§03 数据准备


  采用 UA-DETRAC作为车辆目标检测的数据集,其由天津和北京的道路监控摄像头拍摄而成,共有 20050张图片。数据集中共有三种车类型,分别为 BusVanCar,共手动标注了 8250辆车的类型和边界框。

  在本文中,在 PaddleX平台的至尊版环境下进行实验,将该数据集转为 VOC格式数据集类型进行训练和评估,每隔四张,取前 19000张图片作为训练集,最后 1000张图片作为评估测试集。此外还对图像进行数据增强、大小调整和归一化处理。

▲ 图3.1 UA-DETRACE数据集合

§04 网络训练


4.1 锚框选定

  锚框在现今优秀的目标检测模型中已被广泛应用,可以解决以往一个窗口只能检测一个物体的问题,以及可加速后续训练的过程。在正式开始训练之前,首先对数据集进行 K-means聚类选取 9个合适的锚框,其中一次实验中的锚框大小和其对应的平均交并比( IOU)示例如下:

▲ 图4.1.1 锚框计算示例

4.2 正式训练

  采用上述的锚框,开始进行正式训练,加载 ImageNet上的预训练权重,进行 50epoch59350step的训练。初始学习速率为 0.00025,并设置学习速率衰减,其学习速率随步数的变化如图 5所示。采用不同的 backbone,分别为 ResnetMobilenetV1MobilenetV3_largeDarknet,各训练过程中的误差函数 loss变化分别如下图 6所示。从图中可得到在目标检测中 loss在经过一定训练后,振幅总是趋于稳定地振荡,而且由于边界框对物体的位置难以达到绝对精确,其绝对误差也相应地难以消除。

▲ 图4.2.1 学习苏伦岁训练步数变化曲线

  从图中可得 Resnet具有误差极小值,略微优于其它网络。同时发现 Darknet下的 loss减小最快,即其具有最快的收敛速度。

▲ 图4.2.2 不同骨干网络下的误差随训练步数变化

§05 效果评估


  对边界框采用均值平均精度( mAPmean Average Precision)作为指标,在训练中的每两个 Epoch对测试集进行评估,得到 mAPEpoch的变化曲线如图所示。首先,不同 backbone网络下,各自的 mAP首先随着训练都在快速上升,并且增长速度逐渐放缓。而训练到后期, mAP不增反降,出现过拟合的情况,需要训练多个 Epoch才能出现一次 mAP的极大值。此外,从曲线中可得, MobilenetV3_largeDarknet在经过 40epoch的训练后取到最大值,能较快达到收敛,而另两个骨干网络则需在第 50epoch才达到最大值。尤其是 MobilenetV1,在训练后期其 mAP上升相比其它三种网络较为明显,比较难收敛。需要更长的训练周期。

▲ 图5.1 不同骨干网边界框mAP在训练过程中的变化

  在经过训练后,分别采取不同骨干网络中的最佳模型,从网上以及本人拍摄的图片中进行测试,如下图所示为部分测试效果。

▲ 图5.2 不同的测试效果

  在测试的过程中发现:

  1. 由于数据集都是采用俯拍的形式进行拍摄,故在测试中部分平视拍摄所得照片的车辆识别效果不佳。
  2. 对于车辆这种较大的物体识别,一旦存在车辆在图片中的显示不完整的情况,或者出现车辆被大部分遮掩的情况下,将会不予识别。而存在小部分遮掩的情况下,还是能够正确检测出种类与位置。
  3. 同时由于对边界框大小进行了阈值设置,在图中较小的车辆目标将不会框注标示。
  4. 即使图片中的车辆因为有较快的速度而导致其成像模糊,网络依然能较为准确地识别。
  5. 总之,在俯拍情况下,交通车辆检测效果较佳,不同骨干网络情况下也能对各种种类车辆正确分类识别。用此数据集得到的训练结果网络更适用于俯拍等交通监控场合。

  此外,在本次实验中,对采用各种不同骨架网络的 YOLOV3评估结果对比如下表 1所示。首先其中的 MobilenetV3_largeDarknet取得了较佳的边界框 mAP,分别为 78.43278.191。由于此两种网络的网络层次相比其它两种网络都较深,在特征提取中不易丢失更多的信息。因此在经过同样的训练步骤后,取得最佳的训练效果。此外,不同骨干网络取得最大 mAPepoch有所不同。

  另一方面,在此实验条件下从表中可以得出, MobilenetV1具有最短的训练时间和最快的推断速度,其对每张图片的推断时间平均需要 78.65ms。这是因为骨网层数越少的网络,经过的卷积运算等步骤越少,因此所需要的训练时间更短,并且对测试图像的推断速度更快。但此类网络的特征提取效果不如层次较深的网络,易丢失掉一些信息,导致最终的识别效果不如后两者。表 1各骨网最佳模型结果

▲ 图5.3 各骨网最佳模型结果

§06 总结与展望

  在本次实验中,采用 YOLOV3针对车辆进行训练与检测,通过对四种不同骨干网络分别进行训练与讨论,不同骨干网在经过一定训练后,最终都能够对车辆进行较好程度的识别,并且在俯拍视角下效果更佳,适用于交通场合的检测。在讨论结果中,采用 MobilenetV3_largeDarknet作为骨干网络可以得到较高的 mAP,最高可达到 78.432,同时有着较快的收敛速度。而网络规模较小的 ResnetMobilenetV1虽然在精度上不如上述两者,但其在推断速度上占优,在规格要求不高的场所下可采用。

  由于时间仓促,本次实验仍有诸多不足。

  1. 对置信度阈值等参数没有进一步讨论,未来可对这些参数进行讨论,以期进一步提高检测效果。
  2. 车辆种类细分度不够,未来可考虑寻找和采用更全面的数据集,以能进一步细分识别更多种类的车辆,还可考虑加入识别行人功能。

※ 总  结 ※


  近年来,深度学习在交通安全、无人驾驶等领域被广泛研究与应用,而车辆检测作为其中不可或缺的一环,被人们所重点关注。本文基于YOLOV3 网络对其不同骨网进行了训练与分析,最终实现了对交通车辆的准确检测。在Paddle 平台实验条件下,可同时得到高达78.432mAP 与平均108.74ms 的推测时间。

7.1 参考文献

[1] Redmon J , Divvala S , Girshick R , et al. You Only Look Once: Unified, Real-TimeObjectDetection[J]. IEEE,2016.
[2] Redmon J , Farhadi A . YOLO9000: Better, Faster, Stronger[C]// IEEE. IEEE, 2017:6517-6525.
[3] Redmon J , FarhadiA .YOLOv3:An Incremental Improvement[J]. arXiv e-prints, 2018.
[4]张琛 .基于 YOLOv3的道路目标检测方法研究 [D].青海大学 ,2021.
[5]孙恒 .基于改进 YOLOv3的交通信号灯检测和识别研究 [D].长安大学 ,2021.


● 相关图表链接:

  • 图1.1 YOLO模型检测
  • 图2.1 YOLOV3网络结构
  • 图3.1 UA-DETRACE数据集合
  • 图4.1.1 锚框计算示例
  • 图4.2.1 学习苏伦岁训练步数变化曲线
  • 图4.2.2 不同骨干网络下的误差随训练步数变化
  • 图5.1 不同骨干网边界框mAP在训练过程中的变化
  • 图5.2 不同的测试效果
  • 图5.3 各骨网最佳模型结果

基于 YOLOV3的交通车辆检测相关推荐

  1. 基于YOLOV3实现交通标志识别(Pytorch实现)

    训练样本准备 中国交通标志检测数据集(CCTSDB),百度网盘:https://pan.baidu.com/s/1-se8J8fQ0FgmUalu8873CQ, 提取码:9fov 图片制作 1.按图片 ...

  2. 【深度学习入门】Paddle实现车辆检测和车辆类型识别(基于YOLOv3和ResNet18)

    Paddle实现车辆检测和车辆类型识别(基于YOLOv3和ResNet18) 未经作者允许,本文禁止转载 一. PaddleDetection 简介: 二. 配置环境并安装 Paddle: 三. 安装 ...

  3. 【目标检测】基于yolov3交通标志检测和识别(附代码和数据集)

    Hello,大家好,我是augustqi.今天给大家分享的目标检测项目是:基于yolov3交通标志检测和识别(附代码和数据集)[目前yolov7都出来了,为什么要用2018年的yolov3呢?因为我想 ...

  4. 基于Matlab的交通限速标志的识别系统 数字图像处理大作业

    本大作业为基于Matlab的交通限速标志的识别系统, 考虑到在科技发展的今天,智能汽车行业发展迅速,所以交通限速标志的快速检测及识别对车辆的安全行驶极为重要,因此本系统可以检测到图中的交通限速标志并对 ...

  5. 基于机器视觉的交通灯控制系统设计

    基于机器视觉的交通灯控制系统设计 摘 要 Abstract 引言 1 课题背景 1.1概述 1.2传统交通路口信号灯 1.3基于机器视觉的交通灯控制智能系统 1.3.1国内研究现状 1.3.2国外研究 ...

  6. 智慧交通:基于PP-Vehicle的交通监控分析系统

    智慧交通:基于PP-Vehicle的交通监控分析系统 项目背景 交通是兴国之要.强国之基.随着城市的快速发展.车辆和行人数量的日益增多,强依赖人力管控的传统交通治理模式在交通拥堵治理.信号调控.秩序改 ...

  7. TensorRT 基于Yolov3的开发

    TensorRT 基于Yolov3的开发 Models Desc tensorRT for Yolov3 https://github.com/lewes6369/TensorRT-Yolov3 Te ...

  8. 基于Yolo-V3对卫星图像进行储油罐容积占用率的研究

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 在1957年以前,地球上只有一颗天然卫星:月球.1957年10月4日,苏联发射了世界上第一颗人造卫星, ...

  9. 计算机视觉:基于YOLO-V3林业病虫害目标检测

    计算机视觉:基于YOLO-V3林业病虫害目标检测 卷积神经网络提取特征 根据输出特征图计算预测框位置和类别 建立输出特征图与预测框之间的关联 计算预测框是否包含物体的概率 计算预测框位置坐标 计算物体 ...

最新文章

  1. 谷歌服务中断事故能否避免?
  2. 客户跟进节奏(转至索菲外贸日记)
  3. FreeBSD下安装配置Hadoop集群(性能调优)
  4. 一台服务器最多能创建多少个 TCP 连接?
  5. GraphPad Prism 的统计显著性报告中*或**或**的含义是什么?
  6. 【深度学习】深度学习中的单元测试
  7. SAP CRM WebClient UI里如何找到Assignment block和settype的映射关系
  8. 复旦大学计算机应用能力,复旦大学计算机应用能力水平测试(FudanComputerSkills.doc...
  9. js之 foreach, map, every, some
  10. 毕业一年多被裁,没有计算机文凭,我在两个月内搞定4份Offer,且收入翻倍
  11. linux 下邮件服务器,Linux 下搭建Postfix邮件服务器
  12. Reset RequiredFieldValidator 重置 验证控件
  13. 演练 打印直角三角形
  14. arm Linux 低成本方案,参赛作品《低成本基于ARM+Linux平台搭建web服务器的物联网学习板》...
  15. BZOJ 3261: 最大异或和位置-贪心+可持久化01Trie树
  16. 保险行业持续扩展,巨杉数据库再次中标人保财险
  17. 小程序加载图片失败,默认图片的替换方法
  18. 2021年电工(初级)考试及电工(初级)考试题
  19. H3CNE题库(带答案版)
  20. POJ - Nice Milk(半平面交)

热门文章

  1. JarvisOJ level4
  2. 静态网页设计课程设计-周杰伦网站包含源码以及文档,可直接使用
  3. chmod命令原理及用法详解
  4. 【药材识别】基于色差色温特征结合SVM实现药材炮制程度判断系统附GUI界面
  5. Docker安装教程(超详细)
  6. Java Web视频(2013)
  7. C语言通讯录系统程序设计
  8. DataTable列自定义渲染切页无效重绘
  9. DC/DC电源输入输出滤波电容摆放位置
  10. C++:引用类型(int )