Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >避免图像去雾算法中让天空部分出现过增强的一种简易方法。

避免图像去雾算法中让天空部分出现过增强的一种简易方法。

作者头像
用户1138785
发布于 2018-01-03 06:52:56
发布于 2018-01-03 06:52:56
1.8K0
举报

    在经典的几种去雾算法中,包括何凯明的暗通道去雾、Tarel的基于中值滤波的去雾以及一些基于其他边缘保留的方法中,都有一个普遍存在的问题:即对天空部分处理的不好,天空往往会出现较大的面积的纹理及分块现象。究其主要原因,还是因为天空部位基本上是不符合暗通道去雾先验这个前决条件的。目前,针对这一问题,我搜索到的主要有以下几篇文章进行了处理:

1、 改进的基于暗原色先验的图像去雾算法 作者: 蒋建国\侯天峰\齐美彬   合肥工业大学 2011

      2、Single image dehazing Algorithms based on sky region segmentation, 2013  王广义  哈尔滨工业大学(这篇文章似乎要到学校里才能下载);

      第一篇文章增加了一个可控参数K, 用来调节每个像素处的透射率:

      当|I(x)-A|<k时,认为这个区域可能是天空,重新计算透射率(增加透射率),|I(x)-A|>k处,则认为是符合暗通道先验的区域,透射率不变。

      如果K取值为0,则相当于原始的透射率公式。

      上面的做法是较为合理的,因为一般情况下大气光A的取值和天空部分应该是非常接近的,而那些符合暗通道的地方则远离天空,关于这个算法的效果,我在我的《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)一文的实例工程中已经提供了测试程序。

       第二篇文章的思路则是进行天空分割。对分割后的两部分透射率做不同的处理,那么这个的重点就在于天空特征的提取。作者原文是通过以下几个步骤来实现的。

  对这几个步骤我进行了粗陋的点评吧。

      第一步我认为最有价值,直接在原始数据判断天空不是很好做,作者观察到天空部分整体来说是比较平滑的,也就是相邻像素之间变化不大,因此用梯度来表示则更容易识别,梯度值越小则表明图像那一块越光滑。

      第二步则设定一个阈值来初步判断某处是否属于天空,这个阈值作者取的是0.02,量化到unsigned char范围则基本对应5。

      第三步对初步的边界进行下小范围的扩展。

      第四步对分割后的图的每个联通区域统计其原始图像在对应位置的像素的平均亮度,如果大于阈值T则保留,T这里作者取0.81,对应整数205左右。

      第五步取符合第四步条件的最大的联通区域作为识别的天空区域。

      第六步是为了防止一些漏检点,把在天空区域周边的一些像素在进一步进行识别,符合条件的则加到天空区域中。

      第七步是一些被完整包含在天空中还未被认为是天空的小区域添加到天空中。

     个人认为,除了第一步、第二步、第四步有必要外,其他的不需要这样处理。特别是第五步的处理会造成天空部位的漏检。比如下面的流程示意图的原图,如果用上述方式肯定会造成左上角处小部分天空完全丢失掉。另外一个问题就是,联通区域的计算还是比较耗时的。

     我的做法是: 

     1、将图像转换为灰度:这里为保留更多的边缘信息,可以考虑使用具有对比度保留功能或显著性保留功能的一些去色算法。

     2、求灰度图像的梯度信息(其实就可以用常用的一些边缘检测算子实现);

     3、对梯度信息进行适当的去噪和滤波;

     4、按照设定梯度阈值和亮度阈值对梯度信息进行区分;

     5、对区分后的图进行高斯羽化处理(可选的)。

    整个流程的示意图如下所示:

               原图

                     灰度图

                        梯度信息

             稍作去噪

                       初步天空识别

                       进行羽化

      作为对比,我们在给出几幅图的天空的识别效果:

 对于那些基本不存在天空的图,检测的结果如下:

  一片黑,因此,完全不影响结果。

      得到天空区域后,原文作者将天空区域的透射率图统一的设置成了一个固定值,我认为这样不好,还是应该根据具体的值做适当的修正。 在我上述的操作中,得到的天空去区域是一副蒙版图,某个点并不一定是完全属于天空或完全不属于。因此,我就可以根据这个值来+ 暗通道求得的值进行一下Alpha混合,如下所示:

  DarkChannel[Y]= (SkyPresrve * Sky[Y] + DarkChannel[Y] * (255 - Sky[Y])) / 255 ;    

  其中SkyPresrve就类似于论文的固定透射率值,是用户指定的,在上式中,若Sky[255],即完全属于天空,则改点的透射率即为固定值,若Sky[Y]=0,即完全不属于天空,计算式的值不变,不影响正常去雾。

      另外关于大气光值A的计算,论文提出了以获得的天空部位的像素的平均值作为A,这也是非常合理的,但是在实际处理时,针对有些完全没有天空部分的图像,可能检测到的天空区域很小(明显属于误检,但是程序不知道的),这个时候以此为大气光值,也是不合理的。为此,我的处理方式先计算天空部位计算的A值,然后在检测天空像素占整个图像的比例,如果比例小于5%,则还是以何凯明那种计算A的方式进行。

      还有一步,论文也提到了,就是这些校正的步骤都必须在refine阶段之前做,简单的说,就是需要在进行导向滤波前做。这样利用导向滤波的平滑功能,可以将天空和非天空分界部位的不平滑现象一定程度上弥补掉);

  为了提高速度,也可以采用我在何那篇论文的分析的博文中的方式,进行下采样处理,然后在上采样。

      作为对比,我们给出直接用何的方式实现的效果和用天空识别方式处理的对比效果:

                原图

                       何的去雾

                 本文结果(SkyPresrve =100)

                原图

                       何的去雾

                 本文结果(SkyPresrve =100)

                原图

                        何的去雾

                 本文结果(SkyPresrve =100)

                原图

                        何的去雾

                 本文结果(SkyPresrve =100)

                原图

                        何的去雾

                 本文结果(SkyPresrve =100)

  有以上比较可见,在保护了天空的时候,和天空交接的地方的去雾程度也适当的有所减弱。

   在论文的最后,作者也提到了去雾的图像显得比较昏暗,为此,做了一下处理:

  即在HSV空间,对V分量进行CLAHE增强,然后在转换到RGB空间,这种方式对有些图像确实有很明显的增强效果,但是有些图可能又会增强噪音,因此还是根据实际情况选择性的处理吧。

  示例程序:http://files.cnblogs.com/Imageshop/HazeRemovalWithSkyRecognition.rar

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-08-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于FPGA的图像去雾算法的实现
本文在《基于暗通道先验条件图像去雾算法》的最后段matlab的图像去雾算法的基础上对matlab代码进行转化完成verilog的FPGA图像去雾算法。
FPGA开源工作室
2019/10/29
1.9K2
基于FPGA的图像去雾算法的实现
优化的对比度增强算法用于有雾图像的清晰化处理(算法效果是我目前看到最为稳定的,且对天空具有天然的免疫力,极力推荐有需要的朋友研究)。
该文介绍了基于对比度增强的雾霾图像清晰化方法。该方法通过计算全局大气光值和透射率,对图像进行预处理。然后利用暗通道先验知识和双边滤波提取透射率图像。在透射率图像上应用对比度增强算法,并进行非线性变换,最后利用泊松方程重建清晰图像。该方法在视觉效果和客观评价指标上均优于其他对比算法。
用户1138785
2018/01/03
1.1K0
优化的对比度增强算法用于有雾图像的清晰化处理(算法效果是我目前看到最为稳定的,且对天空具有天然的免疫力,极力推荐有需要的朋友研究)。
OpenCV图像处理专栏十 | 利用中值滤波进行去雾
这是OpenCV图像处理专栏的第十篇文章,介绍一种利用中值滤波来实现去雾的算法。这个方法发表于国内的一篇论文,链接我放附录了。
BBuf
2019/12/26
8600
OpenCV图像处理专栏十 | 利用中值滤波进行去雾
基于中值滤波或双边滤波方式的图像去雾效果的研讨。
用户1138785
2018/01/03
1.4K0
基于中值滤波或双边滤波方式的图像去雾效果的研讨。
一种可实时处理 O(1)复杂度图像去雾算法的实现。
用户1138785
2018/01/03
1.2K0
一种可实时处理 O(1)复杂度图像去雾算法的实现。
暗通道去雾改进算法及实现
上次搞的暗通道去雾的算法交给老师就算是交差了,当时也就是个调研而已。前几天又被老师叫过去说还是需要720p(1280*720)图像的实时处理,看能不能再做一些优化,让我和一个职工商量着来,于是又看了两天的去雾。还是有一些进展,总结一下。
和蔼的zhxing
2018/09/04
1.9K6
暗通道去雾改进算法及实现
《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)
用户1138785
2018/01/03
2.9K1
《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)
【阅读笔记】低照度图像增强-《Fast efficient algorithm for enhancement of low lighting video》
本文介绍的是一种比较实用的低照度图像增强效果很好的方法,Xuan Dong论文《Fast efficient algorithm for enhancement of low lighting video》
AomanHao
2022/11/24
1.2K0
【阅读笔记】低照度图像增强-《Fast efficient algorithm for enhancement of low lighting video》
OpenCV图像处理专栏十七 | 清华大学《基于单幅图像的快速去雾》C++复现(有一定工程意义)
这是OpenCV图像处理算法朴素实现专栏的第17篇文章。今天为大家带来一篇之前看到的用于单幅图像去雾的算法,作者来自清华大学,论文原文见附录。
BBuf
2020/03/19
1.4K0
OpenCV图像处理专栏十七 | 清华大学《基于单幅图像的快速去雾》C++复现(有一定工程意义)
【干货】雾霾太重?深度神经网络教你如何图像去雾
编者按:本文作者蔡博仑,华南理工大学在读博士研究生。主要研究方向,机器学习,计算机视觉,图像处理等。 导读 北京城被中度污染天气包围,到处都是灰蒙蒙一片——雾霾天又来了。从11日起,雾霾天气就开始出现,根据北京环境监测中心最新预报,这一轮雾霾短期内不会明显好转,尤其是今明两天,北京空气质量维持在4级中度污染,雾霾会一直持续到本周日。 雾霾是特定气候与人类活动相互作用的结果。高密度人口的经济生产及社会活动会排放大量细颗粒物,一旦排放量超过大气循环和承载能力,悬浮颗粒受静稳天气的影响持续积聚,极易出现大范围的雾
AI科技评论
2018/03/08
2.3K0
【干货】雾霾太重?深度神经网络教你如何图像去雾
关于《半反去雾算法》一文的四宗罪。
本文通过分析一篇关于去雾算法的论文,指出了其中存在的诸多问题和不足,包括算法原理的不可靠性、计算用时的真实性、大气光值的计算不准确以及算法应用范围的局限性等问题。作者认为该论文在去雾领域存在严重的漏洞和不足,不应该被推广。
用户1138785
2018/01/03
6340
关于《半反去雾算法》一文的四宗罪。
图像处理-天空区域识别
近几年来,去雾方法得到广泛的研究,汤晓鸥等人发现无雾图像相对于雾化图像具有较高的对比度,通过最大化恢复图像的对比度来实现图像去雾,但由于该方法没有从物理模型上恢复真实的场景反射率,图像去雾后有可能出现颜色过饱和失真。 Kaiming He提出了一种基于暗通道先验的方法,即在有雾图像的特定窗中至少有一个颜色分量的值是零,该算法利用最小值滤波估算出介质传播函数,然后利用软抠图原理对估算的介质传播函数进行优化估计,达到了较好的去雾效果。软抠图需要较高计算量,很难得到实际应用。所以后来Kaiming He又提出了引导滤波法,来精细化透射率。
AomanHao
2022/01/14
7890
一年去雾算法研究的总结。
本文对去雾算法进行了研究,总结了基于暗通道先验的去雾算法、基于中值滤波的去雾算法、基于Retinex图像增强的去雾算法、基于自适应直方图均衡化的去雾算法和基于自适应对比度增强的去雾算法。这些算法在图像去雾领域有着广泛的应用,但仍有许多不足,如速度慢、效果不够理想等。为了解决这些问题,作者提出了一种基于图像透射率图快速计算的去雾算法,该算法在处理速度、图像质量等方面均有较好的表现。
用户1138785
2018/01/03
1.6K0
一年去雾算法研究的总结。
暗通道去雾算法原理及实现
基本原理来源于何凯明大神的CVPR09的论文Single Image Haze Removal Using Dark Channel Prior
和蔼的zhxing
2018/09/04
6.7K0
暗通道去雾算法原理及实现
[AI安全论文] 09.ACE算法和暗通道先验图像去雾算法详解(Rizzi | 何恺明老师)
前一篇文章详细介绍和总结基于溯源图的APT攻击检测安全顶会内容,花了作者一个多月时间。这篇文章将讲解ACE去雾算法、暗通道先验去雾算法以及雾化生成算法,并且参考了两位计算机视觉大佬(Rizzi 何恺明)的论文。希望这篇文章对您有所帮助,这些大佬是真的值得我们去学习,献上小弟的膝盖~fighting!
Eastmount
2021/12/01
2.3K0
[AI安全论文] 09.ACE算法和暗通道先验图像去雾算法详解(Rizzi | 何恺明老师)
【综述】图像去雾的前世今生
其实之前对图像去雾也没有什么深入的理解,只是了解,实现过一些传统的图像去雾方法而已。个人感觉,在CNN模型大流行的今天,已经有很多人忽略了传统算法的发展,以至于你今天去搜索10年前的传统去雾算法或许根本找不到相关资料了,或许这就是网络中的围城吧。今天周六有空来整理一下我所了解到的图像去雾技术的发展,并尝试做一个详细点的综述。
BBuf
2020/03/19
1.7K0
【综述】图像去雾的前世今生
将U-Net用于图像去雾任务,一种具有密集特征融合的多尺度增强去雾网络 | CVPR2020
论文地址:https://arxiv.org/pdf/2004.13388.pdf
AI算法修炼营
2020/07/02
3.2K0
图像处理-图像去雾
在无雾图像中,每一个局部区域都很有可能会有阴影,或者是纯颜色的东西,又或者是黑色的东西。因此,每一个局部区域都很有可能有至少一个颜色通道会有很低的值。把这个统计规律叫做Dark Channel Prior。
AomanHao
2022/01/14
3.3K0
图像处理-图像去雾
遥感图像去雾文章解读
基于暗原色先验和常见的雾霾成像模型。为了消除光环伪影,使用低通高斯滤波器来细化粗略估计的大气面纱。然后,重新定义传输,以防止颜色失真的恢复图像。该算法的主要优点是速度快,同时也能取得较好的效果。
狼啸风云
2020/08/13
1.7K0
基于深度学习的单幅图像去雾研究进展
自动驾驶、视频监控、军事侦察等户外视觉系统采集到的图像/视频极易受到恶劣天气的影响,不仅主观感受差,而且会对后续的目标检测、跟踪、分类与识别等智能化分析处理任务造成严重影响。雾霾是一种常见的图像降质因素,去雾技术通过对雾霾进行去除,可以有效提升图像的主观感受。从客观角度来看,增强后的图像有助于提升后续智能化分析处理任务的性能。因此,图像去雾成为近年来工业界和学术界的研究热点[1]。
一点人工一点智能
2023/03/01
2.9K0
基于深度学习的单幅图像去雾研究进展
推荐阅读
基于FPGA的图像去雾算法的实现
1.9K2
优化的对比度增强算法用于有雾图像的清晰化处理(算法效果是我目前看到最为稳定的,且对天空具有天然的免疫力,极力推荐有需要的朋友研究)。
1.1K0
OpenCV图像处理专栏十 | 利用中值滤波进行去雾
8600
基于中值滤波或双边滤波方式的图像去雾效果的研讨。
1.4K0
一种可实时处理 O(1)复杂度图像去雾算法的实现。
1.2K0
暗通道去雾改进算法及实现
1.9K6
《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)
2.9K1
【阅读笔记】低照度图像增强-《Fast efficient algorithm for enhancement of low lighting video》
1.2K0
OpenCV图像处理专栏十七 | 清华大学《基于单幅图像的快速去雾》C++复现(有一定工程意义)
1.4K0
【干货】雾霾太重?深度神经网络教你如何图像去雾
2.3K0
关于《半反去雾算法》一文的四宗罪。
6340
图像处理-天空区域识别
7890
一年去雾算法研究的总结。
1.6K0
暗通道去雾算法原理及实现
6.7K0
[AI安全论文] 09.ACE算法和暗通道先验图像去雾算法详解(Rizzi | 何恺明老师)
2.3K0
【综述】图像去雾的前世今生
1.7K0
将U-Net用于图像去雾任务,一种具有密集特征融合的多尺度增强去雾网络 | CVPR2020
3.2K0
图像处理-图像去雾
3.3K0
遥感图像去雾文章解读
1.7K0
基于深度学习的单幅图像去雾研究进展
2.9K0
相关推荐
基于FPGA的图像去雾算法的实现
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文