【开源数据集】交通标志数据集CCTSDB2021

1、数据集简介

CCTSDB2021交通标志数据集是由长沙理工大学的相关学者及团队制作而成的,其有交通标志样本图片有近 20000 张,共含交通标志近 40000 个,同时包含按尺寸、场景分类区分的图像数据集,含有丰富的道路背景信息。图像来源为国内正常行驶的道路采集,拍摄视角多为车内的街拍、行车记录仪等,基本是在车内驾驶位与副驾驶位视角,以下是数据集的图像概览。

2、数据集内容

数据集由多个部分构成,分别为训练集、测试集、分类测试集和负样本。训练测试这一块,训练集和测试集总共包含17856张图像及标注信息,其中训练集有部分图片在原始图片上改变了横向尺寸、添加椒盐噪声、调整亮度等,序号靠后的图像则是通过行车视频抽帧所得,场景重复性较大。标注信息总共分为三类:

  • prohibitory - 禁令标志
  • warning - 警告标志
  • mandatory - 指示标志

负样本这一块,包含500张负样本图像,主要为道路中行驶采集的图像但不包含以上三类,可以在训练中酌情添加,也可以用于模型测试。

分类测试集中包含两个分类方式,“测试集尺寸大小分类”中根据图像交通标志大小分为XS、S、M、L、XL五类,“测试集天气光照情况分类”中根据图像中

### 关于CCTSDB数据集与YOLO使用的教程 #### 数据集概述 CCTSDB 数据集由长沙理工大学的研究人员创建,包含约20,000张交通标志图像,总计接近40,000个交通标志实例。然而,当前仅开放了大约10,000张图片用于研究目的,这些图片被标记为指示标志、禁令标志以及警告标志三类[^4]。 #### 准备工作 为了使用YOLO模型对该数据集进行训练,在获取到的数据集中应当包含了转换后的XML格式标签文件[^2]。这表明可以方便地将其进一步处理成适合YOLO框架所需的`.txt`格式的边界框坐标文件。 #### 获取资源 可以从多个渠道获得该数据集的不同版本及其配套材料: - 包含1000幅带注解的交通信号灯照片,并附带有VOC、COCO和YOLO三种不同格式的标注信息,还有辅助划分训练集测试集的Python脚本及详细的安装指南[^1]。 - 另外一个链接提供了更大规模(8719张)且已经整理好适用于VOC和YOLO两种流行目标检测算法输入形式的数据集合[^3]。 #### 安装依赖库 确保环境中已正确配置PyTorch和其他必要的机器学习工具包之后,还需要额外安装一些特定于YOLOv3实现的支持软件包: ```bash pip install opencv-python numpy matplotlib albumentations torch torchvision torchaudio ``` #### 转换标注文件 由于原始提供的可能是Pascal VOC XML格式或其他非标准YOLO格式的标注文件,因此可能需要编写简单的脚本来完成从一种格式向另一种格式之间的相互转换操作。下面给出了一段简易版的Python代码片段来展示如何读取并解析单个XML文件中的对象位置信息,进而保存为目标检测任务常用的TXT格式记录: ```python import xml.etree.ElementTree as ET def convert_annotation(xml_file_path, output_dir): tree = ET.parse(xml_file_path) root = tree.getroot() with open(f"{output_dir}/{root.find('filename').text}.txt", "w") as f: for obj in root.findall('object'): label = obj.find('name').text bndbox = obj.find('bndbox') xmin = int(bndbox.find('xmin').text) ymin = int(bndbox.find('ymin').text) xmax = int(bndbox.find('xmax').text) ymax = int(bndbox.find('ymax').text) # Assuming class index starts from 0 and 'label' is the name of classes. class_id = get_class_index(label) # Implement this function based on your dataset width = xmax - xmin height = ymax - ymin center_x = (xmin + xmax)/2 / image_width center_y = (ymin + ymax)/2 / image_height line = f"{class_id} {center_x:.6f} {center_y:.6f} {width/image_width:.6f} {height/image_height:.6f}\n" f.write(line) convert_annotation("/path/to/xml/file.xml", "/desired/output/directory/") ``` 请注意上述代码仅为示意用途;实际应用时需根据具体情况进行调整优化。 #### 训练过程简介 一旦完成了前期准备工作,则可以直接参照官方文档或是其他开源项目所提供的指导来进行后续步骤的操作,比如定义网络结构参数、设置超参选项等。对于初学者来说,建议先尝试复现已有成果再逐步探索更复杂的改进方案。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值