文章目录
1. 概述
虚拟角色动画一直是虚拟现实(VR)中的一个基本研究问题。面部动画在传达虚拟人的情感和态度方面起着关键作用。然而,创建这样的面部动画具有挑战性,因为目前的方法通常涉及昂贵的动作捕捉设备或需要人类动画师投入大量时间和精力来调整动画参数。在本文中,我们提出了一种整体解决方案来自动动画化虚拟人脸。在我们的解决方案中,首先训练了一个深度学习模型,通过估计混合形状系数,将输入面部图像的面部表情重定向到虚拟人脸。这种方法提供了生成不同外观和混合形状拓扑的角色动画的灵活性。
其次,我们开发了一个实用工具包,使用Unity 3D,使其兼容最流行的VR应用程序。该工具包接受图像和视频作为输入来动画化目标虚拟人脸,并允许用户操控动画结果。此外,受“人类在环”(HITL)理念的启发,我们利用用户反馈进一步提高了模型和工具包的性能,从而增加了定制化属性以适应用户偏好。整个解决方案(代码将在https://github.com/showlab/BYOC公布)有潜力加速面部动画的生成,以供VR应用使用。
2. 背景介绍
虚拟现实(VR)技术因元宇宙的流行而越来越受到关注。在构建虚拟角色时,创建生动逼真的面部动画至关重要,因为它们可以直观地传达情感和感觉,在各种VR应用中发挥着关键作用,例如增强VR游戏中的情感挑战体验。然而,便捷地创建多样化的面部动画并非易事。传统方法通常使用专用动作捕捉设备来跟踪人类演员的关键点并将其复制到虚拟角色上。工业中的方法通常涉及使用系数组合肌肉运动来创建面部动画。在这种方法中,面部表情通常被视为脸部不同肌肉运动的叠加。因此,一种称为blendshape的实用高效的面部表示法被设计出来,用于控制头像的面部表情。每个blendshape代表了与中性面部相关的一个单一动作单元。
目前,面部blendshape系数主要由人类专家获得。通过深刻理解每个blendshape的含义,人类动画师通常需要根据他们对所需面部表情的想象来确定blendshape系数。或者,他们可能使用试错方法参考所需的面部表情微调系数。这两种方式都耗时费力。最近,一些商业软件提供了基于视频或音频输入计算blendshape系数的功能。它们通常将输入信号投影到预定义的blendshape空间中,显示出令人满意的结果。然而,在更广泛的VR应用中,通常会引入外观和拓扑不同于预定义的自定义虚拟角色。据我们所知,现有解决方案在为自定义虚拟角色创建动画方面仍存在空白。为了解决这一问题,我们提出了一种综合解决方案,专门针对具有不同外观和blendshape拓扑的自定义虚拟角色自动生成面部动画。通过这样做,我们的目标是减轻人类动画师的工作负担,并扩大使用和应用的范围。
我们的解决方案的主要思路如图1所示。我们首先提出了一种深度学习模型来重新定向参考面部表情图像。通过估计能够在目标虚拟角色上复制参考面部表情的blendshape系数来实现这一目标。该模型由一个基础模型和一个适配器模型组成。基础模型负责从给定的参考图像中提取通用的3D面部参数。适配器模型旨在将通用的3D面部参数适配到特定的blendshape系数。特别地,基础模型是角色无关的,即预训练后可适用于所有角色。适配器模型是拓扑感知的,即对虚拟角色的blendshape拓扑敏感。一旦训练完成,整个模型就可以兼容不同纹理外观的虚拟角色,并且通过简单地在自动生成的数据集上微调适配器,可以快速适应具有新blendshape拓扑的虚拟角色。
然后,我们在Unity3D中开发了一个工具包,以提供一个用户友好的界面与所提出的模型结合使用,并在设计上引入用户反馈。该工具包接受视频或图像作为输入。对于视频输入,工具包将输出与视频同步的虚拟人类动画。对于图像输入,工具包通过将图像中的面部表情视为峰值强度来生成平滑的面部动画。工具包提供了用户界面来修改生成的结果,例如调整一些不满意的blendshape系数值或突出感兴趣的关键帧。此外,用户反馈将被用来进一步提高工具包和内部模型的性能。在某些关键帧上的即时反馈充当当前动画的用户偏好,可以快速应用于所有帧,加速动画生成过程。最后,评估了所提出的深度学习方法在面部动画方面的有效性,并对开发的工具包进行了功能可用性和用户体验的测试。
这项工作贡献了一种针对自定义角色的自动面部动画生成的整体解决方案,包含三部分:(1)我们提出了一种基于深度学习的方法,通过估计blendshape系数来重新定向参考面部表情。这种方法在生成具有不同外观和blendshape拓扑的角色动画方面比以前的方法更灵活,拓宽了使用范围。(2)我们开发了一个工具包,封装了所提出的深度学习方法。该工具包提供了一个实用的用户界面,用于实时调整,并利用“人类在环”来提高工具包和内部模型的性能。(3)我们评估了所提出模型的有效性和工具包的可用性,这可能为虚拟角色动画领域的未来工作提供灵感。此外,我们将公开整个解决方案的代码,以造福更广泛的使用案例。
3. 方法
3.1 方法概述
在本节中,我们提出了一种基于深度学习的方法,用于估计基于2D人脸图像的blendshape系数。方法概述如图2所示。任务可以正式描述如下:给定表示参考面部表情的2D人脸图像,该方法估计一组blendshape系数,这些系数可以在3D虚拟人类模型上再现参考面部表情。所提出的方法主要包括两个模型。首先,使用一个基础模型根据给定的人脸图像回归一组3DMM面部参数。这个3DMM面部参数可以看作是三维空间中面部的表示向量。接下来,提出了一个适配器模型,将3DMM的表情参数适配到目标blendshape系数。我们将在3.2节和3.3节分别介绍每个单独的模型。然后在3.4节介绍训练和测试的细节。
3.2 基础模型
3DMM参数包括身份、表情和纹理,以及姿势和光照等相机参数。在3DMM的参数空间内,面部的形状 S S S和纹理 T T T可以使用以下方法表示:
其中, S S S表示平均面部形状, T T T表示平均面部纹理, B id B_{\text{id}} Bid、 B exp B_{\text{exp}} Bexp和 B t B_t Bt分别表示身份、表情和纹理的PCA基向量。这些基向量是一组通过主成分分析获得的正交向量。相应地, β \beta β、 γ \gamma γ和 δ \delta δ分别表示身份、表情和纹理的参数。在我们的实现中,使用了流行的2009年巴塞尔面部模型\cite{29}来构建 S S S、 B id B_{\text{id}} Bid、 T T T和 B t B_t Bt,而表情基 B exp B_{\text{exp}} Bexp则来自FaceWarehouse\cite{10}数据集。
我们采用基于ResNet-50的神经网络模型来回归3DMM参数。在训练过程中,给定一张RGB图像 I I I,神经网络模型用于回归3DMM参数和相机参数。随后,这些参数用于可微分的3D人脸重建和渲染,从而得到重建图像 I ′ I' I′。公式如下:
其中 β , γ , δ , p , l \beta, \gamma, \delta, p, l β,γ,δ,p,l分别表示身份、表情、纹理、姿势和光照参数。
基于 I I I和 I ′ I' I′,该方法采用图像级损失和感知级损失的联合训练方法来优化模型。图像级损失包括像素损失和标志点损失。像素损失函数的公式如下:
它衡量原始输入图像和重建图像之间的逐像素差异。标志点损失函数涉及检测原始和模型图像的面部标志 { q n } \{ q_n \} {qn} \cite{21}。损失函数的计算公式如下:
其中 N N N表示标志点的总数,在我们的实现中为68个。
除了使用直观的图像级损失函数外,我们还引入了感知损失函数。目前,流行的感知损失函数通常涉及利用预训练的深度神经网络提取图像特征,并测量这些特征之间的差异。考虑到本节算法主要针对面部,我们采用了大规模预训练的人脸识别网络FaceNet \cite{34}来提取面部图像特征。感知损失函数如下:
其中 f ( ⋅ ) f(\cdot) f(⋅)表示用于提取图像特征的函数(神经网络), ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle ⟨⋅,⋅⟩表示向量点积。
基础模型将人脸从2D图像投影到3D空间。作为一种通用表示,3DMM参数具有再现大量人脸表情的能力。此外,3DMM参数显式地将面部分解为身份、表情和姿势,从而解决了面部属性纠缠的问题。在该方法中,基础模型是一个角色无关的模型。一旦预训练完成,当将该方法转移到具有新拓扑结构的其他3D虚拟人类模型时,不需要重新训练。换句话说,该模型是完全通用且可重用的。
3.3 适配器
如图2的第二阶段所示,适配器模型的任务是以表情参数作为输入,预测blendshape系数。该模型是一个轻量级神经网络模型,仅包含两层线性全连接层,并在它们之间有一个激活函数。最终层之后,应用Clamp操作将输出值截断在0到1的范围内,这是blendshape系数的有效值范围。在训练过程中,使用均方误差(MSE)作为损失函数来优化该模型。给定3DMM表情参数 γ \gamma γ和真实的blendshape系数标签 α \alpha α,这一阶段可以形式化地描述为:
其中 α ′ \alpha' α′表示适配器模型预测的输出blendshape系数。模型训练的目标是最小化损失函数 L L L。
适配器模型是一个拓扑感知模型。其训练依赖于虚拟人类的特定blendshape拓扑。在实际应用中,不可避免地会遇到具有不同外观和不同拓扑结构的虚拟人类模型。然而,这种模型的泛化能力并不会受到影响。一旦训练完成,该模型可以用于具有相同blendshape拓扑的虚拟角色家族,即使它们的纹理外观不同。此外,由于(1)自动数据生成和微调(将在3.4.2节介绍)以及(2)模型的简单轻量级架构,该模型可以轻松快速地适应具有新blendshape拓扑的虚拟角色。这种适应性不对blendshape拓扑施加任何限制。这包括但不限于blendshape的顺序、数量、内容和名称。换句话说,用户可以提供具有任意blendshape拓扑的自制虚拟角色模型,我们的方法和工具包可以在其定制角色上使用。
3.4 训练和测试细节
图2展示了我们方法的三个阶段。前两个阶段分别介绍了基础模型和适配器模型的训练。第三阶段展示了模型训练后的使用方法。
图2的上半部分展示了基础模型的训练。我们使用公开可用的真实世界人脸数据集,包括CelebA \cite{25}和LFW \cite{18},来训练基础模型。CelebA和LFW是高质量的人脸数据集,具有种族、年龄、性别、表情和脸型等方面的多样性和显著变化。在数据准备阶段,我们首先使用Dlib提供的方法进行人脸检测、对齐和裁剪。然后,所有图像统一调整为224×224的分辨率。我们遵循相关工作\cite{13}的训练调度。简而言之,我们采用ImageNet \cite{12}预训练的权重作为初始化,并使用Adam优化器进行训练,批量大小为5,初始学习率为1e−4,总迭代次数为500K。
图2的中间部分展示了适配器模型的训练。如前所述,适配器模型是一个拓扑感知模型。因此,在特定虚拟角色上训练适配器模型或转移到具有新blendshape拓扑的虚拟角色时,我们提出了一种基于目标虚拟角色的自动数据集生成程序,即角色依赖数据集。
目标3D虚拟角色模型所需的数据集包括:(1) 随机生成的blendshape系数,(2) 基于blendshape系数渲染的虚拟人脸图像。关于blendshape系数的生成,每个blendshape可以看作一个通道,其值范围为0到1。在这种情况下,系数生成任务是为每个通道随机生成一个值。对于虚拟人脸图像的生成,利用3D软件(如MAYA、Unity3D)中的渲染函数根据blendshape系数渲染虚拟人脸图像。在我们的实现中,使用前视虚拟相机渲染虚拟人脸图像。
对于每个具有特定blendshape拓扑的虚拟角色(家族),我们构建了一个包含10K数据样本的数据集(8K用于训练,1K用于验证,1K用于测试)。适配器模型使用生成的数据集进行训练。具体来说,将渲染的虚拟人脸图像输入预训练的基础模型以生成3DMM参数。然后,适配器模型从3DMM参数中提取表情参数作为输入,并预测blendshape系数。数据集中的blendshape系数用作监督预测值的真实值。在此过程中,基础模型的参数不再训练,仅更新适配器模型的参数。
在我们的经验研究中发现,在生成角色依赖数据集时,注入人类先验知识有助于稳定训练。具体而言,没有任何约束的情况下,blendshape系数完全是0到1范围内的随机值,这可能导致无效的面部表情。例如,不太可能一个人同时将嘴唇向两个相反方向移动。考虑到这一点,我们提出了一个可选步骤以提高生成数据集的质量。这可以通过定义一组排除无效值组合的规则来实现。通过这些基于规则的约束,可以获得一组合理的blendshape系数值。
图2的下半部分展示了使用整个模型的过程。在此阶段,预训练的基础模型和适配器模型可以作为现成的黑盒使用。给定参考面部表情图像,我们首先将其输入预训练的基础模型以提取3DMM参数。表情参数用于进一步通过预训练的适配器模型预测blendshape系数。估计的blendshape系数用于动画化虚拟角色。基础模型的姿势参数也在动画过程中被利用,以增加逼真度。
在动画生成过程中,除了两个冻结的模型外,我们还引入了人类反馈信号以提高动画质量,并进一步提升模型性能。详情将在第4节介绍。
4. 工具包
4.1 整体设计
我们开发了一个基于Unity的工具包,该工具包自动化了基于2D图像或视频生成虚拟人脸动画的过程。该工具包通过基础模型从视频帧中提取面部表情和头部姿势信息,并通过适配器模型预测定制虚拟角色的blendshape系数。工具包在用户界面中同时显示生成的虚拟角色面部动画和原始视频帧,允许用户进行比较和调整。该工具包实现了人类在环的方式,将人类反馈纳入动画生成过程中。这不仅注入了用户对当前视频的偏好,还提升了内部深度学习模型的性能。
4.2 基本功能
我们在工具包中利用第3节中描述的深度学习模型自动生成面部动画。具体生成过程取决于输入数据的类型。对于单张图像输入,工具包首先根据输入图像估计blendshape系数,然后生成虚拟人类的面部表情。生成的表情作为峰值强度值。之后,在自然表情blendshape系数值(零)和峰值强度值之间进行线性插值,从零逐渐过渡到峰值强度,然后回到零。这个过程确保了一个平滑且渐进的过渡动画,呈现输入的面部表情。
对于视频输入,工具包首先估计视频中每帧的blendshape系数。然后稀疏采样关键帧,并通过在这些关键帧之间进行线性插值生成虚拟人类的面部动画。间隔采样的理由是连续视频帧的blendshape系数不可避免地会受到抖动问题的影响。这种采样和过渡策略确保了选定关键帧之间的平滑动画。
帧级别交互 当输入为视频时,工具包在初始化期间采用稀疏采样策略。默认情况下,我们每5帧选择一个关键帧并生成动画。此外,我们还提供用户手动选择理想关键帧的选项。例如,用户可能希望突出显示最夸张的面部表情,那么相邻帧都可以被选择。然后,工具包在所有关键帧之间执行分段线性插值,包括初始化的关键帧和用户选择的关键帧,以实现平滑的动画。
混合形状级别交互 在工具包中,混合形状系数由深度学习模型自动估计。此外,我们还提供接口让用户调整混合形状系数。例如,当用户发现“眼睛睁开”混合形状的强度没有反映输入的面部表情时,他/她可以根据需要轻松调整值。该设计提供了纠正模型产生的错误并提高动画质量的灵活性。上述修改将在场景中实时显示以供参考。帧级别和混合形状级别的交互都反映了用户的偏好。
人机协同(HITL)是指在决策或执行过程中整合人类参与的计算框架或系统。它涉及人类与机器之间的协作,人类提供输入、反馈或监督,以提高自动化算法或系统的性能。除了自动生成外,我们的工具包还强调人类反馈和偏好,将混合形状参数的人工调整作为HITL过程的关键要素,提升了第3节中的模型性能。
工具包中的HITL有在线模式和离线模式。
在线模式 如第4.2.2节所述,工具包允许用户进行混合形状级别的调整。在HITL在线模式下,自动估计的混合形状值和调整后的值之间的差异被存储为工具包中的用户偏好。随后,用户只需点击一下,就可以将这些偏好应用于所有视频帧。该设计背后的算法简单而有效。我们将所有用户调整后的差值平均作为用户偏好 δ \delta δ,然后将 δ \delta δ 应用于所有剩余帧的对应混合形状。因此,实现了从少到多的功能,即,您只需调整少数帧即可将您的偏好注入整个动画。在线模式显著减少了动画师调整动画的时间和成本,从而减少了他们大量的工作量。
离线模式 经过多轮在线HITL交互后,工具包积累了足够数量的混合形状的人工反馈和调整。这些数据可以被视为有价值的人工注释,并进一步在HITL离线模式中加以利用。具体来说,我们将注释数据作为监督信号来微调适配器模型。考虑到这些数据包含了足够的用户偏好,所得模型不仅在混合形状估计精度上更好,而且在整体上更符合用户偏好。
两种模式之间存在一些差异。在在线模式下,用户的反馈是专门为当前动画提供的。调整可以在相对较短的时间内完成,并将在工具包界面上实时显示。相比之下,离线模式涉及使用从不同视频中收集的数据来微调模型。因此,与特定动画的偏好相比,这些数据对所有动画嵌入了更通用和完整的个人意图。
从另一个角度来看,这两种模式可以相互受益。一方面,在线模式有助于为离线模式积累人工反馈数据。另一方面,离线微调模型将用于预测在线模式的混合形状系数作为初始化。这实质上建立了一个人机协同的数据飞轮效应。它允许通过整合人类专业知识和持续改进系统性能进行迭代优化。因此,系统性能越好,所需的人类干预就越少。
图3展示了工具包的用户界面。它由四个区域组成,即输入视频区域、虚拟人区域、用户交互区域和帧图区域。
输入视频区域位于场景的左侧矩形区域,能够显示当前视频帧。虚拟人区域位于界面的中央区域,展示了虚拟人的面部表情和头部姿态。该区域设计用于显示自动生成的面部动画或用户的实时调整。帧图区域位于界面的底部深灰色框内。它以散点图形式可视化所有动画帧。横轴表示帧的索引号,纵轴表示相应帧所有混合形状系数的平均值。默认情况下,每个帧表示为一个白点。关键帧特别用绿色点表示,而红色点表示用户手动调整并由工具包记录为偏好的帧。红色垂直线用作进度条,对应于虚拟人区域显示的帧。
用户交互区域位于界面的右侧,包含一组按钮,旨在提供动画生成、可视化、播放、调整和结果导出等各种功能。在后续章节中,我们详细说明每个按钮和字段的具体功能。
“初始化”按钮。它执行工具包的初始化程序,调用基础模型和适配器模型从输入图像或视频预测混合形状系数。
左右箭头按钮。它实现了在动画(和输入视频)帧之间来回滚动的功能。
前后箭头按钮。连续向前或向后播放所有视频帧和动画帧。
“播放动画”按钮。点击此按钮,工具包将显示第4.2.1节所述的生成面部动画。
“目标”输入字段。在指定区域内,用户可以输入希望在当前帧中修改的目标混合形状的索引。例如,索引1对应于左眼睑,索引2对应于右眼睑,依此类推。
“值”输入字段。在定义的区域内,用户可以输入他们希望修改的混合形状系数的具体值,范围在0到1之间。输入值应为浮点数。
“调整混合形状”按钮。输入数据在指定的目标和数值字段后,点击此按钮将保存调整后的值到工具包中,并将其注册为用户偏好。
“应用偏好”按钮。在微调了一组选定的帧和混合形状后,激活此按钮将计算用户偏好并将其扩展到视频中的所有帧。
“清除偏好”按钮。此功能清除不打算应用于所有视频帧的用户偏好。
“添加关键帧”按钮。用户可以通过此按钮手动插入他们希望强调的关键帧。
“导出结果”按钮。点击此按钮,用户反馈将导出为.json文件,引用调整后的混合形状系数。
5. 实验评测
5.1 模型评测
该深度学习模型旨在从图像或视频输入中自动生成动画,从两个方面进行评估:建模精度的定量评估和面部动画的定性结果。在此部分中,我们测试了具有不同纹理外观和混合形状拓扑的虚拟角色。
为了评估所提出深度学习方法的建模精度,我们报告了我们方法的几种设计选择的混合形状估计精度与真实混合形状系数的对比。具体来说,我们有几种不同的适配器模型实现设置。我们计算结果与真实值之间的平均绝对误差(MAE),而不是训练过程中的均方误差(MSE)。
这是因为MSE有助于稳定训练过程,而MAE更直观地反映误差。
如表1所示,前三个实验比较了两个线性层之间隐藏维度的效果。以256作为基线,结果显示较小的维度可能会限制模型的性能,而增加隐藏维度到384时没有显著变化。接着,我们探索了不同的网络结构,包括用LeakyReLU替代ReLU,在末尾添加Clamp操作符,以及两者的结合。从表中可以看出,Clamp操作符的截断输出有助于减少估计误差。最小误差通过同时使用LeakyReLU和Clamp实现。所有设置包含相似数量的可训练参数,即两个全连接层。适配器模型设计为轻量级,以便于适应。
为了评估深度学习方法的面部动画质量,我们从以下三个角度进行评估:
- 对于一个特定的虚拟角色,我们采用各种类型的输入生成面部表情。
- 我们测试了具有相同混合形状拓扑但不同纹理外观的虚拟角色。
- 我们测试了具有相同纹理外观但不同混合形状拓扑的虚拟角色。
动画的定性结果如图4和图5所示。深度学习模型将人脸图像作为输入并估计一组混合形状系数,用于渲染虚拟人的面部表情。对于配备50个混合形状的特定角色,如图4上部所示,我们观察到生成的面孔能够复制参考面部表情并且对各种类型的输入具有鲁棒性。对于配备50个混合形状的不同角色,如图4下部所示,模型可以直接应用于具有相同混合形状拓扑的广泛角色,即使它们具有不同的纹理外观和身份。该模型的一个重要优势是其在转移到具有不同混合形状拓扑的虚拟角色时的灵活性。图5显示了我们的模型可以转移到具有不同拓扑的角色。这三个模型分别配备25个、66个和113个混合形状。
从图5中可以观察到,生成结果的表现力受混合形状数量的影响。在图5的第一行,输入图像中的人物右眉毛抬起,但25个混合形状的虚拟角色未能捕捉到这一表情。然而,66个混合形状和113个混合形状的虚拟角色都描绘了抬起的右眉毛。这种差异源于25个混合形状的虚拟角色的拓扑不支持单独的眉毛运动。在图5的第二行,输入图像中的人物下巴张开,这一动作由113个混合形状的虚拟角色准确表现。然而,25个混合形状和66个混合形状的虚拟角色无法表现这一动作,因为它们的拓扑缺少必要的运动单元。在图5的第三行,输入图像中的人物展示了微笑表情。表示这一微笑的混合形状在三个具有不同拓扑的虚拟角色中都存在。可以观察到25个混合形状的虚拟角色展示了最令人信服的微笑,而113个混合形状的角色展示了最不令人信服的表情。
在表2中,我们报告了适应不同虚拟角色的模型的定量结果。理论上,混合形状数量越多,虚拟人模型越详细,动画质量越高。然而,从表2中可以看到,混合形状数量越多,误差越大,因为这使得优化更加困难。实际上,这种现象对人类也是如此,即,对于人类动画师来说,操作大量混合形状也更加困难。
结果表明,在确定虚拟角色的混合形状数量时存在权衡。一方面,较少的混合形状使适配器训练更容易,导致较低的推理误差和更精确的控制。然而,较少的混合形状意味着虚拟角色的表现力上限也受到限制。另一方面,更多的混合形状增加了虚拟角色的潜在表现力,同时也对优化适配器模型提出了挑战。
在适应时间方面,在NVIDIA GeForce RTX 3060 GPU硬件的支持下,适应具有不同拓扑结构的3D虚拟角色的训练仅需约30分钟。相比于人类动画师手动调整混合形状以适应不同拓扑结构的虚拟角色,此方法无需考虑虚拟角色中混合形状的顺序、物理意义和控制的面部单元。这显著减少了动画编辑所需的时间和人力成本。
5.2 工具包的评估
在本部分中,我们使用具有50个混合形状的虚拟角色。比较了三种不同模式(自动、在线HITL、离线HITL)下的面部动画质量和满意度评分。
我们提供了工具包生成的定性结果,如图6所示。在第一组中,我们定性比较了上述三种不同模式的结果。可以观察到,HITL生成的动画结果比工具包自动生成的更接近参考视频。然而,两种HITL模式之间的差异细微,这表明模型可以离线调整到与在线调优相似的性能。在图6的下半部分,我们提供了更多由工具包生成的示例,包括各种输入身份和格式(视频和图像)。这些示例展示了工具包能够复制输入的面部表情和头部姿势。
我们还比较了工具包在三种不同模式下生成的虚拟人动画质量的用户满意度评分:(1)自动。(2)在线HITL。(3)离线HITL。13名参与者(8男,5女),年龄在18至25岁之间,分别来自不同的专业,要求对面部动画图像给出满意度评分(1-10分)。具体来说,每位参与者需要完成六组评分任务。在每组评分任务中,参与者会看到一个真实的人脸图像和根据该真实人脸图像生成的三种不同模式的动画图像,然后要求他们根据动画图像与真实图像的视觉相似度进行评分。评分范围为1到10分,1分表示动画图像与真实图像完全不相似,10分表示动画图像与真实图像非常相似。需要注意的是,参与者不知道哪个动画图像是由哪种模式生成的,每组评分任务中三种不同动画图像的摆放位置是随机的。
某一模式下工具包的满意度评分是通过平均所有参与者在六组评分任务中给出的分数计算的。如表3所示,工具包(在线HITL)模式的满意度评分最高,而工具包(自动)模式的满意度评分最低。这表明在引入人机交互(HITL)模式后,动画效果显著改善,因为它结合了人类偏好,比原始动画更符合用户的认知和满意度水平。工具包(离线HITL)模式的满意度评分与工具包(在线HITL)模式非常接近。这表明,离线模式下通过引入人类反馈到模型训练过程中的方法,即工具包(离线HITL)生成的动画效果与在线HITL模式相当。
在生成时间方面,如表3所示,工具包(自动)模式的动画生成时间最短,而工具包(在线HITL)模式的生成时间约为工具包(自动)模式的四倍。尽管相比人工编辑动画,这已经是一个显著的速度提升,但工具包(在线HITL)模式的动画生成时间仍然相对较长。而工具包(离线HITL)模式,只需要一个相对较长的训练期,之后动画生成速度与工具包(自动)模式相当,且动画质量相对较好。
总的来说,工具包(在线HITL)模式和工具包(离线HITL)模式各有独特优势且相互补充。工具包(在线HITL)模式的满意度评分最高,但生成时间较长。而工具包(离线HITL)模式在较短时间内达到接近在线模式的满意度评分。工具包(在线HITL)为工具包(离线HITL)模型调优提供了有价值的人类标注,而工具包(离线HITL)通过改进性能减少了工具包(在线HITL)的手动调整时间。
最后,我们进行了一项独立的试点用户研究,邀请一组终端用户试用所提出的工具包。目的是收集他们对工具包使用的意见和建议,以识别改进的领域。
16名参与者(6男,9女和1名非二元性别;平均年龄=24.6,标准差=3.12)被招募并完成了用户研究。他们都是熟悉3D软件应用(如MAYA、3DMAX、Unity3D)的大学生。选择他们是因为他们是工具包的潜在终端用户,并且他们对类似软件的经验使他们能够为工具包的改进提供有价值且建设性的意见和建议。
在开始前,每位参与者会获得关于研究的介绍,并需要签署同意书。随后,他们被要求提供人口统计信息(年龄、性别、职业、3D软件经验)。之后,他们被指示观看一段6分钟的介绍视频,该视频提供了工具包功能和用户界面的概述。这一步确保所有参与者在继续之前对如何使用工具包有基本的了解,类似于使用商业工具或系统的方法。
随后,参与者被要求首先使用工具包(自动),然后尝试工具包(在线HITL)进行操作。在使用工具包时,参与者可以选择跟随介绍视频中提供的示例(4个示例视频和19张图片),也可以根据自己的偏好独立探索工具包。此方法让参与者在使用中有灵活性,并确保他们使用工具包的体验与他们的个人需求和目标一致。参与者被要求尝试工具包提供的所有功能,并使用至少一个视频和五张图片生成动画面部。
在试用工具包后,参与者被要求完成:1)一个标准的SUS问卷[8]来测量工具包的可用性(1-5分评分),2)一个半结构化访谈以收集关于工具包的意见和建议。完成研究大约需要40到60分钟,每位参与者获得10美元的参与奖励。
通过标准的SUS问卷[8],参与者发现工具包集成度高(均值=4.0,标准差=0.79),易于使用(均值=4.4,标准差=0.77),愿意在工作中使用该工具包(均值=4.1,标准差=0.93)。他们认为在观看介绍视频后,可以很好地掌握工具包并自信地使用它(均值=4.6,标准差=1.00)。SUS结果表明工具包易于学习和使用。
通过半结构化访谈收集的参与者意见和建议如下:
\begin{itemize}
\item “你对面部动画生成有何看法?可以讨论角色设计、动画质量或你觉得有趣的任何其他方面。”
\begin{itemize}
\item “这个工具自动生成的表情动画可以模拟大多数面部表情,特别是面部表情较大的情况。眼睛和嘴巴需要改进,面部微表情,如鼻子周围的表情可能有些僵硬和不自然。”
\item “整体的面部表情和姿势重定向看起来不错,但在细节区域,如眼睛、嘴巴存在一些缺陷。”
\item “虚拟表情更接近真实视频或图像,可以满足基本需求。但如果想满足更专业和精细的领域,如动画制作,可能需要更真实的表情。”
\item “角色设计主要倾向于卡通风格,支持清晰的面部表情。然而,在生成细微面部表情方面有改进的空间,这可能需要更复杂和真实的虚拟角色。”
\item “如果工具包能够展示虚拟角色的身体姿势和动作的动画,可能更容易应用和广泛采用。”
\end{itemize}
\item “你对HITL功能有何看法?是否对自动生成的动画进行了进一步修改?”
\begin{itemize}
\item “这个工具可以大致复制现实世界的东西。我认为生成的某些区域的表情过于夸张,但使用调整工具调整参数后,这种夸张并不是无法接受的。这已经足够好,能减少很多工作量。”
\item “我手动编辑了工具包生成的动画,因为我希望我的虚拟角色有一个友好的外观。因此,我手动调整了控制笑容的面部参数,并仅调整了少数参数。然后,我可以快速在所有帧中应用笑容表情,显著减少了逐帧调整笑容表情的工作量。然而,其精度仍需改进。”
\item “我更喜欢我的虚拟角色的动画更精确,所以我手动调整了角色的眼睛和眉毛,使它们与视频中的位置保持一致。”
\end{itemize}
\item “你觉得这个工具包有哪些优点和缺点?请描述你在使用过程中遇到的任何问题。”
\begin{itemize}
\item “我认为这个工具包自动生成的大多数面部表情都可以满足我们的日常需求。这对学生来说非常有用,尤其是需要制作大量表情动画的学生。”
\item “一开始我不太明白如何使用HITL功能。不过,观看了教程视频后,我能理解如何通过HITL功能微调动画,这非常有帮助。”
\item “对我来说,最好的功能是生成动画速度非常快。工具包(离线HITL)模式可以提供高质量的动画,而无需等待太久。还有,工具包的动画质量不错,尤其是在脸部动画方面。它的功能非常强大且易于使用,尤其是使用教程视频。”
\item “我最喜欢的是工具包的多功能性和易用性。你只需导入图像或视频,它可以自动生成你需要的虚拟角色动画。你还可以对工具包生成的动画进行手动编辑,以便进一步调整。”
\item “这个工具包的缺点是生成的某些动画仍不够自然,比如在一些微表情方面。”
\end{itemize}
\end{itemize}
6. 总结和讨论
本研究提出并评估了一个用于生成高质量面部动画的工具包。该工具包采用了自动生成、在线人机交互(HITL)和离线人机交互三种模式,并通过实验和用户研究对其性能进行了验证。
我们的实验结果表明,HITL模式生成的动画质量显著优于自动模式。在线HITL和离线HITL模式之间的差异较小,离线HITL模式在生成时间上具有优势。此外,通过用户研究,参与者对工具包的整体满意度较高,认为工具包易于使用且功能强大,尤其是在生成动画速度和质量方面。尽管如此,工具包在生成微表情方面仍有改进空间。