【计算机视觉】常用图像数据集

图像数据集

模型需要好的数据才能训练出结果,本文总结了机器学习图像方面常用数据集。

MNIST

file

机器学习入门的标准数据集(Hello World!),10个类别,0-9 手写数字。包含了60,000 张 28x28 的二值训练图像,10,000 张 28x28 的二值测试图像。

最早的深度卷积网络 LeNet 便是针对 MNIST 数据集的,MNIST 数据集之所以是机器学习的 “Hello World”,是因为当前主流深度学习框架几乎无一例外将 MNIST 数据集的处理作为介绍及入门第一教程,其中 Tensorflow 关于 MNIST 的教程非常详细。

COCO

file

COCO 是一个大规模的对象识别、分割以及 Captioning 数据集。具有以下特点:

  1. Object segmentation
  2. Recognition in context
  3. Superpixel stuff segmentation
  4. 330K images (>200K labeled)
  5. 1.5 million object instances
  6. 80 object categories
  7. 91 stuff categories
  8. 5 captions per image
  9. 250,000 people with keypoints

以 2014 年的数据为例,其包含两种文件类型(训练、验证文件均有),Annotations(图片信息) 和 Images(图片文件本身)。

file

图片名即 Annotations 中的 file_name 字段。

file

Annotations 文件为一些超级大的 json 文件,分为三种类型:object instances, object keypoints, 和 image captions。三种类型均以以下 json 格式存储:

Copy{
"info" : info, 
"images" : [image],
"annotations" : [annotation], 
"licenses" : [license],
}

info{
"year" : int, 
"version" : str, 
"description" : str, 
"contributor" : str, 
"url" : str, 
"date_created" : datetime,
}

image{
"id" : int, 
"width" : int, 
"height" : int, 
"file_name" : str, 
"license" : int,
"flickr_url" : str, 
"coco_url" : str, 
"date_captured" : datetime,
}

license{
"id" : int, 
"name" : str, 
"url" : str,
}

只有每种类型的 annotation 格式不同,如 Object Instance Annotations 格式为:

Copyannotation{
"id" : int, 
"image_id" : int, 
"category_id" : int, 
"segmentation" : RLE or [polygon], 
"area" : float, 
"bbox" : [x,y,width,height], 
"iscrowd" : 0 or 1,
}

categories[{
"id" : int, 
"name" : str, 
"supercategory" : str,
}]

ImageNet

file

MNIST 将初学者领进了深度学习领域,而 ImageNet 数据集对深度学习的浪潮起了巨大的推动作用。深度学习领域大牛 Hinton 在2012年发表的论文《ImageNet Classification with Deep Convolutional Neural Networks》在计算机视觉领域带来了一场“革命”,此论文的工作正是基于 ImageNet 数据集。

ImageNet 数据集有1400多万幅图片,涵盖2万多个类别;其中有超过百万的图片有明确的类别标注和图像中物体位置的标注,具体信息如下:

  1. Total number of non-empty synsets: 21841
  2. Total number of images: 14,197,122
  3. Number of images with bounding box annotations: 1,034,908
  4. Number of synsets with SIFT features: 1000
  5. Number of images with SIFT features: 1.2 million

你可以下载图片 urls 文件或者图片文件(需要注册,用于非商业用途)。图片 urls 文件内容为图片 ID 和 url:

Copyn00015388_12    http://farm4.static.flickr.com/3040/2946102733_9b9c9cf24e.jpg
n00015388_24    http://farm3.static.flickr.com/2093/2288303747_c62c007531.jpg
n00015388_81    http://www.theresevangelder.nl/images/dierenportretten/dier4.jpg
n00015388_155   http://www.zuidafrikaonline.nl/images/zuid-afrika-reis-giraffe.jpg
n00015388_157   http://farm1.static.flickr.com/145/430300483_21e993670c.jpg
...

_ 前面部分为 WordNet ID(wnid),一个 wnid 代表一个 synset(同义词集),如 n02084071 代表 “dog, domestic dog, Canis familiaris” 。具体信息可以看官方文档。

