40

CVPR 2019 | 无监督领域特定单图像去模糊

 5 years ago
source link: https://www.jiqizhixin.com/articles/2019-03-21-12?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

图像模糊是影响图像质量的重要因素,显着降低了许多计算机视觉应用的性能,例如物体检测和人脸识别。随着深度神经网络的发展,计算机视觉领域的难题被一个个解决,单纯依靠先验核去实现图像去模糊的技术已经渐渐被取代。

本文将针对 CVPR2019 Unsupervised Domain-Specific Deblurring via Disentangled Representations  一文进行分析,梳理一下 基于深度神经网络下图像去模糊 的实现方法。

3mqIjeR.png!web 论文引入

图像的模糊严重影响图像的本身质量,同时在进行图像的识别和图像中物体识别都会产生影响。图像去模糊旨在从相应的模糊图像中恢复潜在的清晰图像。

大多数传统方法将图像去模糊任务公式化为模糊核估计问题,在过去的十年中,已经开发了各种自然图像和先验核来规范潜在锐利图像的解空间,包括重尾梯度先验,稀疏核先验 f2AV73Z.png!web 梯度先验,归一化稀疏性和暗通道。

然而,这些先验是通过有限的观察来估计的,并且不够准确。结果,去模糊的图像通常欠去模糊(图像仍然模糊)或过度去模糊(图像包含许多伪像)。

近年来深度神经网络和 GAN 的巨大成功,已经提出了一些 基于 CNN 的方法用于图像去模糊 ,例如 Nimisha 在 ECCV 2018 发表的 Unsupervised Class-Specific Deblurring  [1] 是一种基于 GAN 的无监督图像去模糊方法,在模型上增加了重复损失和多尺度梯度损失。虽然它们在合成数据集上取得了良好的性能,但它们对一些真实模糊图像的结果并不令人满意。

另一类方法是 基于现有的图像到图像的模型 ,例如 CycleGAN [2] 这类无监督端到端的模型,然而,这些通用方法通常编码其他因素(例如:颜色、纹理)而不是将信息模糊到发生器中,因此不会产生良好的去模糊图像。

文章对这些方法进行了一个可视化结果比对,同时也是展示了自己模型的优越性:

r2Inii3.png!web

上图最右侧就是这篇文章的实验效果,可以看出对比已有的基于深度神经网络的去模糊模型还是展示了不错的实现效果的。这些效果的实现得益于文章提出了一种 基于解缠表示的无监督域特定图像去模糊方法 ,通过将模糊图像中的内容和模糊特征解开,以将模糊信息准确地编码到去模糊框架中。

我们后续再详细分析,这里总结一下 文章的创新和优势所在:

  • 内容编码器和模糊编码器将模糊图像的内容和模糊特征区分开,实现了高质量的图像去模糊;

  • 对模糊编码器添加 KL 散度损失以阻止模糊特征对内容信息进行编码;

  • 为了保留原始图像的内容结构,在框架中添加了模糊图像构造和循环一致性损失,同时添加的感知损失有助于模糊图像去除不切实际的伪像。

模型详解

我们还是先通过模型框架图去理解文章设计的思路:

veYBfuM.png!web

我们先把模型中的组间介绍清楚,由于模型的循环一致性设计,网络的左右是基本对称的,我们对左侧组间交代下。s 代表清晰的真实图像,b 代表模糊的真实图像, 32InYnf.png!web 是清晰图像的内容编码器(可以理解为图像颜色、纹理、像素的编码器),对应的 auue6nY.png!web 是模糊图像的内容编码器, NBv2Mj6.png!web 是模糊图像的模糊编码器(仅用来提取图像的模糊信息), yQBZ3yM.png!web 是模糊图像生成器, qeQvmmj.png!web 是清晰图像生成器, ANBvmye.png!web 是生成的模糊图像, uaYfAjR.png!web 是生成的清晰图像。经过循环的转换,ŝ 是循环生成的清晰图像,b̂ 是循环生成的模糊图像。结合上下标和模型结构,这些组间的名称还是很好区别的。

