sam-hq

GitHub
4.2k 264 中等 1 次阅读 昨天Apache-2.0图像
AI 解读 由 AI 自动生成,仅供参考

sam-hq 是一款旨在提升图像分割质量的高级开源模型,由苏黎世联邦理工学院与香港科技大学联合研发。它基于著名的 Segment Anything Model (SAM) 进行升级,专门解决了原始模型在零样本场景下生成的掩码边缘粗糙、细节丢失等问题,能够输出像素级的高精度分割结果。

无论是需要精细抠图的设计师,还是从事计算机视觉研究的开发者,sam-hq 都能提供极大帮助。其核心亮点在于引入了高质量解码器,在不依赖额外训练数据的情况下,显著改善了复杂边界和微小物体的分割效果。项目不仅提供了标准版,还推出了基于 TinyViT 架构的 Light HQ-SAM,在保持高精度的同时实现了每秒 41.2 帧的快速推理,兼顾了速度与性能。此外,最新版本 HQ-SAM 2 已发布,并正式集成至 Hugging Face Transformers 库,方便用户直接调用。该工具生态丰富,已广泛应用于视频分割、3D 高斯泼溅及地理空间数据分析等领域,是追求极致分割细节用户的理想选择。

使用场景

某医疗影像初创团队正在开发一款辅助诊断系统,需要快速从大量皮肤镜照片中提取高精度的病灶轮廓以训练专用模型。

没有 sam-hq 时

  • 边缘模糊失真:普通分割模型在处理病灶与正常皮肤交界处时,生成的掩码边缘锯齿严重,丢失了关键的细微纹理特征。
  • 人工修正耗时:算法输出的低质量掩码无法直接使用,标注专家必须逐帧手动微调轮廓,导致数据清洗周期长达数周。
  • 小目标漏检:面对早期微小的色素沉淀或毛细血管扩张,现有零样本模型往往直接忽略或分割不完整,影响数据集的多样性。
  • 泛化能力不足:一旦遇到不同光照条件或罕见皮肤病变类型,模型效果急剧下降,需重新收集数据进行微调。

使用 sam-hq 后

  • 像素级精准贴合:sam-hq 升级的高清解码器能捕捉亚像素级的边界细节,生成的病灶轮廓平滑且紧密贴合真实边缘,保留了诊断所需的细微结构。
  • 自动化流程打通:高质量的零样本分割结果可直接用于模型训练,人工复核时间减少 90%,数据准备效率提升十倍不止。
  • 微小病变无遗漏:凭借对细粒度特征的敏锐感知,sam-hq 能准确分割毫米级的早期病变区域,显著提升了数据集的覆盖度。
  • 跨场景鲁棒性强:无需额外微调,sam-hq 即可适应各种复杂光照和罕见病例,实现了真正的“开箱即用”高质量分割。

sam-hq 通过突破性的边缘细化技术,将通用分割模型的生产力提升至医疗级精度,彻底解决了高精细度标注依赖人工的瓶颈。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU
  • 强烈推荐使用支持 CUDA 的 NVIDIA GPU(具体型号未说明,但需匹配 PyTorch CUDA 版本,示例环境使用 CUDA 11.1)
  • CPU 亦可运行但速度较慢
内存

未说明(建议 16GB+ 以处理高分辨率图像及大模型权重)

依赖
notes1. 官方示例环境基于 conda 构建,推荐优先使用 conda 管理依赖。2. 需手动下载预训练模型权重文件(ViT-B/L/H/Tiny 版本),存放于 pretrained_checkpoint 目录。3. 若需运行示例 Notebook 或导出 ONNX 模型,需额外安装 jupyter。4. 2025 年更新显示该模型已集成至 Huggingface Transformers 库,也可通过该库调用。5. 提供轻量版 Light HQ-SAM (ViT-Tiny) 适用于实时场景。
python3.8+
pytorch>=1.7
torchvision>=0.8
opencv-python
pycocotools
matplotlib
onnxruntime
onnx
timm
sam-hq hero image

快速开始

高质量的任何物体分割

在Colab中打开 Huggingfaces 在OpenXLab中打开 下载量

高质量的任何物体分割
神经信息处理系统大会 2023
苏黎世联邦理工学院 & 香港科技大学

我们提出了HQ-SAM,用于升级SAM以实现高质量的零样本分割。更多细节请参阅我们的论文

最新进展

2025/06 -- :fire::fire: HQ-SAM已支持Huggingface Transformers库。请查看详细的使用说明这里。预训练模型检查点也可从这里下载。

2024/11/17 -- HQ-SAM 2发布

  • 一组新的改进模型检查点(标记为HQ-SAM 2, 测试版)已发布。详情请参阅模型描述。通过cd sam-hq2更改工作目录。

HQ-SAM2结果对比

更新内容

:fire::fire: 用于视频分割的SAM: 想要将SAM与视频结合?HQ-SAM已在DEVA的文本提示模式下支持!此外,还可查看基于SAM的工作MASASAM-PT

:fire::fire: 3D中的SAM: 想要将SAM与3D高斯散射结合?请查看我们的新工作Gaussian Grouping!另外,如果你对SAM与NeRF的结合感兴趣,请查看工作SANeRF-HQ

更多:HQ-SAM已被应用于OspreyCaRSpatialRGPTGLaMMENIGMA-51,以提供细粒度的掩码标注。

平台集成:HQ-SAM已在OpenMMLab PlayGround中支持,可用于Label-Studio标注;在segment-geospatial中用于地理空间数据分割;以及掩码标注工具ISAT,还有Supervisely

2023/08/11:支持Python包以便更轻松地进行pip安装。轻量级HQ-SAM属于EfficientSAM系列,并与Grounded SAM结合!

:rocket::rocket: 2023/07/17:我们发布了使用TinyViT作为骨干的轻量级HQ-SAM,可实现快速且高质量的零样本分割,达到41.2 FPS。更多细节请参阅轻量级HQ-SAM与MobileSAM对比

