张鲁松,张寿明
(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)
我国是电力生产大国,在热电厂锅炉运行中,尤其是在锅炉的点火与灭火环节,极易发生由于火焰检测不当、煤粉与油供给量不平衡而导致的灭火与“放炮”等恶性事故,轻则导致机组停机影响发电质量,重则会导致炉膛爆炸等危及人身安全的事故[1]。为了保证发电环节能安全高效地进行,大型热电厂均配置炉膛安全系统(Furnace Safeguard Supervisory System,简称FSSS)。其替代了原始的窥火孔人工观察火焰的模式,做到可以实时清晰地观察炉膛内煤粉与燃料的燃烧情况。
基于火焰电视的炉膛火焰检测系统,使炉膛监视工作更为安全,减少了人工定期巡查作业,减少了安全隐患,并且相比较传统人工监视方式,通过火焰电视监视的方式更加直观全面。但炉膛周围的工作环境以及炉膛内煤粉与燃油的复杂燃烧会使基于 CCD工业相机的炉膛火焰电视系统在采集图像与视频的同时产生大量的图像噪声,震动与煤粉颗粒以及燃烧结焦产生的图像缺失、图像模糊以及煤粉燃烧时闪烁产生的脉冲噪声会大大影响炉膛火焰的监视工作[2-3]。
炉膛火焰图像相比较传统火焰图像有高温区与低温区边界不明显、高温区“火云”形状变化快且随机性强的特点,为使计算机可以对图片细节完整、图片内容丰富的火焰图像进行分析,因此需要对火焰电视采集的原始火焰图像进行噪声滤除处理,为使计算机可以从噪声图像中获得更多的图片信息,国内外对噪声滤波[4-6]与噪声图像的边缘提取进行了广泛研究[7-10]。本文通过matlab仿真实现ABDND算法并对典型煤粉燃烧灰度图像进行滤波实验,实验结果表明滤波后图像细节保留完整,噪声滤波效果良好。
设由摄像头采集的图像为I(x,y),I(x,y)是由原图像 f ( x, y)与噪声 n ( x, y )叠加形成,假设 n ( x, y )内元素都不相关且均值为零,则采集图像 I( x, y )可表示为:
在Δt时间内采集M帧图像,对M帧图像求平均值,可得到Δt时间内的平均图像 I( x, y )可表示为:
其中 Ij(x,y) 为第j帧采集的图像, WJ表示权值参数。
邻域平均法是一种线性滤波算法,邻域平均法又被称为均值滤波。算法实现方法是使数字图像内像素点的灰度值等于该点邻域内像素点的平均灰度值。设 f(x, y)是一幅m×n的数字图像的灰度图像,经邻域平均法处理后的图像为g(x, y ),则g(x, y )可表示为:
其中,S为像素点(x, y )为中心邻域内像素点的集合,M表示集合S内像素点的个数。
中值滤波是基于排序统计理论的一种可以有效抑制噪声的非线性滤波算法,以灰度图像为例,其基本原理是将数字图像或数字信号中一点的灰度值用该点领域中各点灰度值的中值代替,使周围像素的灰度值接近真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板(通常为ww×的方形区域),将模板内的像素灰度值大小进行升序或降序排列,生成二维单调上升(或下降)的二维数据序列,设()g.xy为输出后图像,则可表示为:
其中f ( x, y)为原图像,w为二维模板的边界值。
自适应中值滤波算法在中值滤波法的基础上增加了滤波窗口大小调节算法,使其可以先检测噪声像素再对噪声进行滤波。设 WT为当前中值滤波窗口的边缘值, fxy为像素点(x, y )处的灰度值, fmax为滤波窗口 WT内所有像素点的灰度值的最大值, fmin为滤波窗口 WT内所有像素点的灰度值的最小值,fmed为滤波窗口 WT内所有像素点的灰度值的平均值, Wmax为滤波窗口 WT的边缘最大值, Wmin为滤波窗口 WT的边缘最小值,具体实现算法如下:
当M1>0、M2<0时,算法步骤由步骤(1)转为步骤(2),否则,滤波窗口 WT的边缘值增大,若满足 Wmin≤ WT≤ Wmax,则重复执行步骤(1),否则窗口输出灰度值为fxy,当N1>0、N2<0时,则输出窗口灰度值为 fxy,负责输出灰度值 fmed[11-12]。
综上所述经典滤波算法中,多帧平均法在实际应用中会因为帧数增多而影响处理速度,并且煤粉在炉膛内燃烧时煤粉燃烧火焰的变化频率高、随机性高等特点使多帧平均法并不适用于炉膛火焰脉冲噪声滤除。邻域平均法虽然算法简单且处理速度快,但其不足是经邻域平均法处理后的图像边缘会不完整且变得模糊,图像细节不能很好地保留。中值滤波法是应用较为普遍的脉冲滤波算法,自适应中值滤波算法在中值滤波算法的基础上做出改进,滤波效果更佳,本文以自适应滤波算法与ABDND算法进行滤波仿真实验并对滤波结果进行对比。
ABDND(advanced boundary discriminative noise detection algorithm)是由A.K. Tripathi等人提出的一种基于自适应开关中值滤波算法(ASMF)[13]与边缘鉴别噪声检测算法(BAND)[14]的改进算法,其不仅可以准确判断噪声像素,还可以准确检测随机脉冲噪声。ABDND算法主要由三个噪声处理阶段组成,阶段一为噪声像素检测阶段;阶段二为噪声像素核实阶段;阶段三为噪声像素滤除阶段[15]。其具体实现过程如下:
(1)噪声像素检测阶段
1. 获取图像所有像素点的灰度直方图,并对每个像素点相邻像素点的灰度值直方图数值做减法处理处理,得到差值序列ΔiD :
2. 根据差值序列ΔiD,得到差值中的正最大值和负最大值,根据公式(8)确定判断噪声像素的两个边界1T和2T:
3. 采用边界尺寸大小为w×w的滤波窗口对图像像素点进行遍历(本文中设定W=11),滤波窗口的中心点覆盖于待检测像素点,并统计该窗口内像素点的最大灰度值 Smax和最小灰度值 Smin,根据式(9)得到滤波图像的噪声标识矩阵 r(i, j),初步判断该像素点是否是噪声像素。
其中, si,j是图像中点(i, j)的像素灰度值,r(i,j)=1表示该点被初步判定为噪声像素点,r(i, j ) =0表示该点不是噪声像素点。
(2)噪声像素核实阶段
对于临时噪声像素作以下算法处理:
1. 以临时噪声像素点为中心,取边界尺寸大小为w×w的窗口,设w远小于W(本文中设w=3),随后统计窗口中非噪声像素点的数量 df,若df>w,计算窗口内所有非噪声像素点与中心临时噪声像素点的像素差值,其和值记为 S,随后执行步骤3);如果df≤w ,执行步骤2)。
2. 令 w=w+2,执行步骤 1),滤波窗口的长度逐步递增 2,但需保证滤波窗口的长度最大值小于等于W。
3. 结合图像的最大像素灰度值MAX、最小像素灰度值MIN以及点(i, j)的灰度值 si,j,确定阈值T3。若S小于 T3,则认为该点为非噪声像素点,同时在噪声标示矩阵 r(i, j)中修改为 r(i, j ) =0;反之,则该点是噪声像素点,保持矩阵 r(i, j) 中该点的灰度值不变。
4. 将w×w滤波窗口移至下一个临时噪声像素点,按照步骤 1-3判断下一个噪声像素点是否是噪声像素,对所有临时噪声像素点逐一判断,排除非噪声像素点到最终的噪声像素点。
(3)噪声像素滤除阶段
经过阶段一和阶段二的检测与核实后,整个图像的像素点被分为噪声像素点和非噪声像素点(信号像素)两类。对于非噪声像素点,无需滤波,保持其灰度值不变即可;对于噪声像素点,需利用滤波窗口中的非噪声像素点进行中值滤波,具体过程如下:
对图像中任意噪声像素点(i, j),以该点为中心,采用大小为N×N的滤波窗口,将窗口内所有非噪声像素点的集合定义为集合 Ei,j。
对 Ei,j中灰度值进行升序排列,得到集合 FI,J,并提取集合 FI,J中像素点的排序中值 Mi,j。滤波后Ei,j中不存在噪声像素点,只保留了非噪声像素,降低了噪声像素对滤波结果的影响。
本文以matlab 为实验工具,对两副600 MW热力发电锅炉火焰电视采集的煤粉燃烧火焰图像的灰度图像为实验对象进行滤波处理,其中 3.1中实验图像为锅炉启动阶段时采集且经灰度变换后图像,其中炉膛内燃烧器为浓缩型 EI-XCL燃烧器,与高负荷运行的锅炉相比,该图像可清晰看到点火枪的燃烧状态;3.2中实验图像为炉膛低负荷运行状态(图像采集时的炉膛负荷为396 MW)时采集且经灰度变换后图像,相比较 3.1中图像,该图像提供的图像细节较为简单。
本章以 600MW 热力发电锅炉启动阶段火焰电视采集的煤粉燃烧火焰图像的灰度图像为实验对象,分别对该图像添加噪声方差0.3与0.6的椒盐噪声,利用自适应中值滤波算法与ABDND算法分别对添加噪声后图像进行滤波处理。
对图1(a)中启动阶段煤粉燃烧灰度图像添加噪声方差 0.3的椒盐噪声,并利用自适应中值滤波算法与ABDND算法对其进行滤波处理,实验结果如图2所示。
图1 启动阶段煤粉燃烧灰度图像&其灰度值分布直方图Fig.1 Pulverized coal combustion gray image during start-up & Gray value distribution histogram
图2 添加噪声方差0.3的椒盐噪声后图像&滤波后图像滤波结果&灰度值分布直方图Fig.2 Add a noise variance of 0.3 after the image & Algorithm filtering results & Each Gray value distribution histogram
实验结果显示,在噪声方差为 0.3时,中值滤波算法滤波后图像噪声像素明显减少,但相比原图像仍存在噪声像素,ABDND算法滤波后图像基本不存在噪声像素,滤波后图像的灰度值分布直方图基本与原图灰度值分布直方图基本吻合。
对图1(a)中启动阶段煤粉燃烧灰度图像添加噪声方差 0.6的椒盐噪声,并利用自适应中值滤波算法与ABDND算法对其进行滤波处理,实验结果如图3所示。
实验结果显示,当噪声方差增大到0.6时,自适应中值滤波算法滤波后图像仍存在大量噪声像素,滤波后图像灰度值分布直方图在最大灰度值像素的数量分布上与原图直方图相差较大,而ABDND算法滤波后图像滤波效果远优于自适应滤波算法,滤波后图像灰度值分布直方图与原图基本吻合。
本章以 600MW 热力发电锅炉运行阶段阶段火焰电视采集的煤粉燃烧火焰图像的灰度图像为实验对象,分别对该图像添加噪声方差0.3与0.6的椒盐噪声,利用自适应中值滤波算法与ABDND算法分别对添加噪声后图像进行滤波处理。
图3 添加噪声方差0.6的椒盐噪声后图像&滤波后图像滤波结果&灰度值分布直方图Fig.3 Add a noise variance of 0.6 after the image & Algorithm filtering results & Each Gray value distribution histogram
图4 运行阶段煤粉燃烧灰度图像&灰度值分布直方图Fig.4 Pulverized coal combustion gray image during furnace operation & Gray value distribution histogram
对图4(a)中启动阶段煤粉燃烧灰度图像添加噪声方差 0.3的椒盐噪声,并利用自适应中值滤波算法与ABDND算法对其进行滤波处理,实验结果如图5所示:
图5 添加噪声方差0.3的椒盐噪声后图像&滤波后图像滤波结果&灰度值分布直方图Fig.5 Add a noise variance of 0.3 after the image & Algorithm filtering results & Each Gray value distribution histogram
实验结果显示,在噪声方差为 0.3时,中值滤波算法滤波后图像噪声像素明显减少,但相比原图像仍存在噪声像素,且噪声像素分布明显,ABDND算法滤波后图像基本不存在噪声像素,滤波后图像的灰度值分布直方图与原图灰度值分布直方图基本吻合。
对图4(a)中启动阶段煤粉燃烧灰度图像添加噪声方差 0.6的椒盐噪声,并利用自适应中值滤波算法与ABDND算法对其进行滤波处理,实验结果如图6所示。
实验结果显示,当噪声方差增大到 0.6时,自适应中值滤波算法滤波后图像仍存在大量噪声像素,但由于原图灰度值分布直方图中灰度值分布较密集,滤波后图像灰度值分布直方图与原图直方图虽存在差异,但不明显,而ABDND算法滤波后图像滤波效果远优于自适应滤波算法,算法滤波后图像虽存在噪声像素,但噪声像素点较少,滤波后图像灰度值分布直方图与原图基本吻合。
本章通过对两幅不同运行状态的炉膛煤粉燃烧图像的灰度图像添加两种不同方差的椒盐噪声,并对噪声图像利用自适应滤波算法与ABDND算法进行滤波处理,直观地反映了两种算法的滤波效果,实验结果显示,相比较自适应滤波算法,ABDND算法在火焰灰度图像噪声滤波中效果良好
本章通过计算原灰度图像、中值滤波算法滤波后图像与ABDND算法滤波后图像的标准差来客观评定两种算法,滤波后图像的标准差越接近原图像,则说明算法滤波效果越好,具体计算方式如下:
图6 添加噪声方差0.6的椒盐噪声后图像&滤波后图像滤波结果&灰度值分布直方图Fig.6 Add a noise variance of 0.6 after the image & Algorithm filtering results & Each Gray value distribution histogram
其中I(i,j)为图像 I(x, y )中的某像素点,M与N为图像的长和宽,W为图像均值,б为图像标准差。经过计算统计后,两种滤波算法的滤波后图像标准差如表1与表2所示:
表1 炉膛启动阶段图像标准差&滤波后图像标准差Tab.1 Standard deviation of pulverized coal combustion gray image during start-up & Filtered image standard deviation
从表1与表2的标准差计算数据中可以对比看出,对于炉膛启动阶段煤粉燃烧灰度图像,当噪声方差大小为 0.2时,两种算法滤波后图像标准值接近原图标准值,但当噪声方差增大时,中滤波算法滤波后图像的标准差异与原图标准差的差值开始增大且增大幅度较大,而 ABDND算法滤波后图像标准差仍接近原图标准差,当噪声方差增大到0.5时,滤波后图像标准差开始增大但幅度较小;对于炉膛运行阶段煤粉燃烧灰度图像,由于图像较为简单灰度分布较为集中,中值滤波算法滤波后图像的标准差相比原图像差值较大,滤波结果不理想,ABDND算法滤波后图像在噪声方差大小为 0.3及小于 0.3时的图像标准差接近原图,但当噪声方差从 0.3开始增大后其滤波后图像标准差与原图相比差值开始增大,但增大幅度较小。
图7 炉膛启动阶段图像%滤波后图像标准差折线分布图Fig.7 Sandard deviation of pulverized coal combustion gray image during start-up &Filtered image standard deviation line profile
表2 炉膛运行阶段图像标准差&滤波后图像标准差Tab.2 Standard deviation of pulverized coal combustion gray image during furnace operation & Filtered image standard deviation
图8 炉膛运行阶段图像%滤波后图像标准差折线分布图Fig.8 Standard deviation of pulverized coal combustion gray image during furnace operation & Filtered image standard deviation
本文通过列举经典滤波算法以及ABDND算法的具体实现方法,对比其算法实现过程,并利用matlab对应用广泛的自适应滤波算法以及ABDND算法进行编译实现,通过对两幅不同运行阶段的炉膛煤粉燃烧灰度图像进行添加噪声与滤波处理,经过滤波效果图直观对比与标准差数据的客观对比后得出结论:ABDND算法可良好完成炉膛火焰图像在高噪声密度环境下(噪声方差小于等于 0.5)的图像滤波工作,为炉膛监控系统提供清晰的实时图像,且图像细节保留完整,可保证炉膛的稳定安全运行。
[1] 张欣, 火电厂煤粉锅炉燃烧状态只能监测与评判研究[D].保定: 华北电力大学, 2009.
[2] 刘芳, 基于数字图像处理的炉膛火焰检测及燃烧诊断系统研究[D]. 西安: 陕西科技大学, 2008.
[3] 李保根, 600MW火力发电机组培训教材(锅炉篇)电厂锅炉设备及系统 [M]. 云南: 滇东能源, 2008.
[4] 张晓青, 田书榕, 肖芦洋, 等. 基于Simulink 的外调制微波光纤延迟线噪声分析[J]. 软件, 2013, 34(1): 79-81.
[5] 王佳飞, 张强, 彭向伟. 一种基于ZSP800 核改进型LMS自适应滤波算法的实现[J]. 软件, 2013, 34(12): 139-141.
[6] 王赛男, 邢冬梅. 基于MATLAB 的小波阈值滤波与应用[J]. 软件, 2015, 36(10): 102-104.
[7] 刘闻, 别红霞. 基于蚁群算法的噪声图像边缘检测[J]. 软件, 2013, 34(12): 256-259.
[8] 陈国强. 基于GPU 的图像处理算法研究[J]. 软件, 2014,35(2): 135-136.
[9] 林王兵, 许燕, 韩飞, 吕超贤, 龚佳俊等. 实验室环境下的边缘检测技术研究综述[J]. 软件, 2015, 36(9): 29-32.
[10] 钟彩. 边缘检测算法在图像预处理中的应用[J]. 软件,2013, 34(1): 158-159.
[11] Chang C C, Hsiao j Y, A adaptive median filter for image denoising[J]. IEEE. Washington DC:IEEE Computer society,2008:346-350.
[12] Huang T S, Zhang G T, A Fast Two Dimentional Median Foltering Algorithm[J]. EE. Trans. Acoust. Speech, Sig.Proce, 1979: 13-18.
[13] Nallaperumal, K., Varghese, J., Saudia, S.: Salt&peppr impulse noise removal using adaptive switching median filter.Proc. IEEE Oceans, Asia Pacific, Singapore, 2006.
[14] Ng, P. E., Ma, K. K.: ‘A Switching median filter with boundary discriminative noise detection for extremely corrupted images’, IEEE Trans. Image Process. , 2006, 15, (6),pp. 1506–1516.
[15] A. K. Tripathi U. Ghanekar S. Mukhopadhyay, (Y)Switching median filter: advanced boundary discriminative noise detection algorithm IEY Image Processing, 2010.