Segment Anything论文详细翻译【Part2:引言Introduction】

目录

写在前面

Introduction

第1段

第2段

第3段

第4段

第5段

第6段

第7段

第8段

第9段

第10段

第11段

第12段

Figure2

关键特点

图中具体内容

图例说明


写在前面

为啥要写这篇文章?因为找不到一篇写的特别好的【翻译并仔细解释】文章。网上大多千篇一律,写的不够详细。因此,博主打算自己从头到尾,仔细的过一遍。希望帮助大家!

上一篇,我们介绍了第1篇文章,Segment Anything论文详细翻译【Part1:作者+Figure1+摘要】 - 知乎。本节课,我们继续学习第2部分“引言”

Introduction

第1段

大规模语言模型,在网络规模的数据集上进行预训练,正在凭借强大的零样本和小样本泛化能力,革新自然语言处理(NLP)。这些“基础模型”能够泛化到训练过程中未见过的任务和数据分布。该能力通常通过提示工程实现,其中费手工精心编写的文本,用于提示语言模型生成任务所需的有效文本响应。当使用来自网络的大量文本语料库进行扩展和训练时,这些模型在零样本和小样本任务上的表现令人惊讶地好,甚至在某些情况下可以媲美经过微调的模型。实验证明,随着模型规模、数据集大小和总训练计算量的增加,这种行为会不断改善。

基础模型(Foundation Models): 基础模型是指那些在大规模数据集上进行预训练,并能够泛化至大量不同任务的通用模型。它们在未经过训练的新任务上表现出色,通常通过零样本或少量样本学习(zero-shot and few-shot learning)。
大规模语言模型(Large Language Models):这类模型在非常大的文本数据集上进行预训练,使其在处理自然语言任务时具有强大的能力。常见的例子包括GPT-3、BERT和T5等。
网络规模的数据集(Web-scale Datasets):在互联网海量数据中抽取的非常大规模的数据集。典型的数据集通常包含数亿甚至数十亿个文本片段,用于训练模型以理解和生成人类语言。
预训练(Pre-training):预训练是一种在大型数据集上训练模型的方法,模型通过学习广泛的语言模式和知识来获取初始能力。在这个过程中,模型并不知道最终任务是什么,仅仅是学习语言的结构和使用规则。
零样本(Zero-shot)和小样本(Few-shot)零样本泛化是指模型能够在完全没有见过相关示例的情况下完成任务。例如,当一个模型能够正确地翻译从未见过的语言对时,便实现了零样本泛化。 小样本泛化是指模型仅需少量示例即可完成新的任务。例如,当模型能够通过少数几次学习新的文本分类任务并达到高准确率时,便实现了小样本泛化。
泛化能力(Generalization Ability):指模型在未见过的数据和任务上仍能表现良好的能力。良好的泛化能力意味着模型不仅仅能记住训练数据,还能从中抽象出适用于新情境的规律和知识。
提示工程(Prompt Engineering):通过设计特定的输入提示来引导大型预训练模型生成所需的输出。例如,设计问题的方式、添加特定的前缀或后缀来诱导模型生成所需的答案或文本。
文本语料库(Text Corpora):大型文本数据集,用于训练和评估自然语言处理模型。这些语料库通常包含各类文档、对话、社交媒体帖子等,涵盖广泛的语言使用情况。
零样本任务(Zero-shot Tasks):未经过专门训练或微调的新任务。模型直接应用于这些任务,依赖于预训练中学到的知识和泛化能力。例如,让一个语言模型进行医学诊断,但它在预训练时并没有见过医学诊断的数据。
微调(Fine-tuning):在特定任务或数据集上对预训练模型进行进一步训练。微调通常通过在特定任务数据上进行几个时期的训练来细化模型的能力,使其在该任务上表现更好。

第2段

基础模型也在计算机视觉中,有所探索,尽管程度较小。最突出的例子可能是:将网络中的文本和图像配对。例如,CLIP和ALIGN使用对比学习,来训练文本和图像编码器,使两种模式对齐。一旦训练完成,经过设计的文本提示可以实现对新视觉概念和数据分布的零样本泛化。这些编码器还可以与其他模块有效组合以实现下游任务,例如图像生成(如DALL·E)。虽然在视觉和语言编码器方面,取得了许多进展,计算机视觉还包括比这范围更广的一系列问题,对于其中的许多问题,丰富的训练数据并不存在。

