您的位置:首页 > 大数据 > 人工智能

【machine-learning】机器学习AI-宅男福音deepfakes开源后的一个配置过程例子

2018-02-15 19:05 701 查看
参考资料:https://github.com/captain811/faceswap/blob/master/INSTALL.mdhttp://mp.weixin.qq.com/s/hUcQ1SEZlHp7c-wQ-jlfRg前言:GitHub 开源工具 deepfakes想必你还记得“神奇女侠”盖尔·加朵的脸被贴在了一个爱情动作电影女主的脸上,令无数宅男神往的女神就这么“脱了”,当时新闻一出在网络上引起了不小的轰动。据了解,这家电影公司采用的就是这个名为 deepfake 的深度学习技术,这款工具本来的用途是用来识别和交换图片、视频中人物脸部图像的工具 (灵感源自 Reddit 上超级火爆的不可描述社区 deepfakes),但是就有这么一群不安分的人,非要把一项本该得到很好利用的技术用在某些迷之领域,╮(╯▽╰)╭为了拍片儿、看片儿煞费苦心,也真是难为他们了。一、建立工程:(1)到 C盘 建一个文件夹 xby,把源代码放进去C:\xby\faceswap (2)工程名初始化mkvirtualenv faceswap-xby确认路径setprojectdir C:\xby\faceswap  (3)启动 工程workon faceswap-xby 二、配置环境,安装各种包继续上一步后,进入主目录后,直接使用这条命令,一步步按照错误信息,将缺少的模块进行补齐:python faceswap.py -h下面是出现的模块与坑1、Scandir2、Cv2 这个安装起来也麻烦,找了很久,发现可以用下面这个命令实现pip install opencv-contrib-python3、tqdm4、dlib安装(这个很关键,而且这个安装好了要重启电脑)pip install xxx.whl https://www.zhihu.com/question/34524316 去python package index 网站下载了符合电脑系统和python版本的whl文件,在anaconda prompt里cd到放whl文件的文件夹,输入pip install xxxxx.whl就好了5、face_recognition6、Keras7、H5py8、tensorflow有两种方式:cpu与Gpu方案,简单点就是cpu,但是效率慢,后者反之。本机显卡很差,而且显卡配置很复杂,将就用cpu来跑,要跑十多个小时,不过也没关系,可以一边跑图一边做其他事,资源消耗并不多。如果只用cpu,直接pip install tensorflow,官方文档写了已经支持python3.6了。 如果要用gpu,输入pip install tensorflow-gpu,即可。此外gpu还要安装cuda和cudnn,需要注意版本,运行import tensorflow会有提示。 pip操作安装了的tensorflow会有提示:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2,原因好像是编译问题,cpu没有得到充分的利用,如果从官网下载源码不会有这种问题,如果用gpu可以忽略,使用:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'  #忽略烦人的警告
三、提取图片中有用的头像信息python faceswap.py extract -i c:\xby\faceswap\photo\xby -o c:\xby\faceswap\data\xbypython faceswap.p4000y extract -i c:\xby\faceswap\photo\av -o c:\xby\faceswap\data\av 四、 训练模型python faceswap.py train -A c:\xby\faceswap\data\av -B c:\xby\faceswap\data\xby -m c:\xby\faceswap\models-av2xby -p训练出两个模型A和B(A模型就是前者转后者,B模型就是后者转前者) 五、转换 加了这个-s 参数表示用B模型,默认用的是A模型python faceswap.py convert -s -i c:\xby\faceswap\photo\av -o c:\xby\faceswap\output\xby  -m c:\xby\faceswap\models-av2xby六、视频提取为图片与图片还原为视频建议图片至少100张以上,否则容易提示信息太少报错,因为24张合成一帧,所以100多张也就4到5秒钟。(1)将视频分割为图片,注意这个需要建立好目录ffmpeg -i C:\xby\ffmpeg\bin\xby\video.mp4 C:\xby\ffmpeg\bin\xby\output\video-frame-%d.pngffmpeg -i C:\xby\ffmpeg\bin\mu-av.mp4 C:\xby\ffmpeg\bin\mu-av\video-frame-%d.png(2)将图片改好后合成为视频(多尝试了几次)ffmpeg -i C:\xby\ffmpeg\bin\video-frame-%d.png -c:v libx264 -vf "fps=25,format=yuv420p" C:\xby\ffmpeg\bin\out.mp4 ffmpeg -i C:\xby\ffmpeg\bin\trump\video-frame-%d.png -c:v libx264 -vf "fps=25,format=yuv420p" C:\xby\ffmpeg\bin\trump-out.mp4ffmpeg -i C:\xby\ffmpeg\bin\xby\video-frame-%d.png -c:v libx264 -vf "fps=25,format=yuv420p" C:\xby\ffmpeg\bin\xby-out.mp4七、在第四步,开发人提供了一个学习好了的模型A与B,是特朗普与尼古拉斯凯奇。可以直接作为跳过第四步拿来使用。https://github.com/deepfakes/faceswap-playground

Training Data

Whole project with training images and trained model (~300MB):https://anonfile.com/p7w3m0d5be/face-swap.zip or click here to download(1)训练前的原视频:(2)用尼古拉斯凯奇的训练后模型包,合成的视频:八、关于音频(1)用千千静听将原视频转换为wav(2)用爱剪辑添加新视频+刚转换出来的wav(3)合成后,修改片头片尾等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: