PyTorch torchvision数据集大全:从MNIST到COCO,一文掌握所有内置视觉数据集
这篇文章全面介绍了PyTorch中torchvision库内置的数据集,涵盖了图像分类(如MNIST、CIFAR、ImageNet)、检测与分割(如COCO、Cityscapes)、光流、立体匹配、视频分类等多个计算机视觉任务领域。文章通过表格详细列出了各数据集的规模、用途和特点,并提供了简单加载示例。核心观点是,torchvision内置的丰富数据集为研究人员和开发者提供了极大便利,支持从入门实验到工业级应用的快速原型验证和算法对比。
在深度学习领域,数据是模型的基石。PyTorch的torchvision库不仅提供了常用的图像处理工具,还内置了丰富的数据集,方便我们快速加载和实验。本文将带你全面了解torchvision中内置的数据集,涵盖图像分类、检测分割、光流、立体匹配等多个任务领域。
常用地址
官网:https://docs.pytorch.org/vision/stable/index.html
数据库参考:https://docs.pytorch.org/vision/stable/datasets.html
图像分类数据集
图像分类是最基础的计算机视觉任务,torchvision提供了大量开箱即用的分类数据集:
经典手写数字系列
| 数据集 | 说明 |
|---|---|
| MNIST | 最经典的手写数字数据库,包含60,000张训练图像和10,000张测试图像,尺寸为28×28像素 |
| EMNIST | NIST Special Database 19转换而来,与MNIST格式完全兼容 |
| QMNIST | 重构NIST Special Database 19原始数据,补全了MNIST测试集中丢失的50,000张图像 |
| USPS | 美国邮政服务手写数字数据集,包含7,291个训练样本和2,007个测试样本,16×16像素灰度图像 |
| SEMEION | 约80人书写的1,593个手写数字,16×16矩形框,256级灰度 |
| KMNIST | 日本古文书Kuzushiji-MNIST,作为MNIST的直接替代品,包含平假名10行的字符 |
CIFAR系列
| 数据集 | 说明 |
|---|---|
| CIFAR10 | 10个类别,60,000张32×32彩色图像,每类6,000张。50,000张训练,10,000张测试 |
| CIFAR100 | 100个类别,每类600张图像(500训练+100测试),分为20个超类 |
Fashion/服装系列
| 数据集 | 说明 |
|---|---|
| FashionMNIST | 替代MNIST的时尚单品数据集,包含10类服装/鞋包(T恤、裙子等),28×28灰度 |
人脸相关数据集
| 数据集 | 说明 |
|---|---|
| CelebA | 名人面部属性数据集,超过20万张名人图像,每张标注40项属性特征,包含10,177个不同人物 |
| LFWPeople | Labeled Faces in the Wild,从网络收集的13,000多张人脸图像,用于非约束人脸识别研究 |
物体/场景分类
| 数据集 | 说明 |
|---|---|
| Caltech101 | 101个类别对象的图片,每类约40-800张图像,大小约300×200像素 |
| Caltech256 | 256个物体类别,共30,607张图像,每类最少80张图像 |
| ImageNet | 大型视觉数据库,14,00多万张注释图像,20,000多个典型类别 |
| Imagenette | ImageNet中10个易于分类的类别子集 |
| STL10 | 受CIFAR-10启发,每类标记示例更少,但提供大量未标记示例,分辨率96×96 |
| SUN397 | 场景理解数据库,包含397个类别和130,519张图像 |
| Places365 | 超过1000万张图像,400+个独特的场景类别 |
| LSUN | 大规模场景理解,包含10个场景类别,每类约120,000到3,000,000张图像 |
细粒度分类
| 数据集 | 说明 |
|---|---|
| FGVCAircraft | 飞机细粒度视觉分类,10,200张图片,102种不同飞机型号 |
| StanfordCars | 汽车细粒度分类,16,185张图片(8,144训练+8,041测试) |
| Flowers102 | 牛津花卉数据集,8,189张图像,103个花卉类别 |
| Food101 | 101种食品类别,共101,000张图像 |
| OxfordIIITPet | 37个类别的宠物数据集,每类约200张图像,包含breed、head ROI和像素级分割标注 |
| DTD | 可描述纹理数据集,基于人类感知构建的纹理属性描述 |
| EuroSAT | 哨兵2号卫星影像,13个光谱波段,10个地物类别,27,000张标注影像 |
其他实用数据集
| 数据集 | 说明 |
|---|---|
| Country211 | 地理定位任务数据集,从YFCC100m筛选,每国150训练+50验证+100测试 |
| FER2013 | 人脸表情识别,约30,000张48×48面部RGB图像,7种表情类别 |
| GTSRB | 德国交通标志识别,43类不同的交通标志 |
| SVHN | 谷歌街景门牌号数字识别,超过600,000张数字图像 |
| PCAM | PatchCamelyon,淋巴结切片组织病理学扫描,327,680张96×96彩色图像 |
| INaturalist | 10,000个物种,近2.7M图像,每个物种10张验证图像 |
| Omniglot | 手写字符数据集,1,623个不同字母,50个不同手写字符 |
| RenderedSST2 | OpenAI提供的OCR评估数据集,正面/负面两类情感分类 |
| FakeData | 返回随机生成图像的虚假数据集,用于测试 |
| Flickr8k/Flickr30k | 图像描述数据集,每张图片配有5个不同描述 |
| SBU | 自动图像描述数据集,100万张带相关说明的图像 |
图像检测和分割数据集
| 数据集 | 说明 |
|---|---|
| CocoDetection | COCO对象检测,超过200,000张图像,80个对象类别,包含详细分割掩码 |
| VOCDetection | PASCAL VOC目标检测基准,20类别,11,530张图片,27,450个标注 |
| VOCSegmentation | PASCAL VOC分割基准,20类别,11,530张图片,6,929个分割 |
| Cityscapes | 城市街景数据集,50个不同城市,5,000帧高质量像素级注释 |
| Kitti | 自动驾驶数据集,7,481张训练图像,7,518张测试图像,80,256个标记对象 |
| WIDERFace | 人脸检测基准,32,203张图像,393,703张人脸标注 |
| SBDataset | 语义边界数据集,PASCAL VOC2011的11,318张图像,包含对象实例边界 |
光流数据集
| 数据集 | 说明 |
|---|---|
| FlyingChairs | 合成数据集,22,872个图像对和对应流场,3D椅子在随机背景前移动 |
| FlyingThings3D | 超过39,000个立体帧,分辨率960×540像素 |
| HD1K | 驾驶数据集,1,000帧2560×1080分辨率,不同照明和天气场景 |
| KittiFlow | 立体/流基准测试,200个训练场景和200个测试场景 |
| Sintel | 开源3D动画短片Sintel衍生的光流数据集 |
立体匹配数据集
| 数据集 | 说明 |
|---|---|
| Kitti2012Stereo | 194个训练图像对和195个测试图像对 |
| Kitti2015Stereo | 200个训练场景和200个测试场景,包含动态场景 |
| SceneFlowStereo | 超过39,000个立体帧,用于训练视差、光流和场景流估计网络 |
| ETH3DStereo | ETH3D低分辨率两视角数据集 |
| Middlebury2014Stereo | 多照明和曝光条件下拍摄的2个视图 |
| InStereo2k | 2,050对图像,高精度视差图 |
| CREStereo/CarlaStereo/FallingThingsStereo/SintelStereo | 各种合成和真实场景的立体匹配数据集 |
图像对数据集
| 数据集 | 说明 |
|---|---|
| LFWPairs | LFW人脸数据集的配对版本,用于人脸验证任务 |
| PhotoTour | 用于学习图像匹配的数据集 |
图像描述数据集
| 数据集 | 说明 |
|---|---|
| CocoCaptions | MS COCO Captions,超过30万张图像,每张附带5种不同自然语言描述 |
视频分类数据集
| 数据集 | 说明 |
|---|---|
| HMDB51 | 51个动作类别,6,766个视频剪辑,来自电影和网络视频 |
| Kinetics | 大规模人体动作识别数据集,600个人体动作类,每类至少600个视频剪辑 |
| UCF101 | 101个动作类别,从YouTube收集的真实动作视频 |
视频预测数据集
| 数据集 | 说明 |
|---|---|
| MovingMNIST | 10,000个长度为20的序列,显示2个数字在64×64帧中移动 |
使用示例
使用torchvision加载内置数据集非常简单:
import torchvision.datasets as datasets
# 加载MNIST
mnist_train = datasets.MNIST(root='./data', train=True, download=True)
# 加载CIFAR10
cifar10_train = datasets.CIFAR10(root='./data', train=True, download=True)
# 加载COCO检测数据集
coco = datasets.CocoDetection(root='./data/annotations', annFile='./data/annotations/instances_train2017.json')
总结
torchvision内置的数据集覆盖了计算机视觉的各个主要研究方向,从入门级的MNIST、CIFAR到工业级的ImageNet、COCO,从图像分类到检测分割、光流估计、视频理解等高级任务。这些数据集的集成为研究人员和开发者提供了极大的便利,使得快速原型验证和算法对比变得更加简单高效。
无论你是初学者还是资深研究者,torchvision的数据集都能满足你的实验需求。建议收藏官方文档,以便随时查阅各数据集的详细说明和使用方法。
最后更新于1小时前
本文由人工编写,AI优化,转载请注明原文地址: PyTorch torchvision数据集大全:从MNIST到COCO,一文掌握所有内置视觉数据集
推荐阅读
VMware Workstation 16激活码及许可证密钥获取方法
30192024-09-29
VMware Workstation 17许可证密钥及免费激活方法详解
46092024-09-29
XWiki只允许本机访问:Jetty绑定127.0.0.1配置方法
1642026-04-28
从非交互到交互式备案,手把手教你一周内搞定公安安全评估,轻松解锁网站互动功能
2812026-04-11
OpenVPN安装配置完整指南:从零搭建安全VPN服务器与客户端
29712024-06-21
Windows系统PyTorch安装教程:CUDA 12.1环境配置与TorchText版本兼容性指南
30752024-06-21