Segment Anything in High Quality之SAM-HQ论文阅读

摘要

最近的 Segment Anything Model(SAM)在扩展分割模型规模方面取得了重大突破,具备强大的零样本能力和灵活的提示机制。尽管 SAM 在训练时使用了 11 亿个掩码,其掩码预测质量在许多情况下仍不理想,尤其是对于结构复杂的目标。我们提出了 HQ-SAM,使 SAM 能够精确地分割任意目标,同时保留其原有的可提示设计、高效性和零样本泛化能力。我们的设计充分复用并保留了 SAM 预训练的模型权重,仅引入极少量的附加参数和计算。我们设计了一个可学习的“高质量输出令牌”(High-Quality Output Token),将其注入 SAM 的掩码解码器,用于预测高质量掩码。为了提升掩码细节,我们不仅在解码器特征上使用该令牌,还将其与 ViT 编码器的早期和最终特征进行融合。为训练新增的可学习参数,我们收集并整合了来自多个来源的 44K 张精细掩码数据集。HQ-SAM 仅在这 44K 张掩码数据上训练,使用 8 块 GPU 仅耗时 4 小时。我们在 10 个多样化的分割数据集上评估了 HQ-SAM 的性能,其中 8 个数据集采用零样本转移协议。实验证明,HQ-SAM 在保持零样本能力的同时,显著提升了掩码质量。代码和预训练模型可在 https://github.com/SysCV/SAM-HQ 获取。

为了让 HQ‑Output Token 能够生成更精细的掩码边缘与细节,我们在掩码解码器的特征之上,又额外引入了 ViT 编码器的“早期特征”和“后期特征”两种信息:

早期特征(High‑Resolution 细节信息)

ViT 在最开始几层处理的 patch 嵌入保留了较高的空间分辨率(相当于 CNN 中浅层的 feature map),能够捕捉到物体边缘、纹理、细线等局部细节。

如果只用解码器输出的特征,往往因多次下采样/Transformer 自注意力而丢失这些精细结构。

因此,我们取自 ViT 编码器前几层的高分辨率 feature map,经一次小型映射(如 1×1 卷积或线性层)降维后,与 HQ‑Output Token 一起送入特征融合模块。

后期特征(全局语义信息)

ViT 编码器最后几层的输出具有强大的语义表达能力,能全局感知“这块区域是哪个物体,属于哪个类别”,但空间分辨率相对较低。

将这些深层特征融入,可以帮助 HQ‑Output Token 准确判断哪些细节应当被保留、哪些应被忽略,从而避免误分割噪声或背景纹理。

特征融合机制

我们设计了一个轻量级的 “Fusion Block”:首先对三组特征(早期、解码器中期、后期)分别做投影到相同维度,然后在 token 维度上进行拼接或加权相加,最后通过一层小型 MLP(或卷积)融合出一组既有高分辨率细节又有全局语义的特征表示。

HQ‑Output Token 在 mask 解码器中,就基于这组融合特征进行自注意力操作和 MLP 预测,从而在原来粗糙的掩码边界基础上,补上细线、缝隙、曲面等复杂结构。

通过以上“多尺度、跨阶段”的特征融合,HQ‑SAM 能在保持 SAM 原有 promptable 设计与零样本泛化能力的同时,显著改善对细小结构和边缘细节的分割质量。

1 引言

准确分割多样化目标对于图像/视频编辑、机器人感知和 AR/VR 等场景理解应用至关重要。SAM [21] 作为一款基于海量掩码标签训练的通用图像分割基础模型,以点、边框或粗略掩码作为输入提示,能够在多种场景下分割多样化目标、部件和视觉结构,其零样本分割能力正引发范式转变。

尽管 SAM 在多项任务中表现优异,其分割结果在许多场景下仍不尽如人意,主要存在两大问题:

掩码边界粗糙,甚至遗漏细小结构(如图 1 中的风筝线);
分割错误或遮断掩码,在挑战性场景下出现较大偏差。
在这里插入图片描述

这些问题严重限制了基础分割模型在自动标注和图像/视频编辑等应用中的实用性,因为此类任务对掩码的高精度有严格需求。

