论文解读:使用带门控卷积进行生成式深层图像修复方法

简介: 论文解读:使用带门控卷积进行生成式深层图像修复方法

640.png

今天,我们将深入研究一种名为DeepFill v2的非常实用的生成型深层图像修复方法。本文可以视为DeepFill v1,Partial Convolution和EdgeConnect的增强版本。简单的说,DeepFill v1中提出的上下文注意(CA)层和EdgeConnect中引入的可选的用户草图输入概念都嵌入在DeepFill v2中。同样,部分卷积(PConv)被修改为门控卷积(GConv),其中基于规则的掩码更新被公式化为可学习的下一卷积层的门控。有了这些想法,DeepFill v2可以比以前的最新方法获得高质量的自由形式修复。图1显示了使用DeepFill v2的一些自由形式的修复结果。

动机

回想一下,已经提出了部分卷积(PConv)来分离有效像素和无效像素,从而使卷积结果仅取决于有效像素,并且已经提出了Edge生成器来估计缺失区域的内部架构,进一步提高修复性能,本文的作者想要将这些技术与他们的上下文的关注(CA)层进一步加强修复的结果。

首先,PConv使用基于规则的掩码更新来分隔有效和无效像素。基于规则的掩码更新是手工制作的,是不可学习的。读者可以参考我们之前翻译的一篇文章对PConv进行简短的回顾。由于PConv是不可学习的,因此改进它的最直接的方法是使其可学习。

其次,之前的方法通常将掩码图像和掩码图像输入生成器网络完成。如果我们还允许用户的草图输入作为任务的附加条件呢?生成器知道如何区分用户的草图输入和掩码图像输入吗?一个简单的答案,使用门控卷积(PConv的一个可学习的版本)就可以了!

介绍

在以下各节中,我们可以将使用更多时间介绍最重要的概念“门控卷积”。

DeepFill v2网络体系结构。论文是他们之前工作(DeepFill v1)的改进版本。所以除了被使用门控卷积取代了标准卷积之外,网络架构非常相似。我们之前已经介绍过DeepFill  v1。这里DeepFill v1最重要的思想是上下文注意(CA)层,它允许生成器使用由遥远的空间位置提供的信息来重建局部缺失的像素。因此,DeepFill v2也遵循由粗到细的两阶段网络结构。第一生成器网络负责粗重建,而第二生成器网络负责对粗填充的图像进行细化。

有趣的是,损失函数只有两个最标准的损失项用于训练网络,即L1损失和GAN损失。这是这篇论文的主张之一,因为其他最先进的绘画论文使用5-6损失来训练他们的网络。我将很快谈论在这篇论文中使用的GAN损失。。

解决方案简述

为了进一步改进处理不规则掩码的部分卷积,作者提出了门控卷积,门控卷积可以看作是部分卷积的可学习版本。除了门控卷积之外,还允许可选的用户草图输入,以增强模型的交互编辑能力。最后,与我们在上一篇文章中介绍的EdgeConnect类似,将谱归一化(Spectral Normalization SN)[2]应用于鉴别器以稳定训练过程。

640.png

图2显示了DeepFill v2的网络架构。正如您所看到的,这是一个由粗到细两阶段的网络,带有门控卷积。粗糙生成器以掩码图像、掩码图像和可选的用户草图图像作为输入,对缺失区域进行粗糙重建。然后,粗填充的图像将被传递到第二个细化生成器网络进行细化。请注意,DeepFill v1中提出的上下文注意(CA)层被用于此细化网络。

对于鉴别器,本文采用了著名的PatchGAN结构[3]。除了使用PatchGAN之外,作者还对鉴别器的每个标准卷积层使用了谱归一化(SN)[2],以提高训练的稳定性。

门控卷积(Gated Convolution)

640.png

图3显示了部分卷积(PConv)和建议的门控卷积(GatedConv)之间的差异。简而言之,在PConv中,使用标准卷积层和S型激活函数来更新掩码,而不是使用基于规则的掩码更新。在经过S型激活函数后,所有值都将落入[0,1],这可以指示每个局部区域的重要性(或有效性)。 门控卷积的输出计算为

640.png

其中输出是两个标准卷积层的输出的逐个元素相乘,一层后跟任何激活函数,另一层后跟一个S型激活函数。

标准卷积层后接一个sigmoid函数作为软门控,在输入到下一个卷积层之前对当前卷积层的输出进行加权。注意,对于硬门控,我们只有0或1来做加权,但是对于软门控,我们可以采用0到1进行加权,这更加灵活,此操作是可以学习的。。

因此,您可以看到门控卷积的思想非常简单且易于实现。

损失函数

训练模型的损失函数由两个损失项组成,一个是像素级L1重建损失(L1损失),另一个是SN-PatchGAN损失。请注意,用于平衡这两个损耗项的超参数为1:1。

640.png

生成器的SN-PatchGAN损耗非常简单。它是SN-PatchGAN鉴别器输出的负平均值。实际上,这是铰链损耗,这在许多GAN框架中也很常见。

实验

自由形式的掩码生成和边缘贴图作为用户草图输入

提出了一种在训练过程中实时生成自由形状掩码的方法。我认为最简单的方法是直接在这里使用他们的代码。感兴趣的读者可以参考他们的论文了解详情。

对于可选的用户草图输入,作者使用HED边缘检测器[4]生成边缘图作为草图输入。请注意,草图输入是可选的。对于对交互式编辑用户草图输入感兴趣的读者,我强烈建议您阅读他们的论文。

