首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

技术分享|在虚拟场景中看到被头盔显示器挡住的表情

- 正文开始 -

头盔显示器后面的表情代表了用户与虚拟世界交互的真实情感,对该表情进行复现可以极大的增加其他用户对其态度的理解。本文通过拍摄头盔显示器后面的眼神,实现了一个高逼真的眼脸动画模型,提高了社交VR的体验感。

创建高逼真的人脸模型早在 1985 年就有科学家在研究了,但很少会有人会将注意力放在有关眼睛方面的建模上。在 2014 年,Pascal Bérard 等人发表论文High-quality capture of eyes,开发了一款用于人眼的高质量捕获系统和模型,是基于图像的捕获系统为眼睛的所有部分建模的主要尝试。后来 2016 年,Pascal Bérard 等人发表了论文 Lightweight eye capture using a parametric model,通过启用约束较少的捕获设置中的眼睛模型来扩展上述的工作。在2014 年到2019 年间, 有些学者使用像素损失来优化他们的注视模型,但这并不同时针对真实感和实时应用。在 2016 年到 2018 年间,Karras 等一些学者使用了机器学习的方法在图像空间对面部和眼睛进行建模,为了达到更加逼真的效果,有些学者还采用了对输出的图像进行明确控制的方法。这些方法生成的图像非常逼真,但由于没有对面部的 3D 几何建模,很难产生平滑,逼真的视线变化。为了解决上述问题,有些学者提出了一些结合了 3D 几何形状的方法。Chen Cao 等人在 2016 年制作了一个基于图像的化身,具有可变形的头部和头发的模型,并用一些元素来代表眼睛和嘴。虽然可以对眼睛进行显式的建模,但却不是完整的 3D 模型,也不能从图像中进行学习,限制了外观的真实感。在 2018 年,Lombardi 等人提出了一种数据驱动的人脸模型,这个模型是从具有跟踪网格的多视图图像数据中建立出来 的,主要的思想是使用变体自动编码器联合建模的几何形状和视图的相关纹理, 建立类似于活动外观的模型。其主要特征在于它是数据驱动的,所以可以重现逼真的面部动作和外观。2018 年、2019 年都有学者提出使用有限的摄像机在野外追踪目光。

因为面部和眼睛很大程度是被头戴式设备本身遮挡住的,使得很难找到从化身的摄像机渲染捕获的图像之间的对应关系

在 2016 年,Olszewski 等人从头戴式设备的摄像机捕获嘴和眼睛的图像回归到动画参数,这些参数通过在头戴式设备或非头戴式设备的训练数据之间进行动态的时间扭曲,来学习表情和眼神之间的对应关系;Thies 等人通过建立个性化的头像模型,使用头戴式设备的摄像头来追踪面部,使用图像检索的方法来表示眼睛,根据表情和眼睛的凝视方向在训练数据库中找到合适的实例。在 2019 年, Wei 等人提出了一种基于合成分析和多视图图像样式转移的思想,来找到 HMC 图像和真实照片化身的潜在状态之间的对应关系的方法。再通过最小化,使用可区分的渲染在图像域中进行重建损失,极大地提高了头像动画的质量和真实感。但是他们使用的 GAN 需要复杂的分布匹配方案,分布之间的轻微不匹配就会导致样式转移期间图像中凝视方向发生变化,无法对眼睛进行明确控制。

 本文方法框架 

文中首先提出了一种用于联合眼睛和脸部外观的新颖模型,该模型利用了机器学习的优势,同时从传统的眼睛计算机图形模型中汲取了灵感,以提高泛化和重建质量。再使用 VR 头戴式摄像机(HMC)对渲染得到的更高质量的眼睛和面部模型进行实时驱动。最后通过实验对系统进行检验。

1.建立联合眼睛和脸部外观的模型:

