基于深度学习和自然语言的光学字符识别优化方法和系统与流程

文档序号:16311100发布日期:2018-12-19 05:17阅读:274来源:国知局
基于深度学习和自然语言的光学字符识别优化方法和系统与流程

本发明涉及光学字符识别及优化的技术,尤其涉及通过深度学习的模型和自然语言处理的模型进行光学字符识别优化的技术。

背景技术

经过若干年的发展,ocr(opticalcharacterrecognition)技术在对印刷质量较好的文本的识别上已经基本成熟。ocr技术的原理是采用光学方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工。

市面上有些ocr软件对文本的单字识别率甚至可以达到99%以上,但也存在一些弊端:1、对于印刷质量较低或字迹模糊的文本,ocr的单字效果下降非常明显;2、ocr识别技术与nlp技术未有效结合,导致ocr识别能力达到瓶颈后无法提升。



技术实现要素:

以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。

本发明的目的在于解决上述问题,提供了一种基于深度学习和自然语言的光学字符识别优化方法和系统,提高了对印刷文字的识别率,特别在分辨率不高的情况下效果更为明显。

本发明的技术方案为:本发明揭示了一种基于深度学习和自然语言的光学字符识别优化方法,包括针对原始文档的预处理过程和之后的识别优化处理过程,其中:

针对原始文档的预处理过程包括:

对原始文档以灰度图像的形式读取,得到灰度矩阵;

对灰度图像进行灰色聚类处理,以使灰度图像分为多个图层;

通过逐层处理的方式找出图像中的文字区域,得到预处理后的特征层和连通区域数据;

识别优化处理过程包括:

以邻近搜索的方式进行膨胀操作,将可能成字的连通区域进行粘合;

采用均匀切割和统计切割结合的方式进行文本切割;

采用卷积神经网络进行单字识别,转换为结构化文档。

根据本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例,针对原始文档的预处理过程还包括在得到灰度矩阵和灰色聚类处理之间的步骤:

判断图像尺寸是否大于一阈值,如果大于阈值则直接进行灰色聚类处理,否则对图像进行幂次变换处理,将部分灰度区域映射到更宽的区域中。

根据本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例,针对原始文档的预处理过程还包括在找出图像中的文字区域之后的步骤:

基于连通区域的密度,在特征层中将一些未处理好的区域进行排除;

从特征层中排除孤立区。

根据本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例,在灰色聚类处理中采用核概率密度估计方法进行处理。

根据本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例,在查找图像中的文字区域的步骤中,包括:

基于连通区域这一粒度对图像的每个图层进行分解,每个图层被分割为若干个连通区域;

对多个图层进行抗腐蚀能力筛选分解,得到多个特征层;

在多个特征层的基础上,采用池化方法对多个特征层进行整合,其中包括直接叠加特征,根据叠加后的特征进行连通区域划分,再逐步检测连通区域的主要贡献来源于哪个特征层,该连通区域就只保留该特征层的来源。

根据本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例,识别优化处理过程还包括采用卷积神经网络进行单字识别之后的步骤:

采用隐马尔可夫模型和维特比算法进行词法切分,以实现语法修复。

根据本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例,识别优化处理过程还包括词法切分步骤之后的步骤:

用语法匹配的方式进行单字词修复。

根据本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例,膨胀操作是从一个连通区域出发找到该连通区域的水平外切矩形,将连通区域扩展到整个水平外切矩形,当该连通区域与最邻近连通区域的距离小于某一阈值时对该水平外切矩形进行膨胀,膨胀的方向是最邻近连通区域的所在方向,其中当且仅当所在方向是水平时才执行膨胀操作。

根据本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例,采用均匀切割和统计切割结合的方式进行文本切割的步骤进一步包括:

通过统计求和得出候选切割线;

判断该候选切割线到左右两条邻近的候选切割线的距离之和与宽长度比例,超出设定阀值即判断为有效切割线,然后采用统计切割方式进行处理;

在判断出区域属于长条矩形且无法以上述统计切割方式切割时,采用均匀切割方式进行处理。

根据本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例,采用卷积神经网络进行单字识别的步骤进一步包括:

采用多层卷积网络构建用于单字识别的神经网络模型;

对构建好的神经网络模型进行模型训练,得到相对收敛的模型;

对训练好的神经网络模型进行模型测试;

基于测试成功的神经网络模型,对文本切割后的图像进行单字识别。

根据本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例,采用隐马尔可夫模型和维特比算法进行词法切分的步骤进一步包括:

采用隐马尔科夫模型输入大量语料文本构建转移概率矩阵;

采用维特比算法求解动态规划中的最优路径。

本发明还揭示了一种基于深度学习和自然语言的光学字符识别优化系统,包括原始文档预处理模块和识别优化模块,其中原始文档预处理模块用于对原始文档进行灰度处理,并实施灰度聚类、多层池化操作,得到预处理后的特征层和连通区域数据,识别优化模块用于对预处理后的特征层和连通区域数据,先后经过邻近搜索、文本切割、单字识别,转换为结构化文档,其中:

原始文档预处理模块包括:

灰度处理单元,对原始文档以灰度图像的形式读取,得到灰度矩阵;

灰度聚类单元,对灰度图像进行灰色聚类处理,以使灰度图像分为多个图层;

多层池化单元,通过逐层处理的方式找出图像中的文字区域,得到预处理后的特征层和连通区域数据;

识别优化模块包括:

邻近搜索单元,以邻近搜索的方式进行膨胀操作,将可能成字的连通区域进行粘合;

文本切割单元,采用均匀切割和统计切割结合的方式进行文本切割单字识别单元,采用卷积神经网络进行单字识别,转换为结构化文档。

根据本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例,原始文档预处理模块还包括:

幂次变换单元,用于在图像尺寸小于阈值的情况下对灰度图像进行幂次变换处理,将部分灰度区域映射到更宽的区域中。

根据本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例,原始文档预处理模块还包括:

密度排除单元,基于连通区域的密度,在特征层中将一些未处理好的区域进行排除;

孤立区排除单元,从特征层中排除孤立区。

根据本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例,灰度聚类单元中采用核概率密度估计方法进行处理。

根据本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例,多层池化单元被配置为:

基于连通区域这一粒度对图像的每个图层进行分解,每个图层被分割为若干个连通区域;

对多个图层进行抗腐蚀能力筛选分解,得到多个特征层;

在多个特征层的基础上,采用池化方法对多个特征层进行整合,其中包括直接叠加特征,根据叠加后的特征进行连通区域划分,再逐步检测连通区域的主要贡献来源于哪个特征层,该连通区域就只保留该特征层的来源。

根据本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例,识别优化模块还包括:

词法切分单元,采用隐马尔可夫模型和维特比算法进行词法切分,以实现语法修复。

根据本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例,识别优化模块还包括:

语法匹配单元,用语法匹配的方式进行单字词修复。

根据本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例,邻近搜索单元的膨胀操作是从一个连通区域出发找到该连通区域的水平外切矩形,将连通区域扩展到整个水平外切矩形,当该连通区域与最邻近连通区域的距离小于某一阈值时对该水平外切矩形进行膨胀,膨胀的方向是最邻近连通区域的所在方向,其中当且仅当所在方向是水平时才执行膨胀操作。

根据本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例,文本切割单元被配置为:

通过统计求和得出候选切割线;

判断该候选切割线到左右两条邻近的候选切割线的距离之和与宽长度比例,超出设定阀值即判断为有效切割线,然后采用统计切割方式进行处理;

在判断出区域属于长条矩形且无法以上述统计切割方式切割时,采用均匀切割方式进行处理。

根据本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例,单字识别单元被配置为:

采用多层卷积网络构建用于单字识别的神经网络模型;

对构建好的神经网络模型进行模型训练,得到相对收敛的模型;

