He et al, Single Image Haze Removal Using Dark Channel Prior. (2009 CVPR best paper)
Code-c++_link: https://github.com/hermosayhl/image_processing/tree/main/dehaze/single_dehaze_he https://zhuanlan.zhihu.com/p/440903916 github:https://github.com/hermosayhl/image_processing ----分享常用的image处理算法及论文
基于Dark Channel Prior(暗通道)先验的去雾算法实际上是一种统计意义上的算法,作者总结了大量的室外无雾的图像,发现了在无雾图像中局部区域存在一些像素,这些像素中至少有一个颜色通道的亮度值非常非常低(低亮度值区域不包括天空区域)。 虽然这种算法非常好,也不需要什么额外的参数,但是当图像趋于白色,这种去雾算法就存在缺陷。
暗通道Dark Channel
可以发现,无雾图像中非天空区域,即使图像曝光良好,rgb 三个通道中通常存在一个通道的某些像素值很低,接近于 0。相比之下,有雾图像,即使在红色,蓝色,绿色这些区域,其暗通道区域都远大于 0,呈灰白色(灰色 128),虽然不是很明显,但相比最前面几张无雾图像,就远大于 0 了。
local patch R = 15
总结:A的估计满足两点:首先为全局最亮的点,或者最亮的前百分之1的点,且这些点要满足在暗通道图中的雾区域中。 该算法的弊端也是这里,对于一些图片比如图像中存在过亮的某些区域或者天空等等,这样的区域的暗通道像素值都很高,而取最亮的前百分之一会包含这样的非雾区域的高像素的值,这样的结果会影响到最后的去雾效果,优化方法简单来说可以结合这个取值去调整。
估计完A了接下来估计t
在本文中作者参考一篇名为A closed form solution to natural image matting来进行精修。效果不错但是时间代价很大。后期何凯明一篇"Guided image filtering."可以代替softmatting完成精修工作。He, Kaiming, Jian Sun, and Xiaoou Tang. "Guided image filtering."European conference on computer vision. Springer, Berlin, Heidelberg, 2010.
paper link:https://ieeexplore.ieee.org/document/6319316/
"Guided image filtering."
引导滤波器自然具有快速且非近似的线性时间算法。目前,它是最快的边缘保留滤波器之一。实验表明,引导滤波器在各种计算机视觉和计算机图形应用中既有效又高效,包括边缘感知平滑、细节增强、HDR 压缩、图像抠图/羽化、去雾、联合上采样等。 Guided Image filter是一种边缘保持的平滑滤波算法。与双边滤波相比,它不仅具有边缘保持、非迭代的特点,还能保持梯度、并且计算复杂度与滤波半径无关等优点。
原理:该模型认为,某函数上一点与其邻近部分的点成线性关系,一个复杂的函数就可以用很多局部的线性函数来表示。 当需要求该函数上某一点的值时,只需计算所有包含该点的线性函数的值并做平均即可。
直接上代码吧,不具体说了。
以上便是非常经典的去雾任务的论文讲解。关于使用深度学习方法的会继续更新。