SAM 2.1:Meta 开源的图像和视频分割,支持实时视频处理

简介: SAM 2.1是由Meta(Facebook的母公司)推出的先进视觉分割模型,专为图像和视频处理设计。该模型基于Transformer架构和流式记忆设计,实现了实时视频处理,并引入了数据增强技术,提升了对视觉相似物体和小物体的识别能力。SAM 2.1的主要功能包括图像和视频分割、实时视频处理、用户交互式分割、多对象跟踪以及改进的遮挡处理能力。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 方面:SAM 2.1是Meta推出的先进视觉分割模型,用于图像和视频处理。
  2. 功能:支持图像和视频分割、实时视频处理、用户交互式分割和多对象跟踪。
  3. 技术:基于Transformer架构和流式记忆设计,引入数据增强技术,提升识别能力。

正文(附运行示例)

SAM 2.1 是什么

公众号: 蚝油菜花 - sam2

SAM 2.1(全称Segment Anything Model 2.1)是Meta推出的先进视觉分割模型,专为图像和视频处理设计。该模型基于简单的Transformer架构和流式记忆设计,实现了实时视频处理。

SAM 2.1在前代基础上引入了数据增强技术,改善了对视觉相似物体和小物体的识别能力,提升了遮挡处理能力。此外,Meta开源了SAM 2的开发者套件,包括训练代码和网络演示的前后端代码,方便用户使用和微调模型。

SAM 2.1 的主要功能

  • 图像和视频分割:对图像和视频进行视觉分割,识别和分离出不同的对象和元素。
  • 实时视频处理:基于流式记忆和Transformer架构,实时处理视频流。
  • 用户交互式分割:基于用户点击或框选,交互式地分割图像和视频中的对象。
  • 多对象跟踪:支持在视频序列中跟踪多个对象,并为每个对象生成分割掩码。
  • 数据增强:引入数据增强技术,提高模型对视觉相似物体和小物体的识别能力。
  • 遮挡处理:改进模型的位置编码和训练策略,增强对遮挡情况的处理能力。

SAM 2.1 的技术原理

  • Transformer架构:SAM 2.1基于Transformer架构,一种高效的注意力机制模型,能处理序列数据,如图像和视频帧。
  • 流式记忆:为处理视频数据,引入流式记忆机制,支持模型在处理视频帧时保持对之前帧的记忆,能更好地理解场景的动态变化。
  • 数据增强技术:基于模拟视觉相似物体和小物体的数据增强,提高了对难以识别物体的识别能力。
  • 位置编码:改进空间和物体指向记忆的位置编码,有助于模型更好地理解物体的空间位置和它们之间的交互。

如何运行 SAM 2.1

安装

SAM 2.1需要先进行安装。代码要求python>=3.10,以及torch>=2.3.1torchvision>=0.18.1。请按照以下步骤安装:

git clone https://github.com/facebookresearch/sam2.git && cd sam2
pip install -e .

如果是在Windows系统上安装,强烈建议使用Windows Subsystem for Linux (WSL)。

下载检查点

首先,需要下载模型检查点。所有模型检查点可以通过运行以下命令下载:

cd checkpoints && ./download_ckpts.sh && cd ..

或者单独下载:

图像预测

SAM 2.1具有与SAM相同的静态图像处理能力,并提供了与SAM相似的图像预测API。以下是一个简单的图像预测示例:

import torch
from sam2.build_sam import build_sam2
from sam2.sam2_image_predictor import SAM2ImagePredictor

checkpoint = "./checkpoints/sam2.1_hiera_large.pt"
model_cfg = "configs/sam2.1/sam2.1_hiera_l.yaml"
predictor = SAM2ImagePredictor(build_sam2(model_cfg, checkpoint))

with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):
    predictor.set_image(<your_image>)
    masks, _, _ = predictor.predict(<input_prompts>)

视频预测

对于视频中的可提示分割和跟踪,SAM 2.1提供了视频预测器,支持在视频中添加提示并传播掩码。以下是一个简单的视频预测示例:

import torch
from sam2.build_sam import build_sam2_video_predictor

checkpoint = "./checkpoints/sam2.1_hiera_large.pt"
model_cfg = "configs/sam2.1/sam2.1_hiera_l.yaml"
predictor = build_sam2_video_predictor(model_cfg, checkpoint)

