基于条件生成对抗网络的低照度图像增强方法及装置与流程

文档序号:19658720发布日期:2020-01-10 20:47阅读:376来源:国知局
基于条件生成对抗网络的低照度图像增强方法及装置与流程

本发明涉及计算机图像处理领域,特别涉及基于条件生成对抗网络的低照度图像增强方法及装置。



背景技术:

随着科技的发展,视频监控、相机、手机等工具的普及,在如今的生产生活中,人们可以更加方便的获得大量的图像。然而由于受到拍摄场景的光照条件较差或者图像采集设备功能缺乏等因素的影响,非常容易产生低照度图像。这些低照度图像整体成像偏灰暗甚至全暗、信噪比低、使用价值极低,严重影响人们的使用。所以必须采取一些方法处理低照度图像,将低照度图像的内容还原清晰。

过去的几十年里,对于低照度图像增强方法的研究一直在持续。早期的低照度图像增强方法主要由直方图均衡化(he)和retinex所主导。随后的一些方法大多是基于这两种方法的改进。这些传统的方法对于低照度图像的处理有一定的效果,但是增强后的图像容易出现颜色失真,边缘模糊等问题。同时,有一些方法在使用过程中还涉及参数调整的问题,应用较为复杂。此外,这类方法对于极低照度的图像增强效果比较差,对大尺寸图像处理速度慢,难以满足实际应用场合的需要。

为了解决传统方法的缺陷,近年来,一些研究开始尝试使用基于深度学习的方法处理低照度图像。不同于传统的单图像对比度增强的方法,深度学习方法利用数据驱动的方法,将大量不同的低照度图像输入模型进行训练,使得深度学习模型具备增强低照度图像的能力。这类方法所使用的模型往往以自动编码器以及卷积神经网络(cnn)两种为主。现有的cnn方法弥补了传统方法的不足,但是还有很大的提升空间。cnn方法采用单个模型独立训练,仅通过损失值判断模型的训练情况,并不能保证模型参数调整到最佳而获得更好的处理效果,并且对于大尺寸图像的处理速度较慢,不能达到对低照度图像的实时增强效果,难以在直接应用到现实的生产和生活环境中。

因此,针对低照度图像的增强问题,如何提高增强后的图像质量,尤其是解决处理后图像的颜色失真、边缘模糊的问题,以及如何加快处理图像的速度,满足低照度图像的实时增强需求,成为亟待解决的技术问题。



技术实现要素:

本发明针对上述技术问题,提出了一种基于条件生成对抗网络的低照度图像增强方法及装置,对低照度图像进行增强处理,以解决处理后图像的颜色失真和边缘模糊的问题,提高增强后的图像质量,同时加快图像的处理速度,以满足对低照度图像的实时增强需求。

为解决上述技术问题,根据本发明的一个方面,提供了基于条件生成对抗网络的低照度图像增强装置,包括:

图像输入装置,用于接收输入图像,所述输入图像为低照度图像和/或其对应的高质量的亮图像;

图像处理装置,采用条件生成对抗网络即cgan模型对低照度图像进行增强处理得到处理后的增强图像,包括:生成模型单元和判别模型单元;

所述生成模型单元采用卷积神经网络即cnn模型,所述cnn模型包括15层卷积层;所述cnn模型包括一条具有编码功能的缩小路径与一条对称的具有解码功能的放大路径;两条路径相连接构成一个深度为四层的u型结构模型;

采用跳跃连接将两条路径上位于同一层的卷积层相连接;

其中,第二卷积层与第十三卷积层相连接,使得第一、第二、第十三、第十四和第十五的卷积层组成所述u型网络模型的第一层;

第四卷积层与第十一卷积层相连接,使得第三、第四、第十一和第十二卷积层组成所述u型网络模型的第二层;

第六卷积层与第九卷积层相连接,使得第五、第六第九和第十卷积层组成所述u型网络模型的第三层;

第七和第八卷积层组成所述u型网络模型的第四层;

所述判别模型单元为一个二分类cnn模型,所述二分类cnn判别模型包括卷积层、池化层和全连接层;图像输入判别模型后,连续的进行特征提取和下采样操作,使得不同的卷积层提取图像不同尺度的特征;

图像输出装置,输出所述处理后的增强图像。

优选地,所述缩小路径中还包括卷积层与池化操作层;其中,所述池化方法为最大池化,池化窗口大小为2*2,步长为2;每经过一次池化操作,图像缩小为原来的四分之一。

优选地,对于放大路径,采用反卷积操作完成对图像尺寸的复原,同时由卷积层对尺寸复原后的图像做进一步的处理,并且最后一层卷积层作为输出层输出最终增强后的图像数据。

优选地,低照度图像输入判别模型后,先连续的进行特征提取和下采样操作,再经过两个神经元个数分别为256和1的全连接层将卷积层提取的特征汇总输出;通过最终的输出值的大小,判别模型判别输入图像的真伪。

优选地,在生成模型单元和判别模型单元中加入批标准化bn(batchnormalization)层对生成模型和判别模型进行改进,以避免所述生成模型和判别模型在训练时容易造成的梯度消失和爆炸。

优选地,在每个批标准化层后加入激活层,使用渗漏整流线性单元(leakyrelu)作为激活函数,其中函数的负值斜率设为0.2。

优选地,网络模型的损失函数由gan损失函数和用于计算图像间距离的l1损失函数两部分组成。

优选地,所述gan损失函数为交叉熵损失函数,分为两部分;第一部分用于判别模型,采用交叉熵损失函数对输入的图像进行分类;第二部分用于生成模型,生成模型需要使得判别模型将生成的图像判别为真,第二部分gan损失函数用于实现该目的。

优选地,l1损失函数用于生成模型,以减小处理后的低照度图像与参考图像的距离。

优选地,生成模型的损失函数gloss和判别模型的损失函数dloss分别写成如下形式:

其中,g()表示生成模型,d()表示判别模型;iidark表示待处理的低照度图像,对应于该低照度图像的高质量亮图像为iilight,其中i表示图像中的像素点,总和为n;ce()表示经过sigmoid函数激活之后的交叉熵函数,其具体表达式为:

ce(x,z)=max(x,0)-x*z+ln(1+e-||x||)(5)

其中,x表示输入的数据,z表示该数据的标签。本发明中增强后图像的标签为0,高质量亮图像的标签为1。

根据本发明的另一个方面,提供了基于条件生成对抗网络的低照度图像增强方法,所述方法包括如下步骤:

s1、由图像输入装置接收输入图像,选取一组图像,所述图像包括一张低照度图像和其对应的高质量的亮图像;将所述低照度图像输入生成模型;

s2、根据损失函数计算输出图像与所述其对应的高质量的亮图像的差距,优化器对生成模型的参数进行调整,输出增强后图像;

s3、输出的增强后图像与其对应的高质量的亮图像输入判别模型进行判别;所述判别模型提取图像特征,所述其对应的高质量的亮图像是真实的亮图像,通过所述真实的亮图像与所述增强后图像间的特征差异判断出真伪,反馈给生成模型,从而改善生成模型;

s4、反复执行步骤s2和s3,生成模型与判别模型相互对抗,最终模型之间达到平衡,从而完成训练,得到训练完成的生成模型;

s5、使用模型增强图像的过程中,判别模型不参与处理,仅将低照度图像输入已经训练完成的生成模型,不用提供相对应的高质量亮图像,由已经训练完成的生成模型输出增强后的图像。

优选地,所述改善后的生成模型所增强的低照度图像是比前一次处理的图像更加逼真的图像,据此调整判别模型的判别能力。

本发明的有益效果:

1、在本发明方法使用过程中,无需人工调节参数,图像输入模型后端到端处理并输出结果。

2、将本发明方法与现有方法进行比较。主观上,利用本发明方法增强的图像在亮度、清晰度以及颜色还原度等方面有了较大的提升。客观上,利用图像质量评价指标:峰值信噪比、直方图相似度和结构相似性进行比较,本发明方法比其他方法的最优值分别提高了0.7db、3.9%和8.2%。在处理时间上,本发明方法处理图像的速度远远超过现有的传统方法,可达到实时增强的要求。

3、通过实验比较了本发明方法与现有方法对于低照度图像的处理效果,本发明方法具有更优的处理效果,同时具有更快的处理速度。

附图说明

附图示出了本发明的示例性实施方式,并与其说明一起用于解释本发明的原理,其中包括了这些附图以提供对本发明的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。通过结合附图对本发明的实施例进行详细描述,本发明的上述和其它目的、特征、优点将更加清楚。

图1是模型训练流程图;

图2是网络模型使用流程图

图3是网络模型结构;

图4是网络模型参数细节图;

图5是全网络模型与仅生成模型处理结果的客观对比图,其中,(a)是ssim变化曲线图,(b)是psnr变化曲线图;

图6是全网络模型与仅生成模型处理结果的主观对比图;

图7是各种不同方法处理结果的主观比较图;

图8是不同方法处理特殊低照度图像的处理结果。

具体实施方式

下面结合附图和实施方式对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分。

需要说明的是,在不冲突的情况下,本发明中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本发明。

生成对抗网络(gan)是一种特殊的深度学习网络模型,由生成模型和判别模型组成。噪声数据输入生成模型后产生数据样本(数据样本可以是图像、文本和语音信号等),判别模型区分真实数据样本和生成的数据样本。生成模型不断更新网络使得判别模型无法分辨出生成的数据样本,而判别模型也在不断更新网络以获得更准确的判断能力,模型间的相互博弈使得两个模型达到一个动态均衡,从而使整个模型获得好的输出。gan的数学模型表示为:

其中,式(1)的等号左侧符号表示生成模型网络损失最小而判别模型网络鉴别生成图像真伪的能力最大。g表示生成模型,d表示判别模型,z表示输入的噪声数据,z服从pz分布,x表示真实的数据,x服从pdata分布,g(z)表示噪声z通过生成模型生成的数据样本,d(x)与d(g(z))表示判别模型分别对真实的数据样本与生成的数据样本进行判别。在模型训练过程中,生成模型的调整其参数使d(g(z))的值增大,而判别模型调整其参数使d(x)的值增大,d(g(z))的值减小。最终两个模型达到动态平衡,完成训练。e表示分布函数,log为对数函数。

由于原始的gan在训练过程中没有额外的条件进行约束,所以生成的数据样本非常自由,凡是接近或者符合真实数据分布的数据样本都会被生成。使用原始gan模型产生的结果可能是处理后的图像的亮度被增加了,但图像的内容却发生了改变。因此,需要添加额外的约束条件以解决图像内容改变的问题。

采用条件生成对抗网络(cgan)对gan进行扩展,通过向gan的生成模型和判别模型中添加额外的约束条件,从而起到了监督gan的作用,从而控制数据样本的输出,使网络转变成有监督的学习。cgan的数学模型表示为:

其中,y表示给予网络的约束条件,式(2)的等号左侧符号表示生成模型网络损失最小而判别模型网络鉴别生成图像真伪的能力最大。g表示生成模型,d表示判别模型,z表示输入的噪声数据,z服从pz分布,x表示真实的数据,x服从pdata分布,g(z|y)表示噪声z通过生成模型输入时额外增加了条件y生成的数据样本,d(x|y)与d(g(z|y))表示判别模型分别在输入时额外增加了条件y的情况下对真实的数据样本与生成的数据样本进行判别。在模型训练过程中,生成模型的调整其参数使d(g(z|y))的值增大,而判别模型调整其参数使d(x|y)的值增大,d(g(z|y))的值减小。最终两个模型达到动态平衡,完成训练。e表示分布函数,log为对数函数。可见(2)式与(1)式相比,只在生成模型和判别模型输入时额外增加了条件y。本发明中条件y是低照度图像所对应的高质量亮图像。由于提供了对应的高质量亮图像,使得生成模型在训练过程受到约束,生成模型在训练过程中除了需要尽量对抗博弈过判别模型外,还得使处理后的图像接近所提供的高质量亮图像。因此额外的条件控制了增强后的图像在内容上不会被改变。

