详细解读:MIT经典的语义分割数据集ADE20K,附下载链接

(一)ADE20K数据集 欢迎访问个人网络日志🌹🌹知行空间🌹🌹ADE20K数据集是2016年MIT开放的场景理解的数据集,可用于实例分割,语义分割和零部件分割。利用图像信息进行场景理解 和 。即最常见的任务,将图像的不同像素按对象类别 进行分类,不仅要识别不同物体所属的类别,还需识别出同类的不同物体。是在识别出的物体上分割出不同部分所属的零部件类别,这对于理解场景帮助机器人与环境交互十分重要,如在某个 中分割出来 或者 ,为了坐下或者拿起杯⼦需要找到 中对应的 ,如 可以坐的部分, 的杯柄, 以实现机器⼈与知行特定的任务。已.... 阅读详情
AI摘要

本文介绍了ADE20K数据集,这是一个由MIT发布的大型图像数据集,适用于场景解析、分割、多物体识别和语义理解。数据集包括25k张图像,涵盖3169个类别,提供了丰富的像素级和实例级标注。文章详细阐述了数据集的结构、任务定义、评估指标,并提供了数据集的资源链接。

小伙伴们,乐于分享的OpenDataLab来啦!这次,给大家带来一份ADE20K 数据集的详细使用“攻略”,助大家模型训练一臂之力。

这个由MIT 发布的大型数据集,可用于场景感知、解析、分割、多物体识别和语义理解,不容错过。

一、数据集简介

发布方:MIT CSAIL Computer Vision Group

发布时间:2016

背景:视觉场景的语义理解是计算机视觉的关键问题。尽管社区在数据收集方面做出了努力,但仍然很少有图像数据集涵盖广泛的场景和对象类别,而且缺乏具有用于场景理解的逐像素注释。

简介:ADE20K涵盖了场景、对象、对象部分的各种注释,在某些情况下甚至是部分的部分。有25k张复杂日常场景的图像,其中包含自然空间环境中的各种对象。每个图像平均有19.5个实例和10.5个对象类。

二、数据集详细信息

1. 标注数据量

● 训练集:20210张图像

● 验证集:2000张图像

● 测试集:3000张图像

2. 标注类别

数据集的标注包含三种视觉概念:

● 离散对象(discrete object),它是具有明确定义的形状的事物,例如汽车、人;

● 包含无定形背景区域的东西(stuff),例如草、天空;

● 对象部分(object part),它是某些具有功能意义的现有对象实例的组件,例如头部或腿部。

三种视觉概念共标注类别3169类,其中离散对象和无定形背景区域的东西有2693类。对象部分有476类。


3. 可视化

图1:第一行显示样本图像,第二行显示对象的标注,第三行显示对象部分的标注。颜色方案同时编码对象类别和对象实例,即不同的对象类别具有较大的色差,而来自同一对象类别的不同实例具有较小的色差(例如,第一张图像中的不同人实例具有略微不同的颜色)。

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

1. 场景解析

● 定义

场景解析是将整个图像密集地分割成语义类,其中每个像素都被分配一个类标签,例如树的区域和建筑物的区域。

● 基准

作者选择 ADE20K 数据集中按其总像素比排名的前150个类别,并构建 ADE20K 的场景解析基准,称为 SceneParse150。

在150个类别中,有35个东西类(即墙壁、天空、道路)和115个离散对象类(即汽车、人、桌子)。150个类的标注像素占数据集所有像素的92.75%,其中无定形背景区域的东西类占60.92%,离散对象类占31.83%。

结果以通常用于语义分割的四个指标报告:

- Pixel accuracy(像素精度):表示正确分类的像素的比例;

- Mean accuracy(平均准确度):表示在所有类别中平均正确分类的像素的比例;

- Mean IoU(平均 IoU):表示预测像素和真实像素之间的交并比,在所有类上平均;

- Weighted IoU(加权IoU):表示按每个类的总像素比加权的 IoU。

2. 实例分割

● 定义

实例分割是检测图像中的对象实例,并进一步生成对象的精确分割掩码。它与场景解析任务的不同之处在于,场景解析中没有分割区域的实例概念,而在实例分割中,如果场景中有三个人,则需要网络对每个人区域进行分割。

● 基准

为了对实例分割的性能进行基准测试,作者从完整数据集中选择了100个前景对象类别,将其称为 InstSeg100。InstSeg100 中对象实例总数为 218K,平均每个对象类别有2.2K个实例,每个图像有10个实例;除船舶外的所有对象都有超过100个实例。

结果以如下指标报告:

一个总体度量平均精度 mAP,以及不同对象尺度上的度量,用mAP_S(小于32×32像素的对象)、mAP_M(在32×32和96×96像素之间)和 mAP_L(大于96×96像素)。

四、数据集文件结构解读

目录结构:(语言:Python)

ADE20K_2021_17_01/    images/        training/            cultural/                apse__indoor/                    <filename0>.jpg         # 原图像                    <filename0>_seg.png     # 分割图,通道R和G编码对象类别ID,                                            # 通道B编码实例ID                    <filename0>_parts_{i}.png                                             # 部件分割图,i表示第i层部件,如car                                            # 属于第一层部件,wheel属于第二层部件                    <filename0>.json        # 存储图像中所有实例的多边形,属性等信息                    <filename0>/            # 存储图像中所有实例mask的目录                        instance_000_<filename0>.png                        instance_001_<filename0>.png                    ...                ...            ...        validation/            cultural/                apse__indoor/                    <filename1>.jpg                    <filename1>_seg.png                    <filename1>_aprts_{i}.png                    <filename1>.json                    <filename1>/                        instance_000_<filename1>.png                        instance_001_<filename1>.png                        ...                    ...                ...            ...    index_ade20k.pkl                    # 数据和存储图像的文件夹的统计信息

<filename>.json文件格式:

