一种摄像水表读数准确性自检方法与流程

文档序号:28270488发布日期:2021-12-31 19:36阅读:276来源:国知局
一种摄像水表读数准确性自检方法与流程

1.本发明涉及水表自检,具体涉及一种摄像水表读数准确性自检方法。


背景技术:

2.水表广泛用于自来水、热力、化工等行业,生产水表的企业需要对水表的示值误差按照相关计量部门制定的规程进行性能检定。国家计量检定规程规定,对水表必需要进行公称流量、分界流量、最小流量等三个流量点误差检定。
3.水表的读数是否准确,是衡量水表质量的最关键因素,即便当前各种智能远传水表已经能够实时将数据从现场传输到云端,并且水表出厂前都会经过严格的读数准确性检测,但是经过长时间使用后往往还是会出现读数不准确的情况。
4.当前的水表,只能在出厂前利用专门的检验方法进行读数准确性检测。当水表经过长时间使用之后,读数准确性难免受到影响。但是,针对出厂后处于使用状态的水表,很难有方法对其读数准确性进行有效检测。


技术实现要素:

5.(一)解决的技术问题
6.针对现有技术所存在的上述缺点,本发明提供了一种摄像水表读数准确性自检方法,能够有效克服现有技术所存在的无法对处于使用状态水表的读数准确性进行便捷、精确检测的缺陷。
7.(二)技术方案
8.为实现以上目的,本发明通过以下技术方案予以实现:
9.一种摄像水表读数准确性自检方法,选定合适的监控时间段,在起始时刻、结束时刻基于水表端的摄像装置分别对字轮、指针进行读数识别,同时在监控时间段内对梅花针的转动量进行检测,并基于字轮、指针的读数差值,以及根据梅花针转动量检测得到的用水量之间的比较结果确定水表读数准确性;
10.其中,在起始时刻、结束时刻基于水表端的摄像装置对字轮进行读数识别,包括:水表端的摄像装置对字轮进行图像采集与水平投影,根据水表端的字符模板水平投影曲线,进行读数识别;
11.在监控时间段内对梅花针的转动量进行检测,包括:水表端的摄像装置对梅花针进行图像采集与图像处理,同时水表端基于梅花针上用于定位的尖头瓣对梅花针的转动量进行检测,并将转动量检测结果转换为用水量。
12.优选地,所述根据水表端的字符模板水平投影曲线,进行读数识别,包括:
13.对于存在字符间隙的拍摄图像:
14.将上半字符的投影曲线截取出来,截取曲线的底部位置与字符模板中每一个字符的水平投影底部位置进行对齐,计算截取曲线每行的投影值和字符模板对齐位置的投影值的数值差,将每行的数值差相加得到上半字符的总差值,分别为sum_up0,

,sum_up9,共10
个sum_up;
15.将下半字符的投影曲线截取出来,截取曲线的顶部位置与字符模板中每一个字符的水平投影顶部位置进行对齐,计算截取曲线每行的投影值和字符模板对齐位置的投影值的数值差,将每行的数值差相加得到下半字符总差值,分别为sum_bottom0,

,sum_bottom9,共10个sum_bottom;
16.计算拍摄图像在某个间隙位置处的误差总和,分别为sum_total0=sum_up0+sum_bottom1,

,sum_total9=sum_up9+sum_bottom0,将10个误差总和进行对比,选择误差总和最小的位置,作为拍摄图像所在的位置,然后根据上半字符、下半字符之间的空隙区域的垂直中线相对于字轮框垂直中线的距离换算得到该图像的识别结果;
17.对于不存在字符间隙的拍摄图像:
18.截取出该字符的投影曲线,将截取出的投影曲线分别与字符模板的投影曲线进行对比,计算出每行的投影值的差值,再将所有差值相加,得到10个差值,分别为sum_total'0,

