向AI转型的程序员都关注公众号 机器学习AI算法工程
面教程中唯一会用到的一个人工智能叫模型(model), 大家可以简单的把他理解成数学上的公式,只不过这个公式不是固定的,是通过计算得到的。假设我想把我老婆新垣结衣的脸换成石原里美的脸,AI换脸的最核心流程可以理解为:【训练模型】使用我老婆和石原里美的人脸数据,计算出我老婆脸到石原里美脸的公式。【使用模型进行转换】用这个公式就可以把我老婆新垣结衣的脸变成石原里美脸。考虑我们一般都是使用视频进行换脸,那么整个AI换脸的流程可以描述为:
就这样我的老婆就从新垣结衣换成了石原里美。在大家打死我之前,请先思考一个问题,如果换脸的核心流程是“训练模型”和“使用模型进行转换”,那么是不是没理由非得用特定的视频进行训练模型?以及训练好的模型是不是只能用于转换特定的视频?答案肯定是否定的,毕竟我们是人工只能不是人工智障,于是更加方便的流程可以描述为:
按照这个逻辑,只要用于训练的视频图片越充足,训练的时间越长,我们就能做到把任意一个新的新垣结衣的视频换成石原里美身上。细心的同学可能要问了,既然是两个人一起训练,能不能也顺便做到同时反向用新垣结衣换石原里美?
这个逻辑理论上是可以的,但是现实中却是没有必要的,所以大部分的换脸代码都会用src来代指想换成的脸(本段对应石原里美),dst代指被替换的脸(本段对应新垣结衣)。
看到已经有些混乱的同学可以简单的记住下面这句话:“src提供五官,dst提供场景”。
一、项目介绍
FaceSwap是一个利用深度学习技术来识别和交换图片和视频中人脸的工具。该项目提供了一种创新的方法,使用户能够进行人脸交换,并在图像和视频中实现身份变换和面部表情转换。
官网:https://faceswap.dev/https://
文档:https://theaisummer.com/deepfakes/https://es/
视频介绍: https://youtu.be/v12wbKvhX78https://
项目地址: https://github.com/deepfakes/faceswap https://
二、项目原理
Deepfakes是一种合成媒体,将现有图像或视频中的人物替换为其他人的肖像。在照片中植入假人的行为并不新鲜。然而,最近的Deepfakes方法通常利用强大的GAN模型的最新进展,目标是面部操作。
一般来说,面部操作通常是通过Deepfakes进行的,可以分为以下几类:
2.1 脸合成
在这个类别中,目标是使用gan创建不存在的逼真面孔。最流行的方法是StyleGAN。简而言之,一个新的生成器架构学习高级属性(例如,在人脸上训练时的姿势和身份)的分离,而不需要在生成的图像(例如,雀斑,头发)中进行监督和随机变化,并且它能够直观地,特定于比例的合成控制。StyleGAN的生成器架构:
为了检测假合成图像,已经产生了各种方法。例如,在《关于数字人脸操纵的检测》一书中,作者在特征图上使用注意层来提取人脸的被操纵区域。他们的网络输出一个关于图像是真还是假的二元决策。
人脸操纵检测的体系结构可以使用任何骨干网,并且可以在骨干网中插入基于注意力的层。它接受高维特征F输入,使用基于操作外观模型(MAM)或基于回归的方法估计注意力图M_att,并将其与高维特征相乘,这些特征被反馈到主干。MAM方法假设任何被操纵的地图都可以表示为一组地图原型的线性组合,而回归方法则通过卷积操作来估计注意力地图。
2.2 面对交换
换脸是当今最流行的面部操作类型。这里的目的是在换脸后检测一个人的图像或视频是否假。最受欢迎的真假视频数据库是face取证++。该数据集中的假视频是使用计算机图形学(FaceSwap)和深度学习方法(DeepFake FaceSwap)制作的。FaceSwap应用程序是用Python编写的,并使用面部对齐,高斯-牛顿优化和图像混合来交换相机看到的人脸与提供的图像中的人脸。
DeepFake FaceSwap方法基于两个自动编码器和一个共享编码器,这两个编码器分别被训练来重建源和目标面部的训练图像。将目标序列中的人脸替换为源视频或图像集合中观察到的人脸。人脸检测器用于裁剪和对齐图像。为了创建假图像,将训练好的源人脸的编码器和解码器应用于目标人脸。然后使用泊松图像编辑将自动编码器输出与图像的其余部分混合。
在检测假图像时,XceptionNet在人脸交换检测中取得了最好的效果。它在性能上的优势很大程度上是基于深度卷积的。XceptionNet架构:
2.3 面部特征和表情
面部属性和表情操纵包括修改面部属性,如头发或皮肤的颜色、年龄、性别和面部表情,使其快乐、悲伤或愤怒。最受欢迎的例子是最近推出的FaceApp移动应用程序。这些方法中的大多数都采用gan(还有什么?)进行图像到图像的翻译。表现最好的方法之一是StarGAN,它使用跨多个属性域训练的单个模型,而不是为每个域训练多个生成器。
StarGAN的总体架构:
tarGAN由鉴别器D和生成器g组成,鉴别器试图预测输入图像是假的还是真实的,并将真实图像分类到相应的域。生成器将图像和目标域标签同时作为输入,并生成假图像。目标域标签在空间上被复制并与输入图像连接。然后,在给定原始域标签的情况下,生成器尝试从假图像中重建原始图像。最后,生成器G尝试生成与真实图像无法区分且可被鉴别器分类为目标域的图像。
三、项目推荐原因
深度学习人脸识别:
FaceSwap利用深度学习技术来进行人脸识别和交换。 通过训练模型,该工具能够准确地识别和提取图像和视频中的人脸,并实现高质量的人脸交换效果。 这种基于深度学习的人脸识别方法使得交换结果更加逼真和自然。
图像和视频的人脸交换:
该项目不仅支持对静态图片进行人脸交换,还能够对视频中的人脸进行交换。 这意味着用户可以将一个人的脸替换为另一个人的脸,并且保持在整个视频序列中的连续性。 这种能力为用户提供了更多创作和娱乐的可能性。
丰富的功能和灵活性:
FaceSwap提供了丰富的功能和选项,使用户能够根据自己的需求进行人脸交换。 用户可以调整交换的细节、控制融合的程度,并应用其他后处理效果,以获得满意的交换结果。 这种灵活性和自定义性使得该工具适用于不同的应用场景和创作需求。
开源和社区支持: 作为一个开源项目,FaceSwap鼓励用户的参与和贡献。 用户可以自由访问和使用该工具,并通过与社区分享经验、提出问题或提交改进建议来改善和完善工具。 开源和社区支持的模式为用户提供了一个与其他研究者和开发者共同学习和成长的平台。
机器学习算法AI大数据技术
搜索公众号添加: datanlp
长按图片,识别二维码
阅读过本文的人还看了以下文章:
整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主
基于40万表格数据集TableBank,用MaskRCNN做表格检测
《深度学习入门:基于Python的理论与实现》高清中文PDF+源码
2019最新《PyTorch自然语言处理》英、中文版PDF+源码
《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码
PyTorch深度学习快速实战入门《pytorch-handbook》
【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》
李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材
【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类
如何利用全新的决策树集成级联结构gcForest做特征工程并打分?
Machine Learning Yearning 中文翻译稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程
不断更新资源
深度学习、机器学习、数据分析、python
搜索公众号添加: datayx