告别渣画质,视频会议带宽降90%,英伟达公开Maxine服务背后重要技术

本文主要是介绍告别渣画质,视频会议带宽降90%,英伟达公开Maxine服务背后重要技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来源:机器之心

本文约2800字,建议阅读9分钟

英伟达团队发布的新论文揭露了AI视频会议服务Maxine技术。

10 月初,英伟达推出了一项 AI 视频会议服务 Maxine,使用了 AI 来提升分辨率、降低背景噪声、压缩视频、对齐人脸以及执行实时翻译和转录。最近,英伟达团队发布的新论文揭露了这背后的技术。

如果让打工人用几个关键词总结 2020 年的生活,视频会议应该是其中一个。

受疫情影响,这一年来,远程办公和视频会议正在成为新的潮流。在忍受会议枯燥的同时,很多人迷上了 AI 换脸,期望能够实现一边开会,一边摸鱼的梦想。此前机器之心也介绍过Avatarify 这样的热门项目。

只是…… 效果不一定很理想:

给出一个人的源图像,和一个人的动作视频(此处称为驱动视频 (driving video),动作视频和源图像中的人物可以一致或不一致),如何合成逼真的说话者头部视频,即将源图像中的头像与驱动视频中的动作合二为一。源图像编码目标人物的外观,驱动视频决定输出视频中的人物动作。

最近,针对这一任务,英伟达提出了一种纯神经式的渲染方法,即不使用人物头部的 3D 图模型,只使用在 one-shot 设置下训练而成的深度网络,进行说话者头部视频的渲染。

论文链接:

https://arxiv.org/pdf/2011.15126.pdf

与 3D 图模型相比,基于 2D 的方法具备多项优势:首先,避免了繁杂、昂贵的 3D 模型获取;其次,2D 方法可以更好地处理头发、胡须等的合成,而获得这些区域的详细 3D 几何形状则有一定的挑战性;最后,无需 3D 模型,2D 方法可以直接合成源图像中的配饰,包括眼镜、帽子、围巾等。

但是,现有的 2D 方法存在一些局限性。由于缺少 3D 图模型,2D 方法只能从原始视角合成说话者头部视频,无法从新的角度进行渲染。

而英伟达的方法解决了 2D 方法的固定视角问题,并实现了局部自由视角合成,你可以在原始视角的一定范围内改变说话者头部的角度。

该模型使用新型 3D 关键点表征来表示视频,3D 关键点表征的特点是将人物特定信息和动作相关信息分解开来,关键点及其分解均使用无监督学习方式得到。使用该分解,英伟达能够对人物特定表征应用 3D 变换,来模拟头部姿势的变化,如转动头部。下图 2 展示了英伟达提出的新方法:

研究者在多个说话者头部合成任务中进行了大量实验验证,包括视频重建、动作迁移和人脸重定向(face redirection),还将该方法应用于降低视频会议的带宽。通过仅发送关键点表征、在接收端重建源视频,该方法将视频会议带宽降至 H.264 商用标准所需带宽的十分之一,且不影响视觉质量。

视频重建效果

动作迁移

人脸重定向

这项研究基于前段时间英伟达开源的 Imaginaire 库,也是英伟达 Maxine 视频流平台背后的技术组成部分之一。

GAN 发明者 Ian Goodfellow 在推特上点赞并表示:Cool,博士时期的实验室伙伴曾研究预训练阶段的 ML 压缩,我记得这很难。

主要贡献

该研究的主要贡献如下:

  • 提出新型 one-shot 神经说话者头部合成方法,在基准数据集上获得了比 SOTA 方法更好的视觉质量;

  • 在没有 3D 图模型的情况下,实现了对输出视频的局部自由视角控制,即在合成过程中允许改变说话者头部的角度;

  • 将视频会议的带宽,降至 H.264 视频压缩标准所需带宽的十分之一。

英伟达新方法

英伟达提出一种纯神经合成方法,不使用 3D 图模型。该方法包含三个主要步骤:

  • 源图像特征提取;

  • 驱动视频特征提取;

  • 视频合成。

研究者使用一组网络并进行联合训练,来完成这些步骤。

其中前两个步骤参见下图 3:

图 3:源图像和驱动视频特征提取

具体而言,该研究从源图像中提取人物外观特征和 3D 典型关键点及其雅克比行列式,同时还估计人物头部姿势和表情变化引起的关键点扰动,利用它们来计算源关键点。

对于驱动视频,研究者仍旧估计其头部姿势和表情形变。通过重用来自源图像的 3D 典型关键点,来计算驱动关键点。

第三个步骤参见图 5:

图 5:视频合成

该步骤中,研究人员使用源关键点、驱动关键点及其雅克比行列式来估计 K 个 flow(w_1、w_2、w_k),这些 flow 用于扭曲源特征 f_s。然后将这些结果结合起来输入到运动场(motion field)估计网络 M,得到流分解掩码 m。将 m 和 w_k flow 进行线性组合得到合成流场 w(composited flow field),可用于扭曲 3D 源特征。最后,生成器 G 将扭曲后的特征转换为输出图像 y。

而该方法还包括一个主要环节:用无监督方式学习一组 3D 关键点及其分解。研究人员将这些关键点分解成两部分:一部分建模人脸表情,一部分建模人物的几何特征。二者与目标人物头部姿势相结合,就可以生成图像特定的关键点,然后利用它们学习两个图像之间的映射函数。

在第一个步骤中,从源图像得到的关键点是图像特定的,且包含人物特征、姿势和表情信息。关键点计算流程参见下图 4:

训练细节

下图展示了该模型中网络的实现细节,以及模型构造块详情:

 图 12:模型中各个组件的具体架构

图 13:模型构造块

实验

说话者头部图像合成

这部分涉及两个任务:相同人物的图像合成和不同人物的动作迁移。

首先是源图像和驱动图像中人物身份一致的情况。研究者对比了五种人脸合成方法,量化评估结果参见下表 1。可以看出,该研究提出的方法在两个数据集的所有指标上的表现均优于其他方法。

在图 6 和图 7 中,研究者分别展示了不同方法的定性比较结果,该研究提出的方法能够更加真实地再现动作变化。

接下来,研究者在源图像和驱动图像中人物不同的情况下,进行方法对比,结果如表 2 所示。该研究提出的方法取得了最低的 FID 分数。

 图 8 展示了不同方法间的对比结果,可以看出英伟达方法生成的结果更为真实,且保留了原有的人物特征。

人脸重定向

研究人员对 pixel2style2pixel (pSp)、Rotate-and-Render (RaR) 和该研究提出方法进行了量化对比,结果参见下表 3:

三种方法的示例对比结果如图 9 所示。

可以看出,pSp 模型虽然能够将人脸前置,但会丢失人物的身份特征。RaR 采用了 3D 人脸模型,因此生成结果的视觉效果更具吸引力,但在人脸区域以外的地方存在问题。此外,这两种方法都存在时间稳定性问题。对比之下,该研究提出的方法实现了不错的人脸前置效果。

在视频会议中的应用

该模型能够利用紧凑表征对驱动图像中的动作进行蒸馏,这有助于降低视频会议应用的带宽。视频会议流程可以看做接收者看到发送者面部的动态版本。

图 10 展示了使用该研究提出的神经说话者头部模型搭建的视频会议系统。

图 10:视频压缩框架

在发送端,驱动图像编码器提出关键点扰动δ_d,k 和头部姿势 R_d 和 t_d,然后使用熵编码器进行压缩并传送至接收端。接收端对信息进行解压缩,并将其与源图像 s 结合生成输入 d 的重建结果 y。

论文作者表示,目前该方法在压缩方面的优势仅限于说话者头部视频,至于一般的视频压缩,还未能达到如此理想的效果。

目前,英伟达已经开放了在线演示网址:

http://nvidia-research-mingyuliu.com/face_redirection

关于更多的论文细节,可参考下方视频:

编辑:王菁

校对:汪雨晴

这篇关于告别渣画质,视频会议带宽降90%,英伟达公开Maxine服务背后重要技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/901272

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D