【计算机视觉】常用图像数据集
圖像數(shù)據(jù)集
模型需要好的數(shù)據(jù)才能訓練出結(jié)果,本文總結(jié)了機器學習圖像方面常用數(shù)據(jù)集。
MNIST
Link
機器學習入門的標準數(shù)據(jù)集(Hello World!),10個類別,0-9 手寫數(shù)字。包含了60,000 張 28x28 的二值訓練圖像,10,000 張 28x28 的二值測試圖像。
最早的深度卷積網(wǎng)絡(luò) LeNet 便是針對 MNIST 數(shù)據(jù)集的,MNIST 數(shù)據(jù)集之所以是機器學習的 “Hello World”,是因為當前主流深度學習框架幾乎無一例外將 MNIST 數(shù)據(jù)集的處理作為介紹及入門第一教程,其中Tensorflow關(guān)于 MNIST 的教程非常詳細。
COCO
Link
COCO 是一個大規(guī)模的對象識別、分割以及 Captioning 數(shù)據(jù)集。具有以下特點:
Object segmentationRecognition in contextSuperpixel stuff segmentation330K images (>200K labeled)1.5 million object instances80 object categories91 stuff categories5 captions per image250,000 people with keypoints
以 2014 年的數(shù)據(jù)為例,其包含兩種文件類型(訓練、驗證文件均有),Annotations(圖片信息) 和 Images(圖片文件本身)。
圖片名即 Annotations 中的file_name字段。
Annotations 文件為一些超級大的 json 文件,分為三種類型:object instances, object keypoints, 和 image captions。三種類型均以以下 json 格式存儲:
Copy{
"info" : info,
"images" : [image],
"annotations" : [annotation],
"licenses" : [license],
}
info{
"year" : int,
"version" : str,
"description" : str,
"contributor" : str,
"url" : str,
"date_created" : datetime,
}
image{
"id" : int,
"width" : int,
"height" : int,
"file_name" : str,
"license" : int,
"flickr_url" : str,
"coco_url" : str,
"date_captured" : datetime,
}
license{
"id" : int,
"name" : str,
"url" : str,
}
只有每種類型的annotation格式不同,如 Object Instance Annotations 格式為:
Copyannotation{
"id" : int,
"image_id" : int,
"category_id" : int,
"segmentation" : RLE or [polygon],
"area" : float,
"bbox" : [x,y,width,height],
"iscrowd" : 0 or 1,
}
categories[{
"id" : int,
"name" : str,
"supercategory" : str,
}]
具體的格式信息可以在這里看到。
ImageNet
Link
MNIST 將初學者領(lǐng)進了深度學習領(lǐng)域,而 ImageNet 數(shù)據(jù)集對深度學習的浪潮起了巨大的推動作用。深度學習領(lǐng)域大牛 Hinton 在2012年發(fā)表的論文《ImageNet Classification with Deep Convolutional Neural Networks》在計算機視覺領(lǐng)域帶來了一場“革命”,此論文的工作正是基于 ImageNet 數(shù)據(jù)集。
ImageNet 數(shù)據(jù)集有1400多萬幅圖片,涵蓋2萬多個類別;其中有超過百萬的圖片有明確的類別標注和圖像中物體位置的標注,具體信息如下:
Total number of non-empty synsets: 21841Total number of images: 14,197,122Number of images with bounding box annotations: 1,034,908Number of synsets with SIFT features: 1000Number of images with SIFT features: 1.2 million
你可以下載圖片 urls 文件或者圖片文件(需要注冊,用于非商業(yè)用途)。圖片 urls 文件內(nèi)容為圖片 ID 和 url:
Copyn00015388_12 http://farm4.static.flickr.com/3040/2946102733_9b9c9cf24e.jpg
n00015388_24 http://farm3.static.flickr.com/2093/2288303747_c62c007531.jpg
n00015388_81 http://www.theresevangelder.nl/images/dierenportretten/dier4.jpg
n00015388_155 http://www.zuidafrikaonline.nl/images/zuid-afrika-reis-giraffe.jpg
n00015388_157 http://farm1.static.flickr.com/145/430300483_21e993670c.jpg
...
_前面部分為 WordNet ID(wnid),一個 wnid 代表一個 synset(同義詞集),如n02084071代表 "dog, domestic dog, Canis familiaris" 。具體信息可以看官方文檔。
ImageNet 的 Object Bounding Boxes 文件采用了和 PASCAL VOC 數(shù)據(jù)集相同的格式,因此可以使用 PASCAL Development Toolkit 解析。另外,ImageNet 的 Object Bounding Boxes 文件是按照 synset(同義詞集)劃分子文件夾的,每個壓縮包下面是同語義的圖片文件 Annotation:
The PASCAL Visual Object Classes
Link
PASCAL VOC挑戰(zhàn)賽是視覺對象的分類識別和檢測的一個基準測試,提供了檢測算法和學習性能的標準圖像注釋數(shù)據(jù)集和標準的評估系統(tǒng)。PASCAL VOC2007之后的數(shù)據(jù)集包括20個類別:人類;動物(鳥、貓、牛、狗、馬、羊);交通工具(飛機、自行車、船、公共汽車、小轎車、摩托車、火車);室內(nèi)(瓶子、椅子、餐桌、盆栽植物、沙發(fā)、電視)。PASCAL VOC挑戰(zhàn)賽在2012年后便不再舉辦,但其數(shù)據(jù)集圖像質(zhì)量好,標注完備,非常適合用來測試算法性能。
數(shù)據(jù)集包括圖片的三種信息:原始圖片(JPEGImages文件夾),對象像素(SegmentationClass文件夾)和分類像素(SegmentationObject文件夾):
解壓之后這些圖片分別放在如下文件夾:
其中Annotations文件夾是圖片描述的 xml 文件,例如JPEGImages文件夾中的000007.jpg圖片,就會有相應(yīng)的000007.xml文件描述該圖片,包括圖片的寬高、包含的 Object(可以有多個) 的類別、坐標等信息:
Copy<annotation>
<folder>VOC2007</folder>
<filename>000007.jpg</filename>
<source>
<database>The VOC2007 Database</database>
<annotation>PASCAL VOC2007</annotation>
<image>flickr</image>
<flickrid>194179466</flickrid>
</source>
<owner>
<flickrid>monsieurrompu</flickrid>
<name>Thom Zemanek</name>
</owner>
<size> //圖像尺寸(長寬以及通道數(shù))
<width>500</width>
<height>333</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>car</name> //物體類別
<pose>Unspecified</pose> //拍攝角度
<truncated>1</truncated> //是否被截斷(0表示完整)
<difficult>0</difficult> //目標是否難以識別(0表示容易識別)
<bndbox> //bounding-box(包含左下角和右上角坐標)
<xmin>141</xmin>
<ymin>50</ymin>
<xmax>500</xmax>
<ymax>330</ymax>
</bndbox>
</object>
</annotation>
ImageSets 存放的是每一年的 Challenge 對應(yīng)的圖像數(shù)據(jù),不同年份數(shù)據(jù)可能不同。
其中Action下存放的是人的動作(例如running、jumping等等,這也是VOC challenge的一部分)Layout下存放的是具有人體部位的數(shù)據(jù)(人的head、hand、feet等等,這也是VOC challenge的一部分)Main文件夾下包含了各個分類的***_train.txt、***_val.txt和***_trainval.txt,如aeroplane_train.txt。文件每行是一個圖片ID以及是否為正樣本(1代表正樣本,-1代表負樣本)。Segmentation下存放的是驗證集圖片ID(val.txt文件)、訓練集圖片ID(train.txt文件)以及兩者的合集(trainval.txt文件)。
The CIFAR-10 dataset and The CIFAR-100 dataset
Link
CIFAR-10 和 CIFAR-100 數(shù)據(jù)集是80 million tiny images的子集。以 CIFAR-10 Python 版本為例,包含 10 個分類,60000 張 32x32 彩色圖片,每個分類 6000 張圖片。其中 50000 張是訓練圖片,另外 10000 張是測試圖片。
其中 50000 張分成了 5 個訓練 batches,剩下的 10000 張是 test batch。訓練數(shù)據(jù)每個類總共包含 5000 張,但每個 batch 每個類的圖片數(shù)量可能并不平均。
每個 batch 文件都是 Python pickle 生成的,所以可以使用 pickle 讀取:
Copydef unpickle(file):
import pickle
with open(file, 'rb') as fo:
dict = pickle.load(fo, encoding='bytes')
return dict
函數(shù)返回一個dict對象,其中有兩個 key 比較重要:
data:10000x3072 numpy array,每一行是一個 32x32 彩色圖片。每 1024 個元素依次代表 R G B,像素值沒有歸一化(取值為 0-255)。labels:每一行代表圖片分類,取值 0-9。
CIFAR-100 和 CIFAR-10 類似,只是類別為 100 個。實際上,CIFAR-10 和 MNIST 很類似。
Tiny Images Dataset
Link
Tiny Images dataset 包含 79,302,017 張 32x32 彩色圖片。包含 5 個文件:
Image binary (227Gb):圖片本身,二進制格式Metadata binary (57Gb):圖片信息(filename, search engine used, ranking etc)Gist binary (114Gb):圖片描述Index data (7Mb):Matlab 索引文件Matlab Tiny Images toolbox (150Kb) :Matlab 索引文件 代碼,用來加載圖片
FDDB: Face Detection Data Set and Benchmark
Link
FDDB是全世界最具權(quán)威的人臉檢測評測平臺之一,包含來自Faces in the Wild的2845張圖片,共有5171個人臉數(shù)據(jù)。測試集范圍包括:不同姿勢、不同分辨率、旋轉(zhuǎn)和遮擋等圖片,同時包括灰度圖和彩色圖,標準的人臉標注區(qū)域為橢圓形。
FDDB 數(shù)據(jù)集包含以下內(nèi)容:
原始圖片(來自Faces in the Wild)人臉數(shù)據(jù)(Face annotations)檢測輸出(包括矩形區(qū)域 和 橢圓區(qū)域)其他信息
原始圖片
原始圖片可以在這里下載:originalPics.tar.gz。解壓后圖片的路徑為originalPics/year/month/day/big/*.jpg。
人臉數(shù)據(jù)(Face annotations)
比較重要的是 Face annotations。解壓縮 FDDB-folds.tgz 文件將會得到 FDDB-folds 文件夾,包含 FDDB-fold-xx.txt 和 FDDB-fold-xx-ellipseList.txt 文件,xx代表文件夾索引。
"FDDB-fold-xx.txt" 文件的每一行指定了一個上述原始圖片的一個文件名,如 "2002/07/19/big/img_130" 對應(yīng) "originalPics/2002/07/19/big/img_130.jpg."
對應(yīng)的 annotations 文件 "FDDB-fold-xx-ellipseList.txt" 格式如下:
Copy...
<image name i>
<number of faces in this image =im>
<face i1>
<face i2>
...
<face im>
...
每一個 face 即一個橢圓區(qū)域,用以下格式表示:
Copy<長軸半徑 短軸半徑 長軸方向 x軸中心坐標 y軸中心坐標 1>
示例:
Copy2002/08/11/big/img_591
1
123.583300 85.549500 1.265839 269.693400 161.781200 1
2002/08/26/big/img_265
3
67.363819 44.511485 -1.476417 105.249970 87.209036 1
41.936870 27.064477 1.471906 184.070915 129.345601 1
70.993052 43.355200 1.370217 340.894300 117.498951 1
2002/07/19/big/img_423
1
87.080955 59.379319 1.550861 255.383099 133.767857 1
2002/08/24/big/img_490
1
54.692105 35.056825 -1.384924 145.665694 78.101005 1
2002/08/31/big/img_17676
2
37.099961 29.000000 1.433107 28.453831 37.664572 1
79.589662 49.835046 -1.457361 112.514300 92.364284 1
參考
PASCAL VOC數(shù)據(jù)集分析深度學習視覺領(lǐng)域常用數(shù)據(jù)集匯總
總結(jié)
以上是生活随笔為你收集整理的【计算机视觉】常用图像数据集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FATFS 初学之 f_mount
- 下一篇: python 编辑数学公式_Jupyte