计算机系统应用  2022, Vol. 31 Issue (11): 167-174   PDF    
基于通道注意力与条件生成对抗网络的图像去雾
赵茂军, 郭凰, 白俊峰, 廖聪     
长安大学 信息工程学院, 西安 710064
摘要:针对当前去雾方法存在雾残留、颜色失真等问题, 结合生成对抗网络在图像超分辨率重建的优势, 提出基于通道注意力与条件生成对抗网络图像去雾算法(CGAN-ECA). 网络基于编码-解码结构, 生成器设计多尺度残差模块(multi-scale residual block, MRBlk)和高效通道注意力模块(efficient channel attention, ECA)扩大感受野, 提取多尺度特征, 动态调整不同通道权重, 提高特征利用率. 使用马尔可夫判别器分块评价图像, 提高图像判别准确率. 损失函数增加内容损失, 减少去雾图像的像素和特征级损失, 保留图像更多的细节信息, 实现高质量的图像去雾. 在公开数据集RESIDE实验结果表明, 提出的模型相比于DCP、AOD-Net、DehazeNet和GCANet方法峰值信噪比和结构相似性分别平均提高36.36%, 8.80%, 改善了颜色失真和去雾不彻底的现象, 是一种有效的图像去雾算法.
关键词: 图像去雾    条件生成对抗网络    注意力机制    多尺度特征    深度学习    
Image Dehazing Based on Channel Attention and Conditional Generative Adversarial Network
ZHAO Mao-Jun, GUO Huang, BAI Jun-Feng, LIAO Cong     
School of Information Engineering, Chang’an University, Xi’an 710064, China
Abstract: In terms of the problems such as haze residues and color distortion in existing dehazing methods, this study takes advantage of a generative adversarial network in reconstructing image super-resolution and proposes an image dehazing algorithm based on channel attention and conditional generative adversarial network (CGAN-ECA). Specifically, the network is based on the encoder-decoder structure. The generator is designed with the multi-scale residual block (MRBlk) and efficient channel attention (ECA) to expand the receptive field, extract multi-scale features, dynamically adjust the weights of different channels, and improve the utilization rate of features. In addition, the Markovian discriminator (PatchGAN) is used to evaluate images and improve the accuracy in identifying images. At the same time, a content loss is added into the loss function to reduce pixel-level and feature-level losses of dehazing images, retain more image details, and achieve high-quality image dehazing. The test results based on the public dataset RESIDE show that compared with DCP, AOD-Net, DehazeNet, and GCANet models, the proposed model increases the peak signal to noise ratio (PSNR) and the structural similarity index (SSIM) by 36.36% and 8.80%, respectively, and color distortion and haze residue are solved. Therefore, CGAN-ECA is an effective method for image dehazing.
Key words: image dehazing     conditional generative adversarial network (CGAN)     attention mechanism     multi-scale features     deep learning    

1 引言

随着视频摄像机的广泛使用, 图像成为人们获取信息的重要方式. 然而视频图像容易受外界环境影响, 特别是雾霾对光的吸收和散射, 导致图像质量下降明显, 细节信息缺失严重, 从而影响了视频监控在目标检测、车型识别、智能驾驶等场景的应用. 因此, 如何通过图像处理技术减少或消除图像中的雾霾, 获得清晰的图像成为当前的研究热点.

根据不同的去雾原理, 图像去雾可分为图像增强方法、图像复原去雾和深度学习模型去雾[1] 3类. 图像增强是应用较早的去雾技术, 不考虑图像的雾化原理, 针对有雾图像亮度低、对比度差[2]等问题, 利用图像增强技术抑制图像噪声, 提高图像对比度, 达到去雾目的. Pal等[3]建立线性模型估计有雾图像的场景深度, 提出基于深度估计和模糊对比度增强的模型来消除雾的影响. Zarie等[4]将输入图像直方图的像素数3等分, 提出基于标准差的三重裁剪动态直方图均衡去雾算法(triple clipped dynamic histogram equalisation based on standard deviation, TCDHE-SD). 高原原等[5]提出多子块协同单尺度视网膜图像增强算法. Srinivas等[6]提出基于能量曲线均衡的对比度增强技术, 根据图像像素之间的空间关系计算能量曲线, 利用能量曲线创建转换函数重新分配图像强度值, 进行对比度增强. 该类算法复杂度低, 运算速度快, 但存在易产生图像失真和去雾不彻底的不足.

大气散射模型是图像复原去雾的理论基础. He等[7]提出暗通道先验(dark channel prior, DCP)的去雾算法. Li等[8]应用全局引导滤波器实现透射图的细化, 反演完成图像的去雾. 高涛等[9]利用图像分割算法, 提出融合暗亮通道远近景去雾算法. 黄文君等[10]研究分析浓雾图像的低秩特性, 提出低秩与字典表达分解的图像去雾算法. Pei等[11]针对夜间有雾图像提出通过双边滤波估计图像局部大气光值, 同时根据光源区与非光源区图像值的差异, 自适应估计透射率. 图像复原去雾算法研究有雾图像的形成机制, 去雾效果好, 但该类算法严重依赖大气光值和透射率估计的准确程度, 当估计参数不准确时, 去雾效果不理想, 图像同样容易出现失真的问题.

随着人工智能的发展, 基于深度学习的去雾方法得到广泛关注. Cai等[12]将有雾图像作为输入, 使用卷积神经网络(convolutional neural network, CNN)计算图像传输率, 使用大气散射模型反演完成图像的去雾. Li等[13]提出直接生成清晰图像的模型(an all-in-one network, AOD-Net). Song等[14]通过扩展CNN结构, 获取有雾图像的统计和结构属性, 利用随机森林训练雾霾密度预测模型, 最终得到去雾图像. Chen等[15]提出门控上下文聚合去雾网络(gated context aggregation network, GCANet). Yeh等[16]提出多尺度深度残差去雾网络(multi-scale deep residual learning network, MSRL-DehazeNet), 集成两种CNN架构, 将特征映射到同一层学习有雾和无雾图像的映射, 减少恢复图像的细节模糊. Ullah等[17]提出轻量级的CNN去雾网络(a novel lightweight CNN architecture, Light-DehazeNet)转换大气散射模型联合估计大气光和透射率, 使用颜色可见性恢复方法规避去雾图像的颜色失真. 该类方法去雾彻底, 去雾图像的视觉效果好, 但是存在依赖数据集, 场景普适性不高, 鲁棒性差的不足.

虽然目前的去雾方法在特定条件下取得了不错的效果, 但仍存在去雾不彻底, 颜色失真, 鲁棒性差[18]等问题. 针对以上问题, 本文提出一种基于高效通道注意力的条件生成对抗网络图像去雾算法(conditional gene-rative adversarial network based on efficient channel attention, CGAN-ECA). 生成器设计多尺度密集残差网络, 以不同尺度的卷积核提取图像特征, 减少信息损失; 密集残差网络加深网络深度, 充分挖掘有雾图像的深度特征, 加入跳跃连接提高特征利用率, 避免梯度消失; 引入注意力机制, 在特征融合时, 动态调节不同尺度信息的权重, 加强有效特征传播, 降低模型复杂度. 判别器使用全卷积网络分块判别图像, 关注图像各区域细节信息, 提高判别能力, 解决了训练不稳定和收敛慢的问题. 优化网络的目标函数, 保留图像更多的细节信息, 提高网络的去雾性能. 通过与不同模型在RESIDE数据集上的对比结果表明, CGAN-ECA模型去雾彻底、失真小, 恢复图像清晰, 是一种有效的图像去雾算法.

2 基本理论 2.1 条件生成对抗网络

近年来, 使用生成对抗网络[19]生成高分辨率的图像受到人们的广泛关注. GAN由生成器(generator, G)和判别器(discriminator, D)组成. 生成器将输入噪声映射到输出图像中, 生成逼真的图像; 判别器区分真实图像和生成图像, 引导生成器生成更真实的图像, 判断图像的真假. 两个网络通过相互博弈提升各自网络的性能, 直到达到纳什均衡, 网络训练的目标函数如下:

$ \begin{split} \mathop {\min }\limits_G \mathop {\max }\limits_D V(D, G) =& {E_{x\sim {P_{{\rm{data}}}}(x)}}[\log D(x)] \\ & +{E_{{\textit{z}}\sim {P_{\textit{z}}}({\textit{z}})}}[\log (1 - D(G({\textit{z}})))] \end{split} $ (1)

其中, ${P_{{\rm{data}}}}(x)$ 为真实的数据分布, $ G({\textit{z}}) $ 为生成的图像, $D( \cdot )$ 为判断图像是真实的概率, $ {P_{\textit{z}}}({\textit{z}}) $ 为输入噪声分布.

原始GAN输入随机噪声, 生成的图像具有很大随机性, 无法得到指定的输出. 为了约束原始GAN, Mirza等[20]提出条件生成对抗网络, 引入条件信息y作为网络的输入, 引导模型根据输入条件生成符合要求的图像, CGAN的网络结构如图1所示.

图 1 条件生成对抗网络结构

图1可得, 与传统的GAN相比, CGAN生成器和判别器的输入分别是条件信息与噪声分布的拼接, 条件信息与输入图像的拼接. CGAN网络的优化函数如下:

$ \begin{split} \mathop {\min }\limits_G \mathop {\max }\limits_D V(D, G) =& {E_{x\sim {P_{{\rm{data}}}}(x)}}[\log D(x|y)] \\ & +{E_{{\textit{z}}\sim {P_{\textit{z}}}({\textit{z}})}}[\log (1 - D(G({\textit{z}}|y)))] \end{split} $ (2)

其中, $ D(x|y) $ 为判断真实图像与条件信息匹配的概率, $ D(G({\textit{z}}|y)) $ 为生成图像与条件信息匹配的概率.

2.2 残差网络

随着计算机性能的提升, 通过增加神经网络的层数, 提取图像更丰富的特征, 成为图像重建等任务的重要手段, 但是网络层数的增加与网络的训练难度成正相关, 同时模型容易出现梯度消失、网络退化等问题, 残差网络[21]使用跳跃连接, 很好地解决上述问题, 被广泛应用高分辨率图像重建等计算机视觉任务中, 残差网络结构如图2所示.

图 2 残差网络结构

图2中, $ {X_i} $ , $ {X_{i + 1}} $ 分别是第 $ i $ 层残差单元的输入和输出, $ {\omega _i} $ , $ {b_i} $ 分别是权重和偏置, $ f({X_i}, {\omega _i}, {b_i}) $ 是残差单元学习的映射. 假设任意 $ m $ 层残差网络输出为 $ {X_m} $ , 具体表达式如下:

$ {X_m} = {X_l} + \sum\limits_{i = l}^{m - 1} {f({X_i}, {\omega _i}, {b_i})} $ (3)

式(3)表明, 浅层特征通过前向传播可直接向深层传递, 从而提高特征利用效率, 解决网络退化问题.

假设网络的总损失函数L, 则L对第 $ l $ 层的偏导数如下:

$ \frac{{\partial L}}{{\partial {X_l}}} = \frac{{\partial L}}{{\partial {X_m}}}\frac{{\partial {X_m}}}{{\partial {X_l}}} = \frac{{\partial L}}{{\partial {X_m}}}\left(1 + \frac{\partial }{{\partial {X_l}}}\sum\limits_{i = l}^{m - 1} {f({X_i}, {\omega _i}, {b_i})} \right) $ (4)

式(4)表明, 损失函数对深层的偏导数不经过权重矩阵可直接传递到浅层, 同时传递网络各层的权重梯度, 缓解了梯度消失, 提高网络性能.

3 CGAN-ECA图像去雾算法

本文针对当前图像去雾算法出现颜色失真和去雾不彻底的问题, 结合CGAN和残差网络在图像高分辨率重建的优势, 融合注意力机制, 将有雾图像作为条件信息, 提出基于通道注意力与条件生成对抗网络的图像去雾算法. 生成器输入有雾图像, 直接学习有雾图像到无雾图像的映射, 避免估计散射模型参数的累计误差, 设计独特的多尺度残差(multi-scale residual block, MRBlk)和高效通道注意力(efficient channel attention, ECA)模块, 自适应确定通道卷积核大小, 在高效率提取特征和融合的同时抑制冗余特征, 提高生成图片质量. 采用全卷积马尔可夫判别器(PatchGAN), 输入无雾和去雾图像对, 分块处理输入图像判断图像的真假, 提高收敛速度, 引导生成器生成更真实的图像. 通过优化网络目标函数, 注重图像高频信息损失的同时, 关注图像像素和特征损失, 从而提高了网络的泛化能力. 生成器和判别器相互博弈, 交替训练共同提高网络性能. 提出的CGAN-ECA网络结构如图3所示.

图 3 CGAN-ECA网络结构

3.1 生成器

生成器网络结构包括编码、多尺度特征提取和解码模块, 使用MRBlk充分提取图像特征, 引入ECA学习特征相关性, 赋予特征不同权重, 提高有效特征的利用, 从而生成清晰无雾图像, 具体如图3所示.

编码模块将雾图转化为特征图像, 由卷积块和下采样卷积块组成, 通过下采样卷积块降低特征图尺寸, 增大深层卷积的感受野, 初步提取图像特征. 每个卷积块由卷积层(Conv)、实例归一化层(instance normalization, IN)和激活函数层(ReLU)组成. 编码和解码模块引入跳跃连接加强浅层特征的利用, 将浅层特征传输到深层, 有助于恢复图像细节, 防止训练过程中梯度消失的现象. IN层保证样本之间的独立性, 加快模型的收敛.

有雾图像在不同尺度包含的信息不同, 本文使用多尺度特征提取模块提取雾霾特征, 多尺度特征提取模块由MRBlk和ECA组成. MRBlk包括多尺度特征提取和残差学习, 保留图像更多细节信息, 并进行图像特征融合; 使用两层残差网络学习有雾图像和去雾图像的共享特征, 通过跳跃连接加快网络的收敛, 提高网络的学习能力, MRBlk结构如图4所示.

图 4 MRBlk网络结构

不同特征对图像去雾的影响不同, 多尺度密集提取易造成特征冗余, 为了筛选有效特征, 引入ECA模块, 该模块优先关注有效通道, 学习相邻通道的相关性, 自动获取特征通道的重要程度, 生成通道权重, 使网络强化有利于图像去雾的特征通道, 弱化无关特征, 提升网络对雾霾特征的敏感度, 提高网络的性能.

ECA结构如图5所示, $ H $ , $ W $ $ C $ 分别是图像高度、宽度和通道数. 将输入特征图 $ F \in {R^{H \times W \times C}} $ 进行全局平均池化(global average pooling, GAP)得到聚合特征 $ v \in {R^{1 \times 1 \times C}} $ , 通过一维卷积学习相邻通道相关性, 实现局部跨通道信息交互, 利用激活函数生成通道权重 $ \omega $ , 最后利用 $ \omega $ 调整 $ F $ , 通过乘法加权筛选显著特征, 完成通道空间特征再标定.

$ \omega = h({{Con}}{{{v}}_k}(v)) $ (5)
图 5 ECA网络结构

式(5)中, Conv表示一维卷积, h为Sigmoid激活函数, k为卷积核大小. 卷积核k决定局部跨通道交互的范围, C越大, 跨通道信息交互的范围越大, k与通道数C存在映射关系, 考虑到C一般是2的指数倍, 根据文献[22], 本文采用式(6)所示的指数函数作为非线性映射函数, 确定无需降维的局部跨通道信息交互的范围, 降低模型复杂度, 提高了模型的效率.

$ C={2}^{\left(\gamma \cdot k-b\right)} $ (6)

C确定时, k可通过式(7)自适应确定:

$ k = {\left| {\frac{{{{\log }_2}(C)}}{\gamma } + \frac{b}{\gamma }} \right|_{{\text{odd}}}} $ (7)

其中, $ {\left| t \right|_{{\text{odd}}}} $ 表示离 $ t $ 最近的奇数, $ \gamma $ $ b $ 分别设置为2和1.

解码模块结构与编码对称, 由反卷积块和卷积块组成, 目的是重建无雾图像. 该模块首先通过反卷积操作恢复图像的大小和细节信息, 然后通过卷积块对恢复图像进行降维, 最终输出生成的去雾图像.

3.2 判别器

判别器判断输入图像的真假的同时引导生成器生成更真实的图像. 原始GAN判别器为全连接网络, 输出整幅图像的评价值, 参数计算量大, 且忽略图像的纹理细节, 无法体现局部图像的特征. 因此, 本文采用PatchGAN[23], 分块评价图像, 提高图像局部判别能力, 避免判别器极端输出, 提高网络性能, 具体如图3所示.

PatchGAN输入为有雾图像和无雾图像或者有雾图像和去雾图像的组合, 通过多层卷积级联提取输入特征, 利用归一化减少数据分布对网络的影响, 避免梯度爆炸或者消失, 防止网络模型过拟合. 判别器输出为矩阵, 矩阵每个元素值在[0, 1]范围, 代表输入图像局部patch的评价值, 分块判别图像的真假, 提高判别的准确性. PatchGAN注重图像不同区域的细节信息, 实现局部图像特征的提取和表征, 引导生成器关注图像的局部纹理, 有利于更好恢复图像细节, 生成高分辨率图像.

3.3 损失函数

CGAN网络的目标函数采用交叉熵函数 $ {L_A} $ , 指引生成数据学习目标数据的数据分布, 优化生成器性能, 同时提高判别器的鉴别能力, $ {L_A} $ 表达式如下:

$ \begin{gathered} {L_A} = {E_{x, y}}\left[ {\log D(x, y)} \right] + {E_{y, {\textit{z}}}}\left[ {\log (1 - D(y, G(y, {\textit{z}})))} \right] \end{gathered} $ (8)

其中, x为无雾图像, y为输入的有雾图像, z为随机噪声, $ G(\cdot) $ 为有雾图像和去雾图像之间的映射, $ D(\cdot) $ 为判别器的输出. 为了确保去雾图像与无雾图像在结构和内容上的相似性, 高质量的去雾, 本文引入内容损失 $ {L_C} $ :

$ {L_C} = {L_{{\rm{MSE}}}} + {L_{{\rm{VGG}}}} $ (9)

内容损失包括均方差损失 ${L_{{\rm{MSE}}}}$ 和感知损失 ${L_{{\rm{VGG}}}}$ . ${L_{{\rm{MSE}}}}$ 是低级特征约束, 减小像素间的差距, 注重图像颜色内容信息, 减少伪影和图像模糊, 能很好地恢复低频信息. ${L_{{\rm{VGG}}}}$ 是基于VGG的特征映射, 保留去雾图像整体空间结构和语义内容, 能更好恢复图像高频细节信息. ${L_{{\rm{MSE}}}}$ ${L_{{\rm{VGG}}}}$ 具体如下:

$ {L_{{\rm{MSE}}}} = {E_{x, y, {\textit{z}}}}\left\| {x - G(y, {\textit{z}})} \right\|_2^2 $ (10)
$ {L_{{\rm{VGG}}}} = {E_{x, y, {\textit{z}}}}\left\| {{\varphi _i}(x) - {\varphi _i}(G(y, {\textit{z}}))} \right\|_2^2 $ (11)

其中, ${\varphi }_{i}(\cdot)$ 为VGG网络的第 $ i $ 层特征映射. 使用 $ {L_A} $ $ {L_C} $ 线性叠加进行网络参数优化, 有利于减少去雾图像的失真, 提高网络的鲁棒性. 令 $ \lambda $ 为权重系数, 本文网络的目标函数定义如下:

$ L = \arg \mathop {\min }\limits_G \mathop {\max }\limits_D {L_A} + \lambda {L_C} $ (12)
4 实验结果与分析 4.1 数据来源与实验环境

本文实验数据采用公开的单图像去雾数据(realistic single image dehazing, RESIDE), RESIDE训练集[24]包括两个子集: ITS和OTS, 测试集包括3个子集: SOTS、RTTS和HSTS. RESIDE数据集分类如表1所示.

表 1 RESIDE数据集分类

实验选取OTS中8 000张有雾和无雾图像对作为网络的数据集, 按照7:3比例划分训练集和验证集, 选取SOTS中500张室外图像为合成数据测试集, 同时选择RTTS作为真实有雾图像测试集.

实验环境为Windows 10操作系统, Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10 GHz处理器, 96.0 GB内存, NVIDIA GeForce RTX 2080Ti显卡.

4.2 性能评价指标

峰值信噪比(peak signal to noise ratio, PSNR)和结构相似性(structural similarity, SSIM)是评价网络去雾性能最常用的指标. PSNR逐像素对比去雾图像和无雾图像的误差, 衡量去雾图像的失真程度, 具体如下:

$ {\textit{PSNR}}=10\cdot{\mathrm{log}}_{10}\left(\frac{MA{X}_{I}^{2}}{{\textit{MSE}}}\right) $ (13)
$ {\textit{MSE}} = \frac{1}{{H \times W}}\sum\limits_{i = 1}^H {\sum\limits_{j = 1}^W {||} I(i, j) - \hat I} (i, j)||_2^2 $ (14)

其中, $ I(\cdot) $ $ \hat{I}(\cdot) $ 分别为无雾和去雾图像, MAXI为图像点颜色的最大值, MSE为两幅图像的均方误差.

SSIM从图像亮度、对比度和结构3个方面衡量图像的失真, 值在[0, 1]范围内, 具体如下:

$ {\textit{SSIM}}=l{(I, \hat{I})}^{\alpha }\cdot c{(I, \hat{I})}^{\beta }\cdot s{(I, \hat{I})}^{\theta } $ (15)
$ l(I, \hat I) = \frac{{2{\mu _{\hat I}}{\mu _I} + {c_1}}}{{\mu _{_{\hat I}}^2 + \mu _{_I}^2 + {c_1}}} $ (16)
$ c(I, \hat I) = \frac{{2{\sigma _{\hat I}}{\sigma _I} + {c_2}}}{{\sigma _{_{\hat I}}^2 + \sigma _{_I}^2 + {c_2}}} $ (17)
$ s(I, \hat I) = \frac{{{\sigma _{\hat I}}_I + {c_3}}}{{\sigma _{_{\hat I}}^{}\sigma _{_I}^{} + {c_3}}} $ (18)

其中, $ l(I, \hat I) $ , $ c(I, \hat I) $ , $ s(I, \hat I) $ 分别表示两幅图像亮度、对比度和结构对比, $ \alpha $ , $ \;\beta $ , $ \theta $ 代表三者所占的比重. $\; \mu $ 为图像均值, $ \sigma $ 为标准差, $ {c_1} $ $ {c_2} $ $ {c_3} $ 是很小的常数. PSNRSSIM值越大, 去雾图像失真越小, 网络去雾性能越好.

4.3 合成数据集实验分析

本文算法的实现基于PyTorch框架, 输入图像尺寸 $ 256 \times 256 \times 3 $ , $ \lambda $ 为100, 初始学习率 $ {10^{ - 4}} $ , 迭代次数300, 使用Adam优化器训练模型, 优化器动量参数 $ \;{\beta _1} $ , $ \;{\beta _2} $ 分别为0.9, 0.999. 选取SOTS室外图像进行测试, 并与DCP, DehazeNet, AOD-Net、GCANet等方法进行定量和定性的比较. 随机选取图片对去雾效果进行评价, 结果如图6所示, 从图6中可以看出, DCP去雾图像出现色彩失真, 在天空等高亮度区域去雾不明显; DehazeNet去雾图像能保持原来的色彩, 但是色彩偏暗, 且在远景区域存在雾残留(如图6(d)第4幅图的远景处); AOD-Net在天空区域出现颜色失真(如图6(e)第3幅图的太阳区域); GCANet和本文方法去雾效果较好, 但GCANet去雾图像在道路上有时会出现伪影, 且远景轮廓不清晰.

计算本文方法与DCP、AOD-Net、DehazeNet和GCANet方法的PSNRSSIM, 进一步评价本文方法去雾的有效性, 结果如表2所示.

表2可知, 在SOTS室外测试集上, DCP、DehazeNet和AOD-Net方法的PSNR都在25.00 dB以下, GCANet方法的PSNR为28.42 dB, 本文方法的峰值信噪比最高, 相比于DCP、AOD-Net、DehazeNet和GCANet方法, 本文算法的PSNR分别提高79.03%、28.24%、30.65%和7.53%. GCANet的SSIM最高, 本文方法SSIM较GCANet方法低0.0086. 相比于DCP、DehazeNet和AOD-Net方法, 本文算法的SSIM分别提高13.60%、11.38%和11.09%. 实验表明, 本文有效提升网络的去雾性能, 去雾彻底, 恢复图像清晰.

4.4 真实数据集实验分析

为了进一步验证CGAN-ECA的有效性, 选择RTTS数据集进行图像去雾任务, 去雾结果如图7所示. 从图7中可以看出, DCP去雾图像出现明显失真, 特别是在天空区域, 且整体图像颜色偏深; DehazeNet方法在近景图像颜色发黑, 细节模糊, 特别是在图7(c)第一幅图左下角的花卉处局部纹理模糊, 对远景处的雾去除不彻底; AOD-Net方法在图7(d)第3幅图的远景区域去雾不彻底, 仅去除部分的雾, 且图像亮度降低, 远处物体轮廓恢复不清晰. GCANet存在去雾不均匀的现象, 特别是在图7(e)第2幅图的人物周围, 去除图7(d)第3幅图的远景区域的雾不彻底, 存在伪影; 本文方法去雾程度高, 恢复图像色彩真实, 视觉效果较好.

图 6 SOTS数据集实验结果

表 2 各算法PSNR和SSIM对比结果

5 总结

针对当前图像去雾不彻底、颜色失真和特征利用率低等问题, 本文提出CGAN-ECA图像去雾算法. 在生成器中设计MRBlk和 ECA模块, 多尺度密集残差块充分提取不同尺度图像特征, 引入跳跃连接加强特征传播, 提高特征利用率; 高效通道注意力模块自适应获取特征权重, 提高有效特征利用, 减少特征冗余. 使用PatchGAN分块评价图像, 提高判别准确性. 引入内容损失优化网络的目标函数, 保留图像更多细节信息, 实现高质量的图像去雾. 在公开数据集RESIDE进行实验, 结果表明, 相比于DCP、AOD-Net、DehazeNet、GCANet方法, 本文方法去雾程度高, 去雾图像失真小, 去雾图像的PSNRSSIM分别平均提高36.36%, 8.80%, 是一种有效的图像去雾算法. 本文实现了单幅图像去雾, 未来研究工作主要是降低本文算法的时间复杂度及实现视频实时去雾.

图 7 RTTS实验结果

参考文献
[1]
Kim SE, Park TH, Eom IK. Fast single image dehazing using saturation based transmission map estimation. IEEE Transactions on Image Processing, 2020, 29: 1985-1998. DOI:10.1109/TIP.2019.2948279
[2]
吴迪, 朱青松. 图像去雾的最新研究进展. 自动化学报, 2015, 41(2): 221-239. DOI:10.16383/j.aas.2015.c131137
[3]
Pal D, Arora A. Removal of fog effect from highly foggy images using depth estimation and fuzzy contrast enhancement method. Proceedings of the 4th International Conference on Computing Communication and Automation. Greater Noida: IEEE, 2018. 1–6.
[4]
Zarie M, Parsayan A, Hajghassem H. Image contrast enhancement using triple clipped dynamic histogram equalisation based on standard deviation. IET Image Processing, 2019, 13(7): 1081-1089. DOI:10.1049/iet-ipr.2018.5395
[5]
高原原, 胡海苗. 基于多子块协同单尺度Retinex的浓雾图像增强. 北京航空航天大学学报, 2019, 45(5): 944-951. DOI:10.13700/j.bh.1001-5965.2018.0528
[6]
Srinivas K, Bhandari AK, Singh A. Exposure-based energy curve equalization for enhancement of contrast distorted images. IEEE Transactions on Circuits and Systems for Video Technology, 2020, 30(12): 4663-4675. DOI:10.1109/TCSVT.2019.2960861
[7]
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
[8]
Li ZG, Zheng JH. Single image de-hazing using globally guided image filtering. IEEE Transactions on Image Processing, 2018, 27(1): 442-450. DOI:10.1109/TIP.2017.2750418
[9]
高涛, 刘梦尼, 陈婷, 等. 结合暗亮通道先验的远近景融合去雾算法. 西安交通大学学报, 2021, 55(10): 78-86. DOI:10.7652/xjtuxb202110009
[10]
黄文君, 李杰, 齐春. 低秩与字典表达分解的浓雾霾场景图像去雾算法. 西安交通大学学报, 2020, 54(4): 118-125. DOI:10.7652/xjtuxb202004015
[11]
Pei TY, Ma QY, Xue PF, et al. Nighttime haze removal using bilateral filtering and adaptive dark channel prior. Proceedings of 2019 IEEE 4th International Conference on Image, Vision and Computing. Xiamen: IEEE, 2019. 218–222.
[12]
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
[13]
Li BY, Peng XL, Wang ZY, et al. AOD-Net: All-in-one dehazing network. Proceedings of 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017. 4780–4788.
[14]
Song YF, Li J, Wang XG, et al. Single image dehazing using ranking convolutional neural network. IEEE Transactions on Multimedia, 2018, 20(6): 1548-1560. DOI:10.1109/TMM.2017.2771472
[15]
Chen DD, He MM, Fan QN, et al. Gated context aggregation network for image dehazing and deraining. Proceedings of 2019 IEEE Winter Conference on Applications of Computer Vision. Waikoloa: IEEE, 2019. 1375–1383.
[16]
Yeh CH, Huang CH, Kang LW. Multi-scale deep residual learning-based single image haze removal via image decomposition. IEEE Transactions on Image Processing, 2019, 29: 3153-3167.
[17]
Ullah H, Muhammad K, Irfan M, et al. Light-DehazeNet: A novel lightweight CNN architecture for single image dehazing. IEEE Transactions on Image Processing, 2021, 30: 8968-8982. DOI:10.1109/TIP.2021.3116790
[18]
覃宏超, 李炎炎, 龙伟, 等. 基于引导滤波和暗原色先验理论透射率估值的视频去雾算法. 浙江大学学报(工学版), 2018, 52(7): 1302-1309. DOI:10.3785/j.issn.1008-973X.2018.07.010
[19]
Goodfellow IJ, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets. Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal: MIT Press, 2014. 2672–2680.
[20]
Mirza M, Osindero S. Conditional generative adversarial nets. arXiv: 1411.1784, 2014.
[21]
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 770–778.
[22]
Wang QL, Wu BG, Zhu PF, et al. ECA-Net: Efficient channel attention for deep convolutional neural networks. Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020. 11531–11539.
[23]
Isola P, Zhu JY, Zhou TH, et al. Image-to-image translation with conditional adversarial networks. Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 5967–5976.
[24]
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