Region Normalization for Image Inpainting图像修复的区域归一化(2019)论文笔记

一、摘要

特征归一化(FN)是帮助神经网络训练的一项重要技术,它通常对跨空间维度的特征进行归一化。大多数先前的图像修复方法在其网络中应用FN,而没有考虑输入图像的损坏区域对归一化的影响,例如均值和方差偏移。本文发现由全空间FN引起的均值和方差变化限制了图像修复网络的训练,提出了一种空间区域化的归一化,称为区域归一化(RN)来克服这一限制。RN根据输入掩码将空间像素划分为不同的区域,计算每个区域的均值和方差进行归一化。我们为我们的图像修复网络开发了两种RN①基本RN (RN-B),它在原始修复掩码的基础上分别对损坏区域和未损坏区域的像素进行归一化,以解决均值和方差偏移问题;②可学习RN (RN-L),自动检测潜在损坏和未损坏区域进行单独归一化,并进行全局仿射变换以增强它们的融合。我们分别在网络的前几层和后几层使用RN-B和RN-L。两种网络映射算法都是即插即用模块,可以方便地应用于其他图像修复网络。

二、介绍

现存的修复网络提高了修复的性能但是忽略了图像修复问题的内在本质:与一般视觉任务的输入图像不同,图像修复输入的图片是含有损坏区域的,通常独立于未损坏区域。将损坏的图像作为一般空间一致的图像输入到神经网络中存在潜在的问题,例如无效(损坏)像素的卷积以及归一化的均值和方差偏移。现有的方法都没有解决修复网络归一化的均值和方差偏移问题。大多数现有方法在其网络中应用特征归一化(FN)来帮助训练,现有FN方法通常跨空间维度对特征进行归一化,忽略了损坏区域,导致归一化的均值和方差偏移。

因为现有的全空间归一化导致的均值和方差偏移限制了图像修复网络的训练。为了克服这一限制,我们提出了区域归一化(RN),这是一种基于空间区域的归一化方法,它根据输入掩码将空间像素划分为不同的区域,并计算每个区域的均值和方差进行归一化。该算法可以有效地解决均值和方差偏移问题,提高网络的训练效果。

基本RN (RN-B)和可学习RN (RN-L)

在网络的前几层,输入图像有很大的损坏区域,导致严重的均值和方差偏移。因此,我们应用RN-B分别对损坏区域和未损坏区域进行归一化来解决问题。RN-B的输入掩码是从原始的修复掩码中得到的。经过几个卷积层后,损坏的区域逐渐融合,使得从原始掩码中获得区域掩码变得困难。因此,我们在网络的后一层应用了RN-L,它通过利用输入特征的空间关系来学习检测潜在的损坏区域,并为RN生成一个区域掩码。此外,RN-L还可以通过全局仿射变换增强损坏区域和未损坏区域的融合。RN-L不仅解决了均值和方差漂移问题,而且促进了损坏区域的重建。

贡献

①从理论上和实验上,证明了现有的全空间归一化方法对于图像修复是次优的。

②第一个提出空间区域归一化(RN)。

③提出了两种用于图像修复的RN,并使用它们来实现最先进的图像修复。

三、相关的工作

批量归一化(BN),对跨批量和空间维度的激活进行归一化,已广泛应用于判别网络,以加快收敛速度和提高模型鲁棒性,并且在生成网络中也很有效。实例归一化(IN)与仅跨空间维度归一化激活的BN不同,在许多生成任务(如风格转换)中取得了显着改善。层归一化(LN)对跨通道和空间维度的激活进行归一化(即:标准化一个实例的所有特征),这有助于循环神经网络训练。组归一化(GN)对实例的分组通道特征进行归一化,提高了一些视觉任务(如目标检测)的性能。与上述归一化方法中的单一仿射参数集不同,条件归一化方法通常使用外部数据来推理多组仿射参数集。条件实例归一化(CIN)、自适应实例归一化(AdaIN),条件批归一化(CBN) 、空间自适应反规范化(SPADE)在一些图像合成任务中被提出。

现有的归一化方法都没有考虑空间分布对归一化的影响。

四、方法

区域归一化动机

