yolo交通标志检测数据集 国内交通标识数据集 yolo适用txt标注xml
交通标志检测数据集
图片: 9170张
带xml格式标注文件: 9170个
带txt格式标注文件,已划分好训练集和验证集,可用于yolo训练。
训练集: 7336
验证集: 1834
交通标志检测数据集介绍
数据集概况
这个交通标志检测数据集主要面向国内交通标志的识别和分类任务。数据集包含大量的真实世界交通标志图片,旨在支持基于深度学习的方法,尤其是YOLO系列模型的训练和评估。
数据规模
- 图片数量: 9170张
- 标注文件: 对应的XML格式标注文件共有9170个,每个文件对应一张图片的标注信息。
划分比例
数据集被明确地划分为训练集和验证集,以便于模型的训练和性能评估。
- 训练集: 7336张图片
- 验证集: 1834张图片
类别数量
数据集中共有162个不同的交通标志类别,涵盖了几乎所有的常见和不常见的交通标志类型。
标注格式
除了XML格式外,还提供了TXT格式的标注文件,这种格式更适合YOLO系列模型的输入要求。
应用场景
此数据集特别适合用于训练和评估交通标志检测模型,尤其是在复杂的道路交通环境中,对提高驾驶安全性和自动化驾驶系统的可靠性具有重要意义。
示例代码
下面是一个简单的Python脚本示例,展示如何加载和可视化数据集中的一个样本:
import cv2
import os
import numpy as np
def load_image_and_label(image_path, label_path):
"""
Load an image and its corresponding label from the dataset.
Parameters:
image_path (str): Path to the image file.
label_path (str): Path to the label file.
Returns:
img (numpy.ndarray): The loaded image.
labels (list of list): List of bounding box coordinates and class IDs.
"""
img = cv2.imread(image_path)
with open(label_path, 'r') as f:
lines = f.readlines()
labels = [list(map(float, line.strip().split())) for line in lines]
return img, labels
if __name__ == "__main__":
data_dir = "/path/to/your/dataset"
train_images_dir = os.path.join(data_dir, "images/train")
train_labels_dir = os.path.join(data_dir, "labels/train")
# Choose any image and its label from the training set
image_name = os.listdir(train_images_dir)[0] # Select the first image
label_name = image_name.replace(".jpg", ".txt") # Assuming images are .jpg and labels are .txt
image_path = os.path.join(train_images_dir, image_name)
label_path = os.path.join(train_labels_dir, label_name)
img, labels = load_image_and_label(image_path, label_path)
print(f"Loaded image shape: {img.shape}")
print(f"Number of objects: {len(labels)}")
print(f"First object's label: {labels[0]}")
请确保替换"/path/to/your/dataset"
为你本地数据集的实际路径。这个脚本会加载第一个训练集中的图片及其对应的标签,并输出一些基本信息。你可以根据自己的需求修改和扩展这个脚本来满足更多的数据分析和模型训练需求。