对训练好的神经网络模型进行模型测试;

基于测试成功的神经网络模型,对文本切割后的图像进行单字识别。

根据本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例,词法切分单元被配置为:

采用隐马尔科夫模型输入大量语料文本构建转移概率矩阵;

采用维特比算法求解动态规划中的最优路径。

本发明还揭示了一种基于深度学习和自然语言的光学字符识别优化系统,包括:

处理器;以及

存储器,所述存储器被配置为存储一系列计算机可执行的指令以及与所述一系列计算机可执行的指令相关联的计算机可访问的数据,

其中,当所述一系列计算机可执行的指令被所述处理器执行时,使得所述处理器进行前述的方法。

本发明还揭示了一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质上存储有一系列计算机可执行的指令,当所述一系列可执行的指令被计算装置执行时,使得计算装置进行前述的方法。

本发明对比现有技术有如下的有益效果:本发明从模拟人的肉眼的识别思路出发,采用深度学习理论的卷积神经网络模型进行文字识别,并在后处理阶段引入自然语言处理的统计语言模型等技术,通过统计语言模型的词法切分和语法匹配进行识别后的内容修复,最终输出准确率较高的结构化文档。相比传统技术,本发明通过卷积神经网络模型使文字识别兼容分辨率不高或字迹模糊等场景。自然语言处理(nlp,naturallanguageprocessing)是人工智能(ai)的一个子领域,是一门融合人工智能和语言学、计算机科学等理论技术的交叉学科,包括了分词、词性标注、实体识别、关键词抽取、依存句法分析、时间短语识别、聚类、推理等技术。本发明通过自然语言处理模型提升识别准确率。

附图说明

在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。

图1示出了本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例中的针对原始文档的预处理过程的流程图。

图2示出了本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例中的识别优化处理过程的流程图。

图3示出了本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例的原理图。

图4示出了本发明的神经网络模型的原理图。

具体实施方式

以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。

图1和图2的结合示出了本发明的基于深度学习和自然语言的光学字符识别优化方法的一实施例的全部流程,其中图1示出的是针对原始文档的预处理过程,图2示出的是在预处理过程之后的识别优化处理过程。以下分别就这两个过程进行说明。

原始文档预处理过程:

步骤s11:对原始文档以灰度图像的形式读取,得到一个灰度矩阵。

原始文档包括pdf扫描件、图片等。灰度图像读取方式比直接以rgb彩色图像的读取方式的维度更低,同时没有明显损失文字信息。

步骤s12:判断图像尺寸是否大于一阈值,如果大于阈值则进行步骤s14,否则先进行步骤s13。

步骤s13:对图像进行幂次变换处理,将部分灰度区域映射到更宽的区域中。

此步骤的意义在于:在图像本身尺寸较小的情况下直接处理会导致文字笔画过小而被当成噪音并错误过滤掉,因此需要保证文字笔画有一定的厚度。为此需先将图像放大,但图像放大后文字与背景之间的区分度降低会加大识别难度,这就需要在部分情况下采用幂次变换处理来解决这一问题。幂次变换的公式为:y=cxr+b。其中c、r均为正数。与对数变换相同,幂次变换将部分灰度区域映射到更宽的区域中。当r=1时,幂次变换转变为线性变换。

(1)当r<0时,变换函数曲线在正比函数上方。此时扩展低灰度级,压缩高灰度级,使图像变亮。

(2)当r>0时,变换函数曲线在正比函数下方。此时扩展高灰度级,压缩低灰度级,使图像变暗。

其中x代表灰度矩阵m中的元素(输入的灰度级),r为次数(即函数的幂次),在本实施例中例如选取为2,b为调节系数或平移系数,用于控制曲线的上下偏移量,y是输出的灰度级。

步骤s14:对图像进行灰色聚类处理。

先自动确定聚类数目,再根据图像特点自适应进行多值化处理,以使图像分为多个图层,同时避免传统的简单二值化所带来的信息损失。

