CN111444781B - 一种水表读数识别方法、设备及存储介质 - Google Patents
一种水表读数识别方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111444781B CN111444781B CN202010158644.9A CN202010158644A CN111444781B CN 111444781 B CN111444781 B CN 111444781B CN 202010158644 A CN202010158644 A CN 202010158644A CN 111444781 B CN111444781 B CN 111444781B
- Authority
- CN
- China
- Prior art keywords
- water meter
- reading
- detection area
- pointer
- reading detection
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- 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/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- 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/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/242—Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A20/00—Water conservation; Efficient water supply; Efficient water use
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Character Discrimination (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种水表读数识别方法、设备及存储介质,所述方法包括:获取拍摄的水表图像,建立基于深度学习的水表检测模型,将所述水表图像输入所述水表检测模型中,以提取出水表图像中的读数检测区域;根据所述水表图像判断水表的类型;当判断所述水表为数字型水表时,通过预先设定的字符识别模型识别所述读数检测区域,以得到所述读数检测区域的水表读数;当判断所述水表为指针型水表时,将所述读数检测区域进行旋转矫正,并在旋转矫正后,提取出所述读数检测区域中的水表指针位置,并根据水表指针的角度线读出指针的读数。本发明可以在复杂场景下的进行多种水表统一识别,并且一致具有较高的准确率。
Description
技术领域
本发明涉及水表读数识别技术领域,具体涉及一种水表读数识别方法、设备及存储介质。
背景技术
随着深度学习技术在图像识别领域的愈发成熟和5G技术在社会中的逐步普及,水表读数自动化识别成为了可能。虽然智能式水表在许多现代化地区已经配备起来,但是非智能化的数字和指针式水表依然广泛存在。对于这些老式水表,目前多采用人工抄表的形式来记录读数。一方面,人工抄表容易遇到漏抄、错抄和误抄等现象,这些错误都会影响真实水表的数据记录,不利于水利公司对水用量的正确把握。另一方面,在这个过程中,诸多人力、物力和财力被消耗,这对于个人和国家都是一笔巨大的开支。自动化抄表技术可以克服以上所说的这些困难,不仅可以提高水表记录的精准性,而且可以降低抄表过程的成本损失。因此,对水表读数自动化识别技术的研究是很有意义并且迫切需要的。
近几年有许多自动化抄表技术被提出,这些技术主要分为两种:(1)使用自带数字获取和传输功能的新型水表,例如,脉冲远传表、直读远传表和其他新型水表。(2)基于计算机视觉的自动抄表技术。其中新型水表的智能化较高,水表读数随时可以通过嵌入式设备直接传输到服务器数据库中。但相应的,其应用过程中产生的额外费用(如生产成本、更换成本、使用成本和维护成本等)也阻碍着它们的推广。第二种方法,基于计算机视觉的自动抄表技术,可以在不改变现有水表结构的情况下,将水表通过手机拍照得到原始图像信息,再利用图像处理技术自动识别其读数。后者使用流程简单,成本低廉,相较之下更具有研发意义。
现有的基于计算机视觉的自动抄表技术虽然已经有相对较高的正确率,但其方法大多数只能在实验环境下展现良好性能,应用到复杂多变的真实拍摄场景依然非常困难。并且大多数方法只对于单种类型的水表生效,无法适应多种类型的水表。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种水表读数识别方法、设备及存储介质,可在复杂多变的真实拍摄场景实现水表读数的识别,而且准确率较高。
为了达到上述目的,本发明采取了以下技术方案:
一方面,本发明提供了一种水表读数识别方法,包括如下步骤:
获取拍摄的水表图像,建立基于深度学习的水表检测模型,将所述水表图像输入所述水表检测模型中,以提取出水表图像中的读数检测区域,其中,所述读数检测区域为所述水表图像中包含有水表读数的区域;
根据所述水表图像判断水表的类型,其中,所述水表的类型包括数字型水表和指针型水表;
当判断所述水表为数字型水表时,通过预先设定的字符识别模型识别所述读数检测区域,以得到所述读数检测区域的水表读数,其中,所述字符识别模型中存储有用于识别全字字符和半字字符的字符数据集;
当判断所述水表为指针型水表时,将所述读数检测区域进行旋转矫正,并在旋转矫正后,提取出所述读数检测区域中的水表指针位置,并根据水表指针的角度线读出指针的读数。
优选的,所述的水表读数识别方法中,所述水表检测模型为加上了Attention机制的基于深度学习的YOLOv3模型。
优选的,所述的水表读数识别方法中,所述字符数据集的建立方法为:
拍摄n组0-9的数字的图像,并将拍摄的图像在竖直方向上随机组合,拼接得到一0-9的竖直长图,使用一滑动窗口在所述竖直长图上按第一预设步长顺序向下移动,并对每次滑动窗口的图片在预设角度范围内做随机角度的旋转,以得到多个数据图像,将所述多个数据图像保存以得到所述多个数据图像组成的字符数据集。
优选的,所述的水表读数识别方法中,所述预设角度范围为0°-15°。
优选的,所述的水表读数识别方法中,将所述读数检测区域进行旋转矫正的具体方法为:
根据所述读数检测区域的中心点计算得到一凸集,并计算出所述凸集的重心;
找出所述凸集的最长边,并计算出所述最长边的斜率k和中点;
根据所述最长边的中心和凸集的中心的相对位置判断是否需要将所述读数检测区域旋转180°;
当所述读数检测区域不需要旋转180°时,将所述读数检测区域旋转k度以将所述读数检测区域旋转矫正到正向;当所述读数检测区域需要旋转180°时,将所述读数检测区域旋转k+180度以将所述读数检测区域旋转矫正到正向。
优选的,所述的水表读数识别方法中,所述水表指针位置的提取方法为:
根据所述读数检测区域得出第一指针搜索范围,在所述第一指针搜索范围内,使用正方形矩阵以第一预设步长逐步扫描当前射线角度上的点,当所述正方形矩阵中的白色像素比例高于阈值时,累计当前位置的白色像素的个数,并在扫描完成后,以白色像素的个数最高的的射线的预设角度范围作为第二指针搜索范围,并通过射线投影法以第二预设步长在所述第二指针搜索范围内搜索得到所述指针位置。
优选的,所述的水表读数识别方法中,所述第一预设步长为5,所述第二预设步长为1。
优选的,所述的水表读数识别方法中,所述第二预设角度范围为-5°-5°。
另一方面,本发明还提供了一种水表读数识别设备,包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如上所述的水表读数识别方法中的步骤。
又一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的水表读数识别方法中的步骤。
相较于现有技术,本发明提供的水表读数识别方法、设备及存储介质中,所述方法包括:获取拍摄的水表图像,建立基于深度学习的水表检测模型,将所述水表图像输入所述水表检测模型中,以提取出水表图像中的读数检测区域;根据所述水表图像判断水表的类型;当判断所述水表为数字型水表时,通过预先设定的字符识别模型识别所述读数检测区域,以得到所述读数检测区域的水表读数;当判断所述水表为指针型水表时,将所述读数检测区域进行旋转矫正,并在旋转矫正后,提取出所述读数检测区域中的水表指针位置,并根据水表指针的角度线读出指针的读数。本发明首先利用目标检测技术对水表读数区域进行检测,然后判断水表的类型,根据不同的水表类型采用不同的识别算法,最终得到结果并保存。可以在复杂场景下的进行多种水表统一识别,并且一致具有较高的准确率。
附图说明
图1为本发明提供的水表读数识别方法的一较佳实施例的流程图;
图2为本发明水表读数识别程序的较佳实施例的运行环境示意图。
图3为本发明安装水表读数识别程序的系统较佳实施例的功能模块图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,本发明实施例提供的水表读数识别方法,包括如下步骤:
S100、获取拍摄的水表图像,建立基于深度学习的水表检测模型,将所述水表图像输入所述水表检测模型中,以提取出水表图像中的读数检测区域,其中,所述读数检测区域为所述水表图像中包含有水表读数的区域。
本实施例中,采用目标检测法来实现水表读数区域的检测,目标检测是计算机视觉中的一项基础任务,它要从一副图像定位出指定的目标。目前的水表图像识别多采用传统方法来对数字和指针区域进行定位,如hough变换、模板匹配,而这类方法只能在限定情况定位到目标区域,无法面对更加复杂的拍摄环境。故本实施例将目标检测技术运用到水表识别任务中,检测出数字和指针区域。具体的,本实施例中所述水表检测模型为加上了Attention机制的基于深度学习的YOLOv3模型。具体来说,本实施例中,采用了基于深度学习的YOLOv3模型对数字和指针区域进行检测。因为该任务目标数较少,所以对模型的规模做了一定的缩小。另外,考虑到其对精确性的要求,本发明对其基本结构加上了Attention机制,可以在不增加太多运算量的情况下提高精度。具体实施时,首先传入一张宽度为width、高度为height、通道数为3的彩色水表图像,先经过一层3x3卷积层对通道增加到32;然后经过6次缩小和水表检测模型处理,得到了3路特征;接着进行特征金字塔操作,得到最终的输出。最终的输出经过一系列数学变换后可以得到中心点横纵坐标为(Cx,Cy),宽和高为Cw和Ch的矩形框,该框内就是数字区域或指针区域,之后对该区域进行提取,作为后续操作的输入,继续进行识别。
S200、根据所述水表图像判断水表的类型,其中,所述水表的类型包括数字型水表和指针型水表。
本实施例中,可直接通过水表图像来判断水表的类型,针对不同类型的水表可采用不同的方法进行读数识别。
S300、当判断所述水表为数字型水表时,通过预先设定的字符识别模型识别所述读数检测区域,以得到所述读数检测区域的水表读数,其中,所述字符识别模型中存储有用于识别全字字符和半字字符的字符数据集。
本实施例中,当判断所述水表为数字型水表时,所述目标检测区域为数字区域,数字区域在经过了预处理后可以得到分割好的单个字符图像,当直接利用CNN目标检测法进行识别时,全字字符的识别率远远高于半字字符,故为了解决此问题,本实施例提供了一种数据扩增方法。具体的,所述字符数据集的建立方法为:
拍摄n组0-9的数字的图像,并将拍摄的图像在竖直方向上随机组合,拼接得到一0-9的竖直长图,使用一滑动窗口在所述竖直长图上按第一预设步长顺序向下移动,并对每次滑动窗口的图片在预设角度范围内做随机角度的旋转,以得到多个数据图像,将所述多个数据图像保存以得到所述多个数据图像组成的字符数据集。
具体的,所述预设角度范围为0°-15°,故建立的字符数据集中的各个数据图像在上下字符和旋转角度两个方面是随机的,可以有效的提高数据集的多样性,该方法不仅极大的丰富了数据集,而且还省下了手动制作数据集的人力消耗,在建立了字符数据集后,所述字符识别模型可通过将接受的数字区域在所述字符数据集中进行比对,进而获取字符读数,有效的提高全字字符和半字字符的识别率,在识别了单个字符后,最后将分割后的识别结果进行拼接即可得到数字区域的完整读数。
S400、当判断所述水表为指针型水表时,将所述读数检测区域进行旋转矫正,并在旋转矫正后,提取出所述读数检测区域中的水表指针位置,并根据水表指针的角度线读出指针的读数。
本实施例中,由于水表实际安装场景的限制,会导致很多时候无法正向拍摄水表图像。针对指针型水表,如果直接对未经过的水表图片进行识别,会导致水表读数结果存在误差。故还需要根据指针区域坐标来校正旋转角度。具体的,将所述读数检测区域进行旋转矫正的具体方法为:
根据所述读数检测区域的中心点计算得到一凸集,并计算出所述凸集的重心;
找出所述凸集的最长边,并计算出所述最长边的斜率k和中点;
根据所述最长边的中心和凸集的中心的相对位置判断是否需要将所述读数检测区域旋转180°;
当所述读数检测区域不需要旋转180°时,将所述读数检测区域旋转k度以将所述读数检测区域旋转矫正到正向;当所述读数检测区域需要旋转180°时,将所述读数检测区域旋转k+180度以将所述读数检测区域旋转矫正到正向。
具体来说,在得到了指针区域后,可根据指针区域的中心点得到一个凸集,此图集的最长边AH连接的是水表的最高位和最低位。改变在水表正向时,应该是水平的,如果水表图像为非正向,则该边与水平线有一定的夹角。故将该图像旋转与该夹角相同的角度,即可抵消拍摄时的旋转角度,然后通过上述旋转矫正方法即可将图像旋转至正确角度,以使所述水表图像旋转至正向。
进一步来说,在进行旋转矫正后,即可提取出所述指针的位置来读出指针的读数,具体的,所述水表指针位置的提取方法为:
根据所述读数检测区域得出第一指针搜索范围,在所述第一指针搜索范围内,使用正方形矩阵以第一预设步长逐步扫描当前射线角度上的点,当所述正方形矩阵中的白色像素比例高于阈值时,累计当前位置的白色像素的个数,并在扫描完成后,以白色像素的个数最高的的射线的预设角度范围作为第二指针搜索范围,并通过射线投影法以第二预设步长在所述第二指针搜索范围内搜索得到所述指针位置。
具体来说,所述第一预设步长为5,所述第二预设步长为1。所述第二预设角度范围为-5°-5°。一般来说,对于指针式水表,一般直接采用射线投影法来进行指针位置的提取,射线投影法是计算从指针区域的圆心到圆周上的射线上的点的个数,个数最多的一条射线即为指针的角度线,根据角度线可以求得指针的读数。然而这种方法在真实场景中使用时会遇到一些问题,例如预处理未能恰好提取到水表的指针时(例如指针区域有一定气泡、污渍和光斑等干扰时),射线的角度计算时会不准确。故本实施例中,采用了一种可以避免上述困难并且一定程度上提高毒素的改良的射线投影法,实验证明,该方法可得到高精确度的结构,具有较高的鲁棒性,可以在真实场景做出实际应用。具体的,首先执行粗识别得到一个搜索范围,然后在给定范围内执行精识别得到具体读数。具体说来,先使用类似于卷积核的正方形矩阵以5的步长扫描当前射线角度上的点,当矩阵中白色像素比例高于阈值时,我们累计当前位置白色像素的个数。将最长的射线的正负5度作为搜索范围。然后使用原始的射线投影法以1的步长在搜索范围内运算得到最终结果。
综上所述,本发明提供的水表读数识别方法可以实现复杂场景下的多种水表的统一读数识别,并且一致具有较高的准确率。该方法通过不同的设备在不同的环境下对不同类型的水表进行实验,均得到了高精确度的结果。结果表明,该方法具有较高的鲁棒性,可以在真实场景做出实际应用。
如图2所示,基于上述水表读数识别方法,本发明还相应提供了一种水表读数识别设备,所述水表读数识别设备可以是移动终端、桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该水表读数识别设备包括处理器10、存储器20及显示器30。图2仅示出了水表读数识别设备的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述水表读数识别设备的内部存储单元,例如水表读数识别设备的硬盘或内存。所述存储器20在另一些实施例中也可以是所述水表读数识别设备的外部存储设备,例如所述水表读数识别设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括水表读数识别设备的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述水表读数识别设备的应用软件及各类数据,例如所述安装水表读数识别设备的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有水表读数识别程序40,该水表读数识别程序40可被处理器10所执行,从而实现本申请各实施例的水表读数识别方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述水表读数识别方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述水表读数识别设备的信息以及用于显示可视化的用户界面。所述水表读数识别设备的部件10-30通过系统总线相互通信。
在一实施例中,当处理器10执行所述存储器20中水表读数识别程序40时实现以下步骤:
获取拍摄的水表图像,建立基于深度学习的水表检测模型,将所述水表图像输入所述水表检测模型中,以提取出水表图像中的读数检测区域,其中,所述读数检测区域为所述水表图像中包含有水表读数的区域;
根据所述水表图像判断水表的类型,其中,所述水表的类型包括数字型水表和指针型水表;
当判断所述水表为数字型水表时,通过预先设定的字符识别模型识别所述读数检测区域,以得到所述读数检测区域的水表读数,其中,所述字符识别模型中存储有用于识别全字字符和半字字符的字符数据集;
当判断所述水表为指针型水表时,将所述读数检测区域进行旋转矫正,并在旋转矫正后,提取出所述读数检测区域中的水表指针位置,并根据水表指针的角度线读出指针的读数。
进一步地,所述水表检测模型为加上了Attention机制的基于深度学习的YOLOv3模型。
进一步地,所述字符数据集的建立方法为:
拍摄n组0-9的数字的图像,并将拍摄的图像在竖直方向上随机组合,拼接得到一0-9的竖直长图,使用一滑动窗口在所述竖直长图上按第一预设步长顺序向下移动,并对每次滑动窗口的图片在预设角度范围内做随机角度的旋转,以得到多个数据图像,将所述多个数据图像保存以得到所述多个数据图像组成的字符数据集。
进一步地,所述预设角度范围为0°-15°。
进一步地,将所述读数检测区域进行旋转矫正的具体方法为:
根据所述读数检测区域的中心点计算得到一凸集,并计算出所述凸集的重心;
找出所述凸集的最长边,并计算出所述最长边的斜率k和中点;
根据所述最长边的中心和凸集的中心的相对位置判断是否需要将所述读数检测区域旋转180°;
当所述读数检测区域不需要旋转180°时,将所述读数检测区域旋转k度以将所述读数检测区域旋转矫正到正向;当所述读数检测区域需要旋转180°时,将所述读数检测区域旋转k+180度以将所述读数检测区域旋转矫正到正向。
进一步地,所述水表指针位置的提取方法为:
根据所述读数检测区域得出第一指针搜索范围,在所述第一指针搜索范围内,使用正方形矩阵以第一预设步长逐步扫描当前射线角度上的点,当所述正方形矩阵中的白色像素比例高于阈值时,累计当前位置的白色像素的个数,并在扫描完成后,以白色像素的个数最高的的射线的预设角度范围作为第二指针搜索范围,并通过射线投影法以第二预设步长在所述第二指针搜索范围内搜索得到所述指针位置。
进一步地,所述第一预设步长为5,所述第二预设步长为1。
进一步地,所述第二预设角度范围为-5°-5°。
请参阅图3,其为本发明安装水表读数识别程序的系统较佳实施例的功能模块图。在本实施例中,安装水表读数识别程序的系统可以被分割成一个或多个模块,所述一个或者多个模块被存储于所述存储器20中,并由一个或多个处理器(本实施例为所述处理器10)所执行,以完成本发明。例如,在图3中,安装水表读数识别程序的系统可以被分割成读数检测区域提取模块21、水表类型判断模块22、数字型水表读数识别模块23和指针型水表读数识别模块24。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述水表读数识别程序在所述水表读数识别设备中的执行过程。以下描述将具体介绍所述模块21-24的功能。
读数检测区域提取模块21,用于获取拍摄的水表图像,建立基于深度学习的水表检测模型,将所述水表图像输入所述水表检测模型中,以提取出水表图像中的读数检测区域,其中,所述读数检测区域为所述水表图像中包含有水表读数的区域;
水表类型判断模块22,用于根据所述水表图像判断水表的类型,其中,所述水表的类型包括数字型水表和指针型水表;
数字型水表读数识别模块23,用于当判断所述水表为数字型水表时,通过预先设定的字符识别模型识别所述读数检测区域,以得到所述读数检测区域的水表读数,其中,所述字符识别模型中存储有用于识别全字字符和半字字符的字符数据集;
指针型水表读数识别模块24,用于当判断所述水表为指针型水表时,将所述读数检测区域进行旋转矫正,并在旋转矫正后,提取出所述读数检测区域中的水表指针位置,并根据水表指针的角度线读出指针的读数。
进一步地,所述水表检测模型为加上了Attention机制的基于深度学习的YOLOv3模型。
进一步地,所述字符数据集的建立方法为:
拍摄n组0-9的数字的图像,并将拍摄的图像在竖直方向上随机组合,拼接得到一0-9的竖直长图,使用一滑动窗口在所述竖直长图上按第一预设步长顺序向下移动,并对每次滑动窗口的图片在预设角度范围内做随机角度的旋转,以得到多个数据图像,将所述多个数据图像保存以得到所述多个数据图像组成的字符数据集。
进一步地,所述预设角度范围为0°-15°。
进一步地,将所述读数检测区域进行旋转矫正的具体方法为:
根据所述读数检测区域的中心点计算得到一凸集,并计算出所述凸集的重心;
找出所述凸集的最长边,并计算出所述最长边的斜率k和中点;
根据所述最长边的中心和凸集的中心的相对位置判断是否需要将所述读数检测区域旋转180°;
当所述读数检测区域不需要旋转180°时,将所述读数检测区域旋转k度以将所述读数检测区域旋转矫正到正向;当所述读数检测区域需要旋转180°时,将所述读数检测区域旋转k+180度以将所述读数检测区域旋转矫正到正向。
进一步地,所述水表指针位置的提取方法为:
根据所述读数检测区域得出第一指针搜索范围,在所述第一指针搜索范围内,使用正方形矩阵以第一预设步长逐步扫描当前射线角度上的点,当所述正方形矩阵中的白色像素比例高于阈值时,累计当前位置的白色像素的个数,并在扫描完成后,以白色像素的个数最高的的射线的预设角度范围作为第二指针搜索范围,并通过射线投影法以第二预设步长在所述第二指针搜索范围内搜索得到所述指针位置。
进一步地,所述第一预设步长为5,所述第二预设步长为1。
进一步地,所述第二预设角度范围为-5°-5°。
综上所述,本发明提供的水表读数识别方法、设备及存储介质中,所述方法包括:获取拍摄的水表图像,建立基于深度学习的水表检测模型,将所述水表图像输入所述水表检测模型中,以提取出水表图像中的读数检测区域;根据所述水表图像判断水表的类型;当判断所述水表为数字型水表时,通过预先设定的字符识别模型识别所述读数检测区域,以得到所述读数检测区域的水表读数;当判断所述水表为指针型水表时,将所述读数检测区域进行旋转矫正,并在旋转矫正后,提取出所述读数检测区域中的水表指针位置,并根据水表指针的角度线读出指针的读数。本发明首先利用目标检测技术对水表读数区域进行检测,然后判断水表的类型,根据不同的水表类型采用不同的识别算法,最终得到结果并保存。可以在复杂场景下的进行多种水表统一识别,并且一致具有较高的准确率。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (9)
1.一种水表读数识别方法,其特征在于,包括如下步骤:
获取拍摄的水表图像,建立基于深度学习的水表检测模型,将所述水表图像输入所述水表检测模型中,以提取出水表图像中的读数检测区域,其中,所述读数检测区域为所述水表图像中包含有水表读数的区域;
根据所述水表图像判断水表的类型,其中,所述水表的类型包括数字型水表和指针型水表;
当判断所述水表为数字型水表时,通过预先设定的字符识别模型识别所述读数检测区域,以得到所述读数检测区域的水表读数,其中,所述字符识别模型中存储有用于识别全字字符和半字字符的字符数据集;
当判断所述水表为指针型水表时,将所述读数检测区域进行旋转矫正,并在旋转矫正后,提取出所述读数检测区域中的水表指针位置,并根据水表指针的角度线读出指针的读数;
将所述读数检测区域进行旋转矫正的具体方法为:
根据所述读数检测区域的中心点计算得到一凸集,并计算出所述凸集的中心;
找出所述凸集的最长边,并计算出所述最长边的斜率k和中点;
根据所述最长边的中心和凸集的中心的相对位置判断是否需要将所述读数检测区域旋转180°;
当所述读数检测区域不需要旋转180°时,将所述读数检测区域旋转k度以将所述读数检测区域旋转矫正到正向;当所述读数检测区域需要旋转180°时,将所述读数检测区域旋转k+180度以将所述读数检测区域旋转矫正到正向。
2.根据权利要求1所述的水表读数识别方法,其特征在于,所述水表检测模型为加上了Attention机制的基于深度学习的YOLOv3模型。
3.根据权利要求1所述的水表读数识别方法,其特征在于,所述字符数据集的建立方法为:
拍摄n组0-9的数字的图像,并将拍摄的图像在竖直方向上随机组合,拼接得到一0-9的竖直长图,使用一滑动窗口在所述竖直长图上按第一预设步长顺序向下移动,并对每次滑动窗口的图片在预设角度范围内做随机角度的旋转,以得到多个数据图像,将所述多个数据图像保存以得到所述多个数据图像组成的字符数据集。
4.根据权利要求3所述的水表读数识别方法,其特征在于,所述预设角度范围为0°-15°。
5.根据权利要求1所述的水表读数识别方法,其特征在于,所述水表指针位置的提取方法为:
根据所述读数检测区域得出第一指针搜索范围,在所述第一指针搜索范围内,使用正方形矩阵以第一预设步长逐步扫描当前射线角度上的点,当所述正方形矩阵中的白色像素比例高于阈值时,累计当前位置的白色像素的个数,并在扫描完成后,以白色像素的个数最高的的射线的预设角度范围作为第二指针搜索范围,并通过射线投影法以第二预设步长在所述第二指针搜索范围内搜索得到所述指针位置。
6.根据权利要求5所述的水表读数识别方法,其特征在于,所述第一预设步长为5,所述第二预设步长为1。
7.根据权利要求5所述的水表读数识别方法,其特征在于,所述第二预设角度范围为-5°-5°。
8.一种水表读数识别设备,其特征在于,包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如权利要求1-7任意一项所述的水表读数识别方法中的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任意一项所述的水表读数识别方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010158644.9A CN111444781B (zh) | 2020-03-09 | 2020-03-09 | 一种水表读数识别方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010158644.9A CN111444781B (zh) | 2020-03-09 | 2020-03-09 | 一种水表读数识别方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111444781A CN111444781A (zh) | 2020-07-24 |
CN111444781B true CN111444781B (zh) | 2023-08-29 |
Family
ID=71654215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010158644.9A Active CN111444781B (zh) | 2020-03-09 | 2020-03-09 | 一种水表读数识别方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111444781B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101345A (zh) * | 2020-08-26 | 2020-12-18 | 贵州优特云科技有限公司 | 一种水表读数识别的方法以及相关装置 |
CN112287922A (zh) * | 2020-10-29 | 2021-01-29 | 北京百度网讯科技有限公司 | 表计读取方法、装置、设备以及存储介质 |
CN112464729A (zh) * | 2020-11-03 | 2021-03-09 | 深圳市北电仪表有限公司 | 基于摄像识别矫正的远程水表及实现方法 |
CN112487866A (zh) * | 2020-11-03 | 2021-03-12 | 辽宁长江智能科技股份有限公司 | 一种水表类型识别方法与系统 |
CN112434693A (zh) * | 2020-11-03 | 2021-03-02 | 辽宁长江智能科技股份有限公司 | 一种数字式水表识别方法与系统 |
CN117576677A (zh) * | 2023-12-01 | 2024-02-20 | 广州柏诚智能科技有限公司 | 一种水表读数识别方法 |
CN117894032A (zh) * | 2024-03-14 | 2024-04-16 | 上海巡智科技有限公司 | 水表读数识别方法、系统、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951900A (zh) * | 2017-04-13 | 2017-07-14 | 杭州申昊科技股份有限公司 | 一种避雷器仪表读数的自动识别方法 |
CN107590498A (zh) * | 2017-09-27 | 2018-01-16 | 哈尔滨工业大学 | 一种基于字符分割级联二分类器的自适应汽车仪表检测方法 |
CN109993166A (zh) * | 2019-04-03 | 2019-07-09 | 同济大学 | 基于刻度查找的指针式仪表读数自动识别方法 |
CN110826549A (zh) * | 2019-11-04 | 2020-02-21 | 山东欧玛嘉宝电气科技有限公司 | 基于计算机视觉的巡检机器人仪表图像识别方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8323189B2 (en) * | 2006-05-12 | 2012-12-04 | Bao Tran | Health monitoring appliance |
-
2020
- 2020-03-09 CN CN202010158644.9A patent/CN111444781B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951900A (zh) * | 2017-04-13 | 2017-07-14 | 杭州申昊科技股份有限公司 | 一种避雷器仪表读数的自动识别方法 |
CN107590498A (zh) * | 2017-09-27 | 2018-01-16 | 哈尔滨工业大学 | 一种基于字符分割级联二分类器的自适应汽车仪表检测方法 |
CN109993166A (zh) * | 2019-04-03 | 2019-07-09 | 同济大学 | 基于刻度查找的指针式仪表读数自动识别方法 |
CN110826549A (zh) * | 2019-11-04 | 2020-02-21 | 山东欧玛嘉宝电气科技有限公司 | 基于计算机视觉的巡检机器人仪表图像识别方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111444781A (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111444781B (zh) | 一种水表读数识别方法、设备及存储介质 | |
CN110659636B (zh) | 基于深度学习的指针式仪表读数识别方法 | |
WO2016062159A1 (zh) | 图像匹配方法及手机应用测试平台 | |
Salomon et al. | Deep learning for image-based automatic dial meter reading: Dataset and baselines | |
CN111259908A (zh) | 基于机器视觉的钢卷号识别方法、系统、设备及存储介质 | |
CN103597500A (zh) | 用于辨识对象中的文本信息的系统和方法 | |
CN110852954B (zh) | 指针式仪表的图像倾斜校正方法及系统 | |
CN111368906A (zh) | 一种基于深度学习的指针式油位计读数识别方法 | |
KR101842535B1 (ko) | 부호의 광학적 검출 방법 | |
CN113903024A (zh) | 一种手写票据数值信息识别方法、系统、介质及装置 | |
CN113657339A (zh) | 一种基于机器视觉的仪表指针计数读取方法及介质 | |
CN114782770A (zh) | 一种基于深度学习的车牌检测与车牌识别方法及系统 | |
CN113642582A (zh) | 电表读数识别方法、装置、电子设备和存储介质 | |
CN113763466B (zh) | 一种回环检测方法、装置、电子设备和存储介质 | |
CN113515143A (zh) | 机器人导航方法、机器人及计算机可读存储介质 | |
CN117788790A (zh) | 面向通用场景的物料安装检测方法、系统、设备及介质 | |
CN111914836B (zh) | 一种身份证信息提取方法、装置、设备和介质 | |
CN113902890A (zh) | 用于视觉概念检测的自监督数据增强方法、系统、设备 | |
Zou et al. | Robust water meter reading recognition method for complex scenes | |
CN116246265B (zh) | 一种基于图像处理的物业管理方法和装置 | |
CN111008627B (zh) | 一种在边界遮挡状况下检测标记码边框的方法 | |
CN118393327B (zh) | 一种元器件缺失检测方法、电子设备及可读存储介质 | |
CN113487594B (zh) | 一种基于深度学习的亚像素角点检测方法、系统及介质 | |
CN103674010B (zh) | 产生一图像条形码与一导航图像的方法及导航装置 | |
CN116824183B (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 |