最近在学习使用mmdetection,需要使用bdd100k数据集来训练网络,但是官网下载的数据集格式不是coco数据集,得自己转换数据集格式。
一、bdd100k数据集下载
数据集下载地址:https://dl.cv.ethz.ch/bdd100k/data/
我下载了下面这些数据集,我们主要是对bdd100k_det_20_labels_trainval.zip
这个文件夹进行操作。
解压bdd100k_det_20_labels_trainval.zip
,记住解压路径。
二、bdd100k转coco脚本下载
BDD100K文档中有提到数据格式转换,但我没看懂,我选择使用.py转换。
github链接:
https://github.com/ucbdrive/bdd100k/tree/e0e54415d8c2659d606ef0721925aa5c09822732
这个代码官方现在好像不维护了(四年没更新了),但是我使用正常。
百度网盘链接:https://pan.baidu.com/s/1W-G_DPEnEqckoYls68TLnw?pwd=1111
三、脚本使用
找到转换脚本文件,并在路径框输入cmd
打开命令行后,输入下面的命令,例如:
python bdd2coco.py --label_dir bdd数据集label文件路径(不带文件名称) --save_path coco数据集保存位置(不带文件名称)
报错
Traceback (most recent call last):
File "bdd100k\bdd2coco.py", line 103, in <module>
bdd2coco_detection(attr_id_dict, train_labels, out_fn)
File "bdd100k\bdd2coco.py", line 41, in bdd2coco_detection
for label in i['labels']:
KeyError: 'labels'