zoukankan      html  css  js  c++  java
  • VOC数据集的格式与生成代码

    为了在SSD网络中训练自己的数据集,我们要将其转化为VOC数据集的格式

    1、在data文件夹下面按照VOC的格式建立文件夹

    voc格式如下:

    VOCdevkit

      VOC2007

        Annotations(存放.xml文件)

        ImageSets

          Layout  

          Main   (里面是目标检测用到的test.txt, train.txt, val.txt, trainval.txt)

          Segmentation

        JPEGImages(存放目标检测用到的图片)

        SegmentationClass

        SegmentationObject

    我们从中提取出目标检测用到的文件以及文件夹,并且以visdrone为例,可以建立如下的文件夹:

    VOCdevkit

      VOC2007(这里没有改名字是为了运行目标检测的代码时不修改代码中的文件名)

        Annotations(存放.xml文件)

          train(存放train的.xml文件)

          test

          trainval

          val

        JPEGImages(存放目标检测用到的图片)

          train(存放train的图片)

          test

          trainval

          val

        ImageSets

          Main 

            test.txt

            trainval.txt

            train.txt

            val.txt    

    2、代码链接如下

    链接:https://pan.baidu.com/s/1ItGRJrc-VcJpSy9wDlx86A
    提取码:c977 

    3、具体步骤

    • 下载代码,将数据集中的内容放到相应的文件夹中
    • 修改rename.py文件中的路径,分别对val和train文件执行rename操作
    • 执行txt2XML.py文件,分别将val和train中的txt文件转换成xml文件
    • 执行trainnamelist.py,会在Main文件夹下的train.txt文件中生成一些内容,这些是选中的作为train的图片的编号。同理,修改路径,再次执行trainnamelist.py,得到val.txt文件
    • 下面再重新调整文件夹,将val和train的xml合并到一个文件夹(Annotations)下面,同样将val和train的txt文件合并到一个文件夹(JPEGImages)下面,将train.txt和val.txt文件放到Main文件夹下面,将Main文件夹放到ImageSets下面。到这里基本上就把需要的东西准备好了
    • 但是由于visdrone里面存在这样两个类'ignored regions', 'others',可以执行VOC.py将两个类删掉,注意改一下路径。
  • 相关阅读:
    【C语言】学习笔记8——结构struct(1)
    【算法导论】最大子数组——暴力求解
    【算法导论】最大子数组——递归
    【算法导论】二分查找
    【Linux】Linux服务器(centos7)环境搭建java/python3/nginx
    【算法导论】归并排序
    【C语言】第一个C语言小程序 —— 日期算法和万年历2
    【C语言】第一个C语言小程序 —— 日期算法和万年历
    【python】面向对象
    【java】对jdbc操作结果简单的映射封装
  • 原文地址:https://www.cnblogs.com/liliwang/p/12984560.html
Copyright © 2011-2022 走看看