何 涛,王 超,吴贵铭
(1.湖北工业大学机械工程学院,湖北 武汉 430068;2.现代制造质量工程湖北省重点实验室,湖北 武汉 430068)
高质量图像为图像后续处理过程提供保障。然而,受到诸如图像采集系统的误差、特殊的拍摄环境等因素的影响,往往不能直接获取清晰的图像。噪声和光照是图像质量两个主要影响因素,噪声较大的图像会产生模糊、局部细节不清晰等,而暗光图像在较低对比度区域隐含了大量噪声等,不仅不易区分而且对后续图像处理有较大影响。
基于变换域图像去噪方法应用广泛[1,2],但存在细节丢失的问题。而通过三维块匹配滤波(block-matching and 3D filtering,BM3D)及其改进方法[3~5]在含高斯噪声图像去噪方面表现优异,然而,其对于图像盲去噪表现却不理想,在实际场景中去噪效果有限。在实际图像质量提高过程中,由于增强光照的同时伴随着噪声信号的扩大,而去除噪声信号的同时,往往会将暗光图像特征变得模糊。近几年来,随着深度学习的快速发展,基于卷积神经网络(convolutional neural network,CNN)的方法[6,7],在图像去噪[8]与对比度增强[9]方面也取得了前所未有的成就。Li T 等人[10]提出基于去噪CNN(denoise CNN,DnCNN)的算法与改进大气散射模型分别实现图像去噪与图像对比度增强。Lin L等人[11]采用BM3D滤波器和带结构滤波器自适应地提取出平滑的基层与一阶微分图像层,并将两部分图像结合得到一个无噪声、保留细节的图像。然而,以上两种深度学习方法在光照增强方面通常会模糊或去除图像细节和纹理,即图像局部细节区域模糊。此后,Lore K G 等人[12]提出一种基于深度自编码的暗光图像去噪LLNet 方法,通过构建一个堆叠式深度去噪自编码器以自适应地实现图像去噪,但该方法对自然场景下暗光图像增强与噪声抑制有很好的效果。
本文设计了一种基于CNN的暗光图像去噪算法模型,先利用原始清晰图像数据集生成训练集,在合成训练集上训练一个图像去噪增强器,通过预训练模型从暗光与噪声图像中学习到清晰正常对比度图像。
图1为模型整体框架。首先,模型通过一个卷积层将输入特征均匀化;然后,通过一个对图像中噪声信号预处理,再通过4个暗光增强与去噪模块的处理;最后,运用单核卷积操作重构出不含噪声的正常光照图像作为模型的输出。
图1 暗光图像去噪模型整体框架
本文所设计的多尺度网络学习模块是由类似自编码器结构[13]与残差学习[14,15]单元组成,自编码器单元在编码解码过程中去除图像噪声[16],跳跃连接让局部感受野更多的连接原始图像的像素点,可有效恢复预去噪网络中被破坏的局部细节。因残差学习与跳跃连接解决了深层次网络结构在反向传播过程中梯度消失问题,从而更好地重构出原始图像。
如前所述,模型结构由2个部分构成,分别是预去噪模块和暗光增强去噪模块。输入数据被分派到2个独立的过程,一方面输入数据只通过1 ×1 卷积层,另一方面输入数据通过5个3 ×3卷积层,将2部分输出叠加作为下一部分的输入,随后再由4个去噪、增强模块堆叠组成深层去噪增强网络。对于每一模块,首先通过自编码器网络结构,数据前半部分使用不同尺寸的步幅卷积,可有效减少数据量,后半部分通过上采样与跳跃连接过程恢复到原始尺寸。输出数据采用2种方式处理,一方面先通过2 个3 ×3 卷积层,另一方面使用残差学习的方式快捷连接2 个过程,并将输出结果作为整个增强模型的输出结果。通过激活函数后,模型将会学习到一个未含噪声、正常对比度的图像。
考虑到单通道灰度图像的特征形式,除了网络最后一层使用一个卷积核输出一个单通道图像,其余各层都是用64个卷积核来提取图像特征。由于原始图像尺寸过大,且大小不一,为了优化训练过程,选择每一批次输入图像尺寸为61像素×61 像素,产生方式是在数据集预处理的过程中,设置步长为5像素,通过61 像素×61 像素大小的滑动窗口在原始图像中产生含有重叠像素的小尺寸图像。训练过程中,每个周期训练5000个批次,每个批次含有16张小尺寸图像。
根据文献[17]所述,图像的噪声信号一般情况下被认为是独立同分布的,比如加性高斯白噪声(additive white Gaussian noise,AWGN),因此,图像去噪的方法一般是去除图像的高斯白噪声。从原始图像I(x,y)∈R3生成暗光条件下噪声图像Itrain(x,y)∈R3,计算公式如下
式中 函数n(x)为噪声函数。利用MATLAB中imnoise函数模拟噪声信号,参数设置标准差σ =(B(25/255)2)1/2,B服从0 ~1之间的均匀分布。函数g(x)为改变图像亮度值Gamma变换函数,其利用随机变量γ服从均匀分布γ ~Uniform(2,5)以模拟真实场景的光照变化。
对训练图像Itrain∈R3,在反向传播过程中应采用结构相似度(structural similarity,SSIM)损失函数以最小化l更新模型参数,同时l2-norm作为正则化项以防止模型出现过拟合。公式如下
l2正则化项表达式为
其中,SSIM损失表达式如下
式中N为每一批次训练样本对的个数,i为每一批次训练样本中第i张训练图像,p值为图像每一个像素点的值,μx与μy分别为x和y的协方差,C1和C2为常数。SSIM(p)∈(0,1],当p=Itrain时,表示计算整个图像的SSIM 值。本文算法实施中,卷积核尺寸、C1和C2值为8,0.001,1/40。
实验中,采用的对比方法分别为伽马变换(Gamma transform)、联合直方图均衡化与三维块匹配(HE_BM3D)、含BM3D滤波器去噪的照明估计暗光增强方法(low-light image enhancement via illumination map estimation,LIME)[18];CNN方法则为直接CNN(direct-CNN,D-CNN)去噪增强模型。
针对图像单像素非线性变换方法遗传算法(GA)可自适应调整图像对比度,根据公式
当Gamma值γ <1时,图像变亮,实验中设置γ =1/3。联合直方图均衡化与3D 块匹配方法的实验中,首先将测试图像直方图均衡化处理获取增强后图像,然后使用BM3D作为去噪器,去除直方图均衡化过程中产生的噪声作为对比实验。
联合暗光图像照明图估计[15]是一种光照估计图像去噪方法,结合BM3D在YUV空间去噪可以方便实现联合图像去噪与暗光增强效果,计算公式如下
式中Rrestruct,R分别为增强后和原图像在YUV颜色空间Y通道图像,T为使用强化结构优化得到的照明图,Rd为通过BM3D生成的去噪图像,◦为点积操作。本文实验中,照明图T的矫正参数γ =0.7,权重影响因子σ =0.03。
图2所示为直接CNN 模型,只使用卷积层和批归一化(batch normalization,BN)端到端的训练一个CNN图像去噪增强模型。模型共设置17个卷积层,最后一层卷积核为1 ×1,其余各层卷积核为3 ×3,另外D-CNN 模型同样采用SSIM作为损失函数在反向传播过程中更新每一层参数。
图2 D-CNN模型结构
采用上述方法分别在BSD68 数据集上做测试。本文实验中,选取具有代表性图像“城堡”图作为清晰、不含噪声的测试图像,图像尺寸为320 像素×480 像素。用测试图像依次生成暗光(γ =10/3)、噪声与暗光(γ =10/3,σ =15;γ =10/3,σ =25)条件下图像作为原始测试图像,如图3左侧虚线框中所示。
图3为5种方法在4种条件下对原始测试图像测试效果。计算每幅图像与清晰不含噪声“城堡”图像的PSNR、SSIM值,如表1 所示。从实验结果可知,对于原始测试图像(γ =0,σ =0),HE_BM3D表现的与原图最为接近,但相较于GA方法有过大的增强效果,本文模型亮度值处于正常变化范围之内。
表1 与图3 对应图像的PSNR和SSIM值
对于无噪声暗光图像(γ =10/3,σ =0),D-CNN表现最为接近,整体亮度值没有被过于放大或减小;本文模型在对暗光无噪声图像的预测上整体亮度值有些许变化的提升,但对于局部较暗区域的重构上不够理想。
对于低噪声暗光图像(γ =10/3,σ =15),基于CNN模型的去噪与暗光增强效果就能很好地表现出来,视觉效果上,去噪和增强能同时实现,相较于直接深层CNN,本文模型去噪效果明显,其PSNR值达到23.50。
对于高噪声暗光图像(γ =10/3,σ =25),D-CNN 在重构过程中产生了伪影,整体的恢复效果也很差,因为图像噪声值增大,模型为保证PSNR 值有较高水平,忽略了对比度、局部细节的重构上。并且D-CNN 在反向传播过程中,不能客观兼容去噪、暗光增强效果,导致整体亮度值也不能很好的恢复。如图4所示,通过模型损失值的变化来看,随着训练周期的增加D-CNN 模型SSIM 值不降反增,重构效果受到很大限制。而本文提出的模型,在50个训练周期后SSIM值下降到0.1 以下,有效去除了图像潜在的噪声信号,保证有较高的PSNR值,同时把光照恢复到一个更接近原图光照水平之内,评估结果表明,其PSNR 值为25.23,SSIM值也达到了0.92,在所有对比实验中效果最为显著。
图4 本文模型与D-CNN损失值对比
图5为自然暗光场景图像的实验对比。自然场景下采集的图像受多种因素的影响,不仅含有很多种噪声信号、前后景对比度较低,而且局部细节模糊、特征不明显等。
图5 自然暗光场景图像实验对比
实验中采集自然条件下正常光照与暗光的试验台图像,图5(b)为自然暗光图像与预训练模型预测。
通过与其他4种方法的对比,本文模型在BSD68 数据集的PSNR和SSIM值可同时达到25.23 dB和0.927,取得优异的效果。最后,采集自然暗光条件下的图像(含多种噪声),用预训练模型去噪与对比度增强,结果表明:本文所提出模型对自然暗光场景的图像恢复的PSNR 和SSIM达到14.03 dB和0.423,对比度增强效果明显,但去噪效果还需要进一步提升,后续将通过修改模型参数与结构提高模型的泛化能力。