-
摘要: 针对暗通道先验去雾中存在的光晕现象和天空区域颜色失真现象,提出了一种基于自适应可变形结构元(Adaptive deformable structuring element,ADSE)中值滤波结合灰度形态学重构精细化透射率的方法.该方法利用透射率与图像细纹理结构的无关性,由有雾图像的灰度图计算显著图(Salience map,SM),将SM作为导向图计算ADSE,用生成的ADSE对最小颜色通道图像进行自适应中值滤波运算;其次,以粗估计暗通道图像为标记图像,以自适应中值滤波后的图像作为模板图像进行灰度形态学重构运算,获得精细化暗通道图像,继而得到精细化透射率;最后,针对天空区域,引入最优化透射率方法,对天空和非天空区域做统一的运算得到最终透射率,完成图像去雾.本文算法对真实场景具有很好的去雾效果,同时,基于形态学的运算易于并行化和硬件实现.Abstract: The dehaze image based on dark channel prior presents the phenomena of halo effect and color distortion in sky region. In this paper, the median filtering with adaptive deformable structuring element (ADSE) and the morphological reconstruction are introduced to estimate the fine transmission. The transmission does not relate to fine texture, so the median filtering can be performed on the minimum channel with ADSEs. The ADSEs can be computed by the salience map (SM) which is computed by haze image. Then, the filtered image and dark channel image of the haze image are used as the mask and marker images, respectively. The mask and marker images are used to perform morphological reconstruction for fine dark channel image and fine transmission. Finally, the transmissions in nonsky and sky regions are fused by the optimized medium transmission method. The experiment results show that the proposed method can obtain good dehazing effect, especially in real-world images. The proposed algorithm is based on morphology operations, which is easy for parallel computing and hardware implementation.
-
光在空气中传播时会被“雾”[1-2]反射、吸收和散射.光的强度和颜色会因雾的浓度和光线传播距离发生改变.这就造成了图像质量下降, 包括图像模糊, 对比度下降, 色彩弱化, 场景特征减弱.特别是有雾图像的深度信息被破坏, 会影响后续图像处理和视觉计算效果.所以, 在遥感、航空和水下图像处理, 室外监控和目标识别应用中, 去雾处理被广泛使用.图像去雾可以消除雾气干扰和颜色失真, 提高对比度和视觉效果.
去雾技术中主要的挑战是有雾图像丢失了原始场景的深度信息, 这样就不能使用大气散射模型对图像建模.所以, 在去雾处理时, 需要使用多幅图像或附加信息获得场景的深度信息, 实现对有雾图像建模.当前, 主要的去雾方法有三类.第一类采用图像处理方法.包括直方图均衡[3-4]和Retinex方法[5].基于图像处理的去雾方法只关注图像对比度, 饱和度和亮度的提高.这类方法不能得到场景的深度信息、而且会恶化图像的视觉效果.第二类采用物理模型方法.这类方法使用附加信息、多幅图像或先验.使用附加信息的方法包括使用大气光偏振效应[6]和深度信息[7].这两种附加信息需要使用额外的器件, 因而在实际应用中不能方便获得.使用多幅图像的方法通过采集同一场景不同天气条件下的多幅图像实现[8-10].在实际应用时, 多幅图像并不能很轻易的获取.所以, 基于假设[11-13]或先验[2, 14]的方法得到越来越多的应用.这种方法首先对雾建模, 然后通过逆过程实现去雾.这种方法使用单一有雾图像实现去雾, 效果自然.第三类方法基于机器学习[15-18], 针对特定大气条件训练模型.这类方法有较好的去雾效果, 但是对非雾气造成的图像退化产生不好的影响.当前, 去雾方法中最简单有效的是基于暗通道先验(Dark channel prior, DCP)的方法[2].但这一方法并不能很好地处理天空图像和光晕现象, 而且计算量大.针对该方法的不足, 一些后续工作对其进行了补充[19-21].
本文在DCP方法的基础上引入可变形自适应滤波和形态学重构, 实现去除光晕现象.采用最优化介质传播系数[22]处理有雾图像天空区域.实验结果表明本文提出的算法能够普遍用于不同雾气条件的图像去雾.对天空区域和光晕的去除都有很好的处理效果.而且, 该方法采用形态学运算, 易于并行化和硬件实现.
1. 背景
1.1 雾气图像模型
在计算机视觉中, 大气光散射模型为:
$ \begin{equation} E(d, \lambda)=E_0(\lambda){\rm e}^{-\beta(\lambda)d}+E_\infty(\lambda)(1-{\rm e}^{-\beta(\lambda)d}) \end{equation} $
(1) 其中, $E$为辐照度, $d$为光线传播的距离, $\lambda$为光的波长, $E_0(\lambda)$为光源的照度($d=0$), $\beta(\lambda)$为总散射系数, $E_\infty(\lambda)$为大气光的最大辐照.公式右边的第一项为入射光线的衰减模型, 第二项为大气光模型.有雾图像模型[2, 14]可以简化为:
$ \begin{equation} I(x)=J(x)\cdot t(x)+A\cdot(1-t(x)) \end{equation} $
(2) 其中, $I(x)$为观测图像, $J(x)$为场景辐照, $A$为全局大气光, $t(t(x)={\rm e}^{-\beta d(x)}$)为透射率.图 1说明式(2)各项在图像中的意义.图像去雾的目的就是使用下式恢复出场景$J$:
$ \begin{equation} J=\frac{I-A(1-t)}{t} \end{equation} $
(3) 去雾中的挑战是从单幅图像$I$中估算出$A$和$t$.显然未知条件大于约束. $J$不可能直接由式(3)算出.因此, 需要使用先验或假设提供更多约束.
1.2 暗通道先验
图像去雾本质上是一个病态问题, 所以需要经验观测值, 多种假设或先验知识才能实现. Zhu等[11]发现了颜色衰减先验. Meng等[23]针对大气透射函数提出了内在边界约束.不同于其他方法基于有雾图像提出假设或先验, He等[2]基于无雾图像的统计特性提出了DCP. DCP基于无雾图像的一个基本特征:无雾图像中除天空区域, 至少有一个颜色通道的亮度非常低. DCP提出三条先验:大气光值已知, 大气透射率在图像块中是常数, $J$的暗通道亮度趋近于0.任意图像$P$的暗通道计算为: $\min_{\Omega_{DC} (x)}(\min_C P^C)$.其中, $P^C$为$P$的彩色通道, $\Omega_{DC}(x)$为中心点$x$的邻域. $\min_{C\in(R, G, B)}$计算每个像素的最小颜色通道值, $\min_{\Omega_{DC}(x)}$计算$x$邻域$\Omega_{DC}(x)$中的最小值.暗通道的计算过程如图 2所示.
大气光值$A$假设为已知值, 式(2)归一化为:
$ \begin{equation} \frac {I^C (x)}{A^C}=t(x)\cdot \frac {J^C (x)}{A^C} +1-t(x) \end{equation} $
(4) 其中, $C$表示R、G、B三个颜色通道.像素$x$的邻域$\Omega_{DC} (x)$中常量透射系数$t$表示为$\tilde{t}(x)$.式(4)等号两边进行最小值运算得到:
$ \begin{equation} \min\limits_{\Omega (x)}\left(\min\limits_C\frac {I^C}{A^C}\right)=\tilde{t}(x) \cdot \min\limits_{\Omega_{DC} (x)}\left(\min\limits_C\frac {J^C}{A^C}\right) +1-\tilde{t}(x) \end{equation} $
(5) 基于无雾图像的非天空区域暗通道值趋近于零这一先验, 以及大气光值非负, 式(5)简化为:
$ \begin{equation} \min\limits_{\Omega_{DC} (x)}\left(\min\limits_C\frac {I^C}{A^C}\right)=1-\tilde{t}(x) \end{equation} $
(6) 透射率$\tilde{t}(x)$可以得到:
$ \begin{equation} \tilde{t}(x)=1-\min\limits_{\Omega_{DC} (x)}\left(\min\limits_C\frac {I^C}{A^C}\right) \end{equation} $
(7) 然后图像场景$J(x)$可以通过下式计算得到:
$ \begin{equation} J(x)=\frac{I(x)-A}{\tilde{t}(x)}+A \end{equation} $
(8) 这样, 有雾图像就实现了去雾处理.使用这一方法恢复出的图像效果好, 计算简单.但是, 在去雾过程中, 假设图像在每一个像素邻域中透射率相同.这样恢复出的图像在某一图像块中深度不连续的位置会产生光晕现象.为解决这一问题可以使用导向滤波(Guided image filter, GIF)[20].
1.3 讨论
通常情况下, 基于DCP的去雾方法能够有效地对单幅有雾图像去雾.但是, 仍存光晕现象和天空区域彩色失真现象.
1.3.1 光晕现象
像素邻域大小的选择在DCP方法中非常关键.在去雾运算中, 邻域越小$J^{\rm dark}(x)$的计算结果误差越大, 恢复的场景图像过饱和越明显.但是, 大的邻域会使得透射率在一个过大的区域内都保持恒定, 在邻域内存在深度边缘时, 会产生强的光晕现象, 如图 3所示, 邻域越大, 去雾后的图像光晕影响越大.因此, GIF、散射模型[24-25]、混合DCP[26], 保边处理[12, 27]和视觉恢复[28]等技术被用于解决光晕问题.但是这些技术都有其自身的限制.散射模型方法需要预先得到Trimap图或用户手动标记前景背景.其他方法需要大量的计算和存储资源.而且, 上述方法都是使用固定尺寸的图像块对一幅图像进行处理.使用形状不变的邻域会破坏图像块中深度突变位置的深度信息, 造成透射率计算的错误.比如使用GIF, 大尺寸窗口能够分散深度边缘周围的光晕.但是, 去雾后图像深度边缘模糊, 如图 4所示, 窗口越大, 光晕越弱, 但是叶子和树枝边缘的对比度越差.
本文采用自适应结构元和形态学重构计算透射率, 为了实现不同深度的保边滤波, 实现在深度近似的结构中完成滤波和细小纹理消除, 同时保持图像的深度边缘.同时, 因为形态学运算的天然并行性, 易于并行加速和硬件实现.首先使用有雾图像对每一像素点计算其合适的结构元, 然后使用这些结构元完成中值滤波输出模板图像.有雾图像的暗通道图像作为标记图像.使用标记图像和模板图像完成形态学膨胀重建运算, 结果即为精细化的暗通道图像.
1.3.2 颜色失真
DCP中, 不同区域使用同一恒定的大气光值并不适合, 特别是在天空区域, 会产生严重的色彩失真.当图像中像素$I$大于选定的$A$时, $J(X)=1/t(I-A)+A$会得到大于255的数值, 这样就产生了结果的上溢, 造成恢复图像的颜色失真.文献[2]中, 假设大气光值大于所有目标亮度.但是, 当目标亮度大于$A^C$时, 式(7)会计算出错误的透射率$\tilde{t}(x)$, 如图 5所示.为了减少天空区域的色彩失真, 文献[29]引入启发式边界, 假设地面区域的透射率只与其距地平线的垂直距离有关, 超过地平线的天空区域透射率置为0.这一方法对于非天空区域会产生发黄和偏暗的效果.文献[30]根据有雾图像的统计直方图自动检测雾气程度, 然后引入非负天空区域补偿项, 用于调整天空区域$\tilde{t}(x)$的初始值.但是这一方法会产生明显的块效应.
本文将文献[22]中提出的损失函数用于整幅图像的透射率计算.该损失函数包括两部分:对比度项和信息损失项.通过损失函数的约束, 避免了有雾图像中亮度大于大气光值的像素, 在去雾处理时发生溢出.本文提出计算亮通道(R、G、B三通道中的最大值), 使用亮通道计算透射率.然后融合由亮通道和重构图分别计算的透射率, 得到最终的透射率$\tilde{t}(x)$.这样能够有效避免天空区域的色彩失真.
2. 本文算法
本文提出的算法流程如图 6所示.包括自适应滤波, 形态学重构和天空区域处理:
1) 由有雾图像$I$的灰度图计算显著图(Salience map, SM)[31]. SM作为导向图计算自适应结构元.生成的结构元对最小颜色通道图像$dc1$进行中值滤波.得到保留了边缘, 抑制了细节的结构图像$AF$.
2) 由$I$计算最小颜色通道$dc1$和暗通道$dc2$.根据$dc2$和$I$计算大气光值$A$.以$dc2$为标记图像, $AF$为模板图像完成形态学膨胀重构运算, 获得精细化暗通道图像$dc3$.结合$A$计算暗通道透射率$t_{dc}$.
3) 由$I$计算最大亮通道$bc$.根据$bc$计算亮通道透射率$t_{bc}$.逐像素比较$t_{dc}$和$t_{bc}$, 输出最大值得到最优透射率$\tilde{t}(x)$.最后, 由$\tilde{t}(x)$, $A$和$I$恢复出去雾图像.
去雾处理的中间过程如图 7所示.自适应滤波图、暗通道图和亮通道图由$I$计算得到.暗通道和自适应滤波图完成重构运算.使用重构图像计算$t_{dc}$.亮通道进行一次膨胀运算再计算$t_{bc}$.融合两种透射率后使用式(8)实现去雾.
2.1 形态学重构
透射率$t$的表达式为:
$ \begin{equation} t(x)={\rm e}^{-\beta d(x)} \end{equation} $
(9) 其中, $\beta$表示散射系数, $d(x)$表示场景深度. $t$仅与场景深度有关.令$f$和$g$分别表示标记图像和模板图像, 并且$f\leq g$, 测地膨胀定义为:
$ \begin{equation} D^{(1)}_g(f)=(f\oplus b)\wedge g \end{equation} $
(10) 其中, $b$为结构元(Structure element, SE), $\oplus$表示膨胀运算, $\wedge$表示按像素对应取最小值.大小为$n$的测地膨胀定义为:
$ \begin{equation} D^{(n)}_g(f)=D^{(1)}_g[D^{(n-1)}_g(f)] \end{equation} $
(11) 其中, $D^{(0)}_g(f)=f$.
标记图像$f$对模板图像$g$的膨胀形态学重建表示为:
$ \begin{equation} R^{D}_g(f)=D^{k}_g(f) \end{equation} $
(12) 其中, $k$为迭代次数.当迭代运算达到稳定, 即$D^{k+1}_g(f)=D^{k}_g(f)$时, 迭代停止.膨胀重建能够在不改变物体形状的前提下消除标记图像中的细小结构.将形态学重建引入透射率的优化计算, 需要选择合适的标记和模板图像. $AF(I_{\rm gray})$和$dc2$分别作为模板和标记图像进行形态学重构运算, 结果如图 8所示.与采用GIF的方法比较, 采用形态学重构恢复的有雾图像具有更好的对比度和纹理结构.但是采用形态学重构恢复图像, 在同一场景深度, 很难去除细纹理集中区域的细纹理.因此, 要提高去雾的效果, 需要解决的问题是:保证深度边缘不被模糊, 抑制相近场景深度的密集细纹理.为此, 我们引入了可变形自适应滤波.
2.2 可变形自适应滤波
最小颜色通道既有图像的强边缘信息, 也有细纹理和噪声.最优的模板图像应该仅包含完整且定位准确的深度边缘信息.形态学运算中, 通常使用开启和闭合运算去除图像细边缘和噪声.但是会模糊图像边缘.所以, 采用自适应可变形中值滤波对模板图像进行预处理, 能够很好地去除噪声和细纹理, 同时保持准确的深度边缘, 如图 9所示.
我们采用显著图[31]作为导向图(Pilot)计算可变结构元. SM计算过程如算法1所示.计算出导向图后, 使用算法2, 实现对每个像素的自适应中值滤波.去雾效果如图 10所示, 去雾后的图像避免了光晕效应, 而且对比度得到了增强.
算法1. 显著图(SM)计算
输入. 灰度图像$I(x)$.
输出. 显著图.
步骤1. 计算$I(x)$的二维离散傅立叶变换: $F[I(x)]$.
步骤2. 计算频谱幅值$A$, 相位谱$P$和$\log$谱$L$: $A=\Re(F[I(x)])$, $P=\phi(F[I(x)])$, $L=\lg(A)$.
步骤3. $V=h_n\otimes L $, 其中$h_n$为均值滤波模板.
步骤4. 计算谱残差: $R=L-V$.
步骤5. 计算SM: $SM(x)=g(x)\otimes F^{-1}[\exp(R+P)]^2$, $g(x)$为高斯滤波模板.
算法2. 自适应中值滤波
输入. 导向图$SM$, $dc1$, 结构元限制范围$\Omega$(边长为$2r+1$的矩形).
输出. 自适应中值滤波后的图像.
步骤1. $j=1$, 循环步骤2~5.
步骤2. 以当前像素为中心, 选取区域$\Omega$, $\Omega$中每一像素$i$计算沿不同路径到中心点的像素值距离, $\Omega$内结构元长度$d(x, y)$的均值$T$作为结构元长度上限.
步骤3. 比较$\Omega$内各像素点结构元长度$d_{(x, y)}$与$T$, 若$d_{(x, y)}>T$, 自适应SE当前位置置$0$; 否则, 置$1$.
步骤4. 使用当前得到的自适应SE对$dc1$进行中值滤波, 结果为输出图像当前像素的灰度.
步骤5. $j\Leftarrow j+1$, 移动到下一像素, 直到$(j=N)$, 结束循环, 其中, $N$为图像像素个数.
2.3 天空区域处理
自适应滤波和形态学重构有很好的去雾效果.但是天空区域的处理结果仍然不理想.我们引入文献[22]中的方法用于天空区域的去雾.式(3)可以重写为: $J=\frac{1}{t} (I(x)-A)+A$.输入图像中灰度值在某一区间$[a, b]$ ($0<a<b<255$)外的像素, 在去雾处理中会被映射到$[0, 255]$之外的区域, 产生下溢或上溢.这样, 会产生信息损失.信息损失与透射率$t$成反比.另一方面, 用均方差(MSE)量化去雾结果的对比度:
$ \begin{equation} \begin{aligned} C_{\rm MSE}=\sum\limits_{x=1}\limits^N \frac{(J_C(x)-\overline{J}_C)^2}{N}= \sum\limits_{x=1}\limits^N \frac{(I_C(x)-\overline{I}_C)^2}{t^2\cdot N} \end{aligned} \end{equation} $
(13) 其中, $\overline{J}_C$和$\overline{I}_C$分别表示${J_C}$和${I_C}$的均值. $N$为图像像素个数. $C_{\rm MSE}$与$t$成反比.这样, 小的$t$可以提高恢复图像的对比度, 同时也减少了信息损失.然后, 定义对比度损失和信息损失:
$ E_{\rm contrast}=\, -\sum\limits_C\sum\limits_{x\in\Omega}\frac{ \left(I_C(x)- \overline{I}_C\right)^2}{t^2\cdot N_\Omega} $
(14) $ \begin{align} E_{\rm loss} = \, &\sum\limits_C\sum\limits_{x\in\Omega}[(\min\{0, J_C(x)\})^2+\nonumber\\& (\max\{0, J_C(x)- 255\})^2] =\nonumber \\ &\sum\limits_C\Bigg\{\sum\limits_{i=0}\limits^a\Big(\frac{i-A_c}{t}+A_C\Big)^2\cdot h_C(i) +\nonumber\\ & \sum\limits_{i=b}\limits^{255} \left (\frac{i-A_c}{t}+\!A_C-255\right )^2\cdot h_C(i)\Bigg\} \end{align} $
(15) 其中, $N_\Omega$为区域$\Omega$中像素个数, $h_C$为彩色通道$C$的直方图, $a$和$b$表示数据截断发生的输入图像像素值.使总损失最小的最优化透射率$t$表示为:
$ \begin{equation} E = E_{\rm contrast}+\lambda_{L}\cdot E_{\rm loss} \end{equation} $
(16) 其中, $\lambda_L$为控制权重.这样, 计算$t$的两个约束项可以归为一个约束条件
$ \begin{align} t\geq \, &\max\Bigg\{\min\limits_C \min\limits_{\Omega_{DC}}\Big\{\frac{I_C(x)-A_C}{-A_C}\Big\}, \nonumber\\& \max\limits_C \max\limits_{\Omega_{BC}}\Big\{\frac{I_C(x)-A_C}{255-A_C}\Big\}\Bigg\} \end{align} $
(17) 注意到$E_{\rm contrast}$是关于$t$的增函数.因此, 最优化透射率$t^*$为能满足式(17)约束的最小值:
$ \begin{align} t^*=\, &\max\Bigg\{\min\limits_C \min\limits_{\Omega_{DC}}\Big\{\frac{I_C(x)-A_C}{-A_C}\Big\}, \nonumber\\& \max\limits_C \max\limits_{\Omega_{BC}}\Big\{\frac{I_C(x)-A_C}{255-A_C}\Big\}\Bigg\} \end{align} $
(18) 我们将式(18)改写为:
$ \begin{equation} \begin{aligned} \tilde{t}= \max\Bigg\{1-\omega\cdot\frac{DC(x)}{A_C}, \frac{BC(x)-A_C}{255-A_C}\Bigg\} \end{aligned} \end{equation} $
(19) 其中, $\omega$是一个基于应用的常量. $DC(x)$和$BC(x)$分别为暗通道和亮通道.计算过程中各透射率如图 11所示, 最优透射率$\tilde{t}$对天空和非天空区域都是适用的.
3. 实验结果
我们对多种不同类型的图像进行了测试.并将测试结果与Zhu等[11]、Meng等[23]和He等[20]工作进行了比较.比较时, 使用Matlab R2013a实现所有算法, 计算机使用Core i3-4130 CPU (3.4 GHz)和4 GB RAM.测试时使用相关工作论文中优化后的参数.
3.1 真实图像的定性结果
对6幅真实有雾图像采用不同去雾算法处理, 结果如图 12所示.其中(a)列为有雾图像, (b)~(d)列分别为Zhu等[11]、Meng等[23]和He等[20]的处理结果.本文算法结果为(e)列.第1行有雾图像为重度雾气条件.文献[11]和文献[20]对图像中距离较远的部分处理效果较差.文献[23]和本文的算法对近距离和远距离图像的处理效果都比较好.第2行和第3行图像具有非常多的尖锐边缘和深度边缘, 可以评价对光晕现象的抑制能力.本文算法去雾效果更好, 颜色更鲜艳.第4行图像包含天空区域.文献[11, 23]的结果在天空区域出现了颜色失真现象.文献[20]在天空区域未出现颜色失真, 但去雾图像对比度较低.本文算法结果在天空区域无颜色失真现象.图像颜色鲜明, 对比度高.第5行图像同时包含天空区域和水面.文献[20, 23]的结果在天空区域和水面区域都出现了颜色失真现象.文献[11]去雾图像对比度较低.本文算法结果在天空和水面区域无颜色失真现象, 去雾图像相比其他结果对比度高.第6行图像不包含天空区域, 同时景深较小, 细节很多.文献[23]出现了颜色失真现象.本文算法结果相比文献[11, 20]对比度高, 颜色鲜艳.
3.2 合成图像的定量结果
用PhotoShop的Camera Raw功能, 对无雾图像添加雾化效果.这样, 可以定量评价各种算法的去雾效果.本文合成了Middlebury Stereo数据集中的4幅图像和4幅真实场景图像.其中, dolls、moebius、cones、books添加80 %的雾气影响, 代表薄雾环境. trees、mountain、woods添加100 %的雾气影响, 代表中等浓度雾气环境. buildings执行两次雾化操作, 第一次添加100 %雾气影响, 第二次再添加30 %雾气影响, 代表浓雾环境.采用MSE和结构相似度(Structural similarity, SSIM)[32]作为评价指标. MSE的计算如下:
$ \begin{equation} {\rm MSE}=\sqrt{\frac{1}{3N}\sum\limits_{C\in {r, g, b}}||J^C-G^C||^2} \end{equation} $
(20) 其中, $N$为图像像素个数, $G$为无雾原图像, $J$为去雾处理后图像, $J^C$和$G^C$分别表示图像$J$和$G$的三个颜色通道. MSE值越小表示去雾效果越好.
SSIM用于评价图像结构信息的保留程度, 计算如下:
$ \begin{equation} {\rm SSIM}(x, y)=\frac{(2\mu_x\mu_y+C_1)(2\sigma_x\sigma_y+C_2)}{(\mu^2_x+ \mu^2_y+C_1)(\sigma^2_x+\sigma^2_y+C_2)} \end{equation} $
(21) 其中, $\mu_x$和$\mu_y$分别表示图像$X$和$Y$的亮度均值, $\sigma_x$和$\sigma_y$分别表示图像$X$和$Y$的标准差. $C_1$和$C_2$是常量. SSIM值越大表示去雾效果越好.
合成图像的去雾结果如图 13所示. (a)列为加雾合成图像. (b)~(d)列分别为文献[11]、[23]和[20]算法结果, (e)列为本文结果, (f)列为无雾原始图像.可以看出, 本文方法和其他3种方法对于无天空区域且无较大景深的合成场景, 均有较好的去雾效果.对于场景trees、buildings、mountain和woods, 文献[23]的处理结果出现了严重的颜色失真.文献[20]在trees和mountain中也出现了明显的颜色失真.文献[11]虽然没有出现天空区域颜色失真, 但是去雾效果不如其他方法, 特别是在近景处仍有雾气.本文算法在包含天空区域和较大景深的有雾图像中, 展现了良好的去雾效果.相应的量化评价结果如表 1所示.本文算法对于真实场景合成的有雾图像的去雾效果最好.同时, 对于其他图像, 去雾结果的指标也可以接受.
表 1 不同算法去雾结果定量评价指标值Table 1 Results of MSE and SSIM on the synthetic images指标 图像 [11] [23] [20] 本文 MSE dolls 0.0876 0.0987 0.0598 0.0562 moebius 0.1033 0.0968 0.0795 0.0817 cones 0.0880 0.0749 0.0563 0.0770 books 0.1043 0.1517 0.0485 0.0906 trees 0.1183 0.1726 0.1244 0.0848 buildings 0.2213 0.1558 0.1054 0.1030 mountain 0.0629 0.1448 0.0822 0.0596 woods 0.2203 0.1556 0.1679 0.1498 SSIM dolls 0.9091 0.9042 0.9293 0.9366 moebius 0.8764 0.9017 0.9168 0.8908 cones 0.9051 0.9518 0.9494 0.9116 books 0.8659 0.8338 0.9436 0.8793 trees 0.8332 0.8585 0.8731 0.8998 buildings 0.6615 0.8536 0.7847 0.8541 mountain 0.9225 0.8449 0.9019 0.9240 woods 0.8469 0.9156 0.8655 0.9384 3.3 计算复杂度
表 2所示为各种去雾方法的计算时间.可以看到He的方法计算时间最短, 本文算法计算时间最长.本文方法中, 可变形结构元的计算消耗了88 %的计算时间.然而, 本文提出的算法最终以硬件实现为目的, 所以算法不需要使用循环和保存中间图像数据, 并且通过并行运算, 易于在FPGA、多核处理器或GPU等处理器上实现, 极大减少算法的执行时间.
表 2 不同算法去雾运算时间(s)Table 2 Computing times on the haze images (s)4. 结论
本文采用显著图做自适应可变形中值滤波结合形态学重构方法精细化透射率, 消除细纹理和噪声, 得到保留了强边缘和深度边界信息的结构图像, 能够很好地处理非天空区域的去雾.结合最优化透射率方法, 可以有效处理有雾图像天空区域颜色失真的问题.实验结果表明, 本文提出的方法能够有效去除光晕效应, 提高去雾图像对比度和色彩饱和度.同时, 该方法能有效应用于包括天空区域的有雾图像, 避免了其他方法对天空去雾处理时产生的颜色失真现象.另外, 本文提出的方法易于并行化和硬件化.
-
表 1 不同算法去雾结果定量评价指标值
Table 1 Results of MSE and SSIM on the synthetic images
指标 图像 [11] [23] [20] 本文 MSE dolls 0.0876 0.0987 0.0598 0.0562 moebius 0.1033 0.0968 0.0795 0.0817 cones 0.0880 0.0749 0.0563 0.0770 books 0.1043 0.1517 0.0485 0.0906 trees 0.1183 0.1726 0.1244 0.0848 buildings 0.2213 0.1558 0.1054 0.1030 mountain 0.0629 0.1448 0.0822 0.0596 woods 0.2203 0.1556 0.1679 0.1498 SSIM dolls 0.9091 0.9042 0.9293 0.9366 moebius 0.8764 0.9017 0.9168 0.8908 cones 0.9051 0.9518 0.9494 0.9116 books 0.8659 0.8338 0.9436 0.8793 trees 0.8332 0.8585 0.8731 0.8998 buildings 0.6615 0.8536 0.7847 0.8541 mountain 0.9225 0.8449 0.9019 0.9240 woods 0.8469 0.9156 0.8655 0.9384 表 2 不同算法去雾运算时间(s)
Table 2 Computing times on the haze images (s)
-
[1] Narasimhan S G, Nayar S K. Vision and the atmosphere. International Journal of Computer Vision, 2002, 48 (3): 233-254 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=b619651bb1a84a4d7a31d397fb0f9386 [2] He K M, Sun J, Tang X O. 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 [3] 吴迪, 朱青松.图像去雾的最新研究进展.自动化学报, 2015, 41 (2): 221-239 http://www.aas.net.cn/CN/abstract/abstract18603.shtmlWu Di, Zhu Qing-Song. The latest research progress of image dehazing. Acta Automatica Sinica, 2015, 41 (2): 221-239 http://www.aas.net.cn/CN/abstract/abstract18603.shtml [4] Stark J A. Adaptive image contrast enhancement using generalizations of histogram equalization. IEEE Transactions on Image Processing, 2000, 9 (5): 889-896 doi: 10.1109/83.841534 [5] McCann J. Lessons learned from Mondrians applied to real images and color gamuts. In: Proceedings of the IS & T/SID 7th Color and Imaging Conference. Scottsdale, USA, 1999. 1-8 https://www.researchgate.net/publication/221501975_Lessons_Learned_from_Mondrians_Applied_to_Real_Images_and_Color_Gamuts [6] Schechner Y Y, Narasimhan S G, Nayar S K. Instant dehazing of images using polarization. In: Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Kauai, HI, USA: IEEE, 2001. I-325-I-332 https://www.researchgate.net/publication/3940554_Instant_dehazing_of_images_using_polarization [7] Kopf J, Neubert B, Chen B, Cohen M, Cohen-Or D, Deussen O, et al. Deep photo: model-based photograph enhancement and viewing. ACM Transactions on Graphics, 2008, 27 (5): Article No. 116 http://d.old.wanfangdata.com.cn/NSTLQK/NSTL_QKJJ0210187593/ [8] Narasimhan S G, Nayar S K. Contrast restoration of weather degraded images. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2003, 25 (6): 713-724 doi: 10.1109/TPAMI.2003.1201821 [9] Narasimhan S G, Nayar S K. Chromatic framework for vision in bad weather. In: Proceedings of the 2000 IEEE Conference on Computer Vision and Pattern Recognition. Hilton Head Island, SC, USA: IEEE, 2000. 598-605 https://www.researchgate.net/publication/3854198_Chromatic_framework_for_vision_in_bad_weather [10] Nayar S K, Narasimhan S G. Vision in bad weather. In: Proceedings of the 7th IEEE International Conference on Computer Vision. Kerkyra, Greece: IEEE, 1999. 820-827 [11] Zhu Q S, Mai J M, Shao L. A fast single image haze removal algorithm using color attenuation prior. IEEE Transactions on Image Processing, 2015, 24 (11): 3522-3533 doi: 10.1109/TIP.2015.2446191 [12] Li Z G, Zheng J H. Edge-preserving decomposition-based single image haze removal. IEEE Transactions on Image Processing, 2015, 24 (12): 5432-5441 doi: 10.1109/TIP.2015.2482903 [13] Caraffa L, Tarel J P. Markov random field model for single image defogging. In: Proceedings of the 2013 IEEE Intelligent Vehicles Symposium (Ⅳ). Gold Coast, QLD, Australia: IEEE, 2013. 994-999 https://www.researchgate.net/publication/261225195_Markov_Random_Field_Model_for_Single_Image_Defogging [14] 刘海波, 杨杰, 吴正平, 张庆年, 邓勇.基于暗通道先验和Retinex理论的快速单幅图像去雾方法.自动化学报, 2015, 41 (7): 1264-1273 http://www.aas.net.cn/CN/abstract/abstract18700.shtmlLiu Hai-Bo, Yang Jie, Wu Zheng-Ping, Zhang Qing-Nian, Deng Yong. A fast single image dehazing method based on dark channel prior and Retinex theory. Acta Automatica Sinica, 2015, 41 (7): 1264-1273 http://www.aas.net.cn/CN/abstract/abstract18700.shtml [15] Chen J, Chau L P. Heavy haze removal in a learning framework. In: Proceedings of the 2015 IEEE International Symposium on Circuits and Systems. Lisbon, Portugal: IEEE, 2015. 1590-1593 [16] Tang K T, Yang J C, Wang J. Investigating haze-relevant features in a learning framework for image dehazing. In: Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus, OH, USA: IEEE, 2014. 2995-3002 https://www.researchgate.net/publication/286594615_Investigating_Haze-Relevant_Features_in_a_Learning_Framework_for_Image_Dehazing [17] Choi L, You J, Bovik A C. Referenceless prediction of perceptual fog density and perceptual image defogging. IEEE Transactions on Image Processing, 2015, 24 (11): 3888-3901 doi: 10.1109/TIP.2015.2456502 [18] Cai B L, Xu X M, Jia K, Qing C M, Tao D C. 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 [19] 陈书贞, 任占广, 练秋生.基于改进暗通道和导向滤波的单幅图像去雾算法.自动化学报, 2016, 42 (3): 455-465 http://www.aas.net.cn/CN/abstract/abstract18833.shtmlChen 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 http://www.aas.net.cn/CN/abstract/abstract18833.shtml [20] He K M, Sun J, Tang X O. Guided image filtering. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35 (6): 1397-1409 doi: 10.1109/TPAMI.2012.213 [21] Tarel J P, Hautiere N. Fast visibility restoration from a single color or gray level image. In: Proceedings of the 2009 IEEE 12th International Conference on Computer Vision. Kyoto, Japan: IEEE, 2009. 2201-2208 https://www.researchgate.net/publication/221110862_Fast_Visibility_Restoration_from_a_Single_Color_or_Gray_Level_Image [22] Kim J H, Jang W D, Sim J Y, Kim C S. Optimized contrast enhancement for real-time image and video dehazing. Journal of Visual Communication and Image Representation, 2013, 24 (3): 410-425 doi: 10.1016/j.jvcir.2013.02.004 [23] Meng G F, Wang Y, Duan J Y, Xiang S M, Pan C H. Efficient image dehazing with boundary constraint and contextual regularization. In: Proceedings of the 2013 IEEE International Conference on Computer Vision. Sydney, NSW, Australia: IEEE, 2013. 617-624 https://www.researchgate.net/publication/262356211_Efficient_Image_Dehazing_with_Boundary_Constraint_and_Contextual_Regularization [24] Levin A, Lischinski D, Weiss Y. A closed-form solution to natural image matting. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30 (2): 228-242 doi: 10.1109/TPAMI.2007.1177 [25] Xiao C X, Liu M, Xiao D L, Dong Z, Ma K L. Fast closed-form matting using a hierarchical data structure. IEEE Transactions on Circuits and Systems for Video Technology, 2014, 24 (1): 49-62 doi: 10.1109/TCSVT.2013.2276153 [26] Huang S C, Chen B H, Cheng Y J. An efficient visibility enhancement algorithm for road scenes captured by intelligent transportation systems. IEEE Transactions on Intelligent Transportation Systems, 2014, 15 (5): 2321-2332 doi: 10.1109/TITS.2014.2314696 [27] Li X Y, Gu Y, Hu S M, Martin R R. Mixed-domain edge-aware image manipulation. IEEE Transactions on Image Processing, 2013, 22 (5): 1915-1925 doi: 10.1109/TIP.2013.2237922 [28] Huang S C, Chen B H, Wang W J. Visibility restoration of single hazy images captured in real-world weather conditions. IEEE Transactions on Circuits and Systems for Video Technology, 2014, 24 (10): 1814-1824 doi: 10.1109/TCSVT.2014.2317854 [29] Lai Y H, Chen Y L, Chiou C J, Hsu C T. Single-image dehazing via optimal transmission map under scene priors. IEEE Transactions on Circuits and Systems for Video Technology, 2015, 25 (1): 1-14 doi: 10.1109/TCSVT.2014.2329381 [30] Li Z G, Zheng J H, Zhu Z J, Yao W, Wu S Q. Weighted guided image filtering. IEEE Transactions on Image Processing, 2015, 24 (1): 120-129 doi: 10.1109/TIP.2014.2371234 [31] Curic V, Hendriks C L, BorgeforsG. Salience adaptive structuring elements. IEEE Journal of Selected Topics in Signal Processing, 2012, 6 (7): 809-819 doi: 10.1109/JSTSP.2012.2207371 [32] Wang Z, Bovik A C, Sheikh H R, Simoncelli E P. Image quality assessment: from error visibility to structural similarity. IEEE Transactions on Image Processing, 2004, 13 (4): 600-612 doi: 10.1109/TIP.2003.819861 期刊类型引用(4)
1. 宋传鸣,唐媛,乔明泽,刘霜,刘丹. 缓解平滑区域光晕和偏色失真的图像去雾算法. 计算机辅助设计与图形学学报. 2022(06): 953-969 . 百度学术
2. 叶志鹏,贾睿,宁雷,付继伟,崔利军. 基于亮区域检测的图像去雾增强方法. 导弹与航天运载技术. 2021(01): 115-120 . 百度学术
3. 王诗毅,姚信威,姚远. G-SVD:一种基于高斯卷积和SVD的暗通道去雾算法. 小型微型计算机系统. 2021(04): 810-815 . 百度学术
4. 吴迪,郭凤姣,黄峰,李婷,屈宗顺. 基于颜色衰减先验和视觉显著性的水下图像增强算法. 光电子·激光. 2020(09): 891-896 . 百度学术
其他类型引用(5)
-