首页 > 其他分享 >yolov5障碍物识别-雪糕筒识别(代码+教程)

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

时间:2024-09-16 19:52:31浏览次数:3  
标签:P4 yolov5 512 img Conv 雪糕 图像 C3 识别

简介

这是一个检测交通锥并识别颜色的项目。我使用 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 文件夹中。
在这里插入图片描述

标签:P4,yolov5,512,img,Conv,雪糕,图像,C3,识别
From: https://blog.csdn.net/cv_2025/article/details/142306241

相关文章

  • 基于深度学习的干扰识别
    本文是记录我上半年仿真和复现干扰识别的过程,展示的主要是一些需要注意的点以及仿真的相关结果。干扰信号的产生见之前的博客。干扰信号的预处理干扰信号的预处理主要包括功率归一化、短时傅里叶变换(STFT)和RGB图灰度图化。处理过程如下图所示。为什么需要进行功率归一化......
  • 视频智能识别安全帽佩戴
    视频智能识别安全帽佩戴系统能够从繁杂的工地、煤矿、车间等场景下同时对多个目标是否戴安全帽穿反光衣进行实时识别,当视频智能识别安全帽佩戴系统发现作业人员没有戴安全帽、穿反光衣或者戴安全带,系统会及时报警提醒,并抓拍存档。视频智能识别安全帽佩戴系统识别安全帽颜色如红色......
  • 摄像机识别未戴安全帽
    摄像机识别未戴安全帽系统利用边缘计算+机器学习与深度学习技术,摄像机识别未戴安全帽系统借助现场部署的监控摄像机RTSP协议访问摄像机视频流,实时获取,实时分析,实时报警,并且抓拍人像分析人员信息、识别是不是戴安全帽、同歩声音报警,将报警信息快照和报警视频存入数据库及时推送给相......
  • 佩戴安全帽 人员聚集识别
    佩戴安全帽人员聚集识别借助现场已经安装的监控摄像机实时监控现场画面,识别职工是不是戴安全帽,是不是人员聚集状态,进而发送警示和提醒。佩戴安全帽人员聚集识别系统选用最新神经网络算法和边缘计算,可以代替人的双眼,全自动识别各种各样违规操作如:反光衣穿戴识别、安全帽佩戴识别、......
  • 反光衣穿戴识别系统介绍
    反光衣穿戴识别系统依据深度学习+边缘计算视觉分析技术,利用已有的摄像头对现场作业人员穿戴实时分析和识别视频图像数据。不用人工干预,反光衣穿戴识别系统全天候24h不间断对作业现场实时监控,当检测出工人不穿反光衣时,及时抓拍提醒并把违规信息发送给系统后台,反光衣穿戴识别系统提......
  • 工人是否佩戴安全帽图像识别
    工人是否佩戴安全帽图像识别系统能从繁杂的场景下对对未戴安全帽多个目标同时开展识别分析,识别、记录和预警提醒。工人是否佩戴安全帽图像识别系统若发现违规操作,直接向有关人员推送报警消息记录,协助有关管理者进行安全生产工作,大大提升了安全监督的时效性,减少了人力成本。工人......
  • 安全帽佩戴识别系统介绍
    安全帽佩戴识别系统介绍工作原理是对作业人员是否佩戴安全帽开展视频录像、识别分析、追踪和预警提醒,安全帽佩戴识别系统借助现场已有的监控摄像头,通过现场视频监控实时分析和预警,判定是否有违章不佩戴安全帽行为。安全帽佩戴识别系统一旦发现工作人员不戴安全帽或违规抽烟或者不......
  • 摄像头识别安全帽
    摄像头识别安全帽佩戴系统依据现场已经部署的监控摄像头,实时识别现场监控画面,分析工作人员是不是戴安全帽,摄像头识别安全帽佩戴系统对进到施工作业区域的员工进行全自动识别,当系统检验人员未戴安全帽时,可以立即警报,报警系统同步消息提醒到后台管理人员。摄像头识别安全帽佩戴系......
  • 安全帽图像识别算法
    安全帽图像识别算法依据AI深度学习+边缘计算,通过机器视觉ai分析检测算法可以有效识别工人是不是合规和佩戴安全帽,安全帽图像识别算法提高视频监控不同场景下的主动分析与识别报警能力。安全帽图像识别算法系统搭载了全新的人工智能图像识别技术实时分析现场监控画面图像,与人力监管......
  • 海康安全帽识别系统
    海康安全帽识别系统实现对生产作业人员是否佩戴安全帽智能分析,当海康安全帽识别系统发现未佩戴安全帽行为时及时预警提醒,推动切实保障作业区域的各方面安全。海康安全帽识别系统替代了传统人力安全检查,降低了单位安全管理和人力成本,同时提升的检测效率与准确性,减少人工监管疏漏事......