數據集:Pascal VOC 2007數據集分析


1 VOC2007基本信息

作為標准數據集, VOC 2007是衡量圖像分類識別能級的基准。

Faster-rcnn, yolo-V1, yolo-v2都以此數據集作為演示樣例,因此,有必要了解本數據集的組成構架。

 

VOC數據集包含:訓練集(5011幅),測試集(4952幅),共計9963幅,共包含20個種類

aeroplane
bicycle
bird
boat
bottle
bus
car
cat
chair
cow
diningtable
dog
horse
motorbike
person
pottedplant
sheep
sofa
train
tvmonitor

 

2 各類別統計信息

20個類別中,后面數字代表數據集中對應的正樣本圖像個數(非目標個數)

訓練集

aeroplane 238 bicycle 243 bird 330 boat 181 bottle 244 bus 186 car 713 cat 337 chair 445 cow 141 diningtable 200 dog 421 horse 287 motorbike 245 person 2008 pottedplant 245 sheep 96 sofa 229 train 261 tvmonitor 256

測試集

aeroplane 204 bicycle 239 bird 282 boat 172 bottle 212 bus 174 car 721 cat 322 chair 417 cow 127 diningtable 190 dog 418 horse 274 motorbike 222 person 2007 pottedplant 224 sheep 97 sofa 223 train 259 tvmonitor 229

可以看出,除了person數量較多,其他類別樣本個數不算多,在如此小的數據集上,深度學習能獲得較高的分類識別結果,足以說明深度學習的強大性能。

 

3. VOC2007具體信息

PASCAL VOC2012作為例子,下載地址為:host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar

下載完之后解壓,可以在VOCdevkit目錄下的VOC2012中看到如下的文件:

 

 數據集的組成結構如下:

Annotations--目標真值(金標准,Ground Truth)區域
ImageSets
-- 類別標簽 JPEGImages--圖像 SegmentationClass SegmentationObject

具體結構如下:

  • Annotation
    • *.xml
  • ImageSets
    • Action
      • *_train.txt
      • *_trainval.txt
      • *_val.txt
    • Layout
      • train.txt
      • trainval.txt
      • val.txt
    • Main
      • *_train.txt
      • *_trainval.txt
      • *_val.txt
    • Segmentation
      • train.txt
      • trainval.txt
      • val.txt
  • JPEGImages
    • *.jpg
  • SegmentationClass
    • *.png
  • SegmentationObject
    • *.png

①JPEGImages

JPEGImages 文件夾中包含了PASCAL VOC所提供的所有圖片信息,包括了訓練圖片和測試圖片

 

JPEGImages中存放原始圖像,這些圖像都是以“年份_編號.jpg”格式命名。圖片的像素尺寸大小不一,一般為(橫向圖)500*375或(縱向圖)375*500;基本不會偏差超過100。(在之后的訓練中,第一步就是將這些圖片都resize到300*300或500*500,所有原始圖片不能遠離標准過多。)這些圖像就是用來進行訓練和測試驗證的圖像數據集。

 

②Annotations

Annotations文件夾存放的是xml格式的標簽文件,每一個xml文件都對應於JPEGImages文件夾中的一張圖片。

 xml文件的格式具體如下:(對於2007_000392.jpg)

<annotation>  
    <folder>VOC2012</folder>                             
    <filename>2007_000392.jpg</filename>                               //文件名 <source>                                                           //圖像來源(不重要) <database>The VOC2007 Database</database>  
        <annotation>PASCAL VOC2007</annotation>  
        <image>flickr</image>  
    </source>  
    <size>                                               //圖像尺寸(長寬以及通道數) <width>500</width>  
        <height>332</height>  
        <depth>3</depth>  
    </size>  
    <segmented>1</segmented>                                   //是否用於分割(在圖像物體識別中01無所謂) <object>                                                           //檢測到的物體 <name>horse</name>                                         //物體類別 <pose>Right</pose>                                         //拍攝角度 <truncated>0</truncated>                                   //是否被截斷(0表示完整) <difficult>0</difficult>                                   //目標是否難以識別(0表示容易識別) <bndbox>                                                   //bounding-box(包含左下角和右上角xy坐標) <xmin>100</xmin>  
            <ymin>96</ymin>  
            <xmax>355</xmax>  
            <ymax>324</ymax>  
        </bndbox>  
    </object>  
    <object>                                                           //檢測到多個物體 <name>person</name>  
        <pose>Unspecified</pose>  
        <truncated>0</truncated>  
        <difficult>0</difficult>  
        <bndbox>  
            <xmin>198</xmin>  
            <ymin>58</ymin>  
            <xmax>286</xmax>  
            <ymax>197</ymax>  
        </bndbox>  
    </object>  
</annotation>  

對應的圖片為:

③ImageSets

ImageSets中有四個文件夾【Action】【Layout】【Main】【Segmentation】

ImageSets存放的每一個種類型的challenge對應的圖像數據

 Action下存放的是人的動作(例如running, jumping等等,這也是VOC challenge的一部分)

Layout下存放的是具有人體部位的數據(人的head, hand, feet等等,這也是VOC challenge的一部分)

Main下存放的是圖像物體識別的數據,總共分類20類

Segmentation下存放的是可用於分割的數據

分類識別只關注【Main】,它內部存儲20個分類類別的標簽,-1表示負樣本,+1位正樣本

*_train.txt訓練樣本集

*_val.txt評估樣本集

*_trainval.txt訓練與評估樣本匯總

 這些txt中的內容都差不多如下:

 前面的表示圖像的name,后面的1代表正樣本,-1代表負樣本

_train中存放的是訓練使用的數據,每一個class的train數據都有5717個。

_val中存放的是驗證結果使用的數據,每一個class有11540個。

需要保證的是train和val兩者沒有交集,也就是訓練數據和驗證數據不能有重復,在選取訓練數據時,也應該是隨機產生的。 


免責聲明!

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



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