端到端的文字识别方法及装置、计算机设备及可读介质与流程

文档序号:19156695发布日期:2019-11-16 00:54阅读:149来源:国知局
端到端的文字识别方法及装置、计算机设备及可读介质与流程

【技术领域】

本发明涉及计算机应用技术领域,尤其涉及一种端到端的文字识别方法及装置、计算机设备及可读介质。



背景技术:

对图片中的文字进行识别,是文字识别领域中一项非常重要的工作。对文字识别的准确性和效率要求非常高。

现有的图片中的文字识别方法中,通常采用单一的文字识别模型来处理。该文字识别模型可以采用多个串联的步骤的处理,如检测、行生成以及行识别等处理,对输入的任一含有文字的图片进行识别,并输出图片中的文字框的位置以及文字框中对应的字符序列。

但是,现有的上述文字识别方案,由于采用多个串联的步骤来实现,容易引入累计误差,导致文字识别准确性较差。



技术实现要素:

本发明提供了一种端到端的文字识别方法及装置、计算机设备及计算机可读介质,用于避免累计误差,提高文字识别的准确性。

本发明提供一种端到端的文字识别方法,所述方法包括:

获取包含有文字区域的待识别的图片;

采用预先训练的端到端的文字识别模型,识别所述待识别的图片中的所述文字区域的位置和所述文字区域中包括的文字内容;所述端到端的文字识别模型中包括感兴趣区域透视变换处理模块,用于对所述文字区域进行透视变换处理。

本发明提供一种端到端的文字识别装置,所述装置包括:

获取模块,用于获取包含有文字区域的待识别的图片;

识别模块,用于采用预先训练的端到端的文字识别模型,识别所述待识别的图片中的所述文字区域的位置和所述文字区域中包括的文字内容;所述端到端的文字识别模型中包括感兴趣区域透视变换处理模块,用于对所述文字区域进行透视变换处理。

本发明还提供一种计算机设备,所述设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的端到端的文字识别方法。

本发明还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的端到端的文字识别方法。

本发明的端到端的文字识别方法及装置、计算机设备及计算机可读介质,通过获取包含有文字区域的待识别的图片;采用预先训练的端到端的文字识别模型,识别待识别的图片中的文字区域的位置和文字区域中包括的文字内容;本实施例的端到端的文字识别方案,采用预先训练的端到端的文字识别模型,可以直接预测到输入的待识别图片中的文字区域的位置和文字区域中包括的文字内容。与现有技术的采用多个串联步骤来实现文字识别的方案相比,不需要串联多个步骤,能够避免引入累计误差,从而能够有效地提高文字识别的准确性。且本实施例的端到端的文字识别模型中还包括roi透视变换处理模块,用于对文字区域的特征表达进行透视变换处理,不仅能够对图片中的规则文字进行准确有效地识别,还可以对图片中的非规则文字进行准确、有效的识别,提高文字识别的效率,扩大文字识别模型的适用场景。

【附图说明】

图1为本发明的端到端的文字识别方法实施例一的流程图。

图2为本发明的端到端的文字识别模型进行文字识别的示意图。

图3为图2中的端到端的文字识别模块的工作原理图。

图4为本发明的端到端的文字识别方法实施例二的流程图。

图5为本发明的端到端的文字识别装置实施例一的结构图。

图6为本发明的端到端的文字识别装置实施例二的结构图。

图7为本发明的计算机设备实施例的结构图。

图8为本发明提供的一种计算机设备的示例图。

【具体实施方式】

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

人工智能(artificialintelligence;ai),是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。基于ai技术,可以采用各种神经网络模型实现各种应用。例如,本发明中,可以基于ai,采用端到端的文字识别模型实现对图片中的文字进行识别,且本发明的端到端的文字识别模型中包括有感兴趣区域(regionofinterest;roi)透视变换处理模块,用于对文字区域的特征表达进行透视变换处理,能够对非规则的文字进行识别,提高文字识别的准确性。

图1为本发明的端到端的文字识别方法实施例一的流程图。如图1所示,本实施例的端到端的文字识别方法,具体可以包括如下步骤:

s100、获取包含有文字区域的待识别的图片;

s101、采用预先训练的端到端的文字识别模型,识别待识别的图片中的文字区域的位置和文字区域中包括的文字内容;该端到端的文字识别模型中包括roi透视变换处理模块,用于对文字区域的特征表达进行透视变换处理。

本实施例的端到端的文字识别方法的执行主体为一端到端的文字识别装置,该端到端的文字识别装置可以为一电子实体,或者也可以为采用软件集成的应用,使用时,运行在计算机设备上。

具体地,文字识别时,向该端到端的文字识别装置输入待识别的图片,该待识别的图片中包含有文字区域。该端到端的文字识别装置获取到该待识别的图片后,将该待识别的图片输入至预先训练的端到端的文字识别模型中,该端到端的文字识别模型可以直接输出该待识别的图片中的文字区域的位置以及文字区域中包括的文字内容。且由于该端到端的文字识别模型中包括有roi透视变换处理模块,用于对文字区域进行透视变换处理,该透视变换处理相当于可以对文字区域进行旋转、分割等处理,得到多个高度固定,长度可变的区域,从而可以使得图片中存在的积压、重叠等不规则的文字能够被识别出来。

进一步可选地,本实施例的端到端的文字识别模型,还包括全局特征获取模块、区域检测模块和文字识别模块。本实施例的端到端的文字识别模型,虽然内部包括上述四个模块,但整个框架为一个统一模型,整体可以实现端到端的文字识别。

例如,图2为本发明的端到端的文字识别模型进行文字识别的示意图。如图2所示,该步骤101“根据待识别的图片和预先训练的端到端的文字识别模型,获取待识别的图片中的文字区域的位置和文字区域中包括的文字内容”,具体可以包括:

将待识别的图片输入至端到端的文字识别模型中,由端到端的文字识别模型中的全局特征获取模块获取待识别的图片的全局特征表达,并输出;文字识别模型中的区域检测模块根据全局特征表达,检测文字区域的位置,并输出;端到端的文字识别模型中的roi透视变换处理模块根据文字区域的位置,从全局特征表达中获取文字区域的特征表达,并对文字区域的特征表达进行透视变换处理,得到对齐后的感兴趣区域特征表达;端到端的文字识别模型中的文字识别模块基于空间注意力机制,根据对齐后的感兴趣区域特征表达,识别文字区域包括的文字内容,并输出。

其中,该全局特征获取模块为一个基于全卷积的主干网络,该主干网络提供共享的卷积参数,输出得到共享的特征图,作为该待识别的图片的全局特征表达。例如,该主干网络部分可以包括基础网络和特征融合网络,基础网络部分包括并不限于resnet-50,inception-v3,inception-v4等,该部分可采用任何图像分类网络结构作为基础。特征融合部分是将基础网络中多个尺度的特征进行组合,从而得到相对尺度不变的多尺度特征,该部分可采用unet、fpn等常见特征组合方式,且不局限于此,从而保证主干网络底座和多尺度特征的简单易用与可扩展性。

区域检测模块用于输出文字区域的位置,例如,文字区域最常用的表示方式可以采用四边形来表示。该区域检测模块可以基于全卷积操作,采用四角点位置直接预测偏差坐标,经过变化处理得到的预测位置组成四边形的文字区域,经过非极大值抑制(non-maximumsuppression;nms)算法得到最终的候选四边形框的四个顶点的位置坐标。该4个顶点的位置坐标也是文字识别模型最终输出的位置信息。实际应用中,文字区域还可以采用其他形状来表示,区域检测模块获取到文字区域的位置表示即可。本实施例中,一个图片中可以对应多个文字区域,即该区域检测模块用于检测图片中的多个文字区域中的每一块文字区域对应的候选四边形框的四个顶点的位置坐标。

roi透视变换处理模块相当于根据文字区域位置,从待识别的图片的全局特征表达中抽取出文字区域对应的特征表达,并对文字区域的特征表达进行透视变换处理,例如,可以将文字区域的四边形候选框转换为高度固定、宽度可变的特征图,同时保持序列识别特征宽长比不发生变换。

例如,该roi透视变换处理模块相当于输入的为全局特征获取模块获取的待识别图片的全局特征表达,以及区域检测模块获取的文字区域的位置,从全局特征表达中获取文字区域的位置对应的区域,作为roi区域。roi透视变换处理模块将每个roi区域通过透视变换得到高度固定、长度可变的若干个小的特征表达,作为roi特征表达,用于后续文字识别模块进一步识别处理。具体地,图片中每一块文字区域对应一个roi特征表达,有多少个文字区域,便存在多少个小的roi特征表达。其中透视变换计算,可以采用如下公式:

其中,tθ为透视变换的矩阵;表示输入坐标的向量表示,表示输出坐标的向量表示;其中为真实的输出坐标,k表示第k个像素,上标t为输出坐标的标志,用于区别于输入坐标其中此处u,v,w为中间变量。k表示任意第k个像素,此处的ht表示待识别的图片的高、wt表示待识别的图片的宽;htwt表示待识别的图片的宽乘以高。每个输出像素值可通过如下公式对输入的全局特征表达进行双线性插值得到:

其中vk表示第k个像素的输出值,unm表示位置(n,m)的取值,核函数表示为:

k(.)=max(0,1-|.|)

其中,双线性插值操作是对每个通道的特征分别进行处理的,最终得到经过透视变换后对齐的roi特征表达。采用本实施例的上述方式,可以得到图片中每一块文字区域的roi特征。实际应用中,可以按照一定的顺序,如图片中从左到右从上到下的顺序,依次输出各块文字区域的roi特征。

图3为图2中的文字识别模块的工作原理图。如图3所示,该文字识别模块输入的为roi透视变换处理模块处理后的对齐的roi区域特征表达,输出最终识别的字符序列结果。对于给定的roi透视变换后输出的roi区域特征表达,经过卷积-池化操作-rnn的编码器得到特征hi,j,再进行基于空间注意力机制(spatialattention)的rnn解码器,解码出每个时刻t对应的字符yt。

其中编码器由卷积层+池化操作堆叠而成得到特征ai,j,例如:可以采用4层卷积操作和2个max-pooling操作,每层卷积后面有bachnormalization+relu操作,每两个卷积层接一个max-pooling。rnn部分包括横向和纵向两层rnn编码,第一层对每列特征进行rnn编码得到特征bi,j,第二层rnn对每行特征进行操作,得到编码器输出hi,j。最终得到roi对齐特征经过rnn编码后的结果,包含了上下文字符特征。

如图3所示,基于rnn的解码器可以以上一时刻即t-1时刻的状态gt-1以及编码器输出的特征hi,j作为输入,计算得到注意力(spatialattention)分布特征αt;并在每个时刻t对编码器的输出特征hi,j进行加权,进而得到特征向量ct;再以上一时刻即t-1时刻的字符yt-1、特征向量ct为输入,通过rnn计算得到当前时刻t输出的字符yt。

本实施例的端到端的文字识别方法,通过获采用上述技术方案,由于采用的端到端的文字识别模型中包括有roi透视变换处理模块,采用预先训练的端到端的文字识别模型,可以直接预测到输入的待识别图片中的文字区域的位置和文字区域中包括的文字内容。与现有技术的采用多个串联步骤来实现文字识别的方案相比,不需要串联多个步骤,能够避免引入累计误差,从而能够有效地提高文字识别的准确性。且本实施例的端到端的文字识别模型中还包括roi透视变换处理模块,用于对文字区域的特征表达进行透视变换处理,不仅能够对图片中的规则文字进行准确有效地识别,还可以对图片中的非规则文字进行准确、有效的识别,提高文字识别的效率,扩大文字识别模型的适用场景。

图4为本发明的端到端的文字识别方法实施例二的流程图。如图4所示,本实施例的端到端的文字识别方法,在上述图1所示实施例的技术方案的基础上,详细介绍图2所示实施例中所采用的端到端的文字识别模型的训练过程。本实施例的端到端的文字识别方法,具体可以包括如下步骤:

s200、采集数张训练图片,并标注各训练图片中的文字区域的真实位置和文字区域中包括的真实文字内容;

s201、根据各张训练图片、各训练图片中的文字区域的真实位置和文字区域中包括的真实文字内容,训练端到端的文字识别模型。

例如,训练时,该步骤s201,具体可以包括如下步骤:

(a)将各训练图片输入至端到端的文字识别模型中,由端到端的文字识别模型输出对应的训练图片中的文字区域的预测位置和文字区域中包括的预测文字内容;

(b)检测对应的训练图片的文字区域的预测位置和真实位置是否一致、文字区域中包括的预测文字内容与真实文字内容是否一致;若文字区域的预测位置和真实位置、以及文字区域中包括的预测文字内容与真实文字内容中存在不一致,执行步骤(c);若一致,执行步骤(d);

