ImageNet数据集 & 下载

这篇具有很好参考价值的文章主要介绍了ImageNet数据集 & 下载。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. ImageNet 说明

ImageNet官网:http://image-net.org/

ImageNet 由斯坦福李飞飞教授带领创建,ImageNet 本身有2万多个的类别,超过 1400 万张图片,其中超过 100 万张图片有明确类别标注和物体位置标注。

ImageNet 按照 WordNet 层级结构组织数据,首先介绍一下 WordNet。在 WordNet 中每一个概念(concept)都会由很多个词(word)或者短语(word phrase)来描述,就好比说 “动物 animal” 作为一个 concept,可以包含 “domestic animal 家畜”、“work animal 役畜” 等 work phrase,而 “domestic animal 家畜” 又可以继续细分为 “domestic dog”、“dog” 等。因此将每一个 concept 记作一个 “synonym set 或 synset”(同义词集合)。WordNet 中包含超过 100,000 个 synset,其中 80,000+ 是名词。WordNet 以 Synset 为基本单位来组织单词,可以认为 WordNet 是一个树状结构,从其根结点到叶子结点是一个不断细分的过程,并且每个结点都是一个 Synset。

ImageNet 包含 82,115 个 Synset(均为 WordNet 中的名词),平均在每个 Synset 上都设置了 1,000 张图像。

ImageNet数据集 & 下载
适用任务:图像分类,目标检测,目标定位、视频目标检测、场景分类

特别解释ILSVRC (ImageNet Large-Scale Visual Recognition Challenge) 是一个基于 ImageNet 的比赛,每年都会从ImageNet中抽取部分数据作为比赛数据集。ILSVRC 从 2010 年开始举行,每年一次,到 2017 年最后一届结束,因此 “ILSVRC+年份” 也用来特指某一年比赛的数据集(属于ImageNet的子集),基于 ILSVRC 比赛的子数据集也是各种论文中最常用的数据集。

2. ILSVRC2012 说明

很多论文都常用 ILSVRC2012 作为实验数据集,ILSVRC2012 包含1000个类别(ImageNet 的 1000 个 Synset),每个类别大约有1000张图片。其中测试集未公开标注信息,因此常用验证集来进行模型的测试。
ImageNet数据集 & 下载
ILSVRC2012 的类别编号和类别名称参考:类别名称对应表

ILSVRC2012 类别数 (Number of classes) 图片数 (Number of images) 文件大小 (Size on disk) 标注
训练集 1000类 约120万张图片 ~140GB 公开
验证集 1000类 5万张图片 ~6GB 公开
测试集 1000类 10万张图片 ~13GB 未公开

在官网下载ILSVRC2012时,可以看到训练数据集(Training images)被分为了 (Task1 & 2) 和 (Task 3),其中 (Task 1 & 2) 是用于图像识别任务的。
ImageNet数据集 & 下载
验证集(Validation images)对应的标注信息在Development kit (Task 1 & 2)中,下载压缩包后解压,找到ILSVRC2012_devkit_t12/data文件夹,里面的ILSVRC2012_validation_ground_truth.txt就是验证集对应的标注label。
ImageNet数据集 & 下载

3. ImageNet下载方式

ImageNet不可用于商业目的,因此需要认证edu邮箱,直接用学校邮箱认证的话请求会立马通过,如果用其他后缀的普通邮箱需要审核1~5天还不一定能审核通过。用学校邮箱认证之后会收到邮件,从邮件内提供的链接就可以进入数据的Download页面,ILSVRC下面按照年份分类,一般最常用的就是ILSVRC 2012,可以根据自己的需要选择年份。进入之后在Images条目下就是Train/Val/Test数据。

step1:进入Download页面 - 按需选择ILSVRC年份:
ImageNet数据集 & 下载
step2:在Images部分就是训练/验证/测试数据集
ImageNet数据集 & 下载
关于下载方式,如果不方便从官网下载,可以选择以下备用方案:

  • 方式1:https://hyper.ai/datasets/4889
  • 方式2:迅雷种子下载,提取码 x7jn
  • 方式3:ImageNet LSVRC 2012 Training Set (Object Detection)

4. ImageNet数据组织与使用

仍以 ILSVRC 2012 为例,在这里能够下载到关于 ILSVRC 2012 的所有数据文件。其中,带有 bbox 标识的用于目标检测任务,包括以下 4 个文件:
ImageNet数据集 & 下载
用于图像分类任务的包含以下 4 个文件:其中 train 分为了 traintrain_t3,分别对应着 task 1&2task 3
ImageNet数据集 & 下载
devkit 工具包包含以下 2 个文件:
ImageNet数据集 & 下载
训练集 ILSVRC2012_img_train 下包含两级目录,第一级目录包含 1000 个子文件夹,对应 1000 个类别。每个二级目录包含 1300 张图片,表示每个类别提供了 1300 个样本。每个子文件夹的名称为 n******,其下对应的图片名称也以文件夹名称为前缀,其后为图片序号。
ImageNet数据集 & 下载
ImageNet数据集 & 下载
验证集 ILSVRC2012_img_val 下包含 50K 张图片,可以看到验证集图片名称前缀没有类别信息。要获取验证集标签信息,需要从 ILSVRC2012_devkit_t12/data 中的 ILSVRC2012_validation_ground_truth.txt 得到。
ImageNet数据集 & 下载
1. 解压 train 和 val 数据,由于 test 数据未提供标签,因此这里不使用。

# 解压trian数据
tar -xvf ILSVRC2012_img_train.tar
# 解压val数据
mkdir ILSVRC2012_img_val
tar -xvf ILSVRC2012_img_val.tar -C ILSVRC2012_img_val
# 解压devkit
tar -xzvf ILSVRC2012_devkit_t12.tar.gz

2. 重新组织 val 数据,按照 train 数据的组织方式,对 val 数据进行处理,方便后续训练验证时对数据的加载。

def imagenet_val_process(images_dir, devkit_dir):
  """
  move val images to correspongding class folders.
  """
  # load synset, val ground truth and val images list
  synset = scipy.io.loadmat(os.path.join(devkit_dir, 'data', 'meta.mat'))
  ground_truth = open(os.path.join(devkit_dir, 'data', 'ILSVRC2012_validation_ground_truth.txt'))
  lines = ground_truth.readlines()
  labels = [int(line[:-1]) for line in lines]

  root, _, filenames = next(os.walk(images_dir))
  for filename in filenames:
      # val image name -> ILSVRC ID -> WIND
      val_id = int(filename.split('.')[0].split('_')[-1])
      ILSVRC_ID = labels[val_id - 1]
      WIND = synset['synsets'][ILSVRC_ID - 1][0][1][0]
      print("val_id:%d, ILSVRC_ID:%d, WIND:%s" % (val_id, ILSVRC_ID, WIND))

      # move val images
      output_dir = os.path.join(root, WIND)
      if os.path.isdir(output_dir):
          pass
      else:
          os.mkdir(output_dir)
      shutil.move(os.path.join(root, filename), os.path.join(output_dir, filename))

if __name__ == '__main__':
    img_dir = "/data/imagenet/ILSVRC2012_img_val"
    dev_dir = "/data/imagenet/ILSVRC2012_devkit_t12"
    imagenet_val_process(img_dir, dev_dir)

重新组织后的 val 数据与 train 数据的组织方式相同,按照二级目录的方式,包含 1000 个子文件夹(类别),每个子文件夹下包含 50 张用于验证的图片。
ImageNet数据集 & 下载

3. ImageNet 数据读取(PyTorch)

一种比较简单的读取方式是,使用 PyTorch 中自带的库 ImageFolder。ImageFolder 适合读取数据组织结构如下的数据集:

--| root
----| class1
------| img1.png
------| img2.png
------| ...
----| class2
------| ...
----| class3
------| ...

即数据按照两级目录组织,第一级目录是类别,第二级是每个类别对应的所有样本。

import torchvision.transforms as transforms
from torch.utils.data import DataLoader
from torchvision.datasets import ImageFolder

data_transform = transforms.Compose([
       transforms.Resize(299),
       transforms.CenterCrop(299),
       transforms.ToTensor(),
       transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
   ])

# 使用ImageFolder读取
train_dataset = ImageFolder(root='/data/imagenet/ILSVRC2012_img_train',transform=data_transform)
train_dataset_loader = DataLoader(train_dataset, batch_size=4, shuffle=False, num_workers=4)

print(train_dataset.imgs == train_dataset.samples)  # True
for i, (images, labels) in enumerate(train_dataset_loader):
	print(images.size())
	print(labels.size())

通过 ImageFolder 读取的结果,可以看到包含以下内容:
ImageNet数据集 & 下载

其中:

  • class:List,包含 1000 个类别名称
  • class_to_idx:Dict,每个类别名称字符串与其对应的类别序号
  • imgssamples:List,每个 List 元素为 Tuple,为每张图片的路径和其对应的类别序号
  • targets:List,每张图片对应的类别序号

