掌桥专利:专业的专利平台
掌桥专利
首页

一种免水尺的河流水位视觉测量方法

文献发布时间:2023-06-19 13:48:08


一种免水尺的河流水位视觉测量方法

技术领域

本发明属于水面监测技术领域,涉及图像法水位监测技术,具体涉及一种免水尺的河流水位视觉测量方法。

背景技术

水位不仅是江河湖库水体状况的重要参数,也是水资源调配和水利工程运行的重要依据,此外城市和灌区的供水情况、暴雨情况、洪涝灾害情况、径流信息、泥沙含量、养分输移率等信息通常需要根据实测水位进行计算,随着智慧水利行业的发展,出现越来越多的水位自动化检测设备,其中水位视觉测量技术成为了当前水位测量方法的重要部分,其中有水尺的水位测量难免存在人工涉水安装危险,水尺维护繁琐等问题,因此免水尺的河流水位视觉测量方法应运而生,可以作为有图像法水尺水位测量方法的重要补充和替代手段。

目前,国内外免水尺的水位视觉测量方法可分为:

(1)设置控制点。设置控制点的方法进行水位测量需要事先在被测水域岸边处较高点处设置三个及以上控制点,获取控制点之间的位置数据以及控制点自身的大小数据,然后对在实验室内已经进行内参标定的相机架设在固定位置根据控制点的数据位置信息进行外参的标定,然后根据水边线检测得到的像素位置与控制点之间的位置关系根据标定得到的参数进行三角相似原理由水边线像素坐标获取实际水位值。例如Yu J等人在实验室内进行了相机内参的标定,在现场采用了一种通过在世界坐标系下设置四个控制点的方式,四个控制点呈现十字型排列,获取它们相关的物理距离信息,得到十字中心处到相机光心的距离,然后根据图像中水边线位置与四个控制点中心位置的像素值根据变换关系求得实际水位值。该方法在较适用于水岸垂直易于布设控制点的混凝土边坡,对于野外测站来说控制点在沙石水岸难以布设,并且在大断面、岸坡陡峭的水岸布设控制点分辨率低并且较为危险,难以实施。

(2)双目视觉法。双目视觉法是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。石晗耀等人提出一种基于双目视觉进行水位测量的方法,首先分别对两架相机进行张正友法标定,得到其内外参数,然后选取左摄像头拍摄的图中水边线上一点根据立体匹配找到左摄像头拍摄图像中的同名点,得到两个点的视差,然后进行空间坐标点的求取。通过双目视觉的方法需要两个摄像机拍摄水面的相同区域,在拍摄前首先要对两个摄像机在实验室中进行内外参标定,标定过程较为复杂,需要保证标定时两个摄像机的成像平面在同一水平面,但是两个摄像机的内部参数完全相同(包括两摄像机的拍摄状态也相同)是很难选到的,因此该方法目前在工程实际上的应用并不成熟。

(3)关系拟合法。该方法通过所拍摄图像中的水岸像素面积与水位值之间的关系拟合出的线性变化函数来获取水位值。马洋洋等人提出了一种利用河道水域面积和实际水位之间关系的水位测量方法,首先通过边缘检测得到包含清晰水边线的边缘图像,把水位基准线所在位置作为待匹配曲线模板。随后通过从图像中自下而上的曲线相似度匹配得到水边线所在位置,随后计算出水面区域的面积,通过水域面积与实际水位之间的关系拟合得到实际上水位值。该方法对于场景有特殊的要求,需要不同水位级下的水边线形态与事先做好的曲线模板相匹配,不具有普遍的适用性。

(4)激光打点法。该方法通过在河流对岸架设相机与激光测距仪,并保持相机位置相对固定,在河对岸均匀打点构建出一个虚拟的水尺进行水位测量。陈澎祥等人通过激光在水岸与水边线零点区域均匀打点,在拍摄的图像中进行标记,在打点处均匀向图像左右外阔形成一个虚拟标尺,然后通过深度学习检测得到水边线所在位置,然后根据水边线在虚拟标尺处的位置获取实际水位值。该方法需要借助激光测距仪,并且需要在相机拍摄区域正对水岸打点,该方法需要岸边区域较为空旷、平缓、顺直,激光打点可见度高。

综上所述,测量过程中水边线的检测精度是影响实际水位换算精度的重要因素,但是现有免水尺的水位视觉测量方法均存在特有的适用条件,由于各自条件的限制,难以保证测量效果。

