一种数字型仪表读数智能识别方法及系统与流程

文档序号:34090396发布日期:2023-05-07 02:27阅读:186来源:国知局
一种数字型仪表读数智能识别方法及系统与流程

本发明涉及仪表识别,具体涉及一种数字型仪表读数智能识别方法及系统。


背景技术:

1、现有的对燃气表、电表等数字型读数仪表识别的方法通常是分为仪表定位+数字读数识别,仪表定位采用手工提取特征的机器学习方法,或者使用yolo、fasterrcnn、maskrcnn等深度学习目标检测框架,而数字读数识别大多只会采用ocr或者传统的目标检测方法。其中,基于手工提取特征的方式泛化能力较差,且容易带来经验偏差;使用ocr的方法是尝试对整个读数串进行语义识别,而数字本身并不像文字,存在上下文的含义信息,故无需进行整块的识别,且在有限的真实数据集中,ocr模型本身包含的信息复杂度通过训练和识别往往不够充分;传统的目标检测框架只能应用在通用相对理想的场景,如公开的大型数据集,而无法针对特定的业务场景进行定制优化。


技术实现思路

1、为此,本发明提供一种数字型仪表读数智能识别方法及系统,以解决现有的对燃气表、电表等数字型读数仪表识别的方法存在的泛化能力较差,且容易带来经验偏差,无法针对特定的业务场景进行定制优化,识别结果不准确的问题。

2、为了实现上述目的,本发明提供如下技术方案:

3、根据本发明实施例的第一方面,提出了一种数字型仪表读数智能识别方法,所述方法包括:

4、对采集到的原始仪表图片使用特征提取网络进行特征提取,得到每张图片样本的特征向量,并使用异常检测算法进行异常样本过滤;

5、使用k均值聚类算法对过滤后的剩余样本进行聚类,根据需要挑选的样本数量划分相同数量的候选样本簇,从每个簇中随机挑选一个样本组成样本集,对样本集的仪表盘内读数进行矩形框标注,得到训练集;

6、使用所述训练集对改进的目标检测模型进行训练,通过目标检测模型识别仪表盘内包含数字和小数点的读数,优化聚类特征构造并使用k均值聚类算法对识别到的数字和小数点进行聚类,对划分到同一簇中的数字和小数点根据坐标进行排序得到正确的读数。

7、进一步地,对样本集的仪表盘内读数进行矩形框标注,具体还包括:

8、在对样本图片进行标注时,先将图片输入至预先训练的目标检测模型得到目标预测框以及置信度,若某张图片中存在某个数字类别的预测框置信度低于设定阈值时,则将样本标记为需要人工重新标注的图片,实现自动筛选需要人工标注的图片。

9、进一步地,所述方法还包括:

10、对训练样本进行改进类马赛克数据增强,并且先根据标注数据计算出每张图片中各个数字的个数占比,在每轮训练后统计每个数字类别对损失函数的贡献占比,当某个数字类别的贡献占比低于预设阈值时,在下一轮训练前对样本进行改进类马赛克数据增强处理时,取含有相应类别数量占比相对高的图片进行拼接。

11、进一步地,对采集到的原始仪表图片使用特征提取网络进行特征提取,具体包括:

12、所述特征提取网络采用spp-inception特征提取网络,所述spp-inception特征提取网络通过将inception-v3网络中的单一池化层替换为空间金字塔池化网络,通过spp-inception特征提取网络将输入图片转换为2048维的特征向量。

13、进一步地,使用异常检测算法进行异常样本过滤,具体包括:

14、所述异常检测算法采用lso-iforest异常检测算法去除全局和局部异常数据,具体包括:

15、对全局特征进行pca降维,删去对应特征值较小的维度,降维后的维度通过一定的策略自动选择,最后在降维后的特征中进行选择划分来构建二叉树itree;

16、计算每个样本相对于离它最近的样本的平均高度,当某个样本与其周围k个样本的在树中的平均高度相差超过预设阈值时,判断样本为异常点并剔除异常。

17、进一步地,对全局特征进行pca降维,删去对应特征值较小的维度,降维后的维度通过一定的策略自动选择,具体为:

18、设样本特征矩阵为xmxn,其中n对应特征提取网络输出的2048维度,计算x对应的协方差矩阵anxn,对a进行evd分解,得a=qσqt,q为a特征向量组成的正交矩阵,此时σ中特征值的大小对应了x特征维度的重要性;

19、取前k个最大特征值对应的特征向量组成wnxk,则降维后的矩阵xp=xnxk=xmxn·wnxk,选择k的思路是降维后的特征矩阵xp每个维度标准差之和与原矩阵之比超过某个阈值q:

