CN115439864A - 水表读数识别方法、系统、计算机设备及存储介质 - Google Patents
水表读数识别方法、系统、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115439864A CN115439864A CN202210980808.5A CN202210980808A CN115439864A CN 115439864 A CN115439864 A CN 115439864A CN 202210980808 A CN202210980808 A CN 202210980808A CN 115439864 A CN115439864 A CN 115439864A
- Authority
- CN
- China
- Prior art keywords
- reading
- image
- dial
- small
- water meter
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/1463—Orientation detection or correction, e.g. rotation of multiples of 90 degrees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/02—Recognising information on displays, dials, clocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本发明公开了一种水表读数识别方法、系统、计算机设备及存储介质,所述方法包括:获取水表表盘图像;根据水表表盘图像,得到多个小读数表盘图像;对每个小读数表盘图像进行排序;根据排序后的每个小读数表盘图像,得到小读数表盘图像列表,所述小读数表盘图像列表由图像矫正后的每个小读数表盘图像及其序号组成;将小读数表盘图像列表输入训练好的读数识别模型,得到多个读数识别结果;基于每个读数识别结果,根据修正条件,得到待计算数组;根据待计算数组,计算最终读数。本发明根据前后表盘的关联关系,自动修正小读数表盘的读数识别结果存在错误的情况,减少误差,提高读数准确率。
Description
技术领域
本发明涉及一种水表读数识别方法、系统、计算机设备及存储介质,属于机械仪表读数识别技术领域。
背景技术
传统全指针式机械水表读数主要由人工读取,人工读取的方法主要是人工读取各个表盘读数,随后进行记录。在城市中各个水表的位置相对集中,方便人工抄表,但在城市之外,各户居民的水表较为分散,往往需要挨家挨户的进行人工抄表,效率较为低下。近几年出现的智能水表对比人工抄表效率大大提升,通过网络方式传输水表读数,然而这类水表更换流程复杂,涉及到水、电和网络线路的重新设计,安装上也有一定难度,城市中尚可使用,而在居民居住点较为分散的区域并不是一个很好地选择,再者智能水表大规模更换成本巨大,短时间内无法将所有水表替换成智能水表。
除了上述方法之外,目前已有学者通过传统图像处理方法和基于深度学习方法对全指针式机械水表的读数进行识别,具体为:
1、孙经纬[1]提出了指针式水表读数识别算法,其算法结合指针的颜色特征,采用全局阈值法和局部阈值法分割红色指针和黑色指针,并利用指针的形状特征,采用圆检测的方法完成指针的定位。在读数识别过程中,利用指针的位置分布关系确定指针的数量级和零刻度方向,并采用一种改进的圆周灰度检测法识别指针方向,根据指针方向与零刻度方向的夹角确定指针读数,并进行读数修正。其实验中对44幅水表图像进行识别,识别准确率达96.02%。
2、徐林加[2]提出一种更为快速的指针读数自动识别与判读方法,使用SIFT算法、几何变换、颜色分割等方式进行指针的分类与分割,经实验证明,准确率在95%以上,每幅图的速度在3秒以内。
3、王长旭[3]将水表的指针检测识别分为四步;(1)彩色空间变换。(2)图像形态学变换。(3)改进的步长法判定指针指向。(4)指针读数计算。并进行了100次测试实验,不包含通信时间和预处理时间,指针区域检测与识别时间为2.43秒水表指针识别准确度在表盘未大面积无损情况下达到97%以上。
4、赵经纬[4]提出一种基于R-FCN的指针式水表读数检测与识别算法。其所使用的算法特征提取模块、改进RPN模块、新增多尺度特征检测模块、改进分类模块、位置敏感的Rol Pooling模块。在RPN模块增加了残差块结构,多尺度特征检测模块通过对不同尺度特征学习,简化了后续检测识别的难度。总体平均识别准确率达到98.3%,每张图平均处理速度0.164秒。
值得关注的是:上述的传统图像处理方法和基于深度学习方法,存在以下缺点:一是对图像的清晰度要求较高,无法使用低分辨率的图像,若用于产品,要求设备的成本较高;二是对小表盘的有效特征提取不足,特别是在表盘指针处于临界值、小表盘图像损毁等情况下读数误差较大;三是仅针对一、两种水表进行实验,无法适应未经实验的水表,普适性不强,此外,不同厂家生产、不同规格的指针式水表上多个小表盘的排列不同,各小表盘大小、旋转角度都不相同,进一步降低普适性;四是没有有效利用前后表盘的关联关系,尤其在某些小表盘预测值缺失情况下,会导致无法得到整个水表的计数。
参考文献:
[1]孙经纬 水表读数自动识别技术研究[D]北京理工大学硕士学位论文2016.
[2]徐林加.基于图像识别的多指针仪表自动读数方法研究与实现[D].东南大学,2017.
[3]王长旭.水表读数识别系统的设计与实现[D].北京邮电大学,2018.
[4]一种基于深度学习的指针式水表读数检测方法。申请号201910090567.5,状态:实审,发明人:高学,赵经纬。
发明内容
有鉴于此,本发明提供了一种水表读数识别方法、系统、计算机设备及存储介质,其通过深度神经网络和旋转联合矫正的方式,克服了在低分辨率条件下水表表盘图像难以识别的问题,从而提高识别的准确率和提高实际运用的范围。
本发明的第一个目的在于提供一种水表读数识别方法。
本发明的第二个目的在于提供一种水表读数识别系统。
本发明的第三个目的在于提供一种计算机设备。
本发明的第四个目的在于提供一种存储介质。
本发明的第一个目的可以通过采取如下技术方案达到:
一种水表读数识别方法,应用于全指针式机械水表,所述方法包括:
获取水表表盘图像;
根据水表表盘图像,得到多个小读数表盘图像;
对每个小读数表盘图像进行排序;
根据排序后的每个小读数表盘图像,得到小读数表盘图像列表,所述小读数表盘图像列表由图像矫正后的每个小读数表盘图像及其序号组成;
将小读数表盘图像列表输入训练好的读数识别模型,得到多个读数识别结果;
基于每个读数识别结果,根据修正条件,得到待计算数组;
根据待计算数组,计算最终读数。
进一步的,所述水表表盘图像为对原始水表表盘图像进行校正后得到的图像;
所述根据水表表盘图像,得到多个小读数表盘图像,具体包括:
利用训练好的实例分割模型对水表表盘图像进行分割,得到多个分割图像;
若分割图像存在图像缺失,则对分割图像进行填充;
将填充后的分割图像或不存在图像缺失的分割图像作为小读数表盘图像,进而得到多个小读数表盘图像。
进一步的,所述分割图像分为非小数位的分割图像和小数位的分割图像;
所述若分割图像存在图像缺失,则对分割图像进行填充,具体包括:
若非小数位的分割图像的缺失部分小于整体图像的预设百分比,则对非小数位的分割图像进行填充;
若小数位的分割图像存在图像缺失,则对小数位的分割图像进行填充。
进一步的,所述对每个小读数表盘图像进行排序,具体包括:
在水表表盘图像上,确定第一中心坐标和多个第二中心坐标,进而得到第一中心坐标和每个第二中心坐标所形成的多个向量,所述第一中心坐标为根据每个小读数表盘的中心坐标所计算得到的平均中心坐标,所述第二中心坐标为小读数表盘的中心坐标;
在多个向量中,设定固定向量,计算其余向量与固定向量的夹角,得到多个向量夹角;
根据多个向量夹角的角度,以角度降序的方式对每个小读数表盘图像进行排列;
在排列后,若所有相邻向量的向量夹角存在至少一个非正常增大的向量夹角时,则返回获取水表表盘图像;
若所有相邻向量的向量夹角仅存在一个正常增大的向量夹角,则根据正常增大的向量夹角,确定第一个小读数表盘图像和最后一个小读数表盘图像,进而完成对每个小读数表盘图像的排序。
进一步的,所述根据排序后的每个小读数表盘图像,得到小读数表盘图像列表,具体包括:
对排序后的每个小读数表盘图像进行图像矫正,并将图像矫正后的每个小读数表盘图像及其序号构成小读数表盘图像列表。
进一步的,所述对排序后的每个小读数表盘图像进行图像矫正,具体包括:
在水表表盘图像上,确定第一个小读数表盘的中心坐标和最后一个小读数表盘的中心坐标所连线的中点坐标;
连接所述中点坐标和第一中心坐标,得到第二连线,所述第一中心坐标为根据每个小读数表盘的中心坐标所计算得到的平均中心坐标;
过所述中点坐标作与水表表盘图像的水平线相交的垂线;
根据第二连线和所述垂线的夹角,将排序后的每个小读数表盘图像的0刻度指向矫正到竖直方向上。
进一步的,所述基于每个读数识别结果,根据修正条件,得到待计算数组,具体包括:
若读数识别结果符合修正条件,则对读数识别结果进行修正,得到修正后的读数识别结果,重复多次,直至将符合修正条件的读数识别结果全部修正完成;
将修正后的读数识别结果和不需要修正的读数识别结果均作为待计算数组。
进一步的,所述修正条件,具体包括:
若当前读数识别结果的小数位为0.5,而前一个读数识别结果为0~3,则对当前读数识别结果的小数位加0.5;
若当前读数识别结果的小数位为0,而前一个读数识别结果为7~0,则对当前读数识别结果的小数位减0.5。
本发明的第二个目的可以通过采取如下技术方案达到:
一种水表读数识别系统,应用于全指针式机械水表,所述系统包括:
获取单元,用于获取水表表盘图像;
分割单元,用于根据水表表盘图像,得到多个小读数表盘图像;
排序单元,用于对每个小读数表盘图像进行排序;
矫正单元,用于根据排序后的每个小读数表盘图像,得到小读数表盘图像列表,所述小读数表盘图像列表由图像矫正后的每个小读数表盘图像及其序号组成;
识别单元,用于将小读数表盘图像列表输入训练好的读数识别模型,得到多个读数识别结果;
修正单元,用于基于每个读数识别结果,根据修正条件,得到待计算数组;
计算单元,用于根据待计算数组,计算最终读数。
本发明的第三个目的可以通过采取如下技术方案达到:
一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现上述的水表读数识别方法。
本发明的第四个目的可以通过采取如下技术方案达到:
一种存储介质,存储有程序,所述程序被处理器执行时,实现上述的水表读数识别方法。
本发明相对于现有技术具有如下的有益效果:
现有技术方案处于学术研究阶段,很少考虑产品成本问题,所采集数据太过理想,环境条件太过完美,导致无法进行实际的应用或实际应用局限性大且效果不佳,而本发明通过深度神经网络和旋转联合矫正的方式,克服了在低分辨率条件下水表表盘图像难以识别的问题,从而提高识别的准确率和降低实际应用的局限性;此外,本发明根据前后表盘的关联关系,可以自动修正小读数表盘的读数识别结果存在识别错误的情况,减少识别误差,提高水表读数的准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明实施例1的水表读数识别方法的具体流程图。
图2为本发明实施例1的水表读数识别方法的简要流程图。
图3为本发明实施例1的原始水表表盘图像。
图4为本发明实施例1的水表表盘图像。
图5为本发明实施例1的标签图像。
图6为本发明实施例1的分割图像。
图7为本发明实施例1的小读数表盘相对位置的示意图。
图8为本发明实施例1的排序后的每个小读数表盘图像的示意图。
图9为本发明实施例1的旋转角度计算方法的示意图。
图10为本发明实施例1的小读数表盘图像列表的示意图。
图11为本发明实施例2的水表读数识别系统的结构框图。
图12为本发明实施例3的计算机设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
如图1和图2所示,本实施例提供了一种水表读数识别方法,应用于全指针式机械水表,该方法包括以下步骤:
S101、获取水表表盘图像。
本实施例通过摄像装置对水表进行拍摄,得到原始水表表盘图像,其中摄像装置为非专业级的摄影装置,如图3所示,所拍摄的原始水表表盘图像是被压缩过的。
被压缩过的图像不利于后续步骤的实施,为此本实施例对原始水表表盘图像进行校正,校正到正常比例即可,从而得到校正后的原始水表表盘图像,即水表表盘图像;如图4所示,水表表盘图像的分辨率为320×240,属于低分辨率图像。
在本实施例中,所提到的水表均为全指针式机械水表,该水表的表盘面上共有八个小读数表盘,有三个小读数表盘是小数位的小读数表盘,有六个小读数表盘是非小数位的小读数表盘。
S102、根据水表表盘图像,得到多个小读数表盘图像。
本实施例利用标注表盘分割数据集训练实例分割模型;其中:标注表盘分割数据集的获取方式为:使用Labelme对多张水表表盘图像进行制作,进而得到标注表盘分割数据集;具体地,使用Labelme对多张水表表盘图像中的每个小读数表盘进行圆形标注,从而得到多张标签图像,如图5所示;将多张水表表盘图像及其标签图像作为标注表盘分割数据集。
本实施例中的实例分割模型采用Mask-rcnn。
在另一个实施例中,实例分割模型采用语义分割网络模型。
本实施例中的根据水表表盘图像,得到多个小读数表盘图像,具体包括:
S1021、利用训练好的实例分割模型对水表表盘图像进行分割,得到多个分割图像。
本实施例利用训练好的实例分割模型以正方形的形状对水表表盘图像进行分割,最终得到八个分割图像,如图6所示。
在上述分割过程中,分割的对象为小读数表盘,分割图像包括非小数位的分割图像和小数位的分割图像。
S1022、判断是否对分割图像进行填充,具体为:
(1)若分割图像存在图像缺失,则对分割图像进行填充;
(2)若分割图像不存在图像缺失,则不对分割图像进行填充。
本实施例中的若分割图像存在图像缺失,则对分割图像进行填充,具体包括:
(1)若非小数位的分割图像的缺失部分小于整体图像的20%,则对非小数位的分割图像进行填充;
(2)若小数位的分割图像存在图像缺失,则对小数位的分割图像进行填充。
S1023、将填充后的分割图像或不存在图像缺失的分割图像作为小读数表盘图像,进而得到多个小读数表盘图像。
本实施例对分割图像进行填充,具体为:取最大边作为正方形的边长,若所述分割图像上方缺失则填充上方,若所述分割图像下方缺失则填充下方,若所述分割图像左方缺失则填充左侧,若所述分割图像右方缺失则填充右侧;其中最大边是针对缺失的分割图像而设置的边长,比如:缺失的分割图像为长方形,其表盘的圆心在所述图像中位于偏上的位置,则向上填充到长方形的长边长度,使其变成正方形。
值得注意的是:若第一判断结果为非小数位的分割图像存在缺失部分大于或等于整体图像的20%,则重新获取水表表盘图像;重新获取水表表盘图像的原因是因为缺失比例达到20%或20%以上,则认为该读数表盘可识别面积不足,进而判断整个表盘的读数无法识别和计算。
本实施例在分割小读数表盘时,采用带填充的中心裁剪方法,可以提升步骤S105中读数识别模型的识别准确率。
S103、对每个小读数表盘图像进行排序。
如图7所示,步骤S103具体包括:
S1031、在水表表盘图像上,确定第一中心坐标和多个第二中心坐标,进而得到第一中心坐标和每个第二中心坐标所形成的多个向量,所述第一中心坐标为根据每个小读数表盘的中心坐标所计算得到的平均中心坐标,所述第二中心坐标为小读数表盘的中心坐标。
S1032、在多个向量中,设定固定向量,计算其余向量与固定向量的夹角,得到多个向量夹角。
步骤S1032的公式,具体为:angle=atan2(cross(v0,v1),dot(v0,v1)),其中:atan2表示反正切增强函数,能够确定象限;cross表示向量叉乘,dot表示向量点乘,angle表示v0与v1的向量夹角,angle的范围在-pi到pi,v1表示固定向量,v0表示其他向量。
如果上述公式的向量夹角值为正,那么v1与v0调换顺序之后,向量夹角值则为负,因此上述公式对参数的顺序敏感,固定向量为任意选定。
S1033、根据多个向量夹角的角度,以角度降序的方式对每个小读数表盘图像进行排列。
S1034、在排列后,若所有相邻向量的向量夹角存在至少一个非正常增大的向量夹角,则返回步骤S101;若所有相邻向量的向量夹角仅存在一个正常增大的向量夹角,则根据正常增大的向量夹角,确定第一个小读数表盘图像和最后一个小读数表盘图像,进而完成对每个小读数表盘图像的排序,如图8所示。
值得注意的是:在排序后,若水表表盘图像被分割完全(每个小读数表盘图像都存在),则仅存在一个正常增大的相邻向量夹角;也即是说:在水表表盘图像被分割完全的情况下,第一个小读数表盘与最后一个小读数表盘所形成的相邻向量夹角最大,其余的相邻向量夹角差异不大,即仅存在一个正常增大的向量夹角。若水表表盘图像被分割不全(部分小读数表盘图像存在缺位),则存在两个或两个以上突然增大的相邻向量夹角;也即是说:在水表表盘图像被分割不全的情况下,除第一个小读数表盘和最后一个小读数表盘之外,其余小读数表盘由于存在某一个或多个小读数表盘缺位,因此,会存在突然增大的一个或多个相邻向量夹角(非正常增大的向量夹角),这样连同第一个小读数表盘和最后一个小读数表盘所形成的相邻向量夹角(正常增大的向量夹角),就会至少存在两个突然增大的相邻向量夹角。
S104、根据排序后的每个小读数表盘图像,得到小读数表盘图像列表。
本实施例对排序后的每个小读数表盘图像进行图像矫正,并将图像矫正后的每个小读数表盘图像及其序号构成小读数表盘图像列表。
如图9所示,本实施例对排序后的每个小读数表盘图像进行图像矫正,具体包括:
S1、在水表表盘图像上,确定第一个小读数表盘的中心坐标和最后一个小读数表盘的中心坐标所连线的中点坐标.
S2、连接所述中点坐标和第一中心坐标,得到第二连线。
S3、过所述中点坐标作与水表表盘图像的水平线相交的垂线。
S4、根据第二连线和所述垂线的夹角,将排序后的每个小读数表盘图像的0刻度指向矫正到竖直方向上。
本实施例中,根据第二连线和所述垂线的竖直往上方向的夹角,将排序后的每个小读数表盘图像的0刻度矫正到12点钟方向上。
最终,得到小读数表盘图像列表,如图10所示。
本实施例对倾斜的小读数表盘图像进行图像矫正,可以提升步骤S105中读数识别模型的识别准确率。
S105、将小读数表盘图像列表输入训练好的读数识别模型,得到多个读数识别结果。
本实施例中,训练好的读数识别模型的识别结果分为21个类别,具体为:-1代表无法识别,9.0至0为0分类,0至0.5为0.5分类,0.5至1为1分类,以此类推;将各类别放在以各类别命名的文件夹中,以文件夹名称作为标签。
本实施例将步骤S104所得到的小读数表盘图像列表输入训练好的读数识别模型,得到八个读数识别结果,分别为:-1.0、-1.0、4.0、8.0、7.5、1.5、9.5、4.5;其中第一小读数表盘和第二小读数表盘为无法识别,记为-1,由于第一小读数表盘与第二小读数表盘均为小数位,对整体读数影响小,因此可以进行下一步的读数修正计算,详见步骤S106。
值得注意的是:现有的深度神经网络模型有很多个,但未针对全指针式机械水表的识别问题进行专门研究;即使有涉足,也未必选择了最好的模型和未必进行了针对性的改进,因此识别精度还可以进一步提高,为此本实施例采用训练速度更快、参数量更少的卷积神经网络EfficientNet-v2作为读数识别模型,使得读数能精确识别到0.5。
S106、基于每个读数识别结果,根据修正条件,得到待计算数组。
本实施例中的基于每个读数识别结果,根据修正条件,得到待计算数组,具体包括:
若读数识别结果符合修正条件,则对读数识别结果进行修正,得到修正后的读数识别结果,重复多次,直至将符合修正条件的读数识别结果修正完成;将修正后的读数识别结果和不需要修正的读数识别结果一同作为待计算数组。
本实施例中的修正条件,具体包括:
(1)若当前读数识别结果的小数位为0.5,而前一个读数识别结果为0~3,则对当前读数识别结果的小数位加0.5;
(2)若当前读数识别结果的小数位为0,而前一个读数识别结果为7~0,则对当前读数识别结果的小数位减0.5。
基于步骤S105所得到的八个读数识别结果(-1.0、-1.0、4.0、8.0、7.5、1.5、9.5、4.5),根据上述修正条件,得到待计算数组,其中修正过程具体为:第7个读数小数位为0.5,而第6个读数为0至3,因此其正确读数应加0.5为0;第8个读数小数位为0.5,而第7个读数为0至3,因此其正确读数应加0.5为5;其余读数识别结果不进行修正;将修正后的部分读数识别结果和不需要修正的另一部分读数识别结果(-1.0、-1.0、4.0、8.0、7.5、1.5、0、5.0)一同作为待计算数组。
S107、根据待计算数组,计算最终读数。
本实施例中,将待计算数组中的每个读数识别结果乘以相应的小读数表盘量程,得到最终读数,其中读数识别结果为-1的设置为0;如图10所示,小读数表盘最小量程与小读数表盘最大量程分别为0.001与10000,因此最终读数为50178.400。
值得一提的是:与现有技术比较,在实际应用场景中,尤其在任一位的读数识别上,本实施例的方法的识别准确率可达96%。
本领域技术人员可以理解,实现上述实施例的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,相应的程序可以存储于计算机可读存储介质中。
应当注意,尽管在附图中以特定顺序描述了上述实施例的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
实施例2:
如图11所示,本实施例提供了一种水表读数识别系统,应用于全指针式机械水表,该系统包括获取单元1101、分割单元1102、排序单元1103、矫正单元1104、识别单元1105、修正单元1106和计算单元1107,各个单元的具体功能如下:
获取单元1101,用于获取水表表盘图像;
分割单元1102,用于根据水表表盘图像,得到多个小读数表盘图像;
排序单元1103,用于对每个小读数表盘图像进行排序;
矫正单元1104,用于根据排序后的每个小读数表盘图像,得到小读数表盘图像列表,所述小读数表盘图像列表由图像矫正后的每个小读数表盘图像及其序号组成;
识别单元1105,用于将小读数表盘图像列表输入训练好的读数识别模型,得到多个读数识别结果;
修正单元1106,用于基于每个读数识别结果,根据修正条件,得到待计算数组;
计算单元1107,用于根据待计算数组,计算最终读数。
实施例3:
如图12所示,本实施例提供了一种计算机设备,其包括通过系统总线1201连接的处理器1202、存储器、输入装置1203、显示装置1204和网络接口1205。其中,处理器1202用于提供计算和控制能力,存储器包括非易失性存储介质1206和内存储器1207,该非易失性存储介质1206存储有操作系统、计算机程序和数据库,该内存储器1207为非易失性存储介质1206中的操作系统和计算机程序的运行提供环境,计算机程序被处理器1202执行时,实现上述实施例1的水表读数识别方法,如下:
获取水表表盘图像;
根据水表表盘图像,得到多个小读数表盘图像;
对每个小读数表盘图像进行排序;
根据排序后的每个小读数表盘图像,得到小读数表盘图像列表,所述小读数表盘图像列表由图像矫正后的每个小读数表盘图像及其序号组成;
将小读数表盘图像列表输入训练好的读数识别模型,得到多个读数识别结果;
基于每个读数识别结果,根据修正条件,得到待计算数组;
根据待计算数组,计算最终读数。
实施例4:
本实施例提供一种存储介质,该存储介质为计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时,实现上述实施例1的水表读数识别方法,如下:
获取水表表盘图像;
根据水表表盘图像,得到多个小读数表盘图像;
对每个小读数表盘图像进行排序;
根据排序后的每个小读数表盘图像,得到小读数表盘图像列表,所述小读数表盘图像列表由图像矫正后的每个小读数表盘图像及其序号组成;
将小读数表盘图像列表输入训练好的读数识别模型,得到多个读数识别结果;
基于每个读数识别结果,根据修正条件,得到待计算数组;
根据待计算数组,计算最终读数。
需要说明的是,本实施例的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以以一种或多种程序设计语言或其组合来编写用于执行本实施例的计算机程序,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Python、C++,还包括常规的过程式程序设计语言—诸如C语言或类似的程序设计语言。程序可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明通过深度神经网络和旋转联合矫正的方式,克服了在低分辨率条件下水表表盘图像难以识别的问题,从而提高识别的准确率和降低实际应用的局限性;此外,本发明根据前后表盘的关联关系,可以自动修正小读数表盘的读数识别结果存在识别错误的情况,减少识别误差,提高水表读数的准确率。
以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明构思加以等同替换或改变,都属于本发明专利的保护范围。
Claims (10)
1.一种水表读数识别方法,应用于全指针式机械水表,其特征在于,所述方法包括:
获取水表表盘图像;
根据水表表盘图像,得到多个小读数表盘图像;
对每个小读数表盘图像进行排序;
根据排序后的每个小读数表盘图像,得到小读数表盘图像列表,所述小读数表盘图像列表由图像矫正后的每个小读数表盘图像及其序号组成;
将小读数表盘图像列表输入训练好的读数识别模型,得到多个读数识别结果;
基于每个读数识别结果,根据修正条件,得到待计算数组;
根据待计算数组,计算最终读数。
2.根据权利要求1所述的水表读数识别方法,其特征在于,所述水表表盘图像为对原始水表表盘图像进行校正后得到的图像;
所述根据水表表盘图像,得到多个小读数表盘图像,具体包括:
利用训练好的实例分割模型对水表表盘图像进行分割,得到多个分割图像;
若分割图像存在图像缺失,则对分割图像进行填充;
将填充后的分割图像或不存在图像缺失的分割图像作为小读数表盘图像,进而得到多个小读数表盘图像。
3.根据权利要求2所述的水表读数识别方法,其特征在于,所述分割图像分为非小数位的分割图像和小数位的分割图像;
所述若分割图像存在图像缺失,则对分割图像进行填充,具体包括:
若非小数位的分割图像的缺失部分小于整体图像的预设百分比,则对非小数位的分割图像进行填充;
若小数位的分割图像存在图像缺失,则对小数位的分割图像进行填充。
4.根据权利要求1所述的水表读数识别方法,其特征在于,所述对每个小读数表盘图像进行排序,具体包括:
在水表表盘图像上,确定第一中心坐标和多个第二中心坐标,进而得到第一中心坐标和每个第二中心坐标所形成的多个向量,所述第一中心坐标为根据每个小读数表盘的中心坐标所计算得到的平均中心坐标,所述第二中心坐标为小读数表盘的中心坐标;
在多个向量中,设定固定向量,计算其余向量与固定向量的夹角,得到多个向量夹角;
根据多个向量夹角的角度,以角度降序的方式对每个小读数表盘图像进行排列;
在排列后,若所有相邻向量的向量夹角存在至少一个非正常增大的向量夹角时,则返回获取水表表盘图像;
若所有相邻向量的向量夹角仅存在一个正常增大的向量夹角,则根据正常增大的向量夹角,确定第一个小读数表盘图像和最后一个小读数表盘图像,进而完成对每个小读数表盘图像的排序。
5.根据权利要求1-4任一项所述的水表读数识别方法,其特征在于,所述根据排序后的每个小读数表盘图像,得到小读数表盘图像列表,具体包括:
对排序后的每个小读数表盘图像进行图像矫正,并将图像矫正后的每个小读数表盘图像及其序号构成小读数表盘图像列表。
6.根据权利要求5所述的水表读数识别方法,其特征在于,所述对排序后的每个小读数表盘图像进行图像矫正,具体包括:
在水表表盘图像上,确定第一个小读数表盘的中心坐标和最后一个小读数表盘的中心坐标所连线的中点坐标;
连接所述中点坐标和第一中心坐标,得到第二连线,所述第一中心坐标为根据每个小读数表盘的中心坐标所计算得到的平均中心坐标;
过所述中点坐标作与水表表盘图像的水平线相交的垂线;
根据第二连线和所述垂线的夹角,将排序后的每个小读数表盘图像的0刻度指向矫正到竖直方向上。
7.根据权利要求1所述的水表读数识别方法,其特征在于,所述基于每个读数识别结果,根据修正条件,得到待计算数组,具体包括:
若读数识别结果符合修正条件,则对读数识别结果进行修正,得到修正后的读数识别结果,重复多次,直至将符合修正条件的读数识别结果全部修正完成;
将修正后的读数识别结果和不需要修正的读数识别结果均作为待计算数组。
8.根据权利要求7所述的水表读数识别方法,其特征在于,所述修正条件,具体包括:
若当前读数识别结果的小数位为0.5,而前一个读数识别结果为0~3,则对当前读数识别结果的小数位加0.5;
若当前读数识别结果的小数位为0,而前一个读数识别结果为7~0,则对当前读数识别结果的小数位减0.5。
9.一种水表读数识别系统,应用于全指针式机械水表,其特征在于,所述系统包括:
获取单元,用于获取水表表盘图像;
分割单元,用于根据水表表盘图像,得到多个小读数表盘图像;
排序单元,用于对每个小读数表盘图像进行排序;
矫正单元,用于根据排序后的每个小读数表盘图像,得到小读数表盘图像列表,所述小读数表盘图像列表由图像矫正后的每个小读数表盘图像及其序号组成;
识别单元,用于将小读数表盘图像列表输入训练好的读数识别模型,得到多个读数识别结果;
修正单元,用于基于每个读数识别结果,根据修正条件,得到待计算数组;
计算单元,用于根据待计算数组,计算最终读数。
10.一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1-8任一项所述的水表读数识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210980808.5A CN115439864A (zh) | 2022-08-16 | 2022-08-16 | 水表读数识别方法、系统、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210980808.5A CN115439864A (zh) | 2022-08-16 | 2022-08-16 | 水表读数识别方法、系统、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115439864A true CN115439864A (zh) | 2022-12-06 |
Family
ID=84242114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210980808.5A Pending CN115439864A (zh) | 2022-08-16 | 2022-08-16 | 水表读数识别方法、系统、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115439864A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117894022A (zh) * | 2024-01-16 | 2024-04-16 | 宁波泉通仪表科技有限公司 | 一种机电转化误差测试方法、系统、存储介质及智能终端 |
-
2022
- 2022-08-16 CN CN202210980808.5A patent/CN115439864A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117894022A (zh) * | 2024-01-16 | 2024-04-16 | 宁波泉通仪表科技有限公司 | 一种机电转化误差测试方法、系统、存储介质及智能终端 |
CN117894022B (zh) * | 2024-01-16 | 2024-06-11 | 宁波泉通仪表科技有限公司 | 一种机电转化误差测试方法、系统、存储介质及智能终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781756A (zh) | 基于遥感图像的城市道路提取方法及装置 | |
CN111639647B (zh) | 指示灯状态识别方法、装置、计算机设备及存储介质 | |
CN111814740B (zh) | 指针仪表读数的识别方法、装置、计算机设备和存储介质 | |
CN110807491A (zh) | 车牌图像清晰度模型训练方法、清晰度检测方法及装置 | |
CN112016638A (zh) | 一种钢筋簇的识别方法、装置、设备及存储介质 | |
CN109508709B (zh) | 一种基于机器视觉的单指针仪表读数方法 | |
CN112699824B (zh) | 电能表仪表常数检测方法、设备及存储介质 | |
CN110659637A (zh) | 一种结合深度神经网络和sift特征的电能表示数与标签自动识别方法 | |
EP4307172A1 (en) | Data interpolation method and apparatus and storage medium | |
CN115439864A (zh) | 水表读数识别方法、系统、计算机设备及存储介质 | |
CN113469167B (zh) | 仪表读数识别方法、装置、设备及存储介质 | |
CN117036993A (zh) | 一种基于无人机的船舶水尺远程测量方法 | |
CN117765083A (zh) | 一种设备定位方法、装置、电子设备及存储介质 | |
Ding et al. | Detection and recognition method for pointer-type meter based on deep learning | |
CN112529003A (zh) | 一种基于Faster-RCNN的仪表盘数字识别方法 | |
CN117036457A (zh) | 一种屋顶面积的测量方法、装置、设备及存储介质 | |
CN117331017A (zh) | 一种三相四线电能表错接线研判方法及系统 | |
CN114047508B (zh) | 一种对海雷达探测范围统计评估方法及系统 | |
CN115205475A (zh) | 一种地形复杂度的确定方法、装置、终端设备和存储介质 | |
CN114298229A (zh) | 作物类别确定方法、装置、电子设备及存储介质 | |
CN109919998B (zh) | 卫星姿态确定方法、装置和终端设备 | |
CN115797934B (zh) | 仪表示数方法、装置、电子设备以及存储介质 | |
CN110751174A (zh) | 一种基于多任务级联卷积网络的表盘检测方法和系统 | |
Shuliang et al. | Design of text position detection method for electrical equipment nameplate | |
CN114067093B (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 |