在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
近来AI换脸技术引起了巨大的争议,众所周知,人脸互换是计算机视觉领域中的大热应用,在技术进步的同时也埋下了不少的隐患。因此在不久前的《网络音视频信息服务管理规定》中,国家出台了针对AI换脸造假视频的管控政策。由此可见AI换脸技术的迅猛发展,甚至达到了以假乱真的地步。既然AI技术如此神奇,本文就来带大家深度分析AI技术的具体原理,感兴趣的朋友可以接着看下去。
AI换脸技术原理:
人脸互换一般可以用于视频合成、提供隐私服务、肖像更换或者其他有创新性的应用。最早之前,实现人脸互换是通过分别分析两者人脸的相似信息来实现换脸,也就是通过特征点匹配来提取一张脸中例如眉毛、眼睛等特征信息然后匹配到另一张人脸上。这种实现不需要进行训练,不需要的数据集,但是实现的比较差,无法自己修改人脸中的表情。
而在最近发展的深度学习技术中,我们可以通过深度神经网络提取输入图像的深层信息,从而读取出其中隐含的深层特征来实现一些新奇的任务,比如风格迁移(style transfer)就是通过读取训练好的模型提取图像中的深层信息来实现风格互换。也有使用神经网络进行人脸互换(face-swap),其中使用VGG网络来进行特征提取并实现人脸互换。这里我们通过特殊的自编码器结构来实现人脸互换,并且达到不错的效果。
自编码器:
AI换脸技术基础背景——自编码器
自编码器类似于神经网络,可以说是神经网络的一种,经过训练后能够尝试将输入复制到输出。自编码器和神经网络一样,有着隐含层h,可以将输入解析成编码序列,从而复现输入。自编码器内部有一个函数h=f(x)可以进行编码,同时也有一个函数r=g(h)实现解码,如下图所示。
网络构架:
那么应该如何通过自编码器实现我们的换脸技术呢?在之前我们已经知道了自编码器可以学习输入图像的信息从而对输入图像信息进行编码并将编码信息存到隐含层中,而解码器则利用学习到的隐含层的信息重新生成之前输入的图像,但是如果我们直接将两个不同个体图像集的图像输入到自编码器当中会发生什么呢?假如我们仅仅是简单地将两张不同的脸的集合扔到自编码网络中,然后挑选一个损失函数去训练,但这样去训练我们是什么也得不到的,因此我们需要重新设计一下我们的网络。
怎么设计呢?既然我们想要将两张脸互换,那么我们可以设计两个不同的解码网络,也就是使用一个编码网络去学习两张不同人脸的共同特征,而使用两个解码器去分别生成他们。也就是我们设计一个输入端或者说一个编码器(分别输入两个不同的脸),然后两个输出端或者说两个解码器,这样我们就可以通过隐含层来分别生成两张不同的人脸了。
网络结构:
我们可以看到网络结构有一个输入端和两个输出端,输入端由卷积层和全连接层构成,而输出端则同样由卷积层构成,但是需要注意这里的输入端是下采样卷积,而输出端则是上采样卷积,也就是图像的分辨率是先变低再慢慢升高。
总得来说,这个换脸技术是一个结构简单但是知识点丰富的一个小项目,其结构简单易于使用以及修改,并且可以生成不错的效果,但是因为其拥有较多的参数,其运行速度并不是很快(当然我们可以通过改变编码层和解码层结构加快训练生成的速度),并且对于脸部有异物的图像可能会生成不真实的效果。
以上就是AI换脸技术原理的全部分析,大家都了解了吗?随着人工智能的深度发展,为许多领域都带来了突破性的进步。当然AI技术的发展有利有弊,不过总体上看来,AI技术的发展还是利大于弊,因此AI换脸技术大家更应该辩证地去看待。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
人工智能产业链发展深度分析
近些年来,人工智能厚积薄发,在全球范围内掀起了科技企业竞争的风潮。而人工智能产业链更是发展得如火如荼,今天我们就一起来深度分析人工智能产业链的发展。本文主要内容包括人工智能产业链的核心、层级、价值和未来竞争趋势。
8327
2019-08-29 15:38:17
人工智能对生活的影响有多大?
有人说未来将是人与人工智能相互协作的时代,人们可充分利用机器和人类不同的优势,让人工智能发挥强大的统计和计算能力,使人工智能服务于人类。人工智能以不可逆转的迅猛之势进入到我们的生活之中,人们时刻感受着AI的高效、便捷带来的便利。
8042
2020-01-07 17:43:17
AI技术在疫情防控中的应用
人工智能技术一直以来都在不断地突破和发展,在各个领域都得到了充分的应用,尤其是在这次突然爆发的新冠疫情中,人工智能技术对疫情的防控发挥了巨大的作用。具体上来看,AI技术主要应用红外体温检测、在线远程诊断这两大方面,听上去好像没什么特别大的用处,但是对于疫情筛查和隔离诊断都提供了非常有效的帮助。
10472
2020-02-18 16:26:42
什么是人工智能
什么是人工智能?通过各种科幻影视剧,我们普遍认为人工智能就是通过各种方法最终实现,计算机模拟人类运行的系统。人工智能不是人的智能,但能够像人一样的思考,甚至有可能超过人的智能。
5024
2020-09-24 11:11:26
学习人工智能都需要学什么?
人工智能课程需要学习python编程基础、web基础、web-Django框架与项目、 Web-Flask框架与项目、人工智能、机器学习等方面的知识。掌握计算机原理、网络、Web前端、后端、架构、 数据库、项目部署、数据获取、数据提取、数据清洗、数据挖掘、机器学习、深度学习、图像识别等领域所需要的全部技术的前沿课程。
5594
2020-11-23 17:38:19
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
