腾讯老照片修复算法开源3种预训练模型可下载
2022-05-07李颜
李颜
還记得这个能将老照片修复到纤毫毕现的GFPGAN吗?现在,它的代码正式开源了!官方已经在GitHub上传了3个预训练模型。其中,V1.3是最近更新的一版,修复效果更加自然。同时还能在低质量输入的情况下,输出高质量结果。自上线以来,GFPGAN已经在GitHub上揽星1 7000多,还曾登顶过热榜第一,更是在推特上引起过一波试玩热潮。
开源代码主要分为预训练和训练2个部分。预训练中以GFPGAN的V1.3版本为例,给出了预训练模型的下载地址,然后,只需一行代码就能开始预训练模型推理了。
官方还展示了3种预训练模型的区别,与初始版本相比,后2版在修复精度上有了明显提升。
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版本,官方还给出了微调指南。
除了开源代码,官方也早已开通了多个线上试玩通道,用HuggingFace来给展示修复后的蒙娜丽莎,不仅面部的噪点都被去掉了,甚至连头发上的纱巾都清晰可见。修复的爱因斯坦,笑起来时脸上的褶皱更加明显,头发丝、胡茬也都被还原了出来。
GFPGAN能够快速、高清地修复各种人脸图像,主要是应用了盲脸修复(Blind Face Restoration),传统人脸修复方法主要针对同一场景下、特定退化的人脸图像修复。比如此前一些人脸修复方法,会把Obama照片还原为白人面孔,这背后除了数据集存在偏差,还可能是算法没有为每张人脸特征性建模。
盲脸修复就很好解决了这一弊端,它是指当点扩展函数未知或不确知的情况下,从低质的待修复人脸图像恢复出清晰、高质的目标人脸图像的过程。
本质上是一种非匹配性的人脸修复方法,不过此前的一些盲脸修复方法在细节上表现不好,由此作者在GFPGAN中引入丰富的先验信息,从而来保证高质量的输出效果。
在保真度方面,研究人员引入了一个面部损失(Facial Component Loss),判断哪些细节需要提升保留,然后再用识别保留损失(Identity Preserving Loss)进行修复。