使用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
热门推荐
反式脂肪酸的危害
水上救生员培训指南:从基本素质到实战技能
超全防溺水安全知识
win10系统c盘多大合适(给C盘留多少空间才不卡?)
郁金香能活多久?解锁郁金香长寿秘籍,这4个重中之重!
《沙丘2》:宇宙史诗的延续,震撼视效与深度叙事的完美结合
Cell:在“中心法则”之外,或存在另一套神秘的生命法则
指甲凹凸不平的原因及预防方法
朱棣的出身之谜与母亲的宿命
如何通过饮食来调节血脂
可以线上签合同吗?网上签合同流程全解析
香菇尽量少吃最好不吃
《自然-医学》:降糖、减重、降压,还能治肾病!司美格鲁肽“一药多效”再获力证
打造国际化未来汽车城,台州从“新”出发
如何优化Windows系统:不需要的服务一键禁用!
退休金没到账怎么办?三大渠道帮你快速解决
审计临阵闹“分手”,ST高鸿财务风波不断
心理学解梦:梦见失而复得的深层含义
肃南冰沟丹霞景区游玩攻略
如何构建一个有效的价值评估体系?
伍秉鉴:清朝时期的世界首富,见证了家族由盛转衰
广州为什么又称“羊城”?其来历与“羊”有关系吗?
前端如何做精品课
旧不锈钢锅怎么才能不粘锅
苹果橙子煮水的功效与禁忌
口腔医院舌头检查详解(口腔医院舌头检查流程及注意事项)
如何实施阿米巴经营管理模式
从诙谐到深刻:10个经典成语故事带你领悟诚信的真谛
日本料理:爽口寿司卷
电弧的产生机理与应用