zoukankan      html  css  js  c++  java
  • 训练自己数据-xml文件转voc格式

    首先我们有一堆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:jianfengproject
    ubblish_detsource	rain_pic_jsonvoc_allVOC2018JPEGImages'
     7     dest = r'G:jianfengproject
    ubblish_detsource	rain_pic_jsonvoc_all/VOC2018/ImageSets/Main/train.txt'
     8     dest2 = r'G:jianfengproject
    ubblish_detsource	rain_pic_jsonvoc_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 + '
    ')
    18         else:
    19             train_file.write(file_name + '
    ')
    20         i+=1
    21     train_file.close()
    22 val_file.close()

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

  • 相关阅读:
    201119西瓜书系列博客---5、神经网络
    GO结果画图
    Java调用R语言脚本
    CentOS 6,7 查看、修改时间时区
    eval 让shell脚本动态的构建命令
    shell脚本中awk命令内置参数与脚本参数冲突的解决方法
    Shell 传递参数
    clusterProfiler::enrichGO() is getting very slow
    R install("curl") on CentOS 7.6
    centos 7 安装 myclipse 2017 ci
  • 原文地址:https://www.cnblogs.com/bob-jianfeng/p/11123111.html
Copyright © 2011-2022 走看看