2.793

2018影响因子

(CJCR)

  • 中文核心
  • EI
  • 中国科技核心
  • Scopus
  • CSCD
  • 英国科学文摘

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于改进暗通道和导向滤波的单幅图像去雾算法

陈书贞 任占广 练秋生

陈书贞, 任占广, 练秋生. 基于改进暗通道和导向滤波的单幅图像去雾算法. 自动化学报, 2016, 42(3): 455-465. doi: 10.16383/j.aas.2016.c150212
引用本文: 陈书贞, 任占广, 练秋生. 基于改进暗通道和导向滤波的单幅图像去雾算法. 自动化学报, 2016, 42(3): 455-465. doi: 10.16383/j.aas.2016.c150212
CHEN Shu-Zhen, REN Zhan-Guang, LIAN Qiu-Sheng. Single Image Dehazing Algorithm Based on Improved Dark Channel Prior and Guided Filter. ACTA AUTOMATICA SINICA, 2016, 42(3): 455-465. doi: 10.16383/j.aas.2016.c150212
Citation: CHEN Shu-Zhen, REN Zhan-Guang, LIAN Qiu-Sheng. Single Image Dehazing Algorithm Based on Improved Dark Channel Prior and Guided Filter. ACTA AUTOMATICA SINICA, 2016, 42(3): 455-465. doi: 10.16383/j.aas.2016.c150212

基于改进暗通道和导向滤波的单幅图像去雾算法


DOI: 10.16383/j.aas.2016.c150212
详细信息
    作者简介:

    陈书贞 燕山大学信息科学与工程学院副教授.主要研究方向为图像处理, 压缩感知及生物识别.E-mail:chen_sz818@163.com

    任占广 燕山大学信息科学与工程学院硕士研究生.主要研究方向为图像处理和图像去雾.E-mail:renzg13@163.com

  • 基金项目:

    河北省自然科学基金 F2014203076

    国家自然科学基金 61471313

Single Image Dehazing Algorithm Based on Improved Dark Channel Prior and Guided Filter

More Information
    Author Bio:

    Associate professor at the School of Information Science and Engineering, Yanshan University. Her research interest covers image processing, compressed sensing, and biometrics recognition

    Master student at the School of Information Science and Engineering, Yanshan University. His research interest covers image processing and image haze removal

    Corresponding author: LIAN Qiu-Sheng Professor at the School of Information Science and Engineering, Yanshan University. His research interest covers image processing, sparse representation, compressed sensing, and multi-scale geometrical analysis. Corresponding author of this paper
  • Fund Project:

    Natural Science Foundation of Hebei Province F2014203076

    National Natural Science Foundation of China 61471313

图(10) / 表(1)
计量
  • 文章访问数:  1491
  • HTML全文浏览量:  219
  • PDF下载量:  882
  • 被引次数: 0
出版历程
  • 收稿日期:  2015-04-20
  • 录用日期:  2015-11-02
  • 刊出日期:  2016-03-01

基于改进暗通道和导向滤波的单幅图像去雾算法

doi: 10.16383/j.aas.2016.c150212
    基金项目:

    河北省自然科学基金 F2014203076

    国家自然科学基金 61471313

    作者简介:

    陈书贞 燕山大学信息科学与工程学院副教授.主要研究方向为图像处理, 压缩感知及生物识别.E-mail:chen_sz818@163.com

    任占广 燕山大学信息科学与工程学院硕士研究生.主要研究方向为图像处理和图像去雾.E-mail:renzg13@163.com

摘要: 针对单幅雾霾图像中包含的大面积天空或白色物体等区域暗通道先验失效和导向滤波去雾方法去雾不彻底的问题, 提出了一种基于改进暗通道和导向滤波的单幅图像去雾算法.首先基于暗通道引入了混合暗通道, 然后对混合暗通道进行映射处理, 从而得到大气耗散函数粗估计值; 利用导向滤波方法优化大气耗散函数粗估计值, 进而求解环境光值和初始传输图; 利用全变差正则化方法对初始传输图进行优化, 以解决其平滑性较差的问题.实验结果表明, 本文算法得到的去雾图像具有较高的清晰度, 对于大面积天空或白色物体区域也能实现良好的去雾效果.

English Abstract

陈书贞, 任占广, 练秋生. 基于改进暗通道和导向滤波的单幅图像去雾算法. 自动化学报, 2016, 42(3): 455-465. doi: 10.16383/j.aas.2016.c150212
引用本文: 陈书贞, 任占广, 练秋生. 基于改进暗通道和导向滤波的单幅图像去雾算法. 自动化学报, 2016, 42(3): 455-465. doi: 10.16383/j.aas.2016.c150212
CHEN Shu-Zhen, REN Zhan-Guang, LIAN Qiu-Sheng. Single Image Dehazing Algorithm Based on Improved Dark Channel Prior and Guided Filter. ACTA AUTOMATICA SINICA, 2016, 42(3): 455-465. doi: 10.16383/j.aas.2016.c150212
Citation: CHEN Shu-Zhen, REN Zhan-Guang, LIAN Qiu-Sheng. Single Image Dehazing Algorithm Based on Improved Dark Channel Prior and Guided Filter. ACTA AUTOMATICA SINICA, 2016, 42(3): 455-465. doi: 10.16383/j.aas.2016.c150212
  • 悬浮在大气中的烟、灰尘等物质形成的雾霾, 会对个人户外拍照和计算机视觉应用方面造成极大地影响.因此, 如何实现高质量的图像去雾, 对于图像处理和计算机视觉应用具有非常重要的现实意义.目前, 图像去雾已经得到了广泛的研究和应用.

    通用的基于大气散射模型的去雾方法大致分为两类:多幅图像去雾和单幅图像去雾.多幅图像去雾方法常利用同一场景不同天气下的多幅图像[1-3]或不同偏振程度的多幅图像[4-5], 得到多个参照条件, 以实现去雾.由于多幅图像去雾需要同一场景下的多幅图像, 其在实际应用中受到了限制.

    近年来, 单幅图像去雾方法受到了很多学者的关注[6-8], 这些方法通过采用单幅图像中包含的先验信息或提出一些合理的假设, 实现图像去雾. Tan [6]通过最大化局部对比度的方法实现去雾, 该方法恢复出的场景图颜色易趋于过饱和, 且场景复原不是建立在特定的物理模型上. Fattal [7]通过假设物体表面反射率(Surface shading)和传输值(Transmission)局部统计不相关, 利用独立成分分析(Independent component analysis, ICA)估计场景反射率.由于该方法是基于输入数据的统计特性的, 这个统计特性对于浓雾和低信噪比情况将会失效. He等[8]首次提出了暗通道先验去雾方法并实现了良好的去雾效果, 由于该方法对传输图进行优化时采用的软抠图(Soft image matting)算法会消耗很大的内存导致处理速度比较慢, 不能实现图像的实时处理.为了解决He等方法中的问题, 先后出现了大量的基于暗通道先验知识的单幅图像去雾相关的论文[9].

    为了实现快速去雾, 文献[10-12]采用导向滤波(Guided filter)方法代替软抠图算法优化传输图, 该方法易出现去雾不彻底现象. Tarel等[13]对图像进行白平衡后, 采用中值滤波的变形形式估计大气耗散函数, 该方法易产生Halo效应.因此后续又出现了采用快速双边滤波[14]和数字全变差滤波[15]估计大气耗散函数、结合双区域滤波和图像融合的去雾算法[16], 以及基于暗通道先验和Retinex理论的快速图像去雾算法[17]等, 以提升算法性能.此外Tang等[18]在基于随机森林(Random forest)的回归框架下, 研究了雾霾图像与雾相关的多个特征, 提出了一种基于学习的去雾算法. Wang等[19]采用马尔科夫随机场(Markov random field)混合多层色度先验的细节, 提出了一种多尺度深度融合去雾方法.这些方法给图像去雾带来了新的思路, 但得到的去雾图像易包含噪声, 细节信息不明显.此外多数方法对于包含大面积天空或白色物体的雾霾图像去雾效果较差.

    本文提出了一种基于改进暗通道和导向滤波的单幅图像去雾算法.通过求解大气耗散函数的粗估计, 利用导向滤波对其优化以得到环境光值和初始传输图, 并利用全变差正则化(Total variation regularization)方法对传输图进行优化以解决其平滑性较差的问题.实验结果表明, 该方法既能实现良好的普通雾霾图像去雾, 又能改善不满足暗通道先验的包含大面积天空或白色物体的雾霾图像的去雾性能, 从而扩大了应用暗通道先验知识实现图像去雾的范围.

    • 在计算机视觉和计算机绘图领域, 用于描述雾、霾环境下, 大气散射模型的成像方程为[3]

      $$ I\left( x \right) = J\left( x \right)t\left( x \right) + A\left( {1 - t\left( x \right)} \right) $$ (1)

      式中, $I$ 为雾霾图像, $A$ 为整体环境光(Global atmospheric light), 通常情况下假设为全局常量, 而与局部位置 $x$ 无关, $J$ 为无雾图像或场景反射(Scene radiance), $t$ 为媒介传输图(Medium transmission)或透射率, 即传输图, 其随图像深度值呈指数衰减.上式右面第1项称作直接衰减(Direct attenuation), 第2项称作大气光(Airlight).

      He等[8]基于对大量无雾图像的统计观察发现, 对于自然图像非天空部分的局部区域里的某些像素点, 至少有一个颜色通道的亮度值很低以致趋于0.基于此, 他提出了暗通道先验模型, 即对于任意一幅自然无雾图像 $J$ , 其暗通道满足

      $$ J^{\rm dark}(x)=\mathop {\min}\limits_{y\in\Omega (x)} (\mathop {\min}\limits_{c\in{\{r, g, b}\}}J^c(y))\rightarrow 0 $$ (2)

      式中, $J^c(y)$ 为 $J(y)$ 的某一R、G、B颜色通道, $\Omega(x)$ 是以像素点为中心的邻域.假设在 $\Omega(x)$ 邻域内传输值为常数, 记为 $\tilde t(x)$ , 对式(1)变形并对两边进行最小化运算得到

      $$ \begin{array}{l} \mathop {\min }\limits_{y \in \Omega (x)} \left( {\mathop {\min }\limits_{c \in \{ r, g, b\} } \frac{{{I^{\rm{c}}}(y)}}{{{A^c}}}} \right) = (1 - \tilde t(x)) + \\ \qquad \mathop {\min }\limits_{y \in \Omega (x)} \left( {\mathop {\min }\limits_{c \in \{ r, g, b\} } \frac{{{J^c}(y)}}{{{A^c}}}} \right)\tilde t(x) \end{array} $$ (3)

      若环境光值 $A$ 为已知常量, 将式(2)代入式(3)可粗略估计出传输值, 如式(4)所示.

      $$ \tilde t(x)= 1 - \mathop {\min }\limits_{y \in \Omega (x)} \left(\mathop {\min }\limits_{c \in \{ r, g, b\} } \frac{{{I^c}(y)}}{{{A^c}}}\right) $$ (4)

      若直接将上式代入式(1)进行反演去雾的话, 去雾图像会出现明显的Halo效应和块效应, 因此He等采用软抠图算法对传输图进行优化.本文假设式(4)中环境光值在每个颜色通道中的值相等, 取其平均值 ${\overline{A}}$ 来表示, 则式(4)可进一步表示为

      $$ \begin{array}{l} \tilde t(x) = 1 - \frac{1}{{\bar A}}\mathop {\min }\limits_{y \in \Omega (x)} \left( {\mathop {\min }\limits_{c \in \{ r, g, b\} } {I^c}(y)} \right) = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;1 - \frac{{{I^{{\rm{dark}}}}(x)}}{{\bar A}} \end{array} $$ (5)

      式中, ${I^{\rm dark}}$ 即为雾霾图像暗通道, 其值大小与雾的浓度成正相关.此外, 由大气耗散函数的定义式[13]

      $$ V(x) = A(1 - t(x)) $$ (6)

      可知 ${I^{\rm dark}}$ 即为大气耗散函数的粗估计, 则传输图的优化问题和大气耗散函数的优化问题是等价的.利用优化后的传输图 ${t(x)}$ , 去雾图像 ${J}$ 可表示为

      $$ J(x) = \frac{I(x)-\overline{A}}{\max(t(x), t^{'})}+\overline{A} $$ (7)

      式中, $t'$ 是为防止分母为0而设的一个下限值, 本文取为0.05.

    • 导向滤波单幅图像去雾方法可以实现快速去雾, 但该方法得到的去雾图像易产生颜色过饱和或去雾不彻底现象, 此外同多数基于暗通道先验的去雾方法一样, 该方法对于天空或白色物体等区域恢复效果不理想.为了解决上述问题, 本文首先基于暗通道引入了混合暗通道, 并将其较亮的区域进行映射处理, 得到大气耗散函数粗估计, 然后利用导向滤波方法估计大气耗散函数, 进而估计环境光值和初始传输图.然而该方法得到的传输图平滑性较差导致去雾图像细节信息不明显, 为此本文采用全变差正则化方法优化初始传输图.

    • 计算雾霾图像暗通道时的一个重要参数为邻域的尺寸.邻域尺寸越大, 暗通道边缘信息越不精确, 从而去雾图像中的Halo效应越严重; 邻域尺寸越小, 暗通道边缘信息越精确, 但易造成去雾图像颜色过饱和或暗沉现象[11, 20]; 当对雾霾图像按像素点取其R、G、B颜色通道中的最小值时, 可以消除去雾图像中的Halo效应, 同时颜色过饱和或暗沉现象最严重.

      基于以上分析, 本文首先将雾霾图像分为近景区域和远景区域, 由于雾霾图像近景区域近似为无雾图像, 其暗通道值较小; 远景区域为有雾图像, 其暗通道值较大, 则可以根据雾霾图像的暗通道, 引入一个阈值 ${T}$ , 当雾霾图像的暗通道值小于 ${T}$ 时, 将其判定为图像的近景区域, 否则为远景区域.然后定义了最小值通道:对雾霾图像按像素点取其R、G、B颜色通道中的最小值.本文对雾霾图像的近景区域计算最小值通道, 对其远景区域计算暗通道, 为了表述方便, 本文将这种方式获得的图像称为混合暗通道.则本文得到的混合暗通道 ${\tilde I^{{\mathop{\rm dark}\nolimits} }}$ 即为近景区域最小值通道 ${I^{{\rm{min}}c}}$ 和远景区域暗通道 ${I^{{\rm{dark}}d}}$ 之和(本文邻域尺寸取为 ${10\times10}$ ).

      图 1(b)图 1(c)图 1(d)显示了传统暗通道和混合暗通道以及不同 ${T}$ 值时混合暗通道的对比. $T$ $=$ $0$ 时, 为传统暗通道[8] (图 1(b)); 随着 ${T}$ 值逐渐增大, 图像近景区域面积逐渐增大, 其混合暗通道边缘信息越精确(比较图 1(c)图 1(d)), 从而可以减弱甚至消除去雾图像景深突变处易出现的去雾不彻底现象(比较图 1(h)图 1(i)); 但 ${T}$ 值逐渐增大时, 对于景深平缓变化的雾霾图像, 易引起去雾图像近景区域出现颜色过饱和或暗沉现象.

      图  1  单幅图像去雾

      Figure 1.  Single image dehazing

      由此可知, 阈值越小, 越有利于景深平缓变化的雾霾图像的混合暗通道更合理地分布; 阈值越大, 越有利于景深存在突变的雾霾图像的混合暗通道更合理地分布.本文阈值 ${T}$ 默认取为25.

      此外, 雾霾图像大面积天空或白色物体区域相应的暗通道比临近同深度区域偏大导致去雾图像相应区域出现严重的失真[12], 且天空或白色物体区域亮度值越大, 相应的暗通道偏差越大.为了解决这个问题, 本文假设普通浓雾霾图像混合暗通道亮度值的最大值小于 ${L}$ , 将 ${(L\sim 255)}$ 区间段三等分, 每个区间段长度为 ${c}$ , 将混合暗通道处在不同区间段的值作不同程度的衰减, 建立如式(8)所示的分段式映射方程, 以减小天空或白色物体区域相应混合暗通道的误差.

      $$ \begin{array}{l} V(x){\rm{ = }}\\ \qquad \left\{ {\begin{array}{*{20}{l}} {{{({{\tilde I}^{{\rm{dark}}}}(x))}^{0.95}}, }&{L + 2c < {{\tilde I}^{{\rm{dark}}}}(x) \le 255}\\ {{{({{\tilde I}^{{\rm{dark}}}}(x))}^{0.97}}, }&{L + c < {{\tilde I}^{{\rm{dark}}}}(x) \le L + 2c}\\ {{{({{\tilde I}^{{\rm{dark}}}}(x))}^{0.98}}, }&{L < {{\tilde I}^{{\rm{dark}}}}(x) \le L + c}\\ {{{\tilde I}^{{\rm{dark}}}}(x), }&{0 \le {{\tilde I}^{{\rm{dark}}}}(x) \le L} \end{array}} \right. \end{array} $$ (8)

      式中, $c = (255 - L) / 3$ .

      为了尽可能保证普通浓雾霾图像的混合暗通道不受影响, 本文 ${L}$ 值默认取为200. 图 2显示了利用映射方程对混合暗通道改进前后去雾效果对比, 对于包含大面积天空或白色物体的雾霾图像, 映射前, 天空或白色物体区域相应的混合暗通道比临近同深度区域亮度值偏大而出现了严重的误差, 造成去雾图像(图 2(d))天空区域出现了失真现象; 映射后, 天空或白色物体区域相应的混合暗通道亮度值得到了矫正(图 2(c)), 去雾图像(图 2(e))天空区域得到了改善.

      图  2  混合暗通道改进前后去雾效果对比结果

      Figure 2.  The comparative results of improved algorithm and unimproved mixed dark channel

      需要指出的是, 本文指定的 ${T}$ 和 ${L}$ 的默认值对于多数雾霾图像都是适用的, 然而对于某些图像来说, ${T}$ 和 ${L}$ 取默认值时会偏大或偏小.这些图像主要包括两类:不包含天空或大面积白色物体、亮度值很大的普通浓雾霾图像和包含天空、亮度值比较小的薄雾霾图像.对于前一类图像(图 3(a)), 由于混合暗通道与雾的浓度成正相关, 映射前, 雾最浓的远景区域混合暗通道值最大, 当该区域混合暗通道的最大值大于 ${L}$ 时, 经过映射后, 该区域的混合暗通道值因减小而引入误差(图 3(b)), 造成去雾图像(图 3(d))远景区域出现去雾不彻底现象, 此时可通过增大 ${L}$ 值, 减弱甚至消除该现象(图 3(e)).然而对于后一类图像(图 3(f)), 天空区域相应的混合暗通道偏大[12], 而其最大值又小于 ${L}$ , 经过映射后, 该区域对应的混合暗通道值(图 3(g))仍然存在较大误差, 造成去雾图像(图 3(i))天空区域出现失真现象, 此时可通过减小 ${L}$ 值, 减弱甚至消除该现象(图 3(j)), 同时正如前文指出, 对于景深平缓变化的近景区域, 由于阈值 ${T}$ 的影响, 造成去雾图像相应区域(图 3(i)方框区域)出现暗沉现象, 此时可通过减小 ${T}$ 值, 减弱甚至消除该现象(图 3(j)方框区域).

      图  3  阈值(T, L)对去雾结果的影响

      Figure 3.  The influence of thresholds (T, L) on recovered images

      由此可知, ${L}$ 值越小, 越有利于包含天空、亮度值比较小的薄雾霾图像的混合暗通道更合理地分布; ${L}$ 值越大, 越有利于不包含天空或大面积白色物体、亮度值很大的普通浓雾霾图像的混合暗通道更合理地分布.

      综上所述, 当 ${T}$ 和 ${L}$ 取默认值时, 对于去雾图像景深突变处出现的去雾不彻底现象, 可以通过增大 ${T}$ 值, 减弱甚至消除该现象; 对于去雾图像景深平缓变化的近景区域出现的颜色过饱和或暗沉现象, 可以通过减小 ${T}$ 值, 减弱甚至消除该现象; 对于去雾图像天空区域出现的失真现象, 可以通过减小 ${L}$ 值, 减弱甚至消除该现象; 对于去雾图像景深无穷远处出现的去雾不彻底现象, 可以通过增大 ${L}$ 值, 减弱甚至消除该现象.

      此外, 式(8)中各区间段混合暗通道的指数衰减因子经过反复试验得到, 本文将式(8)输出的 $\tilde V$ 作为大气耗散函数的粗估计.

    • 导向滤波可以平滑图像细节和保持图像的边缘信息, 其最大的特点是计算速度快.因此本文利用导向滤波方法估计大气耗散函数 $V$ , 引导图采用雾霾图像最小值通道, 记为 $D$ , 根据导向滤波局部线性模型假设, 输出图像 $V$ 可表示为

      $$ {V_i} = {a_k}{D_i} + {b_k}, \forall i \in {\omega _k} $$ (9)

      式中, ${\omega_k}$ 为引导图 $D$ 中像素点 $k$ 为中心的邻域, 其窗口半径为 $r$ , ${(a_k}, {b_k)}$ 在邻域 ${\omega_k}$ 中为常数.根据式(9), 在局部区域, 输出图像可以捕获与引导图相似的细节信息, 其捕获细节信息的能力与 $r$ 的大小密切相关[11], 本文取为 $r=25$ .导向滤波法通过最小化输出图像 $V$ 和输入图像 $\tilde V$ 之间的差异来寻求最优的系数 $(a_k, b_k)$ , 即在邻域 $\omega_k$ 中, 最小化式(10)所描述的代价函数

      $$ E({a_k}, {b_k}) = \sum\limits_{i \in {\omega _k}} {\left({{({a_k}{D_i} + {b_k} - {{\tilde V}_i})}^2} + \varepsilon a_k^2\right)} $$ (10)

      式中, $\varepsilon $ 为正则化参数, 其对优化结果不敏感, 本文取为 $\varepsilon ={10^{ - 3}}$ .通过最小化式(10), 输出图像 $V$ 整体上又能保持与输入图像 $\tilde V$ 的相似性[11].

      本文对大气耗散函数进行粗估计, 并利用导向滤波方法对其优化, 能够有效提高图像的去雾性能.与文献[10-12]中的导向滤波去雾方法相比, 本文方法得到的大气耗散函数边缘信息更精确(比较图 1(e)图 1(f)), 有效解决了导向滤波方法易出现的去雾不彻底现象(比较图 1(g)图 1(i)); 与多数去雾方法相比[8, 10-11, 14-17], 有效解决了暗通道先验对于雾霾图像中包含的大面积天空或白色物体等区域失效的问题(比较图 2(d)图 2(e)的天空区域).

    • 本文首先利用大气耗散函数 $V$ 估计环境光值 $A$ .环境光值近似等于雾霾图像最不透明的区域中亮度值最大的值, 根据雾霾图像暗通道大小与雾的浓度成正相关, 可利用暗通道估计环境光值 $A$ [8].但该方法对于包含大面积天空或白色物体的雾霾图像将会失效, 而暗通道近似为大气耗散函数粗估计, 因此本文可利用大气耗散函数 $V$ 更准确地估计环境光值, 这是由于本文得到的大气耗散函数大面积白色物体区域对应的值得到减小, 这种情况下, 大气耗散函数最亮的区域将有可能不再是大面积白色物体所对应的区域, 而是雾最浓的区域.因此可以将 $V$ 在大尺寸的邻域中(本文取为 $15 \times 15$ )取最小值, 从中选取亮度值最大的前 $0.1 \%$ 的像素点, 用对应雾霾图像中的最大像素值作为环境光值 $A$ 的估计值.

      图 1(j)图 1(a)中的局部内容, 显示了利用He等的方法, 环境光值为上侧方框区域内最大像素值, 其值为 $A=(218, 223, 226)$ , 因其所在方框区域对应着白色物体区域而出现了误差, 本文方法环境光值为下侧方框区域内最大像素值, 其值为 $A=$ $(181, 172, 175)$ , 而显然下侧方框区域雾的浓度不低于上侧方框区域, 且避开了白色物体区域, 理论上本文方法得到的环境光值更准确.同样, 图 2(a)上图显示了利用He等的方法, 环境光值为左上侧方框区域内最大像素值, 其值为 $A=(251, 251, 251)$ , 该值所在区域对应着雾霾图像亮度值最大的区域, 根据文献[8]中的分析, 该图像太阳光因素不能忽略, 因此图像亮度值最大区域内的像素值应大于环境光值, 而本文方法得到的环境光值为偏右下侧方框区域内最大像素值, 其值为 $A=(247, 243, 242)$ , 从数值上可以看出, 相比He等的方法, 本文方法得到的环境光值误差更小.大量的实验结果表明:本文方法得到的环境光值比He等方法的值更准确.

      由大气耗散函数 $V$ 和估计出的环境光值 $A$ , 利用式(6)进行反演, 便可近似得到雾霾图像的初始传输图, 记为 $\hat t$ .该传输图由于平滑性较差会导致去雾图像细节信息不明显(图 2(e)), 因此本文采用全变差正则化方法对其优化.

    • 全变差正则项首次由Rudin等[21]在图像去噪中使用, 由于其可以控制复原图像的光滑程度, 并且具有良好的边缘保持特性, 全变差正则化方法广泛应用于图像处理领域.在图像去雾领域, 不同于文献[15]将数字全变差滤波器作为自适应滤波器来估算大气耗散函数, 本文将全变差正则项引入到关于传输图 $t$ 的优化问题中, 以得到平滑和边缘保持良好的传输图.

      由第2.2节中得到的初始传输图 ${\hat t}$ 和环境光值 $A$ , 将式(1)作为真实传输图的约束条件, 可以通过求解式(11)所描述的优化问题寻找最优的传输图 $t$ .

      $$ \min\limits_{t} TV(t)+\frac{\mu }{2}\|t-\hat t\|_2^2+\frac{\beta }{2}\|I - A - (J - A)t\|_2^2 $$ (11)

      式中, 第1项为全变差正则项; 第2项为保真项, $\mu $ 是平衡第1项和第2项的正则化参数; 第3项为二次惩罚项, $\beta $ 为惩罚因子.

      本文采用交替方向乘子法(Alternating direction method of multipliers, ADMM) [22]对上式求解, 令 $z=t$ , 将上式转化为增广拉格朗日的形式

      $$ \begin{align} & \underset{t, z}{\mathop{min}}\, TV(z)+\frac{\mu }{2}\|t-\hat{t}\|_{2}^{2}+ \\ & \qquad \frac{\beta }{2}\|I-A-(J-A)t\|_{2}^{2}+\frac{\lambda }{2}\|t-z+p\|_{2}^{2} \\ \end{align} $$ (12)

      式中, $p$ 为尺度对偶变量(Scaled dual variable), $\lambda$ $>$ $0$ .然后采用交替优化方式求解式(12)描述的优化问题, 具体步骤包括(对于第 $k$ 次迭代):

      1)当去雾图像 $J$ 、尺度对偶变量 $p$ 和 $z$ 固定时, 更新传输图 $t$ 的优化问题为

      $$ \begin{align} & \underset{t}{\mathop{\min }}\, \underset{t}{\mathop{\frac{\mu }{2}}}\, \|t-\hat{t}\|_{2}^{2}+\frac{\beta }{2}\|I-A-({{J}^{k-1}}-A)t\|_{2}^{2}+ \\ & \qquad \frac{\lambda }{2}\|t-{{z}^{k-1}}+{{p}^{k-1}}\|_{2}^{2} \\ \end{align} $$ (13)

      为了便于计算, 式(13)中 $I$ 和 $J$ 采用其灰度值 ${I^{{g}}}$ 和 ${J^{{g}}}$ , $A$ 采用其均值 $\overline{A}$ 进行计算, 对 $t$ 求偏导数, 并令其为0得到:

      $$ \begin{align} & [\beta {{{\tilde{J}}}^{k-1}}+(\mu +\lambda )]t= \\ & \qquad \beta {{{\tilde{I}}}^{k-1}}+\mu \hat{t}+\lambda \left( {{z}^{k-1}}-{{p}^{k-1}} \right) \\ \end{align} $$ (14)

      式中,

      $$ {{\tilde{J}}^{k-\text{1}}}=\left[{{({{J}^{g}})}^{k-1}}-\bar{A} \right]\left[{{({{J}^{g}})}^{k-1}}-\bar{A} \right] $$ (15)
      $$ {{\tilde{I}}^{k-1}}=\left[{{({{J}^{g}})}^{k-1}}-\bar{A} \right]\left[{{I}^{\text{ }g}}-\bar{A} \right] $$ (16)

      从而得到 $t$ 的最优解

      $$ {t^k} = \frac{{\beta {{\tilde I}^{k - 1}} + \mu \hat t + \lambda ({z^{k - 1}} - {p^{k - 1}})}}{\beta {{\tilde J}^{k - 1}} + (\mu +\lambda )} $$ (17)

      式中, 惩罚因子 $\beta $ 相比 $\lambda $ 不宜选取的过大, 否则会减弱全变差正则项对传输图 $t$ 的作用, 随着迭代次数的增加, 本文逐渐减小 $\mu $ 值以减弱初始传输图 $\hat t$ 对寻优过程的作用.

      2)当传输图 $t$ 和尺度对偶变量 $p$ 固定时, 更新 $z$ 的优化问题为

      $$ {z^k} = \arg \min\limits_{z}\left\{TV(z) + \frac{\lambda }{2}\left\|{t^k} - z + {p^{k - 1}}\right\|_2^2 \right\} $$ (18)

      式中, 第2项实际上为保真项, $\lambda$ 为保真项的权重参数, 其取值范围通常在0.01 $\sim$ 0.5之间.随着迭代次数的增加, 本文逐渐增大 $\lambda $ 值以增强保真项的作用.全变差正则项采用各向同性全变差(Isotropic total variation)形式, 即

      $$ TV(u) = \sum\limits_i {\sqrt {({\nabla _x}u)_i^2 + ({\nabla _y}u)_i^2} } $$ (19)

      式中, $u$ 为任意矩阵.文中采用Split Bregman方法[23]求解式(18).

      3)当传输图 $t$ 和 $z$ 固定时, 更新去雾图像 $J$ 和尺度对偶变量 $p$ 的公式分别为

      $$ {J^k} = \frac{{I - \bar A(1 - {t^k})}}{{\max ({t^k}, t')}} $$ (20)
      $$ {p^k} = {p^{k - 1}} + {t^k} - {z^k} $$ (21)

      式(20)中 $t'$ 的作用及取值与式(7)相同.

      全变差正则化方法优化传输图过程具体描述如算法1所示.

      算法1.传输图优化

      输入.初始传输图 $\hat t$ , 初始去雾图 ${J^0}$ .

      输出.传输图 ${t^k}$ .

      步骤1.初始化: ${z^0} = 0$ , ${p^0} = 0$ , $\mu = 0.4$ , $\lambda=0.05$ , $\beta$ $=$ $0.1$ , 最大迭代次数为7.

      步骤2.固定其他变量, 由式(17)更新传输图 ${t^k}$ .

      步骤3.固定其他变量, 由式(18)更新 ${z^k}$ .

      步骤4.固定其他变量, 分别由式(20)和式(21)更新去雾图像 ${J^k}$ 和尺度对偶变量 ${p^k}$ .

      步骤5.若迭代次数 $k$ 大于7, 算法结束; 否则, $k\leftarrow k$ $+$ $1$ , 转到步骤2.}

      在本文仿真实验的迭代过程中, 迭代次数 $k$ 对输出结果的影响不显著, 迭代次数越小, 迭代输出的传输图平滑性越差; 迭代次数越大, 传输图的平滑性越好, 但在边缘处易过于锐化, 且会消耗更多的时间.综合考虑, 迭代次数宜分布在5 $\sim$ 10之间, 本文迭代次数选为 $k=7$ .此外随着迭代次数的增加, $\mu $ 值的递减形式为 ${\mu ^k}={{{\mu ^{k - 1}}} / {\sqrt k }}$ , $\lambda$ 值的递增形式为 ${\lambda ^k}$ $=$ $1.1 \times {\lambda ^{k - 1}}$ .

      利用优化后的传输图, 根据式(7)便可得到去雾图像, 当环境光值 $A$ 比较大时, 去雾图像比较暗淡, 为了增加其视觉效果, 可以适当增大其曝光量.

      图 4显示了利用全变差正则化方法优化传输图前后去雾效果对比, 可以发现, 经过全变差正则化方法优化后的传输图(图 4(b))不仅具有良好的边缘保持特性, 而且具有良好的平滑特性.从去雾结果来看, 利用全变差正则化方法优化后的传输图得到的去雾图像(图 4(d)), 细节信息更明显, 轮廓更清晰.

      图  4  全变差优化前后去雾效果对比结果

      Figure 4.  The comparative results of improved algorithm and unimproved total variation filter

      基于改进暗通道和导向滤波的图像去雾算法描述如算法2所示.

      算法2.基于改进暗通道和导向滤波的单幅图像去雾算法

      输入.雾霾图像 $I$ .

      输出.去雾图像 $J$ .

      步骤1.对雾霾图像近景区域计算最小值通道 ${I^{{\rm{min}}c}}$ , 远景区域计算暗通道 ${I^{{\rm{dark}}d}}$ , 得到整幅图像的混合暗通道 ${\tilde I^{{\mathop{\rm dark}\nolimits} }}$ $=$ ${I^{{\rm{min}}c}} + {I^{{\mathop{\rm dark}\nolimits} d}}$ , 利用式(8)对其进行映射处理, 得到大气耗散函数粗估计 $\tilde V$ .

      步骤2.通过求解式(9)和式(10)得到大气耗散函数 $V$ , 进而估计环境光值 $A$ .

      步骤3.计算初始传输图 $\hat t=1 - {V}/{{\bar A}}$ , 其中 $\bar A$ 为 $A$ 的平均值.

      步骤4.计算初始去雾图像 ${J^0} = I -\bar A/$ ${{\max(\hat t, t')}}$ $+$ $\bar A$ , 其中 $t' = 0.05$ .

      步骤5.按照算法1方法寻找最优的传输图 $t$ , 计算去雾图像 $J{\rm{ = }}{{I - \bar A}}/{{\max (t, t')}} + \bar A$ .}

    • 为了验证本文算法的有效性, 本文对多类雾霾图像进行了仿真实验.实验平台为Intel Core(TM) i5-4460, 3.2 GHz CPU, 内存8 GB, 软件平台为Matlab 2012a. 图 5将本文方法与He等的方法进行了比较.由于雾霾图像景深既存在跳跃变化又存在平缓变化, 本文为了减弱景深突变处的去雾不彻底现象, $T$ 值取为80, 因此本文得到的传输图地面区域平滑性较差, 去雾图像相应区域出现颜色过饱和现象.整体上相比He等的方法, 本文方法得到的传输图平滑性更好, 得到的去雾图像质量更高、细节信息更明显.

      图  5  本文算法与He的算法去雾效果对比

      Figure 5.  Comparison with He0s work

      为了将本文方法与He等和Fattal的方法进行定性比较, 选择2幅有雾图像南瓜和风景(从上到下)进行图像去雾实验, 结果如图 6所示.对于南瓜图像, 三种算法得到的结果都具有良好的清晰度和对比度; 但对于风景图像,由于图像颜色信息不充足, Fattal的算法得到的去雾图像质量很差.本文方法和He等的方法可以取得良好的去雾效果, 但在计算传输图的过程中, 相比He等方法中的软抠图算法, 本文方法中的导向滤波和全变差正则化方法减小了时间复杂度和运算所需存储空间, 如表 1所示.

      图  6  普通浓雾霾图像去雾效果对比

      Figure 6.  Comparison with others0 work in ordinary hazy images

      表 1  图 6中去雾时间对比

      Table 1.  Comparison of time consumed in Fig. 6

      图像图像尺寸He0s(s)Ours(s)
      南瓜600×40022.822.64
      风景600×52529.674.03

      图 7将本文方法与He等、Tang等的方法进行了对比.对于包含大面积天空和白色物体的雾霾图像, 暗通道先验对于场景图中天空和白色物体区域失效, He等的方法得到的去雾图像天空和白色物体区域出现了严重的失真现象(如图 7(b)), Tang等通过研究雾霾图像与雾相关的多个特征, 采用随机森林法学习了一种可用于估计传输图的回归模型, 实现了良好的去雾效果(如图 7(c)).本文方法则通过引入一个映射方程, 减小了雾霾图像天空和白色物体区域相应暗通道的误差, 得到了与Tang等方法相近的结果(如图 7(d)).

      图  7  包含大面积天空雾霾图像去雾效果对比

      Figure 7.  Comparison with others0 work in hazy images with large sky regions

      值得注意的是, 相比其他去雾方法, 本文采用全变差正则化方法优化传输图得到的去雾图像轮廓更清晰, 细节信息更明显. 图 8图 9分别将本文方法与Tang等的方法、本文方法与Wang等的方法进行了比较.对于薄雾图像, 由于Tang等的方法得到的传输图平滑性差, 导致去雾图像细节信息不明显, 如图 8(b)方框区域所示; 对于浓雾图像, 由于信噪比较低导致去雾图像易包含噪声, 如图 8(e)方框区域所示. Wang等的方法得到的传输图也存在平滑性较差导致去雾图像细节信息不明显的问题, 如图 9(b)由Wang等方法得到的传输图及图 9(d)得到的去雾图像所示.

      图  8  本文算法与Tang的算法去雾效果对比

      Figure 8.  Comparison with Tang0s work

      图  9  本文算法与Wang的算法去雾效果对比

      Figure 9.  Comparison with Wang0s work

      图  10  不同算法去雾结果比较

      Figure 10.  Comparison with others0 work

      图 10进一步将本文方法与多种方法进行了比较,选取的有雾图像为约塞米蒂和曼哈顿(从上到下). 图 10(c)为Tan方法的结果, 由于该方法采用最大化局部对比度的方法实现去雾, 使得去雾图像颜色趋于过饱和, 如约塞米蒂图中天空白云区域及曼哈顿图像所示. 图 10(e)为Teral等方法的结果, 该方法得到的去雾结果存在一定的颜色偏差, 如约塞米蒂图中山和白云的边沿、松树林的枝叶等区域所示.此外该方法在雾霾图像景深突变的边缘区域还易产生Halo效应.

    • 本文提出了一种基于改进暗通道和导向滤波的单幅图像去雾算法.首先对暗通道进行改进, 进而粗略估计大气耗散函数, 并利用导向滤波对其优化, 有效解决了去雾图像易产生的Halo效应或去雾不彻底现象, 以及暗通道对于大面积天空或白色物体等区域失效的问题, 然后利用大气耗散函数估计出环境光值和传输图, 并利用全变差正则化方法解决传输图平滑性较差导致去雾图像细节信息不明显的问题.实验结果表明, 本文算法得到的去雾图像具有较好的清晰度和视见度, 对于包含天空或白色物体的雾霾图像也具有良好的去雾效果, 从而扩大了应用暗通道先验知识实现图像去雾的范围.如何自适应地获取 $T$ 值和 $L$ 值, 将更多的先验信息引入单幅图像去雾, 进一步提高去雾质量是今后的研究方向.

参考文献 (23)

目录

    /

    返回文章
    返回