F1、F2和F3是三个相同大小的特征图,每个特征图有n个像素。F1是原始的未损坏的特征图。F2是带有掩码的图像在所有区域执行全空间归一化的特征图,F3是掩码和未掩码区域分别执行归一化的特征图。Nm是掩码区域的像素数,Nu是未掩码区域的像素数。那么N = Nm +Nu。假设掩码区域像素的最大值为255,则三个特征图的均值和标准差分别为µ1(F1整个区域的均值)、µ2(F2整个区域的均值)、µ3m(F3掩码区域的均值)、µ3u(F3未掩码区域的均值)、σ1、σ2、σ3m和σ3u。

F2未掩码区域的分布逐渐缩小,均值从0向255偏移,与F1和F3比较方差增大。归一化将特征的分布转移并缩放到一个小区域,其中均值为0,方差为1。

与ReLU激活函数和s型激活函数对比,F2的分布区域被掩码区域缩小和偏移,这增加了内部协方差偏移,很容易陷入非线性的饱和状态(导致梯度消失问题),浪费大量的时间用于γ, β和W来解决问题。而F3分别对掩码区域和未掩码区域进行归一化,减少了内部协方差偏移,既保留了网络容量,又提高了训练效率。本文提出了RN。

RN的步骤

①将X分成K个区域

②计算每个区域的均值和方差

③对每个区域进行归一化

④每个区域分别用一组可学习的仿射参数变换。

将所有归一化区域合并得到区域归一化特征

RN的分析

RN可以看成实例归一化(IN)的替代方案。当区域K=1时,RN退化为IN。由于空间区域不是完全依赖的,因此RN对每个通道上的空间区域分别进行归一化。本文将K = 2用于图像的修复,因为在输入图像中有两个明显独立的空间区域:损坏区域和未损坏区域。

RN-B

基本RN (RN- B)分别对损坏区域和未损坏区域进行归一化和变换。这样既解决了归一化的均值和方差偏移问题,又避免了仿射变换中的信息混合。RN-B的设计目的是用于修复网络的前几层,因为输入的特征有很大的损坏区域,这会导致严重的均值和方差偏移。

给定一个输入特征F,和一个代表破损区域的二进制区域掩码M,RN-B层首先根据区域掩码M将输入特征F的每个通道Fc分成两个区域R1 (未损坏区域)和R2(损坏区域)。

RN-B按照RN步骤中的②③对每个区域进行归一化,区域数K = 2。根据⑤将所有归一化区域合并得到归一化通道

对于每个通道,有两组可学习的参数表示每个区域的仿射变换。

 

RN-L

在经过多个卷积层后,损坏区域逐渐融合,很难从原始掩码中获得准确的区域掩码。RN-L通过自动检测损坏区域并获得区域掩码来解决这个问题。为了进一步改善重建,RN-L通过全局仿射变换增强了损坏区域和未损坏区域的融合。RN-L以一种软方式增强了损坏区域的重建,既解决了均值和方差的偏移问题,又增强了融合。因此,RN-L适用于网络的后几层,RN-L的仿射参数是逐像素的。

RN-L利用特征本身的空间关系生成空间响应映射。具体来说,RN-L首先沿着通道轴执行最大池化和平均池化。两个池操作能够获得有效的特征描述符。然后,RN-L将两个池化结果连接起来。RN-L用sigmoid激活函数对两个映射进行卷机得到空间相应映射。空间响应映射Msr具有全局空间信息,对其进行卷积可以学习全局表示,从而促进损坏区域和未损坏区域的融合。

 

在RN-L中设置阈值t,从空间响应映射中生成区域掩码。阈值会影响区域掩码的精度,进而影响RN的功率。为了得到RN-L的区域掩码M,我们对空间响应映射设置阈值t:

本文设置阈值t = 0.8。阈值操作仅在推理阶段执行,并且梯度在反向传播期间不会经过它。

基于掩码M, RN对输入特征F进行归一化,然后进行逐像素仿射变换(通过对空间响应图Msr的卷积得到仿射参数γ和β)。

网络架构

我们只使用图像生成器作为我们的主干生成器。我们将原有的骨干生成器实例归一化(IN)替换为我们的两种RN,即RN-B和RN-L。本文在生成器的早期层(编码器)中使用RN-B,在中间层和后期层(残差块和解码器)中使用RN-L,RN-B的输入掩码是从原始的修复掩码中采样的,而RN-L不需要外部输入,因为它在内部生成区域掩码。

损失函数

使用PatchGAN鉴别器

损失函数为:重建损失、对抗损失、感知损失和风格损失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值