【深度学习:SegGPT】在上下文中分割所有内容 [解释]

在这里插入图片描述

【深度学习:SegGPT】在上下文中分割所有内容 [解释]

    • SegGPT与以前的模型相比如何?
    • SegGPT在实践中是如何工作的?
      • SegGPT培训计划
      • 上下文着色
      • 上下文集成
      • 上下文调整
      • SegGPT 训练参数
    • 如何尝试 SegGPT?
    • 使用哪些数据集来训练 SegGPT?
    • SegGPT可以用于AI辅助标记吗?
    • 结论

每年,CVPR 都会汇集来自计算机视觉和机器学习领域的一些最聪明的工程师、研究人员和学者。

上个月感觉越来越接近计算机视觉的 GPT-3 时刻——一些新的 CVPR 2023 提交似乎越来越接近

继上个月宣布“Painter”(在此处提交)之后,BAAI Vision 团队上周发布了他们的最新迭代“SegGPT:在上下文中分割一切”(在 Arxiv 中)。

在其中,由Xinlong Wang,Xiaosong Zhang,Tue Cao,温 Wang,Chunhua Shen和Tiejun Huang组成的BAAI团队展示了计算机视觉挑战难题的另一部分:一个通才模型,允许通过上下文推理解决图像和视频中的一系列分割任务。

在这篇博文中,您将:

  • 了解 SegGPT 是什么以及为什么值得关注。
  • 了解它与以前的型号相比如何。
  • 了解 SegGPT 内部内容:其网络架构、设计和实现。
  • 了解 SegGPT 在 AI 辅助标记中的潜在用途。

更新:是否要消除手动分段?了解如何使用 SegGPT 和 Meta 的 Segment Anything Model (SAM) 等基础模型来降低 Encord 的标签成本!阅读产品公告,了解如何微调 SAM 或直接开始使用!

SegGPT与以前的模型相比如何?

作为基础模型,SegGPT 能够解决各种大量分割任务,而专业分割模型可以解决非常具体的任务,例如前景、交互、语义、实例和全景分割。现有模型的问题在于,切换到新模式或分割视频而不是图像中的对象需要训练新模型。这对于许多分割任务来说是不可行的,并且需要昂贵的注释工作。

从论文和发布的演示来看,SegGPT 展示了强大的细分领域内和领域外目标的能力,无论是定性还是定量。与其他通才模型(如 Painter)和 Volumetric Aggregation with Transformer (VAT) 等专业网络相比,SegGPT 在单次和少次分割方面优于其他通才模型,平均交集并集 (mIoU) 得分更高。

在这里插入图片描述
研究人员用于定量训练、评估和比较性能的基准数据集是 COCO-20i 和 PASCAL-5i。

研究人员还在FSS-1000上测试了该模型,该模型尚未经过训练。它还能够在单次和少次分割任务上以更高的 mIoU 优于 Painter,并且性能更接近民主注意力网络 (DAN) 和超相关挤压网络 (HSNet) 等专业网络。

SegGPT 还提供了良好的上下文视频分割,并在 YouTube-VOS 2018、DAVIS 2017 和 MOSE 数据集上明显优于 AGAME 等特定任务方法和 Painter 等基础模型。

SegGPT在实践中是如何工作的?

SegGPT 建立在 Painter 框架之上。Painter 是一个通用模型,它将核心视觉任务的输出重新定义为图像,并将任务提示指定为图像。根据这篇论文,Painter 框架有两个亮点,使其成为上下文图像学习的工作解决方案:

  1. 图像在图像中说话:视觉任务的输出空间被重新定义为图像。这些图像充当感知的通用界面,允许模型通过少量提示和示例来适应各种以图像为中心的任务。
  2. “通才画家”:给定输入图像,预测是绘制所需但缺少的输出“图像”。

SegGPT 团队采用以下方法进行培训:

  1. 包括部分、语义、实例、全景、人物、医学图像、航拍图像以及与各种分割任务相关的其他数据类型。
  2. 设计一种不同于传统多任务学习、任务定义灵活、能够处理域外任务的通用训练方案。

SegGPT 可以通过将各种类型的视觉数据统一为通用格式来对它们进行分段。该模型通过在上下文中对这些部分进行着色来学习分段,使用随机配色方案,迫使它使用上下文信息而不是依赖特定颜色来提高其泛化能力。

这使得模型更加灵活,能够处理各种分割任务。训练过程类似于使用带有简单 smooth-ℓ1 损失函数的普通 ViT 模型。

