最近AIGC领域的新工作几乎呈现一种井喷式的发展,借助AI模型天马行空的想象力,研究者们开始在各种图像和视频内容领域发力,本文介绍一篇发表在NeurIPS 2022 Dataset and Benchmark Track上的新工作。该工作并非是像近期提出的扩散模型去生成一些图像和视频,而是瞄准了计算机动漫创作方向,作者指出现有的2D动画片数据集存在画面构成简单且角色动作单调的问题,这使得它们不足以模拟真实的动画。
论文链接:
https://arxiv.org/abs/2211.05709
项目主页:
https://lisiyao21.github.io/projects/AnimeRun
代码链接:
https://github.com/lisiyao21/AnimeRun
为了解决这一问题,作者团队提出了一种新的大规模2D视觉一致性动画数据集AnimeRun,将开源的3D电影转换为2D风格的完整画面,同时保留有原始画面中移动的背景和多个主体角色之间的交互动作。为了提高数据集质量,作者遵循视觉一致性,为每一帧提供了灰度轮廓和彩色图片,同时提供了像素级别和区域级别的ground-truth,其中像素级别标签为光流图像,区域级别标签为图像分割图,如下图所示:
随后作者进行了一系列的数据集分析,分析结果表明,与现有的数据集相比,AnimeRun不仅在图像构成方面更加接近真实的动画数据,而且包含有更丰富、更复杂的角色运动模式。在该数据集的基础上,作者进一步提出了一个较为完善的Benchmark,并与目前已有的光流和片段匹配方法进行了实验对比,丰富了整体的实验框架。
一、引言
本文的核心灵感来源于计算机视觉任务中天然存在的视觉一致性(Visual Correspondence),尤其对于二维动画来说,找到相邻帧的精确视觉对应关系对模型训练具有很大的帮助。例如我们可以通过区域轮廓的一致关系将参考帧中的颜色分布传播到目标帧中实现视频自动上色。也可以使用像素一致关系对图像进行细粒度编辑进而得到帧插值模型。这些视觉一致性范式在自然场景中的数据具有非常好的效果,但其仍无法很好的适用于2D动画数据上。本文作者认为,这是因为自然图像序列中包含具有不同阴影和模糊的复杂纹理,而动画数据通常由具有明确轮廓线的平面彩色块构成,二者有本质上的域差距。因此本文针对2D动画提出了一个大规模数据集来缓解这一问题。
目前制作收集动画数据集的常用方法是使用计算机图形软件(例如Blender)将3D模型渲染成2D风格,这种方法可以快速合成大量的数据,而不需要为每个场景进行专门的调整。但是由于渲染模型固定,其不可避免地导致构图单调,因此在模拟真实的动画方面存在不足。鉴于这些缺陷,作者在制作AnimeRun数据集时使用了上图所示的流程,作者选用的原数据是具有工业级3D电影的完整场景,首先对其生成彩色图像和轮廓图,随后对视频序列进行密集光流估计和图像分割来得到像素级别和区域级别的标注图。由于选用的原数据包含丰富的背景信息,例如室内、雪山、矿山和森林,还含有复杂的交互动作,直接将其转换为2D风格会带来很多误差。为了解决这一问题,作者在保留电影中的主要角色和动作的前提下,系统地对每个电影剪辑进行一系列调整,以提高与2D动画风格的兼容性,并确保对应标签的准确性。
与现有数据集相比,AnimeRun具有同步背景变化的全场景动画,同时提供多个对象/角色交互和遮挡示例,而且包含有更复杂的角色运动。上图展示了AnimeRun与其他数据集的对比。作者总结本文具有以下三个方面的贡献:
1. 作者通过将开源的3D动漫电影转换为2D风格,制作了该领域第一个全场景视觉一致性动画数据集。
2. 本文分别在像素级和区域级层面上提供了细粒度的对应标签。
3. 作者在所提AnimeRun数据集的基础上构建了该领域第一个2D动画视觉一致性实验基准。
二、AnimeRun数据集
AnimeRun的构建涉及多个方面,其中包含作者团队对于2D动画风格的定义和实际的渲染设置,以及对于视觉一致性标签的生成机制。除此之外,作者还在统计层面对AnimeRun与其他动画数据集进行了全方位多层次的数据分析和对比,下面我们将详细介绍其中的技术细节。
2.1 2D动画风格和渲染设置
对于色彩、线条艺术和纹理方面,作者观察到2D动画的一个典型的特点是,其中所有的主体都会被明确的勾勒出来,而轮廓线的闭合通常被着色为相同的颜色。根据这一观察,作者使用Blender的Workbench引擎将3D模型渲染成扁平化的颜色段,并通过启用轮廓和自由风格选项来合成轮廓线,如下图所示。
为了给单调的灰度线条增加艺术感,作者通过将所有材料设置为白色来渲染画面,并应用γ=0.2的伽玛校正来增强对比度。当电影涉及到头发、毛衣或喷雾等材料时,作者利用粒子效应来模拟大量微小而密集的实例,以获得更真实的外观。除了粒子效果之外,不可见的环境资源(例如雾块或发光板)通常被用来模拟自然的灯光,这些资源被渲染为实体对象,但是由于其在2D风格的引擎下会遮挡住主要人物,因此在最终的数据中这一部分会被移除。
作者还发现在渲染进程中启用景深虚化效果(DoF,depth of field)会导致物体和背景之间的边界模糊,如下图所示,因此在最终的渲染操作中取消了这一效果。
由于原有的动漫电影中都包含了丰富的专业的摄像机运动操作,包括平移、旋转和主体追踪。然而,在计算运动矢量时,Blender的默认设置会忽略相邻帧之间的焦距变化,从而导致光流估计错误。为了避免得到不准确的标签,作者将这种运动替换为沿固定焦距方向的位置移动。
2.2 视觉一致性标签生成
2.3 AnimeRun与其他数据集的统计比较
为了更全面的评估AnimeRun的制作合理性和技术可行性,作者选取了另外两个动画数据集分别在图像层面、光流层面和区域性等多个层面与AnimeRun数据集进行了统计对比。另外两个数据集分别是ATD-12K[2]和CreativeFlow+[3],前者为真实动漫数据集,后者为生成数据集,对比结果如下图所示。
上图(a)展示了不同数据集的色彩分布情况,其中CreativeFlow+(绿色曲线)在高亮度中显示出较大的比例,这与原生动画产生了差异,相比之下,AnimeRun的颜色增强数据与ATD-12K的分布更接近。在图像导数方面,作者计算了水平一阶差,并在图(b)中展示了对数直方图。可以看到AnimeRun的对数分布相比其他数据集的求和绝对差值(SAD)更小。在评估像素级标签时,作者计算了每个像素与真实光流的位移幅度,并计算出对数直方图,如图(c)所示。
此外对于数据集区域性的统计也同样重要,因为颜色片段区域可以看作是2D动画的基本组成部分,一个真实的卡通帧可以由数百个颜色片段区域组成,与现有的数据集相比,由于AnimeRun完成了对完整场景的渲染,因而其由更丰富的片段组成。如下表所示,每一帧的平均段数达到237个,更加接近真实动画数据集ATD-12K中的数量。
三、实验基准
在实验基准设计方面,作者将渲染得到的片段分成训练集和测试集,其中训练集包含1760帧,测试集有1059帧。为了评估的公平性,作者将一部电影的连续运动分成不同的子集,这样做可以防止算法简单地复用前几帧的运动模式来得到更高的分数。实验基准包括像素级和区域级两部分,对于像素级测试,作者使用常用的光流方法PWC-Net、RAFT、GMA和GMFlow进行评估。对于区域性测试,作者使用分段匹配方法AnT作为基线。
像素级测试的对比结果如下表所示,使用平均端点误差(EPE,average end-point error)作为评价指标。
在区域级测试中,作者并没有去预测每个像素的运动矢量,而是将每个片段作为一个单元,目标是为原始帧中的每个片段找到目标帧中的对应片段。因此,区域性测试可以转换为一个离散匹配问题,作者通过计算预测对应关系的平均准确率(ACC)作为评价指标,实验结果如下表所示。
四、总结
本文可以看作是AI动画领域一个具有里程碑意义的工作,提出并制作了目前第一个全场景的二维动画视觉一致性数据集AnimeRun,该数据集从高质量的3D电影出发,由连续的二维动画帧和像素级以及区域级的对应标签组成,其不仅包含有丰富的图像场景内容,而且涵盖了复杂多变的角色运动,可以很好的模拟真实世界中的动画。基于该数据集,作者还建立了一个基准来完善这一新领域的研究路径。作者希望能够通过AnimeRun数据集来激发出更多AI模型进行动画创作的应用。
参考
[1] Song-Hai Zhang, Tao Chen, Yi-Fei Zhang, Shi-Min Hu, and Ralph R. Martin. Vectorizing cartoon animations. IEEE TVCG, 15(4):618–629, 2009.[2] Li Siyao, Shiyu Zhao, Weijiang Yu, Wenxiu Sun, Dimitris Metaxas, Chen Change Loy, and Ziwei Liu. Deep animation video interpolation in the wild. In CVPR, 2021.[3] Maria Shugrina, Ziheng Liang, Amlan Kar, Jiaman Li, Angad Singh, Karan Singh, and Sanja Fidler. Creative flow+ dataset. In CVPR, 2019.