SAM 3 使用 : 权重以及文本编码依赖文件国内下载

SAM 3 作为 Meta 推出的新一代概念分割模型,已集成到 Ultralytics 8.3.237 及以上版本,支持文本提示、图像示例提示、视频跟踪等核心功能。其调用需先完成环境配置,再根据具体任务选择对应预测器接口,以下是详细步骤和示例:

一、前置准备

1. 环境安装与升级

确保 Ultralytics 版本符合要求,通过 pip 安装或升级:

pip install -U ultralytics

2. 模型权重与依赖文件下载

SAM 3 需手动下载核心文件,否则无法正常运行:

二、核心调用场景与示例

SAM 3 支持 概念分割(PCS)视觉分割(PVS,兼容 SAM 2 风格)视频跟踪 三大核心场景,对应不同的预测器类,以下分场景详解 (这里受限于文章篇幅,只介绍部分用法,具体请参考官网 链接如下:SAM 3: Segment Anything with Concepts - Ultralytics YOLO Docs):

场景 1:概念分割(PCS)—— 文本提示

通过简单名词短语(如 "person"、"yellow school bus")分割图像中所有匹配概念的实例,需使用 SAM3SemanticPredictor 接口。

调用步骤:
  1. 导入预测器类;
  2. 初始化配置(指定模型权重、BPE 词汇路径、置信度等);
  3. 设置待处理图像;
  4. 输入文本提示并执行分割。
from ultralytics.models.sam import SAM3SemanticPredictor

# 1. 初始化预测器(配置参数可按需调整)
overrides = dict(
    conf=0.25,  # 置信度阈值,默认0.25
    task="segment",  # 任务类型:分割
    mode="predict",  # 运行模式:预测
    model="sam3.pt",  # 模型权重路径(相对/绝对路径)
    half=True,  # 启用FP16精度,提升推理速度(需GPU支持)
)
predictor = SAM3SemanticPredictor(
    overrides=overrides,
    bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz"  # 文本编码依赖文件路径
)

# 2. 设置待分割图像(一次设置可多次查询)
predictor.set_image("path/to/image.jpg")  # 替换为实际图像路径

# 3. 执行分割(支持多文本提示、描述性短语)
# 示例1:多概念同时分割
results = predictor(text=["person", "bus", "glasses"], save=True)  # save=True 保存结果

# 示例2:带描述的短语提示
results = predictor(text=["person with red cloth", "person with blue cloth"], save=True)

# 示例3:单个概念分割
results = predictor(text=["a penguin"], save=True)

场景 2:兼容 SAM 2 风格 —— 视觉提示(单对象分割)

SAM 3 支持 SAM 2 的传统视觉提示(点、框、掩码),仅分割指定的单个对象实例,需使用基础 SAM 接口。

from ultralytics import SAM

# 加载模型
model = SAM("sam3.pt")

# 示例1:单点提示(分割指定坐标的对象,labels=[1]表示前景)
results = model.predict(source="path/to/image.jpg", points=[900, 370], labels=[1])
results[0].show()  # 显示结果

# 示例2:多点提示(多个点辅助定位单个对象)
results = model.predict(source="path/to/image.jpg", points=[[400, 370], [900, 370]], labels=[1, 1])

# 示例3:框选提示(分割 bounding box 内的单个对象)
results = model.predict(source="path/to/image.jpg", bboxes=[100, 150, 300, 400])
results[0].show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值