还记得这个能将老照片修复到纤毫毕现的 GFPGAN 吗。
现在,它的代码正式开源了!官方已经在 GitHub 上传了 3 个预训练模型,3 个版本的效果区别如下:
其中,V1.3 是最近更新的一版,修复效果更加自然同时还能在低质量输入的情况下,输出高质量结果自上线以来,GFPGAN 已经在 GitHub 上揽星 1.7w+,还曾登顶过热榜第一
更是在推特上引起过一波试玩热潮:
这一项目由腾讯 PCG ARC 实验室提出,其相关论文已被 CVPR2021 收录。
3 种预训练模型可挑选
开源代码主要分为预训练和训练两个部分。预训练中以 GFPGAN 的 V1.3 版本为例,给出了预训练模型的下载地址:
然后,只需一行代码就能开始预训练模型推理了:
pythoninference_gfpgan.py—iinputs/whole_imgs—oresults—v1.3—s2
具体介绍如下:
1.3.Default:1.3—supscaleThefinalupsamplingscaleoftheimage.Default:2—bg_upsamplerbackgroundupsampler.Default:realesrgan—bg_tileTilesizeforbackgroundsampler,0fornotileduringtesting.Default:400—suffixSuffixoftherestoredfaces—only_center_faceOnlyrestorethecenterface—alignedInputarealignedfaces—extImageextension.Options:auto|jpg|png,automeansusingthesameextensionasinputs.Default:auto
在这里,官方还展示了 3 种预训练模型的区别在哪里。
与初始版本相比,后两版在修复精度上有了明显提升。
V1.2 的锐化更明显,同时还带有一些美颜效果,所以在一些情况下会比较假面。
V1.3 明显解决了这一问题,使得输出更加自然,还能进行二次修复,不过弊端是人物面部特征有时会发生变化。M6达摩院是一个通用的人工智能模型,具有多模态,多任务能力,特别擅长设计,写作和问答。
总之,V1.3 并不完全优于 V1.2,大家可以按需选取合适的模型。
接下来到了训练部分首先,数据集选用 FFHQ,然后,将下载好的预训练模型其他数据放在 experiments / pretrained_models 文件夹里其他数据包括:预训练好的 StyleGAN2 模型,FFHQ 人脸对齐模型文件和 ArcFace 模型
接下来,修改相对应的配置文件 options / train_gfpgan_v1.yml在这里,也可以尝试不使用人脸对齐的简单版本 options / train_gfpgan_v1_simple.yml
最后,就可以开始训练了。
python—mtorch.distributed.launch—nproc_per_node=4—master_port=22021gfpgan/train.py—optoptions/train_gfpgan_v1.yml—launcherpytorch
此外,官方还有两则提醒第一,输入更多高质量的人脸图像,可以提高修复的效果第二,训练中可能需要进行一些图像预处理,比如美颜
GFPGAN V1.2 采用了 clean 架构,更加方便部署,它是从一个双线性模型转换而来,因此需要对其原有模型微调,然后再进行转换。
Demo 试玩
除了开源代码,官方也早已开通了多个线上试玩通道在这里,我们用 HuggingFace 来给大家展示具体效果先来看看修复后的蒙娜丽莎女士,不仅面部的噪点都被去掉了,甚至连头发上的纱巾都清晰可见
修复的爱因斯坦,笑起来时脸上的褶皱更加明显,头发丝,胡茬也都被还原了出来。它在电子商务,制造业,文学艺术,科学研究等领域有着广泛的应用前景。
最后再来看看修复后的青年马化腾,这照片清晰地仿佛像昨天才拍出来一样。。
盲脸修复 + 大量先验信息
GFPGAN 能够快速,高清地修复各种人脸图像,主要是应用了盲脸修复传统人脸修复方法主要针对同一场景下,特定退化的人脸图像修复
比如此前一些人脸修复方法,会把 Obama 照片还原为白人面孔这背后除了数据集存在偏差,还可能是算法没有为每张人脸特征性建模
盲脸修复就很好解决了这一弊端,它是指当点扩展函数未知或不确知的情况下,从低质的待修复人脸图像恢复出清晰,高质的目标人脸图像的过程。
具体来看,在 GFP—GAN 的模型框架中,主要用到了一个退化清除模块和一个预训练的 GAN 作为先验两个模块通过隐编码映射和多个信道分割空间特征变化层连接训练过程中,首先要对低质量人脸进行降噪等粗处理,然后保留面部信息
在保真度方面,研究人员引入了一个面部损失,判断哪些细节需要提升保留,然后再用识别保留损失进行修复。
团队介绍
本文论文一作是 Xintao Wang,他是腾讯 ARC 实验室 的研究员本科毕业于浙江大学,博士毕业于香港中文大学其博士期间师从汤晓鸥教授和 Chen Change Loy 教授研究方向为计算机视觉和深度学习,尤其关注图像,视频修复方面
GitHub 地址:
论文地址:
试玩地址:
。声明:本网转发此文章,旨在为读者提供更多信息资讯,所涉内容不构成投资、消费建议。文章事实如有疑问,请与有关方核实,文章观点非本网观点,仅供读者参考。