yolov5障碍物识别-雪糕筒识别(代码+教程)

简介

这是一个检测交通锥并识别颜色的项目。我使用 yolov5 来训练和检测视锥细胞。此外,我使用 k 均值来确定主色,以对锥体颜色进行分类。目前,支持的颜色为红色、黄色、绿色和蓝色。其他颜色被归类为未知。

在这里插入图片描述

数据集和注释

我使用了一个自收集的锥体数据集,其中包含 303 张锥体图像。这不是一个完美的做法,因为它是一个很小的数据集。我还需要自己注释图像。在这里,我使用了一个在线注释网站 Roboflow,它提供注释、预处理和增强等服务。但是,它对免费用户有 1,000 个源图像和 5,000 个生成图像的限制。

model
├── 锥体检测:Yolov5S
└── 颜色识别:主色(k-means)
用法
如果您有兴趣,可以尝试 colab 中的代码。

在这里插入图片描述

训练

# display images
from PIL import Image
import glob

for imageName in glob.glob('/content/yolov5/images/*.jpg'):
    basewidth = 640
    img = Image.open(imageName)
    wpercent = (basewidth/float(img.size[0]))
    hsize = int((float(img.size[1])*float(wpercent)))
    img = img.resize((basewidth,hsize), Image.NEAREST)
    img = img.convert("RGB")
    img.save(imageName)
  • 如果您有带注释的数据集,则可以直接使用 train.ipynb 在 Colab 中打开项目。

  • 使用 Colab 进行训练和预测: Colab 是一个基于云的 Jupyter 笔记本服务,能够在云端运行代码。通过提供的 Colab
    链接,你可以直接在浏览器中打开并运行代码,这对于快速尝试和理解项目非常方便。
    在这里插入图片描述

  • 项目中的注意事项: 数据集大小: 作者使用了一个包含 303
    张图像的自定义数据集,但指出这并不是一个理想的实践,因为数据集规模较小。在实际应用中,使用更大规模的数据集通常会有助于提高模型的性能。

  • 在线标注服务: 使用 Roboflow
    进行图像标注,该服务提供了标注、预处理和增强等功能。然而,对于免费用户,有一些使用限制,包括最大处理图像数量和生成图像数量。

%%writetemplate /content/yolov5/models/custom_yolov5s.yaml

# parameters
nc: {num_classes}  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.50  # layer channel multiple

# anchors
anchors:
  - [10,13, 16,30, 33,23]  # P3/8
  - [30,61, 62,45, 59,119]  # P4/16
  - [116,90, 156,198, 373,326]  # P5/32

# YOLOv5 backbone
backbone:
  # [from, number, module, args]
  [[-1, 1, Focus, [64, 3]],  # 0-P1/2
   [-1, 1, Conv, [128, 3, 2]],  # 1-P2/4
   [-1, 3, C3, [128]],
   [-1, 1, Conv, [256, 3, 2]],  # 3-P3/8
   [-1, 9, C3, [256]],
   [-1, 1, Conv, [512, 3, 2]],  # 5-P4/16
   [-1, 9, C3, [512]],
   [-1, 1, Conv, [1024, 3, 2]],  # 7-P5/32
   [-1, 1, SPP, [1024, [5, 9, 13]]],
   [-1, 3, C3, [1024, False]],  # 9
  ]

