用于叠加的笔迹的识别技术的系统和方法与流程

文档序号:11161038阅读:504来源:国知局
用于叠加的笔迹的识别技术的系统和方法与制造工艺

本申请要求于2014年4月4日提交的美国专利申请No.14/245,601的优先权,因此以引用方式将其全文并入本文并作为本文的一部分。

技术领域

本发明大体上涉及能够识别各种字符的用户输入笔迹的计算设备界面的领域。



背景技术:

计算设备对于日常生活持续变得更加无处不在。计算设备采用台式计算机、膝上型计算机、平板PC、电子书阅读器、移动电话、智能电话、可穿戴计算机、全球定位系统(GPS)单元、企业数字助理(EDA)、个人数字助理(PDA)、游戏机等等形式。此外,计算设备被集成到汽车、卡车、农场设备、制造设备、建筑环境控制(例如,照明,HVAC)以及家用和商用设备中。

计算设备通常包括至少一个处理元件(例如中央处理单元(CPU))、某一形式的存储器以及输入和输出设备。各种计算设备及它们的后续使用需要各种输入设备。一个这样的输入设备是例如触摸屏或触摸板之类的触敏表面,其中通过用户的手指或如笔或触控笔之类的工具与触敏表面之间的接触来接收用户输入。另一输入设备是感测用户在输入表面上方做出的手势的输入表面。这些输入方法中的任一种通常可用于绘制或输入文本。当用户输入是文本时,计算设备必须使用在线笔迹识别系统或方法来解释用户的笔迹。

通常,在线笔迹识别系统或方法监测笔画的开始,例如用户与触敏表面接触(下笔)的时间;笔画的终止,例如用户停止接触触敏表面(抬笔)的时间;以及用户在笔画的开始和终止之间用他或她的手指或笔做出的任何移动(手势或笔画)。

在线笔迹识别系统或方法通常包括预处理阶段、分段阶段、识别阶段和解释阶段。通常,预处理阶段包括丢弃不相关的输入数据以及对相关数据进行标准化、采样和去噪。分段阶段指定不同方式来将输入数据分解为各个字符和单词。识别通常包括特征提取阶段和分类阶段,该特征提取阶段表征不同的输入分段,而分类阶段将分段与可能的字符候选相关联。最后,解释阶段通常包括识别与字符候选相关联的字符和/或单词。在实践中,在线笔迹识别系统或方法可以包括这些阶段以及附加阶段。此外,在线笔迹识别系统或方法可能不清楚地划定每个阶段。

在线笔迹识别系统或方法可以是单笔画的或多笔画的。单笔画识别针对字母表的每个字符使用单笔画简写(例如,Palm公司的的涂鸦(Graffiti))。这些系统或方法具有较少的输入错误,但需要用户记住整个字母表的新笔画样式。多笔画识别可以识别自然笔迹,并且在使用具有包括不易被缩减为单个笔画的字符(例如日语或汉语字符)的语言的在线笔迹识别系统时,通常是必要的。

计算设备的类型还可以决定所使用的笔迹识别系统或方法的类型。例如,如果输入表面足够大(例如平板计算机),则用户可以在输入表面上或其上方的任何地方输入文本或数据,就像用户在一张纸上书写一样。随着设备变得更小,已经开发了不同的系统或方法,例如多框或单框。多框系统或方法将输入表面划分为多个区域(例如三个框),其中用户逐个在每个框中输入一个字符。这些是有利的,原因在于字符分段变为最小限度或是不必要的。它们还允许多笔画字符,其可利用孤立字符识别技术来分析。

对于更小的设备,输入表面的大小可能不够分为多个框,所以表面基本上是单框书写界面。在该实例中,一次只能书写一个字符。虽然单框界面自身适用于单笔画识别系统,但某些语言(例如日语或汉语)具有不易被缩减为单笔画简写的多笔画字符。此外,不考虑语言,大多数自然笔迹包含多笔画字符,。

使用多笔画系统或方法的单框界面产生附加的问题,包括确定字符的开始和结束以及清楚地显示输入字符的图像。一种确定字符的开始和结束的方法需要用户在每个字符之间显式地暂停。然而,这不是最佳的,因为它减慢了用户输入数据的速度。在其中用户能够连续输入字符且没有暂停的单框系统或方法中,输入字符将被覆盖或彼此叠加。这被称为叠加笔迹、覆盖笔迹或“顶部写入”。

