0%

python实现视频人脸替换

QQ群:397745473
很多人在朋友圈中发照片,都喜欢把自己PS得漂亮或帅气一点,所以美颜相机大行其道。如果是旧的纸质照片,除了一些会PS技术的人,普通人很难把原照片PS得更好一点。如果是视频里的你,就算是PS大神也很难给你换一张脸。你有想过吗?如果把明星演的电影,好比把里边的主角范冰冰的脸换成你的,是一张你的会动会有表情的脸,那你会如何想呢?

最近一有个python的人工智能项目很火,就是给视频人物换脸。代码地址在:

https://github.com/joshua-wu/deepfakes_faceswap/。

这款软件需要的软件环境列表如下:

Python 3

Opencv 3

Tensorflow 1.3+(?)

Keras 2

硬件环境是要有一个CUDA支持的显卡。一切软硬件就序后,运行:

python train.py

就可以了。该项目同时还提供了约600mb的训练素材。

该项目在reddit的deepfakes社区里讨论得很火热。我翻了一下,找到一张有趣的中国人的评论,希望把视频人物换成angelbaby的脸。
该项目的原理大体如下:

1、将视频拆成N个框架,每个框架里放一张图片。

2、将需要替换的脸从图片里挖出来,然后训练成256x256的标准格式。

3、用训练好的脸部模型,完成对第二步产生的标准格式的脸部替换。

4、替换好的脸部,替换回每个框架里的图像。

5、将处理好的框架合并成视频。

由于我对人工智能的python代码不精通,所以我没做测试。我抓了两张他们做完的视频的几张图,你们看下自不自然。

这两个人都是好莱坞的明星,原谅我不认识。另外,为什么图我只抓头呢?其实你也明白的,这些程序员用了这份程序做了些什么事,好色之心,人皆有之,程序员也不例外,所以我没法抓全身图了。

现在这份技术,原作者也说并不成熟,做出的视频还是有些不自然。我就想,如果这个技术成熟了,视频也能造假了,想想真可怕。

欢迎关注我的其它发布渠道