YOLO交通目标识别数据集(红绿灯-汽车-自行车-卡车等)

YOLO交通目标识别 数据集 模型 ui界面

✓图片数量15000,xml和txt标签都有;

✓class:biker,car,pedestrian,trafficLight,trafficLight-Green,trafficLight-GreenLeft, trafficLight-Red,trafficLight-RedLeft,trafficLight-Yellow,trafficLight-YellowLeft,truck(也可按需求除去其中一些类别);

数据集名称

YOLO交通目标识别数据集(YOLO Traffic Object Recognition Dataset)

数据集概述

该数据集专为交通目标识别设计,包含15,000张图像及其对应的VOC XML和YOLO TXT格式标签文件,标签类别包括九种常见的交通目标:骑自行车者(biker)、汽车(car)、行人(pedestrian)、交通灯(trafficLight)及其细分状态(Green、GreenLeft、Red、RedLeft、Yellow、YellowLeft)、卡车(truck)。该数据集适用于使用深度学习和机器学习方法进行交通目标检测的任务,特别是适用于基于YOLO系列(如YOLOv5、YOLOv6、YOLOv7、YOLOv8等)的模型训练。

数据集特点

  • 高清图像:所有图像均为高清画质,确保交通目标的细节清晰可见。
  • 详细标注:每张图像都有对应的VOC XML和YOLO TXT格式标签文件,标注了交通目标的位置信息。
  • 标准化格式:标签文件采用VOC XML和YOLO TXT格式,方便直接用于模型训练。
  • 多类别标注:涵盖多种交通目标类别,有助于提高模型的泛化能力和应用场景的广泛性。
数据集构成

  • 图像数量:15,000张高清图像
  • 类别
    • biker(骑自行车者)
    • car(汽车)
    • pedestrian(行人)
    • trafficLight(交通灯)
    • trafficLight-Green(绿灯)
    • trafficLight-GreenLeft(左转绿灯)
    • trafficLight-Red(红灯)
    • trafficLight-RedLeft(左转红灯)
    • trafficLight-Yellow(黄灯)
    • trafficLight-YellowLeft(左转黄灯)
    • truck(卡车)

  • 标签格式:VOC XML格式和YOLO TXT格式
  • 数据划分
    • 训练集:主要部分用于模型训练
    • 验证集:用于调整模型超参数和防止过拟合
    • 测试集:用于最终评估模型性能
数据集用途
  • 交通目标检测:可用于训练模型识别交通场景中的各类目标,提高检测精度。
  • 智能交通系统:帮助构建更加智能的交通管理系统,提高道路安全性和交通效率。
  • 自动驾驶:为自动驾驶汽车提供关键的感知能力,使其能够在复杂的环境中安全行驶。
  • 研究与开发:作为基准数据集,支持学术研究和技术开发,推动目标检测技术在交通领域的应用。
  • 教育与培训:作为教学资源,帮助学生和从业人员理解并掌握交通目标检测的相关技术和方法。
示例代码

以下是一个简单的Python脚本示例,用于加载数据集中的图像及其对应的标签,并绘制出标注的边界框:

