图像去雾算法

目录

 

一、定义

二、基于图像增强的去雾算法

三、基于图像复原的去雾算法

四、基于 CNN 的去雾算法

五、总结

六、未来发展方向


一、定义

因为雾霾的影响,在雾天条件下拍摄到的图像导致图像可能会存在细节丢失、对比度低的情况,将会影响图像后续的分析识别工作。在雾天情况下,空气中存在大量的 悬浮颗粒物,会对光线产

生散射,导致物体反射出 的光线发生衰减,同时反射光与观察者直接接受到光线发生混合,造成观察者获取到的图像的对比 度和清晰度等特征都发生改变,细节信息大量丢失。图像去雾是以满

足特定条件下应用需求为目的,通过对有雾图像进行分析和预处理,突出图像中的细节信息使之更加适合人机识别的一种图像预处理方法。

目前图像去雾算法主要包括基于图像增强、图像复原以及卷积神经网络。

图像去雾算法_第1张图片

二、基于图像增强的去雾算法

通过图像增强 技术突出图像细节,提升对比度,使之看起来更加 清晰,这类算法的适用性较广。

具体的算法有: Retinex 算法、直方图均衡化算法、偏微分方程算法、 小波变换算法等。

Retinex 算法根据成像原理,消 除了反射分量的影响,达到了图像增强去雾的效 果;

直方图均衡化算法使图像的像素分布更加均 匀,放大了图像的细节;

偏微分方程算法则是将图 像视作一个偏微分方程,通过计算梯度场提高对比 度;

小波变换算法对图像进行分解,放大有用的部 分。

三、基于图像复原的去雾算法

主要是基于大 气散射物理学模型,通过对大量有雾图像和无雾图 像进行观察总结,得到其中存在的一些映射关系, 然后根据有雾图像的形成过程来进行逆运算,从而 恢复清晰图像。

其中最经典的是暗通道先验去雾算法,通过对大量无雾图像进行特征分析,找到了无雾图像与大气散射模型中某些 参数的先验关系。

该算法复杂度低,去雾效果好。

四、基于 CNN 的去雾算法

使用 CNN 建立一 个端到端的模型,通过有雾图像恢复出无雾图像, 目前使用神经网络进行去雾的算法主要有 2 种思 路:

使用 CNN 生成大气散射模型的某些参数,然后 再根据大气散射模型来恢复无雾图像,

或者使 用 CNN (例如 GAN)直接根据模糊图像生成无雾的 清晰图像。

五、总结

基 于图像增强的方法不考虑有雾图像的形成过程, 而是直接通过突出图像的细节,提高对比度等方 式,从而使有雾图像看上去更加清晰。

基于图像 复原的方法则是追寻图像降质的物理过程,通过 物理模型还原出清晰的图像。

基于 CNN 的方法 则是利用神经网络强大的学习能力,寻找有雾图 像与图像复原物理模型中某些系数的映射关系或 者使用 GAN,根据有雾图像还原出无雾的清晰图像。

图像去雾算法_第2张图片

六、未来发展方向

(1) 更加真实的雾天图像数据集

采用神经网 络进行去雾的算法在效果上好于图像增强和复原 的方法,但是由于在自然界中很难拍摄到一组背 景相同的有雾图像和无雾图像,因此目前训练神 经网络所采用的数据集均是通过合成得到的,虽 然能够在一定程度上拟合自然环境,但是仍然存 在着一些差距。所以目前急需一种由在真实环境 中获取到的具有相同背景的有雾图像和无雾图像 构建的数据集,来提高神经网络去雾算法的鲁棒 性和稳定性。

(2) 更加简便的去雾算法。

目前各类算法能够 有效去除单幅图像上的雾霾,但相对较好的算法都 存在着时间复杂度高的问题,很难应用到视频去雾 或者需求较多的复杂任务中去。

(3) 鲁棒性更强的去雾算法。

现有算法都只对 图像上存在的均匀的薄雾有较好的去雾效果,对于 浓雾或者分布不均的团雾则效果较差,因此找到一 种适用范围更广的去雾方法将会是未来发展方向。

七、代码

matlab版本:https://github.com/lvxiaojie111/Haze_Removal_for_Image_Preprocessing

python版本:https://github.com/lvxiaojie111/haze

 

你可能感兴趣的:(图像处理算法,图像复原,图像去雾,图像处理)