将面部分成空间不相交的区域来对眼睛进行单独的控制,采用了显式眼球模型。然后将左、右眼睛分开进行独立控制,实现当控制左眼进行改变时,右眼及其他不相关的区域不会发生改变,最终实现了逼真的眼球模型。

将脸部模型和眼睛模型结合起来

A、通过解码器体系,以视线方向、眼睑形状和视点作为输入,生成与视图相关的纹理,再通过一些扭曲算法建立眼睛周边外观模型。

B、创建一个潜在空间 ,通过这个潜在空间来控制脸部,并使用可区分的渲染来进行改善。对于面部是通过面部解码器来产生几何形状,对于眼球,删除了原始的三角形,将眼球模型旋转到注视方向即可。

2、对模型进行实时驱动

文中采用 VR 头戴式摄像机(HMC)对模型进行实时驱动。以脸部状态和注视方向提供了一种新颖的跨域通信渠道,并采用了一种用于在面部表情和注视方向之间建立对应关系的算法,如图 1 所示。通过该算法就可以实时地通过捕获面部表情,对注视方向进行估计,进而实现模型地实时驱动。

图 1 HMCAvatar 通讯系统

/ 主要贡献/ 

建立可以实时驱动眼睛和面部的逼真的外观模型。通过将凝视条件作为显式输入信号引入模型,可以直接控制化身的视线方向。引入解缠和区域分离损失使得能够产生凝视和表达的新颖组合。这些新颖的组合在训练数据中是看不见的, 但在现实世界的交互中很常见。文中的 EEM 使用这些新颖的凝视/表情组合,以及通过可区分的渲染共同优化的跟踪眼睛几何形状,来获得一个模型,该模型很好地概括了在实际互动中看到的常见面部和凝视的组合。可区分的渲染最大程度地减少了我们控制的两个曲面的边界处的伪影外观。

1. 人脸和眼睛建模方面:

2016 年,Pascal Bérard 等人通过启用约束较少的捕获设置中的眼睛模型来扩展基于图像的捕获系统为眼睛的所有部分建模的工作,虽然所用的方法与本论文所用的有相似:都使用了多视图数据来估计眼睛模型,但是本文的方法不仅适合于从图像中提取的特征,还通过使用可区分的渲染逐像素匹配图像数据来更好地实现真实感,从而学习了人脸和眼睛模型。

在 2018 年,Lombardi 等人提出了一种数据驱动的人脸模型,本文通过解决这个模型在眼睛方面的许多不足来改进了这个模型。本文开发了一种简单的注视跟踪方法,来实现对眼球模型的显式控制。

与尝试使用有限的摄像机在野外追踪目光的方法相比。因为环境是受控的,本文的方法更加专业和简化。

2. 用于VR 动画的面部和眼睛追踪方面

本论文采取的方法是通过在纹理空间而不是图像空间中执行样式转移,改进了 2019 年 Wei 等人提出的基于合成分析和多视图图像样式转移的思想来找到HMC 图像和真实照片化身的潜在状态之间的对应关系的方法,并从 HMC 图像来估计显式注视方向,进而驱动提出的眼球模型。虽然这种方法类似于 VR 中的许多眼睛追踪系统,但在文中提出了一个模型,该模型可以实时共同预测个性化凝视和面部表情。

 关键算法概述 

1. 显式眼球模型

将面部模型分成空间不相交的区域来对眼睛进行独立控制,将注视信息作为一个单独的信号,将凝视作为解码器的条件变量来启用显式注视控制。对于每一帧,使用检测器在不同的输入视图中检测沿边缘总线的 8 个关键点,然后再将几何眼睛模型拟合到每个序列中,包括对眼睛凝视方向的逐帧估计,如图 2。

图 2 眼球几何模型

为了避免注视这一条件变量,在输入的时候被解码器忽略,对FaderNet的方法进行了进一步优化,将鉴别器合分类器推广到连续情况。

