文档章节

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

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:39
字数 1515
阅读 25
收藏 1
点赞 1
评论 0

  从最开始的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  转载请保留本行信息************************

 

本文转载自:http://www.cnblogs.com/Imageshop/p/3515871.html

共有 人打赏支持
abcijkxyz
粉丝 61
博文 6195
码字总数 1876
作品 0
深圳
项目经理
DeepMind 的2017:有 AlphaGo,更有社会责任

     AI 科技评论按:今早,DeepMind 发出一篇年度总结文,盘点了 2017 年中自己在新的 AI 技术研发方面的研究成果,以及在 AI 技术的社会影响方面的所作所为。   可以说,AlphaGo 是大...

AI科技评论 ⋅ 2017/12/22 ⋅ 0

跟风Google Brain,Facebook AI研究机构启动见习项目

2015年,Google Brain公布了其帮助机器学习研究者进阶的见习项目,研究内容灵活、薪资福利又高、发展机会应有尽有,瞬间吸引了大量的申请者,其中甚至还有Node.js之父Ryan Dahl,AI科技大本营...

dqcfkyqdxym3f8rb0 ⋅ 2017/12/06 ⋅ 0

DeepMind 的 2017:有 AlphaGo 更有社会责任

今早,DeepMind 发出一篇年度总结文,盘点了 2017 年中自己在新的 AI 技术研发方面的研究成果,以及在 AI 技术的社会影响方面的所作所为。可以说,AlphaGo 是大众眼中的 DeepMind 的重头戏,...

雷锋网 ⋅ 2017/12/24 ⋅ 0

2018新年快乐!这是份值得收藏的2017年AI与深度学习要点大全

2017已经正式离我们远去~ ~ ~ 过去的一年里,感谢各位Geek朋友们的陪伴 ,也有很多值得梳理记录的内容~ ~ ~博客WILDML的作者、曾在Google Brain做了一年Resident的Denny Britz,就把他眼中的...

Janet_zyh ⋅ 01/02 ⋅ 0

DeepMind 的 2017:有 AlphaGo,更有社会责任

雷锋网 AI 科技评论按:今早,DeepMind 发出一篇年度总结文,盘点了 2017 年中自己在新的 AI 技术研发方面的研究成果,以及在 AI 技术的社会影响方面的所作所为。 可以说,AlphaGo 是大众眼中...

杨晓凡 ⋅ 2017/12/24 ⋅ 0

笔试面试集合

为一年后准备,一些面试题,笔试题 书:剑指offer TCP 三次握手,四次挥手 内存页面置换算法 可能还有各种非游戏的工作 比如给策划写导表工具 给美术写动画工具 给测试写打包工具 给策划做编...

梦想游戏人 ⋅ 2015/11/20 ⋅ 1

“谷歌大脑”年度官方总结:9个基础方向研究、6大具体领域成果定义谷歌 AI 进展

年度订阅用户可加入科技英语学习社区,每周科技英语直播讲堂,详情查看“阅读原文” 作为谷歌 AI 帝国的重要部分,谷歌大脑团队一直致力于通过研究和系统工程来推动人工智能领域的发展。去年...

DeepTech深科技 ⋅ 01/14 ⋅ 0

深度学习卷积神经网络大事件一览

  深度学习(DeepLearning)尤其是卷积神经网络(CNN)作为近几年来模式识别中的研究重点,受到人们越来越多的关注,相关的参考文献也是层出不穷,连续几年都占据了CVPR的半壁江山,但是万...

u013088062 ⋅ 2016/04/11 ⋅ 0

干货丨2017年AI与深度学习要点大全

2017已经正式离我们远去~ ~ ~ 博客WILDML的作者、曾在Google Brain做了一年Resident的Denny Britz,就把他眼中的2017年AI和深度学习的大事,进行了一番梳理汇总。 强化学习称霸人类游戏 如果...

r1unw1w ⋅ 01/03 ⋅ 0

这是份值得收藏的2017年AI与深度学习要点大全

width="auto" src="http://ss.csdn.net/p?http://mmbiz.qpic.cn/mmbizjpg/2nJNXZ0sWVYdRwYUCuU0PM1iaeia9DhlBtoJoAaeg4JXO042HchbBO7AfTAlVjx5CLSTtlicEJekmUXPGcseWqflQ/640?wxfmt=jpeg&wxf......

tkkzc3e6s4ou4 ⋅ 01/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL 数据库设计总结

规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。 注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节...

OSC_cnhwTY ⋅ 46分钟前 ⋅ 0

多线程(四)

线程池和Exector框架 什么是线程池? 降低资源的消耗 提高响应速度,任务:T1创建线程时间,T2任务执行时间,T3线程销毁时间,线程池没有或者减少T1和T3 提高线程的可管理性。 线程池要做些什...

这很耳东先生 ⋅ 53分钟前 ⋅ 0

使用SpringMVC的@Validated注解验证

1、SpringMVC验证@Validated的使用 第一步:编写国际化消息资源文件 编写国际化消息资源ValidatedMessage.properties文件主要是用来显示错误的消息定制 [java] view plain copy edit.userna...

瑟青豆 ⋅ 今天 ⋅ 0

19.压缩工具gzip bzip2 xz

6月22日任务 6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具 6.1 压缩打包介绍: linux中常见的一些压缩文件 .zip .gz .bz2 .xz .tar .gz .tar .bz2 .tar.xz 建立一些文...

王鑫linux ⋅ 今天 ⋅ 0

6. Shell 函数 和 定向输出

Shell 常用函数 简洁:目前没怎么在Shell 脚本中使用过函数,哈哈,不过,以后可能会用。就像java8的函数式编程,以后获取会用吧,行吧,那咱们简单的看一下具体的使用 Shell函数格式 linux ...

AHUSKY ⋅ 今天 ⋅ 0

单片机软件定时器

之前写了一个软件定时器,发现不够优化,和友好,现在重写了 soft_timer.h #ifndef _SOFT_TIMER_H_#define _SOFT_TIMER_H_#include "sys.h"typedef void (*timer_callback_function)(vo...

猎人嘻嘻哈哈的 ⋅ 今天 ⋅ 0

好的资料搜说引擎

鸠摩搜书 简介:鸠摩搜书是一个电子书搜索引擎。它汇集了多个网盘和电子书平台的资源,真所谓大而全。而且它还支持筛选txt,pdf,mobi,epub、azw3格式文件。还显示来自不同网站的资源。对了,...

乔三爷 ⋅ 今天 ⋅ 0

Debian下安装PostgreSQL的表分区插件pg_pathman

先安装基础的编译环境 apt-get install build-essential libssl1.0-dev libkrb5-dev 将pg的bin目录加入环境变量,主要是要使用 pg_config export PATH=$PATH:/usr/lib/postgresql/10/bin 进......

玛雅牛 ⋅ 今天 ⋅ 0

inno安装

#define MyAppName "HoldChipEngin" #define MyAppVersion "1.0" #define MyAppPublisher "Hold Chip, Inc." #define MyAppURL "http://www.holdchip.com/" #define MyAppExeName "HoldChipE......

backtrackx ⋅ 今天 ⋅ 0

Linux(CentOS)下配置php运行环境及nginx解析php

【part1:搭建php环境】 1.选在自己需要安装的安装包版本,wget命令下载到服务器响应目录 http://php.net/releases/ 2.解压安装包 tar zxf php-x.x.x 3.cd到解压目录执行如下操作 cd ../php-...

硅谷课堂 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部