PASCAL VOC2012数据集介绍
之前有在Bilibili上簡單介紹過這個(gè)數(shù)據(jù)集,但一直沒有寫博文,今天抽空總結(jié)下,如果不想看文章的,可以看下我在Bilibili上的講解視頻。
Pascal VOC2012數(shù)據(jù)集詳解視頻: https://b23.tv/F1kSCK
Pascal VOC2012官網(wǎng)地址:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/
官方發(fā)表關(guān)于介紹數(shù)據(jù)集的文章 《The PASCALVisual Object Classes Challenge: A Retrospective》:http://host.robots.ox.ac.uk/pascal/VOC/pubs/everingham15.pdf
文章目錄
- 1 簡介
- 2 Pascal VOC數(shù)據(jù)集目標(biāo)類別
- 3 數(shù)據(jù)集下載與目錄結(jié)構(gòu)
- 4 目標(biāo)檢測任務(wù)
- 5 語義分割任務(wù)
- 6 實(shí)例分割任務(wù)
- 7 類別索引與名稱對(duì)應(yīng)關(guān)系
1 簡介
PASCAL VOC挑戰(zhàn)賽 (The PASCAL Visual Object Classes )是一個(gè)世界級(jí)的計(jì)算機(jī)視覺挑戰(zhàn)賽,PASCAL全稱:Pattern Analysis, Statical Modeling and Computational Learning,是一個(gè)由歐盟資助的網(wǎng)絡(luò)組織。PASCAL VOC挑戰(zhàn)賽主要包括以下幾類:圖像分類(Object Classification),目標(biāo)檢測(Object Detection),目標(biāo)分割(Object Segmentation),行為識(shí)別(Action Classification) 等。
- 圖像分類與目標(biāo)檢測任務(wù)
- 分割任務(wù),注意,圖像分割一般包括語義分割、實(shí)例分割和全景分割,實(shí)例分割是要把每個(gè)單獨(dú)的目標(biāo)用一種顏色表示(下圖中間的圖像),而語義分割只是把同一類別的所有目標(biāo)用同一顏色表示(下圖右側(cè)的圖片)。
- 行為識(shí)別任務(wù)
- 人體布局檢測任務(wù)
2 Pascal VOC數(shù)據(jù)集目標(biāo)類別
在Pascal VOC數(shù)據(jù)集中主要包含20個(gè)目標(biāo)類別,下圖展示了所有類別的名稱以及所屬超類。
3 數(shù)據(jù)集下載與目錄結(jié)構(gòu)
下載地址: http://host.robots.ox.ac.uk/pascal/VOC/voc2012/index.html#devkit
打開鏈接后如下圖所示,只用下載training/validation data (2GB tar file)文件即可。
下載后將文件進(jìn)行解壓,解壓后的文件目錄結(jié)構(gòu)如下所示:
注意,train.txt、val.txt和trainval.txt文件里記錄的是對(duì)應(yīng)標(biāo)注文件的索引,每一行對(duì)應(yīng)一個(gè)索引信息。如下圖所示:
4 目標(biāo)檢測任務(wù)
接下來簡單介紹下如何使用該數(shù)據(jù)集中目標(biāo)檢測的數(shù)據(jù)。
- 首先在Main文件中,讀取對(duì)應(yīng)的txt文件(注意,在Main文件夾里除了train.txt、val.txt和trainval.txt文件外,還有針對(duì)每個(gè)類別的文件,例如bus_train.txt、bus_val.txt和bus_trainval.txt)。比如使用train.txt中的數(shù)據(jù)進(jìn)行訓(xùn)練,那么讀取該txt文件,解析每一行。上面說了每一行對(duì)應(yīng)一個(gè)標(biāo)簽文件的索引。
- 接著通過索引在Annotations文件夾下找到對(duì)應(yīng)的標(biāo)注文件(.xml)。比如索引為2007_000323,那么在Annotations 文件夾中能夠找到2007_000323.xml文件。如下圖所示,在標(biāo)注文件中包含了所有需要的信息,比如filename,通過在字段能夠在JPEGImages 文件夾中能夠找到對(duì)應(yīng)的圖片。size記錄了對(duì)應(yīng)圖像的寬、高以及channel信息。每一個(gè)object代表一個(gè)目標(biāo),其中的name記錄了該目標(biāo)的名稱,pose表示目標(biāo)的姿勢(朝向),truncated表示目標(biāo)是否被截?cái)?#xff08;目標(biāo)是否完整),difficult表示該目標(biāo)的檢測難易程度(0代表簡單,1表示困難),bndbox記錄了該目標(biāo)的邊界框信息。
- 接著通過在標(biāo)注文件中的filename字段在JPEGImages 文件夾中找到對(duì)應(yīng)的圖片。比如在2007_000323.xml文件中的filename字段為2007_000323.jpg,那么在JPEGImages 文件夾中能夠找到2007_000323.jpg文件。
5 語義分割任務(wù)
接下來簡單介紹下如何使用該數(shù)據(jù)集中語義分割的數(shù)據(jù)。
- 首先在Segmentarion文件中,讀取對(duì)應(yīng)的txt文件。比如使用train.txt中的數(shù)據(jù)進(jìn)行訓(xùn)練,那么讀取該txt文件,解析每一行,每一行對(duì)應(yīng)一個(gè)圖像的索引。
- 根據(jù)索引在JPEGImages 文件夾中找到對(duì)應(yīng)的圖片。還是以2007_000323為例,可以找到2007_000323.jpg文件。
- 根據(jù)索引在SegmentationClass文件夾中找到相應(yīng)的標(biāo)注圖像(.png)。還是以2007_000323為例,可以找到2007_000323.png文件。
注意,在語義分割中對(duì)應(yīng)的標(biāo)注圖像(.png)用PIL的Image.open()函數(shù)讀取時(shí),默認(rèn)是P模式,即一個(gè)單通道的圖像。在背景處的像素值為0,目標(biāo)邊緣處用的像素值為255(訓(xùn)練時(shí)一般會(huì)忽略像素值為255的區(qū)域),目標(biāo)區(qū)域內(nèi)根據(jù)目標(biāo)的類別索引信息進(jìn)行填充,例如人對(duì)應(yīng)的目標(biāo)索引是15,所以目標(biāo)區(qū)域的像素值用15填充。
6 實(shí)例分割任務(wù)
- 同樣首先在Segmentarion文件中,讀取對(duì)應(yīng)的txt文件。比如使用train.txt中的數(shù)據(jù)進(jìn)行訓(xùn)練,那么讀取該txt文件,解析每一行,每一行對(duì)應(yīng)一個(gè)圖像的索引。
- 根據(jù)索引在JPEGImages 文件夾中找到對(duì)應(yīng)的圖片。這里以2007_000032為例,可以找到2007_000032.jpg文件,如下圖所示。
- 再根據(jù)索引在SegmentationObject文件夾中找到相應(yīng)的標(biāo)注圖像(.png)。還是以2007_000032為例,可以找到2007_000032.png文件。
注意,在實(shí)例分割中對(duì)應(yīng)的標(biāo)注圖像(.png)用PIL的Image.open()函數(shù)讀取時(shí),默認(rèn)是P模式,即一個(gè)單通道的圖像。在背景處的像素值為0,目標(biāo)邊緣處或需要忽略的區(qū)域用的像素值為255(訓(xùn)練時(shí)一般會(huì)忽略像素值為255的區(qū)域)。然后在Annotations文件夾中找到對(duì)應(yīng)的xml文件,解析xml文件后會(huì)得到每個(gè)目標(biāo)的信息,而對(duì)應(yīng)的標(biāo)注文件(.png)的每個(gè)目標(biāo)處的像素值是按照xml文件中目標(biāo)順序排列的。如下圖所示,xml文件中每個(gè)目標(biāo)的序號(hào)是與標(biāo)注文件(.png)中目標(biāo)像素值是對(duì)應(yīng)的。
7 類別索引與名稱對(duì)應(yīng)關(guān)系
下面給出在Pascal VOC數(shù)據(jù)集中各目標(biāo)類別名稱與類別索引對(duì)應(yīng)關(guān)系:
{"background": 0,"aeroplane": 1,"bicycle": 2,"bird": 3,"boat": 4,"bottle": 5,"bus": 6,"car": 7,"cat": 8,"chair": 9,"cow": 10,"diningtable": 11,"dog": 12,"horse": 13,"motorbike": 14,"person": 15,"pottedplant": 16,"sheep": 17,"sofa": 18,"train": 19,"tvmonitor": 20 }總結(jié)
以上是生活随笔為你收集整理的PASCAL VOC2012数据集介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【咸鱼教程】虚拟摇杆
- 下一篇: Rocket-chip-Cache