基于MATLAB的户外监控图像去雾及清晰化处理方案的研究
2021-11-11张兰
张兰
摘 要:随着视频监控在各行各业的广泛应用,视频图像的清晰化处理也愈加重要。本文针对雾霾天气下所采集的户外视频图像,构建了一个基于MATLAB的图像去雾及清晰化处理系统,将前期研究的全局直方图均衡化算法、限制对比度自适应直方图均衡算法、多尺度Retinex算法和暗通道先验算法集成到该系统中,进行大量的仿真实验,并构建图像质量评价体系对这四种算法的处理效果进行评价,进一步分析出常用的四种去雾算法所适应的不同场景。
关键词:去雾;图像处理;MATLAB;图像质量评价
中图分类号:TP751 文献标识码:A 文章编号:1673-260X(2021)10-0042-05
近年来,随着科学技术的迅猛发展,数字多媒体技术也日益提高,监控视频越来越广泛地应用在交通运输、安全防护、军事领域、工农业生产,甚至居家生活等各行各业,并发挥着越来越重要的作用。但是,户外监控视频对天气条件的要求非常敏感,尤其当下空气污染所造成的雾霾天气严重,使得监控视频所采集的图像严重退化,这就限制了景象的识别,极大地影响了监控视频发挥其效用。所以,对监控图像以及监控视频的去雾及清晰化处理的研究就显得非常必要。
1 雾霾天气下图像的去雾化研究现状
在雾霾天气下,自然光受到大气中颗粒较大的气溶胶悬浮粒子的干扰发生散射,使获取的户外图像的对比度和饱和度明显下降[2,3]。另外,由于雾霾的存在,使得退化图像中,原来较低的灰度值产生的一定程度的提高,原本较高的灰度值却被削弱,这就大大地降低了视频图像的质量。
现如今,对恶劣天气下视频图像进行清晰化處理的方法可归为两类:基于图像特征的图像增强算法和基于物理模型的图像复原算法。图像增强算法是从提升对比度、强化细节、改善整体视觉效果等方面对图像进行清晰化处理,这类算法虽然实用性强,但因为它并不是针对图像降质的本质原因进行研究,所以处理后的图像很有可能会造成信息损失或过饱和等现象,清晰化处理效果并不理想。典型的图像增强算法有直方图均衡化算法、Retinex算法、同态波滤算法等等。而基于物理模型的图像复原算法,着手于图像降质的本质原因,根据大气散射原理构建图像退化模型,以此来直观地表达图像退化的原因。这类方法处理的图像色彩自然,图像失真小,不会造成信息损失。近年来,暗通道先验算法是进展较大的图像复原算法。
2 几种常用的图像去雾算法
2.1 直方图均衡化算法
直方图是一种基于统计意义上的分布图,它统计的是一幅图像中不同灰度级出现的概率。假设用N来表示图像f(x,y)的像素个数,rk表示第k个灰度级所对应的灰度值,L表示灰度级的个数,nk表示灰度级为k的像素个数,那么直方图则可以定义为:
P(rk)=nk/N,k=0,1,2,…,L-1
所谓直方图均衡化,是根据图像的直方图来变换像素点的灰度值,就是将原始图像集中分布的直方图通过算法使之均匀分布。均衡化的直方图,各像素之间灰度值差别的动态范围增加了,从而使图像的整体对比度得到提高。在MATLAB中可以使用imhist( )函数来计算灰度图像的直方图,但如果采集到的是彩色图像,可以将R、G、B三个分量分别进行直方图均衡化处理,或者将R、G、B转换为H、S、V(即色调、饱和度、亮度),再对分量V进行直方图均衡化处理,后者处理过的图像色彩保真性更好。从图1可以看出,雾霾天气下,视频图像的直方图总体分布比较集中,动态范围偏小,图像不清晰,质量退化。通过直方图均衡化处理,对在图像中像素个数多的灰度值进行调整,从而增强退化图像的可视化效果,使图像清晰,达到去雾及清晰化的目的。
直方图均衡化处理技术可以分为全局直方图均衡化处理和局部直方图均衡化处理。全局直方图是对整个图像都采用同一种变换方法的处理方式,它对处理的数据不加选择,这样可能会降低有用信号的对比度并且增强背景干扰信息的对比度;另外,图像均衡化后灰度级减少,某些细节将会随之消失,导致处理效果并不理想。局部直方图则是将退化图像根据像素点或灰度值等因素划分成若干子块,再分别对这些块状区域进行均衡化处理。自适应直方图均衡化算法(AHE)是基于局部直方图均衡化算法的改进算法,通过对图像的局部直方图进行计算,再对亮度进行重新分布,有效增强图像的对比度,这样可以获得更多的图像细节信息。限制对比度自适应直方图均衡化算法,顾名思义即将对比度限幅,这种算法能够一定程度地限制AHE算法所产生的相同区域噪音放大的问题。
2.2 Retinex算法
Retinex算法是一种常用的、以人类视觉系统为出发点的图像增强算法,是以视网膜大脑皮层理论为基础。Retinex理论认为,物体的颜色是由物体对红、绿、蓝三种光线的反射能力决定的,而不是由反射光的强度的绝对值和光照的非均匀性来决定的。若把原始图像S(x,y)分解成入射图像L(x,y)和反射图像R(x,y)两个图像,则
S(x,y)=L(x,y)·R(x,y)
最简单和基础的Retinex算法就是单尺度的Retinex算法(SSR),其原理如下:
首先用取对数的方法将光线中的入射光和反射光两种分量进行分离,将能反映图像细节信息的反射分量保留下来,即
lnR(x,y)=lnS(x,y)-lnL(x,y)
再用高斯模板对原始图像作卷积,即对原始图像作低通滤波,从而得到低通滤波函数D(x,y),用F(x,y)来表示高斯滤波函数,则
D(x,y)=S(x,y)·F(x,y)
第三步,将原始图像用取对数的方法,减掉上一步作低通滤波后的图像,就得到高频增强的图像G(x,y),即
G(x,y)=lnS(x,y)-lnD(x,y)
最后,取G(x,y)的反对数,就得到了对原始退化图像进行增强后的图像R(x,y),即
R(x,y)=expG(x,y)
Retinex算法实际是通过原始图像S得到物体的反射性质R,就是通过去除入射光线L对图像质量的影响,从而尽可能恢复到图像中物体原本的面目。如何来估算R,这并没有一个准确的标准,所以对R不同的估算,就产生了不同的Retinex算法。其中多尺度Retinex算法是(MSR)就是基于SSR的一种比较重要且流行的算法。MSR算法改進了SSR算法尺度单一、不能兼顾动态范围压缩和色彩保真性的不足,其原理是对多个不同尺度的SSR算法结果进行加权平均,即
上式中i∈R,G,B 三个颜色通道,ωk表示权重因子,k 表示使用的尺度个数,k=3 表示彩色图像,此时i=3(红,绿,蓝三个通道);k=1 时表示图像是灰度图像,此时i=1(只有一个颜色通道)。
2.4 暗通道先验算法
暗通道先验算法是一种典型的图像复原算法,是根据大气散射原理构建图像的退化模型,以此来进行去雾化处理。雾霾天气下的视频图像可以用大气散射模型来表示:
I(x)=J(x)t(x)+A(1-t(x))
其中,I(x)指的是我们所看到的雾霾天气下的图像的亮度,这个是已知的,J(x)是去雾处理后的图像,也就是我们所要达到的目标,t(x)表示的是介质的透射率,A则是全球大气光成分。暗通道先验算法是基于统计意义的算法,即在大部分户外无雾图像的无天空区域,像素中至少有一个颜色通道存在非常低的亮度值,几乎接近于0,这个通道就是暗通道。即
在实际应用中,A的值可以借助于暗通道图从有雾的图像中获得。另外可以再加入一个阈值t0,它可以防止透射率过小从而导致J值偏大,使图像整体偏白。因此,最终的图像去雾公式是:
3 在MATLAB下设计监控视频图像的去雾及清晰化处理系统
MATLAB是MathWorks公司开发的一款工程数学计算软件。由于它是通过矩阵处理数据,所以具有强大的数据处理及运算能力。另外,灵活的程序设计、高质量的图形可视化与界面设计,使整个处理过程更加形象、生动和直观化。MATLAB的图像处理工具是由一些支持图像处理操作的函数构成,而MATLAB为用户提供的交互式设计工具—GUIDE,能够简便而又快捷地设计出各类符合要求的图形用户界面。
3.1 图像去雾系统的结构
我们以MATLAB R2020a为平台,针对雾霾天气下视频监控图像退化现象设计了视频图像的去雾及清晰化处理系统。首先设计图形用户界面(GUI),通过调用用户界面控件来进行可视化设计,并建立相应的菜单。我们将全局直方图均衡化算法、限制对比度自适应直方图均衡算法、多尺度Retinex算法和暗通道先验算法这四种经典的去雾算法嵌入到系统当中,并通过调用功能菜单来实现不同算法相互之间的关联。以监控视频的原始图像为输入,四种去雾算法处理后的图像为输出,在主窗口中加入面板控件和坐标轴控件,用来显示原始退化图像和经过各算法处理后的图像,通过对比来显示出这四种不同算法的去雾及清晰化的性能。本系统的结构图如图2所示。
视频图像去雾清晰化处理系统包括界面和控件程序两部分,其中主界面如下图3所示。
主界面包含两个区域:功能区和图像显示区域。其中,在系统主界面左上方是功能区,它是由“打开图像”“选择算法”“保存图像”“图像质量评价”“退出系统”这五个菜单项组成。其中,“选择算法”菜单为下拉式菜单,通过它和“全局直方图均衡化算法”“限制对比度自适应直方图均衡化算法”“多尺度Retinex算法”以及“暗通道先验算法”这四种算法程序相关联,对退化图像进行去雾处理并在图像显示区域进行显示。主界面剩余部分是图像显示区域,包括原始的退化视频图像和经过某种算法处理过的去雾图像,通过两张图像的对比,可以直观、清晰地看出去雾效果。另外,选择两种直方图均衡化算法时,系统还将显示出原始图像的直方图和处理后图像的直方图,以此来进一步进行去雾效果的对比。
下面是此系统进行去雾处理的具体操作步骤:
(1)在MATLAB R2020a下,打开的“quwuxitong.fig”文件,进入视频图像去雾及清晰化处理系统的主界面。
(2)点击功能区菜单项中的“打开图像”菜单,选择雾霾天气下监控视频所采集到的原始图像,即可在图像显示区的坐标轴控件中显示出来。
(3)点击“选择算法”菜单,在下拉菜单中可以选择上述四种去雾算法当中的某一种,调用相应的算法程序进行去雾化处理,处理后的图像也在主界面的图像显示区的坐标轴控件中得以显示。
(4)点击“保存图像”菜单,即可将处理后的图像进行保存。
(5)点击“图像质量评价”菜单,可以通过选取的评价指标对处理后的图像质量进行客观的评价和分析。
(6)最后,点击“退出系统”菜单,即可退出本系统。
3.2 图像去雾系统的演示
通过运行本系统,上述四种经典去雾算法的效果如下图4所示:
由此可以看出,该系统可以实现载入原始图像、对图像进行去雾化处理、保存处理后的图像、对不同算法处理后的图像进行评价等功能。此系统界面简洁,操作方便,还可以根据后期的研究随时对功能进行扩展,加入新的、更有效的算法。另外,为了测试本系统是否稳定,我们在网络上随机选取了一些带雾图像,进行了大量实验,结果均正常,说明本系统具有稳定性。
3.3 图像质量评价功能
图像质量评价是一项基本的图像处理技术,通过对一些图像的特性指标进行分析对比,来评价出图像质量的优劣。图像质量评价有两个方面,一个是主观评价,一个是客观评价。
3.3.1 主观评价
主观评价是以人作为评价者,通过人眼对图像的观察,获得视觉感知,给出基于统计意义的结果,从而对图像的优劣做出评价。
在本图像去雾及清晰化处理系统里,原始图像和去雾处理后的图像并排显示在主界面的图像显示区域,可以很容易地使人获得视觉感知,从而进行对比,观察出不同去雾算法的去雾化效果,并做出主观评价。
从上图显示的原始图像以及经过不同去雾算法处理后的效果图可以看出,在雾霾天气下,监控视频中的图像画面模糊,质量退化。经过去雾算法处理后,图像的清晰度和对比度均有所提升,图像质量增强。通过观察可以看出,全局直方图均衡化算法处理后的图像,其直方图与原始图像的直方图相比,明显呈均匀分布,但图像的细节不够完善;限制对比度自适应直方图均衡化算法处理后的图像,其直方图分布有一定程度的变化,图像的局部细节信息增强效果明显,在改善整体图像质量的基础上,一定程度地保持了原始图像的局部特征;经过多尺度Retinex算法处理过的图像,整体色彩偏亮,保真性效果比较好,另外图像的细节信息能够体现出来,整个图像处理后比较平滑不显生涩;经过暗通道先验算法处理后的图像明显可以看出整体色彩偏暗,颜色不够真实。
3.3.2 客观评价
这里的客观评价是指基于图像统计特性的无参考的评价类型。它是通过建立各种不同的评价指标来客观地分析图像的质量优劣。常用的评价指标有均值、标准差、平均梯度等。在本系统中我们采用了标准差、信息熵、峰值信噪比和算法的运行时间这四个指标,对这四个指标进行统计分析,从而进一步地对上述四种去雾算法的处理效果进行比较。去雾算法的各指标值见表1。
标准差反映的是图像灰度值相对于均值的离散程度。标准差值越大,表示图像中灰度级分布越分散,图像的对比度越大,图像的质量就越好。
信息熵则是反映图像平均信息量的值,它的值与图像细节信息的丰富程度成正比。
峰值信噪比则反映了图像的失真程度,它的值越大,图像失真程度越小,即图像越清晰。
算法的运行时间体现的是某一种算法处理图像的效率大小,运行的时间越短,表示处理效率越高。
综合主观评价和客观评价指标的分析可以得出,上述四种常用去雾算法在处理效果上各不相同,有优点,也都存在局限性。全局直方图均衡化算法可以增强雾霾天气下的退化图像,且该算法运行时间短,速度快,但缺点是对于原始图像的局部细节不能够进行有效地保持,所以容易出现色彩失真的现象。这种算法更适合单景深场景下的带雾图像的处理,而对于景深比较复杂的情况下,图像的清晰化处理效果就不好;限制对比度自适应直方图均衡算法能够获得更多的图像细节,能够有效地保持原始图像的局部细节特点,但不足之处在于处理后的图像整体色彩偏暗,并且容易产生局部过度增强或部分区域模糊等问题。多尺度Retinex算法处理后的图像能够还原更多的细节信息,处理后的图像更多地保留了原始图像的色彩,失真性小且清晰度高,但去雾处理后的图像有时会有泛白现象。暗通道先验算法能够更好地复原退化图像的细节信息,处理后图像比较自然,但缺点是算法复杂,运行时间长。
4 结论
本文对几种典型的去雾算法进行了研究探讨,并基于MATLAB平台设计开发了视频监控图像的去雾及清晰化系统,对前期研究进行了实践验证。本去雾系统简洁直观,操作方便,可以很好地实现全局直方图均衡化算法、限制对比度自适应直方图均衡算法、多尺度Retinex算法和暗通道先验算法这四种算法对雾霾等恶劣天气下的退化图像的清晰化处理功能,并通过主观评价和客观评价相结合,对这四种算法的去雾效果进行分析评价,找出各自的优点和局限性,并得出各算法相对来说更适应的场景。
目前,雾霾天气对监控图像产生的退化影响日益突出,研究者们也在不断地提出新的去雾算法,同时,对各种算法处理效果的评价也在不断地深化。本去雾系统还存在许多不足之处,接下来我们将不断地更新,针对现有一些算法的局限性进行改进和完善,并增加一些新的、更有效的算法集成到系統之中,更好地为雾霾天气下的退化图像进行复原处理。另外,本系统的客观评价指标不足,下一步的研究工作将引入更多的评价指标,完善去雾后的图像质量客观评价体系,为下一步研究监控视频的去雾及清晰化处理方案打下理论基础。
参考文献:
〔1〕齐卉,孙超,苏通,等.基于MATLAB的图像去雾技术研究[J].江汉大学学报(自然科学版),2020, 48(06):84-90.
〔2〕金于君.图像去雾算法研究[D].深圳大学,2018.
〔3〕张道华.基于MATLAB的图像去雾系统的设计研究[J].通化师范学院学报,2019,40(04):1-6.
〔4〕张冰冰.雾天图像去雾算法的改进与仿真[D].哈尔滨理工大学,2019.
〔5〕崔莹.基于直方图的图像去雾方法[D].吉林大学,2018.
〔6〕张文娟.融合Retinex与暗通道的图像去雾增强算法研究[D].西安石油大学,2019.
〔7〕辛娇娇,陈本豪,郭元术,等.基于改进暗通道先验的图像去雾算法[J].郑州大学学报(理学版),2020, 52(01):72-78.
〔8〕韦忠亮,许光宇,张顺香.基于MATLAB的去雾图像质量评价系统[J].黑龙江工业学院学报,2019, 19(08):36-39.