使用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
热门推荐
职场人都在说的SOP?7步教你拿下
油性皮肤热水洗脸好还是冷水好
期待新生命降临,生育保险待遇申领让您无忧无虑!
见证上海制表工业闪耀世纪的"钻石"
生肖猪,鼠,牛,2025年2月:喜迎“开门红”!
干细胞治疗在1型糖尿病治疗中取得突破性进展
中国超导计算机行业:将迎来更加广阔的发展前景
为什么卖的美版有锁iPhone那么便宜?水太深,劝你看清
热敷颈椎有什么作用
下葬一般是第几天?不同地区的安葬文化区别
乌拉盖:草原上的人文与自然奇迹
浴室柜材质选择指南:陶瓷一体盆 vs 岩板台面
腺样体肥大手术费用全解析:从构成到节省策略的实用指南
秦昊减肥法火爆网络,但真的适合普通人吗?
增强思考能力的有效方法:提升思考速度与思维深度
脚底穴位按摩手法讲解,脚底按摩的好处是什么
探索高级SQL技巧:提升数据查询与操作能力
唾液突然增多?揭示背后隐藏的健康信号及应对妙招!
杭州推“算力券”欲打造全国算力成本洼地,怎么干?多家上市公司回应
来村里看大戏!瓯剧下基层,文化暖人心!
如何用Excel快速制表出入库
间歇性爆发性障碍:隐藏在怒火背后的心理问题
减肥时时刻计算卡路里?不如将热量赤字融入生活
研制一款APP,类似的有很多,那还有必要开发吗
ComfyUI+krita AI实时绘画安装部署方法
项目规划落实阶段怎么写
高层办公楼建筑设计规划的重点内容分析
宫廷之恋:万历皇帝与孝端皇后的深情厚意
南宁青秀,真的很gǐng!搞文旅都已经next level了
如何判断轮胎是否为翻新胎?准确辨认购买轮胎的技巧与方法!