1import os
2import cv2
3import numpy as np
4import matplotlib.pyplot as plt
5from xml.etree import ElementTree as ET
6
7# 数据集目录路径
8data_dir = 'path/to/YOLO_traffic_object_recognition_dataset'
9train_image_dir = os.path.join(data_dir, 'images/train')
10train_xml_label_dir = os.path.join(data_dir, 'labels/xml/train')
11train_txt_label_dir = os.path.join(data_dir, 'labels/txt/train')
12
13# 选取一张图像及其标签文件
14image_files = os.listdir(train_image_dir)
15image_file = image_files[0]  # 假设取第一张图
16image_path = os.path.join(train_image_dir, image_file)
17
18xml_label_file = os.path.splitext(image_file)[0] + '.xml'
19xml_label_path = os.path.join(train_xml_label_dir, xml_label_file)
20
21txt_label_file = os.path.splitext(image_file)[0] + '.txt'
22txt_label_path = os.path.join(train_txt_label_dir, txt_label_file)
23
24# 加载图像
25image = cv2.imread(image_path)
26
27# 从VOC XML文件加载标签
28def parse_xml(xml_file):
29    tree = ET.parse(xml_file)
30    root = tree.getroot()
31    objects = []
32    for obj in root.findall('object'):
33        name = obj.find('name').text
34        bbox = obj.find('bndbox')
35        xmin = int(bbox.find('xmin').text)
36        ymin = int(bbox.find('ymin').text)
37        xmax = int(bbox.find('xmax').text)
38        ymax = int(bbox.find('ymax').text)
39        objects.append((name, (xmin, ymin, xmax, ymax)))
40    return objects
41
42# 从YOLO TXT文件加载标签
43def parse_yolo(txt_file, width, height):
44    with open(txt_file, 'r') as f:
45        lines = f.readlines()
46    objects = []
47    for line in lines:
48        class_id, x_center, y_center, box_width, box_height = map(float, line.strip().split())
49        x_min = int((x_center - box_width / 2) * width)
50        y_min = int((y_center - box_height / 2) * height)
51        x_max = int((x_center + box_width / 2) * width)
52        y_max = int((y_center + box_height / 2) * height)
53        objects.append((int(class_id), (x_min, y_min, x_max, y_max)))
54    return objects
55
56# 解析VOC XML标签
57xml_objects = parse_xml(xml_label_path)
58
59# 解析YOLO TXT标签
60txt_objects = parse_yolo(txt_label_path, image.shape[1], image.shape[0])
61
62# 绘制图像和边界框
63plt.figure(figsize=(10, 10))
64plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
65plt.axis('off')
66
67colors = {0: 'red', 1: 'blue', 2: 'green', 3: 'yellow', 4: 'orange', 5: 'purple', 6: 'cyan', 7: 'magenta', 8: 'brown', 9: 'lime', 10: 'pink'}
68names = ['biker', 'car', 'pedestrian', 'trafficLight', 'trafficLight-Green', 'trafficLight-GreenLeft', 'trafficLight-Red', 'trafficLight-RedLeft', 'trafficLight-Yellow', 'trafficLight-YellowLeft', 'truck']
69
70for name, (xmin, ymin, xmax, ymax) in xml_objects:
71    plt.gca().add_patch(plt.Rectangle((xmin, ymin), xmax - xmin, ymax - ymin, edgecolor='black', facecolor='none'))
72    plt.text(xmin, ymin, name, color='black', fontsize=8)
73
74for class_id, (xmin, ymin, xmax, ymax) in txt_objects:
75    plt.gca().add_patch(plt.Rectangle((xmin, ymin), xmax - xmin, ymax - ymin, edgecolor=colors[class_id], facecolor='none'))
76    plt.text(xmin, ymin, names[class_id], color=colors[class_id], fontsize=8)
77
78plt.show()
数据集使用指南
  1. 数据准备:确认数据集路径是否正确,并且图像和标签文件均存在指定的目录下。
  2. 数据划分:数据集可以根据需要划分为训练集、验证集和测试集。通常建议至少保留一部分数据作为独立的测试集来评估模型的泛化能力。
  3. 配置文件:确保YOLOv5/v6/v7/v8等模型配置文件中的数据集路径和类别名称与数据集中的标签一致。
  4. 模型训练:使用YOLO框架或其他支持VOC格式的框架加载数据集,并开始训练模型。确保模型配置文件中数据集路径正确。
  5. 模型测试:使用已经训练好的模型进行测试,评估模型在测试集上的性能。
数据集结构示例
1├── YOLO_traffic_object_recognition_dataset
2│   ├── images
3│   │   ├── train
4│   │   │   ├── 00000.jpg
5│   │   │   ├── 00001.jpg
6│   │   │   └── ...
7│   │   ├── val
8│   │   │   ├── 00000.jpg
9│   │   │   ├── 00001.jpg
10│   │   │   └── ...
11│   │   └── test
12│   │       ├── 00000.jpg
13│   │       ├── 00001.jpg
14│   │       └── ...
15│   ├── labels
16│   │   ├── xml
17│   │   │   ├── train
18│   │   │   │   ├── 00000.xml
19│   │   │   │   ├── 00001.xml
20│   │   │   │   └── ...
21│   │   │   ├── val
22│   │   │   │   ├── 00000.xml
23│   │   │   │   ├── 00001.xml
24│   │   │   │   └── ...
25│   │   │   └── test
26│   │   │       ├── 00000.xml
27│   │   │       ├── 00001.xml
28│   │   │       └── ...
29│   │   ├── txt
30│   │   │   ├── train
31│   │   │   │   ├── 00000.txt
32│   │   │   │   ├── 00001.txt
33│   │   │   │   └── ...
34│   │   │   ├── val
35│   │   │   │   ├── 00000.txt
36│   │   │   │   ├── 00001.txt
37│   │   │   │   └── ...
38│   │   │   └── test
39│   │   │       ├── 00000.txt
40│   │   │       ├── 00001.txt
41│   │   │       └── ...
42│   └── data.yaml  # 包含类别定义和数据路径
UI界面

