一种数字表读数的识别方法、装置及设备与流程

文档序号:15145374发布日期:2018-08-10 20:23阅读:244来源:国知局

本说明书涉及计算机技术领域,尤其涉及一种数字表读数的识别方法、装置及设备。



背景技术:

数字表具有高精度,方便读取等优点,从而广泛应用于工业、生活等领域。

对数字表图像中的读数进行识别时,传统方法大多使用图像处理的方法对图像进行分割,例如,对数字表盘进行分割,确定每个数字的位置,最后对每个数字进行识别。这个过程受光照等影响较大很容易出现分割不准确的文档,导致数字不完整,从而影响数字识别的精度。

基于此,需要一种更准确的数字表读数的识别方案。



技术实现要素:

本说明书实施例提供一种数字表读数的识别方法、装置及设备,用于解决如下问题:以提供一种更准确的数字表读数的识别方案。

基于此,本说明书实施例提供一种数字表读数的识别方法,包括:

获取包含数字表的第一图像,在所述第一图像中,数字表展示由多个数字组成的读数;

从所述第一图像中划分得到多个待识别的第二图像;

识别所述待识别的第二图像,当确定所述待识别的第二图像所对应的数字时,获取所述已识别的第二图像在所述第一图像中的位置;

根据所述第二图像的位置对第二图像所对应的数字进行排序,生成对第一图像中读数的识别结果。

同时,本说明书的实施例还提供一种数字表读数的识别装置,包括:

获取模块,获取包含数字表的第一图像,在所述第一图像中,数字表展示由多个数字组成的读数;

划分模块,从所述第一图像中划分得到多个待识别的第二图像;

识别模块,识别所述待识别的第二图像,当确定所述待识别的第二图像所对应的数字时,获取所述已识别的第二图像在所述第一图像中的位置;

排序模块,根据所述第二图像的位置对第二图像所对应的数字进行排序,生成对第一图像中读数的识别结果。

对应的,本说明书实施例还提供一种数字表读数的识别设备,包括:

存储器,存储有数字表读数的识别程序;

处理器,调用存储器中的数字表读数的识别程序,并执行:

获取包含数字表的第一图像,在所述第一图像中,数字表展示由多个数字组成的读数;

从所述第一图像中划分得到多个待识别的第二图像;

识别所述待识别的第二图像,当确定所述待识别的第二图像所对应的数字时,获取所述已识别的第二图像在所述第一图像中的位置;

根据所述第二图像的位置对第二图像所对应的数字进行排序,生成对第一图像中读数的识别结果。

对应的,本说明书的实施例还提供一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:

获取包含数字表的第一图像,在所述第一图像中,数字表展示由多个数字组成的读数;

从所述第一图像中划分得到多个待识别的第二图像;

识别所述待识别的第二图像,当确定所述待识别的第二图像所对应的数字时,获取所述已识别的第二图像在所述第一图像中的位置;

根据所述第二图像的位置对第二图像所对应的数字进行排序,生成对第一图像中读数的识别结果。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

通过检测包含数字表的第一图像中的数字表盘,然后采用事先训练的数字识别模型,按照一定的大小对表盘进行分割识别,在分割的时候同时确定了每个第二图像的对应的坐标,因此在识别到第二图像的数字的同时还可以确定该第二图像的位置,从而根据位置可以对数字进行排序,得到对读数的识别结果。通过将分割和识别在一个模型中实施,因此分割的同时可以利用识别的特征,提高了数字识别的准确度。

附图说明

图1为当前技术中对图像进行分割然后进行识别的流程示意图;

图2为本说明书实施例提供的数字表读数的识别方法流程示意图;

图3为本说明书实施例提供的从第一图像中划分区域得到第二图像的示意图;

图4为本说明书实施例所提供的数字表盘检测模型的训练样本示意图;

图5为本说明书实施例所视同的数字检测模型的四张训练样本的示意图;

图6a为本说明书实施例所提供的对于7位表的识别的示意图,图6b为本说明书实施例所提供的对于8位表的识别的示意图;

图7为本说明书实施例所提供的数字表读数的识别装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

