基于统计直方图的单幅图像去雾算法

2016-06-08 05:48王志巍刘淑娟张有会
计算机应用与软件 2016年5期
关键词:单幅雾天原色

董 蕊 王志巍 刘淑娟 张有会 赵 晔

1(河北师范大学数学与信息科学学院 河北 石家庄 050024)2(河北省计算数学与应用重点实验室 河北 石家庄 050024)3(河北交通职业技术学院 河北 石家庄 050091)



基于统计直方图的单幅图像去雾算法

董蕊1,3王志巍1,2刘淑娟1,2张有会1,2赵晔1,2

1(河北师范大学数学与信息科学学院河北 石家庄 050024)2(河北省计算数学与应用重点实验室河北 石家庄 050024)3(河北交通职业技术学院河北 石家庄 050091)

摘要针对雾天条件下图像的对比度及色彩的饱和度等不同程度的退化现象,提出一种简单可行的单幅图像去雾算法。首先,对带雾图像的暗通道图作统计直方图分析;其次,结合后谷查找法、后峰查找法,有效划定天空区域范围;再次利用统计结果中天空部分比例最高的亮度参数,自适应地确定大气光线强度;最后利用所得数据结合雾天图像物理模型作去雾处理。实验结果表明,该算法能够有效地、自适应地判定天空范围,清晰地恢复原始图像细节,使去雾后的图像更逼近原始色彩。

关键词图像处理统计直方图天空范围判定后谷查找法后峰查找法

0引言

雾、霾等恶劣天气条件下,室外拍摄的图像会受到空气中的悬浮颗粒对大气光散射作用的影响被降质。由于图像的色彩饱和度、对比度等特征都不同程度地受到了雾气影响。因此,在准确提取图像特征、城市快速路视频监测甚至卫星遥感设备使用等方面难以得到准确的数据。所以,对雾霾图像作清晰化处理是计算机视觉领域亟待解决的问题。目前, 雾天图像清晰化处理的方法有很多,主要可以分为两个大类:第一类是基于图像增强的方法,通过对被降质的图像做增强处理来改善图像质量,利用已有的成熟的图像处理算法增强图像对比度,突出景物特征和有价值信息;第二类是基于物理模型的方法,通过研究大气悬浮颗粒对光的散射作用建立大气散射模型[1-3],了解图像退化的物理成因,反演复原出未降质前的图像。以物理模型为基础的图像复原算法,针对性强,有些方法利用多个图像或先验信息来估计景深。例如:从多个相同的场景的图像中,捕捉不同天气条件下的场景深度[4,5]、使用不同的偏振过滤器[6]、通过几何先验知识估计场景结构等[7,8]。但在实际应用中提前获取多幅相同场景图像以及相关的额外信息很困难。为克服这些缺点,单幅图像去雾算法被广泛关注。Tan[9]等人采用了对比度最大化技术,然而这种算法易造成对比度的过度增强近而产生光晕或伪影。Oakley等[10]假设整幅雾图像深度类似,用所有像素值减去相同偏移量做去雾处理。算法计算虽然简单,但当场景深度可变时,不能自适应地去除雾霾。2009年,He[11]等人利用暗原色先验,估算出单幅带雾图像中景物的透射率,结合抠图算法处理边缘,近乎完美地复原了高质量的图像。但是,在估计大气光成分A时,是通过随机选出5000幅图片,手工去除天空的部分后,再利用暗通道里最亮的像素中的0.1%的像素来确定的,该方法中并没有给出有效地划定天空区域的方法来合理、有效地确定大气光线强度。另外,由于大气光线强度的不确定,会产生某些去雾处理后的彩色图像失真问题。为此,基于暗原色的先验知识,提出一种简单可行的单幅图像去雾算法。首先,针对带雾图像的暗通道图的直方图作统计处理,得到统计直方图;然后,对统计直方图,利用后谷查找法,自适应地将天空区域与景物分离;再次,利用后峰查找法,将统计直方图中天空部分灰度值最为集中的亮度值即后峰值,估计为带雾图像的大气光强A对图像作去雾处理。根据大气散射模型,清晰地恢复了原始图像细节,使去雾后的图像更逼近原始色彩。

1相关理论

1.1雾天图像物理模型

大气粒子的散射作用是雾天图像质量下降的主要原因,模型式(1)被广泛采纳:

I(x)=J(x)t(x)+A(1-t(x))

(1)

其中:I(x)为带雾图像,J(x)为待定清晰图像,A大气光线强,t(x)∈[0,1]透射率;t(x)又被描述为:

t(x)=e-βd(x)

(2)

