一、PASCAL VOC數據集
????????PASCAL VOC(Visual Object Classes)數據集是計算機視覺領域中廣泛使用的一個 標準數據集,用于目標檢測、圖像分割、圖像分類、動作識別等任務。該數據集由 PASCAL(Pattern Analysis, Statistical Modelling and Computational Learning) 網絡主辦的年度挑戰賽推出,旨在推動視覺對象識別技術的發展。
PASCAL VOC 數據集可以通過官方網站下載,每個版本的圖像和標注文件都可以獨立獲取:
The PASCAL Visual Object Classes Homepage
2012年數據集下載
????????2012 年 PASCAL 視覺對象類挑戰賽 (VOC2012)
1.1、數據集的版本
????????PASCAL VOC 數據集從2005年開始發布,最常用的版本包括2007、2010和2012年 版本。每個版本包含不同數量的圖像和注釋。
VOC2007:包括5011張訓練圖像和4952張測試圖像,總共9963張圖像。包含20 個類別。
VOC2010:圖像數量比VOC2007更多,并增加了更多復雜的場景。
VOC2012:進一步增加了數據集的大小和多樣性,包含11530張訓練和驗證圖像 (未公開test)。
1.2、數據集類別
PASCAL VOC 數據集包括以下20個類別(其他類、動物類、交通工具類、家具 類):
1. Person(人)
2. Bird(鳥)
3. Cat(貓)
4. Cow(牛)
5. Dog(狗)
6. Horse(馬)
7. Sheep(羊)
8. Aeroplane(飛機)
9. Bicycle(自行車)
10. Boat(船)
11. Bus(公共汽車)
12. Car(汽車)
13. Motorbike(摩托車)
14. Train(火車)
15. Bottle(瓶子)
16. Chair(椅子)
17. Dining table(餐桌)
18. Potted plant(盆栽植物)
19. Sofa(沙發)
20. TV/monitor(電視/監視器)
1.3、?PASCAL VOC任務
1. 目標檢測:識別圖像中的所有目標,并給出每個目標的類別和邊界框。
2. 圖像分類:給出整幅圖像的類別標簽。
3. 語義分割:對圖像中的每個像素進行分類,標注其所屬類別。
4. 動作識別:識別圖像中人物的動作類別。
1.3.1、分類/檢測圖像示例
1.3.2、語義分割
定義:
????????語義分割的目標是將圖像中的每個像素分類到預定義的類別中,而不區分同一類別中 的不同個體。
特點:
????????類別級別分類:每個像素被分配到一個類別,例如,所有的汽車像素被分類為“汽 車”。
????????不區分實例:同一類別的不同個體在結果中不區分,例如,圖像中所有的汽車像 素都被標記為“汽車”,而不會區分它們屬于不同的汽車。
例子:
????????在一張包含兩只貓和一只狗的圖片中,語義分割的結果是將所有貓的像素標記為 “貓”,將狗的像素標記為“狗”,而不會區分兩只不同的貓。
應用:
????????自動駕駛汽車中的道路和障礙物檢測。
????????醫學圖像處理中的組織和器官分割。
1.3.3、實例分割?
定義:
????????實例分割的目標是將圖像中的每個像素不僅分類到預定義的類別中,還要區分同一類 別中的不同個體。
特點:
????????類別級別和實例級別分類:每個像素不僅被分配到一個類別,還被分配到一個實 例,例如,不僅區分“汽車”,還區分每輛不同的汽車。
????????區分實例:同一類別的不同個體在結果中被區分開來,例如,圖像中兩輛不同的 汽車會被標記為“汽車1”和“汽車2”。
例子:
????????在一張包含兩只貓和一只狗的圖片中,實例分割的結果是將兩只貓分別標記為“貓1” 和“貓2”,并將狗標記為“狗”。
應用:
????????機器人視覺中的對象識別和抓取。
????????計算機視覺中的多對象跟蹤和分析。
1.4、數據集結構?
PASCAL VOC 數據集的文件結構通常包括以下幾個部分:
????????JPEGImages:存放所有圖像文件,格式為JPEG。
????????Annotations:存放圖像的標注文件,格式為XML。每個XML文件對應一張圖 像,包含圖像中每個對象的類別、邊界框坐標等信息。
????????ImageSets:包含不同任務(如Main、Segmentation、Layout、Action)下的 訓練、驗證和測試集的劃分文件。
???????????????? Main:用于分類和檢測任務。
????????????????Segmentation:用于分割任務。
????????????????Layout:用于物體布局任務。
????????????????Action:用于動作識別任務。
1.5、標注文件示例
<annotation> <!-- 文件夾名稱 --> <folder>VOC2012</folder> <!-- 圖像文件名 --> <filename>2007_000033.jpg</filename> <!-- 圖像來源信息 --> <source> <database>The VOC2007 Database</database> <!-- 數據庫名稱 --> <annotation>PASCAL VOC2007</annotation> <!-- 數據集名稱 --> <image>flickr</image> <!-- 圖像來源平臺 --> </source> <!-- 圖像尺寸信息 --> <size> <width>500</width> <!-- 圖像寬度 --> <height>366</height> <!-- 圖像高度 --> <depth>3</depth> <!-- 圖像深度(RGB三通道) --> </size> <!-- 是否進行過分割,1表示是 --> <segmented>1</segmented> <!-- 第一個對象(飛機) --> <object> <name>aeroplane</name> <!-- 對象類別:飛機 --> <pose>Unspecified</pose> <!-- 姿態:未指定 --> <truncated>0</truncated> <!-- 未截斷 --> <difficult>0</difficult> <!-- 不是難以識別的對象 --> <bndbox> <xmin>9</xmin> <!-- 邊界框左上角X坐標 --> <ymin>107</ymin> <!-- 邊界框左上角Y坐標 --> <xmax>499</xmax> <!-- 邊界框右下角X坐標 --> <ymax>263</ymax> <!-- 邊界框右下角Y坐標 --> </bndbox> </object> <!-- 第二個對象(飛機) --> <object> <name>aeroplane</name> <!-- 對象類別:飛機 --> <pose>Left</pose> <!-- 姿態:向左 --> <truncated>0</truncated> <!-- 未截斷 --> <difficult>0</difficult> <!-- 不是難以識別的對象 --> <bndbox> <xmin>421</xmin> <!-- 邊界框左上角X坐標 --> <ymin>200</ymin> <!-- 邊界框左上角Y坐標 --> <xmax>482</xmax> <!-- 邊界框右下角X坐標 --> <ymax>226</ymax> <!-- 邊界框右下角Y坐標 --> </bndbox> </object> <!-- 第三個對象(飛機,部分被截斷) --> <object> <name>aeroplane</name> <!-- 對象類別:飛機 --> <pose>Left</pose> <!-- 姿態:向左 --> <truncated>1</truncated> <!-- 被截斷 --> <difficult>0</difficult> <!-- 不是難以識別的對象 --> <bndbox> <xmin>325</xmin> <!-- 邊界框左上角X坐標 --> <ymin>188</ymin> <!-- 邊界框左上角Y坐標 --> <xmax>411</xmax> <!-- 邊界框右下角X坐標 --> <ymax>223</ymax> <!-- 邊界框右下角Y坐標 --> </bndbox> </object>
</annotation>