基于改进Retinex算法的低照度图像增强方法
2020-06-29李武劲彭怡书欧先锋吴健辉郭龙源张一鸣黄锋徐智
李武劲 彭怡书 欧先锋 吴健辉 郭龙源 张一鸣 黄锋 徐智
摘要:针对低照度图像处理时的halo边缘问题和噪声干扰,提出一种基于组合滤波和自适应噪声消除的改进Retinex算法。该算法首先采用保边的组合滤波估计亮度图像,然后恢复反射图像时,定义一个包含保真项和正则项的能量函数,通过平滑权重系数控制平滑强度,使得抑制噪声的同时能够保持图像的细节信息。实验结果表明,提出的算法能够很好保持边缘,抑制噪声的干扰,达到增强低照度图像的目的。
关键词:图像增强;Retinex;低照度;组合滤波
中图分类号:TP391文献标志码:A文章编号:2095-5383(2020)01-0020-06
Abstract: In order to solve the halo edge problem and noise interference in low-light image processing, an improved Retinex algorithm based on integrated filtering and adaptive noise cancellation was proposed. The algorithm used the combined filtering with edge preservation to estimate the intensity image firstly. Then a energy function containing a fidelity term and a regularization term was defined when restoring a reflected image, and the smoothing intensity was controlled by the smoothing weight coefficient, so that the detailed information of the image can be maintained while suppressing noise. Experimental results demonstrate that the algorithm can efficiently enhance details in the under-exposed regions, keep edges, and suppress noise.
Keywords: image enhancement; Retinex; low-light; combined filtering
隨着光学和电子技术的不断发展,在良好曝光情况下摄像机能够拍摄出高质量的图像。但在低照度条件下,摄像机捕获的光子数量很少,拍摄的图像亮度很低。且由于制造工艺的限制,低照度下拍摄的图像参杂了多种噪声,特别是光子散粒噪声和读出噪声等,具有很低的信噪比。噪声是低照度图像存在的主要问题。对于静止的摄像机和目标景物,摄影者可通过长曝光时间抑制噪声;但对于运动物体,抑制噪声的同时会模糊图像细节信息。而现有方法往往将亮度调整和噪声抑制分成2个单独的步骤,实际效果不明显。若先抑制噪声,必然会丢失一些原本很弱的细节信息;而若先调整亮度,会放大噪声,加大噪声抑制的难度。此外,低照度图像还存在着亮度不均的问题。低照度背景下,户外拍摄的场景可能存在灯光等亮度值很大的区域。因此,线性或非线性的亮度转换函数和直方图处理的性能受到影响。
Retinex理论[1-15]是一种重要的图像增强技术,适用于处理光照不均问题,并且能有效地增强图像对比度和压缩动态范围。然而其普遍存在两个问题:一方面,由于算法在估计照度图像时难以区分边缘和细节信息造成的halo边缘问题;另一方面,算法对于含噪图像的处理效果不理想。
针对上述问题,本文提出一种适用于低照度图像增强的Retinex算法。该算法在抑制噪声的同时,能避免模糊边缘和细节信息。
1 Retinex理论
Retinex理论[1]基于4个基本假设:
1)每个色彩通道分别由独自的亮度值确定;
2)中心像素与周围像素的亮度比被认为具有照度不变性;
3)每个通道的照度值由大范围内局部比值综合确定;
4)每个通道中亮度值最大的像素被认为具有该通道内100%的反射率。
Retinex算法将一幅输入亮度图像I分解成2幅不同图像:反射图像R和照度图像L。数学表达式为:
其中:p为图像的二维空间坐标。去除不同光照的影响后,算法就能获得所需要的反射图像R。
从单幅输入图像中估计出照度图像是Retinex算法的关键。自从Land[1]提出Retinex理论后,研究者基于不同的理解相继提出了随机散步算法[1-6]、递归实现[7-9]、中心/环绕[10-12]算法、基于变分的算法[13-15]等多种实现方法。
Retinex算法最初是由Land[1-2]提出的随机散步算法。该类算法从当前处理像素的领域中随机选择出下个待处理的像素,而每个像素的照度依赖于算法随机路径上多个比值的乘积。根据随机分布路径的布朗运动,Marini[3]提出了一种更加快速有效地算法。随后,Brainard等[4]对随机散步算法进行了理论上的分析发现随着路径数目和长度的增加,该算法收敛为一个简单的正则化函数。此外,实现过程中算法需要给定多个参数。最近,满晨龙等[5]提出了一种基于区域分割的快速随机游走算法。
Retinex的递归实现由Frankle等[7]提出。为了提高算法运算速度,Funt等[8]提出了一种多分辨率的版本。随后,Sobol[9]改进了ratio运算,使得提高低对比度的同时能够更好地压缩原过大的对比度。这类方法的主要问题在于其迭代次数没有定义,并且对最终结果的性能有关键性影响。
中心/环绕Retinex算法具有如下基本假设:反射图像对应图像锐利的细节;而照度图像被认为空间平滑变化的,是输入亮度图像的低通版本。Jobson等[10]提出了单尺度Retinex算法,并用亮度图像和Gaussian核函数的卷积估计照度图像。为避免SSR算法产生的halo边缘效应,Jobson等[11]又提出多尺度算法,其结果为多个不同空间尺度的算法结果平均。最近,Bertalmio[12]提出基于核的Retinex算法,证明其具有Retinex理论相同的内在属性。与之前随机散步算法和递归算法相比,中心/环绕算法运算速度更快,并且有更少的算法参数。然而由于这类算法通过低通滤波估计照度图像,难以区分图像的边缘和细节(特别是亮度差较大的细节)。因此,这类算法的输出图像中往往存在halo边缘问题。
基于变分模型的Retinex算法由Kimmel等[13]提出。他们发现上述多种算法具有相似性,提出一种Retinex的变分框架,将照度估计问题转换为一个多项式优化问题。然而由于求解该优化问题需要多次迭代,运算时间较长。为了降低运算时间,Elad等[14]基于上述框架提出了几种改进的非迭代算法,如查找表、线性或非线性滤波、多个基函数的累计等。随后,Elad[15]又通过2个双边滤波实现了上述变分框架——第1个用于估计照度图像,另1个用于反射图像的计算。该算法在保持边缘和抑制噪声的同时,往往会模糊图像的细节信息。
2 改进的低照度图像增强方法
2.1 基本流程
本文提出一种适用于低照度图像清晰化的Retinex算法,该算法主要由2个步骤完成:1)采用保边的组合滤波估计亮度图像;2)提出一个自适应噪声抑制的方法,恢复反射图像,使得抑制噪声的同时能够保持图像的细节信息。图1给出了提出算法对灰度图像处理的流程图。对于彩色图像,算法对3个通道分别处理。
2.2 基于组合滤波的照度估计
為了平滑图像的同时保持边缘信息,本文采用组合滤波[16]估计图像的照度。首先,引入绝对梯度均值,与图像方差一起计算权重系数。其次,采用多次分解的方法平滑边缘周围像素。
滤波的输出可以看作是输入图像和其均值滤波的加权结果:
3 实验
3.1 实验条件
为了验证本文增强算法的有效性,本文使用Matlab针对低照度图像进行处理。
3.2 实验结果
图2~4给出了3幅图像的处理结果。由于现有摄像机硬件设备的技术限制,拍摄图像的低照度区域都有多种噪声。从图2~4可以看出,由于没有抑制噪声的步骤,文献[11]和文献[8]在提高了这些图像低照度区域对比度的同时,也放大了原图像中的噪声。本文提出的算法根据照度值自适应的平滑图像,能够在有效抑制低照度区域照度的同时,保持曝光较好区域的边缘和细节信息,如图3(d)和图4(d)所示。该算法对3幅图像采用的平衡参数依次分别为0.000 1、0.000 5和0.001。通过调节,可以抑制不同强度大小的噪声。
为了量化评估上述不同算法结果的性能,选择图像熵和平均梯度作为客观评判标准[20],表1和表2为实验结果。熵是一种对信号随机性的统计形式,表示为图像灰度级集合的比特平均数,而平均梯度反映了图像灰度变化强度。图像熵和平均梯度大致反映了图像中纹理信息量的多少,而后者主要有细节信息和噪声。图2中,输入图像的质量很好,噪声很少,其图像熵和平均梯度主要由细节信息决定。与其他算法相比,本文算法在这种情况下具有最大的熵值和平均梯度,表明其增强细节的能力最强。图3和图4中,输入图像的低照度区域有不同程度的噪声,其图像熵和平均梯度包含了细节信息和噪声。本文算法根据照度值自适应的平滑图像,抑制了噪声,也使得熵值和平均梯度的减少。而文献[11]、[8]算法的结果放大了噪声,增加了熵值和平均梯度。从表1~2可以看出,本文算法和文献[8]算法的熵和平均梯度差值随着噪声强度的增大而增大,表明本文算法能较好地抑制噪声。
4 结语
本文提出了一种用于低照度图像清晰化的Retinex算法。实验结果表明,提出的算法在估计照度图像时能够很好保持边缘的同时,抑制噪声的干扰,达到了低照度图像增强的目的。
本算法在恢复反射图像时,需要进行大矩阵除法计算,算法的时间复杂度较高,不能进行实时处理,需要在以后工作中改进。
参考文献:
[1]LAND E,MCCANN J. Lightness and retinex theory[J]. Journal of the Optical Society of America A,1971,61(1):1-11.
[2]
LAND E. The Retinex theory of color vision[J]. Scientific American,1977(237):108-128.
[3]MARINI D. A computational approach to color adaptation effects[J]. Computer Vision and Image Understanding,2000,18(13):1005-1014.
[4]BRAINARD D,WANDELL B. Analysis of the Retinex theory of color vision[J]. Journal of the Optical Society of America A,1986,3(10):1651-1661.
[5]满晨龙,史再峰,徐江涛,等. 基于区域分割的快速随机喷洒Retinex方法[J]. 南开大学学报(自然科学版),2017(2):72-78.
[6]解德芳,李彬,刘霜纯,等.基于改进随机游走算法的CT影像的肺裂检测[J].计算机工程与设计,2018,39(3):738-745,751.
[7]FRANKLE J,MCCANN J. Method and apparatus for lightness imaging:US,4384336[P]. 1983.
[8]FUNT B,CIUREA F,MCCANN J. Retinex in Matlab[J]. Journal of the Electronic Imaging,2004,13:48-57.
[9]SOBOL. Improving the Retinex algorithm for rendering wide dynamic range photographs[J]. Journal of Electronic Imaging,2004,13(1):65-74.
[10]JOBSON D J,RAHMAN Z. Properties and performance of a center/surround Retinex[J]. IEEE Transactions on Image Processing,1997,6(3):451-462.
[11]JOBSON D J,RAHMAN Z. A multiscale retinex for bridging the gap between color images and the human observation of scenes[J]. IEEE Transactions on Image Processing,1997,6(7):965-976.
[12]BERTALMO M,CASELLES V,PROVENZI E. Issues about retinex theory and contrast enhancement[J]. International Journal of Computer Vision,2009,83(1):101-119.
[13]KIMMEL R,ELAD M,SHAKED A,et al. A variational framework for Retinex[J]. International Journal of Computer Vision,2003,52(1):7-23.
[14]ELAD M,KIMMEL R,SHAKE D,et al. Reduced complexity Retinex algorithm via the variational approach[J]. Journal of Visual Communication and Image Representation,2003,14(1):369-388.
[15]ELADM. RETINEX by two bilateral filters[J]. Scale-Space Lecture Notes in Computer Science,2005(3459):217-229.
[16]LI W J,HE W,OU X F,et al. Fast combination filtering based on weighted fusion[J]. Journal of Visual Communication and Image Representation,2019,62(6):226-233.
[17]SCHECHNER Y Y,KARPEL N. Recovery of underwater visibility and structure by polarization analysis[J]. IEEE Journal of Oceanic Engineering,2005(30):570-587.
[18]陳康. 基于全变分与图像增强的去雾算法研究[D].西安:西安科技大学,2017.
[19]朱森林. 一种Retinex问题的加权总变分方法[D].兰州:兰州大学,2018.
[20]魏德志,梁光明.基于改进的CLAHE显微细胞图像增强算法[J].计算机技术与发展,2018,28(10):111-114.