羿阁 发自 凹非寺 量子位 | 公众号 QbitAI
你有没有看过油管很火的外国小姐姐模仿游戏NPC视频?
△来自YouTube@Loczniki official
这僵硬的姿势、空洞的眼神、面瘫的表情,让游戏玩家们直呼DNA动了!
如果你也苦于此很久了,现在,网易的一项新技术将轻松改变这一局面:
只需一段语音,AI就能自动生成3D对话动作,效果甚至超越真人!
不仅能按角色的性别、说话的习惯和姿态,合成不同风格的动作,还可自由替换或指定待定动作。
△左图为男性,右图是女性
目前,该技术已在语音合成手势动作领域的权威赛事GENEA 2022上斩获第一,并被ICMI 2022收录。
效果超越真人的新技术
在此之前,业界最常用的语音合成对话动作技术是StyleGestures。
该技术由美国艺电(Electronic Arts)推出,曾在2年前的第一届GENEA 2020中取得第一。
但与真实动捕数据相比,StyleGestures合成的动作仍有明显的机械感,且缺少可控性,不同的语音合成效果很随机,有种碰运气的感觉。
为了解决这两个问题,网易的新技术分为离线的数据库构建和在线的语音驱动动作合成两个模块进行。
数据库构建
GENEA 2022主办方发布的18小时数据集中,包括不同说话人的语音、文本和对应的全身动作。
由于没有经过人工的清洗和处理,导致动作数据中有很大一部分的动作质量较差。
因此,研究人员需要先对此进行预处理:舍弃动作质量较差的数据、完善不带手指旋转信息的动作、再通过左右对称的方式生成更多的数据集。
其次,根据说话文本单词之间的时间间隔,将连续的文本切分为短片段。
并且针对时长小于1s的连续动作进行合并,对左右半身的动作进行镜像扩充,最终得到约6000个全身动作片段,以及时长范围从1s的短句到超过10s的长句。
接下来是对动作节奏和语音节奏进行自动标注。
动作方面,说话人每做出一个变化的手势,就对应于一个节奏变化的时间点,简单来说就是特定单词重音时需要手势进行一次变化,即手势有一个明显的速度变化的过程。
因此通过计算双手速度的极小值,把每个极小值的时间点作为节奏的时间点,最后每个动作片段的节奏可以表示为长度为32位的0-1向量,1表示手势动作变化的时间点。
语音方面,根据语音对应文本中的每个单词时间点信息,同样可以得到语音对应的节奏。
如下图所示, 每个语音片段的节奏可以表示为长度为32位的0-1向量,1表示单词出现的时间点。
最后,在对每个动作片段建立动作节奏后, 还需要建立动作图。
动作图是一个有向图,图中的每个节点表示一个动作片段,两个节点之间的连边则表示这两个动作之间过渡的代价。
过渡代价越小,也就意味着两个动作之间的过渡越自然,这一步可以帮助将离散的动作片段合并为长的平滑过渡的全身动作序列。
语音驱动动作合成
在离线建立动作库之后, 就可以输入任意一段语音和对应的文本进行在线合成。
在对语音和文本进行算法自动切分后,利用训练后的StyleGestures这一概率生成式的神经网络模型,生成期望的动作。
其中,上半身的动作最为重要,研究人员利用动态规划算法,从构建的动作图中搜索动作节奏和动作风格嵌入匹配误差最小的动作序列,同时保证前后动作的过渡代价小、过渡自然,最后输出一个节奏匹配的上半身动作序列。
下半身动作的合成则不用考虑节奏,只考虑下半身动作之间过渡的自然性即可,同样经过图优化得到一个下半身动作序列。
最后,采用混合的方式融合上下半身动作,就得到了和语音文本匹配的全身动作序列。
与其他参赛系统相比,网易的新方法在在人类相似性评估中取得了最高的中位数分数,甚至超越了真实人类水平。
在适当性评价中,该方法在上半身表现中排名第一,在全身表现中排名第二。
研究团队
研究团队来自网易互娱AI Lab,作者共三人。
研究人员指出,这项新技术不仅可用于游戏中,虚拟角色线上演讲、数字人动作动画合成、元宇宙形象等等场景也都能使用。
论文链接附在文末,感兴趣的小伙伴可以自取~
论文链接: https://dl.acm.org/doi/pdf/10.1145/3536221.3558063
— 完 —