老照片作为时光记忆的载体,不只是过去美好时光的传承者,同时也是每个人的情结和怀念的寄托。
随着时间的流逝,许多老照片都因为自然或人为原因,受到了侵蚀损坏,画面模糊、褪色、照片磨损严重等现象,甚至还有的因为保管不好导致照片面目全非。
今天的这个Python模块叫GFPGAN,它能够让这些老照片恢复原有的光泽,使用了GAN算法对照片进行修复,效果比其他同类模型都有更好的表现。本模块支持Python3.7+版本。
1.准备
开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。
**(可选1) **如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.
**(可选2) **此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。
请选择以下任一种方式输入命令安装依赖 :
# 克隆项目
git clone https://github.com/TencentARC/GFPGAN.git
# 进入项目
cd GFPGAN
# 安装依赖
pip install basicsr
pip install facexlib
pip install -r requirements.txt
pip install realesrgan
# 安装程序
python setup.py develop
2.使用GFPGAN修复老照片
GFPGAN模型需要通过数据集训练得到,由于训练需要使用的数据量和算力非常大,作者团队提供了许多预处理好的模型给普通用户下载,这样我们就能绕过训练这个步骤直接使用模型,下载地址如下:
https://github.com/TencentARC/GFPGAN/releases/download/v0.2.0/GFPGANCleanv1-NoCE-C2.pth
如果你无法访问GitHub,也可以在Python实用宝典后台回复:**GFPGAN **下载。里面包含了本项目源代码及许多其他预训练好的模型,包括:
将想要使用的预训练模型放入 experiments/pretrained_models 文件夹下就可以开始使用了。
使用方法非常简单,进入项目目录后输入以下命令:
python inference_gfpgan.py --model_path experiments/pretrained_models/GFPGANv1.pth --test_path inputs/cropped_faces --save_root results
其中,各个参数的意义如下:
** model_path
** : 使用的模型的位置。
** test_path
** : 需要转换的老照片的路径。
** save_root
** : 转换结果存放的路径。
可见其修复效果是非常优秀的,如果你们也有需要修复的老照片,可以尝试使用手机的照片扫描仪软件扫描后使用此模块修复。
3.微调模型
如果你对模型的输出结果不是很满意,你还可以基于作者团队给出的模型做微调。微调能实现以下目的:
1.如果你有更高质量的人脸数据,可以提高修复效果。
2.你可能需要对数据做一些微处理,比如美妆等。
微调流程如下:
1.准备好训练数据集:https://github.com/NVlabs/ffhq-dataset
2.下载预训练模型和其他你自己的数据,把它们放在 ** experiments/pretrained_models
** 文件夹里。我们公众号后台提供以下预训练模型:
3.根据自身需求,相应地修改配置文件 options/train_gfpgan_v1.yml。
4.输入命令训练:
python -m torch.distributed.launch --nproc_per_node=4 --master_port=22021 gfpgan/train.py -opt options/train_gfpgan_v1.yml --launcher pytorch
模型微调的难度比较大,可能会遇到不少问题,需要大家善于利用搜索引擎解决问题。
全部0条评论
快来发表一下你的评论吧 !