微软研究团队万紫宁、张波等人开发了一种新的基于AI算法,用于通过深度学习恢复老旧照片,与通过监督学习还原旧照片的方式不同,真实照片的降级很复杂。
bringing-old-photos-back-to-life作者使用变分自动编码机(VAE)将图像变换到隐空间,并在隐空间进行图像恢复操作。这种转换可以很好的体现出真实照片。
此外,为了解决一张旧照片中的多种退化,bringing-old-photos-back-to-life设计了一个全局分支和局部非全局分支,全局分支专门针对结构化缺陷(例如划痕和灰尘点)的功能,局部非全局分支主要针对非结构化缺陷(例如噪声和模糊度),bringing-old-photos-back-to-life在隐空间中融合了两个分支,从而提高了从多个缺陷还原旧照片的能力。
如何使用
该项目依赖于「Synchronized-BatchNorm-PyTorch」,按照教程配置即可。首先,你需要安装和下载预训练的模型,然后就可以通过一个简单的命令轻松回复旧照片。
对于没有划痕的图像:
- python run.py --input_folder [test_image_folder_path] \
- --output_folder [output_path] \
- --GPU 0
对于有刮擦的图像:
- python run.py --input_folder [test_image_folder_path] \
- --output_folder [output_path] \
- --GPU 0 \
- --with_scratch
注意:请尝试使用绝对路径。最终结果将保存在中./output_path/final_output/。
目前,微软不打算直接发布带有标签的有划痕旧照片数据集。如果你想要得到配对的数据,你可以使用官方提供的预训练模型来测试收集到的图像,以获得标签。
下面我们还是来看看几组不同照片的还原效果吧: