导向滤波和自动白平衡融合的遥感图像除雾算法应用研究
2021-10-20李国清汤子梦吴喜芳张合兵王春阳李保莲
李国清,汤子梦,吴喜芳,张合兵,王春阳,李保莲
(1.河南省遥感测绘院,河南 郑州 450000;2.河南理工大学 测绘与国土信息工程学院,河南 焦作 454000;3.河南省国土资源调查规划院,河南 郑州 450016)
0 引 言
在云雾等恶劣环境影响下遥感影像可视性差,图像失真严重,无法满足影像感知系统对图像清晰度的要求[1],因此,图像除雾算法十分重要。
目前,图像除雾技术主要有两种:一种是图像增强技术;另一种是图像复原技术[2]。图像增强技术主要是增强图像的对比度、亮度和色彩饱和度,未从图像本质解决问题;图像复原技术从云雾影像本质出发,具体思路为首先建立数学物理模型,然后通过反演算法得到除雾后的影像。近年来,图像除雾算法被学者不断改进演变,出现了直方图均衡化、曲波变换、小波变换、同态滤波等,其中最经典的也是应用最广泛的技术是基于Retinex模型的除雾算法。在该算法的基础上,又演变了单尺度Retinex算法、多尺度Retinex算法、带彩色恢复因子的多尺度算法[3]。
一些试验表明,单尺度Retinex算法影像除雾后的边缘细节信息不完整,多尺度Retinex算法在影像亮度相差较大时,某些区域会出现严重的光晕现象。针对此问题,秦旭佳等[4]提出了一种基于HSV色彩模型的Retinex图像增强算法,将传统的RGB色彩模式图像在图像增强算法基础上变换到HSV色彩模型上,然后再将该模型转移到RGB色彩空间上。经过两次变换,校正了颜色通道间的关系,得到雾化后的影像。虽然影像的地物细节信息得到增强,但计算过程较为复杂;石文轩等[5]提出了一种基于Retinex和色度比的除雾算法,既去除了云雾,又保留了原始图像的色彩信息。该算法的主要原理是对影像的对比度进行线性化处理,避免了雾化后图像的色彩畸变和灰度加深等问题;杨安洪[6]则是采用同态滤波、多尺度及图像复原的处理方法,利用同态滤波与彩色空间变换相结合处理云雾图像,提出并实现了同态滤波和HSV变换的处理方法;朱锡芳等[7]利用小波变换,分析了云雾和地物影像在小波系数中的分布,通过适当改变图像的高低层系数,减小近似系数,达到去除云雾的目的。而图像复原技术主要从云雾影像本质出发去除雾;顾明等[8]拉伸RGB颜色通道,进行图像增强,除雾效果较好。
图像复原技术主要包含多幅影像的图像复原除雾算法和基于单幅影像的图像复原除雾算法。在多幅影像除雾算法中,其中较为典型的是偏振光法和Narasimhan算法,两者都有一定局限性。偏振光算法操作计算过程较复杂,Narasimhan算法需要人为评定影像中颜色较深和较浅区域,结果不能满足精度要求,缺乏可依赖性。基于单幅影像的图像复原除雾算法又分为基于景深信息的除雾算法和基于先验信息的除雾算法。J.P.Oakly等[9]基于景物深度信息提出了除雾算法,该算法虽然能够明显除雾,但对软硬件设备要求较高。LI X等[10]认为影像容易受到云雾大小的影响,因此要建立一定的除雾框架;TAN R T等[11]提出的将对比度最大化的除雾算法在处理像素变化大的问题时,会产生少量的光晕现象,同时去雾后的图像色彩饱和度也较高;R.Fattal等[12]基于影像的透射率进行除雾处理,主要针对云雾不严重的情况进行处理,在雾层比较厚或地物信息不太好看出的区域,雾化后的图像色彩失真较为严重;HE K M等[13]提出的暗原色先验理论是比较经典的除雾算法,被大多数人采用,计算过程简便,处理后的影像地物信息也得到完整表达,但需要处理的影像面积较大时,除雾后的影像效果一般,精度较差;方帅等[14]提出基于雾天图像的同步去噪与复原,对原始图像进行两次双边滤波处理,最后在滤波后的图像中引入色彩恢复因子,解决颜色失真问题;薛现光等[15]根据现有的BSHTI和IBSHIT 算法,进一步提出了OIBSHTI算法,改进后的算法不仅有效消除了地物纹理,而且充分还原了地表建筑的真实特征,影像的曝光也得以改善。除对正常影像进行除雾之外,学者还对海上影像进行除雾研究,林昌等[16]对海上影像运用改进的MSRCR算法进行了试验,对于海上影像处理研究具有一定意义。很多情况下,也会出现多幅影像拼接后的去除云雾。还有学者针对多源遥感影像的去云层问题,提出了多项式改正算法,实现不同遥感影像拼接后去除云层的目的。
在现阶段的图像除雾算法中,国内外学者提出了多种算法和思路,但大多数是结合多传感器融合或多光谱图像法。本文在导向滤波基础上,提出基于导向滤波和自动白平衡融合的图像除雾算法,该方法不仅可以克服传统除雾算法的缺点,如天空区域的色彩失真、除雾不彻底、地物真实特征难以完整显现等[17],而且原始图像的信息内容也能得到完整保存。通过将原始图像和经导向滤波处理后的图像进行对比,证实了该算法的可行性。
1 雾天退化模型
在图像除雾过程中,首先要清楚云雾形成原因,云是有效观察传感器的必然障碍[18]。在计算机视觉领域,通常使用雾天退化模型表示带雾影像。该模型首先由E.J.McCartney等[19]提出,包括衰减模型和环境光模型,即
I(x)=J(x)t(x)+A(1-t(x)),
(1)
式中:x为图像像素的坐标位置;I(x)为实际有雾的图像;J(x)为需要求解的无雾图像;A为全局大气光照强度,一般情况下设为常量,与像素的空间坐标位置无关;t(x)为透射率,它的原型是e-rd(x),其中r为大气散射系数,d(x)为景深。
大气光照强度A都是确定的,获取方法有很多,例如暗通道算法、分块递归思想、分段思量估计和快速估计大气光值,其中最简便的是将图像亮度最大点的灰度值作为大气光值,之后求解透射率的过程,根据暗通道算法求解透射率,大气光值确定以后,由式(1)得
(2)
由于J(x)和I(x)的范围可以确定,大气光值一般情况下接近于0,其中0≤J(x)≤255,0≤I(x)≤A,0≤J(x)≤A,0≤t(x)≤1,因此
(3)
式中,0≤t(x)≤1,且
(4)
为了保证图像的自然性,一般引入一个参数调整透射率。GAO T等[20]提出了一种新的计算方法确定补偿函数中的参数,提高透射率,
(5)
由此可得,雾天退化模型的除雾算法实际上是根据已知的带雾影像I(x)求解透射率t(x)和全局大气光照A的过程。
2 基于导向滤波和自动白平衡算法的融合
2.1 导向滤波算法
在图像除雾滤波算法中,导向滤波、最小二乘滤波和双边滤波是3种较为典型的滤波算法。相对于普通滤波算法,导向滤波最大的优点是尽可能让输出图像的梯度和导向图相似,同时让输出图像的灰度与输入图像相似,以此保留图像本质,并达到去除噪声的目的。[21]除此之外,导向滤波在引导图像的基础上,可以最大化输出图像边缘信息。导向滤波最早由He等在2013年提出,主要思想是引导图像做线性变换,假设导向图像I和输出图像q之间存在一个局部线性模型,该模型为
qi=akIi+bk,∀i∈wk。
(6)
像素点i经滤波处理后的结果用加权平均式表达,即
(7)
式中:qi为局部线性公式的输出;I为引导影像;ak,bk为窗口系数;pj是窗口的任意值。用γ表示窗口半径,则窗口的损失函数为
其中,pi为窗口wk的任意值,ε为一个正规化参数,避免ak过大和过于平滑,可以通过线性回归方法求解,
(9)
(10)
其中,
(11)
(12)
(13)
从而不难得到滤波图像t(x):
(14)
虽然可导向滤波除雾算法结构上比较严谨,除雾效果优于一般的除雾算法,但仍存在一定局限性,不能达到理想的效果。通过分析一定量的航空影像和室外影像,可以发现微小物体呈现出的视觉效果比较暗淡,图像的整体颜色不突出,难以表达地物的完整信息。这主要是因为导向滤波算法中的透射量是根据传输模型的估计值计算的,而实际值和真实值之间往往存在一定误差。
2.2 自动白平衡算法
由于拍摄环境影响,绝大多数拍摄设备无法真实还原物体本身的色彩信息,只能通过自动白平衡算法AWB进行颜色校正。自动白平衡是图像处理中的一个重要技术,不同的白平衡算法根据不同的校正基准对原始图像进行偏色恢复,一般分为两类:第一类是广泛假设法,主要包括灰度世界算法、基于灰度世界算法、全反射理论算法、全反射理论的何种加权正交组合算法;第二类是先验知识算法,包含色彩透视法、色彩相关法和色彩对应法[22]。由于前者比后者计算便捷,所以前者应用较为广泛。
首先,需要将RGB三色空间转换为YCbCr空间,使用的转换公式为
(15)
式中:Y为亮度信息;R,G,B为颜色通道;Cb,Cr为蓝色分量和红色分量及其各自的参考值之间的差值。
根据图像处理,将图像亮度值作为对应于前12%像素点的区域的白色参考点。
计算Raver/Gaver/Baver,R,G和B三色通道中白色参考点的平均值。
求解RGB三色通道的增益值Rgain/Ggain/Bgain
Rgain=Ymax/Raver,
(16)
式中:Ymax为Y系数的最大亮度值在YCbCr空间中,依照式(16),用相同的办法获得Ggain,Bgain,进行图像颜色校正,并获得计算结果
R′=R×Rgain
G′=G×Ggain
B′=B×Bgain,
(17)
式中,R′,G′,B′为最终校正过的影像值。
自动白平衡算法在映射过程中,函数容易受到少数极亮或极暗像素的影响,使得映射过程出现错误,从而使得物体信息不能得到完整表达。针对这一问题,本文提出了基于导向滤波和自动白平衡除雾算法,该算法能够很好地解决单个导向滤波和自动白平衡算法在除雾过程中出现的问题,使得除雾后的影像清晰明亮,满足遥感影像精度的需求。
2.3 基于导向滤波和自动白平衡融合的算法
该算法的思路是首先分析传统的暗通道算法,并进一步分析导向滤波和自动白平衡原理,最终获得除雾后的影像。暗通道先验算法是图像除雾算法的一个重要理论,其中何凯明博士的暗通道先验算法尤为典型,即在非天空的局部领域里,某一个像素总会有至少一个颜色通道具有很低的值,因此对于任何输入的图像J,暗通道可以定义为
(18)
式中:Jc(y)为彩色图像的每个通道;Ω(x)为以像素为中心的一个窗口。
雾霾成像的数学模型为
J(x)=(I(x)-A)/t(x)+A,
(19)
式中,A的估计方法一般是首先选取暗通道最亮点0.1%的像素,这些像素一般是最不透光的像素[23],从这些像素中选取最高亮度的像素作为大气光。当图像的t值很小时,会导致J的值偏大,从而使得图像失真,因此一般可设置一个阈值t0,然后再替换到大气散射模型中,则无雾图像的输出结果为
(20)
将式(14)和式(20)代入式(17)中,输出影像为
(21)
3 试验数据和试验分析
3.1 试验数据
为了证实该算法的有效性,使用MATLAB R2014a开发平台编写代码。首先在初始化的环境读取带雾图像,获取暗通道图像;然后将暗通道图像进行导向滤波计算,获取过滤后的图像;再通过大气散射模型检索过滤后的图像,获得预处理图像;最后将自动白平衡算法应用于预处理模式以获取输出图像。[24]选取4幅图像数据作为试验数据,图像数据1是2016年获取的航拍影像(http://news.focus.cn/zz/2016-12-19/11312845.html);图像数据2为2016年大疆精灵3拍摄的无人机影像;图像数据3是2014年基于国产SWDC系列航摄仪得到的影像[25],图像数据4是Google Earth(http://earth.google.com/)上下载的的四川雅安地区影像。图1是各算法的除雾效果对比图。
图1 各算法除雾后的效果对比
3.2 试验分析
为了证明该算法的可行性,分别对原始的带雾图像运用了几种算法处理。如图2所示,原始影像的云雾较重,难以分辨出地物信息,HSV双边滤波处理后的影像出现模糊、色彩暗淡现象;经导向滤波除雾后的影像虽然可以达到一些除雾效果,但是处理后的图像色彩暗淡,图像的边缘信息模糊,造成后续的使用工作不能满足精度要求;暗原色算法处理后的影像色彩较暗,灰度信息不太明显;可以看出,经过本文算法处理后的影像细节信息可以得到完整表达,很好地解决了色彩失真的现象,该算法可以运用在遥感影像的去雾过程中。
在除雾算法的应用中,高还原精度影像是一个重要的评定标准,同时算法处理的快速性也是衡量算法可行性的指标,为了进一步验证算法的精确度,对算法的处理时间和图像的信息熵等也作了评定,如表1所示。
表1中给出了针对4组带雾影像两种算法不同性质的比较,可以看出,本文算法处理图像的时间较短,这是因为导向滤波和暗原色算法都比较复杂,而本文算法将其与自动白平衡算法融合,节约了时间。在影像信息熵方面,本文算法也表现出了较好的性能,信息熵反映了图像中各灰度级出现的概率大小,是图像质量评价的重要指标,即表示图像含有的信息多少,信息熵越大,包含的图像信息越多。由此看出,在4组除雾后的影像中,本文算法的信息熵为理想状态。平均梯度反映了图像微小细节反差变化的速率,表示图像的相对清晰程度,平均梯度越大,层次越多,图像也就越清晰。本文算法的平均梯度相比于其他3种算法均有改进,和原始的带雾图像相比提高更大,因此该算法可行性更好;峰值信噪比也是评定图像信息的一个重要指标,峰值信噪比越高,图像质量越好,恢复后的图像越接近于原始图像,失真效果越小。4组图像经除雾处理后峰值信噪比均有了一定提高。无论从主观的除雾后图像信息表达方面,还是对比客观的算法性能,本文算法除雾效果更好。
表1 各除雾算法性能的比较
4 结 论
(1)针对暗通道先验算法去除遥感图像中明亮区域的云雾时容易造成色彩失真的问题,本文从带雾图像本质出发,提出了一种基于导向滤波与自动白平衡算法融合的除雾新算法。
(2)通过对遥感影像进行除雾试验发现,新算法的除雾效果优于传统的导向滤波器算法。该算法不仅解决了原除雾算法图像模糊不清、图像失真、边缘不明显的问题,而且获取的图像中地物特征更为明显,具有较好的视觉效果,节约了处理时间,提高了工作效率。
(3)本研究为未来遥感图像除雾提供了新的思路,在一定程度上解决了遥感图像的全天候使用问题。