其中,β是大气光散射系数,t(x)随景深变化呈指数衰减。这里模型(1)中清晰图像J(x)被t(x)衰减,大气光线强度A由(1-t(x))衰减。只有I(x)已知, 而J(x)、t(x)和A均未知。所以由式(1)分析,图像去雾问题实质是如何有效确定t(x)和A,从而得到清晰图像J(x)的问题。

1.2暗原色先验

在暗物体[10]的概念的基础上, He等人提出了暗原色先验去雾方法,在图像去雾领域有了突破性的进展,算法首先统计出户外图像的一般规律,然后选取合适的滤波窗口确定一个颜色通道取得灰度极低值,定义为暗原色:

(3)

其中,Jc为图像J的第c个颜色通道,Ω(x)表示以像素x为中心的块。大量统计实验结果表明,清晰图像中:

(4)

设局部块中,透射率t(x)为常数,则式(1)可变形得到:

(5)

根据暗原色的定义,式(3)等价为:

(6)

即:首先,利用环境光线强度A 作归一化得到的雾天图像的暗原色推出透射率t(x);其次,分块确定每个局部区域的暗原色值;最后,利用暗原色先验,得到雾霾图像的暗通道图。

2天空区域的划定

在雾天场景中,由于受到大气散射作用的影响天空区域会有较高的灰度。天空部分的灰度并非恒定常值,而是有一定的变化范围。当天空范围较大时其直方图常会呈现双峰或多峰分布。沿x轴逆向观察的第一个峰,称为后峰,认为峰值所在处是天空灰度最为集中的位置,而围绕这个位置的某个邻域对应天空区域的灰度变化范围。

2.1直方图统计分析法确定天空范围

随机选取大量天空区域范围较大的雾霾图像,如:自然风景雾图或城市雾图,作出其直方图。统计结果显示,每幅直方图在靠近灰度远端的位置,都有一个近似偏态分布的凸起指示图像中天空区域的分布范围。为了避免颜色相近的景物影响对天空范围的误判,选取带雾图像的暗通道图作为参考,划定天空区域。直方图中,每个灰度值对应像素所占比例的参差不齐,造成天空范围统计上的困难,所以作出统计直方图,使峰值与谷值的位置相对明显。

定义1统计直方图

取给定图片直方图,确定其灰度范围的最大值L与最小值S,计算灰度级差R:

R=L-S

(7)

设数据分组为K,组距为:

(8)

计算各组灰度均值,将组内各级灰度值用均值替代,所得到的直方图称为统计直方图。

定义2后谷查找法

对灰度统计直方图从右向左扫描,搜索到第一个波谷位置,记为(Vmin(i),rmin(i)),其中Vmin(i)为谷值位置灰度级,rmin(i)为谷点处灰度级的像素点个数。

定义3后峰查找法

对灰度统计直方图从右向左扫描,搜索到第一个波峰位置,记为(Pmax(i),rmax(i)),其中Pmax(i)为峰值位置灰度级,rmax(i)为峰值处灰度级的像素点个数。

结合以上三个定义,可以动态、自适应地划定天空区域范围,并且进一步自适应地确定大气光线强度参数A。

2.2算法流程

步骤1利用暗通道图的统计直方图及后谷查找法,取组距h=5,作暗原色图的统计直方图,设灰度级差R∈[0,255]:

(9)

其中,R(5k+i)表示灰度值为5k+i的像素点个数,A(k)表示每5个灰度级的像素点个数均值,各灰度级像素点个数用其均值取代,作出灰度统计直方图。

步骤2对统计后的直方图采用后谷查找法,确定后谷数据,记为(Vmin(i),rmin(i)),后峰数据,记为(Pmax(i),rmax(i))。以谷点值位置的灰度值Vmin(i)为起点,取ξ∈[Vmin(i),η]确定天空范围。

步骤3在暗通道图中标记出天空区域范围,并在原图像对应点处标记出天空区域范围。

具体Matlab编写主要程序如下:

Step1读入暗通道图,取组距为5,作出其统计直方图。

a=imread(′.bmp′);

b=rgb2gray(aa);

c=imhist(b);

for i=1:5:255

m=mean(c(i:i+4));

c(i:i+4)=m;

end

plot(c)

Step2确定后谷、后峰位置。

j=1;k=1

for i=8:5:248

if c(i)>c(i+5) & c(i)>c(i-5)

f(j)=i;

j=j+1;

end

if c(i)

d(k)=i;

k=k+1;

end

end

Step3依据Step2所得参数确定的暗通道天空范围,进而划定原雾图的天空范围,η可作相应调整,本文程序中η=250。

for i=1:s

for j=1:t

if b(i,j)>d(end-1)&b(i,j)<250

aa(i,j,1)=0;

aa(i,j,2)=0;

aa(i,j,3)=256;

