基于Yolov5的交通标志检测识别设计

项目介绍

上一篇文章介绍了基于卷积神经网络的交通标志分类识别Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow),并且最后实现了一个pyqt5的GUI界面,并且还制作了一个简单的Falsk前端网页实现了前后端的一个简单交互,只能实现单张交通标志图像的分类,没有位置检测功能,并且不支持视频的实时检测识别,总体上来讲较为简单。本文介绍一个交通标志识别的进阶项目–基于Yolov5的交通标志检测识别,它不仅能实现图片的多目标检测识别还可以实现视频的实时检测识别。大家可以看一下视频展示效果如下链接

视频演示:交通标志检测视频演示

视频演示包括下面内容:
1.交通标志检测
2.头盔检测
3.口罩检测
4.水果检测
5.手势检测
6.火灾检测
7.跌倒检测
8.电梯电瓶车
9.结核杆菌检测
10.害虫检测
11.无人机检测
基于Yolov5的交通标志检测识别设计_第1张图片

获取代码

基于Yolov5的交通标志检测识别设计_第2张图片

创建虚拟环境

基于Yolov5的交通标志检测识别设计_第3张图片

conda create -n yolov5 python=3.8.5

基于Yolov5的交通标志检测识别设计_第4张图片

安装pytorch(如果不会弄GPU的直接安装CPU版本)

安装CPU版本torch

conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cpuonly

安装GPU版本torch(以我个人为例:我的显卡是3060Ti,CUDA版本是11.7)

pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113

安装其他依赖库

pip install -r requirements.txt
pip install pyqt5==5.15.6
pip install pycocotools-windows==2.0.0.2

测试代码是否能跑

 python detect.py --source data/images/traffic_sign.jpg --weights runs/train/exp7/weights/best.pt

项目文件夹data/images/bus.jpg图片在识别前的样子

基于Yolov5的交通标志检测识别设计_第5张图片

成功运行命令如上图显示信息所示:识别结果存在项目文件夹runs\detect\exp7文件中:

训练(可忽略)

接下来用pycharm打开项目,然后在Terminal中操作,输入以下命令

python train.py --data traffic_sign_data.yaml --cfg mask_yolov5s.yaml --weights pretrained/yolov5s.pt --epoch 100 --batch-size 4 

训练比较耗时,我给的项目压缩包中是已经训练好的了。所以训练的步骤可以跳过。

基于Yolov5的交通标志检测识别设计_第6张图片
训练完成后模型评估结果:在模型训练完成后会在runs/train目录下生成一个exp文件里面包含了训练结果,以及一些评估指标。
基于Yolov5的交通标志检测识别设计_第7张图片

基于Yolov5的交通标志检测识别设计_第8张图片
基于Yolov5的交通标志检测识别设计_第9张图片

基于Yolov5的交通标志检测识别设计_第10张图片

根据输出的识别结果可以知道,模型的准确率是非常的高!!!

运行GUI界面

在经过训练之后,打开"display_interface.py"这个代码,直接点击运行,结果如下所示:

基于Yolov5的交通标志检测识别设计_第11张图片

基于Yolov5的交通标志检测识别设计_第12张图片

你可能感兴趣的:(项目实战,YOLO,python,深度学习)