为了获得最大的泛化能力,确保在所有收敛距离上都能够正确控制凝视方向,模型将左、右眼睛分离,进行独立的控制。增加一个损失项,当输入左眼的凝视信号时,会将除了左眼区域之外的其他区域的输出梯度最小化,但是由于训练数据中的相关性,模型将左、右眼睛分离进行独立控制的能力会很大程度降低,为了解决这个问题,团队将左眼、右眼以及面部的潜在空间分成块,并惩罚不相关的块的梯度。最终实现当左眼被控制改变时其他区域不会发生改变,如图 3。

图 3 横向空间分区

2. 结合面部和眼睛的模型

(1) 眼睛周边外观模型

眼睛周边外观的模型,是以几何和与视图相关的纹理来表示的。将视线方向、眼睑形状和视点作为输入,通过解码器体系,来生成与视图相关的纹理。其中凝视方向和视点是模拟诸如闪烁、折射之类的视觉效果所必须的,眼睑的形状决定了阴影和遮挡的效果,如图 4。

图 4 眼球纹理解码器

为了更好地体现闪光之类的细节效果,还采用了一系列的扭曲算法。

(2) 脸部和眼睛的整合

通过凝视条件、解缠结损失和区域分离损失来创建一个潜在空间,通过这个潜在空间来控制眼睛四周的脸部,使用可区分的渲染进行改善。

为了处理视线缺失或不精确的情况和显式眼球与脸部整合时出现的问题,用基于图像的损失来代替对跟踪的几何形状和纹理的重建损失,并进行了一定优化。通过微分渲染,使脸部和眼球的网格和纹理在必要的时候偏离跟踪结果,来更好地解释观察到的图像,尤其是在对部分或者完全被遮挡地眼睛或者在眼睛和面部之间不可见的部分进行建模的时候。 对于面部,使用面部解码器来产生几何形状。对于眼球的几何形状,删除了原始模型中的三角形,将眼球模型去旋转到凝视输入的方向就可以。最后再进行优化渲染。

(3) 实时驱动模型

引用了一个附加的凝视数据集,来提供附加的凝视标签,并使用了一种用于在头部面部表情和凝视方向之间建立对应关系的算法。使用 VR 摄像机来实时驱动模型。

在训练期间,通过摄像机获得了面部的相关信息,来估计面部表情,并将面部表情和凝视方向作为输入。通过浅层神经网络将虚拟化身的面部纹理和眼球纹理转换至头显域,然后再对虚拟化身进行渲染,并进行了一系列的优化,构建了一种端到端的启发式网络体系结构。进而通过训练来产生脸部表情和眼神之间的关系。

在成功建立起脸部表情和眼神之间的关系之后,就可以通过实时地对表情进行编码来估计注视方向进而实现模型的实时驱动。

以摄像机捕获的三视图作为输入,将他们转换为共享图像特征,再将对特征回归到表情编码,最后分别对左、右眼睛的凝视做出预测,如图 5。

图 5 实时编码器架构

  实验内容及结果 

为了评估整个系统和单个组件,本文进行了定性和定量实验。对于注视估计,本文还训练了一个关键点检测器,预测虹膜关键点。

(1) 定量实验(量化评估):

评估了一组模型的 L2 眼区的图像重建损失,将这组模型的图像重建损失和Baseline 模型的损失进行比较并在 6 个对象上平均,结果见下表。(一组模型包括:基线深度外观模型,添加凝视条件(GC)的模型,添加凝视条件和区域分离损失的模型以及最后完整提出的 EEM 模型。)这些结果表明,整个 EEM 不仅在感知上更清晰,更一致,而且还能够更好地重建训练数据。将注视条件和区域损失添加到基线会导致更好地区分模型,但会降低总体准确性。EEM 具有解缠和改进性能的全部优点。 我们应该强调,虽然 L2 损失的减少似乎微不足道, 但知觉上的改善是显着的。