对比学习(Contrastive Learning): 对比学习是一种自监督学习方法,通过最大化相似样本(正样本对)之间的相似性,并最小化不同样本(负样本对)之间的相似性来学习数据的表示。CLIP和ALIGN使用对比学习来对齐文本和图像的表示。
CLIP: CLIP(Contrastive Language-Image Pre-training)是OpenAI开发的一种模型,通过对比学习将文本和图像对齐。它在训练中使用大量的图像和文本对,使得模型能够进行零样本学习,并能处理未见过的数据分布和视觉概念。
ALIGN: ALIGN(A Large-scale ImaGe and Noisy-text embedding)是Google提出的一个类似于CLIP的模型,也使用对比学习来训练文本和图像编码器。它在大规模的图像和文本数据上进行训练,目标是对齐两种模式(文本和图像)。
文本提示(Text Prompts): 文本提示是一种通过输入特定文本来引导模型生成所需输出的方法。在CLIP和ALIGN中,经过设计的文本提示用于指导模型进行零样本泛化。
DALL·E: DALL·E是OpenAI开发的一种图像生成模型,它可以根据文本描述生成对应的图像。DALL·E利用了训练过的视觉和语言编码器,将文本提示转化为图像生成。
视觉和语言编码器(Vision and Language Encoders): 编码器是一种神经网络模型,用于将输入数据(如图像或文本)转化为固定长度的向量表示。CLIP和ALIGN通过对比学习训练视觉和语言编码器,使两种不同模式的表示能够对齐,从而实现更好地跨模态任务表现。

第3段

在这项工作中,我们的目标是构建一个用于图像分割的基础模型。具体来说,我们希望开发一个可提示的模型,并在一个广泛的数据集上进行预训练,以实现强大的泛化能力。通过这个模型,我们旨在利用提示工程,解决新数据分布上的一系列下游分割问题。


第4段

这一计划的成功取决于任务、模型和数据这三个要素。为了实现这些,我们解决了有关图像分割的以下问题:

  1. 什么任务可以实现零样本泛化?
  2. 相应的模型架构是什么?
  3. 什么数据可以支持这个任务和模型?

第5段

这些问题是相互关联的,需要综合解决。我们首先定义了一个可提示的分割任务,该任务足够通用,可以提供强大的预训练目标,并能够支持广泛的下游应用。这个任务要求模型支持灵活提示,并可以在提示时实时输出分割掩码,以实现交互式使用。为了训练我们的模型,我们需要一个多样的大规模数据源。不幸的是,没有一个用于分割的网页级数据源;为了解决这个问题,我们构建了一个“数据引擎”,即我们在使用高效模型协助数据收集和使用新收集的数据来改进模型之间迭代进行。接下来,我们介绍每个相互关联的组件,然后是,我们创建的数据集,和证明我们方法有效的实验。


第6段

任务 (第2节): 在自然语言处理(NLP)和近来的计算机视觉领域,基础模型已成为一种有前景的发展方向。这些模型通常使用提示(prompting)技术,能够进行零样本和少样本学习新数据集和新任务。受到此类工作的启发,我们提出了可提示的分割任务,其目标是根据任意分割提示,返回一个有效的分割掩码(见图1a)。提示只是简单地指定了在图像中需要分割的内容,例如,提示可以包含用于标识物体的空间或文本信息。有效输出掩码的要求意味着,即使提示是模糊的并且可能指向多个物体(例如,衣服上的一点,可能指示衣服或穿着衣服的人),输出都应当是其中至少一个物体的合理掩码。我们使用可提示的分割任务,作为预训练目标,并通过提示工程解决一系列下游分割任务。

第7段

模型 (第3节): 可提示的分割任务和实际应用需求,对模型的架构设计提出了一些约束。具体来说,模型需要支持灵活的提示,能够在摊销的实时环境中计算掩码以便交互使用,并且必须能够识别和处理歧义。意外的是,我们发现一个简单的设计就能满足这些要求:一个强大的图像编码器用来计算图像嵌入,一个提示编码器嵌入提示信息,然后这两个信息源被结合到一个轻量级的掩码解码器中,该解码器预测分割掩码。我们称这个模型为“全能分割模型”(Segment Anything Model,即SAM,见图1b)。通过将SAM,分成图像编码器和快速提示编码器/掩码解码器,可以在不同提示下,复用同一个图像嵌入(并摊销计算成本)。给定一个图像嵌入,提示编码器和掩码解码器可以在大约50毫秒内,根据提示预测出一个掩码。我们专注于点、框和掩码提示,并且展示了自由格式文本提示的初步结果。为了让SAM具备歧义识别能力,我们设计它以预测单个提示的多个掩码,从而让SAM自然地处理歧义,例如:区分衣服和穿衣者之间的区别。


