一种基于深度学习的字轮式水表数字识别与处理方法与流程

文档序号:36177469发布日期:2023-11-29 02:15阅读:97来源:国知局
一种基于深度学习的字轮式水表数字识别与处理方法与流程

本发明涉及字轮式仪表读数识别及深度学习,尤其是涉及一种基于深度学习的字轮式水表数字识别与处理方法。


背景技术:

1、目前深度学习在许多领域得到了广泛的应用,其在字轮式仪表读数识别方面也有一些应用和成果,字轮式仪表一般属于传统的机械仪表,需要人工抄表,费时费力,通过给字轮式仪表简单加装摄像远传装置,再结合深度学习等人工智能识别技术,即可实现传统字轮式仪表智能识别。

2、现有技术中有的字轮式水表数字识别方法中需要一些先验证知识,比如图片中的数字字符需要是水平正向的,这无疑增加了安装摄像远传装置的难度,而且若水表安装在狭窄空间中,可能无法实现数字字符水平正向。还有的识别方法采用了深度学习语义分割技术,但需要通过相对复杂的后处理操作才能将数字字符读数区域水平摆正,训练语义分割神经网络所需的数据集制作困难。还有就是使用传统的霍夫变换直线检测算法来水平摆正读数区域,该方法对图片质量要求相对较高,不够强健。

3、字轮式仪表是通过齿轮连级从而带动字轮旋转完成测量的,进而使得字轮可见部分上的字符可能不是完整数字字符,这些不完整的字符通常称为半字字符,因其含有两个不完整的数字字符。故而在字轮式仪表识别领域里,ocr技术难以胜任,通常使用深度神经网络或传统图像处理算法进行数字字符识别,并且通常将数字字符分做20类,完整数字字符10类,半字字符10类。然而,这只是识别出单个的字符,在组成最终读数识别数字序列的时候,需要选择半字字符中两个不完整的数字字符中的一个作读数识别数字序列的数字,如果随机选择的话,大概率会产生错误的读数识别数字序列;并且,完整数字字符和半字字符实际中存在数量上的不平衡,完整数字字符比半字字符多,半字字符识别率可能比完整数字字符要低。此外,还有采用crnn网络进行读数识别的,半字的存在,仍旧会导致其识别准确率较低

4、现有技术中字轮式水表数字识别方法中需要一些先验证知识,比如图片中的数字字符需要是水平正向的,这无疑增加了安装摄像远传装置的难度,而且若水表安装在狭窄空间中,可能无法实现数字字符水平正向。可以采用了深度学习语义分割技术将数字字符读数区域水平摆正,但需要通过相对复杂的后处理操作才能将数字字符读数区域水平摆正,训练语义分割神经网络所需的数据集制作困难。还有就是使用传统的霍夫变换直线检测算法来水平摆正读数区域,该方法对图片质量要求相对较高,不够强健。


技术实现思路

1、本发明要解决的技术问题是针对以上不足,提供一种基于深度学习的字轮式水表数字识别与处理方法,实现数字字符读数区域水平摆正,以及从半字字符中不完整字符中正确选择出合适的数字字符组成最终的读数,并且一定程度上克服完整数字字符和半字字符实际中存在数量上的不平衡,能够准确识别水表数字,识别准确率高。

2、为解决以上技术问题,本发明采用以下技术方案:

3、一种基于深度学习的字轮式水表数字识别与处理方法,包括以下步骤:

4、步骤s1:接收客户端发送过来的水表图片;

5、步骤s2:预处理水表图片,得到标准化水表输入图片;

6、步骤s3:采用框点识别模型处理水表输入图片,得到框点识别结果;

7、步骤s4:根据框点一致性原则及一张水表图片只有一个读数区域的原则,处理框点识别结果,提取出数字字符水平正向的读数区域输入图片;

8、步骤s5:采用读数识别模型处理读数区域输入图片,识别得到数字字符框和辅助字符框;

9、步骤s6:根据非极大值抑制方法、辅助字字符框类别和进位规则,处理识别得到的数字字符框和辅助字符框,得到最终读数识别结果;

10、步骤s7:将读数识别结果返回给客户端。

11、进一步的,所述步骤s3中框点识别模型以yolov5网络为主体,修改了其头部网络,使其除能检测读数区域的水平目标框外,还能检测出读数区域的四个顶点,具体将yolov5的输出特征图的通道数为13 =(4+1+8),其中“13”代表预测向量的维度;“4”代表检测读数区域的水平目标框,代表水平目标框的中心点坐标,代表水平目标框的中心点水平方向长度和竖直方向长度;“1”代表预测向量中水平目标框的物体置信度;“8” 代表检测读数区域的四个顶点,在读数区域水平状态下,表示左上点坐标,表示右上点坐标,表示左下点坐标,表示右下点坐标。

