
SAM 图像分割快速上手指南点一个点就能得到对象掩码【免费下载链接】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-anythingSegment Anything 模型SAM是 Meta AI 发布的图像分割基础模型在图像上点一个位置或框一个区域它会返回高质量的对象掩码。如果你是想快速上手图像分割的新手、做素材抠图的编辑或是需要预标注数据的算法工程师这篇文章会带你跑通安装、首次调用和版本选择。它的工作原理SAM 的思路很直接图像编码器一个 ViT 视觉 Transformer先把整张图压缩成一张特征图相当于提前记住图里有什么然后你给出的点、框等提示被提示编码器转成模型能理解的向量掩码解码器把它和特征图结合输出几组候选掩码并给每组附上质量分数。整套流程对应仓库 segment_anything/modeling/ 下的 image encoder、prompt encoder、mask decoder 三个模块。上图是自动掩码生成器的输出整条街道被划分成语义清晰的区域电车、树木、行人彼此分离。值得注意的是图像编码器每张图只需跑一次之后连续点多、框多都是即时的这正是交互演示流畅的原因。该模型在训练中见过 1100 万张图像和 11 亿个掩码因此可以零训练直接用于新场景。三步跑通第一个分割结果 环境要求 Python ≥ 3.8、PyTorch ≥ 1.7建议按 PyTorch 官方指引安装带 CUDA 支持的两个依赖。安装命令pip install githttps://gitcode.com/GitHub_Trending/se/segment-anything.git或者先克隆再本地安装git clone https://gitcode.com/GitHub_Trending/se/segment-anything cd segment-anything pip install -e .接着下载对应的模型权重文件如 vit_h 版本的 sam_vit_h_4b8939.pth放到本地。用点提示做一次分割核心代码只有几行from segment_anything import SamPredictor, sam_model_registry import numpy as np from PIL import Image sam sam_model_registryvit_h predictor SamPredictor(sam) predictor.set_image(Image.open(your_image.jpg).convert(RGB)) masks, scores, _ predictor.predict( point_coordsnp.array([[x, y]]), point_labelsnp.array([1]) )代码里point_labels取 1 表示正点、0 表示负点实测加几个负点可以把掩码从无关区域推开。预期结果masks是一组布尔掩码scores是模型对每个掩码的置信度。在官方示例中点中车轮会得到下图效果更多参数组合可参考 notebooks/predictor_example.ipynb。版本与配置怎么选三个版本的区别全在骨干网络规模上输入图像统一会被缩放到 1024×1024版本骨干配置嵌入维度/层数权重规模取舍vit_h默认1280 / 32约 2.4GB掩码质量最高算力需求最大vit_l1024 / 24约 900MB质量与速度的中间档vit_b768 / 12约 375MB最轻量适合 CPU 或低配显卡选择建议做效果评估或对外演示直接用默认的vit_h在 CPU 或显存紧张的环境跑批处理换成vit_b即可。切换时只需改sam_model_registry里的版本名和 checkpoint 路径其余代码不变。它能解决哪些实际问题 图像编辑里的精确选区。用点或框勾出主体掩码可直接用于去背景、局部合成或素材替换。官方示例中人和狗、椅子混在一张图里时各区域依然被干净地区分开数据集预标注。需要批量掩码时不必逐张手点自动掩码生成器一次输出图中所有对象且每个掩码附带质量分数可以直接作为预标注使用from segment_anything import SamAutomaticMaskGenerator generator SamAutomaticMaskGenerator(sam) masks generator.generate(image)浏览器端的轻量推理。掩码解码器本身很轻可以导出为 ONNX 格式导出脚本见 scripts/export_onnx_model.py。demo/ 目录里有一个 React 示例用多线程在浏览器里完成掩码预测适合不想把图片传到服务端的场景。想动手的话最短路径是克隆仓库、装好依赖、打开示例 notebook 跑一遍。先点出第一个掩码再按需扩展到自动掩码生成和 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),仅供参考