衷佩玮 杨睿 孙恺琦 陈国强
摘 要:针对基于暗原色先验规律的去雾算法计算复杂度高、对图像天空区域处理不佳等问题,提出一种基于HSI颜色空间和暗原色先验原理的改进算法。首先将图像转换到HSI颜色空间,保持色调分量H不变,对饱和度分量S进行拉伸变换,乘以恢复系数;对于亮度分量I采用改进的暗原色先验模型实现去雾:引入像素高度概率函数求取大气光值;构建阙值函数,分别计算天空区域和非天空区域透射率;最后利用引导滤波对透射率进行优化。实验表明,利用该算法复原后的图像清晰,可避免颜色失真和光晕现象。运行时间较一些常用方法缩短30%以上,且对比度提高20%以上,证明该算法可行有效,可改进去雾效果。
关键词:暗原色先验;颜色失真;图像去雾;HSI色彩空间
DOI: 10. 11907/rjdk.191550
开放科学(资源服务)标识码(OSID):
中图分类号:TP317.4
文献标识码:A
文章编号:1672-7800(2020)001-0267-04
0 引言
图像去雾作为计算机视觉的重要研究内容之一,在安全监控[1]、卫星遥感[2]、城市交通[3]、目标识别[4]等领域有着重要应用。
当前主流图像去雾方法可分为两类:基于非物理模型的图像增强方法和基于物理模型的图像复原方法。图像增强处理不考虑退化因素,通过增强图像中的有用信息,削弱或去除某些不需要的信息,提高图像对比度以实现去雾[5]。常用图像增强算法包括直方图均衡化算法[6]、曲波算法[7]、同态滤波算法[8]、小波方法[9]及Retinex算法[10]等,其中以Retinex算法为代表。1964年Edwin Land[l提出色彩恒常性Retinex理论,其可在动态范围压缩、边缘增强和颜色恒常3个方面达到平衡,为解决雾天图像质量问题提供了一种新的增强方法。目前研究人员采用较多的Ret-lnex算法有单尺度Retinex( Single scale Retinex,SSR)和多尺度Retinex( Multiple scale Retinex,MSR)算法。但研究表明,根据Retinex理论输出图像存在光晕、过增强和算法复杂度高等缺陷,且会导致RCB彩色偏移为灰色,即“灰度世界被破坏”[12]。
基于物理模型的图像复原方法通过分析雾图降质的物理机理,建立雾图退化模型,最后逆向求解复原无雾图像。相比图像增强方法,基于物理模型的图像复原方法考虑雾霾对成像的影响,是真正意义上的去雾方法,具有内在优越性且更可靠。Fattal[13]假设透射率与表面投影局部不相关,计算透射率达到去雾目的,但该方法基于输入图像的统计特性,浓雾图像去雾效果不佳;He[14]在2008年提出的暗原色先验理论运用最为广泛。该算法首先利用暗原色先验粗略估计介质透过率,然后借助图像软件抠图算法对介质透过率进行细化,最后基于大气散射模型复原得到无雾图像,是目前最有效的单幅图像去雾方法之一。但该算法时间复杂度高,当存在大面积明亮区域时,该算法失效。针对这些问题,基于暗原色先验原理,学者们提出了改进算法并取得了较好结果。孙小明等[15]基于暗原色先验原理提出一种改进算法,该算法基于分块思想完成透射率的空间自适应估计,通过判断大气光强度和暗通道差值绝对值大小判断雾图中是否含有明亮区域,以获得更佳的去雾效果;张登银等[16]针对明亮区域暗通道失效情况,提出一种基于双阀值的明亮区域识别方法和透射率修正機制,提高了暗通道先验适用范围;陈书贞等[17]提出一种基于改进暗通道与导向滤波的单幅图像去雾算法,对于大面积天空或白色物体区域可实现良好的去雾效果,但其算法复杂度有待改进。
本文基于暗通道先验模型,提出一种改进的单幅图像去雾算法,先将图像RCB颜色空间转换到HSI颜色空间,对亮度分量I进行暗原色去雾,结合像素点相对高度和亮度获取合适的大气光值,在求解透射率的过程中,判断像素点在图像中的区域,运用不同的求解函数,并采用引导滤波进行优化,图像色调H则保持不变,从而有效改善图像在天空区域的失真问题,实现更好的去雾效果。
1 理论基础
1.1 大气散射模型
目前,在计算机视觉及计算机图形领域,应用最广泛的雾天图像退化物理模型是McCartney大气散射模型[18],该模型揭示了雾天图像退化机理,是实现图像去雾的主要理论依据。Naver&Narasimhan把大气对景物反射的光线影响分为大气对景物光线的衰减和环境光叠加两部分,表达式为:
I(x)=J(x)f(x)+A(1一t(x))(1)
I(x)指输入的原始有雾图像;J(x)是场景目标反射,即复原的无雾图像,指场景点光线强度;t(x)是透射率;A是大气光强度;J(x)t(x)是直接衰减项,用来描述场景点光线在介质中的衰减;A(1-t(x))是环境光增强后的光线强度,表示环境中的入射光与大气粒子发生散射作用的大气光成分,该部分会造成场景模糊和颜色失真。
根据式(1)可知I(x),去雾的目的是恢复J(x),关键在于估计模型未知参数A和t(x)。
1.2 暗原色先验
Hen引通过对大量图像的观察得出暗原色先验规律,即在无雾图像中绝大多数非天空的局部区域里,每个局部区域至少在一个颜色通道上有亮度值很小的像素点。
2 算法设计
在数字图像处理中最常用的是面向硬件的彩色模型。RCB模型并不能很好地解释人眼对色彩的理解,HSI颜色模型[19]可从彩色图像携带的彩色信息中消除强度分量的影响,独立处理饱和度和亮度通道,大幅减少工作量,是一种理想的颜色空间。基于HSI颜色模型优势,本文将在HSI空间进行图像去雾。
本文对HSI颜色空间3个分量分别进行处理,步骤包括:①保持色调分量H不变;②对饱和度分量I进行拉伸变换,乘以系数k(本文k取3),使图像色彩更加饱和自然;③对亮度分量I采用改进的暗通道先验模型进行去雾。从式(1)可以看出,复原无雾图像的关键在于对未知参数大气光值和透射率的估计。
2.1 大气光值估计方法
一般情况下大气光取值于雾最浓的天空或无穷远的区域,现有典型的大气光值估计方法[20]存在无法排除区域中较大白色近景区域的问题,针对该情况,为了更准确地估计大气光值,默认天空位于图像上部,本文根据像素点在图像中的高度判断天空区域。
2.2 透射率估计方法
为估计透射率t(x),如果直接将式(5)用于大气散射模型以求解去雾,会出现明显的块效应,而且天空区域透射率估计值往往偏小,He[14]提出采用软抠图获得更为精细的透射率插值,但软抠图算法非常耗时。为此,He[20]又提出引导滤波方法估计透射率,虽提高了透射率估计精度和效率,但依旧对天空区域处理不佳。本文先利用式(5)得到t的粗估计值,设定阈值K,通过判断每个点的大气光值与亮度分量I的差值绝对值,决定是否改变透射率。公式可表示为:
当差值绝对值小于K时,表示其为天空区域;当差值绝对值大于K时,则表示其为非天空区域。通过大量实验证明当K取值为60时,可以取得较好的去雾效果,之后再运用引导滤波[20]们对透射率进行优化。
3 实验结果及分析
为验证本文算法有效性,在雾天图像数据集中选取多幅图像进行测试,限于篇幅,本文仅选取4幅图像进行分析。实验环境为Inter(R) Core (TM) i7-6700HQ CPU@2.60GHZ,8.OGB內存,Windowsl0操作系统,实验在Mat-lab2016a平台上运行。
3.1 主观评价
将本文算法与文献[20]、[21]的算法进行对比,可以看出在不存在天空区域的图像(见图1)中,3种算法都取得了较好的去雾效果,但文献[20]、[21]经算法处理后的图像色彩都过于饱和;在存在天空区域的图像中(见图2-4),文献[20]算法和文献[21]算法的去雾效果图均存在光晕现象,且文献[21]算法的效果图出现了天空大片变暗的现象,相比之下,即便是存在大片天空区域的图4,本文算法在处理天空区域时也取得了良好的效果,去雾效果明显优于其它两种算法,且图像色彩更接近原始雾图,视觉效果真实自然。
3.2 客观评价
为了进一步验证本文算法有效性,采用运行时间、对比度、方差3个客观评价指标进一步对以上算法进行比较,结果如表l所示。
对比度和方差越大,图像越清晰可辨,色彩也越饱和鲜艳。从表1数据中可以看出,除在图1和图4中文献[20]、[21]的算法在方差方面优于本文算法,其余数据皆为本文算法最优。在图1中,3种算法的方差数据相差并不大;在图4中,3种算法的方差数据相差较大,但从图4的去雾效果可以看出,文献[20]、[21]的算法去雾效果图均出现了色彩偏移,这可能是导致其方差大于本文算法方差的原因。
综上所述,本文算法在时间效率方面具有明显优势,且在方差和对比度两个客观指标处的数据良好,取得了较好的去雾效果。
4 结语
本文解释了由于大气光值区域选取不当导致经典算法处理图像颜色失真的现象,引入像素高度概率函数,判定天空区域,通过结合像素点在图像中的相对高度和亮度值找到合适的大气光估计值;同时构建阈值函数,针对处于不同区域的像素点运用不同的透射率函数求解,最后利用引导滤波对透射率进行优化。实验表明,本文算法能有效处理天空等明亮区域,去雾后图像清晰自然,主客观评价指标均优于一些常用算法,且去雾速度明显提升。
参考文献:
[1]李颖,郑明杰.视频监控图像高速运动物体稳定特征识别仿真[J].计算机仿真,2018,35( 12):342-345+354,
[2]张正豪,冯伍法,王涛,等.一种改进的基于暗原色先验信息的航空遥感图像去雾方法[J].测绘科学技术学报,2018,35(2):182-186.
[3] 王峰萍,王卫星,杨楠,等.基于改进Retinex的城市交通图像增强 [J].交通运输系统工程与信息,2017,17(5):53-59.
[4]张骞予,管姝,谢红薇,等.基于深度特征学习的图像自适应目标识别算法[J].太原理工大学学报,2018,49(4):592-598.
[5]刘海波,杨杰,吴正平,等.基于暗通道先验和Retinex理论的快速单幅图像去雾方法[J].动化学报,2015,41(7):1264-1273.
[6] 汪志云,黄梦为,胡钋,等.基于直方图的图像增强及其MATLAB实现[J].计算机工程与科学,2006(2):54-56.
[7] 何劲,李宏伟,张群.一种自适应闽值曲波图像去噪算法[J].数据采集与处理,2010, 25(3):336-340.
[8]陈春宁,王延杰.在频域中利用同态滤波增强图像对比度[J].微计算机信息,2007(6):264-266.
[9] 马云飞,何文章.基于小波变换的雾天图像增强方法[J].计算机应用与软件,2011, 28(2):71-72+95.
[10]
PROVENZI E. FIERRO M. RIZZI A. et al. Random spray Retinex:anew retinex implementation to investigate the local properties of themodel[J]. IEEE Transactions on Image Processing, 2007, 16(1):162-171.
[11]赵晓霞,王汝琳,李雪艳.基于多尺度Retinex的雾天降质图象增强算法[J].工矿自动化,2009. 35( 10):62-66.
[12]
CHEN J,PARIS S,DURAND F.Real-time edge-aware image pro-cessing with the bilateral grid[C].ACM Transactions on Craphics,2007. 26(3):103.
[13]
FATTAL R. Single image dehazing[Jl. ACM Transactions on Craph-ics,2008,27(3):1-9.
[14]
HE K, SUN J, TANG X.Single image haze removal using dark chan-nel prior[C].IEEE Conference on Computer Vision and Pattern Rec-ognition, 2009: 1956-1963.
[15]孙小明,孙俊喜,赵立荣,等.暗原色先验单幅图像去雾改进算法[J].中国图象图形学报,2014. 19(3):381-385.
[16]
ZHANGD Y. JUM Y. WANGX M.A fast image daze removal algo-rithm using dark channel prior [J]. Acta Electronica Sinica. 2015,43(7):1437-1443.
[17] 陈书贞,任占广,练秋生.基于改进暗通道和导向滤波的单幅图像去雾算法[J].自动化学报,2016, 42(3):455-465.
[18] 吴迪,朱青松.图像去雾的最新研究进展[J].自动化学报,2015,41(2):221-239.
[19]王建新,张有会,王志巍,等.基于HSI颜色空间的单幅图像去雾算法[J].计算机应用,2014. 34( 10):2990-2995.
[20]
HE K, SUN J, TANG X.Guided image filtering [J]. IEEE Transac-tions on Pattern Analysis and Machine Intelligence, 2013, 35 (6):1397-1409.
[21]
MENG G,WANG Y. DUAN J,et al. Efficient image dehazing with boundarV constraint and contextual regularization [C]. Proceedingsof the IEEE international conference on computer vision, 2013:617-624.
(責任编辑:江艳)
基金项目:北京林业大学大学生创新创业训练项目( S201810022093)
作者简介:衷佩玮(1998-),女,北京林业大学理学院学生,研究方向为图像处理;杨睿(1998-),男,北京林业大学理学院学生,研究方向为图像处理;孙恺琦(1998-),女,北京林业大学理学院学生,研究方向为图像处理;陈国强(1997-),男,北京林业大学理学院学生,研究方向为图像处理。