一种基于单尺度Retinex的图像增强算法
扫描二维码
随时随地手机看文章
引言
对人眼而言,一张好的图像除了逼真的意境外,还需丰富的色彩、细腻的细节。然而,在光比非常大的场景,比如在太阳出来时逆光拍摄。如果用数码相机拍摄获得的图像,不是看到白晃晃的天空就是看到背光处黑洞洞的阴影,这是因为数码相机中将真实场景的光辐射转化为电信号的CCD传感器的动态范围比较小(一般不超过1000:1),而真实场景的动态范围都远远超过这个范围,导致只能保证一部分影像准确曝光,使得高光部分画面过曝丢失较多细节或者较暗部分欠曝无法分辨。为了得到层次丰富,包含细节较多的图像,目前很多专业级别的摄影师多采用胶片拍摄,而对于更多采用普通的数码相机的非专业级别的摄影者们,通常是后期利用一些图像处理软件来制作高动态范围(HighDynamicRange,HDR)图像。
通常,用相机获得一幅图像的目的是为了能够通过显示设备重现所记录的场景,使用户从重现场景获得的信息与身临其境所获得的无差异。一般的显示设备只能表示24b/像素,R、G、B各占8位,而真实场景和通过光电器件获得的HDR图像的动态范围都超过了低动态范围显示设备能显示的动态范围,导致在低动态范围(LDR)显示设备上不能直接显示高动态范围图像。为了能显示高动态范围图像,目前主要有两种方法:一种是开发高动态范围图像显示器,但是技术还不成熟,而不能广泛推广应用;另外一种是色调映射,即通过压缩高动态范围图像的动态范围,使其能够在低动态范围显示器上显示。目前色调映射的方法已经比较成熟,不同的色调映射算法产生的效果不同,但最终的目的都是在压缩亮度范围的同时,还要保存高动态范围图像的颜色保真度等信息。
近几年来,HDR图像逐渐兴起。HDR图像的制作途径主要有两种:一种是拍摄时采用包围曝光法,获得同一场景的一组曝光量不同的图像,然后利用Photoshop等专用软件进行叠合;另外一种就是利用数码相机的RAW文件,以不同的曝光补偿输出,然后进行叠合。第一种方法比较常见,通过HDR合成后,亮的地方可以非常亮,暗的地方可以非常暗,但是亮暗部的细节都比较明显。
对于使用JPG、PNG等格式的普通LDR图像的广大普通用户,在拍摄图像时,有时因为拍摄器件本身性能或外界光线等原因(如阴雾天气、夕阳斜射、拍摄者位置受限)导致拍摄图像对比度差或出现大片阴影区,就希望通过后期处理从单张的低动态范围图像获得色彩丰富、对比度高、细节更多的图像,使处理后的图像甚至能用于航空航天、军事、医疗和科学研究等领域。因此本文将采用基于单尺度Retinex算法的图像色调映射法,并结合直方图均衡化和颜色空间转换来增强图像,使增强后的图像和真实场景有更接近的效果。
2Retinex理论模型及SSR改进算法
Retinex理论是一种建立在科学实验和科学分析基础上的基于人类视觉系统(HumanVisualSystem)的色彩的理论,该算法的基本原理模型最早是由EdwinLand于20世纪70年代提出的。Retinex理论[4]的基本内容是物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的,而不是由反射光强度的绝对值决定的,物体的色彩不受光照非均性的影响,具有一致性,即Retinex理论是以色感一致性i颜色恒常性)为基础的。照度引起的颜色变化通常表现为平滑的照明梯度,而表面变化引起的颜色变化则常表现为突变的形式。通过区分这两种变化形式,就能将图像的照度变化和表面变化辨别出来,从而可知由照度变化引起的表面变化对色感保持恒定。因此,理论模型中图像主要由两部分组成,分别是入射光和反射物体。其基本理论模型如图1所示。
其中:L(x,y)表示入射光,直接决定了图像中像素能达到的动态范围;R(x,y)表示物体的反射性质,决定了物体的内在性质;(x,y)表示观察者能接收到的反射光形成的图像。
Retinex理论的目的就是通过某种方法估计接近真实场景的入射光并去除或降低它的影响,实现从图像S中获得体现物体的内在性质。Retinex算法分为三大类,它们分别为:基于路径的Retinex算法、Retinex迭代算法和基于环绕的Retinex算法。基于环绕的Retinex算法又分为单尺度Retinex算法
(SSR)和多尺度Retinex算法(MSR)。其中SSR算法的实现和操作比较简单,并且运算速度比较快。为了能从单张低动态范围的图像获得更好效果(如:动态压缩范围压缩、颜色保真等)的图像,但又不增加运算复杂度,本文提出基于SSR的改进算法来重建图像。
根据Retinex理论,以式(1)为基础对图像进行SSR处理的过程推导如下:
其中:(x,y)表示当前像素的坐标-,S(x,y)表示输入图像第i个颜色通道的灰度值S(x,y)表示用来表达物体内在性质的运算结果;7为卷积符号;GE)=為exp(-为高斯函数,。是高斯函数标准差,其大小与邻域半径r=丿X+W的关系是r越大时g也越大,反之则越小。由此可以看出,SSR算法中估算入射光时采用的是窗口运算,即以当前像素为圆心,将其半径为r邻域内的所有像素灰度值作为计算依据来进行估算。
根据圆的对称性和光的反射性质,在本文中,我们不取半径r以内的所有像素点,而只取部分沿半径方向的像素来估算入射光,如图2所示,。为当前像素点,参与式(2)中卷积运算的像素只取沿x轴和y轴方向的,这样可大大的减小计算量和节约很大运算存储空间。同时也正因为参与卷积运算的像素数量减小,通过改进SSR算法得到的图像增强主要只体现在色彩保真度方面。这也正为我们后续处理中获得曝光度不足图像提供了条件。
3图像增强算法流程
结合当前常用来制作HDR图像的两种主要方法:利用包围曝光法拍摄和利用数码相机的RAW文件调节不同曝光补偿的方法。本文将利用基于SSR算法的图像色调映射法、合直方图均衡化和颜色空间转换先得到类比于同一场景的一组曝光度不同的图像,最后调节曝光度不同图像的权重重建出增强的图像,其过程描述如图3所示。图中,首先将基于改进SSR算法构建的图像I1从RGB颜色空间转化到YCbCr颜色空间,计算求出亮度分量Y,接着同样将原图像I从RGB颜色空间转化到YCbCr颜色空间,计算求出色差分量Cb、Cr,再将这3个分量从YCbCr颜色空间转化到RGB颜色空间构建图像I2,2就是所需的曝光度不足的图像;另外,将原图像I通过直方图均衡化方法处理来提高对比对,得到其相应的图像I,就是所需的曝光过度或正常的图像。最后将图像I2、3和原图I按一定权重重建所需增强图像。
为了验证本文方法对图像增强的效果,这里分别选用两种带有阴影的不同场景图像进行处理,通过和原图比较,观察处理前后的差别来说明本算法对图像的增强效果。仿真过程中,参数r和g的取值范围,rN10(以像素为单位),g在r的附近取值。当r较小时,g在r附近较小的范围内取值,当r增大时,g在r附近取值的范围也增大。在图4和图5中,r=30,g=60,(a)、(b)、(c)、(d)分别为原图像I、由原图像经过SSR处理和颜色空间转换构建的类比于曝光不足的图像人、由原图像经直方图均衡化构建的类比于曝光正常或过度的图像厶、最终的增强效果图像I4。
图4为对楼房场景处理前后的效果。可以看出图4(c)中经直方图均衡化后的图像的对比度过分增强,类比于曝光过度的效果。由图4(a)、(b)和(c)按一定权重重建得到的图像L的效果和原图像比较,我们可以看到的对比度提高了和色彩保真性较好。图5为对石头场景处理前后的效果,从图中可以看出图5(C)中经直方图均衡化后的图像的对比度提高了,类比于曝光正常的效果,但是色彩饱和度确降低了。由图5(a)、(b)和(c)按一定权重重建得到的图像Z,的效果和原图像比较,同样我们可以看到的对比度提高了和色彩饱和度提高了。
通过以上对两个场景图像处理前后的比较,可以直接看到经过本文的算法处理后,图像的对比度提高了和色彩保真性比较好,使图像轮廓等细节信息更清晰,这样给观察者更好的视觉效果。并且众所周知用SSR算法的普遍缺点:在光源处容易出现光晕,在低对比度区域局部泛灰,在本文改进算法后的实验结果中也没有出现。
5结语
为了从单张图像直观的得到更多的图像细节信息和视觉效果,本文以SSR算法为基础,获得体现物体内在性质的信息,并将图像从RGB颜色空间转换至YCbCr颜色空间获取亮度和色度信息,再用所得图像不同信息分量在RGB颜色空间重建一幅色彩保真性好类似于曝光不足的图像。另外,通过直方图均衡化构建另外一幅对比度提高的图像,最后将所得两幅图像和原图按权重重建出增强的图像。通过实验结果可以看出,本文算法不但过程简单,运算速度快,而且对图像的增强效果比较明显。
20211223_61c416ef361a0__一种基于单尺度Retinex的图像增强算法