SynCamMaster

GitHub
684 23 较难 1 次阅读 昨天视频
AI 解读 由 AI 自动生成,仅供参考

SynCamMaster 是一款专为多视角视频生成设计的开源框架,旨在让预训练的文本生成视频(T2V)模型能够同步产出多个不同角度的连贯视频。它主要解决了传统 AI 在生成多机位视频时,难以保持各视角间时间同步与内容一致性的难题,特别适用于需要模拟电影级多镜头调度或构建 3D 场景的复杂任务。

该工具非常适合人工智能研究人员、视频生成开发者以及从事虚拟制作的专业人士使用。通过引入高效的适配方法,SynCamMaster 无需从头训练庞大的基础模型,即可“激活”现有 T2V 模型的多相机生成能力。其独特亮点在于配套发布了基于虚幻引擎 5(Unreal Engine 5)渲染的高质量多相机同步数据集(SynCamVideo Dataset),为训练和评估提供了坚实的数据基础。目前项目已开放基于 Wan2.1 模型的推理与训练代码,虽然受限于底层基座模型的差异,开源版本效果可能与论文中使用的内部模型略有不同,但它仍为社区探索开放域多视角视频生成提供了极具价值的参考实现和技术路径。

使用场景

某游戏工作室的宣传团队正在为一款开放世界新作制作多视角同步的实机演示视频,以展示角色在不同镜头下的战斗细节。

没有 SynCamMaster 时

  • 视角割裂严重:分别生成不同角度的视频后,角色动作、光影变化无法对齐,导致切换镜头时出现“瞬移”或动作不连贯的穿帮画面。
  • 人工合成成本高昂:为了强行同步多个视频流,后期团队需逐帧手动调整时间轴和关键帧,耗时数天且极易出错。
  • 物理逻辑不一致:独立生成的视频中,布料摆动、液体飞溅等动态效果在各视角下表现不一,破坏了场景的真实感。
  • 创意迭代缓慢:一旦导演想修改某个镜头的角度,整个多视频序列必须重新生成并再次手动对齐,极大拖慢了创作节奏。

使用 SynCamMaster 后

  • 原生多视角同步:只需输入一段提示词,SynCamMaster 即可一次性生成多个视角严格同步的视频,确保角色动作和物理效果在所有镜头中完全一致。
  • 自动化工作流:彻底省去了繁琐的手动对齐环节,将原本需要数天的后期合成工作缩短至分钟级,让团队能专注于创意打磨。
  • 时空一致性保障:基于统一的潜在空间建模,保证了复杂动态(如爆炸碎片、衣物飘动)在不同视角下的逻辑自洽,显著提升沉浸感。
  • 灵活高效的迭代:调整摄像机参数即可快速重生成整套同步视频,支持导演在现场实时预览不同构图方案,大幅加速决策过程。

SynCamMaster 通过将单视角视频生成模型升级为多相机协同系统,从根本上解决了多视角内容创作中的时空一致性难题,让高质量的多机位视频生成变得像单镜头一样简单高效。

运行环境要求

操作系统
  • Linux
GPU
  • 必需 NVIDIA GPU
  • 训练示例命令使用 8 张显卡 (CUDA_VISIBLE_DEVICES="0,1,2,3,4,5,6,7"),显存需求未明确说明但建议大容量以支持 Wan2.1 模型及 81 帧视频处理
  • 需安装 CUDA 工具链以支持 Rust 扩展编译
内存

未说明

依赖
notes1. 必须安装 Rust 和 Cargo 以编译 DiffSynth-Studio 的扩展组件。2. 开源版本基于 Wan2.1 模型迁移,性能可能与论文中使用的内部模型存在差异。3. 训练数据需预先提取 VAE 特征并生成视频描述 (Caption)。4. 默认训练脚本配置为每张 GPU Batch Size 为 1,超参数未调优。5. 需手动下载 Wan2.1 预训练模型及 SynCamMaster 检查点文件至指定目录。
python未说明 (需支持 pip 及 Rust/Cargo 环境)
DiffSynth-Studio
torch
lightning
pandas
websockets
Rust
Cargo
SynCamMaster hero image

快速开始

SynCamMaster:从不同视角同步多摄像头视频生成

[arXiv] [项目页面] [数据集]

Jianhong Bai1*, Menghan Xia2†, Xintao Wang2, Ziyang Yuan3, Xiao Fu4,
Zuozhu Liu1, Haoji Hu1, Pengfei Wan2, Di Zhang2

(*在快手科技KwaiVGI实习期间完成的工作 †通讯作者)

