翻开家里的的相片册,可以看到每张照片都是那么的弥足珍贵,特别是很久以前的照片,都是美好的回忆,还有那些年错过的场景,都被记录下来了,不过可惜的是,随着时间的流逝,照片可能泛黄,出现划痕,画质损失等等,那么这时候,如果可以让这些老旧的照片修复回来,那就忒棒啊!
微软提供了开源项目「Bringing-Old-Photos-Back-to-Life」
配置安装
在此之前,确保你的电脑有:
Python3的运行环境
GPU或着CPU
1.首先将微软的「Bringing-Old-Photos-Back-to-Life」库 clone 到本地:
git clone https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life.git
2.下载 Synchronized-BatchNorm-PyTorch
git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
将下载的sync_batchnorm文件夹复制到「Bringing-Old-Photos-Back-to-Life/Face_Enhancement/models/networks」和「Bringing-Old-Photos-Back-to-Life/Global/detection_models」两个文件夹内。
3.下载地标检测预训练模型 shape_predictor_68_face_landmarks.dat.bz2
wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
接着解压缩
bzip2 -d shapepredictor68facelandmarks.dat.bz2
把解压缩出来的shape_predictor_68_face_landmarks.dat拷贝到「Bringing-Old-Photos-Back-to-Life/Face_Detection」下面。
4.下载训练模块
https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases
把下载的face_checkpoints.zip解压缩到「Bringing-Old-Photos-Back-to-Life/Face_Enhancement」下面
把下载的global_checkpoints.zip解压缩到「Bringing-Old-Photos-Back-to-Life/Global」下面
5.创建 python 虚拟环境
cd /mnt/bopbtl python -m venv bopbtl source bopbtl/bin/activate
6.安装依赖项目
cd /mnt/bopbtl/Bringing-Old-Photos-Back-to-Life pip install -r requirements.txt
软件使用
修复没有划痕的老照片
python run.py --input_folder [旧照片的文件夹路径] --output_folder [新照片的文件夹路径] --GPU -1
–GPU 0是使用第一个GPU处理,如果你用CPU的话就设置-1 例如: cd /mnt/bopbtl/Bringing-Old-Photos-Back-to-Life python run.py --input_folder /mnt/test/in --output_folder /mnt/test/out --GPU -1
修复有划痕的老照片
使用方式和刚刚的命令一样,只不过我们需要在命令后面添加 「–with_scratch」
python run.py --input_folder D:\Bringing-Old-Photos-Back-to-Life-master\test_images\old_w_scratch --output_folder D:\Bringing-Old-Photos-Back-to-Life-master\output\final_output --GPU -1 --with_scratch
修复高分辨率划痕破损老照片
这个模式只能改进色彩和清晰度,不能修复破损照片
python run.py --input_folder D:\Bringing-Old-Photos-Back-to-Life-master\test_images\old_w_scratch --output_folder D:\Bringing-Old-Photos-Back-to-Life-master\output\final_output --GPU -1 --with_scratch --HR
需要修复的照片不能太破了,太破了是修复不了的。
补充:安装dlib
如果pip install dlib 出错,可以按照下面步骤手动安装dlib
地址: https://pypi.org/simple/dlib/
比如版本: dlib-19.21.0.tar.gz
tar -zxvf dlib-19.21.0.tar.gz cd /mnt/bopbtl/dlib-19.21.0 python setup.py install
总结:
怎么样,是不是觉得这个算法很有意思,那就找出那些照片来修复,重拾那些美好的旧时光,同时,有条件的伙伴可以提高电脑的配置,来修复更高像素的图片。