SegGPT培训计划

为了提高通用性,SegGPT 网络架构遵循三种方法:

  • 上下文着色;使用混合和匹配的随机着色方案,以便模型学习蒙版之间的关系,而不仅仅是颜色之间的关系。
  • 上下文集成;使用集成方法来提高掩模的密封性。
  • 上下文调整;优化用作模型输入上下文的可学习图像张量,以再次提高对不同分割任务的通用性。

上下文着色

该模型使用随机着色方案来实现输入图像的上下文颜色学习,以避免网络仅学习颜色而不了解分割对象之间的关系的问题。这是该网络在泛化性和边界框的紧密性方面优于 Painter 网络的原因之一。

在这里插入图片描述
研究人员还采用了“混合上下文”训练技术,使用各种样本来训练模型。这需要使用相同的颜色映射将多个图像拼接在一起。然后随机调整图像大小并裁剪图像以创建混合上下文训练样本。因此,模型能够通过关注图像的上下文信息而不是仅使用一组有限的颜色信息来确定任务。

上下文集成

为了提高准确性,该研究使用了两种上下文集成方法:

  • 空间集成,用于连接网格中的多个示例并提取语义信息。
  • 特征集成将批量维度中的示例与每个关注层之后的查询图像的平均特征结合起来。

在这里插入图片描述
这允许模型在推理过程中收集有关多个示例的信息并提供更准确的预测。

上下文调整

SegGPT 可以适应独特的用例,而无需更新模型参数。相反,可学习的图像张量被初始化为输入上下文并在训练期间更新,而其余部分保持不变。

在这里插入图片描述
学习到的图像张量可能是特定应用的关键。这样可以针对一组固定的对象类别进行定制提示,或者针对特定场景或角色优化提示图像,从而提供广泛的应用。

SegGPT 训练参数

在训练过程中,研究人员使用了具有 307M 参数的预训练 Vision Transformer 编码器 (ViT-L)。他们还使用了 AdamW 优化器、余弦学习率调度器,基本学习率为 1e-4,权重衰减为 0.05。批量大小设置为 2048,模型经过 9K 次迭代训练,预热期为 1.8K。该模型使用各种数据增强,例如随机调整大小裁剪、颜色抖动和随机水平翻转。输入图像大小为 448x448。

如何尝试 SegGPT?

您现在可以尝试的 SegGPT 演示托管在 Hugging Face 上。 SegGPT 的代码是开源的,并且与 Painter 包位于同一存储库中。

研究团队提供了一个带有 Gradio 的 UI,用于在本地运行演示。请按照以下步骤操作:

  1. 克隆项目存储库:https://github.com/baaivision/Painter/tree/main/SegGPT
  2. 运行 python app_gradio.py

在这里插入图片描述

使用哪些数据集来训练 SegGPT?

研究人员使用了多个分割数据集,例如部分、语义、实例、全景、人物、视网膜血管和航空图像。与以前需要手动合并标签的方法不同,该训练方法不需要额外的工作、调整数据集或修改模型架构。

BAAI 研究人员用于训练 SegGPT 的数据集包括以下内容:

  • ADE20K共有25K张图像,包括20K训练图像、2K验证图像和3K测试图像,提供150个语义类别的分割标签。
  • COCO 支持实例分割、语义分割和全景分割任务,使其成为流行的视觉感知数据集。它有 80 个“事物”和 53 个“东西”类别、118K 训练图像和 5K 验证。
  • 帕斯卡VOC;他们使用增强分割版本,该版本为 10582 个训练图像上的 20 个类别提供注释。
  • 城市景观:该数据集的主要关注点是场景和对街景的理解。
  • LIP 专注于人们的语义理解。
  • PACO 处理并使用了带有零件注释的 41807 个训练图像。
  • CHASE DB1、DRIVE、HRF 和 STARE 均提供视网膜血管分割注释。他们通过随机裁剪增强了高分辨率原始图像。

iSAID 和 loveDA 专注于航拍图像的语义理解,分别针对 15 个和 6 个语义类别使用 23262 个和 2520 个训练图像。

SegGPT可以用于AI辅助标记吗?

与 Meta 的 Segment Anything Model (SAM) 和其他最近的突破性基础模型(例如 Grounding DINO)一样,您可以使用 SegGPT 进行 AI 辅助图像标记和注释。该模型可以很好地推广到许多任务,并且有可能减少团队的注释工作量。

