[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-bytedance--Sa2VA":3,"tool-bytedance--Sa2VA":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[14,35],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":109,"forks":110,"last_commit_at":111,"license":112,"difficulty_score":10,"env_os":113,"env_gpu":114,"env_ram":115,"env_deps":116,"category_tags":127,"github_topics":128,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":132,"updated_at":133,"faqs":134,"releases":170},4274,"bytedance\u002FSa2VA","Sa2VA","Official Repo For Pixel-LLM Codebase","Sa2VA 是一款开创性的开源多模态大模型，旨在实现对图像和视频的“密集接地理解”。它巧妙地将强大的视频分割基础模型 SAM2 与先进的视觉语言模型 LLaVA 相结合，首次构建了一个能统一处理文本、图像和视频的统一架构。\n\n传统多模态模型往往局限于特定任务或单一模态，而 Sa2VA 突破了这一瓶颈。它能通过极简的指令微调，同时胜任指代分割、视觉对话等复杂任务，不仅能回答关于画面的问题，还能精准定位并勾勒出视频中提到的具体物体轮廓，真正做到了“所指即所得”。\n\n该工具特别适合人工智能研究人员、开发者以及需要处理复杂视觉数据的专业团队使用。对于希望探索视频内容深度分析、构建智能交互应用或进行多模态算法研究的用户来说，Sa2VA 提供了从 1B 到 26B 多种参数量版本及完整的训练推理代码，极具研究与实用价值。\n\n其核心技术亮点在于将视觉感知能力无缝融入大语言模型的令牌空间，实现了对动态视频内容的细粒度语义解析。作为字节跳动种子团队等机构合作的成果，Sa2VA 不仅在学术上取得了 ICCV 挑战赛的优异成绩，更以开放的姿态推动了通用视觉理解技术的发展。","# Sa2VA: Marrying SAM2 with LLaVA for Dense Grounded Understanding of Images and Videos\n\n[\\[🏠 Sa2VA\\]](https:\u002F\u002Flxtgh.github.io\u002Fproject\u002Fsa2va)  [\\[📜 arXiv\\]](https:\u002F\u002Farxiv.org\u002Fabs\u002F2501.04001) [\\[🤗 HuggingFace\\]](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002FByteDance\u002Fsa2va-model-zoo-677e3084d71b5f108d00e093) [\\[Gradio Demo (Ours internal: Sa2VA-4B)\\]](https:\u002F\u002F5512470799b6b35fbc.gradio.live\u002F) [\\[Gradio Demo (By HuggingFace Offical)\\]](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Ffffiloni\u002FSa2VA-simple-demo) [\\[🤖 Replicate Demo\\]](https:\u002F\u002Freplicate.com\u002Fbytedance)\n\n\n[**Haobo Yuan**](https:\u002F\u002Fyuanhaobo.me\u002F)\u003Csup>1*\u003C\u002Fsup> · [**Xiangtai Li**](https:\u002F\u002Flxtgh.github.io\u002F)\u003Csup>2*&dagger;\u003C\u002Fsup> · [**Tao Zhang**](https:\u002F\u002Fzhang-tao-whu.github.io\u002F)\u003Csup>2,3*\u003C\u002Fsup> · [**Yueyi Sun**]()\u003Csup>4\u003C\u002Fsup> · [**Zilong Huang**](http:\u002F\u002Fspeedinghzl.github.io\u002F)\u003Csup>2\u003C\u002Fsup> · [**Shilin Xu**]()\u003Csup>4\u003C\u002Fsup> ·[**Shunping Ji**](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=FjoRmF4AAAAJ&hl=en)\u003Csup>3\u003C\u002Fsup> ·[**Yunhai Tong**](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=T4gqdPkAAAAJ&hl=zh-CN)\u003Csup>4\u003C\u002Fsup> · [**Lu Qi**](https:\u002F\u002Fluqi.info\u002F)\u003Csup>3\u003C\u002Fsup> · [**Jiashi Feng**](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=Q8iay0gAAAAJ&hl=en)\u003Csup>2\u003C\u002Fsup> · [**Ming-Hsuan Yang**](https:\u002F\u002Ffaculty.ucmerced.edu\u002Fmhyang\u002F)\u003Csup>1\u003C\u002Fsup>\n\n\u003Csup>1\u003C\u002Fsup>UC Merced&emsp;&emsp;&emsp;&emsp;\u003Csup>2\u003C\u002Fsup>ByteDance Seed&emsp;&emsp;&emsp;&emsp;\u003Csup>3\u003C\u002Fsup>WHU&emsp;&emsp;&emsp;&emsp;\u003Csup>4\u003C\u002Fsup>PKU\n\n&dagger; project lead&emsp;* the first three authors equally contribute to the work.\n\n![Teaser](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_afb8fca8e82f.jpg)\n\n## News\n- 🚀 [Visual Reasoning Tracer (VRT)](.\u002Fprojects\u002Fvrt_sa2va\u002FREADME.md) is released!\n- 🏅 [SaSaSa2VA](.\u002Fprojects\u002Fsasasa2va\u002FREADME.md) wins the 1st Place in ICCV 2025 LSVOS Challenge RVOS Track! 🎉🎉🎉\n\n## Opensource progress\n\n- [x] Release Qwen3-VL related models.\n- [x] Release InternVL-3-VL related models.\n- [x] Release Qwen2.5-VL related models.\n- [x] Release Open-sourced training datasets.\n- [x] Release Ref-SAM-v dataset.\n- [x] Release evaluation code for each dataset. \n- [x] Release 1B,4B,8B, 26B model.\n- [x] Release training code for 1b, 4b, 8b model.\n- [x] Release inference and test code.\n- [x] Release demo code. \n\n\n## Overview\n\nThis repository contains the code for the paper \"Sa2VA: Marrying SAM2 with LLaVA for Dense Grounded Understanding of Images and Videos\".\n\nSa2VA is the first unified model for the dense grounded understanding of both images and videos. Unlike existing multi-modal large language models, which are often limited to specific modalities and tasks, Sa2VA supports a wide range of image and video tasks, including referring segmentation and conversation, with minimal one-shot instruction tuning. Sa2VA combines SAM-2, a foundation video segmentation model, with LLaVA, an advanced vision-language model, and unifies text, image, and video into a shared LLM token space.\n\n\n## Model Zoo\n\nWe provide the following models:\n| Model Name |                             Base MLLM                             |                                 Language Part                                 |                       HF Link                        |\n|:----------:|:-----------------------------------------------------------------:|:-----------------------------------------------------------------------------:|:----------------------------------------------------:|\n|  Sa2VA-1B  | [InternVL2.5-1B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL2_5-1B) |   [Qwen2.5-0.5B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-0.5B-Instruct)    | [🤗 link](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-1B) |\n|  Sa2VA-4B  | [InternVL2.5-4B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL2_5-4B) |    [Qwen2.5-3B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-3B-Instruct)     | [🤗 link](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-4B) |\n|  Sa2VA-8B  | [InternVL2.5-8B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL2_5-8B) |  [internlm2_5-7b-chat](https:\u002F\u002Fhuggingface.co\u002Finternlm\u002Finternlm2_5-7b-chat)   | [🤗 link](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-8B) |\n|  Sa2VA-26B | [InternVL2.5-26B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL2_5-26B) |  [internlm2_5-20b-chat](https:\u002F\u002Fhuggingface.co\u002Finternlm\u002Finternlm2_5-20b-chat)   | [🤗 link](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-26B) |\n|  Sa2VA-InternVL3-2B\t | [InternVL3-2B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL3-2B) |  [Qwen2.5-1.5B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-1.5B)   | [🤗 link](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-InternVL3-2B) |\n|  Sa2VA-InternVL3-8B\t | [InternVL3-8B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL3-8B) |  [Qwen2.5-7B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-7B)   | [🤗 link](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-InternVL3-8B) |\n|  Sa2VA-InternVL3-14B\t | [InternVL3-14B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL3-14B) |  [Qwen2.5-14B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-14B)   | [🤗 link](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-InternVL3-14B) |\n|  Sa2VA-Qwen2_5-VL-3B\t | [Qwen2.5-VL-3B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-VL-3B-Instruct) |  [Qwen2.5-3B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-3B)   | [🤗 link](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-Qwen2_5-VL-3B) |\n|  Sa2VA-Qwen2_5-VL-7B\t | [Qwen2.5-VL-7B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-VL-7B-Instruct) |  [Qwen2.5-7B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-7B)   | [🤗 link](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-Qwen2_5-VL-7B) |\n|  Sa2VA-Qwen3-VL-2B\t | [Qwen3-VL-2B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-VL-2B-Instruct) |  [Qwen3-1.7B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-1.7B)   | [🤗 link](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-Qwen3-VL-2B) |\n|  Sa2VA-Qwen3-VL-4B\t | [Qwen3-VL-4B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-VL-4B-Instruct) |  [Qwen3-4B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-4B)   | [🤗 link](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-Qwen3-VL-4B) |\n\n## 🤗 Gradio Demos\n\nWe provide a script that implements interactive chat using gradio, which requires installing `gradio`. You can try it to build a local chat interface quickly.\n```shell\nPYTHONPATH=. python projects\u002Fsa2va\u002Fgradio\u002Fapp.py ByteDance\u002FSa2VA-4B\n```\n\n\n\n## Environment\n\nUse `uv` to manage dependencies. Run `uv sync` to install everything, choosing the extra based on your model family:\n- `uv sync --extra=legacy` for InternVL2.5 or earlier models (legacy Transformers).\n- `uv sync --extra=latest` for newer models (latest Transformers).\n\n\n## 🚀 Quick Start\n\nOur Sa2VA model is available on 🤗HuggingFace. With very few steps, you can try it with your own data. You can install the `demo\u002Frequirements.txt` to avoid training-only packages.\n\n\n**Option1 - scripts:**\n\nSupposing you have a folder (`PATH_TO_FOLDER`) that contains images of a video, you can use the following script to chat with the Sa2VA model or segment the objects in the videos.\n\n```bash\npython demo\u002Fdemo.py PATH_TO_FOLDER --model_path ByteDance\u002FSa2VA-8B --work-dir OUTPUT_DIR --text \"\u003Cimage>Please describe the video content.\"\n```\n\nIf the output contains the segmentation results, the results will be saved to `OUTPUT_DIR`.\n\n**Option2 - Jupter Notebook:**\n\nPlease refer to `demo.ipynb`.\n\n## 🎥 Demo\n\n\u003Cdetails open>\n\u003Csummary>Demo 1\u003C\u002Fsummary>\nInput Video (Source: La La Land 2016):\n\n![Error](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_952ae344891c.gif)\n\nInstruction: \"Please segment the girl wearing the yellow dress.\"\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>Demo 2\u003C\u002Fsummary>\nInput Video (Source: La La Land 2016):\n\n![Error](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_c2b4ae403c2f.gif)\n\nInstruction: \"Please segment the main character.\"\n\u003C\u002Fdetails>\n\n\n\u003Cdetails open>\n\u003Csummary>Demo 3\u003C\u002Fsummary>\nInput Video (Source: Internet):\n\n![Error](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_523887e59c9a.gif)\n\nInstruction: \"Please segment the person wearing sun glasses.\"\n\u003C\u002Fdetails>\n\n\n\u003Cdetails open>\n\u003Csummary>Demo 4\u003C\u002Fsummary>\nInput Video (Source: Internet):\n\n![Error](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_637f0e621e62.gif)\n\nInstruction: \"Instruction: \"Please segment the singing girl.\"\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>Demo 5\u003C\u002Fsummary>\nInput Video:\n\n![Error](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_435546418784.gif)\n\nInstruction: \"What is the atmosphere of the scene?\"\n\nAnswer: \"The scene has a dark and mysterious atmosphere, with the men dressed in suits and ties, and the dimly lit room.\"\n\u003C\u002Fdetails>\n\n\n## Training\n\u003Cdetails open>\n\u003Csummary>Installation\u003C\u002Fsummary>\n\nWe provide two ways for installation. Using `uv` is recommended for a faster and more reliable setup.\n\n**Option 1: Using `uv` (Recommended)**\n\nFirst, install `uv`:\n```bash\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n```\nThen, create a virtual environment and sync the dependencies:\n```bash\nuv sync --extra=latest # or uv sync --extra=legacy for Sa2VA based on InternVL2\u002F2.5\nsource .venv\u002Fbin\u002Factivate\n```\n\n**Option 2: Using `conda` and `pip`**\n\nDeprecated.\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>Pretrained Model Preparation\u003C\u002Fsummary>\n\nYou are expected to download the following pretrained models and place them in the `.\u002Fpretrained` directory:\n- [sam2_hiera_large.pt](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fsam2-hiera-large)\n- [InternVL2_5-4B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL2_5-4B)\n\nYou can download the remaining models from InternVL2.5 [huggingface collections](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002FOpenGVLab\u002Finternvl25-673e1019b66e2218f68d7c1c). \n\n```\n.\u002F # project root\npretrained\u002F\n├── sam2_hiera_large.pt\n├── InternVL2_5-1B\n├── InternVL2_5-4B\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>Data Preparation\u003C\u002Fsummary>\n\nPlease download the training datasets and place them in the `data` directory. The download link is [here](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FDense-World\u002FSa2VA-Training).\n\nPlease directly put the zip files into the `data` directory and unzip them. For example, you can download the `video_datas_mevis.zip` and unzip it in the `data` directory like:\n```bash\nunzip video_datas_mevis.zip\n```\n\nThe final data structure should be like:\n```\ndata\u002F\n├── video_datas\n|   ├── revos\n|   ├── mevis\n|   └── davis17\n|   └── chat_univi\n|   └── sam_v_full # [!important] please download this from sam-2 directly.\n|   └── Ref-SAV.json\n├── ref_seg\n|   ├── refclef\n|   ├── refcoco\n|   ├── refcoco+\n|   ├── refcocog\n|   ├── \n├── glamm_data\n|   ├── images\n|   ├── annotations\n├── osprey-724k\n|   ├── Osprey-724K\n|   ├── coco\n├── llava_data\n|   ├── llava_images\n|   ├── LLaVA-Instruct-150K\n|   ├── LLaVA-Pretrain\n\n```\n**Important**: `sam_v_full` is the SA-V dataset, which is not included in the download link. You can download it from **Meta** ([here](https:\u002F\u002Fai.meta.com\u002Fdatasets\u002Fsegment-anything-video\u002F)). Please follow their license.\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>Training Script\u003C\u002Fsummary>\n\nPlease run the following script to train using 8 GPUS, we suggest using at least 8 A100 GPUs:\n```bash\nbash tools\u002Fdist.sh train projects\u002Fsa2va\u002Fconfigs\u002Fsa2va_in30_8b.py 8\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>Fine-tuning\u003C\u002Fsummary>\n\nWe provide a simple example for fine-tuning Sa2VA on an image referring segmentation task. For detailed instructions, please refer to our [fine-tuning guide](.\u002Fdocs\u002Ffinetune.md).\n\nThe example dataset is constructed from a few images from RefCOCO. To fine-tune on your own data, you can organize it in the same format as our example `annotations.json`. You can download the example dataset from [Hugging Face](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fbitersun\u002FSa2VA-finetune-example).\n\nFor other types of data, you may need to customize the dataloader and configuration. Please refer to `projects\u002Fsa2va\u002Fdatasets\u002Fsa2va_data_finetune.py` and `projects\u002Fsa2va\u002Fconfigs\u002Fsa2va_finetune.py` for guidance.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>Convert trained model to huggingface format\u003C\u002Fsummary>\n\nPlease run the following script to convert:\n```bash\npython tools\u002Fconvert_to_hf.py projects\u002Fsa2va\u002Fconfigs\u002Fsa2va_in30_8b.py --pth-model PATH_TO_PTH_MODEL --save-path PATH_TO_SAVE_FOLDER\n```\n\u003C\u002Fdetails>\n\n## Evaluation\n\nYou can download Ref-SAV eval set [here🤗](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FDense-World\u002FSa2VA-Eval).\n\n\u003Cdetails open>\n\u003Csummary>Image\u002FVideo Referring Segmentation Evaluation\u003C\u002Fsummary>\n\nPlease adopt the following script to test Sa2VA on video object segmentation benchmarks using 8 GPUS.\n\nYou can use the following command to evaluate Sa2VA on all segmentation benchmarks at once:\n```bash\npython projects\u002Fsa2va\u002Fevaluation\u002Frun_all_evals.py \u002Fpath\u002Fto\u002FSA2VA\u002Fmodel --gpus 8\n```\nor you can evaluate Sa2VA on single segmentation benchmark(such as ReVOS):\n```bash\n.\u002Fprojects\u002Fllava_sam2\u002Fevaluation\u002Fdist_test.sh projects\u002Fllava_sam2\u002Fevaluation\u002Fref_vos_eval.py path-to-hf-model 8 --work-dir path-to-output\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>Image\u002FVideo QA Evaluation\u003C\u002Fsummary>\n\nWe use [sa2va_eval](https:\u002F\u002Fgithub.com\u002Fzhang-tao-whu\u002Fsa2va_eval) (a modified version of [VLMEvalKit](https:\u002F\u002Fgithub.com\u002Fopen-compass\u002FVLMEvalKit)) for Image\u002FVideo Chat benchmark evaluation.\n\n**Single-GPU Evaluation Example:**\n```bash\npython run.py --data MMBench_DEV_EN MME SEEDBench_IMG --model Sa2VA-1B --verbose\n```\n\n**Multi-GPU Evaluation Example:**\n```bash\ntorchrun --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\n```\n\u003C\u002Fdetails>\n\n\n\n\n\n## References\nIf you find this repository useful, please consider referring to the following paper:\n```\n@article{sa2va,\n  title={Sa2VA: Marrying SAM2 with LLaVA for Dense Grounded Understanding of Images and Videos},\n  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},\n  journal={arXiv pre-print},\n  year={2025}\n}\n```\n","# Sa2VA：将SAM2与LLaVA结合，实现对图像和视频的密集接地理解\n\n[\\[🏠 Sa2VA\\]](https:\u002F\u002Flxtgh.github.io\u002Fproject\u002Fsa2va)  [\\[📜 arXiv\\]](https:\u002F\u002Farxiv.org\u002Fabs\u002F2501.04001) [\\[🤗 HuggingFace\\]](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002FByteDance\u002Fsa2va-model-zoo-677e3084d71b5f108d00e093) [\\[Gradio Demo (我们内部：Sa2VA-4B)\\]](https:\u002F\u002F5512470799b6b35fbc.gradio.live\u002F) [\\[Gradio Demo (由HuggingFace官方提供)\\]](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Ffffiloni\u002FSa2VA-simple-demo) [\\[🤖 Replicate Demo\\]](https:\u002F\u002Freplicate.com\u002Fbytedance)\n\n\n[**Haobo Yuan**](https:\u002F\u002Fyuanhaobo.me\u002F)\u003Csup>1*\u003C\u002Fsup> · [**Xiangtai Li**](https:\u002F\u002Flxtgh.github.io\u002F)\u003Csup>2*&dagger;\u003C\u002Fsup> · [**Tao Zhang**](https:\u002F\u002Fzhang-tao-whu.github.io\u002F)\u003Csup>2,3*\u003C\u002Fsup> · [**Yueyi Sun**]()\u003Csup>4\u003C\u002Fsup> · [**Zilong Huang**](http:\u002F\u002Fspeedinghzl.github.io\u002F)\u003Csup>2\u003C\u002Fsup> · [**Shilin Xu**]()\u003Csup>4\u003C\u002Fsup> ·[**Shunping Ji**](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=FjoRmF4AAAAJ&hl=en)\u003Csup>3\u003C\u002Fsup> ·[**Yunhai Tong**](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=T4gqdPkAAAAJ&hl=zh-CN)\u003Csup>4\u003C\u002Fsup> · [**Lu Qi**](https:\u002F\u002Fluqi.info\u002F)\u003Csup>3\u003C\u002Fsup> · [**Jiashi Feng**](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=Q8iay0gAAAAJ&hl=en)\u003Csup>2\u003C\u002Fsup> · [**Ming-Hsuan Yang**](https:\u002F\u002Ffaculty.ucmerced.edu\u002Fmhyang\u002F)\u003Csup>1\u003C\u002Fsup>\n\n\u003Csup>1\u003C\u002Fsup>加州大学默塞德分校&emsp;&emsp;&emsp;&emsp;\u003Csup>2\u003C\u002Fsup>字节跳动Seed&emsp;&emsp;&emsp;&emsp;\u003Csup>3\u003C\u002Fsup>武汉大学&emsp;&emsp;&emsp;&emsp;\u003Csup>4\u003C\u002Fsup>北京大学\n\n&dagger; 项目负责人&emsp;* 前三位作者对本工作贡献相等。\n\n![预告图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_afb8fca8e82f.jpg)\n\n## 新闻\n- 🚀 [视觉推理追踪器（VRT）](.\u002Fprojects\u002Fvrt_sa2va\u002FREADME.md) 已发布！\n- 🏅 [SaSaSa2VA](.\u002Fprojects\u002Fsasasa2va\u002FREADME.md) 在ICCV 2025 LSVOS挑战赛RVOS赛道中荣获第一名！🎉🎉🎉\n\n## 开源进展\n\n- [x] 发布Qwen3-VL相关模型。\n- [x] 发布InternVL-3-VL相关模型。\n- [x] 发布Qwen2.5-VL相关模型。\n- [x] 发布开源训练数据集。\n- [x] 发布Ref-SAM-v数据集。\n- [x] 发布各数据集的评估代码。\n- [x] 发布1B、4B、8B、26B模型。\n- [x] 发布1B、4B、8B模型的训练代码。\n- [x] 发布推理与测试代码。\n- [x] 发布演示代码。\n\n\n## 概述\n\n本仓库包含论文“Sa2VA：将SAM2与LLaVA结合，实现对图像和视频的密集接地理解”的代码。\n\nSa2VA是首个用于图像和视频密集接地理解的统一模型。与现有的多模态大型语言模型不同，后者往往局限于特定模态和任务，Sa2VA则支持广泛的图像和视频任务，包括指代分割和对话，且只需极少的一次性指令微调。Sa2VA将基础视频分割模型SAM-2与先进的视觉-语言模型LLaVA相结合，将文本、图像和视频统一到一个共享的LLM标记空间中。\n\n\n## 模型库\n\n我们提供以下模型：\n| 模型名称 |                             基础MLLM                             |                                 语言部分                                 |                       HF链接                        |\n|:----------:|:-----------------------------------------------------------------:|:-----------------------------------------------------------------------------:|:----------------------------------------------------:|\n|  Sa2VA-1B  | [InternVL2.5-1B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL2_5-1B) |   [Qwen2.5-0.5B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-0.5B-Instruct)    | [🤗 链接](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-1B) |\n|  Sa2VA-4B  | [InternVL2.5-4B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL2_5-4B) |    [Qwen2.5-3B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-3B-Instruct)     | [🤗 链接](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-4B) |\n|  Sa2VA-8B  | [InternVL2.5-8B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL2_5-8B) |  [internlm2_5-7b-chat](https:\u002F\u002Fhuggingface.co\u002Finternlm\u002Finternlm2_5-7b-chat)   | [🤗 链接](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-8B) |\n|  Sa2VA-26B | [InternVL2.5-26B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL2_5-26B) |  [internlm2_5-20b-chat](https:\u002F\u002Fhuggingface.co\u002Finternlm\u002Finternlm2_5-20b-chat)   | [🤗 链接](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-26B) |\n|  Sa2VA-InternVL3-2B\t | [InternVL3-2B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL3-2B) |  [Qwen2.5-1.5B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-1.5B)   | [🤗 链接](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-InternVL3-2B) |\n|  Sa2VA-InternVL3-8B\t | [InternVL3-8B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL3-8B) |  [Qwen2.5-7B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-7B)   | [🤗 链接](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-InternVL3-8B) |\n|  Sa2VA-InternVL3-14B\t | [InternVL3-14B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL3-14B) |  [Qwen2.5-14B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-14B)   | [🤗 链接](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-InternVL3-14B) |\n|  Sa2VA-Qwen2_5-VL-3B\t | [Qwen2.5-VL-3B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-VL-3B-Instruct) |  [Qwen2.5-3B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-3B)   | [🤗 链接](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-Qwen2_5-VL-3B) |\n|  Sa2VA-Qwen2_5-VL-7B\t | [Qwen2.5-VL-7B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-VL-7B-Instruct) |  [Qwen2.5-7B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen2.5-7B)   | [🤗 链接](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-Qwen2_5-VL-7B) |\n|  Sa2VA-Qwen3-VL-2B\t | [Qwen3-VL-2B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-VL-2B-Instruct) |  [Qwen3-1.7B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-1.7B)   | [🤗 链接](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-Qwen3-VL-2B) |\n|  Sa2VA-Qwen3-VL-4B\t | [Qwen3-VL-4B-Instruct](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-VL-4B-Instruct) |  [Qwen3-4B](https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-4B)   | [🤗 链接](https:\u002F\u002Fhuggingface.co\u002FByteDance\u002FSa2VA-Qwen3-VL-4B) |\n\n## 🤗 Gradio演示\n\n我们提供了一个使用Gradio实现交互式聊天的脚本，需要安装`gradio`。你可以尝试快速搭建本地聊天界面。\n```shell\nPYTHONPATH=. python projects\u002Fsa2va\u002Fgradio\u002Fapp.py ByteDance\u002FSa2VA-4B\n```\n\n\n\n## 环境\n\n使用`uv`来管理依赖。运行`uv sync`即可安装所有内容，根据你的模型系列选择额外选项：\n- `uv sync --extra=legacy` 适用于InternVL2.5或更早版本的模型（旧版Transformers）。\n- `uv sync --extra=latest` 适用于较新的模型（最新版Transformers）。\n\n\n## 🚀 快速入门\n\n我们的Sa2VA模型已在🤗HuggingFace上发布。只需几个步骤，你就可以用自己的数据进行试用。你可以安装`demo\u002Frequirements.txt`以避免安装仅用于训练的包。\n\n\n**选项1 - 脚本：**\n\n假设你有一个文件夹（`PATH_TO_FOLDER`），其中包含一段视频的图片，你可以使用以下脚本与Sa2VA模型进行对话或对视频中的物体进行分割。\n\n```bash\npython demo\u002Fdemo.py PATH_TO_FOLDER --model_path ByteDance\u002FSa2VA-8B --work-dir OUTPUT_DIR --text \"\u003Cimage>请描述视频内容。\"\n```\n\n如果输出包含分割结果，结果将被保存到`OUTPUT_DIR`。\n\n**选项2 - Jupter Notebook：**\n\n请参考`demo.ipynb`。\n\n## 🎥 演示\n\n\u003Cdetails open>\n\u003Csummary>演示 1\u003C\u002Fsummary>\n输入视频（来源：爱乐之城，2016年）：\n\n![Error](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_952ae344891c.gif)\n\n指令：“请分割穿着黄色裙子的女孩。”\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>演示 2\u003C\u002Fsummary>\n输入视频（来源：爱乐之城，2016年）：\n\n![Error](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_c2b4ae403c2f.gif)\n\n指令：“请分割主角。”\n\u003C\u002Fdetails>\n\n\n\u003Cdetails open>\n\u003Csummary>演示 3\u003C\u002Fsummary>\n输入视频（来源：互联网）：\n\n![Error](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_523887e59c9a.gif)\n\n指令：“请分割戴太阳镜的人。”\n\u003C\u002Fdetails>\n\n\n\u003Cdetails open>\n\u003Csummary>演示 4\u003C\u002Fsummary>\n输入视频（来源：互联网）：\n\n![Error](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_637f0e621e62.gif)\n\n指令：“请分割正在唱歌的女孩。”\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>演示 5\u003C\u002Fsummary>\n输入视频：\n\n![Error](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_readme_435546418784.gif)\n\n指令：“场景的氛围是什么？”\n\n回答：“场景氛围阴暗而神秘，男士们身着西装打领带，房间光线昏暗。”\n\u003C\u002Fdetails>\n\n\n## 训练\n\u003Cdetails open>\n\u003Csummary>安装\u003C\u002Fsummary>\n\n我们提供了两种安装方式。推荐使用 `uv`，因为它设置更快且更可靠。\n\n**选项 1：使用 `uv`（推荐）**\n\n首先，安装 `uv`：\n```bash\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n```\n然后，创建虚拟环境并同步依赖项：\n```bash\nuv sync --extra=latest # 或 uv sync --extra=legacy 用于基于 InternVL2\u002F2.5 的 Sa2VA\nsource .venv\u002Fbin\u002Factivate\n```\n\n**选项 2：使用 `conda` 和 `pip`**\n\n已弃用。\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>预训练模型准备\u003C\u002Fsummary>\n\n您需要下载以下预训练模型，并将其放置在 `.\u002Fpretrained` 目录中：\n- [sam2_hiera_large.pt](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fsam2-hiera-large)\n- [InternVL2_5-4B](https:\u002F\u002Fhuggingface.co\u002FOpenGVLab\u002FInternVL2_5-4B)\n\n其余模型可从 InternVL2.5 的 [Hugging Face 集合](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002FOpenGVLab\u002Finternvl25-673e1019b66e2218f68d7c1c) 下载。\n\n```\n.\u002F # 项目根目录\npretrained\u002F\n├── sam2_hiera_large.pt\n├── InternVL2_5-1B\n├── InternVL2_5-4B\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>数据准备\u003C\u002Fsummary>\n\n请下载训练数据集，并将其放置在 `data` 目录中。下载链接为 [这里](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FDense-World\u002FSa2VA-Training)。\n\n请直接将压缩文件放入 `data` 目录并解压。例如，您可以下载 `video_datas_mevis.zip` 并在 `data` 目录中解压：\n```bash\nunzip video_datas_mevis.zip\n```\n\n最终的数据结构应如下所示：\n```\ndata\u002F\n├── video_datas\n|   ├── revos\n|   ├── mevis\n|   └── davis17\n|   └── chat_univi\n|   └── sam_v_full # [!重要] 请直接从 sam-2 下载。\n|   └── Ref-SAV.json\n├── ref_seg\n|   ├── refclef\n|   ├── refcoco\n|   ├── refcoco+\n|   ├── refcocog\n|   ├── \n├── glamm_data\n|   ├── images\n|   ├── annotations\n├── osprey-724k\n|   ├── Osprey-724K\n|   ├── coco\n├── llava_data\n|   ├── llava_images\n|   ├── LLaVA-Instruct-150K\n|   ├── LLaVA-Pretrain\n\n```\n**重要提示**：`sam_v_full` 是 SA-V 数据集，不在下载链接中。您可以从 **Meta** ([这里](https:\u002F\u002Fai.meta.com\u002Fdatasets\u002Fsegment-anything-video\u002F)) 下载。请遵守其许可协议。\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>训练脚本\u003C\u002Fsummary>\n\n请运行以下脚本以使用 8 张 GPU 进行训练，建议至少使用 8 张 A100 GPU：\n```bash\nbash tools\u002Fdist.sh train projects\u002Fsa2va\u002Fconfigs\u002Fsa2va_in30_8b.py 8\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>微调\u003C\u002Fsummary>\n\n我们提供了一个简单的示例，用于在图像引用分割任务上微调 Sa2VA。有关详细说明，请参阅我们的 [微调指南](.\u002Fdocs\u002Ffinetune.md)。\n\n示例数据集由 RefCOCO 中的几张图片构建而成。要使用您自己的数据进行微调，可以按照与我们示例 `annotations.json` 相同的格式组织数据。您可以从 [Hugging Face](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fbitersun\u002FSa2VA-finetune-example) 下载示例数据集。\n\n对于其他类型的数据，您可能需要自定义数据加载器和配置。请参考 `projects\u002Fsa2va\u002Fdatasets\u002Fsa2va_data_finetune.py` 和 `projects\u002Fsa2va\u002Fconfigs\u002Fsa2va_finetune.py` 获取指导。\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>将训练好的模型转换为 Hugging Face 格式\u003C\u002Fsummary>\n\n请运行以下脚本进行转换：\n```bash\npython tools\u002Fconvert_to_hf.py projects\u002Fsa2va\u002Fconfigs\u002Fsa2va_in30_8b.py --pth-model PATH_TO_PTH_MODEL --save-path PATH_TO_SAVE_FOLDER\n```\n\u003C\u002Fdetails>\n\n## 评估\n\n您可以从 [这里🤗](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FDense-World\u002FSa2VA-Eval) 下载 Ref-SAV 评估集。\n\n\u003Cdetails open>\n\u003Csummary>图像\u002F视频引用分割评估\u003C\u002Fsummary>\n\n请采用以下脚本，使用 8 张 GPU 在视频目标分割基准上测试 Sa2VA。\n\n您可以用以下命令一次性评估 Sa2VA 在所有分割基准上的表现：\n```bash\npython projects\u002Fsa2va\u002Fevaluation\u002Frun_all_evals.py \u002Fpath\u002Fto\u002FSA2VA\u002Fmodel --gpus 8\n```\n或者，您也可以单独评估 Sa2VA 在某个分割基准上（如 ReVOS）：\n```bash\n.\u002Fprojects\u002Fllava_sam2\u002Fevaluation\u002Fdist_test.sh projects\u002Fllava_sam2\u002Fevaluation\u002Fref_vos_eval.py path-to-hf-model 8 --work-dir path-to-output\n```\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>图像\u002F视频问答评估\u003C\u002Fsummary>\n\n我们使用 [sa2va_eval](https:\u002F\u002Fgithub.com\u002Fzhang-tao-whu\u002Fsa2va_eval)（[VLMEvalKit](https:\u002F\u002Fgithub.com\u002Fopen-compass\u002FVLMEvalKit) 的修改版本）来评估图像\u002F视频聊天基准。\n\n**单 GPU 评估示例：**\n```bash\npython run.py --data MMBench_DEV_EN MME SEEDBench_IMG --model Sa2VA-1B --verbose\n```\n\n**多 GPU 评估示例：**\n```bash\ntorchrun --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\n```\n\u003C\u002Fdetails>\n\n\n\n\n\n## 参考文献\n如果您觉得本仓库有用，请考虑引用以下论文：\n```\n@article{sa2va,\n  title={Sa2VA: 将 SAM2 与 LLaVA 结合，实现对图像和视频的密集接地理解},\n  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},\n  journal={arXiv 预印本},\n  year={2025}\n}\n```","# Sa2VA 快速上手指南\n\nSa2VA 是首个统一图像和视频密集接地理解（Dense Grounded Understanding）的模型。它结合了 SAM-2（视频分割基础模型）与 LLaVA（先进视觉语言模型），支持指代分割、多轮对话等多种任务。\n\n## 1. 环境准备\n\n### 系统要求\n- **GPU**: 推理建议至少 16GB 显存（如 RTX 3090\u002F4090 或 A10\u002FA100）。训练建议至少 8 张 A100 GPU。\n- **Python**: 推荐 Python 3.10+\n- **包管理工具**: 强烈推荐使用 `uv` 进行依赖管理（比 pip\u002Fconda 更快更稳定）。\n\n### 前置依赖\n确保已安装 Git 和 CUDA 驱动。\n\n## 2. 安装步骤\n\n### 第一步：安装 uv\n```bash\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n```\n\n### 第二步：克隆代码并同步依赖\n根据你要使用的模型版本选择对应的依赖环境：\n\n**方案 A：使用新版模型（推荐，基于 InternVL3 或 Qwen2.5-VL\u002FQwen3-VL）**\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FByteDance\u002FSa2VA.git\ncd Sa2VA\nuv sync --extra=latest\nsource .venv\u002Fbin\u002Factivate\n```\n\n**方案 B：使用旧版模型（基于 InternVL2.5）**\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FByteDance\u002FSa2VA.git\ncd Sa2VA\nuv sync --extra=legacy\nsource .venv\u002Fbin\u002Factivate\n```\n\n> **注意**：如果下载速度慢，可尝试配置国内镜像源（如清华源）加速 `uv` 或后续 HuggingFace 模型的下载。\n\n## 3. 基本使用\n\n### 方式一：命令行脚本推理（推荐）\n\n假设你有一个包含视频帧图像的文件夹 `PATH_TO_FOLDER`，可以使用以下命令与模型交互或进行视频物体分割。\n\n**示例：描述视频内容**\n```bash\npython demo\u002Fdemo.py PATH_TO_FOLDER --model_path ByteDance\u002FSa2VA-8B --work-dir OUTPUT_DIR --text \"\u003Cimage>Please describe the video content.\"\n```\n\n**示例：指代分割（Segmentation）**\n如果提示词中包含分割指令（如 \"segment the girl...\"），结果掩码将自动保存至 `OUTPUT_DIR`。\n```bash\npython demo\u002Fdemo.py PATH_TO_FOLDER --model_path ByteDance\u002FSa2VA-8B --work-dir OUTPUT_DIR --text \"\u003Cimage>Please segment the girl wearing the yellow dress.\"\n```\n\n*参数说明：*\n- `PATH_TO_FOLDER`: 存放视频拆解后的图片文件夹路径。\n- `--model_path`: 模型名称（如 `ByteDance\u002FSa2VA-4B`, `ByteDance\u002FSa2VA-8B` 等），首次运行会自动从 HuggingFace 下载。\n- `--work-dir`: 输出结果保存目录。\n\n### 方式二：Gradio 本地演示界面\n\n如果你想构建一个本地的聊天交互界面，可以运行以下命令：\n\n```bash\nPYTHONPATH=. python projects\u002Fsa2va\u002Fgradio\u002Fapp.py ByteDance\u002FSa2VA-4B\n```\n运行后在浏览器访问显示的本地地址即可体验。\n\n### 方式三：Jupyter Notebook\n\n项目根目录下提供了 `demo.ipynb`，适合开发者在 Notebook 环境中逐步调试和测试代码逻辑。\n\n---\n**模型选择参考**：\n- **Sa2VA-4B**: 平衡速度与性能，适合大多数消费级显卡。\n- **Sa2VA-8B\u002F26B**: 性能更强，适合高精度任务或多卡环境。\n- **Qwen3-VL 系列**: 基于最新 Qwen3 架构，语言能力更强。","某电商直播运营团队需要快速从长达数小时的带货回放视频中，精准提取特定商品的出现片段并生成带时间戳的营销素材。\n\n### 没有 Sa2VA 时\n- **流程割裂严重**：需先使用传统目标检测模型定位商品，再单独调用分割模型勾勒轮廓，最后接入语言模型生成描述，三个系统难以协同。\n- **视频理解能力弱**：现有工具多针对静态图片优化，处理视频时无法有效追踪商品在复杂运动中的连续掩码，导致分割结果闪烁或丢失。\n- **交互门槛高**：运营人员无法直接用自然语言（如“把红色连衣裙在模特转身时的片段切出来”）下达指令，必须依赖技术人员编写代码或调整参数。\n- **标注成本高昂**：为了训练专用模型，需要人工逐帧标注大量视频数据，耗时耗力且难以覆盖所有商品品类。\n\n### 使用 Sa2VA 后\n- **端到端统一处理**：Sa2VA 将 SAM2 的视频分割能力与 LLaVA 的语言理解融合，单模型即可同时完成商品定位、像素级分割及文案生成。\n- ** dense 视频追踪**：得益于 SAM2 基底，Sa2VA 能精准锁定视频中移动、遮挡或形变的商品，输出稳定且连贯的高清分割掩码。\n- **自然语言交互**：运营人员直接输入“截取这款咖啡机在演示冲泡功能时的所有画面”，Sa2VA 即刻理解意图并返回对应的视频片段与蒙版。\n- **少样本快速适配**：凭借强大的基座能力，Sa2VA 仅需极少量的指令微调即可适应新商品，无需重新采集和标注海量训练数据。\n\nSa2VA 通过统一图像与视频的密集接地理解，将原本繁琐的多模态处理流程简化为一次自然语言对话，极大提升了视频内容生产的效率与精度。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbytedance_Sa2VA_afb8fca8.jpg","bytedance","Bytedance Inc.","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fbytedance_7fee2b15.png","",null,"ByteDanceOSS","https:\u002F\u002Fopensource.bytedance.com","https:\u002F\u002Fgithub.com\u002Fbytedance",[81,85,89,93,96,100,103,106],{"name":82,"color":83,"percentage":84},"Python","#3572A5",94.7,{"name":86,"color":87,"percentage":88},"Jupyter Notebook","#DA5B0B",5,{"name":90,"color":91,"percentage":92},"Cuda","#3A4E3A",0.1,{"name":94,"color":95,"percentage":92},"Shell","#89e051",{"name":97,"color":98,"percentage":99},"CSS","#663399",0,{"name":101,"color":102,"percentage":99},"Makefile","#427819",{"name":104,"color":105,"percentage":99},"HTML","#e34c26",{"name":107,"color":108,"percentage":99},"JavaScript","#f1e05a",1576,115,"2026-04-03T11:41:38","Apache-2.0","Linux","必需。训练建议至少 8 张 NVIDIA A100 GPU；推理需支持 CUDA 的 NVIDIA GPU，显存需求取决于模型大小（1B-26B），大模型需高显存。","未说明（建议 32GB+ 以运行大模型）",{"notes":117,"python":118,"dependencies":119},"1. 推荐使用 'uv' 工具管理依赖（命令：uv sync --extra=latest 或 legacy）；2. 需手动下载 SAM2 (sam2_hiera_large.pt) 和 InternVL\u002FQwen 等预训练模型至 .\u002Fpretrained 目录；3. 训练数据集需单独下载并解压，其中 SA-V 数据集需从 Meta 官网获取；4. 官方示例脚本基于 Linux 环境编写。","未说明（通过 uv 管理环境）",[120,121,122,123,124,125,126],"torch","transformers","gradio","sam2","InternVL","Qwen","uv",[15,35],[129,130,131],"computer-vision","mllm","large-language-models","2026-03-27T02:49:30.150509","2026-04-06T15:54:50.745965",[135,140,145,150,155,160,165],{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},19448,"运行 demo.py 时遇到形状不匹配（shape mismatch）或浮点异常错误怎么办？","该问题通常由帧数计算逻辑引起。请修改 `modeling_sa2va_chat.py` 文件中的第 617 行代码，将其改为：`num_frames = len(pixel_values)`。此修复已确认解决相关报错。","https:\u002F\u002Fgithub.com\u002Fbytedance\u002FSa2VA\u002Fissues\u002F33",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},19449,"如何使用自己的数据集训练 Sa2VA 模型？","官方已更新微调指南。请参考项目文档中的 `finetune.md` 文件（路径：docs\u002Ffinetune.md），其中包含了使用自定义数据（如 images 和 masks 文件夹结构）进行训练的具体步骤和配置说明。","https:\u002F\u002Fgithub.com\u002Fbytedance\u002FSa2VA\u002Fissues\u002F46",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},19450,"安装 Xtuner 后运行脚本仍提示\"no module named Xtuner\"如何解决？","这通常是导入路径问题。根据 Xtuner 源码结构，`train.py` 的实际位置在 `xtuner.xtuner.tools.train` 而不是 `xtuner.tools.train`。请检查并修改您的启动脚本或导入语句以匹配正确的模块路径。","https:\u002F\u002Fgithub.com\u002Fbytedance\u002FSa2VA\u002Fissues\u002F14",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},19451,"基于 Qwen 的训练代码或 Qwen-VL 相关模型何时发布？","基于 Qwen 的训练代码已经发布，请访问项目的 Releases 页面下载（https:\u002F\u002Fgithub.com\u002Fbytedance\u002FSa2VA\u002Freleases）。关于 Qwen-VL-2.5 等特定模型的权重，目前团队表示由于缺乏 GPU 资源暂时无法提供，但欢迎有资源的社区成员贡献分支。","https:\u002F\u002Fgithub.com\u002Fbytedance\u002FSa2VA\u002Fissues\u002F83",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},19452,"如何在 V100 等旧款显卡上运行推理或演示代码？","目前官方主要支持 A100 及以上规格的显卡。对于 V100 等显存较小或不支持最新特性（如 Flash Attention）的硬件，官方暂未提供专门的优化方案或回答，建议升级硬件或使用更高配置的云实例。","https:\u002F\u002Fgithub.com\u002Fbytedance\u002FSa2VA\u002Fissues\u002F8",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},19453,"SEG token 的设计逻辑是什么？为什么有时生成的 token 数量与预期不符？","SEG token 用于指示分割对象。如果视觉语言模型（VLM）判断当前帧中不存在目标对象，它可能不会生成 [SEG] token，此时系统会认为该帧无对象且不生成掩码。反之，即使没有对象，VLM 也可能误判生成 token。生成的 token 数量取决于 VLM 对每一帧的判断，而非固定等于输入帧数。","https:\u002F\u002Fgithub.com\u002Fbytedance\u002FSa2VA\u002Fissues\u002F49",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},19454,"如何加载预训练模型进行微调？配置文件中的路径应如何设置？","请查看更新后的 README 文件遵循指示。在配置文件（如 `projects\u002Fllava_sam2\u002Fconfigs\u002Fsa2va_4b.py`）中，可以通过修改 `path` 变量指向预训练模型目录（例如 `.\u002Fpretrained\u002FInternVL2_5-4B`）。注意：如果直接设置为发布的权重路径，可能会因缺少 `*_optim_states.pt` 优化器状态文件而报错，需确保路径包含完整的训练状态文件或仅加载模型权重。","https:\u002F\u002Fgithub.com\u002Fbytedance\u002FSa2VA\u002Fissues\u002F35",[171,176],{"id":172,"version":173,"summary_zh":174,"released_at":175},117521,"v2","## 变更内容\n* 代码库 v2 版本，由 @bitersun 在 https:\u002F\u002Fgithub.com\u002Fbytedance\u002FSa2VA\u002Fpull\u002F97 中完成\n\n## 新贡献者\n* @bitersun 在 https:\u002F\u002Fgithub.com\u002Fbytedance\u002FSa2VA\u002Fpull\u002F97 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fbytedance\u002FSa2VA\u002Fcompare\u002Fv1...v2\n\n\n## 更新：\n* 支持 InternVL-3 和 Qwen2.5-VL\n* 训练和测试代码更易于维护","2025-10-17T20:47:03",{"id":177,"version":178,"summary_zh":179,"released_at":180},117522,"v1","Sa2VA代码旧版本","2025-10-16T02:47:49"]