***的识别方法、系统、电子设备和介质
阅读说明:本技术 ***的识别方法、系统、电子设备和介质 (Invoice identification method, system, electronic equipment and medium ) 是由 周明康 罗超 胡泓 于 2019-09-17 设计创作,主要内容包括:本发明公开了一种发票的识别方法、系统、电子设备和介质,其中发票的识别方法包括以下步骤:获取发票图片;在发票图片的预选区域中获取目标区域的位置信息,目标区域包括待识别的目标文字;根据位置信息在目标区域中识别出目标文字。本发明提高了发票文字的识别效率,节省了人工成本。(The invention discloses an invoice identification method, an invoice identification system, electronic equipment and an invoice identification medium, wherein the invoice identification method comprises the following steps: acquiring an invoice picture; acquiring position information of a target area in a preselected area of an invoice picture, wherein the target area comprises target characters to be identified; and identifying the target characters in the target area according to the position information. The invention improves the identification efficiency of the invoice characters and saves the labor cost.)
技术领域
本发明属于***识别技术领域,尤其涉及一种***的识别方法、系统、电子设备和介质。
背景技术
一张***上包含了种类繁多的文本信息,如***号,金额,纳税人识别号等等。现有技术中往往通过人工查看每张***,将***中的信息录入系统,效率低下,人均日处理量很有限。并且随着人疲劳程度的增加,导致对***信息的识别的准确度降低,尤其是对纳税人识别号、***号等数字较多且复杂的文字内容,容易出现错误。
发明内容
本发明要解决的技术问题是为了克服现有技术中对***的信息识别效率低、准确度低的缺陷,提供一种***的识别方法、系统、电子设备和介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供一种***的识别方法,包括以下步骤:
获取***图片;
在***图片的预选区域中获取目标区域的位置信息,目标区域包括待识别的目标文字;
根据位置信息在目标区域中识别出目标文字。
较佳地,在获取***图片的步骤之后,***的识别方法还包括以下步骤:
采用高斯滤波对***图片进行降噪处理以得到降噪图片;
则在***图片的预选区域中获取目标区域的位置信息的步骤包括:
在降噪图片中获取目标区域的位置信息。
较佳地,***图片为彩色图片,则在***图片的预选区域中获取目标区域的位置信息的步骤包括以下步骤:
S21、对所述预选区域进行颜色通道分离以提取出目标通道,并将所述目标通道设置为第一颜色、将所述预选区域中除所述目标通道外的区域设置为第二颜色,所述目标通道为包括目标颜色的通道,所述目标颜色为所述目标文字的颜色;
S22、对所述预选区域进行腐蚀和膨胀操作,然后进行水平投影和垂直投影操作,并根据所述预选区域中的原始信息的位置关系获取所述目标区域在所述***图片中的位置坐标。
较佳地,根据位置信息在目标区域中识别出目标文字的步骤包括以下步骤:
S31、生成预训练集,预训练集包括训练用***图片和与训练用***图片对应的识别结果,训练用***图片的数量为第一预设数量,将预训练集划分为训练集和验证集;
S32、采用训练集对原始文字识别模型进行训练以得到第一文字识别模型,原始文字识别模型为基于卷积神经网络和循环神经网络的文字识别模型;
S33、采用验证集对第一文字识别模型进行验证以得到第一文字识别模型的准确率,如果准确率小于预设阈值,则返回步骤S32,如果准确率大于等于预设阈值,则以第一文字识别模型作为目标文字识别模型;
S34、采用目标文字识别模型根据位置信息在目标区域中识别出目标文字。
较佳地,预训练集还包括与训练用***图片对应的目标区域的位置信息。
较佳地,原始文字识别模型包括去除全连接层的ResNet-50(一种分类器)分类器、两层双向LSTM(Long Short-Term Memory,长短期记忆网络)和CTC(ConnectionistTemporal Classification,一种时序分类算法)解码器;
去除全连接层的ResNet-50分类器用于提取训练用***图片的特征信息;
两层双向LSTM用于接收特征信息并进行文本识别以得到预测结果;
CTC解码器用于接收预测结果并进行CTC解码以输出目标文字。
较佳地,在生成预训练集之后,步骤S31还包括:对训练用***图片进行预处理操作,预处理操作包括添加噪声、随机旋转、仿射变化、水平翻转、垂直翻转、调整亮度、调整对比度中的至少一种。
本发明还提供一种***的识别系统,包括图片获取单元、目标区域获取单元、文字识别单元;
图片获取单元用于获取***图片;
目标区域获取单元用于在***图片的预选区域中获取目标区域的位置信息,目标区域包括待识别的目标文字;
文字识别单元用于根据位置信息在目标区域中识别出目标文字。
较佳地,***的识别系统还包括降噪单元;
降噪单元用于采用高斯滤波对***图片进行降噪处理以得到降噪图片;
则目标区域获取单元用于在降噪图片中获取目标区域的位置信息。
较佳地,***图片为彩色图片,则目标区域获取单元还用于
对所述预选区域进行颜色通道分离以提取出目标通道,并将所述目标通道设置为第一颜色、将所述预选区域中除所述目标通道外的区域设置为第二颜色,所述目标通道为包括目标颜色的通道,所述目标颜色为所述目标文字的颜色;
所述目标区域获取单元还用于对所述预选区域进行腐蚀和膨胀操作,然后进行水平投影和垂直投影操作,并根据所述预选区域中的原始信息的位置关系获取所述目标区域在所述***图片中的位置坐标。
较佳地,文字识别单元还用于以下步骤识别出目标文字:
S31、生成预训练集,预训练集包括训练用***图片和与训练用***图片对应的识别结果,训练用***图片的数量为第一预设数量,将预训练集划分为训练集和验证集;
S32、采用训练集对原始文字识别模型进行训练以得到第一文字识别模型,原始文字识别模型为基于卷积神经网络和循环神经网络的文字识别模型;
S33、采用验证集对第一文字识别模型进行验证以得到第一文字识别模型的准确率,如果准确率小于预设阈值,则返回步骤S32,如果准确率大于等于预设阈值,则以第一文字识别模型作为目标文字识别模型;
S34、采用目标文字识别模型根据位置信息在目标区域中识别出目标文字。
较佳地,预训练集还包括与训练用***图片对应的目标区域的位置信息。
较佳地,原始文字识别模型包括去除全连接层的ResNet-50分类器、两层双向LSTM和CTC解码器;
去除全连接层的ResNet-50分类器用于提取训练用***图片的特征信息;
两层双向LSTM用于接收特征信息并进行文本识别以得到预测结果;
CTC解码器用于接收预测结果并进行CTC解码以输出目标文字。
较佳地,在生成预训练集之后,文字识别单元还用于对训练用***图片进行预处理操作,预处理操作包括添加噪声、随机旋转、仿射变化、水平翻转、垂直翻转、调整亮度、调整对比度中的至少一种。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本发明的***的识别方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的***的识别方法的步骤。
本发明的积极进步效果在于:本发明提高了***文字的识别效率,节省了人工成本。
附图说明
图1为本发明的实施例1的***的识别方法的流程图。
图2为本发明的实施例1的***的识别方法的***图片的示意图。
图3为本发明的实施例1的***的识别方法的***图片的预选区域的示意图。
图4为本发明的实施例1的***的识别方法的步骤S12的流程图。
图5为本发明的实施例1的***的识别方法的预选区域的提取目标通道后的效果示意图。
图6为本发明的实施例1的***的识别方法的预选区域的高斯滤波后的效果示意图。
图7为本发明的实施例1的***的识别方法的预选区域的腐蚀后的效果示意图。
图8为本发明的实施例1的***的识别方法的预选区域的膨胀后的效果示意图。
图9为本发明的实施例1的***的识别方法的步骤S13的流程图。
图10为本发明的实施例1的***的识别系统的结构示意图。
图11为本发明的实施例2的电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种***的识别方法,参照图1,该***的识别方法包括以下步骤:
步骤S11、获取***图片。***图片的数量较大,存储在数据库中,通过读取数据库,可以获取***图片。图2示出了一张***图片的示意图,其中通过添加马赛克隐藏了部分信息,本领域技术人员清楚***的具体结构和包含的信息,图2的展示不会影响本领域技术人员的理解。作为一种示意,图2以黑白颜色显示***图片,***图片实际为彩色,其色彩与真实***相符。作为一种具体的实施方式,参照图1、图2,为了识别***的***号,根据***的结构,以***的右上角区域作为预选区域41,该预选区域41中包括***号401、开票日期402、第一序列号403、第二序列号404。其中,“开票日期”字样为***在印刷过程中形成的字样。***号401、开票日期402、第一序列号403、第二序列号404为开具***时机器打印形成的字样。***号401、开票日期402、第一序列号403、第二序列号404通常为蓝色,与“开票日期”字样的颜色不同。根据***的结构设置预选区域,可以在后续的操作过程中避开预选区域以外的部分,降低数据处理量,减小数据处理负荷,提高数据处理效率。
步骤S12、在***图片的预选区域中获取目标区域的位置信息。目标区域包括待识别的目标文字。
具体实施时,参照图4,步骤S12包括以下步骤:
步骤S121、对预选区域进行颜色通道分离以提取出目标通道,并将目标通道设置为第一颜色、将预选区域中除目标通道外的区域设置为第二颜色。目标通道为包括目标颜色的通道,目标颜色为目标文字的颜色。
参照图5,从预选区域41中以蓝色(即***号401、开票日期402、第一序列号403、第二序列号404的颜色)为目标颜色,提取出对应的目标通道,并将目标通道设置为黑色(第一颜色),并将预选区域41中除目标通道以外的其他区域设置为白色(第二颜色)。在其他可选的实施方式中,第一颜色为黑色,第二颜色为白色。
步骤S122、对预选区域进行腐蚀和膨胀操作,然后进行水平投影和垂直投影操作,并根据预选区域中的原始信息的位置关系获取目标区域在***图片中的位置坐标。
作为一种可选的实施方式,在对预选区域41进行腐蚀和膨胀操作之前,还对预选区域41进行高斯滤波操作以去除小的噪点,以便于后续的处理。进行高斯滤波之后的效果参照图6所示。对预选区域41进行腐蚀操作后的效果参照图7所示。然后,对预选区域41进行膨胀操作后的效果参照图8所示。其中,第一色块区域501与***号401所在的区域(即目标区域)相对应,第二色块区域502与开票日期402所在的区域相对应,第三色块区域503与第一序列号403所在的区域相对应,第四色块区域504与第二序列号404所在的区域相对应。然后,对预选区域41进行水平投影和垂直投影操作,并根据预选区域中的原始信息的位置关系可以获取目标区域(第一色块区域501)在***图片中的位置坐标。根据***的结构,***号401、开票日期402、第一序列号403、第二序列号404之间的相对位置关系为已知,例如,第一序列号403、第二序列号404、开票日期402自上至下依次排列,而***号401处于其左上方。根据该位置关系,可以识别出第一色块区域501即为待识别的***号401所在的目标区域,结合水平投影和垂直投影操作确定的第一色块区域501的边界,以及预选区域41在***图片中的位置,可以得到第一色块区域501(即目标区域)的位置坐标信息。
在步骤S12之后,该***的识别方法还包括步骤S13、根据位置信息在目标区域中识别出目标文字。通过确定目标区域的位置信息,可以在文字识别的过程中忽略目标区域以外的部分,从而有效降低识别过程的数据处理量,提高处理速度,并且,可以减少其他无用信息的干扰,提高识别的准确率。
具体实施时,参照图9,步骤S13包括以下步骤:
步骤S131、生成预训练集。预训练集包括训练用***图片和与训练用***图片对应的识别结果,训练用***图片的数量为第一预设数量,将预训练集划分为训练集和验证集。作为一种具体的实施方式,采用17万张具有标签数据的***图片,这些***图片存储于数据库中,形成预训练集。***图片的标签数据即为***上的各种文字信息,也即***图片的识别结果。为了增强训练效果,在生成预训练集后,还对预训练集中的训练用***图片进行预处理操作,预处理操作包括添加噪声、随机旋转、仿射变化、水平翻转、垂直翻转、调整亮度、调整对比度中的至少一种。将预处理后的训练用***图片中的80%用于训练,形成训练集;将另外的20%用于验证,形成验证集。
步骤S132、采用训练集对原始文字识别模型进行训练以得到第一文字识别模型。原始文字识别模型为基于卷积神经网络和循环神经网络的文字识别模型。作为一种可选的实施方式,原始文字识别模型包括去除全连接层的ResNet-50分类器、两层双向LSTM和CTC解码器;去除全连接层的ResNet-50分类器用于提取训练用***图片的特征信息;两层双向LSTM用于接收特征信息并进行文本识别以得到预测结果;CTC解码器用于接收预测结果并进行CTC解码以输出目标文字。
步骤S133、采用验证集对第一文字识别模型进行验证以得到第一文字识别模型的准确率。
步骤S134、判断准确率是否小于预设阈值。如果准确率小于预设阈值,则返回步骤S132,如果准确率大于等于预设阈值,则以第一文字识别模型作为目标文字识别模型,并执行步骤S135。也即,对第一文字识别模型迭代训练一定次数后,即进行验证,直到第一文字识别模型的准确率达到预设阈值,该预设阈值可以根据需求设置,通常越高越好。准确率为第一文字识别模型正确识别的数据的数量与识别操作使用的数据的总数量的比值。
步骤S135、采用目标文字识别模型根据位置信息在目标区域中识别出目标文字。在训练得到目标文字识别模型之后,即采用目标文字识别模型进行目标文字识别,可以获得较高的识别准确率。
本实施例的***的识别方法通过检测与目标文字对应的目标区域,可以大大降低文字识别过程的数据处理量;并且,本实施例的***的识别方法采用深度学习模型对目标区域的文本进行识别,提高了识别效率和准确率。
本实施例还提供一种***的识别系统,参照图10,该***的识别系统包括图片获取单元501、目标区域获取单元502、文字识别单元503。
图片获取单元501用于获取***图片。***图片的数量较大,存储在数据库中,图片获取单元501通过读取数据库,可以获取***图片。图2示出了一张***图片的示意图,其中通过添加马赛克隐藏了部分信息,本领域技术人员清楚***的具体结构和包含的信息,图2的展示不会影响本领域技术人员的理解。作为一种示意,图2以黑白颜色显示***图片,***图片实际为彩色,其色彩与真实***相符。作为一种具体的实施方式,参照图1、图2,为了识别***的***号,根据***的结构,以***的右上角区域作为预选区域41,该预选区域41中包括***号401、开票日期402、第一序列号403、第二序列号404。其中,“开票日期”字样为***在印刷过程中形成的字样。***号401、开票日期402、第一序列号403、第二序列号404为开具***时机器打印形成的字样。***号401、开票日期402、第一序列号403、第二序列号404通常为蓝色,与“开票日期”字样的颜色不同。根据***的结构设置预选区域,可以在后续的操作过程中避开预选区域以外的部分,降低数据处理量,减小数据处理负荷,提高数据处理效率。
目标区域获取单元502用于在***图片的预选区域中获取目标区域的位置信息,目标区域包括待识别的目标文字。
具体实施时,参照图4,目标区域获取单元502对预选区域进行颜色通道分离以提取出目标通道,并将目标通道设置为第一颜色、将预选区域中除目标通道外的区域设置为第二颜色。目标通道为包括目标颜色的通道,目标颜色为目标文字的颜色。
参照图5,目标区域获取单元502从预选区域41中以蓝色(即***号401、开票日期402、第一序列号403、第二序列号404的颜色)为目标颜色,提取出对应的目标通道,并将目标通道设置为黑色(第一颜色),并将预选区域41中除目标通道以外的其他区域设置为白色(第二颜色)。在其他可选的实施方式中,第一颜色为黑色,第二颜色为白色。
目标区域获取单元502还对预选区域进行腐蚀和膨胀操作,然后进行水平投影和垂直投影操作,并根据预选区域中的原始信息的位置关系获取目标区域在***图片中的位置坐标。
作为一种可选的实施方式,在对预选区域41进行腐蚀和膨胀操作之前,目标区域获取单元502还对预选区域41进行高斯滤波操作以去除小的噪点,以便于后续的处理。目标区域获取单元502对预选区域41进行高斯滤波之后的效果参照图6所示。目标区域获取单元502对预选区域41进行腐蚀操作后的效果参照图7所示。然后,目标区域获取单元502对预选区域41进行膨胀操作后的效果参照图8所示。其中,第一色块区域501与***号401所在的区域(即目标区域)相对应,第二色块区域502与开票日期402所在的区域相对应,第三色块区域503与第一序列号403所在的区域相对应,第四色块区域504与第二序列号404所在的区域相对应。然后,目标区域获取单元502对预选区域41进行水平投影和垂直投影操作,并根据预选区域中的原始信息的位置关系可以获取目标区域(第一色块区域501)在***图片中的位置坐标。根据***的结构,***号401、开票日期402、第一序列号403、第二序列号404之间的相对位置关系为已知,例如,第一序列号403、第二序列号404、开票日期402自上至下依次排列,而***号401处于其左上方。根据该位置关系,目标区域获取单元502可以识别出第一色块区域501即为待识别的***号401所在的目标区域,结合水平投影和垂直投影操作确定的第一色块区域501的边界,以及预选区域41在***图片中的位置,目标区域获取单元502可以得到第一色块区域501(即目标区域)的位置坐标信息。
文字识别单元503用于根据位置信息在目标区域中识别出目标文字。
通过确定目标区域的位置信息,可以在文字识别的过程中忽略目标区域以外的部分,从而有效降低识别过程的数据处理量,提高处理速度,并且,可以减少其他无用信息的干扰,提高识别的准确率。
具体实施时,参照图9,文字识别单元503通过以下步骤识别出目标文字:
步骤S131、生成预训练集。预训练集包括训练用***图片和与训练用***图片对应的识别结果,训练用***图片的数量为第一预设数量,将预训练集划分为训练集和验证集。作为一种具体的实施方式,文字识别单元503将含有17万张具有标签数据的***图片的数据集构建为预训练集,这些***图片存储于数据库中,形成预训练集。***图片的标签数据即为***上的各种文字信息,也即***图片的识别结果。为了增强训练效果,在生成预训练集后,文字识别单元503还对预训练集中的训练用***图片进行预处理操作,预处理操作包括添加噪声、随机旋转、仿射变化、水平翻转、垂直翻转、调整亮度、调整对比度中的至少一种。将预处理后的训练用***图片中的80%用于训练,形成训练集;将另外的20%用于验证,形成验证集。
步骤S132、采用训练集对原始文字识别模型进行训练以得到第一文字识别模型。原始文字识别模型为基于卷积神经网络和循环神经网络的文字识别模型。作为一种可选的实施方式,原始文字识别模型包括去除全连接层的ResNet-50分类器、两层双向LSTM和CTC解码器;去除全连接层的ResNet-50分类器用于提取训练用***图片的特征信息;两层双向LSTM用于接收特征信息并进行文本识别以得到预测结果;CTC解码器用于接收预测结果并进行CTC解码以输出目标文字。
步骤S133、采用验证集对第一文字识别模型进行验证以得到第一文字识别模型的准确率。
步骤S134、判断准确率是否小于预设阈值。如果准确率小于预设阈值,则返回步骤S132,如果准确率大于等于预设阈值,则以第一文字识别模型作为目标文字识别模型,并执行步骤S135。也即,对第一文字识别模型迭代训练一定次数后,即进行验证,直到第一文字识别模型的准确率达到预设阈值,该预设阈值可以根据需求设置,通常越高越好。准确率为第一文字识别模型正确识别的数据的数量与识别操作使用的数据的总数量的比值。
步骤S135、采用目标文字识别模型根据位置信息在目标区域中识别出目标文字。在训练得到目标文字识别模型之后,文字识别单元503即采用目标文字识别模型进行目标文字识别,可以获得较高的识别准确率。
本实施例的***的识别系统通过检测与目标文字对应的目标区域,可以大大降低文字识别过程的数据处理量;并且,本实施例的***的识别方法采用深度学习模型对目标区域的文本进行识别,提高了识别效率和准确率。
实施例2
图11为本实施例提供的一种电子设备的结构示意图。所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1的***的识别方法。图11显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1的***的识别方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例3
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1的***的识别方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1的***的识别方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
- 上一篇:一种医用注射器针头装配设备
- 下一篇:车辆识别码的检测方法、装置及计算机设备