在这里插入图片描述
除此之外,还有其他主要好处:

  • 获得更快的注释:根据报告的结果,当您将 SegGPT 与良好的图像注释工具结合使用时,可以显着减少注释所需的标记时间。
  • 获得更高质量的注释:如果注释者可以生成更精确和准确的标签,那么总体上可能会减少错误并提高注释质量。
  • 获得一致的注释:当多个注释者在同一个项目上工作时,他们可以使用相同版本的SegGPT来确保注释的一致性。

您还可以设置 SegGPT,以便随着注释者完善和纠正其辅助标记,它会随着时间的推移进行学习和改进,从而随着时间的推移获得更好的性能并进一步简化注释过程。

使用 SegGPT 时需要注意的一件事是您想要用于注释的任务类型(语义、实例等)。 SegGPT 在所有基准测试中都没有优于现有的专业方法,因此了解它优于哪些任务非常重要。

结论

就这样,伙计们!

过去几周是计算机视觉过去十年中最激动人心的几周。但我们确信,我们会在几个月后回顾它们,并发现——从 Segment-Anything 到 SegGPT——我们仅仅触及了表面。

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

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

相关文章

Spring基础 - Spring简单例子引入Spring要点

Spring基础 - Spring简单例子引入Spring要点 设计一个Spring的Hello World 设计一个查询用户的案例的两个需求&#xff0c;来看Spring框架帮我们简化了什么开发工作 pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"htt…

vue.js基于springboot的实验室设备管理系统10345

(1)设备信息模块&#xff1a;记录设备的基本信息&#xff0c;如设备采购来源信息、设备需求量、当前数量、日期等。 (2) 用户模块&#xff1a;教师职工。实现对用户个人信息、消息管理和实验室设备的查询使用申请等。 (3) 管理员模块&#xff1a;实现对所有设备信息的增删改查&…

Android用setRectToRect实现Bitmap基于Matrix矩阵scale缩放RectF动画,Kotlin(二)

Android用setRectToRect实现Bitmap基于Matrix矩阵scale缩放RectF动画&#xff0c;Kotlin&#xff08;二&#xff09; 文章 https://zhangphil.blog.csdn.net/article/details/135980821 实现了基于Matrix缩放Bitmap的动画&#xff0c;但是从左上角&#xff08;0,0&#xff09;位…

FPGA_简单工程_状态机

一 理论 fpga是并行执行的&#xff0c;当处理需要顺序解决的事时&#xff0c;就要引入状态机。 状态机&#xff1a; 简写FSM&#xff0c;也称同步有限状态机。 分为&#xff1a;more型状态机&#xff0c;mealy型状态机。 功能&#xff1a;执行该事件&#xff0c;然后跳转到下…

幻兽帕鲁服务器怎么更新?进入游戏显示:加入的比赛正在运行不兼容的版本,请尝试升级游戏版本(阿里云)

幻兽帕鲁服务器怎么更新&#xff1f;进入游戏显示&#xff1a;加入的比赛正在运行不兼容的版本&#xff0c;请尝试升级游戏版本。这是因为游戏客户端或者服务器上的游戏服务端&#xff0c;没有更新版本。导致两个版本不一致&#xff0c;所以无法进入游戏。 最近幻兽帕鲁 官方客…

统计数字出现次数的数位动态规划解法-数位统计DP

在处理数字问题时,我们经常遇到需要统计一定范围内各个数字出现次数的情况。这类问题虽然看起来简单,但当数字范围较大时,直接遍历统计的方法就变得不再高效。本文将介绍一种利用数位动态规划(DP)的方法来解决这一问题,具体来说,是统计两个整数a和b之间(包含a和b)所有…

CSS 2D转换 3D动画 3D转换

目录 2D转换(transform): 移动translate: 旋转rotate: 缩放scale&#xff1a; CSS3动画&#xff08;transform&#xff09;&#xff1a; 动画常用的属性&#xff1a; 将长图片利用盒子实现动画的效果&#xff1a; 3D转换&#xff1a; 透视perspective&#xff1a; 旋转r…

点云——噪声(代码)

本人硕士期间研究的方向就是三维目标点云跟踪&#xff0c;对点云和跟踪有着较为深入的理解&#xff0c;但一直忙于实习未进行梳理&#xff0c;今天趁着在家休息对点云的噪声进行梳理&#xff0c;因为预处理对于点云项目是至关重要的&#xff0c;所有代码都是近期重新复现过。 这…

【并发编程】锁-源码分析

