葛司远,侯震
(1.燕山大学信息科学与工程学院,河北 秦皇岛 066004;2.河北省水利水电勘测设计研究院,天津 300250)
高清视频处理技术对水库水位远程自动监测系统应用
葛司远1,侯震2
(1.燕山大学信息科学与工程学院,河北 秦皇岛 066004;2.河北省水利水电勘测设计研究院,天津 300250)
以桃林口水库为试点,应用高清视频处理技术对水库水位进行远程自动监测,介绍了系统的工作原理与总体设计方案,选取最优的视频采集技术及合理的无线数据传输方式,利用视频图像处理的算法去掉图片冗余信息,推断得出计算水位精确的数据,并将结果存放于数据库中。实现了无人值守水库水位数据的远程查看、及时保存、绘制折线图与自动监测报警的功能。
高清视频;水位自动监测;无线传输;Android平台
1.1 系统构成
基于高清视频处理技术的水库水位远程自动监测报警系统是由CCD摄像头、图像采集卡、水库水位夜光液位标尺、图像处理模块(由PC机实现)、数据库、服务器、移动设备终端(智能手机、pad等)、无线传输模块(Wi-Fi或GPRS)组成。
1.2水库水位监测步骤
选取合适位置画上标尺,夜光液位标尺在夜晚也能够提供清晰的对比度。在标尺正对面安装固定CCD摄像头,采集标尺及水面的模拟图像;通过视频线传输到图像采集卡中,经过图像预处理得到简化标尺原图。通过把简化标尺原图自上而下进行像素累加得出坐标像素图;PC机计算出水位高度数据,一并将时间、场地及数据存储到数据库中。在服务器开启监听之前,要与数据库建立连接。
开启手机端软件连接服务器,点击查询按钮。数据库接收到服务器发来的查询语句将水库水位实时数据返回。水位超过阈值,服务器将触发移动终端报警。
2.1 视频采集
视频采集就是将采集的视频图像进行采样、量化后转换成数字图像并输入、保存到帧存储器的过程。只有对图像进行及时采集和获取高质量的图像,才能利于下一步图像分析和处理。视频采集模块由图像采集卡、CCD高清摄像机和计算机构成。
图像采集卡(Video Capture Card)是图像采集部分和图像处理部分的接口,可以将获取的数字化视频信息存储和播放,也可将视频和音频的混合信号在数字化时同步保存和播放,使混合信号或模拟摄像机输出的视频信号经过数据转换后输入计算机,将视频数据保存在电脑中。
2.2 无线数据传输
数据传输模块分为服务器端和移动设备终端,两部分的通信主要依靠Wi-Fi或GPRS实现无线传输。在移动设备终端(如手机、平板电脑等)安装水库水位监测软件,客户端首次运行时需要添加远程监控主机IP,结合端口号建立Socke连接,实现与主机服务器的网络通信。服务器端监听客户端请求,调用查询语句将存储在数据库中的水库水位数据返回给工作人员的移动设备终端。
3.1 图像预处理
由于水库水位实际现场的采集图像包含多种噪声和大量背景信息,会对水位分界提取造成干扰,所以需要对图像信息进行预处理以降低干扰。考虑到高清数字摄像设备捕获的图像具有较高分辨率,采用常规灰度化、二值化、边缘检测的预处理方案即可。
3.1.1 图像灰度化
彩色图像中的每个像素是由R,G,B 3个不同的基色分量组成的,每个基色分量的大小直接关系到相应基色的强度。灰度图像可以认为是R,G,B 3个分量都相同的色图像。灰度图像由256种颜色组成,除了黑和白之外,还有介于两者之间的灰色,每一种颜色的值在灰度图像中被叫做灰度值。
采用平均值法将彩色图像转换成灰度图像,即取彩色图像中某点三基色R,G,B的平均值作为转换的灰度图像上该点的灰度值,得到灰度图像。
3.1.2 图像二值化
选取合适的阈值把图像中的灰度值变为0或255,使其仍能反映出图像的特征,变成黑白图像。采用二值化技术对图像进行处理,能够起到突出检测目标,减小运算量,抑制干扰噪声的目的。
二值化处理用封闭、连通的边界来表示不交叠的区域。将图像的各像素点的灰度值与阈值对比后,把大于或等于该阈值的像素点赋值为255,组成目标区域;相反,小于该阈值的所有像素点被置于区域之外,赋值为0,成为背景或另一物体区域。
3.1.3 边缘检测
Canny在1986年提出基于最优化算法的边缘检测算子,利用局部极值检测图像边缘,具有很好的信噪比和检测精度[3]。Canny边缘检测算子的具体算法:消除噪声,利用高斯滤波器对处理的图像进行平滑处理;利用一阶偏导的有限差分求出梯度的幅值和方向;对梯度的幅值进行非极大值抑制;应用双阈值算法来检测和连接边缘[4]。
3.1.3.1 高斯平滑
根据二维高斯函数的圆对称性和分解性,得到高斯函数的任意方向导数与图像的卷积,表达式为:
式中x为二维图像上X轴代表的像素值;y为二维图像上Y轴代表的像素值;啄为测定的标准像素差。中心边缘点Gn,在某一方向n→上的一阶方向导数表达式为:
将G的二维卷积变成两个一维的行列滤波器。如:
其中
式(4)~式(9)中,k代表随机系数。将式(4)和式(5)与图像f(x,y)卷积,得:
3.1.3.2 梯度计算
求得幅值及其方向角
式中M(x,y)为图像在点(x,y)处的边缘强度;α(x,y)是图像在点(x,y)的边缘方向。一个像素点若要被判断为边缘点。
必须满足如下条件:①该像素点的边缘强度要大于沿该点梯度方向上的两个相邻像素点的边缘强度;②和该像素点的梯度方向上的相邻两点的方向夹角小于π/4;③在以该点为中心的3×3邻域中,其边缘强度极大值要小于某个阈值[5]。
3.1.3.3 对梯度幅值进行非极大值抑制
通过非极大值抑制(non-maxima suppression,NMS)的方法对图像屋脊带进行细化,保留幅值局部变化的最大点,生成细化的边缘[6]。
式中N(x,y)的非零值对应图像强度阶跃变化的对比度;M(x,y)为图像在点(x,y)处的边缘强度;ζ(x,y)表示在二维图片内的某像素点。
经过平滑处理后非极大值抑制幅值图像N(x,y)还会有许多的假边缘。
3.1.3.4 用双门限检测
根据统计直方图,选取一个高阈值T1和低阈值T2。若信号响应大于高阈值,则是边缘;反之,则不是;处在低阈值和高阈值之间,若8个邻接像素高于高阈值,则也是边缘。
3.2 水位高度的计算
预处理后图像分离原始模糊背景,图像中有效像素为标尺的内容,从而得到简化标尺原图。通过把简化标尺原图自上而下进行像素累加得出坐标像素图,Y轴为水位高度,X轴为坐标尺的水平像素和,每个标尺之间的距离设为y。扫描计数X轴的条形码数,根据具体水库水位现场情况初始设定每一条条码代表的真实距离,测出最下端标尺x2,x1与水位线与最下端标尺距离y,根据公式(14)即可算出水位高度H(x,y)。
式中x为在简化标尺原图中X轴的对应数值;y为在简化标尺原图中Y轴的对应数值;驻y为每个标尺之间的距离;x2为最下端标尺所对应的数值;x1为水位线下标尺对应的数值。
例如,根据桃林口水库平时水位,假设x2为80,y为4.38,驻y设为10,则x1应等于70,根据公式(16)算得H(x,y)=(10-4.38)/10×(80-70)+70=75.62(m)。
水库水位监测系统中,终端应用程序的主要作用是:接收数据、保存数据、处理数据。接收数据,就是将水库现场采集到的高清视频经过视频处理得到的水位数据通过无线通信网络接收到移动终端上;保存数据,就是将接收到的水位数据在本地以文本文档格式保存起来;处理数据,就是将接收到的数据绘制成水库水位监测折线图,供工作人员分析使用。因此,基于以上的用户需求,移动终端应用程序应该实现三大系统功能:数据查询系统、水位折线图、预警系统。
4.1 数据查询系统
终端应用程序和服务器通过建立Socket通信连接来接收水位数据,Socket通信传输给移动终端的数据是按照事先定义的数据包格式存储到数据库中[8],用户进入数据查询系统后,通过选择日期从而从数据库中调出该日的水库水位数据,并显示在终端用户界面上。
4.2 水库水位折线图
水库水位折线图更加直观的将水库水位数据显示给用户,使用户能够更加真切地感受水库水位的波动和变化。实现该功能需进行如下4个步骤:
4.2.1 创建画布
Android 4.0以上平台提供了更加完整的画图工具,导入android.graphics包,使用onDraw()方法在Canvas类上绘制图形。
4.2.2 调取数据
首先需要在终端的存储卡上调出以文本文档存储的文件,在将数据解析出来。
4.2.3 绘制折线图
调用moveTo()设置折线起点坐标的位置,调用lineTo()绘制折线节点坐标位置,最后通过canvas.drawPath()在画布Canvas上将设置好的节点进行连接,完成折线图绘制。
4.2.4 完善图形注释
根据屏幕分辨率指定合适的起始点和终点的坐标,用canvas.drawPath()在画布上绘制出横纵坐标轴,在调用canvas.drawText()在画布上绘制出坐标的文字说明。
4.3 预警系统
预警系统对于数据的处理是在服务器端实现的。终端应用程序只是在接收的环节接收服务器端发来的报警指标来触发报警开关。
本实验选取的检测视频时长是1min 5s,帧速率为29帧/s,视频的总帧数1885。每29帧图像取一帧图像。图像采集过程中,除了采集到目标水位标尺图像,还会不可避免地将背景图像进行采集,如背景中的大坝、阀门等,此外,还会有光照、水位波动等因素的干扰。为了去除这些干扰,完成图像的检测,需要对图像进行预处理。
首先用平均值法将彩色图像变成灰度图像,简化图像信息,进行灰度化处理。对图像进行二值化过程中,为了能突出检测目标,便于后续工作的检测,所以要去合适的阈值,选取了阈值T为0.5,成功得到二值图像。
从得到的二值图像中可知,在阈值T=0.5时,水位标尺清晰可见,不需要进行边缘检测,如果边缘像素点有些模糊,为得到图像目标的基本特征边缘,需要采用Canny边缘检测算子对二值图像进行边缘检测。
水位的计算过程:计算机扫描x2为150,y为9.98,驻y根据桃林口水库平时水位设为10,则x1应等于140,根据公式(14)算得H=(10-9.98)/10×(150-140)+140=140.02,单位为m。
PC机将计算结果和相应时间存储到数据库中列表中,随时等待查询语句调取数据。在本次桃林口水库的试验中,采用SQL2000数据库,每秒进行一次刷新,每分钟存储在一个文本文档中,每小时建立一个文件夹进行存储。
为了提高系统安全性,程序通过验证用户名和密码是否与后台数据库中的数据相匹配方可进入程序,否则提示用户名或密码错误。根据资料显示青龙河流域降水特点,参考气象预报及水情测报数据,8月1日设置最高报警水位设置为141.15m[10]。由于本实验测试时未到汛期,水位涨幅没有超出报警阈值。按照手机界面提示操作即可查看水库水位的当前数据和历史数据。
(1)由图像采集卡、CCD摄像机和计算机构成的采集系统实现了高清分辨率的视频图像采集。
(2)采用图像的灰度化、二值化、Canny边缘检测等技术原理进行分析,采取合适的技术进行图像的预处理和水位检测,满足检测的需求。
(3)在图像预处理的基础上实现了对水位的计算,并将检测结果记录于数据库中,统计出每种检测方法的检测图像的总帧数、检测正确的帧数、检测出错的帧数和检测的正确率。通过对检测结果的统计,分析检测方案中正确率不高的原因,采取适当的改进措施,提高检测的正确率。
(4)用户随时通过手机软件进行数据的查看与读取,当水位超出阈值时,服务器端会触发手机端的报警系统。
(5)在风速过大影响水位波动时可能会产生的报警器误报现象,也相应地提出了设置安全范围的措施,来提高检测系统的可靠性。
参考文献:
[1]赵洪圣.基于数字图像的液位远程监测系统[D].天津:天津大学,2010.
[2]刘宏立,孟凡斌.数字图象处理技术的现状及其发展方向[J].吉首大学学报(自然科学版),2009,30(1):63-70.
[3]张强.基于几何特征的目标识别及跟踪技术的研究[D].长春:长春理工大学,2008.
[4]朱锦辉.基于全方位视觉系统的移动机器人自主定位与导航技术研究[D].天津:天津理工大学,2008.
[5]张宏,谭跃刚,吕红梅.边缘检测在计算机视觉几何测量中的应用[J].武汉科技学院学报,2006,19(10):17.
[6]戴燕.图像边缘检测与应用[D].西安:西安科技大学,2010.
[7]靳岩,姚尚朗.Android开发入门与实战[M].北京:人民邮电出版社,2009.
[8]刘俊贤.基于Android平台的桥梁监测终端应用程序设计与开发[D].西安:西安科技大学,2011.
[9]盖索林,王世江.Google Android开发入门指南(第2版)[M].北京:人民邮电出版社,2009.
[10]繆萍萍,任喜龙,李博超,等.桃林口水库分水枢纽工程对区间支流洪水影响[J].水科学与工程技术,2013(2):4-6.
Application of HD video processing technology in the design of remote auto-detection system of the reservoir-water levels
GE Si-yuan1,HOU Zhen2
(1.College of Information Science and Engineering,Yanshan University,Qinhuangdao 066004,China;2.HebeiResearch Institute of Investigation&Design ofWater Conservancy&Hydropower,Tianjin 300250,China)
Taolinkou reservoir as pilot,the high-definition vide o processing technology was applied to the remote automatic monitoring of reservoir levels.The working principle and the overall design of the system were introduced.This paper selects the best video capture technology and reasonable wireless data transmission,using video image processing algorithms to remove redundant information picture,and inferred accurate data to calculate the reservoir water level and the results are stored in the database.By this technology,we can remote viewing and save timely the water level data of unattended reservoir,can draw a line chart and have the function of automaticmonitoring and alarm.
HD Video;automaticmonitoring of reservoir-water levels;wireless transmission;Android platform
TV697.2+1
B
1672-9900(2015)01-0015-05
2015-01-06
葛司远(1988-),女(满族),河北张家口人,硕士,主要从事视频图像处理方向的通信领域研究,(Tel)15232328219。