Print

发布时间: 2022-05-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.200559
2022 | Volume 27 | Number 5




    图像修复    




  <<上一篇 




  下一篇>> 





基于卷积自编码生成式对抗网络的高分辨率破损图像修复
expand article info 侯向丹, 刘昊然, 刘洪普
河北工业大学人工智能与数据科学学院, 天津 300401

摘要

目的 破损图像修复是一项具有挑战性的任务,其目的是根据破损图像中已知内容对破损区域进行填充。许多基于深度学习的破损图像修复方法对大面积破损的图像修复效果欠佳,且对高分辨率破损图像修复的研究也较少。对此,本文提出基于卷积自编码生成式对抗网络(convolutional auto-encoder generative adversarial network,CAE-GAN)的修复方法。方法 通过训练生成器学习从高斯噪声到低维特征矩阵的映射关系,再将生成器生成的特征矩阵升维成高分辨率图像,搜索与待修复图像完好部分相似的生成图像,并将对应部分覆盖到破损图像上,实现高分辨率破损图像的修复。结果 通过将学习难度较大的映射关系进行拆分,降低了单个映射关系的学习难度,提升了模型训练效果,在4个数据集上对不同破损程度的512×512×3高分辨率破损图像进行修复,结果表明,本文方法成功预测了大面积缺失区域的信息。与CE(context-encoders)方法相比,本文方法在破损面积大的图像上的修复效果提升显著,峰值信噪比(peak signal to noise ratio,PSNR)和结构相似性(structural similarity,SSIM)值最高分别提升了31.6%和18.0%,与DCGAN(deep convolutional generative adversarial network)方法相比,本文方法修复的图像内容符合度更高,破损区域修复结果更加清晰,PSNR和SSIM值最高分别提升了24.4%和50.0%。结论 本文方法更适用于大面积破损图像与高分辨率图像的修复工作。

关键词

破损图像修复; 高分辨率; 生成式对抗网络(GAN); 大面积破损; 深度学习

High-resolution damaged images restoration based on convolutional auto-encoder generative adversarial network
expand article info Hou Xiangdan, Liu Haoran, Liu Hongpu
School of Artificial Intelligence and Data Science, Hebei University of Technology, Tianjin 300401, China
Supported by: National Natural Science Foundation of China(U1813222); National Key R&D Program of China(2018YFB1306900)

Abstract

Objective The integrity of information transmission can be achieved if the image is intact currently. However, the required image files are often damaged or obscured, such as the damage of old photos, and the obscuration of the required content in the surveillance image. The purpose of damaged images restoration is to fill the damaged part in terms of the recognized region in the damaged image. The regular method of image restoration inserts the damaged area in accordance with the surrounding information based on texture synthesis technology linearly. Although this type of method can repair the texture, it lacks the manipulation of the global structure and image semantics of the damaged image. Deep-learning-based damaged image restoration methods have been illustrated via the classical context-encoders model. Although this method can perform better restoration on the color and content of the damaged image, the effect on the detail texture restoration is not ideal, and the restoration result appears blurred. When the damaged area is large, the repair effect is not qualified due to the lack of available information. Simultaneously, there are fewer analyses on high-resolution damaged image restoration now. Most of the existing damaged image restoration experiments use 128×128×3 and smaller images, and there are fewer experiments to repair 512×512×3 and larger images. In order to solve the two problems of large-area damaged image repair and high-resolution image repair, this analysis demonstrates a restoration method based on convolutional auto-encoder generative adversarial network (CAE-GAN). Method The generator is trained to learn the mapping relationship from Gaussian noise to the low-dimensional feature matrix, and then the generated feature matrix is upgraded to a high-resolution image, and the generated image similar to the intact part of the image to be repaired is sorted out. The corresponding part restoration on the damaged image to complete the repair of the high-resolution damaged image. First, high-resolution images are encoded and then decoded via the convolutional auto-encoder training part. Then, the parameters fix of the convolutional auto-encoder is adopted to assist in training the adversarial generation network part. The generator can generate different codes based on random Gaussian noise and then be decoded into high-resolution images based on the trained decoder. At the end, an overall connected network training for search can generate appropriate noise. After the noise is up-sampled by the generator and decoder, it will output a generated image similar to the image to be repaired, and cover the corresponding part on the damaged image, and then realize the repair of high-resolution damaged images. Result By segmenting the mapping relationships that are difficult to learn, the learning barriers of a single mapping relationship is declined, and the model training effect is improved. The repair experiments are conducted on the CelebA dataset, the street view house number(SVHN) dataset, the Oxford 102 flowers dataset, and the Stanford cars dataset. This demonstration illustrates that the method predicts the information of a large area of missing areas in a good way. Compared with the context-encoders(CE) method, the method improves the restoration effect on images with large damaged areas significantly. The content of the repaired damaged area is closer to the related intact parts, and the texture connection is smoother. The peak signal to noise ratio (PSNR) value can be increased to 31.6%, and the structural similarity (SSIM) value can be increased to 18.0%. The PSNR value can be increased by 24.4%, and the SSIM value can be increased by 50.0%. Conclusion Therefore, the method is suitable for the image restoration based on large-area damaged images and high-resolution images.

Key words

damaged image repair; high resolution; generative adversarial networks(GAN); large area damage; deep learning

0 引言

图像是生活中常见的信息载体形式,只有图像完好才可以保证信息传输的完整性,但经常会有所需图像文件破损或遮掩现象,例如照片破损、监控图像中所需内容遮掩等。为了保证图像信息传递的完整性,提出了一系列图像修复方法。然而,传统的修复方法,例如基于纹理合成技术进行图像修复的方法(Efros和Freeman,2001Criminisi等,2003Komodakis,2006Barnes等,2009),虽然可以在纹理上进行修复,但是缺乏对破损图像全局结构和图像语义的把握。

随着深度学习的发展,提出了两类基于深度学习的图像修复方法,即基于卷积自编码网络的图像修复方法和基于对抗生成网络的图像修复方法,二者各有优劣。基于卷积自编码网络的图像修复方法较多。Pathak等人(2016)提出的CE(context-encoders)方法通过周围图像信息推断缺失内容。Iizuka等人(2017)Li等人(2017)在CE网络基础上加入global和local两个判别器,提高了细节修复能力。Yu等人(2018)Song等人(2018)Nazeri等人(2019)Xiong等人(2019)将修复分为初步修复精细修复两个步骤,降低修复难度的同时提升了修复效果。这些方法虽然可以对破损图像在色彩和内容上进行较好的修复,但是细节纹理的修复效果并不理想,修复区域会出现模糊现象,在破损区域较大时,由于可利用信息不足,导致修复效果欠佳。基于对抗生成网络的图像修复方法也得到广泛应用。Yeh等人(2017)提出一种基于DCGAN(deep convolutional generative adversarial network)的破损图像修复方法,思路是从图像数据库中搜索与待修复图像完好部分最相似的图像,将破损区域用搜索出的图像进行覆盖,从而实现图像修复。通过输入不同的高斯噪声,DCGAN网络可以产生各样的图像,这些生成的图像组成为用于搜索的数据库,解决了Hays和Efros(2007)方法中数据库容量有限的缺点。该方法与基于卷积自编码网络的图像修复方法相比,对图像的纹理修复效果有所提升,对破损区域周围信息的依赖度降低,更适合用于破损区域较大图像的修复工作。但是该方法的缺点也很明显,由于从高斯噪声到高维空间图像映射关系的复杂性,使得DCGAN训练很困难,随着生成图像分辨率的提高,训练难度逐渐增大,容易出现模式崩塌现象(Goodfellow,2017),产生缺乏真实性且单一的图像。因此DCGAN网络适用于低分辨率图像修复工作,对64×64×3大小的破损图像修复效果较好,但对高分辨率图像无法完成修复工作。

受AEGAN(auto-encoder generative adversarial network)网络(Wang等,2018)启发,本文将卷积自编码网络(convolutional auto-encoder,CAE)(Masci等,2011)与生成式对抗网络(generative adversarial network,GAN)(Goodfellow等,2014)相结合,提出一种新的网络模型:卷积自编码生成式对抗网络(convolutional auto-encoder generative adversarial network,CAE-GAN)。如图 1所示,网络训练不再是直接由高斯噪声空间${\boldsymbol{P}}$$_{z}$到图像高维空间${\boldsymbol{P}}$$_{x}$,而是从高斯噪声空间到编码器提取的低维特征空间${\boldsymbol{P}}$$_{k}$的映射,生成的低维向量经过训练好的解码器解码成为高维度空间的高分辨率图像。通过降低映射关系的学习难度,使网络更容易训练,降低了发生模式崩塌的可能性,生成的图像也更加逼真。随后,经过搜索找到与破损图像完好部分最相似的生成图像,将破损部分用生成图像覆盖,完成高分辨率图像的修复。本文方法相较于其他方法主要解决了两个问题:1)可实现连续大面积破损图像修复。本文方法对待修复破损图像已知信息的依赖性较小,在修复连续大面积破损图像时有优势。2)可实现高分辨率图像修复。本文方法通过降低映射学习难度,提升了网络训练效果,可以由高斯噪声生成高分辨率图像,进而实现高分辨率图像修复。

图 1 DCGAN映射与CAE-GAN映射
Fig. 1 DCGAN mapping and CAE-GAN mapping

1 相关工作

1.1 卷积自编码网络

自编码网络由Rumelhart等人(1986)提出,并应用于高维复杂的数据处理,通过将数据先下采样再上采样,实现了不同映射关系的学习。卷积神经网络(convolutional neural network, CNN)(Lecun等,1998)出现后,Masci等人(2011)提出一种基于卷积层的自编码网络—卷积自编码网络(CAE),具有出色的特征提取功能,在数字识别,例如在MNIST(mixed national institute of standards and technology database)数据集上进行数字识别,在CIFAR10(canadian institute for advanced research 10)数据集上进行对象识别, 都有出色的表现。

卷积自编码网络主要由卷积编码器和反卷积解码器组成,如图 2所示。编码器输入为真实样本${\boldsymbol{x}}$,输出为特征向量${\boldsymbol{k}}$。解码器输入为特征向量${\boldsymbol{k}}$,输出为解码图像$\mathit{\boldsymbol{\widetilde x}}$。该网络在训练时使解码重构图像$\mathit{\boldsymbol{\widetilde x}}$与输入图像${\boldsymbol{x}}$尽可能相同,从而达到一个图像压缩又解压的过程。这种网络具有较好的映射关系学习能力,广泛应用于图像的风格迁移(Johnson等,2016)、超分辨率重建(Yoo等,2016)、图像着色(Zhang等,2016)和图像分割(Badrinarayanan等,2017)等图像处理工作。

图 2 CAE网络结构
Fig. 2 The structure of CAE network

1.2 生成式对抗网络

生成式对抗网络(GAN)是Goodfellow等人(2014)提出的一种非监督学习的网络框架,生成对抗网络中有生成器和判别器两个网络模型。生成器尽可能使生成图像以假乱真,迷惑判别器使其难辨真伪,判别器判断输入是数据集图像还是生成器合成的图像。二者相互对抗训练,不断更改自己的网络参数,直到判别器无法分辨合成图像与数据集图像。GAN的优化公式为

$ \begin{array}{l} {\min\limits _G}{\max\limits _D}V(D, G) = {E_{\mathit{\boldsymbol{x}}\sim {\mathit{\boldsymbol{P}}_x}}}[\log D(\mathit{\boldsymbol{x}})] + \\ \;\;\;\;\;\;\;\;\;\;\;\;{E_{\mathit{\boldsymbol{z}}\sim {\mathit{\boldsymbol{P}}_{z}}}}[\log (1 - D(G(\mathit{\boldsymbol{z}})))] \end{array} $ (1)

式中,$V$($D$, $G$)表示函数值,$E$表示期望,${\boldsymbol{z}}$表示输入生成器的噪声,$G(\mathit{\boldsymbol{z}})$表示生成器生成的图像,$D(\mathit{\boldsymbol{x}})$表示判别器判断是真实图像的概率,${\boldsymbol{x}}$为真实数据。

随着对GAN的研究,相继提出了许多GAN的变体。深度卷积生成对抗网络(DCGAN)(Yeh等,2017)将卷积神经网络引入GAN中,弥补了用于监督学习的卷积神经网络与用于无监督学习的GAN之间的差距,使传统GAN网络的训练更稳定,多项研究已经验证该网络可以用于生成高质量的图像(Denton等,2015Radford等,2015)。

2 基于CAE-GAN的高分辨率图像修复

2.1 网络介绍

卷积自编码生成式对抗网络(CAE-GAN)由编码器、解码器、生成器和判别器4部分构成,如图 3所示。其中,编码器用于为高分辨率图像训练样本${\boldsymbol{x}}$及降维提取特征矩阵${\boldsymbol{k}}$,解码器用于将特征矩阵升维为高分辨率图像$\mathit{\boldsymbol{\widetilde x}}$,生成器用于生成与${\boldsymbol{k}}$相似的假特征矩阵,判别器用于判断特征矩阵是编码器提取的还是生成器生成的。CAE-GAN可以看成两个网络的结合,图 3展示了编码器与解码器组成的CAE网络以及生成器与判别器组成的GAN网络。

图 3 CAE-GAN网络结构
Fig. 3 The structure of CAE-GAN network

本文利用编码器将512×512×3的高分辨率图像降维为64×64×16的低维特征矩阵,再利用编码器将低维特征矩阵升维解码回512×512×3的高分辨率图像。使用GAN学习由高斯分布空间${\boldsymbol{P}}$$_{z}$向特征矩阵空间${\boldsymbol{P}}$$_{k}$的映射,通过学习到低维度的映射而非直接到高维度的映射,降低了GAN网络训练难度。训练完成后,向生成器输入一组高斯噪声${\boldsymbol{z}}$,输出假特征矩阵$\mathit{\boldsymbol{\widetilde k}}$,再通过训练好的解码器升维解码为与训练集相似的高分辨率图像$\mathit{\boldsymbol{\widetilde x}}$,即一组随机噪声可以生成一幅不同的高分辨率图像,从而为高分辨率图像修复提供了庞大的搜索数据库。

2.2 训练与修复

在训练阶段,先独立训练卷积自动编码网络部分(CAE),编码器的输入为高分辨率图像样本集$\left\{\boldsymbol{x}_{1}, \boldsymbol{x}_{2}, \cdots, \boldsymbol{x}_{n}\right\}$,其分布为${\boldsymbol{P}}$$_{x}$,输出为对样本集图像提取的特征矩阵${\boldsymbol{k}}$。解码器输入为特征矩阵${\boldsymbol{k}}$,输出为上采样复原图像$\mathit{\boldsymbol{\widetilde x}}$。使用L1距离衡量真实图像${\boldsymbol{x}}$与复原图像$\mathit{\boldsymbol{\widetilde x}}$的差距,损失值$L_\text{CAE}$计算为

$ L_{\mathrm{CAE}}=\frac{1}{n} \sum\limits_{i=1}^{n} \| {Dec}\left({Enc}\left(\boldsymbol{x}_{i}\right)-\boldsymbol{x}_{i} \|_{1}\right. $ (2)

式中,$n$表示mini-batch大小,$Enc$表示被编码器处理,$Dec$表示被解码器处理。

CAE训练结束后,固定编码器与解码器的参数,开始训练GAN部分。生成器输入为高斯噪声${\boldsymbol{z}}$,输出为生成特征矩阵$\mathit{\boldsymbol{\widetilde k}}$。判别器输入为编码器从高分辨率图像样本提取的特征矩阵${\boldsymbol{k}}$,以及生成特征矩阵$\mathit{\boldsymbol{\widetilde k}}$,输出为[0,1]之间的数。网络训练目标为

$ \begin{array}{l} {\min\limits _G}{\max\limits _D}V(D, G) = {E_{\mathit{\boldsymbol{x}}\sim {\mathit{\boldsymbol{P}}_x}}}[\log D(\mathit{\boldsymbol{x}})] + \\ \;\;\;\;\;\;\;\;\;\;{E_{\mathit{\boldsymbol{z}}\sim {\mathit{\boldsymbol{P}}_z}}}[\log (1 - D(G(\mathit{\boldsymbol{z}})))] \end{array} $ (3)

式中,$D$表示判别器,$D$(${\boldsymbol{x}}$)表示判别器对图像${\boldsymbol{x}}$的评价值;$G$表示生成器,$G$(${\boldsymbol{z}}$)表示生成器根据高斯噪音生成的图像。最终,生成器能够生成以假乱真的特征矩阵,即$G$(${\boldsymbol{z}}$)=$Enc$(${\boldsymbol{x}}$)。模型训练完成后,可将生成器根据随机一组高斯噪声${\boldsymbol{z}}$生成的特征矩阵,通过解码器解码为高分辨率图像,从而实现了从高斯噪声空间到高分辨率图像空间的映射。

在搜索阶段,固定CAE-GAN模型的网络参数,不断更改输入的高斯噪声,使生成的图像逐渐接近待修复图像,将生成图像对应破损区域内容覆盖到破损图像上,即可达到修复图像的目的。如图 4所示(图中,⊙表示哈达玛积运算),实际上该过程就是在搜索合适的高斯噪声,本文使用一个简单的全连接网络NetNoise实现这一过程。NetNoise网络的输入为1×100大小的矩阵,矩阵元素全为1,输出为100×1×1的一组值$\mathit{\boldsymbol{\widetilde z}}$,将$\mathit{\boldsymbol{\widetilde z}}$输入CAE-GAN模型生成一幅图像,计算该图像与待修复图像完好部分的差距,反向传播计算梯度值并更新NetNoise网络的权重值,使NetNoise网络的输出值$\mathit{\boldsymbol{\widetilde z}}$不断向合适的方向更改,进而导致生成图像向待修复图像变化。

图 4 搜索相似图像流程
Fig. 4 The process of search similar image

训练NetNoise损失函数主要由图像内容差距$L_{s}$和生成图像真实性差距$L_{d}$两部分组成。其中,图像内容差距使用L1距离衡量破损图像${\boldsymbol{y}}$与生成图像的$\mathit{\boldsymbol{\widetilde x}}$内容差异,即

$ L_{s}(\tilde{\boldsymbol{z}})=\|\boldsymbol{M} \odot {Dec}(G(\tilde{\boldsymbol{z}}))-\boldsymbol{M} \odot \boldsymbol{y}\|_{1} $ (4)

式中,${\boldsymbol{M}}$为掩码,是与图像相同大小的矩阵,该矩阵中每一个元素只有0或1两种值。通过与图像进行哈达玛积(⊙)运算,结果仅保留掩码中值为1对应部分内容,舍弃值为0对应部分;$Dec$表示被解码器处理。搜索目标是使破损图像${\boldsymbol{y}}$未破损部分与生成图像对应部分的像素值相同。衡量生成图像的真实性差距的计算式为

$ {L_d}(\mathit{\boldsymbol{\tilde z}}) = \log (1 - D(G(\mathit{\boldsymbol{z}}))) $ (5)

当判别器判断生成的图像越真实时,$L_{d}$越小。将式(4)与式(5)结合,得到总损失函数,即

$ L(\mathit{\boldsymbol{\tilde z}}) = {L_s}(\mathit{\boldsymbol{\tilde z}}) + \gamma {L_d}(\mathit{\boldsymbol{\tilde z}}) $ (6)

式中,$γ$是一个控制$L_{s}$$L_{d}$权重的参数。通过训练不断改变NetNoise的参数值,使损失值不断变小,生成图像与待修复图像完好部分逐渐接近。最终将搜索到的图像的对应部分粘贴到破损图像上,实现高分辨率图像的修复。

3 实验

实验分为两个阶段。第1阶段训练CAE-GAN网络,使其具备根据高斯噪声生成逼真高分辨率图像的能力。第2阶段通过搜索合适的高斯噪声值,使生成网络据其生成的图像与待修复图像完好部分相似,然后将待修复图像破损区域用生成图像覆盖,达到高分辨率图像修复的目的。训练CAE-GAN及搜索合适生成图像流程具体步骤如下:

1) 编码器和解码器未收敛时进行:

${\boldsymbol{x}}$~${\boldsymbol{P}}$$_{x}$中抽取batch个真实样本;

$\boldsymbol{k}_{i} \leftarrow {Enc}\left(\boldsymbol{x}_{i}\right); $

$\tilde{\boldsymbol{x}}_{i} \leftarrow {Dec}\left(\boldsymbol{k}_{i}\right); $

$L_{\mathrm{CAE}} \longleftarrow \frac{1}{n} \sum\limits_{i=1}^{n}\left\|\tilde{\boldsymbol{x}}_{i}-\boldsymbol{x}_{i}\right\|_{1}$//根据梯度($\nabla $)更新参数;

$\theta_{\mathrm{Enc}} \leftarrow-\nabla_{\theta_{\mathrm{Enc}}} L_{\mathrm{CAE}}; $

$\theta_{\mathrm{Dec}} \leftarrow-\nabla_{\theta_{\mathrm{Dec}}} L_{\mathrm{CAE}}; $

结束循环;

固定编码器和解码器的网络参数$θ$$_\text{Enc}$$θ$$_\text{Dec}$

2) 生成器和判别器未收敛时进行:

${\boldsymbol{z}}$~${\boldsymbol{P}}$$_{z}$中抽取batch个随机噪声;

${\boldsymbol{x}}$~${\boldsymbol{P}}$$_{x}$中抽取batch个真实样本;

$\boldsymbol{k}_{i} \leftarrow {Enc}\left(\boldsymbol{x}_{i}\right); $

$\tilde{\boldsymbol{k}}_{i} \leftarrow G\left(z_{i}\right); $

$L_{D} \leftarrow \frac{1}{n} \sum\limits_{i=1}^{n}\left(\log D\left(\boldsymbol{k}_{i}\right)+\log \left(1-D\left(\tilde{\boldsymbol{k}}_{i}\right)\right)\right); $

$L_{G} \leftarrow \frac{1}{n} \sum\limits_{i=1}^{n}\left(\log \left(1-D\left(\tilde{\boldsymbol{k}}_{i}\right)\right)\right); $

$\theta_{D} \leftarrow-\nabla_{\theta_{D}} L_{D}; $

$\theta_{G} \longleftarrow-\nabla_{\theta_{G}} L_{G}; $

结束循环;

固定CAE-GAN网络参数$θ$$_{D}$$θ$$_{G}$。3)NetNoise未收敛时进行:

$\mathit{\boldsymbol{\tilde z}} \leftarrow {Net}Noise(\mathit{\boldsymbol{a}})//\mathit{\boldsymbol{a}}$是固定矩阵;

$\tilde{\boldsymbol{k}} \leftarrow G(\tilde{\boldsymbol{z}}) $;

$\tilde{\boldsymbol{x}} \leftarrow {Dec}(\tilde{\boldsymbol{k}}) $;

$L_{s} \leftarrow\|\boldsymbol{M} \odot \tilde{\boldsymbol{x}}-\boldsymbol{M} \odot \boldsymbol{y}\|_{1} / / \boldsymbol{y} $//${\boldsymbol{y}}$是破损图像;

$L_{d} \leftarrow \log (1-D(\tilde{\boldsymbol{k}})) $;

$\theta_{N} \leftarrow-\left(\nabla_{\theta_{N}} L_{s}+\gamma L_{d}\right) $;

结束循环;

覆盖损坏位置。

3.1 数据集与网络结构

