当前位置: 首页 > news >正文

Segment Anything论文阅读笔记

Segment Anything论文阅读笔记

  • 1. Segment Anything论文基本信息
  • 2. Segment Anything论文阅读
    • 2.1 第一遍阅读 Segment Anything
    • 2.2. 第二遍阅读 Segment Anything
      • 2.2.1. Segment Anything中相关的图表

1. Segment Anything论文基本信息

论文地址https://arxiv.org/abs/2304.02643
项目地址https://github.com/facebookresearch/segment-anything
Demo 与数据集SA-1B地址https://segment-anything.com/
论文作者Alexander Kirillov1;2;4 Eric Mintun2 Nikhila Ravi1;2 Hanzi Mao2 Chloe Rolland3 Laura Gustafson3Tete Xiao3 Spencer Whitehead Alexander C. Berg Wan-Yen Lo Piotr Dollar ´ 4 Ross Girshick4
作者单位Meta AI Research, FAIR

2. Segment Anything论文阅读

使用三遍阅读法阅读该论文

2.1 第一遍阅读 Segment Anything

标题:Segment Anything
摘要:我们引入“分割任何事物”项目,一个新的任务、模型和图像分割数据集。在数据收集中循环使用我们的高效模型,我们建立了迄今为止(到目前为止)最大的分割数据集,在1100万张许受可和尊重隐私的图像上拥有超过10亿个掩模。该模型被设计和训练为可提示的,因此它可以将零拍摄转移到新的图像分布和任务。我们评估了它在许多任务中的能力,发现它的零射击性能令人印象深刻-通常可相竞争甚至优于与之前的完全监督结果。我们在https://segment-anything.com上发布了包含1B个掩模和11M张图像的任意图像分割模型(SAM)和相应的数据集(SA-1B),以促进对计算机视觉基础模型的研究。

介绍:在这项工作中,我们的目标是建立一个图像分割的基础模型。也就是说,我们寻求开发一个提示模型,并使用一个能够实现强大泛化的任务在广泛的数据集上对其进行预训练。解决以下三个图像分割问题:

  1. 什么任务支持零概率泛化?
  2. 相应的模型结构是怎样的?
  3. 哪些数据可以为这项任务和模型提供动力?

总结:“任意分割”项目是将图像分割提升到基础模型时代的一次尝试。
我们的主要贡献是一个新的任务(提示分割),模型(SAM)和数据集(SA-1B),使这一飞跃成为可能。

章节标题

摘要
  1. 简介
  2. 分割任意事物任务
  3. 分割任意事物模型
  4. 分割任意事物数据引擎
  5. 分割任意事物数据集
  6. 分割任意事物(RAI)负责任的AI分析
  7. 零样本迁移实验
  8. 讨论
    参考
    附录
    A. 分割任意事物模型和任务细节
    B. 自动生成掩码细节
    C. RAI其他详细信息
    D. 实验实现细节
    E. 人类学习实验设计
    F. 数据集、标注与模型卡
    G. 标注指导原则

2.2. 第二遍阅读 Segment Anything

1.仔细看论文中的数字、图表和其他插图。要特别注意图表。坐标轴的标记是否正确?结果是否以误差条显示,以便结论具有统计显著性?像这样的常见错误会将匆忙、粗制滥造的作品与真正优秀的作品区分开来。
2.记住标记相关的未读参考文献以供进一步阅读(这是了解论文背景的好方法)。
第二遍阅读最多需要一个小时。通过这一关后,你应该能够掌握论文的内容。你应该能够向别人总结论文的主旨,并提供支持证据。这种程度的细节适合于你感兴趣的论文,但不属于你的研究专业。
有时你甚至在第二遍结束时也看不懂一篇论文。这可能是因为这个主题对你来说是新的,有不熟悉的术语和缩写。或者作者可能会使用你不理解的证明或实验技术,因此论文的大部分内容都是不可理解的。论文可能写得很差,有未经证实的断言和大量的参考文献。也有可能是深夜你太累了。你现在可以选择:(a)把论文放在一边,希望你不需要理解这些材料就能在你的职业生涯中取得成功,(b)稍后再回到论文中,也许在阅读背景材料之后,或者©坚持下去,继续第三遍。

2.2.1. Segment Anything中相关的图表

在这里插入图片描述
图1列出了本文提到的项目涉及到的三个组成部分,分别是:任务、模型和数据。
其中任务指的是基于提示的分割,如图1中的(a)所示,提示可以是 点、框、Mask或者自由文本,输入图像,输出有效的mask。
模型是指可以分割任意事物的模型,如图1中的(b)所示,该模分割模型(SAM),支持数据注释,并通过提示工程实现零概率转移到一系列任务中。
数据,包含两个方面数据引擎和数据,如图1中的(c)所示,上半部分是数据引擎,通过数据训练模型,通过模型标注数据,循环进行。下半部分是包含十亿mask的数据集SA-1B。
SA-1B含义是SagmentAnything 1B。

在这里插入图片描述
图2, 来自我们新引入的数据集SA-1B的带有叠加Mask的示例图像。SA-1B包含11M不同的、高分辨率的、许可的和隐私保护的图像和1.1B高质量的分割Mask。这些Mask是由SAM完全自动标注的,正如我们通过人工评分和大量实验验证的那样,它们具有高质量和多样性。我们根据每个图像的掩模数量对图像进行分组以实现可视化(平均每个图像有~ 100个掩模)。

在这里插入图片描述
图3. 每一列展示了3个由SAM通过一个混淆的提示点(绿色圆圈)生成的有效掩码。

在这里插入图片描述
图4. SAM概览。重量级图像编码器输出图像嵌入,然后可以通过各种输入提示有效地查询,以平摊实时速度生成对象掩码。对于对应于多个对象的模糊提示,SAM可以输出多个有效掩码和相关的置信度分数。
右侧的预测从上到下依次嵌套掩模通常最多有三层深度:整体、部分和子部分。图3由上到下也是按照整体、部分和子部分这样排列的。
关于模型的细节说明可以看附录中的部分“A. 分割任意事物模型和任务细节”。

在这里插入图片描述
图5 图像大小归一Mask版中心分布。图像归一化后的Mask中心分布图反应了目标在图像中的位置分布,Open Images和COCO数据集分布集中在中心点,ADE20K和SA-1B分布的范围更普遍。通过数据集的对比可以得到使用ADE20K和SA-1B数据集训练的模型泛化性能会更好。

在这里插入图片描述
图6. 数据集Mask属性。图例引用了每个数据集中的图像和掩码的数量。注意到,SA-1B比现有最大的分割数据集Open images[60]多11倍的图像和400倍的掩码。
上图对比了几个数据集的属性,在每张图mask个数属性上SA-1B数据集Mask个数较多,在mask相对尺寸属性上五个书籍及相似,在图像凹度属性上五个数据集相似。

在这里插入图片描述
图7. SA-1B图像的估计地理分布。世界上大多数国家都有超过1000张图片SA-1B,图片最多的三个国家来自世界各地。
改图说明了图像数据的地理来源分布。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

参考:
参考:

相关文章:

Segment Anything论文阅读笔记

Segment Anything论文阅读笔记 1. Segment Anything论文基本信息2. Segment Anything论文阅读2.1 第一遍阅读 Segment Anything2.2. 第二遍阅读 Segment Anything2.2.1. Segment Anything中相关的图表 1. Segment Anything论文基本信息 论文地址https://arxiv.org/abs/2304.02…...

Python入门教程 | Python 基础语法

标识符 第一个字符必须是字母表中字母或下划线 _ 。标识符的其他的部分由字母、数字和下划线组成。标识符对大小写敏感。 在 Python 3中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。默认情况下,Python 3 源码文件以 UTF-8 编码&am…...

JAMstack架构:快速构建安全、高性能的现代应用

随着Web应用的快速发展,开发者们在寻找更加高效、安全和可维护的应用架构。JAMstack架构应运而生,它通过将前端、后端和部署过程分离,提供了一种现代化的方式来构建Web应用。在本文中,我们将深入探讨JAMstack架构的特点、优势以及…...

Web会话技术

会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应 会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,…...

hbuilderx打包苹果证书获取步骤

简介: 目前app开发,很多企业都用H5框架来开发,而uniapp又是这些h5框架里面最成熟的,因此hbuilderx就成为了开发者的首选。然而,打包APP是需要证书的,那么这个证书又是如何获得呢? 生成苹果证书相对复杂一些…...

JAVA下载Excel文件之后无法打开,提示损坏

resources 目录下放模板 excel 文件,通过接口下载后,可以正常下载,但打不开。 问题: springboot 项目简单的下载excel 模板功能,模板放在resources/template/目录中 public void downloadItemBatch(HttpServletRespo…...

复合 类型

字符串和切片 切片 切片的作用是允许你引用集合中部分连续的元素序列,而不是引用整个集合。 例如: let s String::from("hello world");let hello &s[0..5]; // 切片 [0,5) 等效于&s[..5] let world &s[6..11]; // 切片…...

Practices11|41. 缺失的第一个正数(数组)、73. 矩阵置零(矩阵)

41. 缺失的第一个正数(数组) 1.题目: 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出&#xf…...

深入完整的带你了解java对象的比较

目录 元素的比较 1.基本类型的比较 2.对象比较的问题 1.运行结果 2.疑问 3.原因 对象的比较 1.覆写基类的equals 2.基于Comparble接口类的比较 3.基于比较器比较 4.三种方式对比 元素的比较 1.基本类型的比较 在Java 中,基本类型的对象可以直接比较大…...

ubuntu20.04升级GLIBC高版本方法,解决:version `GLIBC_2.34‘ not found

检查版本 strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_ 1 显示结果 GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11 GLIBC_2.12 GLIBC_2.13 GLIBC_2…...

日产将使用东风纯电平台?官方回应:不是日产品牌

据财联社报道,日产中国在对于“日产将使用东风纯电平台”的传闻进行回应时指出,文中提及的平台将会用于日产在华合资企业的自主品牌,而不是日产品牌本身。这一消息进一步确认了之前每经网的报道,称日产将采用东风汽车最新发布的“…...

cdh6.3.2 Flink On Yarn taskmanager任务分配倾斜问题的解决办法

业务场景: Flink On Yarn任务启动 组件版本: CDH:6.3.2 Flink:1.13.2 Hadoop:3.0.0 问题描述: 在使用FLink on Yarn调度过程中,发现taskmanager总是分配在集中的几个节点上,集群…...

改进YOLO系列:3.添加SOCA注意力机制

添加SOCA注意力机制 1. SOCA注意力机制论文2. SOCA注意力机制原理3. SOCA注意力机制的配置3.1common.py配置3.2yolo.py配置3.3yaml文件配置1. SOCA注意力机制论文 暂未找到 2. SOCA注意力机制原理 3. SOCA注意力机制的配置 3.1common.py配置 ./models/common.p…...

SpringBoot整合Mybatis Plus——条件构造器Wrapper

Mybatis Plus为我们提供了如下的一些条件构造器&#xff0c;我们可以利用它们实现查询条件、删除条件、更新条件的构造。 条件构造器 | MyBatis-Plus (baomidou.com) 一、通过maven坐标引入依赖&#xff08;注意版本&#xff01;&#xff01;&#xff09; <dependency>…...

while循环语句

# while循环 # 通过while循环&#xff0c;计算1到100的总和 num 1 sum 0 while num < 100:sum num sumnum 1 print(f"1到100的和为{sum}") #嵌套语句--实现猜1-10数字游戏 import random flagTrue numrandom.randint(1,10) while flag:guess_numint(input(&q…...

【ARM 嵌入式 编译系列 11 -- GCC __attribute__((packed))详细介绍】

文章目录 __attribute__((packed)) 介绍上篇文章:ARM 嵌入式 编译系列 10.3 – GNU elfutils 工具小结 下篇文章:ARM 嵌入式 编译系列 11.1 – GCC attribute((aligned(x)))详细介绍 attribute((packed)) 介绍 __attribute__((packed)) 是 GCC 编译器的一个特性,它可以…...

Pytorch-day06-复杂模型构建-checkpoint

1、PyTorch 复杂模型构建 1、模型截图2、模型部件实现3、模型组装 2、模型定义 2.1、Sequential 1、当模型的前向计算为简单串联各个层的计算时&#xff0c; Sequential 类可以通过更加简单的方式定义模型。2、可以接收一个子模块的有序字典(OrderedDict) 或者一系列子模块…...

windows电脑系统自带的画图工具如何实现自由拼图

1.首先选中你要拼接的第一张图片&#xff0c;右键选着编辑&#xff0c;会自动打开自带的画图工具 然后就是打开第一张图片&#xff0c;如下图所示 接着就是将画布托大&#xff0c;如下图所示。 然后点击选择&#xff0c;选择下面的空白区域&#xff0c;选着区域的范围要比准备拼…...

直线模组的运行注意事项

直线模组是属于高精密的传动元件&#xff0c;大家都知道&#xff0c;安装不当&#xff0c;直线模组就无法显示其高精度的优势&#xff0c;不仅如此&#xff0c;使用不当也会磨损直线模&#xff0c;针对直线模组的使用安全性事宜&#xff0c;我们切记严苛遵照有关的安全操作规程…...

记录每日LeetCode 2236. 判断根结点是否等于子结点之和 Java实现

题目描述&#xff1a; 给你一个 二叉树 的根结点 root&#xff0c;该二叉树由恰好 3 个结点组成&#xff1a;根结点、左子结点和右子结点。 如果根结点值等于两个子结点值之和&#xff0c;返回 true &#xff0c;否则返回 false 。 初始代码&#xff1a; /*** Definition f…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...