明敏 发自 凹非寺
量子位 | 公众号 QbitAI

还记得这个能将老照片修复到纤毫毕现的GFPGAN吗?

现在,它的代码正式开源了!

官方已经在GitHub上传了3个预训练模型,3个版本的效果区别如下:

其中,V1.3是最近更新的一版,修复效果更加自然。同时还能在低质量输入的情况下,输出高质量结果。

自上线以来,GFPGAN已经在GitHub上揽星1.7w+,还曾登顶过热榜第一。

更是在推特上引起过一波试玩热潮:

这一项目由腾讯PCG ARC实验室提出,其相关论文已被CVPR2021收录。

3种预训练模型可挑选

开源代码主要分为预训练和训练两个部分。

预训练中以GFPGAN的V1.3版本为例,给出了预训练模型的下载地址:

wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth -P Experiments/pretrained_models

然后,只需一行代码就能开始预训练模型推理了:

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

在这里,官方还展示了3种预训练模型的区别在哪里。

与初始版本相比,后两版在修复精度上有了明显提升。

V1.2的锐化更明显,同时还带有一些美颜效果,所以在一些情况下会比较假面。

V1.3明显解决了这一问题,使得输出更加自然,还能进行二次修复;不过弊端是人物面部特征有时会发生变化(比如下图中的安妮·海瑟薇示例)。

总之,V1.3并不完全优于V1.2,大家可以按需选取合适的模型。

接下来到了训练部分。

首先,数据集选用FFHQ;

然后,将下载好的预训练模型其他数据放在experiments/pretrained_models文件夹里。

其他数据包括:

预训练好的StyleGAN2模型,FFHQ人脸对齐模型文件和ArcFace模型。

接下来,修改相对应的配置文件options/train_gfpgan_v1.yml。

在这里,也可以尝试不使用人脸对齐的简单版本options/train_gfpgan_v1_simple.yml。

最后,就可以开始训练了。

此外,官方还有两则提醒。

第一,输入更多高质量的人脸图像,可以提高修复的效果。

第二,训练中可能需要进行一些图像预处理,比如美颜。

如果你选择训练V1.2版本,官方还给出了微调指南:

GFPGAN V1.2采用了clean架构,更加方便部署;它是从一个双线性模型转换而来,因此需要对其原有模型微调,然后再进行转换。

Demo试玩

除了开源代码,官方也早已开通了多个线上试玩通道。

在这里,我们用HuggingFace来给大家展示具体效果。

先来看看修复后的蒙娜丽莎女士,不仅面部的噪点都被去掉了,甚至连头发上的纱巾都清晰可见。

修复的爱因斯坦,笑起来时脸上的褶皱更加明显,头发丝、胡茬也都被还原了出来。

最后再来看看修复后的青年马化腾,这照片清晰地仿佛像昨天才拍出来一样。

盲脸修复+大量先验信息

GFPGAN能够快速、高清地修复各种人脸图像,主要是应用了盲脸修复 (blind face restoration)。

传统人脸修复方法主要针对同一场景下、特定退化的人脸图像修复。

比如此前一些人脸修复方法,会把奥巴马的照片还原为白人面孔。这背后除了数据集存在偏差,还可能是算法没有为每张人脸特征性建模。

盲脸修复就很好解决了这一弊端,它是指当点扩展函数未知或不确知的情况下,从低质的待修复人脸图像恢复出清晰、高质的目标人脸图像的过程。

本质上是一种非匹配性的人脸修复方法。

不过此前的一些盲脸修复方法在细节上表现不好,由此作者在GFPGAN中引入丰富的先验信息,从而来保证高质量的输出效果。

具体来看,在GFP-GAN的模型框架中,主要用到了一个退化清除模块和一个预训练的GAN作为先验。

两个模块通过隐编码映射和多个信道分割空间特征变化层(CS-SFT)连接。

训练过程中,首先要对低质量人脸进行降噪等粗处理,然后保留面部信息。

在保真度方面,研究人员引入了一个面部损失( Facial Component Loss),判断哪些细节需要提升保留,然后再用识别保留损失(Identity Preserving Loss)进行修复。

团队介绍

本文论文一作是Xintao Wang,他是腾讯 ARC 实验室(深圳应用研究中心)的研究员。

本科毕业于浙江大学,博士毕业于香港中文大学。

其博士期间师从汤晓鸥教授和Chen Change Loy教授。

研究方向为计算机视觉和深度学习,尤其关注图像、视频修复方面。

GitHub地址:
https://github.com/TencentARC/GFPGAN

论文地址:
https://arxiv.org/abs/2101.04061

试玩地址:
https://huggingface.co/spaces/akhaliq/GFPGAN

