训练自己数据-xml文件转voc格式

2019-07-24 09:12:21来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

首先我们有一堆xml文件 笔者是将mask-rcnn得到的json标注文件转为xml的

批量json转xml方法:https://www.cnblogs.com/bob-jianfeng/p/11122135.html

现在我们训练faster-rcnn或者yolo都需要pascal voc格式的数据

所以我们的任务是将xml转为voc训练格式

voc格式目录如下:

VOCdevkit
——VOC2018 #文件夹的年份可以自己取,但是要与你其他文件年份一致,看下一步就明白了
————Annotations #放入所有的xml文件
————ImageSets
——————Main #放入train.txt,val.txt文件
————JPEGImages #放入所有的图片文件

Main中的文件分别表示test.txt是测试集,train.txt是训练集,val.txt是验证集,trainval.txt是训练和验证集,反正我只建了两个
所以新建这几个文件夹 并将原图放入JPEGImages  xml文件放入Annotations  接着生成train.txt和val.txt 

生成Main中的txt代码 :(我们按照1:3的比例分为训练和验证)

 1 import os
 2 from os import listdir, getcwd
 3 from os.path import join
 4 
 5 if __name__ == '__main__':
 6     source_folder =r'G:\jianfeng\project\rubblish_det\source\train_pic_json\voc_all\VOC2018\JPEGImages'
 7     dest = r'G:\jianfeng\project\rubblish_det\source\train_pic_json\voc_all/VOC2018/ImageSets/Main/train.txt'
 8     dest2 = r'G:\jianfeng\project\rubblish_det\source\train_pic_json\voc_all/VOC2018/ImageSets/Main/val.txt'
 9     file_list = os.listdir(source_folder)
10     train_file = open(dest, 'a')
11     val_file = open(dest2, 'a')
12     i=0
13     for file_obj in file_list:
14         file_name, file_extend = os.path.splitext(file_obj)
15 
16         if (i%4 ==0):
17             val_file.write(file_name + '\n')
18         else:
19             train_file.write(file_name + '\n')
20         i+=1
21     train_file.close()
22 val_file.close()

然后完成了voc格式制作 接着可以训练你的数据了


原文链接:https://www.cnblogs.com/bob-jianfeng/p/11123111.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:pycharm编辑器配置(持续更新完善)

下一篇:计算器实例