news 2026/9/11 10:52:32

SAM:5 行代码点出图像分割任意对象

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SAM:5 行代码点出图像分割任意对象

SAM:5 行代码点出图像分割任意对象

【免费下载链接】segment-anythingThe repository provides code for running inference with the SegmentAnything Model (SAM), links for downloading the trained model checkpoints, and example notebooks that show how to use the model.项目地址: https://gitcode.com/GitHub_Trending/se/segment-anything

接到需求"把这个东西抠出来",你不想为每个新任务单独训一个分割网络?Segment Anything Model(SAM)是 Meta AI 发布的提示驱动图像分割模型,在 1100 万张图像、11 亿个掩码上训练,靠点和框提示即可零样本生成对象掩码。

项目全景

传统分割网络是任务绑定的:训一次人,再训一次车。SAM 把模型固定住,只换输入提示——点、框、已有掩码都能进,输出就是掩码。与按任务训练的方案相比,这是"一套模型对任意类别"的关键差异。

三个模块分工明确:图像编码器(ViT 骨干,输出 256 维图像嵌入)、提示编码器(统一处理点/框/掩码输入)、掩码解码器(2 层双向 Transformer,最多输出 3 个候选掩码并给出自估 IoU 分数)。

🏁 3 分钟跑通

git clone https://gitcode.com/GitHub_Trending/se/segment-anything cd segment-anything && pip install -e .

依赖 python>=3.8、pytorch>=1.7、torchvision>=0.8(README 建议装 CUDA 版);checkpoint 下载链接见仓库 README 的 Model Checkpoints 一节。

from segment_anything import SamPredictor, sam_model_registry sam = sam_model_registry"vit_h" predictor = SamPredictor(sam) predictor.set_image(image) # image 为 RGB numpy 数组 masks, scores, logits = predictor.predict(point_coords=[[x, y]], point_labels=[1])

运行后你会看到原图分辨率的二值掩码数组masks、模型自估的掩码质量分scores,以及 256×256 的低分辨率 logits——后者可回传给predict做迭代细化。

怎么选模型

三个骨干版本,输入均固定 1024×1024:

模型骨干(embed_dim × 层数)注意力头定位
vit_h1280 × 3216注册表中default指向的版本
vit_l1024 × 2416中等骨干
vit_b768 × 1212最小骨干,适合快速验证流程

默认用vit_hsam_model_registry"default"就是它,示例与 ONNX 导出脚本也默认走这个版本;若只是验证管线连通,从vit_b起步即可。

🧩 进阶用法

调用 AutomaticMaskGenerator 一键生成全图掩码

不想给每个对象都点提示,就换用SamAutomaticMaskGenerator:它自动枚举候选区域,一次吐出全图所有对象掩码。

generator = SamAutomaticMaskGenerator(sam) masks = generator.generate(image) # 返回掩码字典列表

运行后你会得到覆盖图中主要对象的掩码列表,每项含 COCO RLE 掩码、bbox、面积、稳定性分数等字段。

导出 ONNX 掩码解码器跑浏览器推理

掩码解码器体量和主模型解耦,可单独导出为 ONNX,在浏览器里用 ONNX Runtime 跑。仓库demo/目录就是一个 React 单页应用:加载图像嵌入与 ONNX 模型后,鼠标移动实时刷新掩码。

python scripts/export_onnx_model.py --checkpoint sam_vit_h_4b8939.pth --model-type vit_h --output sam.onnx

用 amg.py 命令行批量处理图像文件夹

不写 Python 也能出掩码,scripts/amg.py直接吃单张图或整个文件夹:

python scripts/amg.py --checkpoint <checkpoint路径> --input <图片或文件夹> --output <输出路径>

落地场景

  • 电商主图抠图:商品上点一次得到抠图掩码,替代人工抠图
  • 遥感影像目标提取:用框提示批量圈出建筑、车辆,新类别不用重训
  • 交互式标注数据构建:amg.py先出全图掩码初稿,标注员只做修正

下一步

SAM 是一个"用提示换任务泛化"的分割基座模型。打开notebooks/predictor_example.ipynb,点一个点,看到你的第一个掩码。

【免费下载链接】segment-anythingThe repository provides code for running inference with the SegmentAnything Model (SAM), links for downloading the trained model checkpoints, and example notebooks that show how to use the model.项目地址: https://gitcode.com/GitHub_Trending/se/segment-anything

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 10:51:52

【2026必藏】6款智能降AI率工具全揭秘,一键秒降AI率至安全区!

步入 2026 年&#xff0c;学术战场的规则早已悄然改写。曾经只需盯着查重率的焦虑&#xff0c;如今已被更严苛的 AIGC 检测标准彻底颠覆。各大高校的审核系统不断升级&#xff0c;算法愈发精密&#xff0c;连 AI 痕迹都逃不过火眼金睛。单靠降低重复率已无法满足现实需求&#…

作者头像 李华
网站建设 2026/9/5 18:34:02

OBS屏幕标注插件实操指南:从安装到第一次直播标注只需3步

OBS屏幕标注插件实操指南&#xff1a;从安装到第一次直播标注只需3步 【免费下载链接】obs-studio OBS Studio - Free and open source software for live streaming and screen recording 项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio 直播课进行到第…

作者头像 李华
网站建设 2026/9/5 21:59:55

基于SpringBoot的高尔夫球场管理系统毕业设计项目源码

温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台…

作者头像 李华
网站建设 2026/9/5 23:47:31

LAT1313 LCD驱动时序深度解析:从FSMC到DMA的工程实践

1. 项目概述与整体设计思路 1.1 为什么要死磕LAT1313的驱动时序 先说结论&#xff1a;LAT1313这块屏不难驱动&#xff0c;难的是把时序调对。很多朋友拿到一块新LCD&#xff0c;第一反应是找数据手册抄初始化代码&#xff0c;抄完发现屏幕亮了但闪烁、水波纹、边缘锯齿各种问题…

作者头像 李华
网站建设 2026/9/4 14:51:22

3步上手PowerShell:跨平台脚本与Docker容器管理完整指南

3步上手PowerShell&#xff1a;跨平台脚本与Docker容器管理完整指南 【免费下载链接】PowerShell PowerShell for every system! 项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell PowerShell 是微软出品的跨平台命令行外壳程序与脚本环境&#xff0c;覆盖…

作者头像 李华