在人脸数据集CelebA(Liu等,2015)、街景门牌号码数据集SVHN(street view house number)(Netzer等,2011)、Oxford 102 flowers数据集和Stanford cars数据集(Krause等,2013)上分别进行高分辨率图像修复实验。CelebA人脸数据集包含202 599幅人脸图像,以人脸为中心,将其裁剪为90×90×3的方形图像。SVHN街景门牌号数据集包含99 289幅门牌号图像,以号码为中心将其裁剪为70×70×3的方形图像。Oxford 102 flowers数据集包含102种英国常见的花卉图像,共8 189幅图像,裁剪为450×450×3的方形图像。Stanford cars数据集包含16 185幅汽车图像,以汽车为中心裁剪为480×480×3的方形图像。由于GAN网络训练要求数据集较大,而满足要求的公开数据集较少,高分辨率图像数据集更是匮乏。因此,对4个数据集裁剪后的方形图像,利用PIL(python image library)模块扩大为512×512×3的图像,作为高分辨率图像进行实验。本文实验虽然没有直接使用高分辨率图像,但是在数据层面上这样处理后的图像数据量与高分辨率图像相同,均由512×512×3组成,因此可以看做是高分辨率图像进行的实验。在每个数据集中抽取500幅图像作为测试集,其余作为训练集。

实验包含5个网络,分别为编码器、解码器、生成器、判别器以及修复阶段用于搜索合适高斯噪声的NetNoise。各网络结构如表 1所示,其中,LeakyReLU、ReLU、Tanh和Sigmoid为激活函数。需要注意的是,NetNoise网络的输出层×3,因为最后一层的Tanh激活函数将数据限制在[-1,1],不能很好地映射出高斯分布,×3使输出为[-3,3],使输出值符合高斯分布的概率达到99.87 %。

表 1 编码器、解码器、生成器、判别器和NetNoise的结构数据
Table 1 The structure datas of encoder, decoder, generator, discriminator and NetNoise

下载CSV
网络 结构数据
编码器 4×4×64卷积层,下采样,LeakyReLU
4×4×128卷积层,下采样,批归一化层,LeakyReLU
4×4×16卷积层,下采样,Tanh
解码器 4×4×128卷积层,上采样,ReLU
4×4×64卷积层,上采样,批归一化层,ReLU
4×4×3卷积层,上采样,Tanh
生成器 4×4×512卷积层,上采样,批归一化层,ReLU
4×4×256卷积层,上采样,批归一化层,ReLU
4×4×128卷积层,上采样,批归一化层,ReLU
4×4×64卷积层,上采样,批归一化层,ReLU
4×4×3卷积层,上采样,Tanh
判别器 4×4×64卷积层,下采样,批归一化层,LeakyReLU
4×4×128卷积层,下采样,批归一化层,LeakyReLU
4×4×256卷积层,下采样,批归一化层,LeakyReLU
4×4×512卷积层,下采样,批归一化层,LeakyReLU
4×4×1卷积层,下采样,Sigmoid
NetNoise 500, 全连接层,Tanh
500, 全连接层,Tanh
100, 全连接层,Tanh×3

3.2 网络训练与图像修复

3.2.1 网络训练

在训练阶段,首先训练编码器和解码器两个网络,使高分辨率图像先编码再解码。然后训练生成器和判别器两个网络,使生成器可以根据随机高斯噪声生成不同的编码,进而训练好的解码器解码为高分辨率图像。在修复阶段,训练NetNoise网络生成合适的噪声,通过训练完成的生成器和解码器上采样后,输出与待修复图像相似的生成图像。训练阶段设置batch大小为4,使用Adam(Kingma和Ba,2017)优化器,学习率设置均为0.000 2,其余参数使用默认值。

训练编码器和解码器时,发现损失值不再下降要停止训练,这是为了防止模型过拟合,保持模型的泛化能力,否则下一阶段训练时会出现解码后图像多样性低的情况。训练生成器和判别器时,加载并固定训练好的编码器和解码器两个网络的参数。在CelebA数据集上的训练损失曲线如图 5图 6所示。

图 5 CAE-GAN与DCGAN的判别器损失值对比
Fig. 5 Comparison of discriminator loss values between CAE-GAN and DCGAN
图 6 CAE-GAN与DCGAN的生成器损失值对比
Fig. 6 Comparison of generator loss values between CAE-GAN and DCGAN

图 5图 6可以看出,CAE-GAN从第7回合开始,生成器与判别器的损失值保持平稳,网络学习处于平衡状态。DCGAN在第20回合时,判别器损失值陡降,生成器的损失值陡升,这一时刻发生了模式崩塌。印证了前文所述生成对抗网络在映射难度较大时容易发生模式坍塌,通过降低映射难度,可以使生成器与判别器保持平稳地进化。

图 7展示了CAE-GAN与DCGAN在CelebA数据集上随机生成的512×512×3图像。可以看出,与DCGAN方法相比,本文方法生成的图像更加逼真,人脸五官线条明朗,轮廓清晰,图像的多样性更好,可以生成不同肤色不同发色的面部图像。

图 7 生成图像对比
Fig. 7 Comparison of generated images
((a)CAE-GAN; (b)DCGAN)

为了评估生成图像的质量,使用FID(Fréchet inception distance)值(Heusel等,2017)作为评价指标。FID值计算的是两个多维变量分布之间的距离,能够表示生成图像的多样性和质量,FID越小,图像多样性越好,质量也越好。本文分别计算了两种网络生成图像的FID值,如表 2所示。可以看出,本文方法生成图像的FID值为47.87,远小于DCGAN网络生成图像的FID值84.52,说明本文方法生成的图像空间分布与CelebA数据集更加接近,生成的图像质量更高,多样性更好。

表 2 生成图像FID值对比
Table 2 Comparison of FID values of generated images

下载CSV
模型 FID
DCGAN 84.52
CAE-GAN ${\bf{47.87}}$
注:加粗字体表示最优结果。

在修复阶段,训练的回合数为100,输入为1×100、元素全为1的向量[1, 1, …, 1],输出为100×1×1的高斯噪声,训练NetNoise网络使其输出的向量不断优化,使生成器和解码器根据该高斯噪声生成的图像逐渐接近待修复图像。

3.2.2 图像修复

制作破损图像。1)制作规则破损中的中心破损图像和半侧破损图像、不规则破损中的噪声破损图像时,先制作512×512×1的矩阵蒙版,将需要制作成破损的地方置0,其余置1,与完好图像矩阵进行哈达玛积运算,得到待修复的破损图像。2)制作高斯噪声破损时,将小于0.7的值置0,其余置1,这样制作的破损图像破损率为75.8 %。3)制作不规则破损图像中的随机破损时,先使用画图工具在512×512×1的白板上随意描绘,保存后将绘画区域置0,其余区域置1,如图 8所示。然后与完好的图像进行哈达玛积运算,得到待修复的随机破损图像,如图 9所示。

图 8 随机破损蒙版示例
Fig. 8 Examples of random damage mask
图 9 破损图像制作过程
Fig. 9 The production process of damaged image

衡量生成图像与待修复图像相似度时同样使用该蒙版,将生成图像与蒙版进行哈达玛积运算,结合训练完成的判别器,计算出用于NetNoise训练的损失函数,$γ$取值为0.002。经过100回合迭代训练,找到与待修复图像完好部分相似度最高的生成图像。然后将待修复图像破损部分用生成图像覆盖,完成高分辨图像的修复。

3.3 结果对比

为了验证本文方法的性能,本文与CE(Pathak等,2016)和DCGAN(Yeh等,2017)方法进行对比。与CE方法对比的目的是为了展示基于对抗生成网络的方法(如本文方法与DCGAN)更适用于大面积破损图像的修复。与DCGAN方法对比是为了展示本文方法更适用于高分辨率图像的修复。

结果对比包含定性和定量对比两方面。定性对比主要是观察修复图像的颜色是否相似、纹路是否吻合、修复信息是否合理以及修复痕迹是否明显。定量对比选用峰值信噪比(peak signal to noise ratio,PSNR)(Huynh-Thu和Ghanbari,2008)和结构相似性(structural similarity,SSIM)(Wang等,2004)两个评价指标进行比较。PSNR基于对应像素点间的误差,是使用广泛的一种图像客观评价指标,值越大表示图像越相似。SSIM是一种衡量两幅图像相似度的指标,取值范围为[0,1],值越大表示图像越相似。实验计算了3种方法在CelebA、SVHN、Oxford 102 flowers和Stanford cars测试集中各500幅图像的修复数据PSNR和SSIM的平均值,统计结果如表 3所示。

表 3 CE、DCGAN及本文方法在CelebA测试集上的PSNR和SSIM
Table 3 PSNR and SSIM of CE, DCGAN and our method on CelebA test set

下载CSV
测试集 方法 中心破损 高斯破损 随机破损 半边破损 中心大面积破损
PSNR/dB SSIM PSNR/dB SSIM PSNR/dB SSIM PSNR/dB SSIM PSNR/dB SSIM
CelebA CE ${\bf{26.97}}$ 0.95 ${\bf{23.53}}$ 0.70 20.20 0.89 18.98 0.88 20.14 0.88
DCGAN 25.12 0.94 22.35 0.68 23.23 0.92 18.64 0.87 20.75 0.88
本文 26.15 ${\bf{0.96}}$ 23.37 ${\bf{0.73}}$ ${\bf{24.12}}$ ${\bf{0.94}}$ ${\bf{19.13}}$ ${\bf{0.90}}$ ${\bf{21.62}}$ ${\bf{0.91}}$
SVHN CE ${\bf{21.96}}$ ${\bf{0.93}}$ 19.08 0.52 20.88 0.88 17.02 0.76 16.08 0.72
DCGAN 19.01 0.90 18.93 0.57 18.94 0.87 15.74 0.83 16.61 0.83
本文 21.14 ${\bf{0.93}}$ ${\bf{23.08}}$ ${\bf{0.70}}$ ${\bf{21.14}}$ ${\bf{0.92}}$ ${\bf{17.14}}$ ${\bf{0.87}}$ ${\bf{17.11}}$ ${\bf{0.85}}$
Oxford 102 flowers CE ${\bf{22.12}}$ 0.87 17.57 0.45 22.23 0.89 16.11 0.74 15.88 0.68
DCGAN 18.51 0.86 15.10 0.38 20.21 0.88 14.72 0.76 16.06 0.78
本文 21.82 ${\bf{0.91}}$ ${\bf{18.79}}$ ${\bf{0.57}}$ ${\bf{22.36}}$ ${\bf{0.92}}$ ${\bf{16.18}}$ ${\bf{0.83}}$ ${\bf{16.09}}$ ${\bf{0.80}}$
Stanfordcars CE 19.80 0.85 ${\bf{17.11}}$ 0.50 17.41 0.85 16.20 0.74 16.42 0.70
DCGAN 20.01 0.86 15.66 0.46 21.40 0.89 17.56 0.75 17.43 0.72
本文 ${\bf{21.93}}$ ${\bf{0.88}}$ 16.74 ${\bf{0.51}}$ ${\bf{22.92}}$ ${\bf{0.91}}$ ${\bf{18.70}}$ ${\bf{0.77}}$ ${\bf{18.09}}$ ${\bf{0.73}}$
注:加粗字体表示每个数据集中各列最优结果。

3.3.1 本文方法与CE对比

CE是一种自编码模型,与本文方法和DCGAN方法不同,该方法通过周围信息推断缺失内容。基于该方法又衍生了类似方法,然而这类方法在修复连续大面积破损图像时,无法从附近像素中获得提示,修复效果不佳,这是这类方法无法避免的缺陷。

在小范围破损及高斯破损图像修复时,由于破损图像周围像素可提供信息较多,CE网络修复效果与本文方法接近,甚至在一些数据集上优于本文方法。在中心破损图像修复中,CE方法修复效果与本文方法接近,如图 10(a)前4行所示,但在细节纹理上略逊色于本文方法,例如第4行对红色汽车的修复,CE方法仅能还原相应颜色,而本文方法能够还原车灯等细节。在高斯破损图像修复中,CE网络和本文方法恢复的内容都较为合理,如图 10(a)第5—8行所示,但本文方法修复的细节更好,例如第5行对人脸的修复,CE方法还原的肤色接近原图,但是人脸边缘比较模糊,而本文方法修复的人脸边缘更加清晰。从客观数据上看,如表 3所示,在中心破损及高斯破损图像修复中,CE方法在各数据集上的PSNR值与本文方法接近,甚至超过本文方法,SSIM值虽然比本文方法低,但很接近。

图 10 破损图像修复
Fig. 10 The inpainting of broken images
((a)inpainting of center broken and Gaussian broken images; (b)inpainting of random broken and half broken images; (c)inpainting of center large area broken images)

随着破损面积的增加,CE网络可利用的信息量变少,修复的图像缺乏合理性,在细节纹理方面修复得也不好。本文方法对破损周围信息依赖较小,可以通过“想象”生成符合缺失部分的图像。如图 10(b)(c)所示,本文方法相较于CE方法更能预测出相应内容,例如,图 10(b)第1行对人脸的修复,CE方法未能修复出黑色眼镜,而本文方法修复出眼镜细节。图 10(c)第3行对花朵的修复,CE方法仅能对色彩进行修复,内部花蕊未能修复出来,而本文方法修复出了内部黑色的花蕊条纹。从客观数据上看,如表 3所示,在较大连续破损的破损图像修复中,本文方法修复的PSNR与SSIM均高于CE方法,尤其在car数据集上对随机破损图像的修复中,PSNR值较CE方法提升31.64 %,在SVHN大面积中心破损图像修复中,SSIM值较CE方法提升18.05 %。

3.3.2 本文方法与DCGAN对比

由于DCGAN训练生成512×512×3的图像难度较大,训练阶段容易产生模式崩塌,训练效果不佳,修复图像效果略差,实验采用DCGAN网络模式崩塌前最后一轮网络参数进行破损图像修复工作。

图 10所示,在修复内容匹配度上,本文方法优于DCGAN方法。例如图 10(b)第6行对紫色花朵修复,由于DCGAN训练效果不佳,可生成图像多样性较低,无法修复紫色花朵的另一半,而本文方法由于训练效果好,可生成图像多样性高,可以生成与待修复破损图像内容相近图像,能够很好地完成修复工作。同时,本文方法修复纹路吻合度更高。例如图 10(b)第2行对花朵修复,DCGAN修复了花蕊,但边缘连接不流畅,在破损右下角出现黄色区域。而本文方法不仅修复了花蕊,而且边缘清晰明显,修复区域与完好区域的连接顺畅,整体花蕊接近圆形,修复痕迹较少。在修复图像清晰度上,本文方法填充区域清晰度高于DCGAN方法。例如图 10(b)第5行对人脸的修复,DCGAN方法基本修复出人脸另一半,且肤色也接近,但是修复的皮肤不光滑,嘴唇部分分界不明显。而本文方法修复的另一半肤色接近原图,皮肤光滑,五官清晰且分界明显。在定量比较上,如表 3所示,本文方法在各数据集上对不同程度破损图像的修复数据均优于DCGAN方法,尤其在flowers数据集上修复高斯破损图像时,PSNR和SSIM值分别提升了24.4 %和50.0 %。

通过对修复结果的定性与定量分析,可以看出,本文方法相较于CE方法及DCGAN方法,对连续大面积破损图像和高分辨率破损图像的修复效果更好,更适合于连续大面积破损图像及高分辨率图像的修复工作。

4 结论

提出CAE-GAN修复模型,能够解决大面积破损图像修复与高分辨率破损图像修复问题。将高斯噪声到图像的直接映射关系改为先从高斯噪声映射到特征矩阵,再由特征矩阵映射到图像。这种分阶段的处理方式降低了对抗生成网络的训练难度,使网络可以根据高斯噪声生成以假乱真的高分辨率图像。然后,利用NetNoise网络搜索出相似图像,将待修复图像的破损区域使用搜索出的图像覆盖,完成大面积破损的高分辨率图像的修复工作。实验对比了CE方法与DCGAN方法。与CE方法相比,本文方法对待修复图像已知信息依赖度小,仅需搜索与待修复图像已知部分相似的图像,对应位置进行覆盖即可,对比实验表明本文方法在修复大面积破损时效果有所提升。与DCGAN方法相比,本文方法修复细节更好,内容匹配度更高,对高分辨率破损图像修复效果有所提升。但是本文方法也存在不足之处,由于在高分辨率图像映射到低维特征矩阵时会有信息损失,因此最终生成的图像会有模糊现象。为了解决这一问题,在下一阶段将研究用于图像特征提取的网络模型,更加科学合理地提取有价值的特征信息。