1、ReentrantLock 1.1 加锁流程源码 1.1.1 加锁流程概述 1.1.2 lock源码分析 1.1.2.1 公平和非公平锁方式 // 非公平锁 final void lock() {// 上来就先基于CAS的方式,尝试将state从0改为1if (compareAndSetState(0, 1))// 获取锁资源成功,会将当前线程设置到exclusiveOwn…

前端JavaScript篇之call() 和 apply() 的区别?

目录 call() 和 apply() 的区别&#xff1f; call() 和 apply() 的区别&#xff1f; 在JavaScript中&#xff0c;call()和apply()都是用来改变函数中this指向的方法&#xff0c;它们的作用是一样的&#xff0c;只是传参的方式不同。 call()方法和apply()方法的第一个参数都是…

【Web】小白友好的Java内存马基础学习笔记

目录 简介 文件马与内存马的比较 文件马原理 内存马原理 内存马使用场景 内存马分类 内存马注入方式 这篇文章主要是概念性的&#xff0c;具体技术细节不做探究&#xff0c;重点在祛魅。 简介 内存马&#xff08;Memory Shellcode&#xff09;是一种恶意攻击技术&…

【GAMES101】Lecture 20 颜色

目录 光 颜色 加色系统 CIE RGB颜色匹配实验 颜色空间 CIE XYZ颜色空间 HSV颜色空间(Hue-Saturation-Value) CIELAB空间 减色系统&#xff1a;CMYK 光 光是由不同波长的光波组成的&#xff0c;其中可见光的波长范围在400nm到700nm 用谱功率密度&#xff08;Spectral…

相机图像质量研究(11)常见问题总结:光学结构对成像的影响--像差

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

算法学习——LeetCode力扣字符串篇

算法学习——LeetCode力扣字符串篇 344. 反转字符串 344. 反转字符串 - 力扣&#xff08;LeetCode&#xff09; 描述 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地…

每日五道java面试题之java基础篇(四)

第一题. 访问修饰符 public、private、protected、以及不写&#xff08;默认&#xff09;时的区别&#xff1f; Java 中&#xff0c;可以使⽤访问控制符来保护对类、变量、⽅法和构造⽅法的访问。Java ⽀持 4 种不同的访问权限。 default (即默认&#xff0c;什么也不写&…

腾讯云4核8g10M轻量服务器能承受多少人在线访问?

腾讯云轻量4核8G12M轻量应用服务器支持多少人同时在线&#xff1f;通用型-4核8G-180G-2000G&#xff0c;2000GB月流量&#xff0c;系统盘为180GB SSD盘&#xff0c;12M公网带宽&#xff0c;下载速度峰值为1536KB/s&#xff0c;即1.5M/秒&#xff0c;假设网站内页平均大小为60KB…

七、滚动条操作——调整图像对比度

对比度调整&#xff1a;是在原来图像基础上进行相应的公式调整&#xff0c;是类似乘法操作&#xff0c;本身像数值越大&#xff0c;对比度增加之后其与低像素点值差距越大&#xff0c;导致对比增强 项目最终效果&#xff1a;通过滚动条trackbar来实现调整图片亮度的功能 我这里…

单片机与外设的交互

单片机与外设的交互是嵌入式系统中非常重要的一个基础知识点。单片机是一个集成在同一芯片上的中央处理器、存储器和输入/输出接口,它可以根据用户编写的程序与各种外部设备即外设进行交互。单片机与外设之间的交互主要通过单片机上的输入/输出口(I/O口)来实现。 I/O口的工作原…

(坑点!!!)给定n条过原点的直线和m条抛物线(y=ax^2+bx+c,a>0),对于每一条抛物线,是否存在一条直线与它没有交点,若有,输出直线斜率

题目 思路: 1、区间端点可能是小数的时候,不能直接利用加减1将 < 转化为 <=,例如,x < 1.5 不等价于 x <= 2.5 2、该题中k在(b - sqrt(4 * a * c), b + sqrt(4 * a * c) 中,注意是开区间,那么可以将左端点向上取整,右端点向下取整,即sqrt(4 * a * c)向下取…

超维机器人年终总结大事记回顾

2023年&#xff0c;对于超维机器人来说&#xff0c;是充满挑战和机遇的一年。在这一年里&#xff0c;我们攻坚克难&#xff0c;持续创新&#xff0c;深度聚焦智能巡检机器人的发展&#xff0c;加强合作伙伴关系&#xff0c;不断优化产品和服务&#xff0c;不断提升客户体验&…