前言
上一篇说到我们让视频中的人脸自动戴上口罩,这一篇谈一下面部遮挡的情况下,怎么把人脸还原回来。
人脸编辑对抗网络 SC-FEGAN
提到图像编辑,大家都熟悉Photoshop这款软件,近乎可以处理日常所有的照片,但是PS不是这么容易操作的,精通PS更是需要专业知识了。如何让小白完成在图像上勾勾画画就能实现图像的编辑?这个任务当然可以交给深度学习来实现了。
1 论文简介
SC-FEGAN,它具有完全卷积网络,可以进行端到端的训练。提出的网络使用SN-patchGAN判别器来解决和改善不和谐的边缘。该系统不仅具有一般的GAN损失,而且还具有风格损失,即使在大面积缺失的情况下也可以编辑面部图像的各个部分。
总结一下SC-FEGAN的贡献:
使用类似于 U-Net 的网络体系结构,以及 gated convolutional layers。对于训练和测试阶段,这种架构更容易,更快捷,与粗糙网络相比,它产生了优越而细致的结果。
创建了解码图,颜色图和草图的自由格式域数据,该数据可以处理不完整图像数据输入而不是刻板形式输入。
应用了 SN-patchGAN 判别器,并对模型进行了额外的风格损失。该模型适应于擦除大部分的情况,并且在管理掩模边缘时表现出稳健性。它还允许生成图像的细节,例如高质量的合成发型和耳环。
![](https://i-blog.csdnimg.cn/blog_migrate/6775a892c1f48c5acae950c0e690dd96.png)
更详细内容可以阅读论文和开源代码
https://github.com/run-youngjoo/SC-FEGAN
2 下载源码
克隆代码
git clone https://github.com/run-youngjoo/SC-FEGAN
在 Google drive 下载模型,
https://drive.google.com/open?id=1VPsYuIK_DY3Gw07LEjUhg2LwbEDlFpq1
放入 ckpt 目录下
mv /${HOME}/SC-FEGAN.ckpt.* /${HOME}/ckpt/
![](https://i-blog.csdnimg.cn/blog_migrate/d3718de5d6ea5ac680277755a4efd1f2.png)
3 修改配置文件
修改 demo.yaml 文件,设置 GPU_NUM: 0
INPUT_SIZE: 512
BATCH_SIZE: 1
GPU_NUM: 0
# directories
CKPT_DIR: './ckpt/SC-FEGAN.ckpt'
Qt5 界面框架
1 安装 Qt5
sudo apt install qt5-default qtcreator qtmultimedia5-dev libqt5serialport5-dev
pip install pyqt5
2 测试窗口
import sys
from PyQt5 import QtCore, QtWidgets
from PyQt5.QtWidgets import QMainWindow, QLabel, QGridLayout, QWi