12、进一步的,所述步骤s4中框点一致性原则是指读数区域的水平目标框和其四个顶点的水平包络框基本为同一个框,其一致性采用iou进行评估,步骤s4具体包括以下步骤:

13、步骤s41:设置框点一致性阈值,设置物体置信度阈值;

14、步骤s42:过滤掉所有框点识别模型预测得到所有预测向量中物体置信度小于物体置信度阈值的预测向量;

15、步骤s43:计算步骤s42余下所有预测向量中水平目标框与四个顶点的水平包络框的一致性iou,然后过滤掉一致性iou小于一致性阈值的预测向量;

16、步骤s44:在步骤s43基础上,因为一张水表图片只有一个读数区域,所以仅保留物体置信度最大的预测向量;

17、步骤s45:根据步骤s44保留下来的预测向量中的四个顶点计算图片的倾斜角度:

18、;

19、步骤s46:根据步骤s45倾斜角度计算图片旋转仿射矩阵以水平摆正图片和计算水平摆正图片后读数区域的四个顶点,其中160为图片边长320/2得到:

20、;

21、步骤s47:计算四个顶点的水平包络框,其中为水平包络框的左上点坐标,其中为水平包络框的右下点坐标,然后从水平摆正后图片中提取出该区域作读数区域输入图片:

22、。

23、进一步的,所述步骤s5中数字字符框分两大类,完整数字字符框和半字字符框;其中完整数字字符框10类,分别为0、1、2、3、4、5、6、7、8、9;半字字符框10类,分别为01、12、23、34、45、56、67、78、89、90;半字字符框类别名的前一个数字称半字字符框的上字,其后一个数字称半字字符框的下字;

24、所述辅助字字符框分3类,分别为u、d、h;其中u表示半字字符中上边的数字字符占比大,d表示半字字符中下边的数字字符占比大,h表示半字字符中上下边的数字字符占比差不多;每一个半字字符框都匹配一个辅助字字符框。

25、进一步的,所述步骤s5中所述读数识别模型以yolov5网络为主体,其共用骨干网络,分出3个颈部网络和3个头部网络,分别用来检测完整数字字符框、半字字符框和辅助字字符框;

26、所述字符框对应一个六维向量,其中代表字符框的中心点横坐标,表字符框的中心点纵坐标,表字符框的横轴方向长度,代表字符框的纵轴方向长度,代表字符框的置信度,代表字符框的类别。

27、进一步的,所述步骤s6中的进位规则具体包括以下规则;

28、读数从右往左读,进位从右往左进;

29、水表字轮正转时,半字字符的右侧必为半字字符90;

30、水表字轮正转时,可设水表读数的最右侧一位是一直处于进位状态的。

31、进一步的,所述步骤s6具体包括以下步驟:

32、步骤s61:首先采用非极大值抑制方法初步处理读数识别模型的预测结果:完整数字字符框、半字字符框以及辅助字字符框,去除冗余框和低置信度框;

33、步骤s62:在步骤s61的基础上,将所有字符框按中心点横坐标从大到小排列,也即从右到左进行排列,形成一个有序字符框列表;

34、步骤s63:在步骤s62的基础上,将所有的字符框按横轴上的距离进行分组,分组规则为若有序字符框列表种中相邻的两个字符框的横轴上的距离小于16,则这两个字符框分到同一组中,并且前一组字符框的平横坐标大于后一组字符框,也即字符框组之间是有序排列的了;理论上,每一组字符框最多仅含完整数字字符框、半字字符框以及辅助字字符框各一个;

35、步骤s64:在步骤s63的基础上,根据清洗规则清洗每一个字符框组,使得每一个字符框组,或者仅含有一个完整数字字符框、或者含有一个半字字符框以及一个辅助字字符框;

36、步骤s65:在步骤s64的基础上,从头遍历每一个字符框组,按标志位构建规则给每一个字符框组分配两个标志位,一个称下字标志位,一个称90进位标志位;

37、步骤s66:在步骤s65的基础上,按选字规则有序确定每一个字符框组的所代表数字,从而得到一组有序数字,然后将这组有序数字反序排列即可得到最后的识别结果。

38、进一步的,所述步骤s64中的清洗规则具体包括以下规则:

39、若字符框组仅含完整数字字符框,则不做任何处理;

