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

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

ruisui884个月前 (02-17)技术分析18

“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
分享给朋友:

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

关于Vue页面跳转传参,参数不同, 但页面只获取参数一次的问题

#头条创作挑战赛#1.问题描述问题描述: element 展示表格(页面A),点击表格的每一行的查看详情按钮,可以携带此行的信息参数跳转到另一个页面(页面B),但是从A页面到B页面,只有第一次跳转的时候B页面可以获取到A页面的参数,返回再次A->B ,B页面无法获取到参数。2.解决办法:方法一...

在vue项目中封装WebSockets请求

在Vue项目中封装WebSocket请求包括以下步骤:1. 安装WebSocket库:首先,导入WebSocket库,例如`vue-native-websocket`或`socket.io-client`。根据项目需求选择适当的库,并根据官方文档进行安装和配置。2. 创建WebSocket服务:在V...

微信研发新功能,或许有你最期待的

微信在我们日常社交中担任着非常重要的角色,不管是用于学习还是工作,我们越来越离不开微信,微信的任何一个小的变化都会影响到现如今超过12亿的微信用户。就在前一段时间,微信更新了一个“拍一拍”的功能,只要双击好友头像,头像就会有抖动并带有文字提示,一时间众多网友在朋友圈疯狂刷屏,虽然觉得这个功能毫无用处...

什么是同步通信?什么是异步通信?它们有什么区别?

串行通信一般又分为同步和异步通信,同步通信需要同步时钟信号,而异步通信则不需要同步时钟信号。同步通信:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。异步通信:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。同步通信与异步通信有什么区别呢?1、同步通信要求接收端...

电机中“同步”、“异步”的区别到底在哪?

想要了解同步和异步的区别和工作原理必须知道“同步”是啥?定子电流产生的旋转磁场绑在(把磁场想象成一个实物)转子这块磁铁或电磁铁,一起“嗨”起来,两者速度相同...“异步”是啥?定子电流产生的旋转磁场自带几把刷子,旋转的时候对着转子一顿狂刷,利用“摩擦摩擦”将转子带起来,两者速度不同,产生差异(转差率...