3D FaceSwap
- 一、算法原理
- 二、实验过程
-
- 1.实验代码
- 2.配置环境
一、算法原理
FaceSwap是基于图形学的换脸方法,首先获取人脸关键点,然后通过3D模型对人脸关键点位置进行渲染,不断缩小目标形状和关键点定位间的差异,最后将渲染模型的图像进行混合,并利用色彩校正技术获取最终的图像。这个实现在计算上是轻量级的,并且可以在CPU上有效地运行。
二、实验过程
1.实验代码
代码:https://github.com/MarekKowalski/FaceSwap
下载代码,然后将脸部对齐模型下载下来放到主目录中。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLyUDN2QTM0ATM0AzMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
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
之后进入代码目录运行:
运行zad1.py之后在主目录下得到图片:
运行zad2.py可以进行换脸: