水表读数识别方法、装置及电子设备与流程

文档序号:14991373发布日期:2018-07-20 22:17阅读:419来源:国知局

本发明实施例涉及图像处理技术领域,具体而言,涉及一种水表读数识别方法、装置及电子设备。



背景技术:

随着互联网通信技术的发展,来自不同智能设备的图像数据越来越多,这些图像数据中包含着大量数据信息,因此如何对这些图像进行处理,识别出图像中的数据信息变得尤为重要。

水表读数识别是其中的一个重要应用,但传统的对水表进行读数识别的方法容易受到外界复杂环境的影响,对水表进行读数识别的敏感性差,精确度不高。



技术实现要素:

有鉴于此,本发明提供了一种水表读数识别方法、装置及电子设备,以改善现有技术对水表进行读数识别时存在敏感性差和精确度不高的问题。

为实现上述目的,本发明实施例提供了一种水表读数识别方法,所述方法包括:

获得待识别表盘图像;

采用基于深度残差网络的水表表盘方向识别模型对所述待识别表盘图像进行方向识别,获得方向识别结果;根据所述方向识别结果对所述待识别表盘图像进行校正,获得校正图像;

采用基于深度残差网络的水表读数识别模型对所述校正图像进行识别,获得至少一个数字识别结果以及与所述至少一个数字识别结果对应的至少一个位置识别结果;

采用位置中心排序法对所述至少一个位置识别结果进行排序,获得位置识别结果序列,根据所述位置识别结果序列获得数字识别结果序列,将所述数字识别结果序列作为最终读数结果。

可选地,采用基于深度残差网络的水表表盘方向识别模型对所述待识别表盘图像进行方向识别,获得方向识别结果的步骤,包括:

获得深度残差网络设定层的卷积神经网络模型,根据所述卷积神经网络模型对所述待识别表盘图像中的方向信息进行提取,将所述方向信息与所述卷积神经网络模型中的方向特征值进行比较,获得方向识别结果。

可选地,采用基于深度残差网络的水表读数识别模型对所述校正图像进行识别,获得至少一个数字识别结果以及与所述至少一个数字识别结果对应的至少一个位置识别结果的步骤,包括:

获得深度残差网络设定层的卷积神经网络模型,根据所述卷积神经网络模型对所述校正图像中的读数框内的至少一个数字信息进行提取,并提取所述至少一个数字信息对应的位置信息。

可选地,采用位置中心排序法对所述至少一个位置识别结果进行排序,获得位置识别结果序列,根据所述位置识别结果序列获得数字识别结果序列,将所述数字识别结果序列作为最终读数结果的步骤,包括:

若数字信息为一个,将该数字信息作为最终读数结果;

若数字信息为多个,针对每个数字信息,根据该数字信息所对应的位置信息计算获得该数字信息对应的中心位置坐标,对多个所述中心位置坐标进行排序,获得中心位置坐标序列,根据所述中心位置坐标序列获得数字信息序列,将所述数字信息序列作为最终读数结果。

可选地,多个数字信息的数量为n个,第i个数字信息为mi,mi对应的位置信息为pi(xi1,yi1,xi2,yi2),mi对应的中心位置坐标为pi-center(xi,yi),其中,i∈[1,n]∩i∈z;若数字信息为多个,针对每个数字信息,根据该数字信息所对应的位置信息计算获得该数字信息对应的中心位置坐标,对多个所述中心位置坐标进行排序,获得中心位置坐标序列,根据所述中心位置坐标序列获得数字信息序列,将所述数字信息序列作为最终读数结果的步骤,包括:

根据pi(xi1,yi1,xi2,yi2)计算获得pi-center(xi,yi);

将xi按从小到大的顺序进行排列,获得xi的排序序列,根据xi的排序序列获得mi的排序序列,将mi的排序序列作为最终读数结果;

其中:

(xi1,yi1)为第i个位置信息识别矩形框的左上角位置坐标;

(xi2,yi2)为第i个位置信息识别矩形框的右下角位置坐标;

(xi,yi)为第i个位置信息识别矩形框的中心位置坐标。

可选地,pi-center(xi,yi)通过以下计算公式得到:

可选地,所述基于深度残差网络的水表表盘方向识别模型和所述基于深度残差网络的水表读数识别模型通过以下步骤建立:

获得多张表盘样本图像;

