一、摘要
大多数现有的修复算法都假定损坏区域的位置是已知的。本文提出了一种有效的盲图像修复算法,可以直接从损坏的输入中恢复出清晰的图像。我们的算法是由残差学习算法驱动的,残差学习算法旨在学习损坏区域的缺失信息。然而,直接使用现有的残差学习算法进行图像恢复并不能很好地解决这一问题,因为损坏区域的信息很少。为了解决这个问题,我们引入了一个编码器和解码器架构来捕获更多有用的信息,并开发了一个鲁棒性损失函数来处理异常值。我们的算法可以预测损坏区域的缺失信息,从而便于清晰的图像恢复。
二、介绍
大多数现有的图像修复算法通常假设损坏区域是事先已知的,这些算法的成功主要是由于使用了不同的图像先验。然而,在大多数情况下,损坏的区域通常是未知的,例如,从存档照片中删除某些划痕。现有的大多数方法都不能很好地解决这个问题。
本文提出了一种有效的盲图像修复算法,利用深度卷积神经网络直接从损坏的输入恢复清晰的图像。在深度残差学习算法成功的激励下,我们的深度前馈神经网络学习损坏区域中丢失的信息。然而,由于损坏区域丢失了大部分信息,直接使用神经网络进行图像恢复,并不能生成清晰的图像。为了解决这个问题,我们开发了一个编码器和解码器架构来捕获更多有用的信息。
贡献
①我们提出了一种有效的基于深度CNN的盲图像修复算法,该算法包含一个编码器和解码器架构,以捕获更多有用的信息。本文提出的深度CNN是基于残差学习算法来恢复受损区域的缺失信息。
②为了帮助恢复缺失的信息,我们使用残差学习的输入计算的图像梯度。
③为了处理异常值,我们开发了一个鲁棒性损失函数,以确保训练阶段是稳定的。
④提出的网络以端到端方式进行训练,可以处理大的损坏区域,并且与最先进的算法相比表现良好。
三、相关工作
CNN可以看作是一个映射函数,它将损坏的图像映射为清晰的图像。CNN的主要优点是它可以通过大量成对训练数据进行学习。因此,使用CNN的修复方法获得了更好的性能,如图像去噪、超分辨率和去模糊。
编码器网络和U-Net网络的区别
编码器解码器网络和U-Net网络都是图像分割领域中常用的网络结构,它们的主要区别在于网络结构和应用场景。
编码器解码器网络是由编码器和解码器两部分组成的,编码器用于提取图像特征,解码器则用于将特征图还原为原始图像大小。编码器解码器网络通常用于图像生成、去噪、超分辨率等任务。
而U-Net网络则是一种专门用于图像分割的网络结构,它的主要特点是引入了跳跃连接,可以更好地保留图像的细节信息。U-Net网络的编码器和解码器之间还有一个瓶颈层,可以有效地减少参数数量,提高网络的训练速度和泛化能力。U-Net网络通常用于医学图像分割、自然图像分割等任务。
四、方法
网络架构
由两个子网络连接的非常深的卷积神经网络来学习互补先验并进一步学习底层映射。给定一幅被掩码图像,首先,子网Net-D将其作为输入,输出一个多通道特征映射,该特征映射捕获互补图像先验。然后将这些学习到的先验和预提取的梯度先验进一步复制并连接到被掩码的图像上。之后,子网Net-E将其作为输入,目的是学习底层残差映射。最后,对输入的掩码图像和输出的残差图像进行逐像素求和,得到类目标恢复图像。
子网Net-D的学习过程是一个从低维输入图像中捕获高维互补图像先验的解码器。相反,子网Net-E对Net-D进行逆变换,将低维的损坏数据编码为高维的图像信息。
预提取梯度先验
使用图像梯度来帮助估计损坏区域的细节和结构。给定损坏的图像,我们提取其水平和垂直梯度。然后将这两个方向梯度复制并连接到输入图像中,以帮助进行细节和结构估计。
损失函数:L1损失
f(·)是网络学习到的映射函数,基于L1范数的损失函数对异常值的鲁棒性更强。