深度学习系列46:人脸图像超分GFP-GAN
1. 介绍
GFP-GAN由腾讯ARC实验室出品,测试下来效果很不错。
模型用于从低质量的人脸中恢复出高质量人脸。这些质量较低的肖像图可能由各种原因导致退化,如低分辨率,噪音,模糊或是被压缩。
主流的图像修复技术还是对抗生成网络GAN,但如何用好GAN是个学问。本模型使用了生成性面部先验模型(Generative Facial Prior, GFP),通过空间特征变换层被纳入到面部恢复过程中,这使得该方法能够实现真实性和保真度的良好平衡。
目前有3个pretrain模型,默认使用v1.3:
模型总图如下:
1.1 去退化模块
去退化模块为一个UNet,在UNet解码器的每个分辨率尺度输出图像,使用L1损失函数监督去退化模块。
1.2 Pretrained GAN as prior
将styleGAN的生成器拿过来直接用~
1.3 加入空间特征
用经过了重建损失函数的FspatialF_{spatial}Fspatial可以更好的提高保真性,与前面的FGANF_{GAN}FGAN进行连接,连接方法为SFT。
1.4 增加面部成分损失、保真性损失
保真性损失使用ArcFace人脸识别模型。
2. 快速上手
2.1 测试地址
- https://huggingface.co/spaces/akhaliq/GFPGAN,仅返回人脸
- https://app.baseten.co/applications/Q04Lz0d/operator_views/8qZG6Bg,GPU backened,速度很快,而且可以返回全图
- https://replicate.com/xinntao/gfpgan,需要注册,返回全图
- colab demo地址:https://colab.research.google.com/drive/1sVsoBd9AjckIXThgtZhGrHRfFI6UUYOo
2.2 github地址
https://github.com/TencentARC/GFPGAN
git clone https://github.com/TencentARC/GFPGAN.git
cd GFPGAN
pip install basicsr # 用于推理和训练,https://github.com/xinntao/BasicSR
pip install facexlib # 用于人脸检测,https://github.com/xinntao/facexlib
pip install -r requirements.txt
python setup.py develop
pip install realesrgan # 非人脸区域超分,使用Real-ESRGAN
然后下载模型,这里可以离线下载:
wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth -P experiments/pretrained_models no-check-certificate
执行推理:
python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2
参数说明如下:
Usage: python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2 [options]...-h show this help-i input Input image or folder. Default: inputs/whole_imgs-o output Output folder. Default: results-v version GFPGAN model version. Option: 1 | 1.2 | 1.3. Default: 1.3-s upscale The final upsampling scale of the image. Default: 2-bg_upsampler background upsampler. Default: realesrgan-bg_tile Tile size for background sampler, 0 for no tile during testing. Default: 400-suffix Suffix of the restored faces-only_center_face Only restore the center face-aligned Input are aligned faces-ext Image extension. Options: auto | jpg | png, auto means using the same extension as inputs. Default: auto
如果用cpu的话,有几个地方需要修改:
- inference_gfpgan.py中,允许cpu,并将half改为False:
此外,python3.7/site-packages/facexlib/utils中加上兼容cpu的代码:
深度学习系列46:人脸图像超分GFP-GAN相关推荐
- 深度学习系列45:图像恢复综述
从本期开始,会探索图像恢复领域的论文和代码.本次先阅读一下综述. 传统方法一个很大的假设是我们相信我们可以在缺失区域之外找到相似的patch,但是如果缺失区域之外没有任何类似的patch,就没有办法正 ...
- 图像超分中的深度学习网络
图像超分中的深度学习网络 质量评估 操作通道 有监督算法 预上采样 后采样超分 逐步上采样 迭代上下采样 上采样的学习方式 残差块 递归学习 多路径学习 密集连接 通道注意力机制 其他卷积 像素递归网 ...
- 《深度学习》图像超分初识
一:简介 图像超分(super-Resolution)是将低分辨率的图像或者视频序列恢复出高分辨率图像. 可以用在视频数字高清播放,视频监控,视频编码,图像还原和医学影像等领域,按照类别可分为单个图像 ...
- 深度学习磁共振图像超分与重建论文阅读
深度学习磁共振图像超分与重建算法研究 Super-resolution reconstruction of MR image with a novel residual learning networ ...
- SRCNN-基于深度学习的图像超分入门
图像超分 图像超分辨率问题定义: 输入一张低分辨率图像时(low resolution,LR),通过算法,输出一张高分辨率图像(high resolution,HR) 传统的图像插值算法可以在某种程度 ...
- (十)老照片修复、图像超分、图片提高分辨率、图片高清化、图片清晰化、黑白图片上色、人脸祛斑、美颜、人体瘦身、图像去噪、人像抠图、批量处理、视频提高分辨率、视频逐帧修复
(十)老照片修复.图像超分.图片提高分辨率.图片高清化.图片清晰化.黑白图片上色.人脸祛斑.美颜.人体瘦身.图像去噪.人像抠图.批量处理.视频提高分辨率.视频逐帧修复 本文的代码的功能是:可以对图片文 ...
- 深度学习之视频人脸识别系列一:介绍
作者 | 东田应子 [导读]本文是深度学习之视频人脸识别系列的第一篇文章,介绍了人脸识别领域的一些基本概念,分析了深度学习在人脸识别的基本流程,并总结了近年来科研领域的研究进展,最后分析了静态数据与视 ...
- 深度学习之视频人脸识别系列(一):简介
阅读时间约4分钟 [介绍]本文是深度学习之视频人脸识别系列的第一篇文章,介绍了人脸识别领域的一些基本概念,分析了深度学习在人脸识别的基本流程,并总结了近年来科研领域的研究进展,最后分析了静态数据与视频 ...
- 深度学习之视频人脸识别系列二:人脸检测与对齐
作者 | 东田应子 [磐创AI导读]本文是深度学习之视频人脸识别系列的第二篇文章,介绍人脸检测与对齐的相关算法.欢迎大家关注我们的公众号:磐创AI. 一.人脸检测与关键点检测 问题描述: 人脸检测解决 ...
最新文章
- Leangoo敏捷开发项目管理软件-工作日志
- 百度2016笔试题第一题:页面请求失败值
- 多种数据DELPHI备份方式(源码)
- shell之计算文本中单词出现频率
- 求排列的逆序数(信息学奥赛一本通-T1237)
- 小汤学编程之JavaEE学习day10——Spring
- 如何获取e.printStackTrace()的内容
- java 107问_JAVA面试题26-107(答案)
- 炒冷饭系列:设计模式 单例模式
- C#之判断Mysql数据库表是否存在
- Xampp的apache无法启动时的解决办法
- C语言中求大于M10个最大素数,全国计算机二级C语言上机题库—南开100题
- 链接脚本(Linker Script)用法解析(一) 关键字SECTIONS与MEMORY
- 如何替换证件照背景颜色?手把手教你在线证件照换底色
- 神经网络——单层感知器
- web期末作业设计网页 HTML+CSS+JavaScript仿王者荣耀游戏新闻咨询(网页设计期末课程设计)...
- python 通过 Snap7 与 PLC 实现数据通信
- jmeter—使用插件测试并发
- Freemodbus 移植过程记录
- ExpandableList三级扩展