深度学习在图像处理中的应用

目前为止,图像处理已成为深度学习中重要的研究领域,几乎所有的深度学习框架都支持图像处理工具。当前深度学习在图像处理领域的应用可分为三方面:图像处理(基本图像变换)、图像识别(以神经网络为主流的图像特征提取)和图像生成(以神经风格迁移为代表)。本文第一部分介绍深度学习中图像处理的常用技巧,第二部分浅析深度学习中图像处理的主流应用,最后对本文内容进行简要总结。
一.深度学习中图像处理的常见技巧

目前几乎所有的深度学习框架均支持图像处理工具包,包括Google开发的Tensorflow、Microsoft的CNTK等。以操作简单的Keras前端,Tensorflow后端开发框架为例介绍图像处理中的常见操作技巧:

1.数据增强:

制约深度学习发展的三要素分别为算法、算力和数据,其中算法性能由设计方式决定,算力供给的关键在于硬件处理器效能,算法和算力相同时,数据量的多少直接决定模型性能的最终优劣。进行图像识别时,经常出现因原始图像数目不足而导致的输出曲线过拟合,从而无法训练出能泛化到新图像集上的模型。数据增强根据当前已知的图像数据集生成更多的训练图像,具体实现是利用多种能够生成可信图像的随机变换来增加原始图像数量。数据增强前后的对比结果如图1所示:
深度学习在图像处理中的应用_第1张图片
图1a 原始图像
深度学习在图像处理中的应用_第2张图片
图1b 数据增强后的图像

图1 对图像进行数据增强
对比可知,数据增强的实质是在未改变原始图像特征内容的基础上(例如上图中的关键对象:猫、铁笼、食物)对图像数量的扩充,从而避免因图像不足而导致的模型过拟合与泛化性差等缺陷,在小型图像数据集上进行训练时尤其有效。
2.图像去噪:

现实的图像在传播过程中,由于传输波动和受外界噪声干扰而很容易引起图像质量下降。图像去躁是指滤除图像包含的干扰信息而保留有用信息,常见去噪方法包括非局部平均过滤算法、高斯滤波算法和自适应滤除噪声的卷积神经网络等。简要介绍如下:

1.2.1 非局部平均过滤算法。

非局部平均过滤算法的降噪原理如下:图片中像素的设定通过与其周围的像素点加权而成,也就是图片中某点的像素设定和其周围像素的权重设定有关。具体原理如下式所示:

式中 代表 位置像素点受 位置像素点影响的权重大小, 代表选取像素点 周围半径为 范围内的像素点作为加权参照。 和 分别代表像素点 周围像素权值的大小统计和像素点 受周围 半径内像素影响的加权总和。

对原始图像添加噪声,随机设定3000个像素点为白色(RGB值均为255),可以看出添加噪声后的图像相对原始图像增添了许多噪声白斑,如图2所示:
深度学习在图像处理中的应用_第3张图片
图2a 原始海滩背景图像
深度学习在图像处理中的应用_第4张图片
图2b 添加噪声后的背景图像

图2 对原始背景图像添加随机的白色像素点以模拟实际噪声干扰

然后使用openCV内置的非局部平均噪声过滤算法滤除图片噪声,结果如图3所示:
深度学习在图像处理中的应用_第5张图片
图3 非局部平均噪声滤波后得到的背景图像
观察非局部平均噪声算法滤波前后的图像,可知滤波后图像的白斑噪声点明显减少,图像的质量得到有效提升,有利于后续的编码处理和传输。

1.2.2 去躁神经网络。

去躁神经网络通常是以CNN(卷积神经网络为基础),其实质是:利用在无噪图像集上训练完成的去躁模型,滤除预测图像中包含的噪声信息。使用图像识别中最常见的mnist手写图像库为训练集,mnist包含6万张训练集图像和1万张测试集图像,其大小均为28*28,按照图像内容的不同分为手写数字0-9,mnist数据库内置于keras中。搭建去躁神经网络结构,如图4所示:
深度学习在图像处理中的应用_第6张图片
图4 简单的去躁神经网络结构

使用去噪神经网络对mnist图像库中添加噪声的图像去躁,去躁前后对比结果如图5、图6所示,其中下标相同的Noise与Fliter相对应:

深度学习在图像处理中的应用_第7张图片
图5 对原始图像添加噪声
深度学习在图像处理中的应用_第8张图片
除噪声

观察去躁前后图片可知,去躁神经网络通过特征提取和监督学习等方式,对Mnist手写图像集实现了非必要噪声信息滤除,是简单常用的图像去躁器。

1.2.3 图像超分辨率重建(SR,Super Resolution)。

SR是图像处理中的经典应用,是图像增强领域的重要技术。其基本思想是通过提取低分辨率的原始图像特征来重构高分辨率的图像。按照其参考低分辨率图像种类和数目的不同,主要分为以下两种:

  1. Image SR

特点是重构图像时,可供参考的原始低分辨率图像少,通常不依赖于其他图像而只参考当前的低分辨率图像,也称为单图超分辨率(SISR,single image super resolution)。

  1. Video SR