40、若字符框组仅含半字字符框,则构建一个d辅助字字符框,并将构建的辅助字字符框加入该字符框组;

41、若字符框组仅含辅助字字符框,则去掉该组别;

42、若字符框组中仅含完整数字字符框和辅助字字符框,则去掉该字符框组中的辅助字字符框;

43、若字符框组中仅含完整数字字符框和半字字符框,且该字符框组中的完整数字字符框置信度大于半字字符框置信度,则去掉且该字符框组中的半字字符框;

44、若字符框组中仅含完整数字字符框和半字字符框,且完整数字字符框置信度小于半字字符框置信度以及完整数字字符框类别含于半字字符框类别中,则根据完整数字字符类别是半字字符框类别的上字或下字,构建u辅助字字符框或d辅助字字符框,并将构建的辅助字字符框加入该字符框组,然后去掉完整数字字符框;

45、若字符框组中仅含完整数字字符框和半字字符框,且完整数字字符框置信度小于半字字符框置信度以及完整数字字符框类别不含于半字字符框类别中,则去掉半字字符框;

46、若字符框组中含完整数字字符框、半字字符框和辅助字字符框,且完整数字字符框置信度大于半字字符框置信度,则去掉半字字符框和辅助字字符框;

47、若字符框组中含完整数字字符框、半字字符框和辅助字字符框,且完整数字字符框置信度小于半字字符框置信度以及完整数字字符框类别含于半字字符框类别中,则根据完整数字字符类别是半字字符框类别的上字或下字,将辅助字字符框重置为 u辅助字字符框或d辅助字字符框,去掉完整数字字符框;

48、若字符框组中含完整数字字符框、半字字符框和辅助字字符框,完整数字字符框置信度小于半字字符框置信度以及完整数字字符框类别不含于半字字符框类别中,则去掉半字字符框和辅助字字符框。

49、进一步的,所述步骤s65中的标志位构建规则包括:

50、所述标志位包含两个值,一个真,一个假,且其值只能是真或假中的一个;

51、所述字符框组的下字标志位的值为真,指字符框组中只含一个完整数字字符框或者其所含辅助字字符框的类别为d;

52、所述字符框组的90进位标志位的值为真,指字符框组前边的所有字符框组都含有类别为90的半字字符框;同时,第一个字符框组的90进位标志位设为真。

53、进一步的,所述步骤s66中的选字规则具体包括以下规则:

54、规则1:若字符框组只含有一个完整数字字符框,则其所代表的数字为其完整数字字符框的完整数字字符类别;

55、规则2:若字符框组所有字符框的下字标志位都为真,且最后一组90进位标志位为真的字符框组是第一个字符框组,以及第一个字符框组的类别是90,则含有半字字符框的字符框组代表的数字为其半字字符框的下字;

56、规则3:若字符框组所有字符框的下字标志位都为真,且最后一组90进位标志位为真的字符框组不是第一个字符框组,以及最后一组90进位标志位为真的字符框组只含有一个完整数字字符框,则含有半字字符框的字符框组所代表的数字为其半字字符框的下字;

57、规则4:若含有半字字符框的字符框组的90进位标志位为真,则该含有半字字符框的字符框组所代表的数字为其半字字符框的上字;

58、规则5:若含有半字字符框的字符框组的辅助字符框类别不为d,则该含有半字字符框的字符框组所代表的数字为其半字字符框的上字;

59、规则6:含有半字字符框的字符框组所代表的数字为其半字字符框的下字;

60、规则1至规则6对所处理的字符框组有且只有一个规则成立。

61、本发明采用以上技术方案,与现有技术相比,具有如下技术效果:

62、在图片存在倾斜角度方面,以yolov5作为网络主体,增加读数区域四个顶点识别功能,通过识别得到的四个顶点完成图片的水平摆正,识别速度快,摆正效果好,图片中的数字字符不需要是水平正向的,客户端可以以任意水平角度旋转进行拍照,具体到摄像远传装置,也即可以以任意水平旋转角度安装摄像远传装置。

63、在读数识别方面,以yolov5作为网络主体,骨干网络共享,分三个分支分别检测完整数字字符框、半字字符框以及辅助字字符框,一定程度上克服完整数字字符和半字字符在实际中存在数量上的不平衡,可以提高半字字符的识别准确率,可以有效地识别辅助字字符框,最后通过各种规则处理读数识别模型的识别结果,从而能够从半字字符中的两个不完整字符中选择出正确的那个数字字符来组成仪表的读数,有效处理半字问题,能够准确识别水表数字,识别准确率高。

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