【读点论文】基于二维伽马函数的光照不均匀图像自适应校正算法

基于二维伽马函数的光照不均匀图像自适应校正算法

  • 摘 要:提出了一种基于二维伽马函数的光照不均匀图像自适应校正算法.利用多尺度高斯函数提取出场景的光照分量,然后构造了一种二维伽马函数,并利用光照分量的分布特性调整二维伽马函数的参数,降低光照过强区域图像的亮度值,提高光照过暗区域图像的亮度值,最终实现对光照不均匀图像的自适应的校正处理.通过与经典算法对比表明,本文算法可以更好地降低光照不均匀对图像的影响,提高图像的质量.

  • 在视频和图像的采集过程中,由于受到地物环境复杂、物品之间相互遮挡以及环境光照条件多变等因素的影响,经常会导致场景的光照不均匀,主要表现为图像中亮的区域光线足够或者过强,而暗的区域照度不足,导致一些重要的细节信息无法凸显甚至被掩盖掉,严重影响了图像的视觉效果和应用价值,因此开展光照不均匀图像的校正研究,消除不均匀光照对图像的影响,已经成为当前图像处理领域的一个研究热点

  • 光照不均匀图像校正的方法主要分为有参考的校正方法和无参考的校正方法两大类 .由于前者需要参照某标样图像进行校正,而这样的图像在实际应用过程中很难获取,因此无参考的光照不均匀校正算法研究受到了广泛的关注.目前无参考的光照不均匀校正的方法主要有基于Retinex理论的算法、直方图均衡化(HE)方法、非锐化掩膜法、形态学滤波法和基于空间照度图的方法等 . 基于Retinex理论的方法具有色彩恒常性,但是这类方法会在图像亮度突变的地方产生光晕现象 ;直方图均衡化方法因其具有算法简单、运算量小的优点被广泛用于图像增强处理,但是对光照不均匀图像处理结果存在过增强、色彩失真和灰阶突变处噪声放大等问题;非锐化掩膜方法把图像分解为高频分量和低频分量后分别进行处理,但是实际应用中很难准确地找到最优的高频和低频分界阈值,兼顾细节增强和自然性保持之间的平衡;形态学滤波法可以改善图像的可视性,但是会改变图像的自然特征;基于空间可变照度图的方法利用场景的光照分布特征对图像进行校正,但是其利用单尺度高斯函数的方法求解出来的光照分量存在照度细节信息表现力差等问题。

  • 本文利多尺度高斯函数提取出光照不均匀图像的光照分量,然后构造了一种基于二维伽马函数的自适应亮度校正函数,并利用光照分量的分布特性自适应地调整二维伽马函数的参数,对光照不均匀图像进行自适应的校正处理,在有效保留原图像有效信息的前提下,实现对光照不均匀图像校正的目的,不仅能够有效地提升图像的视觉效果,而且可以发现更多暗处的细节信息,为光照不均匀图像的校正处理研究提供有价值的参考.

光照分量的提取

光照-反射成像模型

  • 根据成像原理,可见光范围内所成的像是由于场景内物体表面发出的光到达成像单元后产生的.通常,一幅数字图像可以看作是一个二维函数f(x,y),函数的值即为坐标(x,y)点处的图像的亮度值.f(x,y)由入射到场景内的光照分量i(x,y)和物体表面的反射分量r(x,y)两部分的乘积构成,其基本理论模型的表达式如下:

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

    • 将这种模型称为照度-反射成像模型,其空间关系如下图所示.

    • 光照反射成像模型空间关系图

  • 在光照-反射成像模型中光照分量表征图像的低频特性,而反射分量反映图像的高频细节信息,决定了图像的本质特性 .对于光照均匀的图像而言,其光照分量在空间内近似均匀分布,即在任何位置、任何方向上的强度都一致,因此图像的整体质量比较好;而对于光照不均匀的图像,由于场景中的光照分量的分布不均匀,导致图像中光照强的区域中图像的亮度值足够或者过强,而光照弱的区域图像的亮度值不足,不仅降低了图像的视觉质量,而且会导致一些重要的细节信息无法提取,因此,对光照不均匀图像的校正处理就显得非常重要.

基于多尺度高斯函数的光照分量的提取

  • 为了实现对光照不均匀图像的校正处理,准确提取出场景的光照分量非常重要,但是对于常用的光学成像设备而言,其获取的实际场景的图像是由光照分量和反射分量共同作用的结果,并不具有分离出光照分量的功能,因此只能基于某种假设条件的基础上,通过建立数学模型等手段才能从原始图像中计算出光照分量

  • 根据 Retinex理论,做如下假设:真实场景图像的光照分量主要存在于图像低频部分并且整体变化平缓;而反射分量则主要存在于图像高频部分,如边缘、纹理等处,其变化比较剧烈。因此希望提取出的场景的光照分量只包含光照变化信息,不包含图像的细节信息,以便更好地满足场景光照分量的假设条件,目前光照分量的计算方法比较多,比如基于双边滤波的方法、利用 Mean-shift 滤波的方法、基于 Top-hat 的方法、基于线性引导滤波函数的方法,以及 Retinex 理论中基于多尺度高斯函数(滤波器)的方法等,鉴于多尺度高斯函数的方法可以有效地压缩动态范围并准确地估计出场景的照射分从量,因此本文选用多尺度高斯函数的方法来提取光照不均勾图像的光照分量,用到的高斯函数的形式为

    • G ( x , y ) = λ e x p ( − x 2 + y 2 c 2 ) G(x,y)=λexp(-\frac {x^2 +y^2}{c^2}) G(x,y)=λexp(−c2x2+y2)

    • 式中:c为尺度因子; λ 为归一化常数,确保高斯函数 G(x,y) 满足归一化条件,即 ∬ G ( x , y ) d x d y = 1 ∬G(x,y)dxdy=1 ∬G(x,y)dxdy=1 .利用高斯函数和原图像做卷积,即可得到光照分量的估计值,其结果如下

    • I ( x , y ) = F ( x , y ) G ( x , y ) . I(x,y)=F(x,y)G(x,y). I(x,y)=F(x,y)G(x,y).

    • 式中:F(x,y)为输入图像;I(x,y) 为估计出来的光照分量.

  • 由 Retinex理论可知,高斯函数的尺度因子 c 的取值决定了卷积核的作用范围: c 的值越大,高斯函数卷积核的范围越大,色调保持的能力越强,提取出的光照值的全局特性越好; 反之 c 的取值越小,高斯函数卷积核的范围越小,动态范围压缩的效果越好,提取出的光照值的局部特性越明显,为了同时兼顾提取出的光照值的全局特性和局部特性,本文采用多尺度高斯函数的方法,利用不同尺度的高斯函数分别提取出场景的光照分量后进行加权,最终得到光照分量的估计值,其表达式为

    • I ( x , y ) = ∑ i = 1 N ω i [ F ( x , y ) G i ( x , y ) ] I(x,y)=∑^N_{i=1}ω_i[F(x,y)G_i(x,y)] I(x,y)=i=1∑Nωi[F(x,y)Gi(x,y)]

    • 式中:I(x,y) 为 (x,y) 点处由多个不同尺度的高斯函数提取并加权后的光照分量值; ω_i 为第i个尺度高斯函数提取出的光照分量的权系数; i=1,2......N为用到的尺度数,考虑到光照分量提取的精度和运算量之间的均衡,本文取 N=3,即用3个不同尺度的高斯函数提取光照分量的值(所选用的尺度因子 c 的值分别为15,80和250),并且将每一个尺度提取出的光照分量的权系数设定为1/3. 利用3尺度的高斯函数分别提取灰度图像和彩色图像场景的光照分量,其结果如下图所示,

    • 灰度图像中提取出的光照分量

    • 彩色图像中提取出的光照分量

  • 由上图可知,本文使用的多尺度高斯函数提取出来的光照分量可以有效地描述光照变化的信息,而且不带有细节信息,非常符合对光照分量提取的特征要求,可见,这种基于多尺度高斯函数的方法可以有效地提取出场景的光照分量,

基于二维伽马函数的自适应亮度校正

  • 在提取出场景的光照分量后,就可以根据光照分量的分布特性构造光照不均匀校正函数,对光照不均匀图像进行校正处理,降低光照过强区域的亮度值,提高光照过低区域的亮度值,为了实现上述目标,本文提出了一种基于二维伽马函数的自适应亮度校正方法,利用图像的光照分量的分布特性自适应地调整二维伽马所数的参数,实现提高光照不均匀图像整体质量的目的.对于输入的图像 F(x,y) ,假设提取出的光照分量为 I(x,y) 。在参考文献[A space-variant luminance map based color image enhancement]的基础上,构造了一种新的二维伽马函数。其表达式如下

    • O ( x , y ) = 255 ( F ( x , y ) 255 ) γ , γ = 1 2 I ( x , y ) − m m O(x,y)=255(\frac{F(x,y)}{255})^γ,γ=\frac 12^{\frac{I(x,y)-m}{m}} O(x,y)=255(255F(x,y))γ,γ=21mI(x,y)−m

    • 式中: O(x,y) 为校正后的输出图像的亮度值; γ 为用于亮度增强的指数值,其中包含了图像的光照分量特性;m 为光照分量的亮度均值.如果光照分量的亮度均值为128,则在不同的光照分量值下,输入图像的亮度值经过二维伽马函数校正后的输出曲线如下图所示.

    • 不同光照条件下二维伽马函数校正后图像亮度值

  • 由上图 可知,当某一点 ( x,y ) 处的光照值小于整幅光照分量的均值(本图假设光照分量的均值为128)时,二维伽马函数会依指数增强原图像在该点处的亮度值.假设当输人图像 I(x,y) 中某点(x,y)处提取到的光照值为64、输入图像在该点的亮度值为 120 时,经过校正后的输出图像的亮度值为149。可见在输出图像中的表现为提高原图像中光照过低区域图像的亮度.

  • 当某一点 (x,y) 处的光照值大于整幅光照分量的均值时,二维伽马函数会依指数衰减原图像在该点处的亮度值,再比如当输入图像某点 (x,y) 处输人图像的亮度值仍为120,但是假设该点的光照值为 192 时,经过校正后的输出图像中该点的亮度值则变为 108,其结果为降低了原图像中光照过高处图像的亮度。

  • 下图是利用本文构造的二维伽马函数校正前后图像的直方图的对比.由下图可知经过该二维伽马校正后,原图像中亮度过低的区域的亮度得到了增强,而光照过强的区域的亮度得到了衰减,同时压缩了图像的动态范围,因此会得到较好的光照不均匀校正效果.正是在光照分量的均值和每一个像素点处的光照值的共同作用下,本文提出的这种二维伽马函数可以对原光照不均匀图像进行自适应的校正处理,最终降低光照不均匀对图像的影响,提高图像的质量.

    • 二维伽马函数校正前后图像的直方图

算法实现

  • 由人眼视觉系统的感知特性可知,人眼对亮度的敏感程度要高于对颜色的敏感程度,因此对亮度分量的校正处理是光照不均匀校正算法的关键 ,对于彩色图像,如果直接在RGB 3 个通道做校正处理,不仅很难保证每个通道都按照相同的比例增强或者衰减,从而导致校正处理后的图像发生色彩失真现象,而且同时对3个通道进行处理的运算量也比较大.鉴于HSV色彩空间更符合人眼的视觉特性,而且 HSV色彩空间中的色调(H)饱和度(S)和亮度(V)三者相互独立,因此对于亮度V的操作不会影响图像的色彩信息,因此本文选择在HSV色彩空间中实现对光照不均匀的彩色图像进行校正处理 ,算法的流程图如下图所示

实验结果与分析

  • 针对整体光照亮度比较低的图像(场景1:光照分量均值小于128)整体光照亮度适中(场景2:光照分量均值约等于128)及整体光照亮度较高(场景3:光照分量的均值大于128)这3种典型的场景,分别利用直方图均衡化算法、带色彩恢复的多尺度Retinex(MSRCR)算法和本文算法进行处理,处理后的结果如图 7~图9所示

  • 由图7~图9可以看出,对于整体光照亮度较低、整体光照亮度适中和整体光照亮度较高这 3 种类型的光照不均匀图像进行校正时,直方图均衡化算法的处理结果会发生严重的色彩失真和过度增强的现象,MSRCR 算法处理的结果虽然具有色彩保持特性,但是对于光照过低区域存在噪声放大现象,而且在树叶等亮度突变处出现了光晕现象,严重影响了这两种算法的处理效果.本文提出的算法对 3 种不同类型的光照不均匀图像都取得了比较好的校正效果,不仅适当地降低了光照过强区域的图像亮度,而且有效地提高了光照过低区域的图像的亮度,使亮度过低区域的细节信息得到了很好的呈现.另外,本文提出的算法还具有很好的色彩保持特性,经过校正处理后的图像的色彩比较自然,很好地保持了原图像的色彩信息.

  • 为了进一步对比不同算法的处理效果,本文使用标准差、平均梯度和熵等客观指标进行衡量.标准差(standard diviation,SD)可以反映图像的对比度特征,平均梯度(average gradient,AG)是图像清晰度的重要衡量指标,熵(Entropy)可以衡量图像所携带的信息量.表1中所用到的3种场景的图像经过不同方法处理前后的数据对比如下表所示

    • 由表中的数据可知,经过本文算法处理后图像的质量普遍有所改善,主要表现在标准差的值变大,说明图像的对比度信息变得更好;梯度值有较大提升,说明处理后的图像的清晰度有所提高;熵的值提高,说明校正后图像中所包含的信息量进一步变大,进而可以从中提取到更多的信息,由此可见本文提出的算法对不同场景的光照不均勾图像均取得了比较好的校正效果

结论

  • 为了降低光照不均匀对图像质量的影响,本文提出了一种光照不均匀图像的校正算法,对光照不均匀图像进行自适应校正处理,取得了比较好的校正效果:未来的研究可以将光照不均匀校正算法封装成功能模块,嵌入到智能监控等系统中,可以显著提高视频监控系统在光照不均匀条件下的成像质量,也可以将算法嵌入到摄像头等前端图像采集设备,在成像的同时进行光照不均匀校正处理,可以大幅度地降低后处理的工作量,因此具有非常广阔的应用前景.
相关推荐
肥猪猪爸3 分钟前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
readmancynn15 分钟前
二分基本实现
数据结构·算法
萝卜兽编程17 分钟前
优先级队列
c++·算法
盼海25 分钟前
排序算法(四)--快速排序
数据结构·算法·排序算法
LZXCyrus32 分钟前
【杂记】vLLM如何指定GPU单卡/多卡离线推理
人工智能·经验分享·python·深度学习·语言模型·llm·vllm
一直学习永不止步41 分钟前
LeetCode题练习与总结:最长回文串--409
java·数据结构·算法·leetcode·字符串·贪心·哈希表
我感觉。1 小时前
【机器学习chp4】特征工程
人工智能·机器学习·主成分分析·特征工程
YRr YRr1 小时前
深度学习神经网络中的优化器的使用
人工智能·深度学习·神经网络
DieYoung_Alive1 小时前
一篇文章了解机器学习(下)
人工智能·机器学习
夏沫的梦1 小时前
生成式AI对产业的影响与冲击
人工智能·aigc