岁月流逝带走了时光却带不走回忆,从 1839 年法国画家达盖尔将“摄影术”带到世人面前,世界上就多了一种使用影像记录回忆的方式。那些我们想要留在心底或未曾经历过的从前,都可以通过翻看老照片找回来。
为了不让心底的温暖消逝,也为了能把历史的真容留住,各种图像修复工具层出不穷。我们看到了百年前的北京,看到了民国时的摩登女郎,还有被重新修复的母亲的老照片。
最近,几个中国小伙组成的微软研究团队开发了一种全新的修复旧照片的工具,目前已在 GitHub 上开源。
AI 是如何修复旧照片的
如今,我们用手机就能拍出上亿像素的照片,有了美颜相机、智能算法,无论是景色还是人物都能留下最美的瞬间。但拍照技术不是一开始就那么先进,不能把所有画面完全真实的呈现出来,比如没有彩色照片的时候能留下的只有黑白照片。而随着时光的流逝,那些老照片的细节也不再清晰。
几个中国小伙组成的微软研究团队提出了一种修复效果优于目前最先进方法的照片修复方法。这个团队由来自香港城市大学计算机科学系的二年级博士生万紫宇和 Microsoft Research Asia 视觉计算小组的张波等人组成。
他们提出的方法与可以通过监督学习解决的常规还原任务不同,因为真实照片的降级很复杂,并且合成图像和真实旧照片之间的域间隙使网络无法推广。
因此,他们通过利用真实照片和大量合成图像提出了一种新颖的三重态域翻译网络。他们训练了两个变体自动编码器(VAE),分别将旧照片和清晰的照片转换为两个潜在空间,并使用合成配对数据学习这两个潜在空间之间的转换。
此外,为了解决一张旧照片中混合的多种退化问题,研究团队还设计了一个全局分支和局部非全局分支。全局分支针对结构化缺陷(例如划痕和灰尘斑点)进行修复,局部非全局分支针对非结构化缺陷的局部分支,例如噪音和模糊性。他们利用这种方法在潜在空间中融合了两个分支,从而提高了从多个缺陷还原旧照片的能力。
如何安装照片还原工具
目前,这种照片还原工具的代码已经在装有 Nvidia GPU 和 CUDA 的 Ubuntu 上进行了测试,需要 Python> = 3.6 才能运行代码。
下载安装预训练模型后,可以使用一个简单的命令轻松恢复旧照片。
没有划痕的图像可以选择以下命令:
有划痕的图像可以选择以下命令:
需要注意的是,请尝试使用绝对路径,图像的修复结果将最终保存在 ./output_path/final_output/ 中。
研究团队表示,他们不打算直接发布带有标签的有划痕的旧照片数据集,如果需要获取配对数据,可以使用他们的预训练模型来测试收集图像以获得标签。
前文提到的新颖的三重态域翻译网络可以用来解决结构化退化和非结构化退化问题,做到旧照片的全局还原。
以下图为例:
对于面部的修复,研究团队使用了渐进式生成器来完善旧照片的脸部区域。
影像技术和 AI 的发展让我们有机会“穿越回”百年前去看那时的人们是如何生活的,也能让我们一睹父母年轻时的风采。
我们看多有越来越多的工具和技术可以帮我们恢复正在逐渐消失的记忆。看着百年前北京百姓的生活景象,我们能更切实的体会到文化的进步和历史的变迁,看到革命先辈浴血奋战的影像我们能亲眼见证整个国家和社会的变革,更加珍惜今天来之不易的幸福生活。
科技的进步让人类的物质文明和精神文明都得到了高度的发展,成为了我们获得更好的生活,感受到更大的精神满足的推动力。
GitHub 地址:https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life
论文链接:https://arxiv.org/pdf/2009.07047v1.pdf