使用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
热门推荐
命理学与人生决策:从古代智慧到现代生活实践的启示
人工智能发展将重新定义高等教育
智能硬件革新生活:深度探索、行业洞察与未来展望
草莓鼻,了解它的成因、预防与改善方法
中国农业大学王牌专业 最好的专业是什么
2025年春节后AI与机器人行业的市场走势解析与前景展望
如何探索小众冷门股票的投资机会
防“癌”于未然!这十大癌症预警信号,您重视了吗?
游戏音频格式全解析:助力游戏开发
为什么人们不断创造新的编程语言?
【美丽四川】松潘行
公司无故调岗降薪怎么办
揭秘交流接触器接线电路:实用指南与应用分析
AI 数字人革新术:内核揭秘、应用实战、最新进展与未来蓝图
天干取象口诀与解释:深入理解阴阳五行的象征意义
重骑士高达GP02:经典卡片风格的涂装解析与创作理念
汽车知识科普:轮胎充氮气,是不是智商税?
五种影响投资者行为偏差的因素
如何选择适合的汽车颜色?汽车颜色对驾驶体验有何影响?
乒乓球运动全攻略:从历史到观赛礼仪
基金风险控制的主要方法有哪些?
龙门吊门式起重机日常维护保养的规范有哪些?
从普通到卓越:个人成长的心理路径探索
从零开始 -- Powershell入门
城里人和农村人的区别
非原装充电器对电池的影响!
八字午未合化详解:条件解析与优势发挥
怎么用excel做数独游戏
英国议会诞生758周年:比权力更重要的,是对规则的尊重
中国学者一作Cell论文:绕过血脑屏障,利用细菌从鼻腔向大脑递送药物