天天看点

3D FaceSwap换脸一、算法原理二、实验过程

3D FaceSwap

  • 一、算法原理
  • 二、实验过程
    • 1.实验代码
    • 2.配置环境

一、算法原理

FaceSwap是基于图形学的换脸方法,首先获取人脸关键点,然后通过3D模型对人脸关键点位置进行渲染,不断缩小目标形状和关键点定位间的差异,最后将渲染模型的图像进行混合,并利用色彩校正技术获取最终的图像。这个实现在计算上是轻量级的,并且可以在CPU上有效地运行。

二、实验过程

1.实验代码

代码:https://github.com/MarekKowalski/FaceSwap

下载代码,然后将脸部对齐模型下载下来放到主目录中。

3D FaceSwap换脸一、算法原理二、实验过程
3D FaceSwap换脸一、算法原理二、实验过程

2.配置环境

系统:win10 64位

使用conda创建虚拟环境:python=2.7

conda create -n py27 python=2.7
           

创建环境成功激活之后更新pip

pip install --upgrade pip
           

安装opencv-python

pip install opencv-python==3.1.0.0
           

安装dlib

pip install dlib==18.17.100
           

安装pygame

pip install pygame
           

安装PyOpenGL

pip install PyOpenGL
           

之后进入代码目录运行:

3D FaceSwap换脸一、算法原理二、实验过程

运行zad1.py之后在主目录下得到图片:

3D FaceSwap换脸一、算法原理二、实验过程

运行zad2.py可以进行换脸:

3D FaceSwap换脸一、算法原理二、实验过程