CN108027876A - 用于识别多个对象输入的系统及其方法和产品 - Google Patents
用于识别多个对象输入的系统及其方法和产品 Download PDFInfo
- Publication number
- CN108027876A CN108027876A CN201680052456.XA CN201680052456A CN108027876A CN 108027876 A CN108027876 A CN 108027876A CN 201680052456 A CN201680052456 A CN 201680052456A CN 108027876 A CN108027876 A CN 108027876A
- Authority
- CN
- China
- Prior art keywords
- key element
- pair
- distance
- input
- threshold value
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/36—Matching; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Character Discrimination (AREA)
Abstract
提供了用于识别到计算设备中的多个对象的输入的方法、系统和计算机程序产品,其中,计算设备具有处理器和用于在处理器的控制下识别输入的至少一个应用。该应用被配置为确定输入的多个要素的至少一个几何特征,并且将确定的至少一个几何特征与至少一个预定几何阈值进行比较,以确定肯定的结果或否定的结果。如果比较产生否定的结果,则应用在识别输入时将所述要素视为属于一个对象。如果比较产生肯定的结果,则应用在识别输入时将所述要素视为属于多个对象。
Description
相关申请的交叉引用
本申请要求于2015年9月30日提交的美国专利申请No.14/870,735的优先权,该美国专利申请要求于2015年7月10日提交的欧洲申请No.15290183号的优先权,其全部内容通过引用并入本文中。
技术领域
本发明总体涉及能够识别多个手写对象的输入的计算设备接口领域。
背景技术
日常生活中对于计算设备的普遍使用持续增长。计算设备采用如下形式:个人和专业台式电脑、膝上型电脑、混合型膝上型电脑、平板PC、电子书阅读器、移动电话、智能电话、可穿戴计算机、全球定位系统(GPS)单元、企业数字助手(EDA)、个人数字助手(PDA)、游戏机等。
计算设备通常由至少一个处理元件(比如,中央处理单元(CPU)、某种形式的存储器以及输出和输出设备)组成。各种计算设备及它们的后续使用需要各种输入设备。一个这样的输入设备是触敏表面(比如,触摸屏或触摸板),其中通过用户手指或工具(比如,笔或触写笔)和触敏表面之间的接触来接收用户输入。另一输入设备是感测用户在输入表面上做出的手势的输入表面。通常可以使用这些输入方法中的任一种来绘制或输入所谓的数字墨水以表达文本、符号等,计算设备使用手写识别系统或方法解译所述文本、符号等。用于到计算设备的手写输入的其它系统包括电子笔或数字笔,电子笔或数字笔与纸张、编码表面或数字化表面相互作用,以使其相对于由计算设备(例如,由Anoto AB.,LeapfrogEnterprises,Inc.,和Livescribe,Inc提供的系统)跟踪的表面移动。
无论使用何种输入方法,手写识别系统和方法通常都涉及确定数字墨水笔划的开始(比如,在与触敏表面进行第一次接触时(下笔事件));笔划的终止(比如,当与触敏表面的接触结束时(抬笔事件));以及在笔划开始和终止之间进行的任何移动(手势或笔划)。处理这些确定的笔划以解译输入,解释通常是以包括预处理、分段、识别和解译在内的几个阶段来执行的。通常,预处理阶段包括丢弃不相关的输入数据并且均衡化、采样化和去除相关数据中的噪声。分段阶段根据输入类型(例如,字符、单词、符号、对象或形状)指定不同方式来将输入数据分解成要被识别的各个要素。识别阶段通常包括表征不同输入分段的特征提取阶段和将分段与可能识别候选项相关联的分类阶段。解译阶段通常涉及识别与候选项相关联的要素。也可以是更少、更多或不同的阶段。
计算设备或输入表面的类型还可以确定所用的手写识别系统或方法的类型。例如,如果输入表面是足够大的(比如平板电脑),则用户可以在输入表面上或上方的任何地方处手写输入,就好像用户在纸上书写似的。然而,这增加了识别任务的复杂度,因为要被识别的各个要素可能与要素的相对位置有关,或者可能与要素的相对位置无关。
例如,手写识别的一个期望用途是在教育会话(例如,课程或讲座)期间做笔记以记录数学等式或表达式、物理概念、化学公式、音乐符号等。也就是说,学生可能希望在多行中书写多个等式来表达教育者已经论证的(也可以是数字墨水)或者学生需要解决以作为作业或评估的数学问题的解答(working),或者教育者可能希望为学生准备工作表,该工作表涉及定义要由学生手动或通过计算设备自动地解决的问题集合的非相关等式列表,或者可能期望捕获等式组或向量/矩阵。在企业设置(例如,在预算设置会议、技术研究和开发会议、技术文档等)时或者在个人设置(例如,消费者在购买生活必须品时为了计算总金额而在多行上书写长长的加法)时,也可能需要输入多个有关系的或没有关系的表达式。
用于识别手写数学等式的系统是已知的。这些系统专注于通过与包含已知数学符号和关系在内的数据库/词典进行匹配来确定输入等式的要素。这些系统通常在不考虑等式自身的实际内容或结构的情况下识别这些要素。因此,当例如以竖直列表的形式输入多个等式时,识别可能会将预期各个等式的要素认为是属于同一个等式,或者至少识别要素将形成并测试与此相关的假设。这当然会大大增加识别处理时间,并且降低识别精确度。
一些已知的系统涉及提供输入等式的计算或可能的解答,因此可以考虑内容。但是,这些系统不会识别多个等式输入,而是识别数学运算符(例如,等号或结果线)或用户手势的输入,以确定何时将解答提供给当前输入的等式,使得下一个输入固有地是另一个单独的等式或是对当前等式的编辑,参见例如欧洲专利No.0 676 065。
其它已知的系统提供了涉及等式的等式组和表格结构(例如,矩阵)的识别。然而,这些系统依赖于例如行和列内的用于识别的指示性要素(例如,括号或空间对齐),因此不能识别多个等式,而是识别涉及任何类型的多个输入的结构,例如参见美国专利No.7,447,360。
所需要的是这样一种系统:能够独立于不依赖于特定指定要素或手势的输入的等式之间的联系来识别多个等式输入,并且不会显著增加处理时间或用于识别等式自身的复杂度,同时保留足够的识别精确度。
发明内容
以下将本文中所述的方法、系统和计算机程序产品的示例描述为提供对到计算设备中的多个对象的输入的识别,其中该计算设备具有处理器以及用于在处理器的控制下识别输入的至少一个方法或系统。
在所公开的方法、系统和计算机程序产品的一个方面中,所公开的系统和方法确定输入的多个要素的至少一个几何特征,并且将至少一个几何特征与至少一个预定几何阈值进行比较以确定肯定的结果或否定的结果。如果比较产生否定的结果,则所公开的方法或系统在识别输入时将该要素视为属于一个对象。如果比较产生肯定的结果,则所述方法或系统在识别输入时该要素视为属于多个对象。
至少一个几何特征可以包括多个要素的要素对之间的一个或多个距离。一个或多个距离可以在每对要素中的每个要素的内容的一个或多个因素之间。一个或多个因素可以包括下述中的至少一个:每对要素中的要素的共同因素,以及包括每个要素的几何边界。
每对要素中的每个要素可以表示一个或多个手写笔划,如此公共因素是一个或多个笔划的质心,至少一个预定几何阈值是质心距离阈值,并且如果针对一对要素确定的质心距离大于质心距离阈值,则比较产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
至少一个预定几何阈值可以是几何边界距离阈值,使得如果针对一对要素确定的几何边界距离大于几何边界距离阈值,则比较产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
比较可以包括:针对每对要素将第一距离与第一预定距离阈值进行比较和将第二距离与第二预定距离阈值进行比较。在这种情况下,针对一对要素,如果第一距离和第二距离均大于相应的第一预定距离阈值和第二预定距离阈值,则比较针对该对要素产生肯定结果,使得该对要素中的要素被视为属于不同对象。针对每对要素,第一距离可以是要素的共同因素之间的距离,并且第二距离可以是要素的几何边界之间的距离,使得第一预定距离阈值是公共因素距离阈值,并且第二预定距离阈值是几何边界阈值。
每对要素中的要素可以在几何上相邻,并且所述方法或系统可以被配置为确定多个要素中的要素的输入的位置顺序和时间顺序中的至少一个。
可以考虑所确定的要素的输入的时间顺序来预定至少一个几何阈值。
针对多个要素对中的至少一对要素,所述方法或系统可以被配置为通过以下操作来确定至少一个几何特征:确定要素对之间的几何边界距离,其中每对要素都包含:第一要素,与所述至少一对要素中的一个要素具有第一位置顺序关系;第二要素,与所述至少一对要素中的另一要素具有第二位置顺序关系;以及,确定所确定的几何边界距离中的最小距离。在这种情况下,至少一个预定几何阈值包括几何边界距离阈值,使得比较包括将所确定的最小几何边界距离与几何边界距离阈值进行比较,并且如果所确定的最小几何边界距离大于几何边界距离阈值,则比较产生肯定结果,使得至少一对要素中的要素被视为属于不同对象。
位置顺序可以是方向上的,其中第一方向关系和第二方向关系分别是从所述至少一对要素中的要素起始的第一方向和第二方向。
第一要素和第二要素的对可以包含:在第二要素的几何区域内的第一要素。在这种情况下,每对要素中的每个要素表示一个或多个手写笔划,并且几何区域基于一个或多个手写笔划的特征。
多个对象可以是一个或多个几何分离的手写数学等式,其中所述要素是多个数学等式中的每一个的手写字符、符号和运算符。
在所公开的方法和系统的另一方面中,提供了一种用于确定到计算设备的多个对象的输入的系统,计算设备包括处理器和用于在处理器的控制下识别所述输入的至少一个应用,至少一个系统应用可以被配置为:接收多个要素的输入;确定多个要素的至少一个几何特征;以及,将所确定的至少一个几何特征与预定几何阈值进行比较,以确定要素是属于一个对象还是属于多个对象。
至少一个应用可以被配置为计算多个要素的要素对之间的一个或多个距离,来作为至少一个几何特征。一个或多个距离可以在每对要素中的每个要素的内容的一个或多个因素之间。一个或多个因素可以包括下述中的至少一个:每对要素中的要素的共同因素,以及包括每个要素的几何边界。
每对要素中的每个要素可以表示一个或多个手写笔划,公共因素可以是一个或多个笔划的质心,至少一个预定几何阈值可以是质心距离阈值,并且至少一个应用被配置为如果针对一对要素而确定的质心距离大于质心距离阈值,则确定该对要素中的要素被视为属于不同对象。
至少一个预定几何阈值可以是几何边界距离阈值,并且至少一个应用可以被配置为:如果针对一对要素而确定的几何边界距离大于几何边界距离阈值,则确定该对要素中的要素被视为属于不同对象。
至少一个应用可以被配置为针对每对要素将第一距离与第一预定距离阈值进行比较和将第二距离与第二预定距离阈值进行比较。至少一个应用可以被配置为:如果第一距离和第二距离均大于相应的第一预定阈值和第二预定阈值,则确定一对要素中的要素被视为属于不同对象。
针对每对要素,第一距离可以是要素的共同因素之间的距离,并且第二距离可以是要素的几何边界之间的距离,第一预定距离阈值可以是公共因素距离阈值,并且第二预定距离阈值可以是几何边界阈值。每对要素中的每个要素可以表示一个或多个手写笔划,并且公共因素可以是一个或多个笔划的质心。
至少一个应用可以被配置为:确定多个要素中的要素的输入的位置顺序和时间顺序中的至少一个。可以考虑所确定的要素的输入的时间顺序来预定至少一个几何阈值。
针对要素对中的至少一对要素,至少一个应用可以被配置为通过以下操作来确定至少一个几何特征:确定要素对之间的几何边界距离,其中每对要素包含:第一要素,与至少一对对要素中的一个要素具有第一位置顺序关系;以及第二要素,与该至少一对要素中的另一要素具有第二位置顺序关系;以及,确定所确定的几何边界距离中的最小距离,至少一个预定几何阈值可以包括几何边界距离阈值,并且至少一个应用可以被配置为如果所确定的最小几何边界距离大于几何边界距离阈值,则确定该至少一对要素中的要素被认为要素属于不同对象。
位置顺序可以是方向上的,第一方向关系和第二方向关系分别是从至少一对要素中的要素起始的第一方向和第二方向。第一要素和第二要素的对可以包含:在第二要素的几何区域内的第一要素。每对要素中的每个要素可以表示一个或多个手写笔划,并且几何区域可以基于一个或多个手写笔划的特征。
多个对象可以是一个或多个几何分离的手写数学等式,所述要素是多个数学等式中的每一个的手写字符、符号和运算符。
在所公开的方法和系统的另一方面中,提供了一种非暂时性计算机可读介质,其中体现有计算机可读程序代码,所述计算机可读程序代码适于被执行以实现用于识别到计算设备的多个对象的输入的方法,计算设备包括处理器和用于在处理器的控制下识别所述输入的至少一个应用,所述方法可以包括以下步骤:利用应用来确定输入的多个要素的至少一个几何特征;利用应用将所确定的至少一个几何特征与至少一个预定几何阈值应用进行比较,以确定肯定的结果或否定的结果,如果比较产生否定的结果,则在识别输入时认为要素术语一个对象,并且如果比较产生否定的结果,则在识别输入时认为要素属于多个对象。
至少一个几何特征可以包括多个要素的要素对之间的一个或多个距离。一个或多个距离可以在每对要素中的每个要素的内容的一个或多个因素之间。一个或多个因素可以包括下述中的至少一个:每对要素中的要素的共同因素,以及包括每个要素的几何边界。
每对要素中的每个要素可以表示一个或多个手写笔划,公共因素可以是一个或多个笔划的质心,至少一个预定几何阈值可以是质心距离阈值,并且如果针对一对要素而确定的质心距离大于质心距离阈值,则比较可以产生肯定的结果,使得该对要素中的要素被视为属于不同对象。至少一个预定几何阈值可以是几何边界距离阈值,如果针对一对要素而确定的几何边界距离大于几何边界距离阈值,则比较可以产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
比较可以包括:针对每对要素将第一距离与第一预定距离阈值进行比较和将第二距离与第二预定距离阈值进行比较。针对一对要素,如果第一距离和第二距离均大于相应的第一预定距离阈值和第二预定距离阈值,则比较可以针对该对要素产生肯定结果,使得该对要素中的要素被视为属于不同对象。
针对每对要素,第一距离可以是要素的共同因素之间的距离,并且第二距离可以是要素的几何边界之间的距离,第一预定距离阈值可以是公共因素距离阈值,并且第二预定距离阈值可以是几何边界阈值。
每对要素中的每个要素可以表示一个或多个手写笔划,并且公共因素可以是一个或多个笔划的质心。每对要素中的要素可以在几何上相邻。非暂时性计算机可读介质还可以包括利用应用来确定多个要素中的要素的输入的位置顺序和时间顺序中的至少一个。
可以考虑所确定的要素的输入的时间顺序来预定至少一个几何阈值。
针对要素对中的至少一对要素,确定至少一个几何特征可以包括:利用应用来确定要素对之间的几何边界距离,其中每对要素包含:第一要素,与至少一对要素中的一个要素具有第一位置顺序关系;以及第二要素,与该至少一对要素中的另一要素具有第二位置顺序关系;以及,利用应用来确定所确定的几何边界距离中的最小距离,至少一个预定几何阈值可以包括几何边界距离阈值,比较可以包括将所确定的最小几何边界距离与几何边界距离阈值进行比较,并且如果所确定的最小几何边界距离大于几何边界距离阈值,则比较可以产生肯定的结果,使得至少一对要素中的要素被视为属于不同对象。
位置顺序可以是方向上的,第一方向关系和第二方向关系分别是从至少一对要素中的要素起始的第一方向和第二方向。第一要素和第二要素的对可以包含在第二要素的几何区域内的第一要素。
每对要素中的每个要素可以表示一个或多个手写笔划,并且几何区域基于一个或多个手写笔划的特征。
多个对象可以是一个或多个几何分离的手写数学等式,所述要素是多个数学等式中的每一个的手写字符、符号和运算符。
附图说明
根据以下结合附图对本系统和方法的实施例的详细描述,将更全面地理解本系统和方法。在附图中,相似的附图标记表示相同的要素。附图中:
图1示出了根据本系统和方法的示例的计算设备的框图;
图2示出了根据本系统和方法的示例的用于手写识别的系统的框图;
图3示出了根据本系统和方法的示例图示图2的手写识别系统的细节的框图;
图4示出了根据本系统的手写数学等式输入的示例;
图5示出了根据本系统的手写数学等式输入的示例;
图6示出了根据本系统和方法的示例多对象输入;
图7示出了用于识别被输入到计算设备的多对象的本系统和方法的示例的流程图;
图8示出了根据本系统的手写数学等式输入的示例;
图9示出了具有时间顺序细节的图6的示例多对象输入;
图10A至图10C示出了根据本系统和方法的用于识别多对象输入的本系统的示例;
图11A至图11D示出了根据本系统和方法的用于识别多对象输入的本系统的示例;
图12A和图12B示出了根据本系统和方法的图11的方法或系统的备选示例;
图13示出了图10至图12的示例方法的流程图;
图14示出了图13的流程图的一部分的流程图;
图15示出了图13的流程图的另一部分的流程图;
图16示出了根据本系统的手写数学等式输入的另一示例;以及
图17示出了如应用于图12的示例的图13的流程图的备选部分的流程图。
具体实施方式
在以下详细描述中,以示例的方式阐述了大量的特定细节,以提供对相关教导的完全理解。然而,对于本领域普通技术人员来说显而易见的是,可以在没有这些细节的情况下实践本教导。在其它实例中,为了避免不必要地模糊本教导的方面,仅在相对较高的层面上描述了公知的方法、过程、组件和/或电路,而没有详细地描述。对于方向特征(比如,向上、向下、上方、下方、最低、最高、水平、竖直等)的引用和讨论是相对于如应用于在其上进行要被识别的输入的输入表面的笛卡儿坐标系进行的。
本文中描述的各种技术通常涉及多手写对象识别。本文描述的系统和方法可以用于通过预处理和识别的处理来识别被输入到计算设备的用户的自然书写或绘画风格。可以经由连接到计算设备的输入表面或者计算设备的输入表面(比如,触敏屏幕)、或者经由连接到计算设备的输入设备(比如,数字笔或鼠标)来完成用户对计算设备的输入。尽管关于使用所谓的在线识别技术识别手写输入来描述了各种示例,但是应该理解的是,也可以应用用于识别的其它形式的输入,比如识别图像而不是识别数字墨水的离线识别(ICR)。
图1示出了示例计算设备100的框图。计算设备可以是台式计算机、膝上型电脑、平板PC、电子书阅读器、移动电话、智能电话、可穿戴计算机、数字手表、交互式白板、全球定位系统(GPS)单元、企业数字助手(EDA)、个人数字助手(PDA)、游戏机等。计算设备100包括至少一个处理元件、某种形式的存储器以及输入和/或输出(I/O)设备。这些组件通过例如连接器、线路、总线、电缆、缓冲器、电磁链路、网络、调制解调器、换能器、IR端口、天线或本领域普通技术人员已知的其它设备实现的输入和输出来彼此通信。
计算设备100具有用于输出来自计算设备的数据(例如,图像、文本和视频)的至少一个显示器102。显示器102可以使用LCD、等离子体、LED、iOLED、CRT或本领域普通技术人员已知的为触敏的或非触敏的适当的技术。显示器102中的至少一些与至少一个输入表面104位于同一位置。输入表面104可以采用如下技术来接收用户输入:例如,电阻式、表面声波、电容式、红外网格、红外丙烯酸投影、光学成像、色散信号技术、声学脉冲识别的技术或本领域普通技术人员已知的任何其它适当技术。输入表面104可以由清楚地标识其边界的永久或视频产生的边界界定。
除输入表面104之外,计算设备100可以包括经由本地接口通信地耦接的一个或多个附加I/O设备(或外围设备)。附加I/O设备可以包括输入设备,例如键盘、鼠标、扫描仪、麦克风、触摸板、条形码读取器、激光读取器、射频设备读取器、或本领域普通技术人员已知的任意其它适当的技术。此外,I/O设备可以包括输出设备,例如打印机、条形码打印机或本领域普通技术人员已知的任意其它适当的技术。此外,I/O设备可以包括传送输入和输出的通信设备,例如调制器/解调器(调制解调器;用于访问另一设备、系统或网络)、射频(RF)收发机或其它收发机、电话接口、桥接器、路由器或本领域普通技术人员已知的任何其它适当技术。本地接口可以具有用于实现通信的附加元件,比如控制器、缓冲器(高速缓存)、驱动器、中继器和接收机,为了简单起见,省略了这些本领域技术人员熟知的元件。此外,本地接口可以包括地址、控制和/或数据连接,以实现其它计算机组件之间的适当通信。
计算设备100还包括处理器106,处理器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可以远离可以由计算设备100远程访问的设备(例如,服务器或基于云的系统)。存储器108与处理器106耦接,因此处理器106可以从存储器108读取信息和向存储器108写入信息。在备选方案中,存储器108可以集成到处理器106。在另一示例中,处理器106和存储器108两者均可以驻留在单个ASIC或其它集成电路中。
存储器108中的软件包括操作系统110、应用112和手写识别(HWR)系统114,它们可以各自包括一个或多个单独的计算机程序,并且每个计算机程序具有用于实现逻辑功能的可执行指令的有序列表。操作系统110控制应用112和HWR系统114的执行。操作系统110可以是任何专有操作系统或商业上可获得的操作系统,例如WEBOS、MAC和LINUX和ANDROID。应该理解,也可以使用其它操作系统。
应用112可以涉及如本文所述的手写识别、不同的功能或两者。应用112包括在制造时与计算设备100一起提供的程序,并且还可以包括在制造之后被上传到或下载到计算设备100中的程序。一些示例包括文本编辑器、电话拨号器、联系人目录、即时消息设施、计算机辅助设计(CAD)程序、电子邮件程序、文字处理程序、web浏览器和相机。
具有支持和兼容能力的HWR系统114可以是源程序、可执行程序(目标代码)、脚本、应用或具有待执行的指令集的任何其它实体。在源程序的情况下,所述程序需要经由可以包括或可以不包括在存储内的编译器、汇编器、解译器等来翻译,以便结合操作系统正确地操作。此外,具有支持和兼容能力的手写识别系统可以被写为(a)面向对象的编程语言,其具有数据和方法的类;(b)程序编程语言,其具有例程、子例程和/或函数,例如但不限于C、C++、Pascal、Basic、Fortran、Cobol、Perl、Java、Objective C、Swift和Ada;或(c)函数式编程语言,例如但不限于Hope、Rex、CommonLisp、Scheme、Clojure、Racket、Erlang、OCaml、Haskell、Prolog和F#。备选地,HWR系统114可以是用于与远离如下设备(比如,服务器或基于云的系统)的手写识别系统进行通信的方法或系统,所述设备是可以使用计算设备100的前述通信I/0设备通过通信链路由计算设备100来远程访问的。
在输入表面104上输入的或经由输入表面104输入的笔划由处理器106作为数字墨水来处理。用户可以用手指或适合于输入表面的某种工具(比如,笔或触笔)来输入笔划。如果正在使用感测输入表面104附近的运动的技术,则用户还可以通过在输入表面104上方做出手势来输入笔划,或者用户还可以利用计算设备100的外围设备(比如,鼠标或操纵杆)来输入笔划。笔划是至少由笔划开始位置、笔划终止位置和连接笔划开始位置和笔划终止位置的路径来表征的。由于不同的用户会自然地书写出具有轻微变化的相同对象(例如,字母、形状或符号),因此本系统适应其中每个对象可以在被输入的同时被识别为正确或预期的对象的各种方式。
图2是HWR系统114的示例的示意图。HWR系统114包括诸如预处理116、识别118和输出120之类的阶段。预处理阶段116处理数字墨水,以在识别阶段118期间实现更高的精确度并减少处理时间。该预处理可以包括:通过应用大小归一化和/或诸如B样条逼近的方法来对连接笔划开始位置和笔划终止位置的路径进行归一化,以平滑输入。然后,将被预处理后的笔划传送到识别阶段118,识别阶段118处理该被预处理后的笔划以识别由此形成的对象。然后,向显示器102输出120所识别的对象,所识别的对象一般被显示成手写要素/字符的排版版本。
识别阶段118可以包括不同的处理元件或专家。图3是示出了识别阶段118的示意细节的图2的示例的示意图。示出了三个专家(分段专家122、识别专家124和语言专家126),这三个专家通过动态编程进行协作以产生输出120。
分段专家122定义了不同的方式来将输入笔划分段成各个要素假设(例如,文字数字字符和数学运算符、文本字符、独特的形状或子表达式),以便形成表示(例如,数学等式、单词或形状组)。例如,分段专家122可以通过对原始输入的连续笔划进行分组来形成要素假设,以获得分段图,在该分段图中每个节点与至少一个要素假设相对应,并且要素之间的邻接约束由节点连接处理。
识别专家124提供由分类器128提取的特征的分类,并且输出具有针对分割图的每个节点而言的概率或识别分数的要素候选项列表。存在可以用于解决该识别任务的许多类型的分类器,例如支持向量机、隐马尔可夫模型或神经网络(比如,多层感知器、深度卷积或递归神经网络)。选择取决于任务所需的复杂度、精确度和速度。
语言专家126使用语言模型(例如,语法或语义)为分段图中的不同路径产生语言学含义。专家126根据语言学信息130来检查由其它专家建议的候选项。语言学信息130可以包括词典、正则表达式等。语言专家126旨在找到最优识别路径。在一个示例中,语言专家126通过探索语言模型(比如,表示语言学信息130的内容的最终状态自动机(决定论FSA))来实现该目的。除了词典约束之外,语言专家126可以使用统计信息建模来确定给定的要素序列出现在指定语言中或者由特定用户使用的频繁程度如何,以评估分段图的给定路径的解译的语言学似然性。
本文所述的系统和方法利用HWR系统114来识别多个等式。多个等式被定义为在一个或多个页面上的若干等式的布局。这些等式可以是有联系的(例如,一系列等式或等式组,示出论证的不同步骤)或没有联系的(例如,关于主题的几个练习)。
图4示出了已经经由输入表面104输入的手写数学等式或表达式401至404的竖直列表400的示例。每个等式被书写在单独的行405至408上(这些行实际上可以显示在显示器102上以引导用户输入,但这不是必需的)。每个等式独立于其它等式,是完整的非联系的运算。此外,每个等式都相对简单,是两个数的除法或乘法运算来得到单个数值结果。
例如,如果仅存在第一手写等式401,则识别阶段118将使用其专家来创建并测试多个假设。将对针对等式401中的每个要素(即,“3”、“5”、“÷”、“7”、“=”和“5”)的候选项进行考虑和评分,以提供所识别的排版版本的要素的输出120,即“35÷7=5”。为了创建假设,考虑包括每个要素的各个分段笔划的各种连结在内的许多候选项。
然而,由于随后的手写等式402至404出现在图4的示例中,而没有明确识别到存在多个等式或检测到某些数学运算,因此将要求识别阶段118使用其专家不仅针对第一等式401内的要素而且还针对全部四个等式中的要素来创建和测试多个假设,这增加了处理的级别并且影响可能的识别精确度。这种额外的处理将是必要的,因为数学或算术等式是二维的(2D)(例如,水平和竖直)。这与文本不同,其中每一行文本实质上是一维的(1D)(例如,水平的(除了例如可以由语言专家处理的上标和下标文本之外)),使得在(例如,利用连字符)将单词分开在几行上的情况下,在文本识别过程中仅创建和测试行间假设。因此,不能因为存在多行而假设存在多个等式。例如,可以将“35”作为分子、将“7”作为分母并且将“÷”符号作为分界线来书写等式401。然后,等式401将以该形式占据多于一个的竖直行。
图5示出了多个手写等式的竖直列表500,在列表500中输入了通过多个等式502至504对初始等式501的重新表达。可以看出,等式501至504中的每一个都包括水平位移要素和竖直位移要素两者。
这也适用于其中输入了多个对象并且需要分别识别这多个对象的2D对象系的任何手写输入,例如图画、几何草图、图表、图形、图解、表、电路、音乐、化学公式等。因此,在创建不相干的假设之前检测多个2D对象的存在有助于减少识别处理开销(例如,时间和存储器资源),并且增加识别精确度(例如,基于专家模型的非预期的但有可能的候选项未被测试)。
检测多个输入对象的一种方法是要求特定的用户动作(比如,创建新的书写区域、点击新的对象/线条物理或虚拟按钮、输入某些手写手势(例如,向下的笔划)或其它交互(例如,在输入表面上点击))来指示对象输入的结束。然而,这些特定的用户动作不会为用户提供令人满意的体验,因为这些动作不包含在自然手写中。不应该以减少用户对系统的体验或对将被识别的输入类型进行限制的方式来影响多个2D对象的识别处理。例如,等式中的数学运算符符号(例如,图4和图5中的等号“=”)的识别可以用于检测多个等式的输入。然而,这种假设会限制用户在一行上使用多个等式(例如,(x+1)(x+2)=x2+2x+x+2=x2+3x+2)、或者以运算符来开始等式(例如,将“=”写为论证的发展或问题的解答的第一要素、或者将“+”写为作为在先前行上书写的等式的延续的第一要素)。
用于检测被输入为竖列表的多个2D对象的识别阶段118的另一个示例包括:使用输入对象的要素的几何特征来确定竖直位移的手写对象之间的空白竖直空间(即,未输入手写笔划的输入表面104的空间)。检测到大于预定大小(例如,阈值)的竖直空白空间。这是这样的处理:将输入“切割”为多个部分以便将高于阈值的份额(cuts)分类或过滤为各个对象(比如,等式)之间的空间。由于属于相同的等式,因此在随后的处理中识别阶段118的专家并不考虑多行上的所有要素。这大大减少了创建和测试的假设数量。分类是通过分配一个或多个几何成本来执行的。阈值包括(竖直)几何成本,该(竖直)几何成本是可调节的,使得可以执行过滤以优化或训练过滤过程,以确定优化多个对象检测而不会返回大量误报的合适的阈值水平。该示例同样适用于水平方向。
图6示出了输入表面104上的竖直位移的多对象输入600的示例,图7是用于识别多对象输入600的示例方法700的流程图。多对象输入600包括多个要素601至609,要素601至609被示出为包含已经输入的一个或多个手写笔划在内的框。这些框可以是围绕每个笔划的范围或要素的笔划集合的边界框。要素601至609中的每一个已经被写成相对于要素601至609中的其它每一个而具有水平(被指定为“x”方向)位移和/或竖直(被指定为“y”方向)位移。然而,通常将要素601至604写入第一水平组610(即,沿水平虚线a),并且通常将要素605至609写入第二水平组611(即,沿水平虚线a’),其中线a是从线a’竖直位移而来的。第一组要素可以表示第一等式,第二组要素可以表示第二等式。
接收手写笔划的输入(步骤701),并且确定要素(步骤702)。然后,确定是否可以建立要素的组(步骤703)。如果不能将要素划分成组,则将要素发送到下一阶段,以使用所有输入笔划来创建假设(步骤704)。如果可以将要素划分成组,则围绕每个组建立边界框(步骤705)。在图6中,围绕第一组要素610建立了第一边界框612,围绕第二组要素611建立了第二边界框613。如果接收到更多笔划,则重新评估和调整这些分组和边框(步骤706)。
然后,确定是否存在相邻组(步骤707)。如果存在,则根据应用沿y方向和/或x方向在相邻边界框边缘处建立“切割”线(步骤708)。在图6中,在边界框612的最低(即,沿y方向)边缘建立了可能的第一水平切割线b,并且在边界框613的最高(即,沿y方向)边缘建立了可能的第二水平切割线b’。计算/测量相邻切割线之间的距离的几何特征,以确定用于下一识别阶段的几何成本,这可以通过像素计数来完成(步骤709)。然后,将计算出的距离与预定阈值距离进行比较(步骤710),其中可以考虑输入表面104的像素分辨率来预定阈值。在图6中,例如,切割线b和b’之间的距离c表示两个要素组之间的空白空间的高度(即,两个组之间最近的竖直距离),该高度是第一组610的最低要素(即,要素603)和第二组611的最高要素(即,要素607)之间的距离。
如果几何成本高于阈值,则第一组和第二组表示两个单独的2D对象(例如,两个等式),并且下一个识别阶段假设不涉及正在创建或测试的相邻多个对象的要素(步骤711)。这简化了识别,并且提高了识别速度。另一方面,如果几何成本低于阈值,则必须通过下一识别阶段来创建和测试针对所确定的组的所有要素的假设(步骤712)。
图7中所示的示例是可以在输入手写笔划时执行的迭代处理。备选地,可以对先前输入的信息执行该处理,使得在启动到步骤707至712的几何成本测试之前,省略步骤706并且针对所有笔划执行步骤701至705。因此,在多对象识别处理之前执行通过确定要素的位置顺序来确定多要素输入和将要素划分成组。
完成了图6和图7中所述的阈值的设置,由此,如果几何成本仅用于确定单独的竖直位移对象,则可以实现高的置信水平。然而,应当理解,几何成本阈值是根据手写输入的应用或类型以及所需置信水平而可调整的。例如,在单个等式中手写输入数学符号,每个笔划/要素的大小和相对位置可以大不相同。可以发生若干要素的竖直重叠,并且也可以发生若干行上的竖直位移,如图8所示。在这种情况下,为了仅接受竖直几何成本作为多等式输入的指标,置信水平必须更高。可以通过其中某些阈值是基于应用和其它因素(比如,笔划大小、笔划数量等)来预定义的查找表或类似系统来提供几何成本阈值的调整。
在上述示例中,通过建立水平位移要素组来搜索竖直分开的输入。首先,可以通过搜索水平相邻要素之间的水平空白空间来建立这些组,直到不再有水平相邻要素为止。那些要素被认为是一个组,并且围绕这些要素的边界建立边界框,以包含沿x和y方向的所有要素。可以通过设置水平距离阈值或水平几何成本来改善该分组,因此水平位移大距离的要素或要素组不会被分组在一起。例如,不会期望数学等式在单个等式中有较大的间隙,而在绘画输入的情况下,绘画要素之间的大间隙可以用于几何信息。
还可以基于与竖直关系不同的位置关系(包括竖直重叠的水平位移要素(例如,要素601至604)的水平关系)或一般位置相关性(比如,几何特征)来进行分组。这种分组可以基于共享共同趋势线的要素或沿y方向的虚拟重心。这可以基于笔划自身的共同几何特征(例如,质心)或者要素的共同或非共同的几何特征(例如,边界框的边缘、每个边界框的y方向范围的平均中心线、图6中的水平线a和a’、或者要素自身的不同边缘)。此外,代替或除了竖直距离c,可以使用公共线a和a’之间的竖直距离d来确定几何成本或多个几何成本。
识别阶段118的上述步骤可以被视为基于阈值的“预处理”或“过滤”,目的是减少将手写输入切割成各个对象的可能步骤的数量(以及由此减少处理时间)。因此,取决于计算机设备100,该处理可以在预处理阶段116或识别阶段118中执行。应用于该过滤的置信取决于手写输入的应用和类型以及所需的精确度。此外,该过滤也可以是用于识别多个对象(例如,等式的竖直列表)的决策过程的一部分。识别阶段118可以补充考虑其它因素来例如使用语法和语言模型创建和探索不同的分段假设。因此,阈值可以考虑除了几何成本之外的更多因素以最优化。
例如,阈值可以考虑笔划/要素的时间的或时间顺序输入。通过考虑输入的时间顺序,例如在一组要素的水平输入中增强了过滤的成功,随后,从第一组竖直位移的第二组的一个或多个要素指示可能的多对象输入(比如,多个等式)。然而,在竖直输入一组要素之后输入从第一组水平位移的一个或多个要素可以指示具有竖直函数(例如,除法)的单个等式。
图9示出了使用时间顺序的图6的输入600。分别以时间顺序t1至t9输入要素601至609。确定输入定时对于本领域技术人员来说是已知的,并且可以包括监测和存储根据操作系统110的系统时钟而确定的笔划完成(例如,抬笔)的时间戳。根据该时间顺序,可以利用识别阶段118的下一步的几何成本来补充时间成本。
例如,要素604从要素605竖直位移,并且要素604从要素605水平位移相对较大的水平距离。在要素601和要素604之间存在类似的水平距离,但是存在中间要素602和603。所有这些相对几何信息都可以用于确定要素605是属于新对象还是至少不属于要素组610。然而,几何成本可以低于但接近几何成本阈值,使得系统不置信多等式检测。如果系统使用时间顺序信息来确定输入要素604的时间t4和紧接在其后输入要素605的时间t5之间的时间顺序差是时间成本,则可以使用该时间成本来将几何成本引导至几何成本阈值之上。可以设置在其中比较几何成本和时间成本的组合阈值。加权阈值也可以用于基于时间顺序对几何成本阈值应用不同的权重。
也可以使用其它因素来通过设置组合阈值和/或调整计算的成本以与阈值进行比较来磨练多对象检测。这些因素包括要素的绝对位置和相对位置(例如,确定相邻要素之间的质心或相对距离),当时间顺序与位置顺序不一致(例如,当在图9中在要素602和603之前输入要素604时,这由于捕获的操作和公式的类型而经常出现在手写等式输入中)时,要素的绝对位置和相对位置是最有用的。此外,语言专家的语言模型可以用于确定某些要素及其相对于其它要素的相对位置的输入是指示单个对象还是多个对象,例如,数学或算术语言模型可以解译从一个或多个相邻要素竖直位移的长的水平要素(例如,单个笔划)以指示除法而不是多个等式。此外,也可以单独地考虑单个和相邻/分组要素中的笔划数量,或者也可以考虑到语言模型来考虑单个和相邻/分组要素中的笔划数量。例如,相对少量的笔划可以指示单个对象的输入,而相对大量的笔划可以指示多个对象。
上述基于将水平位移要素划分成组来识别对象的竖直列表具有通过在随后的识别处理中创建用于识别的假设时不考虑所有竖直分离的对象之间的几何关系来减少处理的目的。尽管处理速度对用户体验很重要,但识别的精确度同样重要。通常手写识别系统在速度和精确度之间折中,提高精确度通常会增加处理时间,并且减少处理时间通常会降低精确度。为了提供有效的系统,需要找到这些因素之间的平衡。在备选方案中,以下示例包括多个几何成本,以便在时间和精确度之间提供更好的平衡。
图10A至图10C示出了针对竖直位移的多个对象输入1000的示例识别阶段118中的步骤。图11A至图11D示出了应用于输入1000的另一个要素的示例识别阶段中的步骤。图12A和图12B示出了如应用于图11的要素的备选示例识别系统和方法中的步骤。
输入1000包括被示出为包含一个或多个手写输入笔划在内的框的多个要素1001至1006。这些框可以是围绕每个笔划的范围或要素的笔划集合的边界框。要素1001至1006中的每一个已经被写成相对于要素1001至1006中的其它每一个而具有水平(被指定为“x”方向)位移和/或竖直(被指定为“y”方向)位移。为了识别要素1001至1006是否属于一个或多个竖直位移的对象,如图13的流程图所示的那样执行处理1300。
该处理开始于确定存在的表示多个手写笔划的输入的要素的数量n(即,在本示例中,n=6)(步骤1301)。然后,将这些n个要素的作为沿y方向的输入的位置或方向顺序的y顺序确定为Y1至Yn(步骤1302)。在本示例中,如图10A所示。在图10A中,要素1001至1006分别被确定为具有y顺序Y1至Y6。要素1001具有y顺序Y1,并且要素1006具有y顺序Y6。然后,将增量参数i设置为1(步骤1303)以供以后使用。然后,对y顺序要素执行两个测试,测试1(步骤1304)和测试2(步骤1305)。在图13中,测试1和测试2被示出为并行执行,然而它们可以以任何顺序连续执行。这些多个测试的目的是为了确定n个要素的不同几何关系的不同几何成本,并且针对不同的阈值来测试这些成本以便有助于确定是否存在多个对象,其中通过系统来确定几何成本涉及不同的速度和精确度水平。稍后参考图14的流程图更详细地描述测试1(1304),并且参考图15的流程图更详细地描述测试2(1305)。
针对每个连续的y顺序要素(如步骤1303所指定的从第一要素(例如,Y1)开始)迭代地执行测试1和测试2。一起考虑测试1和测试2的几何成本确定(步骤1306),以便允许决定是否应当在当前y顺序要素的最低(沿y方)边缘处(即,在该要素和下方的要素之间)创建“切割”线,从而定义竖直位移的对象之间的边界(步骤1307)。该切割线创建可以包括定义围绕被认为可能属于同一对象的要素的边界框,从而将其中确定不同的几何成本低于顺序的y顺序迭代中的相应置信阈值的要素划分成组。当做出该决定时,就将参数i增量到i+1(步骤1308),并且处理返回以针对下一个连续要素来实现测试1和测试2,直到输入的最终要素被测试为止。
测试1涉及确定(第一)几何成本是否大于(第一)预定阈值。如图14所示,这是通过首先确定从被测试的y顺序要素(Yi)起是否存在下一个连续的y顺序要素(即,Yi+1)(步骤1401)来完成的。如果否(即,正在测试的就是最后一个要素),则(预)处理结束(步骤1402),并且识别阶段118前进到识别要素的实际内容的下一个步骤。如果存在另一个y顺序要素,则确定当前y顺序要素(Yi)的质心和下一个顺序的y顺序要素(Yi+1)的质心之间的(第一)竖直距离ei(步骤1403)。该距离表示第一几何成本,并且可以通过像素计数来计算或测量,使得可以考虑输入表面104的像素分辨率来完成预定第一阈值。例如,在图10B中,正在考虑要素1002的质心和要素1003的质心之间的竖直距离e2,并且在图11A中,考虑要素1003的质心和要素1004的质心之间的竖直距离e3。
然后,将当前的第一几何成本与(第一)预定(质心)阈值距离进行比较,作为针对存在多个对象的第一置信测试(步骤1404)。该步骤的结果是“是”或确定结果“否”。如果存在连续要素的大的质心分离,则可以完成第一阈值的设置,从而实现高置信水平。例如,在图10B中,要素1002和要素1003沿y方向重叠,并且这两个要素之间的距离e2相对较小。应注意的是,对于这些要素属于分离的竖直位移对象这件事来说几乎不可置信(注意,距离ei被视为绝对值,因为否则如图10B中的距离e2会为负值)。而在图11A中,要素1003和要素1004沿y方向不重叠而留有某一余量,并且这两个要素之间的质心距离e3相对较大。应该对这些要素可以属于单独的竖直位移对象这件事至少保有合理的置信量。测试1输出步骤1404的确定(例如,“是”或“否”)以及第一几何成本值ei(步骤1405),以供在步骤1306处通过多个测试处理执行的处理。
测试2涉及确定(第二)几何成本是否大于(第二)预定阈值。如图15所示,这是通过首先确定从被测试的y顺序要素(Yi)起是否存在下一个连续的y顺序要素(即,Yi+1)(步骤1501)来完成的。如果否(即,正在测试的就是最后一个要素),则(预)处理结束(步骤1502),并且识别阶段118前进到识别要素的实际内容中的下一个步骤。这与测试1的步骤1401类似,并且可以将该步骤组合为针对给定要素执行测试1和测试2的先决步骤。如果存在另一个y顺序要素,则确定当前y顺序要素(Yi)和围绕下一个连续的紧随其后的y顺序要素(Yi+1至Yn)而定义的边界框之间的(第二)竖直距离fi(步骤1503)。该(几何边界)距离表示第二几何成本,并且可以通过像素计数来计算或测量,使得可以考虑输入表面104的像素分辨率来完成预定第二阈值。
例如,在图10C中,考虑了要素1002的最低边缘(即,沿y方向)与限制要素1003至1006的边界框1007的最高边缘之间的竖直距离f2。在图11B中,考虑了要素1003的最低边缘与限制要素1004至1006的边界框1107的最高边缘之间的竖直距离f3。要注意的是,要素的备选y定义边缘和边界框可以用于距离计算。此外,不需要创建边界框。相反,可以在所考虑的y顺序要素(Yi)的y定义边缘处创建切割线,并且计算到下一个连续的y顺序要素的y定义边缘的距离,以确定第二几何成本。
然后,将当前的第二几何成本与(第二)预定(间隙)阈值距离进行比较,来作为针对多个对象的第二置信测试(步骤1504)。该步骤的结果是确定结果“是”或“否”。如果连续要素之间存在大的间隙,则可以完成第一阈值的设置,从而实现高置信水平。例如,在图10C中,要素1002和要素1003沿y方向重叠,并且这两个要素之间的距离f2相对较小。应该对这些要素属于单独的竖直位移对象这件事保有微少或没有置信。而在图11B中,要素1003和要素1004沿y方向不重叠而留有某一余量,并且这两个要素之间的质心距离f3相对较大。这里,应该对这些要素可以属于单独的竖直位移对象这件事至少保有合理的置信量。测试2输出步骤1504的确定(例如,“是”或“否”)以及第二几何成本值fi(步骤1505),以供在步骤1306处通过多个测试处理执行的处理。
回到图13,在步骤1306中,将测试1和测试2的确定的输出进行组合,以便作出是否存在多个对象(比如,多线等式)的决定。对于在其中测试是否应在要素1002下方创建“切割”线的置信的图10B和图10C的示例,测试1的结果可以是第一几何成本不大于第一阈值(例如,步骤1404返回“否”),并且测试2的结果可以是第二几何成本不大于第二阈值(例如,步骤1504返回“否”)。由于两个测试都返回了“否”,因此步骤1307中的“切割”决定将不会在要素1002下方创建“切割”,而不会留下如图10A所示的切割。
另一方面,对于在其中测试是否应在要素1003下方创建“切割”线的置信的图11A和图11B的示例,测试1的结果可以是第一几何成本大于第一阈值(例如,步骤1404返回“是”),并且测试2的结果可以是第二几何成本大于第二阈值(例如,步骤1504返回“是”)。由于两个测试均返回“是”,因此步骤1307中的“切割”决定将是在要素1003下创建“切割”。因为要素1001和要素1002的较早测试不会导致创建“切割”,因此在步骤1307处围绕要素1001至1003定位边界框1108(如图11C所示),因为系统置信是与包含后面的y顺序要素在内的任何对象分离的对象。例如,继续处理输入1000将确定由于要素1004至1006中的每一个彼此沿y方向重叠,因此对这些要素的测试也不会导致创建切割。在随后的识别处理期间,将认为要素1004至1006属于第二对象。
取决于输入,图10至图15的示例可以返回针对某些要素的结果,其中测试1输出“否”,但测试2输出“是”,反之亦然。例如,质心距离(第一几何成本)可以相对较大,但是要素之间的间隙(第二几何成本)可以相对较小,这可以与图8中的求和操作一起发生。在这种情况下,本系统会简单地认为:对于存在在这些要素的边界处定义的多个对象这件事没有置信。事实上,这可以指示一项测量相对不精确,而另一项测量相对精确。备选地,可以考虑其它因素以调整或磨练阈值或允许例外。当两个测试都导致“否”输出时,情况也可以如此。
例如,如果存在大量要素(即,步骤1301确定n是相对较大数量),但是在对所有(或统计相关数量)要素执行测试之后很少或没有创建切割。本系统可以考虑由于可以指示存在多个对象的大量要素而应创建更多切割,特别是在要素的y方向范围和要素的相对大小也被考虑在内的情况。然后,本系统可以调整质心和间隙阈值中的一个或两者,以允许发生更积极的结果。该出了应谨慎执行,因为返回太多误报将导致在下一阶段中不能精确识别。可以通过在初始化练习中使用统计上的大量的输入样本训练本系统来将这种调整决定辅助用于设置阈值。这种训练也可以持续变化是或在持续变化的基础上,特别是在HWR系统114托管在远程服务器的情况下。
如之前关于步骤1405和1505所述,也可以通过单独的测试来输出测量/计算的第一几何成本和第二几何成本。如图13所示,在做出“切割”决定时,可以在步骤1307中考虑这些实际距离/成本。在一个示例中,将输出“否”确定的测试的几何成本的实际值与该测试的阈值进行比较,以查看该差异是否在某一容差/百分比内,使得在成本处于容差的范围内的情况下将结果“否”改变为“是”。在另一示例中,将输出“否”确定的测试的几何成本的实际值与要素的实际平均值或平均大小进行比较,以查看与要素大小相比成本是否相对较大,使得在成本比要素大小大某一百分比的情况下,将结果“否”变为“是”。
如前所述,进一步的考虑是确定单独测试的结果如何影响速度和精确度之间的平衡。在本示例中,第一测试(测试1)考虑连续的y顺序要素之间的质心距离。相对较快地(例如,以微秒为单位)执行笔划质心的确定、或者备选地或附加地其它笔划因素、以及笔划之间的距离的测量/计算。然而,只考虑这些距离来决定“切割”的位置会导致很多误报,因为诸如质心位移之类的笔划因素自身并不是多个对象的精确指标,例如,单个等式中的笔划可能会有很多不同的大小,使得相邻笔划的质心分布较宽,但笔划之间的间隙相对较小,如图16所示。因此,可以认为测试1提供了相对较高的处理速度,但识别精确度却相对较低。
另一方面,第二测试(测试2)考虑连续的y顺序要素之间的间隙或要素间距离,并且第二测试使用边界框之间的距离或笔划的其它分组机制来提供多个对象的合理精确的指标。然而,这些组的建立会是相对较慢地(例如,在几十微秒到几百微秒内)执行的。因此,可以认为测试2提供了相对较高的识别精确度,但处理速度相对较低。这样,两个测试的组合允许速度和精确度之间的平衡,并且可以基于系统的需要(例如,速度优于精确度,或相反亦然)(例如,通过调整或加权对应的阈值)来调整这种平衡。
更确切地,确定和比较要素内容的常见几何特征(例如,笔划的质心)的位移的测试可以导致相当大量的切割,但是其中误报的比例却是不可接受的,导致更高的不精确度。鉴于确定和比较要素自身的常见或非常见几何特征(例如,要素的边界框的相同或不同边缘)的位移的测试提供了相对少量的误报,但却没有足够的切割,导致更长的处理时间。
可以通过图12A至图12C所示的第二几何测试1305的备选示例来提供精确度的进一步提高。类似于图11的第二测试示例,该备选的第二测试(测试2)涉及确定第二几何成本是否大于第二预定阈值,其中第二几何成本是根据y顺序要素之间的(第二)距离而确定的。然而,与先前的测试2的示例不同,第二(间隙)距离是根据考虑沿y顺序的最近相邻物而确定的,而不是仅在连续的y顺序要素之间。现在参考示例流程图图17来描述该备选测试。
首先,将非增量参数j设置为i(步骤1701)以供在后面的步骤中使用,并且将增量参数i设置为i+1(步骤1702)以允许迭代。在这些初始化之后,确定是否存在从被测试的y顺序要素(即,由于参数j的设置而导致的Yj)起始的下一个连续的y顺序要素(即,由于参数i的递增而导致的Yi)(步骤1703)。只要找到其它要素,就为下一个连续的y顺序要素Yi确定作为搜索区域的几何区域(步骤1704)。该搜索区域的范围是可调整的,并被用于确定下一个要素(沿y顺序)与当前正在考虑的要素(即,Yj)以及沿y顺序的任何之前的要素(即,Y1至Yj-1)之间的距离中的最小距离,以确定第二几何成本。
图12A示出了在要素1004上方(沿y方向)建立的搜索区域1201,要素1004是从当前要素1003起始的下一个连续y顺序要素(如图11所示)。图12B示出了在要素1005上方建立的搜索区域1202,要素1005是从要素1004起始的下一个连续的y顺序要素。可以在具有为搜索的要素的宽度x的三倍的宽度(即,沿x方向)的区域(该区域以该要素为中心)中建立搜索区域,例如,在图12A中,区域具有宽度3x4,其中x4是要素1004的宽度,并且在图12B中,区域具有宽度3x5,其中x5是要素1005的宽度。用于搜索较早的y顺序要素以确定在可能的“切割”位置处的要素之间的最近分离点的该几何区域用于提供围绕要素的“填充”,以便考虑提供足够的并且有意义的数量的分离要素之间的距离。填充量是可调整的,使得要素的另一个整数或分数宽度可以被使用,并且基于与要素宽度无关的某个其它因素。例如,可以通过应用手写笔划的特征(例如,在手写字符、符号等的识别处理中由识别器使用的标度估计值)来提供填充。因此,在图12中,可以通过在要素1004至1006的每一(水平)侧上利用标度估计值的三倍(或其它倍数)的填充量来建立以要素1004至1006中的每一个为中心的区域来提供搜索区域。本领域的普通技术人员应理解,可以使用诸如标度估计值之类的笔划特征来提供统计字符概率分析。
当建立了搜索区域时,确定从被测试的当前要素起始是否存在任何要素,并且先前的要素(即,Y1至Yj)是否存在于搜索区域中(步骤1705)。如果y顺序要素Y1至Yj中没有一个在搜索区域内,则处理返回到步骤1702以迭代到将被搜索的下一要素。如果y顺序要素Y1至Yj中的至少一个存在于搜索区域内,则计算/测量当前下一个要素与在该要素上方的要素Y1至Yj中的任何一个之间的竖直距离fim(其中,m=搜索区域中的要素Y1至Yj的数量),并且确定这些距离的最小值(步骤1706)。例如,在图12A中,仅要素1002位于搜索区域1201中(其中要素1003当前正在被测试),使得返回要素1004和要素1002之间的距离f41来作为要素1004的最小(间隙)距离。虽然搜索区域被讨论为是针对被测试要素下方的要素而建立的、以确定与被测试要素的底部(即,沿y方向)上方的那些要素的位置关系,但是本领域普通技术人员应理解,例如可以同样针对在被测试的要素上方的要素来建立测试区域,以确定与被测试的要素的底部下方的那些要素之间的位置关系。
为了确定是否应该在稍后处理中将该最小距离考虑为第二几何成本(稍后描述),首先确定是否先前已经将最小距离f存储在例如存储器108中(步骤1707)。如果是,则将所确定的最小距离与该先前存储的最小距离f进行比较(步骤1708),并且如果不是,则将所确定的最小距离存储为最小距离f(步骤1709)。例如,在处理图12A中的要素1004时,没有先前存储的最小距离,因此存储了要素1004的最小距离。可以存在如下输入场景:由于在任何被测试的要素的搜索区域中不存在y顺序要素或者在被测试的要素下方没有要素(即,为最后一个要素),因此确定没有最小距离。这在本示例的后续步骤中被考虑到,然而,用于处理这种情况的其它方式包括提供对搜索区域的调整,以确保计算至少一个最小距离,或者可以在初始化阶段中设置任意的第二几何成本(例如,(伪)随机产生的成本值接近无穷大)。
在步骤1708的比较中,如果当前最小距离大于存储的最小距离,则将丢弃当前的最小距离值,并且处理返回到步骤1702,因为这意味着存在比目前正在考虑的要素更接近可能的第一对象的另一要素。另一方面,如果当前确定的最小距离小于存储的最小距离,则处理移动到步骤1709,使得存储当前确定的最小距离来代替当前存储的最小距离f,然后处理返回到步骤1702。例如,根据图12A和图12B可以看出,与要素1004靠近其搜索区域1201内的要素1002的程度相比,要素1005更靠近其搜索区域1202内的要素1003。因此,存储要素1005的最小距离(即小于距离f52的距离f51)来代替先前存储的要素1004的更大的最小距离f42。
当考虑了当前测试要素下方的所有要素(例如,图12中的要素1003)时,步骤1703返回“否”,并且处理移动到备选第二测试的最后阶段。在这个阶段中,首先重置增量参数i(步骤1710),以在第二次测试中用于后续连续要素(该步骤可以在该阶段的其它步骤之后)。再次确定是否已经将最小距离f存储在存储器108中(步骤1711),并且如果否,则将与第二几何成本大于第二阈值有关的确定结果“否”输出到步骤1306(步骤1712)。该步骤类似于步骤1707,并且在该步骤中重复以考虑其中确定没有最小距离并在该备选测试2中未存储最小距离的上述场景。如果存在作为第二几何成本的存储的最小距离,则将该值与(第二)间隙阈值距离进行比较,来作为第二置信测试(步骤1713)。就像前面的测试2的示例一样,如果被测试的要素之间存在较大的间隙,则可以完成这种备选方法中的第二阈值的设置,从而实现较高的置信水平。该步骤的结果是确定结果“是”或“否”,并且通过测试2输出第二几何成本值f(步骤1714)以用于在步骤1306处的处理。
之前关于图11A和图11B已经描述了,测试1的结果可以是第一几何成本大于第一阈值,并且测试2的结果可以是第二几何成本大于第二阈值,使得在步骤1307中的“切割”决策将在要素1003下方创建“切割”。然而,可以针对测试2来设置第二阈值,使得在该示例中第二阈值落以图14的示例方法确定的第二几何成本(即,图11B的间隙距离f3)与以图17的备选方法确定的第二几何成本(即,图12B的最小距离f51)之间,因为间隙距离f3小于最小距离f51。
在这种情况下,其中被测试要素下方的所有要素的边界框用于创建第二个几何成本的第一示例的更简单的测试2将产生确定结果“否”。在这种情况下,将不会在要素1003下方创建“切割”。这将导致如图11D所示的围绕所有要素1001至1006而定义的边界框1109,因为继续的处理将确定要素1004至1006属于同一对象。另一方面,其中被测试的要素下方的每个要素单用于创建第二个几何成本的第二示例的更复杂的测试2将产生确定结果“是”。在这种情况下,随后将在要素1003下方创建“切割”。这导致如图11C所示的围绕要素1001至1003而定义的边界框1108。
备选测试可以导致示例输入1000中存在单独的2D对象的更精确地确定。这样,可以针对第二几何成本执行备选测试,以提供从测试2返回的结果的调整和/或第一几何成本阈值和第二几何成本阈值的调整。
如同关于图6和图7所述的前面的示例一样,也可以考虑笔划/要素的时间的或时间顺序输入,以调整关于图10至图17所述的示例的第一几何成本和第二几何成本。
上述示例可以包括在增量识别多个对象要素(比如,公式中的笔划)期间执行的识别,其中HWR系统114包括诸如增量器之类的设备,该设备在输入了笔划/要素时(或之后的短延迟;通常通过笔划而被测量)连续地将输入的笔划/要素解析到识别引擎(如果存在在预处理之后),以便执行对笔划的识别,并且将识别的要素存储(缓存)在存储器108中。以这种方式,可以将多对象测试与识别并行地执行,从而一旦确定了单独的对象,就已经对该对象内的笔划执行了识别处理,使得不需要再次处理(即,重新识别)这些笔划,从而进一步优化识别处理的速度。
本文描述的方法和系统的上述示例应用是针对竖直移位对象(比如,数学等式)的手写输入。如前所述,在多个对象被输入并且需要被单独识别的2D对象系(比如,绘画、图、乐谱、化学公式等)的任何手写输入也是可应用的,因为所描述的方法和系统提供以任何取向识别多个文本、符号和对象。此外,如前所述,不仅可以识别例如竖直列表,而且所描述的方法和系统还提供对水平列表和任意放置的对象的识别。
此外,如前所述,本文所述的各种示例可以应用于除了手写之外的用于识别的输入的形式(比如,其中识别图像而不是数字墨水的离线识别),例如,可以将这些要素输入为由于在纸上或白板上书写的照片而捕获到的、在交互式智能板上以数字方式捕获的图像。
所描述的方法和系统增加了处理和识别多个对象(例如,多个数学等式的竖直列表)的速度,因为多个对象识别是独立于对象自身的识别而执行的。此外,复杂的多个对象输入(例如,抽象算术等式的复数系统)被启用而没有混淆的识别结果。此外,书写多个对象(比如,等式)不需要用于识别的特定的用户动作,例如创建新的书写区域、点击新的线钮等。此外,笔划/要素与人造结构(例如,表)的匹配对于识别多个对象来说不是必需的。此外,不需要对算法进行学习或训练,但可以执行此操作来改善结果。
尽管前文已经描述了被视为是最佳实施方式的内容和/或其它示例,但是应当理解:可以在本发明中进行各种修改,并且可以以各种形式和示例来实现本文中所公开的主题,并且最佳实施方式的内容和/或其它示例可以应用于多个其它应用、组合和环境中,这里仅描述了其中的一些。本领域普通技术人员将认识到,在不脱离本主题的真实精神和范围的情况下,可以改变或修改所公开的方案。因此,主题不限于本说明书中的具体细节、展示和示例。本文旨在保护落入本文所公开的优势概念的真实范围内的任何和所有修改和变化。
Claims (53)
1.一种识别到计算设备的多个对象的输入的方法,所述计算设备包括:处理器;以及用于在所述处理器的控制下识别所述输入的至少一个应用,所述方法包括步骤:
利用所述应用来确定所述输入的多个要素的至少一个几何特征;
利用所述应用将所确定的至少一个几何特征与至少一个预定几何阈值进行比较,以确定肯定的结果或否定的结果;
如果所述比较产生否定的结果,则在识别所述输入时将所述要素视为属于一个对象;以及
如果所述比较产生肯定的结果,则在识别所述输入时将所述要素视为属于多个对象。
2.根据权利要求1所述的方法,其中,所述至少一个几何特征包括所述多个要素中的要素对之间的一个或多个距离。
3.根据权利要求2所述的方法,其中,所述一个或多个距离是在每对要素中的每个要素的内容的一个或多个因素之间的距离。
4.根据权利要求3所述的方法,其中,所述一个或多个因素包括下述中的至少一个:每对要素中的要素的共同因素,以及包括每个要素的几何边界。
5.根据权利要求4所述的方法,其中:
每对要素中的每个要素表示一个或多个手写笔划;
所述共同因素是所述一个或多个笔划的质心;
所述至少一个预定几何阈值是质心距离阈值;以及
如果针对一对要素确定的质心距离大于所述质心距离阈值,则所述比较产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
6.根据权利要求4所述的方法,其中:
所述至少一个预定几何阈值是几何边界距离阈值;以及
如果针对一对要素确定的几何边界距离大于所述几何边界距离阈值,则所述比较产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
7.根据权利要求4所述的方法,其中,所述比较包括:针对每对要素,将第一距离与第一预定距离阈值进行比较并将第二距离与第二预定距离阈值进行比较。
8.根据权利要求7所述的方法,其中,如果针对一对要素,所述第一距离和所述第二距离分别大于所述第一预定距离阈值和所述第二预定距离阈值,则所述比较针对该对要素产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
9.根据权利要求7或8所述的方法,其中,针对每对要素:
所述第一距离是所述要素的共同因素之间的距离;
所述第二距离是所述要素的几何边界之间的距离;
所述第一预定距离阈值是共同因素距离阈值;以及
所述第二预定距离阈值是几何边界阈值。
10.根据权利要求9所述的方法,其中:
每对要素中的每个要素表示一个或多个手写笔划;以及
所述共同因素是一个或多个笔划的质心。
11.根据权利要求2至10中任一项所述的方法,其中,每对要素中的要素在几何上相邻。
12.根据权利要求2至11中任一项所述的方法,还包括:利用所述应用来确定所述多个要素中的要素的输入的位置顺序和时间顺序中的至少一个。
13.根据权利要求12所述的方法,其中,所述至少一个几何阈值是在考虑所确定的要素的输入的时间顺序的情况下预先确定的。
14.根据权利要求12或13所述的方法,其中,针对要素对中的至少一对要素:
确定所述至少一个几何特征包括:
利用所述应用来确定所述要素对之间的几何边界距离,其中每对要素包含:第一要素,与所述至少一对要素中的一个要素具有第一位置顺序关系;第二要素,与所述至少一对要素中的另一要素具有第二位置顺序关系;以及
利用所述应用确定所确定的几何边界距离中的最小距离;
所述至少一个预定几何阈值包括几何边界距离阈值;
所述比较包括将所确定的最小几何边界距离与所述几何边界距离阈值进行比较;以及
如果所确定的最小几何边界距离大于所述几何边界距离阈值,则所述比较产生肯定的结果,使得所述至少一对要素被视为属于不同对象。
15.根据权利要求14所述的方法,其中,所述位置顺序是方向上的,第一方向关系和第二方向关系分别是从所述至少一对要素中的要素起始的第一方向和第二方向。
16.根据权利要求14所述的方法,其中,所述第一要素和第二要素的对包含:在所述第二要素的几何区域内的第一要素。
17.根据权利要求16所述的方法,其中:
每对要素中的每个要素表示一个或多个手写笔划;以及
所述几何区域基于所述一个或多个手写笔划的特征。
18.一种用于确定到计算设备的多个对象的输入的系统,所述计算设备包括:处理器;以及用于在所述处理器的控制下识别所述输入的至少一个应用,所述至少一个系统应用被配置为:
接收多个要素的输入;
确定所述多个要素的至少一个几何特征;
将所确定的至少一个几何特征与预定几何阈值进行比较,以确定所述要素是属于一个对象还是属于多个对象。
19.根据权利要求18所述的系统,其中,所述至少一个应用被配置为计算所述多个要素中的要素对之间的一个或多个距离,来作为所述至少一个几何特征。
20.根据权利要求19所述的系统,其中,所述一个或多个距离是在每对要素中的每个要素的内容的一个或多个因素之间的距离。
21.根据权利要求20所述的系统,其中,所述一个或多个因素包括下述中的至少一个:每对要素中的要素的共同因素,以及包括每个要素的几何边界。
22.根据权利要求21所述的系统,其中:
每对要素中的每个要素表示一个或多个手写笔划;
所述共同因素是所述一个或多个笔划的质心;
所述至少一个预定几何阈值是质心距离阈值;以及
所述至少一个应用被配置为:如果针对一对要素确定的质心距离大于所述质心距离阈值,则确定该对要素中的要素被视为属于不同对象。
23.根据权利要求21所述的系统,其中:
所述至少一个预定几何阈值是几何边界距离阈值;以及
所述至少一个应用被配置为:如果针对一对要素确定的几何边界距离大于所述几何边界距离阈值,则确定该对要素中的要素被视为属于不同对象。
24.根据权利要求21所述的系统,其中,所述至少一个应用被配置为:针对每对要素,将第一距离与第一预定距离阈值进行比较并且将第二距离与第二预定距离阈值进行比较。
25.根据权利要求24所述的系统,其中,所述至少一个应用被配置为:针对一对要素,如果所述第一距离和所述第二距离分别大于所述第一预定阈值和所述第二预定阈值,则确定该对要素中的要素被视为属于不同对象。
26.根据权利要求24或25所述的系统,其中,针对每对要素:
所述第一距离是所述要素的共同因素之间的距离;
所述第二距离是所述要素的几何边界之间的距离;
所述第一预定距离阈值是共同因素距离阈值;以及
所述第二预定距离阈值是几何边界阈值。
27.根据权利要求26所述的系统,其中:
每对要素中的每个要素表示一个或多个手写笔划;以及
共同因素是一个或多个笔划的质心。
28.根据权利要求19至27中任一项所述的系统,其中,所述至少一个应用被配置为:确定所述多个要素中的要素的输入的位置顺序和时间顺序中的至少一个。
29.根据权利要求28所述的系统,其中,所述至少一个几何阈值是在考虑所确定的要素的输入的时间顺序的情况下预先确定的。
30.根据权利要求28或29所述的系统,其中,针对要素对中的至少一对要素:
所述至少一个应用被配置为通过以下操作来确定所述至少一个几何特征:
确定所述要素对之间的几何边界距离,其中每对要素包含:第一要素,与所述至少一对要素中的一个要素具有第一位置顺序关系;第二要素,与所述至少一对要素中的另一要素具有第二位置顺序关系;以及
确定所确定的几何边界距离中的最小距离;
所述至少一个预定几何阈值包括几何边界距离阈值;以及
所述至少一个应用被配置为:如果所确定的最小几何边界距离大于所述几何边界距离阈值,则确定所述至少一对要素中的要素被视为属于不同对象。
31.根据权利要求30所述的系统,其中,所述位置顺序是方向上的,第一方向关系和第二方向关系分别是从所述至少一对要素中的要素起始的第一方向和第二方向。
32.根据权利要求30所述的系统,其中,所述第一要素和第二要素的对包含:在所述第二要素的几何区域内的第一要素。
33.根据权利要求32所述的系统,其中:
每对要素中的每个要素表示一个或多个手写笔划;以及
所述几何区域基于所述一个或多个手写笔划的特征。
34.一种非暂时性计算机可读介质,其中体现有计算机可读程序代码,所述计算机可读程序代码适合于被执行以实现用于识别到计算设备的多个对象的输入的方法,所述计算设备包括:处理器;以及用于在所述处理器的控制下识别所述输入的至少一个应用,所述方法包括以下步骤:
利用所述应用来确定所述输入的多个要素的至少一个几何特征;
利用所述应用将所确定的至少一个几何特征与至少一个预定几何阈值进行比较,以确定肯定的结果或否定的结果;
如果所述比较产生否定的结果,则在识别所述输入时将所述要素视为属于一个对象;以及
如果所述比较产生肯定的结果,则在识别所述输入时将所述要素视为属于多个对象。
35.根据权利要求34所述的非暂时性计算机可读介质,其中,所述至少一个几何特征包括所述多个要素中的要素对之间的一个或多个距离。
36.根据权利要求35所述的非暂时性计算机可读介质,其中,所述一个或多个距离是在每对要素中的每个要素的内容的一个或多个因素之间的距离。
37.根据权利要求36所述的非暂时性计算机可读介质,其中,所述一个或多个因素包括下述中的至少一个:每对要素中的要素的共同因素,以及包括每个要素的几何边界。
38.根据权利要求37所述的非暂时性计算机可读介质,其中:
每对要素中的每个要素表示一个或多个手写笔划;
所述共同因素是所述一个或多个笔划的质心;
所述至少一个预定几何阈值是质心距离阈值;以及
如果针对一对要素确定的质心距离大于所述质心距离阈值,则所述比较产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
39.根据权利要求37所述的非暂时性计算机可读介质,其中:
所述至少一个预定几何阈值是几何边界距离阈值;以及
如果针对一对要素确定的几何边界距离大于所述几何边界距离阈值,则所述比较产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
40.根据权利要求37所述的非暂时性计算机可读介质,其中,所述比较包括:针对每对要素,将第一距离与第一预定距离阈值进行比较并将第二距离与第二预定距离阈值进行比较。
41.根据权利要求40所述的非暂时性计算机可读介质,其中,如果针对一对要素,所述第一距离和所述第二距离分别大于所述第一预定距离阈值和所述第二预定距离阈值,则所述比较针对该对要素产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
42.根据权利要求40或41所述的非暂时性计算机可读介质,其中,针对每对要素:
所述第一距离是所述要素的共同因素之间的距离;
所述第二距离是所述要素的几何边界之间的距离;
所述第一预定距离阈值是共同因素距离阈值;以及
所述第二预定距离阈值是几何边界阈值。
43.根据权利要求42所述的非暂时性计算机可读介质,其中:
每对要素中的每个要素表示一个或多个手写笔划;以及
所述共同因素是一个或多个笔划的质心。
44.根据权利要求35至43中任一项所述的非暂时性计算机可读介质,其中,每对要素中的要素在几何上相邻。
45.根据权利要求35至44中任一项所述的非暂时性计算机可读介质,还包括:利用所述应用来确定所述多个要素中的要素的输入的位置顺序和时间顺序中的至少一个。
46.根据权利要求45所述的非暂时性计算机可读介质,其中,所述至少一个几何阈值是在考虑所确定的要素的输入的时间顺序的情况下预先确定的。
47.根据权利要求45或46所述的非暂时性计算机可读介质,其中,针对要素对中的至少一对要素:
确定所述至少一个几何特征包括:
利用所述应用来确定所述要素对之间的几何边界距离,其中每对要素包含:第一要素,与所述至少一对要素中的一个要素具有第一位置顺序关系;第二要素,与所述至少一对要素中的另一要素具有第二位置顺序关系;以及
利用所述应用确定所确定的几何边界距离中的最小距离;
所述至少一个预定几何阈值包括几何边界距离阈值;
所述比较包括将所确定的最小几何边界距离与所述几何边界距离阈值进行比较;以及
如果所确定的最小几何边界距离大于所述几何边界距离阈值,则所述比较产生肯定的结果,使得所述至少一对要素被视为属于不同对象。
48.根据权利要求47所述的非暂时性计算机可读介质,其中,所述位置顺序是方向上的,第一方向关系和第二方向关系分别是从所述至少一对要素中的要素起始的第一方向和第二方向。
49.根据权利要求47所述的非暂时性计算机可读介质,其中,所述第一要素和第二要素的对包含:在所述第二要素的几何区域内的第一要素。
50.根据权利要求49所述的非暂时性计算机可读介质,其中:
每对要素中的每个要素表示一个或多个手写笔划;以及
所述几何区域基于所述一个或多个手写笔划的特征。
51.根据权利要求1至17中任一项所述的方法,其中,所述多个对象是一个或多个几何分离的手写数学等式,所述要素是所述多个数学等式中的每一个的手写字符、符号和运算符。
52.根据权利要求18至33中任一项所述的系统,其中,所述多个对象是一个或多个几何分离的手写数学等式,所述要素是所述多个数学等式中的每一个的手写字符、符号和运算符。
53.根据权利要求34至50中任一项所述的非暂时性计算机可读介质,其中,所述多个对象是一个或多个几何分离的手写数学等式,所述要素是所述多个数学等式中的每一个的手写字符、符号和运算符。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15290183 | 2015-07-10 | ||
EP15290183.1 | 2015-07-10 | ||
US14/870,735 | 2015-09-30 | ||
US14/870,735 US9904847B2 (en) | 2015-07-10 | 2015-09-30 | System for recognizing multiple object input and method and product for same |
PCT/EP2016/001175 WO2017008896A1 (en) | 2015-07-10 | 2016-07-08 | System for recognizing multiple object input and method and product for same |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108027876A true CN108027876A (zh) | 2018-05-11 |
CN108027876B CN108027876B (zh) | 2022-06-03 |
Family
ID=53794166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680052456.XA Active CN108027876B (zh) | 2015-07-10 | 2016-07-08 | 用于识别多个对象输入的系统及其方法和产品 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9904847B2 (zh) |
EP (1) | EP3320482B1 (zh) |
JP (1) | JP6777723B2 (zh) |
KR (1) | KR102326395B1 (zh) |
CN (1) | CN108027876B (zh) |
WO (1) | WO2017008896A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110363149A (zh) * | 2019-07-16 | 2019-10-22 | 广州视源电子科技股份有限公司 | 笔迹的处理方法和装置 |
CN110674671A (zh) * | 2018-07-03 | 2020-01-10 | 富士施乐株式会社 | 捕获笔划墨迹的系统、方法和计算机可读介质 |
TWI716108B (zh) * | 2018-09-19 | 2021-01-11 | 英屬開曼群島商意騰科技股份有限公司 | 適用於深度神經網路之卷積計算積體電路及其方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170068868A1 (en) * | 2015-09-09 | 2017-03-09 | Google Inc. | Enhancing handwriting recognition using pre-filter classification |
US10163004B2 (en) * | 2017-03-30 | 2018-12-25 | Konica Minolta Laboratory U.S.A., Inc. | Inferring stroke information from an image |
US10579893B2 (en) * | 2017-02-28 | 2020-03-03 | Konica Minolta Laboratory U.S.A., Inc. | Inferring stroke information from an image |
JP7071840B2 (ja) * | 2017-02-28 | 2022-05-19 | コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド | 画像中の文字ストローク情報の推定 |
CN107729865A (zh) * | 2017-10-31 | 2018-02-23 | 中国科学技术大学 | 一种手写体数学公式离线识别方法及系统 |
CN109992121B (zh) * | 2017-12-29 | 2023-02-03 | 北京搜狗科技发展有限公司 | 一种输入方法、装置和用于输入的装置 |
US10867124B2 (en) * | 2018-03-26 | 2020-12-15 | Apple Inc. | Manual annotations using clustering, anchoring, and transformation |
US11126836B2 (en) * | 2019-03-28 | 2021-09-21 | Microsoft Technology Licensing, Llc | Grouping strokes of digital ink |
KR20190096872A (ko) * | 2019-07-31 | 2019-08-20 | 엘지전자 주식회사 | 연합학습(Federated learning)을 통한 필기체 인식방법 및 이를 위한 장치 |
KR20210061523A (ko) * | 2019-11-19 | 2021-05-28 | 삼성전자주식회사 | 필기 입력을 텍스트로 변환하는 전자 장치 및 그 동작 방법 |
EP3828685B1 (en) | 2019-11-29 | 2022-09-28 | MyScript | Gesture stroke recognition in touch-based user interface input |
CN113345051A (zh) * | 2020-02-18 | 2021-09-03 | 北京沃东天骏信息技术有限公司 | 对图元进行排版的方法、装置、计算设备及介质 |
EP4086744B1 (en) | 2021-05-04 | 2024-02-21 | MyScript | Gesture stroke recognition in touch-based user interface input |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002063548A (ja) * | 2001-06-18 | 2002-02-28 | Hitachi Software Eng Co Ltd | 手書き文字認識方法 |
US20040090439A1 (en) * | 2002-11-07 | 2004-05-13 | Holger Dillner | Recognition and interpretation of graphical and diagrammatic representations |
US20060062475A1 (en) * | 2004-09-21 | 2006-03-23 | Microsoft Corporation | System and method for connected container recognition of a hand-drawn chart in ink input |
US7203903B1 (en) * | 1993-05-20 | 2007-04-10 | Microsoft Corporation | System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings |
CN101149805A (zh) * | 2006-09-19 | 2008-03-26 | 北京三星通信技术研究有限公司 | 利用字符结构信息进行后处理的手写识别的方法和装置 |
CN101216947A (zh) * | 2008-01-18 | 2008-07-09 | 北京语言大学 | 基于笔段网格的手写汉字输入方法和汉字识别方法 |
CN101364271A (zh) * | 2008-05-09 | 2009-02-11 | 东莞市正欣科技有限公司 | 手写汉字笔画的识别方法和识别装置 |
US20100163316A1 (en) * | 2008-12-30 | 2010-07-01 | Microsoft Corporation | Handwriting Recognition System Using Multiple Path Recognition Framework |
CN102455870A (zh) * | 2011-09-29 | 2012-05-16 | 北京壹人壹本信息科技有限公司 | 一种手写输入方法及装置 |
JP2014038385A (ja) * | 2012-08-10 | 2014-02-27 | Toshiba Corp | 手書き描画装置、方法及びプログラム |
JP2014038384A (ja) * | 2012-08-10 | 2014-02-27 | Toshiba Corp | 手書き文書処理装置、方法及びプログラム |
JP2014099182A (ja) * | 2013-12-10 | 2014-05-29 | Toshiba Corp | 電子機器および手書き文書処理方法 |
US20140328540A1 (en) * | 2013-05-03 | 2014-11-06 | Microsoft Corporation | Sketch Segmentation |
US20150030249A1 (en) * | 2010-12-10 | 2015-01-29 | Intsig Information Co., Ltd. | Overlapped handwriting input method |
CN104714666A (zh) * | 2013-12-12 | 2015-06-17 | 鸿合科技有限公司 | 一种智能笔及其笔划识别处理方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544262A (en) | 1992-04-07 | 1996-08-06 | Apple Computer, Inc. | Method and apparatus for processing graphically input equations |
US5428805A (en) | 1992-12-22 | 1995-06-27 | Morgan; Michael W. | Method and apparatus for recognizing and performing handwritten calculations |
US6556712B1 (en) * | 1996-05-23 | 2003-04-29 | Apple Computer, Inc. | Methods and apparatus for handwriting recognition |
US6226403B1 (en) * | 1998-02-09 | 2001-05-01 | Motorola, Inc. | Handwritten character recognition using multi-resolution models |
US7729538B2 (en) * | 2004-08-26 | 2010-06-01 | Microsoft Corporation | Spatial recognition and grouping of text and graphics |
US7447360B2 (en) | 2004-09-22 | 2008-11-04 | Microsoft Corporation | Analyzing tabular structures in expression recognition |
US7724957B2 (en) * | 2006-07-31 | 2010-05-25 | Microsoft Corporation | Two tiered text recognition |
US8121412B2 (en) | 2008-06-06 | 2012-02-21 | Microsoft Corporation | Recognition of tabular structures |
CN102789362A (zh) | 2012-06-29 | 2012-11-21 | 鸿富锦精密工业(深圳)有限公司 | 电子设备及其智能计算控制方法 |
US9576495B2 (en) | 2012-12-11 | 2017-02-21 | Fluidity Software, Inc. | Computerized system and method for teaching, learning, and assessing the knowledge of stem principles |
-
2015
- 2015-09-30 US US14/870,735 patent/US9904847B2/en active Active
-
2016
- 2016-07-08 JP JP2018500774A patent/JP6777723B2/ja active Active
- 2016-07-08 CN CN201680052456.XA patent/CN108027876B/zh active Active
- 2016-07-08 WO PCT/EP2016/001175 patent/WO2017008896A1/en active Application Filing
- 2016-07-08 KR KR1020187004041A patent/KR102326395B1/ko active IP Right Grant
- 2016-07-08 EP EP16741856.5A patent/EP3320482B1/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203903B1 (en) * | 1993-05-20 | 2007-04-10 | Microsoft Corporation | System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings |
JP2002063548A (ja) * | 2001-06-18 | 2002-02-28 | Hitachi Software Eng Co Ltd | 手書き文字認識方法 |
US20040090439A1 (en) * | 2002-11-07 | 2004-05-13 | Holger Dillner | Recognition and interpretation of graphical and diagrammatic representations |
US20060062475A1 (en) * | 2004-09-21 | 2006-03-23 | Microsoft Corporation | System and method for connected container recognition of a hand-drawn chart in ink input |
CN101149805A (zh) * | 2006-09-19 | 2008-03-26 | 北京三星通信技术研究有限公司 | 利用字符结构信息进行后处理的手写识别的方法和装置 |
CN101216947A (zh) * | 2008-01-18 | 2008-07-09 | 北京语言大学 | 基于笔段网格的手写汉字输入方法和汉字识别方法 |
CN101364271A (zh) * | 2008-05-09 | 2009-02-11 | 东莞市正欣科技有限公司 | 手写汉字笔画的识别方法和识别装置 |
US20100163316A1 (en) * | 2008-12-30 | 2010-07-01 | Microsoft Corporation | Handwriting Recognition System Using Multiple Path Recognition Framework |
US20150030249A1 (en) * | 2010-12-10 | 2015-01-29 | Intsig Information Co., Ltd. | Overlapped handwriting input method |
CN102455870A (zh) * | 2011-09-29 | 2012-05-16 | 北京壹人壹本信息科技有限公司 | 一种手写输入方法及装置 |
JP2014038385A (ja) * | 2012-08-10 | 2014-02-27 | Toshiba Corp | 手書き描画装置、方法及びプログラム |
JP2014038384A (ja) * | 2012-08-10 | 2014-02-27 | Toshiba Corp | 手書き文書処理装置、方法及びプログラム |
US20140328540A1 (en) * | 2013-05-03 | 2014-11-06 | Microsoft Corporation | Sketch Segmentation |
JP2014099182A (ja) * | 2013-12-10 | 2014-05-29 | Toshiba Corp | 電子機器および手書き文書処理方法 |
CN104714666A (zh) * | 2013-12-12 | 2015-06-17 | 鸿合科技有限公司 | 一种智能笔及其笔划识别处理方法 |
Non-Patent Citations (3)
Title |
---|
CHUANJUN LI等: "Online Recognition of Handwritten Mathematical Expressions with Support for Matrices", 《2008 19TH INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION》 * |
KENICHI TOYOZUMI等: "An On-line Handwritten Mathematical Equation Recognition System that can process matrix expressions by referring to the relative positions of matrix elements", 《SYSTEMS AND COMPUTERS IN JAPAN》 * |
MOHAMED A. ALKALAI: "TABLE RECOGNITION IN MATHEMATICAL DOCUMENTS", 《PHD THESIS》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674671A (zh) * | 2018-07-03 | 2020-01-10 | 富士施乐株式会社 | 捕获笔划墨迹的系统、方法和计算机可读介质 |
CN110674671B (zh) * | 2018-07-03 | 2023-12-22 | 富士胶片商业创新有限公司 | 捕获笔划墨迹的系统、方法和计算机可读介质 |
TWI716108B (zh) * | 2018-09-19 | 2021-01-11 | 英屬開曼群島商意騰科技股份有限公司 | 適用於深度神經網路之卷積計算積體電路及其方法 |
CN110363149A (zh) * | 2019-07-16 | 2019-10-22 | 广州视源电子科技股份有限公司 | 笔迹的处理方法和装置 |
CN110363149B (zh) * | 2019-07-16 | 2021-12-03 | 广州视源电子科技股份有限公司 | 笔迹的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2018524734A (ja) | 2018-08-30 |
WO2017008896A1 (en) | 2017-01-19 |
KR102326395B1 (ko) | 2021-11-12 |
EP3320482B1 (en) | 2020-09-02 |
JP6777723B2 (ja) | 2020-10-28 |
US20170011262A1 (en) | 2017-01-12 |
US9904847B2 (en) | 2018-02-27 |
EP3320482A1 (en) | 2018-05-16 |
CN108027876B (zh) | 2022-06-03 |
KR20180064371A (ko) | 2018-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108027876A (zh) | 用于识别多个对象输入的系统及其方法和产品 | |
KR102428704B1 (ko) | 핸드라이팅된 다이어그램 커넥터들의 인식을 위한 시스템 및 방법 | |
CN108834426A (zh) | 图中的手写识别的系统和方法 | |
KR102470522B1 (ko) | 핸드라이팅된 다이어그램 커넥터들의 관리를 위한 시스템 및 방법 | |
CN102855082A (zh) | 用于重叠文本用户输入的字符识别 | |
KR20170005378A (ko) | 중첩된 필기 인식 기술을 위한 시스템 및 방법 | |
CN108700994A (zh) | 用于数字墨水交互性的系统和方法 | |
US12033411B2 (en) | Stroke based control of handwriting input | |
CN108369637A (zh) | 用于美化数字墨水的系统和方法 | |
CN108701215B (zh) | 用于识别多对象结构的系统和方法 | |
US10579868B2 (en) | System and method for recognition of objects from ink elements | |
Cardoso et al. | Hand gesture recognition towards enhancing accessibility | |
CN115039144B (zh) | 处理手写中的数学和文本的方法和计算装置 | |
EP3491580A1 (en) | System and method for beautifying superimposed digital ink | |
Costagliola et al. | Recognition and autocompletion of partially drawn symbols by using polar histograms as spatial relation descriptors | |
CN107912062A (zh) | 叠覆手写的系统和方法 | |
Shaw et al. | A Survey on Applying Automated Recognition of Touchscreen Stroke Gestures to Children’s Input | |
WO2023170315A1 (en) | Merging text blocks | |
WO2023170314A1 (en) | Creating text block sections |
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 |