参考文献

  • Badrinarayanan V, Kendall A, Cipolla R. 2017. SegNet: a deep convolutional encoder-decoder architecture for image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 39(12): 2481-2495 [DOI:10.1109/TPAMI.2016.2644615]
  • Barnes C, Shechtman E, Finkelstein A, Goldman D B. 2009. PatchMatch: a randomized correspondence algorithm for structural image editing. ACM Transactions on Graphics, 28(3): #24 [DOI:10.1145/1531326.1531330]
  • Criminisi A, Perez P and Toyama K. 2003. Object removal by exemplar-based inpainting//Proceedings of 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Madison, USA: IEEE: #1211538[DOI: 10.1109/CVPR.2003.1211538]
  • Denton E, Chintala S, Szlam A and Fergus R. 2015. Deep generative image models using a Laplacian pyramid of adversarial networks//Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal, Canada: MIT Press: 1486-1494
  • Efros A A and Freeman W T. 2001. Image quilting for texture synthesis and transfer//Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques. New York, USA: ACM: 341-346[DOI: 10.1145/383259.383296]
  • Goodfellow I. 2017. NIPS 2016 tutorial: generative adversarial networks[EB/OL]. [2020-09-21]. https://arxiv.org/pdf/1701.00160.pdf
  • Goodfellow I J, Pouget-Abadie J, Mirza M, Xu B, Warde-Farley D, Ozair S, Courville A and Bengio Y. 2014. Generative adversarial nets//Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal, Canada: MIT Press: 2672-2680
  • Hays J, Efros A A. 2007. Scene completion using millions of photographs. ACM Transactions on Graphics, 26(3): #1276377-1276382 [DOI:10.1145/1276377.1276382]
  • Heusel M, Ramsauer H, Unterthiner T, Nessler B and Hochreiter S. 2017. GANs trained by a two time-scale update rule converge to a local nash equilibrium//Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach, USA: Curran Associates Inc. : 6629-6640
  • Huynh-Thu Q, Ghanbari M. 2008. Scope of validity of PSNR in image/video quality assessment. Electronics Letters, 44(13): 800-801 [DOI:10.1049/el:20080522]
  • Iizuka S, Simo-Serra E, Ishikawa H. 2017. Globally and locally consistent image completion. ACM Transactions on Graphics, 36(4): #107 [DOI:10.1145/3072959.3073659]
  • Johnson J, Alahi A and Li F F. 2016. Perceptual losses for real-time style transfer and super-resolution//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, the Netherlands: Springer: 694-711[DOI: 10.1007/978-3-319-46475-6_43]
  • Kingma D P and Ba J. 2017. Adam: a method for stochastic optimization[EB/OL]. [2020-09-21]. https://arxiv.org/pdf/1412.6980.pdf
  • Komodakis N. 2006. Image completion using global optimization//Proceedings of 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. New York, USA: IEEE: 442-452[DOI: 10.1109/CVPR.2006.141]
  • Krause J, Stark M, Deng J and Li F F. 2013. 3D object representations for fine-grained categorization//Proceedings of 2013 IEEE International Conference on Computer Vision Workshops. Sydney, Australia: IEEE: 554-561[DOI: 10.1109/ICCVW.2013.77]
  • Lecun Y, Bottou L, Bengio Y, Haffner P. 1998. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11): 2278-2324 [DOI:10.1109/5.726791]
  • Li Y J, Liu S F, Yang J M and Yang M H. 2017. Generative face completion//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA: IEEE: 3911-3919[DOI: 10.1109/CVPR.2017.624]
  • Liu Z W, Luo P, Wang X G and Tang X O. 2015. Deep learning face attributes in the wild//Proceedings of 2015 IEEE International Conference on Computer Vision. Santiago, Chile: IEEE: 3730-3738[DOI: 10.1109/ICCV.2015.425]
  • Masci J, Meier U, Cireşan D and Schmidhuber J. 2011. Stacked convolutional auto-encoders for hierarchical feature extraction//Proceedings of the 21st International Conference on Artificial Neural Networks. Espoo, Finland: Springer: 52-59[DOI: 10.1007/978-3-642-21735-7_7]
  • Nazeri K, Ng E, Joseph T, Qureshi F and Ebrahimi M. 2019. EdgeConnect: generative image inpainting with adversarial edge learning[EB/OL]. [2020-09-21]. https://arxiv.org/pdf/1901.00212.pdf
  • Netzer Y, Wang T, Coates A, Bissacco A, Wu B and Ng A Y. 2011. Reading digits in natural images with unsupervised feature learning//Proceedings of NIPS Workshop on Deep Learning and Unsupervised Feature Learning. Granada, Spain: NIPS: 12-17
  • Pathak D, Krähenbühl P, Donahue J, Darrell T and Efros A A. 2016. Context encoders: feature learning by inpainting//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA: IEEE: 2536-2544[DOI: 10.1109/CVPR.2016.278]
  • Radford A, Metz L and Chintala S. 2015. Unsupervised representation learning with deep convolutional generative adversarial networks[EB/OL]. [2020-09-21]. https://arxiv.org/pdf/1511.06434v1.pdf
  • Rumelhart D E, Hinton G E, Williams R J. 1986. Learning representations by back-propagating errors. Nature, 323(6088): 533-536 [DOI:10.1038/323533a0]
  • Song Y H, Yang C, Lin Z, Liu X F, Huang Q, Li H and Kuo C C J. 2018. Contextual-based image inpainting: infer, match, and translate//Proceedings of the 15th European Conference on Computer Vision. Munich, Germany: Springer: 3-18[DOI: 10.1007/978-3-030-01216-8_1]
  • Wang J Y, Zhou W G, Tang J H, Fu Z Q, Tian Q and Li H Q. 2018. Unregularized auto-encoder with generative adversarial networks for image generation//Proceedings of the 26th ACM International Conference on Multimedia. Seoul, Korea (South): ACM: 709-717[DOI: 10.1145/3240508.3240569]
  • Wang Z, Bovik A C, Sheikh H R, Simoncelli E P. 2004. Image quality assessment: from error visibility to structural similarity. IEEE Transactions on Image Processing, 13(4): 600-612 [DOI:10.1109/TIP.2003.819861]
  • Xiong W, Yu J H, Lin Z, Yang J M, Lu X, Barnes C and Luo J B. 2019. Foreground-aware image inpainting//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, USA: IEEE: 5840-5848[DOI: 10.1109/CVPR.2019.00599]
  • Yeh R A, Chen C, Lim T Y, Schwing A G, Hasegawa-Johnson M and Do M N. 2017. Semantic image inpainting with deep generative models//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA: IEEE: 6882-6890[DOI: 10.1109/CVPR.2017.728]
  • Yoo D, Kim N, Park S, PaekIn A S and Kweon I S. 2016. Pixel-level domain transfer//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, the Netherlands: Springer: 517-532[DOI: 10.1007/978-3-319-46484-8_31]
  • Yu J H, Lin Z, Yang J M, Shen X H, Lu X and Huang T S. 2018. Generative image inpainting with contextual attention//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA: IEEE: 5505-5514[DOI: 10.1109/CVPR.2018.00577]
  • Zhang R, Isola P and Efros A A. 2016. Colorful image colorization//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, the Netherlands: Springer: 649-666[DOI: 10.1007/978-3-319-46487-9_40]