本发明中不采用kmeans、meanshift等聚类方法,而是采用优化后的核概率密度估计方法(kerneldensityestimation,是用于估计概率密度函数的非参数方法,在概率论中用来估计未知的密度函数,属于非参数检验方法之一)进行处理。

经过预处理的图像,可以对每个色阶的出现次数进行统计,可以看到色阶的分布形成了几个比较突出的峰,即存在一定的聚类趋势。在此基础上本实施例采用核密度估计方法对统计结果进行平滑化处理。

根据大量数据来估计某个值的概率/密度时,做如下估算:

k(x)表示在范围h内的xi都算入到x中去,计算方法由给出。在使用为核函数后,方差h(也叫带宽/窗口/邻域)主要影响结果的平滑性,根据正常文档特定,本实施例中把平滑因子(即方差)h设定为0.2。

步骤s15:通过逐层处理的方式找出图像中的文字区域。

这一步骤的处理具体包括:

首先,基于连通区域这一粒度对图像的每个图层进行分解。因为文字本身较为密集,所以正常文字可以组成连通区域,定义每个图层的图像都是由若干个连通区域组成,因此每个图层被分分割为若干个连通区域,以将原始图像进行分割。

然后,对多个图层进行抗腐蚀能力筛选分解,得到多个特征层。这是为识别哪些连通区域是可能的文字区域做准备,由于文字具有一定的抗腐蚀能力,因此预先设定连通区域的抗腐蚀能力的判断标准:连通区域的抗腐蚀能力=该连通区域被腐蚀后的总面积÷该连通区域被腐蚀前的总面积。

再者,在多个特征层的基础上,采用池化方法对多个特征层进行整合。具体为,直接叠加特征,然后根据叠加后的特征进行连通区域划分,再逐步检测连通区域的主要贡献来源于哪个特征层,该连通区域就只保留该特征层的来源。

步骤s16:基于连通区域的密度,在特征层中将一些未处理好的区域进行排除。

从一个连通区域出发,可以找到该连通区域的水平外切矩形,该区域的密度定义为:定义连通区域密度=连通区域的面积/外切矩形的面积×原图像总面积/外切矩形的面积,设置一个密度合理范围,将范围之外的连通区域(包括密度太高和太低的区域,例如连续的直线曲线等)进行过滤去除。

步骤s17:从特征层中排除孤立区。

孤立区的定义为:正常文字之间、笔画之间应该比较紧凑,如果某一区域明显孤立于其他区域,那么这个区域很可能不是文字区域。

孤立区的判断原则为:从一个连通区域出发,可以找到该连通区域的水平外切矩形,将这个水平外切矩形中心对称地向外扩张为原来的n倍,扩张后的区域如果没有包含其他的连通区域,那么原来的连通区域就是孤立区。

经过上述步骤s11~s17的处理,得到预处理后的特征层和连通区域数据,这些数据被用于后续过程进行识别优化处理。其中,步骤s16和s17是为了预处理的效果变得更好,而非实现预处理的必要步骤。

识别优化处理过程的实施步骤为:

步骤s21:以邻近搜索的方式进行膨胀操作,将可能成字的连通区域进行粘合。

膨胀操作具体是指从一个连通区域出发找到该连通区域的水平外切矩形,将连通区域扩展到整个水平外切矩形。当该连通区域与最邻近连通区域的距离小于某一阈值时对该水平外切矩形进行膨胀,膨胀的方向是最邻近连通区域的所在方向,其中当且仅当所在方向是水平的,才执行膨胀操作。

步骤s22:采用均匀切割和统计切割结合的方式进行文本切割。

由于单独的均匀切割在中英文混合的情况下效果不佳,单独的统计切割在左右分离的汉字场景下效果不佳,因此本实施例采用两者结合的方式。具体步骤如下:

首先,通过统计求和得出候选切割线;

然后,判断该候选切割线到左右两条邻近的候选切割线的距离之和与宽长度比例,超出设定阀值即判断为有效切割线,然后采用统计切割方式进行处理;

最后,在判断出区域属于长条矩形且无法以上述统计切割方式切割时,采用均匀切割方式进行处理。

步骤s23:采用卷积神经网络进行单字识别。

卷积神经网络是通过局部感知和权值共享的方式降低网络模型的复杂度,减少了权值的数量,在网络结构上更类似于生物神经网络。

首先,采用多层卷积网络构建用于单字识别的神经网络模型。

本实施例中采用的神经网络模型如图4所示,相比于传统的神经网络模型,本实施例做了一些调整,主要包括:增加卷积核的数目,增加隐藏节点(隐藏层的神经元)的数目、调整权重等。在激活函数方面,选取rule函数为激活函数;在防止过拟合方面,使用了深度学习网络中最常用的dropout方式,即随机地让部分神经元休眠,这等价于同时训练多个不同网络,从而防止了部分节点可能出现的过拟合现象。

然后,对构建好的神经网络模型进行模型训练,得到相对收敛的模型。具体是采用adam优化方法进行训练,对模型最终的损失函数进行调整,以使高频字的权重更大,从而提升模型的预测性能。

再者,对训练好的神经网络模型进行模型测试。其中,可以将随机噪音增加到25%,以使模型保持大约90%左右的正确率。

最后,基于测试成功的神经网络模型,对文本切割后的图像进行单字识别。

步骤s24:采用隐马尔可夫模型和维特比算法进行词法切分,以实现语法修复。

由于图像质量等原因,性能再好的识别模型,都会有识别错误的可能性,为了减少识别错误率,可以将识别问题跟统计语言模型结合起来,通过动态规划的方法给出最优的识别结果。

从概率的角度来看,假定第一个字的识别结果s1,每个候选字的概率是w(s1),第二个字的识别结果s2,每个候选字的概率是w(s2)。所谓迁移概率,就是条件概率p(s1|s2),即当s1出现时后面接s2的概率。最优的s1,s2组合,就是如下公式取最大值:

f=w(s1)p(s1|s2)w(s2)

在单行文字图片有n个字s1、s2、…、sn的情况下,公式变为:

f=w(s1)p(s1|s2)w(s2)p(s2|s3)w(s3)…w(sn-1)p(sn-1|sn)w(sn)

以下采用隐马尔可夫模型目的是各个条件概率p(si|si+1)的计算,在已知条件概率的基础上采用维特比算法求解f的最大值。

首先采用隐马尔科夫模型输入大量语料文本构建转移概率矩阵。隐马尔可夫模型是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。其中转移概率是马尔可夫链中的重要概念,若马氏链分为m个状态组成,历史资料转化为由这m个状态所组成的序列。从任意一个状态出发,经过任意一次转移,必然出现状态1、2、……,m中的一个,这种状态之间的转移称为转移概率。转移概率矩阵的定义是:矩阵各元素都是非负的,并且各行元素之和等于1,各元素用概率表示,在一定条件下是互相转移的,故称为转移概率矩阵。

然后,采用维特比(viterbi)算法求解动态规划中的最优路径。基本思想是把求解整个问题的最佳解归结为求解其子问题的最佳解,首先从起始点开始求起始点到此结点的最佳路径并记下此路,如果从起点到某一结点的所有直接前趋结点的最佳路已求出,则利用前趋点到此结点弧上的权值和起点到前趋结点的最佳路径的累积权值计算出起始点到此结点的最佳路径,当计算出到终点最佳路径时,路径上的每一结点即组成最终识别结果。

步骤s25:用语法匹配的方式进行单字词修复,最终转换为结构化文档。

对于单字词的情况词法切法无能为力,而汉字中单字词约占7%,在后处理阶段对单字词的正确识别已经成为提高全文识别率的重要瓶颈。

语法匹配检查主要利用了语料库中各词库所提供的语法语义知识。本实施例在进行语法匹配时检查项目包括但不限于如下几种:数名、个体量词、度量词、容器量词、集体量词、种类量词、成形量词、不定量词、动时量、前名、后名、前动、前代、前代的、前接、后接,结合前一步骤的词法切分结果对单字词进行优化处理,最终转换为结构化文档。

图3示出了本发明的基于深度学习和自然语言的光学字符识别优化系统的一实施例的原理。请参见图3,本实施例的系统包括原始文档预处理模块和识别优化模块。

原始文档预处理模块用于对原始文档进行灰度处理,根据图像尺寸进行幂次变换,并实施灰度聚类、多层池化操作,得到预处理后的特征层和连通区域数据,这些数据被用于后续过程进行识别优化处理。此外,原始文档预处理模块还可进行密度排除和孤立区排除,进一步提升预处理的效果。

原始文档预处理模块包括灰度处理单元、幂次变换单元、灰度聚类单元、多层池化单元、密度排除单元、孤立区排除单元。

灰度处理单元用于对原始文档以灰度图像的形式读取,得到一个灰度矩阵。原始文档包括pdf扫描件、图片等。灰度图像读取方式比直接以rgb彩色图像的读取方式的维度更低,同时没有明显损失文字信息。

幂次变换单元用于对图像进行幂次变换处理,将部分灰度区域映射到更宽的区域中。在做幂次变换之前需要先判断图像尺寸,若小于预设阈值则进行幂次变换。此单元的意义在于:在图像本身尺寸较小的情况下直接处理会导致文字笔画过小而被当成噪音并错误过滤掉,因此需要保证文字笔画有一定的厚度。为此需先将图像放大,但图像放大后文字与背景之间的区分度降低会加大识别难度,这就需要在部分情况下采用幂次变换处理来解决这一问题。幂次变换的公式为:y=cxr+b。

其中c、r均为正数。与对数变换相同,幂次变换将部分灰度区域映射到更宽的区域中。当r=1时,幂次变换转变为线性变换。

(1)当r<0时,变换函数曲线在正比函数上方。此时扩展低灰度级,压缩高灰度级,使图像变亮。

(2)当r>0时,变换函数曲线在正比函数下方。此时扩展高灰度级,压缩低灰度级,使图像变暗。

其中x代表灰度矩阵m中的元素(输入的灰度级),r为次数(即函数的幂次),在本实施例中例如选取为2,b为调节系数或平移系数,用于控制曲线的上下偏移量,y是输出的灰度级。

灰度聚类单元用于对图像进行灰色聚类处理。先自动确定聚类数目,再根据图像特点自适应进行多值化处理,以使图像分为多个图层,同时避免传统的简单二值化所带来的信息损失。

本发明中不采用kmeans、meanshift等聚类方法,而是采用优化后的核概率密度估计方法(kerneldensityestimation,是用于估计概率密度函数的非参数方法,在概率论中用来估计未知的密度函数,属于非参数检验方法之一)进行处理。

经过预处理的图像,可以对每个色阶的出现次数进行统计,可以看到色阶的分布形成了几个比较突出的峰,即存在一定的聚类趋势。在此基础上本实施例采用核密度估计方法对统计结果进行平滑化处理。

根据大量数据来估计某个值的概率/密度时,做如下估算:

k(x)表示在范围h内的xi都算入到x中去,计算方法由给出。在使用为核函数后,方差h(也叫带宽/窗口/邻域)主要影响结果的平滑性,根据正常文档特定,本实施例中把平滑因子(即方差)h设定为0.2。

多层池化单元用于通过逐层处理的方式找出图像中的文字区域。具体而言,首先,基于连通区域这一粒度对图像的每个图层进行分解。因为文字本身较为密集,所以正常文字可以组成连通区域,定义每个图层的图像都是由若干个连通区域组成,因此每个图层被分分割为若干个连通区域,以将原始图像进行分割。

然后,对多个图层进行抗腐蚀能力筛选分解,得到多个特征层。这是为识别哪些连通区域是可能的文字区域做准备,由于文字具有一定的抗腐蚀能力,因此预先设定连通区域的抗腐蚀能力的判断标准:连通区域的抗腐蚀能力=该连通区域被腐蚀后的总面积÷该连通区域被腐蚀前的总面积。

再者,在多个特征层的基础上,采用池化方法对多个特征层进行整合。具体为,直接叠加特征,然后根据叠加后的特征进行连通区域划分,再逐步检测连通区域的主要贡献来源于哪个特征层,该连通区域就只保留该特征层的来源。

密度排除单元用于基于连通区域的密度在特征层中将一些未处理好的区域进行排除。从一个连通区域出发,可以找到该连通区域的水平外切矩形,该区域的密度定义为:定义连通区域密度=连通区域的面积/外切矩形的面积×原图像总面积/外切矩形的面积,设置一个密度合理范围,将范围之外的连通区域(包括密度太高和太低的区域,例如连续的直线曲线等)进行过滤去除。

孤立区排除单元用于从特征层中排除孤立区。孤立区的定义为:正常文字之间、笔画之间应该比较紧凑,如果某一区域明显孤立于其他区域,那么这个区域很可能不是文字区域。

孤立区的判断原则为:从一个连通区域出发,可以找到该连通区域的水平外切矩形,将这个水平外切矩形中心对称地向外扩张为原来的n倍,扩张后的区域如果没有包含其他的连通区域,那么原来的连通区域就是孤立区。

其中密度排除单元和孤立区排除单元是为了预处理的效果变得更好,而非实现预处理的必要单元。

识别优化模块用于对预处理后的特征层和连通区域数据,先后经过邻近搜索、文本切割、单字识别、词法切分和语法匹配,最终转换为结构化文档。

识别优化模块包括邻近搜索单元、文本切割单元、单字识别单元、词法切分单元和语法匹配单元。

邻近搜索单元用于以邻近搜索的方式进行膨胀操作,将可能成字的连通区域进行粘合。

膨胀操作具体是指从一个连通区域出发找到该连通区域的水平外切矩形,将连通区域扩展到整个水平外切矩形。当该连通区域与最邻近连通区域的距离小于某一阈值时对该水平外切矩形进行膨胀,膨胀的方向是最邻近连通区域的所在方向,其中当且仅当所在方向是水平的,才执行膨胀操作。

文本切割单元采用均匀切割和统计切割结合的方式进行文本切割。

由于单独的均匀切割在中英文混合的情况下效果不佳,单独的统计切割在左右分离的汉字场景下效果不佳,因此本实施例采用两者结合的方式。具体步骤如下:

首先,通过统计求和得出候选切割线;

然后,判断该候选切割线到左右两条邻近的候选切割线的距离之和与宽长度比例,超出设定阀值即判断为有效切割线,然后采用统计切割方式进行处理;

最后,在判断出区域属于长条矩形且无法以上述统计切割方式切割时,采用均匀切割方式进行处理。

单字识别单元采用卷积神经网络进行单字识别。

卷积神经网络是通过局部感知和权值共享的方式降低网络模型的复杂度,减少了权值的数量,在网络结构上更类似于生物神经网络。

首先,采用多层卷积网络构建用于单字识别的神经网络模型。

本实施例中采用的神经网络模型如图4所示,相比于传统的神经网络模型,本实施例做了一些调整,主要包括:增加卷积核的数目,增加隐藏节点(隐藏层的神经元)的数目、调整权重等。在激活函数方面,选取rule函数为激活函数;在防止过拟合方面,使用了深度学习网络中最常用的dropout方式,即随机地让部分神经元休眠,这等价于同时训练多个不同网络,从而防止了部分节点可能出现的过拟合现象。

