煤矿井下高清图像快速去雾算法研究
2018-11-14王启明
王启明,李 季
1(辽宁工程技术大学 电气与控制工程学院 ,辽宁 葫芦岛 125105 2(煤科集团沈阳研究院有限公司 机电安全装备研究分院,沈阳 110015 3(辽宁工程技术大学 电气与控制工程学院 ,辽宁 葫芦岛 125105)
1 引 言
随着煤矿工业的不断发展,煤矿生产的安全保障受到国家的高度重视,国家安全监察局相关规定[1],均有提及视频监控系统.加之产业技术升级,人像识别、视频采集和模式识别自动控制等设备在煤矿井下的大面积推广,图像采集、识别和利用成为了煤矿生产、运输和安全保障的重要一部分[2,3].
煤矿掘进、采煤和运输过程中会产生大量的煤尘;在掘进、采煤、钻孔、设备冷却和喷雾降尘的过程中需要大量用水;同时煤矿为了防止瓦斯积聚,防止瓦斯爆炸,通常大量使用轴流风机等通风设备,保证采煤工作巷道内的风速0.25m/s至4m/s[1],以上这些因素造成很多工作巷道内的扬尘和水雾现象非常严重.光线经过水雾折射反射严重影响了采集的图像质量[2,3],因此研究煤矿井下图像增强有重要意义.
图像去雾算法研究一直是计算机视觉领域的研究热点,目前方法主要分为两大类[4-6]:第一类属于传统图像增强,通过对降质图像进行增强,改善对比度等传统图像增强算法,突出特征和有价值信息,缺点是会有图像失真和信息损失,主要方法有直方图均衡化、拉普拉斯变换、小波变换和视网膜皮层理论(Retinex)等.第二类基于物理模型,通过研究尘雾的散射作用,建立大气散射模型,反推出无雾图像,该类算法针对雾天,信息保留较完整,主要有景深度信息去雾法、光偏振去雾法和先验知识去雾法[4-6].
近几年的研究趋势倾向于物理模型算法,尤其在He于2009年中提出暗原色先验理论去雾方法(简称He算法[7]),物理模型类去雾算法获得了突破性的进展.He[7]利用暗原色分布规律得到图像的粗略透射率图,再利用软抠图对粗略透射率图进行细化,之后依据大气散射模型反算出原图像.该方法得到的恢复图像相较其他算法在清晰度和细节上有明显提高,缺点是计算复杂度、空间复杂度较大,处理速度较慢.2011年,He针对该问题引入引导滤波[8,9]替使图像处理速度获得了一定提高.
在井下图像去雾算法开发过程中,发现He引导滤波算法在处理小幅图(480×320)时速度很快,在处理高清图像(分辨率1280×960,后文简称960P)过程中时间明显延长.本文针对煤矿井下高清图像,利用插值法[13]配合引导滤波高速获得粗透射图,使用canny算子提取原图边缘加上使用原图做加强引导图,获得边缘权重引导图,再对粗透射率图作引导滤波细化,在保证去雾速度的同时提高边缘对比度,设定了大气值估算方法,设计了一种针对煤矿井下环境的高分辨率图像去雾算法.
2 相关原理
2.1 尘雾图像物理模型
在尘雾环境下,通常使用Narasimhan[10-12]等提出的大气散射模型来描述图像,在计算机视觉中可以表述成下述模型:
I(x)=J(x)t(x)+A(1-t(x))
(1)
其中I(x)为观测图像即尘雾图像,x为二维空间坐标值,J(x)为场景反射强度即无雾图像,A是大气光强即背景光值,t(x)是透射率,可以表达为
t(x)=e-βd(x)
(2)
其中β为大气衰减系数,d(x)为场景到观测点距离即景深,经过处理变形为下式:
(3)
由公式(3)可知,当透射率t(x)为0时,无雾图像无法恢复,因此将公式(3)改写后,最终得到图像恢复公式如下:
(4)
其中,t0为最小透射率,本文取值是0.05,I(x)是我们采集到的带雾图像,J(x)是恢复后的无雾图像.
2.2 暗原色先验原理
He提出的暗原色先验理论[7]是一种经验性统计规律,是指在非天空域像素在某个原色通道的值趋近于0,这种规律被称为暗原色先验.其表达式如下:
(5)
Jdark→0
(6)
其中JC表示彩色图像的每个通道,Ω(x)表示以像素x为中心的一个矩形窗口.根据暗色先验证原理(5)(6)和尘雾图像模型(1),可以推导出尘雾图像的初步透射率图如下.假设每一个窗口内透射率t(x)是常数,定义他为t(x),当大气光值A值已经给定时,对式(1)变形,并两边求两次最小值运算,得到下式:
(7)
(8)
如上所述,上边C表示R/G/B三个通道的意思.上式中,J是待求得无雾图像,根据前述的暗色先验理论有:
(9)
因此,可推导出:
(10)
带入得到
(11)
这是透射率 的预估值 ,现实中需要保留一定的雾,所以引入一个在[0,1],之间的因子,修正为
(12)
煤矿井下照明差,存在大量暗色岩石与设备阴影,在不考虑少数照明灯源的情况下,井下没有天空域存在,适合采用该原理进行.
2.3 引导滤波算法
引导滤波[8,9]是一种需要引导图的边缘保持性滤波器,可以用于图像重建、滤波和保边操作等.滤波器的输出图像q和引导图I、输入图像p有关,其中I和p是给定值,q与I在窗口ωk的存在局部线性关系.引导图与输入图预先设定,引导滤波假设在输入图像I与滤波输出图q间是线性关系,在以k为中心的窗口中存在以下局部线性关系:
qi=akIi+bk,∀i∈ωk
(13)
其中q是输出图的像素值,i,k是图像像素索引,a和b是窗口中心为k点时的线性函数系数.实践过程中,像素很可能会被多个滤波窗口包含,需要将所有包含该点的线性函数加权平均得到如下:
(14)
其中,ωk是所有以k为中心,包含像素i的窗口.
3 煤矿井下暗原色去雾算法改进
3.1 暗原色通道算法缺陷
在matlab环境中,使用He引导算法[7]对煤矿井下图像进行处理过程中,发现在处理高分辨率图像(高清图960P以上)时,运算时间大幅度增加.
经研究发现He引导滤波算法缺陷的原因在求窗口暗通道值(8)(9)过程中,暗原色窗口迭代,在大图像上计算量大幅度增长所导致,这个问题严重影响了He算法在高清图像上的实用性.
3.2 插值法快速计算暗通道值
为了提高暗原色图获取速度,利用缩放法降低采样率的办法提高暗通道图获取速度,将原图缩放至1/16,用公式(10)求取小图的暗通道图,再放大至原图(图1左)大小并利用双三次插值[13]获得大图暗通道图,并根据公式(12)获得粗透射图(图1右).
缩放过程中会造成部分透射图边缘细节丢失,需要进一步进行优化才能使用.
图1 井下带雾图像和缩放后获得的粗透射图
3.3 CANNY算子结合引导滤波优化引导图
所以为了提高边缘在整个暗原色图中的权重,不直接使用灰度图作为引导图来进行透射率优化,利用CANNY算子[14]对原图像灰度图求边缘,达到降低部分噪声并强化边缘的作用,获得边缘图后利用引导滤波公式(13)(14)以边缘图作为引导图对原灰度图进行引导滤波获得边缘加强引导图(图2左)
3.4 使用边缘强化导向图细化透射率图
使用(13)(14)公式,使用边缘强化引导图,细化粗透射图,针对在缩放过程中损失的边缘部分进行优化,得到边缘强化透射图(图2右).
图2 边缘强化引导图和边缘强化透射图
3.5 大气光估计值
图3 去雾图
环境光值A的估计[2,15],原方法中是利用图中雾最浓或者最不透明区域的像素得出.也有直接采用像素亮度最高值估计的,常规方法步骤如下:
图4 流程图
1)计算并获得暗原色图;
2)取暗原色图中按亮度的大小取前0.05%的像素;
3)在这些位置中寻找最高亮的值 或最小值 或者用这部分像素亮度的平均值作为环境光值A.
在煤矿环境中有部分灯光照明存在高亮区域或者灯光反射造成的小块高亮区,环境光值估算使用常规方法,需要设置环境光值的最高限定值,否则会出现偏色,本文中设定的环境光值A最高设定为220.
3.6 图像恢复
使用边缘强化的透射率图,由尘雾退化模型公式(4)进行图像恢复,获得去雾图(如图3).本文去雾算法流程如图4.
4 去雾算法验证
为了证明本文算法有效性和实时性,使用本文算法、He引导滤波算法、基础Retinex算法、Tarel[16]算法,进行去雾实验对比对比,从去雾图像的质量主观、客观指标和时效性,三方面进行测试.
本文提出的算法在笔记本电脑上实现,试验程序环境为matlab R2014a,硬件处理器为INTEL CORE I5-5200U 2.20GHz,内存16G,系统为WIN7 64位旗舰版,利用实现本文算法.
4.1 去雾效果的主观评价
针对煤矿井下有雾图像进行去雾处理,效果图如下:从以下各算法去雾结果可以看出,在煤矿井下大多数情况,He引导算法都可以取得良好的视觉效果;Tarel算法的雾在主观感觉上并没有完全去除,基础Retinex算法结果存在很严重的偏色现象,本文算法与He引导算法结果相近,在细节上更加突出.
图5 各算法去雾效果图
4.2 去雾效果的客观量化评价
为了客观地评价本文算法的性能,采用基于可见边对比度增强方法[15,17]来比较本文算法、Retinex算法、Tarel[16]原算法的优劣.常用评价指标抓标包括新增可见边之比e,可见边的规范化梯度均值γ以及饱和黑色和白色像素的百分比σ,定义如下[15,17]为
(15)
(16)
(17)
其中n0是有雾图像I可见边数目,nr是去雾图像J可见边数量,Ωr是去雾图像J中可见边集合,Pi是去雾图像J中的可见边像素点,ri是去雾图像在Pi处的Sobel梯度比值,ns是饱和黑色或白色像素点数目,dimx和dimy是图像的宽和高.在去雾效果评价中,e和γ的值越大越好,σ值越小说明去雾效果越好[17],根据公式(15-17),实验数据如表1.
从以上数据可以看出,本实验算法在可见边数量和平均梯度上,相对于He引导算法有明显提升.
4.3 运算时间
在表中对比了He引导滤波算法、本文算法、Tarel原算法和Retinex基础算法,在960P情况下5张图片的处理时间,Tarel文献[16]中有大量的优化判断和Windows Mex调用,导致运算时间特别长,Retinex算法是最基础算法,没有优化所以运行速度最快,图片严重偏色,本文算法在保证图片质量,提高图像细节的情况下,提高了运算效率,运行时间如表2所示.
表1 不同算法去雾指标对比
表2 算法运算时间对比图(时间单位:秒s)
5 结 论
本文主要是针对He的暗原色先验原理在大分辨率图像上出现的运算时间大幅度增加问题,提出了一种用于煤矿井下结合缩放插值、CANNY边缘强化和引导滤波的高分辨率图像快速去雾算法.从主观评价、客观量化评价和运算时间三方面进行了各种算法的比较实验,仿真结果证明了本文算法有效改善了He引导算法在高清图像的运算效率,强化了部分边缘特征,可以有效的使用在煤矿高清图像去雾工作上.