发明内容

发明目的:为了克服现有技术中存在的不足,提供一种免水尺的河流水位视觉测量方法,仅需测流断面地形,无需安装水尺及标志物,具有布设简单、抗损毁性强、结果直观的优点。

技术方案:为实现上述目的,本发明提供一种免水尺的河流水位视觉测量方法,包括如下步骤:

S1:利用标定好内参和外参的相机拍摄河流完整断面的图像并做非线性畸变校正;

S2:在校正后的图像中的测量断面上选取水边线区域,其大小覆盖水位变幅;

S3:采用基于深度学习的PSPnet网络对选取的水边线区域进行图像分割,获得河岸为前景、水面为背景的二值图像;

S4:对二值图像进行水平投影并搜索梯度最大值得到水边线像点纵坐标的观测值;

S5:基于变高水面摄影测量模型迭代水位值计算水边线像点纵坐标,将其与观测值之差小于测量精度作为迭代停止条件得到水位近似值。

进一步地,所述步骤S1中相机的内参标定方法为:

在实验室中标定相机内参矩阵K和畸变参数矩阵D如下:

D=[k

其中,C

根据图像传感器的像元尺寸s得到相机焦距f:

f=(f

相机的外参标定方法为:

在河岸边架设相机,使其视场覆盖最高水位时的完整端面且光轴与断面方向平行,利用倾角传感器测量相机相对于水平面的俯仰角ω和横滚角

进一步地,所述步骤S1中非线性畸变校正的具体方法:

其中,(x',y')和(x,y)分别为畸变和无畸变的相机坐标,它们与对应的图像坐标(u',v')和(u,v)间满足:

公式(4)~公式(6)建立了无畸变图像坐标到畸变图像坐标的变换关系。

进一步地,所述步骤S2中水边线区域的选取要求是:要求覆盖水位变幅的所有区域水边线形状均近似为水平直线。选取宽度无特定要求,近似在所测断面处即可。

进一步地,所述步骤S3具体为:采用基于深度学习的PSPnet网络对水边线区域进行图像分割,构建水体目标检测模型,获取不同光照、水流条件下的水边线区域图像,并进行人工标注,将水体和水岸用不同类别区分,其中水体部分像素值为0,水岸部分像素值为255,获得样本训练集,然后构建基于图像语义分割的深度网络模型,深度网络模型输出为与输入图像分辨率相同的二值图像,水体和水岸目标分别用灰度值0和255表示,通过深度网络模型获得河岸为前景、水面为背景的二值图像。

进一步地,所述步骤S3中PSPnet网络(金字塔场景解析网络)的网络结构包括依次连接的多组卷积层、多组反卷积层和softmax分类器。

进一步地,所述步骤S3中深度网络模型获得河岸为前景、水面为背景的二值图像的过程为:

输入图像InputImg,本实例中输入图像尺寸为M*N*3;

CONV1(3*3*3*32)→DW_CONV(3*3*1*32+1*1*32*64)→DW_CONV(3*3*1*64+1*1*64*128)→DW_CONV(3*3*1*128+1*1*128*128)→DW_CONV(3*3*1*128+1*1*128*256)→DW_CONV(3*3*1*256+1*1*256*256)→DW_CONV(3*3*1*256+1*1*256*512)→DW_CONV(3*3*1*512+1*1*512*512)→DW_CONV(3*3*1*512+1*1*512*512)→DW_CONV(3*3*1*512+1*1*512*512)→DW_CONV(3*3*1*512+1*1*512*512)→DW_CONV(3*3*1*512+1*1*512*512);

其中“CONV1”代表卷积层,包括卷积、BatchNormalization(批量归一化)和ReLU操作,括号内部为该层所使用的卷积核的参数即宽度*长度*通道数*卷积核个数;“DW_CONV”代表深度可分离卷积层,包括分离卷积、BatchNormalization(批量归一化)和ReLU操作,深度可分离卷积需要用到两个卷积核先后对输入图像进行卷积操作,括号内部为该层所使用的两个卷积核的参数即宽度*长度*通道数*卷积核个数,最终经过一系列下采样操作后得到Img_dw为原始图像大小的1/16;

之后对Img_dw进行上采样操作,使其恢复到原始图像大小;

CONV2(3*3*512*512)→Up_Sampling(2,2)→CONV2(3*3*512*256)→Up_Sampling(2,2)→CONV2(3*3*256*128)→Up_Sampling(2,2)→CONV2(3*3*128*64)→Up_Sampling(2,2)→CONV2(3*3*64*32)→CONV3(3*3*32*2)

其中,“CONV2”代表卷积层,包括卷积和BatchNormalization(批量归一化)操作,“CONV3”也代表卷积层,但只有卷积操作,括号内部为该层卷积核参数即宽度*长度*通道数*卷积核个数;“Up_Sampling”代表上采样操作,括号内部为宽度方向上采样倍数和长度方向上采样倍数;“softmax分类器”,是指一种常用的有监督多分类模型,对各个输入分类器的概率值做指数计算,经归一化后,最大值所代表的类别即为分类结果;分类得到水岸与水体的二值图像,输出为与输入图像分辨率相同的二值图像,输出图像中的水体和水岸分别用灰度值0和255表示。

进一步地,所述步骤S4具体为:

对二值图像以图片左下角端点为原点进行水平投影并搜索梯度最大值得到水边线像点纵坐标的观测值y

进一步地,所述步骤S5中水边线像点纵坐标的计算方法为:

A1:求解左岸起点距,设当前河流的待测水位值为H

H=h-H

A2:通过遍历左岸的断面高程信息来寻找每次迭代对应的左岸水边线的起点距,考虑到计算时需要更加精确的断面起点距高程数据,因此在进行遍历之前对所测断面地形高程数据点进行扩充,每隔b米进行一次断面高程测量,以采样间隔为m米利用线性插值函数对断面高程数据进行插值,插值点的高程公式如下:

其中,x

A3:根据扩充后的断面高程数据绘制出完整的河流断面地形图;从断面所测高程起点距最大值点开始由大到小遍历求取左岸水边线的起点距,比较当前起点距对应的断面高程值与当前迭代得到的水位值的大小,通过遍历水下地形高程插值直至小于等于当前迭代得到的水位值,获得河流左岸水边线起点距为A米;

A4:由物方坐标系下断面处左岸坐标反求像点坐标,测量得到相机的起点距为C,物理坐标系原点定义为相机光心在水位最低点水平面上的垂足点,所在的Y轴与所测断面高程区域重合,图像中断面处左岸水边线的横坐标看作为0,根据变高水面摄影测量模型结合断面处左岸水边线起点距A,求得左岸水边线在变高水面摄影测量模型中的物理纵坐标Y

Y

反求出在像素坐标系下的纵坐标y'

其中,m*n表示图像分辨率,s表示图像传感器的像元尺寸。

进一步地,所述步骤S5中水位近似值的求解方法为:

根据左岸检测获取的水边线像点纵坐标y

|y'

取迭代停止时的水位值H

随后根据图像坐标带入变高水面摄影测量模型中求解高程差H:

最后根据公式(8)求得实际水位值的最佳近似值H

进一步地,所述步骤S5中变高水面摄影测量模型具体为以相机光心在水位最低点处的水平面上的垂足点为原点,断面方向为Y轴,水流方向为X轴建立坐标系,将水位的高程信息引入物像尺度变换的转换过程的一种测量模型。

本发明中需要待测水位的测量水域岸边具有较为规律的变化,能够实现断面高程数据信息的定期更新测量,拍摄断面附近水边线形状较为平直。

有益效果:本发明与现有技术相比,仅需测流断面地形,无需安装水尺及标志物,非常适用于两岸水边线顺直、断面地形稳定的河段,其具备如下优点:

1、抗损毁性强:基于免像控摄影测量原理利用水边线和断面地形测量水位,无需安装水尺及标志物,具有非接触式的特点,相比浮子式、气泡式、压力式等接触式水位计具有更强的抗损毁性,适用于水流湍急、漂浮杂物多的高洪期监测。

2、布设简单:摄像机采用岸基式布设,以倾斜视角拍摄拍摄完整断面区域,无需利用桥梁或悬臂支架垂直于水面安装,相比于雷达式和超声波式水位计等非接触式水位计的布设成本和难度大大降低。

3、结果直观:本发明方法可输出现场监控视频图像及水边线检测的可视化结果,通过人眼观察结果与实际河流水边线的一致性可对测量结果的有效性进行直观检验与回溯分析。

附图说明

图1为本发明的方法流程示意图;

图2为本发明的系统布设示意图;

图3为基于深度学习的PSPnet网络模型的原图校正图以及水边线区域样本图像;

图4为基于深度学习的PSPnet网络模型的训练集标签图像;

图5为基于深度学习的PSPnet网络模型的结构示意图,包含测试图以及分割图;

图6为基于深度学习的PSPnet网络模型的分割图像素坐标系及其对应水平投影;

图7为河流断面地形示意图;

图8为倾斜视角下透镜成像模型示意图,(a)为像素p

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

本发明提供一种免水尺的河流水位视觉测量方法,如图1所示,其包括如下步骤:

S1:利用标定好内参和外参的相机拍摄河流完整断面的图像并做非线性畸变校正;

S2:在校正后的图像中的测量断面上选取水边线区域,其大小覆盖水位变幅;

S3:采用基于深度学习的PSPnet网络对选取的水边线区域进行图像分割,获得河岸为前景、水面为背景的二值图像;

S4:对二值图像进行水平投影并搜索梯度最大值得到水边线像点纵坐标的观测值;

S5:基于变高水面摄影测量模型迭代水位值计算水边线像点纵坐标,将其与观测值之差小于测量精度作为迭代停止条件得到水位近似值。

基于上述方案,本实施例将本发明方法进行实例应用,其具体包括如下步骤:

一、测量模型的搭建和参数设置

在实验室分别标定相机的内参和畸变参数,其中内参矩阵K和畸变参数矩阵D如下:

D=[k

其中,C

然后在河岸边架设相机,使其视场覆盖最高水位时的完整端面且光轴与断面方向平行,系统架设示意图具体如图2所示。利用倾角传感器测量相机相对于水平面的俯仰角ω和横滚角

f=(f

变高水面摄影测量模型具体为以相机光心在水位最低点处的水平面上的垂足点为原点,断面方向为Y轴,水流方向为X轴建立坐标系,将水位的高程信息引入物像尺度变换的转换过程的一种测量模型。

变高水面摄影测量模型具体如图8所示。模型描述了相机主光轴oOO'垂直于x方向并且仅存在俯仰角的情况。其中,像平面坐标系用(x,y)表示,物平面坐标系用(X,Y)表示;O为透镜平面的光心,o,O'分别为其在像平面和物平面上的投影点;C为像平面延长线和通过光心的水平线的交点;d为光心到物平面的垂直距离;相机的俯仰角α定义为相机主光轴和物平面间的夹角。当物距远大于像距时,焦距f与像距近似相等,图像中坐标为(i,j)的像素p

ΔX(i,j)=|X

ΔY(i,j)=|Y

假设像素p

ΔY(i,j)=P

对于投影点p

其中,s表示图像传感器的像元尺寸。由于α=∠cOo、β=∠cOp

同理,对于投影点p

将式(8)、(9)代入式(6),得:

由于arctan为奇函数,当像素点p

假设像素p

对于像素点p

由于φ=∠p

代入式(12),有:

同理对于像素p

根据式(8)有:

将式(14)、式(15)和式(16)带入式(11)得:

可见,ΔX(i,j)和图像坐标i无关。当像素p

二、河流水位视觉测量

具体的测量过程包括如下步骤:

1)利用架设好的相机拍摄河面包含完整待测断面区域的图像,本实施例中具体的河面断面地形如图7所示,对拍摄的图像进行非线性畸变校正:

其中,(x',y')和(x,y)分别为畸变和无畸变的相机坐标,它们与对应的图像坐标(u',v')和(u,v)间满足:

以上三式建立了无畸变图像坐标到畸变图像坐标的变换关系。

2)在校正图像中的测量断面上选取水边线区域,其大小覆盖水位变幅,选取断面上覆盖所有水位变幅区域的图像区域为水边线区域(感兴趣区域),设置水边线区域大小为M*N像素。

3)采用基于深度学习的PSPnet网络对水边线区域进行图像分割,构建水体目标检测模型,如图3所示,获取不同光照、水流条件下的水边线区域图像,并进行人工标注,将水体和水岸用不同类别区分,制成24位PNG格式的标签图,其中,水体部分像素值为0,水岸部分像素值为255,如图4所示,获得样本训练集;然后利用样本训练集进行训练,构建基于图像语义分割的深度网络模型,该模型输出为与输入图像分辨率相同的二值图像,水体和水岸目标分别用灰度值0和255表示。

参见图5,现对基于图像语义分割的深度网络模型结构描述如下:

输入图像InputImg,本实例中输入图像尺寸为50*400*3。

CONV1(3*3*3*32)→DW_CONV(3*3*1*32+1*1*32*64)→DW_CONV(3*3*1*64+1*1*64*128)→DW_CONV(3*3*1*128+1*1*128*128)→DW_CONV(3*3*1*128+1*1*128*256)→DW_CONV(3*3*1*256+1*1*256*256)→DW_CONV(3*3*1*256+1*1*256*512)→DW_CONV(3*3*1*512+1*1*512*512)→DW_CONV(3*3*1*512+1*1*512*512)→DW_CONV(3*3*1*512+1*1*512*512)→DW_CONV(3*3*1*512+1*1*512*512)→DW_CONV(3*3*1*512+1*1*512*512);

其中“CONV1”代表卷积层,包括卷积、BatchNormalization(批量归一化)和ReLU操作,括号内部为该层所使用的卷积核的参数即宽度*长度*通道数*卷积核个数;“DW_CONV”代表深度可分离卷积层,包括分离卷积、BatchNormalization(批量归一化)和ReLU操作,深度可分离卷积需要用到两个卷积核先后对输入图像进行卷积操作,括号内部为该层所使用的两个卷积核的参数即宽度*长度*通道数*卷积核个数,最终经过一系列下采样操作后得到Img_dw为原始图像大小的1/16。

之后对Img_dw进行上采样操作,使其恢复到原始图像大小:

CONV2(3*3*512*512)→Up_Sampling(2,2)→CONV2(3*3*512*256)→Up_Sampling(2,2)→CONV2(3*3*256*128)→Up_Sampling(2,2)→CONV2(3*3*128*64)→Up_Sampling(2,2)→CONV2(3*3*64*32)→CONV3(3*3*32*2)

其中,“CONV2”代表卷积层,包括卷积和BatchNormalization(批量归一化)操作,“CONV3”也代表卷积层,但只有卷积操作,括号内部为该层卷积核参数即宽度*长度*通道数*卷积核个数;“Up_Sampling”代表上采样操作,括号内部为宽度方向上采样倍数和长度方向上采样倍数。“softmax分类器”,是指一种常用的有监督多分类模型,对各个输入分类器的概率值做指数计算,经归一化后,最大值所代表的类别即为分类结果。分类得到水岸与水体的二值图像。

4)参见图6,对二值图像以图片左下角端点为原点进行水平投影并搜索梯度最大值得到水边线像点纵坐标的观测值y

