Sa2VA别再用PS抠图了!字节跳动开源Sa2VA一句话自动分割视频,连头发丝都精准

Written by 30115776@qq.com

“设计师集体失业?字节跳动祭出多模态核弹:Sa2VA实现『所说即所得』式视频编辑!”

你是否经历过——

  • 🎬 剪视频时反复框选目标,AI却总把猫耳朵识别成树叶
  • 🖌️ 想用语言描述修改画面细节,得到的却是驴唇不对马嘴的蒙版
  • 💸 雇专业团队做影视级分割,单分钟成本够买台iPhone…

今天揭秘的 Sa2VA 正在颠覆创作规则!这个由字节跳动联合中美顶尖实验室打造的多模态大模型,实现了三大突破:

  • ✅ 像素级「读心术」 :一句\”把第三秒穿红裙女孩换成水墨风\”自动生成蒙版
  • ✅ 时空连续理解:视频中移动的斑马线,连光影变化都能精准追踪
  • ✅ 零样本跨模态:没见过的动漫角色?描述特征直接分割

基于 SAM2+LLaVA 的黄金组合,Sa2VA正在成为影视后期/元宇宙创作/工业检测的新基建——你的下一台「视觉瑞士军刀」,何必是人工?

🚀 快速阅读

Sa2VA 是一款结合了 SAM2 和 LLaVA 的多模态大语言模型,能够实现对图像和视频的密集、细粒度理解。

  1. 核心功能:支持图像和视频的指代分割、视觉对话和基于指令的视频编辑。
  2. 技术原理:通过解耦设计,保留 SAM2 的感知能力和 LLaVA 的语言理解能力,并引入 Ref-SAV 数据集提升复杂场景下的性能。

Sa2VA 是什么

Sa2VA 是由字节跳动联合加州大学默塞德分校、武汉大学和北京大学共同推出的一款多模态大语言模型。它结合了 SAM2 和 LLaVA 的优势,能够实现对图像和视频的密集、细粒度理解。Sa2VA 通过统一的任务表示,将图像或视频指代分割、视觉对话、视觉提示理解等任务整合到一个框架中,利用 LLM 生成的空间-时间提示指导 SAM2 生成精确分割掩码。

Sa2VA 采用了解耦设计,保留了 SAM2 的感知能力和 LLaVA 的语言理解能力,并引入了 Ref-SAV 数据集,显著提升了复杂视频场景下的指代分割性能。

Sa2VA 的主要功能

  • 图像和视频指代分割:根据自然语言描述精确分割图像或视频中的目标对象。
  • 图像和视频对话:支持与用户进行基于图像或视频的对话,回答与视觉内容相关的问题。
  • 视觉提示理解:支持处理视觉提示(如图像中的框、点等),并结合语言描述生成对应的分割掩码或回答。
  • 基于指令的视频编辑:根据用户指令对视频内容进行编辑。
  • 密集的视觉理解:能理解图像和视频的整体内容,还能对像素级的视觉细节进行分析和操作,支持复杂场景下的细粒度任务。
  • 零样本推理:支持在未见过的视频上进行推理,根据语言描述直接生成分割掩码或回答问题,无需额外训练。

Sa2VA 的技术原理

  • 模型架构:结合 SAM2 和 LLaVA。SAM2 负责视频的时空分割,LLaVA 提供语言理解和生成能力。两者基于特殊的 [SEG] 令牌连接,LLaVA 的输出作为 SAM2 的输入,指导其生成分割掩码。
  • 统一任务表示:将多种任务(如指代分割、视觉对话、视觉提示理解等)统一为单次指令调整过程。所有输入(图像、视频、文本)被编码为视觉令牌,输入到 LLM 中,输出文本或分割掩码。
  • 解耦设计:基于解耦设计,冻结 SAM2 的解码器和记忆模块,保留其感知和跟踪能力。
  • Ref-SAV 数据集:引入 Ref-SAV 数据集,包含超过 72k 个复杂视频场景中的对象表达。数据集基于自动标注管道生成,包含长文本描述和复杂场景,提升模型在复杂环境下的性能。
  • 时空提示:基于 LLaVA 生成的 [SEG] 令牌作为 SAM2 的时空提示,指导生成精确的分割掩码。
  • 联合训练:在多个数据集上进行联合训练,包括图像 QA、视频 QA、图像分割和视频分割数据。

如何运行 Sa2VA

1. 安装依赖

安装 Python 和 PyTorch:

conda create -n vlm python=3.10
conda activate vlm
conda install pytorch==2.3.1 torchvision==0.18.1 pytorch-cuda=12.1 cuda -c pytorch -c \"nvidia/label/cuda-12.1.0\" -c \"nvidia/label/cuda-12.1.1\"

安装 mmcv:

pip install mmcv==2.1.0 -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.3/index.html

安装其他依赖:

pip install -r requirements.txt
2. 准备预训练模型

下载以下预训练模型并放置在 ./pretrained 目录:

3. 准备数据集

下载训练数据集并放置在 data 目录。下载链接为 这里

4. 训练模型

运行以下脚本进行训练:

bash tools/dist.sh train projects/llava_sam2/configs/sa2va_4b.py 8

5. 将训练好的模型转换为 HuggingFace 格式

运行以下脚本将训练好的模型转换为 HuggingFace 格式:

python projects/llava_sam2/hf/convert_to_hf.py projects/llava_sam2/configs/sa2va_4b.py --pth-model PATH_TO_PTH_MODEL --save-path PATH_TO_SAVE_FOLDER

资源

30115776@qq.com

Pretium lorem primis lectus donec tortor fusce morbi risus curae. Dignissim lacus massa mauris enim mattis magnis senectus montes mollis taciti accumsan semper nullam dapibus netus blandit nibh aliquam metus morbi cras magna vivamus per risus.

斯坦福开源Collaborative Gym框架:让AI学会主动协作,效率提升27%!

Zonos:开源TTS模型爆火!克隆你的声音,支持5国语言,还能调节喜怒哀乐

发表评论