根据所述多张样本表盘图像构建深度残差设定层的卷积神经网络模型,提取各所述样本表盘图像中的方向特征值,采用迁移学习方法的对所述方向特征值进行训练,获得基于深度残差网络的水表表盘方向识别模型;

根据所述多张样本表盘图像构建深度残差设定层的卷积神经网络模型,提取各所述样本表盘图像中的数字特征值以及该数字特征值对应的位置特征值,采用迁移学习方法的对所述数字特征值和所述位置特征值进行训练,获得基于深度残差网络的水表读数识别模型。

本发明实施例还提供了一种水表读数识别装置,所述装置包括:

获取模块,用于获得待识别表盘图像;

方向获取及校正模块,用于采用基于深度残差网络的水表表盘方向识别模型对所述待识别表盘图像进行方向识别,获得方向识别结果;根据所述方向识别结果对所述待识别表盘图像进行校正,获得校正图像;

数字及位置识别模块,用于采用基于深度残差网络的水表读数识别模型对所述校正图像进行识别,获得至少一个数字识别结果以及与所述至少一个数字识别结果对应的至少一个位置识别结果;

读数获取模块,用于采用位置中心排序法对所述至少一个位置识别结果进行排序,获得位置识别结果序列,根据所述位置识别结果序列获得数字识别结果序列,将所述数字识别结果序列作为最终读数结果。

本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的水表读数识别方法。

本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在电子设备执行上述的水表读数识别方法。

本发明实施例提供的水表读数识别方法、装置及电子设备,采用基于深度残差网络的水表表盘方向识别模型对待识别表盘图像进行方向识别并校正,并采用位置中心排序法对位置识别结果进行排序,获得位置识别结果序列,根据所述位置识别结果序列获得数字识别结果序列,将所述数字识别结果序列作为最终读数结果,能够从任意方向和任意角度对待识别表盘图像进行读数识别,提高了对水表进行读数识别的敏感性和精确度。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例所提供的一种电子设备10的方框示意图。

图2为本发明实施例所提供的水表表盘的不同方向示意图

图3为本发明实施例所提供的一种水表读数识别方法的流程图。

图4为本发明实施例所提供的一种待识别表盘图像的示意图。

图5为本发明实施例所提供的一种校正图像的示意图。

图6为本发明实施例所提供的一种水表读数识别装置20的模块框图。

图标:10-电子设备;11-存储器;12-处理器;13-网络模块;20-水表读数识别装置;21-获取模块;22-方向获取及校正模块;23-数字及位置识别模块;24-读数获取模块。

具体实施方式

经调查发现,传统的对水表进行读数识别的方法容易受到外界复杂环境的影响,对水表进行读数识别的敏感性差,精确度不高。

以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。

基于上述研究,本发明实施例提供了一种水表读数识别方法、装置及电子设备,能够从任意方向和任意角度对水表进行读数识别,提高对水表读数识别的敏感性和精确度。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

图1示出了本发明实施例所提供的一种电子设备10的方框示意图。本发明实施例中的电子设备10可以为具有数据存储、传输、处理功能的服务端,如图1所示,电子设备10包括:存储器11、处理器12、网络模块13和水表读数识别装置20。

存储器11、处理器12和网络模块13之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有水表读数识别装置20,所述水表读数识别装置20包括至少一个可以软件或固件(firmware)的形式储存于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,例如本发明实施例中的水表读数识别装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的水表读数识别方法。

其中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。

所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

网络模块13用于通过网络建立电子设备10与其他通信终端设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。

可以理解,图1所示的结构仅为示意,电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在电子设备10执行下面的水表读数识别方法。

在本实施例中,该水表读数识别方法的执行主体可以为服务端,即该水表读数识别方法应用于服务端。

在本实施例中,服务端预先构建、训练并存储了基于深度残差网络的水表表盘方向识别模型和基于深度残差网络的水表读数识别模型。其中,基于深度残差网络的水表表盘方向识别模型和基于深度残差网络的水表读数识别模型通过以下步骤构建和训练。

首先,服务端获得多张表盘样本图像。

在本实施例中,可以将多张表盘样本图像作为表盘图像数据集d,该数据集d中包括不同角度、不同方向及不同环境下的表盘图像,例如,该数据集d包括表盘读数半字以及表盘读数框有遮挡等类型的机械表盘样本3000张以及网络表盘样本3000张。

