分割一切还不够,还要检测一切、生成一切,SAM二创开始了

AI社区快速响应:Meta「分割一切」模型发布两天即遭「二创」

编辑 | 机器之心

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【全栈算法】技术交流群

论文刚发布两天,「二创」就开始了。

AI 技术的迭代,已经以天为单位。所以,如果你有什么好的想法,最好赶紧做,不然睡一觉可能就被抢先了。

0e246716b3f6122be5003c7cf704c31a.png

2a03df8dc4646bddcdd5016553291b51.png

这个被很多人看好的 idea 源于 Meta 两天前发布的「分割一切」AI 模型(Segment Anything Model,简称 SAM)。Meta 表示,「SAM 已经学会了关于物体的一般概念,可以为任何图像或视频中的任何物体生成 mask,甚至包括在训练过程中没有遇到过的物体和图像类型。SAM 足够通用,可以涵盖广泛的用例,并且可以在新的图像『领域』即开即用,无需额外的训练。」

696ee51013c211c1bfc8c2e8a837a5e8.gif

这一模型的发布在计算机视觉领域引发轰动,预示着 CV 也将走向「一个全能基础模型统一某个(某些?全部?)任务」的道路。当然,大家对此早有预感,但没想到这一天来得如此之快。

比基础模型迭代更快的是研究社区「二创」的速度。论文才刚刚发布两天,几位国内工程师就基于此想出了新的点子并将其付诸实践,组建出了一个不仅可以「分割一切」,还能「检测一切」、「生成一切」的视觉工作流模型。

30fd73efc0fbcaa8aa6935fc15da10ae.png

4d43f4dfd1b24680f76ec524bc28dbaf.png

具体来说,他们使用一个 SOTA 的 zero-shot 目标检测器(Grounding DINO)提取物体 box 和类别,然后输入给 SAM 模型出 mask,使得模型可以根据文本输入检测和分割任意物体。另外,他们还将其和 Stable Diffusion 结合做可控的图像编辑。

这个三合一模型项目名叫 Grounded Segment Anything,三种类型的模型既可以分开使用,也可以组合使用。

79b8d0e14caf9e27181b3a879c9a0daa.png

项目链接:https://github.com/IDEA-Research/Grounded-Segment-Anything

对于 Grounded Segment Anything 未来的用途,项目作者构想了几种可能:

  • 可控的、自动的图像生成,用于构建新的数据集;

  • 提供更强的基础模型与分割预训练;

  • 引入 GPT-4,进一步激发视觉大模型的潜力;

  • 一条自动标记图像(带 box 和 mask)并生成新图像的完整 pipeline;

  • ……

安装

要实现 SAM+Stable Diffusion 需要一些安装步骤。首先该项目要求 Python 3.8 以上版本,pytorch 1.7 以上版本,torchvision 0.8 以上版本,并安装相关依赖项。项目作者还建议安装支持 CUDA 的 PyTorch 和 TorchVision。

然后,按照如下代码安装 Segment Anything:

python -m pip install -e segment_anything

安装 GroundingDINO:

python -m pip install -e GroundingDINO

以下是可选依赖项,这些对于掩码后处理、以 COCO 格式保存掩码、example notebook 以及以 ONNX 格式导出模型是必需的。另外,该项目还需要 jupyter 来运行 example notebook。

pip install opencv-python pycocotools matplotlib onnxruntime onnx ipykernel

运行 GroundingDINO demo

下载 groundingdino 检查点:

cd Grounded-Segment-Anything


wget https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth

运行 demo:

export CUDA_VISIBLE_DEVICES=0
python grounding_dino_demo.py \
  --config GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py \
  --grounded_checkpoint groundingdino_swint_ogc.pth \
  --input_image assets/demo1.jpg \
  --output_dir "outputs" \
  --box_threshold 0.3 \
  --text_threshold 0.25 \
  --text_prompt "bear" \
  --device "cuda"

模型预测可视化将保存在 output_dir 中,如下所示:

186e6fab57fcc9108c55eb2d04f168d5.png

运行 Grounded-Segment-Anything Demo

下载 segment-anything 和 ground- dino 的检查点:

cd Grounded-Segment-Anything


wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
wget https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth

运行 demo:

export CUDA_VISIBLE_DEVICES=0
python grounded_sam_demo.py \
  --config GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py \
  --grounded_checkpoint groundingdino_swint_ogc.pth \
  --sam_checkpoint sam_vit_h_4b8939.pth \
  --input_image assets/demo1.jpg \
  --output_dir "outputs" \
  --box_threshold 0.3 \
  --text_threshold 0.25 \
  --text_prompt "bear" \
  --device "cuda"

模型预测可视化将保存在 output_dir 中,如下所示:

bebd77f6da969afe23412b9b055098c4.png

运行 Grounded-Segment-Anything + Inpainting Demo

CUDA_VISIBLE_DEVICES=0
python grounded_sam_inpainting_demo.py \
  --config GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py \
  --grounded_checkpoint groundingdino_swint_ogc.pth \
  --sam_checkpoint sam_vit_h_4b8939.pth \
  --input_image assets/inpaint_demo.jpg \
  --output_dir "outputs" \
  --box_threshold 0.3 \
  --text_threshold 0.25 \
  --det_prompt "bench" \
  --inpaint_prompt "A sofa, high quality, detailed" \
  --device "cuda"

运行 Grounded-Segment-Anything + Inpainting Gradio APP

python gradio_app.py

参考链接:

https://zhuanlan.zhihu.com/p/620271321

https://www.zhihu.com/question/593914819/answer/2972925421

视频课程来了!

自动驾驶之心为大家汇集了毫米波雷达视觉融合、高精地图、BEV感知、传感器标定、传感器部署、自动驾驶协同感知、语义分割、自动驾驶仿真、L4感知、决策规划、轨迹预测等多个方向学习视频,欢迎大家自取(扫码进入学习)

268b704c074d4af4ff1b56d804120eba.png

(扫码学习最新视频)

国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、Occpuancy、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

e681aa17d0c93332f029120e575cf26f.jpeg

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

68e330641a93db269f707fefb93a627f.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

<think>好的,用户让我介绍一下SAM(Segment Anything Model)分割一切的大模型。首先,我需要确认用户对SAM的了解程度。可能他们听说过这个模型,但想深入了解它的原理、应用或优势。SAM是由Meta AI开发的,基于深度学习的图像分割模型,能够零样本分割图像中的任何对象。 接下来,我应该整理SAM的关键点。首先是模型的结构,比如图像编码器、提示编码器和掩码解码器。然后是它的训练数据,SA-1B数据集,包含超过10亿掩码,这对模型的泛化能力至关重要。接着是核心功能,如支持点、框、文本等提示方式,以及自动生成全图分割掩码的能力。 用户可能关心SAM的应用场景,比如计算机视觉任务中的图像编辑、自动驾驶、医学图像分析等。此外,可能需要解释零样本分割的概念,说明它如何在没有特定任务训练的情况下适应新任务。 还要考虑用户可能的疑问,比如SAM的局限性,例如处理复杂遮挡或小物体时的挑战。同时,与之前的分割模型相比,SAM的优势在哪里,比如灵活性和泛化能力。 需要确保使用中文,结构清晰,分点说明。避免使用过于专业的术语,或者必要时进行解释。比如,解释“掩码”是指分割出的对象区域。同时,检查LaTeX格式是否正确,但根据用户的问题,可能不需要数学公式,但如果有必要,确保用$...$或$$...$$包裹。 最后,总结SAM的意义,比如推动通用AI在视觉领域的发展,为后续研究提供基础。可能用户是研究者或开发者,想了解如何应用SAM到自己的项目中,可以提到开源代码和预训练模型的可用性。 现在组织这些信息,确保符合之前的系统指令,使用自然口语化的中文,分步骤解释,结构清晰,每部分有标题,帮助用户逐步理解SAM模型。</think>SAM(Segment Anything Model,分割一切模型)是由Meta AI(原Facebook AI)于2023年提出的通用图像分割大模型,其核心目标是实现"零样本"(zero-shot)的任意对象分割能力。以下是关于SAM的核心要点: --- ### **1. 核心特点** - **全场景分割** 无需特定训练即可分割图像中任意对象,支持点、框、文本等多种交互提示方式 - **零样本学习** 即使面对未见过的物体类别或复杂场景,也能生成准确的分割掩码 - **多模态输入** 支持多种输入形式:点击(正/负点)、边界框、粗略掩码、文本描述等 --- ### **2. 技术架构** 模型采用三阶段结构: 1. **图像编码器** - 使用MAE预训练的ViT-H/16视觉Transformer - 将图像转换为高维特征向量(1024×64×64) 2. **提示编码器** - 处理点/框/文本等提示信息 - 对位置信息进行位置编码 3. **掩码解码器** - 结合图像特征和提示信息 - 通过交叉注意力机制生成最终掩码 --- ### **3. 关键新** - **SA-1B数据集** 包含1100万张图像和**11亿个高质量分割掩码**,覆盖广泛场景和对象 - **提示式分割** 通过交互式提示实现动态分割,模拟人类标注过程 - **歧义处理** 对模糊提示(如物体重叠区域)可输出多个合理分割结果 --- ### **4. 性能表现** | 指标 | 表现 | |-------------------|------------------------------| | 单掩码生成速度 | ≈50ms/张(GPU) | | COCO零样本mIoU | 77.8(超过监督学习模型) | | LVIS零样本mIoU | 58.1 | --- ### **5. 应用场景** - **图像编辑**:精确对象抠图 - **自动驾驶**:实时道路场景解析 - **医学影像**:病灶区域自动标注 - **遥感分析**:地理要素快速提取 - **视频处理**:跨帧对象追踪 --- ### **6. 局限性** - 对超精细边缘(如头发)分割仍有提升空间 - 处理高度遮挡物体时可能出现漏分割 - 文本提示的语义理解能力待加强 --- ### **7. 开源生态** - 代码库:GitHub公开(Apache 2.0协议) - 预训练模型:提供ViT-H/ViT-L/ViT-B三种规模 - 交互式Demo:可通过网页端体验实时分割 SAM的推出标志着通用计算机视觉模型的重要突破,其论文《Segment Anything》已被CVPR 2023收录。该模型为后续的通用视觉系统(如目标检测、图像生成等任务)提供了强大的基础能力支撑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值