阿里发表DreaMoving,基于扩散模型的人类视频生成框架,高质量舞蹈视频生成

DreaMoving: A Human Video Generation Framework based on Diffusion Models

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

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

Github地址:https://github.com/dreamoving/dreamoving-project

摘要

DreaMoving是一个扩散控制视频生成框架,可以生成高质量的定制人类视频。给定目标身份和姿势序列,DreaMoving可以生成目标身份在任何地方移动或跳舞的视频。为此,提出了一个运动控制的Video ControlNet和一个内容指南者Content Guider。该模型易于使用,可以适应大多数风格化扩散模型以生成多样化的结果。

简介

本文介绍了一个基于扩散模型的人类舞蹈视频生成框架DreaMoving。该框架解决了人类舞蹈视频生成中的个性化和可控性问题,提供了更精确的运动模式控制。该框架的优点在于可以生成具有帧内一致性、更长的长度和多样性的视频。该框架的缺点在于需要更多的人类舞蹈视频数据集和相应的精确文本描述。

架构

DreaMoving是基于Stable-Diffusion模型的,包括三个主要网络:去噪U-Net、视频控制网络和内容引导器。在U-Net和控制网络的每个块后面插入运动块。视频控制网络和内容引导器作为Denoising U-Net的两个插件,前者负责运动控制,后者负责外观表示。

《阿里发表DreaMoving,基于扩散模型的人类视频生成框架,高质量舞蹈视频生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

数据收集和预处理
作者从互联网上收集了约1000个高质量的人类舞蹈视频,将其分割成约6000个短视频,用于训练时间模块。作者使用Minigpt-v2作为视频字幕生成器,使用“grounding”版本,指令是[grounding] describe this frame in a detailed manner。中心帧的生成字幕代表了整个视频剪辑的描述,主要描述了主体和背景的内容。
Motion Block

为了提高时间一致性和运动保真度,作者在Denosing U-Net和ControlNet中加入了Motion Block。Motion Block是从AnimateDiff扩展而来的,时间序列长度为64。作者首先从AnimateDiff中初始化Motion Block的权重,然后在私人人类舞蹈视频数据上进行微调。

Content Guider

Content Guider用于控制生成视频的内容,包括人物外貌和背景。为了更精确地指导人物外貌,该方法使用图像提示来编码面部特征,可选地使用衣服/身体图像来编码身体特征。同时,使用文本提示来生成背景。最终,将文本和人物外貌特征拼接成内容嵌入,并通过交叉注意力层进行人物外貌和背景表示。

《阿里发表DreaMoving,基于扩散模型的人类视频生成框架,高质量舞蹈视频生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

模型训练

Content Guider训练

Content Guider是一个独立模块,用于基础扩散模型。它使用SD v1.5进行训练,并使用OpenCLIP ViT-H14作为图像编码器。为了更好地保留参考脸的身份,我们使用Arcface模型提取面部相关特征。在训练过程中,我们从LAION-2B收集人类数据,并过滤掉没有面部的图像。Content Guider在单台机器上使用8个V100 GPU进行100k步的训练,每个GPU的批量大小为16,使用AdamW优化器,固定学习率为1e-4,权重衰减为1e-2。

Long-Frame预训练

预训练阶段,将Motion Block的序列长度从16扩展到64。在这个阶段中,只训练了Denoising U-Net的Motion Block,并冻结了网络的其余部分。没有使用ControlNet和图像引导。训练停止后,使用批量大小为1的256×256分辨率的验证集(5k个视频剪辑)。学习率设置为1e-4。

视频ControlNet训练

在Long-Frame预训练阶段,使用大量的视频数据对Motion Block进行预训练。在视频ControlNet的训练阶段,使用人类舞蹈视频数据对网络进行训练,输入为人体姿态或深度信息。训练过程中,使用去噪U-Net对网络进行优化。最终的网络能够实现对视频的控制。

Expression微调

通过在收集的6k人类舞蹈视频数据上训练视频ControlNet,进一步微调Denoising U-Net中的Motion Block,以获得更好的人类表情生成性能。在此阶段,仅更新Denoising U-Net中的运动块权重,学习率设置为5e-5,分辨率为512×512。训练停止后,批量大小为1,共进行了20k步。

模型推理

使用文本提示、参考图像和姿态或深度序列作为输入,在推理阶段控制视频ControlNet的比例为1.0。该方法还支持多个ControlNet的形式,深度和姿态Video ControlNets可以同时使用。通过调整公式1中的αf和αc来控制Content Guider中面部/身体指导的强度。如果αf = αc = 0,则内容完全由文本提示控制。

结果

DreaMoving是一个可以根据给定的指导序列和简单的内容描述(仅限文本提示、图像提示或文本和图像提示)生成高质量和高保真度视频的工具。用户可以通过输入面部图像来保持面部身份,并使用内容指导器生成特定人物的视频。此外,用户还可以定义面部内容和服装内容。该方法在未见领域的图像上进行了进一步的测试,结果显示我们的方法能够根据输入图像的风格和内容生成相应的视频。

《阿里发表DreaMoving,基于扩散模型的人类视频生成框架,高质量舞蹈视频生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

《阿里发表DreaMoving,基于扩散模型的人类视频生成框架,高质量舞蹈视频生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

《阿里发表DreaMoving,基于扩散模型的人类视频生成框架,高质量舞蹈视频生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

《阿里发表DreaMoving,基于扩散模型的人类视频生成框架,高质量舞蹈视频生成》- 投稿作者:灵度智能 - 发布于:GetAI社区

0

评论0

请先
显示验证码