让虚拟角色笑起来,Oculus Lipsync推出笑声检测
文章相关引用及参考:映维网
新集成与DSP加速支持,以及beta版本的笑声检测
(映维网 2018年10月19日)说了一个很棒的笑话,但没有看到有人在笑?别担心,你应该还是一个很幽默的人。原因是你仍在使用旧版本的Oculus Lipsync。Oculus希望无论身处何方的你我都能进行有意义的交互。眼神,手势,身体姿势和面部表情是非语言交流形式,其允许我们传达情感并增加社交互动的意义。今天许多虚拟角色系统都缺乏情感,除非由用户手动出发。为了解决这个问题,Oculus推出了Oculus Lipsync 1.30.0。这个版本包含了一个测试版的笑声检测功能,开发者将能够从输入音频中实现笑声动画。另外,Oculus Lipsync 1.30.0增加了DSP加速,以及帮助更多开发者通过Unreal和本地支持来使用OVRLipSync的方法。
1. 新集成与DSP加速支持
Oculus收到了大量反馈,要求Oculus Lipsync增加Unreal和本地支持。对于Oculus LipSync 1.30.0,Oculus正式集成了Unreal引擎,以及C ++库以实现本地集成。这些集成允许在更广泛的平台和应用程序中开发富有表现力的嘴唇同步内容。另外,Unity集成进一步简化了易用性,同时对预先计算的viseme生成带来了更多对开发者友好的支持。有关这三个集成的文档请访问开发者中心的Oculus Lipsync Guide。
最后,Oculus在所有集成中启用了DSP支持,允许在支持的移动平台上卸载Lipsync viseme预测和笑声检测的处理。将计算卸载到DSP允许在单个设备上处理更多音频流,使你可以轻松构建丰富的社交应用程序。
2. 笑声检测(beta)
Oculus Lipsync的目标之一是实现富有表现力的面部动画。Oculus Lipsync使得我们能够为虚拟角色带来面部表情。实时音频驱动的笑声检测令我们更接近于在虚拟现实中实现丰富的社交临场感和非语言交流。
正如你可能想象的那样,笑声是社交环境中非常常见的表达方式。自动检测音频中的笑声使我们能够为虚拟社交体验带来另一层表现力和乐趣。
为了设计一个笑声检测器,我们需要更好地理解什么是笑声。笑是一种普遍的,熟悉的,重要的非语言视听表达。笑声也是一种多样化的表达方式,通过口鼻或嘴巴的清音呼气,包括咕噜声,裤子,嘎嘎声和哼声,听起来像“哈哈哈”或“嘻嘻嘻”等丰富的元音般声音。各种各样的笑声传达着不同的社交线索和信息,如态度,情感,意图,协议,接受,喜悦,甚至嘲笑或嘲弄。由于笑声存在无数的声音和意义,Oculus开发了一个笑脸检测的测试版本,其能够识别各种各样的笑声。
为了实现笑声检测,Oculus探索了各种深度学习架构,并最终得出了轻量版的TCN introduced for high-quality Lipsync。基于TCN的笑声检测与音素预测TCN非常相似。但是,它预测0到1范围内的单个浮点值,并表示在当前音频帧发生笑声的概率。与Lipsync模型一样,笑声检测模型通过PyTorch进行训练,使用ONNX转换为Caffe2,并使用类似于Fast WaveNet Generation Algorithm的高效缓存技术进行实时处理优化。
输出笑声概率可以直接用于驱动混合形状,或者你可以实现简单的阈值来触发笑声动画。Oculus在引擎集成演示内容中引入了一种新的笑声形状,直接由笑声概率驱动。这个演示内容还通过在游戏视图中显示简单的文本条形图来说明笑声概率。
对于Oculus LipSync 1.30.0,Oculus通过实时音频驱动的笑声检测为社交增加了新的活力,个性和情感层,并朝着在VR中实现有意义的社交互动又迈出了一步。在技术方面,这个版本改进并扩展了集成支持,并通过将计算卸载到DSP来提供改善性能的机会。