1浙江大学,2快手科技,3清华大学,4香港中文大学。

ICLR 2025

重要提示: 本开源仓库旨在提供参考实现。由于底层T2V模型性能的差异,开源版本可能无法达到论文中模型的性能水平。

🔥 更新

📖 引言

简而言之: 我们提出了SynCamMaster,一种高效的方法,用于将预训练的文本到视频模型扩展到开放域的多摄像头视频生成任务中,并支持从不同视角进行生成。我们还发布了一个使用虚幻引擎5渲染的多摄像头同步视频数据集

https://github.com/user-attachments/assets/1ecfaea8-5d87-4bb5-94fc-062f84bd67a1

⚙️ 代码:SynCamMaster + Wan2.1(推理与训练)

我们在论文中使用的模型是内部开发的T2V模型,而非Wan2.1。由于公司政策限制,我们无法开源论文中所使用的模型。因此,我们将SynCamMaster迁移至Wan2.1,以验证我们方法的有效性。由于底层T2V模型的差异,您可能无法获得与演示中相同的效果。

推理

步骤1:设置环境

DiffSynth-Studio需要Rust和Cargo来编译扩展。您可以使用以下命令安装它们:

curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs/) | sh
. "$HOME/.cargo/env"

安装DiffSynth-Studio:

git clone https://github.com/KwaiVGI/SynCamMaster.git
cd SynCamMaster
pip install -e .

步骤2:下载预训练检查点

  1. 下载预训练的Wan2.1模型
cd SynCamMaster
python download_wan2.1.py
  1. 下载预训练的SynCamMaster检查点

请从Hugging Face下载,并将其放置在models/SynCamMaster/checkpoints目录下。

步骤3:测试示例视频

python inference_syncammaster.py --cam_type "az"

我们提供了几种预设的相机类型。此外,您也可以生成新的相机位姿进行测试。

训练

步骤1:设置环境

pip install lightning pandas websockets

步骤2:准备训练数据集

  1. 下载SynCamVideo数据集

  2. 提取VAE特征

CUDA_VISIBLE_DEVICES="0,1,2,3,4,5,6,7" python train_syncammaster.py   --task data_process   --dataset_path path/to/the/SynCamVideo/Dataset   --output_path ./models   --text_encoder_path "models/Wan-AI/Wan2.1-T2V-1.3B/models_t5_umt5-xxl-enc-bf16.pth"   --vae_path "models/Wan-AI/Wan2.1-T2V-1.3B/Wan2.1_VAE.pth"   --tiled   --num_frames 81   --height 480   --width 832 --dataloader_num_workers 2
  1. 为每段视频生成字幕

您可以使用如LLaVA之类的视频字幕工具为每段视频生成字幕,并将其存储在metadata.csv文件中。

  1. 计算可用样本列表
python generate_sample_list.py

步骤3:训练

CUDA_VISIBLE_DEVICES="0,1,2,3,4,5,6,7" python train_syncammaster.py   --task train   --output_path ./models/train   --dit_path "models/Wan-AI/Wan2.1-T2V-1.3B/diffusion_pytorch_model.safetensors"   --steps_per_epoch 8000   --max_epochs 100   --learning_rate 1e-4   --accumulate_grad_batches 1   --use_gradient_checkpointing  --dataloader_num_workers 4

我们并未探索最优超参数组合,且在每个GPU上以1个批次进行训练。通过调整学习率等超参数并增加批次大小,您可能会获得更好的模型性能。

步骤4:测试模型

python inference_syncammaster.py --cam_type "az" --ckpt_path path/to/the/checkpoint

📷 数据集:SynCamVideo数据集

1. 数据集介绍

简而言之: SynCamVideo 数据集是一个使用 Unreal Engine 5 渲染的多摄像机同步视频数据集。它包含同步的多摄像机视频及其对应的相机位姿。SynCamVideo 数据集在相机控制视频生成、同步视频制作以及 3D/4D 重建等领域具有重要价值。在 SynCamVideo 数据集中,相机是静止的。如果您需要的是带有移动相机而非静止相机的素材,请查看我们的 MultiCamVideo 数据集。

https://github.com/user-attachments/assets/b49fc632-d1df-49fd-93d2-8513fbdb9377

SynCamVideo 数据集是一个使用 Unreal Engine 5 渲染的多摄像机同步视频数据集。它包括同步的多摄像机视频及其对应的相机位姿。 该数据集由 3,400 个不同的动态场景组成,每个场景由 10 台摄像机拍摄,总共生成 34,000 条视频。每个动态场景由四个元素构成:{3D 环境、角色、动画、相机}。具体来说,我们利用动画驱动角色, 并将动画角色放置在 3D 环境中。随后,设置时间同步的摄像机来渲染多摄像机视频数据。

