CN108027876B - 用于识别多个对象输入的***及其方法和产品 - Google Patents

用于识别多个对象输入的***及其方法和产品 Download PDF

Info

Publication number
CN108027876B
CN108027876B CN201680052456.XA CN201680052456A CN108027876B CN 108027876 B CN108027876 B CN 108027876B CN 201680052456 A CN201680052456 A CN 201680052456A CN 108027876 B CN108027876 B CN 108027876B
Authority
CN
China
Prior art keywords
elements
geometric
pair
distance
threshold
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.)
Active
Application number
CN201680052456.XA
Other languages
English (en)
Other versions
CN108027876A (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.)
MyScript SAS
Original Assignee
MyScript SAS
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
Application filed by MyScript SAS filed Critical MyScript SAS
Publication of CN108027876A publication Critical patent/CN108027876A/zh
Application granted granted Critical
Publication of CN108027876B publication Critical patent/CN108027876B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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/04883Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • 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
    • 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/32Digital ink
    • G06V30/36Matching; 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.,Leapfrog Enterprises,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、
Figure RE-BDA0001592638900000121
MAC和
Figure RE-BDA0001592638900000122
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至图12B所示的第二几何测试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 (13)

1.一种识别到计算设备的多个对象的手写输入的方法,所述计算设备包括:处理器;以及用于在所述处理器的控制下识别所述输入的至少一个应用,所述方法包括步骤:
利用所述应用来确定所述输入的多个要素的至少一个几何特征;
利用所述应用将所确定的至少一个几何特征与至少一个预定几何阈值进行比较,以确定肯定的结果或否定的结果;以及
基于比较步骤将所述要素所属的对象的数量决定为一个或多个,
其中,决定步骤将否定结果的确定与属于一个对象的要素相关联,并且决定步骤将肯定结果的确定与属于多个对象的要素相关联,
其中,所述至少一个几何特征包括所述多个要素的要素对之间的一个或多个距离,
其中,所述一个或多个距离是在每对要素中的每个要素的内容的一个或多个因素之间的距离,
其中,所述一个或多个因素包括下述中的至少一个:每对要素中的要素的共同因素,以及包括每个要素的几何边界,
其中,所述比较包括:针对每对要素,将第一距离与第一预定距离阈值进行比较以及将第二距离与第二预定距离阈值进行比较,以及
其中,针对每对要素:
所述第一距离是所述要素的共同因素之间的距离;
所述第二距离是所述要素的几何边界之间的距离;
所述第一预定距离阈值是共同因素距离阈值;以及
所述第二预定距离阈值是几何边界阈值。
2.根据权利要求1所述的方法,其中:
每对要素中的每个要素表示一个或多个手写笔划;
所述共同因素是所述一个或多个笔划的质心;
所述至少一个预定几何阈值是质心距离阈值;以及
如果针对一对要素确定的质心距离大于所述质心距离阈值,则所述比较产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
3.根据权利要求1所述的方法,其中:
所述至少一个预定几何阈值是几何边界距离阈值;以及
如果针对一对要素确定的几何边界距离大于所述几何边界距离阈值,则所述比较产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
4.根据权利要求1所述的方法,其中,如果针对一对要素,所述第一距离和所述第二距离分别大于所述第一预定距离阈值和所述第二预定距离阈值,则所述比较针对该对要素产生肯定的结果,使得该对要素中的要素被视为属于不同对象。
5.根据权利要求1所述的方法,其中:
每对要素中的每个要素表示一个或多个手写笔划;以及
所述共同因素是一个或多个笔划的质心。
6.根据权利要求1所述的方法,其中,每对要素中的要素在几何上相邻。
7.根据权利要求1所述的方法,还包括:利用所述应用来确定所述多个要素中的要素的输入的位置顺序和时间顺序中的至少一个。
8.根据权利要求7所述的方法,其中,所述至少一个几何阈值是在考虑所确定的要素的输入的时间顺序的情况下预先确定的。
9.根据权利要求7所述的方法,其中,针对要素对中的至少一对要素:
确定所述至少一个几何特征包括:
利用所述应用来确定所述要素对之间的几何边界距离,其中每对要素包含:第一要素,与所述至少一对要素中的一个要素具有第一位置顺序关系;第二要素,与所述至少一对要素中的另一要素具有第二位置顺序关系;以及
利用所述应用确定所确定的几何边界距离中的最小距离;
所述至少一个预定几何阈值包括几何边界距离阈值;
所述比较包括将所确定的最小几何边界距离与所述几何边界距离阈值进行比较;以及
如果所确定的最小几何边界距离大于所述几何边界距离阈值,则所述比较产生肯定的结果,使得所述至少一对要素被视为属于不同对象。
10.根据权利要求9所述的方法,其中,所述位置顺序是方向上的,第一方向关系和第二方向关系分别是从所述至少一对要素中的要素起始的第一方向和第二方向。
11.根据权利要求9所述的方法,其中,所述第一要素和第二要素的对包含:在所述第二要素的几何区域内的第一要素。
12.根据权利要求11所述的方法,其中:
每对要素中的每个要素表示一个或多个手写笔划;以及
所述几何区域基于所述一个或多个手写笔划的特征。
13.一种体现有计算机可读程序代码的非暂时性计算机可用介质,所述计算机可读程序代码适合于被执行以实现用于识别到计算设备的多个对象的手写输入的方法,所述计算设备包括:处理器;以及用于在所述处理器的控制下识别所述输入的至少一个应用,所述方法包括以下步骤:
利用所述应用来确定所述输入的多个要素的至少一个几何特征;
利用所述应用将所确定的至少一个几何特征与至少一个预定几何阈值进行比较,以确定肯定的结果或否定的结果;
基于比较步骤将所述要素所属的对象的数量决定为一个或多个,
其中,决定步骤将否定的结果的确定与属于一个对象的要素相关联,并且决定步骤将肯定的结果的确定与属于多个对象的要素相关联,
所述计算机程序产品还包括:利用所述应用来确定所述多个要素中的要素的输入的位置顺序和时间顺序中的至少一个,
其中,所述至少一个几何特征包括所述多个要素的要素对之间的一个或多个距离,
其中,所述一个或多个距离是在每对要素中的每个要素的内容的一个或多个因素之间的距离,
其中,所述一个或多个因素包括下述中的至少一个:每对要素中的要素的共同因素,以及包括每个要素的几何边界,
其中,针对要素对中的至少一对要素:
确定所述至少一个几何特征包括:
利用所述应用来确定要素对之间的几何边界距离,其中每对要素包含:第一要素,与所述至少一对要素中的一个要素具有第一位置顺序关系;第二要素,与所述至少一对要素中的另一要素具有第二位置顺序关系;以及
利用所述应用确定所确定的几何边界距离中的最小距离;
所述至少一个预定几何阈值包括几何边界距离阈值;
所述比较包括将所确定的最小几何边界距离与所述几何边界距离阈值进行比较;以及
如果所确定的最小几何边界距离大于所述几何边界距离阈值,则所述比较产生肯定的结果,使得所述至少一对要素中的要素被视为属于不同对象。
CN201680052456.XA 2015-07-10 2016-07-08 用于识别多个对象输入的***及其方法和产品 Active CN108027876B (zh)

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 CN108027876A (zh) 2018-05-11
CN108027876B true 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)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
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
US10997402B2 (en) * 2018-07-03 2021-05-04 Fuji Xerox Co., Ltd. Systems and methods for real-time end-to-end capturing of ink strokes from video
US20200090030A1 (en) * 2018-09-19 2020-03-19 British Cayman Islands Intelligo Technology Inc. Integrated circuit for convolution calculation in deep neural network and method thereof
US11126836B2 (en) * 2019-03-28 2021-09-21 Microsoft Technology Licensing, Llc Grouping strokes of digital ink
CN110363149B (zh) * 2019-07-16 2021-12-03 广州视源电子科技股份有限公司 笔迹的处理方法和装置
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
EP4086744B1 (en) 2021-05-04 2024-02-21 MyScript Gesture stroke recognition in touch-based user interface input

Family Cites Families (25)

* Cited by examiner, † Cited by third party
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
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
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
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
US7729538B2 (en) * 2004-08-26 2010-06-01 Microsoft Corporation Spatial recognition and grouping of text and graphics
US7400771B2 (en) * 2004-09-21 2008-07-15 Microsoft Corporation System and method for connected container recognition of a hand-drawn chart in ink input
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
CN100555312C (zh) * 2006-09-19 2009-10-28 北京三星通信技术研究有限公司 利用字符结构信息进行后处理的手写识别的方法和装置
CN101216947B (zh) * 2008-01-18 2010-08-18 北京语言大学 基于笔段网格的手写汉字输入方法和汉字识别方法
CN101364271B (zh) * 2008-05-09 2011-05-11 东莞市正欣科技有限公司 手写汉字笔画的识别方法和识别装置
US8121412B2 (en) 2008-06-06 2012-02-21 Microsoft Corporation Recognition of tabular structures
US20100163316A1 (en) * 2008-12-30 2010-07-01 Microsoft Corporation Handwriting Recognition System Using Multiple Path Recognition Framework
CN102156609B (zh) * 2010-12-10 2012-12-19 上海合合信息科技发展有限公司 一种重叠书写的手写输入方法
CN102455870A (zh) * 2011-09-29 2012-05-16 北京壹人壹本信息科技有限公司 一种手写输入方法及装置
CN102789362A (zh) 2012-06-29 2012-11-21 鸿富锦精密工业(深圳)有限公司 电子设备及其智能计算控制方法
JP5774558B2 (ja) * 2012-08-10 2015-09-09 株式会社東芝 手書き文書処理装置、方法及びプログラム
JP5787843B2 (ja) * 2012-08-10 2015-09-30 株式会社東芝 手書き描画装置、方法及びプログラム
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
US9183467B2 (en) 2013-05-03 2015-11-10 Microsoft Technology Licensing, Llc Sketch segmentation
JP5717831B2 (ja) * 2013-12-10 2015-05-13 株式会社東芝 電子機器および手書き文書処理方法
CN104714666B (zh) * 2013-12-12 2017-09-05 鸿合科技有限公司 一种智能笔及其笔划识别处理方法

Also Published As

Publication number Publication date
EP3320482B1 (en) 2020-09-02
JP6777723B2 (ja) 2020-10-28
WO2017008896A1 (en) 2017-01-19
KR102326395B1 (ko) 2021-11-12
US20170011262A1 (en) 2017-01-12
JP2018524734A (ja) 2018-08-30
CN108027876A (zh) 2018-05-11
US9904847B2 (en) 2018-02-27
KR20180064371A (ko) 2018-06-14
EP3320482A1 (en) 2018-05-16

Similar Documents

Publication Publication Date Title
CN108027876B (zh) 用于识别多个对象输入的***及其方法和产品
US9911052B2 (en) System and method for superimposed handwriting recognition technology
US10664695B2 (en) System and method for managing digital ink typesetting
US10007859B2 (en) System and method for superimposed handwriting recognition technology
CN108369637B (zh) 用于美化数字墨水的***和方法
CN108701215B (zh) 用于识别多对象结构的***和方法
US10579868B2 (en) System and method for recognition of objects from ink elements
EP3491580A1 (en) System and method for beautifying superimposed digital ink
KR20220132536A (ko) 필기에서의 수학 검출
JP6735775B2 (ja) 重畳手書き入力認識技術のためのシステム及び方法
US12033411B2 (en) Stroke based control of handwriting input
US20210350122A1 (en) Stroke based control of handwriting input
WO2006090404A1 (en) System, method, and apparatus for accomodating variability in chunking the sub-word units of online handwriting
WO2024110354A1 (en) Setting font size in an unconstrained canvas
CN114255469A (zh) 手写识别方法、装置、电子设备和存储介质

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