核心内容摘要
男女“食”尚:味蕾上的情感连接与生活哲学
SAM3模型简介SAM3Segment Anything Model 3是Meta推出的第三代通用图像分割模型具备零样本迁移能力支持多模态输入如图像、文本提示。
相比前代SAM3在精度、速度和交互方式上均有显著提升适用于复杂场景分割任务。
环境准备Python
8和PyTorch
11是基础依赖。
安装SAM3的官方库及相关工具pip install segment-anything pip install opencv-python matplotlib确保CUDA版本与PyTorch匹配以启用GPU加速。
模型下载与加载SAM3提供预训练权重默认基于ViT-H backbone。
通过官方仓库下载权重文件如sam_vit_h_4b
pth并加载模型from segment_anything import sam_model_registry model sam_model_registry[vit_h](checkpointpath/to/sam_vit_h_4b
pth).to(cuda)图像分割示例使用OpenCV读取图像并生成分割掩码import cv2 import numpy as np from segment_anything import SamPredictor predictor SamPredictor(model) image cv
imread(image.jpg) image cv
cvtColor(image, cv
COLOR_BGR2RGB) predictor.set_image(image) # 通过点提示分割前景点坐标 input_point np.array([[x, y]]) # 替换为实际坐标 input_label np.array([1]) # 1表示前景点 masks, scores, _ predictor.predict(point_coordsinput_point, point_labelsinput_label)多模态提示支持SAM3支持文本提示分割需结合CLIP等模型生成文本嵌入。
示例代码需调用多模态接口text_prompt a red car text_embedding get_text_embedding(text_prompt) # 需自定义文本编码函数 masks predictor.predict(text_embeddingtext_embedding)结果可视化使用Matplotlib显示分割结果import matplotlib.pyplot as plt plt.imshow(image) plt.imshow(masks[0], alpha
0.
# 叠加掩码 plt.scatter(input_point[:,0], input_point[:,1], cr, marker*) plt.show()性能优化技巧批处理对多张图像使用predictor.predict_batch提升效率。
量化加载量化模型减少显存占用model sam_model_registry[vit_h](checkpointpath/to/sam_vit_h_4b
pth, quantTrue)ONNX导出转换为ONNX格式部署至边缘设备。
常见问题显存不足尝试使用vit_b或vit_l等轻量版模型。
分割不准确增加更多交互提示点或调整提示文本的粒度。
通过以上步骤可快速体验SAM3的核心功能更多高级用法参考官方文档和开源社区示例。
SAM3模型来了手把手带你运行SAM3模型代码SAM3模型初探Meta 终于把 SAM3 开源了 虽然论文和模型架构早就放出来了但权重一直锁着直到前两天才真正公开。
我第一时间冲去跑通效果真的逆天——纯文本提示就能精准分割多个同类目标还带 ID 和置信度完爆 SAM2 的点框交互方式。
先直接上干货下方是原始图像输入提示词 shoe结果再换提示词 child结果这才是真正的“语义理解分割”啊 支持文本、参考图像、视频追踪等多模态提示潜力巨大。
下面我把整个 Windows 本地跑通过程手把手写成最详细图文教程包含我踩过的所有坑 解决方案跟着做100%能跑起来。
环境要求必须满足NVIDIA 独显AMD/核显无解CUDA ≥
1
6强烈建议更新到最新显卡驱动已安装 CondaMiniconda 或 Anaconda 都行完整步骤已亲测 4090 Win11 完美运行创建并激活环境conda create -n sam3 python
12 -y conda activate sam3安装 PyTorch必须这个版本官方指定pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126下载源码推荐直接下载 zip避免 git 克隆不稳定GitHub 地址https://github.com/facebookresearch/sam3下载 ZIP → 解压 → 打开文件夹进入项目目录安装核心依赖cd path\to\sam3-main pip install -e .安装示例所需额外包pip install opencv-python matplotlib pandas tqdm重大坑位一Windows 下缺少 triton 包直接运行会报 No module named triton 官方 triton 不支持 Windows但社区大佬已编译好替代版pip install triton-windows
3.
3.
post19装完这步基本解决 90% 人的卡死问题重大坑位二权重无法下载最致命SAM3 权重放在 Hugging Face需要申请访问权限。
我申请了 → 被拒了 很多人也一样被拒目前 Meta 不知道按什么标准批。
好在社区已经有人放出了直链我下载好了 文件sam
pt 大小约
2GB把 sam
pt 复制到项目根目录和 sam3 文件夹同级然后修改源码让它加载本地权重否则默认去 HF 下载会一直网络错误打开文件sam3/model_builder.py找到以下两处CtrlF 搜索关键字load_from_hf True → 改成 Falsecheckpoint_path None → 改成 sam
pt改完保存。
最终测试代码新建 main.py 文件粘贴以下代码import torch import matplotlib.pyplot as plt from PIL import Image from sam
model_builder import build_sam3_image_model from sam
model.sam3_image_processor import Sam3Processor from sam
visualization_utils import plot_results # 加载模型会自动读取本地 sam
pt model build_sam3_image_model() processor Sam3Processor(model) # 加载测试图片 image Image.open(assets/images/test_image.jpg) # 设置图像这一步会做全图编码 inference_state processor.set_image(image) # 文本提示分割换成你想要的词 inference_state processor.set_text_prompt(stateinference_state, promptchild) # 或者分割鞋子promptshoe # 或者试试promptfoot / sock / person / hat 都好使 # 可视化结果我修复了官方 plot_results 没 plt.show() 的 bug plot_results(image, inference_state) plt.show() # 加上这句才能弹出图片运行 python main.py第一次运行会稍微慢一点加载模型之后就很快了。
至此SAM3 就在你本地完美跑起来了 后续我还会继续出参考图像分割视频目标追踪结合 CLIP 做更复杂提示自定义数据集微调等进阶玩法系列都会持续更新建议关注 收藏随时来看最新进展最后关于权重文件 sam