使用yolov5训练自动驾驶目标检测数据集BDD100K
创作时间:
作者:
@小白创作中心
使用yolov5训练自动驾驶目标检测数据集BDD100K
引用
CSDN
1.
https://blog.csdn.net/qq_37555071/article/details/118934037
BDD100K是伯克利发布的开放式驾驶视频数据集,包含10万个视频和10个任务,旨在评估自动驾驶图像识别算法的进展。本文将详细介绍如何使用YOLOv5训练BDD100K数据集,包括数据预处理、环境配置、模型结构修改、迁移学习、训练过程和性能评估等多个方面。
一、什么是BDD100K
BDD100K是伯克利发布的开放式驾驶视频数据集,其中包含10万个视频和10个任务(因为把交通灯的颜色也区分了出来,实际上是13类分类任务),目的是方便评估自动驾驶图像识别算法的的进展。该数据集具有地理,环境和天气多样性,从而能让模型能够识别多种场景,具备更多的泛化能力。
由于硬件限制,我只里训练其中的图片数据,数据集按Train、Valid、Test三个部分,比例可以按照7:2:1分配,共近10张图片。
二、数据预处理
Bdd100k的标签是由Scalabel生成的JSON格式,虽然伯克利提供Bdd100k数据集的标签查看及标签格式转化工具。由于没有直接从bdd100k转换成YOLO的工具,因此我们首先得使用将bdd100k的标签转换为coco格式,然后再将coco格式转换为yolo格式。
YOLO家族独特的标签数据集格式为:每个图片文件.jpg,都有同一命名的标签文件.txt。标签文件中每个对象独占一行,格式为
<object-class> <x> <y> <width> <height>。
其中:
<object-class>
表示对象的类别序号:从0 到 (classes-1)。<x> <y> <width> <height>
参照图片宽度和高度的相对比例(浮点数值),从0.0到1.0。注意: 是矩形的中心,而不是左上角位置。
如下图所示:
(1)bdd 转化为coco格式
我的目的是识别包括不同颜色交通灯在内的所有交通对象,因此我们需要对原版的bdd2coco.py进行一些修改,以获取交通灯颜色并产生新的类别。这是修改完的核心代码:
for label in i['labels']:
annotation = dict()
category=label['category']
if (category == "traffic light"):
color = label['attributes']['trafficLightColor']
category = "tl_" + color
if category in id_dict.keys():
empty_image = False
annotation["iscrow
热门推荐
水位传感器故障的典型表现与应对策略
零点地狱:探索人类恐惧与想象的深渊
Windows网络延迟高怎么解决?全面分析与优化方法!
影史十大功夫片:拳脚之间,写尽江湖五十年
探索未知,启迪未来:《海底两万里》的现代意义深度剖析
医院配近视眼镜医保报销情况解析
纳斯达克期货的交易特点有哪些?这些特点对投资者有何要求?
如何克服人际关系中的自卑感?
泸州小吃大搜罗!这八种,你千万别错过,快来尝尝!
如何在爬山时穿得既舒适又时尚?
EXO团队成员现状:个人事业多样化发展与团队凝聚力并存
苏州博物馆新馆:江南古韵与现代设计的完美结合
三角函数和角与差角公式的图形解释
清朝后宫的生育与年龄限制
轻松解决问题!教你文件怎么解除只读模式!
牛顿三大运动定律:揭开自然界的秘密
孩子穿那么多还会感冒?正确穿衣指南请收好
经典股市顶部反转形态及其卖点——双顶
中国股市3000点,适合短期还是长期?选短、长的原则你清楚?
初中生情绪问题与青少年抑郁:识别、理解与应对
倾听与包容——正确地面对不同的声音
OMV安装Filebrowser和Photoprism时镜像拉取问题的解决方案
过年穿红色衣服的寓意是什么?过年穿衣颜色禁忌!
精准控糖新标准:糖尿病患者血糖控制全攻略
向上沟通指南:如何与上级建立有效沟通?
企业年会福利新风尚:养生壶的选择与意义
工控机箱标准尺寸解析,选择适合的机箱才是提高设备稳定性的关键
乌拉泊交警的角色与职责分析
在设计换热器时,如何优化换热面积以提高效率?
广东湛江旅游景点攻略:从火山湖到历史文化名城