4步教你用python实现ai视频换脸

4步教你用python实现ai视频换脸

4步教你用python实现ai视频换脸

python在人工智能领域使用得越来越多,特别是人脸识别这一块,最近网络上有一个技术牛人使用ai将影视电影中的女主角换成了另外一个明星,看上去毫无违和感,让我们不得不感叹ai人工智能的强大,今天来带大家解密一下如何实现ai视频换脸,其实很简单,使用开源的faceswap就行了

一、faceswap使用

4步教你用python实现ai视频换脸

faceswap是一段python程序,用来进行图片或视频的人脸更换,下面我们来教大家怎么用

首先下载faceswap ,新建一个目录

git clone https://github.com/deepfakes/faceswap

下载完后我们看到目录下面有个faceswap.py 这个我们主要用到

4步教你用python实现ai视频换脸

我们现在实验以下将美国总统川普与凯奇的脸更换

4步教你用python实现ai视频换脸

下面我们按照这几个步骤进行换脸

1、准备好需要换脸的视频或图片,在项目根目录下新建一个目录src,将视频或图片放进去

我们将包含川普与凯奇脸部的视频放到以下文件夹中

~/faceswap/src/trump
~/faceswap/src/cage

2、从视频或图片中提取脸部照片

在项目目录下执行以下命令

#从照片中提取川普脸
python faceswap.py extract -i ~/faceswap/src/trump -o ~/faceswap/faces/trump
# 从视频中提取川普脸:
python faceswap.py extract -i ~/faceswap/src/trump.mp4 -o ~/faceswap/faces/trump
# 从照片中提取凯奇脸
python faceswap.py extract -i ~/faceswap/src/cage -o ~/faceswap/faces/cage
# 从视频中提取凯奇脸
python faceswap.py extract -i ~/faceswap/src/cage.mp4 -o ~/faceswap/faces/cage

这个命令就是从src目录中分别提取川普与凯奇的脸部,放到到faces目录中的trump与cage子目录中

3、训练脸部模型,执行以下命令

python faceswap.py train -A ~/faceswap/faces/trump -B ~/faceswap/faces/cage -m ~/faceswap/trump_cage_model/
# 或者增加 -p 显示预览
python faceswap.py train -A ~/faceswap/faces/trump -B ~/faceswap/faces/cage -m ~/faceswap/trump_cage_model/ -p

这个命令就是将faces目录中的脸部信息进行训练,并且将训练好的模型放在目录trump_cage_model中

4、将川普与凯奇的脸换上去

python faceswap.py convert -i ~/faceswap/src/trump/ -o ~/faceswap/converted/ -m ~/faceswap/trump_cage_model/

上面的命令就是将川普的脸缓存凯奇,然后就最终更换后的图像放到converted目录中

执行完后就可以看到目录中川普的脸变成凯奇了,

到这里,大家就问了,怎么都是照片,视频呢

其实视频就是一系列照片的合成

我们使用ffmpeg就可以实现,先将视频转成一堆有序的照片

ffmpeg -i /path/to/my/video.mp4 /path/to/output/video-frame-%d.png

然后经过faceswap跟换后我们再重新合成视频

ffmpeg -i video-frame-%0d.png -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4

ok,视频是不是就合成了

另外,faceswap还提供gui窗口界面操作,执行一下命令

python faceswap.py gui

我没看到以下的窗口,所有的命令都可以通过这个界面进行操作,是不是很方便呢

4步教你用python实现ai视频换脸

OK,今天我们简单就介绍到这,下一次我们试试与朋友视频聊天的时候,将我的脸换成其他人的脸,同样是python,玩法不一样哦,敬请期待



{{collectdata}}

网友评论0