示例图片

3D 环境: 我们从 Fab 收集了 37 个高质量的 3D 环境资源。为了尽量缩小渲染数据与真实世界视频之间的领域差距,我们主要选择视觉上逼真的 3D 场景,同时辅以少量风格化或超现实的 3D 场景。为确保数据多样性,所选场景涵盖了多种室内外环境,如城市街道、购物中心、咖啡馆、办公室和乡村等。

角色: 我们从 FabMixamo 收集了 66 种不同的人类 3D 模型作为角色。

动画: 我们从 FabMixamo 收集了 93 种不同的动画,包括挥手、跳舞、欢呼等常见动作。我们利用这些动画驱动收集到的角色,并通过各种组合创建多样化的数据集。

相机: 为了增强数据集的多样性,每台相机都被随机采样于以角色为中心的半球面上。

2. 统计与配置

数据集统计:

动态场景数量 每场景摄像机数 总视频数
3400 10 34,000

视频配置:

分辨率 帧数 FPS
1280x1280 81 15

注意:您可以使用“居中裁剪”来调整视频的宽高比,以适应您的视频生成模型,例如 16:9、9:16、4:3 或 3:4。

相机配置:

焦距 光圈 传感器高度 传感器宽度
24mm 5.0 23.76mm 23.76mm

3. 文件结构

SynCamVideo-Dataset
├── train
│   └── f24_aperture5
│       ├── scene1    # 一个动态场景
│       │   ├── videos
│       │   │   ├── cam01.mp4    # 1280x1280 分辨率下的 81 帧同步视频
│       │   │   ├── cam02.mp4
│       │   │   ├── ...
│       │   │   └── cam10.mp4
│       │   └── cameras
│       │       └── camera_extrinsics.json    # 10 台摄像机的 81 帧相机外参
│       ├── ...
│       └── scene3400
└── val
    └── basic
        ├── videos
        │   ├── cam01.mp4    # 验证用摄像机对应示例视频
        │   ├── cam02.mp4
        │   ├── ...
        │   └── cam10.mp4
        └── cameras
            └── camera_extrinsics.json    # 10 台用于验证的摄像机

3. 有用的脚本

  • 数据解压
tar -xzvf SynCamVideo-Dataset.tar.gz
  • 相机可视化
python vis_cam.py

该可视化脚本改编自 CameraCtrl,感谢他们的启发性工作。

示例图片

🤗 优秀相关工作

欢迎探索这些杰出的相关工作,包括但不限于:

GCD:从单目视频中合成 4D 动态场景的大视角新视图。

CVD:基于多摄像机轨迹的多视角视频生成。

SV4D:多视角一致的动态 3D 内容生成。

此外,也请关注我们的“MasterFamily”项目:

ReCamMaster:以新颖的摄像机轨迹重新捕捉野外视频。

3DTrajMaster:控制 3D 空间中的多个实体运动(6DoF),用于文本到视频的生成。

StyleMaster:借助参考风格图像实现艺术化视频生成与转换。

致谢

我们感谢快手科技的曹锦文、郭一松、季浩文、王继超和王毅在构建 SynCamVideo 数据集过程中提供的宝贵帮助。同时,我们也感谢 吴冠军 和叶江南在运行 4DGS 方面的支持。

🌟 引用

如果您觉得我们的工作有所帮助,请为我们点亮一颗星 🌟,并引用我们的论文。

@article{bai2024syncammaster,
  title={SynCamMaster: 从多样化视角同步生成多摄像机视频},
  author={白建宏、夏孟涵、王新涛、袁子洋、傅晓、刘作柱、胡浩基、万鹏飞、张迪},
  journal={arXiv 预印本 arXiv:2412.07760},
  year={2024}
}

常见问题

相似工具推荐

Deep-Live-Cam

Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

88.9k|★★★☆☆|昨天
开发框架图像Agent

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

MoneyPrinterTurbo

