Sa2VA
Sa2VA 是一款开创性的开源多模态大模型,旨在实现对图像和视频的“密集接地理解”。它巧妙地将强大的视频分割基础模型 SAM2 与先进的视觉语言模型 LLaVA 相结合,首次构建了一个能统一处理文本、图像和视频的统一架构。
传统多模态模型往往局限于特定任务或单一模态,而 Sa2VA 突破了这一瓶颈。它能通过极简的指令微调,同时胜任指代分割、视觉对话等复杂任务,不仅能回答关于画面的问题,还能精准定位并勾勒出视频中提到的具体物体轮廓,真正做到了“所指即所得”。
该工具特别适合人工智能研究人员、开发者以及需要处理复杂视觉数据的专业团队使用。对于希望探索视频内容深度分析、构建智能交互应用或进行多模态算法研究的用户来说,Sa2VA 提供了从 1B 到 26B 多种参数量版本及完整的训练推理代码,极具研究与实用价值。
其核心技术亮点在于将视觉感知能力无缝融入大语言模型的令牌空间,实现了对动态视频内容的细粒度语义解析。作为字节跳动种子团队等机构合作的成果,Sa2VA 不仅在学术上取得了 ICCV 挑战赛的优异成绩,更以开放的姿态推动了通用视觉理解技术的发展。
使用场景
某电商直播运营团队需要快速从长达数小时的带货回放视频中,精准提取特定商品的出现片段并生成带时间戳的营销素材。
没有 Sa2VA 时
- 流程割裂严重:需先使用传统目标检测模型定位商品,再单独调用分割模型勾勒轮廓,最后接入语言模型生成描述,三个系统难以协同。
- 视频理解能力弱:现有工具多针对静态图片优化,处理视频时无法有效追踪商品在复杂运动中的连续掩码,导致分割结果闪烁或丢失。
- 交互门槛高:运营人员无法直接用自然语言(如“把红色连衣裙在模特转身时的片段切出来”)下达指令,必须依赖技术人员编写代码或调整参数。
- 标注成本高昂:为了训练专用模型,需要人工逐帧标注大量视频数据,耗时耗力且难以覆盖所有商品品类。
使用 Sa2VA 后
- 端到端统一处理:Sa2VA 将 SAM2 的视频分割能力与 LLaVA 的语言理解融合,单模型即可同时完成商品定位、像素级分割及文案生成。
- ** dense 视频追踪**:得益于 SAM2 基底,Sa2VA 能精准锁定视频中移动、遮挡或形变的商品,输出稳定且连贯的高清分割掩码。
- 自然语言交互:运营人员直接输入“截取这款咖啡机在演示冲泡功能时的所有画面”,Sa2VA 即刻理解意图并返回对应的视频片段与蒙版。
- 少样本快速适配:凭借强大的基座能力,Sa2VA 仅需极少量的指令微调即可适应新商品,无需重新采集和标注海量训练数据。
Sa2VA 通过统一图像与视频的密集接地理解,将原本繁琐的多模态处理流程简化为一次自然语言对话,极大提升了视频内容生产的效率与精度。
运行环境要求
- Linux
- 必需
- 训练建议至少 8 张 NVIDIA A100 GPU
- 推理需支持 CUDA 的 NVIDIA GPU,显存需求取决于模型大小(1B-26B),大模型需高显存
未说明(建议 32GB+ 以运行大模型)

快速开始
Sa2VA:将SAM2与LLaVA结合,实现对图像和视频的密集接地理解
[🏠 Sa2VA] [📜 arXiv] [🤗 HuggingFace] [Gradio Demo (我们内部:Sa2VA-4B)] [Gradio Demo (由HuggingFace官方提供)] [🤖 Replicate Demo]
Haobo Yuan1* · Xiangtai Li2*† · Tao Zhang2,3* · Yueyi Sun4 · Zilong Huang2 · Shilin Xu4 ·Shunping Ji3 ·Yunhai Tong4 · Lu Qi3 · Jiashi Feng2 · Ming-Hsuan Yang1
1加州大学默塞德分校 2字节跳动Seed 3武汉大学 4北京大学
† 项目负责人 * 前三位作者对本工作贡献相等。