应当理解,本实施例给出的6000张样本仅仅是其中一种样本容量选择,并不是对本方案的限定,在实际的模型建立中,可以对样本容量进行相应缩减或扩充。

其次,对于水表表盘方向识别模型,服务端构建深度残差152层卷积神经网络模型,提取表盘图像数据集d中的每个表盘图像的方向特征值,其样本标签为lori为0~7,表示表盘图像的方向,如图2所示。例如:0表示0°方向角,1表示45°方向角,2表示90°方向角,3表示135°方向角,4表示180°方向角,5表示225°方向角,6表示270°方向角,7表示315°方向角。可选地,模型最后一层全连接网络设置输出为8,用于表示最终方向分类为8个类别。通过这些步骤,获得基于深度残差网络的水表表盘方向识别模型,然后采用迁移学习方式对水表表盘方向识别模型进行训练,训练参数为:训练学习率0.001,权重衰减率0.0005,梯度更新的权重0.9。采用迁移学习方式能解决小样本带来的准确度不足的问题,进而提高水表表盘方向识别模型的训练精度。

对于水表读数识别模型,服务端构建深度残差152层卷积神经网络模型,提取表盘图像数据集d中的每个表盘图像的数字特征值以及与数字特征值对应的位置特征值。

可选地,数字特征值的样本标签lnum为0~9,分别表示数字字符0~9,其最后一层全连接网络设置输出为10,表示最终数字分类为10个类别。

可选地,可以采用字轮检测矩形框对位置特征值进行提取,位置特征值的样本标签lobj为0、1,分别表示字轮与非字轮,可以采用回归问题方式进行训练。

通过这些步骤,获得基于深度残差网络的水表读数识别模型,相应地,采用迁移学习方式对水表读数识别模型进行训练,训练参数为:训练学习率0.001,权重衰减率0.0005,梯度更新的权重0.9。

通过以上步骤,完成对基于深度残差网络的水表表盘方向识别模型和基于深度残差网络的水表读数识别模型的构建和训练。对待识别表盘图像的识别将依据这两个模型进行,请参阅图3。

图3示出了本发明实施例所提供的一种水表读数识别方法的流程图。所述方法有关的流程所定义的方法步骤应用于电子设备10,可以由所述处理器12实现。下面将对图3所示的具体流程进行详细阐述:

步骤s21,获得待识别表盘图像。

其中,待识别表盘图像可以为任意方向、任意角度和任意环境下的表盘图像。例如,请参阅图4,为本发明实施提供的一种待识别表盘图像的示意图。由图4可见,该待识别表盘呈一定角度或方向。若要对该待识别表盘图像进行读数识别,需要先进行方向校正,然后再对图像中的数字信息和位置信息进行提取。可选地,步骤s22为方向校正,步骤s23为数字信息和位置信息的提取。

步骤s22,采用基于深度残差网络的水表表盘方向识别模型对待识别表盘图像进行方向识别,获得方向识别结果;根据方向识别结果对待识别表盘图像进行校正,获得校正图像。

其中,基于深度残差网络的水表表盘方向识别模型包括深度残差网络设定层的卷积神经网络模型。服务端获得深度残差网络设定层的卷积神经网络模型,根据该卷积神经网络模型对待识别表盘图像中的方向信息进行提取,将方向信息与该卷积神经网络模型中的方向特征值进行比较,获得方向识别结果。其中,设定层可以为152层。

例如,对图4的待识别表盘图像的方向信息进行识别,获得方向信息为1,可以分析得出该待识别表盘图像的方向为45°方向角的识别结果。服务端对该待识别表盘图像进行方向校正,获得校正图像。

又例如,待识别表盘图像可以为i,校正图像可以为ij。

应当理解,为便于说明和分析,图4仅示出了待识别表盘的其中一种方向示意图,并不是对本方案的限定。

步骤s23,采用基于深度残差网络的水表读数识别模型对校正图像进行识别,获得至少一个数字识别结果以及与至少一个数字识别结果对应的至少一个位置识别结果。

其中,基于深度残差网络的水表读数识别模型包括深度残差网络设定层的卷积神经网络模型。服务端获得深度残差网络设定层的卷积神经网络模型,根据所述卷积神经网络模型对所述校正图像中的读数框内的至少一个数字信息进行提取,并提取所述至少一个数字信息对应的位置信息,其中,设定层也可以为152层。

