运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control 精华

发布于 2025-1-13 10:16
浏览
0收藏

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

文章链接:https://arxiv.org/pdf/2501.05020
项目链接:https://chen-yingjie.github.io/projects/Perception-as-Control


运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

亮点直击

  • 引入了3D感知运动表示,以促进精细化的协同运动控制,该表示可以被修改和感知,从而将用户意图转化为空间对齐的运动控制信号。
  • 基于3D感知运动表示,提出了一种精细化运动可控的图像动画框架,即Perception-as-Control,利用扩散模型实现精确且灵活的协同运动控制。
  • 该框架通过对用户意图的解析,可以支持多种与运动相关的应用,例如运动生成、运动克隆、运动迁移以及运动编辑。

总结速览

解决的问题

在图像动画领域,现有方法在控制摄像机和物体运动时仍面临以下挑战:

  1. 协同控制难题:无法实现摄像机和物体运动的协同控制,容易产生冲突。
  2. 控制粒度不足:缺乏精细化的控制能力,难以满足复杂的动画需求。
  3. 三维感知不足:运动表示通常缺乏3D感知,导致局部区域在同时控制摄像机和物体运动时出现控制冲突。

提出的方案

提出了Perception-as-Control的图像动画框架,基于3D感知运动表示,实现精细化的协同运动控制。

应用的技术

  • 3D感知运动表示:通过重构3D场景,使用单位球体简化动态部分和静态部分,生成反映运动和空间关系的感知结果。
  • 轻量化双编码器:分别对摄像机和物体的控制信号进行编码,确保控制信号与参考图像对齐,提高运动控制的灵活性。
  • 扩散模型:利用基于U-Net的架构,将外观信息与运动信息结合,用于生成目标动画。
  • 数据管道与训练策略:自动化处理真实视频数据,采用分阶段训练平衡控制能力,支持多种运动相关任务。

达到的效果

  • 精细化控制:能够实现摄像机和物体的协同运动控制,避免控制冲突。
  • 视觉一致性:通过3D感知运动表示,确保运动信号与生成的动画帧空间对齐,提升动画质量。
  • 任务统一性:支持各种运动相关的视频生成任务,具备高度的灵活性和适应性。
  • 性能优越:实验结果表明,该框架在多个任务中均优于现有方法,实现更精确的运动控制与更高质量的动画效果。

Perception-as-Control

首先介绍一个用于从自然视频中构建3D感知运动表示的数据整理流程。随后,描述了精细化运动可控的图像动画框架——感知即控制(Perception-as-Control)。同时,提出了一种三阶段训练策略,用于平衡摄像机和物体的运动控制,并促进精细化的物体运动控制。

预备知识

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

基于3D的运动表示

为了进行训练,需要视频数据和相应的基于3D的运动表示。然而,常用的大规模视频数据集主要由缺乏相机设置和场景信息的野外视频组成。恢复此类信息的一种方法是通过单目3D重建算法(例如 SfM )估计相机参数并重建场景,然后简化重建的3D场景。然而,这些算法计算成本高,并且由于尺度模糊问题,会导致不可忽略的重建误差。另一种方法是通过适当的近似直接构建简化的3D场景,从而绕过这些问题,即使是针对野外视频也可以轻松实现。因此,我们引入了数据处理流水线,使用现成的算法为任何可收集的视频构建基于3D的运动表示,如下图3左上部分所示。

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

剪辑检测与运动过滤
首先,应用常见的预处理步骤,从视频中提取包含连续视觉内容的片段。通过剪辑检测算法将原始视频分割成多个视频片段。随后,使用 RAFT 估计视频片段中每对相邻帧之间的光流。然后,计算估计光流的 Frobenius 范数作为运动分数,并进一步过滤掉运动分数低于第30百分位的视频片段(即运动不明显的视频片段),这一点与之前的方法[16]一致。接下来,为每个视频片段构建基于3D的运动表示。该过程分为两个步骤:用于捕捉局部对象运动的3D点跟踪和用于捕捉全局相机运动的视觉里程计。

局部对象运动的3D点跟踪

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

