2. 长安大学 信息工程学院, 西安 710064
2. College of Information Engineering, Chang’an University, Xi’an 710064, China
在辅助驾驶场景中, 实时采集车辆周围的图像并运用计算机视觉技术感知交通环境, 是保证行车安全性和高效性的技术保障. 然而在雾霾天气中, 感知到的图像存在灰度值集中、对比度不强等缺陷, 影响目标检测等任务的准确率[1]. 通过对有雾图像的去雾预处理, 可增强图像特征, 在一定程度上提高后续任务的准确率, 但增加去雾预处理环节也会影响任务的实时性. 因此, 在道路图像去雾算法中, 如何兼顾准确率和实时性, 是一个值得研究的课题. 根据去雾机理不同, 常用的去雾算法可分为3类: 基于图像增强、基于图像复原及基于深度学习技术[2].
基于图像增强的去雾算法不关注雾霾成因, 以及导致图像质量下降背后的光学机理, 直接从刻画图像本身的特征入手, 通过增强图像亮度、对比度等手段, 消除雾霾影响. Soni等人[3]结合自适应直方图均衡和引导过滤法以增强图像对比度, 改善有雾图像灰度级分布的均匀性, 扩大灰度范围, 增强图像质量, 但像素值的重新分配会使一些细节和纹理信息被平滑化或丢失. Retinex去雾算法[4] 基于光源变化不影响人对物体原始色彩的判断这一理论减少雾霾对图像造成的影响, 增强图像清晰度, 但去雾图像容易出现色彩失真、边缘模糊的问题. 高原原等人[5] 在Retinex去雾算法的基础上提出单尺度Retinex算法, 利用小波变换分离图像中的高频与低频分量, 再对高频范围内的细节信息进行增强, 提高图像质量, 但实现较为复杂. 此类算法适用面广, 但缺少针对户外天气和交通图像的细节关注, 易造成图像边缘信息的损失.
基于图像复原的去雾方法主要从光学成像的角度, 分析雾霾对图像成像过程的影响, 确定类似大气散射光学模型中的未知参数, 再通过逆运算由雾图推导出清晰图像. 相较第1种方法, 针对性更强, 效果更好. 吴靖等人[6]利用光的偏振特性推算大气散射模型中的参数, 较好地恢复出无雾的清晰图像, 但由于大气散射的时变性, 该算法去雾效果不稳定, 鲁棒性较差. Ju等人[7]通过改进大气散射模型提出贝叶斯去雾算法, 能较好保留图像细节信息, 但对高频分量的增强易造成图像色调过饱和. He等人[8]提出暗通道先验(dark channel prior, DCP)去雾算法, 利用非天空区域中RGB某通道的像素值很低的特点, 去雾能力好但对天空部分的处理效果差, 且处理速度较慢, 不适合对道路交通图像的实时去雾.
随着人工智能算法的发展和计算机算力的提升, 以卷积神经网络(convolutional neural network, CNN)[9]为代表的深度学习算法广泛应用于图像去雾领域. 基于深度学习的去雾算法分为两类[10], 第1类是基于先验物理模型的去雾算法, 通过CNN网络计算模型中的未知参数来恢复出无雾图像. Cai等人[11]提出DehazeNet算法, 通过获得雾霾退化模型中的介质透射率实现去雾, 但其将全局大气光值选取为固定经验值, 易导致得到的去雾图像存在偏差. Ren等人[12]提出基于整体边缘多尺度的去雾算法(multi-scale convolutional neural network, MSCNN), 结合粗、细尺度网络预测透射率, 该方法的计算复杂度与图像分辨率正相关, 不适合高分辨率的图像去雾. Li等人[13]提出一体化去雾算法(all-in-one dehazing network, AOD-Net), 将大气散射模型中的两个未知参数合并为一个未知参数后, 利用CNN网络估计这一参数值, 从而实现图像去雾, 去雾速度快但效果一般. 第2类是不利用先验模型的基于端到端网络模型[14]的图像去雾算法, 直接通过一个深度神经网络, 自主学习输入雾图和对应的清晰图像之间的映射关系. Chen等人[15]提出门控上下文聚合网络(gated context attention network, GCA-Net), 直接学习雾图和清晰图之间的残差关系, 去雾效果好但网络结构复杂, 计算耗时长.
考虑到道路图像的去雾主要用于车载环境中的图像预处理, 计算资源有限且对实时性要求高, 因此本文主要参考去雾速度较快的AOD-Net算法的基本思路[13], 但针对该算法网络结构设计过于简单, 容易导致去雾后图像存在模糊、细节纹理不清的问题, 本文通过引入SE通道注意力机制[16]、引入金字塔池化模块[17]、改进损失函数的策略, 使改进后的AOD-Net算法可兼顾图像恢复的局部与整体, 关注重要特征, 仅付出较小的时间代价就能更有效地去除道路交通图像中的雾霾, 恢复更多细节和纹理信息, 提高图像质量.
1 原AOD-Net去雾算法AOD-Net是一种基于卷积神经网络的轻量级去雾算法, 通过对大气散射过程建模, 利用CNN学习输入图像的特征, 预测出传输图
$ K\left( x \right) = \frac{1}{{I(x) - 1}}\left( {\frac{{I(x) - A}}{{t(x)}} + A - b} \right) $ | (1) |
其中,
AOD-Net算法的去雾过程分为两个步骤, 如图1所示. 首先利用式(1)得到图像的
$ J\left( x \right) = K\left( x \right)I\left( x \right) - K\left( x \right) + b $ | (2) |
深度学习的过程分为两个阶段, 在训练阶段, 使用大量的雾图和对应的清晰图像, 通过学习二者之间的逻辑关系训练网络, 使得网络具备推导出
AOD-Net中K值估计模块是去雾算法的核心, 是影响去雾效果的关键. 通过深度网络的训练和学习, 可以使K值的估计更准确, 从而提高去雾算法的性能. 改进后的网络结构如图2所示, 其中带下划线模块为本文改进时新增部分.
原AOD-Net网络结构包括5个卷积层和3个拼接层. 卷积层分别使用不同大小的卷积核计算得到不同粗细尺度的特征, 反映图像信息. 拼接层连接不同尺度特征图, 使网络更好地获取特征, 并降低卷积过程中的特征信息损耗. 在网络结构中, 每个卷积层只包含3个卷积核, 网络深度也较浅, 使得整个网络十分轻量化, 进行单幅图像去雾所需时间较短.
AOD-Net拥有良好的去雾速度, 但由于网络深度浅、感受野小、对特征通道平均分配权重等因素, 容易使网络只关注局部特征, 而忽略整体, 使得去雾后的图像存在模糊、细节纹理不清等问题. 因此, 为了提升对道路交通图像的去雾能力, 本文的改进思路如下.
(1)在网络中添加SE (squeeze-and-excitation)通道注意力, 不同于之前平等对待每个通道, 而为特征图的不同通道自适应分配权重, 使模型更关注与图像去雾任务强相关的通道信息, 得到更好的特征表达.
(2)加入金字塔池化模块(pyramid pooling module, PPM), 扩大网络感受野, 并通过多尺度提取特征, 平衡网络对全局特征和局部信息的表达能力, 有效减少去雾过程中的信息丢失, 提高图像质量.
(3)改进损失函数: 将
图像去雾任务对于不同通道信息的敏感程度不同, 比如图像的物体轮廓、边缘、纹理易受雾霾影响, 包含这些信息的通道对去雾任务就有更高的贡献度, 而背景中的天空颜色、其他非雾霾区域的细节等通道信息在去雾任务中的重要性相对较弱.
而原网络结构中平等对待特征图的每个通道, 对重要信息和冗余信息都一视同仁, 可能使模型难以捕捉到不同通道对于图像去雾任务的贡献程度, 导致过分关注冗余信息, 影响去雾效果.
加入SE通道注意力模块后, 通过不断迭代训练并更新网络参数, 自适应地调整各通道的权重, 对去雾任务强相关的通道赋予更高的权重值, 捕捉更多关键信息, 同时抑制无关通道的干扰, 帮助模型更好地理解图像的结构, 降低模型对冗余信息的敏感度, 提升去雾效果.
SE通道注意力的网络结构如图3所示. Squeeze操作将输入特征图中每个通道的特征值压缩为一个1×1×C的全局描述符, 反映每个通道的全局感知信息, 比如平均值、最大值等. 然后通过excitation操作将此全局描述符转换为一个向量, 该向量的大小与输入特征图的通道数相同, 作用是根据不同通道的重要性对输入特征图的各通道赋予对应的权重. 最后权重与原始特征图通道进行加权相乘, 得到最终的特征图. 为了涵盖更多的特征, 将SE注意力模块添加到第5个卷积层后, 待网络充分提取特征后, 就可以仅少量的计算代价, 获得更好的增强特征表达, 帮助模型更好地关注到去雾相关的重要信息, 提高图像去雾的去雾效果.
2.2 金字塔池化模块
原AOD-Net网络层数较浅, 对应的感受野较小, 使得网络获得图像的全局上下文信息的能力较弱, 导致去雾后的图像只关注局部细节, 而忽略整体信息的恢复. 因此, 本文增加金字塔池化模块, 扩大感受野并融合不同尺度的特征, 利用多个池化层来多尺度捕捉不同大小感受野的图像特征, 全面、立体地刻画图像的细节和特征. 并通过不同尺度特征间的相互补充, 丰富图像结构和纹理信息, 平衡全局信息和局部细节信息的获取, 而提高图像去雾后的质量.
本文使用的PPM结构如图4所示, 分别使用3种不同尺度的金字塔进行特征融合. 具体过程如下.
(1) 对网络提取的特征图做3种尺度池化, 得到1×1、2×2、4×4的特征金字塔. 对池化后的每层特征图分别使用1×1的深度卷积, 得到通道数为1的特征图.
(2) 通过双线性插值填充的方式, 对每层的特征图进行上采样, 将特征图恢复到原特征图的尺寸.
(3) 将生成的特征图与原特征图在通道维度上进行拼接, 得到通道数增加一倍的复合特征图.
(4) 采用3×3卷积核对复合特征图进行卷积, 卷积层的输出结果就是待估计的
在图像去雾任务中, 损失函数被用来衡量去雾后的图像与真实无雾图像间的差异, 从而指导模型在训练过程中的优化和学习. 本文提出
$ {L^{{\rm{mix}}}} = {L^{{L_2}}} + {L^{{\textit{SSIM}}}} $ | (3) |
$ {L^{{L_2}}} = \frac{{{{\displaystyle\sum {_{p \in P}\left[ {x\left( p \right) - y\left( p \right)} \right]} }^2}}}{N} $ | (4) |
SSIM是基于图像结构相似度的损失函数. 重点关注去雾后图像与真实无雾图像之间的亮度、对比度以及纹理结构的相似程度, 更全面地反映图像质量, 计算公式为:
$ {\textit{SSIM}}\left( {x, y} \right) = \frac{{\left( {2{\mu _x}{\mu _y} + {C_1}} \right)\left( {2{\sigma _{xy}} + {C_2}} \right)}}{{\left( {\mu _x^2 + \mu _y^2 + {C_1}} \right)\left( {\sigma _x^2 + \sigma _y^2 + {C_2}} \right)}} $ | (5) |
其中,
SSIM越大表明去雾后图像和真实无雾图间的差距越小, 在模型训练过程中, 需要不断减小损失函数来使网络收敛, 所以SSIM作为损失函数时的定义为:
$ {L^{\textit{SSIM}}}\left( {x, y} \right) = \frac{{\displaystyle\sum {_{p \in P}\left( {1 - {\textit{SSIM}}\left( {x, y} \right)} \right)} }}{N} $ | (6) |
相较于原AOD-Net网络只采用
(1) 数据集选取
本文研究场景为道路交通图像, 故选取了RESIDE数据集[20]中的OTS室外带雾数据集训练模型, 其中包含2061张清晰室外图像, 大都为城市道路交通场景, 基于大气散射模型使用不同的散射系数和全局大气光值对每张清晰图像生成了20张不同的雾霾图像, 共41220张组成数据集, 按照9:1划分为模型的训练集与测试集.
(2) 实验环境和参数设置
在网络训练阶段, 使用的实验环境配置如表1.
参数设置中采用随机正态分布进行参数初始化, 动量参数设置为0.9, 权值变化梯度为0.0001, batch_size设置为8, 网络共训练5个epoch后得到最后的网络模型.
3.2 评估方法对图像去雾的效果评价分主观和客观两方面[21]. 主观评价通过人类的主观印象从图像的视觉清晰度、颜色还原度[22]等方面给出去雾效果评价. 存在个体主观差异, 通常仅用作辅助参考. 客观评价指标通过对图像像素值、结构、对比度等指标的计算和分析, 定量评估去雾算法的性能. 本文采用峰值信噪比(peak signal to noise ratio, PSNR)[23]和SSIM两个客观指标.
PSNR基于图像像素点间的绝对误差, 衡量降噪能力, 单位是分贝(dB), PSNR计算公式为:
$ {\textit{PSNR}} = 10{\log _{10}}\left( {\frac{{{{\left( {{2^n} - 1} \right)}^2}}}{\textit{MSE}}} \right) $ | (7) |
其中, n代表每个像素点对应的比特数, 灰度图像一般取8. MSE表示去雾后图像与真实无雾图像对应像素点的均方误差, MSE越小, 表示图像去雾后的失真越小, 降噪能力越强.
SSIM综合反映两张图像在对比度、亮度和结构方面的相似度, 数值介于0–1之间, 值越大说明去雾后图像和原清晰图像之间的相似度越好, 去雾效果越好.
3.3 实验结果与分析为了验证本文所提的改进AOD-Net算法对室外图像去雾的有效性, 本节对比以下几种算法对合成有雾图像测试集的去雾效果. 合成有雾图像测试集由OTS数据集中的1000张合成图像和清华大学和腾讯合作提供的公开数据集TT100K数据集中的图像经过加雾处理后获得的400张有雾图像共同组成.
使用AOD-Net算法和改进后AOD-Net算法对合成有雾图像测试集中的图像去雾, 并分析去雾结果. 对比实验选取3种常见的去雾算法DCP[8]、DehazeNet[11]、GCANet[15], 其中, DCP是基于物理模型的去雾算法, DehazeNet是基于CNN实现的轻量化去雾算法, GCA-Net是利用CNN但不依赖先验模型的算法. 通过观察去雾后图像, 并定量比较这几种去雾算法的PSNR和SSIM值, 证明改进后的AOD-Net算法拥有较好的对于道路交通标志图像的去雾能力.
图5是分别使用上述算法对测试集中的合成有雾道路图去雾后的结果. 从主观评价结果可看出, 与其余算法相比, 改进AOD-Net去雾算法的去雾效果较好. 一方面, 没有出现类似DCP算法去雾后在天空部分存在的颜色偏移现象, 另一方面, 相比原AOD-Net算法, 亮度和色彩恢复度更好; 从客观评价指标PSNR和SSIM值可以看出, 相比原AOD-Net算法, 改进后的AOD-Net算法在PSNR和SSIM值上表现较好, 说明算法在细节和纹理信息上都更加接近清晰图像.
对测试集中的所有图像进行去雾实验后, 得到不同算法对应的PSNR和SSIM的平均值, 由表2的客观评价指标值可知, 本文提出的改进AOD-Net算法的PSNR和SSIM的值均为最高. 与改进前的模型相比, PSNR提升了2.52 dB, SSIM提升了4.2%. 证明了本文改进策略的有效性.
本文还选取了RESIDE数据集中的混合主观测试集HSTS数据集中的真实有雾图像, 验证算法对真实道路交通图像的去雾能力.
在图6中, 可明显看出, 对于道路上的真实有雾交通图像, 几种算法均能实现有效去雾, 但去雾效果还存在一些差异, DCP算法在像素细节上恢复较好, 但去雾后存在天空区域失真, 在图像边缘上存在光晕现象. GCANet 去雾后存在团雾现象, DehazeNet和AOD-Net算法会降低去雾后的图像亮度, 而改进后的AOD-Net在图像亮度和纹理恢复方面表现较好, 但对远景雾的去除效果还有待提高. 在实验中, 使用的HSTS数据集中的真实有雾图像, 没有与之对应的真实无雾图, 无法通过SSIM和PSNR客观量化, 主要对其进行主观评价.
在去雾效率方面, 通过对测试集共1400张图片进行去雾测试, 所有算法在同一台设备上运行, 设备参数见表1, 5种算法的平均去雾时间如表2所示. 可以看出, AOD-Net算法的平均去雾时间最短, 与此相比, 改进后的AOD-Net算法的去雾时间上增加了2 ms, 但相较于其他基于深度学习的算法, 仍具有明显优势, 满足实时需求.
4 结论与展望为了实现对有雾图像快速高效的去雾处理, 本文基于AOD-Net算法进行改进, 通过加入SE通道注意力、加入金字塔池化模块、优化损失函数的方式提升算法的去雾效果, 加强对图像细节和纹理信息的恢复能力. 在OTS数据集训练后, 本算法在单幅图像去雾表现上PSNR和SSIM分别达到23.92 dB和0.9122, 优于对比方法. 相较于原算法, 本算法以延长2 ms去雾时间为代价, 有效提升了去雾效果, 得到的去雾模型适合作为图像预处理模块嵌入到高级计算机视觉任务中, 例如: 交通标志识别、行人检测等. 下一步的研究重点是通过采集大量真实场景下的雾图并标注, 完善数据集, 进一步加强算法的去雾效果, 提升算法的泛化性和鲁棒性.
[1] |
王道累, 张天宇. 图像去雾算法的综述及分析. 图学学报, 2020, 41(6): 861-870. |
[2] |
谢勇, 贾惠珍, 王同罕, 等. 图像去雾算法综述. 计算机与数字工程, 2022, 50(12): 2765-2774. |
[3] |
Soni B, Mathur P. An improved image dehazing technique using CLAHE and guided filter. Proceedings of the 7th International Conference on Signal Processing and Integrated Networks (SPIN). Noida: IEEE, 2020. 902–907.
|
[4] |
郑凤仙, 王夏黎, 何丹丹, 等. 单幅图像去雾算法研究综述. 计算机工程与应用, 2022, 58(3): 1-14. |
[5] |
高原原, 胡海苗. 基于多子块协同单尺度Retinex的浓雾图像增强. 北京航空航天大学学报, 2019, 45(5): 944-951. |
[6] |
吴靖, 宋文杰, 郭翠霞, 等. 基于偏振度优化与大气光校正的图像去雾. 光学 精密工程, 2023, 31(12): 1827-1840. |
[7] |
Ju MY, Ding C, Zhang DY, et al. BDPK: Bayesian dehazing using prior knowledge. IEEE Transactions on Circuits and Systems for Video Technology, 2019, 29(8): 2349-2362. DOI:10.1109/TCSVT.2018.2869594 |
[8] |
He KM, Sun J, Tang XO. Single image haze removal using dark channel prior. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 33(12): 2341-2353. DOI:10.1109/TPAMI.2010.168 |
[9] |
刘哲, 梁宇栋, 李嘉莹. 基于动态卷积核的自适应图像去雾算法. 计算机科学, 2023, 50(6): 200-208. DOI:10.11896/jsjkx.220400288 |
[10] |
孟红记, 刘沛谚, 胡振伟. 基于注意力特征融合稠密网络的图像去雾算法. 东北大学学报(自然科学版), 2022, 43(12): 1717-1723. DOI:10.12068/j.issn.1005-3026.2022.12.007 |
[11] |
Cai BL, Xu XM, Jia K, et al. DehazeNet: An end-to-end system for single image haze removal. IEEE Transactions on Image Processing, 2016, 25(11): 5187-5198. DOI:10.1109/TIP.2016.2598681 |
[12] |
Ren WQ, Pan JS, Zhang H, et al. Single image dehazing via multi-scale convolutional neural networks with holistic edges. International Journal of Computer Vision, 2020, 128(1): 240-259. DOI:10.1007/s11263-019-01235-8 |
[13] |
Li BY, Peng XL, Wang ZY, et al. AOD-Net: All-in-one dehazing network. Proceedings of the 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017. 4780–4788.
|
[14] |
Liu W, Hou XX, Duan J, et al. End-to-end single image fog removal using enhanced cycle consistent adversarial networks. IEEE Transactions on Image Processing, 2020, 29: 7819-7833. DOI:10.1109/TIP.2020.3007844 |
[15] |
Chen DD, He MM, Fan QN, et al. Gated context aggregation network for image dehazing and deraining. Proceedings of the 2019 IEEE Winter Conference on Applications of Computer Vision (WACV). Waikoloa: IEEE, 2019. 1375–1383.
|
[16] |
赵茂军, 郭凰, 白俊峰, 等. 基于通道注意力与条件生成对抗网络的图像去雾. 计算机系统应用, 2022, 31(11): 167-174. DOI:10.15888/j.cnki.csa.008804 |
[17] |
Zhang R, Chen J, Feng L, et al. A refined pyramid scene parsing network for polarimetric SAR image semantic segmentation in agricultural areas. IEEE Geoscience and Remote Sensing Letters, 2022, 19: 4014805. |
[18] |
李永福, 崔恒奇, 朱浩, 等. 一种基于改进AOD-Net的航拍图像去雾算法. 自动化学报, 2022, 48(6): 1543-1559. |
[19] |
Nesovic K, Koh RGL, Aghamohammadi Sereshki A, et al. Ultrasound image quality evaluation using a structural similarity based autoencoder. Proceedings of the 43rd Annual International Conference of the IEEE Engineering in Medicine & Biology Society. Mexico: IEEE, 2021. 4002–4005.
|
[20] |
Li BY, Ren WQ, Fu DP, et al. Benchmarking single-image dehazing and beyond. IEEE Transactions on Image Processing, 2019, 28(1): 492-505. DOI:10.1109/TIP.2018.2867951 |
[21] |
张登银, 鞠铭烨, 钱雯. 图像去雾算法研究现状与展望. 南京邮电大学学报(自然科学版), 2020, 40(5): 101-111. |
[22] |
宋传鸣, 唐媛, 乔明泽, 等. 缓解平滑区域光晕和偏色失真的图像去雾算法. 计算机辅助设计与图形学学报, 2022, 34(6): 953-969. |
[23] |
黄小乔, 石俊生, 杨健, 等. 基于色差的均方误差与峰值信噪比评价彩色图像质量研究. 光子学报, 2007, 36(S1): 295-298. |