文档章节

数字图像去雾快速算法

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:46
字数 1141
阅读 15
收藏 0

 

 

1.简介。

          严格的来说,去雾也是对比度增强的一种。但是用常见的对比度增强以及直方图均衡的算法根本达不到良好的效果。这方面最近比较好的工作就是He kaiming等提出的Dark Channel方法。这篇论文也获得了2009的CVPR最佳论文奖。

 文章标题: single Image Haze Removal  Using Dark Channel Prior。

2. 暗通道先验的理解

          从论文的公式1可以看出,去雾模型和图像抠图在代数方程上是一致的。

    简单的说,有雾气的图像I是由清晰图像J与大气光幕A的alpha混合,混合方程如下:

             I = alpha * J + A * (1 - alpha)

    从上述方程看出,我们在仅仅知道I的前提下,要得到J,这是一个有无穷多个解的问题。

    事实上,图像处理的很多问题都是这样,当被规约为简单代数方程之后,都有无穷多个解。

    如果我们找到一些对方程中变量的先验分布,则可能得出方程的唯一解。He kaiming等

    通过对大量清晰无雾图像的统计发现这样一个事实:

         在图像的一个小的区域,至少有一个通道的最小值趋向于零。

         而图像中有雾的区域,并不满足这一规律。这个规律就是暗通道先验。

         根据这一规律,He kaiming等推导了求解透射率的公式。

         简单的说,透射率,其实就是上述方程中的 1- alpha,这个分量。

3. 优化透射率。

           作者采用暗通道求反,得到透射率的初步估计。然后,作者根据抠图模型的一篇经典文献:

           A Closed Form solution to Nature Image Matting

         中采用的方法,逐步求精,优化透射率,消除了透射率的块效应。而对大气光幕的估计,

    作者也给出了简单的思路,即直接取暗通道的最大值的99.5%。

          事实上,网上已经有matlab代码,但是在求取透射率的时候,没有优化透射率,

    所以网上的matlab代码去雾效果与作者的效果相差甚远。

4.  时间复杂度。

            算法的效果虽然比以往的算法好很多,但是计算时间很慢。尤其是在优化透射率这一步,

     对于640x480的图像,其报道的时间是需要2-3秒的时间。由于去雾是基于快的,其patch

     大小为15x15.所以其时间复杂度为O(15*15*M*N)。

5. 其它基于暗通道先验DCP的改进算法。

   5.1 基于中值滤波的改进算法(MDCP)

         算法效果一般,时间复杂度为O(log(N)),分块并行处理之后可以达到实时。

   5.2 基于半求反semi-inverse的快速去雾算法, SIGGRAPH ASIA2010

         算法非常简单,能够有效监测雾的区域并有效去雾,已达到实时的要求。

   5.3 基于双边滤波的改进算法

        这类算法基本上是咱们大陆的同胞搞的,网上有好几篇这方面的文献。由于双边滤波有O(1)时间的快速算法,所以理论上

        这类算法比He kaiming的要快很多倍。但是文献中基于双边滤波的算法都要执行两次双边滤波,所以实际上没没有想象中的快。

6. 我的改进方案。

             根据其他人改进方案的思路都在优化透射率这一步上使用快速算法,我的改进也是在这一步。我采用一种快速的边缘保持滤波算法,而这种算法只需要执行一次就可以了。当然,这种边缘保持滤波器完全可以用任意一种边缘保持滤波器取代,例如双边滤波。

             经过上述改进之后,计算时间的瓶颈在最小值滤波求取暗通道这一步之上,而我经过参数选取,图像patch的大小为3x3而不在是15x15的快。这样最小值滤波的时间小了很多,而基于快的统计指标计算可以把时间复杂度由平方项降为线性时间复杂度。

             经过上述两项的算法优化,我的浮点代码在普通PC I3机器上处理一张640x480的彩色图像的时间小于50ms。

7. 实测图片效果

  

 

 

 

 

 

本文转载自:http://www.cnblogs.com/celerychen/archive/2013/03/23/2976792.html

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
预告 | 大咖Live X 众向科技:智能驾驶中视觉技术瓶颈的思考和对策

7 月 25 日(星期三)晚上 8 点,【大咖Live】第 10 期视觉感知专场,我们邀请到武汉众向科技技术总监田岩博士,详细解析智能驾驶中的视觉计算问题。照例,本次分享对雷锋网(公众号:雷锋网)...

新智驾
07/20
0
0
海思Hi3518EV200(1)简介

1. 简介 Hi3518EV200为新一代HD IP摄像机SOC,集成新一代ISP,优化后的编码前图像处理算法和新一代H.264编码器,同时采用先进低功耗工艺和低功耗架构设计,使得Hi3518EV200在低码率、高图像质...

科技小能手
2017/11/12
0
0
机器视觉系统的“大脑”-图像处理单元简述

图像处理单元由图像处理软件完成,图像处理软件包含大量图像处理算法。在取得图像后,用这些算法对数字图像进行处理,分析计算,并输出结果。 由于机器视觉应用领域的高速发展,核心软件的竞...

gunser
04/12
0
0
手写数字识别系统之倾斜矫正

简介 倾斜校正主要有两种,一种是整体倾斜校正,另一种是局部倾斜校正。 由于本文主要研究具有不规则分布的多数字识别,因此只需要关注经过提取后的数字校正问题,也就是图像的局部校正。 矫...

ruki
2016/08/01
47
0
新兴AI解决方案将越来越依赖于嵌入式视觉技术

随着先进机器人技术和机器学习技术的涌现以及向工业4.0制造模式的转变,嵌入式视觉应用的疆土在逐步扩大。现代汽车采用的电子产品,尤其是高级驾驶辅助系统(ADAS)和车载信息娱乐系统的快速...

gunser
05/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Shell编程(expect同步文件、指定host和同步文件、构建文件分发系统、批量执行命令)

expect脚本同步文件 需求:自动同步文件 实验准备: A机器:192.168.248.130 B机器:192.168.248.129 实现: 1.A机器编写4.expect脚本文件,内容如下所示: #!/usr/bin/expectset passwd "...

蛋黄_Yolks
34分钟前
2
0
ppwjs之bootstrap颜色:背景颜色

<!DOCTYPT html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>ppwjs欢迎您</title><link rel="icon" href="/favicon.ico" ......

ppwjs
35分钟前
1
0
Ubuntu与 Fedora之对比

大家好。今天我将重点介绍两个流行的Linux发行版之间的一些特性和差异; Ubuntu 18.04和Fedora 28。它们都有自己的包管理; Ubuntu使用DEB,而Fedora使用RPM,但它们都具有相同的桌面环境(GNO...

linuxprobe16
39分钟前
2
0
线性代数入门

线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了...

牛奋Debug
昨天
3
0
开发5分钟,调试2小时 - 该如何debug?

几年来我在答疑群、论坛、公众号、知乎回答的各种问题,没有一万也有八千。其中有三分之二以上都是在帮人看报错,帮人 debug(调试代码)。 可以说,会不会 debug,有没有 debug 的意识,懂不...

crossin
昨天
4
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部