基于改进同态滤波的低对比度图像增强

2020-03-13 10:56刘佳敏
计算机应用与软件 2020年3期
关键词:直方图分量亮度

刘佳敏 何 宁

(北京联合大学智慧城市学院 北京 100101)

0 引 言

图像在采集、获取过程中,主观与客观等诸多因素常导致图像对比度低、清晰度低并伴随噪声。为了提高图像质量,使其更适合人眼特性,有必要对图像进行增强。在生活中,我们会得到动态范围大的图像(即黑色部分非常黑,白色部分非常白),目标部分的灰度非常暗(即灰度范围非常小),因此我们无法区分对象的灰度和细节。扩展灰度级可提高图像的对比度,但会使动态范围变大。灰度级压缩可以减小动态范围,但会使物体的灰度和细节难以区分。

目前,低对比度图像的增强方法有很多,如直方图均衡[1-2]、同态滤波[3]、对比度约束自适应直方图均衡(CLAHE)[4-6]。直方图均衡算法对图像全局像素进行直方图变换,对像素值分布均匀的图像效果明显,但如果图像包含比图像其他区域更暗或更亮的部分,这些部分的对比度将不会得到有效增强,也可能导致图像中对比度抑制和中小型物体的消失,减少图像信息。

自适应直方图均衡(AHE)能有效提高图像对比度。AHE算法[7-8]通过对局部进行直方图均衡来改善CLAHE方法的缺陷,所以能更好提高图像的局部对比度,保留更多图像细节。然而,该算法存在图像同一区域噪声过大的问题,对比度约束的自适应直方图均衡(CLAHE)算法可以有效地限制噪声放大[9]。

CLAHE和AHE之间的区别在于对比度限制。这个特性也可以应用到全局直方图均衡化中,但该算法需要对图像中的每个像素计算其邻域直方图以及对应的变换函数,这使得算法极其耗时。

在图像增强领域,针对低对比度图像Retinex算法[10-11]和深度学习方法[12-14]应用也越来越广泛。Retinex方法最初被NASA用于处理航天图像,增强效果明显,后逐渐被改进并用于其他增强应用中。但Retinex方法参数只能通过经验设置,且计算复杂度高,耗费成本极大。深度学习算法在人工智能领域应用广泛,但是深度学习对数据集要求较高,目前国内没有适合的数据集进行训练测试,许多学者利用合成的或处理之后的图像作为小样本训练集进行学习,局限性大,泛化能力不强。

对于光照不均匀的图像,同态滤波[15]既可以实现亮度调节,又可以提高对比度,从而提高图像质量。但同态滤波的参数过多且只能通过实验测试获得,并且图像经过同态滤波处理后图像出现细节模糊、轮廓不清晰现象。

为了解决上述问题,本文提出了一种将CLAHE与改进的同态滤波相结合的算法。我们在不改变同态滤波函数衰减低频,增强高频特性条件下,改变滤波器函数来减少计算复杂度,最后结合CLAHE算法,不仅简化了计算,满足了实时性要求,同时增强了图像细节。实验结果证明该方法更有效更简单,明显改善图像对比度,并消除噪声影响。

1 同态滤波

根据照射-反射模型,一幅图像f(x,y)可以表示为其照射分量i(x,y)和反射分量r(x,y)的乘积。即:

f(x,y)=i(x,y)r(x,y)

(1)

式(1)不能直接用于处理光照的频率分量,因为在傅里叶变换中,乘积的变换不等同于变换的乘积。

等式两边分别进行对数变换得:

z(x,y)=lnf(x,y)=lni(x,y)+lnr(x,y)

(2)

则有:

(3)

Z(u,v)=Fi(u,v)+Fr(u,v)

(4)

式中:Fi(u,v)和Fr(u,v)分别是lni(x,y)和lnr(x,y)的傅里叶变换。

我们用滤波器对Z(u,v)滤波,则有:

S(u,v)=H(u,v)Z(u,v)=H(u,v)Fi(u,v)+

H(u,v)Fr(u,v)

(5)

由于z(x,y)是通过输入图像的自然对数形成的,故可通过取滤波后结果的指数这一反处理来输出图像:

g(x,y)=es(x,y)=ei′(x,y)er′(x,y)=i0(x,y)r0(x,y)

(6)

式中:

i0(x,y)=ei′(x,y)

(7)

r0(x,y)=er′(x,y)

(8)

推导分别得到输出图像的照射和反射分量。

同态滤波器需要一个函数H(u,v)来更好地控制光照分量,其中D(u,v)是距中心的距离。如果HH和HL选定,HH>1且HL<1,那么图1所示滤波器函数趋向于对低频(照射)部分进行衰减,并对高频(反射)部分进行增强,其结果是同时进行动态范围的压缩和对比度的增强。

图1 滤波器剖面图

图1所示的函数形态近似高通滤波函数,如高斯高通滤波、巴特沃斯高通滤波、指数滤波[16],其中常数控制函数坡度的锐利度,它在HL和HH之间过渡,D0是图像的截止频率。

(1) 高斯同态滤波:

(9)

(2) 巴特沃斯同态滤波:

(10)

(3) 指数同态滤波:

(11)

2 方法设计

2.1 CLAHE算法

CLAHE算法在计算累积分布函数(CDF)以限制放大幅度之前,使用预先定义的阈值来调整柱状图。这不仅限制了CDF的斜率,而且也限制了转换函数的斜率。柱状图的剪切极限取决于柱状图的分布和域的大小。一般情况下,直接省略超过直方图裁剪极限的部分是不精确的。裁剪部分应均匀分布到柱状图的其他部分,如图2所示。这样处理,能防止图像锐化,使图像对比度会更自然。文献[17]中对CLAHE算法基本流程做了详细描述。

图2 CLAHE算法

2.2 改进同态滤波

本文利用高斯函数对同态滤波进行改进,并利用改进的同态滤波[18]对图像进行增强。改进后的同态滤波参数相较传统同态滤波函数明显减少,算法更简洁、更可控。

同态滤波的高斯低通滤波函数为:

(12)

改进后的同态滤波函数为:

Hg(i,j)=a+bH(i,j)

(13)

对图像进行傅里叶变换得到:

Gg(i,j)=Hg(i,j)Z(i,j)=Hg(i,j)I(i,j)+

Hg(i,j)R(i,j)=[a+bH(i,j)][I(i,j)+

R(i,j)]=aI(i,j)+aR(i,j)+bH(i,j)I(i,j)+

bH(i,j)R(i,j)

(14)

由式(14)可知:a是调整低频分量的系数,即调整入射分量(调整亮度);b是调整高频分量的系数,即调整反射分量(细节特征)。从实验中得知,不同图像的a、b参数设置不同。D0的选择比较困难,它和照射与反射对应的频谱幅度对比度有关,一般需多次实验才能确定。原始图像中室外屋顶建筑的边缘轮廓很模糊,室内暗处细节不明显,利用该函数进行滤波后, 不但能保留低频分量aI(i,j),还能对高频项bH(i,j)I(i,j)进行增强,从而使图像边缘的轮廓更加清晰,有助于表现出图像中暗处的细节。最后,用傅里叶变换对同态滤波后的图像进行反变换,结果如下:

g(i,j)=F-1(Gg(i,j))=i′(i,j)+r′(i,j)

(15)

对g(i,j)进行指数运算得:

s(i,j)=eg(i,j)=i0(i,j)+r0(i,j)

(16)

为了改善改进同态滤波在图像处理中的刚性和细节少等缺点,本文将CLAHE算法与改进同态滤波相结合对图像进行处理。结果显示该方法可以明显提高图像的亮度,保留图像的细节,增强图像对比度。具体的处理流程如图3所示。

图3 本文方法处理流程

3 实验结果与分析

3.1 实验结果

为了对算法的效果有一个感性的理解,本文将大量图像与不同的算法进行了比较,结果如图4所示(其中左图为庙宇,右图为隧道)。实验表明,针对低对比度图像,将CLAHE与改进同态滤波结合的方法处理效果更理想,视觉体验好,对细节的保留更完整。从图4可以看出,处理后的图像的视觉效果得到了有效的改善。

(a )原图

(b) 高斯同态滤波

(c) 巴特沃斯同态滤波

(d) 指数同态滤波

(e) CLAHE

(f) 改进同态滤波

(g) 本文算法图4 不同算法实验效果图对比

3.2 主观分析

从图4可以看出,原始图像的背光区域细节不明显,亮度一般较低。高斯、巴特沃斯和指数同态滤波在一定程度上提高了亮度,黑暗部分对比度有所改善,但同时也造成建筑轮廓不清晰、整体泛白的现象,视觉效果一般。CLAHE明显改善了这一缺陷,屋顶的细节保存完整,但背光区域亮度仍然没有达到理想效果。本文方法同时解决了以上问题,室外房顶轮廓清晰,细节保留完整,建筑形态与隧道建筑结构清晰,在提高图像亮度、保留图像细节的同时,使图像更自然。在视觉感知方面,与其他方法相比,本文方法具有更好的效果。

3.3 客观分析

本文将采用均方误差(MSE)、峰值信噪比(PSNR)作为图像质量检验指标。MSE的值越小,说明处理效果越精准; PSNR越大说明图像保真程度越高。除此之外,我们加入了对比度评价指标[19],对比度即亮暗的对比程度,对比度越大,图像层次越强,清晰度越高。

从表1可看出,改进算法参数个数相较其他滤波算法明显减少,不但减少了计算,同时也保留了图像细节并对噪声进行有效抑制。从表2的图4庙宇可看出,原图像对比度只有0.004 64,经过同态滤波处理后的原图像对比度均有所提高,其中改进同态滤波效果最明显。对于图4隧道,CLAHE算法效果最明显。在图像处理过程中,噪声也会对图像产生一定的影响。从峰值信噪比数值可看出,本文方法相较改进方法,在增强图像对比度的同时也抑制了噪声。故可从不同应用中考虑最有效的方法。

表1 滤波函数参数

表2 指标评估

综上所述,本文方法增强效果更明显,更符合人眼特征,视觉效果更好。

4 结 语

本文研究了基于同态滤波的频率域图像增强技术。首先介绍了常用经典算法的原理与应用,详细分析了它们的实现过程和优缺点,并在此基础上做了改进,同时也介绍了改进算法的原理与实现。结果表明,图像整体的亮度与对比度有明显改善,很好地保留了细节,有效地对其他方法效果做了补偿。但是同时也面临很多问题,比如在对图像进行处理过程中同时增加了噪声,图4庙宇的周围出现晕圈等。今后,我们可以考虑基于小波变换的图像增强算法[14],并对该方法进行相应的改进。对比度增强算法只是图像增强中的一部分,而且方法多种多样,本文主要采取灰度图像,未来可考虑彩色图像或黑暗图像,以及在不同应用中根据需求对同态滤波器做优化[20]。

猜你喜欢
直方图分量亮度
用于遥感影像亮度均衡的亮度补偿方法
远不止DCI色域,轻量级机身中更蕴含强悍的亮度表现 光峰(Appptronics)C800
画里有话
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
用直方图控制画面影调
论《哈姆雷特》中良心的分量
本本亮度巧调节,工作护眼两不误
亮度一样吗?
例析频率分布直方图