屠佳佳,李 莎,张永超
(1.浙江机电职业技术学院,浙江 杭州 310053;2.杭州定川信息技术有限公司,浙江 杭州 310020;3.浙江省水利河口研究院(浙江省海洋规划设计研究院),浙江 杭州 310017)
水位作为水雨情最关键的数据之一,是水利工程管理的重要依据[1-2]。目前,在水位监测领域已经出现基于图像处理、机器学习和深度学习的水位识别技术并开始试点应用,但大多数是对常规水位尺刻度进行识别,从而得到水位[3-5]。这种方式获取的水位尺图像处理算法复杂、运算量大,导致水位识别存在耗时长、硬件配置要求高、成本高等问题,并且受天气、光线等环境因素干扰大,很难实现大面积推广应用。针对以上情况,有研究人员提出二维码水位尺和由圆组成的水位尺等[6-7],但仍然存在计算识别复杂的问题。
另一方面,图像识别水位技术的推广应用虽然存在一些问题,但毋庸置疑是未来的发展方向。近年来,浙江省水文管理中心通过大量研究论证,结合浙江省实际情况在国内率先提出适用范围广、可操作性强的《图像识别水位观测系统技术规范》地方标准[8],可见水利部门已经意识到图像识别水位的重要性,而且预期市场规模庞大。因此,本文结合图像识别水位的背景和未来发展趋势,提出一种新型水位尺并对其图像识别方法进行研究,为更好地推广图像识别水位技术提供新的思路和方法。
新型水位尺的设计包括形状、颜色、背景、外观等的合理设计。与传统水位尺相比,新型水位尺设计的关键技术要求如下:第一,根据图像处理的原理,选择视觉终端能轻易识别的图形进行设计,例如圆形、三角形、正方形等,通过图形的形状和个数能巧妙识别并转换成水位;第二,选择能够大大降低环境因素影响的背景颜色,保证水位测量的准确性与可靠性;第三,降低或不增加图像识别水位尺的总体成本。
根据水位测量、图像处理的原理及原则,设计新型水位尺来代替原有的传统型水位尺,结构见图1。新型水位尺由20个完全相同、正立、首尾相连、纵向排列的全黑正三角形组成,每个三角形的高度为5.0 cm,组成的水尺高度正好为1.0 m。为方便管理人员现场查看数据,左侧设置0~9的水位刻度数值,图像处理时可不进行识别。全黑正三角形设计采用表面光滑但不反光的材料,不易沾染油污和吸附灰尘,安装方式与传统水位尺类似,简单方便。
图1 水位尺结构示意图
在图像处理中,黑色是比较容易识别的颜色,正三角形是比较容易识别的形状,而且水位测量时,液面以上部分仍然是三角形。因此,采用全黑正三角形的方式设计新型水位尺,拍摄图像的特征信息明显,有助于减少视觉终端的计算量,可降低设备配置要求,从而降低成本,提高性价比,而且安装方便、使用灵活,相比现有水位尺的识别,更易实现大面积推广应用。
1.2.1 理论推导
新型水位尺水位识别的理论推导如下:
假设水位尺总高度为L,全黑正三角形的高为h,当液面在处于图2位置时,即EF所在平面为液面与正三角形的接触面,AB、AC、BC为正三角形的3条边,D为正三角形BC边的中点,G为接触面EF的中点。
图2 液面位置处的正三角形图
假设此时图像识别的液面以上完整的全黑正三角形个数为m,那么可知当前水位:
而根据三角形相似定理可得:
再根据勾股定理计算可得:
将式(5)代入式(3)得:
1.2.2 实际算法
由于水位监测站现场安装时,工业相机与水位尺之间多为俯视状态,测试时采用10个高为5.0 cm的正三角形组成高度为0.5 m的水位尺,并进行图像采集,得到的实际水位尺图像见图3。由图3可知,在实际采集到的水位尺图像中,由上到下的正三角形周长逐渐减小,图像识别时如果采用理论推导算法将产生误差。
图3 实际水位尺图像图
实际处理算法采用三角形识别和周长法进行计算:先利用图像处理技术识别得到水面以上的正三角形个数n(0<n≤10),再识别第n+1个正三角形的边与水面组成的新三角形周长,即可计算出水位刻度。假设第n+1个识别正三角形的周长为3x,那么水位刻度值H’的计算公式为:
对比公式(7)和(8)可知:理论计算与实际识别时出现的差值是由与液面接触的三角形产生的。理论计算时,1~10个正三角形与液面接触时的高度相同,而实际识别时则由上到下逐渐减小。
水位采集过程主要包括水位尺图像采集、图像处理、图像识别、水位输出等步骤,其核心内容是水位尺刻度的识别。根据水位识别过程设计的流程见图4。
图4 图像识别水位流程图
图像识别得到与液面接触的三角形的周长之后,除以3可得到与液面的接触线长度。全黑三角形个数和与液面接触线长度都识别后,计算得到水位值。
水位识别过程中主要用到的图像处理算法为图像灰度化、二值化、腐蚀与膨胀、取反、轮廓检测、三角形个数识别与三角形周长识别等。
水位尺识别测试分为理论图像测试和实际图像测试。
2.2.1 理论图像测试
理论图像测试采用Visio软件设计水位尺图像,利用Matlab软件进行图像处理实验,图像处理情况见图5。由图5可知,图像处理后成功完成水尺识别,并清晰绘制各三角形的轮廓。
图5 模拟图像处理结果图
2.2.2 实际图像测试
实际图像测试时,将Visio软件设计的水位尺进行打印、安装,然后采集实际图像,再利用Matlab软件进行图像处理实验,图像处理情况见图6。由图6可知,图像处理后成功完成水尺识别,并清晰绘制各三角形的轮廓。
图6 实际图像处理结果图
进行水位识别测试时,将设计的水尺安装在水桶中进行实验,图像处理效果见图7。图7中,分图b)为被分割后有效的水位尺图像;分图c)为形状识别图像,通过形状识别可计算图形的总周长;分图d)中,将三角形图像进行分离,识别出6个部分并标记,可得到完整三角形个数为5个,即占用高度为25.0 cm。
图7 水位识别处理结果图
然后分离出第6个三角形,根据长度标定以及分图c)和分图d),识别正三角形的边与水面组成新的三角形周长,在Matlab的命令行窗口打印出来的结果为10.7 cm,计算出该三角形的高度为3.1 cm左右,由于10个三角形总高度为50.0 cm,最终得到水位值为21.9 cm。利用卷尺实际测得水位值为22.0 cm,误差0.1 cm,符合水位监测要求。同时在测试时有意增加干扰,水尺第5个正三角形存在浸泡痕迹,而图像处理后均可有效避免干扰,由此说明该算法的稳定性和可靠性。
本文设计了由全黑正三角形组成的新型水位尺,液面接触线以上部分仍然是正三角形,且受天气环境等干扰因素影响小。设计原理上比其他形状更加容易识别,具有更简便、更易实现和易推广的优点。通过灰度化、二值化、轮廓检测、形状识别和周长识别等简单图像处理过程即可实现水位数据的快速识别,而且识别误差小,符合水位监测要求,同时大大降低了处理器的要求,可利用嵌入式终端直接实现水位识别,对推动图像识别水位技术的发展具有重要意义。