基于单目摄像机的河流水位监测方法转让专利

申请号 : CN200910053321.7

文献号 : CN101586956B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘剑严骏驰仝明磊刘允才

申请人 : 上海交通大学

摘要 :

本发明公开了一种基于单目摄像机的河流水位监测方法,是一种视频监控领域中信息处理的方法,利用河流平面与河岸平面的光反射特性区别,对视频采集的图像进行水平像素投影算法(HPIP)来确定水位高度。包括:(1)利用仿射变换对图像进行几何矫正;(2)对视频图像灰度进行直方图均衡化处理;(3)水平像素投影算法确定水位高度;(4)实时、鲁棒跟踪水位变化。本发明具有易于实现、鲁棒性强、可靠性高、实时性强等优点,可以为水文监控提供实时可靠的信息。

权利要求 :

1.一种基于单目摄像机的河流水位监测方法,其特征在于包括以下步骤:

1)采用单目摄像机采集河流水位的视频图像,从视频图像中选取需要观测的水位区域,然后根据选取区域角点的坐标求得仿射变换矩阵,利用仿射变换矩阵对视频图像进行几何矫正;

2)求得几何矫正后的视频图像中每种灰度的累计分布,然后根据累计分布对视频图像中的灰度进行直方图均衡化处理,以增强视频图像的局部对比度,突出水面和河岸的分界线;

3)对直方图均衡化后的视频图像进行逐行扫描,并且对每行像素灰度值进行累加计算,得到每行图像的灰度均值分布;在灰度均值分布曲线中搜索最大值,该最大值的坐标对应于水面和河岸的分界线,从而获得水位高度信息;

4)采取阈值法去除噪声信息,将后一帧视频图像的水位高度信息与前一帧视频图像的水位高度信息做比较,如果超过一定阈值就舍掉,如果在阈值内,就作为新的水位高度信息;如此反复迭代,获得准确河流水位高度信息。

说明书 :

基于单目摄像机的河流水位监测方法

技术领域

[0001] 本发明涉及一种基于单目摄像机的河流水位监测方法,具体是一种利用单目摄像机采集的视频图像对河流水位进行实时监控的方法,属于图像信息处理技术领域。

背景技术

[0002] 随着视频监控技术的快速发展和成熟,越来越多的智能监控系统应用于日常生活中。但是,计算机视觉技术在河流水位监控方面仍然是一项空白。众所周知,我国是一个洪涝灾害频繁发生的国家,水情监控是水利部门关注的重点,为了预防水灾,及时为防汛决策提供大量可靠的数据和资料,需要实时准确的监测河流、水库等的水位。目前,国内的大多数水文站监测水位仍然采用人工方法,该方法不但存在测量者的人身安全问题,而且容易受到天气的影响,遇到雨天和雾天时,监测数据的准确性也很难保证,另外监测的实时性也不强。因此,将视频监控系统技术运用到水位监测方面是一种非常好的方法。它能够实时的获取河流水位信息,并且对水位进行分析、记录,可以对警戒水位进行预警,工作人员无需亲自去现场,在办公室即可及时了解水位信息,方便又可靠。
[0003] 经对现有技术文献的检索发现,Udomsire等人于2006年在APCCS(亚太电路系统会议)上发表论文“Water Level Detection for River Surveillance utilizing JP2KWavelet Transform”,利用小波变换来分析图像的纹理特征,进而对水面区域和河岸进行判断,然而,由于小波变换计算量大,不利于实时监控,并且在天气变化时,例如暴雨、雾天等,纹理信息会受到影响,降低算法可靠性。
[0004] Iwahashi等人于2007年在ICCCN(计算机通讯及网络国际会议)发表了论文“Water Level Detection from Video with FIR Filtering”,利用线性滤波器检测图像中水面区域于河岸的分界线,从而进行水位的监控。这种算法利于实时监控,算法复杂度低,但是没有考虑水面信息的检测。

发明内容

[0005] 本发明的目的在于针对现有技术的不足,提供一种基于单目摄像机的河流水位监测方法,能对河流区域进行实时检测、监控,具有较强的适应性和可靠性。
[0006] 为实现上述目的,本发明利用河流平面与河岸平面的光反射特性区别,对视频采集的图像进行水平像素投影算法(HPIP)来确定水位高度。首先利用仿射变换对图像进行几何矫正,再对视频图像灰度进行直方图均衡化处理,采用水平像素投影算法确定水位高度,并且实时、鲁棒跟踪水位变化。
[0007] 本发明的基于单目摄像机河流水位监测方法的具体步骤是:
[0008] (1)利用仿射变换对图像进行几何矫正:采用单目摄像机采集河流水位的视频图像,在视频图像中选取需要观测的水位区域,然后根据选取区域的角点坐标求得仿射变换矩阵,利用仿射变换矩阵对视频图像进行几何矫正,得到矫正好的图像,便于对水位进行观察。
[0009] (2)对矫正后的视频图像进行灰度直方图均衡化处理:首先求得几何矫正后的视频图像中每种灰度的累计分布,然后根据累计分布对视频图像中的灰度进行直方图均衡化处理,以增强视频图像的局部对比度,突出水面和河岸的分界线;
[0010] (3)水平像素投影算法确定水位高度:对直方图均衡化后的视频图像进行逐行扫描,并且对每行像素灰度值进行累加计算,得到每行图像的灰度均值分布;在灰度均值分布曲线中搜索最大值,该最大值的坐标对应于水面和河岸的分界线,从而获得水位高度信息[0011] (4)实时、鲁棒跟踪水位变化:采取阈值法去除噪声信息,将后一帧视频图像的水位高度信息与前一帧视频图像的水位高度信息做比较,如果超过一定阈值就舍掉,如果在阈值内,就作为新的水位高度信息;如此反复迭代,获得准确河流水位高度信息。
[0012] 本发明与现有技术相比的显著效果在于:利用水平像素投影算法来确定水面与河岸的分界线,并估计水位高度,比现有的基于小波纹理和直线检测的方法提取水位高度信息简单,耗时低,鲁棒性高,并且可以做到实时跟踪水位变化,有很强的抗噪性,尤其在雷雨天气和夜间光照不足时也能很好的保证水位高度的准确性。同时也为进一步分析水文信息提供了强有力的依据。

附图说明

[0013] 图1为本发明方法步骤示意框图。
[0014] 图2仿射变换几何矫正
[0015] 图3水平像素投影算法估计水位高度。
[0016] 图4实验结果图。

具体实施方式

[0017] 为了更好地理解本发明的技术方案,以下结合附图和实施例作进一步的详细描述。以下实施例以本发明的技术方案为前提进行实施,给出了详细的实施方式和过程,但本发明的保护范围不限于下述的实施例。
[0018] 本发明的基于单目摄像机河流水位监测方法的流程如图1所示,具体步骤如下:
[0019] 1、利用仿射变换对图像进行几何矫正。
[0020] 采用单目摄像机采集河流水位的视频图像,从视频图像中选取需要观测的水位区域。本实施例在图2所示的视频图像中选取一块包含水面与河岸的长方形区域作为需要观测的水位区域。其中,所选择的水位区域的4个角点为a,b,c,d,水面与河岸的分界线为e,f。
[0021] 由于摄像头拍摄视角不同,不利于进行水位的监测,因此需要对其进行几何矫正。
[0022] 首先记录选择区域的4个角点(a,b,c,d)在图像中的坐标,然后重新建立一个正视图的坐标空间(a′,b′,c′,d′),根据二维仿射变换公式:
[0023]
[0024] 或其分块矩阵形式:
[0025]
[0026] 求出两个不同坐标空间的仿射变换矩阵HA。
[0027] 二维仿射变换公式中,A为非奇异的变换矩阵,x′为矫正后的坐标,x为原图像坐标。
[0028] 最后利用仿射变换矩阵HA对整幅图像进行仿射变换几何矫正,参见图2。矫正后的图像为正视图,便于对水位高度进行估计。
[0029] 2、对矫正后的视频图像灰度进行直方图均衡化处理。
[0030] 为了增加图像的对比度,突出水面和河岸区域的分界线,利用直方图均衡化算法进行图像增强。首先,计算矫正前图像A(x,y)的灰度累计分布HA(r),如果调整后的图像B(x,y)的灰度累计分布为HB(s),设定直方图均衡化公式为s=f(r),根据[0031] HA(r)dr=HB(s)ds
[0032] 因此
[0033]
[0034] 其中 r=f-1(s)。
[0035] 因此f(r)为:
[0036]
[0037] 其中Rm是比例因子。在离散形式下,f(r)为:
[0038]
[0039] 其中ni表示图像中某种灰度出现的次数,n是图像中所有的像素数,首先统计经过几何矫正后视频图像中每种灰度的累计分布,然后根据累计分布对视频图像中的灰度进行直方图均衡化处理,即根据上面所述公式,将不同的灰度映射到新的灰度值上。如此增强了视频图像的局部对比度,突出了水面和河岸的分界线。
[0040] 3、水平像素投影算法(HPIP)确定水位高度。
[0041] 对直方图均衡化后的图像进行逐行扫描,并且对每行像素灰度值进行累加计算,然后得到每行图像的灰度均值分布。在灰度分布曲线中搜索最大值,该最大值的坐标对应于水面和河岸的分界线,从而获得水位高度信息,参见图3,图中右面的灰度分布曲线的最大值对应于左边图像中水面与河岸分界线。
[0042] 4、实时、鲁棒跟踪水位变化。由于视频图像容易受到环境影响,比如光照、天气变化等,每帧图像求得的水位高度有误差,因此,采取阈值法去除噪声信息,将后一帧视频图像的水位高度信息与前一帧视频图像的水位高度信息做比较,如果超过一定阈值就舍掉,如果在阈值内,就作为新的水位高度信息,如此反复迭代跟踪水位变换。在本实施例中,阈值在5到10效果较好,在其他情况下,阈值可以根据特定情况进行设定,但需要注意阈值不能过小,这样会导致水位波动较大,干扰信号占主导地位,同时阈值过大则对水位变化不敏感,导致滞后效应,当遇到暴雨或水面短时间突然上涨的情况时,求得的水位值不准确。
[0043] 本实施例的实验结果如图4,图中曲线代表测量到的水位信息。
[0044] 以上部分均通过Visual C++2005编程实现。