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

2023-11-02

项目介绍

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

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

视频演示包括下面内容:
1.交通标志检测
2.头盔检测
3.口罩检测
4.水果检测
5.手势检测
6.火灾检测
7.跌倒检测
8.电梯电瓶车
9.结核杆菌检测
10.害虫检测
11.无人机检测
12.火灾和烟雾检测
13.草莓病害检测
在这里插入图片描述

获取代码

在这里插入图片描述

创建虚拟环境

在这里插入图片描述

conda create -n yolov5 python=3.8.5

在这里插入图片描述

安装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 -i https://pypi.tuna.tsinghua.edu.cn/simple

安装其他依赖库

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyqt5==5.15.6 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pycocotools-windows==2.0.0.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

测试代码是否能跑

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

项目文件夹data/images/bus.jpg图片在识别前的样子
在这里插入图片描述

在这里插入图片描述

成功运行命令如上图显示信息所示:识别结果存在项目文件夹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 

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

在这里插入图片描述
训练完成后模型评估结果:在模型训练完成后会在runs/train目录下生成一个exp文件里面包含了训练结果,以及一些评估指标。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

运行GUI界面

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

在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于Yolov5的交通标志检测识别设计 的相关文章

随机推荐

  • 浮点数转日期

    在实际工作中发现 在导入excel时 读取cell时 经常有人将日期变成了一个double类型 该double类型的整数部分表示1900年以来的天数 小数表示当天的描述 因此 在Python中 就可以用timedelta进行加减 计算出该d
  • scrapy的注意点的问题

    1 以豆瓣网为例分享一下scrapy使用中需要注意的地方 2 注意点 response xpath方法的返回结果是一个类似list的类型 其中包含的是selector对象 操作和列表一样 但是有一些额外的方法 extract 返回一个包含有
  • 项目中添加水印

    1 在libs文件夹下新建watermark js文件 watermark js文件下代码 let watermark let setWatermark str gt let id 1 23452384164 123412415 if do
  • Spring Boot 大型线上商城项目实战教程

    小册介绍 小册将从开发基础阶段讲解 之后介绍技术选型 系统设计 实际开发等过程 给你最真实的项目体验 让你少走弯路快速成长 小册将围绕 Spring Boot 技术栈 使用的其它技术框架也会兼顾最新技术动向 对知识进行拓展 由浅入深 步步为
  • spring源码解析之AOP原理

    一 准备工作 在这里我先简单记录下如何实现一个aop AOP 动态代理 指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式 1 导入aop模块 Spring AOP spring aspects 2 定义一个业务逻辑类
  • 机器人视觉抓取论文及代码资源

    Vision based Robotic Grasping Papers and Codes According to the kinds of grasp the methods of vision based robotic grasp
  • 【Python】初识类与对象

    面向对象的编程思想 OOP 面向对象的编程思想与之前面向过程的编程思想不同 面向对象的编程思想着重强调要细分职责和工作 例如有加减乘除四个运算方法 我们需要处理的数据有实数和虚数 我们需要将这两种数据独立进行运算 那么此时我们就将这些四则运
  • 微信小程序服务器响应404,解决小程序wx.request无法触发fail回调。

    今天在写一个需求如下 1 用户发送token到服务器认证 2 服务器返回banner图片数据 3 如果失败 就显示默认占位图 按照我用jq写ajax的理解 那就是error 时 显示占位图 在wx小程序里是fail 方法 我在服务器上关闭了
  • 七、vue项目使用高德地图自定义marker图标

    效果如图 主要代码 data return marker markers position 118 791545 31 9624 id 1 icon require assets xc ren png position 118 798832
  • 公司规定所有接口都用POST请求

    前言 经研发部商议 后续接口都统一使用post请求了 不过这个主要也和我们的具体业务有关 所有接口的参数都做了加 解密 加 验签处理 包括查询 下面是公司架构分享的一篇文章 觉得挺有意思 转载一下 转载内容 小二刚去一家公司实习俩月 就收到
  • Anaconda创建环境、删除环境、激活环境、退出环境

    学习前端的可以掘金 新博客地址 安装scipy conda install scipy conda会从从远程搜索scipy的相关信息和依赖项目 对于python 3 4 conda会同时安装numpy和mkl 运算加速的库 查看已经安装的p
  • Visual Studio 硬盘版制作教程 转

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 以下是官方博客例子浅析 先加入相关的
  • 电子英汉词典附带背单词功能C语言程序设计,附录完整代码

    电子英汉词典附带背单词功能C语言程序设计 附录完整代码 系统需求分析 本程模拟面对英语单词有背诵和查询需求的用户 用户在实际学习过程中可能会遇到学习单词时实体单词书体积大不方便的情况 这时就可以使用便携PC设备来运行此程序方便学习 在本程序
  • ERNIE3.0多分类任务应用详细教程代码

    小样本学习简介 二分类 多分类任务在商品分类 网页分类 新闻分类 医疗文本分类等现实场景中有着广泛应用 现有的主流解决方案是在大规模预训练语言模型进行微调 因为下游任务和预训练任务训练目标不同 想要取得较好的分类效果往往需要大量标注数据 因
  • java监听窗口关闭事件_JavaFX 监听窗口关闭事件实例详解

    1 写在前面 在JavaFX的程序开发的时候 在使用多线程的时候 默认情况下在程序退出的时候 新开的线程依然在后台运行 在这种情况下 可以监听窗口关闭事件 在里面关闭子线程 2 具体实现的样例 package sample import j
  • 教程:将数据从Excel导出到C#中的数据表

    MS Excel电子表格被广泛用于保留小型 中型或大型数据 在各种情况下 电子表格都充当存储应用程序数据的数据库 在这种情况下 可能需要从Web或桌面应用程序中读取存储在Excel文件中的数据 对于这种情况 本文介绍如何将数据从Excel工
  • Ext4文件系统介绍 - 理论篇

    Overview ext4文件系统分割成多个block groups 为了解决碎片化问题 block allocator尽量将一个文件的block放在一个group中 block groups的size通过sb s blocks per g
  • Vue父子组件通信之子组件主动获取父组件的数据和方法(三)

    子组件主动获取父组件的数据和方法 实现方式 this parent 属性 this parent 方法 代码示例 父组件
  • 简单教会你如何使用视频ID获取视频详情

    前往注册开通测试 onebound douyin item get video 公共参数 名称 类型 必须 描述 key String 是 调用key 必须以GET方式拼接在URL中 secret String 是 调用密钥 api nam
  • 基于Yolov5的交通标志检测识别设计

    项目介绍 上一篇文章介绍了基于卷积神经网络的交通标志分类识别Python交通标志识别基于卷积神经网络的保姆级教程 Tensorflow 并且最后实现了一个pyqt5的GUI界面 并且还制作了一个简单的Falsk前端网页实现了前后端的一个简单