一种数字水表的数据识别方法与流程

文档序号:17374482发布日期:2019-04-12 23:09阅读:627来源:国知局
一种数字水表的数据识别方法与流程

本发明涉及利用计算机程序识别图片的方法,尤其涉及一种数字水表的数据识别方法。



背景技术:

目前为止,自来水厂仍然需要派人挨家挨户查看水表才能够统计出每家的用水量,如果遇到家中没人,工作人员要改天再来,非常不便。



技术实现要素:

本发明要解决的技术问题是:为了解决人工上门抄水表的方式比较落后,统计不便的问题,本发明提供了一种数字水表的数据识别方法来解决上述问题。

本发明解决其技术问题所采用的技术方案是:一种数字水表的数据识别方法,包括以下步骤:

s1、对摄像机拍摄的原始灰度图进行预处理得到中间灰度图作为第一训练样本,收集n张中间灰度图组成第一训练集;

s2、标记所述中间灰度图中的实际多位数区域的四个顶点坐标分别为(xi1,yi1)、(xi2,yi2)、(xi3,yi3)和(xi4,yi4),其中i=1,2,3...n;

s3、构建分割神经网络,所述分割神经网络的激活函数为leakyrelu,损失函数为:

loss=loss1+loss2,

loss1=(fi1-fi2)2

loss2=∑apa/(∑bpb+∑cpc),

fi2=(xi1,yi1,xi2,yi2,xi3,yi3,xi4,yi4),

所述fi1为分割神经网络的预测向量,所述fi2为真实向量;

为预测多位数区域的四个顶点的坐标;

pb为实际多位数区域内并且在预测多位数区域外的点对应的值;

pc为实际多位数区域外并且在预测多位数区域内的点对应的值;

pa为实际多位数区域内并且在预测多位数区域内的点对应的值;

s4、将第一训练样本输入分割神经网络进行训练,根据loss反向传播,更新分割神经网络的权值,得到训练好的分割神经网络;

s5、将中间灰度图中的实际多位数区域切割出来并且通过透视变换成实际矩形图,将实际矩形图中每个数字切割出来的数字灰度图作为第二训练样本,收集m个第二训练样本组成第二训练集;

s6、构建识别神经网络,所述识别神经网络为卷积神经网络,激活函数为relu,损失函数为交叉熵loss’;

s7、将所述第二训练样本输入识别神经网络进行训练,根据loss’反向传播,更新识别神经网络的权值,得到训练好的识别神经网络。

作为优选,还包括步骤:

s8、将待识别的原始灰度图进行预处理得到中间灰度图,将中间灰度图输入分割神经网络中,输出得到预测多位数区域的四个顶点的坐标为将预测多位数区域从中间灰度图中切割出来,接着通过透视变换成矩形图,将矩形图中每个数字切割出来得到数字灰度图并依次输入识别神经网络中,得到每个数字的预测值并重新组合为多位数。

作为优选,所述步骤s4包括以下步骤:

s401、中间灰度图通过64个3*3*1的卷积核进行卷积,步数为1,再利用64个3*3*64的卷积核进行两次卷积得到中间特征图;

s402、对中间特征图进行批量标准化处理后通过所述leakyrelu对其进行非线性映射;

s403、中间特征图经过2*2的最大池化,步数为2;

s404、中间特征图通过128个3*3*64的卷积核进行卷积,步数为1,再利用128个3*3*128的卷积核进行两次卷积,重复步骤s402~s403;

s405、中间特征图通过256个3*3*128的卷积核进行卷积,步数为1,再利用256个3*3*256的卷积核进行两次卷积,重复步骤s402~s403;

s406、中间特征图通过512个3*3*256的卷积核进行卷积,步数为1,再利用512个3*3*512的卷积核进行两次卷积,重复步骤s402~s403;

s407、中间特征图通过512个3*3*512的卷积核进行三次卷积,步数为1,重复步骤s402~s403;

s408、将中间特征图转换为4048维的特征向量v1;

s409、对特征向量v1进行dropout处理;

s410、将特征向量v1转换成1000维的特征向量v2;

s411、对特征向量v2进行dropout处理;

s412、利用softmax函数处理特征向量v2,得到fi1;

s413、计算并根据loss反向传播,更新分割神经网络的权值,得到训练好的分割神经网络。