对于UI界面的设计,可以考虑以下几个功能模块:

  1. 数据加载:允许用户选择数据集的路径,并加载数据集。
  2. 数据浏览:展示图像及其标签信息,支持用户浏览和预览数据集中的图像。
  3. 模型训练:提供模型训练的配置选项,如选择模型架构、设置超参数等。
  4. 模型评估:提供模型评估的功能,包括绘制损失曲线、显示混淆矩阵等。
  5. 结果展示:展示模型预测的结果,并允许用户比较预测与真实标签之间的差异。
  6. 模型导出:允许用户导出训练好的模型,以便在其他环境中使用。
引用出处

为了确保正确引用该数据集,请查看原始数据集发布者的具体要求。如果该数据集来自某个特定的研究项目或竞赛,引用格式可能类似于以下示例:

1@misc{dataset_paper,
2  title={Title of the Data Set},
3  author={Author Names},
4  year={Publication Year},
5  publisher={Publishing Institution},
6  url={URL of the data set}
7}
总结

YOLO交通目标识别数据集为交通目标检测提供了专业的数据支持。通过高分辨率图像和详细的VOC XML及YOLO TXT格式标注信息,该数据集能够帮助训练和评估模型在识别交通场景中的各类目标方面的能力。无论是对于学术研究还是工业应用,该数据集都是一个极具价值的研究资源。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年度国自然基金初审不受理的十大原因

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 2024年度基金申请已落下帷幕。近日,《中国科学基金》刊登了国自然基金委工作人员总结的2024年度国自然项目分析。一起来看下,为来年再战做准备。 …

【Docker】安装全流程与配置完整镜像源(可安装 nginx)

目录 一、卸载历史版本(选)二、配置 yum 源三、安装 docker四、配置 docker 镜像源加速(选、强烈建议)4.1 配置阿里镜像加速4.2 配置其他镜像源 五、启动 docker参考文章与视频 本文基于 Linux - CentOS 7 操作系统。 一、卸载历史…

面试真题:谈一谈Mysql的分库分表

分表和分库是什么?有什么区别? 分库是一种水平扩展数据库的技术,将数据根据一定规则划分到多个独立的数据库中。每个数据库只负责存储部分数据,实现了数据的拆分和分布式存储。分库主要是为了解决并发连接过多,单机 my…

【2024】前端学习笔记7-颜色-位置-字体设置

学习笔记 1.定义:css2.颜色:color3.字体相关属性:font3.1.字体大小:font-size3.2.字体风格:font - style3.3.字体粗细:font - weight3.4.字体族:font - family 4.位置:text-align 1.…

uniapp快速入门教程,内容来源于官方文档,仅仅记录快速入门需要了解到的知识点

uniapp快速入门教程,内容来源于官方文档,仅仅记录快速入门需要了解到的知识点 目录 介绍uniapp 介绍uniapp x 介绍功能框架图创建项目&发布组件/标签的变化js的变化css的变化工程结构和页面管理 pages.jsonmanifest.json 应用配置组件easycom组件规…

QT For Android开发-打开PPT文件

一、前言 需求: Qt开发Android程序过程中,点击按钮就打开一个PPT文件。 Qt在Windows上要打开PPT文件或者其他文件很容易。可以使用QDesktopServices打开文件,非常方便。QDesktopServices提供了静态接口调用系统级别的功能。 这里用的QDesk…

Isaac Sim 4.2.0 Windows版本打开报 fbgemm.dll 加载错误

方案一:下载缺少的dll复制到目录里即可 可以看到后台命令窗口出现了错误,发生在import pytorch的时候,根据提示,是因为fbgemm.dll缺少依赖,导致加载异常,一般情况是缺少 libomp140.x86_64.dll 这个文件&am…

