faceswap基础操作

对换脸有些兴趣,抽空选择了FaceSwap进行研究,为了使用方便这里选择了使用它自带的GUI

换脸操作

提取过程

训练过程

转换过程

因为它自带的文档已经十分详细了,所以也没什么好记录的,唯一需要注意的是训练样本的质量问题,最好尽可能多的不同角度、表情和照明条件的脸部特写

换脸原理

整体换脸原理是,神经网络将大量人脸作为输入,编码后为矢量表现形式。在尝试创建一种算法,可用于以后尽可能地重建与输入图像更接近的人脸。

换脸的人(A)和被换脸的人(B)可以生成A的编码器、A的解码器、B的编码器、B的解码器

编码器是将人脸编码成矢量,解码器是将矢量返还成人脸

换脸的人(矢量A)和被换脸的人(矢量B),将A和B共享编码,让神经网络采取一个人脸的编码并将其解码为另一个人脸,即A的编码用B的解码去还原,从而换脸

上图是我在训练模型时的预览

第一列是原图(视频取帧),第三列是换脸。尝试了Cv2-Dnn算法和S3Fd算法进行人脸点位的提取,发现还是S3Fd算法效果更好,遮罩采用VGG模型即可

赏个🍗吧
0%