数据集(PascalVOC).xml转.record

此文基于利用目标检测标注工具labelImg制作PASCAL VOC数据集

为了能够使用tensorflow Object Detection API~

需要将数据集格式转化为.TFRecord再进行训练~

标注好的数据是图片文件(.jpg)和标注文件(.xml),而 TensorFlow 不能直接用这些数据作为输入,还需要转成 TFRecord 格式。

 

先使用xml_to_csv.py把xml随机划分训练集和测试集CSV文件

xml_to_csv.py代码 如下:

 

再使用generate_tfrecord.py 生成相对应的 TFRecord 训练集和测试集。

因为generate_tfrecord.py需要:

所以generate_tfrecord.py文件需要在models-master目录下运行,否则会报错。

generate_tfrecord.py代码如下:

注意:在windows系统下文件路径最好用‘\\’否则如有意想不到的错误,如’F:\labelImg\tfrecords\hand\train.record’

一但遇到‘\t’或‘\n’之类的就会报错

成功后会在对应目录下生成train.record和eval.record文件

 

最后在.record文件同一文件夹下创建label_map.pbtxt文件以备后续训练tensorflow模型用,内容如下:

文件中id 和 name应该和上面修改的函数class_text_to_int()中的相对应:如果有多个检测目标,就继续添加item(我的只有hand一项,后面添加的一个item作为示例,实际运行时会删掉)

 

 

 

qihong lu

发表评论