MoneyPrinterTurbo 是一款利用 AI 大模型技术,帮助用户一键生成高清短视频的开源工具。只需输入一个视频主题或关键词,它就能全自动完成从文案创作、素材匹配、字幕合成到背景音乐搭配的全过程,最终输出完整的竖屏或横屏短视频。 这款工具主要解决了传统视频制作流程繁琐、门槛高以及素材版权复杂等痛点。无论是需要快速产出内容的自媒体创作者,还是希望尝试视频生成的普通用户,无需具备专业的剪辑技能或昂贵的硬件配置(普通电脑即可运行),都能轻松上手。同时,其清晰的 MVC 架构和对多种主流大模型(如 DeepSeek、Moonshot、通义千问等)的广泛支持,也使其成为开发者进行二次开发或技术研究的理想底座。 MoneyPrinterTurbo 的独特亮点在于其高度的灵活性与本地化友好性。它不仅支持中英文双语及多种语音合成,允许用户精细调整字幕样式和画面比例,还特别优化了国内网络环境下的模型接入方案,让用户无需依赖 VPN 即可使用高性能国产大模型。此外,工具提供批量生成模式,可一次性产出多个版本供用户择优,极大地提升了内容创作的效率与质量。

55k|★★★☆☆|昨天
开发框架语言模型Agent

oh-my-openagent

oh-my-openagent(简称 omo)是一款强大的开源智能体编排框架,前身名为 oh-my-opencode。它致力于打破单一模型供应商的生态壁垒,解决开发者在构建 AI 应用时面临的“厂商锁定”难题。不同于仅依赖特定模型的封闭方案,omo 倡导开放市场理念,支持灵活调度多种主流大模型:利用 Claude、Kimi 或 GLM 进行任务编排,调用 GPT 处理复杂推理,借助 Minimax 提升响应速度,或发挥 Gemini 的创意优势。 这款工具特别适合希望摆脱平台限制、追求极致性能与成本平衡的开发者及研究人员使用。通过统一接口,用户可以轻松组合不同模型的长处,构建更高效、更具适应性的智能体系统。其独特的技术亮点在于“全模型兼容”架构,让用户不再受制于某一家公司的策略变动或定价调整,真正实现对前沿模型资源的自由驾驭。无论是构建自动化编码助手,还是开发多步骤任务处理流程,oh-my-openagent 都能提供灵活且稳健的基础设施支持,助力用户在快速演进的 AI 生态中保持技术主动权。

48.9k|★★☆☆☆|今天
视频语言模型开发框架

onlook

Onlook 是一款专为设计师打造的开源 AI 优先设计工具,被誉为“设计师版的 Cursor”。它旨在打破设计与开发之间的壁垒,让用户能够以可视化的方式直接构建、样式化和编辑 React 应用。通过 Onlook,用户无需深入编写复杂代码,即可在类似 Figma 的直观界面中完成网页原型的搭建与调整,并实时预览最终效果。 这款工具主要解决了传统工作流中设计稿到代码转换效率低、沟通成本高的问题。以往,设计师使用 Figma 等工具完成设计后,需要开发人员手动将其转化为代码,过程繁琐且容易出错。Onlook 允许用户直接在浏览器 DOM 中进行可视化编辑,底层自动生成基于 Next.js 和 TailwindCSS 的高质量代码,实现了“所见即所得”的开发体验。它不仅支持从文本或图像快速生成应用,还具备分支管理、资源管理及一键部署等功能,极大地简化了从创意到成品的流程。 Onlook 特别适合前端开发者、UI/UX 设计师以及希望快速验证产品创意的独立开发者使用。对于设计师而言,它降低了参与前端开发的门槛;对于开发者来说,它提供了一个高效的视觉化调试和原型构建环境。其核心技术亮点在于

25k|★★★★☆|4天前
Agent图像视频

serena

Serena 是一款专为编程智能体(Coding Agent)打造的强大工具包,被誉为“智能体的集成开发环境(IDE)”。它通过模型上下文协议(MCP)与各类大语言模型及客户端无缝集成,旨在解决传统 AI 在复杂代码库中因依赖行号或简单文本搜索而导致的效率低下和准确性不足的问题。 与传统方法不同,Serena 采用“智能体优先”的设计理念,提供基于语义的代码检索、编辑和重构能力。它能像资深开发者使用 IDE 一样,深入理解代码的符号层级和关联结构,从而让智能体在大型项目中运行得更快、更稳、更可靠。无论是终端用户(如 Claude Code)、IDE 插件(VSCode、Cursor)还是桌面应用,都能轻松接入 Serena 以扩展功能。 Serena 特别适合需要处理大规模代码项目的开发者、研究人员以及希望提升 AI 编码能力的技术团队。其核心技术亮点在于灵活的后端支持:既默认集成了基于语言服务器协议(LSP)的开源方案,支持超过 40 种编程语言;也可选配强大的 JetBrains 插件,利用专业 IDE 的深度分析能力。这让 Serena 成为连接人工智能与复杂软件工程的高效桥

22.5k|★★☆☆☆|昨天
Agent图像开发框架