社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习有哪些经典数据集?

小白学视觉 • 3 年前 • 240 次点击  

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

     很多朋友在学习了神经网络和深度学习之后,早已迫不及待要开始动手实战了。第一个遇到的问题通常就是数据。作为个人学习和实验来说,很难获得像工业界那样较高质量的贴近实际应用的大量数据集,这时候一些公开数据集往往就成了大家通往AI路上的反复摩擦的对象。


     深度学习(CV方向)的经典数据集包括MNIST手写数字数据集、Fashion MNIST数据集、CIFAR-10和CIFAR-100数据集、ILSVRC竞赛的ImageNet数据集、用于检测和分割的PASCAL VOC和COCO数据集等等。本节就分别对这些经典数据集进行一个概述。

 

MNIST


     MNIST(Mixed National Institute of Standards and Technology database)数据集大家可以说是耳熟能详。可以说是每个入门深度学习的人都会使用MNIST进行实验。作为领域内最早的一个大型数据集,MNIST于1998年由Yann LeCun等人设计构建。MNIST数据集包括60000个示例的训练集以及10000个示例的测试集,每个手写数字的大小均为28*28。


     MNIST数据集官网地址:

http://yann.lecun.com/exdb/mnist/


     MNIST在TensorFlow中可以直接导入使用。在TensorFlow2.0中使用示例如下:

from tensorflow.keras.datasets import mnist(x_train, y_train), (x_test, y_test) = mnist.load_data()print(x_train.shape, y_train.shape, x_test.shape, y_test.shape)
(60000, 28, 28) (60000,) (10000, 28, 28) (10000,)


     可视化展示0-9十个数字:

import matplotlib.pyplot as pltimport numpy as npplt.figure(figsize=(12,8))
for i in range(10):    plt.subplot(2,5,i+1)    plt.xticks([])    plt.yticks([])    img = x_train[y_train == i][0].reshape(2828)    plt.imshow(img, cmap=plt.cm.binary)

Fashion MNIST


     可能是见MNIST太烂大街了,德国的一家名为Zalando的时尚科技公司提供了Fashion-MNIST来作为MNIST数据集的替代数据集。Fashion MNIST包含了10种类别70000个不同时尚穿戴品的图像,整体数据结构上跟MNIST完全一致。每张图像的尺寸同样是28*28。


     Fashion MNIST数据集地址:

https://research.zalando.com/welcome/mission/research-projects/fashion-mnist/


     Fashion MNIST同样也可以在TensorFlow中直接导入。

