CN113711232A - 用于着墨应用的对象检测和分割 - Google Patents
用于着墨应用的对象检测和分割 Download PDFInfo
- Publication number
- CN113711232A CN113711232A CN202080022660.3A CN202080022660A CN113711232A CN 113711232 A CN113711232 A CN 113711232A CN 202080022660 A CN202080022660 A CN 202080022660A CN 113711232 A CN113711232 A CN 113711232A
- Authority
- CN
- China
- Prior art keywords
- strokes
- ink
- writing
- image
- stroke
- 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.)
- Pending
Links
Images
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0418—Architecture, e.g. interconnection topology using chaos or fractal principles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- 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/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- 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/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/273—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion removing elements interfering with the pattern to be recognised
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- 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
-
- 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/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/413—Classification of content, e.g. text, photographs or tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
Abstract
墨水解析系统在着墨设备输入处接收墨水笔画并且将所接收的墨水笔画绘制成像素空间中的图像。在图像中检测书写笔画并且被标记。从图像中移除与所标记的书写笔画相对应的像素。使用检测并且标记具有移除后的像素的图像中的绘画笔画。输出分别与所标记的书写笔画和所标记的绘画笔画相对应的书写对象和绘画对象。从而提供了具有准确的墨水笔画检测和分割的数字墨水解析流水线。
Description
背景技术
数字着墨工具允许用户创建诸如图表、流程图、笔记等的数字内容。识别利用数字墨水创建的内容可以促进用户生产力的提高。为此,手写识别和笔画分析是常见的数字着墨功能,其中对图像或绘画进行解释以提取特定类别的信息,诸如特定字符或形状的存在和位置。
然而,传统的手写识别和笔画分析具有许多限制,包括对输入的笔画顺序敏感,使得笔画顺序的变化降低了识别准确度。此外,如果手写内容的尺寸很大,则识别不准确。分组和分类也使用单独训练的不同神经网络来执行,使得对结果进行组合没有产生最佳的最终结果。
发明内容
本发明内容被提供以简化的形式介绍以下在详细描述中进一步描述的概念的选择。本发明内容不旨在标识要求保护的主题的关键特征或必要特征,也不旨在被用作确定要求保护的主题的范围的帮助。
一种用于数字墨水解析的计算机化方法包括:在着墨设备输入处接收墨水笔画,将所接收的墨水笔画绘制成像素空间中的图像,以及检测图像中的书写笔画并且标记书写笔画。该计算机化方法还包括:从图像中移除与所标记的书写笔画相对应的像素并且检测具有移除后的像素的图像中的绘画笔画并且标记绘画笔画。该方法还包括:输出分别所标记的书写笔画和所标记的绘画笔画相对应的书写对象和绘画对象。
随着通过参考结合附图来考虑的以下详细描述,许多随附的特征变得更好理解,这些特征将更容易被了解。
附图说明
根据附图阅读的以下详细描述将更好地理解本描述,其中:
图1是根据实施例的可以被解析的着墨输入;
图2是根据实施例的具有解析流水线的墨水解析引擎的框图;
图3是根据实施例的书写检测器的框图;
图4图示了根据实施例的神经网络;
图5图示了根据实施例的绘画检测过程;
图6图示了根据实施例的在绘画检测过程中所使用的边界框;
图7图示了根据实施例的使用解析树的解析;
图8是根据实施例的针对着墨环境的用于检测和分割的过程的流程图;
图9是根据实施例的针对着墨环境的用于检测和分割的过程的另一流程图;以及
图10是适合于实现本文所公开的各种示例中的一些的示例计算环境的框图。
在整个附图中,对应的附图标记指示对应的部分。在附图中,系统被图示为示意图。附图可能不是按比例绘制的。
具体实施方式
在本文中所描述的计算设备和方法被配置为执行用户输入(特别是数字着墨输入)的检测和分割。对象检测和分割技术被实现在被配置为解析流水线的机器学习引擎的流水线中。使用所配置的解析流水线,可以准确地识别着墨输入的内容,诸如图表。
在一个示例中,训练卷积神经网络架构(例如,U-net)以分割书写笔画,然后是对绘画对象进行检测和分类的卷积神经网络(例如,You Look Only Once(Yolo))。在一些示例中,从图像空间到笔画空间的Yolo识别结果的转换利用提升决策树以提供准确的笔画映射。该流水线允许将数字墨水笔画改进分组并且分类为属于形状的笔画和属于文本的笔画。此外,该流水线在识别过程中对笔画顺序更有弹性。
虽然在一些示例中参考U-net和Yolo进行了描述,但是本公开的各方面可与具有本文所描述的特性的任何其他神经网络一起操作以支持所公开的功能向。
本公开由此提供一种具有解析自由形式的墨水绘画(诸如,一页中的多种字体大小和随机笔画顺序绘画)的能力的流水线。因此,墨水解析引擎被配置为执行数字墨水分析,其允许接收广泛的笔画集合,使用分类技术以笔画分割成更细粒度的域(例如,文本、形状、连接符等),并且通过针对该域所调整的更简单的分类算法运行每个子群组。墨水解析引擎已经降低了对墨水笔画排序的敏感度,实现了具有不同墨水字体大小的文本识别,并且对传入的墨水笔画数据的不同采样方法是不可知的。以这种方式,当处理器被编程为执行本文所描述的操作时,处理器以非常规的方式使用,并且允许更快速和/或更准确地识别用数字墨水创建的不同输入。从而提供了改进用户体验的更有效的解析过程。
各种示例被实现为数字墨水转换后台应用编程接口(API),其可以由特定应用调用以解析着墨输入以标识不同类型的墨水笔画输入。应当注意,虽然本文所描述的示例涉及着墨应用,但是诸如光学字符识别(OCR)应用之类的其他应用也可以受益于有利利用将墨水检测分离成不同组分的墨水解析引擎。
图1图示了根据各种示例的可以被解析的着墨输入100。着墨输入包括在这个示例中对应于单词的书写输入102,以及在这个示例中对应于线和框的绘画输入104。在各种示例中,像素数据表示书写输入102和绘画输入104,其对应于由人类使用触控笔书写的着墨笔画。在一个示例中,解析引擎被实现为着墨应用的一部分,其中由人类使用触控笔书写的文本被转换为文本字符,并且由人类使用触控笔所绘制的草图通过将所有着墨笔画绘制到图像(像素)空间而被转换为绘画对象。来自各种示例的输出对于进一步处理也是有用的,例如在由计算设备1000操作的其他应用中,这关于图10更详细地描述。
图2图示了可操作使用解析流水线200来解析着墨输入(诸如,着墨输入100)的墨水解析引擎220。解析流水线200中的组件以所示的特定顺序被布置为执行解析以将墨水检测分离成允许更准确的检测的不同组分和着墨输入的分段。也就是说,操作的顺序会影响计算的准确度。在所图示的示例中,在绘画检测之前执行书写检测,以便针对着墨应用提供更准确的解析。
解析流水线200接收输入笔画数据202,诸如包括不同类型输入的着墨输入206,在所图示的示例中,输入是字母、框和线。在204处将着墨笔画(例如,字母、框和线)转换为图像(例如,被转换为图像空间中的像素)。
然后在208处对所转换的着墨笔画执行书写检测。例如,执行单词检测以标识图像空间内的字母210(例如,A、B、YES和NO)。例如,书写检测器组件300被配置为对所转换的图像笔画执行单词检测,如图3中所图示。如该图中所图示,着墨输入206表示对语义分割过程302的着墨输入。在一个示例中,语义分割过程302利用逐像素分类(例如,书写或绘制像素)来执行语义分割以形成一组书写掩码(区域)304。可以使用各种不同的技术来执行逐像素分类。在一个示例中,使用针对该逐像素分类所配置的定制U-net神经网络来执行逐像素分类。即,根据神经网络技术训练神经网络以执行逐像素分类。
例如,如图4中所图示,利用被配置为压缩U-net网络的定制U-net神经网络400。定制U-net神经网络400被配置为在层402、404、406和408中的每一层上具有固定数目的内核(如括号中的数字所指示)。在该配置中,定制U-net神经网络400的固有连接操作从级联变为加法,从而提供关于推断时间的增益。
再次参考图3,标记过程306被配置为使用书写掩码304(其在一些示例中是所预测的书写掩码)以标记书写笔画。在所图示的示例中,书写笔画所标记的为单词类型,它们是字母。即,书写笔画是从书写掩码304中所提取的。例如,给定书写掩码集{M1,R2,R3,...,RM}和笔画集{S1,S2,S3,...,SN},标记过程306确定书写笔画,然后对其进行标记。用于执行此操作的一种算法是:
1.对于i=1,2,...,N。
2.对属于任何书写掩码的笔画点Si的百分比进行计数,标示为pi。
3.如果pi≥阈值。
4.将Si设置为书写笔画。
因此,着墨输入206的书写笔画被标识和标记。
返回图2,在212处移除所标识的书写笔画。例如,如在所修改的着墨输入214中可以被看见,字母210被移除。即,从着墨输入图像中移除与所标识的字母210相对应的图像空间中的像素。
然后由绘画检测器组件执行绘画检测216以标识对应于着墨笔画的绘画输入。例如,如图5中所图示,执行绘画检测过程500以标识对应于绘画的着墨笔画。更具体地,在一些示例中,所修改的着墨输入214表示输入到卷积神经网络(CNN)502的非书写图像,卷积神经网络(CNN)502被图示为对绘画对象进行检测和分类的Yolo卷积网络。例如,使用神经网络训练技术训练CNN 502以使用边界框504对所检测的对象进行解码。边界框504促进被图示为正方形、矩形、线和折线(具有箭头的线)的形状对象的标识。在一个示例中,边界框504被指派以限定被分类为(例如,使用类别标签)为对象的像素群组。边界框504和类别标签同时被指派给图像中的所有对象。在一些示例中,Yolo卷积网络仅使用一次前向传递进行操作,这足以获得预测结果。因此,执行了更快的检测过程。应该注意的是,可以实现其他CNN,诸如基于目标检测中所期望的准确度级别。
在一个示例中,Yolo卷积网络是被配置为纤细Yolo卷积网络的改进Yolo卷积网络。实现了纤细Yolo卷积网络——它是完全Yolo卷积网络和微小Yolo卷积网络的组合。完全Yolo卷积网络实现高准确度,但是速度慢,并且微小Yolo卷积网络速度快,但实现较低准确度。在一个示例中,纤细Yolo卷积网络是完全Yolo卷积网络和微小Yolo卷积网络的组合。
在216处的绘画检测使用不同的技术将边界框504指派给笔画。在一个示例中,给定具有对应所预测的标签{l1,l2,l3,...,lM}的边界框集{B1,B2,B3,...,BM}和非书写笔画集{S1,S2,S3,...,SN},绘画检测216确定当前笔画属于哪个边界框504。用于执行此操作的一种算法是:
1.对于i=1,2,...,N。
2.对于j=1,2,...,M。
3.基于Si和Bj来计算数值特征f=(f1,f2,f3,...,f7)。
4.将数值特征输入到二元分类器中以计算Si∈Bj的概率,标示为pij。
5.将边界框Bj*指派给Si作为Si属于的对象,使得j*=argmax(pi1,pi2,...,piM)。
更具体地,如图6中所图,基于Si600和Bj602的数值特征(f1,f2,f3,...,f7)被计算如下:
1.f1作为Bj的标签。
5.f5作为Bj和B(Si)的纵横比的对数,如下:
在检测到绘画笔画并且先前已经检测到书写笔画的情况下,将该输出218提供给下一个阶段(例如,用于进一步处理)。应当了解,来自在208处执行的书写检测的输出也作为输出218的部分提供给下一个阶段。
因此,使用如图7中所图示的解析树702来解析着墨笔画700,解析树702可以是所选择的决策树。解析树702对应于由解析流水线200(如图2中所示)所执行的一个解析示例。在该示例中,着墨笔画700包括对应于配方的不同的书写和绘画笔画。解析树702图示了从根704(例如,所绘制的图像笔画的像素空间中的图像)检测书写区域706和绘画708,其可以对应于如本文所述的书写检测和绘画检测。例如,使用如本文所述的语义分割,书写笔画被标识并且标记为具有线712、符号714和单词716的段落710。然后从像素空间移除所标记的书写笔画并且执行绘画检测以标识并且标记绘画708,如本文所述。因此,解析树702允许通过将墨水检测分离成不同的成分来有效并且准确地检测和标记书写笔画和绘画笔画。解析流水线可以被用以保留和改变执行根据本公开的着墨转换的神经网络。
因此,数字墨水笔画被绘制为图像,该图像被输入到书写检测器,该书写检测器识别并且标记书写笔画,然后书写笔画从像素空间中的图像中被移除并且被输入到绘画检测器。然后绘画检测器标识并且标记绘画笔画。此后,所标记的书写对象和所标记的绘画对象由各种示例输出,诸如由解析流水线输出。
图8是图示了在针对着墨应用和其他应用的检测和分割中所涉及的示例性操作的流程图800。在一些示例中,针对流程图800所描述的操作由图10的计算设备1000来执行。流程图800在操作802处开始,接收墨水笔画。例如,用户使用着墨应用在触摸屏设备上输入文本和绘画。输入设备可以是能够为着墨应用生成着墨输入的任何着墨设备。应当了解,由流程图800执行的操作可以被应用于非着墨应用。
操作804包括将墨水笔画绘制成像素空间中的图像。在一些示例中,墨水笔画被绘制为图像像素数据,其中像素数据表示笔迹。即,在各种示例中,墨水笔画被绘制成像素空间中的图像。现在可以使用图像检测和分割技术来处理墨水笔画。
操作806包括检测书写笔画并且将所检测的书写笔画标记为书写对象。例如,与书写对象对应的图像像素被标记,以标识与墨水笔画相对应的字母。然后在操作808处,从图像中随后移除与所标记的书写对象相对应的像素。例如,从图像中移除与所标识的字母相对应的所有像素。
操作810包括检测具有与移除了所标记的书写对象相对应的像素的图像中的绘画笔画,并且标记绘画笔画。例如,与绘画对象相对应的图像像素被标记,以标识与墨水笔画相对应的线或形状。对应于线和形状的像素被相应地标记。
在操作812处输出所标记的书写对象和绘画对象,诸如用于进一步处理。例如,所分割和所标识、所标记的书写对象和绘画对象是执行附加着墨操作的输入。
图9是图示了在针对着墨应用和其他应用的检测和分割中所涉及的示例性操作的流程图900。在一些示例中,针对流程图900所描述的操作由图10的计算设备1000来执行。流程图900在操作902处开始,接收数字墨水输入。例如,在数字墨水输入设备处接收数字墨水输入。
对应于数字墨水输入的墨水笔画在操作904处被解析。例如,使用解析树,书写区域和绘画区域被标识并且分别经受墨水笔画类型检测。在各种示例中,首先处理书写区域,并且然后处理绘画区域。为此,在操作906处,确定是否检测到书写笔画。如果检测到书写笔画,则在操作908处,执行使用逐像素分类的语义分割以标记书写笔画。在一个示例中,使用定制U-net神经网络。利用该技术,所预测的书写掩码被用以标记书写笔画。
在操作910处,与所标记的书写笔画相对应的图像像素被移除并且被输出,例如作为书写笔画对象而被输出。在一些示例中,书写笔画对象被用于下一个阶段处理。
如果在操作906处未检测到书写笔画,那么在操作912处确定是否检测到绘画笔画。如果未检测到绘画笔画,则在操作902处再次开始操作。如果(在操作910处移除像素之后)检测到绘画笔画,那么在操作914处使用所修改的Yolo CNN,其中使用边界框和所选择的决策树作为所期望的分类器来对输出进行解码。例如,如本文所述,基于非书写笔画和对应的边界框来计算多个数字特征。这导致标识绘画笔画,其在916处被标记并且作为所标记的绘画笔画而被输出。
因此,各种示例包括墨水解析引擎,其被配置为执行用于图表处理的、基于图像的处理。针对书写语义分割分类,在一些示例中使用了U-net神经网络的所压缩的变体。针对绘画检测,在一些示例中使用了对象检测技术,其具有Yolo的所压缩变体的配置以降低计算成本。针对绘画对象到笔画的转换,构建了决策树,该决策树指定了在一些示例中要被分析的设计特征。
附加示例
本文所公开的一些方面和示例涉及一种墨水解析系统,包括:与计算设备相关联的存储器,该存储器包括书写检测器组件和绘画检测器组件;以及执行具有解析流水线的墨水解析引擎的处理器,该解析流水线使用书写检测器组件和绘画检测器组件以:在着墨设备输入处接收墨水笔画;将所接收的着墨绘制成像素空间中的图像;使用书写检测器组件检测图像中的书写笔画并且标记书写笔画;从图像中移除与所标记书写笔画相对应的像素;使用绘画检测器组件检测在具有移除后的像素的图像中的绘画笔画,并且标记绘画笔画;以及输出分别与所标记书写笔画和所标记绘画笔画相对应的书写对象和绘画对象。
本文所公开的附加的方面和示例涉及用于数字墨水解析的计算机化方法,包括:在着墨设备输入处接收墨水笔画;将所接收的墨水笔画绘制成像素空间中的图像;检测图像中的书写笔画并且标记书写笔画;从图像中移除与所标记的书写笔画相对应的像素;检测在具有移除后的像素的图像中的绘画笔画并且标记绘画笔画;并且输出分别与所标记的书写笔画和所标记的绘画笔画相对应的书写对象和绘画对象。
本文公开的附加的各方面和示例涉及具有用于数字墨水解析的计算机可执行指令的一个或多个计算机存储介质,该指令在由处理器执行时使处理器至少:在着墨设备输入处接收墨水笔画;将所接收的墨水笔画绘制成像素空间中的图像;检测图像中的书写笔画并且标记书写笔画;从图像中移除与所标记的书写笔画相对应的像素;检测具有移除后的像素的图像中的绘画笔画并且标记绘画笔画;以及输出分别与所标记的书写笔画和所标记的绘画笔画相对应的书写对象和绘画对象。
备选地,或除了本文所述的其他示例之外,示例包括以下的任何组合:
使用逐像素分类来执行语义分割以检测书写笔画;
使用预测的书写掩码来标记书写笔画;
使用具有多个层的U-net神经网络来执行语义分割,每个层具有固定数量的内核;
使用You Look Only Once(Yolo)卷积网络来执行绘画笔画检测;
使用具有对应所预测的标签的多个边界框来对所检测的绘画笔画进行解码,并且使用决策树作为二元分类器以检测绘画笔画;以及
虽然已经根据各种示例及其相关操作描述了本公开的各方面,但是本领域技术人员将了解,来自任何数量的不同示例的操作的组合也在本公开的各方面的范围内。
示例操作环境
图10是用于实现本文所公开的各方面的示例计算设备1000的框图,并且一般被指定为计算设备1000。计算设备1000只是合适的计算环境的一个示例并且不旨在暗示对本文所公开的示例的功能性或使用范围的任何限制。计算设备1000也不应当被解释为对所图示的任何一个组件/模块或组件/模块组合具有任何依赖性或要求。可以在计算机代码或机器可用指令的一般上下文中描述本文所公开的示例,包括由计算机或其他机器(诸如,个人数据助理或其他手持设备)执行的计算机可执行指令,诸如程序组件。通常,程序组件包括例程、程序、对象、组件、数据结构等,其指的是执行特定任务或实现特定抽象数据类型的代码。所公开的示例可以实践在各种系统配置中,包括个人计算机、膝上型计算机、智能电话、移动平板计算机、手持设备、消费电子设备、专业计算设备等。当任务由通过通信网络链接的远程处理设备执行时,所公开的示例也可以实践在分布式计算环境中。
计算设备1000包括直接或间接耦合以下设备的总线1010:计算机存储存储器1012、一个或多个处理器1014、一个或多个呈现组件1016、输入/输出(I/O)端口1018、I/O组件1020、电源1022和网络组件1024。虽然计算机设备1000被描绘为看似单个设备,但是多个计算设备1000可以一起工作并且共享所描绘的设备资源。例如,计算机存储存储器1012可以分布在多个设备上,(多个)处理器1014可以安装在不同的设备上等等。
总线1010表示的可以是一个或多个总线(诸如,地址总线、数据总线或其组合)。虽然为了清楚起见,用线条示出了图10的各个块,但是现实中,勾画各个组件并且不是那么清楚,并且比喻地,线条更准确地是灰色和模糊的。例如,人们可以将诸如显示设备的呈现组件视为I/O组件。此外,处理器具有存储器。这就是本领域的本质,并且重申,图10的图表仅图示了可以结合一个或多个所公开的示例使用的示例性计算设备。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等的种类之间没有区别,因为所有这些都被考虑在图10以及本文中对“计算设备”的参考的范围内。计算机存储存储器1012可以采取以下计算机存储介质参考的形式并且可操作地针对计算设备1000提供计算机可读指令、数据结构、程序模块和其他数据的存储。例如,计算机存储存储器1012可以存储操作系统、通用应用平台或其他程序模块和程序数据。计算机存储存储器1012可以被用以存储和访问被配置为执行本文所公开的各种操作的指令。
如下面所提及,计算机存储存储器1012可以包括易失性和/或非易失性存储器、可移动或不可移动存储器、虚拟环境中的数据盘或其组合形式的计算机存储介质。并且计算机存储存储器1012可以包括与计算设备1000相关联或可由计算设备1000访问的任何数量的存储器。存储器1012可以在计算设备1000内部(如图10中所示),在计算设备1000外部(未示出),或两者(未示出)。存储器1012的示例包括但不限于随机存取存储器(RAM);只读存储器(ROM);电子可擦除可编程只读存储器(EEPROM);闪存或其他存储器技术;压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其他光学或全息介质;磁盒、磁带、磁盘存储器或其他磁性存储设备;连接到模拟计算设备的存储器;或用于对所需信息进行编码并且由计算设备1000访问的任何其他介质。附加地或可替代地,计算机存储存储器1012可以分布在多个计算设备1000上,例如,在其中指令处理在多个设备1000上执行的虚拟化环境中。为了本公开的目的,“计算机存储介质”、“计算机存储存储器”、“存储器”和“存储器设备”是计算机存储存储器1012的同义术语,并且这些术语都不包括载波或传播信令。
(多个)处理器1014可以包括从诸如存储器1012或I/O组件1020之类的各种实体读取数据的任何数量的处理单元。具体地,(多个)处理器1014被编程为执行用于实现本公开内容的各方面的计算机可执行指令。指令可以由处理器、由计算设备1000内的多个处理器或由客户端计算设备1000外部的处理器来执行。在一些示例中,(多个)处理器1014被编程为执行诸如在下面讨论并且在附图中描绘的流程图中所图示的那些之类的指令。此外,在一些示例中,(多个)处理器1014表示模拟技术的实现以执行本文所描述的操作。例如,操作可以由模拟客户端计算设备1000和/或数字客户端计算设备1000执行。(多个)呈现组件1016向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等。本领域技术人员将理解和了解,可以以多种方式呈现计算机数据,诸如在图形用户界面(GUI)中视觉地、通过扬声器可听地、在计算设备1000之间无线地、通过有线连接或以其他方式来呈现。端口1018允许计算设备1000逻辑耦合到包括I/O组件1020在内的其他设备,其中一些可以被内置。示例I/O组件1020包括例如但不限于麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等。
计算设备1000可以使用到一个或多个远程计算机的逻辑连接经由网络组件1024操作在联网环境中。在一些示例中,网络组件1024包括网络接口卡和/或用于操作网络接口卡的计算机可执行指令(例如,驱动程序)。计算设备1000和其他设备之间的通信可以使用任何协议或机制通过任何有线或无线连接发生。在一些示例中,网络组件1024可操作来在设备之间使用短距离通信技术(例如,近场通信(NFC)、蓝牙TM通信等)或其组合无线地、使用传输协议在公共、私有或混合(公共和私有)上传送数据。例如,网络组件1024通过通信链路1026来与网络1028通信。
尽管结合示例计算设备1000进行了描述,但是本公开的示例能够用许多其他通用或专用计算系统环境、配置或设备来实现。可以适用于与本公开的各方面一起使用的公知的计算系统、环境和/或配置的示例包括但不限于智能电话、移动平板计算机、移动计算设备、个人计算机、服务器计算机、手持设备或膝上型设备、多处理器系统、游戏机、基于微处理器的系统、机顶盒、可编程消费电子产品、移动电话、可穿戴或附件形式的移动计算和/或通信设备(例如,手表、眼镜、头戴耳机或耳机)、网络PC、小型计算机、大型计算机、包括上述任何系统或设备的分布式计算环境、VR设备、全息设备等。这样的系统或设备可以以任何方式接受来自用户的输入,包括来自诸如键盘或定点设备之类的输入设备、经由手势输入、接近度输入(诸如,通过悬停)和/或经由语音输入。
本公开的示例可以在由一个或多个计算机或其他设备以软件、固件、硬件或其组合所执行的诸如程序模块的计算机可执行指令的一般上下文中描述。计算机可执行指令可以被组织成一个或多个计算机可执行组件或模块。通常,程序模块包括但不限于执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件和数据结构。本公开的各方面可以用任何数量和组织的这种组件或模块来实现。例如,本公开的各方面不限于特定的计算机可执行指令或附图中所图示和本文所描述的特定组件或模块。本公开的其他示例可以包括不同的计算机可执行指令或组件,其具有比本文所图示和描述的更多或更少的功能性。在涉及通用计算机的示例中,当被配置为执行本文所描述的指令时,本公开的各方面将通用计算机转换为专用计算设备。
作为示例而非限制,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块等等之类的信息的任何方法或技术所实现的易失性和非易失性、可移动和不可移动存储器。计算机存储介质是有形的,与通信介质互斥。计算机存储介质以硬件实现,并且不包括载波和传播信号。用于本公开目的的计算机存储介质本身不是信号。示例性计算机存储介质包括硬盘、闪存驱动器、固态存储器、相变随机存取存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、DVD或其他光存储、磁盒、磁带、磁盘存储或其他磁存储设备,或任何其他可以被用来存储信息以供计算设备访问的非传输介质。对照而言,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制的调制数据信号中的其他内容,并且包括任何信息递送介质。
本文所呈现的任何范围或设备值可以被扩展或改变而不会失去所寻求的效果,这对于技术人员来说是明显的。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求书中定义的主题不一定限定于上述特定特征或动作。相反,上述特定特征和动作作为实现权利要求的示例形式而被公开。
应当理解,上述益处和优点可以涉及一个实施例或者可以涉及多个实施例。实施例不限于解决任何或所有所述问题的那些实施例或者具有任何或所有所述益处和优点的那些实施例。还应理解,对“一个”项的引用是指那些项中的一个或多个项。
本文图示出并且描述的实施例以及本文没有具体描述但在权利要求的各方面的范围内的实施例构成用于数字墨水解析的示例性手段。所图示的一个或多个处理器1014与存储在存储器1012中的计算机程序代码一起构成用于使用和/或训练神经网络的示例性处理部件。
术语“包括”在本说明书中被用于意指包括其后的(多个)特征或(多个)动作,但不排除一个或多个附加特征或动作的存在。
在一些示例中,图中所图示的操作可以被实现为在计算机可读介质上编码的软件指令、被实现在被编程或设计为执行操作的硬件中,或者两者。例如,本公开的各方面可以被实现为片上系统或包括多个互连的导电元件的其他电路。
除非另有说明,否则本文中图示出并且描述的本公开的示例中的操作的执行或实行的顺序不是必要的。即,除非另有说明,否则可以以任何顺序执行操作,并且本公开的示例可以包括比本文所公开的那些操作更多或更少的操作。例如,预期在另一操作之前、与另一操作同时或在另一操作之后执行或实行特定操作在本公开的各方面的范围内。
当介绍本公开或其示例的各方面的元素时,冠词“一”、“一个”、“该”和“所述”旨在意味着存在一个或多个元素。术语“包括”、“包含”和“具有”旨在是包含性的并且意味着除了所列元素之外可以存在附加元素。术语“示例性”旨在意味着“……的示例”。短语“以下中的一个或多个:A、B和C”意指“A中的至少一个A和/或B中的至少一个B和/或C中的至少一个C”。
已经详细描述了本公开的各方面,明显的是,在不脱离如所附权利要求中所限定的本公开的各方面的范围的情况下,修改和变化是可能的。由于在不脱离本公开的各方面的范围的情况下可以对上述构造、产品和方法进行各种改变,因此旨在上述描述中包含的所有内容和附图中所示的所有内容应当被解释为说明性的,而非限制性的意义。
Claims (15)
1.一种墨水解析系统,包括:
与计算设备相关联的存储器,所述存储器包括书写检测器组件和绘画检测器组件;以及
执行墨水解析引擎的至少一个处理器,所述墨水解析引擎使用所述书写检测器组件和所述绘画检测器组件以:
在着墨设备输入处接收墨水笔画;
将所接收的所述墨水笔画绘制成图像;
使用所述书写检测器组件检测所述图像中的一个或多个书写笔画并且标记所述书写笔画;
从所述图像中移除与所标记的所述书写笔画相对应的一个或多个像素;
使用所述绘画检测器组件检测在具有移除后的像素的所述图像中的一个或多个绘画笔画,并且标记所述绘画笔画;以及
输出分别与所标记的所述书写笔画和所标记的所述绘画笔画相对应的一个或多个书写对象和一个或多个绘画对象。
2.根据权利要求1所述的墨水解析系统,其中所述至少一个处理器执行所述墨水解析引擎,以利用所述书写检测器组件执行语义分割,所述语义分割使用逐像素分类以检测所述书写笔画。
3.根据权利要求1和2中任一项所述的墨水解析系统,其中所述至少一个处理器执行所述墨水解析引擎,以使用预测的书写掩码来标记所述书写笔画。
4.根据权利要求1至3中任一项所述的墨水解析系统,其中所述至少一个处理器执行所述墨水解析引擎,以使用具有多个层的神经网络来执行所述语义分割,每个层具有固定数目的内核。
5.根据权利要求1至4中任一项所述的墨水解析系统,其中所述至少一个处理器执行所述墨水解析引擎,以利用使用卷积网络的所述绘画检测器组件来执行绘画笔画检测。
6.根据权利要求5所述的墨水解析系统,其中所述至少一个处理器执行所述墨水解析引擎,以使用具有对应预测标签的多个边界框来对所检测的绘画笔画进行解码,并且还使用决策树作为二元分类器来检测所述绘画笔画。
7.根据权利要求1至6中任一项所述的墨水解析系统,其中所述墨水解析引擎具有解析流水线,所述解析流水线被配置为在使用所述绘画检测器组件执行检测之前使用所述书写检测器组件来执行检测。
8.一种用于数字墨水解析的计算机化方法,所述计算机化方法包括:
在着墨设备输入处接收墨水笔画;
将所接收的所述墨水笔画绘制成图像;
检测所述图像中的一个或多个书写笔画并且标记所述书写笔画;
从所述图像中移除与所标记的所述书写笔画相对应的一个或多个像素;
检测在具有移除后的像素的所述图像中的一个或多个绘画笔画,并且标记所述绘画笔画;以及
输出分别与所标记的所述书写笔画和所标记的所述绘画笔画相对应的一个或多个书写对象和一个或多个绘画对象。
9.根据权利要求8所述的计算机化方法,还包括:使用逐像素分类来执行语义分割以检测所述书写笔画。
10.根据权利要求8和9中任一项所述的计算机化方法,还包括:使用预测的书写掩码以标记所述书写笔画。
11.根据权利要求8至10中任一项所述的计算机化方法,还包括:使用具有多个层的神经网络以执行所述语义分割,每个层具有固定数目的内核。
12.根据权利要求8至11中任一项所述的计算机化方法,还包括:使用卷积网络来执行绘画笔画检测。
13.根据权利要求12所述的计算机化方法,还包括:使用具有对应预测标签的多个边界框来对所检测的绘画笔画进行解码,并且使用决策树作为二元分类器以检测所述绘画笔画。
14.根据权利要求8至13中任一项所述的计算机化方法,还包括:使用解析流水线,所述解析流水线被配置为在检测绘画笔画之前检测书写笔画。
15.一种或多种计算机存储介质,具有用于数字墨水解析的计算机可执行指令,所述计算机可执行指令在由至少一个处理器执行时,使所述至少一个处理器至少:
在着墨设备输入处接收墨水笔画;
将所接收的所述墨水笔画绘制成图像;
检测所述图像中的一个或多个书写笔画并且标记所述书写笔画;
从所述图像中移除与所标记的所述书写笔画相对应的一个或多个像素;
检测在具有移除后的像素的所述图像中的一个或多个绘画笔画,并且标记所述绘画笔画;以及
输出分别与所标记的所述书写笔画和所标记的所述绘画笔画相对应的一个或多个书写对象和一个或多个绘画对象。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/360,006 | 2019-03-20 | ||
US16/360,006 US11113517B2 (en) | 2019-03-20 | 2019-03-20 | Object detection and segmentation for inking applications |
PCT/US2020/021831 WO2020190567A1 (en) | 2019-03-20 | 2020-03-10 | Object detection and segmentation for inking applications |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113711232A true CN113711232A (zh) | 2021-11-26 |
Family
ID=70228792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080022660.3A Pending CN113711232A (zh) | 2019-03-20 | 2020-03-10 | 用于着墨应用的对象检测和分割 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11113517B2 (zh) |
EP (1) | EP3942459A1 (zh) |
CN (1) | CN113711232A (zh) |
WO (1) | WO2020190567A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11631262B2 (en) * | 2020-11-13 | 2023-04-18 | Microsoft Technology Licensing, Llc | Semantic segmentation for stroke classification in inking application |
US11514695B2 (en) * | 2020-12-10 | 2022-11-29 | Microsoft Technology Licensing, Llc | Parsing an ink document using object-level and stroke-level processing |
US11631263B1 (en) | 2021-11-09 | 2023-04-18 | Microsoft Technology Licensing, Llc | Gradient boosting tree-based spatial line grouping on digital ink strokes |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664325B2 (en) * | 2005-12-21 | 2010-02-16 | Microsoft Corporation | Framework for detecting a structured handwritten object |
-
2019
- 2019-03-20 US US16/360,006 patent/US11113517B2/en active Active
-
2020
- 2020-03-10 EP EP20718010.0A patent/EP3942459A1/en not_active Withdrawn
- 2020-03-10 CN CN202080022660.3A patent/CN113711232A/zh active Pending
- 2020-03-10 WO PCT/US2020/021831 patent/WO2020190567A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP3942459A1 (en) | 2022-01-26 |
WO2020190567A1 (en) | 2020-09-24 |
US11113517B2 (en) | 2021-09-07 |
US20200302163A1 (en) | 2020-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111723807B (zh) | 使用端到端深度学习识别机打字符和手写字符 | |
US20230177821A1 (en) | Document image understanding | |
US11900611B2 (en) | Generating object masks of object parts utlizing deep learning | |
CN111615702B (zh) | 一种从图像中提取结构化数据的方法、装置和设备 | |
CN109902271B (zh) | 基于迁移学习的文本数据标注方法、装置、终端及介质 | |
Mathew et al. | Multilingual OCR for Indic scripts | |
CN113711232A (zh) | 用于着墨应用的对象检测和分割 | |
US20220301334A1 (en) | Table generating method and apparatus, electronic device, storage medium and product | |
CN111488732B (zh) | 一种变形关键词检测方法、系统及相关设备 | |
KR20200020305A (ko) | 문자 인식을 위한 방법 및 장치 | |
CN113627439A (zh) | 文本结构化处理方法、处理装置、电子设备以及存储介质 | |
CN112801099B (zh) | 一种图像处理方法、装置、终端设备及介质 | |
CN115130613B (zh) | 虚假新闻识别模型构建方法、虚假新闻识别方法与装置 | |
CN113673528B (zh) | 文本处理方法、装置、电子设备和可读存储介质 | |
Kawabe et al. | Application of deep learning to classification of braille dot for restoration of old braille books | |
US20220392243A1 (en) | Method for training text classification model, electronic device and storage medium | |
CN116225956A (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
Arora et al. | GPU approach for handwritten devanagari document binarization | |
CN115205884A (zh) | 票据信息提取方法及其装置、设备、介质、产品 | |
US11928877B2 (en) | Systems and methods for automatic context-based annotation | |
CN112204506B (zh) | 用于手写文本的自动语言检测的系统和方法 | |
CN111767710A (zh) | 印尼语的情感分类方法、装置、设备及介质 | |
CN113536169B (zh) | 一种网页的文字排版方法、装置、设备和存储介质 | |
Chakraborty et al. | A framework for multi-lingual scene text detection using k-means++ and memetic algorithms | |
CN116311271B (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 |