基于gamma校正的多尺度Retinex的预处理算法研究
2018-12-13陈亮,林增
陈 亮,林 增
(武夷学院 数学与计算机学院,福建 武夷山 354300)
在当今社会行人检测为人们的生产生活提供了很大的便利,而行人检测由于受到环境的影响使检测的准确率受到影响,而光照是影响行人检测的一大关键影响因素。人们往往通过对视频图像进行预处理来提高行人检测的准确性。目前,针对光照的预处理方法有直方图均衡化、伽马校正法、Retinex算法等。但是由于光照因素的复杂性,往往还达不到非常理想的效果,时有出现漏检、错检等情况。
本文主要主要针对上述问题进行研究,提出了基于gamma校正后的多尺度Retinex图像预处理算法。通过实验效果表明在特定的光照条件下,本文的算法效果更佳。
1 图像的预处理算法
基于视频行人检测的预处理算法研究目的是将图像中的行人从背景中凸显出来,使图像检测获得更多有效信息[1]。光照环境的变化是对视频行人检测一大影响因素,对受光照因素污染的图像基本预处理方法以下几种方法。
1.1 直方图均衡化
直方图均衡化:将原始图像进行灰度处理,矫正灰度处理后的图像。经过灰度处理的直方图包含信息量更多,因而图像的清晰度更高。该图像增强方式基于累计分布函数,增强变换相关图像,因而该方式具有全局性特点[2]。
直方图均衡化流程如图1:
图1 直方图均衡化算法流程图Figure 1 Flow chart of histogram equalization algorithm
rk代表第k个灰度级,n代表最初图像的像素,rk代表像素数量,nk代表处理图像的灰度级,rk代表出现像素的概率,p(rk)代表灰度级,gk为第k个灰度级别变换后的灰度值。
直方图均衡化可以扩大灰度间距,使其趋于均匀,进而形成反差效果,提升图像清辨识度,实现图像增强[2]。如图2-3所示,其灰度过度集中于某个较小范围内,导致仅仅通过视觉不能对相关的图像内容进行辨识,原始图像在处理之后,清晰度得以提升,辨识难度降低。
直方图均衡化存在以下两个特点:
(1)按照灰度级别频率的不同,分别增强相应的灰度级别,即分别加大每个级别的间距。
(2)原始图像灰度级别的个数可能存在减少现象,即可以简并相关频率较小的灰度级别。
当满足公式1时,才能够实现不同灰度级别的映射,即简并现象。通过简并现象不但会过度增强频次较多的灰度级别,还会造成重要信息的破坏或者丢失,无法实现预期目标。
图2 直方图均衡化实验结果Figure 2 Experiment results of histogram equalization
直方图均衡化实验所得到的图像呈灰度化,可能导致目标原本灰度级过大的图像信息得到简并,导致细节信息丢失。
1.2 伽马(gamma)校正法
图像处理技术中,Gamma校正技术的应用非常普遍,通过伽马校正进行修正,图像信息的对比效果更加明显,相关的处理形式如下[3]:
其中r代表输入图像的输入数据,c代表常量系数,通常可将其设为1,ε代表补偿系数,λ决定了像素变换方式,λ=1时代表线性变换,不会影响对比度,λ≠1时表示指数变换,会导致相应的对比度发生改变,Gamma校正的效果可参照图3所示。
图3 Gamma校正实验结果Figure 3 Experiment results of gamma calibration
图2-4中左边为原始图像,当ε=0,λ=0.5时,矫正效果如右图。
如上图所示,Gamma校正方法存在对高光区校正程度的不足。不仅如此,如果缺乏对图像视觉效果的整体经验评价,在图片处理过程中,很难确定一个合理的Gamma数值来修正原始图像,在很大程度上制约了该方法的实际应用[2]。
1.3 Retinex算法原理
基于色彩的相关理论,Retinex能够实现边缘增强、颜色恒常性以及灰度压缩的均衡,所以可有效的增强处理不同种类的图像,特别是彩色图像。
Retinex算法的理论基础是色彩恒常性,即人类视觉系统可以对感知到亮度或者颜色进行调节。按照该理论的观点,物体的反射特点决定了视觉系统感知到的亮度和色彩通常而言,色彩由于场景照度导致的变化较为缓和,而色彩由于表面导致的变化较为突然。对比两种变化形式,可以轻易分辨出图像照度以及表面变化[4]。
在Retinex算法中,存在一个基本假设,即:
F代表原始图像彩色信息,R代表反射率,I代表入射光。
原理示意图如图4所示:
图4 Retinex原理示意图Figure 4 Schematic diagram of Retinex
Retinex算法的原理说明原始图像的色彩信息在很大程度上取决于反射物体R(x,y),其信息的动态范围则取决于入射光I(x,y)。
Retinex算法的基本流程是:初步处理原始图像的色彩信息F(x,y),估算反射光的照射分量I(x,y),以及发射物体相应的反射分量R(x,y),可以提升影像光照的均匀度,从而有针对性的增强处理原始图像,实现最佳的视觉效果。
在增强处理图像的实际过程中,理论意义上的乘积运算通常会被更简洁的加减法取代,具体表达公式如下:
其中f(x,y)=log(F(x,y)),r(x,y)=log(R(x,y)),i(x,y)=log(I(x,y))。
通过视觉系统,我们不能直接估算反射分量,但可对入射光部分进行相关估算,再根据公式3估算反射分量,最后通过修正可获取最后的结果。Retinex算法的计算过程可参照框图5所示。
图5 Retinex算法过程框图Figure 5 Process block diagram of Retinex algorithm
Retinex算法能够在提升待处理图像对比度和亮度的同时,最大程度的缩减动态灰度范围。随着光照均匀度的提升,可以提升原始图像在亮区和暗区内容的显示效果。除此之外,Retinex算法具有一定的稳定性,通常不会随着图像的变化而发生改变,因此在增强彩色图像方面,有明显的优越性[4]。在实验中,实验运行的速度较为缓慢,耗时较多,同时处理过后的图像亮度区域会被过度的放大。
实验效果如下图6所示:
图6 Retinex算法实验结果Figure 6 Experiment results of Retinex algorithm
2 基于gamma矫正后的多尺度Retinex算法
本文提出一种新的基于光照污染的图像预处理算法:基于gamma校正后的多尺度Retinex算法。经过实验的结果表明,本文的算法效果更佳。
2.1 多尺度Retinex算法
2.1.1 多尺度Retinex算法
多尺度Retinex算法为数个单尺度Retinex算法输出的加权平均,可以在确保图像色彩不变的同时,将图像信息突显,相关公式如下所示:
Ii(x,y)代表输入图像第i个颜色通道的像素值,i∈(R,G,B)通道中的一个,F(x,y)代表高斯函数,* 代表卷积运算,Ri(x,y)就是所需获取的第i个颜色通道的输出图像,在原始图像中将亮度图像的估算值减去得到该值;N代表尺度的数量,ωn代表和所有尺度有关的权重值,Cn和σn则代表所有尺度上高斯卷积函数的标准偏差和系数。
针对多尺度Retinex算法的相关定义存在多个尺度下,并进一步将不同的Cn和σn分配到相应尺度上,这样在提升图像内容细节对比度的同时,确保图像彩色信息不会丢失。按照Jobson等研究者的相关成果,就绝大部分图像而言,基于这三个尺度的运算已经足够,并且各个尺度上的权重值可以是一样的。通常而言,三个尺度在选择过程中,可以和高、中、低三个尺度分别对应,ωi能按照进行细微调节[5]。
Jobson等相关研究者的实验数据可参照下表1所示:
表1 多尺度Retinex算法常数列表Table 1 Constant list of Retinex algorithm with multi-scale
算法效果如图7:
图7 多尺度Retinex算法效果图Figure 7 Experiment results of Retinex algorithm with multi-scale
可以看出经过多尺度Retinex算法在彩色图像处理过程中,会出现“颜色失真、泛白、整体亮度较低”等问题,无法将颜色效果原本的展现出来[5]。
2.2 基于Gamma校正后的多尺度Retinex算法
基于Gamma校正后的多尺度Retinex算法是将图像经过Gamma校正,得以保存梯度信息,图像的对比度得到加强[14],再利用多尺度Retinex算法处理,能有效克服了图像只经过多尺度Retinex算法的泛白和图像失真现象,从而达到更好的预处理效果。
基于Gamma校正后的多尺度Retinex算法流程如图8:
图8 基于Gamma校正后的多尺度Retinex算法流程图Figure 8 Flow chart of Gamma-corrected multiscale Retinex algorithm
算法效果如图9:
图9 实验效果图Figure 9 Experimental effect diagram
从实验结果表明新的预处理方法处理后的效果得到有效的改善,相对效果更好。
3 仿真实验与结果分析
本文采用目前比较流行的方法:梯度方向直方图[14](Histogram of Oriented Gradients,HOG)对待处理图像进行行人检测实验,用检测到的行人数量多少以及检测是否有效来判断图像预处理的效果好坏。
实验验证采用受光照污染图像经过相应预处理后进行行人检测实验。实验结果如下:
图10 原图1行人检测结果Figure 10 Results of pedestrian detection original figure 1
图11 直方图均衡化后行人检测结果Figure 11 Results of pedestrian detection after histogram equalization
图12 伽马校正法后行人检测结果Figure 12 Results of pedestrian detection after gamma correction
图13 Retinex算法后行人检测结果Figure 13 Results of pedestrian detection after Retinex algorithm
图14 本文方法预处理后的行人检测结果Figure14 Resultsof pedestrian detection after preprocessingin this
图15 原图2行人检测结果Figure 15 Results of pedestrian detection original figure 2
图16 直方图均衡化后行人检测结果Figure 16 Results of pedestrian detection after histogram equalization
图17 伽马校正法后行人检测结果Figure 17 Results of pedestrian detection after gamma correction
图18 Retinex算法后行人检测结果Figure 18 Results of pedestrian detection after Retinex algorithm
图19 本文方法预处理后的行人检测结果Figure 19 Results of pedestrian detection after preprocessing in this paper
经过梯度方向直方图 (Histogram of Oriented Gradients,HOG)对光照不同的图像进行行人检测后,得到的行人检测人数及准确性如下表2所示:
表2 夜晚光照弱情况下行人检测实验结果Table 2 Results of pedestrian detection under weak light at night
表3 夜晚光照弱情况下行人检测实验结果Table 3 Results of pedestrian detection results under weak light at night
其中,伽马校正在图1中虽然的检测出的人数的数量与实际人数数量相同,但存在这一个误判。从表中可以看出,采用本文所提出的预处理算法得到的预处理图像对行人检测实验有一定的帮助,得到的效果更好。
5 总结
基于伽马校正后的多尺度Retinex算法通过多组实验验证,此方法可以有效的提高图像的对比度,避免了直方图均衡化带来的图像信息简并情况,有效的解决了Retinex算法的泛白,整体呈灰色的情况,同时还能降低伽马校正对高光区校正不足的影响。从而体现出基于伽马校正后的多尺度Retinex算法在特定的光照条件下的处理效果,在特定的受光照污染的图像行人检测的预处理上效果更佳。