王小芳,方登杰,何海瑞,邹倩颖
(1. 电子科技大学成都学院 云计算科学与技术系,四川 成都 611731;2. 西华师范大学 计算机学院,四川 南充 637002)
雾天是自然界最常见的一种天气现象,也是影响可见度的最直观的因素,如何提高雾天图片可见度,提高雾天图片检测精度,降低危险情况发生概率,是各类图像去雾专家探索的目标。其中,何凯明等[1]提出采用物理成像原理实现图像去雾,首先利用通道处理方法计算大气光强,再通过计算透射率实现图像去雾。曹永妹等[2]提出基于三边滤波的Retinex 图像去雾方法,该方法在继承经典 Retinex 算法的同时,利用三边滤波器对图像照射分量进行降噪处理,消除边缘问题,进而实现图像去雾。刘海波等[3]提出基于暗通道先验和 Retinex 理论的快速单幅图像去雾方法,该方法以大气散射模型为基准,先利用暗通道原理和Retinex 模型进行粗略估算,然后进行像素级融合,最后使用简化版的大气散射模型和色调调整实现图像去雾。
已有研究都侧重于图像去雾效果,对去雾过程的图像细节关注不多,基于以上问题,本文提出基于多尺度优化的改进 MSRCR 算法,该算法首先利用MSRCR 算法进行图像整体去雾,在该过程的像素分类上,使用KNN 算法进行像素快速分类,然后使用双边滤波实现边缘降噪处理,最后使用多尺度细节优化算法对降噪后图片进行细节优化,以提升图片检测精度。
多尺度的图像细节提升理论(multi-scale detail boosting,MsDB)发表于 IEEE 2015[4]。MsDB 采用同Retinex MSR 算法相似的思想架构,将输入的照片与3个不同尺度的高斯核进行滤波操作,并生成3 个不同模糊程度的图像矩阵。再将3 类不同模糊尺度的像素矩阵及原图像素矩阵依次做差,得到3 层不同细节,分别是精准细节、中间细节和粗略细节。最后通过加权算式操作,将得到的3 层不同细节图像矩阵与原图像进行融合得到最终想要的增强效果的图像。
本算法实现过程分为KNN 的MSRCR 整体去雾、双边滤波降噪处理和MsDB 细节优化3 阶段,其实现的具体流程如图1 所示。
图1 算法流程图
首先使用 KNN 算法和 MSRCR 融合算法进行第一次去雾,该过程使用 KNN 的分类方法将图像中的像素点分类为需要进行处理和不需要进行处理的2 个集合,并在 RGB 色彩空间中,分别对需要进行处理的 R、G、B 3 个分量集合同时进行处理,再将集合融合为RGB 图像;然后使用双边滤波器保持住边缘细节,缓解去雾后轻微边缘锯齿化现象;最后使用MsDB算法对图像细节进行提升,得到细节优化的图像。
2.2.1 融合 KNN 的 MSRCR 算法
融合KNN 的MSRCR[5]算法实现过程为首先将图片进行RGB 色彩通道分离,分离后得到R、G、B 3个颜色通道,然后每个通道使用 KNN 对像素点进行分类,再进行滤波操作,最后合成图像再对色彩过程进行修复,其算法在RGB 空间如式(1)所示。
其中:k是尺度的个数;为第i个尺度的加权系数;是待处理的原始图像,即接收到的反射光图像;是高斯卷积函数;*表示滤波操作。
其中:c是高斯环绕尺度,β是一个尺度系数常量,i是高斯环绕函数的总数。在平衡增强效果与处理速度情况下,本文选取i值为3,代表将图像分为大中小3个尺度。
色道分离后,分别对 R、G、B 3 个分量进行滤波操作,去除雾点,在滤波过程中,引入KNN 聚类[6]算法对像素点进行2 次快速分类,第一次分类是确定滤波模板中的像素点是否滤波,第二次分类是确定模板中心是否滤波,而 KNN 分类算法采用欧氏距离公式得到待处理点最近的K个像素点,然后进行快速分类,其计算公式如下:
通过第一次 KNN 算法分类后,通过计算隶属度函数确定滤波模板中的点是否滤波,而在计算过程中需要计算相似度s1:
其中,gray 是某近邻点的灰度值,aver 是由欧氏距离找到的K个近邻点的平均像素值,得到相似度s1后,计算隶属度函数 1μ:
其中,a是一个相似性度量标准,本文使用0.3[5]来进行计算。
进行第二次分类,通过计算隶属度函数判断模板中心是否需要滤波,其计算与上一步中计算隶属度[7]公式相同,同样需要先计算相似度:
其中:filter 是进行滤波后的像素值,origin 是图像的原始像素值,s2是滤波操作的相似度。
然后进行隶属度函数计算,确定是否滤波,不断循环,直至无滤波操作为止。通过滤波后,得到3 个处理后的颜色通道然后使用色彩恢复因子C[8]进行色彩修正,其计算过程如下:
其中,k是图像波段的总数,Ii是图像在第i个波段的像元值。
2.2.2 平滑处理
经过融合 KNN 的 MSRCR 算法处理后得到整体去雾图像,该图像存在相对多的噪声以及边缘损失。为消除处理后图片所产生的噪声和边缘损失,本文使用双边滤波[9]进行处理:
2.2.3 MsDB 算法
经双边滤波处理后,得到一幅整体降噪去雾的RGB 图像。该图像在细节方面表现粗糙,处理效果不佳,针对以上情况本文提出改进,将处理后的图片使用MsDB 进行细节优化。
首先选取低、中、高3 个模糊尺度对图像处理,得到3 个不同模糊程度的图像B:
其中,*表示滤波操作,G1、G2、G3分别表示高中低3 个尺度的高斯核。高斯核标准差的值参考文[3],分别选取
高斯滤波是由2 个标准差σ相同的一维高斯进行乘积所得,其计算如式(12)所示。
其中,高斯核表示与中心距离负相关的权重,σ表示周围像素对模板中心的影响程度。σ越大,周围像素对模板中心的影响越大,滤波出来的图片越平滑。因而式(11)中B1是最接近原图的,B3是最模糊的。
经高斯率滤波运算后得到3 个不同模糊程度的图像,再对3 个图像做差值运算从而得到特征差,计算如式(13)所示。
其中,D1代表精准细节,由原图像I与B1作差得到。表示中间细节,D3表示粗略细节,分别是B1与B2、与B3作差得到。此算法的多尺度细节体现在将 4种不同清晰度图像依次作差得到的细节涵盖3 个不同清晰尺度,再利用加权的方式进行计算,得到最后的细节优化图,其计算如式(14)所示。
其中,ω参考文[4],分别取值为0.5、0.5和0.25 为最优。
本文采用MATLAB R2018b 对实验进行复现,使用 4 核 Intel Core i5-7200U2.50 GHz 处理器,8 G 内存,64 位Windows10 环境。
本文在此实验环境下分别对自然雾天图像和合成雾天图像进行处理。处理后采用图像处理评价体系对图片进行分析和评价,采用平均梯度、信息熵和Vollaths 客观质量评价指标评价图像在细节清晰度方面的效果。采用结构相似性和峰值信噪比客观质量评价指标评价图片处理效果。
3.2.1 实验结果
本文采用合成算法[10]分别对玉米田图和黄瓜图进行雾天合成,对合成雾天图片分别使用SSR 算法[11]、MSR 算法[12]和改进算法进行处理,处理结果如图 2和3 所示。
图2 玉米田效果对比图
图3 黄瓜效果对比图
由上图可知,SSR 算法图片偏绿,而改进算法图片偏黄,MSR 算法色彩取其中。此外,改进算法能明显看清图片轮廓的纹理,而SSR 算法和MSR 算法细节轮廓较糊,改进算法在细节去雾处理上有明显优势。
3.2.2 结果分析
峰值信噪比和结构相似性是数字图像处理的评价模型之一,也是评价合成图片处理效果的标准。其中峰值信噪比是峰值信号的能量与噪声的平均能量之比[13],用于评判信号重建质量好坏,其计算公式如式(15)所示。
其中,fi表示清晰无雾图像,fo表示去雾图像,峰值信噪比值越大,图像效果越佳,去雾性能越好,图像失真越小。
而结构相似性是通过亮度、对比度和结构3 个方面来对两幅图像的相似性进行评估,是客观评价图片处理效果指标[14]。其计算公式如式(16)所示。
本文对图3 和4 结果采用图像处理评判体系的峰值信噪比和结构相似性对3 种算法进行评价,其评价结果如表1 所示。
由表1 可知,对玉米田图像而言,峰值信噪比最低的是SSR,较高的是MSR,最高的是改进算法;结构相似性最低的是MSR,较高的是SSR,最高的是改进算法。对黄瓜图像而言,峰值信噪比最低的是MSR,较高的是SSR,最高的是改进算法;结构相似性最低的是MSR,较高的是SSR,最高的是改进算法。改进算法较SSR 算法而言,峰值信噪比平均提升23.76%,相似度结构平均提升9.14%;较MSR 而言,峰值信噪比平均提升20.3%,结构相似性平均提升34.01 %,改进算法效果佳。
表1 合成雾天图片PSNR 与SSIM 分析
3.3.1 实验结果
分别选择雾天拍摄的石阶图、车辆图用 SSR 算法、MSR 算法和改进算法进行处理,处理结果如图4和5 所示。
由图4 所知,SSR 算法处理结果较原图而言,有一定的去雾效果,但台阶远处的植物仍然模糊不清,MSR 算法处理结果较 SSR 而言,效果稍差,而改进算法较SSR 和MSR 而言,图像更清晰,且能明显看清远处的植物,图片中石阶上的去雾效果明显。
图4 石阶效果对比图
图5 车流对比图
由图5 可知,原图车辆比较模糊,而SSR 和MSR处理后的图片,车辆和车牌效果不佳,但是改进算法处理的图片,前面车辆比较清晰,车牌能清晰看清,但是由于图片像素太低,图片存在像素问题引起的噪声。
3.3.2 结果分析
自然雾天而言,平均梯度、信息熵和 Vollaths[15]函数评价是图像处理的有效评价方法。三者其值越高,细节程度越高,效果越佳。
平均梯度代表此图像灰度值变化的程度,是用于评判对图像细节特征处理好坏的标准之一。其计算如式(17)所示。
其中,m×n表示图像的大小,表示图像水平方向梯度,表示图像垂直方向梯度。
信息熵代表图像中信息丰富度的一种度量,是评价图像去雾质量的标准之一。其计算如式(18)所示。
其中,X表示图像处理过程中的随机变量,与之相对应的是所有可能输出的集合,P(X) 表示图像处理的输出概率函数。
本文对自然雾天的图 5 和 6 就 SSR 算法、MSR算法和改进算法采用平均梯度、信息熵和 Vollaths 函数进行分析,分析结果保留三位小数点,如表2 所示。
表2 自然雾图片平均梯度、信息熵和Vollaths 分析
由表2 可知,对于石阶图像,改进算法较SSR 而言,平均梯度、信息熵、Vollaths 值分别提升146.56%、4.57%、139.22%;较 MSR 而言平均梯度、信息熵、Vollaths 值分别提升122.15%、12.25%、161.98%。而对于车流图像,改进算法较SSR 而言,平均梯度、信息熵、Vollaths 值分别提升118.18%、6.34%、270.09%;较MSR 而言平均梯度、信息熵、Vollaths 值分别提升123.61%、4.67%、250.56%。两幅图片经改进算法处理结果较传统算法而言其平均梯度、信息熵、Vollaths值平均分别提升127.62%、6.96%、227.61%。改进算法处理后的石阶图片去雾后物体轮廓更突出,图片信息更多。改进算法在处理雾天图片上细节更突出,边缘更锐利,图片细节效果更佳。
本算法体系先对图片整体进行去雾操作,而后对图片进行滤波降噪,最后对图片进行多尺度的细节去雾优化。本算法在后面对图片采用Fast-RCNN[16]算法进行作物目标检测与车辆车牌检测[17]中,其检测精准度较传统去雾算法而言,整体提高2.5%。本算法除可以应用于车辆检测、作物检测外,还可应用于渗漏检测、建筑扫描、智能安防、目标追踪等领域。本算法虽在处理图片细节上有一定优化,但图片存在一定的偏紫现象,这也是Retinex 算法体系存在的弊端,是后期改进的方向。