面向图像修复的增强语义双解码器生成模型

2022-10-21 01:56王倩娜陈燚
中国图象图形学报 2022年10期
关键词:解码器一致性卷积

王倩娜,陈燚

南京师范大学计算机与电子信息学院/人工智能学院,南京 210023

0 引 言

图像修复作为计算机视觉领域的任务之一,已经广泛地应用到生活的各个领域,为越来越多的人所关注(强振平 等,2019)。在图像和视频编辑领域(Song等,2019),图像修复技术可以用来还原一些变质的旧照片、修复损坏的电影以及移除图像上的物体。在医学领域(Armanious等,2020),图像修复可以用于抑制医学成像系统产生的噪声和伪影。在公安军事领域(Wang等,2020),指纹、掌纹和人像的鉴定识别等都与图像修复技术密不可分。通俗来说,图像修复就是对图像中的缺失区域进行填充,并使填充后的图像尽可能在视觉和语义层面上都达到合理的要求。从早期的传统方法到目前基于深度学习的方法,图像修复已经取得了长足的进步。

传统图像修复的解决方案(Bertalmio等,2000;Barnes等,2009)大部分是依据数学知识利用图像缺失区域周围的已知信息推导出一系列公式,然后根据公式对图像进行迭代更新,使缺失区域的修复慢慢达到相对较好的结果。因为这种方法通常是从原图像中采样完整的补丁并粘贴到缺失区域,所以只适合修复缺失区域较小且结构简单的图像。对于图像中缺失区域结构比较复杂的情况,由于该方法只利用了图像的低级别特征,缺乏对图像的高层语义理解,因此往往无法产生语义上合理的结果。

基于深度学习的图像修复方法(Pathak等,2016;Iizuka等,2017;Yu等,2018;Sagong等,2019)通过学习数据分布来捕捉图像的高层语义信息,从而解决了传统算法的难题。Pathak等人(2016)首次提出基于深度神经网络的CE(context encoder)模型,并将其应用于大面积缺失区域的图像修复,取得了令人印象深刻的效果,自此基于深度学习的图像修复方法得到广泛研究。Iizuka等人(2017)引入扩张卷积,利用全局和局部判别器来补全图像,提高了修复图像的全局一致性。Yu等人(2018)提出了一个两阶段的修复模型,并加入上下文注意力模块,在一定程度上解决了具有复杂纹理图像的修复问题。Sagong等人(2019)提出了用于语义修复的并行扩展解码路径(parallel extended-decoder path for semantic inpainting,PEPSI),有效地提高了模型的训练速度。

目前,图像修复技术取得了长足的进步。然而,对于图像中存在大面积缺失区域的情况,以上方法通常无法很好地产生语义信息一致的内容,来增强修复图像和真实图像的视觉一致性。这使得生成器的修复结果往往会产生异常,诸如颜色差异、模糊等伪影;同时,为了追求高质量的修复结果,模型的设计也越来越复杂,尤其是目前常使用的两阶段(Yu等,2018;Liu等,2019)网络结构。基于该结构的模型不仅在训练时需要较长的时间,而且图像的修复效果对第1阶段输出结果的依赖性也比较强。针对依赖性的问题,本文在两阶段网络模型CA(contextual attention)(Yu等,2018)上做了实验,结果如图1所示。从图1(a)中可以看出,第1阶段的输出图像存在明显的黑色伪影,这导致了第2阶段修复图像中人脸的额头部位出现了多余的内容,呈现出较差的修复效果。而由图1(b)中可以看出,当第1阶段修复结果较好时,第2阶段的修复也会产生较好的结果。

图1 CA模型依赖性展示

为了解决上述问题,本文在图像修复任务中提出了一种基于双解码器的增强语义一致的图像修复方法(enhanced semantic image inpainting with dual decoder,ESID)。1)为了增强图像的语义一致性,本文利用一致性损失,缩小图像在编码器和对应层解码器之间的差异,同时结合感知损失、风格损失来提高修复图像和真实图像的相似性。通过在高级深层特征中定义的一致性损失、感知损失以及风格损失可以促使网络更好地捕获图像的上下文语义信息,进而产生语义一致的内容,确保修复图像和真实图像的视觉一致性。2)为了消除两阶段网络模型的修复效果对第1阶段输出结果的依赖性,同时减少模型的训练时间,本文使用了单一编码器和具有简单路径及重构路径的双解码器的网络结构。简单路径粗略地预测图像缺失区域的内容,重构路径生成更高质量的修复结果。双解码器的结构使得两个修复路径可以同时独立进行,消除了两阶段网络模型中存在的依赖性问题并减少了模型的训练时间。3)为了提高模型的特征提取能力,本文使用U-Net(Ronneberger等,2015)结构,在编码器和解码器之间引入跳跃连接,解决了通过下采样而造成的信息损失问题。此外,在编码结构中使用扩张卷积,提高了模型的感受野,同时在解码结构中加入了多尺度注意力模块(Wang等,2019),进一步加强了模型从远距离区域提取特征的能力。

