,
(浙江工业大学 浙江省嵌入式系统联合重点实验室,浙江 杭州 310023)
近年来雾霾等恶劣天气出现的频率越来越高,由于空气中存在的水汽、颗粒尘埃等,户外成像设备在雾霾天气下捕获的图像分辨率和对比度下降,细节信息损失,严重影响图像的整体视觉效果和图像的使用价值,还有现有的视频监控、跟踪目标以及智能导航等户外视觉系统受天气状况影响非常严重,对生活以及生产带来严重影响。例如雾霾天气下,城市道路检测系统难以获取清晰的路况信息,对道路引导、车牌识别造成严重影响;在军事成像设备中获取了降质图像会造成无法识别正确目标,影响国家安全甚至影响战争成败;遥感图像在雾霾天气下的退化对后期图像信息处理会有很大的干扰等。因此对雾霾等恶劣天气下降质图像清晰化算法的研究,有重要的理论意义和实用价值。
目前的去雾方法分为两类:一是基于图像增强算法如Retinex、小波变换[1]、图像融合[2]和直方图均衡等,二是基于图像复原如暗通道先验等。研究人员杜以清使用双边滤波器代替软抠图估计优化透射率并对初步复原图片进行空间转换,对亮度分量I采用改进的MSRCR处理,其引入增益常数γ代替MSRCR算法中色彩恢复常数实现算法增强[3]。李冠章等提出了一种自适应饱和度分量的线性拉伸方法,可以使不同照度的图像饱和度分量达到最优化,此方法会运用到本节算法中饱和度S线性拉伸的调整中[4]。舒婷先不对粗略透射率进行优化,直接将粗略透射率与高斯尺度参数进行关联,通过改进高斯滤波核的方式实现MSR算法对有雾图像的清晰化处理[5]。汪荣贵等证明了暗原色理论中透射率和高斯尺度参数的关系,改进了高斯滤波核[6]。徐廉提出了基于景深的可拉伸MSR算法,通过暗原色原理求的透射率图并以此计算拉伸系数,并根据得到的拉伸系数对雾霾图像进行MSR处理得到优化的去雾图像[7]。康永杰提出了基于Retinex算法快速求解传递图的去雾算法,通过按颜色先验知识求的大气光强,并对大气模型公式进行转换得到新的传播图,对传播图进行Retinex算法处理得到照射分量,用局部对比度增强技术,得到最后的传递图,根据去雾模型求解方程得到最后的去雾图像[8]。徐志江等使用基于稀疏表达的暗通道先验算法解决雾霾引起的图像模糊问题[9]。笔者通过对暗原色先验理论算法和Retinex算法进行深入剖析,提出以下暗原色Retinex算法。
笔者算法:1) 根据原始雾天图像,得到暗原色图像并计算粗略透射率t(x,y);2) 利用导向滤波器对粗略透射率进行优化得到精细透射率t1(x,y);3) 由暗原色图像估计大气光值A;4) 将求得的精细透射率和大气光值A值得到复原图像;5) 将复原后的初步图像从RGB空间转到HIS空间;6) 对照度分量I进行自适应MSR算法处理;7) 对饱和度分量S采用自适应线性拉伸进行调整;8) 将色彩空间从HIS到RGB得到最后的去雾图。具体算法流程图如图1所示。
图1 算法流程图Fig.1 The flow chart of research thought
首先根据暗原色先验原理[10]计算出原始雾天图像的暗原色图为
(1)
式中:Jdark(x,y)为图像J的暗原色图;Jc(x,y)为图像J的某通道图像;Ω(x,y)为以(x,y)为中心像素点的方形区域。
根据大气散射模型[11]描述雾天图像成像过程为
I(x,y)=J(x,y)t(x,y)+A(1-t(x,y))
(2)
式中:I为设备采集到的图像;J为无雾条件下的图像;A为大气光值;t为透射率。式(2)中假设大气光值A已知并在局部区域Ω(x,y)中,透射率t(x,y)是一个常数,然后将该局部区域的透射率标记为t1(x,y)。对式(2)两端进行局部区域最小值和颜色通道最小值求解得
(3)
因为Ac为一正数,可求得局部区域透射率为
(4)
为保持图像自然性需对去雾过程中保持少量雾使图像具有深度感,得到粗略透射率为
(5)
式中ω为去雾程度常数,一般取0.95。
采用导向滤波算法[12]对粗略透射率进行细化,通过降序排列暗通道图中的像素值亮度,选出其中前0.1%的像素,这些像素对应图片中雾最厚的区域,然后将这一组像素映射到原图像中,找到原图中对应部分亮度最亮像素的灰度值作为大气光值A[12]。对粗略大气光值进行估值时无法保证每个像素值除以大气光值后小于1,可以设定阈值为t0,当透射率小于t0时t(x,y)=t0,取t0=0.1[12]。得到初步复原雾图优化表达式为
(6)
1.2.1HIS空间转换
初步复原雾天图像通过下式进行HIS空间转换[13],其中H为色调分量,H∈[0°,360°];S为饱和度分量且满足条件S∈[0,1];I为亮度分量。
1.2.2 亮度分量I自适应MSR算法优化
目前有研究者利用暗原色值与高斯尺度参数间存在的联系得到一个非线性拟合结果并构造了优化的高斯滤波器,其流程为用MSR算法对雾天复原图像进行二次去雾优化,先进行LOG操作,然后高斯滤波器与原始图像进行卷积估计入射分量,在LOG域下将雾天图像与入射分量相减得到反射分量,最后将反射分量指数变换得到最后去雾图[5-6]。受此启发,针对暗原色先验算法处理后的雾天图像亮度偏暗的不足,对此优化的高斯滤波器进行对亮度分量I调整以实现自适应,从而弥补预处理初步复原图像中的亮度不高的缺陷。并且对亮度分量的操作可以避免分别对图像RGB通道进行MSR单独处理,破坏颜色通道彼此的颜色比例并造成颜色失真。一般MSR算法需要对雾天图像RGB通道进行三次操作,而笔者算法只需要对亮度分量进行一次操作。
亮度分量描述图像整体的明暗程度,雾天图像中成像的亮度与透射率有关。透射率的值越小表明距离采像设备越远,图像亮度越低;值越大表示距离采像设备越近,图像亮度越高。由此对图像亮度低的部分作小尺度变换增强图像细节信息处理,而对图像亮度高的部分作大尺度变换增强颜色的真实性,使最后的处理效果实现近处物体颜色色彩得到保持并增强,远处物体细节得到增强的目的,最终可以根据景深大小实现亮度自适应MSR算法。
已知透射率与高斯尺度参数[6]关系为
(7)
式中:c为高斯尺度参数;t(x,y)为光透射率;THt为光透射率阈值,取值112.5;γ为调节系数取值为3 031.5。据此可以得到调整后的高斯滤波器为
(8)
式中K为归一化因子,满足在某一高斯尺度参数下∬F(x,y)dxdy=1。
由MSR算法知:根据优化的高斯滤波器与亮度分量进行滤波运算,得到增强后的亮度分量为
(9)
式中:Wk为尺度权重,一般三尺度时取1/3;I(x,y)为调整前亮度分量;Fk(x,y)为自适应高斯滤波器;I′(x,y)为调整后亮度分量。
1.2.3 饱和度分量优化
对图像饱和度进行优化,饱和度描述图像色彩的鲜艳程度。在获取图像过程中,外界的光照环境不同,图像的辐照度也不同,辐照低导致图片的饱和度较低,影响视觉观感,需要对饱和度S进行拉伸。为使饱和度分量S都能到达最优化,此算法的S调整利用自适应饱和度分量线性拉伸算法,其表达式为
(10)
式中:S为原始图像的饱和度;S1为经过线性拉伸后图像饱和度;MV为原始图像均值;min(R,G,B),max(R,G,B)分别为三个颜色通道最小值和最大值。
1.2.4 HIS空间恢复
对S和I分量调整后进行从HIS空间到RGB空间的转换[11],得到最终去雾效果图。
实验操作系统为Windows7 64位,开发平台为Matlab 2014b,CPU为Intel Core i5 3.2 GHz,内存为4 GB.选用暗原色先验算法、汪荣贵提出的暗原色-RGB Retinex算法以及笔者提出的暗原色Retinex算法对高铁&树雾图进行主客观分析。
图2为原始大雾图像;暗原色先验算法中图像细节信息如树的颜色、车的颜色显示较好但整体图像偏暗(图3);经暗原色-RGB Retinex算法的整幅图像亮度增强过度,图像发白且图像雾气去除不明显(图4);笔者提出的暗原色Retinex算法(图5)很好地还原了道路两旁树林、左上卡车以及铁轨的实景,并且整个场景富有层次感。
其次分析原始图像和三种图像增强后的直方图分布:暗原色先验算法增强后的像素集中在90左右,导致图像亮度较低,像素较原图分布宽但不均匀。暗原色-RGB Retinex算法像素集中在150左右,较图2分布优化不是很明显;笔者算法像素分布在170左右,可以明显感觉图像变得明亮,视觉效果好,像素分布最为宽泛,对比度得到很大提升。
图2 原始图像直方图Fig.2 Histogram of original image
图3 暗原色先验算法增强后直方图Fig.3 Histogram of dark prior algorithm
图4 暗原色-RGB算法增强后图像直方图Fig.4 Histogram of dark prior-RGB algorithm
图5 笔者算法增强后直方图Fig.5 Histogram of this paper presents an algorithmic
表1为3 种算法去雾效果的客观分析和比较,通过客观评判标准进一步说明这3 种图像去雾的优缺点。其中亮度表征图像明暗程度;对比度表征图像渐变丰富程度及色彩丰富性;信息熵表征图像包含有用信息量;平均梯度表征图像细节部分清晰度;信噪比表征图像复原效果。从表1中可以看出:笔者提出的暗原色原理Retinex算法亮度适中,信噪比、对比度值、平均梯度和信息熵有很大提升;暗原色先验处理的图像亮度最低,图像最暗,影响视觉观感;暗原色-RGB Retinex算法亮度虽然最大但是出现过度增强。
接下来对薄雾和大雾图像(图6)进行测试。在薄雾图中暗原色先验算法处理后图像比较平滑但整体显得暗淡;暗原色-RGB算法处理的图像增强过度导致偏白;笔者算法弥补了暗原色先验算法亮度不高的不足并丰富了图像色彩,增强图像视觉效果的同时,图像的细节信息更加清晰。在大雾图像中暗通道先验算法得到的图像亮度明显偏暗,影响观感,细节信息被明显忽略;暗原色-RGB算法处理的图像亮度增强过度,显得模糊且不够清晰;笔者算法有很好的去雾效果,并且图像亮度适中,图像有很好的层次感,改善了图像被过度增强的问题且显得很自然,其中嬉戏的鹅、房屋和远处老人等细节信息得到了明显的增强。
表1 雾图3 种增强算法评价指标
图6 薄雾、大雾图像算法处理结果Fig.6 Algorithm processing results of misty and dense fog image
提出一种基于暗原色先验Retinex算法,该算法先用引导滤波细化透射率获得初步还原去雾图。在深度处理中把雾天图像从RGB转换到HIS颜色空间,分离出色度分量H,饱和度分量S,亮度分量I。然后对亮度分量I进行自适应MSR算法处理,通过建立精细透射率与高斯尺度参数的数学关系来重新构造高斯滤波核实现对亮度分量I重新分配;通过对饱和度分量S进行自适应线性拉伸处理以丰富图像色彩;最后把合成图像由HIS转换为RGB空间得到最终增强图像。实验结果表明笔者算法处理的图像改善暗原色先验算法处理图像亮度偏暗的不足,并且提高了图像的色彩艳丽程度及视觉效果,提升雾天图像的清晰度使得细节得以再现,并通过图像质量分析得出定量数据结果,进一步验证笔者算法的有效性。