在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
近来AI换脸技术引起了巨大的争议,众所周知,人脸互换是计算机视觉领域中的大热应用,在技术进步的同时也埋下了不少的隐患。因此在不久前的《网络音视频信息服务管理规定》中,国家出台了针对AI换脸造假视频的管控政策。由此可见AI换脸技术的迅猛发展,甚至达到了以假乱真的地步。既然AI技术如此神奇,本文就来带大家深度分析AI技术的具体原理,感兴趣的朋友可以接着看下去。

AI换脸技术原理:
人脸互换一般可以用于视频合成、提供隐私服务、肖像更换或者其他有创新性的应用。最早之前,实现人脸互换是通过分别分析两者人脸的相似信息来实现换脸,也就是通过特征点匹配来提取一张脸中例如眉毛、眼睛等特征信息然后匹配到另一张人脸上。这种实现不需要进行训练,不需要的数据集,但是实现的比较差,无法自己修改人脸中的表情。
而在最近发展的深度学习技术中,我们可以通过深度神经网络提取输入图像的深层信息,从而读取出其中隐含的深层特征来实现一些新奇的任务,比如风格迁移(style transfer)就是通过读取训练好的模型提取图像中的深层信息来实现风格互换。也有使用神经网络进行人脸互换(face-swap),其中使用VGG网络来进行特征提取并实现人脸互换。这里我们通过特殊的自编码器结构来实现人脸互换,并且达到不错的效果。
自编码器:
AI换脸技术基础背景——自编码器
自编码器类似于神经网络,可以说是神经网络的一种,经过训练后能够尝试将输入复制到输出。自编码器和神经网络一样,有着隐含层h,可以将输入解析成编码序列,从而复现输入。自编码器内部有一个函数h=f(x)可以进行编码,同时也有一个函数r=g(h)实现解码,如下图所示。

网络构架:
那么应该如何通过自编码器实现我们的换脸技术呢?在之前我们已经知道了自编码器可以学习输入图像的信息从而对输入图像信息进行编码并将编码信息存到隐含层中,而解码器则利用学习到的隐含层的信息重新生成之前输入的图像,但是如果我们直接将两个不同个体图像集的图像输入到自编码器当中会发生什么呢?假如我们仅仅是简单地将两张不同的脸的集合扔到自编码网络中,然后挑选一个损失函数去训练,但这样去训练我们是什么也得不到的,因此我们需要重新设计一下我们的网络。
怎么设计呢?既然我们想要将两张脸互换,那么我们可以设计两个不同的解码网络,也就是使用一个编码网络去学习两张不同人脸的共同特征,而使用两个解码器去分别生成他们。也就是我们设计一个输入端或者说一个编码器(分别输入两个不同的脸),然后两个输出端或者说两个解码器,这样我们就可以通过隐含层来分别生成两张不同的人脸了。
网络结构:
我们可以看到网络结构有一个输入端和两个输出端,输入端由卷积层和全连接层构成,而输出端则同样由卷积层构成,但是需要注意这里的输入端是下采样卷积,而输出端则是上采样卷积,也就是图像的分辨率是先变低再慢慢升高。
总得来说,这个换脸技术是一个结构简单但是知识点丰富的一个小项目,其结构简单易于使用以及修改,并且可以生成不错的效果,但是因为其拥有较多的参数,其运行速度并不是很快(当然我们可以通过改变编码层和解码层结构加快训练生成的速度),并且对于脸部有异物的图像可能会生成不真实的效果。
以上就是AI换脸技术原理的全部分析,大家都了解了吗?随着人工智能的深度发展,为许多领域都带来了突破性的进步。当然AI技术的发展有利有弊,不过总体上看来,AI技术的发展还是利大于弊,因此AI换脸技术大家更应该辩证地去看待。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
人工智能到底应用在哪些领域?
在如今这个人工智能概念火热的情况下,不少人对人工智能的了解依旧是懵懵懂懂。在生活中我们频繁地提出人工智能,可是很少有人能够解释:人工智能到底应用在哪些领域?
7595
2019-07-04 18:09:22
为什么Google是人工智能发展的主要动力?
Google一直以来都走在人工智能开发浪潮的最前沿,目前引领着人工智能技术的应用。可以说,谷歌的核心技术就是AI的机器学习和神经网络。那么为什么Google是人工智能发展的主要动力?主要是由于谷歌投资了大量资金在云平台能够高效运作的硬件开发上。下面我们来详细分析Google在人工智能开发上做出的努力和贡献。
9110
2019-11-18 19:15:55
机器学习中的聚类算法有哪几种?
目前,聚类算法被广泛应用于用户画像、广告推荐、新闻推送和图像分割等等。聚类算法是机器学习中一种“数据探索”的分析方法,它帮助我们在大量的数据中探索和发现数据的结构。那么机器学习中的聚类算法有哪几种呢?下面我将为大家一一介绍常见的几种聚类算法,分别是高斯聚类模型、基于密度的聚类算法、凝聚层次聚类和均值漂移算法。
10707
2020-04-03 19:00:35
如何提高人工智能开发效率?
数据的大量激增与AI算力的快速提高,使人工智能的效果、落地产生无限可能。但在AI开发过程中,要怎样合理选择开发要素才能提升开发效率?怎样选择主流算法框架?AI开发环境搭建中常见问题都有哪些?为了帮助大家更有效的解决人工智能开发的效率问题,这里给大家推荐一个免费的人工智能公开课,下面来看看具体的课程详情吧~
6324
2020-05-18 17:28:40
深度学习框架智能时代的操作系统是什么?
深度学习框架智能时代的操作系统是什么?在AI领域深度学习框架被视为“AI操作系统”,基于深度学习框架,企业可以根据自身行业的特点和场景需要,更快更便捷地开发AI应用。
3690
2022-05-13 15:16:09
