一年去雾算法研究的总结。

  从最开始的Crimm Imageshop中最简单的去雾功能开始,到前不久为止研究的诸多去雾算法,再到近日和一些朋友的关于去雾经验的交流,感觉自己对这个方面的研究已经止步了,现对这些算法做个简单的总结。

     本博客中共给出了6种有去雾功能的算法:

  (1)基于何凯明博士提出的暗通道去雾算法;

     (2)基于中值滤波(也可使用高斯\均值\双边之类的)的去雾;

     (3)基于均值滤波的实时去雾算法;

  (4)基于多尺度Retinex图像增强技术;

  (5)基于自适应直方图均衡化算法;

  (6)基于自适应对比度及色阶增强的图像算法;

  其中前三种算法属于基于去雾物理模型的,后三种属于普通图像增强手段。

     我们先说说后三种吧。基于Retinex的算法对于整体偏暗的图像有很好的增强作用,用于去雾方面只可用于静态的图像,原因有:(1) MSRCR是基于多次高斯模糊的,里面有很多的浮点计算,速度是个瓶颈;(2)对于有雾图,有可能会出现过增强现象,使的图像出现噪点;(3)对于本身比较正常的图,处理后的效果人的视觉看来很不自然。

     第5和第6种算法i是传统的增强算法,对于图像整体特征比较单一的图去雾的效果还是相当明显的,但是这两个算法受参数的影响比较大,特别是取样数或者说是Tile的大小,不同的Tile会造成局部图像的过增强(偏白或偏黑),并且算法的复杂度也比较高,内部的分块处理也不适合于并行处理,严重限制了其在实时去雾方面的应用。

      第2种基于中值滤波的方式在一些论文里也时有提到,实际我用高斯或者均值之类的模糊代替高斯,也有一定的去雾能力,如果是用中值,可能还会出现图像周边有明显的分界效果,如下图所示,注意看建筑物顶部的几个角的位置:

     还有个问题就是虽然有快速的中值算法,但是考虑到现在的工业应用场合常见的处理大小,实时性还是难以保证,因此,我认为这个算法也只有停留在纸面上,创造不了使用价值。 

     第3篇算法提出的实时算法,其核心就是一个boxblur,约占整个过程耗时一半左右,但确实能做到实时的能力。对于单幅图像的去雾效果也是相当的不错的,但是用于连续的视频流去雾似乎能发现各帧之间的过渡不是特别的自然。

     在来说说何凯明的去雾算法吧,我现在看来,还是这个算法最稳定、最可靠。一是这个算法的原理性经得起推敲,二是其效果综合来说要比其他的算法都为好,特别是用于连续的视频流。我认为这主要还是得益于其透射率图要比其他的都为精细。你如果看看中值或者那个实时的,就可以知道他们对应的透射率图都很粗糙。 不过何的算法有一个致命的弱点,速度很慢,因为无论是用soft matting或者guide filter都有着大量的浮点运算,这严重的限制了其用于工业CCD的实时处理。

     鉴于此,作者也试着对代码进行深层次的优化,包括SSE处理、并行运行等,但由于算法本身的顺序执行,无法全程并行,偶尔一个小函数可以并行,但由于其本身执行就特别快,比如不要5ms,你去用并行算法可能耗时还会大一些。因此,一直没有什么大的进步,对于一副1024*768的彩图进行去雾需要90ms,这肯定无法满足需求。

     最近,在思考,既然暗通道去雾的透射率图比其他的算法都来的精细,如果适当的降低一点点其精度,其去雾的效果理论上应该不会有太大的区别,于是我想到了一种方式,即求取透射率的时候不是对原图进行求取,而是先对原图进行下采样,比如缩小为原图的1/4,计算出小图的透射率,之后在通过插值的方式的获取原图大概的透射率,则应该也可以获得效果。经过实践,这种方式大大的提高了执行速度,而且效果和原始的方案基本一致,对于1024*768的图像大约只需要30ms了,如果进一步取1/9的缩放,则只需要大约20ms,完全可以满足工业实时性要求高的场合。

    当然,如果你的缩小系数不是特别大的话,比如缩小为原来的0.5大小,可能两次缩放所用的耗时还抵消了计算小图的透射率图所换来的盈利,因此必须合理选择这个下采样率。

    去雾还有一些其他人做的论文,比较经典比如有fattal论文:Single Image Dehazing

                 Jean-Philippe Tarel: Fast Visibility Restoration from a Single Color or Gray Level Image

  最新的比如2013年的 Gaofeng MENG: Efficient Image Dehazing with Boundary Constraint and Contextual Regularization (国产的)

    有兴趣的朋友可以自己去研究研究。 

    我做了一个程序,集成了上述6种图像去雾的算法: 图像去雾综合版本

*********************************作者: laviewpbt   时间: 2014.1.12   联系QQ:  33184777  转载请保留本行信息************************

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT派

人脸融合?没有想象中难!

颜如玉 —— python + opencv 人脸融合程序,可实现类似天天P图疯狂换脸、face++人脸融合效果

1492
来自专栏机器之心

CVPR2018 | 摆好Pose却没管理好面部表情?腾讯优图Facelet-Bank人脸处理技术了解一下

981
来自专栏CVer

[计算机视觉论文速递] 2018-07-19 ECCV 2018专场1

近些天,CVer推送了大家投票选出最喜爱推文系列,如免费资源系列:免费资源 |《解析卷积神经网络—深度学习实践手册》,大牛分析系列:大牛分享| NTIRE 20...

1122
来自专栏AI科技评论

干货 | 论文笔记:第一人称视角视频中的行人轨迹预测

AI 科技评论按:本文为上海交通大学林天威为 AI 科技评论撰写的独家稿件,得到了其指点和审核,AI 科技评论在此表示感谢。 视频中的人体动作分析是计算机视觉研...

3456
来自专栏个人分享

机会的度量:概率和分布

  如果一个不出现,则另一个肯定出现的两个事件成为互补事件(complementary events,或者互余事件或对立事件).按照集合的记号,如果一个事件记为...

614
来自专栏媒矿工厂

基于权重图模型的VR视频比特分配方案

背景介绍 近两年来,随着视频技术的快速发展,多种视频的新型载体孕育而生。VR视频,也称作是360视频,是一种新一代的视频显示技术。用户置于球形区域的中央,可以...

2744
来自专栏CVer

大牛分享 | NTIRE 2018 图像超分辨率 CVPR Workshop优胜方案

本文属于大牛分享,这个主题是我今天想到的,其实也心念念了很久,该主题是行业里的研究者对所研究方向的一种阶段性总结。跟着大佬们学习,真的是听君一席话,甚至十年书,...

3336
来自专栏AI2ML人工智能to机器学习

易图秒懂の神经网络潜行-RNN前生

在“易图秒懂の神经网络潜行-CNN前生"里面,简述了CNN的前生Neocognitron横空出世的环境和当时的影响。 这里描述RNN的前生, 叫SRN,简单递归...

582
来自专栏大数据文摘

“未卜先知”、“自学成才”:GANs奇思妙想TOP10榜单

1313
来自专栏我分享我快乐

调色功能简单易学

很多学生问我怎么调整图片的色彩才是最好的,有什么好的方法和功能吗? 我把自己常用也是大家在第一阶段学习中就熟悉的功能再拿出来唠叨几句: 我经常用到“图像”菜单下...

2807

扫码关注云+社区