图像分割模型 SAM:Segment Anything 完整指南,三步装好、点一下出掩码 📅 发布时间:2026/8/30 8:28:14 👁 浏览次数: 图像分割模型 SAMSegment Anything 完整指南三步装好、点一下出掩码【免费下载链接】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简称 SAM解决的正是这类图像分割痛点你在图上点一下对象它几秒钟内输出一张高质量掩码你不想点它也能自动把整张图的对象全部分出来。这篇指南带你从安装图像分割模型到拿到第一个掩码再到选对模型档位。读完你可以做到三行代码装好 SAM 并跑通点提示分割用自动掩码生成AMG一次处理整批图片按显存和速度在 ViT-H / ViT-L / ViT-B 之间做选型 SAM 架构速览三个组件各干什么SAM 是 Meta AI 推出的图像分割基础模型在 1100 万张图像、11 亿个掩码的 SA-1B 数据集上训练输入是点或框等提示输出是对象掩码零样本能力在多种分割任务上表现稳定。整条链路只有三个组件职责分工很清晰图像编码器把输入图像压缩成一张图像嵌入是三个组件里最重的部分提示编码器把点、框等提示统一编码成模型可消费的向量掩码解码器一次生成 3 个候选掩码并给出每个掩码的预测 IoU 分数供你挑选 三步装好 SAM点一下出掩码前置要求python3.8、pytorch1.7、torchvision0.8强烈建议装带 CUDA 支持的版本。第 1 步克隆仓库并安装git clone https://gitcode.com/GitHub_Trending/se/segment-anything cd segment-anything pip install -e . pip install opencv-python pycocotools matplotlib # 可选后处理与 notebook 需要第 2 步加载模型。模型通过 模型注册表 按名称实例化三档都叫sam_model_registry[model_type]记得按 README 里的 Model Checkpoints 一节下载对应权重的.pth文件。第 3 步设图 点提示拿到掩码from segment_anything import SamPredictor, sam_model_registry sam sam_model_registryvit_h predictor SamPredictor(sam) predictor.set_image(image) # (H, W, 3) 的 BGR 数组 masks, scores, logits predictor.predict( point_coords[[x, y]], # SAM 点提示坐标 point_labels[1], # 1前景, 0背景 )masks是布尔数组scores是每个掩码的置信度直接挑最高的那个用即可。更多 SAM 点提示用法可以跑 点提示示例 notebook。⚙️ SAM 的三种用法点提示点得准掩码才准一句话结论掩码质量高度依赖提示坐标的位置——点落在对象内部偏中心处效果最好点在两个对象交界或细窄部位时结果会漂移。支持单点、多点正样本 1 / 负样本 0 可混用以及框提示点不准时加一个负样本点或改用box参数把区域框死通常就能救回来每次 predict 返回 3 个候选掩码配合scores挑质量最高的自动掩码生成一次调用分完全图一句话结论不想逐对象点提示时AMG 会自动为图中所有对象生成候选掩码适合批量抠图和预标注。from segment_anything import SamAutomaticMaskGenerator, sam_model_registry sam sam_model_registryvit_b generator SamAutomaticMaskGenerator(sam) masks generator.generate(image) # 返回掩码列表不想写代码时可直接走命令行python scripts/amg.py --checkpoint ... --input 图片文件夹 --output 输出目录每个掩码自带predicted_iou和stability_score两个质量分按分数过滤即可去掉碎掩码掩码支持保存为 COCO 格式方便后续接检测/标注流程密集复杂场景实际表现如何一句话结论对象数量多、边界清晰的密集场景是 SAM 的舒适区图中多个语义区域能被区分开但对象很小、被严重遮挡或颜色高度相似时掩码会出现粘连或漏检。 三档模型怎么选ViT-H / ViT-L / ViT-B 对比三档的区别只在图像编码器ViT backbone的大小提示编码器和掩码解码器完全相同模型参数量权重体积分割质量推理速度适合场景vit_h默认约 6.4 亿约 2.4 GB最好最慢离线批处理、质量优先vit_l约 3.4 亿约 1.2 GB中等中等质量与速度的折中vit_b约 0.9 亿约 375 MB可用最快实时交互、端侧、大批量默认怎么选显存够用就先跑vit_h看效果基线确定要批量上生产或部署到资源受限设备时再换vit_b三档代码完全一样只改注册表名字和权重路径。边界与适用性这些场景别直接上 SAM像素级精度任务医学影像、显微分析等要求亚像素一致性的场景零样本质量不够通常需要再微调视频逐帧分割本仓库是纯静态图像模型视频任务要另找 SAM 2提示坐标质量点在对象边缘、极小背景或两个对象交界处时掩码会跑偏用框提示或补负样本兜底超高分辨率图像输入会被缩放到 1024×1024 再进模型原图非常大时细部信息会丢需要自己切片再拼回它给的是区域不是类别SAM 分割的是你指的这块不告诉你这是什么语义识别要另接分类模型接下来可以做什么先试自动掩码拿一张密集图或整个文件夹跑一遍 AMG感受零标注预标注的效率接上浏览器演示用scripts/export_onnx_model.py把轻量的掩码解码器导出为 ONNX再配合 demo/README.md 里的 React 单页应用在浏览器里多线程实时出掩码往端侧迁移换vit_b ONNX 解码器组合把交互分割跑到低显存甚至移动设备上【免费下载链接】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),仅供参考