使用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
热门推荐
数学到底在哪里支撑着编程
五大联赛预测秘籍:AI人工智能模型分析预测
如何提高小学数学成绩的方法和建议!家长必读!
纽约大学计算机科学专业如何申请
洛阳市经济及产业发展分析:五大先进制造业集群引领高质量发展
滞胀阴霾笼罩2025:英国经济能否摆脱通胀与衰退双重陷阱?
二手宝马3系的内饰磨损程度如何判断?
老虎凳:古代中国的一种隐形刑具
共工怒触不周山
一年前的这场行动 郴州收获了什么
正财格:解析其在中国传统命理中的等级与影响
《自然》《科学》两大权威揭秘:为什么只有人类进化出语言能力?
永徽之治:唐高宗李治引领的盛世奇迹,你知道多少?
一到春天总觉“多梦”,这会与某些疾病相关吗?
麦芽在啤酒酿造中的重要作用
走进南山大小洞天旅游区(海南)
海南三亚大小洞天旅游全攻略:玩乐、美食与住宿指南
风湿性心脏病用什么药物治疗
Excel 公式中 TAN 函数的用处
乾隆下江南:一次政治、文化与经济的考察
粗粒化模型,从这里学起
地球上大部分生命都正在休眠,为了活下去
帝位传承的转折:宋哲宗驾崩与赵佶继位之谜
河南伏羲山景点介绍
5000元投资玉石还是黄金?优缺点分析与投资建议
黄金首饰保存指南:如何妥善存放黄金首饰并防止被盗
国际机票提前多久买合适,答案让你意想不到
民事起诉状与支付令:诉讼与调解的完美结合
图解8大「胃痛」症状,胃痛位置、空腹吃饱胃痛大不同,解析不同胃痛舒缓方式
《盗梦空间》的悬念,14年过去了,柯布到底脱离梦境没有?