数字表即为在表盘上通过数字(一般为采用十进制,具体采用多少位数字来计数,可根据实际需要而定)来显示读数的表。例如,水表、电表、燃气表等等。传统方法识别数字表读数需要对表盘检测后精确定位再对各数字进行分割然后识别,如图1所示,图1为当前技术中对图像进行分割然后进行识别的流程示意图,采用这种方法,在光线差、分辨率低、污损、倾斜大等情况的稳定性不好。

基于此,本说明书实施例提供一种数字表读数的识别方法,通过对图像进行划分得到自图像,在确定其位置的同时进行识别。得到对应的数字,在根据位置对数字进行排序得到识别结果。

如图2所示,图2为本说明书的实施例提供的数字表读数的识别方法流程示意图,具体包括以下步骤:

s201,获取包含数字表的第一图像,在所述第一图像中,数字表展示由多个数字组成的读数。

对于接收到的图像,可以是由图像采集设备(例如,手机或专用采集工具)获得,可以是之前已经收集好的历史图片,或者是实时采集上传的图片,也可以是从视频序列中获取的图像帧。在获取包含数字表图片的过程中,可由预先设定的程序自动检测完成(例如,对于视频自动截帧获取图片)。在图像中,数字表展示由多个数字组成的图像。此外,对于获取得到的图片,可以是彩色的,也可以是黑白的。图像可以从各种来源获取得到,适应多种实际应用场景。

s203,从所述第一图像中划分得到多个待识别的第二图像。

具体而言,此处对第一图像划分可以由多种划分方式,例如,按照指定面积(指定长度*指定宽度)的区域大小或者像素大小(像素大小和面积大小的换算关系与图像的分辨率相关)对第一图像进行遍历扫描,例如,从第一图像的最左侧开始,每次右移若干面积单位或者像素单位进行划分,一直到该行最右侧为止,再继续下一行,从而得到多个可能有重叠区域的一组大小相同待识别的第二图像。如图3所示,图3为对本说明书实施例提供的从第一图像中划分区域得到第二图像的示意图。在上述的划分方式中,还可以通过改变指定的区域大小或者像素大小进行再次划分,从而得到多组不同大小的待识别的第二图像。从而,在整个划分过程完全结束时,得到的是多张大小可能相同也可能不同,互相间可能有部分重叠甚至包含关系的第二图像。

s205,识别所述待识别的第二图像,当确定所述待识别的第二图像所对应的数字时,获取所述已识别的第二图像在所述第一图像中的位置。

需要说明的是,前述的划分过程和此处的识别过程并不一定是完全分开进行的,也可以交织进行。即,可以等待完全划分结束后得到若干张待识别的第二图像再分别识别,也可以在划分的同时就对得到的第二图像进行识别,该第二图像识别结束后在进行下一次的划分。

对第二图像的识别可以采用常规的图像识别模型,也可以采用自定义的神经网络模型,例如,对于输入的任意一张第二图像,首先判定其是否可能包含数字,若可能性不高,则滤除去,否可能包含数字,则基于事先训练得到的卷积网络神经模型。通过最终的全连接层输出十个概率值,每个概率值对应于一个数字的可能性,以可能性最高的输出项所对应的数字作为该第二图像的识别结果。

由于在进行图像划分时按照一定的规则进行,从而可以计算得到的第二图像的坐标(在以指定长度*宽度进行划分时),或者对每个划分得到的第二图像可以基于诸如第二图像中某个特定像素点的坐标,确定第二图像在第一图像中的位置。

在上述识别过程中,由于还可能发生一个数字被多张第二图像所选中的情况,即,同一区域出现多个识别结果。因此,还可以基于对第二图像所确定的位置进一步对识别结果进行选取。例如,现根据位置确定有5张不同大小的第二图像是对应于同一区域的数字,其中,有四张的识别结果为“9”,有一张的识别结果为“8”,则可以多数的识别结果为准;又例如,有三个第二图像同时对应于同一区域的数字,但识别结果互不相同,则可以置信度最高(置信度可基于模型对数字的识别概率计算得到)的识别结果为准。

s207,根据所述第二图像的位置对第二图像所对应的数字进行排序,生成对第一图像中读数的识别结果。

在进行排序时,还需要考虑第一图像的形状。一般而言,在第一图像中读数是从左至右进行,在这种情形下,则可以将识别得到的数字按照第二图像的横坐标从小到大进行排序,组合得到识别结果。若第一图像中的读数是其他形状,而对应改变排序方式即可。例如,读数是从上之下,则可按照第二图像中的纵坐标进行排序,得到识别结果。

通过从包含数字表的第一图像中获取第二图像,在获取图像的同时即确定了该图像的位置,然后采用事先训练的数字识别模型进行识别,实现在识别到第二图像的数字的同时还可以确定该第二图像的位置,从而根据位置可以对数字进行排序,得到对读数的识别结果。通过将分割和识别在一个模型中实施,因此分割的同时可以利用识别的特征,提高了分割和数字识别的准确度。此外,对于读数的分割无需事先指定位数,均可实施,更加的方便。

作为一种具体的实施方式,数字表中通常具有数字表盘,通过数字表盘展示读数,在这种情形下,第二图像的获取可基于数字表盘进行,包括:通过表盘检测模型,检测所述包含数字表的第一图像,获取包含数字表盘的图像;其中,所述表盘检测模型通过深度学习训练得到,训练样本可以从实际图像中或者通过模拟得到,如图4所示,图4为本说明书实施例所提供的数字表盘检测模型的训练样本示意图,一般而言,训练样本应有5000个左右,样本越多,检测效果越稳定。

从而,从所述第一图像中划分得到多个待识别的第二图像,包括:从所述包含数字表盘的图像中获取多个待识别的第二图像。

通过先检测表盘,在从表盘中获取第二图像,大幅度降低了无效第二图像(即,其中不包含有效读数的图像)的选取,提高了识别效率。

作为一种具体的实施方式,对所述步骤s203中,从所述第一图像中获取多个待识别的第二图像,包括:

按照预先设定的划分规则,从所述第一图像中划分得到指定像素大小的待识别的多个第二图像。

此处的划分规则包括:根据事先指定划分的区域大小(例如一定面积的,或者一定像素的区域),选定起始位置(一般从坐标(0,0)开始),对第一图像进行遍历扫描,每次平移一定距离(例如,指定长度,或者若干个像素点)选取下一个第二图像,在换行时下移若干距离等等。指定的像素大小可以是多种,一般是诸如20*20像素点、22*22像素点等矩形区域,如果是获取第二图像的同时就进行了识别,那么在一次扫描结束识别结果不理想时(例如,没有扫描得到数字,或者识别得到的数字太少),则可以改变扫描区域的大小进行下一次的扫描和识别,或者预先就定义进行若干次扫描。

进一步地,在以像素点作为第二图像的选取基准时,从一开始第一图像中每个像素点的坐标都是可以确定的,从而对于第二图像位置的确定可以基于像素点的坐标进行:

确定所述第一图像中各像素的坐标值;

基于所述第一图像中各像素的坐标值,获取所述已识别的第二图像中位置参考点的坐标值;

根据所述位置参考点的坐标值获取所述已识别的第二图像在所述第一图像中的位置。

在以矩形区域选取第二图像时,可将每个第二图像的4个顶点作为位置参考点,以该四个点的坐标确定第二图像在第一图像中所处的位置,以及进一步确定是否有与其他第二图像部分或者全部重叠的情形。

例如,对于一个从左至右的天然气读数,以20*20的像素大小选取子区域(即第二图像)进行识别,以该矩形的左上顶点作为位置参考点,从而可知第二图像1号的位置参考点坐标为(0,0),第二图像二号的参考点坐标为(20,0)。现有第二图像100号的识别结果为1,位置参考点坐标为(200,240),第二图像300号的识别结果为0,位置参考点坐标为(300,220),第二图像505号的识别结果为2,位置参考点坐标为(400,260),则可知从左到右的顺序为第二图像100号、第二图像300号和第二图像505号,对应排序得到读数的识别结果为102。

作为一种具体的实施方式,对于步骤s205中的,识别所述各第二图像中的数字,可以采用如下方式:

通过数字检测模型识别所述各第二图像中的数字;其中,所述数字检测模型识通过深度学习训练得到,训练样本包括完整和/或不完整的已标注数字图像。

具体而言,训练的样本可以是不同大小的图像(可与获取第二图像时指定的面积大小或者像素大小相同),包含完整和/或不完整的已标注数字图像(标注的类别可与读数相同),如图5所示,图5为本说明书实施例所视同的数字检测模型的四张训练样本的示意图。

在实际应用中,前述数字表包括数字水表、数字电表或者数字燃气表。对于不同的位数的数字表均可实施,图6a为本说明书实施例所提供的对于7位表的识别的示意图,图6b为本说明书实施例所提供的对于8位表的识别的示意图。图中已经事先通过对包含数字表的第一图像进行了表盘检测,第二图像是从表盘图像中划分得到,并且只示意性的给出了最终被保留的第二图像,每一个框都代表划分得到的第二图像,得到的第二图像并不一定一样大小,划分得到的顺序是随机的,在上述的识别过程中,在获取第二图像的同时也对其确定了坐标位置,从而识别得到第二图像中的数字的同时,则可以根据第二图像的位置(像素坐标)进行箭头方向的排序生成识别结果。

基于同样的思路,本发明还提供一种数字表读数的识别装置,如图7所示,图7为本说明书实施例所提供的数字表读数的识别装置的结构示意图,包括:

获取模块701,获取包含数字表的第一图像,在所述第一图像中,数字表展示由多个数字组成的读数;

划分模块703,从所述第一图像中划分得到多个待识别的第二图像;

识别模块705,识别所述待识别的第二图像,当确定所述待识别的第二图像所对应的数字时,获取所述已识别的第二图像在所述第一图像中的位置;

排序模块707,根据所述第二图像的位置对第二图像所对应的数字进行排序,生成对第一图像中读数的识别结果。

进一步地,当数字表通过数字表盘展示由多个数字组成的读数时,所述装置还包括表盘检测模块709,通过表盘检测模型,检测所述包含数字表的第一图像,获取包含数字表盘的图像,其中,所述表盘检测模型通过深度学习训练得到;所述划分模块703,从所述第一图像中划分得到多个待识别的第二图像。

进一步地,所述划分模块703,按照预先设定的划分规则,从所述第一图像中划分得到指定像素大小的待识别的多个第二图像。

进一步地,所述识别模块705,确定所述第一图像中各像素的坐标值;基于所述第一图像中各像素的坐标值,获取所述已识别的第二图像中位置参考点的坐标值;根据所述位置参考点的坐标值获取所述已识别的第二图像在所述第一图像中的位置。

当所述第二图像为矩形时,所述位置参考点包括矩形的顶点。

进一步地,所述识别模块705,通过数字检测模型识别所述各第二图像中的数字;其中,所述数字检测模型识通过深度学习训练得到,训练样本包括完整和/或不完整的已标注数字图像。

进一步地,所述数字表包括数字水表、数字电表或者数字燃气表。

对应的,本说明书实施例还提供一种数字表读数的识别设备,包括:

存储器,存储有数字表读数的识别程序;

处理器,调用存储器中的数字表读数的识别程序,并执行:

获取包含数字表的第一图像,在所述第一图像中,数字表展示由多个数字组成的读数;

从所述第一图像中划分得到多个待识别的第二图像;

识别所述待识别的第二图像,当确定所述待识别的第二图像所对应的数字时,获取所述已识别的第二图像在所述第一图像中的位置;

根据所述第二图像的位置对第二图像所对应的数字进行排序,生成对第一图像中读数的识别结果。

基于同样的发明思路,本申请实施例还提供了对应的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:

获取包含数字表的第一图像,在所述第一图像中,数字表展示由多个数字组成的读数;

从所述第一图像中划分得到多个待识别的第二图像;

识别所述待识别的第二图像,当确定所述待识别的第二图像所对应的数字时,获取所述已识别的第二图像在所述第一图像中的位置;

根据所述第二图像的位置对第二图像所对应的数字进行排序,生成对第一图像中读数的识别结果。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和介质类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可,这里就不再一一赘述。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤或模块可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1