CN110114776A - 使用全卷积神经网络的字符识别的系统和方法 - Google Patents

使用全卷积神经网络的字符识别的系统和方法 Download PDF

Info

Publication number
CN110114776A
CN110114776A CN201780080468.8A CN201780080468A CN110114776A CN 110114776 A CN110114776 A CN 110114776A CN 201780080468 A CN201780080468 A CN 201780080468A CN 110114776 A CN110114776 A CN 110114776A
Authority
CN
China
Prior art keywords
word
symbol
block
word block
dictionary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780080468.8A
Other languages
English (en)
Other versions
CN110114776B (zh
Inventor
费利佩·彼得罗斯基·萨奇
雷蒙德·普图查
弗兰克·布罗克勒
保罗·胡特考斯基
瓦特拉·辛格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kodak Alaris Inc
Original Assignee
Kodak Alaris Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/709,014 external-priority patent/US10936862B2/en
Application filed by Kodak Alaris Inc filed Critical Kodak Alaris Inc
Publication of CN110114776A publication Critical patent/CN110114776A/zh
Application granted granted Critical
Publication of CN110114776B publication Critical patent/CN110114776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/226Character recognition characterised by the type of writing of cursive writing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/147Determination of region of interest
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/16Image preprocessing
    • G06V30/166Normalisation of pattern dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18019Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
    • G06V30/18038Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters
    • G06V30/18048Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters with interaction between the responses of different filters, e.g. cortical complex cells
    • G06V30/18057Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/226Character recognition characterised by the type of writing of cursive writing
    • G06V30/2268Character recognition characterised by the type of writing of cursive writing using stroke segmentation
    • G06V30/2272Character recognition characterised by the type of writing of cursive writing using stroke segmentation with lexical matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Character Discrimination (AREA)

Abstract

本公开的实施例包括一种用于从经数字化的对象中提取符号的方法。该方法包括参照词典处理单词块。该方法包括将单词块与词典中的单词进行比较,该比较提供置信度因子。该方法包括当置信度因子大于预定阈值时输出等于该单词的预测结果。该方法包括在置信度因子小于预定阈值时评估单词块的属性。该方法包括基于单词块的属性来预测单词块的值。该方法还包括确定单词块的预测值的错误率。该方法包括输出单词块的值,该输出等于与具有最低错误率的单词块的值相对应的计算值。

Description

使用全卷积神经网络的字符识别的系统和方法
相关申请的交叉引用
本申请要求2016年11月14日提交的题为“SYSTEM AND METHOD OF CHARACTERRECOGNITION USING FULLY CONVOLUTIONAL NEURAL NETWORKS”的美国临时申请序列No.62/422,000,以及2017年6月26日提交的题为“SYSTEM AND METHOD OF CHARACTERRECOGNITION USING FULLY CONVOLUTIONAL NEURAL NETWORKS WITH ATTENTION”的共同未决的美国临时申请序列No.62/524,983,以及2017年9月19日提交的题为“SYSTEM ANDMETHOD OF CHARACTER RECOGNITION USING FULLY CONVOLUTIONAL NEURAL NETWORKS”的美国专利申请序列No.15/709,014以及2017年9月19日提交的标题为“SYSTEM AND METHODOF CHARACTER RECOGNITION USING FULLY CONVOLUTIONAL NEURAL NETWORKS WITHATTENTION”的共同未决的美国专利申请序列No.15/708,918的优先权和权益,它们的全部公开内容由此以它们的整体出于所有目的通过引用并入本文。
背景技术
1.发明领域
本公开涉及数字式字符识别。更具体地,本公开涉及用于手写文本或数字化的文本的数字字符识别的系统和方法。
2.相关技术的描述
智能字符识别(ICR)的任务是破解数字化手写文本。在某些系统中,基于位于文本块之间的空白空间提取手写文本的行和区段。从那里,可以利用基于词典的识别系统来确定文本块的上下文内容。然而,手写文本实际上具有无限种不同的样式,因为没有两个手写符号是相同一致的,并且手写文本是以转录文本的人的书写风格为基础的,因此通常与光学字符识别(OCR)相关联的传统方法可能不会产生令人满意的结果。因此,各种神经网络(例如,卷积神经网络、循环神经网络等)可以与各种技术一起使用,以改进对手写文本的识别。由于对OCR中使用的技术的依赖,这些方法可能是处理密集的,或产生不充分的结果。现在可以理解,需要手写文本的数字字符识别的经改进的方法。
卷积神经网络(CNN)彻底改革了计算机视觉和模式识别领域,特别是离线手写识别。Jaderberg等人在自然图像中使用CNN进行OCR任务。Poznanski和Wolf使用深度CNN来提取n-gram,所述n-gram馈送到标准相关分析(CCA)以进行最终的单词识别。虽然这种方法在具有固定词汇的应用中表现良好,但增加词汇的大小会显著影响性能。更重要的是,具有电话号码、姓氏、街道地址等的应用可能具有无限的词典。循环神经网络(RNN),诸如长短期记忆(LSTM)单元,将图像分割成段并将其作为输入序列进行读取。链结式时间分类(CTC)进一步消除了精确对齐的需要。Xie等人使用CNN以输入多层LSTM网络以进行手写汉字识别。类似的技术也被用于自然图像中的文本识别。
Sun等人使用深度卷积层,然后使用多维RNN。Voigtlaender等人使用交替的卷积层,然后使用多维RNN。Voigtlaender等人在段落等级上执行ICR以包括语言环境。目前的全卷积神经网络(FCN)方法采用任意大小的图像和输出区域等级分类来同时进行检测和分类。手写单词块具有任意长度,并且可以从FCN方法中受益。通过使用初始CNN来计算单词块中的符号的数目,可以将单词块尺寸调整为调整到FCN架构的标准高度。知道了平均符号宽度,该FCN然后可以在没有CTC后处理的情况下执行准确的符号预测。
离线手写识别比在线手写识别更具挑战性。在在线手写识别中,可以从笔轨迹和图像获得特征,而在离线手写识别中,仅可以使用静止图像获得特征。在这两种情况下,传统上已从数据中提取输入特征,然后使用诸如人工神经网络(ANN)或高斯混合模型(GMM)之类的分类器来估计后验概率。给出这些后验概率作为隐马尔可夫模型(HMM)的输入以生成转录。HMM的一个主要缺点是它们无法在输入数据中模拟长期依赖关系。然而,诸如长短期记忆(LSTM)单元的循环神经网络(RNN)可以帮助解决该缺点。LSTM可以模拟长依赖关系,并且已经显示出在例如语音识别、机器翻译、视频摘要等序列学习任务中的改进。
使用深度神经网络的一个优点是输入可以是未处理的数据,诸如图像的原始像素,而不是在先前的方法中提取特定的特征。到RNN的输入通常是1D(1维)的。例如,在在线手写识别中,它是笔画网格值。但在离线识别中,输入是2D(2维)图像。一种简单的方式是将图像的每一列作为1D矢量并将其馈送作为到RNN的输入。但是,这不能处理沿竖直轴的扭曲。如果像素向下移动一个像素,则相同的图像看起来会不同。处理这个问题的另一种方法是使用多维RNN,多维RNN从几个方向(例如,左、右、顶部和底部)获取上下文信息。这个想法是使用空间信息和时间信息两者。链结式时间分类(CTC)的使用使得能够在没有任何先前分段的情况下使用输入,而不是在先前方法中将输入进行强制对齐。CTC算法的一个主要优点是你不需要正确分割的标记数据。CTC算法负责输入与输出的对齐。
传统方法中的识别手写字符涉及提取用于分类的特征、提取用于分割的特征、以及解析,从而映射字符之间的空间关系以用于识别。将文本分割为行、单词和字符需要复杂的方法。分割不受约束的手写单词或字符比键入的文本困难得多,因为文本可以上下起伏。Huang和Srihari描述了一种将不受约束的文本的行分成单词的方法。他们提出了一种基于间隙度量的方法来执行分割出单词的任务。他们提取了局部特征,例如当前成对的组成部分之间的距离、前一对组成部分和下一对组成部分之间的距离、左侧组成部分和右侧组成部分的宽度和高度以及全局的组成部分,比如经分组的组成部分的平均高度、宽度以及组成部分之间的平均距离等。
一些方法不是分割单词而是分割字符。Gader等人提出利用在字符图像的水平方向和竖直方向上从背景像素移动到前景像素时的信息来进行字符分割。基于从左到右、从右到左、从上到下和从下到上方向的遍历来执行转译。每当从背景到前景遇到转译时,计算像素的位置与在该方向上跨越该图像的距离之间的比率。Liu和Blumenstein提出了使用他们称之为修改方向特征的转译和方向特征的组合进行字符识别。对于每次转译,使用成对的转译位置和转译方向进行分割。在字符识别中使用交叉特征,其中的想法是找到线与字符轨迹相交的次数。如果线在多个位置相交,则可以使用第一个和最后一个交点来描述符号的形状。
Doetsch等人提出用于英文离线手写识别的混合RNN-HMM。为了获得逐帧标注,他们将HMM应用于训练数据。然后将这些帧用作具有对应的目标标注的到RNN的输入。对系统进行训练以获得后验概率,后验概率产生用于HMM的发射概率,发射概率用于产生对于给定输入的转录。他们引入了一种新技术,通过对RNN每层中的每个门使用标量倍数来缩放LSTM存储单元的门。LSTM门的缩放技术将字符错误率(CER)降低了0.3%。Bluche等人比较了卷积神经网络(CNN)和连带HMM以进行转录的传统特征提取技术。
CNN使用滑动窗口技术工作,其中固定宽度的过滤器在图像上扫描以从中提取特征。CNN对每个过滤器的后验概率进行预测。使用这种方法的困难之一是为输入滑动窗口分配标注。在手工制作的特征上训练的GMM-HMM用于为滑动窗口部分分配标注。因此,可以端对端地训练系统,并且可以使用后验概率来估计HMM的发射概率,从而输出最终的标注序列。该技术优于传统的用于离线手写识别的特征提取方法。
Pham等人提出使用dropout的多维RNN来改进离线手写识别性能。具有dropout的RNN防止训练集上的过度拟合,类似于正则化。使用dropout可将精确度提高3%。用于离线手写识别的深度CNN也被用于除英语之外的语言。Dewan和Srinivasa使用DNN进行泰卢固语字符的离线字符识别。他们使用自动编码器,其中模型以逐层明智的方式进行训练,从而以无人监督的方式学习权重,然后通过用监督数据来训练网络进行微调。
发明内容
申请人认识到上文提到的问题,并且构思和开发了根据本公开的用于确认手写文本的系统和方法的实施例。
在一实施例中,一种用于从经数字化的对象中提取符号的方法包括分析经数字化的对象并确定行空白分隔符以形成数字化的行块。该方法还包括将数字化行块转换为由空白分隔的一个或多个单词块。该方法还包括识别每个单词块中的符号。另外,识别每个单词块中的符号包括将每个单词块转换为固定高度的标准表示。对每个单词块中的符号的识别还包括将每个符号和空格流传递到第一词典检查器中以分配最常见的单词。如果符号和空格流处在最常见的单词之中,则该方法完成,否则该方法继续。该方法还包括使每个单词块传递通过经训练以确定符号和空格的全卷积神经网络。该方法还包括传递符号和空格通过基于符号的盖然性(概率)校正。另外,该方法包括:从第一词典检查器输出一个或多个单词块中的经确定的符号、从符号特定翻译器进行输出、或其组合。
在一实施例中,一种系统包括至少一个处理器和存储器。所述存储器包括指令,所述指令在由所述至少一个处理器执行时使得所述系统接收经数字化的对象,所述经数字化的对象对应于包括至少一个符号的图像。所述系统还通过确定所述经数字化的对象中的空白分隔符而从所述经数字化的对象中形成数字化的线块。另外,所述系统将所述行块转换为由空白来分隔的一个或多个单词块,所述一个或多个单词块具有与形成该一个或多个单词块的至少一个符号相关联的值。此外,所述系统将所述一个或多个单词块的每个单词块的尺寸调整为固定高度的标准表示。所述系统还用词典评估所述一个或多个单词块的每个单词块,该词典包含常见单词的集合。另外,当所述单词块中的一个或多个单词块对应于所述集合中的单词时,所述系统输出第一单词预测结果。当所述一个或多个单词块不对应于所述集合时,所述系统还对所述一个或多个单词块的每个单词块中的多个符号和多个空白进行确定。另外,所述系统对所述一个或多个单词块中的符号进行评估,该评估对与所述一个或多个单词块中的符号相关联的值进行确认。所述系统还对所述一个或多个单词块执行盖然性校正。此外,所述系统输出第二单词预测结果,第二单词预测结果对应于所述单词块的值。
在另一实施例中,由计算机实现的方法包括获得单词块输入,所述单词块输入包括至少一个符号。该方法包括参照词典处理所述单词块,该词典包含最常见单词的集合。该方法包括将所述单词块与词典中的单词进行比较,该比较提供所述单词块对应于该单词的置信度因子。该方法还包括当置信度因子大于预定阈值时输出等于该单词的预测结果。该方法包括当置信度因子小于预定阈值时评估单词块的属性,该属性是所述单词块的长度和所述单词块中的符号的数目中的至少一者。该方法还包括基于单词块的属性来预测单词块的值。该方法还包括确定单词块的预测值的错误率,该错误率对应于被预测的单词与来自词典的一个或多个单词之间的计算差异。该方法还包括输出单词块的值,该输出等于当置信度因子小于预定阈值时与具有最低错误率的单词块的值相对应的计算值。
在一实施例中,有一种存储指令的非暂时性计算机可读存储介质,当由计算设备的至少一个处理器执行所述指令时,使所述计算设备接收对应于单词块的数字图像,该单词块包含对应于字母、数字、字符或其组合的至少一个符号。计算设备还参照包括常见单词列表的词典数据库对所述单词块进行评估,所述评估将第一预测的单词与词典单词进行比较,并在第一预测的单词对应于词典单词时输出所述词典单词。当第一预测的单词不对应于词典单词时,计算设备还对单词块中的符号的数目和单词块中的符号的值进行确定,经确定的符号的值被组合以形成第二预测的单词。另外,计算设备通过对照比较用单词的至少一部分来评估所述第二预测的单词的至少一部分以确定所述第二预测的单词的所述部分相比该比较用单词的所述部分更有可能的概率,从而对所述第二预测的单词执行盖然性校正。计算设备还基于所述盖然性校正而输出第三预测的单词,第三预测的单词对应于所述单词块的值。
附图说明
当参考实施例的以下描述和附图进行考虑时,将进一步理解本公开的前述方面、特征和优点。在描述附图中所示的本公开的实施例时,为了清楚起见,将使用特定术语。然而,本公开不旨在被限于所使用的特定术语,并且应理解,每个特定术语包括以类似方式操作以实现类似目的的等同物。
图1是根据本公开的实施例的手写文档的实施例的示意图;
图2是根据本公开的实施例的计算机系统的实施例的示意性框图;
图3是根据本公开的实施例的用于从手写文档中提取单词块的方法的实施例的流程图;
图4A是根据本公开的实施例的卷积神经网络(CNN)的基线架构的实施例的示意图;
图4B是根据本公开的实施例的卷积神经网络(CNN)的基线架构的实施例的示意图;
图5是根据本公开的实施例的用于利用CNN处理单词块的方法的实施例的流程图;
图6A是根据本公开的实施例的全卷积神经网络的实施例的示意图;
图6B是根据本公开的实施例的全卷积神经网络的实施例的示意图;
图7是根据本公开的实施例的预测卷积神经网络的实施例的示意图;
图8A是根据本公开的实施例的在池化和调整尺寸之后的单词块的实施例的形象化表示;
图8B是根据本公开的实施例的在池化和调整尺寸之后的单词块的实施例的形象化表示;
图8C是根据本公开的实施例的在池化和调整尺寸之后的单词块的实施例的形象化表示;
图8D是根据本公开的实施例的在池化和调整尺寸之后的单词块的实施例的形象化表示;
图9A是根据本公开的实施例的跨越单词块的双分接头(抽头)偶数过滤器的感受野的实施例的形象化表示;
图9B是根据本公开的实施例的跨越单词块的双分接头偶数过滤器的感受野的实施例的形象化表示;
图9C是根据本公开的实施例的跨越单词块的双分接头偶数过滤器的感受野的实施例的形象化表示;
图9D是根据本公开的实施例的跨越单词块的双分接头偶数过滤器的感受野的实施例的形象化表示;
图9E是根据本公开的实施例的跨越单词块的双分接头偶数过滤器的感受野的实施例的形象化表示;
图9F是根据本公开的实施例的跨越单词块的双分接头偶数过滤器的感受野的实施例的形象化表示;
图9G是根据本公开的实施例的跨越单词块的双分接头偶数过滤器的感受野的实施例的形象化表示;
图10A是根据本公开的实施例的跨越单词块的四分接头偶数过滤器的实施例的形象化表示;
图10B是根据本公开的实施例的跨越单词块的四分接头偶数过滤器的实施例的形象化表示;
图10C是根据本公开的实施例的跨越单词块的四分接头偶数过滤器的实施例的形象化表示;
图10D是根据本公开的实施例的跨越单词块的四分接头偶数过滤器的实施例的形象化表示;
图10E是根据本公开的实施例的跨越单词块的四分接头偶数过滤器的实施例的形象化表示;
图10F是根据本公开的实施例的跨越单词块的四分接头偶数过滤器的实施例的形象化表示;
图10G是根据本公开的实施例的跨越单词块的四分接头偶数过滤器的实施例的形象化表示;
图11A是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图11B是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图11C是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图11D是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图11E是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图11F是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图11G是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图11H是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12A是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12B是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12C是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12D是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12E是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12F是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12G是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12H是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12I是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12J是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12K是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图12L是根据本公开的实施例的跨越单词块的宽为3的奇数过滤器的实施例的形象化表示;
图13A是根据本公开的实施例的统计字符错误率分析的实施例的形象化表示;
图13B是根据本公开的实施例的统计字符错误率分析的实施例的形象化表示;
图13C是根据本公开的实施例的统计字符错误率分析的实施例的形象化表示;
图13D是根据本公开的实施例的统计字符错误率分析的实施例的形象化表示;
图14是根据本公开的实施例的用于将预测的单词返回的方法的实施例的流程图;
图15是根据本公开的实施例的用于确认手写字符的方法的实施例的流程图;
图16是根据本公开的实施例的用于使用一个或多个卷积神经网络确认手写字符的方法的实施例的流程图;
图17是根据本公开的实施例的从NIST导出的数据集生成的样本单词的形象化表示;
图18是根据本公开的实施例的利用IAM数据集上的符号序列预测模型获得的预测结果的形象化表示;和
图19是根据本公开的实施例的使用符号序列预测在RIMES数据集上获得的预测结果的示例的形象化表示。
具体实施方式
当参考实施例的以下描述和所附附图进行考虑时,将进一步理解本公开的前述方面、特征和优点。在描述所附附图中所示的本公开的实施例时,为了清楚起见将使用特定术语。然而,本公开不旨在被限制于所使用的特定术语,并且应理解,每个特定术语包括以类似方式操作以实现类似目的的等同物。
当介绍本公开的各种实施例的元件时,冠词“一”、“一种”、“该”和“所述”旨在表示存在一个或多个元件。术语“包括”、“包含”和“具有”旨在表示非排他性地包括并且意味着可能存在除所列元件之外的其他额外的元件。操作参数和/或环境条件的任何示例不排除所公开实施例的其他参数/条件。另外,应该理解的是,对本公开的“一个实施例”、“一实施方式”、“一实施例”、“某些实施例”或“其他实施例”的引用不旨在被解释为排除还包含所引用的特征的附加实施例的存在。此外,对所用的参考诸如“上方”、“下方”、“之上”、“之下”、“侧面”、“前方”、“后方”之类的术语或关于定向或方向的其他术语所进行的参考是参考所示实施例,并不旨在限制或排除其他定向或方向。
本公开的实施例涉及使用卷积神经网络(CNN)来提供自动的手写字符识别。在实施例中,实现并训练全卷积神经网络(FCNN)以学习来自数字化的手写样本中的符号并对符号进行分类。解析文本行,然后解析单词块(单词或字、电话号码、姓氏、符号组等)。可以首先将单词块重新采样到固定高度,并将其传递到第一CNN以识别常见单词(字)。如果单词块是常见单词,则完成处理。如果单词块不是常用的常见单词,则可以估计每个单词块的符号的数目并将其用于将每个单词块变形为标准形式。例如,可以基于该单词块中的符号的数目(或符号的数目的预测结果)来将单词块的尺寸调整成包括形成所述单词块的符号的标准宽度间隔。可以将单词块与相邻单词块一起传递到分层FCNN,该分层FCNN利用不同分辨率尺度的信息来确定符号序列。然后,基于字符错误率(CER)将符号序列传递到基于统计的最接近的单词匹配。通过添加、删除或替换符号,基于最小化的CER,单词块被分配与最接近的单词的概率。在提取句子中的所有单词之后,最终的循环神经网络执行基于统计的单词校正。
因为人类可以以几乎无限的方式写出相同的消息,因此手写文本的识别比机器生成的文本的识别更具挑战性,手写分析的深度学习方法可以利用基于词典(字典)的架构和循环神经网络。本公开的实施例利用全卷积网络架构输出来自于手写文本的任意长度的符号流。预处理步骤将输入块标准化为标准表示,当与多流上下文过滤器架构组合时,取消了对代价高的重复符号对齐校正的需要。当词典已知时,利用盖然性字符错误率的引入来校正错误的单词块。这种全卷积方法在基于词典和基于任意符号的手写识别上展示出了最先进的结果。
本公开的实施例包括一种不依赖于预定义的词典或上下文信息来获得基于字符的分类的方法。该方法的实施例可以可靠地预测任意来自词典的单词和符号。在某些实施例中,该方法利用:1)用于字或单词的确认的CNN架构、单词块中的符号的数目、以及通过在最后几层中添加多个流来进行准确的符号预测;2)引入盖然性字符错误率,所述盖然性字符错误率对符号的插入和删除的惩罚比符号替换更大;以及3)创建从最近发布的NIST单字符数据集派生的基于实际块的数据集。本公开的某些实施例展示了基于词典和基于任意符号的手写识别基准的最先进的结果。
本公开的实施例描述了用于从经数字化的对象中提取符号以进行字符识别的系统和方法。在实施例中,提供一个或多个神经网络例如全卷积网络的系统架构可以被用于分析数字化图像。在实施例中,这些网络确定行空白以形成数字化行块。该方法还可以包括:将数字化的行块变换为由空白来分隔的一个或多个单词块,并识别每个单词块中的符号。在实施例中,识别每个单词块中的符号包括将每个单词块变换为固定高度的标准表示。所述识别还可以包括将每个符号和空格流传递到第一词典检查器中以分配最常见的单词。如果符号和空格流是最常见的单词之一,则该方法可以结束。否则,该方法包括将每个符号和空格流传递到第二单词块描述符生成器。该方法还包括将每个符号和空格流传递到第三单词长度预测中,以将单词块尺寸调整为符号的标准宽度间隔,其中所述宽度基于单词块中符号的数目的预测结果。此外,在实施例中,该方法还包括通过确定符号和空白的经训练的第四全卷积神经网络来传递每个经调整尺寸的单词块以及单词块描述符。该方法还可以包括通过基于符号的盖然性校正来传递符号和空格。另外,该方法可以包括输出来自于第一词典检查器、符号特定翻译器或其组合的单词块中的经确定的符号。
本公开的实施例描述了用于预测来自于手写文本的单词和/或符号的系统和方法。在实施例中,单词和/或符号可包括短语、地址、图形、特殊字符或其组合。在实施例中,经数字化的对象包括电子或数字捕获。非限制性示例包括电子图像(例如,JPEG、TIFF、GIF等)、PDF、照片、屏幕截图、数字表示或对象表示的数字编码(例如,源代码或html)。在实施例中,分析经数字化的对象的空白分隔符以形成数字化行块。此后,数字化行块可以被转换为一个或多个单词块。在实施例中,由于通过空白的分隔而确认单词块。此后,可以利用诸如FCNN、CNN等的神经网络来评估和识别所述单词块中的符号。例如,可以将单词块变换为固定高度的标准表示。此外,可以将形成单词块的符号和空格流传递到第一词典检查器中,以将最常见的单词分配给所述单词块。也就是说,可以分析单词块并将该单词块与词典中的常见单词进行比较。在存在匹配的实施例中,该过程可以停止并且可以输出经匹配的单词。否则,单词块可以被传递通过经训练以确定符号和空格的全卷积神经网络。另外,在实施例中,盖然性校正可以应用于由神经网络识别的符号。此后,从第一词典检查器、从符号特定翻译器或其组合输出单词块中的经确定的符号。
在某些实施例中,CNN可以包括长度预测,以将单词块尺寸调整为符号的标准宽度间隔。所述宽度可以基于单词块中符号数目的预测结果。另外,在某些实施例中,可以从单词块中删除重复的符号。系统可以通过评估符号出现的比例可能性来确定符号是重复的可能性。例如,当评估英语中的单词时,“qq”可能是极不可能出现的,从而提供“qq”的评估包含重复这种高可能性。此外,可以使用其他适应方法来确定重复。另外,在实施例中,可以使用空格预测和长度预测来将单词块尺寸调整为标准宽度。例如,符号之间的空格预测可用于对每个符号的宽度的尺寸进行调整,使得每个符号具有相等的宽度。
在某些实施例中,LSTM可用于清理来自FCNN的输出。例如,可以通过将拼写错误与该拼写错误最接近的正确单词进行匹配来训练LSTM。可以改变与LSTM一起使用的词典尺寸以适应特定需要或任务。还可以使用迭代最近的字符错误率(CER)来清理FCNN的输出。例如,通过插入、删除、或替换符号以匹配基于每个符号的概率(盖然性)的单词块的词典,从而将单词概率分配给每个单词块。
还应当理解,某些实施例包括基于CNN感受野预测器而变化的FCNN的感受野。在某些实施例中,FCNN符号预测器使用感受野的层级来进行预测,由此感受野的层级可以包括每个目标符号之前和之后的一个或多个符号的多个部分。另外,感受野的层次可以包括每个符号之前和之后的一个或多个单词块的多个部分。而且,在某些实施例中,即使单词块出现在不同的行上,感受野的层级也可以包括每个符号之前和之后的一个或多个单词块的多个部分。此外,在某些实施例中,即使句子出现在不同的行、段落或页面上,感受野的层次也可包括每个符号之前和之后的一个或多个句子的多个部分。
在某些实施例中,FCNN符号预测器可以扫描成批的表格并使用从一种表格到下一种表格的相关统计来进行符号预测。例如,所述成批的表格可以具有基本相同的排布,其中每种表格上的第一个单词总是或基本上总是相同的。因此,符号预测器可以确定每种表格上第一个单词是相同的可能性是非常可能的。
本公开的实施例可以包括一符号预测器,该符号预测器使用第一CNN检测器来确定单词块的类别。非限制性示例包括ICRv.OCR、字体类型、语言、手迹(例如,草书与非草书)。通过对所述类别进行预处理和确定,可以限制对FCNN符号预测器的调整,因为可以基于所述类别将所述单词块指向适当的预测器。
在某些实施例中,后处理步骤可以使用盖然性字符错误率(CER)将单词块匹配到单词的词典,所述盖然性字符错误率包括符号概率、来自CNN单词分类器的单词概率、来自CNN单词长度预测器的长度预测器、单词块类型分类器、单词块的先验统计概率、和/或诸如句子中的单词的上下文概率。在某些实施例中,盖然性CER对符号的插入和删除的惩罚比对符号替换的惩罚更大。
本公开的实施例还可以涉及一种用于生成手写文本的单词块的预测结果的机器。在实施例中,所述机器与一个或多个词典数据库通信,该词典数据库具有常见单词和/或与该常见单词相关联的较不常见的单词。该机器可以包括一个或多个处理器,诸如微处理器,以及对将由所述一个或多个处理器执行的指令进行储存的一个或多个非暂时性存储器。在某些实施例中,所述机器包括输入/输出单元,所述输入/输出单元可以与所述一个或多个处理器、一个或多个存储器和/或词典数据库进行通信。在某些实施例中,一个或多个存储器包括存储在该存储器上的指令,例如以定义经数字化的对象分析器的计算机程序的形式存储在该存储器上的指令。经数字化的对象分析器(其可以是计算机程序)可以包括分析数字对象从而确定一个或多个行空白分隔符的指令。它还可以生成数字化的行块。这些数字化的行块可以被变换成由空白所分隔的一个或多个单词块。在实施例中,机器还包括单词块预测器,其可以是存储在一个或多个存储器上的计算机程序,单词块预测器具有将一个或多个单词块的每个单词块变换为固定高度的标准表示的指令。另外,单词块预测器可以将一个或多个单词块的每个符号和空格流传递到第一词典检查器中,第一词典检查器与包括与符号流进行比较的常见单词的列表的词典数据库进行通信。在某些实施例中,如果一个或多个单词块的符号和空格流对应于所述词典数据库中的单词,则单词块预测器输出词典预测的单词。此后,单词块预测器可以通过全卷积神经网络传递所述一个或多个单词块的每个单词块,以在所述一个或多个单词块的符号和空格不对应于词典数据库中的单词时确定所述一个或多个单词块的符号和空格。单词块预测器还可以对所述一个或多个单词块的符号和空格执行盖然性校正,从而生成预测的单词。此外,单词块预测器可以输出所述一个或多个单词块的经预测的单词。以这种方式,可以分析和预测手写文本。
图1是具有多行文本12的手写文档10的实施例的示意图。如图1的实施例所示,手写文档10是具有沿着手写文档10的各个部分排列的多行文本12的会议议程。此外,手写文档10包括贯穿于整个文本12的行定位的标点符号14。例如在所示实施例中,标点符号14包括句点、逗号、分号等。然而,应当理解,也可以使用其他标点符号14,例如括号、圆括号、感叹号、问号等。此外,在一些实施例中,诸如和符号(&)、英镑符号或井号、美元符号等的符号也可以被认为是标点符号14,这些标点符号的目的是用于从文本12的行中分析和分离单词块。如下面将详细描述的,可以分析和处理手写文档10的文本12的行,以将文本12的行分成单词块以供进一步处理。
图2是可用于执行一个或多个计算机操作以便使图像进行数字化、从该图像中提取单词或短语、并随后处理所述单词或短语以确认手写文本的计算机系统20的示意图。在所示实施例中,计算机系统20包括存储器22、处理器24、输入设备26和输出设备28。例如,在某些实施例中,存储器22可以是非暂时的(不仅仅是信号)有形的计算机可读介质,诸如光盘、固态闪存等,存储器22可包括可由处理器24执行的可执行指令。如下面将详细描述的,存储器22可以从用户接收一个或多个指令以访问和执行存储在该存储器中的指令。
此外,如图2所示,输入设备26以通信的方式耦合到存储器22和处理器24,并且该输入设备26可以包括:照片扫描仪,耦合到诸如个人电子设备、相机、平板电脑、电子绘图板等设备的通用串行总线(USB)接口,或其他通信输入设备,诸如以太网电缆。此外,在某些实施例中,输入设备26可以是无线通信设备,诸如蓝牙收发器、近场通信收发器、无线互联网收发器等。以这种方式,计算机系统20被配置成经由输入设备26从计算机系统20外部的设备和文档接收信息。
另外,在图2所示的实施例中,计算机系统20包括输出设备28。例如,输出设备28可以是屏幕(例如,监视器),以使用户能够观察和/或查看来自计算机系统20的信息。例如,输出设备28可以用于执行CNN的初始学习协议,以便能够对手写文档10进行后续分析和处理。此外,输出设备28可以用于与计算机系统20交互,使得用户可以向计算机系统20提供指令。
图3是用于从手写文档10提取文本区域成为一个或多个单词块的方法40的实施例的框图。在所示实施例中,方法40开始于获得数字图像(框42),例如经由输入设备26获得数字图像。在某些实施例中,用户可以扫描物理文档,诸如用于在存储器22中存储(永久或临时存储)的发票、税务文档、问卷调查表等。这样,可以将具有手写文本的一次物理文档转换为数字图像以供进一步处理。此外,在某些实施例中,数字图像可以从任何在线内容、任何类型的数字捕获诸如照片或视频等获得。接下来,可以从手写文档10中提取文本区域(框44),例如通过利用计算机系统20从手写文档10中提取文本区域。例如,可以利用基于区域的分类器或基于像素的分割来从手写文档10中提取文本区域。该文本区域可以被称为文本块并且包含一个或多个单词块,如下所述。随后,可以利用这些文本区域(例如,文本块,单词块等)来确定文本的语言、文本的手迹或笔迹(例如,草书的、印刷的或其组合),以及该文本是否包含字母、数字、符号或其组合。然后,在某些实施例中,在框44处获得的文本区域可以被分成文本行(框46)。例如,可以使用修改的XY树或类似方法将文本区域分成文本行。此后,将文本行分成单词块(框48),例如,通过修改的XY树或类似物将文本行分成单词块。如这里所使用的,单词块是由空白分隔的一串符号(诸如字母、标点、数字、特殊字符等)。单词块可以由单词、电话号码、姓氏、首字母缩略词等形成。如下所述,可以将单词块输入CNN以供稍后评估和确认。因此,可以存储单词块以供以后使用(框50)。应当理解,在某些实施例中,可以使用一个或多个标点检测器来执行附加的处理以检测和存储一串单词块以形成句子,并且在某些实施例中,可以通过检测和存储句子来形成段落。以这种方式,可以对文本进行分离和隔离以便以后通过CNN进行处理。
在某些实施例中,CNN可以被称为全卷积网络(FCN)。此外,在某些实施例中,FCN可以是视觉几何组(VGG)CNN网络的变体。例如,通过池化操作来分离一组或多组(3×3过滤器)卷积层。经输入的单词块首先被传递到对单词块中的符号的数目N和单词进行预测的第一CNN。图4是说明所使用的基线架构的示意图。从输入层开始,该架构为C(64)-C(64)-C(64)-P(2)-C(128)-C(128)-P(2)-C(256)-C(256)-P(2)-C(512)-C(512)-C(1024,4×4,1×2)-C(1024,3×9,0×4)-C(111,1×1,0×0),其中C(d,h×w,padh×padw)表示具有空间尺寸为h×w(默认3×3)的步长为1的d个过滤器的卷积层,其具有padh×padw填充(默认1×1),并且P(s)是步长s的s×s池化层。
在图4A和图4B所示的实施例中,单词块60是指向CNN的输入。在所示实施例中,单词块60可以是32×128×1的输入图像(图像高×图像宽×图像深)。默认架构将32×16N输入图像缩小为(2N+1)×111的预测结果,其中111是符号的数目(该符号可包括大小写英文和法文字母、数字和特殊字符)。
关于图4A和图4B,卷积层是将卷积过滤器应用于输入图像。例如,卷积1a(conv1a)即第一卷积操作是3×3×1(过滤器高×过滤器宽×过滤器深)过滤器。如果输入图像是32×128×1(图像高×图像宽×图像深)(在某些实施例中为32×16N×1),则卷积操作将产生30×126×1图像。维度的变化是因为要应用3×3过滤器,将跳过第一个像素、最后一个像素、最左侧的像素和最右侧的像素。尺寸的变化是不方便的。为了避免这种不便,可以在卷积之前用零填充输入图像。默认填充1×1表示沿着顶部和底部添加“1”行的零,在左侧和右侧添加“1”列的零。利用该填充,32×128的输入图像高度和宽度(在某些实施例中为32×16N)在3×3过滤器之后保持不变。存在64个卷积1a过滤器,每个过滤器输出32×128的图像(在某些实施例中为32×16N),其被称为激活图。在卷积1a之后,我们具有32×128×64的图像(在某些实施例中为32×16N×64)。下一个卷积操作即卷积1b(conv1b)也是3×3过滤器,但改变深度以匹配其输入图像的深度,在这种情况下深度为64,因此卷积1b中的过滤器为3×3×64。填充再次在顶部和底部添加一行的零,在左侧和右侧添加一列的零。在填充之后,将34×130×64的图像用3×3×64过滤器进行卷积。每个过滤器产生单个32×128激活图(图像)。存在(再次)64个卷积1b过滤器,因此该级的输出是32×128×64的图像(在某些实施例中为32×16N×64),其将所有64个激活图堆栈成单个图像。
池化可以减少激活图堆栈的宽度和高度,但不会降低深度。例如,最大池1操作将图像从32×128×64(在某些实施例中为32×16N×64)减小到16×64×64的图像(在某些实施例中为16×8N×64)。进行池化的一种方法是使用最近邻过滤、线性过滤、立方过滤等来对图像进行重新采样。另一种方法是使用最大池化。最大池化将输出像素指定为来自像素的感受野的最大值(就像素代码值而言)。使用步长为s的s×s的池化层进行的池化将宽度和高度减小了s倍。如果s=2,则输入图像的每个2×2区域被缩减为单个像素,其中像素代码值是被输入的2×2区域的最大代码值。
在CNN的层之间插入非线性操作。就像一系列矩阵倍数可以用单个矩阵操作代替一样,一系列CNN层与单层近似。通过插入非线性层,CNN可以接近更复杂的功能。整流线性单元或ReLU是图4A和图4B中使用的非线性实施例。ReLU操作将所有小于零的输入值替换为等于零,同时保持所有正输入不变。
在应用图4A和图4B中的一系列卷积和池化操作之后,根据输入图像是32×128×1还是32×16N×1,所得到的传递到预测层的图像的分辨率是4×16×512或4×2N×512。
在某些实施例中,第一CNN,诸如图4A和图4B中所示的CNN,可以用于确认单词块。图5是用词典CNN评估单词块以确定单词块60的手写文本的方法80的实施例的流程图。方法80以上面图3中描述的用于提取文本区域的方法40开始。例如,手写文档10将被数字化并被处理以生成单词块60。接下来,将调整单词块60的尺寸(框82)。例如,在某些实施例中,单词块60将被调整尺寸为32×128。结果,可以使用相同的CNN来评估不同尺寸的单词块60,而不考虑文本的尺寸。此后,单词块60由CNN处理,例如,有类似于图4A和4B中描述的CNN的CNN来处理(方框84)。第一CNN可以预测源自词典的哪个单词已经被输入、单词的长度、或它们两者。此后,分析单词块60以确定形成单词块60的字符和/或特征是否是可确认的(操作86)。例如,在某些实施例中,CNN可以包括包含常见单词数据库的字典或词典(例如,语言中最常见的500个单词,语言中最常见的600个单词,语言中最常见的700个单词,语言中最常见的800个单词,语言中最常见的900个单词,或常见单词的任何合适尺寸的数据库)。当单词块60由CNN处理时,可以参照常见单词的数据库评估该结果,以确定是否需要进一步处理。例如,如果单词块60是可确认的(线88),则在词典中找到的值作为输出而返回(框90)。然而,如果单词块60不可确认(线92),则单词块60准备好做进一步处理,例如,在另一CNN中做进一步处理(框94)。应当理解,在某些实施例中,其他CNN可以是与先前处理单词块60相同的CNN,然而,该CNN具有不同的输入尺寸或输出预测器,诸如能确定单词块60中的符号的数目。以这种方式,可以评估和处理来自手写文档10的手写文本。
在某些实施例中,如上所述,CNN可以包括一个或多个卷积步骤、一个或多个非线性步骤、和/或一个或多个池化步骤,以便处理单词块60。用于词典预测的一种架构是C(64)-C(64)-C(64)-P(2)-C(128)-C(128)-P(2)-C(256)-C(256)-P(2)-C(512)-C(512)-FC(2018)-Dropout(0.5)-FC(V),并且用于长度预测的一种架构是C(64)-C(64)-C(64)-P(2)-C(128)-C(128)-P(2)-C(256)-C(256)-P(2)-C(512)-C(512)-FC(256)-FC(64)-Dropout(0.5)-FC(d),其中FC(x)是具有x个过滤器的全连接层。对于字典预测,V是词典的大小。对于长度预测,d=32,给出32个类别;能够预测1-32的序列长度。
应当理解,在某些实施例中,在执行图5中描述的方法80时,可以评估某些参数和/或置信度以确定单词块60是否是可确认的。例如,如果该第一CNN的置信度大于τ,则单词块60已被译解并且程序退出,如上所述。如果置信度小于T,则使用块长度CNN来预测N,其中N是单词块60的符号的数目。例如,块长度CNN的输出被重新采样使单词块60变为32×16N像素,其中N是从第一CNN报告的符号数目。该重新采样的单词块被输入到第二CNN。在某些实施例中,第二CNN被称为符号CNN并且是全卷积的。全连接的层用全卷积层替换,用-FConv(256,4,w)-FConv(256,1,7)-FConv(SymLength,1,1)-SoftMax替换,其中,FConv(d;h;w)是具有步长为1的空间尺寸(h×w)的d个过滤器的全卷积层,如图6A和图6B中所示的全卷积层的实施例所示。
图6A和图6B是图4A和图4B的预测步骤的示意图,表示基于上面参考图5(图6A)和符号长度预测(图6B)描述的词典查找的输出。如图6A所示,在某些实施例中,通过CNN的处理可足以基于与具有最有可能出现在给定的语言中的多个预先存储的单词(例如,800个单词)的词典的比较来预测单词块60的输出。如图6A中描绘的实施例中所示,输入从图4A和4B中所示的CNN继续,并且fc_final包括4×16×512的输入。在所示实施例中,过滤器的尺寸与图像的尺寸相同。因此,在过滤之后,因为过滤器与输入图像的尺寸相同,因为过滤器将不会在左右方向或上下方向上滑动,所以输出将具有1的高度和1的宽度。随后使用图示的FC_分类SoftMax(FC_classify SoftMax)处理输入。如图所示,FC_分类SoftMax步骤是全连接的,此后该输出将产生预测的单词。以这种方式,如上所述,可以由CNN评估和预测单词块60中的手写文本。
在图6B所示的实施例中,预测单词块60中的符号数目N。例如,如上所述,如果基于词典CNN的预测的置信度小于给定阈值,则可以进一步评估该图像以使得能够确定单词块60中的符号的数目并随后预测形成单词块60的字母、数字、字符等。在所示实施例中,图4A和4B中所示的CNN的预测步骤被称为块长度并被用于确定单词块60中的符号数目。在所示实施例中,初始输入是4×16×512。如上所述,在fc_fmal步骤期间应用的过滤器与输入图像的尺寸是相同的,因此,输出的高度为1,宽度为1,因为过滤器无法在左右方向或上下方向上滑动。如图所示,在块长度预测器中使用全连接的隐藏层FC。此后,FC_分类SoftMax对该图像进行处理并输出所述单词块60的长度,即,形成单词块60的符号的数目(N)。如下所述,因为可以预测符号的数目,所以使用CNN(例如,图4A和4B中所示的相同CNN)的后续处理可以用于预测单词块60的内容。在某些实施例中,符号长度(SymLength)是字母表中的独特字符(大写/小写、数字、标点等)的数目,对于英语识别来说该数目默认为96。然而,应该理解,符号长度可以是独特字符的任意数目,诸如80、90、100、200、300、400或任何合适的数目。此外,宽度w可能因文档而异。
图7是用于符号预测的全卷积层的示意图。在所示实施例中,图7可以是图4A、图4B、图6A和图6B中所用步骤的延续。换句话说,在CNN中处理所述图像之后,可以利用图7中所示的图表来预测形成单词块60的符号,并且利用CNN来确定形成单词块60的符号的数目。在所示实施例中,标记为“分割”的三个箭头将单个输入分割成由箭头表示的三个不同的流。在某些实施例中,三个不同的流是相同的或基本相同的。如图7所示,4×2N×512缓冲区被分割成三个流,然后在最终的fc_分类层之前通过连接进行合并。在所示实施例中,图像被分割以形成4×2N×512的图像。尽管三个流中的每一个流具有相同或基本相同的配置,但在连接之前,上面的流向左移动一个像素并且下面的流向右移动一个像素。具体来说,上面的流2N x 256缓冲区向左移动,用零填充最左侧的列,并丢弃最右侧的列。下面的流类似地移动,但方向相反。移动使得中间流能学习大致居中的符号或基本上居中的符号,并且上面的流和下面的流学习位于偏离其中心位置的右侧/左侧的符号。应当理解,在某些实施例中,符号的居中可以被称为“完全居中”,然而,这不应该被解释为意味着该符号必须精确地沿着轴线居中。相反,“完全居中”应该被理解为包括基本上居中或大致居中,以及在给定范围或公差内的近似居中。
在所示实施例中,应用于经输入的图像的过滤器具有与该经输入的图像相同的高度和深度,因此,过滤器不能在图像的上下方向或内外方向上移动。但是,过滤器可以在图像上沿左右方向滑动。结果,输出的高度为1,且宽度为2N-1。在所示实施例中,随后的卷积步骤使用尺寸为1×7×256的过滤器进行。该过滤器添加符号(向左或向右最多三个)以扩展感受野。换句话说,扩展的感受野将上下文添加到被评估的符号以考虑边界线内的潜在错误。也就是说,因为符号可能不全部都是相同的宽度(例如,小写字母“m”比小写字母“1”宽),所以扩展的过滤器用于考虑宽度中潜在的差异以改善符号的检测和评估。因此,过滤器的尺寸不仅考虑了对齐失配,而且提供了细节笔划信息以及上下文相邻笔划信息。在所示实施例中,过滤器沿着单词块60滑动并对零填充进行应用,使得输出宽度与输入宽度相同。换句话说,在所示实施例中,来自fc_2a卷积步骤的输出是1×2N-1×256。此后,在所示实施例中,利用FC_分类SoftMax对所述三个流进行重新组合和评估,以返回对形成单词块60的符号的预测结果。此外,应当理解,在某些实施例中,可以结合与先前使用的CNN相同的第四CNN,以预测单词块60中的空白。例如,第四CNN或空白预测可以修改和/或扭曲所述单词块60,使得每个符号具有相同的宽度,例如,16个像素的宽度。在某些实施例中,在由符号CNN处理单词块60之前,将空白预测应用于单词块60,从而使CNN能够确定单词块60中的空格空间。
图8A至图8D是在池化和调整尺寸之后作为单词块60的手写文本的单词“meet”的实施例的形象化表示。在所示实施例中,图8A示出了具有尺寸为32×16N像素的单词“meet”,但是应当理解,在某些实施例中,单词块60的尺寸可以不同。此后,图8B示出了在利用上述CNN进行处理之后的单词块60。在所示的实施例中,假设N为4,因为图8A示出了单词块60中的4个不同字符。此外,单词块60的尺寸是4×8(例如,4×2N,其中N是4)。如图所示,虚线110将图像沿纵轴分成8个部分。此外,在某些实施例中,如图8C和8D所示,单词块60可以被输出为32×24N的图像,设想其被处理为4×12图像。结果,图8D示出了虚线110沿着纵轴将该图像分成12个部分。以这种方式,可以准备单词块60用于过滤。
在图8A至图8D中所示的实施例中,示例单词块60中的符号不具有相等的宽度。尽管平均上,偶数分接头卷积过滤器在符号和空白上交替对齐,可以看出基本上完美的对齐(例如,在符号上居中)要求每个符号具有相同的宽度。当过滤器步进跨越单词块60时,更宽的过滤器确保完整且基本上完整的符号处在感受野中。多个感受野的连接允许符号生成以检查细节笔划信息以及相邻的笔划信息。给定足够的训练样本,符号与偶数过滤器对齐不会造成符号识别问题。
图9A至图9G是步进跨越宽为16N的单词块60的双分接头偶数过滤器120的感受野的形象化表示。如图9A至图9G所示,平均上,过滤器120在空格符号上居中。也就是说,当过滤器120沿着单词块60在由虚线110分开的区域122之间转译时,过滤器120或者在字母上居中(例如,如图9A中所示,在字母“m”上居中)或者在空格空间上居中,例如,如图9B。如上所述,在某些实施例中,图9A-9G中所示的步长是一。因此,在图9A中,过滤器120位于区域122a和122b上方。此后,在图9B中,过滤器120位于区域122b和122c上方。因此,过滤器120经过单词块60上方,使得每个相应的区域122由该过滤器120评估。以这种方式,单词块60可以由CNN处理以确定形成所述单词块60的字符。
图10A至图10G是步进跨越与图9A至图9G中所示相同的宽为16N的单词块60的四分接头偶数过滤器130的感受野的形象化表示。在所示实施例中,平均而言,过滤器130在符号或空格上居中。如图10A所示,四分接头偶数过滤器130包括填充(padding)以过滤形成单词块60的最左边和最右边的符号。利用填充来允许对最左边和最右边的符号进行过滤。在所示实施例中,在单词块的任一侧使用Fw/2-1的填充,其中Fw是过滤器的宽度。当得到的偶数卷积过滤器步进跨越所述单词块时,该偶数卷积过滤器将在N个符号和N-1个空格上居中或基本上居中。例如,4×4×512的过滤器将导致缓冲宽为2N-1。也就是说,在某些实施例中,过滤器130可以延伸超出单词块60的宽度。如图10A所示,过滤器130位于区域122a、122b和122c上方,由此识别来自单词块60的字母“m”。类似于图9中描述的实施例中使用的过滤器120,过滤器130的步长为1,因此,图10B示出了位于区域122a、122b、122c和122d上方的过滤器130。另外,在图10B中,过滤器130将空格返回。这样,当过滤器130步进跨越单词块60时,过滤器130将在N个符号和N-1个空格上居中。因此,当过滤器130跨越单词块60移动时,随后评估和识别形成单词块60的字符,从而使CNN能够确定形成单词块60的字符。
图11A至图11H是图9A至图9G和图10A至图10G中所示的16N的单词块60上的宽为3的奇数过滤器140的感受野的形象化表示。在所示实施例中,过滤器140不在符号上居中。例如,如图11A所示,过滤器140位于区域122a和122b上方以使字母“m”返回。另外,当过滤器140以步长为1来移动时,图11B示出了位于区域122a、122b和122c上方的过滤器140。如图所示,过滤器140内的区域包括“m”和之间的空间。
图12A至图12L是24N的单词块60上的宽为3的奇数过滤器146的感受野的形象化表示。在所示实施例中,当过滤器140步进跨越单词块60时,过滤器140在符号上居中,但是,每个符号之间有两个空格。例如,如图12A所示,过滤器140位于区域122a和122b上方,从而将空格返回。当过滤器140以步长为1来步进时,过滤器140定位在区域122a、122b和122c上方,从而将“m”返回,如图12B所示。随后,当过滤器140以步长为1步进通过单词块60时,CNN将评估每个符号,从而使CNN能够确定形成单词块60的字符。在所示实施例中,当全卷积过滤器步进跨越所述单词时,偶数分接头过滤器在每个符号上居中,而奇数过滤器则不会,或者奇数过滤器在每个符号预测结果之间生成多于一个空格。尽管奇数过滤器在信号处理域中更常见,但是在某些实施例中使用偶数过滤器,因为,1)平均而言,2N+1个评估中的每一个评估在符号或空格上居中,以及2)在每个符号预测之间只有一个空格预测。当全卷积过滤器步进跨越所述单词时,偶数分接头过滤器在每个符号上居中,而奇数过滤器则不会,或者奇数过滤器在每个符号预测之间产生多于一个的空格。尽管奇数过滤器在信号处理域中更常见,但是在一些实施例中可以使用偶数过滤器,因为,1)平均而言,2N+1个评估中的每一个评估在符号或空格上居中,以及2)每个符号预测之间只存在一个空格预测。
在某些实施例中,来自CNN的符号串可以是单词、电话号码、街道地址等。在某些实施例中,符号串表示难的、拼写错误的或缩写的单词。另外,在某些实施例中,形成单词块的符号串或字符串可以被称为该单词块的“值”。例如,图8A至图8D中所示的单词块60可以具有等于“meet”的值。换句话说,该值是形成单词块60的预测的单词或符号。因此,如果存在有效单词块的词典,则利用符号概率和字符错误率的后处理操作可以被用来确认形成单词块60的符号。预处理CNN可以检测文本块的类型,例如,利用第四CNN来检测文本块的类型。例如,如果它检测到地址,则可以将对应于门牌号或邮政编码的单词块传递到数字词典分类器中。类似地,可以对预处理CNN进行修改以输出数字、首字母缩略词、标点等的单词块类别,这可以用于约束稍后的符号处理,或甚至检测语言或OCR vs.ICR和块对比笔迹,以指导后期处理。
在某些实施例中,归一化的字符错误率(CER)由等式(1)表示。
在等式(1)中,R是被替换的字符的数目,I是被插入的字符的数目,D是被删除的字符的数目,C是正确字符的数目。在某些实施例中,CER可以用在已知的有限的词汇匹配系统上。为了提高具有已知的有限的词汇的应用程序的性能,基于CER的词汇匹配系统可以使用动态编程以及等式(2)。
Ci,j=min(Ci-1,j+1,Ci,j-1+1,Diag) (2)
其中:
例如,可以计算CNN的输出与词汇中的每个单词之间的CER。可以选择具有最低CER的单词作为预测结果。然而,这种方法可能忽略由CNN计算的信息,因此,可以利用字符盖然性(概率)来改进预测建模。在某些实施例中,这被称为“盖然性CER”并且使用字符盖然性代替简单地顶部字符预测。例如,对于每个被替换的字符,错误等于1减去替换字符的概率。对于被删除的字符,错误等于1减去空格的概率。对于被插入的字符,错误等于1减去被插入的字符的概率。此外,在某些实施例中,与替换相比,存在对插入和删除的加权惩罚。例如,插入和删除相比替换而言加大了惩罚。然后选择具有最小CER错误的单词作为预测结果。此外,与CER一起,该方法还可以报告单词错误率(WER)。在某些实施例中,WER确定系统的平均的单词水平上的精确度。
图13A至图13D是基于等式(1)的CER计算的实施例的形象图。在所示实施例中,使用动态编程和等式(2)在单词“tymme”和单词“time”之间预测CER错误。图13(a)至图13(d)示出在所述计算的一个步骤之后,在完成“t”之后,在完成第一个“m”之后,以及2个单词分别的CER的最终指示。
图14是用于利用CNN和CER将预测的单词返回的方法150的实施例的流程图。在某些实施例中,可以在执行方法150之前执行用于评估单词块60的方法80。具体地,可以在图5的框94之后执行方法150。此后,将单词块60进行变换(框152)。例如,可以基于长度预测将单词块60变换为标准形式。因此,基于预测的多个符号,单词块60将被变换为标准高度和宽度。接下来,通过CNN处理单词块60(框154)。在某些实施例中,如上所述,可以利用单个CNN来执行单词块60的评估的多个步骤。此后,例如使用交叉验证参照阈值τ来评估单词概率(操作156)。可以基于被输入的学习数据集或语言的统计分析来确定单词概率。例如,在某些实施例中,单词“the”比普通语言中的单词“encyclopedia”更常用。因此,在统计上单词“the”比单词“encyclopedia”更可能出现在手写文本的样本中。因此,概率可以基于一种或多种语言的统计分析而变化。此外,还可以基于正在处理的文档的类型来生成概率。例如,纳税申报的数字概率可能高于购物清单。如果单词概率大于阈值(线158),则将在词典中找到的值返回(框160)。然而,如果单词概率小于阈值(线162),则评估所述单词块60以确定它是否在词典中较不常见(操作166)。如果是(线168),则使用单词块预测结果(框170)。如果不是(线172),则将预测的单词返回(框174)。以这种方式,CER和CNN可以一起用于预测来自手写文档的单词。此外,利用图14中描述的方法的实施例能够使得更明显、容易地预测单词,并将所预测的单词快速有效地返回。例如,如上所述,如果单词被容易且确信地确认为在常用词典中,则可以将词典中的值返回。然而,如图14中描述的实施例中所示,如果在词典CNN中不容易确认该单词,则可以使用第二CNN(在某些实施例中,第二CNN可以是与第一CNN相同的CNN)。在某些实施例中,第二CNN可以使用更大的处理资源,因为单词块60是不太常见的单词。如下所述,在某些实施例中,如果不能利用词典确认单词块60,则可以使用符号识别。换句话说,可以评估单词块60以预测形成该单词块60的单词或符号。
图15是使用CNN确认手写字符的方法180的框图。如上面详细描述的,用于提取文本、评估该文本和预测单词的方法可以用于将单词(例如,经预测的单词或在词典中找到的值)返回。例如,方法40可以被执行并且后续跟随方法80,如图13A-13D所示。因此,可以从文本块中提取单词块60,并且随后通过CNN(诸如词典CNN)来评估所述单词块60。此后,方法150可以用于评估经提取的文本并确定是否将被预测的单词或在词典(诸如词典CNN)中找到的值返回。以这种方式,可以评估手写文本块。
图16是用于利用一个或多个CNN来分析手写文本的方法190的框图。首先,将单词块60输入到CNN(框192)。例如,可以处理所述单词块60并将其调整尺寸为输入图像,使得CNN可以对所述输入图像执行一个或多个卷积步骤、非线性化步骤和/或池化步骤。接下来,可以用词典CNN分析所述输入图像,以确定所述输入图像是否易于确认为常用单词(框194)。例如,CNN可以处理所述输入图像并将所述输入图像与词典数据库中的单词进行比较。此后,可以对照阈值或置信度因子来评估所预测的单词(操作196)。如果所预测的单词高于阈值或置信度因子(线198),则输出所预测的单词并且结束该过程(框200)。然而,如果所预测的单词低于阈值或置信度因子,或者以其他方式无法确信地确定所预测的单词(线202),则在CNN中重新处理所述输入图像以在该CNN中确定符号的数目(框204)。接下来,CNN(例如,块长度或符号CNN)用于确定单词块60中的符号的数目(框206)。此后,由CNN(例如,第三CNN或预测符号CNN)评估来自第二CNN的输出,以评估单词块60中的各个符号以进行预测(框208)。第三CNN评估单词块60中的符号(框210)。例如,如上面参考图7详细描述的那样,第三CNN可以分割该输入并利用零填充来执行过滤以分析该符号。然后,执行CER以评估所预测的文本(框212)。例如,等式(1)和等式(2)可用于执行CER。此后,可以输出所预测的文本(框214)。以这种方式,可以分析和预测手写文本(例如,单词、符号、数字等)。应当理解,在某些实施例中,单词预测结果可以指形成单词块的单词的“值”或符号的“值”。此外,如上所述,应当理解,在某些实施例中,可以利用单个CNN架构来执行每个步骤。也就是说,对“第一CNN”或“第二CNN”或“第三CNN”的引用不应被解释为表示不同的架构或代码结构。实际上,CNN可以重复使用多次以获得期望的结果。
如上面详细描述的,本公开的实施例可以用于对来自数字化的图像(诸如手写图像、照片、视频、在线内容等)的单词、符号、数字等进行分析和预测。例如,在某些实施例中,可以使用Caffe来分析该方法。在某些实施例中,可以利用诸如Python等的计算机编程来处理标注以及图7中详细描述的顶部流/底部流的左/右移动操作。在某些实施例中,64的批量尺寸可以被运行大约50,000次迭代。此外,本公开的实施例可以利用0.001的学习速率来训练具有0.9动量的网络。而且,在某些实施例中,在40,000次迭代之后,学习速率可以降低到0.0001。此外,可以使用X=0.0025的L2正则化。在某些实施例中,可以使用来自CIFAR-10的图像数据集,并在NIST数据集上进一步细化和微调。
在IAM、RIMES和NIST离线手写数据集上测试本公开的实施例。在所示实施例中,IAM数据集包含由500位作者提供的大多数是草书的115,320个英文单词。此数据集包括训练、验证和测试分割,其中参与训练集的作者不能在验证或测试分割中出现。RIMES数据集包含超过1000位作者提供的60,000个法语单词。RIMES数据集有多个版本,其中每个较新的发布版本都是先前发布版本的超集。在ICDAR 2011发布版本上测试了本公开的实施例。NIST手印的表格和字符数据库——特殊数据库19包含NIST的用于手印文档和字符识别的全部训练材料的语料库。每位作者填写了基于NIST表格的手印识别系统的一页或多页。它发布了由3,600位作者提供的810,000个字符图像的手印样本表格。
在IAM英文手写数据集上测试本公开的实施例。本实施例在IAM上实现6.97%的CER。表1示出了本公开的实施例与该数据集的不同方法的比较。图18是利用IAM数据集上的符号序列预测模型获得的预测结果的形象化表示。第三示例有一个有疑问的基本事实和一个可以被认为是脱离上下文的有效的预测。为了与其他方法进行公平比较,本公开的实施例不以任何方式改变基本事实。
表1.IAM数据集与不同方法的结果比较
如表1所示,Kozielski等人使用HMM。Drewu等人和Boquera等人使用混合神经网络和隐马尔可夫模型(HMM)方法。Drewu等人表明高斯HMM可以被训练超越HMM。Bluche等人使用高斯HMM将神经网络初始化,并表明深度CNN和RNN都可以产生最先进的结果。Doetsch等人使用自定义LSTM拓扑以及CTC对齐。其他人分别使用句子和段落中的所有单词来提供单词的上下文。Poznanski和Wolf使用深度CNN来提取n-gram属性,这些属性可以提供CCA单词识别。其他人使用锯齿化或毛边化(deslanting)、训练增强和测试样本的集合。本公开的实施例使用800单词的第一词典CNN。符号CNN使用96个符号,并且还使用盖然性CER校正。在测试本公开的方法期间,不使用锯齿化算法,并且不使用训练或测试样本增强。除了盖然性CER校正之外,没有应用CTC对齐CCA后校正。如表1中所示,虽然比较结果未排名最佳,但是本公开的实施例包括可以在符号级别和词典级别工作的处理路径(即,该处理路径将在街道地址或电话号码上同样能工作),并且本公开的实施例基本上包括比现有方法更多的符号。例如,这些现有方法可能无法识别数字并且仅识别大写和小写拉丁字母。
表2.依次在IAM上进行的实验的列表
在IAM数据集上进行了若干研究以理解本公开的实施例的性能。第一个实验使用两个卷积层作为模型的预测部分,第一层具有256个4×8过滤器,第二层是获得字符预测的1×1过滤器。除了使用CNN的简单长度预测之外,没有应用预处理或后处理是0.39。对于长度预测来说,第一层在图4A、图4B、图6A和图6B中被描述。对于长度预测来说,使用4×4的CNN过滤器+Dropout,接着是具有输出为1的全连接层。
对本公开的实施例进行进一步的实验。例如,一个实验引入了词汇分类器,其中前800个单词连同ICR之前的单词的长度被分类。如果预测结果在最常见的前800个单词中,则该预测结果是最终预测结果。否则,使用来自符号序列预测模型的预测结果。为了提高性能,仅在预测概率超过0.9时才使用单词分类器。
在本公开的某些实验中,注意到该系统在当单词的长度与长度预测结果不匹配时的改进。长度预测模型被替换为图4A、图4B、图6A和图6B中描述的模型。这将平均长度错误减小到0.12并将标准化CER降低到10.09(模型:改进的长度预测)。接下来,将符号序列预测模型替换为图7中描述的模型。当特定字符与偶数过滤器模型不完全对齐时或基本完全对齐时,这提高了性能。采用新架构,CER降至9.74%。由于IAM数据集具有固定的词汇,因此可以使用所述词汇以在最终单词预测之前找到与预测最接近的匹配。基于CER从预测结果到所有其他单词这样做可以将性能改进到8.08%的错误。基于CER盖然性的词汇匹配将性能进一步改进至7.25%的错误。由于盖然性CER提供了将字符预测序列转译为单词概率的方法,因此也可以(并且在某些实施例中期望)组合来自其他源的概率。为了证明这一点,本公开的实施例将盖然性CER方法与简单的基于单词频率的概率(等式3)组合,其中N是单词的出现次数)。这使CER降至6.97%。
另外,在RIMES数据集上进一步测试了本公开的实施例。随着RIMES数据集添加15个新的法语符号,符号词典增加到111。该模型获得了3.54%的CER,这达到了RIMES挑战的最先进的结果。表3示出了本公开的实施例相对于其他方法的性能。
表3.在RIMES数据集上的结果与先前方法的比较
图19是使用符号序列预测在RIMES数据集上获得的预测结果的示例的形象化表示。在实施例中,词汇独立符号CNN模型逐字地读取字符。通常,错误可归因于字符歧义、人为的割裂(样本“effet”包含逗号,即使它不是标注的一部分)或字符重叠(样本“vous”)。图19的最后三行包含好的预测结果的示例或成功的预测结果的示例。对于这些示例,序列预测获得了完美或接近完美的预测结果。单独的序列预测在没有后处理的情况下获得46.77%的WER。
虽然在字符和单词级别上有几个类别的特定手写数据集,但是没有集中在任意符号的单词块上大的手写数据集。此外,没有其他方法可以在基于词典和符号的数据集上表现良好。为了测试本公开的实施例在由任意符号构成的通用单词块上的性能,通过将NIST个体字符图像随机地组合成现实单词块来创建新的符号识别数据集。通过从NIST数据集中的单个随机选择的写入者提取字符图像并将它们连接成随机词典的单词的单词块、随机的字母字符串或随机的数字字符串来模拟手印文本的图像。此外,NIST数据集还补充有手写标点符号、数学符号和其他常见特殊字符,诸如美元符号和&符号,以便于生成常见表单输入的单词块图像,诸如美元金额、电话号码和电子邮件地址。
通过向每个符号添加随机量的位移、拉伸和旋转来进一步增强图像,以模拟作者书法中的自然变化。然后将随机量的偏斜应用于每个经连接的图像以改变单词块的倾斜。最后,添加随机量的噪声和模糊以模拟图像数字化的效果。图17示出了从该新数据集中随机提取的九个单词块。
创建了2951个样本的子集,分割成954个四位数的数字,1000个十位数的数字和997个英文单词(带标点符号)。本公开的实施例在997个英语单词上获得70.6%的准确度。
本公开的实施例引入了使用全卷积网络的离线手写识别算法。与基于词典的方法不同,当前描述的方法可以识别常见单词以及诸如姓、电话号和首字母缩写词之类的无限定的符号块。单词块长度预测与一系列偶数卷积过滤器的配对实现了精确的符号对齐。具有左、中、右移动的宽的感受野过滤器消除了复杂的字符对齐方法,诸如基于递归的方法中的CTC。所公开的FCNN方法利用大的符号集来识别常见单词以及几乎任何符号块,并且在基于英语的IAM词典数据集和基于法语的RIMES词典数据集以及NIST任意符号手写数据集上实现最先进的结果。
前面的所公开的实施例的公开内容和描述是对本发明的实施例的说明和解释。在不脱离本公开的真实精神的情况下,可以在所附权利要求的范围内对所示实施例的细节进行各种改变。本公开的实施例应仅受所附权利要求及其合法等同物的限制。

Claims (20)

1.一种系统,包括:
至少一个处理器;以及
存储器,所述存储器包括有指令,所述指令在被所述至少一个处理器执行时使得所述系统:
接收经数字化的对象,所述经数字化的对象对应于包括至少一个符号的图像;
通过确定所述经数字化的对象中的空白分隔符,从所述经数字化的对象形成数字化的行块;
将所述行块转换成由空白来分隔的一个或多个单词块,所述一个或多个单词块具有与形成所述一个或多个单词块的至少一个符号相关联的值;
将所述一个或多个单词块中的每个单词块的尺寸调整至固定高度的标准表示;
用词典评估所述一个或多个单词块中的每个单词块,所述词典包含常见单词的集合;
当所述单词块中的一个或多个单词块与所述集合中的单词相对应时,输出第一单词预测结果;
当所述一个或多个单词块与所述集合不对应时,确定所述一个或多个单词块中的每个单词块中的多个符号和多个空格;
评估所述一个或多个单词块中的所述符号,所述评估对与所述一个或多个单词块中的所述符号相关联的值进行确认;
对所述一个或多个单词块执行盖然性校正;以及
输出第二单词预测结果,所述第二单词预测结果对应于所述单词块的所述值。
2.根据权利要求1所述的系统,其中,所述指令在被执行时还使得所述至少一个处理器将所述一个或多个单词块中的每个单词块的尺寸调整为标准的宽度间隔,其中,所述宽度是以在所述单词块中的符号的数目的预测结果为基础的。
3.根据权利要求1所述的系统,其中,盖然性校正包括:
将单词概率分配给所述一个或多个单词块中的每个单词块,所述概率是与形成所述单词块的每个符号的可能性相关联的;以及
将所述一个或多个单词块与词典单词进行匹配,所述匹配包括在所述一个或多个单词块中插入符号、删除符号或替换符号以与词典单词相对应。
4.根据权利要求1所述的系统,其中,使用神经网络执行对所述符号的所述值的确认,所述神经网络包括进行与所述符号的所述值相关联的预测的感受野的层级。
5.根据权利要求4所述的系统,其中,所述神经网络是全卷积神经网络,并且所述感受野的层级能够包括位于每个符号之前或之后的所述符号的多个部分。
6.根据权利要求5所述的系统,其中,所述符号出现在不同的行块上,所述符号是不同句子的一部分,所述符号是不同段落的一部分,或者所述符号位于所述经数字化的对象的不同页面上。
7.一种由计算机实现的方法,包括:
获得单词块输入,所述单词块输入包括至少一个符号;
对照词典来处理所述单词块,所述词典包含最常见单词的集合;
将所述单词块与所述词典中的单词进行比较,所述比较提供所述单词块对应于所述单词的置信度因子;
当所述置信度因子大于预定阈值时,输出等于所述单词的预测结果;
当所述置信度因子小于所述预定阈值时,评估所述单词块的属性,所述属性是所述单词块的长度和所述单词块中的符号的数目中的至少一者;
基于所述单词块的所述属性来预测所述单词块的值;
确定所述单词块的预测值的错误率,所述错误率对应于被预测的单词与来自所述词典的一个或多个单词之间的经计算的差值;以及
输出所述单词块的值,所述输出等于当所述置信度因子小于所述预定阈值时与具有最低错误率的所述单词块的值相对应的计算值。
8.根据权利要求7所述的由计算机实现的方法,还包括:
接收数字图像,所述数字图像包括所述至少一个符号;
从所述数字图像中提取文本区域;
将所述文本区域分割成文本行;
将所述文本行分割成一个或多个单词块,所述一个或多个单词块包括所述至少一个符号。
9.根据权利要求7所述的由计算机实现的方法,还包括:对所述单词块进行尺寸调整,所述尺寸调整对应于所述单词块的高度或宽度中的至少一者,所述尺寸调整使得所述单词块能够由神经网络进行评估而无需调整所述神经网络的参数。
10.根据权利要求7所述的由计算机实现的方法,还包括:使用空白预测或长度预测中的至少一者将所述单词块的尺寸调整为标准宽度,从而将形成所述单词块的每个符号的宽度尺寸调整为是相等的。
11.根据权利要求7所述的由计算机实现的方法,其中,确定所述错误率包括计算盖然性字符错误率,所述盖然性字符错误率包括:
与形成所述单词块的符号相关的符号概率;
来自所述词典中的单词概率;以及
与和所述单词块相关联的一个或多个不同单词块相关联的上下文概率。
12.根据权利要求7所述的由计算机实现的方法,其中,确定所述错误率包括计算盖然性字符错误率,所述计算盖然性字符错误率包括:
将单词概率分配给所述单词块,通过用神经网络对形成所述单词块的所述至少一个符号进行评估来确定所述单词块的值;以及
将所述单词块与词典单词进行匹配,所述匹配包括在所述单词块中插入符号、删除符号或替换符号以与所述词典单词相对应。
13.根据权利要求12所述的由计算机实现的方法,其中,所述盖然性错误率对于插入符号和删除符号的惩罚比对于替换符号的惩罚更大。
14.根据权利要求12所述的由计算机实现的方法,还包括:在预测所述单词块的值之前对所述单词块进行分类,所述分类是与所述单词块的属性相关联的。
15.根据权利要求14所述的由计算机实现的方法,其中,所述单词块的所述属性是特征类别、字体、语言、笔迹或其组合。
16.一种存储指令的非暂时性计算机可读存储介质,所述指令在由计算设备的至少一个处理器执行时使所述计算设备:
接收对应于单词块的数字图像,所述单词块包含对应于字母、数字、字符或其组合的至少一个符号;
对照包括常见单词的列表的词典数据库对所述单词块进行评估,所述评估将第一预测的单词与词典单词进行比较、并且在所述第一预测的单词与所述词典单词相对应时输出所述词典单词;
当所述第一预测的单词不对应于所述词典单词时,确定所述单词块中的符号的数目和所述单词块中的所述符号的值,经确定的符号的值被组合以形成第二预测的单词;
通过对照比较用单词的至少一部分来评估所述第二预测的单词的至少一部分以确定所述第二预测的单词的所述部分相比所述比较用单词的所述部分更有可能的概率,从而对所述第二预测的单词执行盖然性校正;以及
基于所述盖然性校正输出第三预测的单词,所述第三预测的单词对应于所述单词块的值。
17.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述指令在被执行时还使所述计算设备:
对照包括较不常见单词的列表的第二词典数据来评估所述单词块,所述评估将所述第一预测的单词与较不常见的词典单词进行比较、并且在所述第一预测的单词对应于所述较不常见的词典单词时输出所述较不常见的词典单词。
18.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述计算设备包括有神经网络,所述神经网络是卷积神经网络;全连接的神经网络;循环神经网络;全卷积神经网络;或者所述卷积神经网络、所述全连接的神经网络、所述循环神经网络和所述全卷积神经网络的组合。
19.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述指令在被执行时还使所述计算设备:
经由符号预测器来预测所述单词块中的符号以确定所述符号的所述值,所述符号预测器扫描多个数字图像并利用来自所述多个数字图像中的一个数字图像的相关统计来报告所述多个数字图像中的后续的数字图像中的未来预测结果。
20.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述指令在被执行时还使所述计算设备:
将单词概率分配给所述单词块,通过用神经网络评估形成所述单词块的所述至少一个符号来确定所述单词块的所述值;以及
将所述单词块与预测的词典单词进行匹配,所述匹配包括在所述一个或多个单词块中插入符号、删除符号或替换符号从而与所述预测的词典单词相对应。
CN201780080468.8A 2016-11-14 2017-11-14 使用全卷积神经网络的字符识别的系统和方法 Active CN110114776B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201662422000P 2016-11-14 2016-11-14
US62/422,000 2016-11-14
US201762524983P 2017-06-26 2017-06-26
US62/524,983 2017-06-26
US201715708918A 2017-09-19 2017-09-19
US15/709,014 US10936862B2 (en) 2016-11-14 2017-09-19 System and method of character recognition using fully convolutional neural networks
US15/708,918 2017-09-19
US15/709,014 2017-09-19
PCT/US2017/061556 WO2018090011A1 (en) 2016-11-14 2017-11-14 System and method of character recognition using fully convolutional neural networks

Publications (2)

Publication Number Publication Date
CN110114776A true CN110114776A (zh) 2019-08-09
CN110114776B CN110114776B (zh) 2023-11-17

Family

ID=62109368

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780080467.3A Active CN110178139B (zh) 2016-11-14 2017-11-14 使用具有注意力机制的全卷积神经网络的字符识别的系统和方法
CN201780080468.8A Active CN110114776B (zh) 2016-11-14 2017-11-14 使用全卷积神经网络的字符识别的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201780080467.3A Active CN110178139B (zh) 2016-11-14 2017-11-14 使用具有注意力机制的全卷积神经网络的字符识别的系统和方法

Country Status (3)

Country Link
EP (2) EP3539051A1 (zh)
CN (2) CN110178139B (zh)
WO (2) WO2018090013A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761841A (zh) * 2021-04-19 2021-12-07 腾讯科技(深圳)有限公司 将文本数据转换为声学特征的方法
CN117912037A (zh) * 2024-03-20 2024-04-19 杭州汇萃智能科技有限公司 一种ocr模型后处理方法、系统及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110503740B (zh) * 2018-05-18 2021-11-26 杭州海康威视数字技术股份有限公司 一种车辆状态判定方法、装置、计算机设备及系统
CN109685100B (zh) * 2018-11-12 2024-05-10 平安科技(深圳)有限公司 字符识别方法、服务器及计算机可读存储介质
CN109740599B (zh) * 2019-01-03 2024-05-14 华东理工大学 一种基于视觉增强gLSTM的图像描述生成方法
KR20200101481A (ko) * 2019-01-28 2020-08-28 삼성전자주식회사 전자 장치 및 그의 필체 보정 방법
CN110188761A (zh) * 2019-04-22 2019-08-30 平安科技(深圳)有限公司 验证码的识别方法、装置、计算机设备和存储介质
CN111079642B (zh) * 2019-12-13 2023-11-14 国网浙江余姚市供电有限公司 线路可移动监控方法及装置及计算机可读介质
CN110827801B (zh) * 2020-01-09 2020-04-17 成都无糖信息技术有限公司 一种基于人工智能的自动语音识别方法及系统
CN111259773A (zh) * 2020-01-13 2020-06-09 中国科学院重庆绿色智能技术研究院 一种基于双向解码的不规则文本行识别方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0622752A2 (en) * 1993-04-30 1994-11-02 Eastman Kodak Company Apparatus and method for a lexical post-processor for a neural network-based character processor
US5416851A (en) * 1991-07-30 1995-05-16 Xerox Corporation Image analysis based on location sampling
US5442715A (en) * 1992-04-06 1995-08-15 Eastman Kodak Company Method and apparatus for cursive script recognition
US20040086179A1 (en) * 2002-11-04 2004-05-06 Yue Ma Post-processing system and method for correcting machine recognized text
US20150363625A1 (en) * 2014-06-13 2015-12-17 Xerox Corporation Image processing methods and systems for barcode and/or product label recognition

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272238B1 (en) * 1992-12-28 2001-08-07 Canon Kabushiki Kaisha Character recognizing method and apparatus
US5542006A (en) * 1994-06-21 1996-07-30 Eastman Kodak Company Neural network based character position detector for use in optical character recognition
US20040205643A1 (en) * 2000-06-22 2004-10-14 Harrington Steven J. Reproduction of documents using intent information
JP4142871B2 (ja) * 2001-12-27 2008-09-03 株式会社シード マーク転写具、マーク転写テープおよびマーク転写テープの製造方法
DE602005025088D1 (de) * 2004-03-03 2011-01-13 Nec Corp Bildähnlichkeits-berechnungssystem, bildsuchsystem, bildähnlichkeits-berechnungsverfahren und bildähnlichkeits-berechnungsprogramm
AU2012261674A1 (en) * 2006-01-11 2013-01-10 Gannon Technologies Group, Llc Pictographic recognition technology applied to distinctive characteristics of handwritten arabic text
AU2007204736A1 (en) * 2006-01-11 2007-07-19 Gannon Technologies Group, Llc Pictographic recognition technology applied to distinctive characteristics of handwritten arabic text
JP2007241452A (ja) * 2006-03-06 2007-09-20 Fuji Xerox Co Ltd ドキュメント情報処理装置
CN101520851A (zh) * 2008-02-29 2009-09-02 富士通株式会社 字符信息识别装置和方法
CN101546379A (zh) * 2008-03-28 2009-09-30 富士通株式会社 计算机可读记录介质、字符识别设备和字符识别方法
CN100589119C (zh) * 2008-05-23 2010-02-10 中南民族大学 多字体多字号的基于彝文字符集的印刷体字符识别方法
JP5672059B2 (ja) * 2011-02-24 2015-02-18 富士通株式会社 文字認識処理装置および方法並びに文字認識処理プログラム
IN2013MU01148A (zh) * 2013-03-26 2015-04-24 Tata Consultancy Services Ltd
CN105095834A (zh) * 2014-05-08 2015-11-25 株式会社Ntt都科摩 运动参与者的标识文字的识别方法及设备
CN105095322A (zh) * 2014-05-23 2015-11-25 富士通株式会社 人名单元词典扩充方法、人名语言识别方法和装置
US20150371360A1 (en) * 2014-06-20 2015-12-24 Qualcomm Incorporated Systems and methods for obtaining structural information from a digital image
CN104299009B (zh) * 2014-09-23 2018-02-09 同济大学 基于多特征融合的车牌字符识别方法
CN104657427A (zh) * 2015-01-23 2015-05-27 华东师范大学 一种基于优化视觉词袋信息量权重的图像概念检测方法
CN105205448B (zh) * 2015-08-11 2019-03-15 中国科学院自动化研究所 基于深度学习的文字识别模型训练方法和识别方法
CN105184052B (zh) * 2015-08-13 2018-02-16 易保互联医疗信息科技(北京)有限公司 一种药品信息的自动编码方法及系统
CN105718649A (zh) * 2016-01-20 2016-06-29 华中科技大学 一种层次化显示知识网络的纸质书构建方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5416851A (en) * 1991-07-30 1995-05-16 Xerox Corporation Image analysis based on location sampling
US5442715A (en) * 1992-04-06 1995-08-15 Eastman Kodak Company Method and apparatus for cursive script recognition
EP0622752A2 (en) * 1993-04-30 1994-11-02 Eastman Kodak Company Apparatus and method for a lexical post-processor for a neural network-based character processor
US20040086179A1 (en) * 2002-11-04 2004-05-06 Yue Ma Post-processing system and method for correcting machine recognized text
US20150363625A1 (en) * 2014-06-13 2015-12-17 Xerox Corporation Image processing methods and systems for barcode and/or product label recognition

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BUNKE等: "《Handbook of character recognition and document image analysis》", 1 February 1997 *
V.S.DHAKA等: "Character Recognition of Offline Handwritten", 《NEURAL COMPUTING APPLICATIONS》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761841A (zh) * 2021-04-19 2021-12-07 腾讯科技(深圳)有限公司 将文本数据转换为声学特征的方法
CN113761841B (zh) * 2021-04-19 2023-07-25 腾讯科技(深圳)有限公司 将文本数据转换为声学特征的方法
CN117912037A (zh) * 2024-03-20 2024-04-19 杭州汇萃智能科技有限公司 一种ocr模型后处理方法、系统及存储介质

Also Published As

Publication number Publication date
CN110178139A (zh) 2019-08-27
WO2018090013A1 (en) 2018-05-17
EP3539052A1 (en) 2019-09-18
CN110178139B (zh) 2023-05-09
EP3539051A1 (en) 2019-09-18
WO2018090011A1 (en) 2018-05-17
CN110114776B (zh) 2023-11-17

Similar Documents

Publication Publication Date Title
US11922318B2 (en) System and method of character recognition using fully convolutional neural networks with attention
CN110114776A (zh) 使用全卷积神经网络的字符识别的系统和方法
US10936862B2 (en) System and method of character recognition using fully convolutional neural networks
Ingle et al. A scalable handwritten text recognition system
RU2691214C1 (ru) Распознавание текста с использованием искусственного интеллекта
Dutta et al. Improving CNN-RNN hybrid networks for handwriting recognition
CN110750959B (zh) 文本信息处理的方法、模型训练的方法以及相关装置
CN112287920B (zh) 基于知识蒸馏的缅甸语ocr方法
RU2757713C1 (ru) Распознавание рукописного текста посредством нейронных сетей
CN113408535B (zh) 一种基于中文字符级特征和语言模型的ocr纠错方法
Tang et al. FontRNN: Generating Large‐scale Chinese Fonts via Recurrent Neural Network
CN111581367A (zh) 一种题目录入的方法和系统
US20220164533A1 (en) Optical character recognition using a combination of neural network models
Valy et al. Character and text recognition of khmer historical palm leaf manuscripts
Inunganbi et al. Handwritten Meitei Mayek recognition using three‐channel convolution neural network of gradients and gray
Nguyen et al. Online trajectory recovery from offline handwritten Japanese kanji characters of multiple strokes
CN111680684A (zh) 一种基于深度学习的书脊文本识别方法、设备及存储介质
Valy et al. Data augmentation and text recognition on Khmer historical manuscripts
Premaratne et al. Lexicon and hidden Markov model-based optimisation of the recognised Sinhala script
Valy et al. Text Recognition on Khmer Historical Documents using Glyph Class Map Generation with Encoder-Decoder Model.
CN116311275B (zh) 一种基于seq2seq语言模型的文字识别方法及系统
Idziak et al. Scalable handwritten text recognition system for lexicographic sources of under-resourced languages and alphabets
Dharsini et al. Devanagri character image recognition and conversion into text using long short term memory
Borovikov et al. A multi-stage approach to Arabic document analysis
Asthana et al. Handwritten Multiscript Pin Code Recognition System having Multiple hidden layers using Back Propagation Neural Network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant