基于数字图像处理的液位测量系统的研究与实现

2018-07-31 11:10羊冰清张周燕朱小良
电力工程技术 2018年4期
关键词:水位计液位边缘

羊冰清, 张周燕, 朱小良

( 东南大学能源与环境学院,江苏 南京 210096)

0 引言

液位是火电机组的重要热工信号,为保障火电机组相关设备的安全运行,指示直观的基地式液位仪表必不可少,如双色水位计、云母(玻璃)水位计、磁翻板液位计[1]等,但这类仪表需巡检人员就地读数。随着智慧电厂的不断发展,对基础设备的数字化也提出了更高的要求[2],利用数字图像处理技术远程监视并自动得到仪表的液位数值具有重要的意义。

在液位图像检测中,孙斌等人[3]采用双线性插值、最小误差阈值分割、高斯拉普拉斯算子(Laplacian-of-Gaussian,LoG)边缘检测和横竖端点寻线得到水位计的液位;冯广[4]等人提出了一种改进的各向异性扩散滤波算法,结合图像畸变矫正和自动亮化,实现了液位的自动读数;戚龙等人[5]利用线性平滑滤波、Otsu阈值化和Harris角点检测识别丙烯生产过程的异常液位;Fernanade等人6]通过曲线拟合分界面的灰度变化,并将变增益自适应算法应用于混合沉降罐的液位检测。

但在实际应用中,由于摄像头的拍摄范围较大,图像不仅包含基地式表,还有大量的背景信息,给液位图像处理带来干扰。现有液位图像处理算法很少提及如何从复杂背景中提取液位计的显示部分。另外,由于安装原因或监视需要,摄像头角度会发生变化,导致视物方向并非完全垂直于被射物体,使图像产生透视失真,影响液位测量的准确性。现有部分液位图像检测方法比较突出的问题是无法实现水位的动态校准。

鉴于以上问题,文中根据火电机组液位仪表具体特征,应用数字图像处理技术,开发了一套图形化测量系统,提出将Canny边缘检测与窗口搜索峰值检测结合,在整个仪表量程内定位液位分界面的测量方法,并增加颜色阈值分割和基于标识点识别的摄像头自标定以减少环境与摄像视角的影响。

1 液位测量系统

以双色水位计为例,基于数字图像处理的液位检测系统如图1所示,该系统由照明光源、光学摄像头、计算机处理与分析系统组成。

图1 基于数字图像处理的液位测量系统Fig.1 Liquid level measurement system based on digital image processing

(1) 光源:为保证可靠性和高寿命,采用发光二极管(light-emitting diodes,LED)的穹顶光源;为防止产生阴影并减少镜面反射[7],采用明场漫射正面照明方式,如图2所示。

图2 照明方式Fig.2 Lighting mode

(2) 摄像头:为提高系统分辨力和集成度,采用图像传感器为互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)的高像素摄像头,分辨率记为M×N。

(3) 摄像头与计算机接口:为保证视频数据快速传输和采集,采用串行总线(universal serial bus, USB) 。

(4) 数字图像处理:对于摄像头采集的液位图像,首先进行预处理,一方面采用自适应中值滤波抑制光电转化过程与环境电磁信号引入的噪声,另一方面采用颜色阈值分割确定仪表显示部分在图片中的位置,以消除环境背景的影响,同时减小计算量;然后采用Canny边缘检测算法得到二值化图像,并增加梯度幅值的直方图分析改善传统算法无法自动设定双阈值的缺点;最后利用窗口搜索峰值检测确定边缘图像中的液位分界面,并通过模板识别标识点建立像素行与液位的映射关系,矫正透视失真引起的误差,得到最终的液位数值。具体流程如图3所示。

图3 数字图像处理步骤Fig.3 The steps of digital image processing

2 基地式液位计的图像处理方法

2.1 液位图像的平滑滤波

现有的滤波方法中,均值滤波和高斯滤波在去除噪声的同时也造成了图像边缘的模糊;双边滤波能有效地去除噪声并保护图像细节,但效果很大程度上取决于参数的选取。

为了保留图像细节同时滤除噪声,采用自适应中值滤波[8-9]对采集图像进行预处理得到平滑图像f(x,y),按以下步骤遍历所有像素点:

(1) 读取像素点的RGB颜色数据,并将其转化为灰度图像g(x,y),每一像素点的灰度值为:

g=0.299R+0.587G+0.114B

(1)

(2) 设定自适应窗口最大像素尺寸Amax=9,并初始化3×3的十字形窗口wi;

(3) 计算当前窗口wi中像素点灰度的最大值Zmax,最小值Zmin和中值Zmed;

(4) 若Zmin

(5) 如果窗口尺寸大小未超过Amax,转至第三步再次计算扩大窗口;否则该像素点的灰度值为窗口灰度的中值,f(x,y)=Zmed;

(6) 判断像素点原始灰度值,若Zmin

2.2 液位图像的颜色阈值分割

根据仪表本身进行特定颜色的识别以确定水位计显示部分的位置。

(1) 颜色空间转化[10]。读取拍摄图片的RGB颜色数据,为了方便后续颜色识别,将其转化到HSV颜色空间,转化公式如下:

V=max(R,G,B)/255

(2)

(3)

(4)

若算得H<0,则:

H=H+360

(5)

(2) 颜色识别。选取指定颜色对原始图像I(x,y)进行颜色阈值分割,得到二值化图像C(x,y)。经试验,得到视觉红色和视觉绿色的HSV范围为:红色(0~10/340~360, 0.35 ~ 1,0.3 ~ 1),绿色(80~150, 0.35 ~ 1,0.3 ~ 1)。以识别绿色为例,转化过程如下:

(6)

(7)

(4) 仪表定位。通过对二值化图像的水平投影与垂直投影实现液位计在图像中的定位。

2.3 液位图像的边缘检测

现有的边缘检测算法中,经典算子得到的边缘较粗,定位精度不高,仍需细化处理;Laplacian算子和LoG算子采用二阶微分,对噪声敏感,且容易检测到伪边缘;曲面拟合法、多尺度法、松弛迭代法、神经网络法等计算量较大或需要大量训练样本。考虑到算法的实时性、定位精度与抗干扰能力,采用Canny边缘检测算法。

Canny边缘检测算法[11]的检测效果优劣在于高低阈值的设定,而传统的Canny算法往往采用试凑法[7]求得较为理想的双阈值。因此增加基于梯度幅度的统计直方图法自动选取双阈值[12-13]。改进后的Canny边缘检测算法,具体步骤如下。

(1) 采用3×3邻域一阶偏导的有限差分Sobel算子计算平滑滤波后图像的梯度幅值M(x,y)和梯度方向Q(x,y)。

(8)

(9)

其中:

φ1(x,y)=f(x,y)Gx

(10)

φ2(x,y)=f(x,y)Gy

(11)

Gx和Gy为X和Y方向上边缘的卷积模板。

(2) 非极大值抑制。遍历图像,将像素点的梯度幅值M(x,y)与其3×3邻域内对应其梯度方向Q(x,y)上最相近的两个元素相比较,若不比它们的幅值大,则f(x,y)=0,即该像素点不是边缘,否则令f(x,y)=M(x,y)。

(3) 设定梯度幅值的高阈值和低阈值。

① 计算图像梯度幅值M(x,y)的128级直方图h(i),并寻找直方图的非零起点(istart,h(istart))和非零终点(iend,h(iend));

② 计算直方图中从istart到iend的斜率,

(12)

③ 寻找斜率最大值(ipeak,h(ipeak))的点作为直方图一个凸点。若ipeak

(13)

高阈值TH和低阈值TL分别为:

TH=max [r(i)]

(14)

TL=0.4TH

(15)

(4) 确定边缘点。梯度幅值比高阈值大的像素点为边缘点,即灰度值为255,比低阈值小的为非边缘像素点,即灰度值为0。而介于两者之间的“准边缘像素点”,只有其3×3邻域内存在确定边缘点时,才可被标记为边缘点。

2.4 液位分界面峰值检测

得到边缘图像后,利用分界面上边缘点数量明显增加的性质确定分界面液位。由于边缘点数量变化比较复杂,采用一阶峰值、二阶峰值检测等传统峰值检测[14]方法容易产生漏检或错检。因此文中采用窗口搜索峰值检测方法,步骤如下:

(16)

(17)

(18)

(3) 计算10邻域内的局部最大值pi及其像素行位置hi。

(19)

2.5 摄像头透视失真的自矫正

摄像头成像原理图如图4所示。图中,液位计量程AB对应于图像中的像素行A′B′,液位高度BC对应于像素行B′C′。由于摄像头的安装方向偏离竖直方向角度α(未知),图像存在一定的透视失真,即BC/AB≠B′C′/A′B′。

因此增加标识点D作为已知液位,并利用该点建立图像的像素行h与真实液位H的映射关系H=f(h),实现测量系统的自标定。

图4 摄像头成像原理Fig.4 Camera imaging principle

采用模板匹配[15]的方式识别标识点形状,首先为所要识别的标识提供一个边缘模板T,模板在待检测图像上平移,搜索窗口所有对应尺寸的子图Sij,通过比较T与Sij的相似性,完成模板匹配过程,如图5所示。

图5 模板匹配原理Fig.5 The principle of template matching

衡量模板匹配相关性的公式如下:

(20)

其中m,n为模板长宽;M,N为待匹配图像的长宽。

选取一个误差阈值ET,当E(i,j)>ET时停止该点的计算,继续下一点的计算。标识点处的匹配误差最小。通过识别并定位标识点D,得到它的映射关系HD=f(hD′)。

现已知A,B,D这 3处在图像中的像素行hA′,hB′,hD′以及它们对应的实际高度HA,HB,HD,对图像中像素行到真实液位计高度的映射H=f(h) 进行Lagrange插值。一般的Lagrange插值多项式为:

(21)

将H=f(h),HA=f(hA′),HB=f(hB′),HD=f(hD′)代入上式可得:

(22)

将通过峰值得到液位点C在图像中的像素行h=hC′代入式(24),得到对应的实际高度HC为:

(23)

3 液位检测实验与结果分析

3.1 两种基地式液位计的数字化检测过程

3.1.1 云母(玻璃)水位计的液位检测

实验室中以玻璃管水位计模拟现场的云母(玻璃)水位计。图6中,(a)为实验室拍摄的原始图像;(b)为经颜色阈值分割识别为红色区域的二值化图像;(c)为经改进的Canny边缘检测算法处理后的二值化图像;(d)为空气-水分界面处的局部放大图。

图6 玻璃管水位计图像处理Fig.6 Image processing of glass tube water gauge

由图6可知,文中颜色阈值分割能准确识别红色,改进的Canny边缘检测算法能准确识别液位分界面。计算图6(c)中识别为红色区域的内侧上每行像素的边缘点数量以及经过10邻域1阶Savitzky-Golay滤波后的边缘点数量,折线图如图7所示。

图7 每行像素中边缘点数量Fig.7 Number of edge points in per row of pixels

从图7可看出:每行像素点中边缘点的数量在200行、1300行以及3400行存在明显的峰值,这3处位置分别对应玻璃管顶部、空气-水界面和玻璃管底部;且经SG滤波后的峰值点更加明显直观。对滤波后的数据进行窗口搜索峰值检测,得到的峰值点以及对应的界面信息见表1。

表1 玻璃管水位计界面检测结果Tab.1 Interface detection results of glass tube water gauge

通过模板匹配“数字2”成功找到图6(a)中刻度20 cm的中部所在像素行hD′=2019,对应的液位高度HD=21.5 cm。已知实验中玻璃管水位计的量程为HA=50 cm,代入公式(23)得到空气-水分界面的液位高度HC为32.43 cm。

3.1.2 双色水位计的液位检测

某亚临界机组锅炉汽包液位测量所用的双色水位计如图8所示。对于该水位计,采用颜色阈值分割识别仪表显示部分的绿色和红色区域;再通过改进的Canny算法得到定位部分的完整轮廓;最后进行水平投影即可得到液位高度。

图8 双色水位计Fig.8 Double color water meter

图9为对图8(b)结合颜色阈值分割与改进的Canny检测算法后的结果图。可见文中数字图像处理算法能够过滤噪声和剔除背景颜色的干扰,实现了仪表显示部分的定位与边缘提取,具体信息如表2所示。

图9 双色水位计图像处理结果Fig.9 Processing results of two color water level meter

名称起始像素行终止像素行跨度像素行液位/cm实物图红色97167700.16绿色16923971现场图 红色246404159-3.07绿色404523120

结合表2的数据和双色水位计的量程(-22 cm~+22 cm),按比例计算得到汽水分界面的液位高度,其中图8(a)的液位为0.16 cm,图8(b)的液位为-3.07 cm。

3.1.3 液位检测方法的误差

工业仪表精度等级的国家标准有0.1,0.2,0.5,1.0,1.5,2.5,4共7个等级[1],由最大引用误差确定。图6(a)玻璃管水位计(液位计1)的最小刻度为1 cm,量程为50 cm,对应精度等级为1.0;图8(a)所示的双色水位计(液位计2)的最小刻度为1 cm,量程为44 cm,精度等级为1.5;图8(b)双色水位计(液位计3)的最小刻度为2 cm,量程为44 cm,精度等级为2.5。

对于以上的水位计,按其刻度读取汽水界面的液位高度,并结合仪器误差限得到液位真实值的范围,计算测量系统的最大绝对误差和最大引用误差,计算公式如下:

液位真实值 = 液位计读数 ± 仪表误差限;

最大引用误差 = 绝对误差最大值 / 仪表量程;

得到的计算结果如表3所示。由表可知,文中所述液位测量系统,对于玻璃管水位计的示数检测的最大引用误差为1.14%,对于双色水位计1的示数检测的最大引用误差为1.5%,对于双色水位计2的示数检测的最大引用误差为2.43%。可认为此测量系统能够基本维持原水位计的精度等级,符合工业仪表的国家标准,满足工业现场使用的要求。

表3 液位测量系统误差Tab.3 Error of the liquid level measurement system

3.2 系统检测性能分析

用来评价边缘检测性能的方法有Canny准则和Pratt品质因数[16],主要对边缘的定位性能和信噪比进行评价,与阈值的选取和滤波方法有关。此外,测量系统的误差与峰值检测的准确度密切相关,下面对这3个方面的性能进行分析。

3.2.1 自适应性能分析

对比玻璃管水位计图6(a)和双色水位计图8(b),前者只有仪表,图像简单、灰度分布范围窄,后者还包含现场环境,图像复杂、灰度阶级覆盖广,因此需设定不同的梯度阈值。分别对这两幅图进行改进的Canny边缘检测,其梯度幅值的128级直方图分别如图10、图11所示。

图10 玻璃水位计的梯度幅值直方图Fig.10 Gradient amplitude histogram of glass water meter

图11 双色水位计的梯度幅值直方图Fig.11 Gradient amplitude histogram of two color water level meter

对比图10和图11,前者的归一化梯度幅值整体较小且主要集中在0~0.1的范围内,后者的梯度幅值分布相对均匀,在0~0.5的范围内都有覆盖。得到的不同的高低阈值如表4所示。

表4 不同图像的自适应高低阈值Tab.4 Adaptive high and low thresholds for different images

水位计梯度幅值最大值归一化高阈值归一化低阈值玻璃管水位计7.54E+040.031 50.012 6双色水位计5.71E+040.149 60.059 8

表4表明,对不同仪表的水位计图像进行检测时,改进的Canny边缘检测算法有较好的自适应性,能够根据图像不同的灰度分布和梯度分布设定相应的高低阈值。解决了传统的Canny检测算法针对不同的图像需要采用试凑法求得较为理想的双阈值的问题。

3.2.2 抗噪性能分析

为模拟噪声图像,对图6(a)和8(b)添加方差为0.04的高斯噪声。以未添加噪声的图像经改进Canny边缘检测算法处理后的图像作为标准图像fp,计算传统Canny算法和本文改进算法处理后图像fn的均方误差(mean square error, MSR)和峰值信噪比(peak signal noise ratio, PSNR)[17],计算公式分别为:

(26)

(27)

其中M×N为图像的分辨率,255为图像的灰度级数。计算结果如表5所示。

表5 抗噪性能分析Tab.5 Analysis of anti-noise performance

由表5可知,改进Canny边缘检测算法与传统算法相比,均方差更小,峰值信噪比更大。文中改进的Canny边缘算法,由于增加了自适应中值滤波和基于直方图统计分析的双阈值选取,能够过滤更多噪声和排除虚假边缘点,因此具有更好的抗噪性能和更好的边缘检测效果。

3.2.3 寻峰效果分析

对于图7(滤波后图像),按本文窗口搜索峰值检测设置同样的基线、阈值和邻域,不同方法的寻峰结果如表6所示。

表6 峰值检测结果对比Tab.6 Comparison of peak detection results

结合实际峰值点的位置和表6,可以看出传统的一阶差分峰值检测、二阶差分峰值检测和傅里叶自解卷积峰值检测都找到了多余的峰值点。

由图7可知,边缘点随像素行的变化不存在特定规律或趋势,且局部变化比较剧烈,尖锐点和毛刺点多。传统的一阶差分峰值检测、二阶差分峰值检测等方法放大了噪点,不适用于文中所述液位检测问题。本文窗口搜索峰值检测法先使用滤波得到平滑曲线,结合了局部最大值寻峰算法的特点,同时根据边缘点数量的数学统计设置了峰值的阈值。因此相比与传统的单一寻峰方法,窗口搜索峰值检测法对于文中所述液位检测问题具有更可靠更准确的寻峰结果。

4 结语

文中所述液位测量系统,利用改进的Canny边缘检测和窗口搜索峰值检测,在对原测量装置不做任何改变的情况下,实现了云母(玻璃)水位计和双色水位计液位的信号远传和数字化。液位计算值的引用误差在2.5%以内,能够维持原水位计的精度等级。同时,该系统具备颜色阈值分割、自适应中值滤波、直方图分析和透视失真自矫正功能,增强了测量的抗干扰性和自适应性。在应用范围上,除用在电厂设备液位的检测上,在石油、化工领域的液位测量上也有广阔的应用前景。

猜你喜欢
水位计液位边缘
三峡船闸闸室水位检测工艺的优化与应用
基于STM32燃气热水锅炉液位控制系统设计与实现
石油储罐液位开关的应用分析
一张图看懂边缘计算
油田加热炉磁翻板水位计堵塞问题的应对措施
加热炉磁翻板水位计的开发应用
一种新型国产雷达水位计的设计
宝马530车冷却液液位过低报警
智能液位控制器在排水系统中的应用
在边缘寻找自我