今天,给大家介绍一个经典的图像分类数据集——CIFAR-10,其广泛用于机器学习领域的计算机视觉算法基准测试。虽然经过10多年的发展,这个数据集的识别问题已经被“解决”,很多模型都能轻松达到80%的分类准确率,深度学习卷积神经网络在测试数据集上的分类正确率也能在90%以上,拥有较好的性能。但它仍然是许多初学者不错的选择,一起来看看。

目录

一、数据集简介

二、数据集详细信息

三、数据集任务定义及介绍

四、数据集文件结构解读

五、数据集下载

一、数据集简介

发布方:University of Toronto Computer Science

发布时间:2009

背景:

CIFAR-10本质是从一个叫做【the 80 million tiny images dataset】(“8000万张小图”数据集)中精炼剥离出来的一部分,是该数据集的子集。因为该数据涉及到了一些争议内容,目前已经被下架。

简介:

CIFAR10是由 Hinton 的学生 Alex Krizhevsky 和 Ilya Sutskever 整理的一个用于识别普适物体的小型数据集。CIFAR-10数据集包含60000幅32x32的彩色图像,分为10个类,每类6000幅图像。

二、数据集详细信息

1. 标注数据量

训练集:50000张图像

测试集:10000张图像

2. 标注类别

数据集共有10个类别。具体分类见图1。

3. 可视化

图像识别 so easy 丨经典图像分类数据集数据集CIFAR-10解读

(图1)

三、数据集任务定义及介绍

1. 图像分类

● 任务定义

图像分类是计算机视觉领域中,基于语义信息对不同图像进行分类的一种模式识别方法。

● 评价指标

Accuracy

n_correct / n_total,标签预测正确的样本占所有样本的比例。

某个类别的Precision

TP/(TP+FP),被预测为该类别的样本中,有多少样本是预测正确的。

某个类别的Recall

TP/(TP+FN),在该类别的样本中,有多少样本是预测正确的。

注:在上面的评价指标中,TP代表True Positive,FP代表False Positive,FN代表False Negative,n_correct代表所有预测正确的样本数量,n_total代表所有的样本数量。

四、数据集文件结构解读

1. 数据集目录结构

dataset_root/├── batches.meta            #记录分类信息的元文件├── data_batch_1            #训练集1├── data_batch_2            #训练集2├── data_batch_3            #训练集3├── data_batch_4            #训练集4├── data_batch_5            #训练集5├── readme.html             #README文件└── test_batch              #测试集文件

2. 标注文件格式

由于数据集中的每一副图片均为32X32的RGB图片,数据集并没有直接储存图片文件,而是将每一个数据集的所有图片通过numpy二维数组储存下来,并且记录对应的文件名。 

利用官网提供的unload代码,可以将data_batch_1等文件中的数据进行解析。

python3:

def unpickle(file):import picklewithopen(file, 'rb') as fo:dict = pickle.load(fo, encoding='bytes')return dict

python2:

def unpickle(file):import cPicklewithopen(file, 'rb') as fo:dict = cPickle.load(fo)return dict

经过解析后,得到的字典分为四部分内容,一是训练集的编号,二是每一张图片的分类编号、三是所有图片组成的numpy数组,四是文件名的列表。

图像识别 so easy 丨经典图像分类数据集数据集CIFAR-10解读

在label列表中,每一个值对应的分类类别:

图像识别 so easy 丨经典图像分类数据集数据集CIFAR-10解读

在data列表中,存放了这个batch所有图片的信息。Array是一个10000X3072的二维numpy数组,每一行储存一张图片的RGB信息。在每一行的一维数组中前1024个数据记录该图片的R通道信息,中间1024个数据记录该图片的G通道信息,最后1024个数据记录B通道信息。

在每一个通道信息的1024个数据中,以32个为一组,每一组记录图片每一行的32个像素点取值。第一组32个值记录图片第一行的像素取值,第二组32个值记录图片第二行的像素取值,以此类推。

3. 元信息格式

batches.meta文件记录了分类变量取值和对应类别的对照信息,经过提供的代码解析后,得到的字典结果为:

图像识别 so easy 丨经典图像分类数据集数据集CIFAR-10解读

五、数据集下载

OpenDataLab平台为大家提供了CIFAR-10数据集完整的数据集信息、直观的数据分布统计、流畅的下载速度、便捷的可视化脚本,欢迎体验。点击原文链接可查看。

https://opendatalab.org.cn/CIFAR-10

参考资料

[1] 官网:http://www.cs.toronto.edu/~kriz/cifar.html

[2] 数据集下载:http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz

作者丨杜坤明

有智者,万事兴

- End -

以上就是本次分享,更多精彩的数据集干货,不容错过。还有哪些想看的内容,快来告诉小助手吧。更多数据集上架动态、更全面的数据集内容解读、最牛大佬在线答疑、最活跃的同行圈子……欢迎添加微信opendatalab_yunying加入OpenDataLab官方交流群。

发表回复