3 行代码分割图中任意对象:Segment Anything 模型完整上手指南
3 行代码分割图中任意对象Segment 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干的就是这件事给它一张图凭一个简单的点或框提示就能生成高质量的物体掩码即物体的像素级轮廓。它在1100 万张图像、11 亿个掩码上训练在绝大多数没见过的场景里做零样本分割无需额外训练即可直接使用都能稳定出结果。这是 Meta AI 开源的图像分割模型仓库里带推理代码、3 个checkpoint 的下载入口以及开箱即用的示例 notebook。它是怎么工作的 整个流程分三个模块数据从左往右单向流动图像编码器先把图像转成一张特征图image embedding。同一张图只需跑这一次重计算。提示编码器把你的点、框或者上一次生成的掩码统一转成模型能懂的输入。掩码解码器结合两者输出3 个候选掩码每个附带一个质量分你取分最高的那个即可。这个编码一次、提示多次的设计是交互式点击分割流畅的原因也正因为解码器很轻它可以单独导出成 ONNX 格式直接在浏览器里跑。想看具体实现可以从 segment_anything/predictor.py 读起。从安装到出结果一条命令 最小示例 ️✅ 前置依赖python ≥3.8pytorch ≥1.7torchvision ≥0.8建议带 CUDA 版本。git clone https://gitcode.com/GitHub_Trending/se/segment-anything cd segment-anything pip install -e .再下载一个 checkpoint默认 ViT-H几行代码就能拿到掩码from segment_anything import SamPredictor, sam_model_registry sam sam_model_registryvit_h predictor SamPredictor(sam) predictor.set_image(image) # numpy 数组RGB 格式 masks, scores, _ predictor.predict(box[x1, y1, x2, y2]) 进阶不想要手动提示就用SamAutomaticMaskGenerator替代 predictor对整张图直接调generate()一次性把图中所有物体都分割出来。还有两个进阶入口命令行批处理用 scripts/amg.py支持传入整个文件夹批量输出掩码demo/ 目录有一个现成的 React 页面演示在浏览器里跑 ONNX 掩码预测。SAM 三个版本怎么选 版本注册名特点适合场景ViT-H默认vit_h最大掩码质量最好质量优先、离线跑批ViT-Lvit_l大小与速度折中兼顾质量和速度ViT-Bvit_b最小GPU 受限或实时交互三个版本接口完全一致换名字和 checkpoint 文件即可不用改业务代码。三个能直接落地的场景 交互式标注工具点击物体即得掩码接进标注流水线能省掉大量手勾时间仓库里 notebooks/predictor_example.ipynb 是现成教程。自动物体拆分对密集街景调一次generate()拿回全部区域掩码适合建数据集或做抠图背景。浏览器端实时预览用 scripts/export_onnx_model.py 把解码器导出为 ONNX前端直接出掩码不用起推理服务细节见 demo/README.md。下一步下载 ViT-B 的 checkpoint打开一张随手拍的照片试三次点提示——看到掩码跟手出来的那一刻你就明白图像分割的基础设施长什么样了。【免费下载链接】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),仅供参考