PASCAL VOC数据集简介
1. PASCAL VOC簡介
PASCAL VOC為圖像識別和分類提供了一整套標準化的優秀的數據集,從2005年到2012年每年都會舉行一場圖像識別challenge。
本文主要分析PASCAL VOC數據集中和圖像中物體識別相關的內容。
在這里采用PASCAL VOC2012作為例子。下載地址為:點擊打開鏈接。(本文中的系統環境為ubuntu14.04)
下載完之后解壓,可以在VOCdevkit目錄下的VOC2012中看到如下的文件:
其中在圖像物體識別上著重需要了解的是Annotations、ImageSets和JPEGImages。
?
2. JPEGImages
JPEGImages文件夾中包含了PASCAL VOC所提供的所有的圖片信息,包括了訓練圖片和測試圖片。
這些圖像都是以“年份_編號.jpg”格式命名的。
圖片的像素尺寸大小不一,但是橫向圖的尺寸大約在500*375左右,縱向圖的尺寸大約在375*500左右,基本不會偏差超過100。(在之后的訓練中,第一步就是將這些圖片都resize到300*300或是500*500,所有原始圖片不能離這個標準過遠。)
這些圖像就是用來進行訓練和測試驗證的圖像數據。
?
3. 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> ?
對應的圖片為:
?
4. 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兩者沒有交集,也就是訓練數據和驗證數據不能有重復,在選取訓練數據的時候 ,也應該是隨機產生的。
5. SegmentationClass和SegmentationObject
這兩個文件夾下保存了物體分割后的圖片,在物體識別中沒有用到,在這里不做詳細展開。
接下來需要研究的是如何自己生成訓練數據和測試數據,將在下一篇中闡述。
總結
以上是生活随笔為你收集整理的PASCAL VOC数据集简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言中未找到函数入口,C语言的入口函数
- 下一篇: 【FinE】FamaFrench 5 F