本文是VCC陈子冲同学对论文 AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning 的解读,该工作由香港中文大学、上海人工智能实验室、斯坦福大学合作完成,并已被发表在深度学习领域顶级会议ICLR 2024上。
https://animatediff.github.io/
该工作针对个性化文生图模型生成动画的任务,提出了AnimateDiff框架以及MotionLoRA轻量级微调技术,能够在保持高质量图像的同时生成平滑的动画片段,并适应不同的镜头运动模式。文生图 (Text-to-Image) 扩散模型的显著进展使得人们能够通过文本提示创建高质量的视觉内容。以DreamBooth[1]为代表的模型个性化方法通过在小数据集上进行微调,进一步拓展了文生图模型的应用范围。然而,现有的个性化文生图模型的生成内容通常仅限于静态图像,在实际应用中,如电影、动画制作等领域,难以满足用户对动态内容的需求。
本文介绍了一个AnimateDiff框架,通过预训练运动模块即插即用的方式,能够将现有个性化文生图模型转换为动画生成。AnimateDiff中的运动模块训练分为三个阶段:首先是对文生图模型添加一个域适配器,通过训练使生成模型的视觉分布与目标视频数据集对齐;接着是引入一个新初始化的运动模块对动作进行建模,使用大量视频数据对运动模块训练以学习运动先验,使得扩展后的文生图模型能够生成平滑动画;最后是根据用户偏好微调MotionLoRA,允许通过少量参考视频数据和微调训练来适应新的镜头运动模式。该方法能够通过即插即用的方式直接将训练好的运动模块插入到其他个性化文生图模型中,同时也可以集成到如ControlNet的内容控制方法中,从而实现高质量的个性化可控动画生成。本工作主要贡献如下:
提出了AnimateDiff框架,允许个性化文生图模型获得动画生成能力而无需特定的微调;
验证了Transformer架构在建模运动先验知识方面具备足够的性能;
提出MotionLoRA轻量级微调技术,用于将预训练的运动模块适配到新的镜头运动模式;
全面评估了AnimateDiff和MotionLoRA的性能,通过与现有方法的对比展现该方法的优越性,并展示其与现有可控生成工作的兼容性。
AnimateDiff的核心是从大量的视频数据中学习运动先验知识,并将其融入个性化文生图模型中,实现平滑的动画生成。AnimateDiff框架对基础的文生图模型增加了三个组件:域适配器、运动模块和MotionLoRA,每个组件在不同的训练阶段分别单独训练。模型推理时,丢弃域适配器并通过运动模块和MotionLoRA两个组件共同作用,实现将文生图模型从静态图像生成到高质量动画生成的转换。图1是AnimateDiff的训练流程。
视频数据集的视觉质量通常比图像数据集低,为了避免将这种质量差异作为运动模块学习的一部分,AnimateDiff提出将域信息适配到一个单独的网络,并将其称为域适配器。在实现上,AnimateDiff使用LoRA[2]作为网络层,并加入到文生图模型自注意力模块和交叉注意力模块的映射层中。以Q的特征映射为例,加入适配层 (AdapterLayer) 后Q计算为:域适配器用于适配域信息,在模型推理时会被丢弃以减少域差异对生成质量的负面影响。
运动模块用于建模时间维度上的运动动态,学习运动先验并将其与文生图模型的高质量内容先验相结合,以实现文本指导的动画生成。运动模块的实现采用Transformer架构,沿时间维度操作自注意力机制,称为Temporal Transformer,具体结构如图1中间部分所示。 运动模块捕捉了一般的运动先验,然而对于一些特定的镜头运动,如相机缩放、平移、旋转等,其动画生成质量会有所下降。为此,AnimateDiff通过对运动模块进行LoRA微调的方式 (MotionLoRA) 实现镜头运动的个性化学习。使用LoRA微调的方法,允许从少量的参考视频数据中学习特定的运动模式。 AnimateDiff的训练分为三个阶段,分别训练域适配器、运动模块和MotionLoRA。其中,域适配器的训练数据为从视频数据采用的静态帧,而另外两个组件的训练数据为完整的视频片段。在每个训练阶段,除了当前的训练组件,其他模型参数都会被冻结。三个阶段的训练损失均与一般扩散模型的训练损失函数一致。在推理时,AnimateDiff通过插入运动模块和可选的MotionLoRA到个性化文生图模型中,以实现动画生成。AnimateDiff默认生成16帧动画片段。
图2展示的是AnimateDiff与两个现有工作的对比。明显可见,AnimateDiff生成的动画片段更加平滑。
在定量对比方面,该工作通过用户调研和CLIP[3]指标对文本对齐度、域相似性以及运动平滑度三个角度进行评估。表1展示了定量对比结果,总体上AnimateDiff要优于其他两个方法。
另外,该工作对域适配器的缩放因子、MotionLoRA的效率展开了实验分析。图3展示了域适配器的缩放权重对生成结果的影响。结果表明,随着缩放因子的降低,整体视觉质量逐渐提高,减少了从视频数据集中学习到的视觉内容分布的影响。对于MotionLoRA的效率分析,实验以镜头放大的运动模式为例。图4展示的是参数选择和训练数据量对MotionLoRA的影响。结果表明,MotionLoRA即便在较小的参数规模和适度的参考视频数据的情况下,也能够成功学习新的镜头运动模式。然而,在训练数据量极少 (N=5) 的时候,生成质量明显下降,表明MotionLoRA此时难以学习共享的运动模式。图4 MotionLoRA的秩(rank)和训练数据量(N)对结果的影响AnimateDiff将个性化的文本生成图像 (T2I) 模型直接转换为动画生成模型,同时保持了图像质量和域知识的完整性。另外通过MotionLoRA的微调技术解决了镜头运动个性化的问题,显著提高了训练和推理的效率。
未来的工作可以进一步探索AnimateDiff在更广泛的领域中的应用,提升复杂场景下的动画生成效果,并结合更多的控制方法,以满足多样化的创作需求。Q: AnimateDiff能够在不同的运动类别上都表现良好吗? A: AnimateDiff在常见和相对简单的运动模式上表现相对较好,比如流体运动、刚性物体以及简单的人体动作;但是在面对复杂和稀有运动的时候仍然存在局限性,例如,在模型被指示生成带有剧烈运动的动画时,很可能生成静态动画或不自然的变形。造成这一局限性的主要原因是训练数据中包含这些复杂而稀有的镜头运动的样本非常少。 Q: MotionLoRA的学习能力怎么样?可以通过文本直接触发生成动画的运动模式吗? A: 总的来说,MotionLoRA是基于预训练阶段获得的运动先验进行细化和增强,并不是完全从零开始学习新的运动模式。所学习的运动先验并不总是能够通过文本触发,文本无法保证顺利触发动画运动模式的主要原因还是源于训练数据的质量,视频数据中对动画镜头的运动标签通常非常粗略。因此借助MotionLoRA能够更好地表达一些特殊的运动先验。 Q: MotionLoRA并不是通过简单的文本提示来学习新的运动模式,而是通过增强和细化已有的运动先验来实现更复杂的运动生成,有没有更快更高效的方式来学习一种新的运动模式呢?
[1] Nataniel Ruiz, Yuanzhen Li, Varun Jampani, Yael Pritch, Michael Rubinstein, Kfir Aberman. DreamBooth: Fine tuning text-to-image diffusion models for subject-driven generation. Conference on Computer Vision and Pattern Recognition (CVPR). 22500-22510, 2023.
[2] Edward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, Weizhu Chen. LoRA: Low-rank adaptation of large language models. International Conference on Learning Representations (ICLR). 2022.
[3] Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, and Ilya Sutskever. Learning transferable visual models from natural language supervision. International Conference on Machine Learning (ICML). 8748-8763, 2021.
Visual Computing Research Center----------------------------------
中心以计算机图形学、计算机视觉、可视化、机器人、人工智能、人机交互为学科基础,致力促进多个学科的深入交叉与集成创新,重点推进大规模静动态数据获取与优化融合、多尺度几何建模与图像处理、可视内容生成与仿真渲染、复杂场景重建与识别理解、三维移动协同感知与人机交互、智能模拟学习与强化认知、海量信息可视化与可视分析等方面的科学研究。