ImageNet 的 Object Bounding Boxes 文件采用了和 PASCAL VOC 数据集相同的格式,因此可以使用 PASCAL Development Toolkit 解析。另外,ImageNet 的 Object Bounding Boxes 文件是按照 synset(同义词集)划分子文件夹的,每个压缩包下面是同语义的图片文件 Annotation:

file

The PASCAL Visual Object Classes

PASCAL VOC挑战赛是视觉对象的分类识别和检测的一个基准测试,提供了检测算法和学习性能的标准图像注释数据集和标准的评估系统。PASCAL VOC2007之后的数据集包括20个类别:人类;动物(鸟、猫、牛、狗、马、羊);交通工具(飞机、自行车、船、公共汽车、小轿车、摩托车、火车);室内(瓶子、椅子、餐桌、盆栽植物、沙发、电视)。PASCAL VOC挑战赛在2012年后便不再举办,但其数据集图像质量好,标注完备,非常适合用来测试算法性能。
数据集包括图片的三种信息:原始图片(JPEGImages 文件夹),对象像素(SegmentationClass 文件夹)和分类像素(SegmentationObject 文件夹):

file

解压之后这些图片分别放在如下文件夹:

file

其中 Annotations 文件夹是图片描述的 xml 文件,例如 JPEGImages 文件夹中的 000007.jpg 图片,就会有相应的 000007.xml 文件描述该图片,包括图片的宽高、包含的 Object(可以有多个) 的类别、坐标等信息:

Copy<annotation>
    <folder>VOC2007</folder>
    <filename>000007.jpg</filename>
    <source>
        <database>The VOC2007 Database</database>
        <annotation>PASCAL VOC2007</annotation>
        <image>flickr</image>
        <flickrid>194179466</flickrid>
    </source>
    <owner>
        <flickrid>monsieurrompu</flickrid>
        <name>Thom Zemanek</name>
    </owner>
    <size>   //图像尺寸(长宽以及通道数) 
        <width>500</width>
        <height>333</height>
        <depth>3</depth>
    </size>
    <segmented>0</segmented>
    <object>
        <name>car</name>  //物体类别
        <pose>Unspecified</pose>   //拍摄角度
        <truncated>1</truncated>   //是否被截断(0表示完整)
        <difficult>0</difficult>   //目标是否难以识别(0表示容易识别)
        <bndbox>  //bounding-box(包含左下角和右上角坐标)  
            <xmin>141</xmin>
            <ymin>50</ymin>
            <xmax>500</xmax>
            <ymax>330</ymax>
        </bndbox>
    </object>
</annotation>

ImageSets 存放的是每一年的 Challenge 对应的图像数据,不同年份数据可能不同。

file

  1. 其中 Action 下存放的是人的动作(例如running、jumping等等,这也是VOC challenge的一部分)
  2. Layout 下存放的是具有人体部位的数据(人的head、hand、feet等等,这也是VOC challenge的一部分)
  3. Main 文件夹下包含了各个分类的 ***_train.txt***_val.txt和 ***_trainval.txt,如 aeroplane_train.txt。文件每行是一个图片ID以及是否为正样本(1代表正样本,-1代表负样本)。
  4. Segmentation 下存放的是验证集图片ID(val.txt 文件)、训练集图片ID(train.txt 文件)以及两者的合集(trainval.txt 文件)。

The CIFAR-10 dataset and The CIFAR-100 dataset

CIFAR-10 和 CIFAR-100 数据集是 80 million tiny images 的子集。以 CIFAR-10 Python 版本为例,包含 10 个分类,60000 张 32x32 彩色图片,每个分类 6000 张图片。其中 50000 张是训练图片,另外 10000 张是测试图片。

file

其中 50000 张分成了 5 个训练 batches,剩下的 10000 张是 test batch。训练数据每个类总共包含 5000 张,但每个 batch 每个类的图片数量可能并不平均。

file

每个 batch 文件都是 Python pickle 生成的,所以可以使用 pickle 读取:

Copydef unpickle(file):
    import pickle
    with open(file, 'rb') as fo:
        dict = pickle.load(fo, encoding='bytes')
    return dict

函数返回一个 dict 对象,其中有两个 key 比较重要:

  1. data:10000x3072 numpy array,每一行是一个 32x32 彩色图片。每 1024 个元素依次代表 R G B,像素值没有归一化(取值为 0-255)。
  2. labels:每一行代表图片分类,取值 0-9。

CIFAR-100 和 CIFAR-10 类似,只是类别为 100 个。实际上,CIFAR-10 和 MNIST 很类似。

Tiny Images Dataset

file

Tiny Images dataset 包含 79,302,017 张 32x32 彩色图片。包含 5 个文件:

  1. Image binary (227Gb):图片本身,二进制格式
  2. Metadata binary (57Gb):图片信息(filename, search engine used, ranking etc)
  3. Gist binary (114Gb):图片描述
  4. Index data (7Mb):Matlab 索引文件
  5. Matlab Tiny Images toolbox (150Kb) :Matlab 索引文件 代码,用来加载图片

FDDB: Face Detection Data Set and Benchmark

FDDB是全世界最具权威的人脸检测评测平台之一,包含来自 Faces in the Wild 的2845张图片,共有5171个人脸数据。测试集范围包括:不同姿势、不同分辨率、旋转和遮挡等图片,同时包括灰度图和彩色图,标准的人脸标注区域为椭圆形。

FDDB 数据集包含以下内容:

  1. 原始图片(来自 Faces in the Wild )
  2. 人脸数据(Face annotations)
  3. 检测输出(包括矩形区域 和 椭圆区域)
  4. 其他信息

原始图片

