PASCAL VOC數據集分析(轉)

PASCAL VOC數據集分析
PASCAL VOC爲圖像識別和分類提供了一整套標準化的優秀的數據集,從2005年到2012年每一年都會舉行一場圖像識別challenge。
本文主要分析PASCAL VOC數據集中和圖像中物體識別相關的內容。
 
在這裏採用PASCAL VOC2012做爲例子。下載地址爲:點擊打開連接。(本文中的系統環境爲ubuntu14.04)
下載完以後解壓,能夠在VOCdevkit目錄下的VOC2012中看到以下的文件:

其中在圖像物體識別上着重須要瞭解的是Annotations、ImageSets和JPEGImages。

JPEGImages
 
JPEGImages文件夾中包含了PASCAL VOC所提供的全部的圖片信息,包括了訓練圖片和測試圖片。
這些圖像都是以「年份_編號.jpg」格式命名的。
圖片的像素尺寸大小不一,可是橫向圖的尺寸大約在500*375左右,縱向圖的尺寸大約在375*500左右,
基本不會誤差超過100。(在以後的訓練中,第一步就是將這些圖片都resize到300*300或是500*500,全部原始圖片不能離這個標準過遠。)
這些圖像就是用來進行訓練和測試驗證的圖像數據。

Annotations

Annotations文件夾中存放的是xml格式的標籤文件,每個xml文件都對應於JPEGImages文件夾中的一張圖片。
xml文件的具體格式以下:(對於2007_000392.jpg)
[html] view plain copy
  1. <annotation>  
  2.     <folder>VOC2012</folder>                             
  3.     <filename>2007_000392.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下有四個文件夾:
其中Action下存放的是人的動做(例如running、jumping等等,這也是VOC challenge的一部分)
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數據都有5717個。
_val中存放的是驗證結果使用的數據,每個class的val數據都有5823個。
_trainval將上面兩個進行了合併,每個class有11540個。
須要保證的是train和val二者沒有交集,也就是訓練數據和驗證數據不能有重複,在選取訓練數據的時候 ,也應該是隨機產生的。
 
SegmentationClass和SegmentationObject

這兩個文件夾下保存了物體分割後的圖片,在物體識別中沒有用到,在這裏不作詳細展開。

接下來須要研究的是如何本身生成訓練數據和測試數據,將在下一篇中闡述。
 
轉自:http://blog.csdn.net/zhangjunbob/article/details/52769381
相關文章
相關標籤/搜索