:trophy::1st_place_medal: 2023/07/14:基于Grounded的HQ-SAMSegmentation in the Wild竞赛的零样本赛道上获得第一名:1st_place_medal:(该竞赛由CVPR 2023研讨会主办),性能超越Grounded SAM。更多细节请参阅我们的[SGinW评估](#基于Grounded的HQ-SAM与Grounded SAM在SeginW上的对比)。

2023/07/05:我们发布了SAM调优说明HQSeg-44K数据

2023/07/04:HQ-SAM被采用于SAM-PT以提升基于SAM的零样本视频分割性能。此外,HQ-SAM还用于Grounded-SAMInpaint AnythingHQTrack(在2023年VOTS中排名第二)。

2023/06/28:我们发布了ONNX导出脚本Colab笔记本用于导出和使用ONNX模型。

2023/06/23:在Huggingfaces体验HQ-SAM演示,支持点、框和文本提示。

2023/06/14:我们发布了Colab演示在Colab中打开自动掩码生成器笔记本

2023/06/13:我们发布了模型检查点演示可视化代码

SAM与HQ-SAM的视觉对比

SAM与HQ-SAM

image

简介

近期推出的分割一切模型(SAM)在扩展分割模型规模方面实现了重大突破,赋予了强大的零样本能力和灵活的提示功能。尽管SAM使用11亿个掩码进行训练,但在许多情况下,其掩码预测质量仍显不足,尤其是在处理结构复杂的物体时。我们提出了HQ-SAM,为SAM增添了精准分割任意物体的能力,同时保留了SAM原有的可提示设计、高效性和零样本泛化能力。我们的精心设计复用了并保留了SAM预训练模型的权重,仅引入了极少的额外参数和计算量。我们设计了一种可学习的高质量输出标记,将其注入SAM的掩码解码器中,负责生成高质量的掩码。与仅应用于掩码解码器特征不同,我们首先将这些标记与早期和最终的ViT特征进行融合,以提升掩码细节。为了训练我们引入的可学习参数,我们从多个来源构建了一个包含4.4万个精细掩码的数据集。HQ-SAM仅基于这4.4万掩码数据集进行训练,仅需8块GPU运行4小时。我们在一系列涵盖不同下游任务的9个多样化分割数据集中验证了HQ-SAM的有效性,其中7个数据集采用了零样本迁移评估协议。

image

SAM与HQ-SAM的定量对比

注:对于基于框提示的评估,我们为SAM、MobileSAM和我们的HQ-SAM提供了相同的图像/视频边界框,并采用SAM的单掩码输出模式。

我们提供了SAM变体的全面性能、模型大小和速度对比: image

COCO数据集上的多种ViT主干网络:

backbones 注:对于COCO数据集,我们使用在COCO数据集上训练的SOTA检测器FocalNet-DINO作为我们的框提示生成器。

YTVIS与HQ-YTVIS

注:使用ViT-L主干网络。我们采用在YouTubeVIS 2019数据集上训练的SOTA检测器Mask2Former作为视频框提示生成器,同时复用其目标关联预测。 ytvis

DAVIS

注:使用ViT-L主干网络。我们采用SOTA模型XMem作为视频框提示生成器,同时复用其目标关联预测。 davis

通过pip快速安装

pip install segment-anything-hq
python
from segment_anything_hq import sam_model_registry
model_type = "<model_type>" # "vit_l/vit_b/vit_h/vit_tiny"
sam_checkpoint = "<path/to/checkpoint>"
sam = sam_model_registry[model_type](checkpoint=sam_checkpoint)

通过运行以下命令查看具体使用示例(如vit-l):

export PYTHONPATH=$(pwd)
python demo/demo_hqsam_pip_example.py

标准安装

该代码需要python>=3.8,以及pytorch>=1.7torchvision>=0.8。请按照这里的说明安装PyTorch和TorchVision依赖。强烈建议安装支持CUDA的PyTorch和TorchVision。

克隆仓库到本地并安装:

git clone https://github.com/SysCV/sam-hq.git
cd sam-hq; pip install -e .

以下可选依赖项用于掩码后处理、以COCO格式保存掩码、示例笔记本以及导出ONNX格式的模型。运行示例笔记本还需要jupyter

pip install opencv-python pycocotools matplotlib onnxruntime onnx timm

示例conda环境设置

conda create --name sam_hq python=3.8 -y
conda activate sam_hq
conda install pytorch==1.10.0 torchvision==0.11.0 cudatoolkit=11.1 -c pytorch -c nvidia
pip install opencv-python pycocotools matplotlib onnxruntime onnx timm

# 在工作目录下
git clone https://github.com/SysCV/sam-hq.git
cd sam-hq
pip install -e .
export PYTHONPATH=$(pwd)

模型检查点

提供三种不同主干尺寸的HQ-SAM模型版本。可通过以下方式实例化这些模型:

from segment_anything import sam_model_registry
sam = sam_model_registry["<model_type>"](checkpoint="<path/to/checkpoint>")

下载提供的训练好的模型并放入pretrained_checkpoint文件夹:

mkdir pretrained_checkpoint

点击以下链接下载对应型号的检查点。我们还提供了这里Hugging Face上的备用模型下载链接

开始使用

首先下载一个模型检查点。然后只需几行代码即可使用该模型从给定提示中获取掩码:

from segment_anything import SamPredictor, sam_model_registry
sam = sam_model_registry["<model_type>"](checkpoint="<path/to/checkpoint>")
predictor = SamPredictor(sam)
predictor.set_image(<your_image>)
masks, _, _ = predictor.predict(<input_prompts>)

此外,还可参阅我们的示例Colab笔记本自动掩码生成笔记本中的使用示例。

要获取HQ-SAM的可视化结果:

python demo/demo_hqsam.py

要获取基准SAM的可视化结果。请注意,您需要从基准SAM-L模型下载原始SAM检查点,并将其放入pretrained_checkpoint文件夹。

python demo/demo_sam.py

要获取轻量级HQ-SAM的可视化结果:

python demo/demo_hqsam_light.py

HQ-SAM调优与HQ-Seg44k数据

我们在HQ-SAM训练中提供了详细的训练、评估、可视化和数据下载说明。您还可以替换我们的训练数据,以针对特定应用领域(如医疗、OCR和遥感)获得您自己的SAM。

请将当前文件夹路径更改为:

cd train

然后参考详细的readme说明

Grounded HQ-SAM 与 Grounded SAM 在 SegInW 上的对比

Grounded HQ-SAM 在 SegInW 基准测试中荣获第一名:1st_place_medal:,该基准测试由 25 个公开的零样本野外分割数据集组成,且其性能优于使用相同 GroundingDINO 检测器的 Grounded SAM。

模型名称 编码器 GroundingDINO 平均 AP 评估脚本 日志 输出 JSON
Grounded SAM vit-h swin-b 48.7 脚本 日志 结果
Grounded HQ-SAM vit-h swin-b 49.6 脚本 日志 结果

请将当前文件夹路径更改为:

cd seginw

我们在 Grounded-HQ-SAM 评估 中提供了 SegInW 的详细评估说明和指标。

Light HQ-SAM 与 MobileSAM 在 COCO 上的对比

我们基于 MobileSAM 提供的 tiny vit 图像编码器,提出了 Light HQ-SAM。以下是 Light HQ-SAM 在零样本 COCO 性能、速度和内存方面的量化对比。您可在此处尝试 Light HQ-SAM:here

模型 编码器 AP AP@L AP@M AP@S 模型参数(MB) FPS 内存(GB)
MobileSAM TinyViT 44.3 61.8 48.1 28.8 38.6 44.8 3.7
Light HQ-SAM TinyViT 45.0 62.8 48.8 29.2 40.3 41.2 3.7

注:对于 COCO 数据集,我们使用了与 Mobile SAM 相同的 SOTA 检测器 FocalNet-DINO,并在 COCO 数据集上进行了训练,作为我们的边界框提示生成器。

ONNX 导出

HQ-SAM 的轻量级掩码解码器可以导出为 ONNX 格式,以便在任何支持 ONNX 运行时的环境中运行。使用以下命令导出模型:

python scripts/export_onnx_model.py --checkpoint <path/to/checkpoint> --model-type <model_type> --output <path/to/output>

有关如何通过 HQ-SAM 的主干进行图像预处理,并使用 ONNX 模型进行掩码预测的详细信息,请参阅 示例笔记本。建议使用最新稳定版的 PyTorch 进行 ONNX 导出。

引用

如果您在研究中发现 HQ-SAM 有用,或参考了提供的基线结果,请为本仓库点赞 :star:,并考虑引用 :pencil::

@inproceedings{sam_hq,
    title={Segment Anything in High Quality},
    author={Ke, Lei and Ye, Mingqiao and Danelljan, Martin and Liu, Yifan and Tai, Yu-Wing and Tang, Chi-Keung and Yu, Fisher},
    booktitle={NeurIPS},
    year={2023}
}  

相关高质量实例分割工作:

@inproceedings{transfiner,
    title={Mask Transfiner for High-Quality Instance Segmentation},
    author={Ke, Lei and Danelljan, Martin and Li, Xia and Tai, Yu-Wing and Tang, Chi-Keung and Yu, Fisher},
    booktitle={CVPR},
    year={2022}
}

致谢

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

74.9k|★★★☆☆|今天
语言模型图像开发框架

tesseract

Tesseract 是一款历史悠久且备受推崇的开源光学字符识别(OCR)引擎,最初由惠普实验室开发,后由 Google 维护,目前由全球社区共同贡献。它的核心功能是将图片中的文字转化为可编辑、可搜索的文本数据,有效解决了从扫描件、照片或 PDF 文档中提取文字信息的难题,是数字化归档和信息自动化的重要基础工具。 在技术层面,Tesseract 展现了强大的适应能力。从版本 4 开始,它引入了基于长短期记忆网络(LSTM)的神经网络 OCR 引擎,显著提升了行识别的准确率;同时,为了兼顾旧有需求,它依然支持传统的字符模式识别引擎。Tesseract 原生支持 UTF-8 编码,开箱即用即可识别超过 100 种语言,并兼容 PNG、JPEG、TIFF 等多种常见图像格式。输出方面,它灵活支持纯文本、hOCR、PDF、TSV 等多种格式,方便后续数据处理。 Tesseract 主要面向开发者、研究人员以及需要构建文档处理流程的企业用户。由于它本身是一个命令行工具和库(libtesseract),不包含图形用户界面(GUI),因此最适合具备一定编程能力的技术人员集成到自动化脚本或应用程序中

73.3k|★★☆☆☆|3天前
开发框架图像