,sum_total'9,选择总差值最小的字符,并且根据该字符垂直中线相对于字轮框垂直中线的距离换算得到该图像的识别结果。
19.优选地,所述水表端的字符模板水平投影曲线的制作过程,包括:
20.s11、水表端的摄像装置将拍摄图像传输到后端服务器;
21.s12、后端服务器识别水表型号,定位字轮区域四角和每个字轮四角;根据字轮区域四角的位置,计算出整个字轮区域相对于水平线的夹角;
22.s13、后端服务器将每个字轮的四角位置发送到水表端;
23.s14、根据识别的水表型号和水表字轮区域的倾斜角度,将该水表对应的字符模板倾斜相同的角度;
24.s15、对字符模板的亮度值进行校准,使得字符模板的亮度和水表端图像保持一致;
25.s16、制作字符模板的水平投影曲线。
26.优选地,所述根据水表端的字符模板水平投影曲线,进行读数识别之前,包括:
27.判断拍摄图像水平投影每一行的行投影值是否小于投影阈值,若小于投影阈值,则为间隙行;若连续的间隙行数大于间隙宽度阈值,则认定拍摄图像中存在字符间隙,否则,拍摄图像中不存在字符间隙。
28.优选地,所述水表端基于梅花针上用于定位的尖头瓣对梅花针的转动量进行检测,并将转动量检测结果转换为用水量,包括:
29.s21、在处理后的图像中对梅花针的实际中心点进行定位;
30.s22、以梅花针的实际中心点为圆心绘制检测环,基于检测环对梅花针上的尖头瓣以及尖头瓣上的尖头顶点进行检测定位;
31.s23、根据各采集图像中尖头顶点的方位计算梅花针在一段时间内转过的总圈数,并将总圈数转换为用水量。
32.优选地,所述在处理后的图像中对梅花针的实际中心点进行定位,包括:
33.对包含梅花针的前景区域提取轮廓点,并针对所有轮廓点找出最小外接圆,最小外接圆的圆心即为梅花针的实际中心点;
34.所述以梅花针的实际中心点为圆心绘制检测环,包括:
35.以梅花针的实际中心点为圆心,并参考最小外接圆绘制内检测圆,内检测圆与最小外接圆之间的区域即为检测环。
36.优选地,所述基于检测环对梅花针上的尖头瓣以及尖头瓣上的尖头顶点进行检测定位,包括:
37.s221、利用检测环对包含梅花针的前景区域进行过滤,仅保留检测环内部图像;
38.s222、针对检测环内部图像中梅花针上的尖头瓣、宽头瓣的所在区域进行像素计算,像素数目最少的部分为尖头瓣所在区域;
39.s223、提取尖头瓣所在区域的外部轮廓,距离梅花针的实际中心点最远的点为尖头瓣上的尖头顶点。
40.优选地,所述根据各采集图像中尖头顶点的方位计算梅花针在一段时间内转过的总圈数,并将总圈数转换为用水量,包括:
41.s231、计算各采集图像中尖头瓣上的尖头顶点与梅花针的实际中心点之间连线的角度angle1、angle2、

、angle
n

42.s232、计算每相邻两帧图像中梅花针的转动角度δ
n
=angle
n

angle
n
‑1;
43.s233、计算该段时间内梅花针的总转动角度并基于总转动角度计算梅花针在一段时间内转过的总圈数。
44.优选地,所述在起始时刻、结束时刻基于水表端的摄像装置对指针进行读数识别,包括:
45.s31、对指针进行定位,得到指针旋转中心;
46.s32、根据事先存储该类型水表的指针颜色值,从拍摄图像中提取指针像素;
47.s33、对提取指针像素后的前景图进行连通域分析,将最大的连通域作为指针;
48.s34、对指针进行最小外接矩形拟合,将外接矩形长边对应的矩形中间线对应读数作为指针读数。
49.优选地,所述基于字轮、指针的读数差值,以及根据梅花针转动量检测得到的用水量之间的比较结果确定水表读数准确性,包括:
50.将起始时刻、结束时刻分别得到的字轮读数做差,得到用水量data_1,将起始时刻、结束时刻分别得到的指针读数做差,得到用水量data_2,将根据梅花针转动量检测得到的用水量记作data_3;
51.如果用水量data_1、用水量data_2、用水量data_3两两之间的差值均小于阈值,则认定水表读数准确;否则,认定水表读数不准确。
52.(三)有益效果
53.与现有技术相比,本发明所提供的一种摄像水表读数准确性自检方法,在摄像水表中融合了利用图像进行水表读数准确性自检的功能,整个过程无需进行人工干预,同时使用字轮读数、梅花针转动量检测、指针读数三种数据来验证水表读数的准确性,有效提升了检测结果的准确率。
附图说明
54.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
55.图1为本发明的流程示意图;
56.图2为本发明中水表端的摄像装置拍摄图像;
57.图3为本发明中表盘字轮区域的图像;
58.图4为本发明中水表端的字符模板水平投影曲线示意图;
59.图5为本发明中以梅花针的实际中心点为圆心绘制检测环的示意图;
60.图6为本发明中水表梅花针的结构示意图。
具体实施方式
61.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
62.一种摄像水表读数准确性自检方法,如图1至图6所示,选定合适的监控时间段,在起始时刻、结束时刻基于水表端的摄像装置分别对字轮、指针进行读数识别,同时在监控时间段内对梅花针的转动量进行检测,并基于字轮、指针的读数差值,以及根据梅花针转动量检测得到的用水量之间的比较结果确定水表读数准确性。
63.新型的智能摄像远传水表,在基表顶部,安装一个包含有摄像头的壳体,壳体顶部内侧安装有摄像头,该摄像头俯视朝下,正对水表表盘区域,从摄像头拍摄图像中能同时看到字轮区域、梅花针、指针区域,如图2所示。
64.由于对水表读数准确性进行监控,是一件低频率的事情,并不需要每天都进行检测,因此可以采用以下规则,来提高监控的有效性:
65.1)每个月进行一次读数准确性检测;
66.2)本月第一次检测(比如是该月1日),选择晚上6点这个时刻(该时间段,是用水高峰期),时长为1分钟;
67.3)若第一次检测,碰到用户不用水,或是用水量过大导致拍摄图像中梅花针运动模糊的情况时,则后延10分钟进行再次检测(不合适就再后延),直至遇到用水量可测的时刻为止(晚上10点之后,停止检测);
68.4)若该日内没有遇到合适的检测时间,则后续每天都进行尝试(均在晚上6

9点进行尝试);
69.5)某个用户,如果某个月连续1个星期都不用水,或者用水量过大,导致梅花针转速过快而发生图像模糊,则应该将该情况通知管理员,人工进行干涉。
70.在起始时刻、结束时刻基于水表端的摄像装置对字轮进行读数识别,包括:水表端的摄像装置对字轮进行图像采集与水平投影,根据水表端的字符模板水平投影曲线,进行读数识别。
71.根据水表端的字符模板水平投影曲线,进行读数识别之前,包括:
72.判断拍摄图像水平投影每一行的行投影值是否小于投影阈值,若小于投影阈值,
则为间隙行;若连续的间隙行数大于间隙宽度阈值,则认定拍摄图像中存在字符间隙,否则,拍摄图像中不存在字符间隙。
73.根据水表端的字符模板水平投影曲线,进行读数识别,包括:
74.对于存在字符间隙的拍摄图像(如图3中最右侧的字轮):
75.将上半字符的投影曲线截取出来,截取曲线的底部位置与字符模板中每一个字符的水平投影底部位置进行对齐,计算截取曲线每行的投影值和字符模板对齐位置的投影值的数值差,将每行的数值差相加得到上半字符的总差值,分别为sum_up0,

,sum_up9,共10个sum_up;
76.将下半字符的投影曲线截取出来,截取曲线的顶部位置与字符模板中每一个字符的水平投影顶部位置进行对齐,计算截取曲线每行的投影值和字符模板对齐位置的投影值的数值差,将每行的数值差相加得到下半字符总差值,分别为sum_bottom0,

,sum_bottom9,共10个sum_bottom;
77.计算拍摄图像在某个间隙位置处的误差总和,分别为sum_total0=sum_up0+sum_bottom1,

,sum_total9=sum_up9+sum_bottom0,将10个误差总和进行对比,选择误差总和最小的位置,作为拍摄图像所在的位置,然后根据上半字符、下半字符之间的空隙区域的垂直中线相对于字轮框垂直中线的距离换算得到该图像的识别结果;
78.对于不存在字符间隙的拍摄图像(如图3中从右往左数第二个字轮):
79.截取出该字符的投影曲线,将截取出的投影曲线分别与字符模板的投影曲线进行对比,计算出每行的投影值的差值,再将所有差值相加,得到10个差值,分别为sum_total'0,

