YOLO铁路轨道障碍物数据集,1655张图片,六种类别xml和txt标签都有。

 

6aee401c5c894da387ca4bfbb1be220e.png

YOLO轨道障碍物数据集,1655张图片,六种类别xml和txt标签都有

b778c52373a04aadbfcc874b93ab7aaa.png

轨道障碍物识别数据集(Track Obstacle Recognition Dataset, TORD)

摘要

TORD 是一个专门为轨道交通场景中的障碍物识别而设计的数据集,它包含了1655张高质量的障碍物图像,涵盖了动物、火车、摩托车、遮挡物、行人以及各类交通工具等多种障碍物类别。数据集提供XML和TXT两种格式的标注信息,适用于YOLO系列的目标检测算法和其他深度学习方法。TORD 的目标是帮助铁路运营方和相关研究者开发出更加安全高效的障碍物检测系统,以降低事故风险,保障乘客的安全。

数据集特点

  • 丰富多样的图像资源:数据集拥有1655张高质量的障碍物图像,为模型训练提供了足够的数据量。
  • 全面的障碍物类别:数据集包含动物、火车、摩托车、遮挡物、行人及各类交通工具六大类障碍物,覆盖了轨道交通场景中的常见障碍物。
  • 精准的标注信息:每张图像都经过专业人员的精细标注,确保了目标区域的准确性。
  • 易于使用:数据集已经按照YOLO格式整理,可以直接用于训练和评估YOLO系列的目标检测模型。
  • 广泛的适用性:适用于轨道交通安全、自动列车控制、人工智能等多个领域。

数据集构成

  • 图像数量:共1655张障碍物图像。
  • 类别数:6类
  • 类别名称AnimalTrainmotor_bicycleobstacle_ocpersonvehicle

259fff0a1a424e2da1fa08ed99800cd7.png

示例代码

以下是一个简单的Python脚本示例,用于加载数据集中的一对图像-标签对,并可视化其中的标注信息:

import os
import cv2
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle

# 数据集目录路径
data_dir = 'path/to/tord_dataset'
train_image_dir = os.path.join(data_dir, 'images/train')
train_label_dir = os.path.join(data_dir, 'labels/train')

# 选取一张训练图像及其对应标签
image_files = os.listdir(train_image_dir)
image_file = image_files[0]  # 假设取第一张图
label_file = os.path.splitext(image_file)[0] + '.xml' or '.txt'

image_path = os.path.join(train_image_dir, image_file)
label_path = os.path.join(train_label_dir, label_file)

# 加载图像
image = cv2.imread(image_path, cv2.IMREAD_COLOR)
height, width, _ = image.shape

# 解析YOLO格式标签
def parse_yolo_label(label_path, image_width, image_height):
    bboxes = []
    if label_path.endswith('.xml'):
      # 解析XML格式的标签
      pass
    elif label_path.endswith('.txt'):
      # 解析TXT格式的标签
      with open(label_path, 'r') as f:
          lines = f.readlines()
          for line in lines:
              class_id, x_center, y_center, box_width, box_height = map(float, line.strip().split())
              x_min = int((x_center - box_width / 2) * image_width)
              y_min = int((y_center - box_height / 2) * image_width)
              box_width = int(box_width * image_width)
              box_height = int(box_height * image_width)
              bboxes.append((class_id, x_min, y_min, box_width, box_height))

    return bboxes

# 解析标签
bboxes = parse_yolo_label(label_path, width, height)

# 可视化标注
fig, ax = plt.subplots(figsize=(10, 10))
ax.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
colors = ['#FFA500', '#00FFFF', '#00BFFF', '#EE82EE', '#00FA9A', '#ADD8E6']  # 这里仅展示六个颜色作为示例
names = ['Animal', 'Train', 'Motor Bicycle', 'Obstacle_OC', 'Person', 'Vehicle']  # 这里仅展示六个类别作为示例
for bbox, color_name in zip(bboxes, colors):
    class_id, x, y, w, h = bbox
    rect = Rectangle((x, y), w, h, linewidth=2, edgecolor=color_name, facecolor='none')
    ax.add_patch(rect)
    ax.text(x, y - 10, names[int(class_id)-1], color=color_name, fontsize=8)

plt.title('Track Obstacle Recognition Dataset')
plt.axis('off')
plt.show()

数据集使用指南

  1. 数据准备

    • 确认数据集路径是否正确,并且图像和标签文件均存在指定的目录下。
    • 检查数据集是否有损坏或缺失的文件,确保所有图像和对应的标注文件都是完整的。
  2. 数据集划分

    • 数据集可能已经划分为训练集、验证集和测试集,具体请查看数据集结构。
  3. 配置文件

    • 根据所使用的深度学习框架(如YOLOv5, YOLOv7, Detectron2等),创建合适的配置文件,设置好训练参数,包括学习率、批次大小、迭代次数等。
  4. 模型训练

    • 使用提供的数据集开始训练模型,注意根据实际情况调整模型参数。
  5. 模型评估

    • 训练完成后,在验证集或测试集上评估模型的表现,观察其在不同类别上的准确性和召回率。
  6. 应用实践

    • 将训练好的模型部署到实际的轨道交通系统中,实现对障碍物的有效识别和预警,提升系统的安全性。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值