【BEV 视图变换】Ray-based(2): 代码复现+画图解释 基于深度估计、bev_pool(代码一键运行)

paper:Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D code:https://github.com/nv-tlabs/lift-splat-shoot 一、完整复现代码(可一键运行)和效果图 import torch import torch.nn as nn import mat…

数模方法论-整数规划

一、基本概念 非线性规划的应用包括工程设计、资源分配、经济模型等。在求解过程中,由于非线性特性,常用的方法有梯度法、牛顿法、启发式算法等。求解非线性规划问题时,解的存在性和唯一性通常较难保证,且可能存在多个局部最优解…

《飞机大战游戏》实训项目(Java GUI实现)(设计模式)(简易)

目录 一、最终实现后,效果如下。 (1)简单介绍本游戏项目(待完善) (2)运行效果图(具体大家自己可以试) 初始运行情况。 手动更换背景图。 通过子弹攻击敌机,累…

Echats 实现CPK (过程能力)研究报告

背景: 实现: Echarts Option 代码示例 option {title: {text: 折线图示例 - X轴为数值},xAxis: {type: value, // X 轴改为数值型min: 0, // 最小值max: 10, // 最大值},yAxis: {type: value},series: [{type: line,data: [[0, 150], [2, 230], [4, 224], [6…

嵌入式单片机STM32开发板详细制作过程--01

大家好,今天主要给大家分享一下,单片机开发板的制作过程,原理图的制作与PCB设计,以及电子元器件采购与焊接。 第一:单片机开发板成品展示 板子正面都有各个芯片的丝印与标号,方便焊接元器件的时候,可以参考。(焊接完成之后,成品图如下) 第二:开发板原理图制作 在制…

FLStudio21Mac版flstudio v21.2.1.3430简体中文版下载(含Win/Mac)

给大家介绍了许多FL21版本,今天给大家介绍一款FL Studio21Mac版本,如果是Mac电脑的朋友请千万不要错过,当然我也不会忽略掉Win系统的FL,链接我会放在文章,供大家下载与分享,如果有其他问题,欢迎…

Spring后端直接用枚举类接收参数,自定义通用枚举类反序列化器

在使用枚举类做参数时,一般会让前端传数字,后端将数字转为枚举类,当枚举类很多时,很可能不知道这个code该对应哪个枚举类。能不能后端直接使用枚举类接收参数呢,可以,但是受限。 Spring反序列默认使用的是J…

投资学 01 定义,投资

02. 03. 3.1 直接投资:使用方和提供方是一个人

yolov8模型在Xray图像中关键点检测识别中的应用【代码+数据集+python环境+GUI系统】

yolov8模型在X yolov8模型在Xray图像中关键点检测识别中的应用【代码数据集python环境GUI系统】 1.背景意义 X射线是一种波长极短、穿透能力极强的电磁波。当X射线穿透物体时,不同密度和厚度的物质会吸收不同程度的X射线,从而在接收端产生不同强度的信号…

WordPress建站钩子函数及使用

目录 前言: 使用场景: 一、常用的wordpress钩子(动作钩子、过滤器钩子) 1、动作钩子(Action Hooks) 2、过滤器钩子(Filter Hooks) 二、常用钩子示例 1、添加自定义 CSS 和 JS…

实战OpenCV之直方图

基础入门 直方图是对数据分布情况的图形表示,特别适用于图像处理领域。在图像处理中,直方图通常用于表示图像中像素值的分布情况。直方图由一系列矩形条(也被称为bin)组成,每个矩形条的高度表示某个像素值(…

信息安全工程师(8)网络新安全目标与功能

前言 网络新安全目标与功能在当前的互联网环境中显得尤为重要,它们不仅反映了网络安全领域的最新发展趋势,也体现了对网络信息系统保护的不断加强。 一、网络新安全目标 全面防护与动态应对: 目标:建立多层次、全方位的网络安全防…

java日志框架之Log4j

文章目录 一、Log4j简介二、Log4j组件介绍1、Loggers (日志记录器)2、Appenders(输出控制器)3、Layout(日志格式化器) 三、Log4j快速入门四、Log4j自定义配置文件输出日志1、输出到控制台2、输出到文件3、输出到数据库 五、Log4j自…