本文在CelebA、Stanford Cars和UCF Google Street View共3个数据集上进行了实验,实验结果表明,本文算法有效减少了模型的训练时间,同时消除了两阶段网络模型中的依赖性问题,修复的图像也呈现出更好的视觉一致性。此外,本文进行了消融研究,以验证ESID模型中不同组成部分的有效性。

本文贡献总结如下:

1)提出了一种针对具有规则或不规则缺失区域的图像修复模型,利用一致性损失、感知损失和风格损失增强图像的语义一致性,可以在图像包含大面积缺失区域的情况下有效地提取语义信息,提高修复图像和真实图像的视觉一致性。

2)使用双解码器消除了两阶段网络模型修复效果对第1阶段输出结果的依赖性,同时有效减少了模型的训练时间。

3)利用扩张卷积扩大了模型的感受野,使用跳跃连接减少了信息的损失,并引入了多尺度注意力模块进一步提高了网络的特征提取能力。

1 相关工作

1.1 基于传统的图像修复

从广义上来说传统的图像修复方法分为两类:基于扩散的方法和基于样本的方法。

基于扩散的方法(Bertalmio等,2000;Shen 和 Chan,2002)利用缺失区域的边缘信息,向该区域内慢慢扩散周围的已知信息。Bertalmio等人(2000)首次提出基于扩散的模型。该模型沿着等照度线方向将图像中缺失区域边缘的已知信息扩散到缺失区域内部,达到图像修复的目的。但该模型没有考虑到图像的完整性信息,导致修复效果比较差。Shen和Chan(2002)对BSCB模型进行了改进,利用全变分(total variation,TV)模型进行图像修复,提出一种基于变分原理的结构边缘处理算法,但修复结果存在明显的断裂现象。由于图像的重建仅限于局部可用信息,因此基于扩散的方法通常无法在缺失区域内恢复有意义的结构,也不能充分处理缺失区域较大的图像。

基于样本的方法(Drori等,2003;Barnes等,2009)是在图像的未缺失部位搜索良好的替换补丁,并将其复制到相应的位置来逐块填充缺失区域。Drori等人(2003)提出一种基于样本的图像修复算法,采用自相似性原理得到图像缺失区域的信息,但运行速度较慢。Barnes等人(2009)提出了补丁匹配(patch match)算法,用于快速查找图像补丁之间的相似匹配,可在一定程度上修复缺失区域较大的图像,但需要人工干预。基于样本的方法都假定缺失区域内的补丁可以在当前图像的其他位置找到,但是这种假设并不一定成立。由于缺乏对图像语义的高级理解,因此基于样本的方法只适用于修复高度结构化的缺失区域,对具有复杂纹理图像的修复往往很困难。

1.2 基于深度学习的图像修复

基于深度学习的修复方法,一般是利用掩码对原始图像进行处理,得到包含缺失区域的图像。之后将得到的图像输入网络中生成缺失的内容。目前广泛使用的是基于卷积自编码和对抗训练的方式(Pathak等,2016;Iizuka等,2017;Liu等,2018;Yu等,2018;Nazeri等,2019)。

Pathak等人(2016)首次提出基于深度神经网络的CE模型用于大面积缺失区域的图像修复,并取得了令人印象深刻的效果,自此基于深度学习的图像修复得到广泛研究。Yu等人(2018)提出了一种新的图像修复框架,该框架由一个由粗到细的两阶段网络结构组成。第1阶段网络利用重构损失粗略地预测缺失区域的图像内容;第2阶段网络通过重构损失和对抗损失细化第1阶段模糊的修复结果,这在一定程度上解决了具有复杂纹理图像的修复问题。Yu等人(2019)在两阶段模型基础上提出了门控卷积,完成具有自由形式掩码以及用户指导的图像修复。Nazeri等人(2019)提出了两阶段修复模型EdgeConnect,引入边缘信息来提高生成图像中结构的合理性。Liu等人(2019)在两阶段模型中加入连贯语义注意层,解决修复图像中产生的结果不连续的问题。然而,这些由粗到细的两阶段网络模型在训练时往往需要大量的计算资源,而且模型的修复效果对第1阶段输出结果的依赖性较高。此外,许多研究者也提出其他基于深度学习的方法。Liu等人(2018)使用具有自动掩码更新的部分卷积(partial convolutions,PConv)实现高质量的图像修复。Yan等人(2018)提出了基于U-Net(Ronneberger等,2015)架构的模型,从结构和细节两方面准确地对图像中的缺失区域进行修复。刘坤华等人(2021)以待修复图像的边界信息为约束条件,从而实现了高精度的图像修复。

2 ESID方法

本文使用单一编码器和具有简单路径和重构路径的双解码器结构。使用一致性损失、感知损失和风格损失等对模型进行优化,同时引入扩张卷积、U-Net结构以及多尺度注意力模块,来增强模型的修复效果。

2.1 网络结构

本文模型的网络结构如图2所示,其中Igt是原始图像。Iin=Igt⊙(1-M),Iin是输入网络中包含缺失区域的图像,⊙为点互相乘,M表示二值化掩码,其中1是图像中的缺失区域,0是非缺失区域。Ipred1是简单路径输出的图像。Ipred2是经过重构路径输出的图像。Lrec、Lperc、Lstyle、Ladv、Lcon分别是重构损失、感知损失、风格损失、对抗损失和一致性损失。本文模型的修复过程如下:

图2 网络总体架构

1)给定原始图像Igt,通过掩码M得到具有缺失区域的图像Iin,然后将该图像输入到编码器中,经过一系列卷积和扩张卷积操作输出图像的潜在特征;

2)将潜在特征分别输入简单路径和重构路径中,经过两个解码器路径得到修复的图像Ipred1和Ipred2;

3)分别计算修复图像Ipred1、Ipred2与原始图像Igt的重构损失。同时将Ipred2和Igt输入判别器计算对抗损失,并将两者输入VGG-19(Visual Geometry Group)特征提取器中计算感知损失和风格损失。此外,在重构路径的解码器和对应层编码器中计算一致性损失。

从图2可以看出,本文网络由一个具有双解码器的生成器、一个判别器和一个特征提取网络组成。在生成器中,使用U-Net(Ronneberger 等,2015)结构,通过跳跃连接将编码部分的信息直接传递到解码部分对应位置。该结构有效减少了传统自动编码器结构中的信息丢失问题,使网络能够提取到更全面且丰富的信息。具体地,如表1所示,编码器的每一层采用的是卷积核大小为3×3,步长为1,扩张率为1的卷积操作以及卷积核大小为4×4,步长为2,扩张率为2的扩张卷积操作。大小为3×3的卷积核用来保持相同的图像空间大小,同时使图像的通道数加倍,这有效提高了网络获取深层语义信息的能力;大小为4×4的扩张卷积核用来保持相同的通道数,并使图像的空间大小减少一半,这有效扩大了模型的感受野且防止过多的信息丢失。有关解码器部分将在2.2小节给出具体的介绍。在判别器中,本文使用了马尔可夫判别器(patch generative adversanal networks, Patch GAN)(Isola等,2017),可以评估每个结构补丁是属于真实分布还是虚假分布。此外,本文在判别器中还应用了谱归一化(Miyato等,2018)技术。即用相应的Lipschitz常数划分权重矩阵,稳定判别器的训练过程。通过谱归一化技术还可以约束判别器的梯度,进而给生成器提供有效的梯度。

表1 网络详细结构

2.2 双解码器模块

双解码器有效减少了模型的训练时间,同时消除了两阶段网络模型中存在的依赖性问题。如图3所示,本文中双解码器由简单路径和重构路径组成,简单路径对图像中的缺失区域进行粗略的预测;重构路径通过多尺度注意力模块和一致性损失等生成更精细的修复结果。在训练过程中,简单路径和重构路径共享权重参数。

图3 双解码器结构

图3中双解码器由两个相互独立的路径组成。具体结合表1,解码器每一层采用的是反卷积核大小为4×4,步长为2的反卷积操作。同时,在解码器的中间3层额外加入了卷积核大小为3×3,步长为1的卷积操作。4×4的反卷积核将编码器输出的特征图恢复到原始图像的尺寸,并有效地填充图像中的缺失区域。3×3的卷积用来进一步加强网络提取图像语义信息的能力。此外,在重构路径中将两个并行的注意力模块嵌入在解码器的第4层后方,进一步提高模型从远距离区域提取特征的能力,以此得到质量更高的修复结果。在模型的训练过程中,本文还多次使用批标准化,来加速模型的收敛并提高模型的精度。

2.3 多尺度注意力模块

