【导语】:一款借助 AI 对老照片快速进行修复的工具,基于 PyTorch 实现,支持划痕检测、面部修饰、全局还原等操作。

简介

Bringing-Old-Photo-Back-to-life 是由微软研究团队开发的一款修复旧照片的工具,基于 PyTorch 实现,支持划痕检测、面部修饰、全局还原等操作。

下载安装

项目的源码地址是:

https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life

代码在装有 Nvidia GPU 和 CUDA 的 Ubuntu 上进行了测试,Python版本要求大于等于3.6 ,使用以下命令进行安装:

(1)下载PyTorch库

cd Face_Enhancement/models/networks/
git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
cp -rf Synchronized-BatchNorm-PyTorch/sync_batchnorm .
cd ../../../

cd Global/detection_models
git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
cp -rf Synchronized-BatchNorm-PyTorch/sync_batchnorm .
cd ../../

(2)下载landmark 检测预训练模型

cd Face_Detection/
wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
bzip2 -d shape_predictor_68_face_landmarks.dat.bz2
cd ../

(3)从Azure Blob下载训练模型

cd Face_Enhancement/
wget https://facevc.blob.core.windows.net/zhanbo/old_photo/pretrain/Face_Enhancement/checkpoints.zip
unzip checkpoints.zip
cd ../
cd Global/
wget https://facevc.blob.core.windows.net/zhanbo/old_photo/pretrain/Global/checkpoints.zip
unzip checkpoints.zip
cd ../

(4)安装依赖

pip install -r requirements.txt

简单使用

在Colab上体验(免安装)

Colab地址:(国内需木弟子)

https://colab.research.google.com/drive/1NEm6AsybIiC5TwTU_4DqDkQO0nFRB-uA?usp=sharing

打开Colab的界面:

GitHub 月榜第 3,微软的老照片修复工具火了-LMLPHP

登录Google后根据指引运行代码配置环境,配置好环境就可以上传自己的图片进行体验,小编简单尝试了 3 张网图,效果如下:

GitHub 月榜第 3,微软的老照片修复工具火了-LMLPHP

GitHub 月榜第 3,微软的老照片修复工具火了-LMLPHP

GitHub 月榜第 3,微软的老照片修复工具火了-LMLPHP

本地安装体验

根据文章开头介绍的下载安装方法安装完成后,可以通过以下命令进行使用:

(1)没有划痕的图像:

python run.py --input_folder [test_image_folder_path] \
              --output_folder [output_path] \
              --GPU 0

要注意的是,这里需要的 output_folder 参数值需要使用绝对路径,图像的修复结果将最终保存在 ./output_path/final_output/ 中。

项目样例效果:

GitHub 月榜第 3,微软的老照片修复工具火了-LMLPHP

(2)有划痕的图像:

python run.py --input_folder [test_image_folder_path] \
              --output_folder [output_path] \
              --GPU 0 \
              --with_scratch

项目样例效果:

GitHub 月榜第 3,微软的老照片修复工具火了-LMLPHP

研究团队表示,他们不打算直接发布带有标签的有划痕的旧照片数据集,如果需要获取配对数据,可以使用他们的预训练模型来测试收集图像以获得标签:

cd Global/
python detection.py --test_path [test_image_folder_path] \
                    --output_dir [output_path] \
                    --input_size [resize_256|full_size|scale_256]

项目样例效果:

GitHub 月榜第 3,微软的老照片修复工具火了-LMLPHP

该项目目前由团队成员 Ziyu Wan 维护,仅供学术研究使用。

04-11 12:11