1. 程式人生 > >yolo 學習筆記分享之--VOC資料集

yolo 學習筆記分享之--VOC資料集

參考:

<Pascal VOC & COCO資料集介紹 & 轉換http://www.cnblogs.com/pprp/p/9629752.html

《Pascal Voc資料集詳細分析》https://blog.csdn.net/u013832707/article/details/80060327

《檢測資料集分析VOC+COCO_RGBD》https://blog.csdn.net/yuanluolvge/article/details/77989606

首先概念解釋:

VOC解釋:

相關網址
Pascal VOC網址:http://host.robots.ox.ac.uk/pascal/VOC/ 
檢視各位大牛演算法的排名的Leaderboards:http://host.robots.ox.ac.uk:8080/leaderboard/main_bootstrap.php 
訓練/驗證資料集下載(2G):host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
 

VOCdevkit資料夾

資料集下載後解壓得到一個名為VOCdevkit的資料夾,該資料夾結構如下:

└── VOCdevkit     #根目錄
    └── VOC2012   #不同年份的資料集,這裡只下載了2012的,還有2007等其它年份的
        ├── Annotations        #存放xml檔案,與JPEGImages中的圖片一一對應,解釋圖片的內容等等
        ├── ImageSets          #該目錄下存放的都是txt檔案,txt檔案中每一行包含一個圖片的名稱,末尾會加上±1表示正負樣本
        │   ├── Action
        │   ├── Layout
        │   ├── Main
        │   └── Segmentation
        ├── JPEGImages         #存放源圖片
        ├── SegmentationClass  #存放的是圖片,分割後的效果,見下文的例子
        └── SegmentationObject #存放的是圖片,分割後的效果,見下文的例子

這裡大概介紹一下各個資料夾的內容,更細節的介紹將在後文給出: 
- Annotation資料夾存放的是xml格式的標籤檔案,該檔案是對圖片的解釋,每張圖片(位於同目錄下的 JPEGImages)都對於一個同名的xml檔案,每一個xml對應一張影象,並且每個xml中存放的是標記的各個目標的位置和類別資訊,命名通常與對應的原始影象一樣。
- ImageSets資料夾存放的是txt檔案,這些txt將資料集的圖片分成了各種集合。

        Action下存放的是人的動作(例如running、jumping等等,這也是VOC challenge的一部分);

        Main下的train.txt中記錄的是用於訓練的圖片集合,該文字檔案裡面的內容是需要用來訓練或測試的影象的名字(無後綴無路徑)

        Layout下存放的是具有人體部位的資料(人的head、hand、feet等等,這也是VOC challenge的一部分)Main下存放的是影象物體識別的資料,總共分為20類。
        Segmentation下存放的是可用於分割的資料。其中Main資料夾包含20個分類的train.txt,val.txt和trainval.txt,在txt檔案中前邊的數字表示名字,後邊的1和-1表示正負樣本的標籤

- JPEGImages資料夾存放的是資料集的原圖片,橫向圖尺寸大約在500*375左右,縱向圖尺寸大約在375*500左右,基本偏差不會超過100,因為訓練的第一步就是將圖片resize到300*300或者500*500.
- SegmentationClass以及SegmentationObject資料夾存放的都是圖片,且都是影象分割結果圖(樓主沒用過,所以不清楚:隨後完善)

Annotation資料夾

其中xml主要介紹了對應圖片的基本資訊,如來自那個資料夾、檔名、來源、影象尺寸以及影象中包含哪些目標以及目標的資訊等等,內容如下:

<annotation>
    <folder>VOC2012</folder>  #表明圖片來源
    <filename>2007_000027.jpg</filename> #圖片名稱
    <source>                  #圖片來源相關資訊
        <database>The VOC2007 Database</database>
        <annotation>PASCAL VOC2007</annotation>
        <image>flickr</image>
    </source>
    <size>     #影象尺寸
        <width>486</width>
        <height>500</height>
        <depth>3</depth>
    </size>
    <segmented>0</segmented> #是否用於分割
    <object>  #包含的物體
        <name>person</name> #物體類別
        <pose>Unspecified</pose>
        <truncated>0</truncated>
        <difficult>0</difficult>
        <bndbox>  #物體的bbox
            <xmin>174</xmin>
            <ymin>101</ymin>
            <xmax>349</xmax>
            <ymax>351</ymax>
        </bndbox>
        <part> #物體的頭
            <name>head</name>
            <bndbox>
                <xmin>169</xmin>
                <ymin>104</ymin>
                <xmax>209</xmax>
                <ymax>146</ymax>
            </bndbox>
        </part>
        <part>   #物體的手
            <name>hand</name>
            <bndbox>
                <xmin>278</xmin>
                <ymin>210</ymin>
                <xmax>297</xmax>
                <ymax>233</ymax>
            </bndbox>
        </part>
        <part>
            <name>foot</name>
            <bndbox>
                <xmin>273</xmin>
                <ymin>333</ymin>
                <xmax>297</xmax>
                <ymax>354</ymax>
            </bndbox>
        </part>
        <part>
            <name>foot</name>
            <bndbox>
                <xmin>319</xmin>
                <ymin>307</ymin>
                <xmax>340</xmax>
                <ymax>326</ymax>
            </bndbox>
        </part>
    </object>
</annotation>

ImageSets資料夾

ImageSets包含如下四個子資料夾(也可能是三個,隨後完善): 

各個資料夾中存放的是各種用途的TXT檔案。例如在Main資料夾下有名為aeroplane_train.txt的檔案,顧名思義是用於飛機類別的訓練資料。該txt的具體內容如下,其中±1應該表示的是正負樣本的含義(沒有具體研究:待完善):

2008_000008 -1
2008_000015 -1
2008_000019 -1
2008_000023 -1
2008_000028 -1
2008_000033  1
2008_000036 -1
2008_000037  1
2008_000041 -1
2008_000045 -1

其中包含的train.txt以及trainval.txt等檔案內容與上面類似。不過博主發現train.txt和trainval.txt內容中光有圖片的名字,末尾沒有標註正負1.(待完善)

JEPGImages資料夾

該資料夾存放的是資料集的所有源圖片,內容如下: 

è¿éåå¾çæè¿°

SegmentationClass資料夾

還沒有涉及影象分割領域,不太清楚該資料夾下圖片的用處,截圖貼上來吧: 

è¿éåå¾çæè¿°

SegmentationObject資料夾

同上,把內容截圖上傳: 

è¿éåå¾çæè¿°

 

和VOC相比,coco資料集上小目標多,單幅圖片目標多,物體大多非中心分佈,更符合日常環境,所以coco檢測難度更大.

 

Microsoft COCO資料集:

微軟官方對coco的解釋:https://link.springer.com/chapter/10.1007/978-3-319-10602-1_48

1)Object segmentation(2)Recognition in Context(3)Multiple objects per image(4)More than 300,000 images(5)More than 2 Million instances(6)80 object categories(7)5 captions per image(8)Keypoints on 100,000 people

coco資料集以場景理解為目標,從複雜的日常場景中擷取,影象中的目標通過精確的Segmentation進行位置的標定,包含91類目標.

詳細瞭解的話,參照 姊妹篇: yolo 學習筆記分享之--COCO資料集