本申请的在线叠加笔迹识别系统和方法通过同时地而不是顺序地执行分段、识别和解释为用户输入笔迹识别提供改进的结果。本系统和方法在相同级别执行这些处理,而不是对这些步骤应用分层结构。通过使分段、识别和解释协同发生,本系统基于用户输入向用户提供最佳可能的字符、单词和句子候选。



技术实现要素:

下面本文中所描述的本发明的示例提供了用于在线叠加笔迹识别的方法、系统和软件。这些方法、系统和软件允许用户使用他或她的自然笔迹将字符输入到计算设备中,在字符之间不需要任何显式的分隔。本笔迹识别系统和方法包括与具有输入表面形式的输入设备连接的计算设备。用户能够通过使用他或她的手指或工具(例如触控笔或笔)向输入表面施加压力或在输入表面上方做手势来提供输入。本系统和方法监测输入笔画。在对输入笔画进行预处理之后,分段专家、识别专家和语言专家同时对输入数据进行分析。这三个专家通过动态规划协同工作,以处理输入笔画,并在字符、单词和句子级别生成候选。

所公开的系统和方法的目的是提供一种能够解释用户的自然笔迹风格的在线笔迹识别系统和方法。这可以通过提供以下系统和方法来实现,在所述系统和方法中:分段专家、识别专家和语言专家通过动态规划都协同工作,其中分段专家基于用户输入和来自识别专家和语言专家的输入创建分段图;识别专家将字符候选的列表与所述分段图的每个节点的识别分数相关联;以及语言专家生成分段图中的不同路径的语义。

所公开的系统和方法的另一目在于:提供一种能够识别叠加笔迹的在线笔迹识别系统和方法,在叠加笔迹中书写的字符一个在另一个之上,而且在连续字母之间没有任何显式的分隔。这可以通过提供以下系统和方法来实现,在该系统和方法中,分段专家、识别专家和语言专家通过动态规划协同工作,以提供用于字符、单词和句子输入的最可能的候选。

所公开的系统和方法的另一目的在于:提供一种能够识别多笔画字符的在线笔迹识别系统和方法。这可以通过提供以下系统和方法来实现,在该系统和方法中,分段专家创建分段图,其基于用户输入和动态规划,该动态规划涉及分析分段图的识别专家和语言专家。

所公开的系统和方法的另一目的在于:提供一种能够识别草书笔迹的在线笔迹识别系统和方法,在草书笔迹中所附字符是彼此重叠书写的。这通过提供以下系统和方法来实现,在该系统和方法中,分段专家检测定义用于将笔画分解为其构成分段的位置的特定点。

所公开的系统和方法的另一目的在于:提供一种基于特定输入笔画或通过自动检测单词边界来提供单词边界的在线笔迹识别系统和方法。这通过提供以下系统和方法来实现,该系统和方法包括分段专家、识别专家和语言专家,其都期望特定输入笔画以将输入字符分解为单词;或三个专家通过整体分析所有输入字符而自动添加单词间断。

结合附图,根据以下对本系统和方法的示例的详细描述,将更全面地理解本系统和方法。

附图说明

图1示出了根据本系统的示例的计算设备的框图。

图2示出了根据本系统的示例的用于在线笔迹识别的系统的框图。

图3A示出了根据本系统的示例的可能的用户输入的图示说明。

图3B示出了根据本系统的示例的分段图的示意图。

图4示出了根据本系统的示例的作为草书用户输入的可能用户输入的示意图。

图5示出了根据本系统的示例的对草书用户输入的分段的示意图说明。

图6示出了根据本系统的示例的识别专家的示意图说明。

图7示出了根据本发明示例的语言自动机的示意图说明。

具体实施方式

在以下详细描述中,以示例的方式阐述了大量的特定细节,以提供对相关教导的完全理解。然而,本领域技术人员应当明白,可以在没有这些具体细节的情况下实践这些教导。在其他实例中,已经在相当高的层面描述了熟知的方法、过程、组件和/或电路,而未描述细节,以避免不必要地使本教导的方案模糊不清。

本文描述的各种技术一般涉及在线笔迹识别,并更具体地涉及用于在各种计算设备上的叠加笔迹识别的系统和方法。本文描述的系统和方法可以用于通过分段、识别和解释的同时处理来识别用户的自然笔迹输入,以提供最佳可能的字符、单词和句子的候选。

图1示出了计算设备100的框图。该计算设备可以是台式计算机、膝上型计算机、平板PC、电子书阅读器、移动电话、智能电话、可穿戴计算机、数字手表、全球定位系统(GPS)单元、企业数字助理(EDA)、个人数字助理(PDA)或游戏机。设备100包括至少一个处理元件、某种形式的存储器和输入和/或输出(I/O)设备。这些组件通过例如连接器、线路、总线、电缆、缓冲器、电磁链路、网络、调制解调器、换能器、IR端口、天线的输入和输出装置或本领域普通技术人员已知的其它装置彼此通信。

设备100包括至少一个输入表面104。输入表面104可以采用例如电阻、表面声波、电容、红外网格、红外丙烯酸投影、光学成像、色散信号技术、声脉冲识别或本领域普通技术人员已知的任意其他适当技术。输入表面104可以由明确识别其边界的永久边界或视频生成的边界界定。

除输入表面104之外,设备100可以包括经由本地接口通信地耦合的一个或多个附加I/O设备(或外围设备)。本地接口可以具有用于使能通信的附加单元,例如控制器、缓冲器(高速缓存)、驱动器、中继器和接收机,为了简单而将其省略,但本领域技术人员是已知的。此外,本地接口可以包括地址、控制和/或数据连接,以使能其他计算机组件之间的适当通信。

一个这种I/O设备可以是用于从计算设备输出数据(例如图像、文本和视频)的至少一个显示器102。显示器102可以使用LCD、等离子体、CRT或本领域普通技术人员已知的任意其他适当的技术。显示器102中的至少一些可以与输入表面104位于同一位置。其他附加I/O设备可以包括例如键盘、鼠标、扫描仪、麦克风、触摸板、条形码读取器、激光读取器、射频设备读取器的输入设备,或如本领域普通技术人员已知的任意其他适当的技术。此外,I/O设备还可以包括输出设备,例如打印机、条形码打印机或本领域普通技术人员已知的任意其他适当的技术。最后,I/O设备还可以包括传送输入和输出的设备,例如调制器/解调器(调制解调器;用于访问另一设备、系统或网络)、射频(RF)或其他收发器、电话接口、桥接器、路由器或本领域普通技术人员已知的任意其他适当的技术。

设备100还包括处理器106,其是用于执行软件(尤其是在存储器108中存储的软件)的硬件设备。处理器可以是任意定制的或市售通用的处理器、中央处理单元(CPU)、基于半导体的微处理器(微芯片或芯片组形式)、宏处理器、微控制器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件、状态机或被设计用于执行本领域普通技术人员已知的软件指令其任意组合。合适的市售微处理器的实例如下:来自Hewlett-Packard公司的PA-RISC系列微处理器、来自Intel公司的80x86或Pentium系列微处理器、来自IBM的PowerPC微处理器、来自Sun Microsystems公司的Sparc微处理器、来自摩托罗拉公司的68xxx系列微处理器、DSP微处理器或ARM微处理器。

存储器108可以包括易失性存储器元件(例如,随机存取存储器(RAM,例如DRAM、SRAM、SDRAM等))和非易失性存储器元件(例如,ROM、EPROM、闪存PROM、EEPROM、硬盘驱动器、磁盘或光带、存储器寄存器、CD-ROM、WORM、DVD、廉价磁盘冗余阵列(“RAID”)、另一直接存取存储设备(“DASD”)等)。此外,存储器108可以包括电子、磁、光学和/或其他类型的存储介质。存储器108可以具有分布式架构,其中各种组件彼此远离,但也可以由处理器106访问。存储器108与处理器106耦合,因此处理器106可以从存储器108读取信息和向存储器108写入信息。在备选方案中,存储器108可以与处理器106集成在一起。在另一示例中,处理器106和存储器108可以均驻留在单个ASIC中或其他集成电路中。

存储器108中的软件包括在线笔迹计算机程序,其可以包括一个或多个单独的程序,每个程序包括用于实现逻辑功能的可执行指令的有序列表。操作系统110控制在线笔迹计算机程序的执行。操作系统110可以是专有操作系统或市售的操作系统,例如MAC和IPHONELINUX、ANDROID等。应当理解,在不脱离本文公开的系统和方法的精神的情况下,也可以使用其他操作系统。

存储器108可以包括其他应用程序112,其与如本文所描述的笔迹识别相关,或者是完全不同的功能,或者与这两者相关。应用112包括在制造时向设备100提供的程序,并且还可以包括在制造之后下载到设备100中的程序。一些示例包括文本编辑器、电话拨号器、联系人目录、即时消息设施、电子邮件程序、文字处理程序、网络浏览器、照相机等。

具有支持和兼容能力的在线笔迹识别计算机程序可以是源程序、可执行程序(目标代码)、脚本或包括要执行的一组指令的任意其他实体。当是源程序时,该程序需要经由编译器、汇编器、解释器等(其可以包括在也可以不包括在存储器内)来翻译,以便结合操作系统正确地操作。此外,具有支持和兼容能力的在线笔迹识别计算机程序可以被写为(a)面向对象的编程语言,其具有数据和方法的类,或(b)过程编程语言,其具有例程、子例程和/或函数,例如但不限于C、C++、Pascal、Basic、Fortran、Cobol、Perl、Java和Ada。

当处理器106检测到经由输入表面104的用户输入笔画时,启动系统。用户可以用手指或某种工具(例如笔或触控笔)输入笔画。笔画至少由笔画开始位置、笔画结束位置和用户连接笔画的开始位置和结束位置的路径来刻画。因为不同的用户可能自然地写下具有微小变化的相同字母,本系统适应于可以输入每个字母的各种方式。

图2是根据本系统的示例的用于在线笔迹识别的系统的示意图。一旦以至少一个输入笔画启动,系统就对笔画进行预处理114。预处理114可以包括:通过应用尺寸标准化来使连接笔画的开始位置和结束位置的路径标准化,和/或诸如B样条近似之类的用以对输入进行平滑的方法。输入笔画然后被传递给三个专家(分段专家116、识别专家118和语言专家120),其通过动态规划来协同工作,以在字符、单词和句子级别生成输出候选124。

分段专家116定义将输入笔画分割成单词和各个字符假设的不同方式。为形成字符假设,分段专家116对原始输入的连续笔画进行分组。这得到了分段图,在分段图中每个节点与至少一个字符假设相对应,并且其中字符之间的邻接约束由节点连接来处理。如果相应的假设没有共同笔画,但是其笔画在原始输入中是连续的,则认为节点是相邻的。图3A示出了根据本系统的示例的单词BEAN的可能的用户输入。具体地,该图显示了具有多笔画字符的叠加笔迹的示例。图3B示出了根据本系统的示例创建的图3A输入的可能的分段图。

叠加笔迹识别系统和方法还必须确定一个单词结束且另一个单词开始的位置。本系统和方法能够具有多个取得单词边界的实施例。在一个实施例中,需要用户在每个单词之后插入特定手势。在该实施例中,特定手势被输出为空格字符。该实施例给分段过程带来更多的鲁棒性,因为它减少了将输入笔画分成单词和各个字符假设的不同方式。然而,该实施例迫使用户添加指示每个单词的结束的特定手势,这可能被一些用户忘记。

一种备选实施例不需要分隔单词的特定手势。相反,在线笔迹识别计算机程序在识别专家118和/或语言专家120的帮助下自动检测单词边界,这将在下面详细描述。例如,语言专家120使用语言信息130来基于词汇知识和对给定语言中的连续单词的序列的可能性进行建模的技术(例如N元模型、语法解析、语义分析等)等来取得单词边界。

例如,在基于从英语提取的语言信息130的实施例中,用户可以用叠加笔迹来输入字符序列“whattimeisit?”。该备选实施例将输出单词分段“what time is it?”,基于语言信息130对输入笔画做出全局意义,并且取得单词边界。该实施例具有允许用户输入单词序列而不需要在每个单词之间插入特定手势的优点。

在另一实施例中,可以对前述两种方法进行组合。在那种情况下,用户可以在每个单词之后插入特定手势,以获得针对检测单词边界的更强的鲁棒性。但是每当用户忽略插入手势时,笔迹识别系统能够在识别专家118和/或语言专家120的帮助下检测单词边界。

在一个示例中,如图3A和图3B中所看到的,分段专家不限于手印笔迹输入,在手印笔迹输入中每个单个字符通过抬笔与其相邻字符相分离。本系统的分段专家116还能够处理其中所附字母彼此叠加书写的草书笔迹。图4示出了单词“be”和“an”的草书用户输入。当解释草书用户输入时,分段专家116基于对特定点的检测来对每个笔画进行分段,所述特定点定义用于将笔画分解为其构成分段的位置。图5示出了草书“an”被分解为其构成分段的示例。将笔画分解为其构成分段的特定点可以由交叉点、笔画路径的斜率的变化等限定。这些构成分段被用于构造分段图。

识别专家118将字符候选的列表与分段图的每个节点的概率或识别分数相关联。这些概率或识别分数基于语言识别信息122。语言识别信息定义了所指定的语言下的字母表的所有不同字符和符号。该信息是语言相关的,并且包括字母表中的一般差异以及识别书写字母的各种个性风格的能力。例如,个人写“7”的方式可以根据该人来自美国、法国、或者甚至韩国而完全不同。继续图3A和图3B中给出的示例,图6示出了识别专家118的实施例,其包括两个阶段。识别专家118的第一阶段,特征提取126,基于动态和静态特征的组合。例如,可以从输入笔画的轨迹中,并基于输入笔画的诸如位置、方向和曲率之类的信息,提取动态特征。可以从输入笔画的位图表示中,并可以基于投影和直方图,提取静态特征。

本实施例的识别专家118的第二阶段是由例如神经网络128之类的样式分类器对提取的特征的分类。在本实施例中,神经网络可以是简单的多层感知器。神经网络还可以包括使神经网络能够拒绝与恶劣分段的字符相对应的节点假设的额外类别。识别专家118输出具有分段图的每个节点的概率或识别分数的字符候选的列表。备选实施例可以使用例如深度神经网络、卷积神经网络或循环神经网络之类的其他类型的神经网络。更一般地,可以使用任意类型的样式分类器来解决该识别任务(例如,支持向量机、隐式马尔可夫模型)。

语言专家120针对分段图中的不同路径生成语义。它根据可用的语言信息130检查由其他专家建议的候选。该语言信息130可以包括词典、常用表达等。语言专家120旨在找到最佳识别路径。在一个实施例中,语言专家120通过探索例如表示语言信息130的内容的最终状态自动机(确定性FSA)之类的语言模型来做到这一点。建立图3A、图3B和图6中的示例上的图7示出了具有仅包含单词BEAN、BY、CAR、CAT和COW的词典的语言自动机。此外,图7表示期望用户插入短划线132以定义单词边界的语言专家的实施例。

除词典约束之外,语言专家120可以使用关于单词或单词的给定序列在指定语言中出现或被特定用户使用的频繁程度的统计信息建模。例如,单词三元语言模型可被用于评估对分段图的给定路径的解释的语言可能性。

分段专家116、识别专家118和语言专家120通过动态规划协同工作以处理输入笔画,并且在字符、单词和句子级别生成输出候选124。在一个实施例中,动态规划是基于在分段图和语言模型二者中搜索最佳路径的束搜索(beam search)技术。在该实例中,最佳路径是与最低成本相对应的路径。最低成本路径可以定义为以下的总和:

在分段图中相应路径中遇到的所有字符候选的成本。可以根据分段图中属于该路径的每个节点的概率或识别分数来估计这些成本。在一个实施例中,通过应用对数非线性函数,根据神经网络概率,来估计成本。

在语言模型的相应路径中遇到的所有单词的成本。可以根据来自语言专家120的N元语法概率来估计这些成本。在一个实施例中,通过应用对数非线性函数,根据来自语言专家120的N元语法概率来估计成本。

对于本在线笔迹识别计算机程序的整体训练,可以使用在文本层面的具有对分类器(例如,神经网络)128的所有参数和系统的任何元参数的自动学习的全局判别训练方案,尽管也可以使用其他训练系统和方法。在本在线叠加笔迹识别系统和方法中,通过同时地、而不是顺序地或分层地执行分段、识别和解释,为用户输入笔迹识别提供了最佳结果。

尽管前面已经描述了被认为是最佳的模式和/或其他示例,但是应当理解,可以在其中进行各种修改,并且本文公开的主题可以用各种形式和示例来实现,并且它们可被应用于许多其它应用、组合和环境中,本文中仅描述了其中的一些。本领域普通技术人员将认识到,在不脱离本主题的真实精神和范围的情况下,可以改变或修改所公开的方案。因此,主题不限于本说明书中的具体细节、展示和示例。本申请旨在保护落入本文所公开的有利构思的真实范围内的任意和所有的修改和变化。

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