雨天道路目标检测数据集(黑夜和白天) 3600张 雨天 带标注 voc yolo 7类

 

雨天道路目标检测数据集 3600张 雨天 带标注 voc yolo

白天


分类名: (图片张数, 标注个数)
car :(1134,10528)
truck:(394,722)
per son:(387,1585)
rider: (47, 56)
bike:(64,86)
bus:(187, 256)
motor :(29,32)
总数: (1150, 13265)
总类(nc): 7类
晚上


分类名:
(图片张数,标注个数)
car: (2470, 21655)
truck:(384,499)
per son:(510,1532)
bus:(220,248)
bike: (76, 121)
rider: (64, 71)
motor :(43,49)
总数: (2494, 24175)
总类(nc): 7类

雨天道路目标检测数据集介绍

项目名称

雨天道路目标检测数据集

项目概述

本数据集包含3600张带有标注的图像,专门用于训练和测试雨天道路目标检测模型。数据集分为白天和晚上两个部分,每张图像都标注了道路上的目标位置,使用VOC和YOLO格式进行标注。该数据集旨在帮助研究人员和开发者构建能够准确检测和识别雨天道路上各种目标(如汽车、卡车、行人等)的深度学习模型。

数据集特点
  • 大规模数据量:总共有3600张图像。
  • 多样化类别:涵盖7种不同的目标类别。
  • 高质量标注:每张图像都进行了详细的标注,包括类别和边界框。
  • 多用途:适用于目标检测任务,特别是涉及雨天道路场景的检测。
  • 易于使用:提供了详细的说明文档,方便用户快速上手。
数据集结构
Rainy_Weather_Detection_Dataset/
├── images/                               # 图像文件夹
│   ├── day/                              # 白天图像
│   └── night/                            # 晚上图像
├── annotations/                          # 标注文件夹
│   ├── day/                              # 白天标注
│   └── night/                            # 晚上标注
├── README.md                             # 项目说明文档
└── data_split.py                         # 数据集划分脚本
数据集内容
  • 总数据量:3600张图像。
  • 标注格式:VOC和YOLO格式。
  • 标注对象:各类目标的位置。
  • 类别及数量
白天部分
类别名图像数量标注个数
汽车 (Car)113410528
卡车 (Truck)394722
行人 (Person)3871585
骑行者 (Rider)4756
自行车 (Bike)6486
公交车 (Bus)187256
摩托车 (Motor)2932
  • 总数
    • 图像总数:1150张
    • 标注总数:13,265个
    • 总类别数 (nc):7类
晚上部分
类别名图像数量标注个数
汽车 (Car)247021655
卡车 (Truck)384499
行人 (Person)5101532
公交车 (Bus)220248
自行车 (Bike)76121
骑行者 (Rider)6471
摩托车 (Motor)4349
  • 总数
    • 图像总数:2494张
    • 标注总数:24,175个
    • 总类别数 (nc):7类
总计
  • 图像总数:3644张
  • 标注总数:37,440个
  • 总类别数 (nc):7类
使用说明
  1. 环境准备

    • 确保安装了Python及其相关库(如shutilsklearn等)。
    • 下载并解压数据集到项目根目录。
  2. 运行数据集划分脚本

    • 在命令行中运行data_split.py脚本,将数据集划分为训练集和测试集。
    • 运行后,images/annotations/目录下会生成train/test/子目录。
  3. 加载数据集

    • 可以使用常见的深度学习框架(如PyTorch、TensorFlow等)来加载数据集。
    • 示例代码如下:
import torch
from torchvision import transforms
from torch.utils.data import DataLoader, Dataset
import cv2
import os
import xml.etree.ElementTree as ET

class RainyWeatherDetectionDataset(Dataset):
    def __init__(self, image_dir, annotation_dir, transform=None):
        self.image_dir = image_dir
        self.annotation_dir = annotation_dir
        self.transform = transform
        self.image_files = [f for f in os.listdir(image_dir) if f.endswith('.jpg') or f.endswith('.png')]
    
    def __len__(self):
        return len(self.image_files)
    
    def __getitem__(self, idx):
        img_path = os.path.join(self.image_dir, self.image_files[idx])
        annotation_path = os.path.join(self.annotation_dir, self.image_files[idx].replace('.jpg', '.xml').replace('.png', '.xml'))
        
        image = cv2.imread(img_path)
        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
        
        tree = ET.parse(annotation_path)
        root = tree.getroot()
        
        boxes = []
        labels = []
        for obj in root.findall('object'):
            label = obj.find('name').text
            bbox = obj.find('bndbox')
            xmin = int(bbox.find('xmin').text)
            ymin = int(bbox.find('ymin').text)
            xmax = int(bbox.find('xmax').text)
            ymax = int(bbox.find('ymax').text)
            boxes.append([xmin, ymin, xmax, ymax])
            labels.append(label)
        
        if self.transform:
            image = self.transform(image)
        
        return image, {'boxes': torch.tensor(boxes, dtype=torch.float32), 'labels': labels}

# 数据预处理
transform = transforms.Compose([
    transforms.ToPILImage(),
    transforms.Resize((416, 416)),
    transforms.ToTensor(),
])

# 加载数据集
day_train_dataset = RainyWeatherDetectionDataset(image_dir='images/day/train', annotation_dir='annotations/day/train', transform=transform)
day_test_dataset = RainyWeatherDetectionDataset(image_dir='images/day/test', annotation_dir='annotations/day/test', transform=transform)

night_train_dataset = RainyWeatherDetectionDataset(image_dir='images/night/train', annotation_dir='annotations/night/train', transform=transform)
night_test_dataset = RainyWeatherDetectionDataset(image_dir='images/night/test', annotation_dir='annotations/night/test', transform=transform)

day_train_loader = DataLoader(day_train_dataset, batch_size=8, shuffle=True, num_workers=4)
day_test_loader = DataLoader(day_test_dataset, batch_size=8, shuffle=False, num_workers=4)

night_train_loader = DataLoader(night_train_dataset, batch_size=8, shuffle=True, num_workers=4)
night_test_loader = DataLoader(night_test_dataset, batch_size=8, shuffle=False, num_workers=4)
注意事项
  • 数据格式:确保图像文件和标注文件的命名一致,以便正确匹配。
  • 硬件要求:建议使用GPU进行训练和推理,以加快处理速度。如果没有足够的计算资源,可以考虑使用云服务提供商的GPU实例。
  • 超参数调整:根据实际情况调整网络架构、学习率、批次大小等超参数,以获得更好的性能。

应用场景

  • 智能交通系统:在智能交通监控系统中,自动检测和识别雨天道路上的各种目标,提供实时警报。
  • 自动驾驶:在自动驾驶系统中,检测雨天道路上的目标以提高行驶安全性。
  • 城市安全管理:帮助城市管理部门及时发现和处理雨天道路交通问题,提高城市管理效率。
  • 移动应用:开发移动应用程序,帮助驾驶员在雨天更好地了解道路情况。

通过上述步骤,你可以轻松地使用这个雨天道路目标检测数据集,并将其应用于深度学习模型的训练和测试。希望这个项目能帮助你更好地理解和应用目标检测技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值