一种基于深度学习模型的OCR识别方法及终端转让专利

申请号 : CN201910067240.6

文献号 : CN109784342B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林玉玲郝占龙陈文传吴建杭庄国金方恒凯

申请人 : 厦门商集网络科技有限责任公司

摘要 :

本发明涉及一种基于深度学习模型的OCR识别方法及终端,属于数据处理领域。本发明通过将预设的字符片段图像分割成多个单字符图像,得到单字符图像集合;预设的第一OCR深度学习模型依次识别所述单字符图像集合中的元素,得到第一特征向量集合;一所述单字符图像对应一第一特征向量;根据预设的特征数据库,将所述第一特征向量集合中的每一第一特征向量转换为对应的单字符,得到单字符集合;所述特征数据库中的一条记录保存一单字符和与所述一单字符对应的特征向量;排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串。实现提高OCR识别字符的抗干扰能力。

权利要求 :

1.一种基于深度学习模型的OCR识别方法,其特征在于,包括:S1、将预设的字符片段图像分割成多个单字符图像,得到单字符图像集合;

S2、预设的第一OCR深度学习模型依次识别所述单字符图像集合中的元素,得到第一特征向量集合;一所述单字符图像对应一第一特征向量;

S3、根据预设的特征数据库,将所述第一特征向量集合中的每一第一特征向量转换为对应的单字符,得到单字符集合;所述特征数据库中的一条记录保存一单字符和与所述一单字符对应的特征向量;

S4、排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串;

所述S2之前,还包括:

S61、从预设的第一训练样本集中获取一样本;

S62、预设的第二OCR深度学习模型识别所述一样本,得到第二特征向量;

S63、根据预设的损失函数计算所述第二特征向量的损失值;

S64、根据所述损失值调整所述第二OCR深度学习模型的参数;

S65、重复执行S61至S64,直至所述第一训练样本集被遍历,得到所述第一OCR深度学习模型;

所述预设的损失函数,具体为:其中, L为所述损失值,m为类别间距,s为样本的模,W为所述第二OCR深度学习模型的权重,X为所述第二特征向量,θ为所述第二特征向量X与权重W之间的夹角,N为样本数量,n为类别数,yi为所述一样本的实际类别,j为预设的样本集合中除yi之外的其它类别。

2.根据权利要求1所述的基于深度学习模型的OCR识别方法,其特征在于,所述S2之前,还包括:

S51、从所述单字符图像集合中获取一单字符图像,得到第一单字符图像;

S52、获取所述第一单字符图像的长宽比例;

S53、将所述第一单字符图像的最长边缩放至预设的像素,并根据所述长宽比例缩放所述第一单字符图像中除所述最长边之外的其它边,得到第二单字符图像;

S54、当所述第二单字符图像中存在边长小于所述预设的像素的边时,使用所述第一单字符图像的背景图像填充所述第二单字符图像,得到第三单字符图像;所述第三单字符图像的长和宽均为所述预设的像素;

S55、重复执行S51至S54,直至所述单字符图像集合被遍历。

3.根据权利要求2所述的基于深度学习模型的OCR识别方法,其特征在于,所述S3之前,还包括:

获取与第四单字符对应的预设数量样本,得到第二训练样本集;

所述第一OCR深度学习模型识别所述第二训练样本集,得到第三特征向量集合;

获取与所述第三特征向量集合对应的平均特征向量;

添加所述第四单字符和所述平均特征向量至所述特征数据库。

4.根据权利要求3所述的基于深度学习模型的OCR识别方法,其特征在于,所述S4具体为:

获取所述单字符图像集合中每一所述单字符图像在所述字符片段图像中的坐标,得到坐标信息;

根据所述坐标信息排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串。

5.一种基于深度学习模型的OCR识别终端,其特征在于,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:S1、将预设的字符片段图像分割成多个单字符图像,得到单字符图像集合;

S2、预设的第一OCR深度学习模型依次识别所述单字符图像集合中的元素,得到第一特征向量集合;一所述单字符图像对应一第一特征向量;

S3、根据预设的特征数据库,将所述第一特征向量集合中的每一第一特征向量转换为对应的单字符,得到单字符集合;所述特征数据库中的一条记录保存一单字符和与所述一单字符对应的特征向量;

S4、排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串;

所述S2之前,还包括:

S61、从预设的第一训练样本集中获取一样本;

S62、预设的第二OCR深度学习模型识别所述一样本,得到第二特征向量;

S63、根据预设的损失函数计算所述第二特征向量的损失值;

S64、根据所述损失值调整所述第二OCR深度学习模型的参数;

S65、重复执行S61至S64,直至所述第一训练样本集被遍历,得到所述第一OCR深度学习模型;

所述预设的损失函数,具体为:其中, L为所述损失值,m为类别间距,s为样本的模,s和m为所述第二OCR深度学习模型的超参数,W为所述第二OCR深度学习模型的权重,X为所述第二特征向量,θ为所述第二特征向量X与权重W之间的夹角,N为样本数量,n为类别数,yi为所述一样本的实际类别,j为预设的样本集合中除yi之外的其它类别。

6.根据权利要求5所述的基于深度学习模型的OCR识别终端,其特征在于,所述S2之前,还包括:

S51、从所述单字符图像集合中获取一单字符图像,得到第一单字符图像;

S52、获取所述第一单字符图像的长宽比例;

S53、将所述第一单字符图像的最长边缩放至预设的像素,并根据所述长宽比例缩放所述第一单字符图像中除所述最长边之外的其它边,得到第二单字符图像;

S54、当所述第二单字符图像中存在边长小于所述预设的像素的边时,使用所述第一单字符图像的背景图像填充所述第二单字符图像,得到第三单字符图像;所述第三单字符图像的长和宽均为所述预设的像素;

S55、重复执行S51至S54,直至所述单字符图像集合被遍历。

7.根据权利要求6所述的基于深度学习模型的OCR识别终端,其特征在于,所述S3之前,还包括:

获取与第四单字符对应的预设数量样本,得到第二训练样本集;

所述第一OCR深度学习模型识别所述第二训练样本集,得到第三特征向量集合;

获取与所述第三特征向量集合对应的平均特征向量;

添加所述第四单字符和所述平均特征向量至所述特征数据库。

8.根据权利要求7所述的基于深度学习模型的OCR识别终端,其特征在于,所述S4具体为:

获取所述单字符图像集合中每一所述单字符图像在所述字符片段图像中的坐标,得到坐标信息;

根据所述坐标信息排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串。

说明书 :

一种基于深度学习模型的OCR识别方法及终端

技术领域

[0001] 本发明涉及一种基于深度学习模型的OCR识别方法及终端,属于数据处理领域。

背景技术

[0002] OCR识别是指电子设备,例如扫描仪或数码相机,获取影像,然后用字符识别方法检测影像上的字符区域并将其翻译成计算机文字的过程。字符识别领域中,字符的描述特
征很大程度上决定了OCR识别的精度和速度。
[0003] 常用的OCR识别方法有如下几种:
[0004] 第一种,传统的OCR识别方法,先将字符片段图像分割成单字符图像,再利用二值图像识别方法或灰度图像识别方法分别对各个单字符图像进行识别。基于二值图像的OCR
识别方法受前期预处理的影响较大,适合字符清晰无干扰的字符影像,但是对于打印票据
或其他印刷品常常出现墨渍不均匀、字不清晰的情况,二值化方法受干扰影响较大,识别准
确度较低。基于灰度图像的识别方法,常采用不同的特征算子,例如hog和gabor,对图像进
行卷积运算,然后将抽取的图像像素点作为字符的描述特征,但是拍摄的光照变化,文档的
印章、底纹、线条、污渍等干扰会改变字符图像的灰度信息,在存在干扰的情况下,识别准确
度较低。
[0005] 第二种,基于深度学习模型的OCR识别方法。现有的基于深度学习模型的OCR识别方法,直接将整个字符片段图像输入到深度学习模型进行识别,由于整个字符片段图像所
包含的干扰因素较多,当干扰程度较重时,会影响深度学习模型识别的准确性。

发明内容

[0006] 本发明所要解决的技术问题是:如何提高OCR识别字符的抗干扰能力。
[0007] 为了解决上述技术问题,本发明采用的技术方案为:
[0008] 本发明提供一种基于深度学习模型的OCR识别方法,包括:
[0009] S1、将预设的字符片段图像分割成多个单字符图像,得到单字符图像集合;
[0010] S2、预设的第一OCR深度学习模型依次识别所述单字符图像集合中的元素,得到第一特征向量集合;一所述单字符图像对应一第一特征向量;
[0011] S3、根据预设的特征数据库,将所述第一特征向量集合中的每一第一特征向量转换为对应的单字符,得到单字符集合;所述特征数据库中的一条记录保存一单字符和与所
述一单字符对应的特征向量;
[0012] S4、排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串。
[0013] 进一步地,所述S2之前,还包括:
[0014] S51、从所述单字符图像集合中获取一单字符图像,得到第一单字符图像;
[0015] S52、获取所述第一单字符图像的长宽比例;
[0016] S53、将所述第一单字符图像的最长边缩放至预设的像素,并根据所述长宽比例缩放所述第一单字符图像中除所述最长边之外的其它边,得到第二单字符图像;
[0017] S54、当所述第二单字符图像中存在边长小于所述预设的像素的边时,使用所述第一单字符图像的背景图像填充所述第二单字符图像,得到第三单字符图像;所述第三单字
符图像的长和宽均为所述预设的像素;
[0018] S55、重复执行S51至S54,直至所述单字符图像集合被遍历。
[0019] 进一步地,所述S2之前,还包括:
[0020] S61、从预设的第一训练样本集中获取一样本;
[0021] S62、预设的第二OCR深度学习模型识别所述一样本,得到第二特征向量;
[0022] S63、根据预设的损失函数计算所述第二特征向量的损失值;
[0023] S64、根据所述损失值调整所述第二OCR深度学习模型的参数;
[0024] S65、重复执行S61至S64,直至所述第一训练样本集被遍历,得到所述第一OCR深度学习模型;
[0025] 所述预设的损失函数,具体为:
[0026]
[0027] 其中, L为所述损失值,m为类别间距,s为样本的模,s和m为所述第二OCR深度学习模型的超参数,W为所述第二OCR深度学习模型的权重,X
为所述第二特征向量,θ为所述第二特征向量X与权重W之间的夹角,N为样本数量,n为类别
数,yi为所述一样本的实际类别,j为预设的样本集合中除yi之外的其它类别。
[0028] 进一步地,所述S3之前,还包括:
[0029] 获取与第四单字符对应的预设数量样本,得到第二训练样本集;
[0030] 所述第一OCR深度学习模型识别所述第二训练样本集,得到第三特征向量集合;
[0031] 获取与所述第三特征向量集合对应的平均特征向量;
[0032] 添加所述第四单字符和所述平均特征向量至所述特征数据库。
[0033] 进一步地,所述S4具体为:
[0034] 获取所述单字符图像集合中每一所述单字符图像在所述字符片段图像中的坐标,得到坐标信息;
[0035] 根据所述坐标信息排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串。
[0036] 本发明还提供一种基于深度学习模型的OCR识别终端,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
[0037] S1、将预设的字符片段图像分割成多个单字符图像,得到单字符图像集合;
[0038] S2、预设的第一OCR深度学习模型依次识别所述单字符图像集合中的元素,得到第一特征向量集合;一所述单字符图像对应一第一特征向量;
[0039] S3、根据预设的特征数据库,将所述第一特征向量集合中的每一第一特征向量转换为对应的单字符,得到单字符集合;所述特征数据库中的一条记录保存一单字符和与所
述一单字符对应的特征向量;
[0040] S4、排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串。
[0041] 进一步地,所述S2之前,还包括:
[0042] S51、从所述单字符图像集合中获取一单字符图像,得到第一单字符图像;
[0043] S52、获取所述第一单字符图像的长宽比例;
[0044] S53、将所述第一单字符图像的最长边缩放至预设的像素,并根据所述长宽比例缩放所述第一单字符图像中除所述最长边之外的其它边,得到第二单字符图像;
[0045] S54、当所述第二单字符图像中存在边长小于所述预设的像素的边时,使用所述第一单字符图像的背景图像填充所述第二单字符图像,得到第三单字符图像;所述第三单字
符图像的长和宽均为所述预设的像素;
[0046] S55、重复执行S51至S54,直至所述单字符图像集合被遍历。
[0047] 进一步地,所述S2之前,还包括:
[0048] S61、从预设的第一训练样本集中获取一样本;
[0049] S62、预设的第二OCR深度学习模型识别所述一样本,得到第二特征向量;
[0050] S63、根据预设的损失函数计算所述第二特征向量的损失值;
[0051] S64、根据所述损失值调整所述第二OCR深度学习模型的参数;
[0052] S65、重复执行S61至S64,直至所述第一训练样本集被遍历,得到所述第一OCR深度学习模型;
[0053] 所述预设的损失函数,具体为:
[0054]
[0055] 其中, L为所述损失值,m为类别间距,s为样本的模,s和m为所述第二OCR深度学习模型的超参数,W为所述第二OCR深度学习模型的权重,X
为所述第二特征向量,θ为所述第二特征向量X与权重W之间的夹角,N为样本数量,n为类别
数,yi为所述一样本的实际类别,j为预设的样本集合中除yi之外的其它类别。
[0056] 进一步地,所述S3之前,还包括:
[0057] 获取与第四单字符对应的预设数量样本,得到第二训练样本集;
[0058] 所述第一OCR深度学习模型识别所述第二训练样本集,得到第三特征向量集合;
[0059] 获取与所述第三特征向量集合对应的平均特征向量;
[0060] 添加所述第四单字符和所述平均特征向量至所述特征数据库。
[0061] 进一步地,所述S4具体为:
[0062] 获取所述单字符图像集合中每一所述单字符图像在所述字符片段图像中的坐标,得到坐标信息;
[0063] 根据所述坐标信息排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串。
[0064] 本发明具有如下有益效果:
[0065] 1、本发明提供一种基于深度学习模型的OCR识别方法,先将字符片段图像分割成多个单字符图像,从而实现将字符片段图像中的印章、线条、光照、图像模糊等干扰因素碎
片化,降低干扰因素对字符识别准确度的影响。再使用本发明提供的第一OCR深度学习模型
依次识别每个单字符图像,得到与每个单字符图像对应的识别结果。由于本发明提供的第
一OCR深度学习模型是通过大量存在不同类型、不同程度干扰的单字符图像样本训练得到
的,具有较好的抗干扰能力,较高的识别准确度。区别于现有技术1使用深度学习模型直接
识别整个字符片段图像,本发明的深度学习模型一次只识别一个单字符图像,其待识别单
字符图像本身携带的干扰因素较之整个字符片段图像中的干扰因素相比较小,且本发明的
深度学习模型是使用单字符图像训练样本训练得到的,较之使用整个字符片段图像样本训
练得到的深度学习模型,具有更高的识别准确度。区别于现有技术2将字符片段图像分割成
单字符图像后,直接使用二值化或灰度图像识别方法识别单字符图像,由于二值化和灰度
图像识别方法均不适用于具有干扰因素的应用场景,本发明提供的基于深度学习模型的
OCR识别方法能够更准确地识别出带干扰因素的字符片段图像对应的字符串。综上所述,本
发明提供的基于深度学习模型的OCR识别方法及终端具有较强的抗干扰能力和较高的识别
准确度,尤其适用于合同、表格、票据等纸质文档在电子数据化过程中,印章底纹、拍摄光
照、图像模糊等外部环境变化较大的应用场景。
[0066] 2、进一步地,本发明在将单字符图像送入深度学习模型之前,先将所有待识别的单字符图像尺寸进行归一化处理,使得待识别的单字符图像与训练样本的单字符图像尺寸
相同,有利于减小尺寸因素对识别准确度的干扰。在尺寸归一化的过程中,本发明保持原单
字符图像的长宽比例不变,使用背景图像填充不足部分,有效保证了待识别的单字符图像
保持原来的特征,避免单字符图像扭曲变形带来的干扰。同时,使用背景图像填充不足之
处,有利于避免单字符图像的空白部分被误识别成有意义的像素,减少背景对OCR字符识别
的干扰,提高OCR字符识别的准确度。
[0067] 3、进一步地,本发明摒弃使用OCR字符识别领域常用的损失函数softmax,softmax只在欧式空间里学习特征,只考虑样本是否能正确分类,而不考虑类内和类间的距离,即不
能优化特征使得同一字符对应的不同形式样本得到高相似度,不同字符之间的样本得到低
相似度。本发明提供的损失函数直接关注特征的角度可分性,认为设置分类间隔以缩小类
内间距,拉大类间距离,使得同一字符对应的不同形式样本相似度高,不同字符之间的样本
相似度低,使得训练第一深度学习模型过程中可以更加精准地调整模型参数,增强第一深
度学习模型的拟合性,提高第一深度学习模型的准确度。
[0068] 4、进一步地,由于每一个单字符的字体、字号、光照、背景等干扰因素不同,使用同一深度学习模型识别同一单字符对应的不同形式样本得到的特征向量有略微差别。本发明
为了提高深度学习模型识别单字符图像的准确度,使用由同一个单字符对应的不同形式样
本的平均特征向量作为该单字符的特征模板,特征模板描述该单字符的典型特征,并使用
各单字符的特征模板与深度学习模型实时识别到的特征向量进行比较,从而挑选出相似度
最高的单字符,极大程度上降低了不同字体、字号、光照、背景等因素对深度学习模型识别
准确度的影响。
[0069] 5、进一步地,根据各个单字符图像在同一字符片段图像中的相对坐标排列深度学习模型识别到的单字符,能够得到与字符片段图像相同的字符串。

附图说明

[0070] 图1为本发明提供的一种基于深度学习模型的OCR识别方法的具体实施方式的流程框图;
[0071] 图2为单字符图像示意图;
[0072] 图3为另一单字符图像示意图;
[0073] 图4为本发明提供的一种基于深度学习模型的OCR识别终端的具体实施方式的结构框图;
[0074] 标号说明:
[0075] 1、处理器;2、存储器。

具体实施方式

[0076] 下面结合附图和具体实施例来对本发明进行详细的说明。
[0077] 请参照图1至图4,
[0078] 本发明的实施例一为:
[0079] 如图1所示,本实施例提供一种基于深度学习模型的OCR识别方法,包括:
[0080] S1、将预设的字符片段图像分割成多个单字符图像,得到单字符图像集合。
[0081] 其中,本实施例采用开源的深度学习目标检测模型RFCN训练检测票据图像的单字符位置,得到票据图像上每个字符外接矩形框的左上角和右下角坐标。根据每个字符对应
的坐标信息,从原票据图像中剪切得到多个单字符图像。
[0082] 例如,一个字符片段图像中包含字符片段“增值税发票”,通过目标检测模型识别到每一个字符的坐标,并根据每一个字符的坐标分割该字符片段图像,得到“增”、“值”、
“税”、“发”和“票”五个单字符图像。
[0083] S2、归一化所述单字符图像集合中每一单字符图像的尺寸。具体为:
[0084] S21、从所述单字符图像集合中获取一单字符图像,得到第一单字符图像;
[0085] S22、获取所述第一单字符图像的长宽比例;
[0086] S23、将所述第一单字符图像的最长边缩放至预设的像素,并根据所述长宽比例缩放所述第一单字符图像中除所述最长边之外的其它边,得到第二单字符图像;
[0087] S24、当所述第二单字符图像中存在边长小于所述预设的像素的边时,使用所述第一单字符图像的背景图像填充所述第二单字符图像,得到第三单字符图像;所述第三单字
符图像的长和宽均为所述预设的像素;
[0088] S25、重复执行S21至S24,直至所述单字符图像集合被遍历。
[0089] 其中,所述预设的像素为64。经大量实验,当单字符图像尺寸太小时保留图像信息不足,识别字符的准确度较差。当单字符图像尺寸太大时,提取特征速度慢。本实施例将单
字符图像的尺寸归一化为64像素*64像素,不仅能够满足识别字符所需的特征信息,而且能
够加快特征提取的速度,节约显存空间。尺寸归一化后的多个单字符图像如图2所示。图2中
的方框边长为64像素,若方框中存在空白区域,直接使用单字符图像的背景填充方框。
[0090] 本实施例在将单字符图像送入深度学习模型之前,先将所有待识别的单字符图像尺寸进行归一化处理,使得待识别的单字符图像与训练样本的单字符图像尺寸相同,有利
于减小尺寸因素对识别准确度的干扰。在尺寸归一化的过程中,本发明保持原单字符图像
的长宽比例不变,使用背景图像填充不足部分,有效保证了待识别的单字符图像保持原来
的特征,避免单字符图像扭曲变形带来的干扰。同时,使用背景图像填充不足之处,有利于
避免单字符图像的空白部分被误识别成有意义的像素,减少背景对OCR字符识别的干扰,提
高OCR字符识别的准确度。
[0091] S3、获取第一OCR深度学习模型。具体为:
[0092] S31、从预设的第一训练样本集中获取一样本;
[0093] S32、预设的第二OCR深度学习模型识别所述一样本,得到第二特征向量;
[0094] S33、根据预设的损失函数计算所述第二特征向量的损失值;
[0095] S34、根据所述损失值调整所述第二OCR深度学习模型的参数;
[0096] S35、重复执行S31至S34,直至所述第一训练样本集被遍历,得到所述第一OCR深度学习模型;
[0097] 所述预设的损失函数,具体为:
[0098]
[0099] 其中, L为所述损失值,m为类别间距,s为样本的模,s和m为所述第二OCR深度学习模型的超参数,W为所述第二OCR深度学习模型的权重,X
为所述第二特征向量,θ为所述第二特征向量X与权重W之间的夹角,N为样本数量,n为类别
数,yi为所述一样本的实际类别,j为预设的样本集合中除yi之外的其它类别。
[0100] s,m,n,N为固定值,W为深度学习的权重参数,初始赋予随机数或预训练模型参数。X为当前样本的特征向量,yi为当前样本的实际类别,对于输入的特征向量X,预测为正确类
别的概率值为cosθyi,预测为其他类别的概率值为(cosθj),当预测的值越接近真实类别
时,cosθyi越大,代入公式,则loss的值越接近于0;反之,loss越大,即代表当前样本与预测
的类别差距越大。
[0101] 本实施例,引入惩罚系数,即类别间距m,来使类内距离变小,类外距离变大,以提升识别单字的准确率。
[0102] 其中,本实施例的第二OCR深度学习模型为用于中英文字符识别的Arcface深度学习模型。Arcface深度学习模型的网络主干采用34层残差卷积网络(resnet34),输出为512
维的特征向量;然后接入1*class_number的全连接层,class_number表示字符的类别数。将
尺寸归一化后的单字符图像送入训练好的第一深度学习模型,经过卷积运算,提取单字符
特征,最后输出高维的特征向量,该特征向量就是描述输入的单字符图像的一种数学表达
方式。
[0103] 本实施例收集涵盖国标GB2312一二级字库的字符样本,主要是票据文档,送入S1和S2,得到的单字符图像样本按8:2的比例分成训练集和测试集,用第二OCR深度学习模型
进行训练,得到能正确表达单字类别特征的第一OCR深度学习模型。测试样本集测试准确率
为99.9%。
[0104] 损失函数是一种用于衡量损失和错误的函数。损失函数的计算结果表示深度学习网络识别一单字符图像得到的字符与该单字符图像真实表示的字符之间的差异值。
[0105] 本实施例摒弃使用OCR字符识别领域常用的损失函数softmax,softmax只在欧式空间里学习特征,只考虑样本是否能正确分类,而不考虑类内和类间的距离,即不能优化特
征使得同一字符对应的不同形式样本得到高相似度,不同字符之间的样本得到低相似度。
本发明提供的损失函数直接关注特征的角度可分性,认为设置分类间隔以缩小类内间距,
拉大类间距离,使得同一字符对应的不同形式样本相似度高,不同字符之间的样本相似度
低,使得训练第一深度学习模型过程中可以更加精准地调整模型参数,增强第一深度学习
模型的拟合性,提高第一深度学习模型的准确度。
[0106] S4、创建特征数据库;所述特征数据库中的一条记录保存一单字符和与所述一单字符对应的特征向量。具体为:
[0107] S41、获取与第四单字符对应的预设数量样本,得到第二训练样本集。
[0108] S42、所述第一OCR深度学习模型识别所述第二训练样本集,得到第三特征向量集合。
[0109] S43、获取与所述第三特征向量集合对应的平均特征向量。
[0110] S44、添加所述第四单字符和所述平均特征向量至所述特征数据库。
[0111] S45、重复执行S41至S42,直至所有的预设第四单字符集合被遍历。
[0112] 其中,所述预设数量不少于10。
[0113] 由于每一个单字符的字体、字号、光照、背景等干扰因素不同,使用同一深度学习模型识别同一单字符对应的不同形式样本得到的特征向量有略微差别。本实施例为了提高
深度学习模型识别单字符图像的准确度,使用由同一个单字符对应的不同形式样本的平均
特征向量作为该单字符的特征模板,特征模板描述该单字符的典型特征,并使用各单字符
的特征模板与深度学习模型实时识别到的特征向量进行比较,从而挑选出相似度最高的单
字符,极大程度上降低了不同字体、字号、光照、背景等因素对深度学习模型识别准确度的
影响。
[0114] 例如,第四单字符“利”对应的第二训练样本集中包括不同字体的“利”字图像、不同字号的“利”字图像、不同光照强度下拍摄或扫描的“利”字图像、印在不同背景图像上的
“利”字图像等。由于各样本之间存在差异,第一OCR深度学习模型对不同的“利”样本进行识
别,得到的第三特征向量有略微的差别。将所有“利”对应的第三特征向量进行平均化,得到
平均特征向量。平均特征向量能够去除不同样本“利”之间的差异特征,保留“利”的典型特
征。即使第一OCR深度学习模型当前所要识别的“利”字图像存在的干扰情况在之前的训练
样本中未出现过,也能够通过具有“利”字典型特征的平均特征向量准确匹配。
[0115] S5、预设的第一OCR深度学习模型依次识别所述单字符图像集合中的元素,得到第一特征向量集合;一所述单字符图像对应一第一特征向量。
[0116] 其中,第一OCR深度学习模型识别一单字符图像所得到的第一特征向量能够反映出该单字符图像的特征。
[0117] 例如,图3所示的单字符图像对应的特征向量是一个512维的浮点型向量[0.152485,0.846521,0.745145,…………,0.547854,0.879466,0.914724,0.007963]。
[0118] S6、根据预设的特征数据库,将所述第一特征向量集合中的每一第一特征向量转换为对应的单字符,得到单字符集合。
[0119] 其中,特征数据库中的一条记录保存一单字符和与所述一单字符对应的特征向量。将当前第一OCR深度学习模型识别得到的第一特征向量与特征数据库中的每一特征向
量计算相似度,具有最高相似度的特征向量对应的单字符即为第一OCR深度学习模型识别
一单字符图像的识别结果。可选地,采用余弦距离作为两个特征向量之间的相似度。
[0120] S4、排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串。具体为:
[0121] 获取所述单字符图像集合中每一所述单字符图像在所述字符片段图像中的坐标,得到坐标信息;
[0122] 根据所述坐标信息排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串。
[0123] 例如,一个字符片段图像中包含“增值税发票”,分别获取能包含每一个字的最小方框的左上角坐标,根据每一单字符图像的左上角坐标排列字符“增”、“值”、“税”、“发”和
“票”。根据各个单字符图像在同一字符片段图像中的相对坐标排列深度学习模型识别到的
单字符,能够得到与字符片段图像相同的字符串。
[0124] 通过本实施例提供的基于深度学习模型的OCR识别方法获取单字特征,相较于传统OCR识别方法获取的单字特征,具有更优秀的表达能力和鲁棒性,能够适应文字的底纹印
章、线条、污渍、光照、墨渍不均等干扰。实验取10000个票据图像的单字样本,这些样本较多
由于墨渍不均出现模糊、断线、印章、线条干扰等问题,分别使用现有的识别方法abbyy和本
实施例提供的方法进行识别,其中abbyy识别准确率为97.8%,本实施例提供的方法的准确
率为99.2%。本实施例提供的OCR识别方法具有较强的抗干扰能力和较高的识别准确度。
[0125] 本实施例提供一种基于深度学习模型的OCR识别方法,先将字符片段图像分割成多个单字符图像,从而实现将字符片段图像中的印章、线条、光照、图像模糊等干扰因素碎
片化,降低干扰因素对字符识别准确度的影响。再使用本发明提供的第一OCR深度学习模型
依次识别每个单字符图像,得到与每个单字符图像对应的识别结果。由于本发明提供的第
一OCR深度学习模型是通过大量存在不同类型、不同程度干扰的单字符图像样本训练得到
的,具有较好的抗干扰能力,较高的识别准确度。区别于现有技术1使用深度学习模型直接
识别整个字符片段图像,本实施例的深度学习模型一次只识别一个单字符图像,其待识别
单字符图像本身携带的干扰因素较之整个字符片段图像中的干扰因素相比较小,且本实施
例的深度学习模型是使用单字符图像训练样本训练得到的,较之使用整个字符片段图像样
本训练得到的深度学习模型,具有更高的识别准确度。区别于现有技术2将字符片段图像分
割成单字符图像后,直接使用二值化或灰度图像识别方法识别单字符图像,由于二值化和
灰度图像识别方法均不适用于具有干扰因素的应用场景,本实施例提供的基于深度学习模
型的OCR识别方法能够更准确地识别出带干扰因素的字符片段图像对应的字符串。综上所
述,本实施例提供的基于深度学习模型的OCR识别方法具有较强的抗干扰能力和较高的识
别准确度,尤其适用于合同、表格、票据等纸质文档在电子数据化过程中,印章底纹、拍摄光
照、图像模糊等外部环境变化较大的应用场景。
[0126] 本发明的实施例二为:
[0127] 如图4所示,本实施例还提供一种基于深度学习模型的OCR识别终端,包括一个或多个处理器1及存储器2,所述存储器2存储有程序,并且被配置成由所述一个或多个处理器
1执行以下步骤:
[0128] S1、将预设的字符片段图像分割成多个单字符图像,得到单字符图像集合。
[0129] 其中,本实施例采用开源的深度学习目标检测模型RFCN训练检测票据图像的单字符位置,得到票据图像上每个字符外接矩形框的左上角和右下角坐标。根据每个字符对应
的坐标信息,从原票据图像中剪切得到多个单字符图像。
[0130] 例如,一个字符片段图像中包含字符片段“增值税发票”,通过目标检测模型识别到每一个字符的坐标,并根据每一个字符的坐标分割该字符片段图像,得到“增”、“值”、
“税”、“发”和“票”五个单字符图像。
[0131] S2、归一化所述单字符图像集合中每一单字符图像的尺寸。具体为:
[0132] S21、从所述单字符图像集合中获取一单字符图像,得到第一单字符图像;
[0133] S22、获取所述第一单字符图像的长宽比例;
[0134] S23、将所述第一单字符图像的最长边缩放至预设的像素,并根据所述长宽比例缩放所述第一单字符图像中除所述最长边之外的其它边,得到第二单字符图像;
[0135] S24、当所述第二单字符图像中存在边长小于所述预设的像素的边时,使用所述第一单字符图像的背景图像填充所述第二单字符图像,得到第三单字符图像;所述第三单字
符图像的长和宽均为所述预设的像素;
[0136] S25、重复执行S21至S24,直至所述单字符图像集合被遍历。
[0137] 其中,所述预设的像素为64。经大量实验,当单字符图像尺寸太小时保留图像信息不足,识别字符的准确度较差。当单字符图像尺寸太大时,提取特征速度慢。本实施例将单
字符图像的尺寸归一化为64像素*64像素,不仅能够满足识别字符所需的特征信息,而且能
够加快特征提取的速度,节约显存空间。尺寸归一化后的多个单字符图像如图2所示。图2中
的方框边长为64像素,若方框中存在空白区域,直接使用单字符图像的背景填充方框。
[0138] 本实施例在将单字符图像送入深度学习模型之前,先将所有待识别的单字符图像尺寸进行归一化处理,使得待识别的单字符图像与训练样本的单字符图像尺寸相同,有利
于减小尺寸因素对识别准确度的干扰。在尺寸归一化的过程中,本发明保持原单字符图像
的长宽比例不变,使用背景图像填充不足部分,有效保证了待识别的单字符图像保持原来
的特征,避免单字符图像扭曲变形带来的干扰。同时,使用背景图像填充不足之处,有利于
避免单字符图像的空白部分被误识别成有意义的像素,减少背景对OCR字符识别的干扰,提
高OCR字符识别的准确度。
[0139] S3、获取第一OCR深度学习模型。具体为:
[0140] S31、从预设的第一训练样本集中获取一样本;
[0141] S32、预设的第二OCR深度学习模型识别所述一样本,得到第二特征向量;
[0142] S33、根据预设的损失函数计算所述第二特征向量的损失值;
[0143] S34、根据所述损失值调整所述第二OCR深度学习模型的参数;
[0144] S35、重复执行S31至S34,直至所述第一训练样本集被遍历,得到所述第一OCR深度学习模型;
[0145] 所述预设的损失函数,具体为:
[0146]
[0147] 其中, L为所述损失值,m为类别间距,s为样本的模,s和m为所述第二OCR深度学习模型的超参数,W为所述第二OCR深度学习模型的权重,X
为所述第二特征向量,θ为所述第二特征向量X与权重W之间的夹角,N为样本数量,n为类别
数,yi为所述一样本的实际类别,j为预设的样本集合中除yi之外的其它类别。
[0148] s,m,n,N为固定值,W为深度学习的权重参数,初始赋予随机数或预训练模型参数。X为当前样本的特征向量,yi为当前样本的实际类别,对于输入的特征向量X,预测为正确类
别的概率值为cosθyi,预测为其他类别的概率值为(cosθj),当预测的值越接近真实类别
时,cosθyi越大,代入公式,则loss的值越接近于0;反之,loss越大,即代表当前样本与预测
的类别差距越大。
[0149] 本实施例,引入惩罚系数,即类别间距m,来使类内距离变小,类外距离变大,以提升识别单字的准确率。
[0150] 其中,本实施例的第二OCR深度学习模型为用于中英文字符识别的Arcface深度学习模型。Arcface深度学习模型的网络主干采用34层残差卷积网络(resnet34),输出为512
维的特征向量;然后接入1*class_number的全连接层,class_number表示字符的类别数。将
尺寸归一化后的单字符图像送入训练好的第一深度学习模型,经过卷积运算,提取单字符
特征,最后输出高维的特征向量,该特征向量就是描述输入的单字符图像的一种数学表达
方式。
[0151] 本实施例收集涵盖国标GB2312一二级字库的字符样本,主要是票据文档,送入S1和S2,得到的单字符图像样本按8:2的比例分成训练集和测试集,用第二OCR深度学习模型
进行训练,得到能正确表达单字类别特征的第一OCR深度学习模型。测试样本集测试准确率
为99.9%。
[0152] 损失函数是一种用于衡量损失和错误的函数。损失函数的计算结果表示深度学习网络识别一单字符图像得到的字符与该单字符图像真实表示的字符之间的差异值。
[0153] 本实施例摒弃使用OCR字符识别领域常用的损失函数softmax,softmax只在欧式空间里学习特征,只考虑样本是否能正确分类,而不考虑类内和类间的距离,即不能优化特
征使得同一字符对应的不同形式样本得到高相似度,不同字符之间的样本得到低相似度。
本发明提供的损失函数直接关注特征的角度可分性,认为设置分类间隔以缩小类内间距,
拉大类间距离,使得同一字符对应的不同形式样本相似度高,不同字符之间的样本相似度
低,使得训练第一深度学习模型过程中可以更加精准地调整模型参数,增强第一深度学习
模型的拟合性,提高第一深度学习模型的准确度。
[0154] S4、创建特征数据库;所述特征数据库中的一条记录保存一单字符和与所述一单字符对应的特征向量。具体为:
[0155] S41、获取与第四单字符对应的预设数量样本,得到第二训练样本集。
[0156] S42、所述第一OCR深度学习模型识别所述第二训练样本集,得到第三特征向量集合。
[0157] S43、获取与所述第三特征向量集合对应的平均特征向量。
[0158] S44、添加所述第四单字符和所述平均特征向量至所述特征数据库。
[0159] S45、重复执行S41至S42,直至所有的预设第四单字符集合被遍历。
[0160] 其中,所述预设数量不少于10。
[0161] 由于每一个单字符的字体、字号、光照、背景等干扰因素不同,使用同一深度学习模型识别同一单字符对应的不同形式样本得到的特征向量有略微差别。本实施例为了提高
深度学习模型识别单字符图像的准确度,使用由同一个单字符对应的不同形式样本的平均
特征向量作为该单字符的特征模板,特征模板描述该单字符的典型特征,并使用各单字符
的特征模板与深度学习模型实时识别到的特征向量进行比较,从而挑选出相似度最高的单
字符,极大程度上降低了不同字体、字号、光照、背景等因素对深度学习模型识别准确度的
影响。
[0162] 例如,第四单字符“利”对应的第二训练样本集中包括不同字体的“利”字图像、不同字号的“利”字图像、不同光照强度下拍摄或扫描的“利”字图像、印在不同背景图像上的
“利”字图像等。由于各样本之间存在差异,第一OCR深度学习模型对不同的“利”样本进行识
别,得到的第三特征向量有略微的差别。将所有“利”对应的第三特征向量进行平均化,得到
平均特征向量。平均特征向量能够去除不同样本“利”之间的差异特征,保留“利”的典型特
征。即使第一OCR深度学习模型当前所要识别的“利”字图像存在的干扰情况在之前的训练
样本中未出现过,也能够通过具有“利”字典型特征的平均特征向量准确匹配。
[0163] S5、预设的第一OCR深度学习模型依次识别所述单字符图像集合中的元素,得到第一特征向量集合;一所述单字符图像对应一第一特征向量。
[0164] 其中,第一OCR深度学习模型识别一单字符图像所得到的第一特征向量能够反映出该单字符图像的特征。
[0165] 例如,图3所示的单字符图像对应的特征向量是一个512维的浮点型向量[0.152485,0.846521,0.745145,…………,0.547854,0.879466,0.914724,0.007963]。
[0166] S6、根据预设的特征数据库,将所述第一特征向量集合中的每一第一特征向量转换为对应的单字符,得到单字符集合。
[0167] 其中,特征数据库中的一条记录保存一单字符和与所述一单字符对应的特征向量。将当前第一OCR深度学习模型识别得到的第一特征向量与特征数据库中的每一特征向
量计算相似度,具有最高相似度的特征向量对应的单字符即为第一OCR深度学习模型识别
一单字符图像的识别结果。可选地,采用余弦距离作为两个特征向量之间的相似度。
[0168] S4、排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串。具体为:
[0169] 获取所述单字符图像集合中每一所述单字符图像在所述字符片段图像中的坐标,得到坐标信息;
[0170] 根据所述坐标信息排列所述单字符集合中的元素,得到与所述字符片段图像对应的字符串。
[0171] 例如,一个字符片段图像中包含“增值税发票”,分别获取能包含每一个字的最小方框的左上角坐标,根据每一单字符图像的左上角坐标排列字符“增”、“值”、“税”、“发”和
“票”。根据各个单字符图像在同一字符片段图像中的相对坐标排列深度学习模型识别到的
单字符,能够得到与字符片段图像相同的字符串。
[0172] 通过本实施例提供的基于深度学习模型的OCR识别终端获取单字特征,相较于传统OCR识别终端获取的单字特征,具有更优秀的表达能力和鲁棒性,能够适应文字的底纹印
章、线条、污渍、光照、墨渍不均等干扰。实验取10000个票据图像的单字样本,这些样本较多
由于墨渍不均出现模糊、断线、印章、线条干扰等问题,分别使用现有的识别终端abbyy和本
实施例提供的终端进行识别,其中abbyy识别准确率为97.8%,本实施例提供的终端的准确
率为99.2%。本实施例提供的OCR识别终端具有较强的抗干扰能力和较高的识别准确度。
[0173] 本实施例提供一种基于深度学习模型的OCR识别终端,先将字符片段图像分割成多个单字符图像,从而实现将字符片段图像中的印章、线条、光照、图像模糊等干扰因素碎
片化,降低干扰因素对字符识别准确度的影响。再使用本发明提供的第一OCR深度学习模型
依次识别每个单字符图像,得到与每个单字符图像对应的识别结果。由于本发明提供的第
一OCR深度学习模型是通过大量存在不同类型、不同程度干扰的单字符图像样本训练得到
的,具有较好的抗干扰能力,较高的识别准确度。区别于现有技术1使用深度学习模型直接
识别整个字符片段图像,本实施例的深度学习模型一次只识别一个单字符图像,其待识别
单字符图像本身携带的干扰因素较之整个字符片段图像中的干扰因素相比较小,且本实施
例的深度学习模型是使用单字符图像训练样本训练得到的,较之使用整个字符片段图像样
本训练得到的深度学习模型,具有更高的识别准确度。区别于现有技术2将字符片段图像分
割成单字符图像后,直接使用二值化或灰度图像识别方法识别单字符图像,由于二值化和
灰度图像识别方法均不适用于具有干扰因素的应用场景,本实施例提供的基于深度学习模
型的OCR识别终端能够更准确地识别出带干扰因素的字符片段图像对应的字符串。综上所
述,本实施例提供的基于深度学习模型的OCR识别终端具有较强的抗干扰能力和较高的识
别准确度,尤其适用于合同、表格、票据等纸质文档在电子数据化过程中,印章底纹、拍摄光
照、图像模糊等外部环境变化较大的应用场景。
[0174] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技
术领域,均同理包括在本发明的专利保护范围内。