当前位置: 首页 > 科技观察

腾讯老照片修复算法开源,细节到头发丝,三种预训练模型可下载

时间:2023-03-17 23:32:26 科技观察

腾讯老照片修复算法开源,细节到头发,三个预训练模型可以下载。还记得这个可以将旧照片还原到最后一个细节的GFPGAN吗?现在,它的代码正式开源了!官方在GitHub上上传了3个预训练模型,3个版本的效果如下:其中V1.3是最新更新的版本,修复效果更自然。同时在低质量输入的情况下也能输出高质量的结果。自上线以来,GFPGAN在GitHub上获得了1.7w+的star,甚至登上了热榜榜首。甚至在推特上引起了一波demo:该项目由腾讯PCGARC实验室提出,其相关论文已被CVPR2021收录。有3种预训练模型可供选择。开源代码主要分为预训练和训练两部分。预训练中以V1.3版本的GFPGAN为例,给出预训练模型下载地址:wgethttps://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth-PExperiments/pretrained_models然后一行代码就可以开始预训练模型推理:pythoninference_gfpgan.py-iinputs/whole_imgs-oresults-v1.3-s2具体介绍如下:用法:pythoninference_gfpgan.py-iinputs/whole_imgs-oresults-v1.3-s2[options]...-hshowthishelp-iinput输入图像或文件夹。默认值:inputs/whole_imgs-ooutput输出文件夹。默认值:results-vversionGFPGAN模型版本选项:1|1.2|1.3.默认值:1.3-supscale图像的最终上采样比例。默认值:2-bg_upsampler后台上采样器。默认值:realesrgan-bg_tile背景采样器的图块大小,0表示在测试期间没有图块。默认:400-suffix恢复面的后缀-only_center_face只恢复中心面-aligned输入对齐faces-ext图像扩展。选项:自动|图片|png,auto表示使用与输入相同的扩展名。Default:auto在这里,官方也展示了三个预训练模型与初始版本相比的区别,后两者的还原精度有了明显的提升。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。最后,是时候开始训练了。python-mtorch.distributed.launch--nproc_per_node=4--master_port=22021gfpgan/train.py-optoptions/train_gfpgan_v1.yml--launcherpytorch另外还有两个官方提示。首先,输入更多高质量的人脸图像可以提高复原效果。其次,在训练过程中可能需要进行一些图像预处理,比如美化。如果选择训练V1.2版本,官方也给出了微调指南:GFPGANV1.2采用了干净的架构,更便于部署;它是由双线性模型转换而来的,因此需要对其原始模型进行微调,然后再进行转换。除了demo试用的开源代码外,官方已经开通了多个在线demo通道。在这里,我们使用HuggingFace来给大家展示一下具体的效果。我们先来看看修复后的蒙娜丽莎。不仅脸上的杂音被去掉了,就连头发上的围巾也清晰可见。修复后的爱因斯坦,笑起来脸上的皱纹更加明显,头发和胡茬也恢复了。最后,让我们来看看修复后的年轻马化腾。这张照片像昨天拍的一样清晰。盲人脸复原+大量先验信息GFPGAN可以快速高清修复各种人脸图像,主要是应用盲人脸复原(blindfacerestoration)。传统的人脸复原方法主要针对同一场景中特定退化的人脸图像进行复原。比如之前的一些人脸修复方法,会将奥巴马的照片还原成白人脸。这背后除了数据集存在偏差外,也可能是算法没有对每张人脸的特征进行建模。盲人脸修复很好地解决了这个缺点。它是指在点扩散函数未知或不确定的情况下,从待修复的低质量人脸图像中恢复出清晰、高质量的目标人脸图像的过程。.它本质上是一种非匹配人脸修复方法。然而,之前的一些盲人脸修复方法在细节上表现不佳,因此作者在GFPGAN中引入了丰富的先验信息,以保证高质量的输出。具体来说,在GFP-GAN的模型框架中,主要使用退化去除模块和预训练的GAN作为先验。这两个模块通过潜在编码图和多个通道分割空间特征变化层(CS-SFT)连接。在训练过程中,首先对低质量人脸进行降噪等粗处理,然后保留人脸信息。在保真度方面,研究人员引入了面部损失(FacialComponentLoss)来确定哪些细节需要改进和保留,然后用IdentityPreservingLoss进行修复。团队介绍本文第一作者王新涛,腾讯ARC实验室(深圳应用研究中心)研究员。毕业于浙江大学,获学士学位,获博士学位。香港中文大学毕业。博士期间师从汤晓鸥教授和陈昌来教授。他的研究方向是计算机视觉和深度学习,尤其专注于图像和视频修复。GitHub地址:https://github.com/TencentARC/GFPGAN论文地址:https://arxiv.org/abs/2101.04061试用地址:https://huggingface.co/spaces/akhaliq/GFPGAN