2401_82442486 2024-06-10 20:44 采纳率: 0%
浏览 7

有哪些数据集是包含信号灯和交通标志在一起的

谢谢大家了。想知道什么数据集既有信号灯还有交通标志。感谢大家分享

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-10 20:44
    关注

    引自免费微信小程序:皆我百晓生

    针对你的需求,确实有几个数据集可以满足同时检测信号灯和交通标志的要求。下面列举几个较为知名的数据集:

    1. BDD100K BDD100K 是一个大规模、多样化的驾驶场景理解数据集,包含了丰富的标注信息,包括但不限于信号灯和交通标志。这个数据集的特点是覆盖了不同天气、时间和地理区域的场景,非常适合作为训练目标检测模型的数据源。

      访问链接:BDD100K

    2. Cityscapes Cityscapes 数据集专注于城市街景的理解,提供了高质量的像素级标注,包括道路、车辆、行人以及各种静态物体,如交通标志和信号灯。尽管它的主要焦点不是交通标志和信号灯,但这些元素在数据集中均有出现,可用于相关任务的研究与开发。

      访问链接:Cityscapes

    3. Mapillary Vistas Dataset (MVD) MVD 是一个面向街道级别的视觉理解的大规模数据集,它涵盖了广泛的地理区域和视觉场景。除了道路、车辆和行人外,还详细标注了交通标志和信号灯等元素,非常适合用于训练复杂环境下的目标检测模型。

      访问链接:Mapillary Vistas Dataset

    4. COCO Traffic Signs Dataset 这个数据集是从 COCO(Common Objects in Context)数据集中提取出来的,专门用于交通标志的检测。虽然它可能不包含信号灯,但如果你的目标主要是交通标志,这会是一个不错的选择。

      访问链接:COCO Traffic Signs

    为了从这些数据集中有效地提取和利用信息,你可能需要编写一些预处理脚本来清洗数据、转换格式以及分割训练和验证集。例如,对于 Cityscapes 数据集,你可能需要使用其提供的工具将像素级标签转换为边界框格式,以便于目标检测模型的训练。

    这里提供一个简化的示例,展示如何使用 Python 和相关库读取 Cityscapes 数据集中的图像和对应的标签,并将其转换为 YOLOv5 可以接受的格式。请注意,实际操作时你需要根据具体数据集的结构进行相应的调整。

    import os
    import cv2
    import json
    from shutil import copyfile
    
    # 数据集路径和输出路径
    dataset_path = '/path/to/cityscapes'
    output_path = '/path/to/output'
    
    # 创建输出目录
    os.makedirs(os.path.join(output_path, 'images'), exist_ok=True)
    os.makedirs(os.path.join(output_path, 'labels'), exist_ok=True)
    
    # 遍历数据集中的每个图像和标签文件
    for city in os.listdir(os.path.join(dataset_path, 'leftImg8bit')):
        img_dir = os.path.join(dataset_path, 'leftImg8bit', city)
        label_dir = os.path.join(dataset_path, 'gtFine', city)
        
        for img_file in os.listdir(img_dir):
            if '_leftImg8bit.png' in img_file:
                label_file = img_file.replace('_leftImg8bit.png', '_gtFine_polygons.json')
                
                # 读取图像
                img = cv2.imread(os.path.join(img_dir, img_file))
                height, width, _ = img.shape
                
                # 复制图像到输出目录
                copyfile(os.path.join(img_dir, img_file), os.path.join(output_path, 'images', img_file))
                
                # 读取标签
                with open(os.path.join(label_dir, label_file)) as f:
                    data = json.load(f)
                    
                # 处理每个对象
                with open(os.path.join(output_path, 'labels', img_file.replace('.png', '.txt')), 'w') as out_file:
                    for obj in data['objects']:
                        if obj['label'] in ['traffic sign', 'traffic light']:
                            x, y, w, h = obj['polygon']
                            x_center = (x + w / 2) / width
                            y_center = (y + h / 2) / height
                            w_norm = w / width
                            h_norm = h / height
                            
                            # 写入 YOLO 格式的标签
                            out_file.write(f"{obj['label']} {x_center} {y_center} {w_norm} {h_norm}\n")
    

    这段代码仅作为一个起点,实际应用中可能需要进一步的优化和错误处理。特别是,你需要确保标签的类别与模型所期望的类别相匹配,并且可能需要根据数据集的具体标注方式调整坐标计算逻辑。

    希望这些信息能帮助你找到合适的资源并开始你的项目!如果有更具体的技术问题或需要进一步的指导,请随时提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月10日

悬赏问题

  • ¥20 公众号如何实现点击超链接后自动发送文字
  • ¥15 用php隐藏类名和增加类名
  • ¥15 算法设计与分析课程的提问
  • ¥15 用MATLAB汇总拟合图
  • ¥15 智能除草机器人方案设计
  • ¥15 对接wps协作接口实现消息发送
  • ¥15 SQLite 出现“Database is locked” 如何解决?
  • ¥15 已经加了学校的隶属邮箱了,为什么还是进不去github education?😭
  • ¥15 求会做聚类,TCN的朋友有偿线上指导。以下是目前遇到的问题
  • ¥100 无网格伽辽金方法研究裂纹扩展的程序