注意力模块(Zhang 等,2019;Yu 等,2018;Wang等,2019)的主要任务是让模型在训练时只关注感兴趣的区域而抑制无关区域的信息。为了更好地获取远距离的图像内容,本文在重构路径的第4层后引入多尺度注意力,即两个并行的注意力模块。该模块通过学习新的权重向量,将图像中的关键信息标注出来,接着利用模型优化得到图像所关注的区域。如图4所示,注意力模块主要由注意力分数计算和自注意力特征图计算两部分构成。图中的C表示特征图的通道数,H和W分别表示特征图的高度和宽度。具体地,首先将网络前一层输出的特征图x∈RC×H×W分别经过3个卷积核大小相同的卷积操作,将该特征图变换到3个特征空间f,g,h中。其中,空间f和g中特征图的通道缩小为原来的1/8,而空间h中的特征图通道数保持不变。然后,依据式(1),利用点积来衡量f和g两个特征空间中特征图的相似度(dot-product similarity),即将特征f(xi)的转置与特征g(xj)相乘。最后,根据式(2),用对softmax相似度进行归一化以获得每个补丁的注意力分数,得到特征注意力矩阵δj,i∈RN×N。

sij=f(xi)Tg(xj)

(1)

(2)

式中,sij为相似度,f(xi)和g(xj)分别是特征空间f和g中的特征图。δj,i表示在合成图像第j个位置时,模型对第i个位置的关注程度。两个位置的特征越相似,它们之间的相关性就越大。

获得注意力分数后,用注意分数加权的上下文填充缺失区域,将注意力矩阵与h空间中的特征图相乘即,

(3)

式中,oj是经过注意力层第j个像素的输出,h(xi)是变换到特征空间h中的特征图,v是可训练的参数。

所有补丁计算完之后,相应的缺失区域也将得到填充。特别地,这些操作都可以表述为端到端训练的卷积操作(Yu等,2018)。

在图像修复中,利用注意力模块可以更好地获取远距离的图像内容,但是补丁大小的选择是很难确定的。通常,较大的补丁大小有助于确保图像样式的一致性,而较小的补丁在使用背景特征图时更加灵活。为了更好地提取图像的特征,进而准确利用图像的特征信息,本文对注意力模块进行了改进,使用两个并行的注意力,引入了多尺度注意力模块,在该模块中分别将图4中3个相同卷积核的大小设置为1×1和3×3来提取图像的背景特征,然后将两个特征进行融合以灵活地利用图像的背景内容。

图4 注意力模块

2.4 损失函数

损失函数是网络训练和图像修复的关键,通常是联合损失函数。为了更好地捕获图像的语义信息,增强修复图像和真实图像的视觉一致性,本文除了使用图像修复任务中常用的重构损失和对抗损失外,还引入了一致性损失、感知损失和风格损失来增强修复图像的语义一致性。

1)一致性损失。一致性损失Lcon是定义在生成器中的损失,用来衡量图像在编码器和对应层解码器之间的差异。通过逐渐缩小两者间的差异来提高生成器重构图像的能力。定义为

(4)

式中,Ψencoder和Ψdecoder表示生成器提取的图像特征,本文选择编码器和相应解码器第3层的差异作为一致性损失。

2)感知损失。感知损失Lperc(Johnson 等,2016)用来比较原始图像和生成图像特征图之间的差异,衡量高层结构之间的相似性。本文分别将原始图像和重构路径修复的图像输入VGG-19特征提取器中,将提取到的两个特征进行比较。感知损失定义为

Irec2=Igt⊙(1-M)+Ipred2⊙M

(5)

(6)

式中,M是二值化的掩码,1表示图像中的缺失区域,0表示非缺失区域,⊙表示点互相乘。Irec2是最终的效果图,由重构路径输出图像的缺失区域与原始图像的非缺失区域组合而成。Ψpooli(Igt)是原始图像经过VGG-19输出的特征,Ψpooli(Irec2)是最终效果图经过VGG-19输出的特征。pooli表示第i个池化层的特性,本文选取了pool1、pool2、pool3和pool4共4个池化层的特征。Hi、Wi和Ci表示第i个特征图的高度、宽度和通道的大小。1/HiWiCi是归一化参数,N是VGG-19特征提取器生成的特征图的数量。

3)风格损失。风格损失Lstyle(Gatys 等,2016)可以有效解决感知损失缺乏保持风格一致性的问题。通过风格损失,本文模型可以从背景中学习颜色和整体样式信息。与感知损失一样,分别将原始图像和最终效果图输入VGG-19特征提取器,得到图像的特征。与感知损失直接计算特征差异不同,风格损失首先计算特征图的格拉姆矩阵(gram矩阵),该由特征图之间的相似性定义,本文用特征图与其转置的点积来衡量),再通过gram矩阵来计算特征图的差异。风格损失定义为

