文章目录MotionCtrl一个模型统一控制视频生成中的镜头和物体运动1、它解决的是什么问题2、它能接哪些视频生成模型3、怎么控制运动4、训练数据怎么准备5、实际效果6、适合什么场景MotionCtrl一个模型统一控制视频生成中的镜头和物体运动MotionCtrl 在 GitHub 上拿到了 1,495 Star。这是腾讯 ARC 实验室开源的视频生成运动控制方案论文入选了 SIGGRAPH 2024。它用一个统一模型独立控制生成视频中的镜头运动和物体运动。1、它解决的是什么问题AI 视频生成到今天画面质量已经不是瓶颈了。真正卡脖子的是运动控制。你生成一段视频想要镜头向左平移、同时画面里的汽车往前开现有的方案通常需要分别处理。镜头控制走一套管线物体运动走另一套两个系统互相独立组合起来麻烦效果也不稳定。MotionCtrl 的思路是把这两件事塞进一个模型里。镜头运动用相机轨迹描述物体运动用物体轨迹描述两者作为条件输入同一个网络各自独立生效。2、它能接哪些视频生成模型MotionCtrl 不是一个独立的视频生成器它是一个运动控制模块需要挂载到已有的视频生成模型上。目前官方支持三个底座SVDStable Video DiffusionStability AI 出的图生视频模型。MotionCtrl 在这个底座上主要控制镜头运动让静态图片按照指定的相机轨迹变成视频。VideoCrafter腾讯自己的文生视频模型。挂载 MotionCtrl 之后文字描述加上运动轨迹两个条件同时生效。AnimateDiff社区里用得比较多的动画生成方案。MotionCtrl 对它同时支持镜头控制和物体控制并且开放了训练代码和推理代码。三个底座的代码分别在不同的分支里可以按需选用。3、怎么控制运动MotionCtrl 的运动控制分两种模式通过配置文件里的 condtype 参数切换。第一种是 camera_motion只控制镜头运动。你指定一条相机轨迹比如向前推进、向右旋转、环绕拍摄生成的视频就会按照这个轨迹运动画面里的物体保持自然。第二种是 object_motion只控制物体运动。你画一条物体的运动轨迹画面里的物体会沿着这条轨迹移动镜头保持不动。第三种是 both同时控制镜头和物体。两个条件叠加镜头按照相机轨迹走物体按照物体轨迹走互不干扰。轨迹的输入方式比较灵活。官方提供了 ParticleSfM 的脚本可以从真实视频里自动提取物体轨迹。也可以用他们配套的 HandyTrajDrawer 工具手动画轨迹适合需要精确控制的场景。4、训练数据怎么准备如果你要自己训练 MotionCtrl需要准备两类数据。相机运动数据用的是 RealEstate10K 数据集Google 提供的真实场景视频每帧都标注了相机位姿。官方给了下载和处理的脚本跟着走就行。物体运动数据用的是 WebVid 数据集需要额外跑 ParticleSfM 来提取物体轨迹。ParticleSfM 是字节跳动开源的结构光运动恢复工具能从视频里自动追踪物体的运动路径。官方提供了安装笔记和处理脚本整个流程分两步先把长视频切成 32 帧的短片段再对每个片段跑轨迹提取。整个数据准备流程比较重ParticleSfM 的环境配置有一定门槛建议在 CentOS 或 Ubuntu 上跑。5、实际效果从官方放出的演示来看MotionCtrl 在三个底座上的表现有差异。SVD 底座上镜头控制比较稳定平移、旋转、推进都能准确执行生成的画面连贯性不错。VideoCrafter 底座上文生视频加上运动控制效果取决于文字描述和轨迹的匹配程度。描述清晰、轨迹合理的情况下生成结果可用。AnimateDiff 底座上同时控制镜头和物体是最复杂的模式。官方给出了训练和推理的完整代码适合需要深度定制的开发者。6、适合什么场景需要精确控制视频镜头运动的内容创作者比如做产品展示、建筑漫游、虚拟场景。做 AI 视频生成研究、需要可控运动条件的学术团队。在 AnimateDiff 基础上做二次开发、需要叠加运动控制能力的开发者。项目基于 VideoCrafter 构建训练和推理代码都已经开放Hugging Face 上也部署了在线 Demo 可以直接体验。项目基于 VideoCrafter 构建训练和推理代码都已经开放Hugging Face 上也部署了在线 Demo 可以直接体验。
MotionCtrl:一个模型统一控制视频生成中的镜头和物体运动
文章目录MotionCtrl一个模型统一控制视频生成中的镜头和物体运动1、它解决的是什么问题2、它能接哪些视频生成模型3、怎么控制运动4、训练数据怎么准备5、实际效果6、适合什么场景MotionCtrl一个模型统一控制视频生成中的镜头和物体运动MotionCtrl 在 GitHub 上拿到了 1,495 Star。这是腾讯 ARC 实验室开源的视频生成运动控制方案论文入选了 SIGGRAPH 2024。它用一个统一模型独立控制生成视频中的镜头运动和物体运动。1、它解决的是什么问题AI 视频生成到今天画面质量已经不是瓶颈了。真正卡脖子的是运动控制。你生成一段视频想要镜头向左平移、同时画面里的汽车往前开现有的方案通常需要分别处理。镜头控制走一套管线物体运动走另一套两个系统互相独立组合起来麻烦效果也不稳定。MotionCtrl 的思路是把这两件事塞进一个模型里。镜头运动用相机轨迹描述物体运动用物体轨迹描述两者作为条件输入同一个网络各自独立生效。2、它能接哪些视频生成模型MotionCtrl 不是一个独立的视频生成器它是一个运动控制模块需要挂载到已有的视频生成模型上。目前官方支持三个底座SVDStable Video DiffusionStability AI 出的图生视频模型。MotionCtrl 在这个底座上主要控制镜头运动让静态图片按照指定的相机轨迹变成视频。VideoCrafter腾讯自己的文生视频模型。挂载 MotionCtrl 之后文字描述加上运动轨迹两个条件同时生效。AnimateDiff社区里用得比较多的动画生成方案。MotionCtrl 对它同时支持镜头控制和物体控制并且开放了训练代码和推理代码。三个底座的代码分别在不同的分支里可以按需选用。3、怎么控制运动MotionCtrl 的运动控制分两种模式通过配置文件里的 condtype 参数切换。第一种是 camera_motion只控制镜头运动。你指定一条相机轨迹比如向前推进、向右旋转、环绕拍摄生成的视频就会按照这个轨迹运动画面里的物体保持自然。第二种是 object_motion只控制物体运动。你画一条物体的运动轨迹画面里的物体会沿着这条轨迹移动镜头保持不动。第三种是 both同时控制镜头和物体。两个条件叠加镜头按照相机轨迹走物体按照物体轨迹走互不干扰。轨迹的输入方式比较灵活。官方提供了 ParticleSfM 的脚本可以从真实视频里自动提取物体轨迹。也可以用他们配套的 HandyTrajDrawer 工具手动画轨迹适合需要精确控制的场景。4、训练数据怎么准备如果你要自己训练 MotionCtrl需要准备两类数据。相机运动数据用的是 RealEstate10K 数据集Google 提供的真实场景视频每帧都标注了相机位姿。官方给了下载和处理的脚本跟着走就行。物体运动数据用的是 WebVid 数据集需要额外跑 ParticleSfM 来提取物体轨迹。ParticleSfM 是字节跳动开源的结构光运动恢复工具能从视频里自动追踪物体的运动路径。官方提供了安装笔记和处理脚本整个流程分两步先把长视频切成 32 帧的短片段再对每个片段跑轨迹提取。整个数据准备流程比较重ParticleSfM 的环境配置有一定门槛建议在 CentOS 或 Ubuntu 上跑。5、实际效果从官方放出的演示来看MotionCtrl 在三个底座上的表现有差异。SVD 底座上镜头控制比较稳定平移、旋转、推进都能准确执行生成的画面连贯性不错。VideoCrafter 底座上文生视频加上运动控制效果取决于文字描述和轨迹的匹配程度。描述清晰、轨迹合理的情况下生成结果可用。AnimateDiff 底座上同时控制镜头和物体是最复杂的模式。官方给出了训练和推理的完整代码适合需要深度定制的开发者。6、适合什么场景需要精确控制视频镜头运动的内容创作者比如做产品展示、建筑漫游、虚拟场景。做 AI 视频生成研究、需要可控运动条件的学术团队。在 AnimateDiff 基础上做二次开发、需要叠加运动控制能力的开发者。项目基于 VideoCrafter 构建训练和推理代码都已经开放Hugging Face 上也部署了在线 Demo 可以直接体验。项目基于 VideoCrafter 构建训练和推理代码都已经开放Hugging Face 上也部署了在线 Demo 可以直接体验。