目录
前言
📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
🚀对毕设有任何疑问都可以问学长哦!
选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277
大家好,这里是海浪学长毕设专题,本次分享的课题是
🎯基于机器车辆行人闯红灯检测系统 -YOLO
课题背景和意义
深度学习技术凭借其卓越的特征提取能力,在目标检测、图像分类等领域取得了良好的表现,在很多情况下甚至超越了人类的判别能力,掀起了一波深度学习技术的浪潮。深度学习技术在目标检测领域的发展进一步推动了智能交通技术的发展,这些技术的应用给人们的生活带来很多的便利。目前应用最为广泛的闯红灯抓拍系统的主要原理是,电子眼采用感应线来感应路面上的汽车传来的压力,通过传感器将信号采集到中央处理器,送寄存器暂存(该数据在一个红灯周期内有效)。如果在同一个时间间隔内(红灯周期内),同时产生两个脉冲信号,即视为“有效抓拍”。 这种检测方式虽然简单有效,但在对交通管理更加严格的今天,其弊端也十分明显。受传统闯红灯抓拍系统工作原理的限制,交通路口的感应线主要是通过压力感应判断是否有机动车越线,在一个红灯周期内,当路口两边的感应线先后感应到车辆通过,且两边的电子眼抓拍到的为同一车辆时,即认为该车辆闯红灯。虽然该方案具有高效、精确的特点,但面对重量较轻的非机动车辆和行人时,很难有效发挥作用,所以基于深度学习研究车辆行人闯红灯检测系统是什么有必要的。
实现技术思路
基于 YOLO 的车辆行人闯红灯检测系统设计
设计一套采用微计算机 Jetson Nano
为核心的硬件的检测系统,通过将 YOLO
算法训练的模型部署到微计算机上,对 CSI
摄像头实时采集的图片进行处理,实现对车辆和行人目标的识别检测。
硬件设计
为了实现该系统的功能,充分结合交通路口的复杂环境, 文中选用了:微计算机 Jetson Nano
、电源供电模块和
CSI
摄像头。此外,在系统设计中还运用了一些辅助硬件,这些辅助硬件虽然没有直接构成系统,但也发挥了重要作用。
微计算机 Jetson Nano
微计算机是整个系统的核心和大脑,系统所有的软件算法都是在该硬件上运行。Jetson Nano
是英伟达公司出品的一款人工智能开发板,对比其他同价位微计算机,具有低成本,高 AI
算力的优点,在运行深度学习模型上有很大的优势,并且具有丰富的接口,包括以太网口、CSI
接口和
GPIO
接口,可以进行扩展和连接其他设备。
电源供电模块与 CSI 摄像头
在只具备
220V
交流电市井电压的交通路口,为了给额定输入为 5V4A
直流电的
Jetson Nano
供电,设计了一个体积小、成本低、稳定性高的电源供电模块。

辅助硬件设备
对于模型的训练,需要大量的数据集和大算力的
GPU
平台。因此,在系统设计的过程中,为了采集足够多的路口实景图像做数据集,采用了星瞳科技的OpenMV4
视觉传感器进行定时连拍,以获取大量路口图像。
1、数据集的制作
训练模型需要含有大量图像及其标注的数据集,包括训练集、验证集和测试集,因此,在系统设计的过程中采用了三种方法采集图像。一是通过算法筛选出现有的 MS COCO
数据集中具有较多行人、交通灯与车辆目标的图像作为数据集。二是通过 python 爬虫从网络上爬取相关图片。三是通过一些视觉传感器。
2、基于 YOLO 目标检测算法的软件设计
1)YOLOv5s
网络结构与损失函数
鉴于微计算机所配置的硬件、运算能力有限,难以为车辆行人检测提供较大算力的情况,而且从节约成本各方面考虑, 采用轻量级的 YOLOv5s
网络算法结构。
YOLOv5s
网络结构由四个部分组成:Input、Backbone、
Neck 和Head
,其中
Backbone
和
Neck
部分是重点部分。在
Backbone部分中,主要使用 Focus+CSP
结构。
YOLOv5
的损失函数由分类损失(classification loss)、定位损失(localization loss)和置信度损失(
confidence loss
)三部分构成,总的损失函数为三类损失之和。YOLOv5
采用了
BE-
CLogits
损失函数计算
objectness score
的损失,而 class prob-ability score采用了交叉熵损失函数(BCEclsloss),bounding box采用了 GIOU Loss 计算损失,GIOU 直接把 IoU 作为回归的损
失,可表示为:
2)闯红灯检测区域设计算法
在闯红灯检测中,只有在路口确定是红灯,且存在车辆或行人通过路口,才能视其为闯红灯
通过
OpenCV
库设计相应算法检测出交通灯为红灯,并规划出相应区域,配合 YOLO
网络模型对区域内进行目标检测,即可完成对闯红灯的车辆与行人目标的检测
。
实现效果图样例
在对模型的训练完成后,首先分别测试了其对行人与交通灯等小目标的检测能力和对车辆等大目标的检测效果,得出结果precision
为
81.1%,recall
为
88%,mAP@.5
为
65.5%

最后,将目标检测算法融合 OpenCV 规划闯红灯检测区域算法,在交通路口实时检测车辆行人闯红灯情况。
我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。
毕设帮助,疑难解答,欢迎打扰!