基于YOLOv3的车辆检测模型设计毕业论文
2021-11-06 23:21:18
摘 要
随着科学技术的发展,汽车逐渐成为家庭的必需品,为了实现智能交通管理,车辆识别是其中重要的组成部分。
本文基于YOLOv3检测模型,采用Python语言编码,设计并实现在图像或视频中识别出car、suv等十种车辆类别的模型。本文主要工作如下:
(1)研究了YOLOv3检测模型,掌握了图像与视频中车辆识别的过程,重点分析了YOLOv3的特征提取的卷积神经网络。
(2)搭建了训练模型所需要的软件及第三方库环境,在斯坦福车辆数据集Stanford Cars Dataset的基础上添加样本构建了包含轿车(car)、运动型多用途汽车(suv)、大客车(bus)、小客车(minibus)、重型货车(heavy truck)、普通货车(truck)、吉普车(jeep)、警车(police)、消防车(fire engine)、救护车(ambulance)这十类车辆的数据集。
(3)在本文构建的数据集上训练车辆识别模型,并且针对小尺寸目标对模型进行优化。分析实验测试结果,初始模型和优化模型在图像检测测试中分别达到了MAP=95.23%和MAP=94.66%的性能指标,视频检测测试中两个模型分别获得54.2%和70.4%的车辆识别率,实验结果验证了模型改进的有效性。
关键词:YOLOv3;卷积神经网络;特征提取;车辆识别
Abstract
With the development of science and technology, automobile has gradually become a necessity of family, in order to achieve intelligent traffic management, vehicle identification is an important part of it.
Based on YOLOv3 detection model, this thesis uses Python language coding to design and implement a model that identifies 10 vehicle categories such as car and suv in images or videos. The main work of this article is as follows:
(1) The YOLOv3 detection model is studied, the process of vehicle identification in image sand and video is mastered, and the convolutional neural network of YOLOv3 feature extraction is analyzed.
(2) The software and third-party library environment required to train the model were built, and samples were added to the Stanford Cars Dataset to build a data set of ten vehicles including cars(car), sport utility vehicles(suv), buses(bus), minibuses(minibus), heavy trucks(heavy truck), general trucks(truck), jeeps(jeep), police cars(police), fire engines(fire engine), and ambulances(ambulance).
(3) Train the vehicle identification model on the dataset built in this thesis and optimize the model for small size targets. Analyzing the experimental test results, the initial model and the optimization model reached the performance index of MAP =95.23% and MAP=94.66% respectively in the image detection test, and the two models in the video test obtained the vehicle recognition rate of 54.2% and 70.4% respectively, and the experimental results verified the validity of the model improvement.
Keywords: YOLOv3; convolutional neural network; feature extraction; vehicle identification
目 录
第1章 研究背景及现状 2
1.1 研究背景 2
1.2 研究现状 2
1.3 本文结构 3
第2章 图像与视频中的车辆特征提取 4
2.1 特征提取网络 5
2.1.1基础网络单元DarknetConv2D_BN_Leaky与残差网络单元resblock_body 5
2.1.2 残差网络单元resblock_body 7
2.1.3 特征提取网络结构 8
2.2 特征提取 9
2.2.1 采样输出部分Make_Last_layer 9
2.2.2 Compose_2模块 10
2.2.3 特征提取流程 11
2.3 本章小结 13
第3章 图像与视频中的车辆识别 14
3.1 基于YOLOv3的图像检测 14
3.1.1 滑动窗口与方格 14
3.1.2 先验框anchor box 14
3.1.3 置信度 15
3.2 图像中的车辆识别 15
3.2.1 车辆识别 15
3.2.2 非极大值抑制算法 17
3.3 视频中的车辆识别 19
3.4 本章小结 20
第4章 实验结果 21
4.1 实验环境配置 21
4.2 数据集制作 23
4.3 模型训练 26
4.3.1 Loss函数 26
4.3.2 训练过程 26
4.3 图像测试结果与分析 28
4.3.1 初始模型图像测试结果与分析 30
4.3.2 优化模型图像测试结果与分析 31
4.4 视频检测结果与分析 32
4.4.1 初始模型视频测试结果与分析 32
4.4.2 优化模型视频测试结果与分析 34
4.4 本章小结 35
第5章 总结与展望 37
致谢 39
参考文献 38
第1章 研究背景及现状
研究背景
科学技术的日益更替带动了经济的快速发展,汽车越来越成为家庭中不可或缺的一部分。但日益增加的汽车数量导致了城市交通拥挤堵塞日益严重,交通事故频发,交通环境恶化,对车辆进行快速检测成为城市交通管理的一项重要任务。但交通情况瞬息万变,对复杂场景下不同尺度和类型的车辆进行实时检测十分困难[1]。伴随着人们对智能交通的需求不断增加,为了从根本上解决问题,人们开始运用各种新技术,结合现有的交通资源设施,智能交通系统应运而生。
近些年越来越多的研究开始转向基于计算机视觉的车辆检测,其中基于深度学习的方法被广泛使用于城市交通车辆检测,并针对不同问题不断进行改进,取得了显著的效果。图像和视频中的车辆识别技术是智能交通管理发展的重要需求,对于解决交通拥堵问题、尽快发展我国的智能交通系统具有重要的意义[1]。
研究现状
近年来,卷积神经网络(CNN)以强大的图像特征提取能力而得到广泛的研究和使用,其在计算机视觉的目标检测方面的运用卓有成效。陈先昌[2]等人在二零一三年就总结了国内外在深度学习和卷积神经网络方面的研究成果,并将卷积神经网络用作光学字符识别和交通标示的识别。但卷积神经网络检测时间长,小目标难以检测等问题使CNN在实际应用中面对着不小的挑战。针对该问题,陈超[3]等人在基于卷积神经网络的目标检测算法上进行研究,在基于Faster R-CNN和YOLOv3目标检测算法的基础上对其进行改进,满足实际应用中对速度、内存精度三方面的要求。
在车辆识别方面国内外研究人员对车辆检测已有不错的研究成果。曾俊东[4]等人使用残差网络模型(ResNet)来实现车辆的图像分类和识别。王宇宁[5]等使用YOLO算法实现了视频中的车辆检测,取得了较高的检测准确率和检测速度,基本满足视频检测的需求。彭清[6]等使用CNN SVM检测算法与传统的CNN等算法进行对比,CNN SVM的检测速度明显高于传统CNN等算法,证明了CNN SVM车辆检测算法的可行性和使用价值。张富凯[7]等应用改进YOLOv3算法实现了对车辆的实时检测,且检测精度方面也取得不错的成果,还可实现对车辆颜色等其他属性的检测。