(7)

(8)

4)重构损失。重构损失Lrec是图像修复任务中广泛使用的损失函数,用来衡量原始图像和修复图像之间的差异,在以前的修复模型(Pathak 等,2016)中证明是有效的。在本文中,重构损失由两部分构成,即简单路径和重构路径修复的图像分别与原始图像的差异。其定义为

Irec1=Igt⊙(1-M)+Ipred1⊙M

(9)

(10)

5)对抗损失。由于图像修复往往有多种可能的修复结果,因此需要利用对抗训练来提高修复图像的真实性。本文使用了Patch GAN(Isola 等,2017)作为对抗训练中的判别器,它可以判断一个小的补丁是否真实。此外,采用谱归一化(Miyato 等,2018)来控制泛化误差并稳定训练,对抗损失Ladv可以表示为

E[log(1-D(Ipred2))]

(11)

式中,E()为期望,D(Igt)和D(Ipred2)是判别器的逻辑输出。

考虑到一致性损失、感知损失、风格损失以及对抗性损失等,本文的总损失定义为

Ltotal=λconLcon+λpercLperc+

λstyleLstyle+λrecLrec+λadvLadv

(12)

3 实 验

本文在3个数据集CelebA、Stanford Cars和UCF Google Street View上评估了本文模型ESID,并从定性和定量两个方面将ESID与其他方法进行了比较。也通过实验验证了双解码器能有效消除两阶段网络模型的修复效果对第1阶段输出结果的依赖性,同时减少模型的训练时间。此外,还验证了损失函数、多尺度注意力模块以及U-Net结构的有效性。

3.1 实验设置

3.1.1 实验环境

本文用到的硬件和软件环境如表2所示。

表2 实验环境

3.1.2 数据集

本文采用的3个数据集划分如表3所示。

表3 数据集划分

CelebA(Liu 等,2015)是名人人脸属性数据集,包含10 177位名人身份的202 599幅人脸图像。

Stanford Cars(Krause 等,2013)是汽车图像数据集,一共包含196类,共16 185幅不同型号的汽车图像。

UCF Google Street View(Doersch 等,2015)是建筑物街景图像数据集,包括62 058幅高质量的谷歌街景图,以下简称Street View。

3.1.3 对比算法

将本文方法ESID与CE(Pathak 等,2016)、GL(Iizuka 等,2017)、CA(Yu 等,2018)、PConv(Liu 等,2018)、PEPSI(Sagong 等,2019)和EdgeConnect(Nazeri 等,2019)共6种方法进行了对比。

CE是首次提出基于深度神经网络的模型,用于缺失区域面积较大的图像修复。GL方法引入扩张卷积,利用全局和局部判别器来提高修复图像的全局一致性。CA使用两阶段网络结构,并加入上下文注意力模块,一定程度上解决了具有复杂纹理图像的修复问题。PConv提出了具有自动掩码更新步骤的部分卷积,实现了不规则缺失区域的图像修复。PEPSI使用并行解码器提高了模型的训练效率。EdgeConnect使用两阶段网络结构,引入边缘信息来增强修复图像的结构。

3.1.4 参数设置

一般来说,图像中通常存在规则或不规则的缺失区域。为了公正地评价,本文对具有规则和不规则缺失区域的图像分别进行了实验,实验过程中掩码和图像的分辨率都设置为256×256像素。对于规则缺失区域,将本文模型与CE、GL和CA进行了比较,缺失区域的尺寸均设置为128×128像素。对于不规则缺失区域,本文将ESID与PEPSI、PConv和EdgeConnect进行比较。不规则掩码是由门控卷积(Yu 等,2019)提出的方法生成的。本文模型以端到端的方式进行了批量大小为8的训练。与其他图像修复模型一样,本文利用Adam算法(Kingma和Ba,2017)对模型进行优化,训练时学习率设置为2×10-4,Adam优化器的参数设置为β1=0.5,β2=0.999。