与以前的修复论文相似,作者在Places2和CelebA-HQ数据集上评估了他们的模型。这两个数据集通常用于深度图像修复任务。

640.png

表1列出了两个供读者参考的客观评价度量数。正如我在之前的文章中提到的,对于深图像的补绘,目前还没有一个好的定量评估指标。因此,这些数字仅供参考,你应该关注填充图像的视觉质量。正如您所看到的,所提出的模型提供了最低的l1和l2误差。

定性比较

640.png

图4给出了不同深度图像补绘方法的定性比较。很明显,提出的模型(GatedConv)在视觉质量方面优于所有其他方法。您可以看到,该方法提供了不明显的颜色不一致的inpaint结果。

640.png

从图5可以看出,与前一种不允许用户草图输入的方法相比,所提出的模型能够理解和利用用户草图输入,从而进一步提高inpaint结果。你可以看到,论文的方法提供了更好的inpaint结果没有颜色不一致。

640.png

图6显示了一个对象删除示例,您可以看到,所提出的方法可以以更好的视觉质量完全删除对象。

640.png

图7显示了一些以用户草图输入为指导的图像填充示例。你可以看到交互式编辑是如何通过提出的方法来实现的。

SN-PatchGAN的消融实验

image.png

图8显示了SN-PatchGAN的消融研究。与标准的单个全局GAN相比,SN-PatchGAN的使用带来了更好的修复效果。作者声称,简单的L1损失和SN-PatchGAN损失的简单组合可以产生逼真的修复效果。

结论

本文的主要思想是门控卷积。门控卷积是部分卷积的可学习版本。我们可以通过使用一个额外的标准卷积层和一个S型函数来实现门控卷积,如图3所示。与现有的修补方法相比,门控卷积和SN-PatchGAN的使用显着改善了修补效果。作者还展示了如何通过允许可选的用户草图输入来实现交互式编辑。使用用户草图输入,可以实现更好和有意义的修复效果。因此,这是文献中非常实用的深层图像修复方法。

到目前为止,仍然很难用复杂的场景结构和较大的缺失区域来填充图像。因此,极限图像修复将是一个有希望的方向。让我们一起学习和阅读更多内容:)

目录
相关文章
|
4月前
|
机器学习/深度学习 自然语言处理 数据可视化
深度探索变分自编码器在无监督特征学习中的应用
【4月更文挑战第20天】 在深度学习领域,无监督学习一直是研究的热点问题之一。本文聚焦于一种前沿的生成模型——变分自编码器(Variational Autoencoder, VAE),探讨其在无监督特征学习中的关键作用与应用潜力。不同于传统的摘要形式,本文将直接深入VAE的核心机制,分析其如何通过引入随机隐变量和重参数化技巧,实现对复杂数据分布的有效建模。文章还将展示VAE在多个实际数据集上的应用结果,验证其作为无监督特征提取工具的有效性和普适性。通过理论与实践的结合,本文旨在为读者提供关于VAE在无监督特征学习领域的全面认识。
|
1月前
|
机器学习/深度学习 人工智能 编解码
【神经网络】基于对抗神经网络的图像生成是如何实现的?
对抗神经网络,尤其是生成对抗网络(GAN),在图像生成领域扮演着重要角色。它们通过一个有趣的概念——对抗训练——来实现图像的生成。以下将深入探讨GAN是如何实现基于对抗神经网络的图像生成的
22 3
|
3月前
|
机器学习/深度学习 自然语言处理 PyTorch
【chatgpt问答记录】前馈神经网络
【chatgpt问答记录】前馈神经网络
40 1
|
4月前
|
人工智能 计算机视觉
论文介绍:MDTv2——提升图像合成能力的掩码扩散变换器
【5月更文挑战第18天】MDTv2是掩码扩散变换器的升级版,旨在增强图像合成模型DPMs处理语义关系的能力。通过掩码操作和不对称扩散变换,MDTv2能学习图像的完整语义信息,提升学习效率和图像质量。MDTv2采用优化的网络结构和训练策略,如长快捷方式、密集输入和时间步适应损失权重,实现SOTA性能,FID分数达到1.58,训练速度比DiT快10倍。尽管计算成本高和泛化能力待验证,MDTv2为图像合成领域开辟了新方向。[链接: https://arxiv.org/abs/2303.14389]
114 1
|
4月前
|
机器学习/深度学习
YOLOv8改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
YOLOv8改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
329 1
YOLOv8改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
|
4月前
|
机器学习/深度学习 编解码 算法
大卷积核大有用处 | LSKNet + DiffusionDet更高更强的目标检测模型
大卷积核大有用处 | LSKNet + DiffusionDet更高更强的目标检测模型
138 0
|
4月前
|
机器学习/深度学习 编解码 算法
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
169 0
|
4月前
|
机器学习/深度学习 编解码
YOLOv5改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
YOLOv5改进 | 2023主干篇 | RepViT从视觉变换器(ViT)的视角重新审视CNN
240 0
|
机器学习/深度学习 存储 自然语言处理
使用预先训练的扩散模型进行图像合成
使用预先训练的扩散模型进行图像合成
132 1
|
机器学习/深度学习 存储 缓存
深度学习应用篇-计算机视觉-视频分类8:时间偏移模块(TSM)、TimeSformer无卷积视频分类方法、注意力机制
深度学习应用篇-计算机视觉-视频分类8:时间偏移模块(TSM)、TimeSformer无卷积视频分类方法、注意力机制
深度学习应用篇-计算机视觉-视频分类8:时间偏移模块(TSM)、TimeSformer无卷积视频分类方法、注意力机制