使用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
热门推荐
新华社关注长春:高擎“红旗”,奋进向“新”——中国一汽加速发展新质生产力观察
银行理财“万亿俱乐部”迎新,行业变局中谁在乘势而起?
法院离婚调解收费标准是什么
云南绿春:传承彝族文化 感受独特魅力
咖啡三重奏:咖啡豆、冻干咖啡粉、速溶咖啡粉的区别解析
正式开通!合肥南⇌合肥南
《哪吒2》百亿票房启示:解析导演饺子的财富密码与国漫产业新范式
高速行车安全指南:从基本规则到应急处理的全方位指导
RAID 0如何将4块硬盘合并
春运期间海南机场打造空铁换乘无忧服务
东契奇再创伟大历史纪录,但带队表现却是难以逾越的大山
“非婚同居”——是爱情自由还是法律盲区?
京城十万餐饮微利线上挣扎
“@她创业计划”——赋能边疆女性 助力出彩人生
风油精:传统中药的现代应用
合肥人力资源市场分析:发展潜力何去何从?
如何通过期权策略进行风险分散?这些策略在不同市场环境下有何表现?
津巴布韦股市崩了,真不是货币的锅
工业机器人的技术应用趋势及维护措施研究
月柱福星贵人天乙贵人:命理学中的吉星解析
“静”享健康丨气候干燥时,干眼症患者如何正确防护→
镁补充剂是否能帮助你睡得更好?
闪卡学习的基本原理是什么,你了解吗?
半导体制冷式冷库在食品保鲜行业的应用前景
张三丰:明朝历代皇帝苦寻的传奇道士
国产操作系统一篇说透!鸿蒙生态“开天辟地”,数字底座初露锋芒
高租售比吸引力大
今天我们为什么要读《心经》?
欧央行本周料将降息!发达经济体货币政策日益分化,美联储会怎么做
吃腐乳会致癌吗?一文讲清楚了