欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  首先我们有一堆xml文件笔者是将mask-rcnn得到的json标注文件转为xml的
 
  批量json转xml方法:https://www.cnblogs.com/bob-jianfeng/p/11122135.html
 
  现在我们训练faster-rcnn或者yolo都需要pascalvoc格式的数据
 
  所以我们的任务是将xml转为voc训练格式
 
  voc格式目录如下:
 
  VOCdevkit
 
  ——VOC2018#文件夹的年份可以自己取,但是要与你其他文件年份一致,看下一步就明白了
 
  ————Annotations#放入所有的xml文件
 
  ————ImageSets
 
  ——————Main#放入train.txt,val.txt文件
 
  ————JPEGImages#放入所有的图片文件
 
  Main中的文件分别表示test.txt是测试集,train.txt是训练集,val.txt是验证集,trainval.txt是训练和验证集,反正我只建了两个
 
  所以新建这几个文件夹并将原图放入JPEGImagesxml文件放入Annotations接着生成train.txt和val.txt
 
  生成Main中的txt代码:(我们按照1:3的比例分为训练和验证)
 
  1importos
 
  2fromosimportlistdir,getcwd
 
  3fromos.pathimportjoin
 
  4
 
  5if__name__=='__main__':
 
  6source_folder=r'G:\jianfeng\project\rubblish_det\source\train_pic_json\voc_all\VOC2018\JPEGImages'
 
  7dest=r'G:\jianfeng\project\rubblish_det\source\train_pic_json\voc_all/VOC2018/ImageSets/Main/train.txt'
 
  8dest2=r'G:\jianfeng\project\rubblish_det\source\train_pic_json\voc_all/VOC2018/ImageSets/Main/val.txt'
 
  9file_list=os.listdir(source_folder)
 
  10train_file=open(dest,'a')
 
  11val_file=open(dest2,'a')
 
  12i=0
 
  13forfile_objinfile_list:
 
  14file_name,file_extend=os.path.splitext(file_obj)
 
  15
 
  16if(i%4==0):
 
  17val_file.write(file_name+'\n')
 
  18else:
 
  19train_file.write(file_name+'\n')
 
  20i+=1
 
  21train_file.close()
 
  22val_file.close()
 
  然后完成了voc格式制作接着可以训练你的数据了

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h54712.shtml