CN112862898B - 一种基于计算机视觉的流速测定方法 - Google Patents
一种基于计算机视觉的流速测定方法 Download PDFInfo
- Publication number
- CN112862898B CN112862898B CN202110161966.3A CN202110161966A CN112862898B CN 112862898 B CN112862898 B CN 112862898B CN 202110161966 A CN202110161966 A CN 202110161966A CN 112862898 B CN112862898 B CN 112862898B
- Authority
- CN
- China
- Prior art keywords
- camera
- key point
- flow
- coordinates
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P5/00—Measuring speed of fluids, e.g. of air stream; Measuring speed of bodies relative to fluids, e.g. of ship, of aircraft
- G01P5/26—Measuring speed of fluids, e.g. of air stream; Measuring speed of bodies relative to fluids, e.g. of ship, of aircraft by measuring the direct influence of the streaming fluid on the properties of a detecting optical wave
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Aviation & Aerospace Engineering (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于计算机视觉的流速测定方法,包括如下步骤:在待测速河道上选取测流断面,并固定架设摄像机,调节摄像机角度,使选取的测速断面完全进入摄像机视野范围内;在摄像机视野范围内的水面上设置标定板,对摄像机的像素坐标与水流平面的物理坐标进行标定,并固定摄像机的摄像角度和焦距;通过摄像机获取测流断面的图像,根据连续2帧图像上的关键点变化,计算关键点基于像素坐标的位移向量,通过步骤S2中像素坐标与物理坐标的标定关系转换得到该关键点基于物理坐标的位移向量,结合摄像机的帧率,计算该关键点的流速。本发明具有标定方法简单可控,能够降低计算量,对硬件资源要求低等优点。
Description
技术领域
本发明涉及流速测定技术领域,特别的涉及一种基于计算机视觉的流速测定方法。
背景技术
经过多年的发展与积累,人工智能(AI)技术已广泛运用于各行各业之中,尤其在2016年Google开发的AlphaGo围棋人工智能4:1战胜世界冠军李世石之后,AI技术再次受到全球的瞩目,近几年已在各种应用场景中大放异彩。而作为人工智能重要组成部分的计算机视觉(Computer Vision)技术及深度学习(Deep learning)方法,更是取得了长足的进步。人脸识别、工业检测、视频结构化、行人检测、行为分析等已不断地被整合运用在各大领域之中,如智慧安防、智慧社区、智慧工地、智慧城市等。在我国的水利水文行业中,计算机视觉也被运用于解决各类实际问题,如水流速度测定、警戒区闯入检测、水质判断等。
目前,在对水流速度进行计算机视觉测量时,现有的方法往往存在硬件资源要求较高、计算量大的缺点。
发明内容
针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种标定方法简单可控,能够降低计算量,对硬件资源要求低的基于计算机视觉的流速测定方法。
为了解决上述技术问题,本发明采用了如下的技术方案:
一种基于计算机视觉的流速测定方法,其特征在于,包括如下步骤:
S1、在待测速河道上选取测流断面,并固定架设摄像机进行视频图像获取,调节摄像机角度,使选取的测速断面完全进入摄像机视野范围内;
S2、在摄像机视野范围内的水面上设置标定板,对摄像机的像素坐标与水流平面的物理坐标进行标定,并固定摄像机的摄像角度和焦距;
S3、通过摄像机获取测流断面的图像,根据连续2帧图像上的关键点变化,计算关键点基于像素坐标的位移向量,通过所述步骤S2中像素坐标与物理坐标的标定关系转换得到该关键点基于物理坐标的位移向量,结合摄像机的帧率,计算该关键点的流速。
进一步的,所述步骤S2中,摄像机的像素坐标与水流平面的物理坐标的标定关系如下:
q2∝Hq1
其中,q1为摄像机的像素坐标,q2为q1所对应点在水流平面的物理坐标,H为q1和q2的对应关系矩阵。
进一步的,采用如下步骤确定对应关系矩阵H:
将标定关系采用齐次坐标展开表示为:
其中,u1、v1和u2、v2分别表示像素坐标和物理坐标;
进行归一化处理,令H33=1,得到:
对于标定板上的任一匹配点的坐标可得如下方程:
选取标定板上至少四个匹配点的坐标组成方程组,采用RANSAC算法或者最小二乘法得到关系矩阵H的最优解。
进一步的,所述步骤S3中,对于任一关键点I(x,y,t),在间隔时间dt后的下一帧中移动距离为(dx,dy),且像素相同,可得到:
I(x,y,t)=I(x+dx,y+dy,t+dt)
对上式右侧做泰勒级数近似,除以dt,可得到:
fxu+fyv+ft=0
在关键点的周围选取相邻像素点,获得至少3x3的窗口数据,且各像素点均满足fxu+fyv+ft=0,使用最小二乘法求取最优解得到:
其中,(u,v)为该关键点基于像素坐标的位移向量,下标i代表各像素点。
进一步的,将关键点基于像素坐标的位移向量转换为水流平面的物理坐标的位移向量:关键点在上一帧的像素坐标为(x1,y1),下一帧的像素坐标(x2,y2),根据标定关系q2∝Hq1,可得到该关键点在物理坐标分别为(x1′,y1′)和(x2′,y2′),计算得到该关键点基于物理坐标的位移向量为:
S=(u′,v′)
其中,u′=x2′-x1′,v′=y2′-y1′。
进一步的,获取图像中所有关键点基于物理坐标的位移向量,拟合水流的流速方向向量L,将各关键点基于物理坐标的位移向量投影到流速方向向量L上,得到该关键点在流速方向上的位移D:
D=S·L/|L|
其中,S·L为向量点乘,|L|为向量模长;
将位移D乘以摄像机的帧率即可得到该关键点的流速。
进一步的,所述步骤S3中,在摄像机获取的测流断面图像中,沿河道的宽度方向划分出呈长条状的测流区,并在所述测流区内获取关键点。
这样,划定测流区可以减小图像处理的数据量,降低硬件要求。
进一步的,在所述测流区内,沿河道的宽度方向上,相邻的两个所述关键点之间的间距小于间距设定值。
这样,就可以避免获得的关键点数据过少,或减少测流区内关键点的空白区域过多,从而可以保证对整个测流区进行流速的测定。
进一步的,将所述测流区沿长度方向等距分割成多个测流子区,所述测流子区的宽度小于所述间距设定值,并在每个所述测流子区获取至少一个关键点。
一种基于计算机视觉的河道监测方法,其特征在于,包括如上所述的基于计算机视觉的流速测定方法。
综上所述,本发明具有标定方法简单可控,能够降低计算量,对硬件资源要求低等优点。
附图说明
图1为测流断面的结构示意图。
图2为标定板设置图。
图3为像素坐标与物理坐标对应关系示意图。
图4为断面选取示意图。
图5为测流区的划分示意图。
图6为流速分布曲线图。
图7和图8为水尺的结构示意图。
图9为矩形框交集的结构示意图。
图10为红色区域的二值图。
图11为红色区域的矩形框识别图。
图12为蓝色区域的二值图。
图13为蓝色区域的矩形框识别图。
图14为蓝色区域的合并矩形框识别图。
图15为水尺区域的识别图。
图16为待读取水尺的区域示意图。
图17为蓝色区域的读取识别示意图。
图18为蓝色区域的Y坐标读取示意图。
图19为水位线区域识别示意图。
图20为聚类法和切片法所得水位线示意图。
图21为水位线读数示意图。
具体实施方式
下面结合一种采用本发明方法的基于计算机视觉的河道监测方法对本发明作进一步的详细说明。
具体实施时:一种基于计算机视觉的河道监测方法,包括基于计算机视觉的流速测定方法,包括如下步骤:
1、测流断面的选取
参考《GB 50179-2015河流流量测验规范》,测验河段宜选在石梁、急滩、弯道、卡口和人工堰坝等易形成断面控制的上游河段。其中石梁、急滩、玩到、卡口的上游河段宜离开断面控制的距离为河宽的5倍,山溪性河流断面控制的距离可放宽至河宽的3倍;或选在河槽的底坡、断面形状、糙率等因素比较稳定和易受河槽沿程阻力作用形成河槽控制的河段,河段内应无巨大块石阻水,无巨大涡旋、乱流等现象。当断面控制和河槽控制发生在某河段不通位置时,应选取断面控制的河段作为测验河段;再几处具有相同控制特性的河段上,应选择水深较大的窄深河段作为测验河段。中小河流测验河段如难满足上述控制距离,可适当放宽,但应满足测验方法的使用条件。
断面选取后,应按规范要求进行断面结构测量,测量数据如下表所示,并绘制断面结构图,如图1所示。
2、标定
在测流断面所在区域架设摄像机,调整摄像机的视野,使选取的测速断面完全进入摄像机视野范围内,然后在摄像机视野范围内的河面上安装标定板,通过摄像机获取标定板的图像,如图2所示。
如图3所示,通过标定,建立摄像机平面与水流平面坐标的关联关系,通过建立的关系,可计算出关系矩阵。标定完成后,对摄像机设置预置位(固定摄像机的角度与焦距等)。如果摄像机安装位置或者参数发生变化,或者水流平面水位发生较大变化,则需要重新标定。
关系矩阵的计算方法如下:
在计算机视觉中,平面的单应性被定义为一个平面到另外一个平面的投影映射。因此一个二维平面上的点映射到摄像机成像仪上的映射就是平面单应性的例子。其映射关系为:
q2∝Hq1
其中,q1为摄像机的像素坐标,q2为q1所对应点在水流平面的物理坐标,H为q1和q2的对应关系矩阵。其展开后为:
因为转换的是齐次坐标,所以单应矩阵与尺度无关,因此自由度为8,使用H33=1来进行归一化,得到:
代入一组匹配点的坐标得到2个方程:
在本实施例中,在标定板上选取四个匹配点进行计算,获得如下线性方程组:
对上述线性方程组采用RANSAC算法或者最小二乘法求解,计算得出对应矩阵H的最优解。
3、流速计算
在摄像机获取的测流断面图像中,沿河道的宽度方向划分出呈长条状的测流区,如图4所示和图5所示,根据选择好的测流区,分析视频图像中,断面周围的水流图像像素变化趋势,分析连续2帧图像的之间的变化,计算得出关键点基于像素坐标的位移向量。
连续2帧之间关键点,基于像素坐标的位移向量计算方法如下:
考虑到摄像机的帧率(通常为25FPS)和河流水流速度(通常小于5m/s),我们假定一个关键点的像素值在连续2帧间不变,因此首发帧的像素I(x,y,t),在dt时间之后的下一帧中移动距离为(dx,dy),且这些像素是相同的,可得到:
I(x,y,t)=I(x+dx,y+dy,t+dt)
对上式右边做泰勒级数近似,除以dt,可得到:
fxu+fyv+ft=0
考虑到关键点周围相邻的像素有相同的移动趋势,此处使用3×3的窗口的数据,因此,有9个像素点满足公式fxu+fyv+ft=0。
所以现在问题变成解决了9个方程式,其中两个未知变量是过度确定的.解的个数大于未知数的个数,这是个超定方程,使用最小二乘的方法来求解最优值。
(u,v)为该关键点基于像素坐标的位移向量,下标i代表各像素点。同理,视频中其他关键点位移向量同样方式计算可得。
统计一段时间内的数据,并结合上述标定过程计算得出的关系矩阵H,将收集到的一系列位移向量,转化为水流平面的坐标的位移向量。计算方法如下:
关键点在上一帧的像素坐标为(x1,y1),下一帧的像素坐标(x2,y2),根据标定关系q2∝Hq1,可得到该关键点在物理坐标分别为(x1′,y1′)和(x2′,y2′),计算得到该关键点基于物理坐标的位移向量为:
S=(u′,v′)
其中,u′=x2′-x1′,v′=y2′-y1′。
获取图像中所有关键点基于物理坐标的位移向量,拟合水流的流速方向向量L,将各关键点基于物理坐标的位移向量投影到流速方向向量L上,得到该关键点在流速方向上的位移D:
D=S·L/|L|
其中,S·L为向量点乘,|L|为向量模长;
然后结合视频的帧率,计算出连续两帧之间的时间差dt,以25FPS为例,dt=1/25秒=0.04秒,对应点的流速V=D/dt。统计得到的一系列流速V的集合,过滤掉无效数据(如流速大于100m/s),得出各关键点的流速大小,如图6所示,图中纵坐标表示距离河岸的距离,横坐标表示流速。获取的流速数据,结合所选定的断面结构数据,可以计算出水流断面的通量。
上述方法在流速测定时,需要确定水位高度,而河流的水位随着季节等因素会发生变化。为此,还设计了一种基于机器视觉的水位检测方法,实施前,根据水位自动识别的需求,结合
《GBT50138-2010-水位观测标准》的要求,设计了一份特殊的水尺样式。如图7和图8所示,包括水尺本体1,所述水尺本体1上涂设有水尺线,所述水尺线包括沿竖向涂设的特征色线2,所述特征色线2的两侧具有沿长度方向依次交错设置的刻度线块3,所述刻度线块3包括三条间隔设置特征刻度线31,所述特征刻度线31与所述特征色线2均采用红色涂设,相邻两条特征刻度线之间涂设有白色刻度线32,使刻度线块3与所述特征色线2形成“E”形;其中一侧的刻度线块3之间的区域涂设为蓝色色块4,另一侧的刻度线块3之间的区域涂设有数字(图中未示出)。图8仅为示意,实际使用中,水尺本体1的直径相对更大,使水尺线的弯曲程度更小,更便于识别。
所述水尺本体上可滑动地套设有浮块5,所述浮块5的上端面高于水面,且垂直于所述水尺本体的轴线,所述浮块的上端面与水尺上的数字相对应的一侧涂设有蓝色色块,该蓝色色块向中部延伸至所述特征色线所对应的位置。这样,就可以利用浮块上端面的蓝色色块的边缘线确定读数线,再利用浮块上端面与水面的固定距离,就可以准确读出水位高度。
实施时,所述水尺本体的背侧具有沿长度方向设置的凸棱(图中为示出),所述浮块上具有与该凸棱对应设置的凹槽。这样,就可以避免浮块相对水尺本体转动,保证浮块上端面上的蓝色色块与水尺本体之间的相对位置。
水尺材料:
水尺主体材料为304不锈钢,
表面特征色漆的材料:
(1)哑光:务必选用哑光漆,最好是全哑(60°光泽仪测量小于5GU,或者85°光泽仪测量小于10GU)。因为水尺表面反光会对图像质量产生较大影响,影响识别精度。
(2)防水、耐腐蚀:由于水尺长期固定在江、河、水库等水体中,以及受酸雨侵蚀等,水尺表面的漆需采用防水、耐腐蚀的品类。
(3)防晒:水尺也长期暴露在烈日之下,普通的漆容易变质,颜色发生变化,甚至脱落。
水尺整体样式如图7所示,底色为白色(RGB:255,255,255),数字采用红色(RGB:255,0,0)涂设,刻度线块3的红白条纹(即特征刻度线31和白色刻度线32)总高度为50mm,红色细纹(特征刻度线31)高度为10mm,蓝色矩形(蓝色色块4,RGB:255,0,0)高度为50mm。
水尺线的整体宽度为100mm(不超过200mm),中间的特征色线2不小于20mm。
采用如下步骤进行识别:
1、读取图片,得到图片的BGR数据(用bgrData表示),其为W*H*D的三维矩阵,其中W为图片宽度、H为图片高度、D为图片通道(此处为BGR,其中B为蓝色、G为绿色、R为红色),其结构如下所示:
[[[112 127 113][106 121 107][95 111 94]…[43 111 58][47 112 63][48113 64]]
…
[[47 108 82][54 115 87][52 116 86]…[116 115 125][113 114 124][113114 124]]]
2、将上述所得图片数据的BGR通道转化为HSV通道,其中H为色调、S为饱和度、V为亮度,得到hsvData,其数据结构如下所示:
[[[58 30 127][58 32 121][62 39 111]…[53 156 111][53 148 112][53 147113]]
…
[[43 110 141][44 121 129][44 122 134]…[177 21 122][3 23 122][3 23121]]]
3、定义两个矩形框之间距离的计算方式,如图9所示,定义矩形框a的面积为S1,矩形框b面积为S2,两者交集为SC,两者最小外接矩形面积为S3,两个矩形框之间的间距为SV,SV=(S1+S2-SC)/S3,可得SV的变化范围为0~1,SV的值越大,两个矩形框的距离越近,反之则两个矩形框的距离越远。
4、根据红色及蓝色两种特征色在各种光线环境下的变化情况,统计得出两者的HSV阈值范围。本实施例中,红色为[[[165,120,100],[180,255,255]],[[0,120,100],[30,255,255]]],蓝色为[[[80,110,50],[130,255,255]]]。
5、根据红色HSV阈值范围及上面所得hsvData,计算出红色区域的二值图maskRed,对图片做形态学操作,先腐蚀,再膨胀,过滤掉噪声,如图10所示。对maskRed二值图求取外接矩形轮廓,得到一系列红色区域的矩形框的集合redBoxes,其在bgrData绘制出来,如图11所示,从图中可以看出,右侧红色区域并没有水尺,此区域为干扰项,在后续算法中排除过滤。
6、根据蓝色HSV阈值范围及上面所得hsvData,计算出蓝色区域的二值图maskBlue,对图片做形态学操作,先腐蚀,再膨胀,过滤掉噪声,如图12所示。对maskBlue二值图求取外接矩形轮廓,得到一系列蓝色区域的矩形框的集合blueBoxes,其在bgrData绘制出来,如图13所述。
按照第(3)步所提出的算法,对blueBoxes进行合并,合并原则:循环迭代判断两个框的距离SV值,当两个矩形框的SV值大于0.5(此处为经验值,可根据实际情况调整)时,和并两个矩形框,用最小外接矩形框代替原有两个矩形框,并以此外接矩形框作为下次迭代的输入,直至所有相邻的矩形框都被合并,最终得到blueBoxes1,其在rgbData中的显示效果如图14所示。
7、由于水尺具有红色和蓝色两种特征色,上述计算已经得到两种特征色的分布区域的矩形框redBoxes和blueBoxes1,当红色区域及蓝色区域的重合度非常高时(两者矩形框距离SV大于0.9),则判定该区域为水尺区域。
如图15所示,可以看出最右侧的红色区域找不到和其距离相近(SV>0.9)的蓝色区域,因此将其作为干扰项过滤掉,保留左侧两个区域作为水尺区域。
8、将自动监测的水尺区域,截取下来,作为后续水尺刻度识别的输入。
10、将自动监测的水尺区域提取出来,以图15中左侧水尺为例,将其作为刻度识别的输入,如图16所示。
先对图片进行预处理,处理步骤如下:
a、保证图片长宽比,将图片的宽度设置为200个像素,然后进行缩放。
b、将图片做高斯模糊,得到图片数据imgData。
c、imgData为BGR通道的数据,将其转为HSV通道,得到hsvData,备用。
11、采用步骤6的方法,对hsvData进行蓝色阈值分割,得到蓝色区域二值图maskBlue,如图17所示,对maskBlue二值图求取外接矩形轮廓,得到一系列蓝色区域的矩形框的集合blueBoxes。
12、对blueBoxes按照Y坐标进行排序(从上而下),求取每个box的最大Y坐标值和最小Y坐标值,并组成新的集合blueYs,本实施例中,如图18所示,其结果如下:[62,126,212,270,358,416,502,561,647,705,791,851],由此可得每个蓝色区域关键点在图像中对应的Y坐标。
13、从图18可以看出,蓝色区域关键点所对应的像素坐标是明确的,加上已知水尺规格(此处为1m),然后每个蓝色轮廓(blueBox)其高度为5cm,因此水尺自上而下,每个蓝色关键点所对应的水尺读数依次为[1.00,0.95,0.90,0.85,0.80,0.75,0.70,0.65,0.60,0.55,0.50,0.45],将其定义为readNums。可知readNums和blueYs的值一一对应。将blueYs的值作为自变量,readNums的值作为因变量,则建立两者之间的线性关系,从而根据检测得到的水位线对应的Y坐标,带入线性关系中,计算出水位线对应的读数。因此,水位线的检测变得至关重要,直接影响到最终水位的读数是否准确。
在本实施例中,可以在步骤13的基础上,利用浮块上端面的蓝色色块的最大Y坐标作为水位参考线,直接读出该水位参考线的读数,在利用浮块高出水面的距离进行修正,得出正确水位高度。
也可以采用下面的步骤,采用聚类法和切片法对水位线进行识别,本根据这两种方法的计算结果及相应权重,确定最终的水位线。
14、在进行水位线监测操作之前,对水尺图片进行预处理,缩小检测区域以减少误差。方法为选取blueYs的倒数第二个值作为目标区域的上边缘(此处为Y=791),然后加上该蓝色轮廓高度的两倍值(791+2*(851-791)=911)作为目标区域的下边缘。如图19所示,显而易见水位线位于该区域内。接下来再以两种方法分别求取其水位线。
聚类法和切片法检测水位线的原理在于,对于选取的某固定色彩阈值(此处为红色),当其转换为HSV通道时,随着光线环境的变化,其H值(色调)的变化范围不大,但是其S值(饱和度)及V值(亮度)将随着环境光线变化而变化。因此,对于红色阈值而言,由于水面的反射或者折射,水位线以上部分的饱和度和亮度和水位线以下的部分有明显的变化。
15、聚类法则是根据使用KMeans聚类,对提取的红色阈值的S值及V值所组成的二位数组进行无监督学习,进行二分类(水位线上部分和水位线下部分),并求取两个类别的类中心值center1和center2,然后求取两者平均值centerMean=(center1+center2)/2,以此图为例,计算得到centerMean=[168,122]。
16、第4步中预先设定的红色阈值范围为:[[[165,120,100],[180,255,255]],[[0,120,100],[30,255,255]]],可得初始的S值(饱和度)区间在120~255之间,V值(亮度)区间在100~255之间。由centerMean=[168,122]可知,centerS=168,centerV=122,带入初始的S值及V值区间,得到新的S值区间为168~255,V值区间为122~255。更新红色阈值范围为:[[[165,168,122],[180,255,255]],[[0,168,122],[30,255,255]]]。同理代入hsvData,得到二值图maskRed。对maskRed计算其轮廓的外接矩形,取最大轮廓底部对应Y值作为水位线的Y坐标,定义其为waterLineY1,以图19为例,计算得到waterLineY1=836,其结果备用。
17、然后使用切片法求水位线,将第14步得到的区域,按图片高度均分为10(可根据实际情况调整)等分,并计算得到每等分图片的高度,此处为:12.8。然后计算每等分的红色阈值范围内的HSV均值,此处计算结果为:[[169,188,127],[169,169,125],[170,169,122],[171,161,121],[171,168,101],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]。然后依次求取相邻两片HSV均值的差值(H、S、V之和的差值),计算出差值最大的两篇的位置,此处为第5个图片和第6个图片差值最大。缩小水位线范围到第五个图片内,然后取第五个图片的中间Y坐标作为水位线位置,定义其为waterLineY1,此处计算得到waterLineY1=848,其结果备用。聚类法和切片法所得水位线如图20所示。
18、此处定义最终的水位曲线为waterLineY,当waterLineY1与waterLineY2的差值大于25时,waterLineY=(waterLineY1+waterLineY2)/2;当waterLineY1与waterLineY2的差值小于等于25时,则waterLineY=waterLineY1。此处可得waterLineY=836。将得到的waterLineY=836,代入到第13步,通过线性回归,得到水位线对应的读数readNum=0.467。读数及水位线的示意图如图21所示,从图中可以看出,水位线及读数和实际情况相符合,误差在1cm之内。
在标定时,在标定板的一角设置让位口,并将标定板的让位口对准水尺,确定水尺与水面的交界处在标定板上的位置。由于水尺始终与水面垂直,水位的升降时,水尺与水面的交界位置仅在纵向变化,从而可以根据水尺上读出的水面高度对摄像机与标定板之间的坐标转换关系进行修正,从而无需对水面进行重复标定。
具体在实施时,在对流速进行测定前,需要先采用基于机器视觉的水位检测方法检测出水位高度,然后利用标定过程中水尺与标定板的相对位置关系,以及结合水位高度对标定板与摄像机之间的坐标对应关系进行修正,即修正对应矩阵H,然后在修正的对应矩阵H的基础上采用基于计算机视觉的流速测定方法进行流速的测定。
以上所述仅为本发明的较佳实施例而已,并不以本发明为限制,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于计算机视觉的流速测定方法,其特征在于,包括如下步骤:
S1、在待测速河道上选取测流断面,并固定架设摄像机进行视频图像获取,调节摄像机角度,使选取的测速断面完全进入摄像机视野范围内;
S2、在摄像机视野范围内的水面上设置标定板,对摄像机的像素坐标与水流平面的物理坐标进行标定,并固定摄像机的摄像角度和焦距;
S3、通过摄像机获取测流断面的图像,根据连续2帧图像上的关键点变化,计算关键点基于像素坐标的位移向量,通过所述步骤S2中像素坐标与物理坐标的标定关系转换得到该关键点基于物理坐标的位移向量,结合摄像机的帧率,计算该关键点的流速;
所述步骤S2中,摄像机的像素坐标与水流平面的物理坐标的标定关系如下:
q2∝Hq1
其中,q1为摄像机的像素坐标,q2为q1所对应点在水流平面的物理坐标,H为q1和q2的对应关系矩阵;
所述步骤S3中,对于任一关键点I(x,y,t),在间隔时间dt后的下一帧中移动距离为(dx,dy),且像素相同,可得到:
I(x,y,t)=I(x+dx,y+dy,t+dt)
对上式右侧做泰勒级数近似,除以dt,可得到:
fxu+fyv+ft=0
在关键点的周围选取相邻像素点,获得至少3x3的窗口数据,且各像素点均满足fxu+fyv+ft=0,使用最小二乘法求取最优解得到:
其中,(u,v)为该关键点基于像素坐标的位移向量,下标i代表各像素点;
将关键点基于像素坐标的位移向量转换为水流平面的物理坐标的位移向量:关键点在上一帧的像素坐标为(x1,y1),下一帧的像素坐标(x2,y2),根据标定关系q2∝Hq1,该关键点在物理坐标分别为(x1′,y1′)和(x2′,y2′)时计算得到该关键点基于物理坐标的位移向量为:
S=(u′,v′)
其中,u′=x2′-x1′,v′=y2′-y1′;
获取图像中所有关键点基于物理坐标的位移向量,拟合水流的流速方向向量L,将各关键点基于物理坐标的位移向量投影到流速方向向量L上,得到该关键点在流速方向上的位移D:
D=S·L/|L|
其中,S·L为向量点乘,|L|为向量模长;
将位移D乘以摄像机的帧率即可得到该关键点的流速。
3.如权利要求1所述的基于计算机视觉的流速测定方法,其特征在于,所述步骤S3中,在摄像机获取的测流断面图像中,沿河道的宽度方向划分出呈长条状的测流区,并在所述测流区内获取关键点。
4.如权利要求3所述的基于计算机视觉的流速测定方法,其特征在于,在所述测流区内,沿河道的宽度方向上,相邻的两个所述关键点之间的间距小于间距设定值。
5.如权利要求4所述的基于计算机视觉的流速测定方法,其特征在于,将所述测流区沿长度方向等距分割成多个测流子区,所述测流子区的宽度小于所述间距设定值,并在每个所述测流子区获取至少一个关键点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110161966.3A CN112862898B (zh) | 2021-02-05 | 2021-02-05 | 一种基于计算机视觉的流速测定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110161966.3A CN112862898B (zh) | 2021-02-05 | 2021-02-05 | 一种基于计算机视觉的流速测定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112862898A CN112862898A (zh) | 2021-05-28 |
CN112862898B true CN112862898B (zh) | 2022-03-08 |
Family
ID=75989283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110161966.3A Active CN112862898B (zh) | 2021-02-05 | 2021-02-05 | 一种基于计算机视觉的流速测定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112862898B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343923A (zh) * | 2021-07-01 | 2021-09-03 | 江苏舆图信息科技有限公司 | 一种基于视频图像的河道排口排水状态实时识别方法 |
CN114885097B (zh) * | 2022-03-31 | 2024-02-06 | 浙江大华技术股份有限公司 | 一种智能相机监测水流的方法、装置及存储介质 |
CN117214461B (zh) * | 2023-08-31 | 2024-04-09 | 江苏微之润智能技术有限公司 | 一种基于融合算法的悬翼式流速仪标定方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007545B1 (en) * | 1999-10-26 | 2006-03-07 | Peter Martinek | Method and measurement probe for the performance of measurements in water supply systems |
CN111160210B (zh) * | 2019-12-24 | 2023-09-26 | 天地伟业技术有限公司 | 一种基于视频的水流速检测方法及系统 |
CN111798386B (zh) * | 2020-06-24 | 2022-03-22 | 武汉大学 | 一种基于边缘识别与最大序列密度估计的河道流速测量方法 |
CN112215903A (zh) * | 2020-10-14 | 2021-01-12 | 四川大学锦江学院 | 一种基于超声波和光流法检测河流流速的方法及装置 |
-
2021
- 2021-02-05 CN CN202110161966.3A patent/CN112862898B/zh active Active
Non-Patent Citations (1)
Title |
---|
Flow velocity and discharge measurement in rivers using terrestrial and UAV imagery;Anette Eltner et al.;《Hydrology and Earth System Sciences Discussions》;20190625;第1-29页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112862898A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112862898B (zh) | 一种基于计算机视觉的流速测定方法 | |
Yang et al. | 3D local feature BKD to extract road information from mobile laser scanning point clouds | |
CN103345755B (zh) | 一种基于Harris算子的棋盘格角点亚像素提取方法 | |
CN104835175B (zh) | 一种基于视觉注意机制的核环境中目标检测方法 | |
CN108759973A (zh) | 一种水位测量方法 | |
CN107392929B (zh) | 一种基于人眼视觉模型的智能化目标检测及尺寸测量方法 | |
CN106251353A (zh) | 弱纹理工件及其三维位姿的识别检测方法及系统 | |
CN110097536A (zh) | 基于深度学习和霍夫变换的六边形螺栓松动检测方法 | |
CN113819974B (zh) | 一种免水尺的河流水位视觉测量方法 | |
CN112884731B (zh) | 一种基于机器视觉的水位检测方法及河道监测方法 | |
CN103735269A (zh) | 一种基于视频多目标跟踪的高度测量方法 | |
CN111476157B (zh) | 一种路口监控环境下的车道导向箭头识别方法 | |
CN112013921B (zh) | 一种基于水位尺测量图像获取水位信息的方法、装置和系统 | |
CN109284663A (zh) | 一种基于正态和均匀混合分布模型的海面障碍物检测方法 | |
Yuan et al. | Combining maps and street level images for building height and facade estimation | |
CN109961065B (zh) | 一种海面舰船目标检测方法 | |
CN115272353A (zh) | 适用于裂纹检测的图像处理方法 | |
CN113269049A (zh) | 一种用于检测手写汉字区域的方法 | |
CN103745463A (zh) | 基于梯度信息的新颖多源图像快速配准方法 | |
CN109635679A (zh) | 一种实时的靶纸定位及环线识别方法 | |
CN108846363A (zh) | 一种基于发散式扫描的分区域车底阴影检测方法 | |
CN111524143B (zh) | 一种泡沫粘连图像区域分割的处理方法 | |
CN106780541B (zh) | 一种改进的背景减除方法 | |
CN115424249B (zh) | 一种复杂背景下空中弱小目标自适应检测方法 | |
CN112541943A (zh) | 一种基于视觉路标的机器人定位方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |