CN116071752A - 一种数字型仪表读数智能识别方法及系统 - Google Patents
一种数字型仪表读数智能识别方法及系统 Download PDFInfo
- Publication number
- CN116071752A CN116071752A CN202310113943.4A CN202310113943A CN116071752A CN 116071752 A CN116071752 A CN 116071752A CN 202310113943 A CN202310113943 A CN 202310113943A CN 116071752 A CN116071752 A CN 116071752A
- Authority
- CN
- China
- Prior art keywords
- sample
- feature
- readings
- training
- numbers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/1444—Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19107—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19127—Extracting features by transforming the feature space, e.g. multidimensional scaling; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/1918—Fusion techniques, i.e. combining data from various sources, e.g. sensor fusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/02—Recognising information on displays, dials, clocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种数字型仪表读数智能识别方法及系统,整体采用仪表定位+读数识别的方式,并且在yolov5目标检测模型的基础上进行了改进。首先识别图片中燃气表或电表等数字型仪表的位置区域,在对仪表内部的读数进行识别,在模型的训练过程中,创新提出启发式训练增强框架,并改进了模型结构和读数的识别方法,在提高模型的识别准确率的同时也有较快的识别速度。该方法可适用于任何数字型仪表的识别,仅仅需要额外的固定或类似安装在机器人身上的移动摄像头进行拍照即可,且对角度和背景鲁棒。
Description
技术领域
本发明涉及仪表识别技术领域,具体涉及一种数字型仪表读数智能识别方法及系统。
背景技术
现有的对燃气表、电表等数字型读数仪表识别的方法通常是分为仪表定位+数字读数识别,仪表定位采用手工提取特征的机器学习方法,或者使用YOLO、FasterRCNN、MaskRCNN等深度学习目标检测框架,而数字读数识别大多只会采用OCR或者传统的目标检测方法。其中,基于手工提取特征的方式泛化能力较差,且容易带来经验偏差;使用OCR的方法是尝试对整个读数串进行语义识别,而数字本身并不像文字,存在上下文的含义信息,故无需进行整块的识别,且在有限的真实数据集中,OCR模型本身包含的信息复杂度通过训练和识别往往不够充分;传统的目标检测框架只能应用在通用相对理想的场景,如公开的大型数据集,而无法针对特定的业务场景进行定制优化。
发明内容
为此,本发明提供一种数字型仪表读数智能识别方法及系统,以解决现有的对燃气表、电表等数字型读数仪表识别的方法存在的泛化能力较差,且容易带来经验偏差,无法针对特定的业务场景进行定制优化,识别结果不准确的问题。
为了实现上述目的,本发明提供如下技术方案:
根据本发明实施例的第一方面,提出了一种数字型仪表读数智能识别方法,所述方法包括:
对采集到的原始仪表图片使用特征提取网络进行特征提取,得到每张图片样本的特征向量,并使用异常检测算法进行异常样本过滤;
使用k均值聚类算法对过滤后的剩余样本进行聚类,根据需要挑选的样本数量划分相同数量的候选样本簇,从每个簇中随机挑选一个样本组成样本集,对样本集的仪表盘内读数进行矩形框标注,得到训练集;
使用所述训练集对改进的目标检测模型进行训练,通过目标检测模型识别仪表盘内包含数字和小数点的读数,优化聚类特征构造并使用k均值聚类算法对识别到的数字和小数点进行聚类,对划分到同一簇中的数字和小数点根据坐标进行排序得到正确的读数。
进一步地,对样本集的仪表盘内读数进行矩形框标注,具体还包括:
在对样本图片进行标注时,先将图片输入至预先训练的目标检测模型得到目标预测框以及置信度,若某张图片中存在某个数字类别的预测框置信度低于设定阈值时,则将样本标记为需要人工重新标注的图片,实现自动筛选需要人工标注的图片。
进一步地,所述方法还包括:
对训练样本进行改进类马赛克数据增强,并且先根据标注数据计算出每张图片中各个数字的个数占比,在每轮训练后统计每个数字类别对损失函数的贡献占比,当某个数字类别的贡献占比低于预设阈值时,在下一轮训练前对样本进行改进类马赛克数据增强处理时,取含有相应类别数量占比相对高的图片进行拼接。
进一步地,对采集到的原始仪表图片使用特征提取网络进行特征提取,具体包括:
所述特征提取网络采用SPP-Inception特征提取网络,所述SPP-Inception特征提取网络通过将Inception-v3网络中的单一池化层替换为空间金字塔池化网络,通过SPP-Inception特征提取网络将输入图片转换为2048维的特征向量。
进一步地,使用异常检测算法进行异常样本过滤,具体包括:
所述异常检测算法采用LSO-iForest异常检测算法去除全局和局部异常数据,具体包括:
对全局特征进行PCA降维,删去对应特征值较小的维度,降维后的维度通过一定的策略自动选择,最后在降维后的特征中进行选择划分来构建二叉树iTree;
计算每个样本相对于离它最近的样本的平均高度,当某个样本与其周围k个样本的在树中的平均高度相差超过预设阈值时,判断样本为异常点并剔除异常。
进一步地,对全局特征进行PCA降维,删去对应特征值较小的维度,降维后的维度通过一定的策略自动选择,具体为:
设样本特征矩阵为Xmxn,其中n对应特征提取网络输出的2048维度,计算X对应的协方差矩阵Anxn,对A进行EVD分解,得A=QΣQT,Q为A特征向量组成的正交矩阵,此时Σ中特征值的大小对应了X特征维度的重要性;
取前k个最大特征值对应的特征向量组成Wnxk,则降维后的矩阵Xp=Xnxk=Xmxn·Wnxk,选择k的思路是降维后的特征矩阵Xp每个维度标准差之和与原矩阵之比超过某个阈值q:
寻找满足条件的最小k值。
进一步地,计算每个样本相对于离它最近的样本的平均高度,当某个样本与其周围k个样本的在树中的平均高度相差超过预设阈值时,判断样本为异常点并剔除异常,具体为:
其中x为输入样本,n为每棵二叉树iTree中的样本数量,E(h(x))为x在iTree中的平均深度,[x1,x2,...xk]表示距离x最近的k个样本点;c(n)表示在二叉排序树中搜索不成功时的平均路径长度,此时n表示拓展二叉排序树的外部节点个数;关于c(n)的计算和推导如下:
证明如下:
取一个序列x=[x1,x2,...xn],二叉排序树插入顺序为x的某组随机排列,且x1<x2<...<xn,设Sn表示二叉排序树中查找成功时的平均比较次数,则:
Pr表示xj是xi的祖先节点的概率;考虑若xj是xi的祖先,即在(xi,...xj)或者(xj,...xi)的子序列中,xj是先插入的;因为如果存在xk∈(xi,...xj)先被插入,则xi和xj会被分到该节点的2个子树中,故:
因为Sn=(I+n)/n,其中I表示扩展二叉树内部路径长度,故:
I=nSn-n=2(n+1)Hn-4n
所以扩展二叉树外部路径长度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;
经过算法计算后每个样本均有一个异常值S(x,n,k),按照一定比例的异常删掉异常值分数最大的那一部分样本。
进一步地,所述方法还包括:
所述改进的目标检测模型通过将采用了基于残差网络模块的CSP结构的yolov5网络模型中的残差网络模块替换为轻量级的Shuffle网络模块,引入深度可分离卷积,深度可分离卷积中每个卷积核仅对一个通道负责,来进一步提高计算性能。
进一步地,优化聚类特征构造并使用k均值聚类算法对识别到的数字和小数点进行聚类,对划分到同一簇中的数字和小数点根据坐标进行排序得到正确的读数,具体包括:
放大读数中的数字的y轴特征权重,以此增加不同行之间数字的距离,结合KMeans和轮廓系数实现不同行的数字聚类为不同的簇,具体聚类特征构建的方式如下:
feature=[xcenter,(ycenter+height/2)*5]
其中(xcenter,ycenter)表示每个数字或小数点矩形框的中心点坐标,height表示数字或小数点矩形框的高度;
将数字划分到对应的读数簇中后,对同一簇内的数字按照x轴水平方向的坐标进行排序得到正确的读数。
根据本发明实施例的第二方面,提出了一种数字型仪表读数智能识别系统,所述系统包括:
训练样本筛选模块,用于对采集到的原始仪表图片使用特征提取网络进行特征提取,得到每张图片样本的特征向量,并使用异常检测算法进行异常样本过滤;
使用k均值聚类算法对过滤后的剩余样本进行聚类,根据需要挑选的样本数量划分相同数量的候选样本簇,从每个簇中随机挑选一个样本组成样本集,对样本集的仪表盘内读数进行矩形框标注,得到训练集;
模型训练与识别模块,用于使用所述训练集对改进的目标检测模型进行训练,通过目标检测模型识别仪表盘内包含数字和小数点的读数,优化聚类特征构造并使用k均值聚类算法对识别到的数字和小数点进行聚类,对划分到同一簇中的数字和小数点根据坐标进行排序得到正确的读数。
本发明具有如下优点:
本发明提出的一种数字型仪表读数智能识别方法及系统,整体采用仪表定位+读数识别的方式,并且在yolov5目标检测模型的基础上进行了改进。首先识别图片中燃气表或电表等数字型仪表的位置区域,在对仪表内部的读数进行识别,在模型的训练过程中,创新提出启发式训练增强框架,并改进了模型结构和读数的识别方法,在提高模型的识别准确率的同时也有较快的识别速度。该方法可适用于任何数字型仪表的识别,仅仅需要额外的固定或类似安装在机器人身上的移动摄像头进行拍照即可,且对角度和背景鲁棒。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
图1为本发明实施例1提供的一种数字型仪表读数智能识别方法的流程示意图;
图2为本发明实施例1提供的一种数字型仪表读数智能识别方法的具体实施过程图;
图3为本发明实施例1提供的一种数字型仪表读数智能识别方法中改造后的SPP-Inception网络与原始对比示意图;
图4为本发明实施例1提供的一种数字型仪表读数智能识别方法中深度可分离卷积和普通卷积的对比图;
图5为本发明实施例1提供的一种数字型仪表读数智能识别方法中Shuffle网络模块的结构和使用方式示意图;
图6为本发明实施例1提供的一种数字型仪表读数智能识别方法中目标检测模型识别结果图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本实施例提出了一种数字型仪表读数智能识别方法,所述方法包括:
S100、对采集到的原始仪表图片使用特征提取网络进行特征提取,得到每张图片样本的特征向量,并使用异常检测算法进行异常样本过滤;
S200、使用k均值聚类算法对过滤后的剩余样本进行聚类,根据需要挑选的样本数量划分相同数量的候选样本簇,从每个簇中随机挑选一个样本组成样本集,对样本集的仪表盘内读数进行矩形框标注,得到训练集;
S300、使用所述训练集对改进的目标检测模型进行训练,通过目标检测模型识别仪表盘内包含数字和小数点的读数,优化聚类特征构造并使用k均值聚类算法对识别到的数字和小数点进行聚类,对划分到同一簇中的数字和小数点根据坐标进行排序得到正确的读数。
具体内容如下:
当前现有的数字型仪表识别相关技术大多是通用算法的组合,未考虑真实特定业务场景的各种情况。本发明实施例提出了一种启发式训练增强型结构改进神经网络的数字型仪表读数智能识别方法。整体采用仪表定位+读数识别的方式,并且在yolov5目标检测模型的基础上进行了改进。首先识别图片中燃气表或电表等数字型仪表的位置区域,在对仪表内部的读数进行识别。在模型的训练过程中,创新提出启发式训练增强框架,并改进了模型结构和读数的识别方法,在提高模型的识别准确率的同时也有较快的识别速度。
本发明实施例提出的启发式训练增强框架主要解决3个问题:
(1)如何选择“高价值”训练样本:具体业务场景下的识别任务在项目初期往往没有训练数据,需要通过摄像头定时采集并人工标注,而定时传回来的图片由于光照和角度的差异,质量参差不齐,且存在时域相关性:即相邻时间段或固定周期时段内采集得到的仪表图像差异较小,读数和背景光照的变化较为缓慢,在构建样本特征时区分度较低,高相关性的图片对模型训练的贡献度不够,不利于提高模型的泛化能力和鲁棒性。
(2)如何解决训练不充分的问题:在模型训练时,仪表中不同类别的数字在图片中的分布不均匀,使得某些类在训练时对模型训练损失的贡献度较低,使得模型无法很好学习到该类别的特征;现有的图像增强的方法,如马赛克数据增强,仅是对样本图进行随机旋转、缩放、裁剪后进行拼接,虽然扩充了训练数据集,但这种随机性未考虑具体的类型,即使扩充了数据量但仍然没有增加某些类别对训练损失的贡献占比。
(3)如何降低样本标注的人工成本:在已经根据一批标注数据训练得到一版模型后,随着新的样本不断增加,对新的样本需要持续不断的进行人工标注,而当单张仪表图片中数字个数较多时,标注样本所占的时间会大幅增加。以燃气表为例,在实际项目中对燃气表的数字标注矩形框和数字类别,加上检查时间,每张图片大概需要2-4分钟,即每标注100张图片就需要5个小时左右,而深度学习模型又需要大量的已标注图片,这大幅增加了模型迭代所需的时间。
针对这些问题,启发式训练增强给出的解决方案:
1、对收集到的所有原始图片使用改进的SPP-Inception网络进行特征提取,每张图片会被映射到一个特征向量,使用异常检测算法剔除部分脏数据后,在使用聚类算法得到指定个数的簇,簇的个数可设定为使用者想要挑选的样本数量,再从每个簇内随机挑选一张作为训练样本。这样可以极大增加样本之间的差异性,相比全局随机挑选,更能提高样本多样性和模型的泛化能力。
2、针对某些类别训练时对损失函数贡献不足的情况,采用改进的类马赛克数据增强,不再是随机裁剪和拼接,而是通过训练过程中的Loss损失函数来指导拼接图的使用,进而提高模型对这些类别的学习能力。
3、当已经有一版训练好的模型后,对于后续源源不断采集的仪表图片,可以采用Active Learning的策略,选择“有必要”人工标注的图片,即根据一些方法判断对于模型无法清楚识别的图片,才需要经过人工检查。通过这种方式仅需人工检查少量的样本即可开始下一轮的模型训练,可以大大降低人工标注的成本,提高模型的迭代速度。
除了启发式训练增强框架外,本发明实施例在模型结构和读数的识别方法上也做了改进。总结本发明实施例提出的创新点如下:
1、引入SPP-Inception特征提取网络,并提出LSO-iForest异常检测算法去除全局和局部异常数据,最后通过KMeans聚类算法对数据进行划分并挑选高价值的差异性样本;
2、改进传统的马赛克数据增强,通过不同类别的Loss占比指导拼接图的使用;
3、引入基于目标检测的Active Learning策略,通过置信度自动筛选需要人工标注的样本;
4、改进网络模型结构,在传统yolov5网络模型中将Residual Unit替换为轻量级的Shuffle Unit结构,进一步提高模型的计算速度和特征融合的能力;
5、优化聚类特征构造,并使用KMeans和坐标排序算法对目标检测模型检测到的数字和小数点进行排序分类,得到完整的读数。
本发明实施例提出的模型整体流程图如图2所示。具体说明如下:
1、引入SPP-Inception特征提取网络,并提出LSO-iForest异常检测算法去除全局和局部异常数据,最后通过KMeans聚类算法对数据进行划分并挑选高价值的差异性样本
针对采集到的海量图片,由于人工标注时间成本较高,以及项目工期的时间限制,只能够抽取一部分的样本进行标注并训练。而如何在大量图片中选出高价值高差异性的样本作为训练集成为提高模型泛化能力的关键问题。首先需要考虑如何定义一组好的“特征”来区分图片。传统的图形学处理提取纹理特征的方法只能表达浅层的定位特征,而随着深度学习的发展,已经证明深层次的网络能够表达更有区分度的语义特征,所以首先需要设计一个良好的特征提取网络来将图片映射到一个有区分度的高维特征空间中。
传统的Inception-v3网络通过增加网络宽度来提高模型的表达能力。具体表现为对输入数据进行不同程度的卷积和池化,并拼接计算的结果。而其中经过的池化层却表达能力单一,限制了模型对网络中每层的特征抽象程度。为了解决这个问题,本发明实施例引入了改进后的SPP模块,替换了Inception组件中原始的单一池化层,更有效的增加主干特征的接收范围,显著的分离了最重要的上下文特征,因为不同上下文特征被抽离到了不同的channel中。改造后的SPP-Inception模块与原始对比如图3所示。
通过SPP-Inception网络去掉了用于分类的全连接层,可将输入图片转换为2048维的特征向量。
得到所有采集图片的特征向量后,由于原始数据集中会存在少量的异常数据(相机拍摄时由于散粒噪声、暗噪声和读出噪声导致图片出现光晕或不同程度的模糊),需要使用异常检测算法剔除这部分异常样本。比较优秀的异常检测算法有Isolation Forest,通过采用类似决策树的方式,每次随机选择n个样本作为某棵树的根节点,在随机的维度和某个阈值上进行切分,构建出T棵iTree,并计算每个样本在T棵树中的高度来表征样本的异常程度。该算法具有线性的时间复杂度,执行效率很高,但iForest不适用于特别高维度的数据。因为每次都是在随机的特征维度上进行切分,可能仍会有大量的维度没有被利用,且高维度的特征中本身也会存在一些高噪声或差异性较低的维度。此外,iForest仅对全局的异常点敏感,并不擅长处理局部的相对离群点。本发明实施例针对iForest的这几个问题进行了改进,提出了LSO-iForest。LSO的含义是local space outlier,在能够去除全局异常点的同时也考虑去除局部的异常点。
相比普通的iForest,该方法做出了以下2个改进:
1)不再对全局的特征进行随机的选择划分,而是选择“差异大”的特征维度进行划分。首先对全局的特征进行PCA降维,删去对应特征值较低的维度。降维后的维度k通过一定的策略自动选择。具体计算方式为:设样本特征矩阵为Xmxn(其中n对应之前SPP-Inception输出的2048维度),计算X对应的协方差矩阵Anxn,对A进行EVD分解,可得A=QΣQT,Q为A特征向量组成的正交矩阵,此时Σ中特征值的大小就对应了X特征维度的重要性。取前k个最大特征值对应的特征向量组成Wnxk,则降维后的矩阵Xp=Xnxk=Xmxn·Wnxk。选择k的思路是降维后的特征矩阵Xp每个维度标准差之和与原矩阵之比超过某个阈值:
寻找满足条件的最小k值。在该业务场景中,因为特征维度较高,且仅作为划分的依据,q取0.95即可。最后在降维后的特征中进行选择划分来构建iTree,可有效提高模型在高维度时对特征的利用,提高特征划分的有效性。
2)改进样本异常分数的计算方式。普通的iForest只考虑每个样本全局的平均高度,导致只能够去掉全局异常点。本发明实施例在此基础上进行改进,计算每个样本相对于离它最近的样本的平均高度。当某个样本与其周围k个样本点的在树中的平均高度相差较大时,判断该点为异常点。具体计算方式如下:
其中x为输入样本,n为每棵iTree中的样本数量,E(h(x))为x在iTree中的平均深度,[x1,x2,...xk]表示距离x最近的k个样本点,c(n)表示在二叉排序树(BST)中搜索不成功时的平均路径长度(此时n表示拓展BST的外部节点个数)。关于c(n)的计算和推导如下:
证明如下:取一个序列x=[x1,x2,...xn],BST插入顺序为x的某组随机排列,且x1<x2<...<xn,设Sn表示BST中查找成功时的平均比较次数,则:
Pr表示概率。考虑若xj是xi的祖先,即在(xi,...xj)或者(xj,...xi)的子序列中,xj是先插入的;因为如果存在xk∈(xi,...xj)先被插入,则xi和xj会被分到该节点的2个子树中,故:
因为Sn=(I+n)/n,其中I表示扩展二叉树内部路径长度,故:
I=nSn-n=2(n+1)Hn-4n
所以扩展二叉树外部路径长度E=I+2n=2(n+1)Hn-2n,此时BST查找不成功时的平均比较次数un=E/(n+1)=2Hn-2n/(n+1)。该公式中n是内部节点数,而在LSO-iForest中,n是外部节点个数,故内部节点数为n-1。综上所述,C(n)=un-1=2Hn-1-2(n-1)/n。经过算法计算后每个样本均有一个异常值S(x,n,k),按照一定比例的异常删掉异常值分数最大的那一部分样本即可。
经过异常过滤后,根据剩下样本的特征向量进行KMeans聚类,相比其他的聚类算法,KMeans计算速度较快,比较适合大量样本的场景。在这里k值即为需要挑选的样本数量。如在10000张图片中需要挑选500张,则只需要聚成500个簇,从每个簇中挑选1个样本即可。这种方式相比在全部图片中随机挑选,得到的样本会更具有差异性,开阔了模型的“视野”,提高模型的泛化能力。
2、改进传统的马赛克数据增强,通过不同类别的Loss占比指导拼接图的使用
传统的马赛克数据增强采用了4张图片,随机缩放、随机裁剪、随机排布的方式进行拼接,以解决数据量少和小、中、大目标分布不均匀的问题。但在仪表识别的场景中,这种随机选图拼接的方式没有考虑读数中不同数字类别数量分布不均匀的情况。为了处理这个问题,本发明实施例考虑通过某种指标的判断,来选择对训练有利的拼接方式,而不同类别分布不均最直接的体现就是每轮训练时各个数字类别Loss的成分占比,某些类对Loss的贡献比较小时,可以在拼接图中增加包含这些数字类的图片成分。
具体的实现方式是,首先根据标注数据计算出每张图片中各个数字的个数占比,在每轮训练后会统计每个类别对损失函数的贡献占比,当某类别贡献占比低于某个阈值时,下一轮训练前对样本进行马赛克数据增强处理时,取含有这些类别数量占比较高的图片进行拼接。通过这种启发式的“指导”拼接可以提高模型的训练鲁棒性和学习能力。
3、引入基于目标检测的Active Learning策略,通过置信度自动筛选需要人工标注的样本
该方法是为了解决如何快速迭代模型的训练。为了降低人工标注的时间,需要采用一些方法来帮助人类过滤那些模型已经能够准确识别的样本。这样每次需要迭代模型时,只需人工标注少量的样本即可进行下一轮的训练,这就是Active Learning的大体思想。具体在仪表识别的应用中,先用模型进行“预标注”,即直接用模型进行预测,每个数字和小数点对应的预测框目标检测模型会输出一个置信度,根据置信度来判断预测的准确性。当某张图片中存在某个数字类别的预测框置信度低于给定阈值时,将该样本标记为需要人工重新标注的图片。
4、改进网络模型结构,在传统yolov5网络模型中将Residual Unit替换为轻量级的Shuffle Unit结构,进一步提高模型的计算速度和特征融合的能力
在目标检测框架yolov5中,Backbone的部分中采用了基于Residual unit的CSP结构,该组件能够很好的对特征进行提取和融合,构建出复杂的语义特征。但存在的问题是训练速度相对较慢。为了提高训练和推理的速度,本发明实施例提出将Residual Unit替换为轻量级的Shuffle Unit结构,引入深度可分离卷积,来进一步提高计算性能。
深度可分离卷积和普通卷积的对比如图4所示,图中可以看出深度可分离卷积中每个卷积核仅对一个channel负责,相比普通卷积全连接的方式,深度可分离卷积进一步提高的模型的计算速度,而深度卷积和点卷积的配合可以在尽可能不损失准确度的情况下提高计算速度。Shuffle Unit的结构和使用方式如图5所示。
5、优化聚类特征构造,并使用KMeans和坐标排序算法对目标检测模型检测到的数字和小数点进行排序分类,得到完整的读数
在目标检测模型识别到数字和小数点的矩形框后,识别效果如图6所示。
由于识别到的数字矩形框和类别信息只是单个数字或小数点,还需要通过一定的方法将数字分组并串联成不同含义的读数。虽然可以很容易想到用聚类算法来完成数字分组的任务,但特征的构造需要运用一些技巧,因为实际应用时直接使用每个数字的中心点坐标(x,y)无法很好的得到我们想要的聚类效果。从图中也可以看出,有些数字的y轴坐标相对比较靠近,使得上下的数字被聚到一起,无法得到有意义的读数。
为了使得数字在x和y轴都能很好的区分开,结合对真实数据分布的观察发现,对y轴的特征权重应该要比x轴更大,因为y轴相差稍微大一些就肯定不属于一个读数的簇内(读数都是按行的顺序),为了使得模型更好的区分,所以放大不属于一个读数中的数字的y轴特征,以此增加不同行之间数字的距离。具体本发明实施例提出的特征构建的方式如下:
feature=[xcenter,(ycenter+height/2)*5]
其中(xcenter,ycenter)表示每个数字或小数点矩形框的中心点坐标,height表示数字或小数点矩形框的高度。采用这种特征构造方式,结合KMeans和轮廓系数可以比较容易的将数字划分到合适的读数簇中。
将数字划分到对应的读数簇中后,需要对同一簇内的数字和小数点进行坐标排序,可以拿到正确的读数。由于目前人类对数字串的阅读习惯是从左到右按行读取,故对同一簇内的数字按照x轴水平方向的坐标排序即可。
本发明实施例提出的一种启发式训练增强型结构改进神经网络的数字型仪表读数智能识别方法,利用深度学习目标检测等相关改进技术,对燃气表电表等数字型读数仪表进行识别,提取其中的读数信息,以便能够自动录入到信息化系统中,降低人工巡检采集读数的成本。其中涉及到的技术有:深度神经网络、启发式训练增强算法、ActiveLearning、目标检测技术、聚类算法、异常检测算法等。该技术主要能够应用到以下几个方面:
(1)在智能巡检机器人中,机器人通过对燃气表或电表等数字型仪表进行拍照,将照片传回系统后,使用本实施例提供的方法进行识别,并实时返回识别结果,通过web端展示或存储到数据库中。
(2)对于一些老旧的社区或公司中未智能化改造的电表,只能通过人工巡检的方式采集电量,因为全部替换为智能化电表成本较高。这种情况下可以在每个电表上安装一个微型摄像头(摄像头成本仅为智能电表的1/10),定时拍照并传回给识别系统,通过本实施例提出的方法进行识别并记录。
本发明实施例的方法可适用于任何数字型仪表的识别,仅仅需要额外的固定或类似安装在机器人身上的移动摄像头进行拍照即可,且对角度和背景鲁棒。本实施例通过改进神经网络模型结构和加入启发式训练增强的方法对模型进行优化,使得模型能够更加准确的识别数字型仪表读数。
实施例2
与上述实施例1相对应的,本实施例提出了一种数字型仪表读数智能识别系统,所述系统包括:
训练样本筛选模块,用于对采集到的原始仪表图片使用特征提取网络进行特征提取,得到每张图片样本的特征向量,并使用异常检测算法进行异常样本过滤;
使用k均值聚类算法对过滤后的剩余样本进行聚类,根据需要挑选的样本数量划分相同数量的候选样本簇,从每个簇中随机挑选一个样本组成样本集,对样本集的仪表盘内读数进行矩形框标注,得到训练集;
模型训练与识别模块,用于使用所述训练集对改进的目标检测模型进行训练,通过目标检测模型识别仪表盘内包含数字和小数点的读数,优化聚类特征构造并使用k均值聚类算法对识别到的数字和小数点进行聚类,对划分到同一簇中的数字和小数点根据坐标进行排序得到正确的读数。
本发明实施例提供的一种数字型仪表读数智能识别系统中各部件所执行的功能均已在上述实施例1中做了详细介绍,因此这里不做过多赘述。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (10)
1.一种数字型仪表读数智能识别方法,其特征在于,所述方法包括:
对采集到的原始仪表图片使用特征提取网络进行特征提取,得到每张图片样本的特征向量,并使用异常检测算法进行异常样本过滤;
使用k均值聚类算法对过滤后的剩余样本进行聚类,根据需要挑选的样本数量划分相同数量的候选样本簇,从每个簇中随机挑选一个样本组成样本集,对样本集的仪表盘内读数进行矩形框标注,得到训练集;
使用所述训练集对改进的目标检测模型进行训练,通过目标检测模型识别仪表盘内包含数字和小数点的读数,优化聚类特征构造并使用k均值聚类算法对识别到的数字和小数点进行聚类,对划分到同一簇中的数字和小数点根据坐标进行排序得到正确的读数。
2.根据权利要求1所述的一种数字型仪表读数智能识别方法,其特征在于,对样本集的仪表盘内读数进行矩形框标注,具体还包括:
在对样本图片进行标注时,先将图片输入至预先训练的目标检测模型得到目标预测框以及置信度,若某张图片中存在某个数字类别的预测框置信度低于设定阈值时,则将样本标记为需要人工重新标注的图片,实现自动筛选需要人工标注的图片。
3.根据权利要求1所述的一种数字型仪表读数智能识别方法,其特征在于,所述方法还包括:
对训练样本使用改进类马赛克数据增强,首先根据标注数据计算出每张图片中各个数字的个数占比,在每轮训练后统计每个数字类别对损失函数的贡献占比,当某个数字类别的贡献占比低于预设阈值时,在下一轮训练前对样本进行改进类马赛克数据增强处理时,取含有相应类别数量占比相对高的图片进行拼接。
4.根据权利要求1所述的一种数字型仪表读数智能识别方法,其特征在于,对采集到的原始仪表图片使用特征提取网络进行特征提取,具体包括:
所述特征提取网络采用SPP-Inception特征提取网络,所述SPP-Inception特征提取网络通过将Inception-v3网络中的单一池化层替换为空间金字塔池化网络,通过SPP-Inception特征提取网络将输入图片转换为2048维的特征向量。
5.根据权利要求1所述的一种数字型仪表读数智能识别方法,其特征在于,使用异常检测算法进行异常样本过滤,具体包括:
所述异常检测算法采用LSO-iForest异常检测算法去除全局和局部异常数据,具体包括:
对全局特征进行PCA降维,删去对应特征值较小的维度,降维后的维度通过一定的策略自动选择,最后在降维后的特征中进行选择划分来构建二叉树iTree;
计算每个样本相对于离它最近的样本的平均高度,当某个样本与其周围k个样本的在树中的平均高度相差超过预设阈值时,判断样本为异常点并剔除异常。
7.根据权利要求5所述的一种数字型仪表读数智能识别方法,其特征在于,计算每个样本相对于离它最近的样本的平均高度,当某个样本与其周围k个样本的在树中的平均高度相差超过预设阈值时,判断样本为异常点并剔除异常,具体为:
其中x为输入样本,n为每棵二叉树iTree中的样本数量,E(h(x))为x在iTree中的平均深度,[x1,x2,...xk]表示距离x最近的k个样本点;c(n)表示在二叉排序树中搜索不成功时的平均路径长度,此时n表示拓展二叉排序树的外部节点个数;关于c(n)的计算和推导如下:
证明如下:
取一个序列x=[x1,x2,...xn],二叉排序树插入顺序为x的某组随机排列,且x1<x2<...<xn,设Sn表示二叉排序树中查找成功时的平均比较次数,则:
Pr表示xj是xi的祖先节点的概率;考虑若xj是xi的祖先,即在(xi,...xj)或者(xj,...xi)的子序列中,xj是先插入的;因为如果存在xk∈(xi,...xj)先被插入,则xi和xj会被分到该节点的2个子树中,故:
因为Sn=(I+n)/n,其中I表示扩展二叉树内部路径长度,故:
I=nSn-n=2(n+1)Hn-4n
所以扩展二叉树外部路径长度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;
经过算法计算后每个样本均有一个异常值S(x,n,k),按照一定比例的异常删掉异常值分数最大的那一部分样本。
8.根据权利要求1所述的一种数字型仪表读数智能识别方法,其特征在于,所述方法还包括:
所述改进的目标检测模型通过将采用了基于残差网络模块的CSP结构的yolov5网络模型中的残差网络模块替换为轻量级的Shuffle网络模块,引入深度可分离卷积,深度可分离卷积中每个卷积核仅对一个通道负责,来进一步提高计算性能。
9.根据权利要求1所述的一种数字型仪表读数智能识别方法,其特征在于,优化聚类特征构造并使用k均值聚类算法对识别到的数字和小数点进行聚类,对划分到同一簇中的数字和小数点根据坐标进行排序得到正确的读数,具体包括:
放大读数中的数字的y轴特征权重,以此增加不同行之间数字的距离,结合KMeans和轮廓系数实现不同行的数字聚类为不同的簇,具体聚类特征构建的方式如下:
feature=[xcenter,(ycenter+height/2)*5]
其中(xcenter,ycenter)表示每个数字或小数点矩形框的中心点坐标,height表示数字或小数点矩形框的高度;
将数字划分到对应的读数簇中后,对同一簇内的数字按照x轴水平方向的坐标进行排序得到正确的读数。
10.一种数字型仪表读数智能识别系统,其特征在于,所述系统包括:
训练样本筛选模块,用于对采集到的原始仪表图片使用特征提取网络进行特征提取,得到每张图片样本的特征向量,并使用异常检测算法进行异常样本过滤;
使用k均值聚类算法对过滤后的剩余样本进行聚类,根据需要挑选的样本数量划分相同数量的候选样本簇,从每个簇中随机挑选一个样本组成样本集,对样本集的仪表盘内读数进行矩形框标注,得到训练集;
模型训练与识别模块,用于使用所述训练集对改进的目标检测模型进行训练,通过目标检测模型识别仪表盘内包含数字和小数点的读数,优化聚类特征构造并使用k均值聚类算法对识别到的数字和小数点进行聚类,对划分到同一簇中的数字和小数点根据坐标进行排序得到正确的读数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310113943.4A CN116071752A (zh) | 2023-02-06 | 2023-02-06 | 一种数字型仪表读数智能识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310113943.4A CN116071752A (zh) | 2023-02-06 | 2023-02-06 | 一种数字型仪表读数智能识别方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116071752A true CN116071752A (zh) | 2023-05-05 |
Family
ID=86173018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310113943.4A Pending CN116071752A (zh) | 2023-02-06 | 2023-02-06 | 一种数字型仪表读数智能识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116071752A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117576829A (zh) * | 2024-01-15 | 2024-02-20 | 贵州诺派赛玛智能科技有限公司 | 一种城市供水收费服务交互结算系统 |
-
2023
- 2023-02-06 CN CN202310113943.4A patent/CN116071752A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117576829A (zh) * | 2024-01-15 | 2024-02-20 | 贵州诺派赛玛智能科技有限公司 | 一种城市供水收费服务交互结算系统 |
CN117576829B (zh) * | 2024-01-15 | 2024-03-29 | 贵州诺派赛玛智能科技有限公司 | 一种城市供水收费服务交互结算系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110956185B (zh) | 一种图像显著目标的检测方法 | |
CN108460356B (zh) | 一种基于监控系统的人脸图像自动处理系统 | |
CN109284733B (zh) | 一种基于yolo和多任务卷积神经网络的导购消极行为监控方法 | |
CN113255694B (zh) | 训练图像特征提取模型和提取图像特征的方法、装置 | |
US20220101644A1 (en) | Pedestrian re-identification method, device, electronic device and computer-readable storage medium | |
CA3066029A1 (en) | Image feature acquisition | |
JP5282658B2 (ja) | 画像学習、自動注釈、検索方法及び装置 | |
CN111340123A (zh) | 一种基于深度卷积神经网络的图像分数标签预测方法 | |
CN111639564B (zh) | 一种基于多注意力异构网络的视频行人重识别方法 | |
CN111723675A (zh) | 基于多重相似性度量深度学习的遥感图像场景分类方法 | |
CN110598535A (zh) | 一种监控视频数据中使用的人脸识别分析方法 | |
CN112580480B (zh) | 一种高光谱遥感影像分类方法及装置 | |
CN110728694B (zh) | 一种基于持续学习的长时视觉目标跟踪方法 | |
CN112633297A (zh) | 目标对象的识别方法、装置、存储介质以及电子装置 | |
CN116071752A (zh) | 一种数字型仪表读数智能识别方法及系统 | |
CN113988147A (zh) | 基于图网络的遥感图像场景多标签分类方法及装置、多标签检索方法及装置 | |
CN113378620B (zh) | 监控视频噪声环境下跨摄像头行人重识别方法 | |
CN111275694A (zh) | 一种注意力机制引导的递进式划分人体解析模型及方法 | |
CN111008652A (zh) | 一种基于gan的高光谱遥感影像分类方法 | |
CN114119514A (zh) | 一种红外弱小目标的检测方法、装置、电子设备和存储介质 | |
CN112016434A (zh) | 一种基于注意力机制3d残差网络的镜头运动识别方法 | |
US20230245495A1 (en) | Face recognition systems data collection process | |
CN115424293A (zh) | 活体检测方法、活体检测模型的训练方法及装置 | |
CN115719428A (zh) | 基于分类模型的人脸图像聚类方法、装置、设备及介质 | |
CN114882253A (zh) | 一种基于对比学习和自注意力机制的面料织法匹配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |