本文发表于2011年。
Abstract
我们提出了一种新颖的基于草图的2D动画技术,该技术允许用户有效地产生2D角色动画。它由两部分组成:基于草图的骨架驱动2D动画制作和2D运动捕捉。用户输入角色的一个图像,并为每个后续帧绘制骨架。系统使角色变形并自动创建动画。为了执行2D形状变形,引入了变长针模型,将变形分为两个阶段:骨骼驱动变形和关节区域的非线性变形。它保留了局部几何特征和全局区域。与现有方法相比,它降低了计算复杂度并产生了合理的结果。由于我们的技术是骨骼驱动的,因此可以通过跟踪关节位置来捕获角色的运动并将其重新定位到新角色。这有利于重用现有运动图像中包含的运动特征,从而使艺术家和新手都可以轻松地生成卡通。
关键字:草图,骨架,卡通,2D形状变形,运动捕捉。
1、Introduction
基于草图的动画由于其直观性和作为角色建模和动画的有用工具的重要性,已在计算机图形学领域越来越受欢迎。已经发表了许多论文[1,2,3],并且已经将几种技术开发到商业软件中,例如[4]。借助基于草图的技术,动画师可以将其2D图纸直接转换为3D模型。建模人员/动画师不必一步一步地处理细节,而是可以在早期阶段可视化和评估快速原型化的模型,可以使用其他3D工具对其进行进一步完善以满足实际需求。但是,与3D动画的进步相比,2D动画并未从这些优点中受益。大多数专业的卡通工作室仍然手动制作大量动画(关键帧和中间帧)[5],这是一个费力且耗时的过程。关键帧和中间帧的生成是2D动画制作中最重要且最费力的两个步骤。为了最好地利用动画师的时间,关键帧是由熟练的关键帧制定者绘制的,而中间帧则是由经验不足和熟练的人(称为中间帧)绘制的。虽然有些软件工具,例如Animo,Toon Boom [6]有助于生成中间帧,与人类中间帧创建的帧相比,它们通常缺乏“个性”。动画制作人员必须对介于两者之间的软件进行调整,以使动画具有“个性”。实际上,许多中间值仍然是手动创建的。
受骨骼驱动的3D动画技术和2D变形的最新进展(例如[7],在本文中,我们提出了一种新技术,旨在在不牺牲质量的前提下提高2D动画制作的自动化程度。我们的方法包括两个部分,第1部分:2D动画序列生成和第2部分:运动捕获和重新定位。第1部分可以独立用于创建动画序列。如果将其与第2部分结合使用,则可以轻松地重用现有动画序列的“动作”并将其应用于其他角色。我们技术的主要应用是2D动画制作。但它也适用于交互式图形系统,在该图形系统中,用户可以通过移动其骨骼直接使2D形状变形。由于使用起来非常简单,因此,我们希望这种方法不仅对专业的卡通制作公司感兴趣,而且对于创建2D动态图形的新手也很重要。
与第1部分相关的最重要的问题是切实有效地处理字符的复杂形状变形。对于给定方向上的角色(例如,侧视图,前视图或后视图),我们首先通过分析边界曲线的几何形状来生成其骨架。类似于3D角色,骨骼充当驱动结构并控制角色的变形。为了使角色变形,我们引入了所谓的变长针模型,并提出了一种称为骨架驱动+非线性最小二乘法优化的算法。这个想法是将2D形状变形分为两个部分。第一个是骨骼驱动的变形,它完全由角色骨骼的相应部分控制;另一个是非线性最小二乘优化,用于计算与骨骼关节相关的关节区域的变形。我们的观察表明,在动画过程中,最复杂的变形发生在角色的关节区域周围。为了提高计算效率,将骨骼驱动的变形简单地视为线性变换。非线性最小二乘法优化仅解决了关节区域的变形。为了确保逼真的变形,在动画过程中将最大化诸如边界特征和局部保留的属性。变长针模型也很容易实现全局保护的特性。因此,一旦给出了第一帧,动画师就可以通过为每个后续关键帧绘制骨骼来轻松创建动画序列。系统将自动生成变形的角色形状,从而节省了动画制作者绘制整个帧的时间。
尽管存在大量的视频,卡通和传统的2D运动图像,但是由于2D动画的特殊特征和原理,很少有有效的方法来利用这些丰富的资源[8,9]。第2部分的主要目标是弥补这一明显的差距。由于我们的卡通制作技术是基于骨骼的,因此我们自然可以借鉴3D动画中的运动捕捉概念,以捕捉2D动画序列的“运动”。在3D动画中,动画期间3D角色的骨架长度通常是恒定的。然而,在2D情况下,以挤压和拉伸的形式改变特征长度是动画最有力和最富表现力的原理之一[8]。在本文中,我们将证明,通过我们的方法,我们可以使用2D骨架来表示这些重要且富有表现力的变换。
将捕捉到的动作重新定位到其他角色已经在3D动画中进行了广泛研究,例如[10]。我们提出一种通常用于计算机视觉的基于特征区域的跟踪方法,以提取视频或图像序列中2D对象的运动。我们将混合优化策略与模板匹配和卡尔曼预测相结合。一旦用户在第一个帧中找到了角色的所有关节区域,系统就会在随后的帧中自动跟踪关节的运动。然后将捕获的运动信息重新定位到新2D角色的预定义骨架,以生成变形(动画)。需要注意的是,跟踪在计算机视觉中已经得到了很好的研究,我们的目的不是开发新的跟踪方法。新颖的是使用这种技术来捕获2D运动,到目前为止,这仍然是一个尚未解决的问题。据我们所知,不存在有效的2D运动捕捉方法,该方法足以用于2D动画制作。本文有三个主要贡献:
1.我们提出了一种基于草图的骨架驱动2D动画技术,用于卡通人物。要生成新的关键帧,用户只需绘制骨架即可。
2.为了处理2D形状变形,我们开发了一个变长针模型,并介绍了骨架驱动+非线性最小二乘法优化算法。与其他方法相比,它更有效并且能够产生具有挤压和拉伸效果的合理变形。
3.我们引入了一种简单的基于骨骼的2D运动捕获方法,该方法可以通过跟踪关节的运动从卡通,视频和渲染的运动图像序列中提取运动。同时使用几何和视觉特征,可以防止运动图像中的自遮挡和特征消失。
本文的其余部分安排如下:在第2节中讨论了相关工作。在第3节中介绍了基于草图的骨骼驱动2D动画技术,在第4节中介绍了运动捕获方法。第5节给出了实验结果并与以前的方法进行了比较。局限性和未来可能的改进将在第6节中讨论。
2、Related Work
以前有关2D角色动画的大量工作[7,11,12,13]。 在这里,我们仅讨论最相关的发展,包括2D形状变形和运动捕捉。
2D形状变形:最新的2D变形技术是基于控制点的。尽管骨骼被结合到一些商业包装中,但目的主要是帮助角色造型,而不是使角色变形或动画化[6]。Igarashi等 [7]设计了一个“尽可能严格”的动画系统,该系统允许用户通过操纵一些控制点来变形2D角色的形状。
为了降低成本,作者提出了一种两步变形算法,将其简化为两个线性最小二乘最小化问题。由于它仅近似于原始问题,因此由于其线性特征可能会产生难以置信的结果。翁等[13]提出了一种基于非线性最小二乘优化的二维形状变形算法。作者使用非二次能量函数来表示该问题,从而获得了更合理的变形结果。但是,迭代解决方案的计算成本更高。 Schaefer等 [14]提出了一种基于线性最小二乘法的二维形状变形算法。它避免了输入图像的三角剖分,并且全局地执行平滑变形。他们还将这种基于点的变形方法扩展到了线段。但是,正如作者承认的那样,该方法使整个图像变形,而与对象的拓扑无关。这个弱点限制了它在2D角色动画中的使用。 Wang等 [15]提出了另一种基于刚性平方匹配思想的二维变形技术。他们使用统一的四边形网格作为控制网格,而不是使用三角形网格。由于所获得的变形非常刚性,因此不适用于软物体,并且无法保留全局区域。以上所有方法均采用全局优化。这种全局优化的一个缺点是,即使发生很小的姿态变化,所有三角形的形状也需要重新计算。这在计算上是昂贵的,并且在许多情况下不是必需的。在我们的实现中,我们将形状变形分为两个部分:骨架驱动变形和关节区域的非线性变形。前者可以看作是线性变换,而后者可以通过非线性最小二乘法优化来解决,但仅适用于局部区域。这种局部优化方案降低了计算成本,并且仍然可以实现合理的变形结果。
运动捕捉和重定目标:关于运动捕捉和重定目标的大多数研究都集中在3D动画上[10,16]。已经开发了许多有效的算法,并使许多应用受益,包括计算机游戏和电影特效。相反,对2D动画所做的工作很少。 Bregler等 [17]