5)求解左岸起点距,设当前河流的待测水位值为H

H=h-H

接下来通过遍历左岸的断面高程信息来寻找每次迭代对应的左岸水边线的起点距,考虑到计算时需要更加精确的断面起点距高程数据,因此在进行遍历之前对所测断面地形高程数据点进行扩充,每隔2-3米进行一次断面高程测量,以采样间隔为0.05米利用线性插值函数对断面高程数据进行插值,插值点的高程公式如下:

其中,x

根据扩充后的断面高程数据绘制出完整的河流断面地形图;从断面所测高程起点距最大值点开始由大到小遍历求取左岸水边线的起点距,比较当前起点距对应的断面高程值与当前迭代得到的水位值的大小,通过遍历水下地形高程插值直至小于等于当前迭代得到的水位值,可以获得河流左岸水边线起点距为A米。

6)由物方坐标系下断面处左岸坐标反求像点坐标,测量得到相机的起点距为C,物理坐标系原点定义为相机光心在水位最低点水平面上的垂足点,所在的Y轴与所测断面高程区域重合,图像中断面处左岸水边线的横坐标可以看作为0,根据变高水面摄影测量模型结合断面处左岸水边线起点距A,便可以求得左岸水边线在变高水面摄影测量模型中的物理纵坐标Y

Y

便可反求出在像素坐标系下的纵坐标y'

其中,m*n表示图像分辨率,s表示图像传感器的像元尺寸。

7)求解实际水位值,根据左岸检测获取的水边线像点纵坐标y

|y'

取迭代停止时的水位值H

随后根据图像坐标带入变高水面摄影测量模型中求解高程差H:

最后根据公式(22)求得实际水位值的最佳近似值H

相关技术
  • 一种免水尺的河流水位视觉测量方法
  • 一种多级水尺水位视觉测量方法及测量系统
技术分类

06120113809465