![e1ce4b5de5b72f3ac2a9ff610fbe8faa.png](https://i-blog.csdnimg.cn/blog_migrate/bbbc9e676aa86390ee2a3c0f2ab9baba.jpeg)
【导语】:一款借助 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的界面:
![6f5da5147965b2c39cb5d495c3af165d.png](https://i-blog.csdnimg.cn/blog_migrate/68d29d13fc953758d97157563febbfc2.jpeg)
登录Google后根据指引运行代码配置环境,配置好环境就可以上传自己的图片进行体验,小编简单尝试了 3 张网图,效果如下:
![2252a622ef3ee503a4b044f3ff39c0eb.png](https://i-blog.csdnimg.cn/blog_migrate/968fa175c5e8bdb0e35baf08b9b1f434.jpeg)
![d4e6795ed8282d12fc0b6e569d5cf902.png](https://i-blog.csdnimg.cn/blog_migrate/7ace57a21eb19ae6156a7caf4c0828d3.jpeg)
![17ce90d1abaef2a4fb8038c04d1bd2ad.png](https://i-blog.csdnimg.cn/blog_migrate/45d76457ba8455a2536d5fee65350bf4.jpeg)
本地安装体验
根据文章开头介绍的下载安装方法安装完成后,可以通过以下命令进行使用:
(1)没有划痕的图像:
python run.py --input_folder [test_image_folder_path]
--output_folder [output_path]
--GPU 0
要注意的是,这里需要的 output_folder 参数值需要使用绝对路径,图像的修复结果将最终保存在 ./output_path/final_output/ 中。
项目样例效果:
![52c8ca4f5acb4c21e5df2eac4f2585b8.png](https://i-blog.csdnimg.cn/blog_migrate/a2721750fab8c2b26f96618be61ac07a.jpeg)
(2)有划痕的图像:
python run.py --input_folder [test_image_folder_path]
--output_folder [output_path]
--GPU 0
--with_scratch
项目样例效果:
![b6221a9a418addf6a90554c72e392c6b.png](https://i-blog.csdnimg.cn/blog_migrate/9a7f45acc296a912918a120df71b482d.png)
研究团队表示,他们不打算直接发布带有标签的有划痕的旧照片数据集,如果需要获取配对数据,可以使用他们的预训练模型来测试收集图像以获得标签:
cd Global/
python detection.py --test_path [test_image_folder_path]
--output_dir [output_path]
--input_size [resize_256|full_size|scale_256]
项目样例效果:
![c81a1b1ff1b6b7905eb2ecc2fa8564dd.png](https://i-blog.csdnimg.cn/blog_migrate/201a6b67bdf6e4f2ad4eb60691ed9f60.png)
该项目目前由团队成员 Ziyu Wan 维护,仅供学术研究使用。