Stanford2016-Mini-ImageNet数据集

摘要:

合集:计算机视觉数据集
数据集:斯坦福大学数据集Mini-ImageNet(2016)
数据集价值:支持识别和分类图像中的各种物体和场景

一、ImageNet简介

ImageNet是一个由斯坦福大学开发的大型视觉对象识别数据库,它包含了超过1400万张图像,涵盖了2万多个类别。这个数据集的目标是识别和分类图像中的各种物体和场景,从动物到交通工具等各个领域的图像都有涵盖。ImageNet的推出对计算机视觉领域的发展产生了深远的影响,极大地推动了计算机视觉的识别能力的进步,为机器学习领域过去十年的突飞猛进提供了坚实的基础。

1、主要特点
  • 规模庞大:包含超过1400万张图像,覆盖了大约21841个类别。
  • 类别丰富:这些类别代表了广泛的主题,从动物、植物到人造物品,以及抽象概念。
  • 标注详尽:每张图像都经过人工标注,确保了类别标签的准确性。
  • 多样性:图像具有不同的视角、光照条件、背景和尺寸,增加了识别的难度。
2、应用
  • 图像分类:广泛用于训练和评估深度学习模型的图像分类能力,如著名的AlexNet、VGGNet、ResNet等模型。
  • 目标检测:除了分类,ImageNet的标注信息也可以用于训练目标检测模型,如R-CNN、YOLO和Faster R-CNN等。
  • 语义分割:虽然不是直接设计用于语义分割,但ImageNet的图像可以被改造或与其他数据集结合,用于训练分割任务。
  • 迁移学习:由于ImageNet的广泛覆盖,预训练在ImageNet上的模型可以作为基础模型,用于其他任务的迁移学习,如医学图像分析、自动驾驶等。

但对于普通研究员或者开发者而言,这个数据集太大了(全部下载大概有100GB左右),而且训练对硬件要求也非常高,通常都是很多块高端显卡并行训练,即使是这样的配置通常还要训练好几天的时间。

二、Mini-ImageNet1

斯坦福大学的Mini-ImageNet数据集是在2016年发布的。这个数据集由Vinyals等人提出,最初是在论文《Matching Networks for One Shot Learning》中使用的。Mini-ImageNet1是一个为小样本学习(Few-shot Learning)设计的子集,它从ImageNet中选取了100个类别,每个类别包含600张图像。这个数据集被广泛用于评估少样本学习算法的性能。压缩后总共文件大小约500MB。

1、数据结构

该数据集的组织方式与原始ImageNet数据集完全相同。你会发现1000个文件夹,每个类别的文件夹名称类似于n10123204,还有一个json文件用于将文件夹名称映射到实际名称。

imagenet_class_index.json

{"0": ["n01440764", "tench"], 
"1": ["n01443537", "goldfish"],
"2": ["n01484850", "great_white_shark"],
"3": ["n01491361", "tiger_shark"],
"4": ["n01494475", "hammerhead"],
"5": ["n01496331", "electric_ray"],
"6": ["n01498041", "stingray"],
2、许可协议

数据库内容许可(DbCL)v1.0

三、Mini-ImageNet2

2016年Google DeepMind团队从Imagnet数据集中抽取的一小部分(大小约3GB)制作了Mini-Imagenet2数据集,共有100个类别,每个类别都有600张图片,共60,000张(都是.jpg结尾的文件),而且图像的大小并不是固定的。其中80个类用来训练,20类用来测试。

数据集的结构为:

├── mini-imagenet2: 数据集根目录
    ├── images: 所有的图片都存在这个文件夹中
    ├── train.csv: 对应训练集的标签文件
    ├── val.csv: 对应验证集的标签文件
    └── test.csv: 对应测试集的标签文件

Mini-Imagenet2数据集中还包含了train.csv、val.csv以及test.csv三个文件。需要注意的是,当时作者制作这个数据集时主要是针对小样本学习领域的,而且提供的标签文件并不是从每个类别中进行采样的。我自己用pandas包分析了下每个标签文件。

  • train.csv包含38,400张图片,共64个类别。
  • val.csv包含9,600张图片,共16个类别。
  • test.csv包含12,000张图片,共20个类别。

每个csv文件之间的图像以及类别都是相互独立的,即共60,000张图片,100个类。

用pandas读取的csv文件数据格式如下,每一行对应一张图片的名称和所属类别:

            filename      label
0 n0153282900000005.jpg n01532829
1 n0153282900000006.jpg n01532829
2 n0153282900000007.jpg n01532829
3 n0153282900000010.jpg n01532829
4 n0153282900000014.jpg n01532829            

至于每个类别对应的实际物体名称,可查看这个json文件,这个文件是Imagenet1000类数据中对应的标签文件。

{"0": ["n01440764", "tench"], 
"1": ["n01443537", "goldfish"],
"2": ["n01484850", "great_white_shark"],
...
}

发表评论