自動化工具制作PASCAL VOC 數據集


1. VOC的格式

VOC主要有三個重要的文件夾:AnnotationsImageSetsJPEGImages

JPEGImages 文件夾

該文件夾下存放着所有的訓練集圖片,格式都是.jpg

需要注意的是命名格式,雖然對命名沒有特別要求,但是最好按照官方的命名方法,如000001.jpg000123.jpg,然后在這個文件夾里就沒有其他東西了。

Annotations 文件夾

該文件夾下存放的是每一個圖片的標注信息,文件都是.xml格式,文件名和圖片名是一致的對於該xml的格式,可以參考一下示例:

以上是使用標注工具標注的人臉,(在下面會提到,自己寫的一個比較簡陋的標注工具 ^^),該圖片的名字是000001.jpg

然后會在Annotations文件夾下面生成一個000001.xml文件與之對應:

<annotation>
    <folder>VOCType</folder>
    <filename>000001.jpg</filename>
    <source>
        <database>VOC</database>
    </source>
    <size>
        <width>485</width>
        <height>324</height>
        <depth>3</depth>
    </size>
    <segmented>0</segmented>
    <object>
        <name>face</name>
        <pose>Unspecified</pose>
        <truncated>0</truncated>
        <difficult>0</difficult>
        <bndbox>
            <xmin>287</xmin>
            <ymin>57</ymin>
            <xmax>351</xmax>
            <ymax>150</ymax>
        </bndbox>
    </object>
</annotation>

這是一個基本的格式,其中的object標簽保存的就是人臉的位置信息,對於一個圖片里面有多個對象的話,在該xml中就有多個object。然后Annotations文件夾里面就是這樣的一堆xml文件,其他沒什么。

ImageSets 文件夾

在這個文件夾中還有一個Main文件夾,其他的文件夾不太重要(對於我目前的需求來說),這個文件夾中主要有四個.txt文件,分別是train.txttest.txttrainval.txtval.txt

test.txt中保存的是測試所用的所有樣本的名字,不過沒有后綴(下同),一般測試的樣本數量占總數據集的50%

train.txt中保存的是訓練所用的樣本名,樣本數量通常占trainval的50%左右

val.txt中保存的是驗證所用的樣本名,數量占trainval的50%左右

trainval.txt中保存的是訓練驗證樣本,是上面兩個的總和,一般數量占總數據集的50%

2.自動化標注工具

根據VOC的格式可以寫一個標注工具。例如我使用Python和C++制作的一個工具:github

首先是rename.py,該腳本用來生成三個基本文件夾並將圖片重新命名為VOC格式保存在JPEGImages中

然后打開VS2013工程,運行后可以開始進行圖片的標注

標注完成后可以執行txt.py腳本,用來生成test.txt,train.txt,val.txt,trainval.txt四個文件並保存在Main文件夾中。

相關內容請見github


免責聲明!

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



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