我们提出 HQ-SAM,在不损害 SAM 零样本性能和提示灵活性的前提下,实现高质量分割。直接微调 SAM 解码器或新增完整解码器都会显著削弱其零样本泛化能力;为此,我们设计了一种与原 SAM 紧密集成的轻量化架构。首先,新增一个可学习的 HQ-输出令牌(HQ-Output Token),与原提示令牌一并输入到 SAM 的掩码解码器;该令牌及其附属的 MLP 层专门用于生成高质量掩码。其次,该令牌不仅作用于解码器特征,还通过特征融合模块,与 ViT 编码器的初始和末端特征相结合,以兼顾全局语义和局部细节。在训练阶段,我们冻结所有 SAM 预训练参数,仅更新 HQ-输出令牌、三层 MLP 以及小规模特征融合模块

训练优质分割模型需要多样化且精确的掩码标注。SAM 原训练集 SA-1B 包含 1100 万张图像与 11 亿个自动生成的掩码,但数据规模巨大且标注质量不足以满足我们对高精度掩码的需求。因此,我们构建了 HQSeg‑44K 数据集,汇集了 44K 张极致精细的掩码标注,覆盖 1000 多个多样化语义类别,来源于六个现有高质量掩码数据集 [

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解_FreeRTOS的内部实现(2)

1.事件组 事件组结构体: 事件组 “不关中断” 的核心逻辑 事件组操作时,优先选择 “关调度器” 而非 “关中断” ,原因和实现如下: 关调度器(而非关中断) FreeRTOS 提供 taskENTER_CRITICAL()(…

【图论题典】Swift 解 LeetCode 最小高度树:中心剥离法详解

文章目录 摘要描述题解答案题解代码分析思路来源:树的“中心剥离法”构造邻接表和度数组循环剥叶子终止条件 示例测试及结果时间复杂度空间复杂度总结 摘要 树是一种重要的数据结构,在许多应用里,我们希望选一个根,让这棵树的高度…

Docker的介绍与安装

​ Docker 对初学者的简单解释和应用场景 1.什么是 Docker? 简单来说,Docker 就像一个“装箱子”的工具,这个箱子叫做“容器”。 你写的程序和它运行需要的环境(比如操作系统、软件、工具)都装进一个箱子里。这个箱…

引导相机:工业自动化的智能之眼,赋能制造业高效升级

在工业自动化浪潮中,精准的视觉引导技术正成为生产效率跃升的关键。作为迁移科技——一家成立于2017年、专注于3D工业相机和3D视觉系统的领先供应商,我们深知"引导相机"的核心价值:它不仅是一个硬件设备,更是连接物理世…

智能相机如何重塑工业自动化?迁移科技3D视觉系统的场景革命

从硬件参数到产业价值,解码高精度视觉系统的落地逻辑 一、工业视觉的“智慧之眼” 迁移科技深耕3D工业相机领域,以“稳定、易用、高回报”为核心理念,打造覆盖硬件、算法、软件的全栈式视觉系统。成立6年累计融资数亿元的背后,是…

【数据挖掘】聚类算法学习—K-Means

K-Means K-Means是一种经典的无监督学习算法,用于将数据集划分为K个簇(clusters),使得同一簇内的数据点相似度高,不同簇间的相似度低。它在数据挖掘、模式识别和机器学习中广泛应用,如客户细分、图像压缩和…

linux环境内存满php-fpm

检查 PHP-FPM 配置 pm.max_children:该参数控制 PHP-FPM 进程池中最大允许的子进程数。过高的子进程数会导致内存占用过大。你可以根据服务器的内存大小来调整 pm.start_servers:控制 PHP-FPM 启动时创建的进程数。根据实际情况调整此值。 pm.min_spare_…

基于CNN卷积神经网络图像识别小程序9部合集

基于CNN卷积神经网络图像识别小程序合集-视频介绍下自取 ​ 内容包括: 基于python深度学习的水果或其他物体识别小程序 003基于python深度学习的水果或其他物体识别小程序_哔哩哔哩_bilibili 代码使用的是python环境pytorch深度学习框架,代码的环境安…

WebRTC(九):JitterBuffer

JitterBuffer Jitter “Jitter”指的是连续到达的媒体包之间时间间隔的变化。在网络传输中,由于: 网络拥塞路由路径变化队列排队不同链路带宽差异 导致包之间的接收时间不一致,这就是网络“抖动”。 作用 **JitterBuffer(抖…

【推荐100个unity插件】在 Unity 中绘制 3D 常春藤,模拟生长——hedera插件的使用

注意:考虑到后续接触的插件会越来越多,我将插件相关的内容单独分开,并全部整合放在【推荐100个unity插件】专栏里,感兴趣的小伙伴可以前往逐一查看学习。 效果演示 文章目录 效果演示前言一、常春藤生成器工具下载二、工具使用1、…

【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之高斯椭球的几何变换

【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之高斯椭球的几何变换 文章目录 【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之高斯椭球的几何变换前言模型变换(Model Transformation)观测变换(Viewing Transformation)视图变换(View Transformation)投影…

EXISTS 和 NOT EXISTS 、IN (和 NOT IN)

在 SQL 中,EXISTS、NOT EXISTS 和 IN 都是用于子查询的条件运算符,用于根据子查询的结果过滤主查询的行。它们之间的区别主要体现在工作方式、效率、对 NULL 值的处理以及适用场景上。 1. EXISTS 和 NOT EXISTS 作用: EXISTS: 检查子查询是…

GitHub 趋势日报 (2025年06月25日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 880 awesome 788 build-your-own-x 691 free-for-dev 427 best-of-ml-python 404 …

互联网大厂Java求职面试:Java虚拟线程实战

互联网大厂Java求职面试:Java虚拟线程实战 文章内容 开篇:技术总监与程序员郑薪苦的三轮对话 在一场紧张而严肃的Java工程师面试中,技术总监张工正对候选人郑薪苦进行深入提问。郑薪苦虽然性格幽默,但对技术有着扎实的理解。今天…

网络安全的两大威胁:XSS与CSRF攻击实例解析

在网络攻击中,XSS跨站脚本攻击(Cross Site Scripting)与CSRF跨站请求伪造攻击(Cross-Site Request Forgery)是两种常见的攻击方式,它们之间存在显著的区别。以下是对这两种攻击方式的详细比较: 一、攻击原理 XSS跨站脚本攻击 攻击者通过在Web页面中注入恶意脚本来实现攻…

如何一次性将 iPhone 中的联系人转移到 PC

许多重要的联系人都存储在您的 iPhone 上。为了保护关键信息,您可能需要将联系人从 iPhone 转移到 PC,这是一种有效的联系人备份方法。如果您在将 iPhone 联系人转移到电脑上遇到困难,现在可以从本文中学习 5 个有效的解决方案,然…

Spring Boot开启定时任务的三种方式 【@EnableScheduling注解,SchedulingConfigurer接口,Quartz 框架】

Spring Boot 开启定时任务的三种方式​ ​ ​ 在 Spring Boot 应用开发过程中,定时任务是十分常见的需求,比如定时清理日志文件、定期备份数据库数据、定时发送邮件提醒等。Spring Boot 提供了多种开启定时任务的方式,本文将详细介绍三种常见…

LLM 编码器 怎么实现语义相关的 Token 向量更贴近? mask训练:上下文存在 ;; 自回归训练:只有上文,生成模型

LLM 编码器 怎么实现语义相关的 Token 向量更贴近? 目录 LLM 编码器 怎么实现语义相关的 Token 向量更贴近?mask训练:上下文存在自回归训练:只有上文,生成模型一、核心机制:损失函数与反向传播的“语义校准”1. 损失函数的“语义约束”2. 嵌入层参数的“动态调整”二、关…

从OCR瓶颈到结构化理解来有效提升RAG的效果

当人们探讨如何让人工智能系统更好地从文档中查找和使用信息时,通常关注的是令人瞩目的算法和前沿的大型语言模型。但问题是:如果文本提取的质量很差,那么后续的努力都将付诸东流。本文探讨OCR质量如何影响检索增强生成(RAG&#…

SpringBoot -- 整合Junit

11.SpringBoot 整合 Junit 11.1 为什么需要单元测试 由于在SpringBoot开发过程中,每开发一个模块,有时需要从 controller、service、mapper 到甚至 xml 文件的编写全部开发完毕才能进行测试,这是十分浪费时间的,比如开发人员想测…