yuan1(i,j,1)=0;

yuan1(i,j,2)=0;

yuan1(i,j,3)=256;

end

end

end

2.3实验结果分析

根据以上算法描述,选取天安门及Mountain的带雾图像作为实验图像,判定天空区域范围(如图1所示)。以下几组实验结果的直方图中 x轴代表像素灰度值,y轴代表相应灰度值的像素点个数。

图1 统计直方图及天空范围标注图

由以上几组实验结果表明,原始雾霾图像天空区域的范围可以由暗通道图的统计直方图结合后谷查找法的数据信息准确得到,从而我们可以动态、自适应地获取天空区域,为雾霾的去除做必要准备。

3去雾应用

3.1大气光线强的选取及比较

在雾图模型式(1)中,环境光线强度A的确定,大部分图像去雾算法是利用带雾图像像素灰度简单提取。文献[13]是人工选定天空区域值,确定为大气光强度;文献[12]中利用图像最大强度值给A赋值,并在文献[14,15]中有了进一步的应用。在估计大气光成分A这个环节上,He[9]等人是随机地选出5000幅图片,用暗原色图中的前0.1%的最亮像素,手工去除天空的部分来确定其亮度值,文献[16]在去雾过程中延续了He等人的算法没有突破。

上述的天空判定算法已经利用后谷查找法自适应地确定了天空范围,当图像天空区域范围较大时:

首先,提取该图像暗通道图的统计直方图;

其次,利用后峰查找法(定义3),找到天空区域灰度值最为集中的灰度级Pmax(i)(见2.2节步骤2)。取大气光线强度A=Pmax(i),本文算法可以自适应地估算图像中的大气光线强度A,算法数据与文献[11]方法的比较如表1所示。

表1 算法数据比较

本文算法更为准确合理地推测了大气光线的强度,比文献[11]方法及最明亮像素方法更贴近景物的真实亮度,使去雾后的图像更逼近原始色彩。

3.2仿真结果及分析

本文针对多幅雾霾图像,结合VC++6.0和Matlab的优势,作了大量的去雾实验。利用统计直方图分析算法可以有效快速确定雾霾图像的天空区域范围,进一步确定大气光线强度A=Pmax(i),相比文献[11] 去雾方法,有一定的时间优势。以下通过仿真实验来验证算法的有效性和适用性。

算法实验在处理器为Intel®CoreTMi5-3230M,操作系统为Windows 7 Ultimate的计算机上利用VC++6.0编程实现。首先,分别对天安门 、 Mountain等图像进行去雾比较。通过实验比较发现,本文提出的雾天影像清晰化算法对于天空范围较大的图像,去雾效果优于基于暗原色先验统计的算法,尤其是远处景物轮廓较为清晰。图2中比较效果(b)与(c),天安门图中屋顶的细节部分及右侧远方的亭子经过去雾处理后有了更为清晰的轮廓,图像的近景和远景都得到了不同程度的增强。

图2 雾天图像处理结果

其次,在算法时间开销方面,本文算法与文献[11]和文献[17]的算法作比较,对比结果见表2所示。

表2 三种算法处理时间对比(s)

从该表可见本文算法用时最短。文献[11]由于使用了软抠图技术,用时相对较长,文献[17]用时介于其他两种算法之间。

另外,将算法用于雾中城市快速路及城市街道等图片的去雾处理(如图3所示),可提升城市快速路路标的雾中识别与车辆识别,有广泛的应用前景。文献[11]与本文算法在其他方面的应用效果图比较如图4、图5所示。

图3 城市快速路去雾效果图

图4 普通城市街道去雾效果图

图5 深圳雾色去雾效果图

4结语

本文提出一种简单、有效的基于统计分析的单幅图像去雾算法。针对雾、霾等恶劣天气条件下的退化图像进行去雾处理。与已有的雾天图像复原算法相比, 该算法有以下特点: 1)统计直方图的后谷查找法可以动态、自适应地确定雾天图像的天空范围;2) 采用暗通道统计直方图中后峰值点处的灰度值,即天空区域灰度最为集中的亮度值来确定大气光线参数A相对合理, 不需要人工交互,计算复杂度低, 实现了图像去雾的自动性、实时性;3)针对单幅图像作去雾处理,具备更为广泛的应用领域。

参考文献

[1] Narasimhan S G,Nayar S K.Vision and the atmosphere[J].International Journal of Computer Vision,2002,48(3):233-254.

[2] Narasimhan S G,Nayar S K.Contrast restoration of weather degraded images[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2003,25(6):713-724.

[3] HautiWre N,Tarel J P,Lavenant J,et al.Automatic fog detection and estimation of visibility distance through use of an onboard camera[J].Machine Vision and Applications,2006,17(1):8-20.

[4] 郭珈,王孝通,胡程鹏,等.基于单幅图像景深和大气散射模型的去雾方法[J].中国图象图形学报,2012,17(1):27-32.

[5] 郭璠,蔡自兴,谢斌,等.单幅图像自动去雾新算法[J].中国图象图形学报,2011,16(4):516-521.

[6] Shwartz S,Namer E,Schechner Y Y.Blind haze separation[C]//Computer Vision and Pattern Recognition,2006 IEEE Computer Society Conference on.IEEE,2006,2:1984-1991.

[7] Kopf J,Neubert B,Chen B,et al.Deep photo:Model-based photograph enhancement and viewing[C]//ACM Transactions on Graphics (TOG).ACM,2008,27(5):116.

[8] 张冰冰,戴声奎,孙万源.基于暗原色先验模型的快速去雾算法[J].中国图象图形学报,2013,18(2):184-188.

[9] Tan R T.Visibility in bad weather from a single image[C]//Computer Vision and Pattern Recognition,2008.CVPR 2008.IEEE Conference on.IEEE,2008:1-8.

[10] Oakley J P,Satherley B L.Improving image quality in poor visibility conditions using a physical model for contrast degradation[J].Image Processing,IEEE Transactions on,1998,7(2):167-179.

[11] He K,Sun J,Tang X.Single image haze removal using dark channel prior[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2011,33(12):2341-2353.

[12] Narasimhan S G,Nayar S K.Interactive (de) weathering of an image using physical models[EB/OL].[2010-05-10].http://ljk.imag.fr/members/Bill.Triggs/events/iccv03/cdrom/cpmcv03/31_narasimhan.pdf.

[13] Fattal R.Single image dehazing[J].ACM Transactions on Graphics,2008,27(3):1-9.

[14] Narasimhan S G,Nayar S K.Chromatic framework for vision in bad weather[C]//Proceedings of IEEE CVPR.Washington,DC:IEEE,2000,1:598-605.

[15] 甘建红,何童丽.基于色彩空间单一图像像素级去雾算法[J].计算机应用研究,2012,29(9):3591-3593.

[16] 刘巧玲,张红英,林茂松.一种简单快速的图像去雾算法[J].计算机应用与软件,2013,30(7):71-74.

[17] 黄晓军,来彦栋,陈奋.快速去除单幅图像雾霾的算法[J].计算机应用,2010,130(11):3028-3031.

SINGLE IMAGE DEFOGGING ALGORITHM BASED ON STATISTICAL HISTOGRAM

Dong Rui1,3Wang Zhiwei1,2Liu Shujuan1,2Zhang Youhui1,2Zhao Ye1,2

1(SchoolofMathematicsandInformationScience,HebeiNormalUniversity,Shijiazhuang050024,Hebei,China)2(HebeiKeyLaboratoryofComputationalMathematicsandApplications,Shijiazhuang050024,Hebei,China)3(HebeiJiaotongVocationalandTechnicalCollege,Shijiazhuang050091,Hebei,China)

AbstractUnder foggy conditions, both the contrast and colour saturation of an image will be degraded. To address this issue, we proposed a simple but feasible defogging algorithm for single image. First, we made statistical histogram analysis on dark channel of the image with fog. Secondly we scoped the range of the sky effectively in combination with last valley search method and last peak search method; Then, we adaptively determined the intensity of atmospheric light by employing once again the brightness parameter which was the highest proportion of the sky in statistical histogram. Finally, we carried out defogging processing with the derived data and combining the physical model of foggy days. Experimental results showed that the algorithm could determine the scope of the sky effectively and adaptively, and restored the details of original image clearly, thus made the defogged image be closer to original colour.

KeywordsImage processingStatistical histogramSky ranges determinationLast valley search methodLast peak search method

收稿日期:2014-08-24。河北省高等学校科学技术研究项目(Z2013061)。董蕊,讲师,主研领域:应用数学与计算机图形图像处理。王志巍,副教授。刘淑娟,讲师。张有会,教授。赵晔,讲师。

中图分类号TP391.41

文献标识码A

DOI:10.3969/j.issn.1000-386x.2016.05.049

猜你喜欢
单幅雾天原色
基于改进大气散射模型的单幅图像去雾方法
为什么在雾天不适宜进行晨练
基于图像融合的快速单幅图像去雾算法
微波辐射计对昆明雾天的监测及应用
基于稀疏表示和结构自相似性的单幅图像盲解卷积算法
基于改进暗通道和导向滤波的单幅图像去雾算法
大雾天气
一种应用于车牌检测的改进暗原色去雾算法
原色儿童村:让孩子回归自然