创建无线连接小编使用的winxp系统直接在网络中心就可以完成了,但在windows 10系统中稍有点复杂了,在此小编给各位完整的介绍一个操作步骤。 1、在win10桌面我们按下键盘中的“WIN+X”组合键然后找到菜单下的“命令提示符(管理员)”,我们点击它打开: 2、在打开cmd界面中我们输入:netsh wlan set hostednetwork mode=allow ssid=test…
Faceswap:AI视频换脸教程, 换脸软件使用教程 Faceswap for windows
目录
p站换脸软件,deepfakes,faceswap windows版本使用教程
最终效果演示
此视频是原视频和换脸后的视频拼接后的结果
https://objrecong.oss-cn-shanghai.aliyuncs.com/output.mp4
1.安装
官方下载地址:https://github.com/deepfakes/faceswap/releases
下载后双击exe安装,如果没有独显,就选 Setup for CPU
有英伟达显卡,就选 Setup for NVIDIA GPU
有AMD显卡,就选 Setup for AMD GPU
最好选择用GPU计算,因为CPU计算起来超级慢,就算是i9, 也不如一个普通GPU的计算能力
一个普通的短视频,就算是强如RTX-2070,可能都要不间断计算一个星期
2.获取视频序列帧
准备两段包含人脸的视频,最好是正脸
然后我们需要把视频转化为序列帧,随便用什么方法、什么软件都行,在此,我们使用opencv-python去处理
新建两个文件夹p1_Input和p2_Input (命名随意) p1_Input用来存第一个视频的序列帧,
p2_Input用来存第二个视频的序列帧,然后运行python脚本
事先 pip install opencv-python
import cv2 cap=cv2.VideoCapture(r'E:\PyCharmProjects\FaceswapFiles\燃向热血高校_小栗旬帅炸.mp4') index=0 while True: _,frame=cap.read() if not _: break cv2.imshow('frame',frame) cv2.imwrite(r'E:\PyCharmProjects\FaceswapFiles\p1_Input\\'+'p'+str(index)+'.jpg',frame) index += 1 c=cv2.waitKey(30) if c==27: break
另一个视频同理,改下路径即可
处理完后,对应的序列帧会存在对应的文件夹下
3.提取序列帧中的人脸
首先新建两个空文件夹,用来存放提取的人脸图,例如p1_Output和p2_Output
然后打开faceswap软件
选中Extract
Input Dir 选为上文的p1_Input文件夹
Output Dir 选为上文的p1_Output文件夹
点击下方的Extract开始提取人脸
如果是第一次运行,点击Extract后会安装各种库,会比较慢
执行完后,
会在p1_Output文件夹下生成人脸图,然后检查一下,类似p0044_0.jpg和p0045_0.jpg这种有问题的图片,手动删掉
然后另一个视频同理
更改一下路径,输入和输出路径分别改为p2_Input和p2_Output ,重复上述操作
4.训练
新建一个空文件夹,取名models,用来存放训练后的模型
此时选择Train一栏
Input A 选择 p1_Output
Input B 选择 p2_Output
Model Dir 选择 刚才新建的models文件夹
然后点击下方的Train按钮开始训练
训练是个漫长的过程,根据处理的内容的复杂度,官方提示需要24小时至一个星期或者更长,要有耐心
根据电脑的性能,每隔一段时间,下方控制台会刷新一下损失函数的值,训练可以根据需求随时中断,官方建议,当值小于0.02效果会比较理想
随时可中断训练,此时模型的精度,就是你中断时控制台上显示的损失函数的值,中断后,训练的模型会存在上文新建的models文件夹下
5.换脸
新建个空文件夹,取名Final_Output,用来存放换脸后的最终的序列帧
选择Convert一栏
假如想把赵四的脸换到换到泷谷源治上
则:
Input Dir 需要选择 p1_Input路径,即视频1的原始序列帧
Output Dir 选择刚才创建的Final_Output文件夹路径
Model Dir 选择第4步保存模型的models文件夹路径
最后点击下方的Convert按钮开始换脸
6.序列帧转为视频
第5步执行完后,可在Final_Output文件夹中找到最终换脸后的序列帧
此时我们再把序列帧转化为视频,用什么方式转换都行
在此,我们同样用opencv-python去处理
import cv2 import os pathDir = os.listdir(r'E:\PyCharmProjects\FaceswapFiles\Final_Output') fourcc = cv2.VideoWriter_fourcc('M', 'J', 'P', 'G') fps=20 videoWriter = cv2.VideoWriter(r'E:\PyCharmProjects\FaceswapFiles\output.avi', fourcc, fps, (1920,1080)) for x in pathDir: path='E:\\PyCharmProjects\\FaceswapFiles\\Final_Output\\'+x print(path) frame=cv2.imread(path) cv2.waitKey(30) videoWriter.write(frame)
最终效果
https://objrecong.oss-cn-shanghai.aliyuncs.com/output.mp4
本文:Faceswap:AI视频换脸教程, 换脸软件使用教程 Faceswap for windows