一、前言
最近闲来无事,翻了翻以前的老照片,看着多年前的老照片,感慨万千,仿佛又回到了以前的青春岁月。
只可惜青春易逝,无法重来。意气风发,头角峥嵘的画面只能永远地留存在相片之中了。只叹当时没有多拍几张照片留作纪念,可惜当时设备也不好,照片效果不佳。留下遗憾。
最近学习了Python,发现可以通过Python使用AI来修复老旧照片,而且修复后的效果非常不错。
AI是一种人工智能技术,它可以用来处理图像和视频。在某些情况下,AI可以帮助修复照片中的瑕疵或缺陷,例如曝光不足、颜色失真等。这意味着,通过使用AI,我们可以更好地处理我们的照片,并确保其质量得到最大程度地修复提升。
要实现这一目标,首先需要对照片进行分析和检测,找出问题所在。然后,将相关信息输入到计算机中,利用深度学习技术进行自动化修复。通过本教程,可以快速有效地完成整个流程,从而为我们带来更加精美的照片。希望能帮到那些和笔者一样留有遗憾的读者们。
二、准备
2.1 前期准备
2.1.1 Python版本
必须高于3.7版本,笔者使用的是3.10
2.1.2 下载项目
https://github.com/TencentARC/GFPGAN.git
2.1.3 下载训练模型
https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth
将此训练模型保存在刚才下载的项目的experiments/pretrained_models
文件夹中。
2.1.4 准备需要修复的老旧照片
(图片来源于网络,侵删。)
2.2 用到的库
basicsr:
基于PyTorch的开源图像视频复原工具箱, 比如超分辨率、去噪、去模糊等
facexlib:
提供实用的人脸相关功能的集合
realesrgan:
图像分辨率修复工具,可以提升照片分辨率
2.2.1 安装需要的库
pip install basicsr==1.4.2
PS:basicsr库安装可能会报错,如果一直报错,则先不管它,继续下面的操作。
pip install facexlib
pip install realesrgan
2.2.2 安装GFPGAN依赖包
pip install -r requirements.txt
Python setup.py develop
三、实操
3.1 操作步骤
1、将需要修复的老旧照片放到项目中的inputs\my_test_pics
中
2、打开终端,切换目录到项目根目录下
3、在终端中输入代码:
python inference_gfpgan.py -i inputs/my_test_pics -o results -s 2
说明:
inputs/my_test_pics:待修复照片所在目录
results:修复后的照片目录,会自动创建4个文件夹,其中:
cmp:存放了修复后的照片中所有人物头像的对比照
cropped_faces:存放了照片中所有的人物头像(未修复)
restored_faces:存放了照片中所有的人物头像(已修复)
restored_imgs:存放了已修复的整张照片
4、等待完成,此过程耗费时间取决于电脑配置。一般2-5分钟处理完一张照片。
3.1.1 属性对比
3.1.2 人像对比
3.1.3 修复后的完整图片
3.2 注意
1、待处理照片文件名必须为ASCII字符,不能包含中文或其他国家字符。
2、修复时会自动找寻照片中的人物头像进行修复,但也有可能会修复失败。
3、分辨率会提升至原来的4倍,即长和宽分别翻倍。