# YOLOv5 head
head:
  [[-1, 1, Conv, [512, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 6], 1, Concat, [1]],  # cat backbone P4
   [-1, 3, C3, [512, False]],  # 13

   [-1, 1, Conv, [256, 1, 1]],
   [-1, 1, nn.Upsample, [None, 2, 'nearest']],
   [[-1, 4], 1, Concat, [1]],  # cat backbone P3
   [-1, 3, C3, [256, False]],  # 17 (P3/8-small)

   [-1, 1, Conv, [256, 3, 2]],
   [[-1, 14], 1, Concat, [1]],  # cat head P4
   [-1, 3, C3, [512, False]],  # 20 (P4/16-medium)

   [-1, 1, Conv, [512, 3, 2]],
   [[-1, 10], 1, Concat, [1]],  # cat head P5
   [-1, 3, C3, [1024, False]],  # 23 (P5/32-large)

   [[17, 20, 23], 1, Detect, [nc, anchors]],  # Detect(P3, P4, P5)
  ]
  • 颜色分类: 采用 k-means 算法确定主导颜色,并将交通锥分为红、黄、绿和蓝等颜色。其他颜色被分类为未知。
    在这里插入图片描述

  • 推荐的下一步: 如果你对该项目感兴趣,可以进一步探索以下方面:

  • 数据增强: 在数据集上应用更多的数据增强技术,以提高模型的泛化能力。

  • 模型调优: 尝试使用更大的 YOLOv5 模型(例如 yolov5m、yolov5l 或
    yolov5x)进行训练,看看是否能够改善检测性能。

  • 更大的数据集: 如果可能的话,考虑收集更大规模的数据集,以进一步提高模型的准确性。
    在这里插入图片描述

视频预测

预测:
使用 predict.ipynb 进行锥体检测。 在 pycharm 中打开

# use the best weights!
%cd /content/yolov5/
!python detect.py --weights weights/best.pt --conf 0.6 --source videos/cone_video.mp4

注意:需要使用作者在 model 文件夹中训练的权重,并且有一些自定义的 YOLOv5 文件在 utils 文件夹中。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/257617.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloudAliBaba篇之Seata:分布式事务组件理论与实践

1、事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成,事务具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID原则。 原子性(atomici…

开源学习项目推荐

文章目录 koodo-reader凤凰架构学习项目NPS 内网穿透客户端 koodo-reader 项目地址:https://github.com/koodo-reader/koodo-reader 介绍:一个开源的阅读器,阅读pdf也有目录,作为epub阅读器和pdf阅读器看资料挺好 凤凰架构 项…

前端视角看 Docker :在国内的基础配置教程(含国内镜像源)

引言 在国内使用Docker时,直接从Docker Hub拉取镜像可能会遇到网络速度慢的问题。配置国内的镜像加速器可以显著提升拉取速度。本教程将指导您完成安装Docker后的基础配置,特别是设置国内镜像加速器。 1. 安装Docker 确保您已在系统上安装Docker。根…

基于Tkinter制作简易的CAN bootloader上位机

文章目录 1.前言2.测试设备3.上位机3.1 参考资料3.2 上位机主要功能3.3 上位机发送流程 升级测试例程分享 1.前言 之前基于S32K144EVB和Tkinter编写了一个简易的串口bootloader上位机,链接如下: 基于Tkinter制作简易的串口bootloader上位机 (qq.com) …

归一化和标准化(Z-Score)

在处理数据过程中,通常会有不同规格的数据,比如年龄的取值范围是0-130,收入的取值范围是0-100000等等,如果不进行归一化或标准化处理,梯度下降每次走过的相对长度就不一样,就导致某个参数很快就找到了最优解…

如何预防[[MyFile@waifu.club]].wis [[backup@waifu.club]].wis勒索病毒感染您的计算机?

导言: 近期,一种新兴的威胁[[MyFilewaifu.club]].wis [[backupwaifu.club]].wis勒索病毒,引起了广泛关注。这种恶意软件通过其高度复杂的加密算法,威胁着用户和组织的数据安全。本文将深入介绍[[MyFilewaifu.club]].wis [[backup…

Linux软件管理rpm和yum

rpm方式管理 rpm软件包名称: 软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律 #有依赖关系,不能自动解决依赖关系。 举例:openssh-6.6.1p1-31.el7.x86_64.rpm 数字前面的是名称 数字是版本号:第一位主版本号,第二位次版本…

【ArkTS】路由传参

传参 使用router.pushUrl(),router.push()官方不推荐再使用了。 格式: router.pushUrl({url: 路由地址,params:{参数名:值} )跳转时需要注意路由表中是否包含路由地址。 路由表路径: entry > src > main > resources &g…

使用vite搭建项目时,在启动vite后,浏览器显示页面:找不到localhost的网页

现象 在使用前端工具vite(版本5),搭建vue3项目时,启动vite,浏览器显示页面:找不到localhost的网页, 起初怀疑是 未加参数 --host0.0.0.0,导致,后加上该参数后问题依旧 解决 将index.html页面…

Python框架篇(6):FastApi-配置管理

提示: 微信搜索【猿码记】回复 【fastapi】即可获取源码信息~ 在这一篇文章中,对fastapi框架和pydantic进行了升级,然后就是各种不兼容,以后再也不敢轻易升级.... pydantic:从 1.10.11升级到 2.5.2,这里有坑,里面有很多…

GitBook安装及使用——使用 Markdown 创建你自己的博客网站和电子书

目录 前言一、依赖环境二.gitbook安装使用1.安装 gitbook-cli2.安装 gitbook3.Gitbook初始化4.创建你的文章5.修改 SUMMARY.md 和 README.md6.编译生成静态网页7.运行以便在浏览器预览8.运行效果 前言 GitBook是一个命令行工具,用于使用 Markdown 构建漂亮的博客网…

Temu、Shein、OZON测评自养号,IP和指纹浏览器的优缺点分析

随着全球电子商务的飞速发展,跨境电商环境展现出巨大的潜力和机遇。然而,跨境卖家们也面临着更激烈的竞争、更严格的规定和更高的运营成本等挑战。为了在这个环境中脱颖而出,一些卖家尝试使用自动脚本程序进行浏览和下单。然而,这…

双非大数据

双非本秋招上岸总结 个人简介 学历:双非; 专业:软件工程; 求职岗位:大数据开发工程师; 状态:已上岸 翻车经历 学校以Java后端开发为主流,我从大二开始学习Java,直到大四…

Navicat关闭自动检查更新版本教程

Navicat关闭自动检查更新版本教程 首先,点击菜单中的工具菜单,弹出了下拉菜单选中为选项点击选项 首先,点击菜单中的工具菜单,弹出了下拉菜单选中为选项 点击选项 去掉勾选上在启动时自动检查更新选项

【lesson19】MySQL内置函数(2)数学函数和其它函数

文章目录 数学函数函数使用 其它函数函数使用 数学函数 函数使用 其它函数 函数使用 user() 查询当前用户 database()显示当前正在使用的数据库 password()函数,MySQL数据库使用该函数对用户加密 md5(str)对一个字符串进行md5摘要,摘要后得到一个32…

定制 Electron 窗口标题栏

Electron 是一款流行的桌面应用开发框架,基于 Web 技术构建,提供了强大的跨平台能力。在开发过程中,经常需要定制窗口标题栏以创造独特的用户体验。 1. 完全隐藏默认标题栏 有时候,我们希望创建一个自定义的标题栏,完…

前端做表格导出

下面来介绍一下方法 在vue页面里写调用方法 //表头数据格式 column: [{ key: Photo, width: 70, height: 50, colWidth: 100, title: 图片, type: image },{ key: Name, colWidth: , title: 名称, type: text },{ key: Phone, colWidth: , title: 手机号, type: text },{key:…

时尚炫酷动态图文幻灯片视频素材AE模板

这个After Effects模板以时尚和动态幻灯片为特色。可以编辑和自定义文本占位符、媒体占位符和颜色。用来展示照片或视频剪辑。不需要任何插件。 来自AE模板网:https://aemuban.com/28093.html

Shell脚本与计划任务

1.确定备份方案 为了顺利完成上述备份方案,首先授权用户能够查询studydb、coursedb库。 针对本案例的情况,可以创建一个专用的数据库备份账户operator,允许从备份主机 172.16.16.220连接到MySOL数据库.并授予对studydb.coursedb库的读取权限…

晶体管的工作状态判断和工作条件

晶体管是模拟电路中基础的器件,对于电子工程师来说,了解晶体管工作的条件和判断晶体管的工作状态都是非常基础的,本文将带大家一起学习或回顾一下。 一、晶体管工作的条件 1.集电极电阻Rc: 在共发射极电压放大器中,…
最新文章