CVPR2022 前沿研究成果解读:基于生成对抗网络的深度感知人脸重演算法
凭借在人脸生成领域的扎实积累和前沿创新,阿里云视频云与香港科技大学合作的最新研究成果《基于生成对抗网络的深度感知人脸重演算法 》(Depth-Aware Generative Adversarial Network for Talking Head Video Generation)被 CVPR2022 接收。本文为最新研究成果解读。
论文题目:《Depth-Aware Generative Adversarial Network for Talking Head Video Generation》
arxiv链接:https://arxiv.org/abs/2203.06605
人脸重演算法将使视频编解码有新突破?
近年来随着视频直播的大火,越来越多的人开始关注视频云领域。而视频传输的低延迟,高画质,一直是难以平衡的两个点。当前直播延时最低可以降到 400ms 以内,但是在视频会议等各场景的需求不断增加的情况下,比如远程 PPT 演示,我们对画质和延迟的平衡有着更高的要求。而突破直播延迟的关键是编解码技术的提升,人脸重演算法与编解码技术的结合,在视频会议场景的应用中将使带宽需求大幅减少,而获得更具身临其境的体验,这是迈向超低延时优画质视频会议非常重要的一步。
人脸重演(face reenactment/talking head)算法是指,利用一段视频来驱动一张图像,使图像中的人脸能够模仿视频中人物的面部姿态、表情和动作,实现静态图像视频化的效果。

图 1
人脸重演发展现状
目前的人脸重演方法严重依赖于从输入图像中学习到的 2D 表征。然而,我们认为稠密的 3D 几何信息(例如:像素级深度图)对于人脸重演非常重要,因为它可以帮助我们生成更准确的 3D 人脸结构,并将噪声和复杂背景与人脸区分开来。不过,稠密的视频 3D 标注代价高昂。
研究动机&创新点
在本文中,我们介绍了一种自监督的 3D 几何学习方法,可以在不需要任何 3D 标注的情况下,从视频中估计出头部深度(depth maps)。我们进一步利用深度图来辅助检测人脸关键点,从而捕捉头部的运动。此外,深度图还用于学习一种 3D 感知的跨模态注意力(3D-aware cross-model attention),以指导运动场(motion field)的学习和特征的形变。

图 2
图 2 展示了本文提出的 DA-GAN 的 pipeline,它主要包含三部分:
(1)深度估计网络
,我们通过自监督的方式估计稠密的人脸深度图;
(2)关键点检测网络
,我们将由深度图表征的 3D 几何特征与由 RGB 图的外观特征进行拼接,以预测更为准确的人脸关键点;
(3)人脸合成网络,它又可以分为一个特征形变模块和一个跨模态注意力模块。
特征形变模块将输入的稀疏关键点转化为稀疏运动场(sparse motion field),随后学习得到稠密运动场(dense motion field),并用其对图像特征进行扭曲(warping)。
跨模态注意力模块利用深度特征学习得到注意力图(attention maps),以捕捉更多动作细节并修正人脸结构。两个模块的结构可见图 3 和图 4。

图 3

图 4
实验结果
定量实验
我们在 VoxCeleb1[1] 和 CelebV[2] 数据集上进行了实验。
我们使用 structured similarity (SSIM) 和 peak signal-to-noise ratio (PSNR) 来评估结果帧和驱动帧的相似度;
使用 average keypoint distance (AKD) 和 average euclidean distance (AED)[3] 来评估关键点的准确性,使用 CSIM[4] 来评估身份保持;
使用 PRMSE 来评估头姿保持,使用 AUCON 来评估姿态保持。
定量对比

表 1

表 2

表 3
表 1 和表 2 是 DA-GAN 与主流人脸重演方法在 VoxCeleb1 数据集上的定量对比,表 3 是 DA-GAN 与主流人脸重演方法在 CelebV 数据集上的定量对比。
定性对比
图 5 是 GA-GAN 与主流人脸重演方法的定性对比。实验表明,本文提出的 DA-GAN 在各项指标以及生成效果上上均优于其它算法。

图 5
消融实验(Ablation study)
图 6 是 ablation study 的结果,可以看到,自监督深度估计和跨模态注意力模块都显著提升了合成人脸的细节和微表情。

图 6
研究总结
通过以上的的结果,可以看出人脸重演算法可以实现更为精细的人脸细节和微表情合成。在视频会议场景中,用 talking head 的方法,在通信过程中可以只传输关键点坐标,而不需要传输每帧图像,在接收端可以通过输入关键点恢复每一帧的图像,大幅降低带宽需求,从而获得画质优良的低延时视频会议体验。
「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。公众号后台回复【技术】可加入阿里云视频云产品技术交流群,和业内大咖一起探讨音视频技术,获取更多行业最新信息。
CVPR2022 前沿研究成果解读:基于生成对抗网络的深度感知人脸重演算法的更多相关文章
- 知物由学 | AI网络安全实战:生成对抗网络
本文由 网易云发布. “知物由学”是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道.“知物由学” ...
- 【超分辨率】—(ESRGAN)增强型超分辨率生成对抗网络-解读与实现
一.文献解读 我们知道GAN 在图像修复时更容易得到符合视觉上效果更好的图像,今天要介绍的这篇文章——ESRGAN: Enhanced Super-Resolution Generative Adve ...
- [ZZ] Valse 2017 | 生成对抗网络(GAN)研究年度进展评述
Valse 2017 | 生成对抗网络(GAN)研究年度进展评述 https://www.leiphone.com/news/201704/fcG0rTSZWqgI31eY.html?viewType ...
- AI佳作解读系列(六) - 生成对抗网络(GAN)综述精华
注:本文来自机器之心的PaperWeekly系列:万字综述之生成对抗网络(GAN),如有侵权,请联系删除,谢谢! 前阵子学习 GAN 的过程发现现在的 GAN 综述文章大都是 2016 年 Ian G ...
- 基于Jittor框架实现LSGAN图像生成对抗网络
基于Jittor框架实现LSGAN图像生成对抗网络 生成对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的 ...
- 解读生成对抗网络(GAN) 之U-GAN-IT
Unsupervised Generative Attentionnal Networks with Adapter Layer-In(U-GAN-IT) 从字面我们可以理解为无监督生成对抗网络和适配 ...
- 不到 200 行代码,教你如何用 Keras 搭建生成对抗网络(GAN)【转】
本文转载自:https://www.leiphone.com/news/201703/Y5vnDSV9uIJIQzQm.html 生成对抗网络(Generative Adversarial Netwo ...
- 科普 | 生成对抗网络(GAN)的发展史
来源:https://en.wikipedia.org/wiki/Edmond_de_Belamy 五年前,Generative Adversarial Networks(GANs)在深度学习领域掀起 ...
- GAN实战笔记——第六章渐进式增长生成对抗网络(PGGAN)
渐进式增长生成对抗网络(PGGAN) 使用 TensorFlow和 TensorFlow Hub( TFHUB)构建渐进式增长生成对抗网络( Progressive GAN, PGGAN或 PROGA ...
- 渐进结构—条件生成对抗网络(PSGAN)
Full-body High-resolution Anime Generation with Progressive Structure-conditional Generative Adversa ...
随机推荐
- Python 在PDF中生成水印
前言 在PDF中插入水印是比较常用的一种功能.一般在生成比较重要的,或者需要注明版权.作者的文档时使用比较多. 这里我将分享一个通过python代码为PDF文档添加水印的办法(包括文本水印和图像水印) ...
- LOG日志系统
# coding=utf-8 import datetime import logging import os import sys from logging.handlers import Time ...
- 【Javaweb】关于html转成jsp时出现乱码的问题解决
原因是没有在代码头部添加,下面这段代码,添加之后就解决了 <%@ page language="java" contentType="text/html; char ...
- 如何从Webpack迁移到Vite
本文将介绍如何将前端web应用程序从 Webpack 升级到 Vite. Vite 是最新的前端开发工具,其受欢迎程度和采用率都在大幅增长.可以查看下图中来自 npm trends 的下载. 推动这一 ...
- 用元编程来判断STL类型
在此之前,先来回顾元编程当中的一个重要概念. template<typename _Tp, _Tp __v> struct integral_constant { static con ...
- 使用javafx,结合讯飞ai,搞了个ai聊天系统
第一步:先在讯飞ai那边获取接入的api 点进去,然后出现这个页面: 没有的话,就点击免费试用,有了的话,就点击服务管理: 用v2.0的和用3的都行,不过我推荐用2.0版本 文档位置:星火认知大模型W ...
- [ABC263B] Ancestor
Problem Statement There are $N$ people, called Person $1$, Person $2$, $\ldots$, Person $N$. The par ...
- docker 设计及源码分析
1.dockerd 是一个长期运行的守护进程(docker daemon).负责管理 docker 容器的生命周期.镜像和存储等.实际还是通过grpc 的协议调用 containerd 的 api 接 ...
- MinIO客户端之rb
MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc rb 彻底删除指定的桶. 命令如下: ./mc rb local1/bkt1 控制台的输出,如下: mc: ...
- ElasticSearch之系统关键配置
ElasticSearch之系统关键配置 集群名称 在配置文件$ES_HOME/config/elasticsearch.yml中指定,样例如下: cluster: name: logging-pro ...