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 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

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

相关文章
|
8月前
|
前端开发 API 开发者
一键抠图有多强?19Kstar 的 Rembg 开源神器,5 大实用场景颠覆想象!
Rembg是一款基于Python的开源抠图工具,利用深度学习模型(U-Net/U-2-Net)实现高质量背景移除。它支持命令行、Python API、服务端API及插件等多种形式,适用于电商商品图、社交头像优化、设计项目图像等场景。凭借高精准度、即插即用特性和全面生态,Rembg在GitHub上已获19.1K星,成为开发者社区中的热门工具。其本地部署特性确保数据隐私,适合专业与商业环境使用。项目地址:https://github.com/danielgatis/rembg。
2332 24
|
编解码 数据可视化 定位技术
60行代码就可以训练/微调 Segment Anything 2 (SAM 2)
本文演示了如何在仅60行代码内(不包括标注和导入)对SAM2进行微调。
1356 1
60行代码就可以训练/微调 Segment Anything 2 (SAM 2)
|
6月前
|
传感器 编解码 数据可视化
GEE数据集:2017-2024年全球多源遥感数据融合的全新10米数据集(无量纲)Satellite Embedding V1
Google Satellite Embedding 数据集提供全球10米分辨率的64维嵌入向量,编码地表条件的时间轨迹,适用于变化检测与地理分析。
602 0
|
12月前
|
机器学习/深度学习 人工智能 并行计算
BEN2:一键快速抠图!自动移除图像和视频中的背景,支持在线使用
BEN2 是由 Prama LLC 开发的深度学习模型,专注于从图像和视频中快速移除背景并提取前景,支持高分辨率处理和GPU加速。
1102 10
BEN2:一键快速抠图!自动移除图像和视频中的背景,支持在线使用
|
存储 人工智能 算法
【AI系统】计算图的优化策略
本文深入探讨了计算图的优化策略,包括算子替换、数据类型转换、存储优化等,旨在提升模型性能和资源利用效率。特别介绍了Flash Attention算法,通过分块计算和重算策略优化Transformer模型的注意力机制,显著减少了内存访问次数,提升了计算效率。此外,文章还讨论了内存优化技术,如Inplace operation和Memory sharing,进一步减少内存消耗,提高计算性能。
740 34
【AI系统】计算图的优化策略
|
机器学习/深度学习 编解码 人工智能
STAR:南京大学联合字节开源视频超分辨率增强生成框架,视频清晰度一键提升,支持从低分辨率视频生成高分辨率视频
STAR 是由南京大学、字节跳动和西南大学联合推出的视频超分辨率框架,能够将低分辨率视频提升为高分辨率,同时保持细节清晰度和时间一致性。
2620 13
STAR:南京大学联合字节开源视频超分辨率增强生成框架,视频清晰度一键提升,支持从低分辨率视频生成高分辨率视频
|
机器学习/深度学习 人工智能 算法
阿里云人工智能平台图像视频特征提取
本文介绍了图像与视频特征提取技术在人工智能和计算机视觉中的应用,涵盖图像质量评分、人脸属性分析、年龄分析、图像多标签打标、图文视频动态分类打标、视频质量评分及视频分类打标。通过深度学习模型如CNN和RNN,这些技术能从海量数据中挖掘有价值信息,为图像分类、目标检测、视频推荐等场景提供支持,提升分析精度与效率。
856 9
|
编解码 人工智能 文字识别
阶跃星辰开源GOT-OCR2.0:统一端到端模型,魔搭一站式推理微调最佳实践来啦!
GOT来促进OCR-2.0的到来。该模型具有580百万参数,是一个统一、优雅和端到端的模型,由高压缩编码器和长上下文解码器组成。
阶跃星辰开源GOT-OCR2.0:统一端到端模型,魔搭一站式推理微调最佳实践来啦!
|
机器学习/深度学习 并行计算 PyTorch
从零开始下载torch+cu(无痛版)
这篇文章提供了一个详细的无痛版教程,指导如何从零开始下载并配置支持CUDA的PyTorch GPU版本,包括查看Cuda版本、在官网检索下载包名、下载指定的torch、torchvision、torchaudio库,并在深度学习环境中安装和测试是否成功。
从零开始下载torch+cu(无痛版)

热门文章

最新文章