通过增加损失以提高泛化性,发现除最终提出的方法外,所有模型重构误差均增加。将注视条件添加到基线深度外观模型中会导致错误增加。当加上区域损失,同一模型还必须要使左眼和右眼独立开来,进一步降低了其利用数据中虚假相关性的能力。可见 EEM 模型充分展现出了独立性的好处,提供了更好地重构。

(2) 定性试验(定性比较)

如下图 6,显示了 EEM 相对于基线的定性显著改善,尤其是对于看不见的表情和注视的组合。当提供对应于稀有表情(睁大眼睛)和该表情的新注视方向(除了笔直向前的任何东西)的输入时,会发现基线明显下降,虹膜不再显示为圆形,瞳孔严重扭曲,感知的注视方向发生改变。(这些比较中的两个模型都接收相同的 z 和 g 输入)

图 6 对看不见的输入组合进行显式眼球建模的改进。

两种模型在这些新颖的条件下均会显示出伪影,但本文提出的方法可以更好地保留基本的几何图形和感知的注视信号。

如图 7,显示了表情和凝视的进一步新颖的组合,包括改变眼睛以外的面部的表情。同样,这些都是凝视和表情的新颖组合,是训练数据中从未见过的。由于可以独立于眼睛无缝驱动表情,从而在所有姿势下模型都保持着高质量。

(3) 实时驱动实验

图 7 其他明确的眼球模型示例

为了评定实时驱动的效果,从面部表情和凝视方向的对应效果以及分割损失对注视准确度和神经网络的学习情况的影响进行了如下实验:

面部表情和凝视方向的对应效果

将模型使用的算法与其他人的算法进行比较结果如下图 8。

图 8 建立的对应关系的比较

左边是 EEM 模型采用的算法结果,从上到下依次为图像输入,从摄像头的角度所观察到的对应关系渲染的化身,第三排是用来显式上面两排图像的对齐的情况。

结果表明作者采用的算法可以更好地对齐眼球,尤其在极端凝视方向的情况下,可以更好的归纳凝视方向和表情的罕见组合。

下图 9 显示了用作者的算法得到的表情和凝视方向的对应实例。可以看出作者的算法可以归纳这些表情和凝视方向的变化,表现效果很好。

图 9 定性对应

分割损失对注视准确度和神经网络的学习情况的影响

对两个对象进行了实验,比较了所有有意义的损失组合,A 行为完整的系统显示,B 行消除了一定量的视线损失,发现两个对象的凝视准确度都有明显下降, C 行进一步消除了视线损失,观察到凝视精度下降的幅度更大,并且有了更高的分割率。这表明分片段匹配眼睛确实可以防止眼睛的纹理结构发生改变。在 D 行中,添加了注视项,观察到注视误差比较低。E 行显示了保持的凝视的准确性来作为参考点。

 不足之处及未来发展 

本文建立模型的方法比以前的改进了很多,但依然存在着一些局限性。例如: 本文的眼睛外观可以很好地推广到新颖的凝视方向,但是如果离开给定虚拟形象的合理输入空间(即如果凝视输入无法物理实现),则会在生成的渲染中看到伪像;虽然文中优化了模型的纹理和几何形状以匹配图像,但是此优化过程并不完美,并且需要良好的初始化。在基于关键点的眼球验配产生明显不正确的形状的情况下,仅凭可区分的渲染就很难恢复。与任何实时通信系统一样,本文所建的系统也存在系统和网络延迟。本文的方法仅适用于单个主题,尚未推广到多个。

这项工作代表了朝着创造任何距离的真正沉浸式社交体验迈出的重要一步, 随着这些 VR 交互技术的不断成熟,未来的社交应用可能会使用 3D 交互来取代当前的 2D 交互,这将会改变人们在全球范围内互动的方式。

感谢

在此特别感谢张子轩仔细阅读了我的这篇技术分享,并提出了宝贵的意见

本文部分图片和文字来自公开文献

如有使用不当之处请私信告知

- END -

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210128A0GQ1W00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券