20、

21、寻找满足条件的最小k值。

22、进一步地,计算每个样本相对于离它最近的样本的平均高度,当某个样本与其周围k个样本的在树中的平均高度相差超过预设阈值时,判断样本为异常点并剔除异常,具体为:

23、

24、其中x为输入样本,n为每棵二叉树itree中的样本数量,e(h(x))为x在itree中的平均深度,[x1,x2,...xk]表示距离x最近的k个样本点;c(n)表示在二叉排序树中搜索不成功时的平均路径长度,此时n表示拓展二叉排序树的外部节点个数;关于c(n)的计算和推导如下:

25、

26、证明如下:

27、取一个序列x=[x1,x2,...xn],二叉排序树插入顺序为x的某组随机排列,且x1<x2<...<xn,设sn表示二叉排序树中查找成功时的平均比较次数,则:

28、

29、pr表示xj是xi的祖先节点的概率;考虑若xj是xi的祖先,即在(xi,...xj)或者(xj,...xi)的子序列中,xj是先插入的;因为如果存在xk∈(xi,...xj)先被插入,则xi和xj会被分到该节点的2个子树中,故:

30、

31、因为sn=(i+n)/n,其中i表示扩展二叉树内部路径长度,故:

32、i=nsn-n=2(n+1)hn-4n

33、所以扩展二叉树外部路径长度e=i+2n=2(n+1)hn-2n,此时二叉排序树查找不成功时的平均比较次数un=e/(n+1)=2hn-2n/(n+1),公式中n是内部节点数,而在lso-iforest中,n是外部节点个数,故内部节点数为n-1,综上所述,c(n)=un-1=2hn-1-2(n-1)/n;

34、经过算法计算后每个样本均有一个异常值s(x,n,k),按照一定比例的异常删掉异常值分数最大的那一部分样本。

35、进一步地,所述方法还包括:

36、所述改进的目标检测模型通过将采用了基于残差网络模块的csp结构的yolov5网络模型中的残差网络模块替换为轻量级的shuffle网络模块,引入深度可分离卷积,深度可分离卷积中每个卷积核仅对一个通道负责,来进一步提高计算性能。

37、进一步地,优化聚类特征构造并使用k均值聚类算法对识别到的数字和小数点进行聚类,对划分到同一簇中的数字和小数点根据坐标进行排序得到正确的读数,具体包括:

38、放大读数中的数字的y轴特征权重,以此增加不同行之间数字的距离,结合kmeans和轮廓系数实现不同行的数字聚类为不同的簇,具体聚类特征构建的方式如下:

39、feature=[xcenter,(ycenter+height/2)*5]

40、其中(xcenter,ycenter)表示每个数字或小数点矩形框的中心点坐标,height表示数字或小数点矩形框的高度;

41、将数字划分到对应的读数簇中后,对同一簇内的数字按照x轴水平方向的坐标进行排序得到正确的读数。

42、根据本发明实施例的第二方面,提出了一种数字型仪表读数智能识别系统,所述系统包括:

43、训练样本筛选模块,用于对采集到的原始仪表图片使用特征提取网络进行特征提取,得到每张图片样本的特征向量,并使用异常检测算法进行异常样本过滤;

44、使用k均值聚类算法对过滤后的剩余样本进行聚类,根据需要挑选的样本数量划分相同数量的候选样本簇,从每个簇中随机挑选一个样本组成样本集,对样本集的仪表盘内读数进行矩形框标注,得到训练集;

45、模型训练与识别模块,用于使用所述训练集对改进的目标检测模型进行训练,通过目标检测模型识别仪表盘内包含数字和小数点的读数,优化聚类特征构造并使用k均值聚类算法对识别到的数字和小数点进行聚类,对划分到同一簇中的数字和小数点根据坐标进行排序得到正确的读数。

46、本发明具有如下优点:

47、本发明提出的一种数字型仪表读数智能识别方法及系统,整体采用仪表定位+读数识别的方式,并且在yolov5目标检测模型的基础上进行了改进。首先识别图片中燃气表或电表等数字型仪表的位置区域,在对仪表内部的读数进行识别,在模型的训练过程中,创新提出启发式训练增强框架,并改进了模型结构和读数的识别方法,在提高模型的识别准确率的同时也有较快的识别速度。该方法可适用于任何数字型仪表的识别,仅仅需要额外的固定或类似安装在机器人身上的移动摄像头进行拍照即可,且对角度和背景鲁棒。

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