fakeapp(AI智能视频换脸软件) 是一款目前很火的视频换脸软件。相信大家最近在观看小视频的时候,你会发现各种换脸原创小视频,其实都是通过这款软件来完成的,感兴趣的朋友不要错过了,欢迎大家下载体验。
FakeApp可以在几分钟内从图像集和视频轻松创建出数千张图像的强大,多样化的数据集。
FakeApp可以通过发布频繁的损失值和培训预览,轻松实时观察受过培训的人工智能的进度。
FakeApp通过自动分割,转换和拼接视频帧,减少了将视频中的人脸转换为单个按钮过程的任务。
先简单介绍一下FakeApp的三个模块
1.GET DATASET:获取数据集,在这一步中,你的素材视频将被逐帧切割成图片,程序会自动识别并提取出图片中人物的面部数据。
2.TRAIN:训练模型,根据第一步中生成的数据集,机器会自动地帮你训练模型,从而进行面部的替换。
3.CREATE:生成视频,这一步便是整个实验中最为神奇的地方,他能根据你训练出的模型,将给定视频素材中人物的面部进行替换,最后生成替换后的视频。
事前准备
1.开始实验前,请确保你的机器硬件达到要求。内存推荐8GB以上,如果低于4GB.....建议你升级一下配置再来做这个实验。因为模型训练的过程中需要依赖GPU,所以你的显卡显存至少得达到4GB,不然可能跑不动这个程序。
环境搭建
1.首先需要安装的便是这个能让你傻瓜式换脸的应用FakeApp了,点击链接进入官网。安装过程中并没有什么值得特殊强调的地方,咱们一笔跳过。
2.接下来就是和GPU相关的CUDA8了,选择相应的系统版本便可以下载安装。在安装方式这一步建议大家使用本地安装exe[local]的方式,exe[network]的安装方式....可能有点慢。默认情况下CUDA会自动帮你添加到环境变量,如果没有,请手动添加,这一步非常重要。
使用方法
1.第一步,生成数据集
先创建一个文件夹fake,将素材视频存放进去
咱们姑且用A和B来区分这两个小姐姐好了,按照FakeApp的提示,将素材路径填入,点击EXTRACT,接下来无需任何操作,等程序跑完就行了。你会看到fake文件夹中多出了一个dataset-A的目录,这便是我们待会儿训练模型时需要的数据集了。A的训练集生成后,重复这一步骤,生成B的训练集。至此,咱们第一步结束了。
2.第二步,训练模型
在这一步开始前,你需要在fake文件中创建一个model目录,这里会存放模型文件。和之前一样,依次填入文件夹路径,下面的参数无需修改,使用默认配置即可。点击TRAIN,等待程序初始化后,会弹出一个预览框,这时,你几乎可以高枕无忧了。刚开始你会发现预览框最右侧的一列会非常模糊,不要紧,模型才刚开始训练。Loss A和Loss B代表模型的差异值,咱们无需关注数值产生的原理,你只需要知道,两者之差越小,说明模型训练的越好。
训练模型是一个很耗时间的活儿,以我为例,每个数据集各350张左右的面部图像,训练了大概13个小时,差异值稳定在了0.1%左右。如果你想要更好的效果,建议每个数据集不低于500张,至于如何确定数据集的大小,可以看上面的示例图A,图中的360代表dataset-A的数据量。
值得一提的是,训练进度会被实时保存下来,也就是说你可以随时暂停训练,在预览窗口中,输入英文小写字母q即可保存退出,下次想要继续训练的话,打开FakeApp再点击TRAIN即可。
3.第三步,开始操作
在model中填入我们先前训练好的模型路径,Video则填入你想要替换的视频路径,依旧是傻瓜式,点击CREATE,稍安勿躁,让GPU飞一会儿~程序跑完后,你应该就能在fake文件中看到生成的swap.mp4文件了,让我们通过视频截图,看看效果如何。
如何把A视频的脸,替换进B视频 ?
分以下几步:
1.收集A,B的脸
因为是视频,所以要用一些特殊的技巧,把一个视频,转换成一张张图片,比如10s的视频,可能会有上百张图片,然后在上百张图片里,找出带有人脸的,最终都截取成相同大小的,比如256*256的脸图片
2.训练模型,A->B
有了A的256*256脸,和B的256*256脸,通过一些特殊的技巧,能找到两张脸之间联系,图片数越多,联系也就越紧,找到关系后,保存成 模型。这个模型的作用就是,给一张A的脸,输入进模型,模型会给出B的脸
3.换脸
随便找一个A的视频,依旧是转换成一张张图片,依旧要找出带有人脸的图片。把这一张张图片,丢进第2步得到的模型,就能得出一张张替换成B脸的图片。最后把所有的图片,再合并成视频,换脸完成。
-自动更新
-新增图片数据集
-修复了没脸的错误
-新增合并选项
-升级到TenserFlow1.5、CUDA9