基于cgan的低照度图像增强方法通过训练大量的图像使模型获得处理低照度图像的能力。网络模型分为生成模型和判别模型两部分,生成模型用于对低照度图像进行处理,判别模型用于对处理后的图像进行真假判别。使用两种不同结构的卷积神经网络模型(cnn)作为生成模型和判别模型。

整个训练过程由图1所示,图中将生成模型和判别模型的优化过程整合。训练过程为:首先选取一组图像,包括一张低照度图像和其对应的高质量的亮图像。训练时将低照度图像输入生成模型,图像在模型中进行一系列增强变换操作后输出,根据损失函数计算输出图像与给出的对应亮图像的差距,优化器会对生成模型的参数进行调整。与此同时输出的增强后图像与该幅亮图像输入判别模型进行判别。判别模型提取图像特征,通过真实的亮图像与增强后图像间的特征差异判断出真伪,反馈给生成模型,从而使得生成模型进一步的改善。改善后的生成模型所增强的低照度图像是比前一次处理的图像更加逼真的图像,从而使得判别模型进一步调整其判别能力。反复这一过程,生成模型与判别模型相互对抗,最终模型之间达到平衡,从而完成训练。

图2是网络模型使用流程图。在使用模型增强图像的过程中,判别模型不参与处理,仅将低照度图像输入已经训练完成的生成模型,不提供相对应的高质量亮图像,生成模型端到端处理并输出增强后的图像。由于在训练过程中判别模型的监督以及两组模型间的对抗关系,使得cgan方法相比于使用一组cnn模型训练处理的方法,更容易使模型的参数调整到最佳,以获得更好的处理效果。

网络模型结构如图3所示。网络模型分成生成模型和判别模型两部分。生成模型采用cnn模型,由一条具有编码功能的缩小路径与一条对称的具有解码功能的放大路径组成;两条路径相连接构成一个深度为四层的u型结构模型。

跳跃连接将两条路径上位于同一层的卷积层相连接。编号为2的卷积层与编号为13的卷积层相连接,使得编号为1,2,13,14,15的卷积层组成了u型网络模型的第一层。

编号为4的卷积层与编号为11的卷积层相连接,使得编号为3,4,11,12的卷积层组成了u型网络模型的第二层。

编号为6的卷积层与编号为9的卷积层相连接,使得编号为5,6,9,10的卷积层组成了u型网络模型的第三层。

第四层则是由连续的编号为7,8的卷积层构成。

同时设计一个二分类cnn作为判别模型。判别模型由卷积层、池化层和全连接层组成。图像输入判别模型后,连续的进行特征提取和下采样操作,使得不同的卷积层可以提取图像不同尺度的特征。

缩小路径中包括了卷积层与池化操作。其中,池化方法为最大池化,池化窗口大小为2*2,步长为2。每经过一次池化操作,图像缩小为原来的四分之一。虽然图像的尺寸大幅度减小,但池化后的图像仍然保留了原图像的最大信息,同时由于每一层的卷积层所处理的图像尺寸减小,使得网络的训练速度以及模型的处理速度加快。对应放大路径,反卷积操作完成了对图像尺寸的复原,同时也有卷积层对尺寸复原后的图像进一步的处理,并且最后一层卷积层作为输出层输出了最终增强后的图像。另外,每一层放大路径上的卷积层与位于同一层的缩小路径上的卷积层进行跳跃连接,跳跃连接将模型中浅层与深层的网络相连接,用于解决梯度在反向传播的过程中难以流动到浅层网络而造成梯度消失的问题。生成模型由15层卷积层连接,也属于深度cnn模型,在模型中加入跳跃连接使梯度传导更加容易。此外,跳跃连接可以有效的将缩小路径上的浅一层卷积提取的特征与放大路径上的深一层卷积提取的特征相融合,使模型获得更好的特征提取能力,同时也可以减少放大路径在解码时产生的损失。本发明模型中的判别模型是一个判别真伪的二分类cnn模型,由卷积层,池化层和全连接层组成。图像输入判别模型后,先连续的进行特征提取和下采样操作,再经过两个神经元个数分别为256和1的全连接层将卷积层提取的特征汇总输出。通过最终的输出值的大小,判别模型判别输入图像的真伪。为了改善gan难以训练的问题,本发明采用在生成模型和判别模型中加入批标准化bn(batchnormalization)层对gan模型进行改进的方法,以避免模型在训练时容易造成的梯度消失和爆炸。同时为了增加模型的非线性性,进一步对gan模型进行改进,在每个批标准化层后加入激活层,使用渗漏整流线性单元leakyrelu作为激活函数,其中函数的负值斜率设为0.2。图4的网络模型参数细节图给出了具体参数,包括各卷积层中卷积核数量、尺寸等参数。

网络模型的损失函数由gan损失函数和用于计算图像间距离的l1损失函数两部分组成。gan损失函数为交叉熵损失函数,分为两部分。第一部分用于判别模型,由于判别模型是一个二分类器,需要通过交叉熵函数对输入的图像进行分类。第二部分用于生成模型,生成模型需要使得判别模型将生成的图像判别为真,所以第二部分gan损失用于实现该目的。l1损失函数用于生成模型,目的为了减小处理后的低照度图像与参考图像的距离,有拟合图像的作用。

如果用x1表示输入模型的图像,ωg为生成模型参数,ωd为判别模型参数,则生成模型表示为g(x1,ωg),判别模型表示为d(x1,ωd)。

生成模型的损失函数gloss和判别模型的损失函数dloss可以分别写成如下形式:

其中,g()表示生成模型,d()表示判别模型;iidark表示待处理的低照度图像,对应于该低照度图像的高质量亮图像为iilight,其中i表示图像中的像素点,总和为n;ce()表示经过sigmoid函数激活之后的交叉熵函数,其具体表达式为:

ce(x,z)=max(x,0)-x*z+ln(1+e-||x||)(5)

其中,x表示输入的数据,z表示该数据的标签。本发明中增强后图像的标签为0,高质量亮图像的标签为1。

为了验证本发明方法的有效性,实验使用的图像数据是cai等人(2018)提供的多曝光度图像数据集。该数据集中的图像拍摄于室内以及室外,通过调节相机的ev设置来改变曝光度,从而获得同一幅图像一系列不同低照度的成像。同时该数据集还提供了与每组低照度图像相对应的高质量亮图像作为参考。在该数据集中选取180张图像作为训练集,60张图像作为测试集。但是由于多曝光度图像数据集中的图像尺寸较大,不方便直接输入模型进行训练,所以在训练图像之前,本发明首先在每张训练图像中随机裁剪了100个256*256大小的图像块,同时随机对部分图像块进行左右或上下翻转来增加训练图像的多样性。而用于测试的图像尺寸均调整为900*600像素。

实验所用计算机gpu配置为nvidiateslap100,cpu配置为intelcorei5-4200h。训练所用的深度学习框架为tensorflow,批大小为30,epoch为500次。生成模型和判别模型均使用adam优化器进行优化,该优化器的一阶矩估计的指数衰减率设为0.5,二阶矩估计的指数衰减率设为0.999,生成模型的学习率为0.002,判别模型的学习率为0.0004,生成模型和判别模型交替优化。

图5记录了处理图像的峰值信噪比(psnr)和结构相似性(ssim)经过100个epoch的变化曲线。可以看出,随着epoch次数逐渐增加,包含判别模型的整体网络模型所处理图像的两项评价指标要高于单独的生成模型。这表明在训练过程中,判别模型对生成模型起到了监督的作用,进一步优化了生成模型的参数调整,使得生成模型具备更好的增强效果。