可以理解,数字信息可以为一个也可以为多个。

若数字信息为一个,可以直接将该数字信息作为最终读数结果,无需考虑其位置信息。应当理解,数字信息为一个的表盘图像对应的读数框中的字轮也只有一个。

若数字信息为多个,针对每个数字信息,根据该数字信息所对应的位置信息计算获得该数字信息对应的中心位置坐标,对多个中心位置坐标进行排序,获得中心位置坐标序列,根据中心位置坐标序列获得数字信息序列,将数字信息序列作为最终读数结果。例如,请继续参阅图5,由图可见,图中的表盘图像对应的读数框中的字轮为四个,此时不仅需要获得每个字轮中的数字,还需要获得每个数字对应的位置信息。

可选地,多个数字信息的数量为n个,第i个数字信息为mi,mi对应的位置信息为pi(xi1,yi1,xi2,yi2),mi对应的中心位置坐标为pi-center(xi,yi),其中,i∈[1,n]∩i∈z;

例如,请参阅图5,为本发明实施例所提供的一种校正图像的示意图。又例如,提取出图5中的数字信息为:

m1,“8”,p1(x11,y11,x12,y12);

m2,“8”,p2(x21,y21,x22,y22);

m3,“4”,p3(x31,y31,x32,y32);

m4,“8”,p4(x41,y41,x42,y42)。

可以理解,图5中的数字信息为4个,以m1为例,服务端识别出m1的数字信息为8,并识别出字轮检测矩形框的左上角坐标为(x11,y11),右下角坐标为(x12,y12),其中,字轮检测矩形框如图5所示。

服务端根据(x11,y11)和(x12,y12)计算出m1的中心位置坐标p1-center(x1,y1),其中,计算公式如下:

同理,对于m2、m3和m4也采用上述方法计算出各自对应的中心位置坐标p2-center(x2,y2)、p3-center(x3,y3)和p4-center(x4,y4)。

步骤s24,对至少一个位置识别结果进行排序,获得位置识别结果序列,根据位置识别结果序列获得数字识别结果序列,将数字识别结果序列作为最终读数结果。

在计算出中心位置坐标之后,需要对各个中心位置坐标进行排序,在本实施例中,按照xi从小打到的顺序排列,有例如,x1、x2、x3和x4的值分别为20、23、24.1和27.3,可以理解,中心位置的排序为:

p1-center(x1,y1)、p2-center(x2,y2)、p3-center(x3,y3)、p4-center(x4,y4)。

进一步地,按照上面的排序序列将各个中心位置坐标对应的数字信息进行排序,得到数字序列为“8848”,将该数字序列作为最终读数结果。

应当理解,上述数字信息的取值、坐标信息的取值、排序序列以及读数结果等具体数字仅作为示例,并不是对本方案的限定。

在上述基础上,如图6所示,本发明实施例提供了一种水表读数识别装置20,所述水表读数识别装置20包括:获取模块21、方向获取及校正模块22、数字及位置识别模块23和读数获取模块24。

获取模块21,用于获得待识别表盘图像。

由于获取模块21和图3步骤s21的实现原理类似,因此在此不作更多说明。

方向获取及校正模块22于采用基于深度残差网络的水表表盘方向识别模型对所述待识别表盘图像进行方向识别,获得方向识别结果;根据所述方向识别结果对所述待识别表盘图像进行校正,获得校正图像。

由于方向获取及校正模块22和图3步骤s22的实现原理类似,因此在此不作更多说明。

数字及位置识别模块23于采用基于深度残差网络的水表读数识别模型对所述校正图像进行识别,获得至少一个数字识别结果以及与所述至少一个数字识别结果对应的至少一个位置识别结果。

由于数字及位置识别模块23和图3步骤s23的实现原理类似,因此在此不作更多说明。

读数获取模块24,用于采用位置中心排序法对所述至少一个位置识别结果进行排序,获得位置识别结果序列,根据所述位置识别结果序列获得数字识别结果序列,将所述数字识别结果序列作为最终读数结果。

由于读数获取模块24和图3中步骤s24的实现原理类似,因此在此不作更多说明。

综上,本发明实施例所提供的水表读数识别方法、装置及电子设备,结合深度残差网络,能对任意方向、任意角度和任意环境下的水表进行读数识别,保证了水表读数识别的准确性。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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