原始图片可以在这里下载:originalPics.tar.gz。解压后图片的路径为 originalPics/year/month/day/big/*.jpg

file

人脸数据(Face annotations)

比较重要的是 Face annotations。解压缩 FDDB-folds.tgz 文件将会得到 FDDB-folds 文件夹,包含 FDDB-fold-xx.txt 和 FDDB-fold-xx-ellipseList.txt 文件,xx 代表文件夹索引。

file

“FDDB-fold-xx.txt” 文件的每一行指定了一个上述原始图片的一个文件名,如 “2002/07/19/big/img_130” 对应 “originalPics/2002/07/19/big/img_130.jpg.”

对应的 annotations 文件 “FDDB-fold-xx-ellipseList.txt” 格式如下:

Copy...
<image name i>
<number of faces in this image =im>
<face i1>
<face i2>
...
<face im>
...

每一个 face 即一个椭圆区域,用以下格式表示:

Copy<长轴半径  短轴半径  长轴方向  x轴中心坐标  y轴中心坐标  1>

示例:

Copy2002/08/11/big/img_591
1
123.583300 85.549500 1.265839 269.693400 161.781200  1
2002/08/26/big/img_265
3
67.363819 44.511485 -1.476417 105.249970 87.209036  1
41.936870 27.064477 1.471906 184.070915 129.345601  1
70.993052 43.355200 1.370217 340.894300 117.498951  1
2002/07/19/big/img_423
1
87.080955 59.379319 1.550861 255.383099 133.767857  1
2002/08/24/big/img_490
1
54.692105 35.056825 -1.384924 145.665694 78.101005  1
2002/08/31/big/img_17676
2
37.099961 29.000000 1.433107 28.453831 37.664572  1
79.589662 49.835046 -1.457361 112.514300 92.364284  1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/289885.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

滑动窗口最大值(力扣239题)

单调递减队列&#xff1a; 在解决题目之前&#xff0c;我们先来了解一下单调递减队列&#xff0c;它其实就是在队列的基础上多加了一些限制&#xff0c;如下图&#xff1a; 要求队列中的元素必须按从大到小的顺序排列。 如果向单调递减队列中加入数字 1&#xff0c;可以直接加入…

【Vue2+3入门到实战】(22)VUE3之组合式API - setup、reactive和ref函数、computed、watch、生命周期函数详细讲解

目录 一、组合式API - setup选项1. setup选项的写法和执行时机2. setup中写代码的特点3. <script setup>语法糖 二、组合式API - reactive和ref函数1. reactive2. ref3. reactive 对比 ref 三、组合式API - computed四、组合式API - watch1. 侦听单个数据2. 侦听多个数据…

SpringBoot: 通过MyBatis访问ClickHouse

一、ClickHouse中建表&#xff0c;添加数据 二、SpringBoot项目添加mybatis、clickhouse、druid相关依赖 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.6</version></dependency>…

MySQL第三战:CRUD,函数1以及unionunion all

前言 在当今的数字化时代&#xff0c;数据库已经成为信息管理的重要工具。其中&#xff0c;MySQL作为一种流行的关系型数据库管理系统&#xff0c;已经广泛应用于各种业务场景。在本文中&#xff0c;我们将深入探讨MySQL中的核心概念&#xff0c;包括创建&#xff08;Create&a…

航空业数字化展翅高飞,开源网安专业服务保驾护航

​某知名航空公司是中国首批民营航空公司之一&#xff0c;运营国内外航线200多条&#xff0c;也是国内民航最高客座率的航空公司之一。在数字化发展中&#xff0c;该航空公司以数据驱动决策&#xff0c;通过精细化管理、数字创新和模式优化等方式&#xff0c;实现了精准营销和个…

线性代数——(期末突击)矩阵(上)-概念篇(矩阵的定义、矩阵的运算、特殊矩阵、初等变换)

目录 矩阵的定义 矩阵的运算 相加 相乘 数乘 与单位阵相乘 矩阵的幂 转置 特殊矩阵 数量矩阵 对称矩阵 伴随矩阵 逆矩阵 初等变换 矩阵的定义 由个数排成的m行n列的数表&#xff0c;称为m行n列的矩阵&#xff0c;简称矩阵&#xff0c;记作&#xff1a; 简记为…

Harmony 开始支持 Flutter ,聊聊 Harmony 和 Flutter 之间的因果

原创作者&#xff1a;恋猫de小郭 相信大家都已经听说过&#xff0c;明年的 Harmony Next 版本将正式剥离 AOSP 支持 &#xff0c;基于这个话题我已经做过一期问题汇总 &#xff0c;当时在 现有 App 如何兼容 Harmony Next 问题上提到过&#xff1a; 华为内部也主导适配目前的主…

异常检测 | Matlab基于GNN图神经网络的异常数据检测

异常检测 | Matlab基于GNN图神经网络的异常数据检测 目录 异常检测 | Matlab基于GNN图神经网络的异常数据检测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 Matlab基于GNN图神经网络的异常数据检测。其核心思想是学习一个函数映射。本次使用人类活动数据&#…

MySQL的基础架构之内部执行过程

MySQL的逻辑架构图 如上图所示&#xff0c;MySQL可以分为Server层和存储引擎层两部分&#xff1a; 1&#xff09;Server层涵盖了MySQL的大多数核心服务功能&#xff0c;以及所有的内置函数&#xff08;如日期、时间、数学和加密函数等&#xff09;&#xff0c;所有跨存储引擎…

金色麦芒的2023

2023年即将过去&#xff0c;回首这一年&#xff0c;我深感自己在技术和职业生涯中取得了巨大的进步。这一年里&#xff0c;我不仅在技术层面有了更深入的掌握&#xff0c;也在个人成长和职业规划上有了更明确的方向。 首先&#xff0c;在技术层面&#xff0c;我今年最大的收获是…

2024.1.2 Redis 数据类型 Stream、Geospatial、HyperLogLog、Bitmaps、Bitfields 简介

目录 引言 Stream 类型 Geospatial 类型 HyperLogLog 类型 Bitmaps 类型 Bitfields 类型 引言 Redis 最关键&#xff08;应用广泛、频繁使用&#xff09;的五个数据类型 StringListHashSetZSet 下文介绍的数据类型一般适合在特定的场景中使用&#xff01; Stream 类型 St…

109-Gradle构建工具的学习

Gradle构建工具的学习 Gradle 简介&#xff1a; Gradle 是一款Google 推出的基于 JVM、通用灵活的项目构建工具&#xff0c;支持 Maven&#xff0c;JCenter 多种第三方仓库&#xff0c;支持传递性依赖管理、废弃了繁杂的xml 文件&#xff0c;转而使用简洁的、支持多种语言&am…

docker 搭建gitlab 恢复和备份

最近一直在折腾gitlab 代码管理系统 采用docker搭建 镜像网址 https://hub.docker.com/ 技术交流 http://idea.coderyj.com/ 1.因为我要恢复的版本是12.0.9的所有我就下载了docker-ce的12.0.9的镜像 1.下载镜像 docker pull gitlab/gitlab-ce:12.0.9-ce.02.安装 docker run …

顶顶通呼叫中心中间件通过队列外呼拨打另一个sip并且放音(mod_cti基于FreeSWITCH)

介绍 顶顶通呼叫中心中间件通过队列外呼拨打另一个sip并且放音 一、创建sip 打开ccadmin->点击sip->创建sip->重新启动fs 二、添加acl 添加一个新的->点击提交XML->在运维调试执行reloadacl&#xff0c;这样才可以生效 三、创建拨号方案 创建一个新的拨号方…

【Java】面向对象程序设计 期末复习总结

语法基础 数组自带长度属性 length&#xff0c;可以在遍历的时候使用&#xff1a; int []ages new int[10];for (int i 0; i < ages.length; i)System.out.println(ages[i]); 数组可以使用增强式for语句进行只读式遍历&#xff1a; int[] years new int[10];for (int ye…

【华为数据之道学习笔记】9-4“静”“动”结合的数据保护与授权管理

静态控制&#xff1a;数据保护能力架构 在充分识别数据风险并标识数据安全隐私后&#xff0c;数据底座产品还需要提供不同程度的数据保护能力。数据保护能力包括存储保护、访问控制、可追溯三种&#xff0c;每种保护能力都面向不同的业务管理需求&#xff0c;如图所示。 图-数据…

互联网演进历程:从“全球等待”到“全球智慧”的技术革新与商业变革

文章目录 一、导言二、World Wide Wait (全球等待)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 三、World Wide Web (万维网)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 四、World Wide Wisdom (全球智慧)阶段1. 技术角度2. 用户体验3. 企业收益4. 教育影响 五、…

C++ 命名空间 namespace详解

文章目录 1 . 前言2 . 命名冲突3 . 命名作用域4 . 匿名空间5 . 命名嵌套6 . 命名动态赋值7 . 命名空间追加内容8 . 命名空间指定9 . 小结 【极客技术传送门】 : https://blog.csdn.net/Engineer_LU/article/details/135149485 1 . 前言 此篇博文详解C的namespace命名空间平台 …

Docker 教程

Docker 文章目录 Docker1.Docker概述1.1Docker为什么会出现1.2Docker能做什么&#xff1f;1.3Docker主要名词 2.阿里云镜像加速3部署Mysql4.常见命令4.1镜像命令4.2容器命令4.3命令别名 5.数据卷5.1什么是数据卷&#xff1f;5.2数据卷命令5.3.挂载本地目录或文件 6.镜像6.1镜像…

Unity DOTS中的baking(二)Baker的触发

Unity DOTS中的baking&#xff08;二&#xff09;Baker的触发 我们知道&#xff0c;当传入Baker的authoring component的值发生变化时&#xff0c;就会触发baking。不过在有些情况下&#xff0c;component所引用的对象没有变化&#xff0c;而是对象自身内部的一些属性发生了变化…