MakeItTalk:Adobe 语音驱动的头部动画
本文转载自机器之心。
机器之心报道
参与:魔王
不仅让真人图像开口说话,油画、素描、漫画等都能动起来!
给出一张面部图像和一段音频,能做什么?AI 有办法,比如让图像中的人开口说话!
此前,机器之心报道过三星人工智能研究中心和伦敦帝国理工学院提出的新型端到端系统,仅凭一张人脸照片和一段音频,就可以生成新的讲话或唱歌视频。
最近我们发现了一项类似的研究,马萨诸塞大学阿默斯特分校、Adobe 研究院等机构提出了一种叫做 的新方法,不仅能让真人头像说话,还可以让卡通、油画、素描、日漫中的人像说话。
论文链接:https://arxiv.org/pdf/2004.12992v1.pdf
不信就来看看效果吧!
我们首先看一看真人图像的动态化效果。
看起来不错,那么卡通画呢?
给我一个插座,我能让他成精!
还有油画。
如果我想让图像中的人物摇头晃脑高谈阔论,或者保持沉静端庄呢?
答案是也可以实现。
动图 get 不到声画同步效果?请戳下面这个视频:
那么,这是如何做到的呢?
之前的方法往往学习音频和原始像素之间的直接映射进而创建人物的说话动态,而这项研究提出的方法将输入音频信号中的内容和说话人身份信息分离开来:音频内容用来稳健地控制嘴唇及周围区域的运动;说话人信息则决定面部表情的细节和人物的头部动态。
该方法的另一个重要组件是预测能够反映说话人动态的面部特征点。基于该中间表征,该方法能够为真人头部图像合成说话状态视频。此方法还可用于艺术作品、素描、2D 卡通人物、日漫、随手涂鸦等图像。
研究者对该方法进行了定量和定性评估,结果表明与之前的 SOTA 方法相比,该方法能够生成具备更高质量的说话状态头部动画。
图 8:与 SOTA 方法的对比。
研究贡献
该研究的主要贡献如下:
提出一种基于深度学习的新架构,能够仅基于语音信号预测面部特征点,捕捉嘴唇、下巴、眉毛、鼻子和头部的姿势;
基于分离开的语音内容和说话人表征生成包含面部表情和头部动态的动画;
针对矢量风格卡通图像和真实人物面部图像各提出一种图像合成方法。这些方法可以处理训练过程中未出现的新人脸图像和卡通人物图像;
提出一组定量度量指标,并对头部动画方法的评估进行了用户调研。
MakeItTalk 架构
图 2:MakeItTalk 方法概览。
如上图所示,给出一段音频和一张面部图像,MakeItTalk 架构可以生成说话人的头部状态动画,且声画同步。
在训练阶段,研究者使用现成可用的人脸特征点检测器对输入图像进行预处理,提取面部特征点。然后使用输入音频和提取到的特征点直接训练使语音内容动态化的基线模型。为了达到高保真动态效果,研究者尝试将输入音频信号的语音内容和说话人嵌入分离开来,进而实现面部特征点的预测。
具体而言,该研究使用声音转换神经网络将语音内容和说话人身份信息分离开。
语音内容与说话人无关,仅捕捉嘴唇及周围区域的运动(参见图 2「Speech Content Animation」)。说话人的身份信息则决定了动作的细节和说话人的其余头部动态(参加图 2「Speaker-Aware Animation」)。
例如,不管谁说单词「Ha!」嘴唇都会张开,这与说话人无关,仅取决于说话内容。而嘴唇的形状和张开的幅度,以及鼻子、眼睛和头部的动态则取决于说话人的身份。
基于语音内容和说话人身份信息,MakeItTalk 模型为给定音频输出预测特征点序列。
图 3:针对不同说话人身份的特征点预测。左:给定人脸图像的静态特征点;右上:对说话时头部动作较轻的人的预测特征点序列;右下:对说话时头部动作较大的人的预测特征点序列。
为了生成光栅图像,研究者开发了两种特征点-图像合成(landmark-to-image synthesis)算法。
对于非真人图像,如油画或矢量图(图 9),该研究使用基于德劳内三角剖分(Delaunay triangulation)的简单换脸方法。
图 4:通过面部特征点和德劳内三角剖分进行卡通图像换脸。左:给出的卡通图像和面部特征点;中:德劳内三角剖分;右:由预测特征点引导进行换脸后的图像。
对于真人图像(图 8),则使用图像转换网络(类似于 pix2pix)将真人面部图像和底层特征点预测动态化(参见上图 2「Image2Image Translation」)。
之后结合所有图像帧和输入音频,就可以得到最终的说话状态头部动画了。
下图 6 展示了卡通图像和真人图像的动态化结果:
图 6:MakeItTalk 生成的卡通动画和真人面部动画。该方法不仅可以合成面部表情,还可以合成不同的头部姿势。
MakeItTalk 有何实际用途?
合成说话状态头部动画有很多应用场景,比如配音。
下图 7a 中,原始视频使用语言为英语,而配音版使用的是西班牙语,那么问题来了,配音版影片中人物的面部表情和语音对不上号。使用 MakeItTalk 后可以生成语音对应的视频帧,实现声画同步,并保持原版视频中的说话风格。
另一个应用则是目前应用广泛的视频会议。
在有限带宽视频会议中,视频帧无法以高保真度和高帧率进行传输,这时我们就可以利用声音信号带动说话者的头部动态视频。与视觉画面相比,声音信号可以以较低的带宽保存。而且,面部表情(尤其是嘴唇动作)对于沟通交流非常重要。下图 7b 展示了,使用 MakeItTalk 仅基于音频和初始高质量视频帧合成的头部动态视频。
图 7:MakeItTalk 的应用。第一行:用不同语言为视频配音;第二行:有限带宽视频会议。
END
备注:人脸
人脸技术交流群
人脸检测、识别、对齐、重建、表情识别、表情动画等技术,
若已为CV君其他账号好友请直接私信。
我爱计算机视觉
微信号:aicvml
QQ群:805388940
微博知乎:@我爱计算机视觉
投稿:amos@52cv.net
网站:www.52cv.net
在看,让更多人看到
MakeItTalk:Adobe 语音驱动的头部动画相关推荐
- 【20220505】文献翻译9:从视频中学习语音驱动的3D对话手势
Learning Speech-driven 3D Conversational Gestures from Video 摘要 1 简介 2 相关工作 3 数据集创建 3.1 从视频中创建3D注释 3 ...
- CVPR 2021 | 任何人都能“不讲武德”,姿态可控的语音驱动说话人脸
作者丨Johann Zhou@知乎 来源丨https://zhuanlan.zhihu.com/p/367525241 编辑丨极市平台 [导读]本文介绍了一篇由香港中文大学MMLab,商汤科技和南洋理 ...
- CVPR 2021 | 姿态可控的语音驱动
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨Johann Zhou@知乎 来源丨https://zhuanlan.zhihu.com/p/36752 ...
- CVPR 2021 | “以音动人”:姿态可控的语音驱动说话人脸
本文转载自商汤学术 摘要 · 看点 本文不使用任何人为定义的结构信息(人脸关键点或者3D人脸模型),成功实现了人头姿态可控的语音驱动任意说话人脸生成.本文的关键在于,隐式地在潜空间(latent sp ...
- 通过实时语音驱动人像模拟真人说话
元宇宙的火热让人们对未来虚拟世界的形态充满了幻想,此前我们为大家揭秘了声网自研的 3D 空间音频技术如何在虚拟世界中完美模拟现实听觉体验,增加玩家沉浸感.今天我们暂时离开元宇宙,回到现实世界,来聊聊声 ...
- 声网Agora Lipsync技术剖析:通过实时语音驱动人像模拟真人说话
元宇宙的火热让人们对未来虚拟世界的形态充满了幻想,此前我们为大家揭秘了声网自研的3D空间音频技术如何在虚拟世界中完美模拟现实听觉体验,增加玩家沉浸感.今天我们暂时离开元宇宙,回到现实世界,来聊聊声网自 ...
- 合成视频以假乱真新高度!商汤科技、中科院、南洋理工大学联合提出当前最高清的语音驱动视频生成系统...
点击我爱计算机视觉标星,更快获取CVML新技术 昨天ArXiv新出一篇效果异常赞的语音驱动的人脸视频合成论文,出自商汤科技,视频效果异常好.给定一段15分钟的演讲视频,应用该技术,即可生成一段该人物新 ...
- 仿B站首页头部动画的实现
B站的前端样式一直是我学习和模仿的对象,特别是它的首页头部动画,可以随着鼠标的移动进行场景的变化,很酷,所以我对它进行了大体上的模仿 废话不多说,先看效果 仿B站首页动画演示 视频打不开点击这里 完整 ...
- 高仿支付宝首页头部动画
高仿支付宝首页头部动画(使用design实现效果,CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+Toolbar) 效果图(效果图渐变不明 ...
最新文章
- 设计模式系列-建造者模式
- linux echo命令的-n、-e两个参数
- java例程练习(一维数组)
- hashSet与treeSet的去重原理
- 关于事件委托的整理 ,另附bind,live,delegate,on区别
- 编程之美-3.5-最短摘要的生成
- C# 获取Get请求返回
- HTML5期末大作业:网上鲜花网站设计——网上鲜花网页设计(5页)HTML+CSS+JavaScript web期末作业设计网页
- 【神经网络架构】Pyramid Convolution(金字塔卷积模块)论文笔记
- GIS空间分析 栅格数据分析2 成本距离分析
- Windows Mobile 6.1模拟器发布,欢迎下载!
- 你要的所有数据源都在这里了!
- 小程序钉钉语音录入组件
- java qq托盘 消息提醒_如何仿QQ实现托盘闪动消息提醒
- mysql 查询出现次数最多的_MySQL查询重复出现次数最多的记录
- 【C++】绘制一个登录窗口
- oracle+ebs+om+流程,Oracle EBS OM Order is not eligible for booking
- SpringApplication的启动过程
- 艾默生ITA2的UPS和依米康精密空调集中监控方案
- 安装 Rosetta
热门文章
- Servlet验证码功能
- Android view变形,Android SurfaceView预览变形完美解决方法
- java锁对象的区别吗_Java中对象级别锁和类级别锁之间的区别
- C51汇编语言16进制加法,51单片机汇编语言带进位加法指令(4条)
- 字符串includes_字符串操作大全:面试准备和日常编码所需一文打尽
- kaldi语音识别实战pdf_FSMN网络结构在语音识别声学模型的实践
- 解决“Linux无法登录,显示module is unknown”问题
- svg path绘制心形_SVG 菜鸟的 Recharts 自定义图表实战
- java 多态_Java的多态
- java如何批量导入题目_MyBatis 如何批量插入?