为了确定损失函数的权重参数,首先在3个数据集中分别选取200幅图像,将所有权重参数均设置为1进行训练。3个数据集中Lcon、Lperc、Lstyle、Lrec和Ladv的初始值均大致为2、8、0.01、0.6和0.5,训练过程中也基本维持同样的比例下降。其次考虑到损失函数值的平衡性,将各个损失函数的权重分别设置为0.5、0.15、100、2和2进行训练,最终发现训练效果非常不理想,结果如图5(c)所示。通过实验结果并认真分析各个损失函数,了解到感知损失易导致图像产生棋盘格伪影;风格损失能促使模型从背景中学习颜色和整体样式信息;重构损失是图像修复任务中广泛使用的损失函数。因此,在训练过程中适当降低感知损失权重,并增加风格损失和重构损失的权重,有利于图像修复。此外,当权重设置为0.5、0.05、150、50和2时,通过实验结果还发现对抗损失权重太大可能导致训练结果出现不稳定现象,结果如图5(d)所示。最后依据实验结果并结合其他图像修复模型参数设置情况,本文再次调整损失函数的权重进行训练,最终发现图像达到了较好的修复效果。图5中展示的是迭代50次的训练效果图,从中可以看出图5(e)训练的效果图表现最好。综上所述,本文将损失函数的权重分别设置为λcon=0.5,λperc=0.05,λstyle=150,λrec=50,λadv=0.1。

图5 不同损失函数权重的训练效果图

3.2 实验结果

3.2.1 定性比较

对于具有规则缺失区域的图像,将提出的方法与CE(Pathak 等,2016)、GL(Iizuka等,2017)和CA(Yu等,2108)3种方法进行定性比较,结果如图6—图8所示。

图6 CelebA数据集规则缺失的定性比较

图7 Stanford Cars数据集规则缺失的定性比较

图8 Street View数据集规则缺失的定性比较

在CelebA数据集中,从图6可以看出,对于分辨率和缺失区域均较大的图像,CE修复的结果通常不太真实且不易识别。如图6(c)所示,图中修复区域人脸的面部器官难以辨别,且出现了大量黑色的伪影,呈现出了较差的修复效果。GL在理解整个图像的上下文方面是有效的,但是较难生成复杂的结构性纹理,且修复的结果也比较模糊。如图6(d)中的图像可以识别出人的面部器官,但是修复的区域出现了较为模糊的结果。CA在一定程度上改善了图像纹理修复的问题,但通常生成的图像会出现扭曲的结构和多余的内容。如图6(e)中红色方框所标注位置,修复区域额头部位出现了在原始图像中不存在的头发,这显然是在修复任务中不希望看到的现象。与这些方法相比,ESID的修复结果具有明显较少的伪影,修复的图像和真实图像在视觉一致性方面表现更好。

在Stanford Cars数据集中,从图7可以看出,ESID修复的图像在视觉效果上明显优于CE和GL。CE的修复结果如图7(c)所示,可看出对于Stanford Cars数据集,CE基本无法产生修复能力,图中修复的内容与原始图像基本没有任何关联,伪影现象非常严重。图7(d)中GL对该数据集中的图像产生了一定的修复能力,但修复结果较为模糊。CA修复的图像虽然在纹理和颜色上都达到了较好的效果,但部分区域出现了扭曲的结构,如图7(e)中红色方框标注区域车身部位产生了明显的扭曲。与CA修复的结果相比,图7(f)中ESID的修复图像在缺失区域的边界处过渡更自然,在视觉上与原始图像更一致,而且未出现明显的结构扭曲现象。

在Street View数据集中,从图8(c)中可以看出,CE修复的图像缺乏必要的结构和纹理信息,具有明显的伪影。与CE相比,图8(d)中GL在图像结构的修复上是有效的,但无法生成清晰的纹理。图8(e)中CA和图8(f)中ESID修复的结果都呈现出了较好的视觉效果,但ESID在图像的一致性方面表现出了更佳的性能。如图8(e)中红色方框标注位置,CA的修复结果出现了扭曲的结构,与其相比,ESID修复的图像与原始图像在结构纹理和视觉效果上更一致。

对于具有不规则缺失区域的图像,将本文方法与PConv(Liu等,2018)、PEPSI(Sagong 等,2019)和EdgeConnect(Nazeri等,2019)3种方法进行定性的比较,结果如图9—图11所示。

图9 CelebA数据集不规则缺失的定性比较

图10 Stanford Cars数据集不规则缺失的定性比较

图11 Street View数据集不规则缺失的定性比较

在CelebA数据集中,从图9(c)中可以看出,PEPSI修复的图像出现了较严重的伪影,可明显看出修复的痕迹。PConv和EdgeConnect显示出了可信的结果,但部分位置出现了模糊的现象或轻微扭曲的结构。如图9(d)(e)中红色方框区域中,两种方法在眼睛下方部位均生成不合理的结构。此外,在第2行图像中,PConv和EdgeConnect修复的眼镜都出现了扭曲的现象。与这些方法相比,ESID修复的图像内容更精细,语义更合理。

