news 2026/11/6 4:59:39

安全帽目标检测数据集 两万多张图片 带YOLO标注

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
安全帽目标检测数据集 两万多张图片 带YOLO标注

数据集获取主页 个人简介

最近在搞安全帽检测项目,最头疼的从来不是调参,而是搞数据。网上那些开源数据集,要么标注稀碎,要么场景单一,真扔进模型里,效果那叫一个感人。

被坑了几次后,心一横,自己动手攒了一份。过程就不提了,说多了都是泪(懂的都懂)。现在搞完了,感觉不拿出来给同行们避避坑,都对不起掉的这些头发。

这份数据集的核心就俩字:省心。你拿到手,5分钟就能把训练跑起来。

1. 数据结构

完全按YOLO官方推荐的结构来,一层都不带错的:

你的项目目录/ ├── datasets/ │ └── helmet_data/ # 这是数据集根目录 │ ├── train/ │ │ ├── images/ # 24040张图 │ │ └── labels/ # 24040个txt,一个不少 │ ├── val/ │ │ ├── images/ # 1978张 │ │ └── labels/ # 1978个 │ └── test/ │ ├── images/ # 979张 │ └── labels/ # 979个

2. 数据质量

  • 尺寸统一:全部预处理成了640x640,不用你再操心resize对齐的问题。
  • 标注扎实:只标两类,0: head(人头),1: helmet(安全帽)。重点看下面的统计

头盔的样本量是人头的3倍多,这很符合实际场景(一个画面里好多人戴了帽子)。我们特意做了数据增强,缓解这个不平衡问题。

3. 怎么用

在数据集根目录(就是helmet/那一层),给你备好了这个data.yaml文件:

names: path: /你的路径/datasets/Helmet # 就改这里! train: train/images val: val/images test: test/images nc: 2 # 类别数 names: ['头', '安全帽'] # 类别名,别写反了

YOLOv8(推荐,代码最简洁)下载【yolov8s.pt】

from ultralytics import YOLO # 1. 加载模型 model = YOLO('yolov8n.pt') # 也可以用 yolov8s.pt, yolov8m.pt,从官网下载 # 2. 训练(直接指定yaml路径) results = model.train( data='path/to/helmet/data.yaml', epochs=100, imgsz=640, batch=16, device='0' # 用GPU,如果是CPU就改成'cpu' ) # 3. 验证(训练完自动验证,也可以单独跑) val_results = model.val() # 自动加载最佳权重验证 print(f"mAP50-95: {val_results.box.map:.4f}") print(f"mAP50: {val_results.box.map50:.4f}")

4. 能跑出什么效果?

我们拿YOLOv8m试了个水,默认参数跑了200轮,在测试集上mAP@0.5能跑到0.97以上。这还只是基线模型,你拿去用更好的模型或者调调参,冲到更高问题不大。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/6 4:52:58

Folia 全屏歌词播放器快速教程:3 种来源、5 步让第一首歌铺满全屏

Folia 全屏歌词播放器快速教程:3 种来源、5 步让第一首歌铺满全屏 【免费下载链接】folia-major 专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器 A multi-platform music player for local files, Navidrome, and online streaming serv…

作者头像 李华
网站建设 2026/11/6 4:50:15

Java 比较器 和 包装类

Java比较器 背景&#xff1a; 在Java中经常会涉及到多个对象的排序问题&#xff0c;那么就涉及到对象之间的比较 Java中的对象, 正常情况下, 只能进行比较 比较对象地址值&#xff0c;是否相同 ! 比较对象地址值&#xff0c;是否相同&#xff0c;取反~ 不能使用 > 或 <…

作者头像 李华
网站建设 2026/11/6 4:46:04

3毛钱的32位MCU:MS32C001B如何击穿8位价格底线

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/6 4:45:58

STM32CubeMX安装配置全攻略:从下载到生成工程避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/6 4:45:50

硬件架构系统学习:穿透四层抽象的实战路径

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/6 4:45:45

ESP32 Flash分区表详解:多应用数据隔离与OTA布局实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华