from tensorflow.keras.datasets import fashion_mnist(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()print(x_train.shape, y_train.shape, x_test.shape, y_test.shape)
(60000, 28, 28) (60000,) (10000, 28, 28) (10000,)


     可视化展示10种类别:

class_names = ['T-shirt/top''Trouser''Pullover''Dress''Coat',               'Sandal''Shirt''Sneaker''Bag''Ankle boot']plt.figure(figsize=(12,8))
for i in range(10):    plt.subplot(2,5,i+1)    plt.xticks([])    plt.yticks([])    plt.grid(False)    img = x_train[y_train == i][0].reshape(2828)    plt.imshow(x_train[i], cmap=plt.cm.binary) plt.xlabel(class_names[y_train[i]])


CIFAR-10


     相较于MNIST和Fashion MNIST的灰度图像,CIFAR-10数据集由10个类的60000个32*32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像。


     CIFAR-10是由Hinton的学生Alex Krizhevsky(AlexNet的作者)和Ilya Sutskever 整理的一个用于识别普适物体的彩色图像数据集。一共包含10个类别的RGB彩色图片:飞机( airplane)、汽车(automobile)、鸟类(bird)、猫(cat)、鹿(deer)、狗(dog)、蛙类(frog)、马(horse)、船(ship)和卡车(truck)。


     CIFAR-10的官方地址如下:

https://www.cs.toronto.edu/~kriz/cifar.html


     CIFAR-10在TensorFlow中导入方式如下:

from tensorflow.keras.datasets import cifar10(x_train, y_train), (x_test, y_test) = cifar10.load_data()print(x_train.shape, y_train.shape, x_test.shape, y_test.shape)

(50000, 32, 32, 3) (50000, 1) (10000, 32, 32, 3) (10000, 1)


     CIFAR-10的可视化展示如下:

plt.figure(figsize=(12,8))
for i in range(10):    plt.subplot(2,5,i+1)    plt.xticks([])    plt.yticks([])    plt.grid(False) plt.imshow(x_train[i], cmap=plt.cm.binary)


CIFAR-100


     CIFAR-100可以看作是CIFAR-10的扩大版,CIFAR-100将类别扩大到100个类,每个类包含了600张图像,分别有500张训练图像和100张测试图像。CIFAR-100的100个类被分为20个大类,每个大类又有一定数量的小类,大类和大类之间区分度较高,但小类之间有些图像具有较高的相似度,这对于分类模型来说会更具挑战性。


     CIFAR-100数据集地址:

https://www.cs.toronto.edu/~kriz/cifar.html


     CIFAR-10在TensorFlow中导入方式如下:

from tensorflow.keras.datasets import cifar100(x_train, y_train), (x_test, y_test) = cifar100.load_data()print(x_train.shape, y_train.shape, x_test.shape, y_test.shape)

(50000, 32, 32, 3) (50000, 1) (10000, 32, 32, 3) (10000, 1)


     CIFAR-100的可视化展示如下:

plt.figure(figsize=(12,8))
for i in range(100):    plt.subplot(10,10,i+1)    plt.xticks([])    plt.yticks([])    plt.grid(False) plt.imshow(x_train[i], cmap=plt.cm.binary)

 

ImageNet


     ImageNet图像数据集是在2009年由斯坦福的李飞飞主导的一个项目形成的一个数据集。李飞飞在CVPR2009上发表了一篇名为《ImageNet: A Large-Scale Hierarchical Image Database》的论文,之后从2010年开始基于ImageNet数据集的7届ILSVRC大赛,这使得ImageNet极大的推动了深度学习和计算机视觉的发展。ILSVRC大赛历届经典网络。




     目前ImageNet中总共有14197122张图像,分为21841个类别,数据官网地址为:

http://www.image-net.org/


     ImageNet数据集示例:


PASCAL VOC


     PASCAL VOC挑战赛(The PASCAL Visual Object Classes)是一个世界级的计算机视觉挑战赛, 其全称为Pattern Analysis, Statical Modeling and Computational Learning,从2005年开始到2012年结束,PASCAL VOC最初主要用于目标检测,很多经典的目标检测网络都是在PASCAL VOC上训练出来的,比如Fast R-CNN系列的各种网络。后来逐渐增加了分类、分割、动作识别和人体布局等五类比赛。


     目前PASCAL VOC主要分为VOC2007和VOC2012两个版本的数据集。VOC2007和

VOC2012的数据统计对比:




     VOC数据集示例:



     PASCAL VOC 数据集地址:

http://host.robots.ox.ac.uk/pascal/VOC/

 

COCO


     COCO数据集是微软在ImageNet和PASCAL VOC数据集标注上的基础上产生的,主要是用于图像分类、检测和分割等任务。COCO全称为Common Objects in Context,2014年微软在ECCV Workshops里发表了Microsoft COCO: Common Objects in Context。文章中说明了COCO数据集以场景理解为目标,主要从复杂的日常场景中截取,图像中的目标通过精确的分割进行位置的标定。COCO包括91个类别目标,其中有82个类别的数据量都超过了5000张。


     COCO数据集主页地址:

http://cocodataset.org/#home


     COCO数据集示例:


     当然,笔者这里所列的主要都是视觉方向的通用数据集,关于NLP和其他细分领域的一些经典数据集,我们后续内容再做介绍。

下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复: Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129057
 
240 次点击