智能驾驶小车的实现毕业论文
2021-12-24 16:12:33
论文总字数:22007字
摘 要
当今社会国民生活水平不断提高,每个家庭拥有的车辆数目也日益增多,还有驾驶员的驾驶工作日益繁重,疲劳驾驶引发的事故频繁发生。这就导致如何提高汽车的交通安全性已经成为严重的问题。而智能驾驶就是解决这一系列问题的良好处理方法。
本文分析了实现智能驾驶存在着哪些问题,针对这些问题制作了一个能够智能驾驶的小车。首先,运用了RetinaNet网络经过对样本的训练实现了路标的识别和检测,测试时可以达到了较高的准确率,RetinaNet是基于Resnet实现的一种目标检测的网络,它可以很好的减少负样本对训练时的影响,减少训练时长,提高模型的精确率;其次,使用OpenCV计算机视觉库对道路线进行识别,通过对采集的图像进行一系列图像处理,实现对道路线的提取,从而让小车能够侦测到道路线,以此小车能沿着固定路线行驶;最后,小车使用的开发板是树莓派,我们使用socket进行服务器和树莓派之间的通信,实现视频的实时传输,通过服务器进行识别当前道路状况,并将行驶指令传输给小车实现智能驾驶。
关键词: 智能驾驶小车 路标识别和检测 RetinaNet模型 道路线检测 OpenCV 树莓派
Realization of intelligent driving car
Abstract
In today's society, people's living standards are constantly improving, the number of vehicles owned by each family is also increasing, and the driver's driving work is becoming increasingly heavy, and accidents caused by fatigue driving frequently occur. This leads to how to improve the traffic safety of cars has become a serious problem. Intelligent driving is a good way to solve these problems.
This article analyzes the problems that exist in the realization of intelligent driving, and makes a car capable of intelligent driving in response to these problems. First, the RetinaNet network is used to realize the recognition and detection of road signs through sample training, and a high accuracy rate can be achieved during testing. RetinaNet is a target detection network based on Resnet, which can reduce negatives very well. The impact of the sample on training, reducing the training time and improving the accuracy of the model; secondly, the OpenCV computer vision library is used to identify the road lines, and the road images are extracted by performing a series of image processing on the collected images, so that The car can detect the road line, so that the car can travel along a fixed route; finally, the development board used by the car is the Raspberry Pi. We use sockets to communicate between the server and the Raspberry Pi to achieve real-time video transmission. Recognize the current road conditions through the server, and transmit driving instructions to the car to achieve intelligent driving.
Key words: intelligent driving car; road sign recognition and detection; RetinaNet; road line detection; OpenCV; Raspberry Pi
目 录
摘 要 I
Abstract II
第一章 绪论 1
1.1研究背景及意义 1
1.2设计的功能介绍 1
1.3需要研究或解决的问题 1
1.4论文章节结构 1
第二章 系统总体介绍 3
2.1 系统设计功能分析 3
2.2 系统整体框架图 3
第三章 路标的检测和识别 5
3.1 前期准备 5
3.1.1 数据集准备 5
3.1.2 深度学习模型选择 5
3.2 模型介绍 6
3.2.1 RetinaNet的简介 6
3.2.2 Feature Pyramid Network 7
3.2.3 Classification Subnet 8
3.2.4 Box Regression Subnet 9
3.2.5 Focal Loss 9
3.3 实现过程 10
3.3.1 设计流程和结果 10
3.3.2 训练集和验证集的初始化 10
3.3.3 RetinaNet的实现 11
3.3.4 模型训练 13
3.4模型验证 13
第四章 道路线检测 15
4.1 综述 15
4.2 OpenCV计算机视觉库 16
4.3 道路线检测实现步骤 16
4.3.1 对图片进行输入 16
4.3.2 灰度处理 17
4.3.3 高斯模糊 17
4.3.4 边缘检测 18
4.3.5 ROI的提取 19
4.3.6 霍夫变换 20
4.3.7 多项式拟合曲线 22
4.4 模型检验 22
第五章 树莓派智能小车的实现 24
5.1 树莓派小车介绍 24
5.1.1 硬件介绍 24
5.1.2 软件介绍 26
5.2 小车实现过程 26
5.2.1 综述 26
5.2.2 树莓派和服务器端的连接 27
5.2.3 小车对模型的运用 29
5.2.4 小车的控制 29
5.3 实现结果 30
第六章 总结与展望 34
6.1 总结 34
6.2 未来展望 34
参考文献 35
致 谢 37
第一章 绪论
1.1研究背景及意义
在当今世界,我们已经经过了第三次科技革命,科技快速发展,自动化逐渐进入日常生活,而自动驾驶和在自动驾驶的基础上开发出来的产品已经逐渐成为日常的必需品,经过世界上许多国家这几年的研究,对于自动驾驶这一方向上的研究也日趋成熟,并且也有实际的产品投入使用,比如特斯拉公司就见自动驾驶的模块融入了汽车的生产。而智能小车,是需要环境的信息收集,小车指令规划控制,自动驾驶等功能的综合系统,它需要运用到传感模块、计算机模块、通信模块、控制模块以及服务器指令生成模块,这是一个典型的融合多种技术的工业产品。智能小车主要完成的是道路障碍自动识别、道路线自动检测、自动实现车辆的行驶与制动、以及实现小车的巡航和控制功能。
1.2设计的功能介绍
这次的设计是基于树莓派的自动驾驶小车的实现,利用软件和硬件相结合实现一个可以进行自动驾驶的树莓派小车。本次设计只要包括以下几个功能需求:路标检测和识别,道路线的检测,树莓派自动驾驶小车的实现。
1.3需要研究或解决的问题
本设计需要研究或解决的主要问题有:
请支付后下载全文,论文总字数:22007字