,sum_total'9,选择总差值最小的字符,并且根据该字符垂直中线相对于字轮框垂直中线的距离换算得到该图像的识别结果。
80.水表端的字符模板水平投影曲线的制作过程,包括:
81.s11、水表端的摄像装置将拍摄图像传输到后端服务器;
82.s12、后端服务器识别水表型号,定位字轮区域四角和每个字轮四角;根据字轮区域四角的位置,计算出整个字轮区域相对于水平线的夹角;
83.s13、后端服务器将每个字轮的四角位置发送到水表端;
84.s14、根据识别的水表型号和水表字轮区域的倾斜角度,将该水表对应的字符模板倾斜相同的角度;
85.s15、对字符模板的亮度值进行校准,使得字符模板的亮度和水表端图像保持一致;
86.s16、制作字符模板的水平投影曲线(如图4所示)。
87.由于一户家庭每天用水量在0.5

1吨之间,对应到字轮中的个位字轮,24小时才转动一格。如果水表小数点后没有字轮,那么为了能够让前后两个时刻拍摄图片中,能感知到字轮的转动,两个时刻的差距将延长至数个小时。此时,针对梅花针、指针的监控也要持续数个小时,将会消耗很多电能,在摄像水表使用电池的情形下,该方案不具有可行性。
88.本技术所提到的水表,是经过专门设计的,如图3所示,在小数点后具有三位数,有三个字轮。这样,只要用水量增加0.001吨,也就是1千克,最末位字轮就能转动一格,因此针对梅花针、指针的持续监控,只需要持续1分钟即可。如此一来,大幅度降低了对电池电能的消耗,使得该设想成为可能。
89.在监控时间段内对梅花针的转动量进行检测,包括:水表端的摄像装置对梅花针进行图像采集与图像处理,同时水表端基于梅花针上用于定位的尖头瓣对梅花针的转动量进行检测,并将转动量检测结果转换为用水量。
90.水表端的摄像装置对梅花针进行图像采集与图像处理,包括:
91.s11、将水表、摄像头固定安装于合适位置,并对摄像头进行调节,使得梅花针中心点位于屏幕中心处;
92.s12、对摄像头采集图像进行二值化处理,将梅花针的黑色部分以前景区域提取出来,并使得背景变成黑色。
93.通过调整摄像头的角度,使得梅花针中心点位于图中屏幕十字架中心点处,这样后续图像处理才能正常进行。
94.本技术技术方案中,梅花针的转速一般不会超过15圈/s,在摄像头的帧率为30fps情形下,可以保证梅花针转一圈的过程中,至少有两张图像会被拍摄下来,这样就不会存在梅花针转一圈而没有被监测到的情况发生,不会出现统计时的错漏。
95.本技术技术方案中,梅花针的实际颜色为黑色,水表表盘的背景实际为白色。
96.水表端基于梅花针上用于定位的尖头瓣对梅花针的转动量进行检测,并将转动量检测结果转换为用水量,包括:
97.s21、在处理后的图像中对梅花针的实际中心点进行定位;
98.s22、以梅花针的实际中心点为圆心绘制检测环,基于检测环对梅花针上的尖头瓣以及尖头瓣上的尖头顶点进行检测定位;
99.s23、根据各采集图像中尖头顶点的方位计算梅花针在一段时间内转过的总圈数,并将总圈数转换为用水量(1l水对应梅花针的转动量为22.6圈)。
100.ⅰ
.在处理后的图像中对梅花针的实际中心点进行定位,包括:
101.对包含梅花针的前景区域提取轮廓点,并针对所有轮廓点找出最小外接圆,最小外接圆的圆心即为梅花针的实际中心点。
102.ⅱ
.以梅花针的实际中心点为圆心绘制检测环,如图5所示,包括:
103.以梅花针的实际中心点为圆心,并参考最小外接圆绘制内检测圆(内检测圆的半径为最小外接圆半径的3/4),内检测圆与最小外接圆之间的区域即为检测环。
104.ⅲ
.基于检测环对梅花针上的尖头瓣以及尖头瓣上的尖头顶点进行检测定位,包括:
105.s221、利用检测环对包含梅花针的前景区域进行过滤,仅保留检测环内部图像;
106.s222、针对检测环内部图像中梅花针上的尖头瓣、宽头瓣的所在区域进行像素计算,像素数目最少的部分为尖头瓣所在区域;
107.s223、提取尖头瓣所在区域的外部轮廓,距离梅花针的实际中心点最远的点为尖头瓣上的尖头顶点。
108.ⅳ
.根据各采集图像中尖头顶点的方位计算梅花针在一段时间内转过的总圈数,并将总圈数转换为用水量,包括:
109.s231、计算各采集图像中尖头瓣上的尖头顶点与梅花针的实际中心点之间连线的角度angle1、angle2、