作为优选,所述识别神经网络包括第二输入层、第二卷积层、第二池化层、第三卷积层、第三池化层、第三全连接层、第四全连接层和第二输出层;

所述步骤s7包括以下步骤:

s701、在第二卷积层中,维度为56*56*1的数字灰度图通过32个5*5*1的卷积核进行卷积,步数为1,补零之后得到56*56*32的三维特征图,然后函数relu对此三维特征图进行非线性映射;

s702、在第二池化层中,56*56*32的三维特征图经过2*2的最大池化,步数为2,得到28*28*32的三维特征图;

s703、在第三卷积层中,维度为28*28*32的三维特征图通过64个5*5*32的卷积核进行卷积,步数为1,补零之后得到28*28*64的三维特征图,然后函数relu对此三维特征图进行非线性映射;

s704、在第三池化层中,28*28*64的三维特征图经过2*2的最大池化,步数为2,得到14*14*64的三维特征图;

s705、在第三全连接层中,将14*14*64的三维特征图转换为1024维的特征向量v3;

s706、在第四全连接层中,将1024维的特征向量v3转换为10维的特征向量v4;

s707、在第二输出层,利用softmax函数归一化所述特征向量v4,得到特征向量s;

s708、将特征向量s作为预测值与真实值y输入交叉熵中计算loss’,根据loss’反向传播,更新识别神经网络的权值,得到训练好的识别神经网络。

本发明的有益效果是,这种数字水表的数据识别方法先将多位数区域从原始灰度图中检测并且切割出来,然后对多位数区域的数字一个个去识别再重组得到多位数,替代人工上门抄表方便快捷,而且识别准确。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1是一种数字水表的数据识别方法的实施例的流程图。

图2是一张原始灰度图。

图3是一张包含数字的矩形图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

为了识别数字水表上的多位数必须要对水表进行拍摄,在水表旁边设置一个可以输出灰度图的摄像机,如图2所示,原始灰度图中包括实际多位数区域和背景区域,由于摄像机拍摄角度并非一定是正对着水表的正面,所以实际多位数区域为平行四边形;如图1所示,通过一种数字水表的数据识别方法对摄像机拍摄的原始灰度图进行处理,包括以下步骤:

s1、对摄像机拍摄的原始灰度图进行预处理,得到维度是160*160*1的中间灰度图,将其作为第一训练样本,收集500张中间灰度图组成第一训练集;

s2、标记实际多位数区域的四个顶点的坐标分别为:

(xi1,yi1)、(xi2,yi2)、(xi3,yi3)和(xi4,yi4),其中i=1,2,3…500;

s3、构建分割神经网络,分割神经网络包括第一输入层、第一卷积层、第一bn层、第一池化层、第一全连接层、第一dp层、第二全连接层、第二dp层和第一输出层,激活函数为leakyrelu,不同于relu将所有的负值设为零,leakyrelu给所有负值赋一个非零的斜率;

损失函数为:

loss=loss1+loss2,

loss1=(fi1-fi2)2

loss2=∑apa/(∑bpb+∑cpc),

fi2=(xi1,yi1,xi2,yi2,xi3,yi3,xi4,yi4),

fi1为分割神经网络的预测向量,fi2为真实向量;

为预测多位数区域的四个顶点的坐标;

pb为实际多位数区域内并且在预测多位数区域外的点对应的值,此实例中值为1;

pc为实际多位数区域外并且在预测多位数区域内的点对应的值此实例中值为1;

pa为实际多位数区域内并且在预测多位数区域内的点对应的值此实例中值为1;

loss2表达的是实际多位数区域与预测多位数区域重叠部分与它们不重叠部分的比值;

s4、将第一训练样本输入分割神经网络的第一输入层开始进行训练:

s401、在第一卷积层中,维度是160*160*1的中间灰度图通过64个3*3*1的卷积核进行卷积,步数为1,补零后得到160*160*64的中间特征图,再利用64个3*3*64的卷积核进行两次卷积和补零;

s402、在第一bn层中,对中间特征图进行批量标准化处理(batchnormalization),然后通过leakyrelu对其进行非线性映射;

s403、在第一池化层中,中间特征图经过2*2的最大池化,步数为2,得到80*80*64的中间特征图;

s404、再次在卷积层中,80*80*64的中间特征图通过128个3*3*64的卷积核进行卷积,步数为1,补零后得到80*80*128的中间特征图,再利用128个3*3*128的卷积核进行两次卷积和补零,重复步骤s402的批量标准化处理和s403的池化,得到40*40*128的中间特征图;

s405、再次在卷积层中,40*40*128的中间特征图通过256个3*3*128的卷积核进行卷积,步数为1,补零后得到40*40*256的中间特征图,再利用256个3*3*256的卷积核进行两次卷积和补零,重复步骤s402的批量标准化处理和s403的池化,得到20*20*256的中间特征图;

s406、再次在卷积层中,20*20*256的中间特征图通过512个3*3*256的卷积核进行卷积,步数为1,补零后得到20*20*512的中间特征图,再利用512个3*3*512的卷积核进行两次卷积和补零,重复步骤s402的批量标准化处理和s403的池化,得到10*10*512的中间特征图;

s407、再次在卷积层中,10*10*512的中间特征图通过512个3*3*512的卷积核进行三次卷积和补零,步数为1,重复步骤s402的批量标准化处理和s403的池化,得到5*5*512的中间特征图;

s408、在第一全连接层中,将中间特征图转换为4048维的特征向量v1;

s409、在第一dp层中,对特征向量v1进行dropout处理;

s410、在第二全连接层中,将特征向量v1转换成1000维的特征向量v2;

s411、在第二dp层中,对特征向量v2进行dropout处理;

s412、在第一输出层中,利用softmax函数处理特征向量v2,得到fii1;

s413、计算并根据loss反向传播,更新分割神经网络的权值,得到训练好的分割神经网络。

s5、如图3所示,多位数区域中是一个5位数,最后一位为变化较快的小数位,将中间灰度图中的实际多位数区域切割出来并且通过透视变换成实际矩形图,将实际矩形图中5个数字分别切割出来,得到5个数字灰度图,将数字灰度图处理成56*56*1,每个数字灰度图作为一个第二训练样本,收集2000个第二训练样本组成第二训练集;

s6、构建识别神经网络,识别神经网络包括第二输入层、第二卷积层、第二池化层、第三卷积层、第三池化层、第三全连接层、第四全连接层和第二输出层,激活函数为relu,损失函数为交叉熵loss’;

s7、将数字灰度图输入识别神经网络的第二输入层进行训练:

s701、在第二卷积层中,维度为56*56*1的数字灰度图通过32个5*5*1的卷积核进行卷积,步数为1,补零之后得到56*56*32的三维特征图,然后函数relu对此三维特征图进行非线性映射;

s702、在第二池化层中,56*56*32的三维特征图经过2*2的最大池化,步数为2,得到28*28*32的三维特征图;

s703、在第三卷积层中,维度为28*28*32的三维特征图通过64个5*5*32的卷积核进行卷积,步数为1,补零之后得到28*28*64的三维特征图,然后函数relu对此三维特征图进行非线性映射;

s704、在第三池化层中,28*28*64的三维特征图经过2*2的最大池化,步数为2,得到14*14*64的三维特征图;

s705、在第三全连接层中,将14*14*64的三维特征图转换为1024维的特征向量v3;

s706、在第四全连接层中,将1024维的特征向量v3转换为10维的特征向量v4;

s707、在第二输出层,利用softmax函数归一化特征向量v4,得到特征向量s;

softmax函数为其中vi是全连接层的分类器前级输出单元的输出,i表示类别索引,此实例中i=1、2、3…10,总的类别个数为c=10。si表示的是当前元素的指数与所有元素指数和的比值,softmax将分类器的输出数值转化为相对概率,例如当表示该数字的值为2的概率为1,其它为0;对于最后一位小数位,如果则表示该小数位为4.7。

s708、将特征向量s作为预测值与真实值y输入交叉熵中计算loss’,根据残差loss’反向传播,更新卷积核的权值,得到训练好的识别神经网络;

交叉熵为其中yi数字的值为i的真实概率。

s8、将待识别的原始灰度图进行预处理得到中间灰度图,将中间灰度图输入分割神经网络中,输出得到预测多位数区域的四个顶点的坐标为将预测多位数区域从中间灰度图中切割出来,接着通过透视变换成矩形图,将矩形图中每个数字切割出来得到数字灰度图并依次输入识别神经网络中,得到每个数字的预测值并重新组合为多位数。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

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