全球相机运动的视觉里程计
使用一个世界包络体来标记剩余部分,该部分相对于世界坐标系是静止的。为了将全球相机运动转换为视觉变化,可以使用现成的算法从连续帧序列中恢复相机轨迹并渲染世界包络体。尽管存在尺度模糊问题,我们的世界包络体作为场景标记,只需要粗略的相机位姿,而不需要极其精确的位姿。因此,将相机内参设置为I = [W,0,W//2; 0,H,H//2; 0,0,1]。

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

为了避免 RGB 级别的干扰,将单位球体和世界包络体分别渲染为两个空间层,分别作为对象和相机控制信号。

网络架构

本文提出了一种基于 3D感知运动表示 的运动可控图像动画框架,称为 Perception-as-Control,该框架以参考图像和一系列空间对齐的运动控制信号为输入,生成视频作为输出。


如前面图 3 右侧所示,本文的框架基于 去噪 U-Net 架构,并加入了额外的运动模块以建模时间信息。在图像动画的设置下,必须保留参考图像(图像控制信号)中包含的外观信息,并遵循运动控制信号中包含的运动信息。


以往方法通过直接将空间对齐的控制信号添加到输入噪声中,或通过辅助架构将其集成到去噪 U-Net 中,并通过注意力机制注入高级控制信号。鉴于运动控制信号已经是空间对齐的,在本文的框架中,通过将运动控制信号添加到噪声中进行注入,并通过 ReferenceNet 注入参考图像。


本文使用两个轻量级编码器分别编码相机控制信号和对象控制信号,以避免 RGB 级别的干扰。然后,通过一个融合模块将编码后的相机控制信号和对象控制信号合并。经验性地将融合模块实现为一个卷积块。


在训练过程中,训练数据对通过本文的数据策划管道准备,并采用三阶段的训练策略以平衡相机和对象控制信号。推理时,将用户意图以各种形式转换为 3D感知运动表示,然后使用所提出的框架根据该表示生成视频。

训练策略

尽管 3D感知运动表示 将相机和对象运动转化为统一的形式,但由于训练数据中的运动通常是纠缠在一起的,训练策略仍然非常重要。本文提出了三阶段训练策略,旨在平衡相机和对象控制信号,从而实现精细化的协作运动控制。

阶段 1:相机运动控制训练
在第一阶段,使用仅包含相机运动的视频片段(来自 RealEstate10K)训练相机编码器。此阶段中暂时排除对象编码器和融合模块。


由于渲染的球体可能出现在像素平面的任意位置,去噪 U-Net 中的运动模块会与其一起训练。这使得模型能够将每个渲染球体与其代表的对象部分对齐。因此,在这一阶段,训练 相机编码器、去噪 U-Net 中的运动模块以及 ReferenceNet

阶段 2:协作运动控制训练
在第二阶段,加入来自 WebVid10M 的视频片段(包含相机和对象运动)进行训练。此阶段中添加对象编码器和融合模块,以实现协作运动控制。


为了加速球体与对象部分的对齐过程,此阶段中使用密集的单位球作为对象控制信号。固定相机编码器,训练对象编码器、融合模块、运动模块和 ReferenceNet


此外,为了同时保持两种控制信号的有效性,尤其是在冲突情况下,在训练期间以固定的丢弃率随机丢弃来自 RealEstate10K 视频片段中的一种控制信号。

阶段 3:从密集到稀疏的微调

第三阶段的目标是通过稀疏的单位球实现精细化的对象运动控制,这需要模型自适应地确定每个渲染点的控制范围。

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

在所有阶段中,使用类似于 Eq. 2 的损失函数来优化框架:

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

实验

实验设置

数据集。使用视频数据集RealEstate10K和WebVid10M进行训练。RealEstate10K包含仅有相机运动的视频,每个视频都标注了真实的相机内外参。WebVid10M是一个大规模数据集,包含了同时具有相机和物体运动的野外视频,但这些视频的质量不够高。通过本文的数据整理流程,最终的训练数据包含约6K个来自RealEstate10K的视频片段和35K个来自WebVid10M的视频片段。


实现细节。采用Stable Diffusion 1.5(SD1.5)作为基础模型,并使用SD1.5的预训练权重初始化去噪U-Net和ReferenceNet的权重。按照之前的工作[8, 2]添加运动模块,并进行随机初始化。训练过程中,VAE 编码器和解码器的权重,以及CLIP图像编码器的权重被冻结。训练时,随机为每个视频片段采样16帧,分辨率为768×512。使用AdamW作为优化器。训练在8个NVIDIA A100 GPU上进行。第一阶段训练约20k次迭代,第二阶段20k次迭代,第三阶段50k次迭代,批次大小为1,以确保收敛。

可控图像动画

仅相机运动控制

为了展示Perception-as-Control在仅相机运动控制中的优越性,选择了基本和任意相机运动,并将其可视化为3D。如下图4所示,本文的框架可以生成符合预期相机运动的视频。由于世界包络显示了相机运动的方向和幅度,并增强了整体感知,生成的视频中的空间结构稳定且一致。此外,通过将多个单位球体添加到关键部位,生成的视频能够感知深度信息,并能够准确地反映在不同焦距下的透视效果。

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

仅物体运动控制

对于仅物体运动控制,在下图5中提供了案例,以展示本文的方法在实现灵活和精确的多实例及精细粒度运动控制方面的优越性。由于没有相机运动,将单位球体的中心投影到像素平面上,并可视化它们随时间的变化,使用颜色表示运动的方向。如图5左侧所示,控制参考图像中越来越多的热气球,生成的视频准确地反映了每个热气球的运动。在图5右侧,当对竹子施加额外的控制时,所提出的方法能够自适应地确定每个单位球体的控制范围。

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

协同运动控制

本文的框架还支持相机和物体运动的协同控制。如下图6所示,控制相机和物体的运动,并可视化相应的3D感知运动表示。本文的方法能够处理大幅度的物体运动和精细的物体运动。生成的视频遵循指定的相机运动,并准确展示适应后的物体运动。

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

应用

所提出的图像动画框架可以通过仔细解释用户意图,应用于各种与运动相关的应用,如下图1所示。

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

运动生成是指基于参考图像和用户绘制的2D轨迹生成图像动画。


运动克隆是指模仿源视频中的相机和物体运动。用户提供源视频以构建3D感知运动表示,并编辑第一帧作为参考图像。


运动转移是指通过根据语义对应自适应地重新定位和缩放源视频中的局部运动,将其转移到参考图像上。


运动编辑比上述设置具有更大的控制自由度。用户可以提供分割掩码,并编辑掩码内外的运动。


更多示例请参见下图7。

运动应用(生成&克隆&迁移&编辑)全搞定!阿里通义提出动画框架Perception-as-Control-AI.x社区

对于运动生成,基于参考图像通过单目深度估计构建3D感知运动表示,并根据2D轨迹进行操控。结果表明,本文的框架有效处理了各种运动,包括自然摆动、形状变化、交叉和从像素平面延伸出的运动。


对于运动克隆,编辑每个源视频的第一帧作为参考图像,并从源视频中构建3D感知运动表示作为控制信号。结果精确再现了源视频中的相机和物体运动。


对于运动转移,我们提取与语义点对应的单位球体的3D轨迹,并将其重新定位以匹配参考图像。结果表明,源视频中的局部运动成功地转移到参考图像中不同位置、不同尺度的物体上。


对于运动编辑,根据分割掩码修改源视频的3D感知运动表示,例如修改几个单位球体的轨迹或视点。结果展示了我们框架的灵活性。

结论

与以往仅控制相机运动或物体运动的方法不同,本文提出了一种用于协同运动控制的精细控制可控图像动画框架。该框架将从3D感知运动表示中获得的运动控制信号作为输入,简化原始的3D场景,将相机和物体的运动转化为统一且一致的视觉变化。由于引入的3D感知运动表示的灵活性,本文的框架可以通过将用户意图转化为表示中的变化,支持各种与运动相关的应用。


本文转自AI生成未来 ,作者:AI生成未来


原文链接:​​https://mp.weixin.qq.com/s/r9NXjDsuuedxaOmxj8zRFg​

标签
收藏
回复
举报
回复
相关推荐