、angle
n

110.s232、计算每相邻两帧图像中梅花针的转动角度δ
n
=angle
n

angle
n
‑1;
111.s233、计算该段时间内梅花针的总转动角度并基于总转动角度计算梅花针在一段时间内转过的总圈数。
112.本技术技术方案中,摄像头拍摄图像像素至少达到30万,帧率不低于30fps,这样才能够进行读数识别、看清梅花针转动。曝光时间则需要根据梅花针的转速,进行对应调节,保证不出现明显的运动模糊(曝光时间过长会有模糊,影响检测)。
113.摄像头曝光时间过长,将导致梅花针边界不是清晰可见,出现严重的模糊现象,这种图片是没法对梅花针进行转动检测的。但是,缩短曝光时间,又会导致曝光不足、图像偏暗,而且较高的曝光时间方面的要求,也会提升摄像头的成本。为了兼顾成本、检测结果,可以通过对梅花针是否清晰进行检测,来判断是否出现运动模糊。
114.如图5所示,在内检测圆上梅花针的两个瓣之间设置监控点(黑色圆点),对两个监控点之间的内检测圆对应圆弧轨迹,从左到右进行亮度值进行分析,看是否会出现亮度值变化剧烈的像素。
115.图像清晰时,在梅花针的边缘,存在明显的亮度“阶跃”现象;而图像模糊时,亮度值变化很平缓,没有亮度“阶跃”现象。通过检测亮度“阶跃”现象,能够得知拍摄图像中的梅花针是否出现运动模糊。对于出现运动模糊的拍摄图像,将不进行转动量检测。
116.具体检测方法如下:
117.在圆弧轨迹上,从左到右遍历每一个像素,计算梯度值(设置步长为2,计算亮度差值的绝对值);
118.设置梯度阈值(比如20),统计圆弧轨迹上,连续3个像素梯度值都大于梯度阈值的区段数目;
119.如果存在两个这样的区段,则判断图像清晰;否则,判断图像模糊。
120.本技术技术方案中,为了适用上述水表自检方法,在此公开一种水表梅花针,如图6所示,包括梅花针本体,以梅花针本体为基础向外延伸的多个宽头瓣,以及以梅花针本体为基础向外延伸的用于定位的一个尖头瓣,宽头瓣的外侧轮廓与尖头瓣上的尖头顶点均在最小外接圆上。
121.上述梅花针结构与现有梅花针的区别在于:以梅花针本体为基础向外延伸的用于定位的一个尖头瓣。尖头瓣的设置便于后续梅花针转动量检测算法在各采集图像中对梅花针进行定位,进而计算梅花针在一段时间内转过的总圈数。
122.在起始时刻、结束时刻基于水表端的摄像装置对指针进行读数识别,包括:
123.s31、对指针进行定位,得到指针旋转中心;
124.s32、根据事先存储该类型水表的指针颜色值,从拍摄图像中提取指针像素;
125.s33、对提取指针像素后的前景图进行连通域分析,将最大的连通域作为指针;
126.s34、对指针进行最小外接矩形拟合,将外接矩形长边对应的矩形中间线对应读数作为指针读数。
127.其中,根据事先存储该类型水表的指针颜色值,从拍摄图像中提取指针像素,包括:根据指针颜色值,对指针区域的每一个像素进行判断,如果该像素与指针颜色值在rgb中任何一个值上相差较大,就不是指针像素。外接矩形长边对应的矩形中间线即为指针轴线,该指针轴线所指向方向对应的读数为指针读数。
128.基于字轮、指针的读数差值,以及根据梅花针转动量检测得到的用水量之间的比较结果确定水表读数准确性,包括:
129.将起始时刻、结束时刻分别得到的字轮读数做差,得到用水量data_1,将起始时刻、结束时刻分别得到的指针读数做差,得到用水量data_2,将根据梅花针转动量检测得到的用水量记作data_3;
130.如果用水量data_1、用水量data_2、用水量data_3两两之间的差值均小于阈值,则认定水表读数准确;否则,认定水表读数不准确。
131.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1