3分钟标注100张图:SAM-HQ高分辨率掩码生成实战指南

3分钟标注100张图:SAM-HQ高分辨率掩码生成实战指南

【免费下载链接】Grounded-Segment-Anything Grounded-SAM: Marrying Grounding-DINO with Segment Anything & Stable Diffusion & Recognize Anything - Automatically Detect , Segment and Generate Anything 【免费下载链接】Grounded-Segment-Anything 项目地址: https://gitcode.com/gh_mirrors/gr/Grounded-Segment-Anything

你是否还在为数据标注耗时长、精度低而烦恼?使用Grounded-Segment-Anything结合SAM-HQ技术,可将标注效率提升5倍以上,同时获得发丝级精细掩码。本文将带你掌握从环境搭建到批量标注的全流程,读完即可上手实现工业级数据标注自动化。

项目简介:标注效率革命的技术底座

Grounded-Segment-Anything(Grounded-SAM)是一款融合Grounding DINO目标检测与Segment Anything分割能力的开源工具,通过文本提示即可实现"检测-分割-生成"全流程自动化。其核心优势在于:

  • 零代码标注:无需人工框选,文本描述即可生成精确掩码
  • 多模态交互:支持文本、音频、图像等多种输入方式
  • 轻量化部署:提供FastSAMMobileSAM等高效模型变体

项目架构采用模块化设计,核心代码分布如下:

Grounded-SAM工作流

SAM-HQ技术解析:从模糊到清晰的质量跃迁

SAM-HQ(Segment Anything High Quality)通过创新的双分支解码器架构,解决了传统分割模型在边缘细节处理上的缺陷。其技术亮点包括:

核心改进点

  1. HQ特征融合网络:新增三个卷积融合层,将早期ViT特征与高层语义特征结合,保留更多细节信息

    self.compress_vit_feat = nn.Sequential(
        nn.ConvTranspose2d(vit_dim, transformer_dim, kernel_size=2, stride=2),
        LayerNorm2d(transformer_dim),
        nn.GELU(), 
        nn.ConvTranspose2d(transformer_dim, transformer_dim // 8, kernel_size=2, stride=2)
    )
    

    ——segment_anything/segment_anything/modeling/mask_decoder_hq.py#L79-L83

  2. 超分辨率输出令牌:引入专用的HQ-Ouptput-Token及对应MLP层,专门优化高分辨率掩码生成

    self.hf_token = nn.Embedding(1, transformer_dim)  # HQ-Ouptput-Token
    self.hf_mlp = MLP(transformer_dim, transformer_dim, transformer_dim // 8, 3)
    

    ——segment_anything/segment_anything/modeling/mask_decoder_hq.py#L74-L75

  3. 轻量级实现LightHQSAM通过TinyViT骨干网络,在保持精度的同时将模型体积压缩60%,推理速度提升3倍

SAM-HQ与传统方法对比

实战指南:从环境搭建到批量标注

环境准备

  1. 克隆仓库

    git clone https://gitcode.com/gh_mirrors/gr/Grounded-Segment-Anything
    cd Grounded-Segment-Anything
    
  2. 安装依赖

    # 基础依赖
    pip install -r requirements.txt
    
    # 安装Segment Anything
    python -m pip install -e segment_anything
    
    # 安装Grounding DINO
    pip install --no-build-isolation -e GroundingDINO
    
  3. 下载模型权重

    # SAM-HQ基础模型
    wget https://huggingface.co/lkeab/hq-sam/resolve/main/sam_hq_vit_h.pth
    
    # Grounding DINO模型
    wget https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth
    

快速启动:单图标注示例

使用grounded_sam_demo.py实现一键标注:

python grounded_sam_demo.py \
  --config GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py \
  --grounded_checkpoint groundingdino_swint_ogc.pth \
  --sam_hq_checkpoint sam_hq_vit_h.pth \
  --input_image assets/demo1.jpg \
  --output_dir outputs \
  --text_prompt "bear" \
  --use_sam_hq \
  --device cuda

关键参数说明:

  • --use_sam_hq:启用高分辨率模式
  • --box_threshold:检测框置信度阈值(建议0.3-0.5)
  • --text_threshold:文本匹配阈值(建议0.25-0.4)

批量标注:自动化处理流程

通过automatic_label_ram_demo.py实现文件夹批量处理:

# 批量处理脚本核心逻辑
for image_path in glob.glob("input_dir/*.jpg"):
    # 1. 自动生成标签(使用RAM模型)
    tags = ram_model.generate_tags(image_path)
    
    # 2. 检测-分割一体化处理
    boxes, masks = grounded_sam_predict(
        image_path, 
        tags,
        use_sam_hq=True,
        box_threshold=0.35
    )
    
    # 3. 保存结果(COCO格式)
    save_annotations(
        image_path, 
        masks, 
        boxes, 
        tags,
        output_json="annotations.json"
    )

处理结果将生成:

  • 可视化标注图:outputs/grounded_sam_output.jpg
  • 掩码数据:outputs/mask.jpg
  • 标注信息:outputs/mask.json

批量标注结果示例

质量优化:参数调优与效果对比

关键参数调优

参数作用推荐值范围
box_threshold控制检测框数量0.3-0.5(高值减少噪声,低值提高召回)
text_threshold文本-区域匹配度0.25-0.4(高值提高精度,低值增加检出)
multimask_output多掩码生成True(复杂场景)/False(简单场景)

效果对比

标注方式平均耗时边缘精度显存占用
人工标注300秒/图95%-
传统SAM12秒/图82%8GB
SAM-HQ15秒/图94%9GB
LightHQSAM5秒/图90%4GB

不同模型分割效果对比

高级应用:定制化开发指南

模型轻量化部署

对于边缘设备,推荐使用LightHQSAM

# 轻量级模型加载示例
from LightHQSAM.setup_light_hqsam import setup_model

model = setup_model()
model.load_state_dict(torch.load("light_hqsam.pth"))
model.eval()

该模型在保持90%精度的同时,将参数量压缩至18M,可在消费级GPU甚至移动端运行。

多模态交互扩展

项目提供丰富的交互方式扩展:

3D边界框生成效果

总结与展望

Grounded-SAM结合SAM-HQ技术彻底改变了传统数据标注流程,通过本文介绍的方法,您可以:

  1. 使用grounded_sam_demo.py快速验证效果
  2. 通过automatic_label_ram_demo.py实现批量处理
  3. 基于LightHQSAM构建轻量化应用

未来,随着Grounded SAM 2的发布,将进一步支持视频序列的实时分割与追踪,为动态场景标注提供更全面的解决方案。

建议通过项目README持续关注最新进展,或参与GitHub讨论区交流使用经验。

提示:标注效果受光线、物体复杂度影响,对于低对比度图像建议先进行预处理。遇到复杂场景可尝试分阶段标注,先主体后细节。

【免费下载链接】Grounded-Segment-Anything Grounded-SAM: Marrying Grounding-DINO with Segment Anything & Stable Diffusion & Recognize Anything - Automatically Detect , Segment and Generate Anything 【免费下载链接】Grounded-Segment-Anything 项目地址: https://gitcode.com/gh_mirrors/gr/Grounded-Segment-Anything

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值