近日,旷视研究院参加了顶级国际会议 ACMMM 的对话人像视频生成比赛( ViCo Conversational Head Generation Challenge,以下简称 ViCo),荣获 Listening Head Generation 赛道第一名和 Talking Head Generation 赛道第二名。相关论文入选 ACMMM workshop。
1 赛题介绍
近年来,数字人系统的研究日益丰富,虚拟人伴随着 CG 技术、动作捕捉技术、语音合成技术等技术的发展不断进化。ACMMM ViCo 比赛的目标是根据一对说话人-听者的照片,加上说话人的一段语音,来生成生动合理的对话视频。这个比赛要求参赛者端到端地从音频和图像生成完整的视频,涉及到语音的分析,表情的推断,视频的合成等。主办方提供了简单的基线模型,通过长短期记忆序列驱动模型(LSTM),推断每一帧的面部表情系数(3DMM),借助预训练的面部编辑模型 PIRenderer 渲染出最终的视频结果。
其中,语音信号会首先被处理成梅尔频率倒谱系数(MFCC),信号过零率(ZCR),响度等特征向量。
2 旷视夺冠方案介绍
旷视研究院参赛队伍(Megvii_goodjuice)分析了任务的要点,提出面向视觉效果的数字人头部生成方案,对序列驱动模型和面部编辑模型进行了改进,取得了 FID(图像感知质量指标,越低越好)的较大改进,最终排名如下)。
3 正则化的驱动模型
针对这个比赛训练数据集小,基准模型过拟合严重的问题,我们采用了多种正则化技术。首先是使用残差学习 (residual learning) 的方式,将驱动模型的学习目标从“推断每一帧表情系数”更改为“推断每一帧相对于参考图像的表情系数变化”,另外添加了批归一化(BN)和随机特征丢弃(Dropout)技术,提高了模型的泛化水平(如下表,残差学习可以显著提升模型性能)。
训练好驱动模型后,我们就可以从音频和图像开始,推断说话人和听者视频每一帧的表情系数。
4 *面部编辑模型增强
Megvii_goodjuice 使用了预训练的面部编辑模型 PIRenderer 来渲染最终视频。我们注意到直接使用 PIRenderer 会有两个问题:
一方面是随着人的头部运动,合成视频的背景会出现抖动的现象,因为渲染器没有设计专门的背景分割模块。因此我们使用了一个预训练的背景分割器 U^2Net,来找到生成视频和参考图像的共有背景,将参考图像的背景拼贴到生成视频中。因为生成视频的背景分割结果不稳定,我们对分割结果进行了帧间滑动平均。融合以后,一些扭曲的背景就被修复了。
另一方面,当头部运动时,头发和衣服会随着一起运动,这时我们需要对一些图片边界上的结果进行补全,我们对 PIRenderer 中的 grid_sample 函数进行了简单修改,可以使得一些白色的条状伪纹理消失。
5 *模型集成
在整个生成框架中,序列驱动模型耗时较短,但又决定了模型生成的质量。我们考虑使用集成学习的方案提高它的性能。
我们发现,将多个序列驱动模型的推断结果取中位数,能提高验证集上的准确度。其中,跨模型的融合性能好于一个模型不同世代的融合。
来源:旷视研究院
作者:R
专栏文章推荐
- 炼丹心得 | 攻坚“大模型”,寻“统一”之道
- 旷视研究院夺得 CVPR AI City Challenge 挑战赛自然语言车辆检索赛道第一
- MegEngine Inference 卷积优化之 Im2col 和 winograd 优化
- 旷视研究院荣获 CVPR 2022 NTIRE RAW 图像多帧超分-真实世界数据赛道比赛第一!
欢迎关注旷视研究院极术社区专栏,定期更新最新旷视研究院成果。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
加入旷视:career@megvii.com