数据集名称 | 图像数量 | 应用方向 | 博客链接 |
---|---|---|---|
电网巡检检测数据集 | 1600 张 | 电力设备目标检测 | 点击查看 |
火焰 / 烟雾 / 人检测数据集 | 10000张 | 安防监控,多目标检测 | 点击查看 |
高质量车牌识别数据集 | 10,000 张 | 交通监控 / 车牌识别 | 点击查看 |
农田杂草航拍检测数据集 | 1,200 张 | 农业智能巡检 | 点击查看 |
航拍绵羊检测数据集 | 1,700 张 | 畜牧监控 / 航拍检测 | 点击查看 |
️ 热成像人体检测数据集 | 15,000 张 | 热成像下的行人检测 | 点击查看 |
安全背心检测数据集 | 3,897 张 | 工地安全 / PPE识别 | 点击查看 |
火箭检测数据集介绍 | 12,000 张 | 智慧医疗 / 养老护理 | 点击查看 |
⚡ 绝缘子故障检测数据集 | 2,100张 | 无人机巡检/智能运维 | 点击查看 |
交通标志检测数据集 | 1866张 | 智能驾驶系统/地图数据更新 | 点击查看 |
每篇文章附带模型指标、训练思路与推理部署建议,欢迎点赞收藏支持~
本项目是专注于道路交通标志检测的计算机视觉数据集,由 Roboflow 100 发布,共包含约 2,093 张图像,旨在训练深度学习模型实现城市或公路场景下多类交通标志的精准检测。
公交车站(bus_stop)
禁止进入(do_not_enter)
禁止停车(do_not_stop)
禁止左转(do_not_turn_l)
禁止右转(do_not_turn_r)
禁止掉头(do_not_u_turn)
进入左车道(enter_left_lane)
绿灯(green_light)
左右车道(left_right_lane)
禁止停车(no_parking)
停车位(parking)
人行横道(ped_crossing)
斑马线(ped_zebra_cross)
铁路道口(railway_crossing)
红灯(red_light)
停车标志(stop)
T 型交叉口(t_intersection_l)
红绿灯(traffic_light)
掉头(u_turn)
警告标志(warning)
黄灯(yellow_light)
数据集覆盖多种交通标志类别,能够显著提升模型在实际交通场景下的检测能力。
该数据集非常适用于以下场景与研究方向:
智能驾驶系统
自动检测道路交通标志,辅助驾驶决策与安全预警。
交通监控与执法
快速识别交通标志,分析违规行为、提升道路管理效率。
智能地图与导航
实时更新道路标志信息,提高导航软件的精准度。
交通安全研究
用于机器视觉研究,减少驾驶过程中因漏检交通标志而引发的事故。
智慧城市交通管理
支撑交通流量监测、智慧红绿灯系统以及交通规划优化。
场景涵盖白天、夜晚、逆光、不同天气、不同角度,数据多样性较好,有助于训练出具备鲁棒性的模型。
本教程介绍如何使用 YOLOv8 对目标进行识别与检测。涵盖环境配置、数据准备、训练模型、模型推理和部署等全过程。
建议使用 Python 3.8+,并确保支持 CUDA 的 GPU 环境。
# 创建并激活虚拟环境(可选)
python -m venv yolov8_env
source yolov8_env/bin/activate # Windows 用户使用 yolov8_env\Scripts\activate
pip install ultralytics
每张图像对应一个 .txt 文件,每行代表一个目标,格式如下:
所有值为相对比例(0~1)。
类别编号从 0 开始。
datasets/
├── images/
│ ├── train/
│ └── val/
├── labels/
│ ├── train/
│ └── val/
path: ./datasets
train: images/train
val: images/val
nc: 11
names: ['Bent_Insulator', 'Broken_Insulator_Cap', '', ...]
YOLOv8 提供多种模型:yolov8n, yolov8s, yolov8m, yolov8l, yolov8x。可根据设备性能选择。
yolo detect train \
model=yolov8s.pt \
data=./data.yaml \
imgsz=640 \
epochs=50 \
batch=16 \
project=weed_detection \
name=yolov8s_crop_weed
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
model |
字符串 | - | 指定基础模型架构文件或预训练权重文件路径(.pt /.yaml ) |
data |
字符串 | - | 数据集配置文件路径(YAML 格式),包含训练/验证路径和类别定义 |
imgsz |
整数 | 640 | 输入图像的尺寸(像素),推荐正方形尺寸(如 640x640) |
epochs |
整数 | 100 | 训练总轮次,50 表示整个数据集会被迭代 50 次 |
batch |
整数 | 16 | 每个批次的样本数量,值越大需要越多显存 |
project |
字符串 | - | 项目根目录名称,所有输出文件(权重/日志等)将保存在此目录下 |
name |
字符串 | - | 实验名称,用于在项目目录下创建子文件夹存放本次训练结果 |
model=yolov8s.pt
yolov8n.pt
(nano)/yolov8m.pt
(medium)/yolov8l.pt
(large)data=./data.yaml
# 典型 data.yaml 结构示例
path: ../datasets/weeds
train: images/train
val: images/val
names:
0: Bent_Insulator
1: Broken_Insulator_Cap
2: ...
3: ...
yolo detect val \
model=runs/detect/yolov8s_crop_weed/weights/best.pt \
data=./data.yaml
参数 | 类型 | 必需 | 说明 |
---|---|---|---|
model |
字符串 | 是 | 要验证的模型权重路径(通常为训练生成的 best.pt 或 last.pt ) |
data |
字符串 | 是 | 与训练时相同的 YAML 配置文件路径,需包含验证集路径和类别定义 |
model=runs/detect/yolov8s_crop_weed/weights/best.pt
best.pt
)last.pt
(最终epoch的权重)runs/detect/
└── [训练任务名称]/
└── weights/
├── best.pt # 验证指标最优的模型
└── last.pt # 最后一个epoch的模型
data=./data.yaml
val: images/val # 验证集图片路径
names:
0: crop
1: weed
参数 | 示例值 | 作用 |
---|---|---|
batch |
16 | 验证时的批次大小 |
imgsz |
640 | 输入图像尺寸(需与训练一致) |
conf |
0.25 | 置信度阈值(0-1) |
iou |
0.7 | NMS的IoU阈值 |
device |
0/cpu | 选择计算设备 |
save_json |
True | 保存结果为JSON文件 |
Class Images Instances P R mAP50 mAP50-95
all 100 752 0.891 0.867 0.904 0.672
crop 100 412 0.912 0.901 0.927 0.701
weed 100 340 0.870 0.833 0.881 0.643
yolo detect predict \
model=runs/detect/yolov8s_crop_weed/weights/best.pt \
source=./datasets/images/val \
save=True
from ultralytics import YOLO
import cv2
# 加载模型
model = YOLO('runs/detect/yolov8s_crop_weed/weights/best.pt')
# 推理图像
results = model('test.jpg')
# 可视化并保存结果
results[0].show()
results[0].save(filename='result.jpg')
✅ 本地运行:通过 Python 脚本直接推理。
Web API:可用 Flask/FastAPI 搭建检测接口。
边缘部署:YOLOv8 支持导出为 ONNX,便于在 Jetson、RKNN 等平台上部署。
导出示例:
yolo export model=best.pt format=onnx
总结流程
阶段 | 内容 |
---|---|
✅ 环境配置 | 安装 ultralytics, PyTorch 等依赖 |
✅ 数据准备 | 标注图片、组织数据集结构、配置 YAML |
✅ 模型训练 | 使用命令行开始训练 YOLOv8 模型 |
✅ 验证评估 | 检查模型准确率、mAP 等性能指标 |
✅ 推理测试 | 运行模型检测实际图像目标 |
✅ 高级部署 | 导出模型,部署到 Web 或边缘设备 |