第8段

数据引擎 (第4节): 为了让SAM在新的数据分布上实现强大的泛化能力,我们发现,有必要在一个大型且多样化的掩码数据集上训练SAM,这远远超出了现有的任何分割数据集。虽然,典型的方法是从网上获取数据,但掩码数据并不天然丰富,因此,我们需要一个替代策略。我们的解决方案是,建立一个“数据引擎”,即在数据集标注过程中,与模型共同开发(见图1c)。我们的数据引擎分为三个阶段:辅助手动、半自动和全自动。在第一阶段,SAM协助标注人员进行掩码标注,类似于经典的交互式分割设置。在第二阶段,SAM通过提示可能的对象位置自动生成部分对象的掩码,而标注人员集中精力标注剩余的对象,以增加掩码的多样性。在最后阶段,我们通过一个规则的前景点网格提示SAM,平均每张图像生成大约100个高质量掩码。


第9段

数据集 (第5节): 我们的最终数据集SA-1B包含了超过10亿个掩码,这些掩码来自1100万张已授权且保护隐私的图像(见图2)。SA-1B完全通过我们数据引擎的最后阶段自动收集,其掩码数量是现有任何分割数据集的400倍。经过广泛验证,这些掩码具有高质量和高度多样性。除了用于训练以使SAM更强大和通用之外,我们还希望SA-1B能成为建立新基础模型的研究中的宝贵资源。


第10段

负责任的AI (第6节): 我们研究并报告了在使用SA-1B和SAM时,可能存在的公平性问题和偏见。SA-1B中的图像来自地理和经济多样化的国家,我们发现SAM在不同人群中表现一致。我们希望这能使我们的工作在实际应用中更加公正。在附录中,我们提供了模型和数据集卡片。


第11段

实验 (第7节): 我们对SAM进行了广泛的评估。首先,使用一个包含23个不同分割数据集的多样化新套件,我们发现SAM能够从单个前景点,生成高质量的掩码,其表现通常仅稍低于手动标注的真实值。其次,通过提示工程的零样本转移协议,我们在多种下游任务中(包括边缘检测、目标提议生成、实例分割,以及文本到掩码预测的初步探索)获得了始终如一的强有力的定量和定性结果。这些结果表明,SAM可以在使用提示工程的情况下,直接应用于解决涉及对象和图像分布的各种任务,超出其训练数据的范围。然而,仍有改进空间,正如我们在第8节中讨论的那样。


第12段

发布: 我们将SA-1B数据集开放供研究用途,并根据宽松的开放许可证(Apache 2.0)发布SAM,网址是https://segment-anything.com。此外,我们还通过在线演示展示了SAM的功能。


Figure2

关键特点

  • 多样性:图片中展示的图像来自不同的场景和对象,体现了数据集的多样性。
  • 掩码数量:图片中的图像根据每张图像上叠加掩码的数量分组,具体分为以下几类:
    • 小于50个掩码
    • 50到100个掩码
    • 100到200个掩码
    • 200到300个掩码
    • 300到400个掩码
    • 400到500个掩码
    • 超过500个掩码

图中具体内容

  • <50个掩码
    • 左上角部分,包括海面上船只、墙上的壁画、停机坪上的飞机等,展示了简单且少量对象的场景。
  • 50-100个掩码
    • 这一部分包含操场上的人、游乐园中的场景等,掩码数量相对较多。
  • 100-200个掩码
    • 中等复杂度的场景,例如市场摊位、摆放食物的桌子等,显示了更多的对象分割。
  • 200-300个掩码
    • 更复杂的场景,如大型市场、繁忙的街道等,掩码数量进一步增加。
  • 300-400个掩码
    • 包括水果摊、超市货架、人群聚集等,非常复杂和多样化的场景。
  • 400-500个掩码
    • 最复杂的场景之一,展示了充满商品的货架和密集的市场场景,大量的对象被分割。
  • >500个掩码
    • 最复杂的场景,包括全景市场和蔬菜摊位,每张图像中有超过500个分割掩码。

图例说明

  • 图例说明
    • 图例的下方标注了这些图像的来源:SA-1B数据集,它包含1100万张授权并保护隐私的高分辨率图像和11亿个高质量分割掩码。
    • 这些掩码是完全由SAM自动标注的,并经过了人工评级和大量实验验证,确保了高质量和多样性。
    • 出于可视化的目的,图像按每张图像上的掩码数量分组,每张图像平均有大约100个掩码。

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

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

相关文章

整数拼接(哈希表 枚举)

2068. 整数拼接 - AcWing题库 #include <bits/stdc.h> using namespace std;const int N 1e5 10;int n,k; int a[N]; int s[11][N]; //因为Ai < 10^9 10^9 是一个10位数&#xff0c;所以要*10^10 才能拼接int main() {cin >> n >> k;for (int i 1;i &…

使用爬虫技术获取网页中的半结构化数据

目录 前言1. 半结构化数据与爬虫技术简介1.1 半结构化数据的定义与特性1.2 爬虫技术的基本原理 2. 爬取半结构化数据的实现过程2.1 明确目标与准备2.2 发送HTTP请求2.3 解析网页内容2.4 动态内容的处理2.5 数据存储与清洗 3. 技术挑战与应对策略3.1 处理反爬机制3.2 提高爬取效…

Linux(Centos 7.6)命令详解:ls

1.命令作用 列出目录内容(list directory contents) 2.命令语法 Usage: ls [OPTION]... [FILE]... 3.参数详解 OPTION: -l&#xff0c;long list 使用长列表格式-a&#xff0c;all 不忽略.开头的条目&#xff08;打印所有条目&#xff0c;包括.开头的隐藏条目&#xff09…

一文读懂主成分分析法(PCA)

主成分分析法&#xff08;PCA&#xff09; 主成分分析法&#xff08;PCA&#xff09;主成分分析的基本思想主成分的计算主成分分析的原理主成分分析的特点主成分分析的应用 主成分分析法&#xff08;PCA&#xff09; 主成分分析的基本思想 PCA是1901 年Pearson在研究回归分析…

LLVM防忘录

目录 Windows中源码编译LLVMWindows下编译LLVM Pass DLL Windows中源码编译LLVM 直接从llvm-project下载源码, 然后解压后用VS2022打开该目录, 然后利用VS的开发终端执行: cmake -S llvm -B build -G "Visual Studio 17 2022" -DLLVM_ENABLE_PROJECTSclang -DLLVM_…

adb 不是内部或外部命令,也不是可运行的程序或批处理文件。

1、问题概述&#xff1f; 本文讲述的是在window系统中安装了Android SDK之后&#xff0c;adb无法使用的情况。 在cmd中执行adb devices提示如下问题&#xff1a; adb 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 问题&#xff1a;没有配置android sdk环…

Leetcode 第426场周赛分析总结

3370. 仅含置位位的最小整数 AC代码 class Solution { public:int smallestNumber(int n) {int x 1;while (x - 1 < n) {x << 1;}return x - 1;} };分析总结 也可以先直接获取n的长度&#xff0c;然后计算得到&#xff0c;这样时间复杂度由O(logn)优化为O(1) 在C…

【从零开始入门unity游戏开发之——unity篇05】unity6基础入门——运行游戏按钮、Game游戏窗口和Project项目窗口介绍

文章目录 运行游戏按钮、Game游戏窗口和Project项目窗口一、运行游戏按钮二、Game游戏窗口1、右上角设置1.1 如果没有相机渲染则发出警告1.2 在”编程模式”下清除每一帧1.3 窗口最大化 2、上方工具&#xff08;1&#xff09;切换手机模拟器&#xff08;2&#xff09;切换不同显…

九、Vue 事件处理器

文章目录 前言一、基础事件绑定:v-on 指令二、方法调用:组织有序的交互逻辑三、事件修饰符阻止冒泡与默认事件捕获与自身触发单次触发与鼠标按键区分四、按键修饰符前言 在 Vue.js 的交互世界里,事件处理器起着举足轻重的作用,它让页面从静态展示迈向动态交互,精准捕捉用户…

【项目】基于趋动云平台的Stable Diffusion开发

【项目】基于趋动云平台的Stable Diffusion开发 &#xff08;一&#xff09;登录趋动云&#xff08;二&#xff09;创建项目&#xff1a;&#xff08;三&#xff09;初始化开发环境&#xff1a;&#xff08;四&#xff09;运行代码&#xff08;五&#xff09;运行模型 &#xf…

