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

SAM附录详解

前言

《SAM:Segment Anything》论文精读笔记-CSDN博客

SAM模型细节分析 (附录内容)-CSDN博客 


自动掩码生成细节

下面讨论用于生成发布数据集 SA-1B 的数据引擎全自动阶段的细节。

裁剪(Cropping)

掩码是通过在整张图像上以 32×32 的规则点网格进行采样生成的。此外,我们还使用了 2×2 和 4×4 的部分重叠窗口进行放大裁剪,在这些裁剪图像上分别使用 16×16 和 8×8 的规则点网格进行采样。裁剪使用的是原始高分辨率图像(这也是唯一一次使用原始图像)。我们移除了那些接触到裁剪区域内部边界的掩码。

我们使用标准的基于边界框的贪心非极大值抑制(NMS)方法,分两个阶段进行:

  1. 在每个裁剪区域内部进行 NMS:使用模型预测的 IoU 对掩码进行排序;
  2. 在所有裁剪区域之间进行 NMS:根据掩码来源的裁剪区域,从放大倍数最高的(即来自 4×4 裁剪)到放大倍数最低的(即原始图像)进行排序。

在这两个阶段中,我们都使用了 0.7 的 NMS 阈值。

过滤(Filtering)

我们使用了三个过滤器来提升掩码质量:

  1. 置信度过滤:只保留模型预测 IoU 分数大于等于 88.0 的掩码;
  2. 稳定性过滤:通过将同一个软掩码(soft mask)在不同阈值下二值化得到两个二值掩码,并比较它们之间的 IoU。只有当以 -1 和 +1 阈值得到的掩码之间的 IoU 大于等于 95.0 时,才保留以 0 阈值得到的掩码;
  3. 全图掩码过滤:我们发现有时自动生成的掩码会覆盖整个图像,这些掩码通常没有实际意义。因此我们过滤掉了覆盖面积超过图像 95% 的掩码。

所有过滤阈值的选择都旨在在保证掩码数量的同时,尽可能提高掩码质量,这一标准由专业标注人员根据第 5 节所述方法进行评估。

后处理(Postprocessing)

我们观察到两类可以通过后处理缓解的错误类型:

  1. 小的虚假区域:估计有 4% 的掩码包含小的、不相关的区域。为解决这一问题,我们移除了面积小于 100 像素的连通区域;如果一个掩码的最大区域也小于该阈值,则整个掩码都会被移除;
  2. 小的虚假空洞:估计也有约 4% 的掩码包含小的空洞。我们通过填充面积小于 100 像素的空洞来修复这些问题。空洞是通过对掩码取反后识别出的连通区域确定的。
自动掩码生成模型

我们为全自动掩码生成训练了一个特殊版本的 SAM 模型,该模型在推理速度上有所牺牲,但提升了掩码生成的质量。与默认的 SAM 模型相比,该版本的主要差异包括:

  • 仅在手动和半自动数据上进行训练;
  • 使用大规模抖动数据增强 [simple copy paste],训练迭代次数更长(177656 次,而非 90000 次);
  • 模拟交互训练仅使用点和掩码提示(不使用框),且在训练中每个掩码仅采样 4 个点(相比默认的 9 个点,这加快了训练速度,对 1 个点的性能无影响,但如果评估使用更多点,会降低 mIoU);
  • 掩码解码器使用了 3 层而非 2 层。

待更新

http://www.xdnf.cn/news/16687.html

相关文章:

  • 【C#】基于SharpCompress实现压缩包解压功能
  • 揭秘动态测试:软件质量的实战防线
  • 【Golang】用官方rate包构造简单IP限流器
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博评论数据可视化分析-点赞区间折线图实现
  • 04百融云策略引擎项目laravel实战步完整安装composer及tcpdf依赖库和验证-优雅草卓伊凡
  • Cesium 快速入门(二)底图更换
  • 数据库学习------数据库隔离类型及其与事务特性
  • 如何将 Redis 监控集成到微服务整体的监控体系中( 如 Prometheus + Grafana)
  • 如何为C#加入EPPlus 包
  • 哈希相关的模拟实现
  • 【人工智能】当AI智能体遇上安全与伦理:一场技术与人性的对话
  • Java学习第九十一部分——OkHttp
  • Unity游戏开发中的3D数学基础详解
  • SQL 中 WHERE 与 HAVING 的用法详解:分组聚合场景下的混用指南
  • Kotlin -> 普通Lambda vs 挂起Lambda
  • Side band ECC、Inline ECC、On-die ECC、Link ECC
  • Jinja2 详细讲解
  • 基于32nm CMOS工艺的传输门D触发器设计及HSPICE仿真分析
  • 三坐标测量仪攻克深孔检测!破解新能源汽车阀体阀孔测量难题
  • 电子电气架构 --- 车载48V系统开辟全新道路
  • React组件化的封装
  • 【Kiro Code】Chat 聊天功能
  • Amazon Aurora MySQL 8.0 完整指南
  • 网络爬虫(python)入门
  • 安卓基础布局核心知识点整理
  • 嵌入式 C 语言入门:循环结构学习笔记 —— 从语法到实用技巧
  • BH1750模块
  • TransportClient详细说一说
  • ClickHouse vs PostgreSQL:数据分析领域的王者之争,谁更胜一筹?
  • Cesium 快速入门(三)Viewer:三维场景的“外壳”