看了这个模型,大家是不是有一些疑问,我们的目的是实现图像的去模糊,为什么要添加模糊编码器?为什么还要主动去生成模糊的图像?怎么保证模糊图像的内容编码器真的提取到图像的内容信息?为什么模糊编码器要同时作用在 QvQfyqq.png!webUn6ziyU.png!web 上?

这些问题正是这篇文章区别于已有模型的关键,我们按照文章思路一步步去分析。

文章的一大创新就是模糊编码器的设计,它主要的作用是用来捕获模糊图像的模糊特征,如何去保证这个模糊编码器是真的提取到模糊图像的模糊特征了呢?

作者就采用了迂回的思路,既然清晰的图像是不含模糊信息的,如果清晰的图像通过结合模糊编码器模糊特征去生成出模糊图像,是不是可以说,模糊编码器是在对清晰图像做模糊化处理,这个模糊化的前提是什么?那就是模糊编码器确实提取到了图像的模糊特征,所以说由清晰图像生成模糊图像也保证了模糊编码器是对图像的模糊信息进行编码的作用。

同时,由清晰图像到模糊图像的生成过程中,清晰图像的内容编码器我们是有理由相信它是提取到了清晰图像的内容信息(因为清晰图像并不包含模糊信息)。

文章为了保证模糊图像的内容编码器 YJjI7vV.png!web 是对模糊图像的内容进行编码,文章将清晰图像内容编码器 ARjAVvZ.png!web 和模糊图像内容编码器 JvEzyuJ.png!web 强制执行最后一层共享权重,以指导 Yveumy7.png!web 学习如何从模糊图像中有效地提取内容信息。

为了进一步尽可能多地抑制模糊编码器 aAFnMnV.png!web 对内容信息的编码,通过添加一个 KL 散度损失来规范模糊特征 AvA3IzF.png!web 的分布,使其接近正态分布 p(z)∼N(0,1)。这个思路和 VAE 中的限制数据编码的潜在空间的分布思路是相近的,这里将模糊编码器的编码向量限制住,旨在控制模糊编码器仅对图像的模糊信息进行编码。

理清了上面的设计思路,这篇文章的实现就已经基本介绍完毕了。由模糊图像去模糊到清晰图像的过程中,将模糊图像内容编码 uUfi6fE.png!web 和模糊编码 zYZrUvj.png!web 送入清晰图像生成器 zyaq6j3.png!web 重构得到去模糊的清晰图像,清晰图像到模糊图像是为了优化模糊编码 mUbIviV.png!web 和模糊图像的内容编码 jIF3iij.png!web 的作用。

通过循环一致性,进行进一步的还原保证模型的鲁棒性。核心的损失是图像生成在 GAN 的对抗损失,结合感知损失达到图像下一些伪影的优化。

模型损失函数

本部分是对模型实现的补充,在上一小节中,也是大致上分析了各类损失的作用,这里做一个简短的展开。

首先是对模糊编码的隐空间分布进行约束,这个约束通过 KL 散度去实现,这个过程和 VAE 的思路是一致的:

FZJJNz7.png!web

这里的 p(z)∼N(0,1),具体的损失可进一步写为:

Nz2eauu.png!web

此时,zb 可表示为 zb=μ+z∘σ。

接下来就是 GAN 的那一套对抗损失,这里写一下清晰图像生成的判别器损失,模糊图像的是一致的:

yYfQnyV.png!web

循环一致损失参考的是 CycleGAN [2]:

vE7VVzr.png!web

感知损失的加入,作者是加在预训练 CNN 的第 1 层的特征,实验中加在 ImageNet 上预训练的 VGG-19 的 conv3,3。

Bjiei2r.png!web

感知损失中使用模糊图像 b 而不是锐利图像作为参考图像有两个主要原因。首先,假设 b 的内容信息可以由预训练的 CNN 提取。其次,由于 s 和 b 未配对,因此在 s 和 YjeiueV.png!web 之间应用感知损失将迫使 rABjuqJ.png!web 对 s 中的无关内容信息进行编码。值得一提的是, JrEzUbz.png!web 和 s 上没有添加感知损失。这是因为在训练期间没有在 emInQzu.png!web 中发现明显的伪像。

整个模型总的损失可写为:

Q3YrQva.png!web

实验

文章的网络的设计结构参考了 Diverse image-to-image translation via disentangled representations [3]。内容编码器由三个卷积层和四个残差块组成。模糊编码器包含四个卷积层和一个完全连接的层。

对于发生器,该架构与内容编码器对称,具有四个残差块,后面是三个转置的卷积层。判别器采用多尺度结构,其中每个尺度的特征图经过五个卷积层,然后被馈送到 sigmoid 输出。

采用 Adam 优化损失,对于前 40 个时期,学习速率最初设置为 0.0002,然后在接下来的 40 个时期使用指数衰减。超参上 λadv=1, λKL=0.01, λcc=10, λp=0.1。

实验数据集采用三种数据集:CelebA 数据集,BMVC 文本数据集和 CFP 数据集。

CelebA 数据集包含超过 202,000 个面部图像,文章设置了清晰图像 100k,模糊图像 100k,测试图像 2137。BMVC 文本数据集由 66,000 个文本图像组成,分配方式类似于 CelebA 数据集。CFP 数据集由来自 500 个主题的 7,000 个静止图像组成,并且对于每个主题,它具有正面姿势的 10 个图像和具有专业姿势的 4 个图像。

对于 CelebA 和 BMVC Text 数据集,我们使用标准的 debluring 指标(PSNR,SSIM)进行评估。文章还使用去模糊图像和真实图像之间的特征距离(即来自某些深层网络的输出的 L2 距离)作为语义相似性的度量,因为实验发现它是比 PSNR 和 SSIM 更好的感知度量。

对于 CelebA 数据集,使用来自 VGG-Face 的 pool5 层的输出,对于文本数据集,使用来自 VGG-19 网络的 pool5 层的输出。对于文本去模糊,另一个有意义的度量是去模糊文本的 OCR 识别率。在可视化模型和定量对比上,文章对比了各类模型的去模糊的效果:

aaM3Eja.png!web

实验也对比了各个组间的有无对实验结果的影响:

MfUvEnv.png!web

nUFnIzq.png!web

不仅仅在人脸图像去模糊上,在文本去模糊上也展示了不错的实验效果:

FriAveQ.png!web

总结

文章提出了一种无监督的领域特定单图像去模糊方法。通过解开模糊图像中的内容和模糊特征,并添加 KL 散度损失以阻止模糊特征对内容信息进行编码。为了保留原始图像的内容结构,在框架中添加了模糊分支和循环一致性损失,同时添加的感知损失有助于模糊图像去除不切实际的伪像。每个组件的消融研究显示了不同模块的有效性。

文章的创新之处正是内容编码器和模糊编码器的设计和应用,尝试将内容和模糊信息分离,这对图像到图像的工作具有一定的指导意义。

参考文献

[1] T. Madam Nimisha, K. Sunil, and A. Rajagopalan. Unsupervised class-specific deblurring. In Proceedings of the European Conference on Computer Vision (ECCV), pages 353–369, 2018.

[2] J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros. Unpaired image-to-image translation using cycle-consistent adversarial networks. In Proceedings of International Conference on Computer Vision (ICCV), 2017.

[3] H.-Y. Lee, H.-Y. Tseng, J.-B. Huang, M. Singh, and M.-H.Yang. Diverse image-to-image translation via disentangled representations. In Proceedings of European Conference on Computer Vision (ECCV), pages 36–52. Springer, 2018.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK