178 2016,52(1) Computer Engineering andApplications计算机工程与应用 基于改进暗原色先验模型的快速图像去雾方法 杜宏博 ,王丽会 DU Hongbo ,WANG Lihui 1.贵州师范学院物理与电子科学学院,贵阳550018 2.贵州大学计算机科学与技术学院,贵阳550025 1.School ofPhysic and Electronic Sciences,Guizhou Normal College,Guiyang 550018,China 2.School of Computer Science and Technology,Guizhou University,Guiyang 550025,China DU Hongbo,WANG Lihui.Fast image de—hazing method based on improved dark channel prior mode1.Computer Engineering and Applications,2016,52(1):178—184. Abstract:To deal with the image degradation problem induced by the haze or fog,a fast image de-hazing algorithm based on an improved dark channel prior model and tolerance mechanism is proposed.The atmosphere light is firstly estimated using dark channels,and then for calculating accurately the transmission map of the image with different scene depths,the dark channel prior model is improved by combining the interpolation and the minimum—maximum estimation methods, inallfy the de—hazing image is restored using the tolerance mechanism and atmospheric scatting mode1.The experimental results illustrate that,comparing with the original de—hazing methods based on dark channel prior,the proposed algorithm is very fast with a computation time reduced to 1/30 and effective for fog removal in both dark and light image areas.The improved dark channel prior model by combining interpolation and minimum—maximum estimation methods has a potential or real—time and frobust image de—hazing. Key words:fast image de—hazing:improved dark channel prior model;tolerance mechanism;interpolation;minimum-maximum estimatjon 摘要:为了解决雾天图像质量退化问题,结合改进的暗原色原理与容差机制提出一种快速图像去雾算法。该算法 首先基于暗原色先验估计大气参数,然后利用插值算法和最大最小估计法改进暗原色先验模型进而准确计算出不 同场景深度的透射率,最后结合容差机制基于大气散射模型恢复无雾图像 实验结果表明,相比于原有的暗原色先 验算法,该算法的计算速度可提高至少30倍,并且能够同时实现明亮与暗色区域的有效去雾,去雾图像清晰自然。 基于插值算法与最大最小估计法改进的暗原色先验去雾模型可同时保证去雾处理的鲁棒性和实时性。 关键词:快速图像去雾;改进暗原色模型;容差机制;插值算法;最大最小估计法 文献标志码:A 中图分类号:TP391 doi:10.3778/j.issn.1002—8331.150l一0122 1 引言 在雾天条件下,由于大气散射的影响,使得户外视 频装置获得的图像质量下降,目标对比度和图像色彩特 征被衰减,无法满足户外视频监测系统快速、准确提取 图像特征并进行目标识别的需求。因此,研究具有实时 图像去雾处理一直是计算机视觉领域研究的重要 内容。近年来,国内外学者在该领域开展了广泛的研 究,其方法可主要分为两类:一类属于图像增强方法,一 类为基于模型的图像复原方法。在图像增强方法中,常 性和鲁棒性的去雾图像处理算法具有重要的理论研究 意义和实际应用价值。 用的有全部或局部直方图均衡化算法u。 ,通过调节图像 灰度分布以达到增强图像整体对比度的目的。其中全 局直方图均衡化方法容易引起褪色和散斑效应,使得去 基金项目:贵州省教育厅自然科学基金青年项目(No.20090125);贵州大学人才引进科研项目(No.201333)。 作者简介:杜宏博(1984一),男,讲师,主要研究领域为图像处理及机器视觉;王丽会(1982~),通讯作者,女,博士,副教授,主要 研究领域为图像处理、医学成像,E—mail:wlh1984@gmail.corn。 收稿日期:2015.01—28 修回日期:2015-04—28 文章编号:1002—8331(2016)01—0178—07 CNKI网络优先出版:2015—07—03,http://www.cnki.net/kcms/detail/11.2127.TP.20150703.1558.010.html 杜宏博,王丽会:基于改进暗原色先验模型的快速图像去雾方法 雾效果较差。而局部直方图均衡算法虽然克服了这一 缺点,但是其计算时间复杂度较高,不利于实时处理。 基于色彩恒常理论(Retinex)的去雾算法 是现阶段图 像增强方法中的主流算法,对去除薄雾具有很好的应用 效果。随着小波技术的发展,基于小波的多尺度去雾算 法 也取得了很大进展,可以在去雾的同时,对图像的细 节起到很好的锐化作用。基于图像增强的去雾算法由于 不考虑雾天图像降质原因,因此适用范围广,能有效地突 出图像细节,提高对比度,但是容易导致图像信息丢失。 基于图像复原的去雾方法可以克服图像增强去雾 方法的缺点,它主要利用雾气的物理成因建立雾天图像 退化模型,通过模型参数估计并利用模型反演以实现图 像去雾。例如,基于偏微分方程的雾天图像复原 ,通过 求解图像梯度场和场景深度的偏微分方程进而修正图 像局部区域的对比度和色彩清晰度;基于图像景深信息 的图像复原 ,利用不同散射光的偏振特性 获得场景 深度信息,然后结合大气散射模型最终实现雾天图像复 原。这两种方法虽然可以提高雾天图像对比度,视觉效 果改善明显,但是景深信息的获得仍存在一定的局限 性,如需用户交互操作,不适合浓雾处理,难以满足实时 性要求等。为了获得适应不同浓度雾气的处理方法,基 于先验信息的雾天图像复原方法逐渐开展起来,如Tan 基于无雾图像较有雾图像对比度高的先验信息实现去 雾处理 ,该方法的缺点是复原图像颜色易出现过饱和 现象。Fattal等人利用光传播和场景目标表面遮光部分 局部不相干的假设推导出传播图像 ],进而实现无雾图 像复原,但对于浓雾区域复原图像失真较大。为了解决 上述问题,何恺明等人提出了基于暗原色先验的图像去 雾技术 ,利用图像中每个局部区域都存在最小颜色通 道的先验知识估计传播图像,结合大气散射模型实现图 像去雾。该方法对大部分图像都可以取得较好的去雾 效果,但是当场景目标的亮度与大气光相似时,暗原色 先验不成立,导致去雾失败;同时由于暗原色先验去雾 过程中,需要采用软抠图方法对透射率进行细化,因此 去雾处理时间较长。 为了克服暗原色先验去雾的缺点,近年来研究人员 提出了多种暗原色先验去雾的改进方法,如采用引导滤 波 和双边滤波 代替软抠图算法实现透射率细化,基 于领域暗原色相近特性优化透射率n ,利用几何形状约 束透射率 等,以提高去雾处理速度;利用暗原色先验 改进大气光的估计算法u ,采用容差机制改变透射率n , 以使暗原色先验适应明亮区域的去雾处理。尽管这些 方法在某一方面弥补了传统暗原色先验去雾处理的不 足,但是仍无法同时满足去雾处理的实时性和鲁棒性需 求。因此,本文基于插值算法和最大最小估计法,并结 合容差机制原理提出一种改进的暗原色先验图像去雾 算法,该算法计算复杂度低,计算速度快,对明亮区域与 暗色区域均具有较好的适应性。 2大气散射模型 大气散射模型描述了雾天图像质量的退化过程,主 要包含衰减模型和大气光模型两部分。其中衰减模型 描述了光从场景点传播到观测点的光强损失过程,大气 光模型则阐述了周围环境中各种光经过大气散射后,对 观测点所检测到的光强的影响。大气散射模型用公式 可表达为 : √)=IU(i,j)t(i,J)+ (1一t(i,.,)) (1) 公式(1)等号右侧第一项代表衰减模型,第二项为大气 光模型。其中 , )代表图像中观测点(i, )的光强,亦 即有雾图像;,。( ,,)是场景点的辐射照度,表示无雾图 像;A是为周围大气光的总强度,通常假设为常量; f( ,)描述了场景点光强的传输衰减,称为透射率或传 输图,其定义为: 嘶,,):e 烈 (2) 其中 为大气的散射系数,d(i,J)为场景点到观测点的 距离,即场景深度。 由公式(1)可知,基于大气散射模型进行去雾处理 需要从,(f, )中还原出,。( ,J): ) + (3) 可以看出,若要还原出无雾图像,需要估计出周围 大气光强度 和透射率f(f,J)。由公式(3)可知,当透射 率f(f.,)为0时;无法恢复出无雾图像,因此将公式(3) 改写为: )= I (i,j)-A+ (4) 其中,t 为透射率的最小值,本文取值为O.05。 3 暗原色先验去雾的基本原理 暗原色先验是一种经验性的统计规律,它认为在绝 大多数图像的局部区域中,某一些像素总会有至少一个 颜色通道具有很低的值,也就是说,该区域光强度的最 小值很低,几乎趋近于0。对于无雾图像,。,像素点 (i, )处的暗原色定义为 ( , ): , )= ∈{m,in( (f ,J )) (5) 每州 。 ))式中Q(f,J)代表以像素点(f,,)为中心的某一方形区域, ( ,J )为该区域的任意一个像素点,,,U(f ,J )为这个像素 点某一个颜色通道的强度值。由于公式是通过统计观 察获得的,因此将其定义为暗原色先验u 。 假设图像的某一区域Q(i,J)的透射率不变,始终等 于像素点(f,.,)处的透射率f(f,,),并且大气光强度 恒 定,则公式变为: , )=IU(i , ,J)+ (1一t(i, )),(f ,J )∈g2(i,J)(6) 对公式(6)左右两边各取最小值运算可得: ComputerEngineering andApplications计算机工程与应用 (f J )∈io(ni d)…, √ )= mi (f J,~ J)n、 ”( …f √ )f √)+ (… 、1一f √)… )(7)对公式(7)两边进行三色通道最小值运算,即: min m湖ince{rg n 1 √ ( ),,,6}a JJ ,))∈ io(id) …ce{arr in√m,,,g , 埘( √'∈口(f J) … 删… )+ A(1_t(i, )) (8) 根据暗原色先验原理可知: minmin , ):0 · (9) 吣, 删将公式(9)代入公式(8)即可通过暗原色先验获得 透射率的估计值 ,,): , l-。 ,( ) (10) , 由公式(10)估计出的透射率是在假定某一区域Q(i,J) 的透射率恒定的基础上获得的,因此是很粗略的。为了 提高精度,准确地估计每个像素点上的透射率,He提出 利用软抠图算法细化透射率。该方法计算复杂,占用内 存较大,计算速度缓慢,无法实现实时去雾。此外,公式 (10)是在暗原色先验成立的基础上推算的,然而,对于 某类特殊图像,如含有天空、偏白色物体、水面等大面积 明亮区域时,即使在无雾的条件下,它们的像素值也很 大,在某一区域内找不到像素值接近0的暗原色点,所 以暗原色先验在这些区域不成立,利用公式(10)复原的 无雾图像也是不准确的。为了克服原始暗原色先验去 雾算法的上述缺点,需对暗原色先验进行改进,以提高 算法的鲁棒性和实时性。 4改进的暗原色先验去雾原理 4.1基于插值方法快速计算透射率 为了解决图像中明亮区域不满足暗原色先验假设 的问题,本文将整幅图像看作一个局部区域,在该区域 中总存在暗原色点,进而保障了暗原色先验条件。根据 公式(8)可以推导出准确透射率f( ,I,)的表达式: 11- -1mi111n 11 1mi111n11 --; f, l— m ln mln I—=_—■一J 当Q(f,u,)为整幅图像时,则公式(11)可以简化为: 1x-mm ~i—t- c【l,‘,)、 ) 2 其中(f√)为图像中的任意一个像素点。令有雾图像 中所有像素三色通道中最暗通道的最小值所在位置为 ,n),最大值位置为(p,q),即: 』 m lm{{,,,,iisgnn,,66}),, ‘(, ,,, g)===armainxc m m{{r,,i,i ngn,,66}}‘(,, ‘( ,, ‘,) (13) 则有。: min{ ,g( ( z,n))≤ m{ in( (,6},gf, ))≤ ,6)minp,g)) (14) g,蚰( 。(为了能够保证透射率0≤f(f, )≤1, m{inⅥ6} ( , ), ,c∈…arin x.0} (f,J)和 应该满足下面的关系。 当 m in 6} (f,.,)≤ 时: m in ( , )≤吲m in6}(f,_,) , 当 minIgc(i, )> 时: ,b}minjo( , )> m{,inI。 { ,b}c(i, ) g,,g,根据有雾图像和无雾图像暗通道的上述关系,可以 利用插值方法估计无雾图像厶中每个像素点的暗通道 值.即: min 。 , ))_ m in 6}( (m,n g,町(min , (p,g))一 min 。( , )) c 町‘ m in l (15) min{ ,g,6}( ( ’,g))—— m{ing6}(, ( , )),,,. m in6)(IC(i, ))_ m in 6}(ic( ,”)) m in6 ( , , m in6} ( , )> 将公式(1 5)代入公式(1 2)中可得透射率的估计值i(i,J): ,J)= m in (F(i,j))- m in (I ̄(m,n))1一 ×!里 min , (p,g))_ min(, ( , )) , min。 {,,g,6}I(i, )‘ o_ } (f, )= (16) m in1一 _}(F(i,j)) min (F(p,q))-min(I ̄(m,n))min(IC(ij))’ !!! !!! ! ×!!! ! minin{,,( ( , )) 4 g,6)(, (f, ))——mC {,,g,6}min{,,gI(i, ) ,6}利用公式估计透射翠时,只需对有雾图像进行一次 暗通道计算,不需要透射率的细化过程,因此很大程度 上缩短了处理时间。由公式(16)可以看出: 当 (f, )< 时,若。∈{m ,in ( 。(f, ))趋近于 min f f , 11 。 b)(Ic(m,n)),t(i, )越接近于1一 ——一; 若 min )( (f, 越盱 min(, (p,g))'t(i,‘,)1。 ,町 当 m in(f, )> 时,若吲m in(, (f,‘,))越接近于 c∈{r, ,D}. c∈{,,g,D},6} 杜宏博,王丽会:基于改进暗原色先验模型的快速图像去雾方法 minc∈{r, ,D}g t(i, )黻近0 ( 。 , )) ,6) ( ( , )),C ∈{r,譬,0}m in6} 于。 6}( (p,g)),t(i, )越接近1。 通常情况下,有雾图像满足 _min 、 ( ,)< ,J m in ( (f, ))越接近_min ( , )),越有可能满足 c∈{r,g,0} c E{r, ,0} 暗原色先验条件,此时利用公式估计透射率是合理的。 min ( ( , ))的大小不仅反映了雾的浓厚程度,同时 ,也间接地说明了物体的景深大小。景深越大,雾的浓度 越大,相应的min。 ( (f, ))也越大。当arin 、(, ( , c∈…x。0} C∈… ,D} 接近吲ra inl(, (p,g))时,则说明该点属于明亮区域或者 。 是浓雾区域(远景区域),若是浓雾区域或远景区域,此时 透射率过大估计,无法实现完全去雾。当 rain ,c(f,)J 的值与 相差很小,此时f(f, )趋近于0,导致透射率过低 估计,利用公式恢复的无雾图像会出现偏色现象。而在 min 、 (f, )> 的情况下,该点属于明亮或者浓雾区 域,若是明亮区域,当吲m inmin,6} (f, )与。 {Ⅵ6}( , )) ,较接近时,说明整幅图像均较亮,此时透射率过小估计, 会导致偏色现象;若是浓雾区域,当 arin=(f,)与 Jmin ,。 ( (p,g))较接近时,透射率过大估计无法完全 去除图像中的雾。 通过上述分析可知,公式仅适合对近景区域(薄雾) 或者暗原色先验满足的区域进行去雾,而对远景区域(浓 雾区域)或明亮区域的去雾效果不理想,因此本文将利用 插值算法获得的透射率称为近景透射率,记为;,(f, )。 4.2基于最大最小估计法快速计算透射率 由于插值算法不能准确地估计明亮区域和远景区 域的透射率,本文采用另一种算法,即最大最小估计法 实现透射率的快速计算。 当ar in。 6}( (f, ))<A时,由于 min )≤ 悬6} ( ,曲ar in , 则假设: m in。 6}( , ))=m in ( ( , )) (17) 。 当 曲min ( 。(f, ))>A时,由于 印ari n6) (f, )≥ ,g_} (f, ),则假设: m删in( , ))= 埘( (p,g)) (18) 。 将公式(17)和(18)代入公式可得: 1-m in ————!.!::!! (jI  ̄(i,j))/A, min1 .一:: rain ( ( , )) {,,6)( c(… , )) : ,咖,蚰f(I√)= o. 6)(j (f, ))= (19) —1 : :—! min(ic ,m in— —( , q))/A 。。 ’,, ,( c(f, )): 4, c∈{^g,6} g,6’ 利用公式(19)估计透射率时,在 arin 、(, (f, ))< 的l ,5, , 情况下,有可能过低估计透过率;在min.、( (f, ))> 0 l ,5, , 的情况下,有可能使透过率的估计值偏高,因此引入修 正系数尼(f,,),其定义为: …( 骢(, ( ,1),c∈m {p删in (一 … )< 哪k(id)= 1, m{,,ing6)( (f, ))== 4 (20) ,1】nir1( !m in ( F(i,j))-A!! —i : ,1), ra{in,(,。(, , }f )):, 4 其中K。为明亮区域与暗色区域或者远景区域与近景区 域的临界值,即明亮区域和远景区域应满足以下条件: m in,6}( 。(f, 一Al≤ (21 本文中 取0.1。修正后的透射率表达式为: minI【一(l 1- min (I ̄(i,j))/A1 )(r( , n))/A J Jl, min{,,g,6)( (f, ))< 0,minC…,g,b}、 ( …, ) )= (22) f l1——。c Em{,r,i gn ,6}(、, 、 (f ,j))/Al 1一 mic e{r,g,b)…n ( (p,q ))/A c∈{m ,,g,b}、in (, (…f, ))> 由公式(20)可知,修正系数 ( ,J)是在rain ( ( , 0 ,5’ 满足明亮区域或者是远景区域(浓雾区域)的条件下获 得的,而在近景或者暗原色先验区域修正系数 ,,)始 终为1,仍会有透射率过大或过小估计现象,从而不能实 现有效去雾。因此由公式(22)计算获得的透射率仅适 合远景区域或者明亮区域去雾,本文将利用最大最小估 计法得到的透射率称为远景透射率,并记为t,)。o(i J 4.3 插值算法与最大最小估计法结合计算透射率 根据插值算法和最大最小估计算法各自的优缺点, 本文将这两种方法结合起来,进而形成一种能够同时准 确估计远景和近景区域透射率的算法。受文献[18]的启 发,本文引入加权系数co(i,J)重新定义透射率 ,,),即: f(f, )=co(i, ) t (f, )+(1一co(i, )) t (f, ) (23) 其中 为利用插值方法计算获得的透射率,即近景透射 率, :为采用最大最小估计法计算的透射率,亦即远景 透射率,co(i,J)为加权系数,其定义为: 1,min(I (f, ))≤,, co(i,J) (,,——t,fh ) ’‘ 、f< ‘ ‘’ ))< 、 ‘ … 24) 0,min(I ( , ))≥h, 184 2016,52(1) ComputerEngineering andApplications计算机工程与应用 Comput.Soc,2001:325—332. 短了图像复原时间。通过对比可知,与He方法相比,本 文算法速度提高至少30倍。 6结论 提出了一种改进的快速暗原色去雾处理算法,结合 插值方法和最大最小估计法实现了不同场景深度、不同 亮度图像透射率的准确估计,并利用容差机制优化透射 率,改善了暗原色去雾的偏色现象。与传统的暗原色去 【8】Tan R T.Visibiliy tin bad weather from a single image[C]// Proceedings of IEEE Conference on Computer Vision and PaRern Recognition,Anchorgae,USA,2008:1-8. [9]Fattal R.Single image dehazing[J].ACM Transactions on Graphics,2008,27(3):1—9. [10]He K,Sun J,Tang X.Single image haze removal using dark channel prior[C]//Proceedings of the IEEE Conference on 雾算法相比,该方法不仅在去雾的视觉效果上取得了明 显的改善,能够同时实现暗色区域和亮色区域的有效去 雾,保证了去雾的鲁棒性,而且省略了透射率的细化过 程,减少了计算量,很大程度上缩短了图像去雾时间,提 高了去雾处理的实时性。 一 参考文献: 【1】Stark J A.Adaptive image contrast enhancement using gen— eralizations of histogram equalization[J].IEEE Transac— tions on Image Processing,2000,9(5):889—896. [2】Xu Z,Liu X,Ji N.Fog removal from color images using contrast limited adaptive histogram equalization[C]//Pro- ceedings of the 2nd International Congress on Image and Signal Processing,Tianjin,China,2009:1-5. 【3】Parthasarathy S,Sankaran P.A RETINEX based haze removal method[C]//Proceedings of the 7th IEEE Inter— national Conference on Industrial and Information Sys· tems(ICIIS),Chennai,India,2012:1-6. [4]Rong Z,Jun W L.Improved wavelet transform algorithm for single image dehazing[J].Intenrational Journal for Light and Electron Optics,2014,125(13):3064—3066. [5]孙玉宝,肖亮,韦志辉,等.基于偏微分方程的户外图像去 雾方法[J].系统仿真学报,2007,19(16):3739.3745. [6]郭珈,王孝通,胡程鹏,等.基于单幅图像景深和大气散射模 型的去雾方法[J】.中国图象图形学报,2012,17(1):27.32. [7]Schechner Y Y,Narasimhan S G,Nayar S K.Instant dehazing of images using polarization[C]//Proceedir ̄gs of the 200 1 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Kauai,HI,USA:IEEE Computer Vision and Pattern Recognition,Miami,USA, 2009:1956.1963. [11]He K,Sun J,Tang X.Guided image filtering[J].IEEE Trans— actions on PaRern Analysis and Machine Intelligence, 2013,35(6):1397.1409. [12】Tripathi A K,Mukhopadhyay s.Single image fog removal using bilateral filter[C]//Proceedings of IEEE International Conference on Signal Processing,Computing and Control, HongKong,China,2012:1-6. [13]郭珈,王孝通,胡程鹏,等.基于邻域相似性的暗原色先验 图像去雾方法[J].计算机应用,2011,31(5):5-7. [14]Carr P,Hartley R.Improved single image dehazing using geometry[C]//2009 Digital Image Computing:Techniques and Applications,Melbourne,VIC,2009:103—110. 【1 5]Xiong Y,Yan H.Improved haze removal algorithm using dark channel prior[J].Journal of Computational Informa— tion Systems,2013,14:5743—5750. [16]Yu L,Piao Y,Yan X.Video defogging based on adaptive tolerance[J].TELKOMNIKA,2012,10(7):1644-1654. [17]蒋建国,侯天峰,齐美彬.改进的基于暗原色先验的图像 去雾算法[J].电路与系统学报,2011,16(2):7-12. [18】Narasimhan S G,Nayar S K.Vision and the atmosphere[J]. International Journal of Computer Vision,2002,48(3): 233.254. [19]吕兴永.单张图像去雾研究[D】.上海:复旦大学,2011. [2O]郭瑶,蔡自兴.图像去雾算法清晰化效果客观评价方法[J]. 自动化学报,2012,38(9):141O-1419. [2 1]Hautirre N,Tarel J,Aube ̄D,et a1.Blind contrast enhance— ment assessment by gradient ratioing at visible edges[J]. Image Analysis and Sterology Journal,2008,27(2):87—95.