4步教你用python实现ai视频换脸
python在人工智能领域使用得越来越多,特别是人脸识别这一块,最近网络上有一个技术牛人使用ai将影视电影中的女主角换成了另外一个明星,看上去毫无违和感,让我们不得不感叹ai人工智能的强大,今天来带大家解密一下如何实现ai视频换脸,其实很简单,使用开源的faceswap就行了
一、faceswap使用
faceswap是一段python程序,用来进行图片或视频的人脸更换,下面我们来教大家怎么用
首先下载faceswap ,新建一个目录
git clone https://github.com/deepfakes/faceswap
我们现在实验以下将美国总统川普与凯奇的脸更换
下面我们按照这几个步骤进行换脸
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/
执行完后就可以看到目录中川普的脸变成凯奇了,
到这里,大家就问了,怎么都是照片,视频呢
其实视频就是一系列照片的合成
我们使用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
我没看到以下的窗口,所有的命令都可以通过这个界面进行操作,是不是很方便呢OK,今天我们简单就介绍到这,下一次我们试试与朋友视频聊天的时候,将我的脸换成其他人的脸,同样是python,玩法不一样哦,敬请期待
网友评论0