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將兩個類刪掉,注意改一下路徑。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM