APP下载

图像去雾算法研究综述

2022-10-19陈俊安陆庚有谢倩怡龚智慧刘建平彭绍湖

电脑与电信 2022年7期
关键词:先验等式图像处理

陈俊安 陆庚有 谢倩怡 龚智慧 刘建平 彭绍湖

(广州大学电子与通信工程学院,广东 广州 510006)

1 引言

随着计算机视觉的不断发展,此领域已成为人工智能的重要组成部分。视觉作为人和动物感受外界信息的主要方式之一,在人工智能领域,计算机视觉也同样发挥着重要的作用。如今,计算机视觉在各个领域都获得广泛的应用,如图像分类、目标检测、语义分割、无人驾驶等。然而,这些应用输入有雾图像时,其性能将大大下降。因此,近年来计算机视觉领域研究图像预处理的学者不断增加,图像去雾的问题,在一定程度上得到了很好的处理。

雾图形成可以通过大气散射理论[1]进行解释,最早在1976年由Cantor正式提出,之后由Narasimhan等人进行进一步的总结[2]。大气散射模型,如图1所示。

图1 大气散射模型

公式描述,如(1)所示:

其中,I(x)为有雾图像,J(x)为观察目标反射光,即去雾后的图像,A为大气光系数,t(x)为大气透射率。t(x)=e-βd(x),其中,d(x)为场景深度图,β为大气光散射系数。由公式(1)式可以清晰知道,只要求得t(x)和A,便可以从有雾图像I(x)恢复无雾图像J(x)。然而,在一个等式上含有两个未知数,此类问题并没有唯一解。因此,图像去雾是有一个高度病态的问题。

在2012年由于AlexNet的出现,深度学习再次卷上热潮,后续以卷积神经网络为代表,使得计算机视觉的许多任务使用深度学习算法进行性能提升。同样,在图像去雾领域,深度学习一样扮演着优秀的角色。在2016年以前,学界主要通过传统的图像处理技术和统计学习方法研究图像去雾问题,如[3-12]等算法。自2016年以来,深度学习技术开始席卷图像去雾领域,如[13-27]等深度学习算法的提出,图像去雾算法质量得到了很大的提升。

以2016年为分界线,下文将对图像去雾算法按照传统图像处理去雾算法和深度学习去雾算法进行分类,对不同的算法进行原理和优缺点的分析。

2 传统图像处理去雾算法

传统图像处理去雾算法还可以分为非物理模型算法和物理模型算法。非物理模型算法主要以图像处理方法,对图像进行增强,突出图像细节,从而获得去雾的效果。物理模型算法主要基于大气散射理论,借助各种统计先验,构建非病态条件求解等式(1)。

2.1 非物理模型算法

多图输入去雾算法,如文献[3,4]通过获取同一场景不同环境的多张图像作为输入,基于有雾和无雾同一场景图下具有的不同物质媒介属性,进而增强有雾图的能见度,从而达到图像预处理效果。此外,极化滤波算法也是需要多图输入的算法,如文献[5,6]通过采用两张或多张同一场景的图像,获得不同级别的极化,从而获得不同的极化滤波对有雾图像进行处理。此类算法由于需要同一场景的两张或多张图像作为输入,不适用于动态场景,缺乏灵活性。

直方图均衡化算法,如文献[7,8]。直方图展示了图像的灰度级别分布、对比度和明暗度情况,直方图均衡化算法通过非线性的变换,使整幅图像的像素均衡分布,在一定程度上可以达到去雾的效果。但是去雾的效果存在光晕现象,算法复杂度高,鲁棒性较差,不够灵活。

能见度增强算法[9,10],通过假设无雾图的对比度比有雾图对比度高,并借助提高对比度来改善图像能见度的特性,利用最大化边缘轮廓的方法,获得较好的对比度增强的效果。此算法可以获得令人信服的能见度增强的效果,但是算法复杂度高,对不同的有雾场景去雾不完全有效。

2.2 物理模型算法

物理模型去雾算法是以大气散射理论为基础,通过补充条件使得求解等式(1)为非病态问题。此类算法以各种先验作为辅助信息,估计等式(1)中的t(x)、d(x)、A参数,使得能够通过等式(1)直接修复无雾图。先验算法都有一个共同的局限性,只有在特定的场景情况,才能有良好的先验估计结果,所以此类算法对不同场景的应用表现不一。

暗通道先验去雾算法[11],通过对大量无雾图进行统计,发现在无雾图RBG三通道中,至少有一个通道的像素值接近0。对于有雾图而言,暗通道先验可以作为雾的浓度估计,在假设大气光系数A为常量的条件下,通过变换等式(1),借助暗通道先验的性质,可以得到大气透射率t(x)的求解,如等式(2)所示:

其中Ω(x)为小区域像素,c为RGB通道,y为像素位置。在估计后,通过soft matting算法,得到平滑的t(x)。通过等式(3)进行修复,如下所示:

其中t0为t(x)的下界值,避免远距离场景图的大气透射率等于0。

暗通道先验去雾算法作为一种基于统计的算法,在图像去雾的领域获得良好的效果,与上述非物理模型算法相比,其稳定性更高。但是,去雾的效果略微偏暗,对于含有天空背景有雾图表现不稳定。

颜色衰退先验去雾算法[12],通过对大量有雾图进行实验观察,发现雾的不同跟图像的亮度和饱和度有关联,通过构建线性模型,恢复图像场景的深度图,进而通过t(x)=e-βd(x),可以估计大气透射率t(x),进而利用等式(3)可以获得无雾图的恢复。此算法对背景清晰、颜色饱和度较大的薄雾图像处理效果较好,但是在景深变化区域容易出现雾残留的现象,对于含团雾图像的处理效果较差。

3 深度学习去雾算法

深度学习去雾算法还可分为估计参数法和直接修复法,大多基于卷积神经网络进行设计。估计参数法使用深度卷积神经网络直接估计t(x)、A等,再基于大气散射模型,对图像进行去雾。直接修复法通过利用深度神经网络的学习能力,在数据驱动的条件下,实现端到端的由雾图像直接得到无雾图像。

3.1 估计参数法

深度学习估计参数法和非深度学习物理模型算法都是估计参数t(x)、A等,但是使用深度学习估计的参数比非深度学习物理模型要更加准确,去雾效果有较好的提升。

DehazeNet[13]提出一个端到端系统,直接估计大气透射率t(x),在特征提取层使用卷积加Maxout的方式,使用三个大小不同的卷积核,并使用BReLU激活函数提高网络的收敛性。MSCNN[14]通过多尺度卷积,先在coarse-scale网络上估计粗糙的大气透射率,再把作为辅助特征传入fine-scale网络进一步改善,获得最终的大气透射率t(x),实验指出使用ReLU作为激活函数更高效。此类算法不足之处是网络比较复杂,仍需另外估计大气光系数A,再基于物理模型进行去雾。

DCPCN[15]通过稠密金字塔网络估计大气透射率t(x),使用U-net估计大气光系数A,通过大气散射模型进行去雾,实验使用t(x)和无雾图J(x)的相关关系构建融合分类器对网络进行优化,能够大幅度提高去雾的效果。AOD-Net[16]通过变换大气散射模型等式(1),得到等式(4):

通过把t(x)、A融合到一个中间变量K(x)中,避免直接估计t(x)、A两个参数,减少参数估计不正确,给后续去雾造成不良效果的概率。

通过神经网络估计参数法进行去雾,同样存在和物理模型去雾算法的不足。当估计参数不准确时,去雾的效果就会受到严重的影响。同时,由于神经网络估计参数是在合成数据集上进行训练,难以真正学到真实环境雾的相关特征,这也使得此类算法在对真实场景进行去雾时,去雾的质量会有所下降。为了处理这一难题,近期研究PSD[17]算法,通过使用合成数据集对网络进行预训练,再结合物理特征使用fine-tuning方式,使用真实数据集对网络进行优化,能够获得非常优秀的效果。

3.2 直接修复法

为了避免估计参数的局限性,研究人员进一步利用神经网络强大的学习性能,开始引进各种直接修复的去雾算法。其中仍可将其细分为特征融合去雾和对抗生成去雾算法。

GCANet[18]通过使用平滑扩张卷积和门限融合的方式,利用网络学习J(x)和I(x)之间的残差,构建损失函数,对网络进行训练,能够取得很好的效果。GFN[19]通过对有雾图进行白平衡、对比度增强、λ修正,获得三张辅助图作为网络输入,学习WB、CE、GC的信念图,再利用金字塔结构进行修复,此算法虽然比估计参数的算法表现好,但是复杂度较高。GridDehazeNet[20]通过在backbone中使用网格网络引入多尺度的注意力机制,也能够获得较好的效果。FFA-Net[21]引入通道注意力和空间注意力机制,通过堆叠含有注意力机制的Group框架和利用全局的残差连接学习结构,仅通过L1损失就能取得很好的效果。此类算法能够获得良好的去雾效果,使用不同的特征融合方法,其效果会有很大的不同,需要细腻地设计。

由于GAN[22]在2014年席卷而来,对抗生成网络架构在计算机视觉的各类应用中都得到很好的启发。TPID[23]使用三个生成对抗网络GJ、GA、Gt,利用大气散射模型进行图像去雾,通过构建不成对有雾和无雾数据集,使用对抗损失和L1 Loss相结合,解决深度学习去雾对成对数据集的依赖问题。CANDY[24]使用CGAN[25]的思想,添加L1 Loss和特征重构损失Lfeature,对网络进行训练;Cycle-Dehaze[26]使用CycleGAN[27]的思想,添加感知损失LPerceptual,对网络进行训练。此类算法由于对数据集的高度依赖,在真实场景下去雾的效果一般,容易存在颜色偏移失真问题。

4 总结与展望

本文对去雾算法在大方向上划分为传统图像处理去雾算法和深度学习去雾算法。在传统图像处理去雾算法中,根据使用的理论依据不同,细分为非物理模型和物理模型去雾算法;在深度学习去雾算法中,根据是否估计大气散射模型的参数,细分为深度学习估计参数法和深度学习直接修复法。在不同方法的分类中列举了经典的算法,并且介绍了不同算法的中心思想及其不足之处。

对于传统图像处理去雾算法而言,使用各种先验作为辅助信息,在先验信息估计准确的情况下,此类算法比较稳定。对于深度学习去雾算法而言,凭借着深度神经网络具有强大的学习能力,能够获得比传统图像处理去雾算法较好的去雾效果,但是需要进一步解决对合成数据集依赖的问题。

综上看来,如何设计轻量而高效的神经网络,更好地借助合成数据集对网络进行训练,并能够很好地提高网络迁移到真实场景去雾的鲁棒性,是高性能图像去雾算法必须克服的重要难题之一。

猜你喜欢

先验等式图像处理
海战场侦察图像处理技术图谱及应用展望
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
基于暗通道先验的单幅图像去雾算法研究与实现
先验想象力在范畴先验演绎中的定位研究
一种考虑先验信息可靠性的新算法
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的废有色金属自动分选算法研究
一个连等式与两个不等式链
先验的风
智力冲关·奇怪的等式