with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):
    state = predictor.init_state(<your_video>)

    # 添加新提示并立即获取同一帧的输出
    frame_idx, object_ids, masks = predictor.add_new_points_or_box(state, <your_prompts>):

    # 传播提示以获取整个视频的掩码
    for frame_idx, object_ids, masks in predictor.propagate_in_video(state):
        ...

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
编解码 数据可视化 定位技术
60行代码就可以训练/微调 Segment Anything 2 (SAM 2)
本文演示了如何在仅60行代码内(不包括标注和导入)对SAM2进行微调。
1168 1
60行代码就可以训练/微调 Segment Anything 2 (SAM 2)
|
11月前
|
机器学习/深度学习 人工智能 并行计算
BEN2:一键快速抠图!自动移除图像和视频中的背景,支持在线使用
BEN2 是由 Prama LLC 开发的深度学习模型,专注于从图像和视频中快速移除背景并提取前景,支持高分辨率处理和GPU加速。
978 10
BEN2:一键快速抠图!自动移除图像和视频中的背景,支持在线使用
|
存储 人工智能 算法
【AI系统】计算图的优化策略
本文深入探讨了计算图的优化策略,包括算子替换、数据类型转换、存储优化等,旨在提升模型性能和资源利用效率。特别介绍了Flash Attention算法,通过分块计算和重算策略优化Transformer模型的注意力机制,显著减少了内存访问次数,提升了计算效率。此外,文章还讨论了内存优化技术,如Inplace operation和Memory sharing,进一步减少内存消耗,提高计算性能。
686 34
【AI系统】计算图的优化策略
|
12月前
|
机器学习/深度学习 编解码 人工智能
STAR:南京大学联合字节开源视频超分辨率增强生成框架,视频清晰度一键提升,支持从低分辨率视频生成高分辨率视频
STAR 是由南京大学、字节跳动和西南大学联合推出的视频超分辨率框架,能够将低分辨率视频提升为高分辨率,同时保持细节清晰度和时间一致性。
2336 13
STAR:南京大学联合字节开源视频超分辨率增强生成框架,视频清晰度一键提升,支持从低分辨率视频生成高分辨率视频
|
机器学习/深度学习 存储 人工智能
EfficientTAM:Meta AI推出的视频对象分割和跟踪模型
EfficientTAM是Meta AI推出的轻量级视频对象分割和跟踪模型,旨在解决SAM 2模型在移动设备上部署时的高计算复杂度问题。该模型采用非层次化Vision Transformer(ViT)作为图像编码器,并引入高效记忆模块,以降低计算复杂度,同时保持高质量的分割结果。EfficientTAM在多个视频分割基准测试中表现出与SAM 2相当的性能,具有更快的处理速度和更少的参数,特别适用于移动设备上的视频对象分割应用。
396 9
EfficientTAM:Meta AI推出的视频对象分割和跟踪模型
|
12月前
|
人工智能 自然语言处理 并行计算
VITRON:开源像素级视觉大模型,同时满足图像与视频理解、生成、分割和编辑等视觉任务
VITRON 是由 Skywork AI、新加坡国立大学和南洋理工大学联合推出的像素级视觉大模型,支持图像与视频的理解、生成、分割和编辑,适用于多种视觉任务。
818 13
VITRON:开源像素级视觉大模型,同时满足图像与视频理解、生成、分割和编辑等视觉任务
|
12月前
|
机器学习/深度学习 人工智能 算法
阿里云人工智能平台图像视频特征提取
本文介绍了图像与视频特征提取技术在人工智能和计算机视觉中的应用,涵盖图像质量评分、人脸属性分析、年龄分析、图像多标签打标、图文视频动态分类打标、视频质量评分及视频分类打标。通过深度学习模型如CNN和RNN,这些技术能从海量数据中挖掘有价值信息,为图像分类、目标检测、视频推荐等场景提供支持,提升分析精度与效率。
789 9
|
机器学习/深度学习 并行计算 PyTorch
从零开始下载torch+cu(无痛版)
这篇文章提供了一个详细的无痛版教程,指导如何从零开始下载并配置支持CUDA的PyTorch GPU版本,包括查看Cuda版本、在官网检索下载包名、下载指定的torch、torchvision、torchaudio库,并在深度学习环境中安装和测试是否成功。
从零开始下载torch+cu(无痛版)
|
机器学习/深度学习 人工智能 文字识别
ultralytics YOLO11 全新发布!(原理介绍+代码详见+结构框图)
本文详细介绍YOLO11,包括其全新特性、代码实现及结构框图,并提供如何使用NEU-DET数据集进行训练的指南。YOLO11在前代基础上引入了新功能和改进,如C3k2、C2PSA模块和更轻量级的分类检测头,显著提升了模型的性能和灵活性。文中还对比了YOLO11与YOLOv8的区别,并展示了训练过程和结果的可视化
20907 0
|
机器学习/深度学习 传感器 人工智能
深度学习中的图像识别技术及其应用
在人工智能的浪潮中,深度学习已经成为推动技术创新的核心力量。本文将深入探讨深度学习在图像识别领域的应用,从基本原理到实践案例,展示如何通过神经网络模型实现高效准确的图像处理。我们将一起探索卷积神经网络(CNN)的奥秘,并通过实际代码示例,了解如何训练和部署这些模型来解决现实世界的问题。无论你是深度学习的初学者还是希望深化理解的开发者,这篇文章都将为你提供价值丰富的知识和技能。

热门文章

最新文章