图6为全网络模型与仅生成模型处理结果的主观对比图,图6展示了处理后的图像,其中,(a)组表示低照度图像,(b)组为低照度图像对应的高质量参考图像,(c)组表示仅生成模型处理后的图像,(d)组为全网络模型处理后的图像。通过比较可以看出(d)组全网络模型处理的图像更接近于(b)组的参考图像,效果要优于(c)组仅生成模型处理的图像。由此可见,与cnn相比,cgan方法效果更优。

图7展示了各种不同方法处理结果的主观比较的示例,并对图像细节进行了放大,其中,(a)为低照度图像,(b)为高质量亮图像,(c)为采用msrcr方法处理的图像,(d)为采用he方法处理的图像,(e)为采用dhe方法处理的图像,(f)为采用jed方法处理的图像,(g)为采用lime方法处理的图像,(h)为采用本发明方法处理的图像。通过图7可以看出,本发明整体的处理效果理想,特别是在颜色还原以及细节的处理上,图像颜色还原度高、细节清晰。

为了检验本发明增强方法的处理速度,本发明对于不同方法处理时间进行客观比较,其中采用msrcr方法的处理时间为0.686s,采用he方法的处理时间为0.081s,采用dhe方法的处理时间为34.632s,采用jed方法的处理时间为13.346s,采用lime方法的处理时间为0.454s,而采用本发明的图像增强方法的处理时间为0.030s。各方法使用条件如下:本发明方法使用python语言,于gpu计算。方法he,dhe使用python语言,于cpu计算。方法msrcr,lime和jed使用matlab语言,于cpu计算。由于借助了gpu的加速计算,所以基于gpu处理的方法所用时间要明显小于基于cpu运算的方法。可见,采用本发明的图像增强方法处理时间短、速度快,具有较高的实时性,能够满足图像实时处理的需求。

对于拍摄的照片中存在既有暗的区域又有亮的区域。如图8所示,其中,(a)为低照度图像,(b)为高质量亮图像,(c)为采用msrcr方法处理的图像,(d)为采用he方法处理的图像,(e)为采用dhe方法处理的图像,(f)为采用jed方法处理的图像,(g)为采用lime方法处理的图像,(h)为采用本发明方法处理的图像。可见,对于如其中(a)所示的图像,虽然该图像于建筑物内拍摄,但是场景中有部分建筑物以外的内容,建筑物内的区域属于暗的区域,而建筑物外的区域属于亮的区域。对于此类情况,最好的处理结果是只针对暗的区域进行增强,减少亮的区域被二次增强从而导致过亮的情况出现。然而现有一些方法对于此类低照度图像的处理效果并不好,在增强暗区域的同时过度增强了亮的区域,或者虽然控制了亮区域没有过多的增强,但是对于暗区域的处理会明显不足。而采用本发明的增强方法对于图像中已经亮的区域没有进一步过多的增强,同时对于暗区域的增强效果也比较理想。这是因为:第一,在用于训练模型的图像中,本发明参杂了一些亮度适中的图像,通过这样的处理对过度增强亮区域的情况进行了限制,增加了模型的鲁棒性;第二,判别模型在训练的过程中会将亮区域过度增强的图像也判定为假,从而抑制了生成模型对于图像中亮区域的过度处理。因此,基于条件生成对抗网络的低照度图像增强方法对既有暗的区域又有亮的区域的低照度图像处理效果很好。

综上所述,本发明的基于条件生成对抗网络的低照度图像增强方法及装置,首先,能够对低照度图像进行增强,解决了处理后图像的颜色失真和边缘模糊的问题,大大提高了增强后的图像质量;其次,大大加快了处理图像的速度,满足了低照度图像的实时增强需求。

至此,已经结合附图所示的优选实施方法描述了本发明的技术方案,但是,本领域技术人员应当理解,上述实施方式仅仅是为了清楚地说明本发明,而并非是对本发明的范围进行限定,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1