深度学习(1):深度学习常用数据集介绍

各领域公开数据集下载

 

1.Mnist 手写字体数据集

官方数据集下载

MNIST数据集简介转载戳这里

MNIST(Mixed National Institute of Standards and Technology database)是一个计算机视觉数据集,它包含70000张手写数字的灰度图片,其中每一张图片包含 28 X 28 个像素点。可以用一个数字数组来表示这张图片:

每一张图片都有对应的标签,也就是图片对应的数字,例如上面这张图片的标签就是 1


数据集被分成两部分:60000 行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test)。

其中:60000 行的训练集分拆为 55000 行的训练集和 5000 行的验证集。


60000行的训练数据集是一个形状为 [60000, 784] 的张量,第一个维度数字用来索引图片,第二个维度数字用来索引每张图片中的像素点。在此张量里的每一个元素,都表示某张图片里的某个像素的强度值,值介于 0 和 1 之间。


60000 行的训练数据集标签是介于 0 到 9 的数字,用来描述给定图片里表示的数字。称为 "one-hot vectors"。 一个 one-hot 向量除了某一位的数字是 1 以外其余各维度数字都是 0。所以在此教程中,数字 n 将表示成一个只有在第 n 维度(从 0 开始)数字为 1 的 10 维向量。比如,标签 0 将表示成 ( [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] )。因此,其标签是一个 [60000, 10] 的数字矩阵。


Tensorflow里面可以用如下代码导入MNIST数据集:

from  tensorflow.examples.tutorials.mnist   import   input_data
mnist  =  input_data.read_data_sets ( "MNIST_data/",  one_hot=True )


成功获取MNIST数据集后,发现本地已经下载了4个压缩文件:

#训练集的压缩文件, 9912422  bytes

Extracting MNIST_data / train-images-idx3-ubyte.gz

#训练集标签的压缩文件,28881 bytes
Extracting MNIST_data / train-labels-idx1-ubyte.gz

#测试集的压缩文件,1648877 bytes
Extracting MNIST_data / t10k-images-idx3-ubyte.gz

#测试集的压缩文件,4542 bytes
Extracting MNIST_data / t10k-labels-idx1-ubyte.gz


我们可以在终端打印数据集的张量情况:

#训练集的张量

print ( mnist.train.images.shape )      

#训练集标签的张量
print ( mnist.train.labels.shape )  

#验证集的张量
print ( mnist.validation.images.shape )  

#验证集标签的张量
print ( mnist.validation.labels.shape )  

#测试集的张量
print ( mnist.test.images.shape )  

#测试集标签的张量
print ( mnist.test.labels.shape )  


张量打印结果如下:

( 55000, 784 )
( 55000, 10 )
( 5000, 784 )
( 5000, 10 )
( 10000, 784 )
( 10000, 10 )


我们发现:

1、MNIST数据集包含 55000 行训练集、5000 行验证集和10000 行测试集

2、每一张图片展开成一个 28 X 28 = 784 维的向量,展开的顺序可以随意的,只要保证每张图片的展开顺序一致即可

3、每一张图片的标签被初始化成 一个 10 维的“one-hot”向量
 

Mnist 数据集解析可以参考数据集解析

手写数据集详解

2.ImageNet数据集

官方数据集下载

与Imagenet数据集对应的有一个享誉全球的“ImageNet国际计算机视觉挑战赛(ILSVRC)”,以往一般是google、MSRA等大公司夺得冠军,今年(2016)ILSVRC2016中国团队包揽全部项目的冠军。
Imagenet数据集是一个非常优秀的数据集,但是标注难免会有错误,几乎每年都会对错误的数据进行修正或是删除,建议下载最新数据集并关注数据集更新。

相关介绍

IMAGENET Large Scale Visual Recognition Challenge(ILSVRC)


从2010年开始,每年举办的ILSVRC图像分类和目标检测大赛。


    Imagenet数据集是目前深度学习图像领域应用得非常多的一个领域,关于图像分类、定位、检测等研究工作大多基于此数据集展开。


    Imagenet数据集文档详细,有专门的团队维护,使用非常方便,在计算机视觉领域研究论文中应用非常广,几乎成为了目前深度学习图像领域算法性能检验的“标准”数据集。


    Imagenet数据集有1400多万幅图片,涵盖2万多个类别;


    其中有超过百万的图片有明确的类别标注和图像中物体位置的标注。


具体信息如下:


    Total number of non-empty synsets: 21841


    Total number of images: 14,197,122


    Number of images with bounding boxannotations: 1,034,908


    Number of synsets with SIFT features: 1000


    Number of images with SIFT features: 1.2million


Imagenet数据集是一个非常优秀的数据集,但是标注难免会有错误,几乎每年都会对错误的数据进行修正或是删除,建议下载最新数据集并关注数据集更新。

深度学习(1):深度学习常用数据集介绍_第1张图片

ImageNet Large-Scale Visual Recognition Challenge(ILSVRC)是Pascal Visual Object Challenge的子部分。ImageNet是一个数据库,有超过22000个种类,超过1500万张图片。

ILSVRC使用1000个类,每个类中有1000个图片。这1000个类一一对应于WorldNet的1000个同义子集。这1000个同义子集互相不重叠,对于同义子集,不是的祖先。这样的子集称为低层子集。这1000个子集是ImageNet层次结构的一部分。可以认为这个子集包含了1000个低层子集和他们所有的祖先。共有860个这样的祖先,被称为高层子集。在层次结构中,所有的低层特征称为叶节点,高层子集称为中间节点。尽管在ImageNet中低层子集会有子类,但ILSVRC2012并不考虑这些子类,ILSVRC2012的层次结构可以看作是对完整ImageNet结构的剪裁。ILSVRC竞赛中,所有的标记都是针对低层子集,参赛者必须预测这1000个低层子集标记之一,不考虑预测高层子集的结果,而且也没有高层子集的训练图片。

在ILSVRC中,子集信息可参见ILSVRC2012_devkit_t12中的data/meta.mat文件中的矩阵。

矩阵中的每一个行对应于一个子集,每一项中包含如下域值:

ILSVRC2012_ID是为每一子集分配的一个整数ID值,所有低层子集的ID值都在1到1000之间,所有高层子集的ID值都大于1000。所有的子集都是一句其ID值进行排序。提交预测结果时,ILSVRC2012_ID也作为相应子集的标记。

WNID是子集在WordNet中的ID。用于在ImageNet或WorldNet中唯一标记一个子集。包含训练图片的tar文件就是用WNID命名的。同样每一个训练图片也是用WNID命名的。

num_children是子集在剪裁后的结构中子孙的数目。对于低层子集其值为0,对于高层子集的值不为0。

children是子孙子集的ILSVRC2012_ID的向量。

wordnet_height是完整的ImageNet/WorldNet层次结构中到叶节点的最长路径的值。(完整的ImageNet/WorldNet层次结构中叶节点的wordnet_height值为0)

注意caffe使用的label和ILSVRC2012_devkit是不一致的。ILSVRC2012_ID是ILSVRC2012_devkit的提供的编号。而caffe中图片的label是以图片所属子集的名字的ASC II的顺序排列,并依次从0到999编号。本文提供的所有程序都是依据caffe的编号编写的。在caffe目录下的data/ilsvrc12/synset_words.txt文件查看子集/编号的对应
 

3. CIFAR-10 dataset

官网

该数据集共有60000张彩色图像,这些图像是32*32,分为10个类,每类6000张图。这里面有50000张用于训练,构成了5个训练批,每一批10000张图;另外10000用于测试,单独构成一批。测试批的数据里,取自10类中的每一类,每一类随机取1000张。抽剩下的就随机排列组成了训练批。注意一个训练批中的各类图像并不一定数量相同,总的来看训练批,每一类都有5000张图。

4. CelebA数据集

官网下载

CelebA数据集详细介绍及其属性提取源代码

CelebA是CelebFaces Attribute的缩写,意即名人人脸属性数据集,其包含10,177个名人身份的202,599张人脸图片,每张图片都做好了特征标记,包含人脸bbox标注框、5个人脸特征点坐标以及40个属性标记,CelebA由香港中文大学开放提供,广泛用于人脸相关的计算机视觉训练任务,可用于人脸属性标识训练、人脸检测训练以及landmark标记等

数据集下载官网:

http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html

官网还给了百度云盘的链接:

https://pan.baidu.com/s/1eSNpdRG?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=#list/path=%2F&parentPath=%2F

 

以下是官网给的介绍的翻译:

CelebFaces Attributes Dataset(CelebA)是一个大型人脸属性数据集,拥有超过200K名人图像,每个图像都有40个属性注释。此数据集中的图像覆盖了大的姿势变化和背景杂乱。CelebA具有大量的多样性,大量的数量和丰富的注释,包括

    10,177个身份,

    202,599个脸部图像

    5个地标位置,每个图像40个二进制属性注释。

该数据集可用作以下计算机视觉任务的训练和测试集:

面部属性识别,面部检测和地标(或面部部分)定位。
 

人脸特征检测

深度学习(1):深度学习常用数据集介绍_第2张图片

SVHN数据集

官网:http://ufldl.stanford.edu/housenumbers/

SVHN数据来源于 Google 街景视图中房屋信息,它是一个真实世界的图像数据集,用于开发机器学习和对象识别算法,对数据预处理和格式化的要求最低。它跟MNIST相似,但是包含更多数量级的标签数据(超过60万个数字图像),并且来源更加多样,用来识别自然场景图像中的数字。

有两种格式:

    1.带有字符级边界框的原始图像。
    2.类似MNIST的32×32图像以单个字符为中心(许多图像确实包含侧面的一些干扰物)。

深度学习(1):深度学习常用数据集介绍_第3张图片

 本文使用的 SVHN 数据集格式:

-- test_32x32.mat  

-- train_32x32.mat

 

LSUN数据集

官网下载

LSun场景分类的10个场景类别。LSUN 是一个场景理解图像数据集,主要包含了卧室、固房、客厅、教室等场景图像。
20对象类别:链接列表。每个类别的图像以LMDB格式存储,然后数据库被压缩。下载和解压缩ZIP文件后,请参考LSun实用代码来可视化和导出图像。还提供了每个zip文件的MD5和,以便验证下载。

 

你可能感兴趣的:(机器学习)