{    "annotation": {        "filename": "<filename>.jpg",   # 图像名称        "folder": "ADE20K_2021_17_01/images/ADE/training/urban/street",                                        # 图像存储的相对路径        "imsize": [                     # 图像高、宽、通道数            1536,            2048,            3        ],        "source": {                     # 图像来源信息            "folder": "static_sun_database/s/street",            "filename": "labelme_acyknxirsfolpon.jpg",            "origin": ""        },        "scene": [                      # 图像场景信息            "outdoor",            "urban",            "street"        ],        "object": [                     # 标注实例列表            {                "id":0,                 # 实例ID                "name":"traffic light, traffic signal, stoplight",                                        # 实例标签                "name_ndx": 2836,       # 实例标签                "hypernym": [           # 上位词                    "traffic light, traffic signal, stoplight",                    "light",                    "visual signal",                    "signal, signaling, sign",                    "communication",                    "abstraction, abstract entity",                    "entity"                ],                "raw_name": "traffic light",                "attributes": [],       # 属性                "depth_ordering_rank": 1,                                        # 深度顺序                "occluded": "no",       # 遮挡情况                "crop": "0",                "parts": {              # 部件信息                    "hasparts": [],                    "ispartof": [],                    "part_level": 0                },                "instance_mask": "<filename>/instance_000_<filename>.png",                                        # 对应的实例mask                "polygon": {            # 多边形坐标                    "x": [346, ...],                    "y": [781, ...]                },                "saved_date": "18-Dec-2005 06:56:48"            },            ...        ]

图2: index_ade20k.pkl 文件用Python打开后的格式

index_ade20k.pkl 里各个字段含义:

'filename':长度为 N=27574 的数组,带有图像文件名。

'folder':包含图像文件夹名称的长度为 N 的数组。

'objectIsPart':是对象部分的对象类别. 大小为 [C, N] 的数组,计算一个对象在每个图像中成为一部分的次数。objectIsPart[c,i]=m 如果在图像 i 中对象类 c 是另一个对象的一部分 m 次。

'objectPresence':大小为 [C, N] 的数组,每个图像的对象计数。objectPresence(c,i)=n 如果在图像 i 中有 n 个对象类 c 的实例。

'objectcounts':长度为 C 的数组,每个对象类的实例数。

'objectnames':带有对象类名的长度为 C 的数组。

'proportionClassIsPart':长度为 C 的数组,其中 c 类作为一部分的次数比例。如果 ratioClassIsPart[c]=0 则意味着这是一个主要对象(例如,汽车、椅子……)。

'scene':长度为 N 的数组,为每个图像提供场景名称(与 Places 数据库相同的类)

'wordnet_found':长度为 C 的数组。它表示是否在 Wordnet 中找到了对象名。

'wordnet_level1':长度为C 的列表。WordNet 关联的列表。

'wordnet_synset':长度为 C 的列表。每个对象名称的 WordNet 同义词集。

'wordnet_hypernym':长度为 C 的列表。每个对象名称的 WordNet 上位词列表。

'wordnet_gloss':长度为 C 的列表。存的是WordNet同义词集合对应的定义。

'wordnet_frequency':长度为 C 的数组。每个WordNet同义词集合出现的次数。

'description':对index ade20k.pkl中每个字段的描述。

五、数据集资源

OpenDataLab平台已经上架了ADE20K数据集,为大家提供了完整的数据集信息、流畅的下载速度,快来体验吧!

ADE20K 2021数据集

参考资料:

[1]官网:https://groups.csail.mit.edu/vision/datasets/ADE20K/

[2]论文:Semantic Understanding of Scenes through ADE20K Dataset. Bolei Zhou, Hang Zhao, Xavier Puig, Tete Xiao, Sanja Fidler, Adela Barriuso and Antonio Torralba. International Journal on Computer Vision (IJCV).[PDF]

[3]Github:https://github.com/CSAILVision/ADE20K

更多数据集上架动态、更全面的数据集内容解读、最牛大佬在线答疑、最活跃的同行圈子……欢迎添加微信opendatalab_yunying 加入OpenDataLab官方交流群。

【数据集下载】ADE20k LVIS COCO panoptic_annotations_trainval2017 ADE20k LVIS 数据集, COCO panoptic 标注下载 阅读详情

相关推荐

PyTorch中的MIT ADE20K数据集的语义分割

PyTorch中的MIT ADE20K数据集的语义分割 代码地址:https://github.com/CSAILVision/semantic-segmentation-pytorch Semantic Understanding of Scenes through ADE20K Dataset. B. Zhou, H. Zhao, X. Puig, T. Xiao, S. Fidler, A. Barriuso and A. Torralba. International Journal on Comp

吴建明wujianming_110117 3139

为什么选择ADE20K作为语义分割数据集?完整指南解析

语义分割作为计算机视觉领域的重要研究方向,近年来在自动驾驶、医学影像分析、增强现实等应用中发挥着关键作用。在众多语义分割数据集中,MIT ADE20K凭借其独特的优势成为了研究者和开发者的首选。本文将深入解析ADE20K数据集的独特价值,帮助您理解为什么这个数据集在语义分割项目中如此重要。 ## 🎯 ADE20K数据集的核心优势 ### 丰富的场景多样性 ADE20K数据集包含了超过20,0

gitblog_00624的博客 881

语义分割常用数据集整理

语义分割的数据集分为三类:2D图片,2.5D图片(RGB-D),3D图片。每一个类别的数据集都提供了像素级的标签,可以用来评估模型性能。同时其中一部分工作用到了数据增强来增加标签样本的数量。 一、2D数据 1.PASCAL Visual Object Classes(VOC) VOC数据集是计算机视觉主流数据集之一,可以作分类,分割,目标检测,动作检测和人物定位五类任务数据集,其中包含21个类及其标签:车辆,房屋,动物、飞机、自行车、船、公交车、小汽车、摩托车、火车、瓶子、椅子、餐桌、盆栽植物、沙发、

lipengfei0427的博客 2万+

ADE20k数据集介绍

ADE20k(ADE20K Scene Parsing Challenge)是一个用于场景解析的大规模数据集,它包含了超过20,000个标注图像,用于图像语义分割任务。该数据集旨在推动计算机视觉领域的研究和发展,特别是在场景理解和图像分割方面。ADE20k数据集是一个用于场景解析的大规模数据集,包含了丰富多样的场景图像,每个图像都经过了像素级的语义分类标注。该数据集在图像分割和场景理解研究中发挥着重要的作用,为计算机视觉领域的研究和发展提供了重要的支持。

牛肉胡辣汤 5898

ADE20K:ADE20K数据集

ADE20K数据集 这是的存储库。 我们提供了有关数据集的一些信息,并提供了用于探索数据的。 概述 ADE20K由来自SUN和Places数据库的27K图像组成。 图像完全用对象注释,跨越3K对象类别。 许多图像还包含对象部分和部分部分。 我们还提供了原始带注释的多边形,以及用于模态分割的对象实例。 图像也被匿名化,使人脸和车牌模糊。 数据集统计 数据集的当前版本包含: 涵盖365个不同场景的27,574张图像(用于训练的25,574张图像和用于测试的2,000张图像)。 来自3688个类别的707868个唯一对象,以及它们的WordNet定义和层次结构。 193,238带注释的对象零件和零件零件。 具有属性,注释时间,深度顺序的多边形注释。 探索数据集 虽然您需要才能访问数据集,但我们在数据集中提供了一个小的子datasets ,以便您熟悉结构。 我们还提供了一个index_a

ade20k-20200517T125953Z-001.zip

https://github.com/hellochick/ICNet-tensorflow中的模型文件,帮同学们拿到了,可以做实验了

【计算机视觉】三种常用的分割数据集:室内场景(ADE20K)、室外场景(Cityscapes)和驾驶场景(BDD100K)

【计算机视觉】三种常用的分割数据集:室内场景(ADE20K)、室外场景(Cityscapes)和驾驶场景(BDD100K)

wzk4869的博客 1万+

ADE20K Outdoors ADE20K户外-数据集

该数据集是20,000图像ADE20K挑战数据集的5,000图像子集。此ADE20K数据集是一个地标图像分割数据集,包含大量室内和室外图像。每个图像都有一个伴随的图像分割蒙版,可将图像逐像素地划分为150个不同的类别。 数据的此子集仅包含室外图像。选择是使用粗分类分析进行的,因此需要一些离群值。 ADE20K Outdoors_datasets.txt

丝毫不懂代码——ade20k语义分割

【代码】丝毫不懂代码——ade20k语义分割。

2301_77189428的博客 968

使用 AFL++ 对 IoT 二进制文件进行模糊测试 - 第一部分

American fuzzy lop 是一款面向安全的模糊测试器,它采用一种新型的编译时插桩和遗传算法,可以自动发现干净、有趣的测试用例,从而触发目标二进制文件中新的内部状态。这显著提高了模糊测试代码的功能覆盖率。AFL 的地址是它已经有一段时间没有更新了。虽然 AFL 仍然运行良好,但有一个新项目 AFL++,它是 AFL 的一个分支,包含许多改进和新功能。AFL++ 的地址是,其源代码位于。在本文中,我们将研究如何使用 AFL++ 对 IoT 二进制文件进行模糊测试。

技术超强的网络安全平台 1086

一分钟学会MATLAB-数据清洗(含完整代码)

数据清洗是数据分析过程中的一个重要步骤,目的是提高数据的质量,以便进行更有效的分析。% 删除超出阈值的行。% 用线性插值填充缺失值。% 删除包含缺失值的行。% 找到缺失值的位置。% 可视化数据,识别异常值。缺失值是数据清洗中常见的问题。通过以上步骤,你可以有效地清洗数据,使其准备好进行后续的分析和建模。

2402_87132195的博客 3316

探索MIT ADE20K数据集上的语义分割:PyTorch实现

在计算机视觉领域,语义分割是一项至关重要的任务,它要求对图像中的每个像素进行分类,从而实现对图像的精细理解。MIT ADE20K数据集是目前最大的开放语义分割和场景解析数据集,由MIT计算机视觉团队发布。本项目提供了一个基于PyTorch的语义分割模型实现,专门针对ADE20K数据集进行优化。 ## 项目技术分析 ### 核心技术点 1. **同步批量归一化(Syncronized Batc...

gitblog_00226的博客 1205

实战指南:在UE5中高效集成Entt(ECS)框架

本文提供了一份在虚幻引擎5中高效集成Entt ECS框架的实战指南。针对UE5项目在处理大规模动态实体时的性能瓶颈,详细讲解了如何通过数据驱动的ECS架构进行优化。内容包括前期环境准备、核心构建步骤、创建首个ECS子系统以及与UE原生系统的数据同步技巧,旨在帮助开发者快速掌握集成方法,提升游戏逻辑的执行效率。

weixin_29002209的博客 158

PyTorch语义分割终极指南:5步掌握MIT ADE20K模型可视化技巧

想要快速理解PyTorch语义分割模型的效果吗?这份完整的语义分割可视化工具使用指南将带你从零开始,掌握如何直观地分析模型分割结果。无论你是计算机视觉初学者还是经验丰富的开发者,都能在5个简单步骤内学会使用这个强大的语义分割工具。 ## 🎯 什么是语义分割? 语义分割是计算机视觉中的重要任务,它能够将图像中的每个像素分配到特定的类别。想象一下,一张城市街景照片中,模型能够自动识别出哪些区域是

gitblog_01093的博客 993

Oracle Scheduler任务故障诊断 实战指南

当基础环境无异常时,需聚焦任务本身的配置与状态。定义(JOB)→ 调度(SCHEDULE)→ 执行(SLAVE进程)→ 日志(LOG),每个环节都可能存在卡点。Oracle Scheduler任务的“隐性故障”看似棘手,实则是环境配置、资源竞争、时间逻辑等问题的集中体现。通过本文的诊断工具和排查思路,你可以构建从“基础环境→任务配置→执行链路→日志追踪”的全维度分析体系,让每一个“消失”的任务都无所遁形。

Nuzbb的博客 1073

3、提升管壳式换热器能效:双螺旋盘管的应用研究

本研究探讨了在管壳式热交换器中应用双螺旋盘管以提升能效的可行性。通过实验对比双螺旋与单螺旋盘管的热传递效率,结果显示双螺旋盘管达到54.33%的效率,显著优于单螺旋的48.88%。双螺旋结构不仅增大了换热面积,还因产生剪切应力而减少结垢,延长运行周期。采用NTU方法评估热传递性能,验证了该设计在工业应用中的高效性与实用性,建议在制冷、空调、石油精炼等领域推广使用。

k8s6orchestrator的博客 107

【深度学习语义分割常用数据集介绍】--ADE20K

ADE20k拥有超过25,000张图像(20K for train,2K for val,3K for test),这些图像用开放字典标签集密集注释。

m0_72871430的博客 2271

我的世界模组开发——前言

避坑:在开发过程中一定不要过分依赖AI,虽说现在的人工智能很厉害,但是也有很大的弊端,很多AI生成的代码错误百出,还得自己修改,而且像deepseek这种AI的训练数据还停留在一年前,给出的maven仓库地址都是过时的甚至是错误的,开发模组就是要多学习,多看源码,这样开发模组的水平才能越来越高。总而言之,build.gradle文件在我的世界Forge模组开发中扮演了重要的角色,它定义了项目的构建过程、依赖关系和编译选项,为开发者提供了灵活而强大的构建工具。开发工具推荐使用idea,因为可以使用通灵义码。

qq_24992377的博客 2594

轻量级语义分割实战:MobileNetV2在ADE20K数据集上的完整指南

语义分割是计算机视觉领域的重要任务,它能够将图像中的每个像素分配到特定类别,实现像素级的场景理解。本指南将带你探索如何使用轻量级MobileNetV2模型在MIT ADE20K数据集上构建高效的语义分割系统,即使是计算资源有限的设备也能轻松部署。 ## 为什么选择MobileNetV2进行语义分割? MobileNetV2以其高效的计算性能和出色的精度平衡,成为移动端和嵌入式设备的理想选择。相

gitblog_00969的博客 721

Raspberry Pi 4B 蓝牙串口(SPP)配置与使用

Linux、Android、Windows 等操作系统带有在引导期间启动的蓝牙守护进程/蓝牙服务。 对于与监视器连接并使用 GUI(如 GTK 等)运行的设备,只需多次单击即可轻松启用并连接到附近的设备。 但是在无头设备的情况下,我们必须依赖于需要在命令行上运行的不同命令。 这篇博客我们将讨论如何在无头树莓派上通过蓝牙设备连接附近。

视觉与物联智能 2745

【C++/嵌入式梳理】bootloader

【C++/嵌入式笔试面试八股】bootloader

Hi 1210

语义分割PyTorch实战:从零开始构建ADE20K场景解析模型

语义分割是计算机视觉中的核心技术,能够为图像中的每个像素分配语义标签。semantic-segmentation-pytorch项目基于PyTorch框架,为MIT ADE20K数据集提供了完整的语义分割解决方案,帮助开发者快速上手场景解析任务。 ## 🎯 项目核心功能与优势 该项目集成了多种先进的语义分割架构,包括HRNet、ResNet、MobileNet等主流模型,支持从数据准备到模型

gitblog_01033的博客 787

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

探索场景解析的极致:MIT ADE20K数据集上的语义分割

在计算机视觉的广阔天地中,语义分割技术如同一位精密的画家,将图像中的每一个像素赋予其应有的意义。今天,我们将深入探讨一个在PyTorch框架下,针对MIT ADE20K数据集的语义分割开源项目,它不仅代表了技术的尖端,更是实践者探索未知世界的得力工具。 ## 项目介绍 本项目是基于PyTorch实现的语义分割模型,专门针对MIT ADE20K场景解析数据集进行优化。ADE20K数据集由MIT计...

gitblog_00269的博客 520

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ConvNeXt在ADE20K数据集上的语义分割实验:从基础模型到超大规模架构的性能探索...

你是否仍在为语义分割任务中精度与效率的平衡而困扰?是否尝试过多种模型架构却难以在复杂场景中获得满意结果?本文将通过ConvNeXt在ADE20K数据集上的完整实验流程,为你揭示如何通过模型架构调整、训练策略优化和超参数调优,实现语义分割性能的系统性提升。读完本文,你将能够: - 掌握ConvNeXt系列模型在语义分割任务中的配置方法 - 理解不同模型尺度对分割性能的影响规律 - 学会设计高效的训...

gitblog_00444的博客 810

【免费下载】 ADE20K类别详情说明

ADE20K类别详情说明 【下载地址】ADE20K类别详情说明 本资源文件提供了ADE20K数据集的类别清单,这是一个广泛应用于计算机视觉任务,特别是语义分割和场景理解的重要数据集。ADE20K由麻省理工学院(MIT)发布,它包含了超过2万个带有精细标注的图像,覆盖了丰富的室内外场景,总计3688个类别,其中直接提供的类...

gitblog_06560的博客 956

SegFormer实战教程:在ADE20K数据集上训练B1模型的完整流程

SegFormer是一个基于PyTorch的高效语义分割框架,能够以较少的计算资源实现高精度的图像分割任务。本教程将带你完成在ADE20K数据集上训练SegFormer-B1模型的完整流程,从环境准备到模型训练,让你快速掌握语义分割模型的训练方法。 ## 一、环境准备与项目获取 首先需要克隆SegFormer项目代码并安装所需依赖。打开终端执行以下命令: ```bash git clone

gitblog_00447的博客 702
上一篇: 深度强化学习让AI 实现真正的“智能”,附Atari 2600 Video Pinball数据集下载资源
下一篇: 多目标跟踪(MOT)数据集资源整理分享
OpenDataLab
博客等级 码龄4年 636粉丝 135原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值