文献综述: |
||||||||||||||||||
图像去雾是计算机视觉领域一个具有挑战性的问题,而单幅图像去雾更是一个具有挑战性的病态问题。最初的图像去雾主要是通过直方图、对比度、饱和度等图像直观表现进行图像增强,后来随着大气散射模型[11][12][13]的逐渐完善,以及一些有效的先验或假设方法的提出,单幅图像去雾已经取得了实质性的进展。如:基于马尔可夫随机场(MRF)的局部对比度最大化方法[5]、基于最小输入的独立成分分析的彩色图象去雾[6]、基于暗原色先验的图像去雾[8]以及通过加强边界约束和正则化高效图像去雾[14]。由于这些方法都是基于先验知识,因此在一些特定场景这些传统方法总会显得无能无力。 近年来随着神经网络的发展,基于神经网络的图像识别、图像分类等取得了重大成功。受此影响 ,一些学者开始尝试将神经网络应用于图像去雾领域,并且取得一些成就。其中有借助神经网络估计图像透射率,随后根据大气散射模型恢复无雾图像的,如:通过并行多尺度训练的DehazeNet[2]和通过粗细两个网络连接的串联多尺度训练网络MSCNN[3]。还有通过神经网络直接生成无雾图像的网络,如:AOD-Net[1]。通过与传统去雾方法的结果对比,基于深度卷积神经网络的去雾结果更加真实有效。
目前数字图像已经广泛应用于各行各业的监控系统,为了达到监控效果,图像处理尤其是图像去雾就显得尤为重要了。而在近年来兴起智能监控、无人驾驶等人工智能领域对图像质量的要求更高了,无人驾驶技术的落地运行离不开良好的图像去雾方法。一个良好的图像去雾方法要满足两点:① 适应性,即能够处理任何天气条件和任何场景;② 实时性,即能够满足实时的图像处理速度,尤其是在无人驾驶领域。我们知道传统方法是很难同时满足这两点的,因此实现一个高效高可用的图像去雾神经网络势在必行。本项目拟在前人基础上实现一个深度卷积神经网用于图像去雾。
卷积神经网络(CNN)作为近几年来模式识别中的研究重点,受到了越来越多的人的关注。神经网络技术起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐藏层。输入的特征向量通过隐藏层变化到达输出层,但是由于单层感知机仅含有一个隐含层,无法拟合稍微复杂的函数,所以并没有什么实际用途,也因此神经网络在很长的一段时间内没有收到人们的重视。直到上世纪八十年代才提出了多层感知机。至此,神经网络开始重回人们的视野,并在几年内大放异彩。 卷积神经网络属于人工神经网络的一种,它的起点是神经感知机(neocognitron)模型[4]。受Hubel和Wiesel在1962年的猫的视觉系统研究的启发,Fukushima K.于1980年在神经感知机模型中,使用了卷积和池化的结构。1989年,LeCun吸取Fukushima K.神经感知机模型的精华,并结合1986年提出的BP算法实现了第一个卷积神经网络模型[7]用于手写数字识别。直到1998年LeCun提出LeNet-5模型[9]——第一个正式的卷积神经网络模型,至此卷积神经网络雏形完成。由于CNN能够得出原始图像的有效表征,这使得CNN能够直接从原始像素中,经过极少的预处理识别视觉上面的规律。然而,由于当时缺乏大规模训练数据,计算机的计算能力也跟不上,LeNet-5 对于复杂问题的处理结果并不理想。在接下来的近十年的时间里,卷积神经网络的相关研究趋于停滞,原因有两个:一是研究人员意识到多层神经网络在进行BP训练时的计算量极其之大,当时的硬件计算能力完全不可能实现;二是包括SVM在内的浅层机器学习算法也渐渐开始暂露头脚。随着ReLU[10]和Dropout的提出,以及GPU和大数据带来的历史机遇,卷积神经网络在2012年迎来了历史性突破——AlexNet[15]。
CNN是神经网络的一个重要分支,一般的神经网络的网络层包含输入层、隐藏层和输出层。卷积神经网络的特点在于隐藏层分为卷积层和池化层(常见包括最大池化和平均池化)。卷积层是通过一块块卷积核在原始图像上平移来提取特征,每一个特征就是一个特征映射;而池化层通过汇聚特征后稀疏参数来减少要学习的参数,降低网络的复杂度。 之所以引入卷积层和池化层,是因为这两个结构能够大大减少神经网络的参数数量,降低网络复杂度。假设我们用一般的神经网络对一张100times;100大小的图片提取特征,可以表示为一个10000的向量,如果隐藏层节点数也为10000,那么这两层之间要拟合的参数就是10000times;10000个,如此多的参数,再加上当时CNN出世前的年代硬件水平有限,这个网络基本没法训练。而卷积和池化结构出现使得此问题迎刃而解。 卷积结构是基于局部感知的思想产生的。对于图像像素点来说,距离越近,联系就越紧密,而相距越远的像素点之间几乎没有任何联系,因此每个神经元也就无需针对全局像素进行感知,只需针对局部即可,至于全局特征在更高层感知即可。也就是说每一个隐藏层的仅需连接局部几个像素点即可,假设这个局部范围是5times;5,那么这两层之间需要学习的参数仅为25times;10000,虽然还是很多但是已经减少为原来的1/400了。卷积层的第二个概念是权值共享,也叫参数共享,其中的原理是图像的某一部分的统计特征在其他部分也同样适用,也就是说隐藏层的10000神经元对应的25个权值是相同的,参数数量就从25times;10000直接降低到了25。两个概念组合在一起刚好组成一个卷积操作。但是显然25个参数提取到的特征是不够充分的,因此就开始添加多个卷积核,比如32个卷积核,那么就能提取到32组特征,同时参数个数变成了32times;25。也就是多核卷积操作。 池化结构,虽然我们通过卷积结构减少了参数个数,但是特征并没有减少,即一副100times;100的图像单核卷积提取到的特征是还是10000个,使用多核卷积更使其成倍增加,不利于更高层网络对进行全局特征组合。因此出现了池化结构,在前面提到的局部感知在这里同样适用,一般认为局部像素点的特征是相同的,因此我们可以对一个局部区域如2times;2的局部进行下采样来有效稀疏特征,有利于更高层的特征组合。
AlexNet取得成功之后,CNN开始火热,相关研究人员也开始提出各种方法对CNN补充完善。AlexNet由5个卷积层、5个池化层和3个全连接层组成。它之所以能够取得成功,在2012年ImageNet图像分类大赛中大放异彩,将Top-5错误率降低到15.3%,是因为它采取了的一些优化手段:①通过Dropout和数据增强防止过拟合,由于训练数据有限,AlexNet通过水平翻转、随机平移变化、增加随机光照等方法在原有数据集上生成新的数据以避免过拟合,同时AlexNet以0.5的概率将每个隐藏层的神经元的输出设置为0,抑制某些神经元的传播。这样每次输入一个样本就相当于训练了一个新的网络结构,特征组合更加多样,网络更加健壮,有效防止过拟合。②使用非线性激活函数ReLU,激活函数的作用是运行时激活神经网络中某一部分的神经元,将激活后的信息向后传入下一层。在ReLU之前普遍使用的激活函数是sigmoid,它的优点在于输出映射在(0, 1)范围内,单调连续,并且容易求导。但是由于其软饱和性很容易产生梯度消失导致网络训练难以继续。ReLU的提出有效的缓解了梯度消失问题,而且还能提高收敛速度,提高网络稀疏表达能力。③使用多GPU实现,由于单GPU内存有限,极大的限制了数据训练规模。AlexNet将网络分布在两个GPU上,并且能够直接从另一个GPU的内存中读写数据,不需要通过主句内存,极大的增加的训练的规模。 AlexNet之后CNN开始出现几个演化分支,其中一个是增加网络深度。其中的 一个重要代表就是VGGNet[16],它可以说是AlexNet的加深版本,并且在2014年ImageNet竞赛中夺得第二名,Top-5错误率为7.32%。VGG的网络结构和AlexNet很相似,5个卷积组,每一组有两到三个卷积层,每一组后面跟一个池化层共有5个池化层,在后面是2个全连接层连接图像特征和1个全连接层分类特征。他们的不同之处在于VGGNet使用了更多的卷积层数16层,同时作者在文献[16]中通过逐渐增加卷积层数实验证明增加到16层基本达到了降低错误率的瓶颈。 CNN另外一个比较重要的演化方向就是增强卷积层功能。这一方向的主要思想是Min Lin、Qiang Chen和Shuicheng Yan提出的NiN(Network in Network)[17]。他们对传统的卷积方法做了两点改进:①是用全局平均池化层取代最后的全连接层,这样不仅可以减少学习参数还能降低过拟合,②是将原来线性级联的卷积层改为并行连接的卷积层,以提高参数的利用率。受这一思想启发,GoogLeNet[18]也于2012年诞生,并且斩获2012ImageNet大赛第一名,Top-5错误率为6.67%。其基本结构如Figure 1所示,一个输入层对应四个并行卷积分支,与其他网络结构不同的是,他在每一个分支都用了一个1times;1的卷积核。而这也正是GoogLeNet的精妙之处,1times;1卷积是一个非常优秀的结构,它主要有两个作用,一是跨通道学习特征,二是用于改变特征映射通道的数量,其中第一个分支主要用到的是第一个作用,而后面三个分支通过一个1times;1的卷积操作不仅跨通道组合了特征增加了一层特征变化,还有效的减少了参数量、降低了计算量。可以说1times;1卷积是一个高性价比结构。该模型在四个分支最后通过聚合操作,将不同尺度的结果进行聚合。GoogLeNet基于这一结构可以让网络高效率的扩充深度和宽度。 对于网络深度的发展,最值得关注的还是ResNet[19],ResNet通过使用Residualensp;Unit成功训练152层深的神经网络,并在2015年ImageNet大赛中获得冠军,Top-5错误率仅为3.57%。Figure 2为ResNet的残差学习单元(Residualensp;Unit),通过残差学习单元ResNet相当于将学习目标改变了,不再是学习一个完整的输出,只是输出和输入的差别,即残差。 ResNet最初的灵感出自这个问题:在不断加神经网络的深度时,会出现一个Degradation的问题,即准确率会先上升然后达到饱和,再持续增加深度则会导致准确率下降。这并不是过拟合的问题,因为不光在测试集上误差增大,训练集本身误差也会增大。假设有一个比较浅的网络达到了饱和的准确率,那么后面再加上几个的全等映射层,起码误差不会增加,即更深的网络不应该带来训练集上误差上升。而这里提到的使用全等映射直接将前一层输出传到后面的思想,就是ResNet的灵感来源。传统的卷积层或全连接层在信息传递时,或多或少会存在信息丢失、损耗等问题。ResNet在某种程度上解决了这个问题,通过直接将输入信息绕道传到输出,保护信息的完整性,整个网络则只需要学习输入、输出差别的那一部分,简化学习目标和难度。在文献[19]中,作者证明了在使用这一结构后层数不断加深导致的训练集上误差增大的现象被消除了,ResNet网络的训练误差会随着层数增大而逐渐减小,并且在测试集上的表现也会变好。这为CNN向着更深的网络层方向发展做好了铺垫。
Figure GoogLeNet模型的基本结构
Figure ResNet的残差学习模块
雾天图像增强在智能管理系统是一个重要的组成部分,是基于视觉管理的基础,无论是在智能交通领域、智能监控领域还是无人驾驶领域等都有着举足轻重的地位。从上世纪五六十年代数字图像开始使用计算机处理后,相关学者对图像增强、图像去雾的研究就从未停止过。历经大半个世纪的发展,对于特定场景的图像去雾技术已经趋于成熟。 对于特定场景的图像去雾方法大多数是利用的一些先验知识,并且这些图像去雾方法大部分基于一个基本雾天成像模型——大气散射模型,为了描述雾天图像的信息,McCartney[11]首先提出了大气散射模型,随后这一模型经过Narasimhan和Nayar[12][13]几次改进改进。最终大气散射模型被定义为如下形式:
其中是实际看到的雾天图像,是无雾的真实图像,是透射率,是全局大气光值,是雾天图像中的每一个像素点。在公式(1)中有三个未知数,若能估计出和就可以求得真实图像了。而对于其中的估计可以采用下式:
综上所述,要想恢复出无雾清晰图像的关键就在于准确估计出透射率图。对于透射率的估计,经过众多学者多年研究给出了如下几种先验方法:
其中是局部邻域的基数,对比度和透射率之间的关系是显而易见的,所以公式(3)给出的最大化局部对比度后会增强图像视觉效果。
其中和可以在HSV颜色空间中可以表示为 和 。景深和颜色衰减特征是成正比的:,并且可以很容易的用在预估透射率中。
其中是的RGB颜色通道,是以为中心的为半径的邻域。暗通道特征在图像中雾的浓度有着密切联系,并且常被用于直接估计媒介透射率。 近年来,随着神经网络的高速发展,尤其是CNN在图像领域在物体测、识别和分类等方面取得的成功,图像去雾技术的研究也已经不再局限于传统技术方面了。基于深度卷积神经网络的图像去雾也已经取得了不小的进展,如文献[2]中介绍的DehazeNet,文献[3]中介绍的MSCNN和文献[1]中的AOD-Net。DehazeNet和MSCNN均与2016年提出,它们有一个相似之处就是都是网络的最终输出都是图像透射率图,跟传统方法一样都是尝试先去预估透射率,即训练网络去学习预估雾天图像的透射率,然后再根据大气散射模型恢复无雾图像。而AOD-Net则另辟蹊径,AOD-Net于2017年提出,并且参照了前面两个网络的设计并进行了独特的改进。在传统方法中和一直都是分别估计的,而且一般更重视估计得准确性。这在最后结果中往往会造成误差放大,导致结果不理想。由于神经网络可以自主学习中间过程而只关心最后结果,因此使用卷积神经网络进行估计则可以尽可能的避免这一缺点。Li B等人不在训练网络优化对的估计,而是将和统一到一个参数,并且训练网络以优化对的估计,最终他们将无雾图像恢复公式表达为如下形式:
在网络结构方面,三者的设计也各不相同,DehazeNet受NiN思想的影响设计了一个多尺度并行的卷积网络层,同时DehazeNet作者通过对ReLU的改进还提出了一种新的非线性激活函数BReLU[2],该函数将原本的ReLU的一端受限改为两端受限以适应图像这种特殊结构;MSCNN则使用了传统的串行级联方法连接个卷积层,特殊之处在于作者设计了粗细两个网络,并且将粗估计网络的输出连接到细估计网络中间的一层,细估计网络的输出作为最终的估计;AOD-Net受前两者启发设计了更加特殊的结构,AOD-Net共有5层卷积层,从第三层开始每一层均把前两层的输出拼接作为输入以减少信息损失,最终实验证明该方法是非常有效的。
|
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。