2019.8.31—BDD100k数据集训练---利用TensorFlow Object Detection ApI
01.
数据集分析--参考网址:https://blog.csdn.net/qq583083658/article/details/86493752
注:BDD100K的道路目标检测部分总共有10类:bus,traffic light,traffic sign,person,bike,truck,moter,car,train,rider
由于数据集BDD100K的数据标注是json格式,放到TensorFlow中训练要转变成tfrecord格式,首先我的想法有2个,直接由json转tfrecord,找了一些教程,发现有点困难,我就直接用第二种比较笨的方法了:先由json转xml格式,再由xml-csv-tfrecord(或者直接由xml—tfrecord)
注---Json-xml: https://blog.csdn.net/qq583083658/article/details/86496563
VOC数据集转换成TFRecord文件:
-- https://blog.csdn.net/m0_37970224/article/details/89305787
02.
tensorflow object detection api关于 xml_to_csv转换tfrecord格式之debug:
刚开始我直接由json转到xml,xml—csv,这2步都没有问题,但是有csv转tfrecord时遇到了问题,遇到的问题如下:
我初步推测是没读入图片,检查了文件夹中的图片名字,发现确实是图片的第一个名字,没有都进去,而且错误提示中少了图片名字的后面的.jpg。由于我上次读入数据集没有这个问题,我就对比了两次数据集生成的csv文件,发现BDD100K数据集生成的csv中第一列图片名字确实没有加.jpg,一看json标注,里面的图片名字没有.jpg。后来改写了一个小的脚本加入了.jpg。之后才运行成功:
注---python批量修改xml文件的path和filename:
---https://blog.csdn.net/qq_41983165/article/details/87977712(代码有错误的地方,需要自己改动)
终于成功运行: