CN113269195A - 读数表图像字符识别方法和装置以及可读存储介质 - Google Patents
读数表图像字符识别方法和装置以及可读存储介质 Download PDFInfo
- Publication number
- CN113269195A CN113269195A CN202110653500.5A CN202110653500A CN113269195A CN 113269195 A CN113269195 A CN 113269195A CN 202110653500 A CN202110653500 A CN 202110653500A CN 113269195 A CN113269195 A CN 113269195A
- Authority
- CN
- China
- Prior art keywords
- character
- area
- image
- incomplete
- recognition result
- 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/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F18/24155—Bayesian classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Character Discrimination (AREA)
Abstract
本发明提供了一种读数表图像字符识别方法,包括:对需要识别的字符进行区分,并分别对完整字符和不完整字符进行识别。将不完整字符区域分为第一区域和第二区域;对所述第一区域和所述第二区域进行识别,得到的结果再根据读数表的排布规律进行比对,得到不完整字符目标数值。最后整合不完整字符和完整字符的识别的目标数值,得到读数表图像数值。本发明通过将不完整字符区分识别并根据读数表规律进行比对,解决了传统读数表读数识别不准确的技术问题。
Description
技术领域
本发明涉及图像识别技术领域,尤其涉及一种读数表图像字符识别方法和装置以及可读存储介质。
背景技术
每一户人家都安装了读数表,例如水表,气表,电表等等读数表,用以统计用水量、气量、电量等等并根据用量来计算收费的多少。抄表是收费的依据,也能帮助用户了解自身的用量。
得益于计算机技术的发展,近年来深度学习技术,由于其高效性和准确性也不断地得到了发展,被广泛的应用到了图像处理和数据处理等领域。到目前也有不少利用机器视觉领域的方法通过图像识别表盘上的读数来减轻人工抄表的工作的量的方法,但是这一类方法在自动识别表盘上的数据时,读数仍然不是那么准确。
发明内容
针对现有技术中所存在的不足,本发明提供了一种读数表图像字符识别方法,以解决相关技术中传统技术中读数表读数图像识别不够准确的问题。
根据本发明的实施例,本发明提供了一种读数表图像字符识别方法,所述方法包括:
获取字符集在读数表图像中的相应位置,并区分所述字符集中的不完整字符区域与完整字符区域;
根据第一分类网络对所述完整字符区域进行识别,得到完整字符目标数值;
将所述不完整字符区域分为第一区域和第二区域;
根据第二分类网络对所述第一区域和所述第二区域进行识别,得到所述第一区域相匹配的第一识别结果集和所述第二区域相匹配的第二识别结果集;
根据所述第一识别结果集、所述第二识别结果集和预设读数表字符排布规律,得到不完整字符目标数值;
按照字符集在读数表图像中的相应位置,顺序排列对应所述完整字符目标数值和不完整字符区域的目标数值,获得读数表图像识别结果。
根据本发明的实施例,本发明还提供了一种读数表图像字符识别装置,所述装置包括:
目标图像获取模块,用于获取待识别的读数表图像;
特征区域获取模块,用于对所述读数表图像进行特征提取和分类,区分完整字符区域与不完整字符区域;
位置区域获取模块,用于获取字符集在读数表图像中的相应位置;
第一分类网络模块,用于对所述完整字符区域进行识别,得到完整字符目标数值;
不完整字符特征提取模块,用于将不完整字符区域分为第一区域和第二区域;
第二分类网络模块,用于对所述第一区域和第二区域的不完整字符区域进行识别,得到与所述第一区域相匹配的第一识别结果集和与所述第二区域相匹配的第二识别结果集;
判断模块,用于根据所述第一识别结果集、所述第二识别结果集和预设读数表字符排布规律,得到不完整字符目标数值;
结果整合模块,用于按照字符集在读数表图像中的相应位置,顺序排列对应所述完整字符目标数值和不完整字符区域的目标数值,获得读数表图像识别结果。
根据本发明的实施例,本发明还提供了一种可读储存介质,可读介质上存储有指令,当处理器执行时,实现如上所述的方法,获得读数表图像识别结果。
相比于现有技术,本发明具有如下有益效果:
本发明技术中,虽然人工智能技术运用广泛,但是读数表字符图像识别,发明人创造性的发现了这样的问题,如果不将不完整字符和完整字符分开,会使得太多不同的图片数据对应同一个输出结果,造成学习困难的问题。因此发明人通过先将完整字符区域和不完整字符区域区分开来,再用分别训练的第一分类网络和第二分类网络进行训练,使得不完整字符和完整字符不再互相干扰,同时提高了不完整字符和完整字符的识别率。
通过第二分类网络识别读数图像的不完整字符,发明人还创造性的发现了这样的问题:某些不完整字符具有极高相似性,人工智能识别不能得出很好的结果,所述第一识别结果集、所述第二识别结果集中可能有多个可能性高的识别值,这时本发明通过再增加符合读数表特征的识别步骤,即根据读数表字符排布规律再次判断第一识别结果集、所述第二识别结果集的取值是否相应的符合读数表字符排布规律,这样,经过进一步筛选过后,就可以得到更加准确的不完整字符区域的目标数值。
当然,如果没有发现,发明人发现的这一问题:某些不完整字符具有极高相似性,人工智能识别不能得出很好的结果,在现有技术中一般会直接输出贝叶斯概率最高的值作为识别结果,而不是输出一个识别结果集,即多个备选结果,进行比对后选出符合规律的结果。因此,为了突出本发明的发明点,虽然将判断第一识别结果集、所述第二识别结果集的取值是否相应的符合读数表字符排布规律的步骤在此单独强调的叙述,但实际上,该步骤与前序第二分类网络对不完整字符的识别是完整的,并且互相影响,不能简单独立的分割的来看。正因为第二分类网络输出多个供比对确认的输出结果,才有可能提高整个识别网络的精度。当然,在此需要说明的情况是,所谓的识别结果集,并不一定是指同时输出的多个识别结果,也不是每次都必须输出多个结果,能保证精度的提高的前提仅仅是,当比对结果不符合读数表字符排布规律时,能够提供其它的备选值重新比对从而筛选出更接近真实的值。
附图说明
图1为本发明一实施例中的读数表字符识别方法的流程示意图;
图2为字轮水表的读数图片示意图;
图3为本发明一实施例中SPP-net网络结构示意图;
图4为本发明一实施例的流程图;
图5为本发明一实施例中的读数表图像字符识别装置的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序或暗示相对重要性。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”、“具有”、“含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。本文中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本文中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本发明实施例方案的目的。
为了使本发明的目的、技术方案及有益效果更加清楚明白,下面结合附图及实施例对本发明中的技术方案进一步说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明是一种读数表图像字符识别方法,所述方法包括:
获取字符集在读数表图像中的相应位置,并区分所述字符集中的不完整字符区域与完整字符区域;
根据第一分类网络对所述完整字符区域进行识别,得到完整字符目标数值;
将所述不完整字符区域分为第一区域和第二区域;
根据第二分类网络对所述第一区域和所述第二区域进行识别,得到所述第一区域相匹配的第一识别结果集和所述第二区域相匹配的第二识别结果集;
根据所述第一识别结果集、所述第二识别结果集和预设读数表字符排布规律,得到不完整字符目标数值;
按照字符集在读数表图像中的相应位置,顺序排列对应所述完整字符目标数值和不完整字符区域的目标数值,获得读数表图像识别结果。
本方法可以运用于客户端,终端,也可以运用于服务器端等等,在此对运用本方法的具体端口,机型,配置不做限定,只要本领域技术人员理解可以执行本方法的方案即可。本发明的方法步骤,可以为多个模块,或者多家公司共同完成。比如,利用深度学习的方法,对第一分类网络,第二分类网络进行训练,可以在一家公司完成,而后续步骤也可以分别在另外的公司完成。在此,因为考虑到发明方案的技术完整性,因此没有将步骤进一步拆分。
但本方法实际上包括,在不同公司完成本方法的一步或几步,分别达到该步骤的小目标,再整合起来达到本发明的目的。
本发明方法可以识别的读数表,特别是字轮表,因为字轮表在转动显示的过程中,有非常明确的逻辑规律,即随着转动递增,但凡是有可获取图片字符,并且字符之间有一定排布规律的读数表,而这些读数表的逻辑规律可以是不像字轮表这样逐一递增的,但只要包含这样两个判定区域或两个区域以上这些区域不完整字符之间拥有逻辑规律的读数表,比如电表,气表,等等,在本领域技术人员不付出创造劳动的情况下,亦也可以通过本发明的方法,即在输出两个在读数表上有预设规律的不完整字符识别结果集时,可以判断该两个结果的取值是否符合读数表上有预设规律来识别在该不完整字符识别结果集的取值,即第一识别结果集、第二识别结果集需要符合该预设规律,才是不完整字符的符合实际情况的取值。
图1为本发明中读数表图像字符识别方法的流程示意图;如图1所示,读数表图像字符识别方法,包括下列步骤:
步骤S101,获取字符集在读数表图像中的相应位置,并区分所述字符集中的不完整字符区域与完整字符区域。
在本文中,为了便于说明,将本步骤标为S101,但在本步中,实际操作中可能区分字符的完整与不完整区域与S102,S103步骤有重叠的地方,只要在用第一分类网络、第二分类网络分别进行识别前,区分所述字符集中的不完整字符区域与完整字符区域即可。
图2为字轮水表的读数图片,如图2所示,所述字符集在图中具体表现为00565-6,而位于末位的5-6,即不完整字符区域,0056,为完整字符区域,此时可以将0056视为一个整体的完整字符区域,再做进一步处理,也可以将0,0,5,6分别作为一个单位字符区域,可以将各个单位字符区域分别区分出来后,再做后续判断是否为完整或不完整,也可以同时判断,并且将完整字符的分类识别和判定是否为不完整字符同时进行,也可以先预设不完整字符为已知完整字符可能数量加1的类别:
对读数表图像的字符集中单位字符分类识别,预设字符分类类别数量为完整字符类别数量加一,用加一类别表示不完整字符;获取单位字符的所属类别信息以及在读数表图像中的坐标信息。
在如图2所示,字轮读数表的情况,即可以将数据分为11类,将显示为0~9的完整字符列为十类,而将不完整的字符区域单列为第11类,做不同的后续处理。
将完整字符和不完整字符分开是为了避免太多不同的数据对应同一个标签(关于监督学习中需要如何加标签的问题见后续对步骤的详细解释)造成学习困难的问题。造成这个问题的原因是,在字轮表中不完整字符是上下两部分组成,而上下两部分的结构比例是不固定的(当然这里采用上下的叙述,只是为了让人能够更加直观结合图2来理解发明人的理念,而不是做出任何限定),例如不完整字符有大部分是1,小部分是0,从理论上将要构成这样的一个不完整字符读数有很多可能也就意味着有很多的样本,这些样本的占比不同,空间分布也不同,但是却有着相同的标签,另一方面完整的数字1也应该对应的是标签1,这就对神经网络的学习造成了困难。如果将所有的不完整字符单独作为一类处理,那么对于完整字符的检测和整个过程的学习都能减轻压力。
虽然通过上述的理由,不难理解将不完整字符和完整字符区分开来分别用人工智能网络是有益并且能够提高识别率的,然而在具体运用时却会遇到这样的技术问题:如何才能将完整字符和不完整字符有效快捷并且可行的区分开来呢?
在此,发明人给出两个能够实现的实施方式,但并不仅限于此,本领域技术人员能够想到的等同替换方式,只要能达到区分完整字符区域和不完整字符区域,都应在本发明的保护范围之内。
在第一个实施方式中,发明人通过不同制式的水表数据的统计和分析发现,虽然水表的样式各有不同,但是在半字符显示的区域却有一个相同点,那就是两部分不完整的字符之间存在一定的空白将两个字符分隔开,同时字符的颜色和分隔空白的颜色是不一样的。因此可以根据颜色空间和阈值分割(关于颜色空间和阈值,在本文后续会进一步解释),提取到字符,然后再在统计分割后的结果在横向投影上的梯度变化结果就可以将字符的上下两个部分分开。分开之后对两个字符使用分类识别网络进行识别读取就能得到结果。
即:区分字符集中单位字符区域中的数字投影区域和空白区域;
判断所述空白区域是否位于所述数字投影区域之间,当所述空白区域在所述数字投影区域之间时,则判定为不完整字符;所述空白区域分开所述不完整字符的第一区域和第二区域;当所述空白区域在所述数字投影区域两边时,则判定完整字符。
在第二个实施方式中,发明人通过不同制式的水表数据的统计和分析发现,因为两个不完整字符纵向覆盖的面积小于完整的字符,因此根据纵向覆盖长度大小,也可以判断该字符是否完整,即:获取字符集在读数表图像中的相应位置,并区分所述字符集中的不完整字符区域与完整字符区域,包括:获取所述字符集中单位字符所在区域纵向连续覆盖范围最大值Max;计算当前单位字符纵向比例值,所述纵向比例值通过字符纵向连续覆盖范围比所述Max的值计算;当所述比例值小于给定的阈值,则判定为不完整字符区域;根据字符纵向连续覆盖范围获取不完整字符区域的第一区域与第二区域。
这里虽然提到用当前单位字符/MAX,当然如果用MAX/单位字符,再判断是否大于阈值,也是本领域技术人员容易想到的等同替换。
步骤S102,根据第一分类网络对所述完整字符区域进行识别,得到完整字符目标数值。
第一分类网络,在识别水表数字的情况下,可以用现有的识别完整数字的分类网络来识别,也可以用迁移学习的方法,训练CNN网络来识别,选择使用深度学习的方法可以突破场景的限制,使其能够适用于各种不同制式的读数表。不过在实际中,因为读数表所处环境复杂,可能在表面有灰尘或污迹,因此还可以通过下列的方法做预处理,只要在不完整字符和完整字符识别之前即可达到预期目的;
通过图像色彩的阈值分割去除与目标字符颜色不同的背景数据干扰。可选择通过HSV分割算法去除背景的干扰,然后再通过中值滤波和双边滤波去除噪声的干扰,最后再依据水表数字集中在一个区域内的特点计算水平和垂直方向的投影,并根据投影变化过程计算出水表数字的所在字符集中区域。HSV阈值分割的表达形式如下公式(b)所示,公式(1)中I表示图像,H,S,V分表表示HSV三个颜色空间对应的通道,T1,T2,T3表示对应通道的阈值。根据观测读数表字符颜色数据,本领域技术人员可以根据观测,设置与观测读数表配适的阈值。
I=I(H>T1)&I(S>T2)&I(V>T3)(b)
在识别时,将单位字符切分和识别可以运用faster-rcnn算法,该算法分为定位和预测两个阶段,定位阶段用于区分每一个字符所在的区域,预测用于识别每一个独立的字符。
也可以用yolov5算法,yolov5是一种端到端的神经网络算法,相对于faster-rcnn等先定位后识别的算法,可以同时完成定位和识别两项任务,极大的加快算法的运算速度。
可选的,为了更快更好的完成训练网络,训练网络可以采用监督学习的方式,对训练图片进行标记,即获取完整字符训练图片,对同一个字符类别完整字符训练图片通过labelimg工具标注,用标注好的完整字符训练图片对第一分类网络训练。
步骤S103,将所述不完整字符区域分为第一区域和第二区域。
根据在S101种提到的,判断不完整字符之间是否有空白区域,或者是判断不完整字符的覆盖区域两种不同的实施方式,都可以进一步的,利用相同的原理,将不完整字符区域中,显示不完整字符的两个区域分开,比如通过阈值分割的算法将目标与背景分割开,然后再根据横向的投影将字符上下两个部分分隔开等等。但并不仅限于此,本领域技术人员能够想到的等同替换方式,只要能达到将不完整字符区域分为第一区域和第二区域,都应在本发明的保护范围之内。
区分为第一区域和第二区域后,发明人发现第一区域和第二区域的图像大小不一致,发现了下列问题,在一般的深度学习神经网络中,普通的神经网络一般都是由卷积层、池化层、全连接层构成,也正是由于全连接层的存在,导致了,输入的图像大小必须一致。通常的处理方法就是resize或者填充数据,但是这样做法会改变数据本身的结构信息,影响最终的识别结果。比如,在运用于字轮表的例子中,如果改变了数字的尺寸比例,把字符7下半部分的较短一截拉长,可能就与字符1的下半部分更加难以区分。因此,发明人想到,保留第一区域和第二区域的图像大小的原始尺寸,或者说原始比例尺寸,再用能够适应输入任意大小的图像的网络结构来识别,就能够有效的解决这一问题,提高对不完整字符的识别精度,即:将所述不完整字符区域区分为第一区域和第二区域,包括:获取第一区域和第二区域图像时,保持所述第一区域和所述第二区域图像的原始尺寸比例。
步骤S104,根据第二分类网络对所述第一区域和所述第二区域进行识别,得到所述第一区域相匹配的第一识别结果集和所述第二区域相匹配的第二识别结果集。
第二分类网络,在识别水表数字的情况下,可以用现有的识别完整数字的分类网络来识别,也可以用迁移学习的方法,训练CNN网络来识别,选择使用深度学习的方法可以突破场景的限制,使其能够适用于各种不同制式的读数表。不过在实际中,因为读数表所处环境复杂,可能在表面有灰尘或污迹,也可以通过上述处理第一分类网络方法类似的方法做预处理,只要在不完整字符和完整字符识别之前即可达到预期目的;通过图像色彩的阈值分割去除与目标字符颜色不同的背景数据干扰。通过faster-rcnn算法和yolov5算法,对单位字符进行区分和定位。如果使用监督学习的网络,则用如上所述,用labelimg工具对用于训练的图片进行标记。即获取不完整字符训练图片,对同一个字符类别不完整字符训练图片通过labelimg工具标注,用标注好的不完整字符训练图片对第二分类网络训练。
另外,为了更精确的控制对第一区域和第二区域的图像处理,可以通过设置下列损失函数做损失处理:
其中:T是类别的数目,N同样是每一个map中像素的个数,那么输出maps X可以看作一个N、X、T的矩阵。
可选的,如上所述,当保持所述第一区域和所述第二区域图像的原始尺寸比例,需要适应的输入网络,而对应适应的识别网络结构,可以在第二分类网络中加入SPP-net结构,用于适应不同大小的输入,提高半字符识别精度。即:根据第二分类网络对所述第一区域和所述第二区域进行识别,得到所述第一区域相匹配的第一识别结果集和所述第二区域相匹配的第二识别结果集,包括:所述第二分类网络含SPP-net结构,用于适应不同原始尺寸比例所述第一区域和所述第二区域图像的识别。
SPP(spatial pyramid pooling layer)网络结构图如图3所示,黑色图片代表卷积之后的特征图(feature maps of conv),图三中数字图像输入之后的神经网络中卷积层为5层,其卷积核大小为3x3,经过前期的特征提取之后以不同大小的块来进一步的进行处理提取深层次特征,深层次的特征提取以不同深度的卷积层来实现最终得到单通道、4通道、16通道三种维度不同的特征,最后将这三种维度不同的特征进行融合可以到16+4+1=21维特征向量。这种特征融合的过程就是空间金字塔池化(spatial pyramid poolinglayer:缩写SPP)。比如,要进行空间金字塔最大池化,其实就是从这21个图片块中,分别计算每个块的最大值,从而得到一个输出单元,最终得到一个21维特征的输出。所以Conv计算出的feature map也是任意大小的,经过SPPlayer之后,就可以变成固定大小的输出了(fixed-length representation),以图3为例,一共可以输出(16+4+1)*256的特征。
SPP-net在特征提取阶段没有全连接层,所以可以输入任意大小的图像,在特征提取完成之后只需要将特征处理成一定的大小,并将处理后的数据传给全连接层(fully-connected layers)就行。因此SPP层就作用在最后一层卷积之后,SPP层的输出就是固定大小。因此使用SPP-Net就可以自适应输入图像的大小,而不会改变半字符本身的空间结构信息,能够有效的提升检测和识别精度。
步骤S105,根据所述第一识别结果集、所述第二识别结果集和预设读数表字符排布规律,得到不完整字符目标数值。
在不完整字符识别时,尤其字符为阿拉伯数字的情况下,发明人发现了这样的问题,不完整的阿拉伯字符有一些相似性,比如1,4,7的下半部分;5与9的下半部分,8与0的下半部分,2与3的上半部分等等,会影响人工智能网络识别精确度。发明人发现,因为读数表,尤其是字轮水表,两个不完整字符在转轮转动时产生,因此两个不完整字符之间存在既定规律,即如下述递增或递减,根据该规律,可以对分类网络的识别结果集,做出进一步的筛选。
下面以字轮读数表为本发明的一个实施例,具体的说明,如何根据第一识别结果集、所述第二识别结果集和预设读数表字符排布规律,得到所述不完整字符区域的目标数值。
虽然本例主要说明的是字轮读数表的情况,但在读数表显示区域,两个不完整字符区域之间,只要有一定客观预设规律和逻辑关系,只要不完整字符之间存在相似容易混淆,本领域技术人员能够通过该种客观预设规律和逻辑关系来判断不完整字符的识别值是否符合这种预设规律或者逻辑关系,从而判定该识别值是否符合真实的情况时,应该理解为都符合本发明覆盖的等同替换的范围。
字轮读数表,因为数字依次递增/递减顺序排布,因此可以通过:判断所述第一识别结果集和第二识别结果集是否符合数字依次递增/递减顺序,获得符合的第一目标识别结果和第二目标识别结果;获取所述第一区域和所述第二区域的相对位置信息数据;根据第一目标识别结果、第二目标识别结果和所述相对位置信息数据运算得到所述目标数值。
为了判断递增、递减,一些的实施方式是,判断第一区域的多个识别值(N1)和第二区域的多个识别值(N2)之间是否符合下列任一函数:
假设:N1∈[0,1,2,3,4,5,6,7,8,9];N2∈[0,1,2,3,4,5,6,7,8,9]
判断函数1:f(x)=(N1-N2)2=1
判断函数2:f(x)=|N1-N2|=1
判断函数3:f(n1,n2)∈[(9,0),(0,1),(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9)]
以上并没有列举所有可能的实施方式,本领域技术人员为了判断递增、递减,可以有不同的步骤或者实施方式的调整都包括在内,应视为等同替换。另外,因为第二分类网络对不完整区域图像的识别值,根据该识别值的贝叶斯概率的高低,依次输出,通过输出值的多少和方式,可以有多种实施方式的组合,比如,先根据识别值的贝叶斯概率的高低,在识别结果集中输出2个值,再判断是否符合递增、递减顺序;如果找不到符合递增、递减的结果对,再在结果集中增加1个输出值,再次判断第一区域结果集和第二区域结果集中的值是否有符合递增、递减顺序的相应识别值,以此直到找到合适的第一区域和第二区域的识别值。其中输出个数和方式,本领域技术人员可以有不同的调整,都应视为等同替换。可见,输出识别结果集,而不是单一的结果,正因为发明人创造性发现的问题和解决方案,发现可以对识别结果进行进一步比对的方法,而该方法因为明确,而且极大的缩小了限定范围,因此有效的提高识别精度,而在现有方案中,就算利用人工智能网络进行识别,因为没有意识到发明人创造性发现的比对步骤,最后往往也不会输出识别结果集,而只输出按照贝叶斯概率最高的值,直接就作为识别结果。因此通过人工智能网络输出识别结果集而不是单一的结果和发明人发现的比对步骤,是相互结合的,达到了一加一大于二的效果,而不能单独的拆分为没有关系,毫无影响的两个步骤。
通过上述步骤的判断,可以得到符合规律的识别值对,N1和N2这时,可以通过多种方式输出不完整字符的目标数值,一个实施方式是:比较N1和N2,选择较小或较大的输出。另外一个实施方式是,对N1和N2做平均值处理,输出结果。在此可以通过更多可以替换的输出算法,对N1和N2做出处理,得到目标数值。
为了得到更精确的结果,发明人发现,可以引入第一区域和所述第二区域的相对位置信息数据。即,在获取第一区域的识别结果集和第二区域的识别结果集的同时,还获取所述第一区域和所述第二区域的相对位置信息数据;比如根据两个区域之间空白区域的中点相对于整个不完整字符区域的位置,计算百分比,再将该相对位置信息数据,与N1和N2一起计算出目标结果值,比如,若第一区域识别结果为1,第二区域的识别结果为2,空白区域的中点相对于整个不完整字符区域的位置偏向第一区域,第一区域加上空白的一半占比60%,第二区域加上空白的一半占比40%,则输出结果为1*0.6+2*0.4=1.4为该输出结果。
S106,按照字符集在读数表图像中的相应位置,顺序排列对应所述完整字符目标数值和不完整字符区域的目标数值,获得读数表图像识别结果。
如图2所示,即如上所述,分别识别,0,0,0,5,6,5-6,后,再按照图2的顺序,获得值0056.55或0056.5或0056.6。
在识别整体的读数表读数时,根据读数表的性质不同,可以根据字符所在位置不同,选择不同的输出算法,比如,当不完整字符位于中间时,根据读数表自身运转的性质,选择输出N1和N2中,较大或较小的即可,然而当不完整字符位于读数的末尾,则可以根据比例算出一个较为精确的末位读数。
如图3所述,上述步骤的一个具体的实施整体流程如下:(在第一分类网络、第二分类网络已训练好的情况)
STEP1开始,并获取读数表图片。
STEP2定位与识别;此步也可以加上上述预处理的方法,利用用上述faster-rcnn算法和yolov5算法等等。
STEP3判断是否存在不完整字符,即图中所述半字符,半字符为不完整字符的另一表达方式,本领域普通技术人员应当理解视为一种等同替换。用上述提到的分辨完整和不完整字符的方法进行识别。
STEP4获取记录完整字符的位置信息。这里没有再识别完整字符,是因为在STEP2中,已经对完整字符进行了识别。
STEP5提取半字符信息,并拆分为两个字符。
STEP6用包含SPP的第二分类网络识别字符。
STEP7用预设算法计算半字符区域最终取值。
STEP8结合完整和不完整字符,得到最终读数。
以上的流程并不是本发明的唯一实现形式。
关于本发明的实施例,在下列步骤可选的实施方式上,在不相互冲突或者影响本发明目的的前提下,本领域的普通技术人员应当理解,可以同时在一个流程中使用,也可以选择一部分可选的实施方式在流程中自由组合搭配使用。
在步骤“获取字符集在读数表图像中的相应位置,并区分所述字符集中的不完整字符区域与完整字符区域”,可选的:对读数表图像的字符集中单位字符分类识别,预设字符分类类别数量为完整字符类别数量加一,用加一类别表示不完整字符;获取单位字符的所属类别信息以及在读数表图像中的坐标信息。
在步骤“获取字符集在读数表图像中的相应位置,并区分所述字符集中的不完整字符区域与完整字符区域”,可选的:区分字符集中单位字符区域中的数字投影区域和空白区域;判断所述空白区域是否位于所述数字投影区域之间,当所述空白区域在所述数字投影区域之间时,则判定为不完整字符;所述空白区域分开所述不完整字符的第一区域和第二区域;当所述空白区域在所述数字投影区域两边时,则判定完整字符。
在步骤“将所述不完整字符区域区分为第一区域和第二区域”,可选的:获取第一区域和第二区域图像时,保持所述第一区域和所述第二区域图像的原始尺寸比例。进一步的,对应的第二识别网络包含SPP结构。
在步骤“根据预设读数表排布算法运算所述第一识别结果集、所述第二识别结果集,得到所述不完整字符区域的目标数值”,可选的:判断所述第一识别结果集和第二识别结果集是否符合数字依次递增/递减顺序,获得符合依次递增/递减顺序的第一目标识别结果和第二目标识别结果;根据第一目标识别结果和第二目标识别结果运算得到所述目标数值。可选地,判断所述第一识别结果集和第二识别结果集是否符合数字依次递增/递减顺序,获得符合的第一目标识别结果和第二目标识别结果;获取所述第一区域和所述第二区域的相对位置信息数据;根据第一目标识别结果、第二目标识别结果和所述相对位置信息数据运算得到所述目标数值。
所述第一分类网络的训练方法包括:获取完整字符训练图片,对同一个字符类别完整字符训练图片通过labelimg工具标注,用标注好的完整字符训练图片对第一分类网络训练;
所述第二分类网络的训练方法包括:获取不完整字符训练图片,对同一个字符类别不完整字符训练图片通过labelimg工具标注,用标注好的不完整字符训练图片对第二分类网络训练。
如图5所示,一种读数表图像字符识别装置包括:
目标图像获取模块,用于获取待识别的读数表图像;
特征区域获取模块,用于对所述读数表图像进行特征提取和分类,区分完整字符区域与不完整字符区域;
位置区域获取模块,用于获取字符集在读数表图像中的相应位置;
第一分类网络模块,用于对所述完整字符区域进行识别,得到完整字符目标数值;
不完整字符特征提取模块,用于将不完整字符区域分为第一区域和第二区域;
第二分类网络模块,用于对所述第一区域和第二区域的不完整字符区域进行识别,得到与所述第一区域相匹配的第一识别结果集和与所述第一区域相匹配的第二识别结果集;
判断模块,用于根据所述第一识别结果集、所述第二识别结果集和预设读数表字符排布规律,得到不完整字符目标数值;
结果整合模块,用于按照字符集在读数表图像中的相应位置,顺序排列对应所述完整字符目标数值和不完整字符区域的目标数值,获得读数表图像识别结果。
以上模块仅仅是以功能区分的一种形式,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些模块的功能再分为两个模块与其它的模块集成起来。图中显示的是一种可选的逻辑关系结构,但并不是唯一的逻辑关系结构。比如如上所述,确定特征和位置可以是在某种算法运行过程中同时进行,或者是分别确认不完整字符和完整字符的位置。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种读数表图像字符识别方法,其特征在于,所述方法包括:
获取字符集在读数表图像中的相应位置,并区分所述字符集中的不完整字符区域与完整字符区域;
根据第一分类网络对所述完整字符区域进行识别,得到完整字符目标数值;
将所述不完整字符区域分为第一区域和第二区域;
根据第二分类网络对所述第一区域和所述第二区域进行识别,得到所述第一区域相匹配的第一识别结果集和所述第二区域相匹配的第二识别结果集;
根据所述第一识别结果集、所述第二识别结果集和预设读数表字符排布规律,得到不完整字符目标数值;
按照字符集在读数表图像中的相应位置,顺序排列对应所述完整字符目标数值和不完整字符区域的目标数值,获得读数表图像识别结果。
2.如权利要求1所述的读数表图像字符识别方法,其特征在于,获取字符集在读数表图像中的相应位置,并区分所述字符集中的不完整字符区域与完整字符区域,包括:
对读数表图像的字符集中单位字符分类识别,预设字符分类类别数量为完整字符类别数量加一,用加一类别表示不完整字符;
获取单位字符的所属类别信息以及在读数表图像中的坐标信息。
3.如权利要求1所述的读数表图像字符识别方法,其特征在于,获取字符集在读数表图像中的相应位置,并区分所述字符集中的不完整字符区域与完整字符区域,包括:
区分字符集中单位字符区域中的数字投影区域和空白区域;
判断所述空白区域是否位于所述数字投影区域之间,当所述空白区域在所述数字投影区域之间时,则判定为不完整字符;所述空白区域分开所述不完整字符的第一区域和第二区域;
当所述空白区域在所述数字投影区域两边时,则判定为完整字符。
4.如权利要求1所述的读数表图像字符识别方法,其特征在于,将所述不完整字符区域区分为第一区域和第二区域,包括:获取第一区域和第二区域图像时,保持所述第一区域和所述第二区域图像的原始尺寸比例。
5.如权利要求4所述的读数表图像字符识别方法,其特征在于,根据第二分类网络对所述第一区域和所述第二区域进行识别,得到所述第一区域相匹配的第一识别结果集和所述第二区域相匹配的第二识别结果集,包括:
所述第二分类网络含SPP-net结构,用于适应不同原始尺寸比例所述第一区域和所述第二区域图像的识别。
6.如权利要求1所述的读数表图像字符识别方法,其特征在于,
所述第一分类网络的训练方法包括:
获取完整字符训练图片,对同一个字符类别完整字符训练图片通过labelimg工具标注,用标注好的完整字符训练图片对第一分类网络训练;
所述第二分类网络的训练方法包括:
获取不完整字符训练图片,对同一个字符类别不完整字符训练图片通过labelimg工具标注,用标注好的不完整字符训练图片对第二分类网络训练。
7.如权利要求1所述的读数表图像字符识别方法,其特征在于,根据预设读数表排布规律运算所述第一识别结果集、所述第二识别结果集,得到所述不完整字符区域的目标数值,包括:
判断所述第一识别结果集和第二识别结果集是否符合数字依次递增/递减顺序,获得符合依次递增/递减顺序的第一目标识别结果和第二目标识别结果;
根据第一目标识别结果和第二目标识别结果运算得到所述目标数值。
8.如权利要求7所述的读数表图像字符识别方法,其特征在于,根据所述第一识别结果、所述第二识别结果和预设读数表排布规律,得到所述不完整字符区域的目标数值,包括:
判断所述第一识别结果集和第二识别结果集是否符合数字依次递增/递减顺序,获得符合的第一目标识别结果和第二目标识别结果;
获取所述第一区域和所述第二区域的相对位置信息数据;
根据第一目标识别结果、第二目标识别结果和所述相对位置信息数据运算得到所述目标数值。
9.一种读数表图像字符识别装置,其特征在于,所述装置包括:
目标图像获取模块,用于获取待识别的读数表图像;
特征区域获取模块,用于对所述读数表图像进行特征提取和分类,区分完整字符区域与不完整字符区域;
位置区域获取模块,用于获取字符集在读数表图像中的相应位置;
第一分类网络模块,用于对所述完整字符区域进行识别,得到完整字符目标数值;
不完整字符特征提取模块,用于将不完整字符区域分为第一区域和第二区域;
第二分类网络模块,用于对所述第一区域和第二区域的不完整字符区域进行识别,得到与所述第一区域相匹配的第一识别结果集和与所述第二区域相匹配的第二识别结果集;
判断模块,用于根据所述第一识别结果集、所述第二识别结果集和预设读数表字符排布规律,得到不完整字符目标数值;
结果整合模块,用于按照字符集在读数表图像中的相应位置,顺序排列对应所述完整字符目标数值和不完整字符区域的目标数值,获得读数表图像识别结果。
10.一种可读储存介质,其特征在于,可读介质上存储有指令,当处理器执行时,实现权利要求1~8中任一项的方法,获得读数表图像识别结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110653500.5A CN113269195A (zh) | 2021-06-11 | 2021-06-11 | 读数表图像字符识别方法和装置以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110653500.5A CN113269195A (zh) | 2021-06-11 | 2021-06-11 | 读数表图像字符识别方法和装置以及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113269195A true CN113269195A (zh) | 2021-08-17 |
Family
ID=77234843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110653500.5A Pending CN113269195A (zh) | 2021-06-11 | 2021-06-11 | 读数表图像字符识别方法和装置以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113269195A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230162521A1 (en) * | 2021-11-23 | 2023-05-25 | International Business Machines Corporation | Visual mode image comparison |
CN117746452A (zh) * | 2023-12-29 | 2024-03-22 | 深圳市前海文仲信息技术有限公司 | 一种基于图像识别的传统表数据读取方法 |
CN117746452B (zh) * | 2023-12-29 | 2024-07-26 | 深圳市前海文仲信息技术有限公司 | 一种基于图像识别的传统表数据读取方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150169973A1 (en) * | 2013-12-18 | 2015-06-18 | Abbyy Development Llc | Incomplete patterns |
CN109543676A (zh) * | 2018-11-08 | 2019-03-29 | 中国电力科学研究院有限公司 | 一种基于图像处理的字轮型水表数字字符识别方法 |
CN110263778A (zh) * | 2018-03-12 | 2019-09-20 | 中移物联网有限公司 | 一种基于图像识别的抄表方法及装置 |
CN112818993A (zh) * | 2020-03-30 | 2021-05-18 | 深圳友讯达科技股份有限公司 | 一种用于摄像直读抄表器的字轮读数表端识别方法及设备 |
-
2021
- 2021-06-11 CN CN202110653500.5A patent/CN113269195A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150169973A1 (en) * | 2013-12-18 | 2015-06-18 | Abbyy Development Llc | Incomplete patterns |
CN110263778A (zh) * | 2018-03-12 | 2019-09-20 | 中移物联网有限公司 | 一种基于图像识别的抄表方法及装置 |
CN109543676A (zh) * | 2018-11-08 | 2019-03-29 | 中国电力科学研究院有限公司 | 一种基于图像处理的字轮型水表数字字符识别方法 |
CN112818993A (zh) * | 2020-03-30 | 2021-05-18 | 深圳友讯达科技股份有限公司 | 一种用于摄像直读抄表器的字轮读数表端识别方法及设备 |
Non-Patent Citations (3)
Title |
---|
岳辰: "基于opencv的水表读数智能识别系统的软件实现", 《中国优秀博硕士学位论文全文数据库(硕士)工程科技辑》 * |
徐平等: "双半字识别算法在水表字符识别系统中的应用", 《杭州电子科技大学学报(自然科学版)》 * |
高菊等: "一种有效的水表数字图像二次识别算法", 《东南大学学报(自然科学版)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230162521A1 (en) * | 2021-11-23 | 2023-05-25 | International Business Machines Corporation | Visual mode image comparison |
US11854287B2 (en) * | 2021-11-23 | 2023-12-26 | International Business Machines Corporation | Visual mode image comparison |
CN117746452A (zh) * | 2023-12-29 | 2024-03-22 | 深圳市前海文仲信息技术有限公司 | 一种基于图像识别的传统表数据读取方法 |
CN117746452B (zh) * | 2023-12-29 | 2024-07-26 | 深圳市前海文仲信息技术有限公司 | 一种基于图像识别的传统表数据读取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340797B (zh) | 一种激光雷达与双目相机数据融合检测方法及系统 | |
CN106529537B (zh) | 一种数字仪表读数图像识别方法 | |
CN108694386B (zh) | 一种基于并联卷积神经网络的车道线检测方法 | |
CN111325203A (zh) | 一种基于图像校正的美式车牌识别方法及系统 | |
CN109344701A (zh) | 一种基于Kinect的动态手势识别方法 | |
CN104584071B (zh) | 物体识别装置、物体识别方法 | |
CN112766136B (zh) | 一种基于深度学习的空间车位检测方法 | |
CN106897681A (zh) | 一种遥感图像对比分析方法及系统 | |
CN109284779A (zh) | 基于深度全卷积网络的物体检测方法 | |
CN113723377A (zh) | 一种基于ld-ssd网络的交通标志检测方法 | |
CN109977834B (zh) | 从深度图像中分割人手与交互物体的方法和装置 | |
CN103729631A (zh) | 一种基于视觉的连接器表面特征自动识别方法 | |
CN109740609A (zh) | 一种轨距检测方法及装置 | |
CN108615401B (zh) | 基于深度学习的室内非均匀光线车位状况识别方法 | |
CN109920018A (zh) | 基于神经网络的黑白照片色彩恢复方法、装置及存储介质 | |
CN110659637A (zh) | 一种结合深度神经网络和sift特征的电能表示数与标签自动识别方法 | |
CN104851089A (zh) | 一种基于三维光场的静态场景前景分割方法和装置 | |
CN114913498A (zh) | 一种基于关键点估计的并行多尺度特征聚合车道线检测方法 | |
CN114092903A (zh) | 车道线标注、检测模型确定、车道线检测方法及相关设备 | |
CN110516527B (zh) | 一种基于实例分割的视觉slam回环检测改进方法 | |
CN115019294A (zh) | 一种指针式仪表读数识别方法及系统 | |
CN115147644A (zh) | 图像描述模型的训练和描述方法、系统、设备及存储介质 | |
CN109615610B (zh) | 一种基于YOLO v2-tiny的医用创可贴瑕疵检测方法 | |
CN113269195A (zh) | 读数表图像字符识别方法和装置以及可读存储介质 | |
CN110910497B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210817 |
|
RJ01 | Rejection of invention patent application after publication |