本实施例中,可以认为训练图片的文字区域的预测位置和真实位置的差值在一个很小的距离预置范围内,都认为是一致。而预测文字内容与真实文字内容必须完全相同,才是一致,否则就是不一致。

另外,可选地,本实施例中,还可以基于训练图片的文字区域的预测位置和真实位置、以及文字区域中包括的预测文字内容与真实文字内容构建一个损失函数,在训练时,计算损失函数的值,判断损失函数的值是否小于预设阈值,若不是,则按照下述步骤(c)调整参数,且参数调整的方向为使得损失函数的值小于预设阈值。

(c)调整端到端的文字识别模型中的全局特征获取模块、感兴趣区域透视变换处理模块、区域检测模块和文字识别模块中的参数,使得文字区域的预测位置和真实位置、以及文字区域中包括的预测文字内容与真实文字内容趋于一致;

本实施例中,由于端到端的文字识别模型中包括全局特征获取模块、感兴趣区域透视变换处理模块、区域检测模块和文字识别模块,在训练时,全局特征获取模块、roi透视变换处理模块、区域检测模块和文字识别模块中的参数都可以调整。调整时,各个模块的参数可以依次轮流调整,每一轮或者连续指定轮数的训练,调整其中一个模块的参数,以此类推,对多个模块的参数轮流调整,可以实现最终的端到端的文字识别模型的参数的调整。当然,实际应用中,还可以同时对四个模块中的两个、三个或者四个模块中的参数同时做调整,在此不做限定。

(d)判断训练次数是否达到预设次数阈值,或者判断连续的预设次数的训练中,端到端的文字识别模型输出的各训练图片的文字区域的预测位置和真实位置、以及文字区域中包括的预测文字内容与真实文字内容是否始终一致,若不是,返回步骤(a)继续训练;否则,若是,确定端到端的文字识别模型输出的各训练图片的文字区域的预测位置和真实位置、以及文字区域中包括的预测文字内容与真实文字内容始终一致,训练结束,确定端到端的文字识别模型中全局特征获取模块、感兴趣区域透视变换处理模块、区域检测模块和文字识别模块中的参数,从而确定端到端的文字识别模型,结束。

本实施例中,根据实际需求,可以设置预设次数阈值为一个最大的训练次数阈值,如训练次数达到该预设次数阈值,可以认为模型已经训练好了,模型训练结束。

或者本实施例中,根据实际需求,还可以设置连续的预设次数的训练中包括连续100轮、50轮、10轮、5轮或者其他轮数,这样,通过判断连续的预设次数的训练中,各训练图片的文字区域的预测位置和真实位置、以及文字区域中包括的预测文字内容与真实文字内容是否始终一致,若一致,可以认为端到端的文字识别模型已经训练的很成熟,可以用于进行端到端的文字识别,此时结束训练即可;而若不一致,则可以认为端到端的文字识别模型还需要继续训练,重复上述步骤继续训练即可。

上述判断最近邻的预设轮数的训练中,端到端的文字识别模型输出的各训练图片的文字区域的预测位置和真实位置、以及文字区域中包括的预测文字内容与真实文字内容是否始终一致,仅仅为一种训练截止条件,实际应用中,也可以设置训练的最大轮数阈值,采用采集的训练图片不断地继续训练,直到训练轮数达到最大轮数阈值,此时可以认为此时训练的端到端的文字识别模型输出的各训练图片的文字区域的预测位置和真实位置、以及文字区域中包括的预测文字内容与真实文字内容应该始终一致,此时可以结束训练,进而确定端到端的文字识别模型中全局特征获取模块、感兴趣区域透视变换处理模块、区域检测模块和文字识别模块中的参数,从而确定端到端的文字识别模型。

本实施例中,训练的最大轮数阈值可以设置的足够大,例如可以达到百万、千万甚至上亿以上量级,训练的轮数越大,训练的端到端的文字识别模型可以越准确。

本实施例的端到端的文字识别模型的训练过程也是端到端的训练过程,采集的训练图片中预先标注有每一个训练图片中的文字区域的真实位置和文字区域中包括的真实文字内容,便于后续与预测的信息进行对比,进而实现参数调整,达到模型训练的目的。

本实施例的端到端的文字识别方法的执行主体可以与上述图1一致,由端到端的文字识别装置一起来实现。即由端到端的文字识别装置先对端到端的文字识别模型进行训练,然后由端到端的文字识别装置基于训练好的端到端的文字识别模型,采用上述图1所示实施例的技术方案,进行文字识别。

或者本实施例的端到端的文字识别方法执行主体,也可以不同于上述图1所示实施例的执行主体,为一个独立于端到端的文字识别装置的端到端的文字识别模型的训练装置。具体使用时,由端到端的文字识别模型的训练装置先训练该端到端的文字识别模型,然后端到端的文字识别装置在识别文字时,直接调用训练好的端到端的文字识别模型,采用上述图1所示实施例的技术方案,进行文字识别。

本实施例的端到端的文字识别方法,通过获采用上述技术方案,可以训练出一个准确的、端到端的文字识别模型,可以在输入的待识别图片后,可以直接预测出文字区域的位置和文字区域中包括的文字内容,而不需要串联多个步骤实现,能够避免引入累计误差,进而能够有效地提高文字识别的准确性。且本实施例中,训练的端到端的文字识别模型不仅能够对图片中的规则文字进行准确有效地识别,还可以对图片中的非规则文字进行准确、有效的识别,进而能够有效地提高文字识别的效率,扩大文字识别模型的适用场景。

另外,本实施例中,在规则文字数据集icdar-13、icdar-15的场景下,验证本实施例的端到端的文字识别模型进行端到端文字识别的效果。具体地,在icdar-13、icdar-15检测任务上,可分别到达f-score91.3%、87.37的性能。相比现有的两阶段系统中单独检测的方法,icdar-15测试集f-score指标提升+4.13%,与公开指标最佳水平相当。

而且,本实施例中,还在非规则文字数据集total-text中验证本实施例的端到端的文字识别模型进行端到端文字识别的效果。具体地,相比公开论文baseline方法,本实施例的文字识别方案检测f-score从36%提升至63.53%,端到端指标f-score相比两阶段系统中单独检测的方法,指标提升了9%,达到54.02%,取得非规则文字集合的业绩最佳水平。

由上述可知,本实施例的端到端的文字识别模型进行端到端的文字识别方案,在规则文字数据集和非规则文字数据集中都验证其有效性,能够同时在规则文字识别和非规则文字识别中,取得公开指标的最佳水平,再次证明了,本实施例的文字识别方案的强大性能。

传统的文字识别模型,采用多个串联的步骤的处理,每个步骤对应一个独立的模块,每个中间步骤对应的模块的执行依赖于上一步骤的模块的执行结果,并影响与下一个步骤的模块的执行,这种方式中,由于一个问题需要采用多个串联的步骤来解决,属于非端到端的文字识别模型,这种文字识别模型会引入累计误差,导致文字识别的准确性差。

而由上述实施例可知,本实施例的文字识别模型为经过深度学习的端到端的文字识别模型,属于一种深度学习模型。如上述实施例所示,端到端的文字识别模型中包括的多个模块是一起训练的。在使用时,每一个模块不会单独输出结果,整个文字识别模型根据输入只输出一个最终的结果,即一个问题采用一个步骤便可以解决。例如,向该端到端的文字识别模型输入待识别的图片,该端到端的文字识别模型可以直接输出该待识别的图片中的文字区域的位置和文字区域中包括的文字内容。本实施例的端到端的文字识别模型,由于采用端到端的实现方式,不会引入累计误差,进而能够有效地提高文字识别的准确性。

图5为本发明的端到端的文字识别装置实施例一的结构图。如图5所示,本实施例的端到端的文字识别装置,具体可以包括:

获取模块10用于获取包含有文字区域的待识别的图片;

识别模块11用于采用预先训练的端到端的文字识别模型,识别获取模块10获取的待识别的图片中的文字区域的位置和文字区域中包括的文字内容;端到端的文字识别模型中包括感兴趣区域透视变换处理模块,用于对文字区域进行透视变换处理。

本实施例的端到端的文字识别装置,通过采用上述模块实现端到端的文字识别的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。

进一步可选地,本实施例中的端到端的文字识别模型中还包括全局特征获取模块、区域检测模块和文字识别模块。

进一步可选地,本实施例的端到端的文字识别装置中,识别模块11具体用于:

将获取模块10获取的待识别的图片输入至端到端的文字识别模型中,由全局特征获取模块获取待识别的图片的全局特征表达,并输出;区域检测模块根据全局特征表达,检测文字区域的位置,并输出;感兴趣区域透视变换处理模块根据文字区域的位置,从全局特征表达中获取文字区域的特征表达,并对文字区域的特征表达进行透视变换处理,得到对齐后的感兴趣区域特征表达;端到端的文字识别模块基于空间注意力机制,根据对齐后的感兴趣区域特征表达,识别文字区域包括的文字内容,并输出。

图6为本发明的端到端的文字识别装置实施例二的结构图。如图6所示,本实施例的端到端的文字识别装置,具体可以包括:

采集模块20用于采集数张训练图片,并标注各训练图片中的文字区域的真实位置和文字区域中包括的真实文字内容;

训练模块21用于根据采集模块20采集的各张训练图片、各训练图片中的文字区域的真实位置和文字区域中包括的真实文字内容,训练端到端的文字识别模型。

例如,该训练模块21用于:

将采集模块20采集的各训练图片输入至端到端的文字识别模型中,由端到端的文字识别模型输出对应的训练图片中的文字区域的预测位置和文字区域中包括的预测文字内容;

检测对应的训练图片的文字区域的预测位置和真实位置是否一致、文字区域中包括的预测文字内容与真实文字内容是否一致;

若文字区域的预测位置和真实位置、以及文字区域中包括的预测文字内容与真实文字内容中存在不一致,调整端到端的文字识别模型中的全局特征获取模块、感兴趣区域透视变换处理模块、区域检测模块和文字识别模块中的参数,使得文字区域的预测位置和真实位置、以及文字区域中包括的预测文字内容与真实文字内容趋于一致;

重复上述步骤,直到训练次数达到预设次数阈值,或者端到端的文字识别模型输出的各训练图片的文字区域的预测位置和真实位置、以及文字区域中包括的预测文字内容与真实文字内容在连续的预设次数的训练中始终一致。

本实施例的端到端的文字识别装置,可以独立存在,实现端到端的文字识别模型的训练。也可以与上述图5结合,形成本发明的一种可选实施例。

本实施例的端到端的文字识别装置,通过采用上述模块实现端到端的文字识别的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。

图7为本发明的计算机设备实施例的结构图。如图7所示,本实施例的计算机设备,包括:一个或多个处理器30,以及存储器40,存储器40用于存储一个或多个程序,当存储器40中存储的一个或多个程序被一个或多个处理器30执行,使得一个或多个处理器30实现如上图1-图4所示实施例的端到端的文字识别方法。图7所示实施例中以包括多个处理器30为例。

例如,图8为本发明提供的一种计算机设备的示例图。图8示出了适于用来实现本发明实施方式的示例性计算机设备12a的框图。图8显示的计算机设备12a仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,计算机设备12a以通用计算设备的形式表现。计算机设备12a的组件可以包括但不限于:一个或者多个处理器16a,系统存储器28a,连接不同系统组件(包括系统存储器28a和处理器16a)的总线18a。

总线18a表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算机设备12a典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12a访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28a可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30a和/或高速缓存存储器32a。计算机设备12a可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34a可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18a相连。系统存储器28a可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明上述图1-图6各实施例的功能。

具有一组(至少一个)程序模块42a的程序/实用工具40a,可以存储在例如系统存储器28a中,这样的程序模块42a包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42a通常执行本发明所描述的上述图1-图6各实施例中的功能和/或方法。

计算机设备12a也可以与一个或多个外部设备14a(例如键盘、指向设备、显示器24a等)通信,还可与一个或者多个使得用户能与该计算机设备12a交互的设备通信,和/或与使得该计算机设备12a能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22a进行。并且,计算机设备12a还可以通过网络适配器20a与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20a通过总线18a与计算机设备12a的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12a使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理器16a通过运行存储在系统存储器28a中的程序,从而执行各种功能应用以及数据处理,例如实现上述实施例所示的端到端的文字识别方法。

本发明还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所示的端到端的文字识别方法。

本实施例的计算机可读介质可以包括上述图8所示实施例中的系统存储器28a中的ram30a、和/或高速缓存存储器32a、和/或存储系统34a。

随着科技的发展,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载,或者采用其他方式获取。因此,本实施例中的计算机可读介质不仅可以包括有形的介质,还可以包括无形的介质。

本实施例的计算机可读介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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