PASCAL VOC為圖像識別和分類提供了一整套標准化的優秀的數據集,從2005年到2012年每年都會舉行一場圖像識別challenge。該挑戰的主要目的是識別真實場景中一些類別的物體。在該挑戰中,這是一個監督學習的問題,訓練集以帶標簽的圖片的形式給出。這些物體包括20類:
Person: person
Animal: bird, cat, cow, dog, horse, sheep
Vehicle: aeroplane, bicycle, boat, bus, car, motorbike, train
Indoor: bottle, chair, dining table, potted plant, sofa, tv/monitor
該挑戰主要包括三類任務:分類(classification),檢測(detection),和分割(segmentation) 所有的標注圖片都有Detection需要的label, 但只有部分數據有Segmentation Label。
VOC2007中包含9963張標注過的圖片, 由train/val/test三部分組成, 共標注出24,640個物體。
VOC2007的test數據label已經公布, 之后的沒有公布(只有圖片,沒有label)。 對於檢測任務,VOC2012的trainval/test包含08-11年的所有對應圖片。
trainval有11540張圖片共27450個物體。 對於分割任務, VOC2012的trainval包含07-11年的所有對應圖片, test只包含08-11。trainval有 2913張圖片共6929個物體。
在這里采用PASCAL VOC2012作為例子。下載地址為:點擊打開鏈接。
下載完之后解壓,可以在VOCdevkit目錄下的VOC2012中看到如下的文件夾:

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

這些圖像都是以“編號.jpg”格式命名的。
圖片的像素尺寸大小不一,但是橫向圖的尺寸大約在500375左右,縱向圖的尺寸大約在375500左右,基本不會偏差超過100。(在之后的訓練中,第一步就是將這些圖片都resize到300300或是500500,所有原始圖片不能離這個標准過遠。)
這些圖像就是用來進行訓練和測試驗證的圖像數據。
Annotations
Annotations文件夾中存放的是xml格式的標簽文件,每一個xml文件都對應於JPEGImages文件夾中的一張圖片。

1 <annotation> 2 <folder>VOC2007</folder> 3 <filename>000xxx.jpg</filename> //文件名 4 <source> //圖像來源(不重要) 5 <database>The VOC2007 Database</database> 6 <annotation>PASCAL VOC2007</annotation> 7 <image>flickr</image> 8 </source> 9 <size> //圖像尺寸(長寬以及通道數) 10 <width>500</width> 11 <height>332</height> 12 <depth>3</depth> 13 </size> 14 <segmented>1</segmented> //是否用於分割(在圖像物體識別中01無所謂) 15 <object> //檢測到的物體 16 <name>horse</name> //物體類別 17 <pose>Right</pose> //拍攝角度 18 <truncated>0</truncated> //是否被截斷(0表示完整) 19 <difficult>0</difficult> //目標是否難以識別(0表示容易識別) 20 <bndbox> //bounding-box(包含左下角和右上角xy坐標) 21 <xmin>100</xmin> 22 <ymin>96</ymin> 23 <xmax>355</xmax> 24 <ymax>324</ymax> 25 </bndbox> 26 </object> 27 <object> //檢測到多個物體 28 <name>person</name> 29 <pose>Unspecified</pose> 30 <truncated>0</truncated> 31 <difficult>0</difficult> 32 <bndbox> 33 <xmin>198</xmin> 34 <ymin>58</ymin> 35 <xmax>286</xmax> 36 <ymax>197</ymax> 37 </bndbox> 38 </object> 39 </annotation>
ImageSets
ImageSets存放的是每一種類型的challenge對應的圖像數據。在ImageSets下有四個文件夾:

Layout下存放的是具有人體部位的數據(人的head、hand、feet等等,這也是VOC challenge的一部分)
Main下存放的是圖像物體識別的數據,總共分為20類。
Segmentation下存放的是可用於分割的數據。
- 在這里主要考察Main文件夾。

Main文件夾下包含了20個分類的***_train.txt、***_val.txt和***_trainval.txt。
這些txt中的內容都差不多如下:

前面的表示圖像的name,后面的1代表正樣本,-1代表負樣本。
_train中存放的是訓練使用的數據,每一個class的train數據都有2501個。
_val中存放的是驗證結果使用的數據,每一個class的val數據都有2510個。
_trainval將上面兩個進行了合並,每一個class有5011個。
需要保證的是train和val兩者沒有交集,也就是訓練數據和驗證數據不能有重復,在選取訓練數據的時候 ,也應該是隨機產生的。
---------------------
REF:https://blog.csdn.net/zw__chen/article/details/82856231
