字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹

本文提出了一种用于细粒度运动控制的新方法Boximator。Boximator可以控制由图片生成的视频中物体的运动轨迹。先圈出图片中的主体,再圈出要移动到位置,即可生成主体从起点到终点移动的视频,可以设置移动路线及圈选多个主体。与SD视频模型兼容,可作为插件使用。

项目主页:https://boximator.github.io

论文地址:https://arxiv.org/pdf/2402.01566.pdf

摘要

Boximator是一种视频合成方法,可以实现精细的运动控制。它引入了硬盒和软盒两种约束类型,用户可以使用这些盒子来定义物体在未来帧中的位置、形状或运动路径。Boximator作为现有视频扩散模型的插件,通过冻结原始权重并仅训练控制模块来保留基础模型的知识。它通过一种新颖的自我跟踪技术来简化盒子-物体相关性的学习。实验证明,Boximator可以实现最先进的视频质量(FVD)得分,并在加入盒子约束后进一步提高。它的鲁棒运动可控性通过边界框对齐度的显著增加得到验证。人类评估也表明,用户更喜欢Boximator生成的结果。

简介

Boximator利用盒状约束作为细粒度运动控制的通用机制。它可以管理前景和背景对象的运动,并通过调整较小的组件来修改较大对象的姿势。用户可以通过绘制盒子来选择对象,也可以通过算法生成的软盒子来控制运动路径。Boximator作为现有视频扩散模型的插件,通过编码盒子约束来实现运动控制。为了训练模型学习盒子和对象之间的关联,引入了一种称为自我追踪的训练技术。通过这种方法,模型可以快速掌握生成正确颜色的边界框,并将其与Boximator约束对齐。

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

我们开发了一个自动数据标注流水线,从WebVid-10M数据集中生成了1.1M个高度动态的视频剪辑,其中包含了2.2M个标注对象。他们使用这个数据集来训练了两个基础模型:PixelDance模型和开源的ModelScope模型。实验证明,Boximator模型在保持原始视频质量的同时,在各种真实场景下提供了强大的运动控制能力。在MSR-VTT数据集上,Boximator在FVD得分上优于基础模型。添加了框约束后,视频质量显著提高(PixelDance:237→174,ModelScope:239→216),目标检测器的平均精度(AP)得分也大幅提高(在MSR-VTT上提高了1.9-3.7倍,在ActivityNet上提高了4.4-8.9倍),突出了有效的运动控制能力。用户研究也表明,相比基础模型,我们的模型在视频质量和运动控制方面有着显著的优势(视频质量增加了18%,运动控制增加了74%)。此外,消融研究证实了引入软框和进行自我跟踪训练以实现这些结果的必要性。

相关工作

视频扩散模型是图像扩散模型的自然延伸,通过添加时间层来扩展U-Net架构。文本到视频(T2V)扩散模型通常是各种条件生成的基础,最近的进展表明T2V的两步方法可以提高视频质量。有关T2V和I2V模型的可控性增强的研究正在增加,例如使用边界框进行运动控制。目前有两种使用边界框进行运动控制的研究,但它们与本文的研究在关键方面存在差异。TrailBlazer和FACTOR都需要文本描述来控制边界框,不支持视觉基础,也不研究训练中的相关挑战。

视频扩散模型

Boximator是基于视频扩散模型和3D U-Net架构构建的。它通过迭代预测噪声向量,逐渐将纯高斯噪声转化为高质量视频帧。3D U-Net由卷积块和注意力块交替组成,每个块包括空间和时间组件。注意力块中的交叉注意力层用于根据文本提示进行条件生成。优化通过噪声预测损失实现。

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

Boximator:盒形运动控制

模型架构

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

我们的目标是为现有的视频扩散模型赋予运动控制能力。为了实现这一目标,我们冻结原始模型参数,只专注于训练新加入的运动控制模块。我们的模型架构如图2所示。在视频扩散模型的每个空间注意力块中,有两个堆叠的注意力层:一个空间自注意力层和一个空间交叉注意力层。我们通过添加一个新的自注意力层来增强这个堆栈。

具体来说,如果v表示一帧的视觉标记,h text和h box表示文本提示和框约束的嵌入,则修改后的空间注意力块描述如下:

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

框嵌入h box是一个控制令牌序列。每个令牌表示一个框,并由以下方式定义:

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

对象ID用于链接帧之间的框,由b id表示,在我们的实验中以RGB空间表示。因此,每个对象对应于其框的唯一“颜色”,使得b id成为一个归一化到[0,1]的3维向量。b flag是一个布尔指示器:对于硬框,它设置为1,否则为0。这三个输入被连接并通过傅里叶嵌入和多层感知机(MLP)进行处理。

数据流程

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

我们从WebVid-10M数据集中筛选出了1.1M个动态视频片段,并使用视觉语言模型生成了图像描述。然后从描述中提取名词短语作为对象提示,并使用预训练的定位模型和物体跟踪器生成了2.4M个边界框。在训练过程中,他们将随机裁剪的视频投影到指定的目标宽高比,并将所有边界框映射到裁剪区域。如果边界框完全超出裁剪区域,则将其投影为线段沿着裁剪区域的边界。这样可以通过在边界上绘制线段来控制对象在画面内外的移动。

自跟踪

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

我们提出了自我跟踪技术,通过训练模型在每个帧中生成彩色边界框来简化问题。该技术可以帮助模型开发适当的内部表示,并且可以在不生成可见边界框的情况下保持框对齐能力。

多阶段训练过程

首先,在第一阶段,使用所有提供的真实边界框作为硬约束来训练模型,以建立模型对坐标和ID的初始理解。然后,在第二阶段,将80%的硬约束替换为软约束,通过随机扩展边界框的四个方向来生成软边界框。最后,在第三阶段,继续第二阶段的训练,但不使用自我追踪技术。

推理

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

在推理阶段,只有少数帧(如第一帧和最后一帧)包含用户定义的框。为了实现稳健的控制,我们在其他帧中插入软框。这是通过首先对用户定义的框进行线性插值来完成的,然后通过扩展框区域(如第4.4节所述)来放松插值框并将其标记为“软框”。这种方法确保对象大致遵循预期的轨迹,同时为模型提供足够的灵活性来引入变化。在用户在帧中绘制硬框并定义运动路径的情况下,我们让框沿着路径滑动以构建每个后续帧的插值框,然后放松它们以形成软框约束。图5展示了两种情况下软框构建的视觉说明。

实验

实验设置

Boximator使用PixelDance和ModelScope两个基础模型进行训练,可以使用文本提示、框约束和第一帧视频作为输入条件。实验使用MSR-VTT、ActivityNet和UCF-101 1数据集进行测试,其中MSR-VTT测试集包含2990个样本,每个样本有20个提示。对于框约束,由于MSR-VTT没有边界框注释,因此使用Grounding DINO和DEVA自动创建参考边界框。为了提高结果的可信度,手动注释了ActivityNet验证集的一部分视频剪辑的边界框。

使用Fr ´echet Video Distance (FVD)和CLIP similarity score (CLIPSIM)进行测量。同时,使用平均精度(AP)指标评估运动控制,计算方法为检测边界框与真实边界框的重叠度。最后,报告了平均平均精度(mAP)作为10个IoU阈值的平均AP。

定量评估

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

在MSR-VTT和ActivityNet数据集上进行了测试。Boximator模型在动态场景处理方面表现出色,通过添加盒子约束可以提高视频质量。在运动控制精度方面,添加盒子约束可以显著提高平均精度得分。需要注意的是,AP得分并不等同于运动控制的成功率。在实验中,更有意义的是关注不同方法之间AP得分的差异。

人类评估

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

通过对100个样本进行用户偏好研究,发现Boximator模型在视频质量和运动控制方面都优于基础模型PixelDance,76%的情况下Boximator模型的运动控制表现更好,视频质量也更受欢迎。这可能是由于Boximator模型使用了盒约束,产生了动态和生动的内容。

消融分析

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

首先,我们在训练过程中排除了自我追踪。观察到排除自我追踪会极大地挑战模型将控制标记与相应对象关联的能力。接下来,我们研究了在推理过程中使用软框的作用。移除这些软框会导致平均精度得分显著下降。最后,我们研究了冻结基础模型权重的影响。结果表明,不需要训练所有U-Net参数。新模型在视频质量和运动控制精度方面与默认模型相似。

案例分析

《字节发表Boximator,为视频合成生成丰富和可控的运动,可以控制由图片生成的视频中物体的运动轨迹》- 投稿作者:灵度智能 - 发布于:GetAI社区

实验结果表明,Boximator能够精确控制物体数量和位置,并且能够生成动态场景和组合对象。该模型的盒子约束能够有效地指导模型生成复杂场景,提高模型的泛化能力。

总结

Boximator是一种控制视频合成中物体运动的通用方法。它利用两种类型的框来允许用户选择任意对象并定义它们的运动,而无需输入额外的文本。它可以建立在任何视频扩散模型上,而无需修改原始模型权重,因此其性能可以随着基础模型的发展而提高。此外,我们提出了一种自我跟踪方法,极大地简化了控制模块的训练。我们相信我们的设计选择和训练技术可以适应其他形式的控制,如与人体姿势和关键点的条件配对。

0

评论0

请先
显示验证码