新闻
- 🚀 视觉推理追踪器(VRT) 已发布!
- 🏅 SaSaSa2VA 在ICCV 2025 LSVOS挑战赛RVOS赛道中荣获第一名!🎉🎉🎉
开源进展
- 发布Qwen3-VL相关模型。
- 发布InternVL-3-VL相关模型。
- 发布Qwen2.5-VL相关模型。
- 发布开源训练数据集。
- 发布Ref-SAM-v数据集。
- 发布各数据集的评估代码。
- 发布1B、4B、8B、26B模型。
- 发布1B、4B、8B模型的训练代码。
- 发布推理与测试代码。
- 发布演示代码。
概述
本仓库包含论文“Sa2VA:将SAM2与LLaVA结合,实现对图像和视频的密集接地理解”的代码。
Sa2VA是首个用于图像和视频密集接地理解的统一模型。与现有的多模态大型语言模型不同,后者往往局限于特定模态和任务,Sa2VA则支持广泛的图像和视频任务,包括指代分割和对话,且只需极少的一次性指令微调。Sa2VA将基础视频分割模型SAM-2与先进的视觉-语言模型LLaVA相结合,将文本、图像和视频统一到一个共享的LLM标记空间中。
模型库
我们提供以下模型:
| 模型名称 | 基础MLLM | 语言部分 | HF链接 |
|---|---|---|---|
| Sa2VA-1B | InternVL2.5-1B | Qwen2.5-0.5B-Instruct | 🤗 链接 |
| Sa2VA-4B | InternVL2.5-4B | Qwen2.5-3B-Instruct | 🤗 链接 |
| Sa2VA-8B | InternVL2.5-8B | internlm2_5-7b-chat | 🤗 链接 |
| Sa2VA-26B | InternVL2.5-26B | internlm2_5-20b-chat | 🤗 链接 |
| Sa2VA-InternVL3-2B | InternVL3-2B | Qwen2.5-1.5B | 🤗 链接 |
| Sa2VA-InternVL3-8B | InternVL3-8B | Qwen2.5-7B | 🤗 链接 |
| Sa2VA-InternVL3-14B | InternVL3-14B | Qwen2.5-14B | 🤗 链接 |
| Sa2VA-Qwen2_5-VL-3B | Qwen2.5-VL-3B-Instruct | Qwen2.5-3B | 🤗 链接 |
| Sa2VA-Qwen2_5-VL-7B | Qwen2.5-VL-7B-Instruct | Qwen2.5-7B | 🤗 链接 |
| Sa2VA-Qwen3-VL-2B | Qwen3-VL-2B-Instruct | Qwen3-1.7B | 🤗 链接 |
| Sa2VA-Qwen3-VL-4B | Qwen3-VL-4B-Instruct | Qwen3-4B | 🤗 链接 |
🤗 Gradio演示
我们提供了一个使用Gradio实现交互式聊天的脚本,需要安装gradio。你可以尝试快速搭建本地聊天界面。
PYTHONPATH=. python projects/sa2va/gradio/app.py ByteDance/Sa2VA-4B
环境
使用uv来管理依赖。运行uv sync即可安装所有内容,根据你的模型系列选择额外选项:
uv sync --extra=legacy适用于InternVL2.5或更早版本的模型(旧版Transformers)。uv sync --extra=latest适用于较新的模型(最新版Transformers)。
🚀 快速入门
我们的Sa2VA模型已在🤗HuggingFace上发布。只需几个步骤,你就可以用自己的数据进行试用。你可以安装demo/requirements.txt以避免安装仅用于训练的包。
选项1 - 脚本:
假设你有一个文件夹(PATH_TO_FOLDER),其中包含一段视频的图片,你可以使用以下脚本与Sa2VA模型进行对话或对视频中的物体进行分割。
python demo/demo.py PATH_TO_FOLDER --model_path ByteDance/Sa2VA-8B --work-dir OUTPUT_DIR --text "<image>请描述视频内容。"
如果输出包含分割结果,结果将被保存到OUTPUT_DIR。
选项2 - Jupter Notebook:
请参考demo.ipynb。
🎥 演示
演示 1
输入视频(来源:爱乐之城,2016年):
指令:“请分割穿着黄色裙子的女孩。”
演示 2
输入视频(来源:爱乐之城,2016年):
指令:“请分割主角。”
演示 3
输入视频(来源:互联网):
指令:“请分割戴太阳镜的人。”
演示 4
输入视频(来源:互联网):
指令:“请分割正在唱歌的女孩。”
演示 5
输入视频:
指令:“场景的氛围是什么?”
回答:“场景氛围阴暗而神秘,男士们身着西装打领带,房间光线昏暗。”
训练
安装
我们提供了两种安装方式。推荐使用 uv,因为它设置更快且更可靠。
选项 1:使用 uv(推荐)
首先,安装 uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
然后,创建虚拟环境并同步依赖项:
uv sync --extra=latest # 或 uv sync --extra=legacy 用于基于 InternVL2/2.5 的 Sa2VA
source .venv/bin/activate
选项 2:使用 conda 和 pip
已弃用。
预训练模型准备
您需要下载以下预训练模型,并将其放置在 ./pretrained 目录中:
其余模型可从 InternVL2.5 的 Hugging Face 集合 下载。
./ # 项目根目录
pretrained/
├── sam2_hiera_large.pt
├── InternVL2_5-1B
├── InternVL2_5-4B
数据准备
请下载训练数据集,并将其放置在 data 目录中。下载链接为 这里。
请直接将压缩文件放入 data 目录并解压。例如,您可以下载 video_datas_mevis.zip 并在 data 目录中解压:
unzip video_datas_mevis.zip
最终的数据结构应如下所示:
data/
├── video_datas
| ├── revos
| ├── mevis
| └── davis17
| └── chat_univi
| └── sam_v_full # [!重要] 请直接从 sam-2 下载。
| └── Ref-SAV.json
├── ref_seg
| ├── refclef
| ├── refcoco
| ├── refcoco+
| ├── refcocog
| ├──
├── glamm_data
| ├── images
| ├── annotations
├── osprey-724k
| ├── Osprey-724K
| ├── coco
├── llava_data
| ├── llava_images
| ├── LLaVA-Instruct-150K
| ├── LLaVA-Pretrain
重要提示:sam_v_full 是 SA-V 数据集,不在下载链接中。您可以从 Meta (这里) 下载。请遵守其许可协议。
训练脚本
请运行以下脚本以使用 8 张 GPU 进行训练,建议至少使用 8 张 A100 GPU:
bash tools/dist.sh train projects/sa2va/configs/sa2va_in30_8b.py 8
微调
我们提供了一个简单的示例,用于在图像引用分割任务上微调 Sa2VA。有关详细说明,请参阅我们的 微调指南。
示例数据集由 RefCOCO 中的几张图片构建而成。要使用您自己的数据进行微调,可以按照与我们示例 annotations.json 相同的格式组织数据。您可以从 Hugging Face 下载示例数据集。
对于其他类型的数据,您可能需要自定义数据加载器和配置。请参考 projects/sa2va/datasets/sa2va_data_finetune.py 和 projects/sa2va/configs/sa2va_finetune.py 获取指导。
将训练好的模型转换为 Hugging Face 格式
请运行以下脚本进行转换:
python tools/convert_to_hf.py projects/sa2va/configs/sa2va_in30_8b.py --pth-model PATH_TO_PTH_MODEL --save-path PATH_TO_SAVE_FOLDER
评估
您可以从 这里🤗 下载 Ref-SAV 评估集。
图像/视频引用分割评估
请采用以下脚本,使用 8 张 GPU 在视频目标分割基准上测试 Sa2VA。
您可以用以下命令一次性评估 Sa2VA 在所有分割基准上的表现:
python projects/sa2va/evaluation/run_all_evals.py /path/to/SA2VA/model --gpus 8
或者,您也可以单独评估 Sa2VA 在某个分割基准上(如 ReVOS):
./projects/llava_sam2/evaluation/dist_test.sh projects/llava_sam2/evaluation/ref_vos_eval.py path-to-hf-model 8 --work-dir path-to-output
图像/视频问答评估
我们使用 sa2va_eval(VLMEvalKit 的修改版本)来评估图像/视频聊天基准。
单 GPU 评估示例:
python run.py --data MMBench_DEV_EN MME SEEDBench_IMG --model Sa2VA-1B --verbose
多 GPU 评估示例:
torchrun --nproc-per-node=8 run.py --data MMBench_DEV_EN SEEDBench_IMG MMStar AI2D_TEST MMMU_DEV_VAL ScienceQA_TEST --model Sa2VA-4B Sa2VA-8B --verbose
参考文献
如果您觉得本仓库有用,请考虑引用以下论文:
@article{sa2va,
title={Sa2VA: 将 SAM2 与 LLaVA 结合,实现对图像和视频的密集接地理解},
author={Yuan, Haobo and Li, Xiangtai and Zhang, Tao and Sun, Yueyi and Huang, Zilong and Xu, Shilin and Ji, Shunping and Tong, Yunhai and Qi, Lu and Feng, Jiashi and Yang, Ming-Hsuan},
journal={arXiv 预印本},
year={2025}
}
版本历史
v22025/10/17v12025/10/16常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。