锦妖和她的小伙伴们 2017-12-04
翻译 | 刘畅
编辑 | Donna,波波
超分辨重构是图像处理领域地一项非常有趣的任务。它可以通过算法将一张低分辨率的图片放大成一张高分辨率地图片。这个事情乍一听挺简单的,普通的插值算法即可胜任。但其实里面大有玄机,尤其是细节的恢复。
目前该领域的发展引入了深度学习的方法,各种针对超分辨重构任务设计的深度学习网络结构层出不穷。
最近,来自俄罗斯斯科尔科沃科技研究院的博士生Dmitry Ulyanov,与其两个导师 Victor Lempitsky和Andrea Vedaldi,共同设计了一个无需在数据集上学习和预训练就可以完成超分辨率、修补和去噪这三个任务的方法,并且使损坏的图片有了惊人的修复结果。他们把整个过程在论文《Deep Image Prior》中进行了详细描述,并在Reddit上炸开了锅。
三位来自俄罗斯的深度学习学者
以上是三位研究人员用深度神经网络分析了几个图像恢复问题。研究人员称,他们从未使用数据集来训练或预先训练过它们,而是作为一个结构化的图像整体。
基本概述
深度卷积网络已经成为一种流行的图像生成和恢复工具。一般来说,这种工具的优秀通常体现在他们能从大量示例图像中学习到真实图像先验信息的能力。但是,我们得出了一个相反的结果:在进行任何学习之前,这种神经网络架构就可以获取到足够的低级图像统计信息!
为了证实这一点,我们将随机初始化的深度卷积网络作为手工输入的先验信息,并在图像去噪、超分辨重构与图像修补等标准逆向问题上获取到出色的结果。此外,同样的先验信息可以通过神经网络结构的逆表达来诊断他们,并且基于flash-no flash输入对来恢复图像。
我们的技术除了可以在许多领域得到应用,还突出了由标准的网络架构生成器得到的归纳偏置。它可以缩小两个非常受欢迎的图像恢复方法类别之间的差距:使用深度卷积网络的基于学习的方法和基于手工图像先验(例如自相似性)的免学习方法。
算法核心思想
在图像恢复问题中,目标是恢复具有损坏的图像X0的原始图像X。公式化为一个优化问题就是:
其中E(x;x0) 是数据项,R(x) 是图像的先验信息。数据项E(x;x0) 通常易于设计并用于各种问题,如图像的超分辨率,去噪,修补,然而图像的先验信息R(x) 是很具有挑战性的一项。如今的趋势是通过使用大量的示例对ConvNet进行训练来得到先验信息R(x) 。我们首先注意到,对一个满射函数g:θ→x,理论上以下过程等同于公式(1)
实践发现,函数g大大改变了通过优化方法对图像空间进行搜索的方式。此外,通过选择一个“好”(可能是内射函数)的映射g,我们可以去掉先验信息这一项。我们定义函数g(θ) 为fθ(z),其中f就是带参数θ的深度ConvNet函数。然后z是一个固定输入。因此产生了公式
在这个公式里,网络结构fθ是随意初始化的, 然后z是一个带噪音的固定输入。
换句话说,我们不是在图像空间中寻找答案,而是在神经网络的参数空间中寻找答案。我们想强调的是我们没有使用预训练的网络或图像数据集。即在图像恢复过程中只使用了损坏的图像X0。
附:本文尝试的所有图像恢复事例:
作者 | Dmitry Ulyanov, Victor Lempitsky,Andrea Vedaldi
论文链接:
https://sites.skoltech.ru/app/data/uploads/sites/25/2017/11/deep_image_prior.pdf