在Stanford Cars数据集中,从图10(c)中可以看出,PEPSI修复的图像缺乏必要的纹理信息,具有明显的伪影。图10(d)中PConv对该数据集中的图像产生了一定的修复能力,但易出现扭曲的结构。如图中第1行图像的车顶、第2行图像的后视镜以及第3行图像的车身均出现了明显的扭曲。从图10(e)(f)中可以看出,与EdgeConnect修复的结果相比,ESID的修复图像在结构和纹理上更合理,在视觉上与原始图像更一致。

在Street View数据集中,从图11中红色方框位置可以看出,对于结构性特征比较强的建筑物图像,ESID修复的结果在一定程度上要优于其他方法。此外,在第2行图像中,对于缺失部位的高楼,PEPSI、PConv和EdgeConnect修复的结果出现了明显的扭曲现象。与这些方法相比,ESID修复的结果虽然出现了模糊的现象,但是在视觉效果上与原始图像更一致。

最后,为了测试本文ESID模型的鲁棒性,通过增加噪声的干扰,进行了额外的对比实验。对于具有规则和不规则缺失区域的图像,本文将ESID分别与CA(Yu等,2018)和PConv(Liu等,2018)进行比较。实验结果如图12所示,图中σ表示高斯噪声中的标准差,snr表示椒盐噪声中的信噪比。

图12 添加噪声的定性比较

在Stanford Cars、CelebA和Street View共3个数据集上,本文分别添加了均值为0,标准差为10、20和30的高斯噪声。在Stanford Cars中,从图12(d)中第1行可以看出,在有噪声干扰的情况下,CA修复的图像显示出明显的伪影。而ESID基本能还原图像的轮廓,在视觉上产生不错的效果。在CelebA中,从图12(d)(e)中第2行可以看出,ESID修复出的图像明显好于CA修复的图像。在Street View中,从图12中第3行可以看出,PConv修复的图像存在明显的噪声点,与其相比,虽然ESID修复的图像有些模糊和伪影,但是在图像的结构和视觉上都呈现出了更好的效果。此外,在CelebA数据集上,本文还添加了椒盐噪声。结果如图12中第4行所示,从图中可以看出,虽然ESID修复的图像出现了噪声点,但是与PConv相比,修复的图像依然显示出了较好的效果。

综上所述,与其他方法相比,本文方法ESID在3个数据集上具有相对较强的鲁棒性。

3.2.2 定量比较

将提出的方法与其他方法在5个指标上进行了定量的比较,分别是均方误差(L2)、峰值信噪比(peak signal-to-noise ratio,PSNR)、结构相似性(structural similarity,SSIM)(Wang等,2004)、FID(Fréchet inception distance)(Heusel等,2017)以及IS(inception score)(Salimans等,2016)。其中L2、PSNR是对图像中所有像素进行逐个比较,没有考虑人类的视觉感知。SSIM是从结构、亮度和对比度3个方面比较图像的差异,考虑了图像之间的整体相似度。FID计算修复图像和原始图像分布之间的Wasserstein-2距离,可以表示修复结果的感知质量。IS用来评价图像生成的质量和多样性,是图像生成领域常采用的评价指标。

对于具有规则缺失区域的图像,定量比较结果如表4所示,从中可得,本文方法在CelebA和Street View数据集上以最佳L2、SSIM、PSNR和FID产生了不错的结果。尤其是FID指标,本文方法在CelebA数据集上比表4中性能第2的CA降低了5.055,在Street View数据集上降低了11.895。在Stanford Cars数据集上,本文方法具有更好的L2、SSIM和PSNR,但FID和IS略低于CA。

表4 规则缺失图像的定量比较

对于具有不规则缺失区域的图像,从表5可看出,本文方法在CelebA数据集上实现了所有指标的最佳值。在Stanford Cars数据集上,除了IS略低于EdgeConnect,其他指标也达到了最佳值。此外,在Street View数据集上,本文方法具有更好的L2、SSIM和PSNR。

表5 不规则缺失图像的定量比较

如上所述,本文算法在CelebA、Stanford Cars和Street View数据集上实现了最佳的数值性能。这表明与其他方法相比,本文方法可以更好地修复出与原始图像相一致的内容。

3.3 消融实验

3.3.1 双解码器的有效性

分别对双解码器能有效减少模型的训时间,以及消除两阶段修复模型中存在的依赖性进行了实验验证。

为了验证双解码器能有效减少模型的训练时间,设计了由粗到细的两阶段的网络结构,称为Net_stage。在保证Net_stage和ESID网络结构的参数、迭代次数以及所用损失函数等相同的条件下,对两种结构训练中所用的时间进行了比较,结果如表6所示。从表中可以看出,与Net_stage结构相比,ESID能有效提高模型的训练效率。在CelebA、Stanford Cars和Street View等3个数据集上将模型的训练时间分别减少了12.78%,21.44%和10.68%。

