当前位置:首页 > 技术分析 > 正文内容

一张照片“换脸”突然爆火 细说从头

ruisui883个月前 (02-17)技术分析12

“AI 换脸”这几天又热起来了。雷锋网AI 科技评论秉承以往的风格,从技术角度简单回顾一下近几年重要的 AI 换脸技术。

Cycle GAN

Cycle GAN 可以说是所有人脸转换尝试重要早期尝试。在对抗性生成式网络(GANs)的风潮中,大家发现只要给定源类别的样本和目标类别的样本,GANs 可以便捷地学习到两个类别之间的转换关系,就天然地适用于“图像到图像转换”问题,比如同一张风景照的冬天到夏天、一匹马到一匹斑马;Cycle GAN 核心思路在于,如果能从源转换到目标、还能从源转换回来,就可以认为模型很好地学习到了两个类别间的转换关系,也更好地保证了转换后的图像的品质。不过 Cycle GAN 的换脸效果并不怎么好,它毕竟是一个对所有类别的图像通用的方法。

Face2Face

Face2Face 可以说是一次“标准的、规矩的”的尝试,它借助 dlib 和 OpenCV,首先人脸检测器检测出源图片中的人脸、找到人脸上的关键标记点,然后再使用针对人脸的 pix2pix 转换模型把关键标记点转换为目标人脸图像。也许是因为这个方法没有给深度学习留下足够的发挥空间,所以它的效果也一般般。

在此之后,英伟达和 UC 伯克利的研究人员们根据 pix2pix 改进出了 pix2pixHD,提升了人脸图像的生成效果,而且也依然保持了原 pix2pix 模型的多类别通用能力。

DeepFakes

最火热、最广为流传的深度学习换脸模型无疑是 DeepFakes。出现于 2017 年底的 DeepFakes 是一个深度自动编解码器模型(Autoencoder-Decoder),通过用源人物和目标人物的几百张照片(越多越好)训练模型分别识别、还原两人面部的能力。最后用源人物的照片搭配目标人物的解码器就可以完成转换。它也对视频到视频的转换有良好支持。

DeepFakes 的缺点在于,它无法在小样本上工作,意味着无法凭一两张照片替换任意两个人的脸部;模型的训练过程也需要消耗大量资源。

DeepFakes 刚刚公开时也仅限于技术爱好者们之间交流,也并没有发布正式的论文。但一些盖尔·加朵的换脸动图一下子引爆了关注。今年年初曾经热炒的“杨幂换脸朱茵”视频也很可能是用这个方法实现的,因为 DeepFakes 中的编码器经过足够的训练后确实能够具有将任意输入人脸(比如朱茵的人脸)转换为高质量、高逼真度的目标人脸(杨幂人脸)的能力。

DeepFakes 的 GitHub 地址为
https://github.com/deepfakes/faceswap,如今它还在持续更新升级;后来推出了还名为 FakeApp 的桌面应用程序,便于更多 TensorFlow 玩不转的小白用户尝试。

一张照片转换面部动作

DeepFakes 式的“把目标图像中的人脸换成另一张脸”可能未来也很难减小样本数量要求和资源要求,所以也有另一种思路,那就是给定一张人脸图像,然后根据给定的动作让图中的人“动起来”。三星莫斯科 AI 研究中心联合斯科尔科沃科学技术研究所在今年 5 月发表的一篇论文就带来了不错的结果。不仅是真人的照片,他们甚至可以让油画中的人自然地开口说话。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2003.html

标签: pix2pixhd
分享给朋友:

“一张照片“换脸”突然爆火 细说从头” 的相关文章

程序员开发必会之git常用命令,git配置、拉取、提交、分支管理

整理日常开发过程中经常使用的git命令![送心]git配置SSH刚进入项目开发中,我们首先需要配置git的config、配置SSH方式拉取代码,以后就免输入账号密码了!# 按顺序执行 git config --global user.name "自己的账号" git config -...

多项修正 尼康D4s发布最新1.10版固件

尼康公司与2014年8月27日发布了D4s的最新固件,固件版本号为C:1.10。这次固件升级,主要解决了一些BUG,并且对拍摄菜单与相机操作做了一定调整。下面是本次新固件的具体信息:尼康发布D4s最新C固件 1.10版对C固件升级到1.10版所作的修改:当选定运动VR模式并换上 AF-S 尼克尔 4...

USB电池充电基础:应急指南

USB为便携设备供电与其串行通信功能一样,已经成为一种标准应用。如今,USB 供电已经扩展到电池充电、交流适配器及其它供电形式的应用。应用的普及带来的一个显著效果是便携设备的充电和供电可以互换插头和适配器。因此,相对于过去每种装置都采用专用适配器的架构相比,目前的解决方案允许采用多种电源进行充电。毋...

最快清除数组空值?分享 1 段优质 JS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!大家好,我是大澈!本文约 600+ 字,整篇阅读约需 1 分钟。今天分享一段优质 JS 代码片段,用最简洁的代码清除了数组中的空值。老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!const arr...

微信企业号首款永久免费应用问世

7月14日,微信企业号移动办公应用领跑者——办公逸宣布:其所研发的微信办公应用将永久免费,企事业单位只要拥有微信企业号都可以免费安装办公逸各项应用,此举标志着微信办公免费时代现已到来!据悉,办公逸(www.bangongyi.com)现已推出四大微信办公套件,分别为:移动办公管理套件、客户关系管理套...

什么是异步,什么是同步,啥意思?

概述:本文讨论了程序设计领域的同步、异步和多线程的一些基本概念。同步异步这两个词翻译的其实不通。我是不知道这两个词是啥意思。同步:步伐整齐;异步:步伐不整齐。大概这个意思,但是在编程设计领域啥意思?国人的烦恼多来自于不明确的翻译所造成的后果。异步对应的英文是Asynchronous。这个词的含义是“...