腾讯老照片修复算法开源,细节到头发丝,3种预训练模型可下载 | GitHub热榜相关推荐

  1. 腾讯的老照片修复算法,我把它搬到网上,随便玩

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  2. 谷歌最新抠图算法:让背景虚化细节到头发丝!有单反的感觉了...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 明敏 发自 凹非寺 量子位 | 公众号 QbitAI 当真是买算法送手机! 这不,谷歌又给"亲儿子 ...

  3. 谷歌又买算法送手机了,最新方法让背景虚化细节到头发丝,真有单反的感觉了...

    明敏 发自 凹非寺 量子位 | 公众号 QbitAI 当真是买算法送手机! 这不,谷歌又给"亲儿子"Pixel 6塞福利了,让手机抠图也能细节到头发丝. 看这效果,原本模糊的头发轮 ...

  4. 腾讯最新开源IoT操作系统登上GitHub热榜,最小体积仅1.8 KB,标星1200+

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 鹅厂又开源,这次是一个操作系统,面向物联网场景,名为TencentOS-tiny. 项目如其名,核心亮点就是tiny--最小体积仅1.8 ...

  5. 男神青涩时纤毫毕现!腾讯AI模型GFPGAN火上GitHub热榜第一,Demo在线可玩

    包浆老图立刻清晰到头发丝是一种怎样的体验? 看这明亮的眼眸.清晰的发丝,原本模糊的人像立刻添了几分灵动: (这就是用AI修复的高圆圆童年照) 时间更久远的历史名人照片也能搞定. 鲁迅先生年轻时意气风发 ...

  6. 女神青涩时纤毫毕现!腾讯AI模型GFPGAN火上GitHub热榜第一,Demo在线可玩

    明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 包浆老图立刻清晰到头发丝是一种怎样的体验? 看这明亮的眼眸.清晰的发丝,原本模糊的人像立刻添了几分灵动: (这就是用AI修复的高圆圆童年照) ...

  7. 女神青涩时纤毫毕现,腾讯 AI 模型 GFPGAN 火上 GitHub 热榜第一,Demo 在线可玩

    来源:量子位 作者:明敏 包浆老图立刻清晰到头发丝是一种怎样的体验?看这明亮的眼眸.清晰的发丝,原本模糊的人像立刻添了几分灵动(这就是用 AI 修复的高圆圆童年照). 甚至时间更久远的历史名人照片也能 ...

  8. 滴滴开源AI项目登上GitHub热榜,人机对话模型可从论文到产品部署无缝衔接

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 没想到,滴滴开源的自然语言理解(人机对话)模型训练平台,就这样登上了GitHub热榜. 这一项目名为DELTA,是一个深度学习模型训练框架 ...

  9. 零基础学C++进腾讯,这份GitHub热榜的「从入门到高薪」请你收下

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 零基础想学C++进大厂?这件事其实没那么难. 一位国内在读研究生的C++学习指南本月初登上了Github热榜,目前已经收割2000星. 避 ...

最新文章

  1. 图片过渡效果一例 使用bitmapData操作
  2. UA MATH523A 实分析3 积分理论例题 Fubini定理计算简单二重积分的一个例题
  3. 项目实战4—HAProxy实现高级负载均衡实战和ACL控制
  4. C#回调函数的简单讲解与应用例子
  5. nginx与apache详细性能对比
  6. java中int,char,string三种类型的相互转换
  7. 使用Sakura查看字符十六进制编码(附带ASCII编码表)
  8. MOSFET(三):电源缓启动
  9. 1.3万亿条数据查询毫秒级响应,如何做到的?
  10. python配置文件注释_python操作配置文件yaml
  11. 服务器挂机自动签到京东,解放双手,什么值得买自动签到京东自动签到给你更多时间享受生活...
  12. pci-e串口卡linux 驱动下载,PCI/PCIe串口卡并口卡驱动
  13. mtk平台dump系统分区
  14. system/app 下 精简程序
  15. [PED08]Self-paced Clustering Ensemble自步聚类集成论文笔记
  16. 数字电路专题:FPGA芯片速度等级认识
  17. 【云原生】安全容器 Kata Containers
  18. 服务器网页篡改,网站服务器网页防篡改系统
  19. Windows - 百度网盘限速下载慢解决方案(官方提速方法)
  20. FZU 1076 穿越沙漠(逆推建模)(数学)

热门文章

  1. Java中的getPath(),getAbsolutePath()和getCanonicalPath()有什么区别?
  2. K-近邻(KNN)算法
  3. 转载:Quartz.NET 入门
  4. JS魔法堂:不完全国际化本地化手册 之 拓展篇
  5. start_stop_time
  6. Open×××的Linux内核版,鬼魅的残缺 part I:The PROTOCOL
  7. 探索--是测试的必须品
  8. LINQ to SQL 之DataContext用法
  9. C#中处理XML文档的方法
  10. Windows 窗体多线程