表6 双解码器减少训练时间验证

对于模型的依赖性验证,图13展示了两阶段的模型CA(Yu等,2018)和ESID在CelebA数据集上的修复结果。从图13(a)中红色方框标记位置可看出,当CA模型的第1阶段修复结果出现明显的伪影时,第2阶段的修复结果会产生多余的内容,导致修复结果较差。从图13(b)中可以看出,当第1阶段修复结果比较理想时,第2阶段也会产生较好的修复效果。

这种依赖性主要是由于两阶段修复模型为了促使网络更好地提取图像的特征,将第1阶段的修复结果作为第2阶段的输入所导致的。而对于本文提出的双解码器模型,简单路径和重构路径在训练过程中相互独立,互不干扰,从而消除了两阶段模型中的依赖性问题。从图13中最后两列可以看出,简单路径和重构路径的修复图像均显示出了较好的效果,且两者之间不存在依赖性的问题。与简单路径输出的图像相比,重构路径修复的图像更清晰,在视觉效果上与原始图像更一致。

图13 双解码器消除依赖性验证

3.3.2 损失函数的有效性

为了验证一致性损失Lcon、感知损失Lperc和风格损失Lstyle能有效增强图像的语义一致性,针对损失函数模块做了消融实验。从图14中可以看出,当没有使用Lcon、Lperc和Lstyle时,图14(c)的修复结果过于平滑和模糊,而图14(d)中ESID修复区域的内容相对清晰。这表明通过一致性损失等函数,ESID能够更好地提取图像的语义信息,这有效增强了修复图像和真实图像的视觉一致性。

图14 增强语义一致性验证

3.3.3 多尺度注意力的有效性

在实验中,多尺度注意力被从重构路径中移除。从图15中可以看出,当没有使用多尺度注意力模块时,图15(c)的修复结果缺乏良好的纹理细节且易出现伪影,而图15(d)中ESID修复的侧脸图像呈现出了更好的纹理细节。这是由于注意力能充分利用远距离处的图像内容,关注感兴趣的区域而抑制无关区域的信息,因此使用多尺度注意力可以使模型产生更合理的纹理内容。

图15 多尺度注意的有效性验证

3.3.4 U-Net结构的有效性

实验中用简单连接代替了跳跃连接,从而移除了U-Net结构。从图16中可以看出,当没有使用U-Net结构时,图16(c)修复的图像表现出了平滑的结果,在缺失区域的边界处出现了较明显的伪影。相比之下,由于U-Net结构将编码部分的信息直接传递到解码部分对应位置,有效减少了传统自动编码器架构中的信息丢失问题,使网络能够提取到更全面且丰富的信息,从而使ESID模型可以产生更清晰一致的图像。

图16 U-Net结构的有效性验证

4 结 论

针对大面积缺失区域图像中修复图像和真实图像的视觉不一致性问题,以及两阶段修复模型中存在的依赖性问题,本文提出了一种基于双解码器的增强语义一致的图像修复方法。利用双解码器消除了两阶段网络模型的修复效果对第1阶段输出结果的依赖性,同时有效地减少了模型的训练时间。通过一致性损失、感知损失和风格损失增强图像的语义一致性,提高了网络的细节修复能力。此外,本文使用U-Net结构和多尺度注意力模块等进一步加强了模型的特征提取能力。定性实验结果表明,本文方法能够修复出细节纹理更清晰的图像,比其他方法展现出了更好的修复能力。定量实验结果表明,本文方法在CelebA、Stanford Cars和UCF Google Street View等3个数据集上实现了最佳的数值性能。进一步,消融实验验证了双解码器的有效性。同时也验证了损失函数、多尺度注意力以及U-Net的有效性。通过这些模块,本文方法能有效增强修复图像和真实图像的视觉一致性,为图像缺失区域生成更合理的内容。但是,本文方法仍存在一些不足,如在图像结构比较复杂的情况下,模型修复的效果不太理想。这将是未来需要进一步研究和解决的问题。

猜你喜欢
解码器一致性卷积
注重整体设计 凸显数与运算的一致性
基于全卷积神经网络的猪背膘厚快速准确测定
商用车CCC认证一致性控制计划应用
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
Why do we celebrate the New Year?
基于Paxos的分布式一致性算法的实现与优化
基于Android环境下的数据包校验技术分析
浅谈SCOPUS解码器IRD—2600系列常用操作及故障处理