然后,对构建好的神经网络模型进行模型训练,得到相对收敛的模型。具体是采用adam优化方法进行训练,对模型最终的损失函数进行调整,以使高频字的权重更大,从而提升模型的预测性能。

再者,对训练好的神经网络模型进行模型测试。其中,可以将随机噪音增加到25%,以使模型保持大约90%左右的正确率。

最后,基于测试成功的神经网络模型,对文本切割后的图像进行单字识别。

词法切分单元采用隐马尔可夫模型和维特比算法进行词法切分,以实现语法修复。

由于图像质量等原因,性能再好的识别模型,都会有识别错误的可能性,为了减少识别错误率,可以将识别问题跟统计语言模型结合起来,通过动态规划的方法给出最优的识别结果。

从概率的角度来看,假定第一个字的识别结果s1,每个候选字的概率是w(s1),第二个字的识别结果s2,每个候选字的概率是w(s2)。所谓迁移概率,就是条件概率p(s1|s2),即当s1出现时后面接s2的概率。最优的s1,s2组合,就是如下公式取最大值:

f=w(s1)p(s1|s2)w(s2)

在单行文字图片有n个字s1、s2、…、sn的情况下,公式变为:

f=w(s1)p(s1|s2)w(s2)p(s2|s3)w(s3)…w(sn-1)p(sn-1|sn)w(sn)

以下采用隐马尔可夫模型目的是各个条件概率p(si|si+1)的计算,在已知条件概率的基础上采用维特比算法求解f的最大值。

首先采用隐马尔科夫模型输入大量语料文本构建转移概率矩阵。隐马尔可夫模型是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。其中转移概率是马尔可夫链中的重要概念,若马氏链分为m个状态组成,历史资料转化为由这m个状态所组成的序列。从任意一个状态出发,经过任意一次转移,必然出现状态1、2、……,m中的一个,这种状态之间的转移称为转移概率。转移概率矩阵的定义是:矩阵各元素都是非负的,并且各行元素之和等于1,各元素用概率表示,在一定条件下是互相转移的,故称为转移概率矩阵。

然后,采用维特比(viterbi)算法求解动态规划中的最优路径。基本思想是把求解整个问题的最佳解归结为求解其子问题的最佳解,首先从起始点开始求起始点到此结点的最佳路径并记下此路,如果从起点到某一结点的所有直接前趋结点的最佳路已求出,则利用前趋点到此结点弧上的权值和起点到前趋结点的最佳路径的累积权值计算出起始点到此结点的最佳路径,当计算出到终点最佳路径时,路径上的每一结点即组成最终识别结果。

语法匹配单元用语法匹配的方式进行单字词修复,最终转换为结构化文档。

对于单字词的情况词法切法无能为力,而汉字中单字词约占7%,在后处理阶段对单字词的正确识别已经成为提高全文识别率的重要瓶颈。

语法匹配检查主要利用了语料库中各词库所提供的语法语义知识。本实施例在进行语法匹配时检查项目包括但不限于如下几种:数名、个体量词、度量词、容器量词、集体量词、种类量词、成形量词、不定量词、动时量、前名、后名、前动、前代、前代的、前接、后接,结合前一步骤的词法切分结果对单字词进行优化处理,最终转换为结构化文档。

此外,本发明所公开的基于深度学习和自然语言的光学字符识别优化系统中包括了处理器、存储器,存储器为存储一系列计算机可执行的指令以及与这一系列计算机可执行的指令相关联的计算机可访问的数据,当这一系列计算机可执行的指令被处理器执行时,使得处理器进行如前述图1和图2所示实施例的方法。

本发明所公开的非临时性计算机可读存储介质,其上存储有一系列计算机可执行的指令,当这一系列可执行的指令被计算装置执行时,使得计算装置进行如前述图1和图2所示实施例的方法。

尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。

本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。

结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协作的一个或多个微处理器、或任何其他此类配置。

结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。

在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、dsl、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(cd)、激光碟、光碟、数字多用碟(dvd)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1