一、模型介绍
利用统一视频传播模型实现一致的人体图像动画。基于扩散的人体图像动画技术在合成忠实遵循给定参考身份和所需运动姿势序列的视频。尽管如此,仍然存在两个限制:
i)需要额外的参考模型来将身份图像与主视频分支对齐,这显著增加了优化负担和模型参数;
ii)生成的视频通常时间较短(例如 24 帧),阻碍了实际应用。
为了解决这些缺点,我们提出了一个 UniAnimate 框架来实现高效和长期的人体视频生成。
首先,为了降低优化难度并确保时间连贯性,我们通过结合统一的视频扩散模型将参考图像与姿势指导和噪声视频一起映射到一个共同的特征空间中。
其次,我们提出了一种统一的噪声输入,它支持随机噪声输入以及第一帧条件输入,从而增强了生成长期视频的能力。
最后,为了进一步有效地处理长序列,我们探索了一种基于状态空间模型的替代时间建模架构,以取代原始的计算耗时的时态 Transformer。
大量实验结果表明,UniAnimate 在定量和定性评估中都取得了优于现有最先进同类产品的合成结果。值得注意的是,UniAnimate 甚至可以通过迭代使用第一帧调节策略来生成高度一致的一分钟视频。
二、部署流程
1.克隆
git clone https://github.com/ali-vilab/UniAnimate.git
cd UniAnimate
2.创建虚拟环境并安装依赖项
conda create -n UniAnimate python=3.9
conda activate UniAnimate
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia
pip install -r requirements.txt
3.下载预先训练的检查点
- 下载模型
git lfs install
git clone https://www.modelscope.cn/iic/UniAnimate.git
然后您可能需要以下命令将检查点移动到“checkpoints/”目录:
mv ./checkpoints/iic/unianimate/* ./checkpoints/
最后,模型权重将组织 ./checkpoints/
如下:
./checkpoints/
|---- dw-ll_ucoco_384.onnx
|---- open_clip_pytorch_model.bin
|---- unianimate_16f_32f_non_ema_223000.pth
|---- v2-1_512-ema-pruned.ckpt
└---- yolox_l.onnx