基于对数-S型函数分段估计的快速去雾算法
1 引言
在雾霾等恶劣天气条件下,成像设备获取的图像会出现细节丢失、颜色偏移、局部偏亮、饱和度降低和质量退化等问题[1],导致图片承载的信息价值利用率降低,因此,对雾霾天气下拍摄的图像进行清晰化处理有着重大的科学研究意义。目前,对雾霾图像清晰化的处理方法有两大类:传统方法和基于深度学习的方法。传统方法包括图像增强和基于物理模型的图像复原。图像增强是通过一定手段对降质图像有选择性地突出图像中感兴趣的特征或抑制图像中某些不需要的特征来改善图像的质量。图像增强类方法[1-3]有直方图均衡化、Retinex算法、小波变换[4]等,但这类方法不考虑图像的退化机制,增强结果存在信息丢失、去雾效果不理想等问题。
图像复原类算法利用图像退化的物理机制反演退化过程,建立数学模型,通过先验知识或假设估计关键未知参量,实现图像复原。基于物理模型复原的方法近年来发展迅速。He等[5]通过对大量清晰图像的观察提出暗通道先验去雾算法,该算法认为清晰图像的局部非天空区域存在通道值较低甚至接近于0的像素点,由此直接估计透射率进行去雾。该方法简单有效并取得了显著的去雾效果,但复原结果在天空区域出现失真并且在景深变化剧烈区域存在残雾。Zhu等[6]通过观察有雾图像的HSV颜色通道发现,图像亮度和饱和度的差值与雾浓度呈正相关关系,因此提出颜色衰减先验去雾算法。该算法通过近似估计景深达到去雾目的,但复原结果依然存在去雾不彻底现象。Wang等[7]提出基于线性变换的快速去雾算法,该算法通过构造有雾图像与无雾图像最小通道的线性关系估计清晰图像暗通道,实现去雾。该方法获得了较好的去雾效果,但复原结果整体较暗,颜色失真严重。Yang等[8]提出一种以边缘保持函数代替最小滤波拟合暗通道的去雾算法,该算法利用幂律压缩和线性衰减克服了最小滤波的局限性,进而得到了较为准确的透射率,但是一些含有超远景区域的图像会产生一定的失真现象。Tarel等[15]结合大气光幕固有约束条件与中值滤波得到大气光幕,实现快速去雾,但是恢复的部分图像会出现视觉模糊的效果。基于物理模型的雾图复原尽管需要先验和假设进行透射率和相关参数的辅助计算,但因其考虑了雾图的成因,因此,此类方法能够得到更加真实的去雾图像。
基于深度学习的方法经常需要对大量的样本进行训练来获取模型参数,搭建网络实现图像去雾。Ren等[9]设计了一种用于透射率估计的多尺度网络(Multi-scale Convolutional Neural Network,MSCNN),其主要思想是对粗级网络与精细尺度网络得到的透射率进行融合,获得了较好的复原结果。Li等[10]将透射率与大气光整合为一个参量,设计了一种轻量化多尺度网络结构(All-in-One Dehaze Network,AOD-Net)。该网络消除了大气光与透射率分开训练的误差,取得了较好的复原效果,但该算法存在去雾不彻底、复原结果整体偏暗的问题。Qin等[11]提出一种端到端的特征融合注意力网络(Feature Fusion Attention Network,FFA-Net),可以有效提取图像特征并直接恢复无雾图像,但是网络结构存在过拟合问题,对于真实场景有雾图像复原效果不理想。此类方法近年来使用较多,但因为模型固有的缺陷和数据集因素,导致该类方法对真实环境下的雾图处理效果较差。
针对图像去雾研究中存在的去雾不彻底、颜色偏暗、处理速度较慢等问题,本文提出了一种基于对数-S型函数分段估计的快速去雾算法,通过对大气散射模型的分析和推导得到大气光幕与有雾图像最小通道的正相关关系,利用分段函数快速估计远近景大气光幕。并利用中值滤波获取有雾图像中通道,对其进行形态学闭操作,再经交叉双边滤波处理得到大气光。最后通过大气散射模型得到去雾图像。实验结果表明,本文算法的复原结果具有颜色鲜艳、细节信息丰富、去雾效果显著的优点。
2 图像去雾背景
在计算机视觉领域中,雾天条件下的图像退化过程通常用大气散射模型来描述[12-14]:
式中:
当大气介质均匀时,透射率可表示为:
其中:
式中:
3 本文算法
本文算法流程如{L-End}
3.1 大气光幕
在使用大气散射模型去雾时,对透射率的估计较为常见。对
用
由
当
观察
对
因
3.2 估计大气光幕
在图像去雾理论中,大气光幕反映了一定的雾浓度信息,即在有雾图像远景区域,雾浓度[17-19]分布较高,大气光幕较大;在有雾图像中近景区域,雾浓度分布较低,大气光幕较小。基于上述大气光幕在远近景区域分布的差异,为得到较为准确的大气光幕,对其进行分区域估计。由于雾气的存在影响了图像亮度,结合雾气在远景区域的分布特征,本文用有雾图像像素均值作为阈值将图像分为近景区域和远景区域。根据Yang等人[16]提出的基于最小通道与景深双约束的大气光幕估计方法可知,浓雾区域的大气光幕灰度值较大且相邻像素之间的差异性很小,而薄雾区域大气光幕灰度值较小且差异性明显。此关系描述如{L-End}
图 2. 大气光幕与最小通道的对应关系
Fig. 2. Correspondence between atmospheric light veil and minimum channel
图 3. 透射率、大气光幕、最小通道和景深的关系。
Fig. 3. Relationship of transmittance, atmospheric light veil, minimum channel, and depth of field.
根据上述特征,本文提出了一种基于对数-S型函数分段估计模型。模型采用的分段函数包括两部分,分别为对数函数和S型函数。在图像空间域增强中,对数变换可以对高灰度值部分进行压缩,低灰度值部分进行扩展。S型函数也可以对高灰度值部分进行压缩,低灰度值部分进行扩展,但是对数函数和S型函数的压缩扩展程度不同。考虑到大气光幕与最小通道变化关系的特征,选取S型函数对远景区的高亮像素进行压缩,对数函数对中近景区域进行处理,通过以上一组分段函数对大气光幕进行估计。具体函数表达式为:
式中:
{L-End}
表 1. 不同参数下的图像恢复指标
Table 1. Image recovery indicators with different parameters
|
用Yang算法[18]获得的大气光幕恢复的图像取得了较好的去雾效果,但整体偏暗,并且远景去雾不彻底。本文大气光幕恢复的图像色彩自然,亮度适中,去雾彻底。实验结果如{L-End}
图 6. Yang 与本文的大气光幕以及复原图对比
Fig. 6. Comparison of the atmospheric light veil and the recovery in Yang and ours
3.3 大气光估计
在图像去雾中,大气光值[5,8,16-20]是关键参数之一。大气光的估计会影响去雾图像的亮度,若估计过高,则恢复的图像偏暗;若估计过低,则恢复的图像偏亮。He[5]等人算法选取暗通道中排名前0.1%的最亮像素点对应的像素均值作为全局大气光值。该方法易受白色等高亮物体的影响,导致大气光值估计不准确,去雾效果不理想。为了避免全局大气光估计误差带来的问题,Sun[21]等人提出了一种在场景中局部光源与局部大气光相同的前提下,从有雾图像的局部定义大气光的方案,该方法对有雾图像最大值通道进行形态学操作和滤波处理得到局部大气光函数,获得了较好的去雾效果。局部大气光相较于全局大气光在低亮度区域处理更加准确,因此,本文提出了中通道局部大气光估计方法。提取有雾图像的最大值通道,如
其中:
其中:
其中:
4 实验结果与分析
为了验证本文算法的可行性和有效性,从主观和客观两方面对各算法复原结果进行对比。对比算法分别选取He等人[5]提出的暗通道先验算法、Wang等人[7]提出的线性传输算法、Yang等人[8]提出的Haze Removal算法、Qin等人[11]提出的特征融合注意力网络算法(Feature Fusion Attention Network,FFA-Net)(训练条件:选择SOTS数据集,运行环境为Windows 10,PyTorch,NVIDIA GPU+CUDA)和Wu等人[16]提出的自适应gamma矫正估计的图像去雾算法。
4.1 主观评价
主观分析可以最直观地反映出恢复图像的效果。本文从真实有雾图像到测试集有雾图像各方面进行实验分析。对于真实有雾图像,选取含天空区域和不含天空区域两类有雾图像。对于测试集图像,从RESIDE数据集中选取5张室内室外有雾图像。第一类图像复原结果如{L-End}
4.2 客观评价
为了进一步验证算法的可行性和有效性,本文从定量指标的角度对各算法进行对比。对于真实环境下的有雾图像采用无参考图像质量评价指标[22-24],选择新增可见边e、平均梯度r、信息熵s和运行时间t作为评价指标。对于指标e、r、s;值越大越好;对于t,值越小越好。对于测试集复原的图像采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)和结构相似性(Structural Similarity,SSIM)作为评价指标,PSNR和SSIM的值越大越好。这些指标的数学表达式分别如式(
其中:
其中:M和N分别表示图像的宽和高,L表示图像的最高灰度级,
式中:
表 2. 客观评价指标e和r
Table 2. Objective evaluation on index e and r
|
表 3. 客观评价指标s和t
Table 3. Objective evaluation on index s and t
|
表 4. 数据集评测指标
Table 4. Indictors of dataset
|
5 结论
针对现有雾天图像清晰化方法存在的光晕、伪影、去雾不彻底等问题,本文提出一种基于对数-S型函数分段估计的快速去雾算法。利用像素均值区分远近景区域,将最小通道值通过对数-S型函数拟合大气光幕,然后结合本文提出的的中通道局部大气光的估计方法,利用大气散射模型恢复无雾图像。通过实验发现,本文算法对真实有雾图像和测试集下的图像均有很好的去雾效果,复原图像的新增可见边、平均梯度、信息熵分别提升了17.4%、50.5%、30%,运行时间比传统快速去雾算法降低了17.5%,解决了存在的光晕、伪影、去雾不彻底问题且快速有效。
[1] 吴迪, 朱青松. 图像去雾的最新研究进展[J]. 自动化学报, 2015, 41(2): 221-239.
[3] 刘海波, 杨杰, 吴正平, 等. 基于暗通道先验和Retinex理论的快速单幅图像去雾方法[J]. 自动化学报, 2015, 41(7): 1264-1273.
LIU H B, YANG J, WU Z P, et al. A fast single image dehazing method based on dark channel prior and retinex theory[J]. Acta Automatica Sinica, 2015, 41(7): 1264-1273.
[16] 杨燕, 张金龙, 王蓉. 基于高斯凸优化与光幕双约束的退化场景复原[J]. 光学学报, 2021, 41(19): 133-144.
YANG Y, ZHANG J L, WANG R. Degraded scene recovery based on Gaussian convex optimization with light curtain double constraint[J]. Journal of Optics, 2021, 41(19): 133-144.
[17] 吴正平, 岑帅红. 基于自适应gamma校正估计的图像去雾算法[J]. 液晶与显示, 2022, 37(1): 106-115.
[18] 吕建威, 钱锋, 韩昊男, 等. 结合天空分割和雾气浓度估计的图像去雾[J]. 光学 精密工程, 2022, 30(4): 464-477.
[19] 何惜琴, 陈冬冬. 基于YUV颜色模型与导向滤波的图像去雾算法[J]. 液晶与显示, 2021, 36(8): 1166-1173.
[20] 姜雨彤, 杨忠琳, 朱梦琪, 等. 适应性双通道先验的图像去雾方法[J]. 光学 精密工程, 2022, 30(10): 1246-1262.
[24] 郭璠, 蔡自兴. 图像去雾算法清晰化效果客观评价方法[J]. 自动化学报, 2012, 38(9): 1410-1419.
吕东霞, 杨燕, 张金龙, 张雯波. 基于对数-S型函数分段估计的快速去雾算法[J]. 液晶与显示, 2023, 38(8): 1084. Dong-xia LÜ, Yan YANG, Jing-long ZHANG, Wen-bo ZHANG. Fast dehazing algorithm based on segmented estimation of log-S type function[J]. Chinese Journal of Liquid Crystals and Displays, 2023, 38(8): 1084.