特点是重构图像需要参照多个不同的原始低分辨率图像,也称为多帧超分辨率(MFSR,multi-frame super resolution)。通常MFSR相对SISR具有更高的重构质量和更多的特征匹配,代价是计算资源的更多消耗。

SR重构质量可通过图像质量评估的参考标准PSNR和SSIM进行评价,PSNR值和SSIM值越高,代表重建图像像素值与标准值越接近。其中PSNR定义如下(MSE代表图像评估中的均方误差):

其中MSE的定义如下:

SSIM定义简化如下(其中代表 均值, 代表均方差):

近年以来,图像超分辨率重建技术逐渐成为深度学习领域的研究热点,先后涌现出SRCNN(Super-Resolution Convontional Netural Network,超分辨率卷积神经网络)和FSRCNN(Fast Super-Resolution Convontional Netural Network,快速超分辨卷积神经网络)等超分辨率重构结构,分别介绍如下:

  1. SRCNN

SRCNN是香港中文大学在2014年提出的一种Image SR重构网络,核心结构是利用CNN网络对原始的低分辨率图像进行特征提取和映射,最后完成高分辨率图像重构,其实质是利用深度学习神经网络实现稀疏自编码器。SRCNN网络核心结构如图7所示:
深度学习在图像处理中的应用_第9张图片
图7 SRCNN网络的结构示意图

如图7所示,SRCNN网络完成图像超分辨率转换的过程分为三部分:首先通过插值法对原始低分辨率图像进行维度扩展,目标是保证输入网络的图像与目标图像尺寸相同;然后将拓展后的原始图像通过卷积网络拟合的非线性映射进行特征提取,完成低分辨率特征图到高分辨率特征图的映射。CNN特征提取网络是SRCNN网络的关键结构,文中采用的特征提取网络为3层堆叠的CNN;最后根据获得的高分辨率图像特征对目的图片进行维度与内容的组合重建,输出生成的高分辨率图像。

对比SRCNN网络与同类算法进行的高分辨率图像重构,结果如图8所示:
深度学习在图像处理中的应用_第10张图片
图8a 对相同的图像使用不同超分辨率方法重构
深度学习在图像处理中的应用_第11张图片
图8b 常见超分辨重构方法的PSNR和SSIM标准评估

图8 SRCNN网络与传统方法的性能对比

如图8所示,相同条件下SRCNN网络的SSIM和PSNR值绝大多数情况下优于传统算法,说明SRCNN网络的编码质量相对传统算法有所提升。与传统超分辨算法相比,SRCNN网络具有结构原理简单、重构质量高等优点,不足之处在于图像的转换重构速率较低。

  1. FSRCNN

FSRCNN网络同样由SRCNN开发团队提出,目的是针对SRCNN网络图像转换速率低的缺点进行改进。改进后网络的图像转换速率较SRCNN网络大幅提升,图像重构质量稍有提升。FSRCNN网络对SRCNN网络添加的改变总结如下:

维度变换上: 原始SRCNN网络从图片输入网络开始即对其进行插值变换,以完成与目的图像维度匹配的维度拓展。这样使得网络开头增加的张量维度参与到端与端间的所有变换运算,大大增加了网络计算复杂度和运算开销。改进后的FSRCNN网络将维度拓展的结构放置于网络终端,避免了引入网络内部的非必要运算消耗,提高了图像的转换速率。

运算结构上: FSRCNN改进了特征映射中的非线性映射方式,并且减小了卷积运算时的卷积核维度,结果使得网络运算和特征提取的参数数量大幅减少、图像的高分辨率重构效率大为提升。由于网络内部结构的改变,FSRCNN重构图像质量相对SRCNN略有提升。FSRCNN与SRCNN的对比结果如图9所示,改进后FSRCNN网络编码质量和效率相对传统SRCNN网络均有所提升。
深度学习在图像处理中的应用_第12张图片
图9a SRCNN与FSRCNN的结构对比
深度学习在图像处理中的应用_第13张图片
二.深度学习中的图像处理应用

当前深度学习在图像处理方面的应用和发展主要归纳为三方面:图像变换、图像识别和图像生成,分别从这三方面进行介绍:

2.1.图像变换

指对图片进行的常规操作,包括图像缩放、复制等简单操作和上文提及的去躁、提升超分辨率等常见操作,其目的是提升图片质量,得到理想的目标图片。总体来说,深度学习进行的图像变换依赖于内置工具的强大功能,使用者可根据不同需求学习对应图像处理工具的使用,此处不再赘述。

2.2.图像识别

计算机视觉(CV,Computering Version)已成为深度学习领域的重要发展方向,CV的主要内容就是进行目标识别,图像作为生活中的常见目标一直是CV方向研究热点。使用深度学习进行图像识别的通常方法是:构建识别对象为图像的神经网络,达到图像识别的高精度与低运算资源消耗。
2. 3.图像生成

图像生成是指从已知图像中学习特征后进行组合,生成新图像的过程。不同于图像的高分辨率重建,图像生成通常需要学习不同图像的特征并进行组合,生成的图像是所有被学习图像特征的结合。常见的图像生成应用包括神经风格迁移、Google公司开发的Deep Dream算法和变分自编码器等,分别介绍如下:

2.3.1. Deep Dream

由Google公司在2015年夏首次发布,使用早期常见的Caffe架构编写实现,由于其生成的图像布满了算法式的迷幻错觉伪影而引起轰动。DeepDeram生成图像的显著特征是鸟羽毛和狗眼睛数量较多,原因是DeepDream学习的原始图像库为鸟样本和狗样本特别多的ImageNet(Google开源的大型数据库,常用作预训练模型的权重训练)。
2.3.2. 神经风格迁移(NST,Neural Style Transfe)

神经风格迁移是指将参考图像的风格应用于目标图像,同时保留目标图像的内容。风格是指图像中不同空间尺度的纹理,颜色和视觉图案,内容则是指图像的高级宏观结构。
2.3.4 生成式对抗网络(GAN,Generative adversarial network)

GAN由Goodfello等人于 2014 年提出,它可以替代VAE来学习图像的潜在空间,其生成的图像与真实图像在统计上几乎无法区分,从而生成相当逼真的合成图像。
三.总结

本文第一部分介绍了深度学习领域中图像处理的常用技巧,主要包括数据增强、图像去躁以及图像增强领域中的图像高分辨率重建技术(SR,Super Resolution)。数据增强能根据原始图像生成内容、风格相似的更多训练图像,可有效解决因训练图像不足带来的曲线过拟合;图像去躁技术的代表是常见的高斯滤波算法和去噪神经网络,其共同特征是有效过滤图片传输中受到的干扰波动,有利于后续的图像处理;图像高分辨率重建是图像增强领域的显著代表,其基本思想是通过提取原始低分辨率图片的特征,变换映射得到高分辨率图片。这种技术不仅完整保留了原始图片的内容和风格(图像的有效信息),也提升了变换后的图片质量。

本文第二部分简要分析深度学习技术在图像处理领域的主要应用,按照不同功能划分为图像变换、图像识别和图像生成三个领域。图像变换是图像处理最简单、基本的操作;图像识别是计算机视觉的重要分支研究领域,目的是达到深度学习图像识别网络识别精度和效率的提升,实际应用于人脸识别和遥感图像识别等方面;最后概述了图像生成应用的几个分支:包括神经风格迁移(NST,Neural Style Transfer)和变分自编码器(VAE,Variational autoencode)等。Deep Dream可以看做训练集为Image Net的神经风格迁移网络,它们的共同特点是:从参考图像中进行内容和风格的提取组合后,根据要求生成不同种类的目标图片。图像生成领域的另一个重要分支为生成式对抗网络(GAN,Generative adversarial network),可以生成与原始图像非常相似的目标图像,感兴趣的读者可以自行了解。

图像处理领域是深度学习和机器视觉领域重要的研究分支,相信在未来必将得到蓬勃的发展。本文涉及的图像和代码可在github.com/asbfighting/中下载和访问。

参考文献:

1Francois Chollet著,python深度学习[M],张亮译,北京;人民邮电出版社,2018.8

[2] 候宜军著,Keras深度学习实战[M],北京;北京图灵文化发展公司,2017,6

[3]Dong, C., Loy, C.C., He, K., Tang, X.: Learning a deep convolutional network for image super-resolution. In: ECCV. (2014) 184–199

[4] Aharon, M., Elad, M., Bruckstein, A.: K-SVD: An algorithm for designing over

complete dictionaries for sparse representation. TSP 54(11), 4311–4322 (2006)

[5] Burger, H.C., Schuler, C.J., Harmeling, S.: Image denoising: Can plain neural net

works compete with BM3D? In: CVPR. pp. 2392–2399 (2012)

[6] Freedman, G., Fattal, R.: Image and video upscaling from local self-examples. TOG 30(2), 12 (2011)

[7] Yang, J., Lin, Z., Cohen, S.: Fast image super-resolution based on in-place example regression. In: CVPR. pp. 1059–1066 (2013)

[8] Dong, C., Loy, C.C., He, K., Tang, X.:Accelerating the Super-Resolution Convolutional Neural Network.In ECCV.(2016)

[9] Dong, C., Loy, C.C., He, K., Tang, X.: Image super-resolution using deep convolutional networks. TPAMI 38(2) (2015) 295–307

[10] Yang, C.Y., Yang, M.H.: Fast direct super-resolution by simple functions. In: ICCV. (2013) 561–568

[11] Timofte, R., De Smet, V., Van Gool, L.: Anchored neighborhood regression for fast example based super-resolution. In: ICCV. (2013) 1920–1927

[12] Gatys L A , Ecker A S , Bethge M . A Neural Algorithm of Artistic Style[J]. Computer Science, 2015.

[13] Rezende D J , Mohamed S , Wierstra D . Stochastic Backpropagation and Approximate Inference in Deep Generative Models[J]. 2014.

[14] Kingma D P , Welling M . Auto-Encoding Variational Bayes[J]. 2013.

你可能感兴趣的:(深度学习基础自学)