图像是人类视觉的基础,自古就有“百闻不如一见”的经典语录,这也表明了图像能够反馈出所承载信息的完整性与真实性,是人们认识世界的重要信息来源。但是,在雾天情况下,图像采集过程难以避免会受到雾气的干扰,降低了图像细节的对比度,进而呈现出整体模糊、颜色失真等现象,降低了图像的完整性与真实性,给人们的生产和生活带来了较多不便。
图像增强可按设定的规则突出重要信息,降低或消除不必要的冗余信息。因此,采用图像增强技术,可以消除雾天图像中的雾气干扰,突出图像细节信息,提高雾天图像整体的对比度。本案例采用多种图像增强方法,对雾天图像进行清晰化处理,并计算多个指标进行整体的去雾效果评价,提高雾天图像的可视化效果。
图像直方图是对数字图像进行灰度分布的统计,可从分布曲线的视角反映出图像的整体灰度分布。例如,Uint8类型的数字图像矩阵,其默认的灰度级为0~2 8 -1即0~255,在MATLAB中可通过imhist函数进行直接绘制,关键代码如下。
运行后,可得到原图像及对应的直方图分布,分别如图2-1和图2-2所示。
图2-1 原图像
图2-2 直方图分布
如图2-1所示,原图像整体呈现偏暗的特点,且存在部分细节模糊的情况。同时,从图2-2的直方图分布可以发现,图像的灰度总体集中在[75,150]的灰度范围内,这也正是图像整体偏暗的原因之一。本节通过调整图像的直方图来观察是否能改善图像的可视化效果,为此考虑进行直方图均衡化方法来调整图像整体的直方图分布,进而提高图像的整体清晰度。
直方图均衡化的基本思想是将原始的灰度统计直方图变换为均匀分布的形式,覆盖整体的灰度级提高图像整体的灰度范围,达到增强效果。假设某数字图像矩阵为 f ( x , y ),像素总数为 N ,灰度级范围为[0, L ],例如 L =255表示Uint8类型的数字图像,令 r k 表示灰度级、 n k 表示此灰度级的像素个数,则直方图 P ( r k )计算公式为:
直方图均衡化是指对原图像经图像变换得到新的灰度图像,且其直方图为呈现均匀分布的特点。为此,需要对原图像中像素个数不均匀的区域进行拓宽或缩减处理,具体就是将像素数目偏多的灰度级进行拓宽,而对像素数目偏少的灰度级进行缩减,进而达到均匀化分布的目标。直方图均衡化的基本步骤如下。
(1)计算原图像直方图。
(2)计算灰度映射表。
(3)执行查表变换,利用灰度映射表计算原图像的像素得到新的像素值。
在MATLAB中可通过histeq函数进行直方图均衡化,关键代码如下。
运行后可得到直方图均衡化后的图像及对应的直方图分布,如图2-3和图2-4所示。
图2-3 直方图均衡化后的图像
图2-4 处理后的直方图分布
如图2-3所示,经直方图均衡化处理后的图像虽然在右上角的较暗区域存在一定的模糊,但相对于原图(图2-1)在可视化效果上具有了较高的清晰度,整体呈现出明显的亮度改观,达到了较为明显的增强效果。如图2-4所示,经直方图均衡化处理后的直方图分布相对于原直方图(图2-2)呈现出均衡化分布的特点,这也是直方图均衡化处理的直观显示。
因此,可对雾天图像采用全局直方图均衡化进行增强,并对比增强前后的直方图分布情况。考虑到灰度图与彩色图在图像矩阵维度上的不同,可直接采用R、G、B三通道遍历计算的方式进行处理,关键代码如下所示。
运行后,可得到对雾天图像进行直方图均衡化前后的图像及对应的直方图分布,如图2-5所示。经全局直方图均衡化处理后,雾天图像得到了一定的改善,且处理后的直方图呈现出明显的均衡分布特点。但是,使用全局直方图增强后的图像出现了较为明显的失真问题,例如图像内的树木区域就出现了偏暗的情况,这也正是此方法的不足之处。
图2-5 雾天图像进行直方图均衡化处理的前后对比
限制对比度的自适应直方图均衡(Contrast Limited Adaptive Histogram Equalization,CLAHE)是一种自适应局部增强方法。通过全局直方图进行去雾增强,往往会面临局部细节失真等问题,因此需要考虑引入局部自适应的直方图均衡方法。CLAHE方法主要特点是其具有对比度限幅的约束,可以对局部区域使用对比度限幅来提高增强效果,突出细节信息。此外,CLAHE方法利用插值来提高计算效率,并能有效地控制灰度值集中的均衡化增强,降低噪声干扰。
在MATLAB中可通过adapthisteq函数进行直方图均衡化,关键代码如下。
运行后,可得到CLAHE方法处理后的图像及对应的直方图分布,如图2-6和图2-7所示。
图2-6 CLAHE方法处理后图像
图2-7 处理后直方图分布
如图2-6所示,经CLAHE方法处理后的图像在整体上呈现出明显的增强效果,并且直方图分布维持了原有的宏观趋势,在局部细节的处理上也比全局直方图的增强图(图2-3)具有较为清晰的改进。
因此,可对雾天图像采用CLAHE方法进行增强,对比增强前后的直方图分布情况。考虑到灰度图与彩色图在图像矩阵维度上的不同,可直接采用R、G、B三通道遍历计算的方式进行处理,关键代码如下所示。
运行后,可得到对雾天图像进行CLAHE方法处理前后的图像及对应的直方图分布,如图2-8所示。经CLAHE方法处理后,雾天图像得到了明显的改善,且处理后的直方图保持了原直方图的分布态势并进行了一定的拓展。相比于图2-5(a)所示的全局直方图增强效果,CLAHE方法处理后的图像不存在失真问题,取得了良好的去雾效果。
Retinex由Retina(视网膜)+Cortex(大脑皮层)合成,所以也称为“视网膜大脑皮层”理论。Retinex是基于人类视觉系统的颜色恒常性色彩理论,即物体的颜色具有一致性的特点,由物体对长波(红色)、中波(绿色)、短波(蓝色)光线的反射能力决定,不受光照非均匀性的影响,呈现颜色恒常性的特点。Retinex增强方法可以平衡图像灰度动态范围压缩、图像边缘增强和图像颜色恒常三个指标,进而可将其应用于雾天图像的自适应增强。
Retinex方法可将图像 f ( x , y )分解为反射图 s ( x , y )和低频亮度图的乘积 l ( x , y ),通过将亮度图的低频消除,可以保留高频边缘信息,进而达到图像增强的效果,其处理流程如图2-9所示。对Retinex增强流程进行简化,关键步骤总结如下。
图2-8 雾天图像进行CLAHE处理的前后对比
(1)图像LOG计算,将原图 f ( x , y )分解为反射部分 s ( x , y )×低频亮度部分 l ( x , y )。
(2)消除低频亮度部分,保留高频反色部分,得到 r ( x , y )。
(3)图像EXP计算,并进行自适应滤波输出。
图2-9 Retinex增强流程
低频亮度部分 l ( x , y )可以通过高斯低通滤波进行计算,假设滤波器 g ( x , y )定义如下:
其中, σ 为高斯环绕尺度,可作为参数进行调整。将其应用于原图做卷积计算,即可得到亮度分量公式如下:
最后,消除低频分量,保留高频分量,公式如下:
根据Retinex增强的关键步骤,可针对雾天图像按R、G、B三通道循环的方法进行简化计算,关键代码如下所示。
运行后,可得到对雾天图像进行Retinex增强,处理前后的图像及对应的直方图分布,如图2-10所示。
图2-10 雾天图像进行Retinex增强处理的前后对比
图2-10 续
经Retinex增强处理后,雾天图像得到了明显的改善,且处理后的直方图保持了原直方图的波峰走势并进行了更加深入的拓展。相比于全局直方图增强、CLAHE增强的处理效果,Retinex增强处理处理后的图像不存在失真问题,也能保证图像整体的色彩分布,取得了良好的去雾效果。
本案例选择3种经典的增强方法对雾天图像增强优化,为了进行去雾效果的有效性评价,本节探讨几种评价指标进行有效性分析。考虑到雾天图像的实际情况,一般难以提供一幅完全相同的晴天图像作为效果对比,因此图像去雾属于无参考图的优化增强,无法进行PSNR(峰值信噪比)、RMSE(均方根误差)等指标计算。传统方法一般是观察者的主观视觉评价,但这容易受到个人因素的影响,难以保证评价的客观性。
本案例选择图像熵、均值、标准差、PIQE值作为评价指标,对原图及不同方法增强后的结果图进行计算,作为参考指标进行效果评价。
(1)数字图像可视作数值矩阵,而熵是矩阵特征的一种统计形式,它反映了平均信息量大小,可用于表示图像中灰度分布聚集特征所包含的信息量。结合图像直方图的定义,假设图像 f ( x , y )中灰度级 i 的像素所占的比例为 p i ,则定义灰度图像的一维灰度熵为:
(2)数字图像矩阵的均值可反映图像像素值的亮度特性,即均值越大则亮度值越高,反之则越低。假设图像 f ( x , y )为 M 行 N 列的矩阵,则其均值计算公式如下:
(3)数字图像矩阵的标准差可反映图像像素值与均值的离散程度,即标准差越大则对比度越高,反之则越低。假设图像 f ( x , y )为 M 行 N 列的矩阵,均值为 μ ,则其标准差计算公式如下:
(4)无参考图质量评价(Perception-based Image Quality Evaluator,PIQE)指标是一种经典的无参考图质量评价指标,主要依据是主观的图像质量评价更关注部分显著度高的区域,图像局部块的质量分数可得到整体质量分数。根据PIQE的大小确定图像清晰度的高低,PIQE越小表示图像越清晰,反之表示图像越模糊。MATLAB的库函数piqe可方便地计算PIQE指标,具体用法如下:
传入图像矩阵,即可得到对应的PIQE指标。
为了方便进行图像评价指标的计算,封装了对应的子函数统一获取评价指标,关键代码如下。
将计算图像质量评价指标的函数封装为IQA2.m,传入处理前后的数字图像矩阵即可得到评价指标结构体,方便进行调用分析。
此外,图像质量评价从统计学角度来看能在一定程度上衡量出图像的质量指标,但图像去雾处理可能会面临颜色失真、曝光过度等问题,这也可能会导致某些计算指标的无效,需要我们进行综合的多维度分析。
为了更好地集成对比不同方法的处理效果,汇集对应的评价指标,本案例开发了一个GUI界面,集成全局直方图增强、CLAHE增强、Retinex增强三方法进行雾天图像优化,并将图像熵、均值、标准差和PIQE指标进行表格呈现。其中,集成应用的界面设计如图2-11所示。
分别运行全局直方图增强、CLAHE增强、Retinex增强,可得到对应的去雾结果,并在右下方的表格中显示评价指标,如图2-12所示。
如图2-12所示,中间的图像显示区显示了3种增强算法进行去雾的效果图,可以发现全局直方图增强方法的结果具有明显的颜色失真现象;CLAHE方法能较好地保持原始的颜色分布,但清晰度相对偏低;Retinex方法可在保持原图颜色分布的同时,进一步提高了图像清晰度。
图2-11 界面设计
图2-12 集成应用运行结果
通过观察右下方的评价指标可以看出,全局直方图方法在均值、标准差熵的值都偏高,但这正对应了其颜色失真的情况;CLAHE方法在图像熵、均值、标准差、PIQE指标上均有较好的表现,特别是均值整体是最高的,这也反映出了处理后亮度偏高的特点;Retinex方法在图像熵、标准差、PIQE指标相对于CLAHE方法具有一定的提升,这也对应了其清晰度的进一步提高。因此,综合来看对于此幅雾天图像的优化,Retinex方法具有良好的性能,我们也可进行更深入的分析,例如参数修改、多方法融合等进行探索,进一步改进处理效果。
雾天图像优化是经典的图像处理应用,本案例从基础的图像增强方法出发进行实验,融合了全局直方图增强、CLAHE增强、Retinex增强三种方法,并进行了无参考图评价指标的讨论,最终基于GUI框架搭建了雾天图像优化的集成应用,可方便地进行多方法去雾及指标分析。
读者也可以尝试其他的雾天图像、去雾算法、评价指标等,可能会得到不同的处理结果,这也是值得更进一步深入研究的方向。