本发明属于图像识别技术领域,具体涉及一种低像素密度文本的识别方法。
背景技术:
目前,在交易、贸易和企业间业务往来中会产生大量的纸质单据,如信用证、汇票、发票、合同、运输单据等。这些纸质单据往往需要录入到相应的业务系统中,这需要大量的人工和重复劳动,且效率低下容易出错。
ocr(opticalcharacterrecognition)技术是一种通过图像识别将图像中的文字转换成文本的技术。因此在处理各类单证票据场景下,ocr技术可以有效解决人工录入带来的问题。
常见的单证票据中,存在大量的特殊符号,诸如单选框、复选框、下划线以及条款约束脚注等,而目前市场上存在的ocr识别系统无法有效的处理和识别。由于这些区域像素密度比价低,常用的深度学习检测方法召回率比较低,易出现漏检现象;由于特殊符号出现的频率较低,且与汉字结构相似,通过扩充训练数据集进行迁移学习也很难达到较好的识别效果。
技术实现要素:
本发明公开了一种低像素密度文本的识别方法,以解决现有技术的上述以及其他潜在问题中任一问题。
为了达到上述目的,本发明的技术方案是:一种低像素密度文本的识别方法,该方法的具体包括以下步骤:
s1)对待识别的低像素密度文本进行图像信息采集,并将采集的图像信息输入;
s2)对输入的图像信息进行预处理,并利用sift(scale-invariantfeaturetransform,sift即尺度不变特征变换)处理图像信息区域进行初步定位;
s3)根据s2)得到初步定位的结果再次进行精确定位;
s4)对s3)得到精确定位结果进行图像信息区域识别,并对识别后的结果进行分类,得到普通文本区域和特殊符号区域;
s5)将s4)得到普通文本区域和特殊符号区域分别输入特殊符号识别模型和普通文本识别模型进行识别;
s6)对识别后结果进行汇总和结构化输出。
所述低像素密度文本即包含大量的特殊符号,诸如单选框、复选框、下划线以及脚注等致使局部像素密度很低的文本识别。
进一步,所述s5)中还包括校正步骤:通过纠错校正机制,对识别的结果进行后期校正。
进一步,所述s2的具体步骤为:
s2.1)采用特征点匹配算法将输入的图像信息转化为矩阵,
s2.2)通过构建尺度空间和高斯空间差分金字塔,计算极值点和相应的坐标,
s2.3)根据s2.2)得到所有的极值点判别和定位特殊符号在图像信息中的大致坐标并提取对应的图像区域,完成初步定位。
进一步,所述s3)的具体步骤为:
s3.1)将经过s2.3)初步定位的结果输入craft深度学习检测模型,
s3.2)利用craft深度学习检测模型计算得到图像信息中包含普通文本区域和特殊符号区域的区域坐标,提取所述区域坐标内的图像信息并提取对应图像的方向梯度直方图特征,
s3.3)根据s3.2)得到梯度直方图特征利用svm向量机对梯度直方图进行二分类,分为普通文本区域和特殊符号区域。
进一步,所述s4)的具体步骤为:
s4.1)先将s3.3)得到的普通文本区域输入训练后的普通文本识别模型进行识别,并输出识别结果;
s4.2)再将s3.3)得到的特殊符号区域输入训练后的特殊符号识别模型进行识别,并输出识别结果。
进一步,所述文本识别模型和特殊符号识别模型训练的具体步骤为:
步骤1:将标记百万级图片内的文本内容作为网络模型的训练集;
步骤2:对所述训练集内所有待训练图片做统一处理,转化为值域为[-1,1]的矩阵;
步骤3:再将所述训练集内所有待训练图片随机分成若干组,将分组后的图片与s4.12)得到的矩阵按照所述分组进行组合,得到batch批次;
步骤4:将步骤3得到的batch批次输入到对应的识别模型的输入层中,在输出层中比较输出结果和样本标签实际值的误差计算最终值;
步骤5:若输出层经过ctc算法(connectionisttemporalclassification,主要用于处理序列标注问题中的输入与输出标签的对齐)处理之后的输出结果和实际标签结果差别较小则执行步骤7,否则执行步骤6;
步骤6:更新当前对应的卷积神经识别模型的隐层中各神经元的网络权值和阈值,使网络误差函数沿负梯度方向下降,使输出结果逼近期望输出,然后返回步骤4;
步骤7:即得到训练后的普通文本识别模型和特殊符号识别模型。
进一步,所述步骤2中的统一处理方式包括灰度化或二值化。
一种实现上述的低像素密度文本的识别方法的计算机程序。
一种实现上述的低像素密度文本的识别方法的信息处理终端。
一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述的低像素密度文本的识别方法的方法。
本发明的有益效果是,由于采用上述技术方案,本发明是一种多阶段识别方案,主要包括特征符号区域筛选、识别定位以及再识别校正等步骤,这是一个逐步精细化识别的过程。该方法通过对含有特殊符号的文字区域进行判别,对特殊符号使用训练后模型进行识别从而提高特殊符号识别准确率,识别过程分多步骤进行,但涉及检测和再识别网络都比较小,可以有效提高识别效率。
附图说明
图1为本发明一种低像素密度文本的识别方法的流程框图。
图2为待识别的图片的示意图。
图3为采用本发明方法识别后的被检测出的区域示意图。
图中:
1.通用文本区域,2.特殊符号区域。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案做进一步说明。
如图1所示,本发明一种低像素密度文本的识别的方法,该方法的具体包括以下步骤:
s1)对待识别的低像素密度文本进行图像信息采集,并将采集的图像信息输入;
s2)对输入的图像信息进行预处理,并利用sift方法处理图像信息区域进行初步定位;
s3)根据s2)得到初步定位的结果再次进行精确定位;
s4)对s3)得到精确定位结果进行图像信息区域识别,并对识别后的结果进行分类,得到普通文本区域和特殊符号区域;
s5)将s4)得到普通文本区域和特殊符号区域分别输入特殊符号识别模型和普通文本识别模型进行识别;
s6)对识别后结果进行汇总和结构化输出。
所述s5)中还包括校正步骤:通过纠错校正机制,对识别的结果进行后期校正。
所述s2的具体步骤为:
s2.1)采用特征点匹配算法将输入的图像信息转化为矩阵,
s2.2)通过构建尺度空间和高斯空间差分金字塔,计算极值点和相应的坐标,
s2.3)根据s2.2)得到所有的极值点判别和定位特殊符号在图像信息中的大致坐标并提取对应的图像区域,完成初步定位。
所述s3)的具体步骤为:
s3.1)将经过s2.3)初步定位的结果输入craft深度学习检测模型,
s3.2)利用craft深度学习检测模型计算得到图像信息中包含普通文本区域和特殊符号区域的区域坐标,提取所述区域坐标内的图像信息并提取对应图像的方向梯度直方图特征,
s3.3)根据s3.2)得到梯度直方图特征利用svm向量机对梯度直方图进行二分类,分为普通文本区域和特殊符号区域。
所述s4)的具体步骤为:
s4.1)先将s3.3)得到的普通文本区域输入训练后的普通文本识别模型进行识别,并输出识别结果;
s4.2)再将s3.3)得到的特殊符号区域输入训练后的特殊符号识别模型进行识别,并输出识别结果。
所述文本识别模型和特殊符号识别模型训练的具体步骤为:
步骤1:将标记百万级图片内的文本内容作为网络模型的训练集;
步骤2:对所述训练集内所有待训练图片做统一处理,转化为值域为[-1,1]的矩阵;
步骤3:再将所述训练集内所有待训练图片随机分成若干组,将分组后的图片与s4.12)得到的矩阵按照所述分组进行组合,得到batch批次;
步骤4:将步骤3得到的batch批次输入到对应的识别模型的输入层中,在输出层中比较输出结果和样本标签实际值的误差计算最终值;
步骤5:若输出层经过ctc算法处理之后的输出结果和实际标签结果差别较小则执行步骤7,否则执行步骤6;
步骤6:更新当前对应的卷积神经识别模型的隐层中各神经元的网络权值和阈值,使网络误差函数沿负梯度方向下降,使输出结果逼近期望输出,然后返回步骤4;
步骤7:即得到训练后的普通文本识别模型和特殊符号识别模型。
所述步骤2中的统一处理方式包括灰度化或二值化。
一种实现上述的低像素密度文本的识别方法的计算机程序。
一种实现上述的低像素密度文本的识别方法的信息处理终端。
一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述的低像素密度文本的识别方法。
实施例:
一种低像素密度文本的识别方法,该方法的具体包括以下步骤:
首先,对待识别的低像素密度文本(单证票据)进行图像采集,并将采集的图像输入;
其次,采用特征匹配的算法,利用二维高斯模糊(公式1,σ为标准差,r为半径),将输入的图像转化为矩阵,构建尺度空间(公式2,i为原图像,*为卷积运算)和高斯空间差分金字塔(公式3,k为金字塔层数的倒数),后面根据差分金字塔计算极值点和相应的坐标,最后根据所有的极值点判别和定位特殊符号在图像上的大致坐标并提取对应的图像区域,图1为提取后的图像区域;
l(x,y,σ)=g(x,y,σ)*i(x,y)(2)
利用craft深度学习模型输入需要检测的图片(如图2),通过模型计算得到包含文字区域的图片坐标,提取坐标内的图像并提取方向梯度直方图(histogramoforientedgradient)特征,利用该向量使用svm向量机分类判别该图像为普通文本区域还是特殊符号区域,图3中被检测出的区域,1为文本区域,2为特殊符号区域;
对步骤2中提取分类后为特殊符号的图像输入到训练好的特殊符号识别模型中(模型设计核心如公式4所示),中进行识别,输出得到相应的识别结果;
hl=relu(bl*fl(hl-1)+id(hl-1))(4)
对识别结果根据对应的需要识别图像的特点进行纠错和校正;
对不含特殊符号的图像输入到训练好的普通文本识别模型(模型设计核心如公式5所示)进行文本识别并进行后期校正;
xi=hi([x0,x1,...,xi-1])(5)
最后,对识别结果进行合并排序并进行输出。
以上对本申请实施例所提供的一种低像素密度文本的识别方法,进行了详细介绍。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
如在说明书及权利要求书当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求书当中所提及的“包含”、“包括”为一开放式用语,故应解释成“包含/包括但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求书所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求书的保护范围内。