施工中…文章来源地址https://www.toymoban.com/news/detail-421717.html

到了这里,关于ImageNet数据集 & 下载的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于Emgu中图像数据格式说明(Mat,Image,BitMap)

    名称空间 Namespace: Emgu.CV 细节 Mat是一个类,记录和存储图像数据,主要由两个数据部分组成: 矩阵头(大小,通道,数据类型等) 和 数据块(像素值) 。 注: 不可以利用PictureBox组件显示 名称空间 namespace System.Drawing 细节 封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成

    2024年02月08日
    浏览(10)
  • notepad++官网地址 https://notepad-plus-plus.org/;notepad++ 官网地址 https://notepad-plus-plus.org/

    notepad++ 官网地址 https://notepad-plus-plus.org/ 今天想进官网下载notepad++ ,却发现百度搜索官网都是出来很多乱七八糟的,就自己记录一下 notepad++官网:https://notepad-plus-plus.org/ notepad++项目主页:https://github.com/notepad-plus-plus/notepad-plus-plus/

    2024年02月11日
    浏览(31)
  • Tiny ImageNet 数据集分享

    ImageNet官网上的数据集,动辄就100G,真的是太大了。 有需要 Tiny Image Net 数据集的小伙伴可以点击这个下载链接: 数据集简介: Tiny ImageNet Challenge 来源于斯坦福 CS231N 课程,共237M Tiny Imagenet 有 200 个类。 每个类有 500 张训练图像、50 张验证图像和 50 张测试图像。 关于tiny im

    2023年04月09日
    浏览(17)
  • 微前端--无界方案之官网demo操作说明

    官方demo在GitHub(访问有问题,需要设置,本人未设置) 链接:https://github.com/Tencent/wujie (别处给的,也能用) 其中的包需要通过pnpm下载, 使用npm下载存在问题!!! 注:默认下载最新版pnpm,支持的node为14.6以上,以下版本请到pnpm官网找历史版本 出现一下界面,即为成功

    2024年02月08日
    浏览(49)
  • huggingface下载的.arrow数据集读取与使用说明

    将数据集下载到本地:( 此处下载的是一个物体目标检测的数据集 ) huggingface可以把处理好的数据保存成下面的格式: 下载到本地后的数据结构如下: 数据以类似于表格的形式存储,包含以下列名:[‘image_id’, ‘image’, ‘width’, ‘height’, ‘objects’] image_id: 图片id imag

    2024年02月08日
    浏览(27)
  • 远程xml读取解析,将image url下载到本地,延时队列定时删除文件,图片访问路径保存在数据库中

    远程xml部分内容 mq发布端定时任务发送消息 mq消费端 1,远程xml读取 2,xml解析,将image中图片url保存在集合中 3,遍历集合,当本地不存在此图片时,下载图片至本地 4,将图片路径传给延时队列,用于稍后删除图片 5,保存自定义图片访问路径等信息到数据库 XMLUtil读取远程

    2024年02月15日
    浏览(35)
  • org.springframework.util.StopWatch使用说明

    StopWatch是一个简单实用的秒表工具类,可以用来评估代码块的执行时间和性能。 以下是StopWatch的主要用法: 创建StopWatch对象 启动秒表计时 执行需要计时的代码块 停止秒表计时 获取执行时间 间隔计时 可以通过多次调用start()和stop()进行间隔计时。 例如: 然后可以通过getTaskTim

    2024年02月03日
    浏览(27)
  • Typora 官网下载

    Typora中文官网: https://typoraio.cn/ Typora官网: https://typora.io/releases/all 支持最新版的 安装完成后先不要打开软件,然后下载激活补丁: 链接: https://pan.baidu.com/s/1Py4lVbl7QHKdNKYJLnzxew 提取码:1234 将winmm.dll放置于Typora安装目录下即可 最后打开软件,点击帮助–我的许可证 如果看到如下

    2024年02月11日
    浏览(33)
  • 官网下载 Vivado

    1、使用 谷歌浏览器 点击如下链接进入下载界面 https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/archive.html 2、下一步,登陆你的XILINX账号,然后就可以下载了

    2024年02月12日
    浏览(31)
  • java常用下载官网

    MySQL:https://downloads.mysql.com/archives/community/ C++: https://www.microsoft.com/en-us/download/confirmation.aspx?id=40784 navicat:http://www.navicat.com.cn](http://www.navicat.com.cn/)  JDK:https://www.oracle.com/  直接下载JDk最新版:https://www.oracle.com/java/technologies/javase-downloads.html Maven官网:http://maven.apache.org/  

    2024年02月07日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包