一种文本识别系统及方法与流程

文档序号:31364414发布日期:2022-08-31 15:17阅读:103来源:国知局
一种文本识别系统及方法与流程

1.本发明属于种文本识别技术领域,具体为一种文本识别系统及方法。


背景技术:

2.经过许多年的探索和发展,光学字符识别(ocr)技术不仅能将常用文档快速准确的识别出文档类型来,并且已实现将纸板印刷品,照片及手写文档在不改变原有内容和格式的情况下转化成相应的电子文档。
3.但是传统的光学识别字符技术系统的精准度不够高,使得人们在使用时较为不便。


技术实现要素:

4.本发明的目的在于:为了解决上述提出的问题,提供一种文本识别系统及方法。
5.本发明采用的技术方案如下:一种文本识别系统及方法,包括启动模块、图片输入模块、图像预处理模块、无监督特征学习模块、字符识别模块、字符分割模块、文本识别模块、归一化模块、白化操作模块、图像二值化模块、几何变换模块,所述启动模块的输出端连接有所述图片输入模块的输入端,所述图片输入模块的输出端连接有所述图像预处理模块的输入端,所述图像预处理模块的输出端连接有所述无监督特征学习模块的输入端,所述无监督特征学习模块的输出端连接有所述字符识别模块的输入端,所述字符识别模块的输出端连接有所述字符分割模块的输入端,所述字符分割模块的输出端连接有所述文本识别模块的输入端。
6.在一优选的实施方式中,所述图像预处理模块的内部设置有归一化模块、白化操作模块、图像二值化模块和几何变换模块,所述归一化模块、白化操作模块、图像二值化模块和几何变换模块的输出端连接有所述图像预处理模块的输入端。
7.在一优选的实施方式中,所述归一化模块首先减去每个样本灰度的均值,然后除以标准差。并对这个标准差增加一个小常数,用来避免分母为0和压制噪声。对于[0,255]范围的灰度图,给方差加10是有效的;所述归一化模块中逐样本的均值相减主要应用在那些具有稳定性的数据集中,也就是那些数据的每个维度间的统计性质是一样的。在自然场景图像中,这样就可以减小图片中亮度和对比度对数据的影响,因为我们一般很少用到亮度和对比度这些信息。
[0008]
在一优选的实施方式中,所述白化操作模块将数据x利用pca白化进行降维,得出了每一维都是独立的,这样白化的第一个条件就满足了;这时再以标准差去除z中的每一维,就得到了每一维的方差相等为1。
[0009]
在一优选的实施方式中,所述图像二值化模块在该模式下一张彩色图像是由红蓝绿图像层组成的,或者说在该模式下图像的深度有三个通道,三个通道分别为r(red)、g(green)、b(blue)。在三个通道中的像素值范围在0到255,不同大小的值表示不同的亮度信息,当在图像通道对应位置的值相同时此时表现为灰度图,由于灰度图中相同位置的值都
是相同的,因此在存储灰度图时只需要一个字节来保存每个像素的灰度值。
[0010]
在一优选的实施方式中,所述几何变换模块采用了镜像变换,镜像变换大致上可以分为两种,一种是水平镜像,另一种是垂直镜像。其中水平镜像以图像的中垂线为轴,将图像中的像素进行左右对换,即将左半部分的图像和右半部分的图像进行对调。同理垂直镜像变换也与此相同,只不过垂直镜像是将图像上下部分的内容对调。
[0011]
在一优选的实施方式中,所述无监督特征学习模块采用k-means聚类算法,对经过预处理的字符图像进行聚类,通过计算最小化样本点与最近中心的欧式距离,找出各个类的中心,学习到描述字符特征的特征词典,即聚类得到的中心点,通过最小化误差,原始样本数据可以通过词典映射到k维的向量,从而进行重构。
[0012]
在一优选的实施方式中,所述字符识别模块对得分图像进行逐行扫描。若该行存在大于阈值的得分,通过使用n-邻域非极大值抑制算法可以确定得分图然后每一行的多个极大值。当2n约等于字符宽度时,这样每一个极大值的位置就基本对应某个字符的中心位置。
[0013]
在一优选的实施方式中,所述字符分割模块确定了图像文本行中单词所在位置,那么字符就在以每个极大值横坐标为中心的patch中,对这个patch使用卷积神经网络字符分类模型进行分类就能别出相应的字符。
[0014]
在一优选的实施方式中,所述文本识别模块采用resnet网络进行识别,只不过在该任务中采用了更深的resnet50,并且去掉了残差网络的最后全连接层和最后一层池化层,在序列特征提取阶段和解码阶段本文采用了lstm结构,在序列特征提取阶段本文考虑到文本的方向性,利用多方向的编码机制更好的提取文本的序列特征。除此之外,考虑到注意力机制可以在解码时筛选图像的局部二维信息提高识别性能,因此在该网络得解码与图像特征编码之间加入了注意力机制。
[0015]
综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0016]
1、本发明中,图像预处理模块包括归一化模块、白化操作模块、图像二值化模块和几何变换模块,在对文本进行处理之前可以先对文本图像进行预处理,能够有效的降低图像的冗余性,使得分类器能够达到更好的识别效果,。
[0017]
2、本发明中,文本识别模块对经过检测裁剪之后文字图像进行识别,文本识别一直是ocr系统中的研究热点,为了解决当前采用lstm结构的识别网络不能兼顾图像的二维空间信息和文本的序列信息,本系统设计了一种既可以在一定程度上保留文字图像二维又利用了lstm的序列学习的优势,通过在合成数据集和真实数据集上训练得到了相当优秀的结果,该模型通过tensorflow-serving部署到服务器端,采用grpc的方式与客户端交互,从而提高了该系统在对文本进行识别时的速度,为人们的使用带来了便利性。
附图说明
[0018]
图1为本发明的系统框图;
[0019]
图2为本发明中图像预处理模块系统框图。
[0020]
图中标记:1-启动模块、2-图片输入模块、3-图像预处理模块、4-无监督特征学习模块、5-字符识别模块、6-字符分割模块、7-文本识别模块、8-归一化模块、9-白化操作模块、10-图像二值化模块、11-几何变换模块。
具体实施方式
[0021]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0022]
参照图1-2,
[0023]
实施例:
[0024]
一种文本识别系统及方法,包括启动模块1、图片输入模块2、图像预处理模块3、无监督特征学习模块4、字符识别模块5、字符分割模块6、文本识别模块7、归一化模块8、白化操作模块9、图像二值化模块10、几何变换模块11,启动模块1的输出端连接有图片输入模块2的输入端,图片输入模块2的输出端连接有图像预处理模块3的输入端,图像预处理模块3的输出端连接有无监督特征学习模块4的输入端,无监督特征学习模块4的输出端连接有字符识别模块5的输入端,字符识别模块5的输出端连接有字符分割模块6的输入端,字符分割模块6的输出端连接有文本识别模块7的输入端。
[0025]
图像预处理模块3的内部设置有归一化模块8、白化操作模块9、图像二值化模块10和几何变换模块11,归一化模块8、白化操作模块9、图像二值化模块10和几何变换模块11的输出端连接有图像预处理模块3的输入端。
[0026]
归一化模块8首先减去每个样本灰度的均值,然后除以标准差。并对这个标准差增加一个小常数,用来避免分母为0和压制噪声。对于[0,255]范围的灰度图,给方差加10是有效的;归一化模块8中逐样本的均值相减主要应用在那些具有稳定性的数据集中,也就是那些数据的每个维度间的统计性质是一样的。在自然场景图像中,这样就可以减小图片中亮度和对比度对数据的影响,因为我们一般很少用到亮度和对比度这些信息。
[0027]
白化操作模块9将数据x利用pca白化进行降维,得出了每一维都是独立的,这样白化的第一个条件就满足了;这时再以标准差去除z中的每一维,就得到了每一维的方差相等,为1。
[0028]
图像二值化模块10在该模式下一张彩色图像是由红蓝绿图像层组成的,或者说在该模式下图像的深度有三个通道,三个通道分别为r(red)、g(green)、b(blue)。在三个通道中的像素值范围在0到255,不同大小的值表示不同的亮度信息,当在图像通道对应位置的值相同时此时表现为灰度图,由于灰度图中相同位置的值都是相同的,因此在存储灰度图时只需要一个字节来保存每个像素的灰度值。
[0029]
几何变换模块11采用了镜像变换,镜像变换大致上可以分为两种,一种是水平镜像,另一种是垂直镜像。其中水平镜像以图像的中垂线为轴,将图像中的像素进行左右对换,即将左半部分的图像和右半部分的图像进行对调。同理垂直镜像变换也与此相同,只不过垂直镜像是将图像上下部分的内容对调。
[0030]
无监督特征学习模块4采用k-means聚类算法,对经过预处理的字符图像进行聚类,通过计算最小化样本点与最近中心的欧式距离,找出各个类的中心,学习到描述字符特征的特征词典,即聚类得到的中心点,通过最小化误差,原始样本数据可以通过词典映射到k维的向量,从而进行重构。
[0031]
字符识别模块5对得分图像进行逐行扫描。若该行存在大于阈值的得分即改行出现了字符,通过使用n-邻域非极大值抑制算法可以确定得分图然后每一行的多个极大值。
当2n约等于字符宽度时,这样每一个极大值的位置就基本对应某个字符的中心位置。然后根据极大值之间的位置将文本行且分为单词对应的boundingbox。由于图像中字符的大小与cnn模型使用的训练样本不同,因此需要对输入图像进行不同比例的缩放,本系统中分别使用了2.0x,1.5x,1.0x

0.1x12个比例。然后需要将得到的不同大小的的得分图重新调整到原图大小
[0032]
字符分割模块6确定了图像文本行中单词所在位置,那么字符就在以每个极大值横坐标为中心的patch中,对这个patch使用卷积神经网络字符分类模型进行分类就能别出相应的字符。在识别出字符的基础上,根据现有的词表以及每个字符的得分,通过将单词中各个节点字符得分相称可以计算出每个单词的得分,得分最高的单词即为该单词patch对应的文本内容。由于自然场景图像中文字内容可能会很多,因此直接将识别的文字标注在图片上会十分混乱,因此识别结果保存在文本文件中。
[0033]
文本识别模块7采用resnet网络进行识别,只不过在该任务中采用了更深的resnet50,并且去掉了残差网络的最后全连接层和最后一层池化层,在序列特征提取阶段和解码阶段本文采用了lstm结构,在序列特征提取阶段本文考虑到文本的方向性,利用多方向的编码机制更好的提取文本的序列特征。除此之外,考虑到注意力机制可以在解码时筛选图像的局部二维信息提高识别性能,因此在该网络得解码与图像特征编码之间加入了注意力机制。
[0034]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0035]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1