VSCode下配置Blazor环境 断点调试Blazor项目

VSCode下使用Blazor的环境配置和插件推荐 Blazor是一种用于构建交互式Web UI的.NET框架&#xff0c;它可以让你使用C#、Razor和HTML进行Web开发&#xff0c;而不需要JavaScript。在这篇文章中&#xff0c;我们将介绍如何在VSCode中配置Blazor环境&#xff0c;并推荐一些有用的…

word文档中的文档网格——解决相同行间距当显示出不同行间距的情况

1 问题 被一个行间距调疯了&#xff0c;就是样式改了没用&#xff0c;格式刷刷了没用。就是肉眼可以看出行间距完全不一样。 2 解决方法 1&#xff09;修改论文正文(即出现问题文本的样式)样式&#xff1a;样式>修改>格式>段落>缩进和间距>取消"如果定义了…

ubuntu如何禁用 Snap 更新

.禁用 Snap 更新&#xff08;通过修改 snapd 配置&#xff09; 打开并编辑 /etc/apt/apt.conf.d/50unattended-upgrades文件。 这个文件控制自动更新的行为。 sudo vim /etc/apt/apt.conf.d/50unattended-upgrades 里面有一行将里面的auto改为false即可禁用更新&#xff1a;…

UniApp 原生插件开发指南

一、UniApp 原生插件开发引言 在当今的移动应用开发领域&#xff0c;跨平台开发已成为主流趋势&#xff0c;而 UniApp 作为一款强大的跨平台开发框架&#xff0c;备受开发者青睐。它凭借 “一套代码&#xff0c;多端运行” 的特性&#xff0c;极大地提高了开发效率&#xff0c…

JVM实战—9.线上FGC的几种案例

大纲 1.如何优化每秒十万QPS的社交APP的JVM性能(增加S区大小 优化内存碎片) 2.如何对垂直电商APP后台系统的FGC进行深度优化(定制JVM参数模版) 3.不合理设置JVM参数可能导致频繁FGC(优化反射的软引用被每次YGC回收) 4.线上系统每天数十次FGC导致频繁卡顿的优化(大对象问题…

电脑找不到mfc110.dll文件要如何解决?Windows缺失mfc110.dll文件快速解决方法

一、mfc110.dll文件的重要性 mfc110.dll&#xff0c;全称Microsoft Foundation Class Library 110&#xff0c;是Microsoft Visual C Redistributable for Visual Studio 2012的一部分。这个动态链接库&#xff08;DLL&#xff09;文件对于支持基于MFC&#xff08;Microsoft F…

《机器学习》——数据标准化(0~1标准化,z标准化)

文章目录 数据标准化一、什么是标准化二、常用标准化0~1标准化z标准化 三、注意事项 数据标准化 一、什么是标准化 数据标准化是一种数据预处理技术&#xff0c;用于将数据按照一定的规则进行变换&#xff0c;使得不同特征或变量具有可比性和一致性。作用 消除量纲影响 在实际…

【Vim Masterclass 笔记02】第3章:Vim 核心知识 + L08:Vim 核心浏览命令 + L09:Vim 核心浏览命令同步练习

文章目录 Section 3&#xff1a;Vim Essentials&#xff08;Vim 核心知识&#xff09;S03L08 Essential Navigation Commands1 光标的上下左右移动2 上 / 下翻页3 基于单词前移4 基于单词后移5 重新定位视图中的文本&#xff08;页面重绘&#xff09;6 定位到所在行的行首7 光标…

2025工作管理综合指南:Jira、Confluence等Atlassian工具套件在工作管理中的应用

在高效的工作场所中&#xff0c;沟通、协作与协调是驱动团队效能与生产力提升的核心要素。企业需构建无缝信息流、顺畅的交接与标准化的流程&#xff0c;以确保无论团队采用何种工作模式——面对面、远程或混合——都能实现高效运作。一套强大的工作管理解决方案&#xff0c;作…

MyBatis-plus sql拦截器

因为业务需求&#xff0c;重新写了一套数据权限。项目中用的是mybtis-plus&#xff0c;正好MyBatis-Plus提供了插件数据权限插件 | MyBatis-Plus&#xff0c;那就根据文档来实现这个需求。 实现&#xff1a; 实现MultiDataPermissionHandler 首先创建MultiDataPermissionHan…