CN106557770A - 通过比较贝塞尔曲线来标识图像中的形状 - Google Patents
通过比较贝塞尔曲线来标识图像中的形状 Download PDFInfo
- Publication number
- CN106557770A CN106557770A CN201610670700.0A CN201610670700A CN106557770A CN 106557770 A CN106557770 A CN 106557770A CN 201610670700 A CN201610670700 A CN 201610670700A CN 106557770 A CN106557770 A CN 106557770A
- Authority
- CN
- China
- Prior art keywords
- bezier
- shape
- storage
- unknown
- known form
- 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
- 238000003860 storage Methods 0.000 claims abstract description 155
- 239000011159 matrix material Substances 0.000 claims abstract description 58
- 238000006243 chemical reaction Methods 0.000 claims abstract description 51
- 230000009466 transformation Effects 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims description 99
- 235000015170 shellfish Nutrition 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 7
- 230000014759 maintenance of location Effects 0.000 claims description 7
- 230000001052 transient effect Effects 0.000 claims description 6
- 239000000203 mixture Substances 0.000 claims description 2
- 230000009471 action Effects 0.000 description 53
- 238000004891 communication Methods 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 20
- 239000003550 marker Substances 0.000 description 18
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000000712 assembly Effects 0.000 description 4
- 238000000429 assembly Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000012015 optical character recognition Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- 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/13—Edge detection
-
- 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/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- 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
-
- 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/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/469—Contour-based spatial representations, e.g. vector-coding
- G06V10/471—Contour-based spatial representations, e.g. vector-coding using approximation functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Evolutionary Biology (AREA)
- Mathematical Optimization (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Bioinformatics & Computational Biology (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请的各实施例涉及通过比较贝塞尔曲线来标识图像中的形状。本公开内容针对于标识图像中的形状。例如,形状标识系统可标识由具有至少一个贝塞尔曲线的贝塞尔路径代表的未知形状。形状标识系统还可标识具有例如已知形状的数据库中的至少一个存储的贝塞尔曲线的存储的贝塞尔路径。使用未知形状的贝塞尔曲线和已知形状的存储的贝塞尔曲线,形状标识系统可以确定将未知形状的贝塞尔曲线变换为已知形状的存储的贝塞尔曲线的变换矩阵。然后,形状标识系统可以将变换的贝塞尔曲线与存储的贝塞尔曲线比较以确定未知形状是否与已知形状匹配。
Description
技术领域
本公开内容的一个或多个实施例总体上涉及图像中的形状标识。更具体而言,本公开内容的一个或多个实施例涉及用于通过使用贝塞尔曲线来标识图像中的形状的系统和方法。
背景技术
计算设备在标识图像中的各种形状和特征时有用。例如,用户可以使用计算设备来检测图像中的脸、动物或其他物体。一种执行图像识别的流行方法是霍夫(Hough)变换,其使用特征提取技术来寻找图像中的物体。然而,包括霍夫变换在内的传统的系统和方法通过将图像中的像素与已知物体的像素比较来执行图像识别。这些传统的系统和方法需要密集的处理能力和大量的计算机资源。
例示来说,图像可包括圆形物。为了标识该圆形物,传统的系统和方法检测属于未知物体(例如,圆形物)的每个像素。在许多情形下,传统的系统和方法为每个检测到的边缘像素(即,形成未知物体的轮廓的像素)创建数组和/或矩阵。例如,对于每个检测到的边缘像素,传统的系统和方法执行一系列算法以标识该边缘像素的特性,诸如该边缘像素的角度和距离。然后,使用计算出的信息,传统的系统和方法尝试通过将该边缘像素与已知形状的像素比较来标识未知物体,直到传统的系统和方法标识与未知物体匹配的形状为止。
结果,传统的系统和方法需要大量计算成本,这经常导致用户为计算设备检测未知物体的形状等待更长时段。另外,尺寸更大或者具有更大数目的像素的未知物体需要甚至更大量的计算成本来检测与未知物体匹配的已知形状。同样地,在传统的系统和方法下,包括多个未知物体的图像进一步增大了检测每个未知物体所需的计算成本。
另外,即使不考虑计算开销,许多传统的系统和方法仍不为未知物体产生精确的形状匹配。因为传统的系统执行像素比较,所以不同尺寸、旋转或者偏斜的物体可能不被正确地匹配或识别。例如,稍微偏斜的圆形物可能被不正确地与椭圆匹配,或者可能导致传统的系统返回无匹配已知形状的结果。同样地,已知物体的放大的图像由于图像中的其放大性质而可能不被正确地与已知物体匹配。
因此,对于图像识别特别是计算机视觉领域中的形状识别存在这些和其他的问题。
发明内容
本公开内容的实施例利用用于标识图像中的形状(例如,对应于物体或人的形状)的系统和方法来提供益处和/或解决本领域中的前述或其他问题中的一个或多个问题。更具体而言,公开的系统和方法通过检测用于图像中的形状的贝塞尔曲线并将其与用于已知形状的贝塞尔曲线比较来标识图像中的形状。通过使用贝塞尔曲线来标识形状,本文公开的系统和方法可以降低计算成本。另外,这些系统和方法可以提高标识图像中的未知物体的精度。
例示来说,在一个或多个实施例中,公开的系统和方法标识图像中的未知形状。对于未知形状,这些系统和方法生成一个或多个贝塞尔曲线,其当被链接在一起时形成贝塞尔路径。这样,贝塞尔路径代表未知形状。这些系统和方法还标识具有代表已知形状的至少一个存储的贝塞尔曲线和存储的贝塞尔路径的已知形状。使用未知形状的贝塞尔曲线和已知形状的存储的贝塞尔曲线,这些系统和方法确定用于将未知形状的贝塞尔曲线变换为已知形状的存储的贝塞尔曲线的矩阵变换。这些系统和方法然后可以确定未知形状的变换后的贝塞尔曲线是否与已知形状的贝塞尔曲线匹配。附加地或者备选地,这些系统和方法向未知形状的贝塞尔路径施加矩阵变换,此后,这些系统和方法可以将变换的贝塞尔路径与用于已知形状的贝塞尔路径比较以确定未知形状是否与已知形状匹配。
公开的系统和方法降低了标识图像中的物体所需的计算成本。具体而言,这些系统和方法可以使用最少数目的贝塞尔点来检测物体的形状。作为一个示例,这些系统和方法可以基于四个贝塞尔点来检测圆形物或椭圆形物,而不需要分析沿着未知形状的边缘的每个点。这样,这些系统和方法可以降低标识物体所需的开销以及提高可以标识物体的速度。因此,通过使用贝塞尔曲线来标识图像中的形状,这些系统和方法可以提供较之传统系统和方法的显著改进。
此外,所公开的系统和方法可以提高标识未知形状时的精度。特别地,通过使用贝塞尔曲线,这些系统和方法可以考虑与对应的已知形状相比在尺寸上不同、被旋转或被偏斜的未知形状。例如,如果未知形状被偏斜,则在变换未知形状的贝塞尔路径中的贝塞尔曲线并将其与对应的已知形状相比较时将该偏斜考虑在内。
本公开内容的示例性实施例的附加特征和优点将会在随后的说明书中被阐述,并且部分将会从说明书变得明显,或可以通过这样的示例性实施例的实践而被获悉。这样的实施例的特征和优点可以通过特别地在所附权利要求中指出的仪器和组合而被实现和得到。这些以及其他特征将从以下说明书以及所附权利要求书变得更加明显,或可以通过如下文阐述的这样的示例性实施例的实践而被获悉。前述发明内容不是详尽的概述,并且它并不旨在标识关键要素或者指示范围。相反,前述发明内容将实施例的各方面标识作为下面给出的具体实施方式的前奏。
附图说明
为了描述可获得公开的方法和系统的上面记载的以及其他的优点和特征的方式,对上面简要描述的本公开内容的更具体的描述将通过参照在附图中图示的其特定实施例而被呈现。应当注意到,附图没有按比例绘制,并且类似的结构或功能的要素通常在整个附图中由相似的标号代表以用于说明的目的。要理解的是,这些附图仅仅描绘了典型实施例并因此并不被认为在范围上是限制性的,各种实施例将通过使用附图利用附加特征和细节而被描述和说明,在附图中:
图1图示了根据一个或多个实施例的用于将未知形状变换为已知形状的变换方法;
图2图示了根据一个或多个实施例的形状标识系统可以标识其中的各种形状的示例非结构化表格;
图3图示了根据一个或多个实施例的形状标识系统的示例示意图;
图4图示了根据一个或多个实施例的图3的形状标识系统可以在其中操作的示例性环境的示意图;
图5图示了根据一个或多个实施例的用于标识图像中的形状的方法中的一系列动作的流程图;
图6图示了根据一个或多个实施例的用于标识非结构化表格中的形状的另一方法中的一系列动作的流程图;以及
图7图示了根据一个或多个实施例的示例性计算设备的框图。
具体实施方式
本公开内容的一个或多个实施例包括(例如,从图像)标识未知形状或物体的形状的形状标识系统。特别地,在一个或多个实施例中,该形状标识系统使用未知形状的一个或多个贝塞尔曲线来匹配该未知形状与已知形状。通过使用贝塞尔曲线,形状标识系统可以用比传统系统更少的计算成本来执行形状标识以及提供比传统系统更大的精度。另外,形状标识系统的益处对于具有需要标识的多个未知形状的图像显著增加。
例示来说,在一个示例实现方式中,形状标识系统接收包括多个未知形状的非结构化表格。形状标识系统标识用于每个未知形状的贝塞尔曲线。对于每个未知形状,形状标识系统可以使用矩阵变换来将未知形状的贝塞尔曲线与已知形状中的贝塞尔曲线比较以标识未知形状与已知形状之间的匹配。
一旦形状标识系统标识了每个未知形状,形状标识系统就可以向表格添加结构并且允许用户与表格交互。例如,在标识了组合字段时,形状标识系统可以向表格应用恰当结构以允许用户在组合字段中的每个单元录入一个字符并且随着用户提供文本输入而从一个单元自动前进到下一个单元。作为另一示例,形状标识系统可以使用贝塞尔曲线来使用类似方法和技术执行图像中的面部识别或签名识别和验证。
如本文所使用的,术语“贝塞尔曲线”指的是可以用来对平滑曲线建模的参数曲线。贝塞尔曲线可以代表图像内的一个或多个形状。特别地,形状标识系统可以利用边缘检测技术来标识用于图像内的形状的边缘点,并且然后将贯穿所有边缘点的路径变换为一个或多个贝塞尔曲线(例如,使用8路跟踪来顺时针走过图像以标识所有边缘点)。为此,在一些实施例中,根据边缘点标识控制点并且使贝塞尔曲线适应到控制点。在一个或多个实施例中,控制点代表本地最大或最小点,或者拐角点。对贝塞尔曲线和计算代表标识的形状的贝塞尔曲线的一个示例描述在Fan Yu于2006年5月5日提交的、具有与本申请相同的受让人并且通过引用而被整体结合于此的题为“SYSTEMS AND METHODS FOR IDENTIFYINGCURVES FROM A SHAPE”的美国专利第7,623,998号中被提供。此外,本文所使用的术语“贝塞尔路径”一般指的是结合来代表(例如,物体或人的)形状的一个或多个链接的贝塞尔曲线。
如本文所使用的,术语“贝塞尔点”或“控制点”指的是与贝塞尔曲线相关联或者定义贝塞尔曲线的数据点。贝塞尔点的示例包括曲线点(或平滑点)、尖点(或拐角点)和局部极值点。贝塞尔点可以包括位于曲线自身上的端点以及一般不位于曲线上的中间控制点。如本文所使用的,术语“贝塞尔点”通常指的是贝塞尔曲线的端点而术语“贝塞尔控制点”通常指的是不位于贝塞尔曲线上的中间控制点。这样,每个贝塞尔曲线除两个贝塞尔控制点(其可以与两个贝塞尔点重叠)之外还由两个贝塞尔点(即,端点)限定。如在下面更详细讨论的,公开的形状标识系统利用贝塞尔点和贝塞尔控制点来使来自未知形状的贝塞尔曲线与来自已知形状的一个或多个贝塞尔曲线匹配。贝塞尔点和贝塞尔控制点的示例在下面关于图1被提供。
图1图示了未知形状102到已知形状104的变换100。在一个或多个实施例中,形状标识系统(例如,在图3中示出并且在下面被描述的形状标识系统302)执行变换100以使未知形状102与由形状标识系统存储或访问的一个或多个已知形状匹配。未知形状102代表从被提供给形状标识系统的图像得出的形状。特别地,未知形状102可以代表图像内的物体、非结构化表格的一部分或者人。此外,如在图1中示出,未知形状102包括共同形成代表未知形状102的贝塞尔路径的多个贝塞尔曲线。类似地,已知形状104包括共同形成代表已知形状104的贝塞尔路径的多个贝塞尔曲线。使用用于未知形状102的贝塞尔曲线和用于已知形状104的贝塞尔曲线,即使未知形状102相对于已知形状104是放大或缩小的、旋转的、翻转的和/或偏斜的,形状标识系统也能够确定未知形状102是否与已知形状104匹配,如现在将被更详细说明的。
在一个或多个实施例中,形状标识系统标识未知形状102和代表未知形状的贝塞尔曲线。尽管图1将未知形状102图示为具有形成特定形状的特定数目的贝塞尔曲线,但是将认识到,本文所公开的实施例可被应用于由任意数目的贝塞尔曲线(例如,诸如单个贝塞尔曲线或多得多的贝塞尔曲线)代表的未知形状。另外,本文所公开的实施例可被应用于代表图像内的形状的贝塞尔曲线的任意形状和配置。作为非限制性的示例,贝塞尔曲线可代表脸、表格字段、物体、签名、文本或者从图像得出的任何其他形状。另外,本文所描述的实施例可被应用以标识单个图像内的多个形状。
如在上面讨论的,在一个或多个实施例中,未知形状102从图像被得出。例如,未知形状102的贝塞尔曲线可以代表使用各种边缘检测方法技术中的任何边缘检测方法技术在图像内标识的边缘。检测到的边缘可以被变换为一个或多个贝塞尔曲线,如在上面引用的美国专利第7,623,998号中更详细说明的。此后,形状标识系统可以利用未知形状102的贝塞尔曲线来匹配未知形状与诸如已知形状104之类的一个或多个已知形状。
在将未知形状102与已知形状104比较时,形状标识系统首先标识未知形状102的贝塞尔曲线以与已知形状104的一个或多个贝塞尔曲线比较。例示来说,如在图1中示出,形状标识系统可以标识未知形状102的第一贝塞尔曲线108。如进一步示出的,第一贝塞尔曲线108包括第一贝塞尔点112、第二贝塞尔点116、第一贝塞尔控制点114和第二贝塞尔控制点118和/或由第一贝塞尔点112、第二贝塞尔点116、第一贝塞尔控制点114和第二贝塞尔控制点118限定。为了说明的目的,第一贝塞尔点112由坐标(x1,y1)代表,第一贝塞尔控制点114由坐标(x2,y2)代表,第二贝塞尔点116由坐标(x3,y3)代表,并且第二贝塞尔控制点118由坐标(x4,y4)代表。为了说明的简单和容易,不是每个贝塞尔点和贝塞尔曲线都在图1中的未知形状102上被标记。
在选择第一贝塞尔曲线108之后,形状标识系统然后确定第一贝塞尔曲线108是否与已知形状104的一个或多个贝塞尔曲线匹配。为了例示的目的,以下详述了用于确定第一贝塞尔曲线108是否与代表已知形状104的一部分的第二贝塞尔曲线110匹配的示例过程。然而,可以针对已知形状104或任何其他已知形状的每个贝塞尔曲线重复类似过程。另外,可以针对未知形状102的每个贝塞尔曲线重复整个过程。一般而言,形状标识系统包括或者可以访问已知形状的存储的数据库或高速缓存(例如,用于已知形状的贝塞尔曲线和贝塞尔路径的数据库)。以这种方式,形状标识系统可以将来自未知形状的贝塞尔曲线与多个已知形状的贝塞尔曲线比较。
如在图1中示出的,第二贝塞尔曲线110包括第一存储的贝塞尔点122、第一存储的贝塞尔控制点124、第二存储的贝塞尔点126和第二存储的贝塞尔控制点128和/或由第一存储贝塞尔点122、第一存储贝塞尔控制点124、第二存储贝塞尔点126和第二存储贝塞尔控制点128限定。像未知形状102一样,已知形状的贝塞尔点的位置由坐标值代表。具体而言,如关于已知形状104示出的,第一存储的贝塞尔点122由坐标(g1,h1)代表,第一存储的贝塞尔控制点124由坐标(g2,h2)代表,第二存储的贝塞尔点126由坐标(g3,h3)代表,并且第二存储的贝塞尔控制点128由坐标(g4,h4)代表。另外,尽管只有一个存储的贝塞尔曲线在图1中被标记,但是形状标识系统可以访问和利用用于已知形状104的贝塞尔路径中的每个贝塞尔曲线。
如在上面提到的,一旦形状标识系统选择了未知形状102的第一贝塞尔曲线108和已知形状104的第二贝塞尔曲线110,形状标识系统然后就确定第一贝塞尔曲线108是否与第二贝塞尔曲线110匹配并且还确定未知形状102是否与已知形状104匹配。为了做这些,在一个或多个实施例中,形状标识系统使用第一贝塞尔曲线108和第二贝塞尔曲线110来确定用于将第一贝塞尔曲线108变换为第二贝塞尔曲线110的变换(例如,矩阵变换)。
例示来说,形状标识系统可以标识可被应用于第一贝塞尔曲线108以使第一贝塞尔曲线108与第二贝塞尔曲线110对齐的变换矩阵120(在图1中被标记为T,并且具有变换因数tx和ty)。特别地,形状标识系统标识修改未知形状102的第一贝塞尔曲线108的位置、比例、旋转和/或偏斜以与已知形状104的第二贝塞尔曲线110匹配的变换矩阵120。此后,形状标识系统可将变换矩阵120应用于未知形状102的第一贝塞尔曲线108和/或附加贝塞尔曲线,并且然后将变换的未知形状102的一个或多个点与已知形状104比较以看它们是否匹配。
在一个或多个实施例中,形状标识系统可以利用来自第一贝塞尔曲线108和第二贝塞尔曲线110的贝塞尔点来确定变换矩阵120。例如,变换矩阵120可以包括各种变换变量并且形状标识系统可以利用贝塞尔点来标识或求解变换矩阵120的变换变量。在一个示例实施例中,变换矩阵120的变换变量是a、b、c、d、tx和ty,并且变换矩阵120由以下方程1定义:
如在方程1中示出的,变换矩阵120将未知形状102的贝塞尔点的(x,y)坐标变换为已知形状104的贝塞尔点的对应的(g,h)坐标。然而,为了执行变换,形状标识系统首先确定变换未知形状102的贝塞尔点以与已知形状104的贝塞尔点匹配的变换变量a、b、c、d、tx和ty。
在一些实施例中,形状标识系统使用来自未知形状102的第一贝塞尔曲线108的贝塞尔点和贝塞尔控制点的坐标以及来自已知形状104的第二贝塞尔曲线110的贝塞尔点和贝塞尔控制点的对应的坐标来确定变换变量。特别地,形状标识系统使用方程1以及来自第一贝塞尔曲线108的四个贝塞尔点(包括贝塞尔控制点)中的任意三个和第二贝塞尔曲线110的对应的贝塞尔点的坐标来生成方程组。这产生六个方程的组,这六个方程允许形状标识系统求解六个未知变换变量。
例示来说,在一个或多个实施例中,形状标识系统使用来自第一贝塞尔曲线108的第一贝塞尔点112(即,(x1,y1))、第一贝塞尔控制点114(即,(x2,y2))和第二贝塞尔点116(即,(x3,y3))的坐标以及来自第二贝塞尔曲线110的第一存储的贝塞尔点122(即,(g1,h1))、第一存储的贝塞尔控制点124(即,(g2,h2))和第二存储的贝塞尔点126(即,(g3,h3))的对应的坐标来生成六个方程的组以寻找变换矩阵120的变换变量a、b、c、d、tx和ty。具体而言,在一个示例实施例中,形状标识系统生成以下方程组:
g1=ax1+by1+tx (2)
h1=cx1+dy1+ty (3)
g2=ax2+by2+tx (4)
h2=cx2+dy2+ty (5)
g3=ax3+by3+tx (6)
h3=cx3+dy3+ty (7)
通过求解以上方程组或者从第一贝塞尔曲线108和第二贝塞尔曲线110的坐标得出的类似方程组,形状标识系统可以标识变换变量a、b、c、d、tx和ty的值。这样,形状标识系统可以确定由变换变量代表的未知形状102的贝塞尔曲线和已知形状104的贝塞尔曲线的位置、比例、旋转和/或偏斜之间的变换。
形状标识系统在各种实施例中可以将变换变量插回到变换矩阵120中以变换来自未知形状102的贝塞尔点并将其与来自已知形状104的对应的贝塞尔点比较。例如,在一个实施例中,形状标识系统将变换矩阵120应用于第二贝塞尔控制点118并且然后将第二贝塞尔控制点118与第二贝塞尔曲线110的第二存储的贝塞尔控制点128比较。如果例如第二贝塞尔控制点118的变换的坐标与第二存储的贝塞尔控制点128的坐标匹配(例如,在阈值内或者在可接受的误差限度内),则形状标识系统可以确定第一贝塞尔曲线108与第二贝塞尔曲线110匹配。例如,形状标识系统可以利用以下方程来将变换矩阵120应用于第二贝塞尔控制点118并且确定第二贝塞尔控制点118的变换的版本是否与第二存储的贝塞尔控制点128匹配:
如果以上方程8在可接受的阈值或误差限度内为真(即,如果(x4,y4)的变换产生(g4,h4)),则第一贝塞尔曲线108与第二贝塞尔曲线110匹配。形状标识可以重复这一过程以检查未知形状102的每一贝塞尔点以确定未知形状102是否与已知形状104匹配。更具体而言,形状标识系统可以将矩阵变换应用于未知形状102的贝塞尔点和/或贝塞尔曲线中的任何或全部,并且然后将变换的贝塞尔点和/或曲线与已知形状104的对应的贝塞尔点和/或曲线比较以确定是否存在匹配。
在一个或多个实施例中,当沿着未知形状102的变换的贝塞尔路径的贝塞尔点的坐标与沿着已知形状104的存储的贝塞尔路径的贝塞尔点的坐标对齐时,形状标识系统确定匹配。在一些实施例中,当坐标在彼此的预设容忍度(例如,预设的阈值或误差限度)内时,形状标识系统可确定对应的坐标在变换的贝塞尔路径和存储的贝塞尔路径之间对齐。例如,当形状标识系统正在确定两个形状是否匹配时,形状标识系统可以通过将用于未知形状102的变换的贝塞尔路径覆盖在用于已知形状104的存储的贝塞尔路径上或者以其他方式将用于未知形状102的变换的贝塞尔路径与用于已知形状104的存储的贝塞尔路径比较来使两个贝塞尔路径对齐。如果坐标对齐或者如果任何未对准在可接受的容限内,则形状标识系统确定未知形状102与已知形状104匹配。使用这一信息,形状标识系统可以基于已知形状的分类和/或属性来对未知形状102进行分类和/或向其指派属性。
如在上面提到,形状标识系统可以重复这一过程以将未知形状102的第一贝塞尔曲线108与已知形状104的剩余贝塞尔曲线比较。例如,如果使用用于将第一贝塞尔曲线108变换为第二贝塞尔曲线110的变换矩阵120不产生匹配,则形状标识系统确定未知形状102的第一贝塞尔曲线108和已知形状104的另一贝塞尔曲线之间的新变换矩阵。例如,形状标识系统可以使用上面描述的技术和方法来确定未知形状102的第一贝塞尔曲线108与从第二存储的贝塞尔点126和第三存储的贝塞尔点130延伸的已知形状104的贝塞尔曲线之间的矩阵变换。使用新得出的矩阵变换,形状标识系统可以根据更新的矩阵变换来变换未知形状102的贝塞尔路径并且确定未知形状102的新变换的贝塞尔路径是否与已知形状104的存储的贝塞尔路径匹配。
形状标识系统可以针对未知形状102的第一贝塞尔曲线108和在第三存储的贝塞尔点130与第四存储的贝塞尔点132之间延伸的已知形状104的贝塞尔曲线再次重复该过程。形状标识系统可以再次使用前述原理来将未知形状102的第一贝塞尔曲线108与在第四存储的贝塞尔点132和第一存储的贝塞尔点122之间延伸的已知形状104的贝塞尔曲线相比较。
如果需要,形状标识系统可以针对未知形状102的每个贝塞尔曲线重复上面的过程以确定未知形状102是否与已知形状104匹配。附加地或者备选地,形状标识系统可以执行该过程以将未知形状102与任何附加已知形状比较以确定在未知形状与任何已知形状之间是否存在匹配,由此允许形状标识系统标识未知形状102和/或对未知形状102进行分类。以这种方式,只要与未知形状102匹配的已知形状被存储在已知的形状数据库中,形状标识系统就将使用未知形状102和已知形状的一个或多个贝塞尔曲线来标识匹配。以这种方式,形状标识系统可以通过已知形状的存储的数据库中的每个存储的贝塞尔曲线来前进。对于每个贝塞尔曲线变换比较(例如,来自未知形状102的贝塞尔曲线与存储的贝塞尔曲线的比较),形状标识系统确定矩阵变换并且将该矩阵变换应用于未知形状102的贝塞尔曲线和/或路径。随着形状标识系统通过每个存储的贝塞尔曲线而前进,形状标识系统可以标识将未知形状102的贝塞尔路径变换为数据库中存储的匹配的已知形状的贝塞尔路径的匹配。
进一步参考图1,形状标识系统可以标识未知形状102与已知形状104匹配,并且因此,因为已知形状104被定义为圆形,所以未知形状102是圆形。具体而言,形状标识系统可以确定未知形状102当在图像内被放大、旋转和/或偏斜的同时在与已知形状104匹配的容忍度内。例如,在将变换矩阵120应用于未知形状102之后,形状标识系统可以确定变换矩阵均匀地使未知形状102偏斜以使得未知形状102更有可能与已知形状104匹配。
备选地,形状标识系统可以确定:虽然未知形状102的变换的贝塞尔路径的一些部分与已知形状104的贝塞尔路径对齐,但是其他部分与已知形状104的贝塞尔路径不对齐或者在将指示匹配的可允许的容忍度之外。这样,形状标识系统可以确定:至少针对特定贝塞尔曲线变换比较,未知形状102与已知形状104不匹配。例示来说,虽然形状标识系统可以标识变换的第一贝塞尔曲线108与第二贝塞尔曲线110之间的匹配,但是形状标识系统可以确定在沿着未知形状102的变换的贝塞尔路径的下一个贝塞尔曲线(即,从第二贝塞尔点116到第三贝塞尔点134)与沿着已知形状104的存储的贝塞尔路径的下一个贝塞尔曲线(即,从第二存储的贝塞尔点126到第三存储的贝塞尔点130)之间不存在匹配。
因为形状标识系统将未知形状的贝塞尔曲线与已知形状中的贝塞尔曲线比较,所以形状标识系统可以快速地标识用于未知形状的匹配以及对未知形状进行分类。换言之,通过使用贝塞尔曲线而非由贝塞尔曲线代表的所有像素,形状标识系统可以降低计算成本和提高标识图像或表格中的未知形状所需的计算速度。另外,通过使用贝塞尔曲线,形状标识系统通过标识比先前通过比较像素所实现的更加接近的形状匹配来提高精度。
如在上面提到的,形状标识系统可以利用本文所讨论的过程和特征来对各种类型的图像和/或图像内的对应的形状进行分类。图2图示了示例非结构化表格200,其中形状标识系统可以标识各种形状。表格200可以包括各种用户输入字段,诸如空白文本字段、单选按钮、复选框、填空字段、签名字段等。然而,因为表格200是非结构化的,因此在表格200被变换为结构化字段和已知元素之前用户无法与表格200交互。这样,形状标识系统可以利用本文描述的原理来标识表格200内的形状、基于标识的形状对表格200进行分类以及基于标识的形状向表格添加结构和/或功能。
例示来说,形状标识系统可以接收作为图像或者非结构化文档的表格200(例如,以诸如PDF之类的文档格式保存的表格的图像)。形状标识系统在一个或多个实施例中可以通过将代表在表格200中发现的形状的贝塞尔曲线与代表已知形状(例如,已知的表格字段元素)的贝塞尔曲线比较来标识表格的各种字段。形状标识系统然后可以将表格200变换为结构化文档以及向表格200中的检测到的形状应用用户输入功能。
例如,形状标识系统可以基于在表格200中检测到矩形来检测空白文本字段202。特别地,形状标识系统可以创建和/或标识代表空白文本字段202的一个或多个贝塞尔曲线,并且基于将用于空白文本字段202的贝塞尔曲线与已知形状的存储的贝塞尔曲线匹配,可以将空白文本字段202分类为表格字段元素并且具体分类为空白文本可填充字段。这样,形状标识系统可以使表格200结构化,由此提供允许用户将一行文本输入到空白文本字段202中的结构化功能。
作为另一示例,形状标识系统可以标识表格200中的单选按钮204。更具体而言,形状标识系统可以使用用于每个单选按钮的贝塞尔曲线来检测在已知形状的数据库中存储的匹配的表格字段元素,如上所述。另外,在一些实施例中,形状标识系统可以基于每个标识的形状的分组和位置来确定标识的形状是单选按钮。在检测到多个单选按钮之后,形状标识系统可以向表格200添加用户输入功能,其允许用户一次选择按钮之一。因此,形状标识系统检测并标识表格200中的单选按钮204并且向表格200添加用户输入功能。
此外,形状标识系统可以标识表格200中的填空字段。如图所示,使用上面描述的技术和方法,形状标识系统使用与填空域206相关联的一个或多个形状的贝塞尔曲线来确定填空字段206的身份。例如,在各种实施例中,形状标识系统确定后跟直线的三角形指示该直线是填空字段(例如,“If other is selected(如果选择了其他):___”)。然后,如与空白文本字段202一样,形状标识系统可以向填空字段206添加功能,其允许用户向字段添加文本。作为另一示例,形状标识系统302可以确定后跟直线的冒号指示该直线是填空字段(例如,“Code(代码):___”)。备选地,形状标识系统可以标识单独的直线指示该直线是填空字段。
表格200还包括两个组合字段208,每个组合字段具有多个单元。供参考,组合字段是单元的字段,其中单元通常是固定宽度的并且每个单元包含一个字符。形状标识系统可以通过使代表组合字段的未知形状的贝塞尔曲线与代表组合字段的已知形状的存储的贝塞尔曲线匹配来标识组合字段208的形状。在检测到表格200中的组合字段208之后,形状标识系统可以将表格200的组合字段208结构化以允许用户每个单元输入一个字符(例如,字母或数字)。另外,形状标识系统可以向每个单元添加功能,该功能在用户将字符输入到单元中时使得光标前进到组合字段208中的下一单元。
作为另一示例,形状标识系统可以使用上面描述的技术和方法来标识表格200中的复选框210。例如,如上所述,形状标识系统可以使用框的定位、尺寸和布局来将一系列正方形标识为复选框。形状标识系统然后可以向表格200添加结构,该结构允许用户选择多个复选框。
在一些实施例中,形状标识系统还可以应用诸如光学字符标识之类的其他技术来标识文本以及表格中的形状。例如,形状标识系统可以使用标识的文本以及邻近的标识的形状来向表格200添加用户输入功能。例示来说,形状标识系统可以结合标识一组圆形来标识单词“select one(选择一个)”以将这些圆形标识为单选按钮204。类似地,形状标识系统可以结合标识的方框来标识单词“check all that apply(对所有适用的打勾)”以确定标识的方框是复选框210。作为附加示例,形状标识系统在标识在标识的组合字段上方的单词“number(数字)”之后可以确定组合字段208中的字符应当是数字而非字母。
作为另一示例,形状标识系统可以基于标识包括单词“Signature(签名)”的矩形形状来标识签名字段212。因此,形状标识系统可以向该字段添加功能,该功能允许用户添加他们的签名。例如,形状标识系统可以允许用户使用输入设备来录入文本、创建签名,或者选择签名字段212以使用其他手段来输入签名(例如,用摄像机捕捉签名、导入签名的图像、插入存储的签名,等等)。在附加的或者备选的示例中,本文描述的原理可被应用以标识从图像得出的任何形状和/或对其分类。
图3图示了根据一个或多个实施例的实现示例形状标识系统302的计算设备300的示例示意图。计算设备300可以代表各种计算设备。例如,计算设备300可以是移动设备(例如,移动电话、智能电话、PDA、平板计算机、膝上型计算机、摄像机、跟踪器、手表、可穿戴设备等)。在一些实施例中,计算设备300可以是非移动设备(例如,台式计算机或者另一类型的客户端设备)。下面关于图7讨论关于计算设备300的附加细节。
形状标识系统302可以是上面结合图1和图2描述的形状标识系统的一个实施例。所示,形状标识系统302可以包括用于执行本文描述的过程和特征的各种组件。形状标识系统302可以使用变换矩阵将未知形状的贝塞尔曲线与已知形状的存储的贝塞尔曲线比较以确定与已知形状的匹配。
如在图3中示出的,形状标识系统302包括形状管理器304、贝塞尔路径管理器306、矩阵变换器308和形状标识器310。一般而言,形状管理器304标识未知形状和存储的形状。贝塞尔路径管理器306生成、访问或者以其他方式标识来自未知形状的贝塞尔曲线以用于与一个或多个已知形状的贝塞尔曲线比较。矩阵变换器308确定将未知形状的贝塞尔曲线变换为已知形状的存储贝塞尔曲线的变换矩阵以及将该变换矩阵应用于该未知形状(例如,应用于该未知形状的贝塞尔路径)。形状标识器310标识未知形状的贝塞尔路径何时与已知形状的存储贝塞尔路径匹配。
形状标识系统302的组件304-314可以包括软件、硬件或两者。例如,组件304-314可以包括存储在计算机可读存储介质上并且可由诸如客户端设备或服务器设备的一个或多个计算设备的处理器执行的一个或多个指令。当被一个或多个处理器执行时,形状标识系统302的计算机可执行指令可以使一个或多个计算设备执行本文描述的特征学习方法。备选地,组件304-314可以包括硬件,诸如用来执行某一功能或某一组功能的专用处理设备。附加地或者备选地,形状标识系统302的组件304-314可以包括计算机可执行指令和硬件的组合。
如在上面提到的,形状标识系统302包括形状管理器304。形状管理器304可以标识未知形状。例如,当形状标识系统302接收到图像或者非结构化文档(例如,非结构化表格)时,形状管理器304标识图像或非结构化文档中的一个或多个未知形状。非结构化表格的一个示例在图2中被提供,并且在上面被描述。
形状管理器304还标识已知形状。例如,形状管理器304可以访问已知形状的数据库或高速缓存。已知形状的数据库可以被存储在计算设备300上,或者在外部被存储,诸如存储在服务器设备上。已知形状的数据库可以包括已知形状的主人(host)、与形状相关联的信息,以及用于每个已知形状的存储的贝塞尔曲线和存储的贝塞尔路径。另外,当形状标识系统302检测到与已知形状的数据库中的已知形状不匹配的新形状时,形状标识系统302可以提示用户定义该新形状并且形状标识系统302可以将该新形状添加到数据库。
贝塞尔路径管理器306一般而言生成、访问、标识或者以其他方式管理代表未知形状的贝塞尔曲线。在一个或多个实施例中,贝塞尔路径管理器306首先确定来自未知形状的每个贝塞尔曲线。例如,贝塞尔路径管理器306可以使用也在上面引用的美国专利第7,623,998号中所公开的系统和方法来确定未知形状的贝塞尔曲线。附加地或者备选地,贝塞尔曲线管理器可以访问代表未知形状的先前生成的贝塞尔曲线以用于与已知形状的贝塞尔曲线相比较。
矩阵变换器308可以确定将未知形状的贝塞尔曲线变换为已知形状的存储的贝塞尔曲线的变换矩阵。此外,矩阵变换器308可以将该变换矩阵应用于未知形状的贝塞尔曲线或者整个贝塞尔路径。具体而言,矩阵变换器308可以选择未知形状的贝塞尔曲线。使用选择的贝塞尔曲线,矩阵变换器308可以创建变换选择贝塞尔曲线以与已知形状的存储的贝塞尔曲线匹配的变换矩阵。如上所述,矩阵变换器308可以使用两个贝塞尔曲线的坐标来生成方程组。矩阵变换器308然后可以求解该方程组以标识变换变量,矩阵变换器308可以使用这些变换变量来构造变换矩阵。
在一些实施例中,矩阵变换器308可以验证变换矩阵精确地将未知形状的选择的贝塞尔曲线变换或映射到已知形状的存储的贝塞尔曲线。如上所述,如果矩阵变换器308使用四个坐标对中的三个来创建变换矩阵,则矩阵变换器308可以使用第四个坐标对来验证变换矩阵精确地将来自未知形状的选择的贝塞尔曲线变换为已知形状的存储的贝塞尔曲线。如果矩阵变换器308不正确,则矩阵变换器308可以确定来自未知形状的选择的贝塞尔曲线与已知形状的存储的贝塞尔曲线不兼容(即,无法被匹配)。
在确定变换矩阵或者确认贝塞尔曲线匹配之后,矩阵变换器308可以将变换矩阵应用于用于未知形状的剩余贝塞尔曲线(例如,代表未知形状的贝塞尔路径中的每个贝塞尔曲线)。作为结果,矩阵变换器308可以生成未知形状的变换后的贝塞尔路径。
形状标识器310可以确定未知形状是否与已知形状匹配。例如,形状标识器310可以将未知形状的变换后的贝塞尔路径与已知形状的存储的贝塞尔路径比较。特别地,形状标识器310将未知形状的变换后贝塞尔路径的一个或多个点与存储的贝塞尔曲线正被与之比较的存储的形状的存储的贝塞尔路径的一个或多个对应点相比较。如果贝塞尔路径匹配,则形状标识器310可以确定未知形状与已知形状匹配。这样,形状标识器310可以把来自已知形状的属性和特性归于未知形状。
在一些实施例中,当未知形状的变换后的贝塞尔路径在已知形状的存储的贝塞尔路径的容忍度内时,形状标识器310可以确定贝塞尔路径匹配。例如,形状标识器310可以使变换后的贝塞尔路径与存储的贝塞尔路径基本上重叠以确定变换后的贝塞尔路径是否与存储的贝塞尔路径匹配和/或在存储的贝塞尔路径的容忍度内,或者变换后的贝塞尔路径偏离存储的贝塞尔路径过远。在一个或多个实施例中,形状标识器310将变换后贝塞尔路径的点与存储的贝塞尔路径的对应点比较并且随后计算变换后的贝塞尔路径和存储的贝塞尔路径的点之间的逐点方差和/或总方差。如果逐点方差和/或总方差在指定阈值或可接受的容限内,则形状标识器310确定未知形状与已知形状匹配。
然而,如果变换后的贝塞尔路径与存储的贝塞尔路径不匹配,则形状标识器310可以使矩阵变换器308基于未知形状的相同贝塞尔曲线和已知形状的下一个存储的贝塞尔曲线确认并应用新变换矩阵。形状标识器310然后可以再次确定使用新得出的变换矩阵的未知形状的新变换后的贝塞尔路径与已知形状的存储的贝塞尔路径之间的匹配。如果在应用基于未知形状的贝塞尔曲线和已知形状的每个存储的贝塞尔曲线的每种组合的变换矩阵之后,形状标识器310未能标识匹配,则形状标识器310可以确定未知形状和已知形状不匹配。
此外,如果形状标识器310确定未知形状与已知形状不匹配,则形状标识器310可以使形状管理器304标识已知形状的数据库中的另一已知形状并将其提供给矩阵变换器308。形状标识器310然后可以与矩阵变换器308一起工作来重复将未知形状的贝塞尔曲线与已知形状的存储的贝塞尔曲线比较的过程,直到匹配的形状被标识为止。
图4图示了图3的形状标识系统302可以在其中操作的示例性环境400的实施例的示意图。在一个或多个实施例中,环境400包括主控已知形状数据库404的一个或多个服务器402。示例性环境400还包括主控形状标识系统302并且与用户406相关联的计算设备300。计算设备300可以经由网络408与一个或多个服务器402通信。
尽管图4中的环境400被描绘为具有各种组件,但是环境400可具有任意数目的附加组件或备选组件。例如,环境400可以包括未在图4中示出的其他组件。另外,虽然图4图示了形状标识系统302、计算设备300、一个或多个服务器402、已知形状数据库404和网络408的特定布置,但是各种其他布置是可能的。例如,形状标识系统302可与已知形状数据库404直接通信,从而绕过网络408。另外,虽然图4中的环境将形状标识系统302和已知形状数据库404图示为不同服务器上的单独组件,但是在一个或多个实施例中形状标识系统302和已知形状数据库可以是同一设备上的(例如,一个或多个服务器402上的或者计算设备300上的)单个系统的一部分。
如提到的,计算设备300和一个或多个服务器402经由网络408通信。网络408可包括一个或多个网络并且可使用适合用于传输数据和/或通信信号的一个或多个通信平台或技术。下面参考图7说明与通信平台和技术有关的其他细节。
如在图4中示出的,用户406可以例如与计算设备300对接以访问或使用形状标识系统302。用户406可以是个人(即,人类用户)、商业、群组或其他实体。尽管图4图示了仅一个用户406,但是应当理解环境400可以包括访问或使用形状标识系统302的多个用户。例如,在一些实施例中,形状标识系统302可以位于一个或多个服务器402上并且用户可各自使用计算设备来访问和/或使用形状标识系统302。
如在上面简要提到的,用户406使用计算设备300来访问和/或使用形状标识系统302。例如,用户将诸如图像或非结构化表格或文档之类的文件下载到计算设备300。形状标识系统302可以检测所下载文件中的形状以及向该文件添加用户输入功能,如上所述。作为另一示例,用户可使用形状标识系统302来标识图像中的脸、签名或其他物体,诸如宠物、地标、兴趣点等。通过使用形状标识系统302,用户可以快速且精确地检测所下载文件中的形状,并且在一些情况下,使用检测到的形状来提高用户与文件交互的能力。
图1至图4、对应文本和示例提供了根据一个或多个实施例的用于标识图像中的未知形状的多个不同系统和设备。除了前述之外,一个或多个实施例也可以根据包括用于实现特定结果的方法中的动作和步骤的流程图来描述。例如,图5和图6图示了根据一个或多个实施例的示例性方法的流程图。关于图5和图6描述的方法可以用更少或更多的步骤/动作而被执行,或者步骤/动作可以按照不同次序被执行。此外,本文描述的步骤/动作可以被重复或者相互并行地执行或者与相同或类似步骤/动作的不同示例并行被执行。
图5图示了根据本文公开的一个或多个实施例的用于标识图像中的形状的方法500中的一系列动作的流程图。计算设备(例如,计算设备300或计算设备700)可以在用于对图像进行分析和分类的数字媒体环境中执行方法500。例如,方法500包括标识未知形状的动作510。具体而言,动作510可以包括标识由贝塞尔路径代表的未知形状(例如,未知形状102),该贝塞尔路径包括至少一个贝塞尔曲线(例如,第一贝塞尔曲线108)。在一些实施例中,动作510可以包括接收图像以及检测该图像中的未知形状。在其他实施例中,动作510可包括对图像执行边缘检测以标识未知形状的边缘,以及基于该边缘检测来标识未知形状的贝塞尔点和/或生成未知形状的贝塞尔曲线。另外,动作510还可包括生成未知形状的其他贝塞尔曲线以及将未知形状的贝塞尔曲线链接在一起以形成代表未知形状的贝塞尔路径。
方法500还包括标识由存储的贝塞尔路径代表的已知形状(例如,已知形状104)的动作520。具体而言,动作520包括标识由存储的贝塞尔路径代表的已知形状,该存储的贝塞尔路径包括至少一个存储的贝塞尔曲线(例如,第二贝塞尔曲线110)。在一些实施例中,已知形状被存储在已知形状的数据库(例如,已知形状数据库404)中,其中该数据库中的每一个已知形状包括一个或多个已知贝塞尔曲线。动作520还可包括标识来自数据库中的每个已知形状的一个或多个已知贝塞尔曲线。
此外,方法500包括确定矩阵变换的动作530。特别地,动作530可以包括确定将未知形状的至少一个贝塞尔曲线变换为已知形状的至少一个存储的贝塞尔曲线的矩阵变换(例如,变换矩阵120)。在一个或多个实施例中,动作530还可以包括计算至少一个贝塞尔曲线与来自已知形状的数据库中的每个已知形状的一个或多个已知贝塞尔曲线中的每一个之间的矩阵变换。
方法500还包括应用矩阵变换的动作540。具体而言,动作540可以包括将矩阵变换应用于未知形状的至少一个贝塞尔曲线。在各种实施例中,动作540还可以包括将矩阵变换应用于与代表未知形状的路径相关联的多个贝塞尔曲线中的每个贝塞尔曲线。
方法500还包括将变换后的贝塞尔曲线与存储的贝塞尔曲线比较以确定匹配的动作550。具体而言,动作550可包括将代表未知形状的变换后的至少一个贝塞尔曲线与已知形状的至少一个存储的贝塞尔曲线比较以确定未知形状是否与已知形状匹配。在一些其他实施例中,动作550包括确定与代表未知形状的路径相关联的多个贝塞尔曲线中的每个贝塞尔曲线在与代表已知形状的路径相关联的对应贝塞尔曲线的容忍度内。
方法500还可包括其他动作。例如,方法500可包括在确定代表未知形状的贝塞尔路径与代表已知形状的贝塞尔路径匹配之后将未知形状分类为已知形状的动作。在一些动作中,变换变量解释至少一个贝塞尔曲线与存储的贝塞尔曲线之间的比例的变化、偏斜的变化和位置的变化。
作为另一示例,方法500可包括标识与至少一个贝塞尔曲线相关联的贝塞尔点以及与存储的贝塞尔曲线相关联的对应贝塞尔点的另一动作。另外,该另一动作可以包括基于与至少一个贝塞尔曲线相关联的贝塞尔点和与存储的贝塞尔曲线相关联的对应贝塞尔点而生成多个方程,其中这多个方程包括多个变换变量,以及求解这多个方程以确定多个变换变量。在一些实施例中,与至少一个贝塞尔曲线相关联的贝塞尔点包括该至少一个贝塞尔曲线的贝塞尔点和贝塞尔控制点以及来自所生成的贝塞尔路径的下一个贝塞尔曲线的贝塞尔点和贝塞尔控制点。此外,与已知贝塞尔曲线相关联的对应贝塞尔点包括该已知贝塞尔曲线的存储的贝塞尔点和存储的贝塞尔控制点以及来自存储的贝塞尔路径的下一个已知贝塞尔曲线的存储的贝塞尔点和存储贝塞尔控制点。
另外,动作还可涉及与至少一个贝塞尔曲线相关联的贝塞尔点包括该至少一个贝塞尔曲线的贝塞尔点和贝塞尔控制点以及来自所生成的贝塞尔路径的下一个贝塞尔曲线的贝塞尔点和贝塞尔控制点,并且与已知贝塞尔曲线相关联的对应贝塞尔点包括该已知贝塞尔曲线的存储的贝塞尔点和存储的贝塞尔控制点以及来自存储的贝塞尔路径的下一个存储的贝塞尔曲线的存储的贝塞尔点和存储的贝塞尔控制点。此外,求解多个方程来确定多个变换变量包括求解六个方程来确定六个变换变量。另外,确定将至少一个贝塞尔曲线变换为存储的贝塞尔曲线的矩阵变换包括基于变换变量来确定矩阵变换。附加地或者备选地,方法500可包括上面更详细描述的任何其他步骤或过程。
图6图示了根据本文公开的一个或多个实施例的用于标识非结构化表格中的形状的方法600中的一系列动作的流程图。计算设备(例如,计算设备300或计算设备700)可以在用于对图像进行分析和分类的数字媒体环境中执行方法600。例如,方法600包括标识未知形状102的动作610。具体而言,动作610可以包括标识由贝塞尔路径代表的未知形状,该贝塞尔路径包括至少一个贝塞尔曲线。在一些实施例中,动作610可以包括接收图像(例如,表格200)以及检测该图像中的未知形状。在其他实施例中,动作610可包括对图像执行边缘检测以标识未知形状的边缘,以及基于该边缘检测而标识未知形状的贝塞尔点。另外,动作610还可包括生成未知形状的其他贝塞尔曲线以及将未知形状的贝塞尔曲线链接在一起以形成代表未知形状的贝塞尔路径。
方法600还包括标识由存储的贝塞尔路径代表的已知表格元素的动作620。具体而言,动作620包括标识由存储的贝塞尔路径代表的已知表格元素,该存储的贝塞尔路径包括至少一个存储的贝塞尔曲线。在一些实施例中,已知表格元素被存储在包括已知表格元素在内的已知形状的数据库中,其中该数据库中的每个已知表格元素包括一个或多个已知贝塞尔曲线。动作620还可以包括标识来自数据库中的每一个已知表格元素的一个或多个已知贝塞尔曲线。
此外,方法600包括确定矩阵变换的动作630。特别地,动作630可以包括确定将未知形状的至少一个贝塞尔曲线变换为至少一个存储的贝塞尔曲线的矩阵变换。在一个或多个实施例中,动作630还可以包括计算至少一个贝塞尔曲线与来自已知形状的数据库中的每个已知表格元素的一个或多个已知贝塞尔曲线中的每一个之间的矩阵变换。
方法600还包括应用矩阵变换的动作640。具体而言,动作640可以包括将矩阵变换应用于未知形状的至少一个贝塞尔曲线。在各种实施例中,动作640还可以包括将矩阵变换乘以与代表未知形状的路径相关联的多个贝塞尔曲线中的每一个贝塞尔曲线。
方法600还包括将变换后的贝塞尔曲线与存储的贝塞尔曲线比较以确定匹配的动作650。具体而言,动作650可以包括将未知形状的变换后的贝塞尔路径与已知表格元素的存储的贝塞尔路径比较以确定未知形状是否与已知表格元素匹配。在一些其他实施例中,动作650包括确定与代表未知形状的路径相关联的多个贝塞尔曲线中的每个贝塞尔曲线在与代表已知表格元素的路径相关联的对应的贝塞尔曲线的容忍度内。
此外,方法600包括将与已知表格元素相关联的属性应用于未知形状的动作660。具体而言,动作660可以包括将与已知表格元素相关联的属性应用于未知形状。在一些实施例中,动作660还可以包括基于应用于未知形状的属性而向未知形状应用用户输入功能。在一个或多个实施例中,已知元素是空白文本字段、单选按钮、复选框或组合字段中的一个。
本公开内容的实施例可以包括或利用包括计算机硬件的专用或通用计算机,该计算机硬件诸如为一个或多个处理器和系统存储器,如在下面更详细讨论的。本公开内容的范围内的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。具体而言,本文所描述的一个或多个过程可以至少部分被实现为包含在非瞬态计算机可读介质内并且可被一个或多个计算设备(例如,本文描述的任何媒体内容访问设备)执行的指令。一般而言,处理器(例如,微处理器)从非瞬态计算机可读介质(例如,存储器等)接收指令,并且执行那些指令,由此执行包括本文描述的一个或多个的过程的一个或多个过程。
计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非瞬态计算机可读存储介质(设备)。携带计算机可执行指令的计算机可读介质是传输介质。因而,通过举例而不是限制的方式,本公开内容的实施例可包括至少两种完全不同类型的计算机可读介质:非瞬态计算机可读存储介质(设备)和传输介质。
非瞬态计算机可读存储介质(设备)包括:RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如,基于RAM)、闪存、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储、磁盘存储或其他磁存储设备,或者可以用来存储作为计算机可执行指令或数据结构形式的期望的程序代码装置并且可以被通用或专用计算机访问的任何其他介质。
“网络”被定义为使得能够在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一通信连接(硬连线,无线,或硬连线或无线的组合)而被传送或提供至计算机时,计算机将该连接适当地视为传输介质。传输介质可以包括网络和/或数据链路,其可被用来携带作为计算机可执行指令或数据结构形式的所需程序代码装置并且可被通用或专用计算机访问。上述的组合也应被包括在计算机可读介质的范围之内。
另外,在到达各种计算机系统组件之后,作为计算机可执行指令或数据结构的形式的程序代码装置可从传输介质自动传送到非瞬态计算机可读存储介质(设备)(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以在网络接口模块(例如,“NIC”)内的RAM中被缓冲,然后最终被传送到计算机系统RAM和/或传送到计算机系统处的较不易失的计算机存储介质(设备)。因而,应该理解的是,非瞬态计算机可读存储介质(设备)可以被包括在也(或甚至主要)利用传输介质的计算机系统组件中。
计算机可执行指令包括例如指令和数据,其当在处理器处被执行时使得通用计算机、专用计算机、或专用处理设备执行某一功能或功能组。在一些实施例中,计算机可执行指令在通用计算机上被执行,以将通用计算机变为实现本公开内容的要素的专用计算机。这些计算机可执行指令可以例如是二进制代码、诸如汇编语言之类的中间格式指令,或甚至源代码。虽然本主题已经以特定于结构特征和/或方法动作的语言进行了描述,但是将会理解,在所附权利要求中定义的主题不一定限于上面描述的特征或动作。相反,所描述的特征和动作被公开为实现权利要求的示例形式。
本领域技术人员将理解,本公开内容可以在具有许多类型的计算机系统配置的网络计算环境中被实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板计算机、寻呼机、路由器、交换机等。本公开内容也可以在分布式系统环境中被实践,在该分布式系统环境中,通过网络被链接(或者通过硬连线数据链路、无线数据链路、或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统均执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
本公开内容的实施例也可以在云计算环境中实现。在本说明书中,“云计算”被定义为用于使能到可配置计算资源的共享池的按需网络访问的模型。例如,云计算可以在市场上被用来提供到可配置计算资源的共享池的无处不在的、便捷的按需访问。可配置计算资源的共享池可以经由虚拟化被快速配置并且以低管理付出或服务提供商交互被释放,然后相应地缩放。
云计算模型可以由各种特性组成,这些特性诸如是按需自助服务、宽网络接入、资源池化、快速弹性、测量服务等等。云计算模型也可以暴露各种服务模型,诸如,软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。云计算模型也可以使用不同的部署模型部署,这些部署模型诸如是私人云、社区云、公共云、混合云等等。在本说明书和权利要求书中,“云计算环境”是其中采用云计算的环境。
图7图示了可以被配置为执行上述过程中的一个或多个过程的例示性计算设备700。将会认识到,诸如计算设备700之类的一个或多个计算设备可以主控形状标识系统302。如图7所示,计算设备700可包括处理器702、存储器704、存储设备706、I/O接口708和通信接口710,其可通过通信基础设施712的方式而被可通信地耦合。虽然示例性计算设备700被示出在图7中,但图7中所示的部件并不旨在进行限制。附加的或备选的部件可以在其他实施例中使用。另外,在某些实施例中,计算设备700可以包括比图7中所示的那些更少的部件。图7中所示的计算设备700的部件现在将另外进行详细描述。
在具体的实施例中,处理器702包括用于执行指令(诸如那些构成计算机程序的指令)的硬件。作为示例而不是通过限制的方式,为了执行指令,处理器702可以从内部寄存器、内部高速缓存、存储器704、或存储设备706中检索(或取回)指令并且解码并执行它们。在特定实施例中,处理器702可包括一个或多个用于数据、指令或地址的内部高速缓存。作为一个示例而不是通过限制的方式,处理器702可包括一个或多个指令高速缓存、一个或多个数据高速缓存、以及一个或多个转换后备缓冲器(TLB)。指令高速缓存中的指令可以是存储器704或存储设备706中的指令的拷贝。
存储器704可用于存储用于由一个或多个处理器执行的数据、元数据和程序。存储器704可包括一个或多个易失性和非易失性存储器,诸如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态盘(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的数据存储装置。存储器704可以是内部或分布式存储器。
存储设备706包括用于存储数据或指令的存储装置。作为示例而不是通过限制的方式,存储设备706可以包括上面描述的非瞬态存储介质。存储设备706可包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带、或通用串行总线(USB)驱动器或这些中的两种或更多种的组合。在适当情况下,存储设备706可包括可移动或不可移动(或固定)的介质。存储设备706可以在计算设备700的内部或外部。在特定实施例中,存储设备706是非易失性、固态存储器。在其他实施例中,存储设备706包括只读存储器(ROM)。在适当情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写的ROM(EAROM)、或闪存、或这些中的两种或更多种的组合。
I/O接口708允许用户向计算设备700提供输入,接收来自计算设备700的输出,以及以其他方式向计算设备700传送数据和从计算设备700接收数据。I/O接口708可包括鼠标、小键盘或键盘、触摸屏、摄像头、光学扫描仪、网络接口、调制解调器、其他已知的I/O设备或这种I/O接口的组合。I/O接口708可以包括用于向用户呈现输出的一个或多个设备,包括但不限于:图形引擎、显示器(例如,显示屏)、一个或多个输出驱动程序(例如,显示驱动程序)、一个或多个音频扬声器、以及一个或多个音频驱动程序。在某些实施例中,I/O接口708被配置为提供图形数据到显示器以用于向用户呈现。图形数据可以代表一个或多个图形用户界面和/或可以用作特定实现方式的任何其他图形内容。
通信接口710可以包括硬件、软件、或两者皆有。在任何情况下,通信接口710可以提供一个或多个用于计算设备700与一个或多个其他计算设备或网络之间的通信(诸如,基于分组的通信)的接口。作为示例而不是通过限制的方式,通信接口710可包括网络接口控制器(NIC)或用于与以太网或其他基于有线的网络通信的网络适配器或用于与诸如WI-FI之类的无线网络通信的无线NIC(WNIC)或无线适配器。
附加地或者备选地,通信接口710可辅助与ad hoc(自组织)网络、个人区域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、或因特网的一个或多个部分、或这些中的两种或更多种的组合的通信。这些网络中的一个或多个网络的一个或多个部分可以是有线的或无线的。作为示例,通信接口710可辅助与无线PAN(WPAN)(诸如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(诸如,全球移动通信系统(GSM)网络)、或其他合适的无线网络或其组合的通信。
此外,通信接口710可辅助各种通信协议的通信。可使用的通信协议的示例包括,但不限于,数据传输媒体、通信设备、传输控制协议(“TCP”)、因特网协议(“IP”)、文件传输协议(“FTP”)、Telnet(远程登录)、超文本传输协议(“HTTP”)、超文本传输协议安全(“HTTPS”)、会话发起协议(“SIP”)、简单对象访问协议(“SOAP”)、可扩展标记语言(“XML”)及其变体、简单邮件传输协议(“SMTP”)、实时传输协议(“RTP”)、用户数据报协议(“UDP”)、全球移动通信系统(“GSM”)技术、码分多址(“CDMA”)技术、时分多址(“TDMA”)技术、短消息服务(“SMS”)、多媒体消息服务(“MMS”)、射频(“RF”)信令技术、长期演进(“LTE”)技术、无线通信技术、带内和带外信令技术,以及其他合适的通信网络和技术。
通信基础设施712可包括使计算设备700的组件相互耦合的硬件、软件、或两者皆有。作为示例而不是通过限制的方式,通信基础设施712可包括加速图形端口(AGP)或其他图形总线、扩展工业标准体系结构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准体系结构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或另一种合适的总线或其组合。
在前述的说明书中,本公开内容已经参照其具体的示例性实施例进行了描述。各种实施例和本公开内容的各方面参照本文所讨论的细节进行描述,并且附图例示出各种实施例。上面的描述和附图用于例示本公开内容,并且不应当被解释为限制本公开内容。许多具体细节被描述以提供对本公开内容的各种实施例的彻底理解。
本公开内容可以以其他特定形式来体现而不脱离其精神或本质特性。描述的实施例将被认为在所有方面都仅是例示性的而不是限制性的。例如,本文描述的方法可用更少或更多的步骤/动作来执行或步骤/动作可以以不同顺序执行。此外,本文所描述的步骤/动作可被重复或被相互并行地执行或与相同或类似的步骤/动作的不同实例并行地执行。因此,本申请的范围由所附权利要求而不是由前面的描述指示。在权利要求的含义和等价范围内的所有改变都将包含在其范围之内。
Claims (20)
1.在用于对图像进行分析和分类的数字媒体环境中,一种用于标识图像中的形状的方法,包括:
标识由贝塞尔路径代表的未知形状,所述贝塞尔路径包括至少一个贝塞尔曲线;
标识由存储的贝塞尔路径代表的已知形状,所述存储的贝塞尔路径包括至少一个存储的贝塞尔曲线;
由至少一个处理器确定将所述未知形状的所述至少一个贝塞尔曲线变换为所述已知形状的所述至少一个存储的贝塞尔曲线的矩阵变换;
将所述矩阵变换应用于所述未知形状的所述至少一个贝塞尔曲线;以及
将所述未知形状的变换的所述至少一个贝塞尔曲线与所述已知形状的所述至少一个存储的贝塞尔曲线比较以确定所述未知形状是否与所述已知形状匹配。
2.根据权利要求1所述的方法,还包括如果所述未知形状与所述已知形状匹配则利用来自所述已知形状的一个或多个属性对所述未知形状进行分类。
3.根据权利要求1所述的方法,其中所述已知形状被存储在已知形状的数据库中,并且其中所述已知形状的数据库中的每个已知形状包括一个或多个存储的贝塞尔曲线。
4.根据权利要求3所述的方法,还包括标识代表所述已知形状的数据库中的所述已知形状的所述一个或多个存储的贝塞尔曲线。
5.根据权利要求4所述的方法,还包括针对代表所述已知形状的所述一个或多个存储的贝塞尔曲线中的每个存储的贝塞尔曲线确定将所述未知形状的所述至少一个贝塞尔曲线变换为所述存储的贝塞尔曲线的矩阵变换。
6.根据权利要求1所述的方法,还包括通过将所述矩阵变换应用于代表所述未知形状的多个贝塞尔曲线中的每个贝塞尔曲线来将所述矩阵变换应用于代表所述未知形状的所述贝塞尔路径。
7.根据权利要求6所述的方法,还包括将代表所述未知形状的变换的所述贝塞尔路径与所述已知形状的所述存储的贝塞尔路径比较以确定所述未知形状是否与所述已知形状匹配。
8.根据权利要求7所述的方法,其中确定所述未知形状是否与所述已知形状匹配包括确定所述未知形状的变换的所述贝塞尔路径是否在所述已知形状的所述存储的贝塞尔路径的容忍度差异内。
9.根据权利要求1所述的方法,还包括标识与所述未知形状的所述至少一个贝塞尔曲线相关联的贝塞尔点和与所述已知形状的所述至少一个存储的贝塞尔曲线相关联的对应的存储的贝塞尔点。
10.根据权利要求9所述的方法,还包括:
基于与所述未知形状的所述至少一个贝塞尔曲线相关联的所述贝塞尔点和与所述未知形状的所述至少一个存储的贝塞尔曲线相关联的所述对应的存储的贝塞尔点来生成多个方程,所述多个方程包括多个变换变量;以及
求解所述多个方程以确定所述多个变换变量。
11.根据权利要求10所述的方法,其中与所述未知形状的所述至少一个贝塞尔曲线相关联的所述贝塞尔点包括一个或多个贝塞尔点和一个或多个贝塞尔控制点,并且其中与所述已知形状的所述至少一个存储的贝塞尔曲线相关联的所述对应的存储的贝塞尔点包括一个或多个存储的贝塞尔点和一个或多个存储的贝塞尔控制点。
12.根据权利要求11所述的方法,其中基于与所述至少一个贝塞尔曲线相关联的所述贝塞尔点和与所述至少一个存储的贝塞尔曲线相关联的所述对应的贝塞尔点来生成所述多个方程包括使用四组对应的贝塞尔点中的三组对应的贝塞尔点来生成六个方程。
13.根据权利要求12所述的方法,其中求解所述多个方程以确定所述多个变换变量包括求解所述六个方程以确定六个变换变量。
14.根据权利要求13所述的方法,其中确定将所述至少一个贝塞尔曲线变换为所述至少一个存储的贝塞尔曲线的所述矩阵变换包括基于确定的所述六个变换变量来确定矩阵变换。
15.根据权利要求14所述的方法,其中确定的所述六个变换变量考虑所述至少一个贝塞尔曲线与所述至少一个存储的贝塞尔曲线之间的比例的变化、偏斜的变化和位置的变化。
16.根据权利要求14所述的方法,其中将所述未知形状的变换的所述至少一个贝塞尔曲线与所述已知形状的所述至少一个存储的贝塞尔曲线比较以确定所述未知形状是否与所述已知形状匹配包括在向所述至少一个贝塞尔曲线应用所述变换矩阵之后比较第四组对应的贝塞尔点。
17.在用于对图像进行分析和分类的数字媒体环境中,一种用于标识非结构化表格中的形状的方法,包括:
标识由贝塞尔路径代表的未知形状,所述贝塞尔路径包括至少一个贝塞尔曲线;
标识由存储的贝塞尔路径代表的已知表格元素,所述贝塞尔路径包括至少一个存储的贝塞尔曲线;
由至少一个处理器确定将所述未知形状的所述至少一个贝塞尔曲线变换为所述至少一个存储的贝塞尔曲线的矩阵变换;
将所述矩阵变换应用于所述未知形状的所述至少一个贝塞尔曲线;
将所述未知形状的变换的所述贝塞尔路径与所述已知表格元素的所述存储的贝塞尔路径比较以确定所述未知形状是否与所述已知表格元素匹配;以及
将与所述已知表格元素相关联的属性应用于所述未知形状。
18.根据权利要求17所述的方法,其中将与所述已知表格元素相关联的属性应用于所述未知形状包括基于所述已知表格元素的用户输入功能将所述用户输入功能应用于所述未知形状。
19.根据权利要求17所述的方法,其中,所述已知表格元素是空白文本字段、单选按钮、复选框或组合字段中的一种。
20.在用于对图像进行分析和分类的数字媒体环境中,一种用于标识图像中的形状的系统,包括:
至少一个处理器;以及
至少一个非瞬态计算机可读存储介质,其上存储有指令,所述指令当被所述至少一个处理器执行时,使得所述系统:
标识由贝塞尔路径代表的未知形状,所述贝塞尔路径包括至少一个贝塞尔曲线;
标识由存储的贝塞尔路径代表的已知形状,所述存储的贝塞尔路径包括至少一个存储的贝塞尔曲线;
确定将所述未知形状的所述至少一个贝塞尔曲线变换为所述已知形状的所述至少一个存储的贝塞尔曲线的矩阵变换;
将所述矩阵变换应用于所述未知形状的所述至少一个贝塞尔曲线;以及
将所述未知形状的变换的所述至少一个贝塞尔曲线与所述已知形状的所述至少一个存储的贝塞尔曲线比较以确定所述未知形状是否与所述已知形状匹配。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/869,959 US9741133B2 (en) | 2015-09-29 | 2015-09-29 | Identifying shapes in an image by comparing Bézier curves |
US14/869,959 | 2015-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106557770A true CN106557770A (zh) | 2017-04-05 |
CN106557770B CN106557770B (zh) | 2021-08-27 |
Family
ID=56894330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610670700.0A Active CN106557770B (zh) | 2015-09-29 | 2016-08-15 | 通过比较贝塞尔曲线来标识图像中的形状 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9741133B2 (zh) |
CN (1) | CN106557770B (zh) |
AU (1) | AU2016208411B2 (zh) |
DE (1) | DE102016011055A1 (zh) |
GB (1) | GB2543123B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108428230A (zh) * | 2018-03-16 | 2018-08-21 | 青岛海信医疗设备股份有限公司 | 三维虚拟器官中处理曲面的方法、装置、存储介质及设备 |
CN109130855A (zh) * | 2018-08-03 | 2019-01-04 | 浙江中科领航汽车电子有限公司 | 一种液晶仪表显示元素渐变效果的辅助方法、系统及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10152213B2 (en) * | 2016-09-01 | 2018-12-11 | Adobe Systems Incorporated | Techniques for selecting objects in images |
US11645829B2 (en) * | 2019-03-11 | 2023-05-09 | Vy Corporation | Contour based image segmentation apparatus and method |
SG11202010671PA (en) | 2019-12-20 | 2020-11-27 | Alipay Hangzhou Inf Tech Co Ltd | System and method for evaluating risk |
CN112906801A (zh) * | 2021-02-26 | 2021-06-04 | 北京房江湖科技有限公司 | 一种图像处理的方法、装置和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281651A (zh) * | 2007-04-05 | 2008-10-08 | 奥多比公司 | 图像中对称性的自动检测和映射 |
CN101627399A (zh) * | 2007-02-13 | 2010-01-13 | 奥林巴斯株式会社 | 特征匹配方法 |
CN101820489A (zh) * | 2009-02-27 | 2010-09-01 | 佳能株式会社 | 图像处理设备及图像处理方法 |
CN102663384A (zh) * | 2012-03-31 | 2012-09-12 | 北京智安邦科技有限公司 | 基于贝塞尔控制点搜索的曲线识别方法及装置 |
CN103489190A (zh) * | 2013-09-26 | 2014-01-01 | 中国科学院深圳先进技术研究院 | 图像特征曲线提取方法及系统 |
CN104424473A (zh) * | 2013-09-06 | 2015-03-18 | 北京三星通信技术研究有限公司 | 一种手绘草图识别和编辑的方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134688A (en) * | 1988-05-20 | 1992-07-28 | U.S. Philips Corporation | Computer method and an apparatus for generating a display picture representing a set of objects including a brush element |
FR2661999A1 (fr) | 1990-05-11 | 1991-11-15 | Univ Alsace | Procede et dispositif d'identification de formes ou de profils. |
WO1992009965A1 (en) * | 1990-11-30 | 1992-06-11 | Cambridge Animation Systems Limited | Animation |
US7212205B2 (en) * | 2002-11-12 | 2007-05-01 | Matsushita Electric Industrial Co., Ltd. | Curved surface image processing apparatus and curved surface image processing method |
US7623998B1 (en) * | 2006-03-01 | 2009-11-24 | Adobe Systems, Inc. | System and method for identifying Bezier curves from a shape |
US10445555B2 (en) * | 2009-01-27 | 2019-10-15 | Sciometrics, Llc | Systems and methods for ridge-based fingerprint analysis |
US9330495B2 (en) * | 2012-08-09 | 2016-05-03 | Qualcomm Incorporated | Extending DX11 GPU for programmable vector graphics |
US9384570B2 (en) * | 2013-09-16 | 2016-07-05 | Nvidia Corporation | Efficient setup and evaluation of filled cubic bezier paths |
EP3070677B1 (en) * | 2015-03-20 | 2021-07-28 | Samsung Electronics Co., Ltd. | Method and apparatus for tile-based rendering |
-
2015
- 2015-09-29 US US14/869,959 patent/US9741133B2/en active Active
-
2016
- 2016-07-25 GB GB1612847.2A patent/GB2543123B/en active Active
- 2016-07-29 AU AU2016208411A patent/AU2016208411B2/en active Active
- 2016-08-15 CN CN201610670700.0A patent/CN106557770B/zh active Active
- 2016-09-12 DE DE102016011055.4A patent/DE102016011055A1/de active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101627399A (zh) * | 2007-02-13 | 2010-01-13 | 奥林巴斯株式会社 | 特征匹配方法 |
CN101281651A (zh) * | 2007-04-05 | 2008-10-08 | 奥多比公司 | 图像中对称性的自动检测和映射 |
CN101820489A (zh) * | 2009-02-27 | 2010-09-01 | 佳能株式会社 | 图像处理设备及图像处理方法 |
CN102663384A (zh) * | 2012-03-31 | 2012-09-12 | 北京智安邦科技有限公司 | 基于贝塞尔控制点搜索的曲线识别方法及装置 |
CN104424473A (zh) * | 2013-09-06 | 2015-03-18 | 北京三星通信技术研究有限公司 | 一种手绘草图识别和编辑的方法及装置 |
CN103489190A (zh) * | 2013-09-26 | 2014-01-01 | 中国科学院深圳先进技术研究院 | 图像特征曲线提取方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108428230A (zh) * | 2018-03-16 | 2018-08-21 | 青岛海信医疗设备股份有限公司 | 三维虚拟器官中处理曲面的方法、装置、存储介质及设备 |
CN108428230B (zh) * | 2018-03-16 | 2020-06-16 | 青岛海信医疗设备股份有限公司 | 三维虚拟器官中处理曲面的方法、装置、存储介质及设备 |
CN109130855A (zh) * | 2018-08-03 | 2019-01-04 | 浙江中科领航汽车电子有限公司 | 一种液晶仪表显示元素渐变效果的辅助方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
GB2543123A (en) | 2017-04-12 |
CN106557770B (zh) | 2021-08-27 |
GB2543123B (en) | 2019-05-22 |
US9741133B2 (en) | 2017-08-22 |
DE102016011055A1 (de) | 2017-03-30 |
GB201612847D0 (en) | 2016-09-07 |
AU2016208411B2 (en) | 2021-09-02 |
US20170091956A1 (en) | 2017-03-30 |
AU2016208411A1 (en) | 2017-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11822600B2 (en) | Content tagging | |
CN106557770A (zh) | 通过比较贝塞尔曲线来标识图像中的形状 | |
US11462007B2 (en) | System for simplified generation of systems for broad area geospatial object detection | |
CN109410218B (zh) | 用于生成车辆损伤信息的方法和装置 | |
CN107909065B (zh) | 用于检测人脸遮挡的方法及装置 | |
CN108463821B (zh) | 用于直接从图像识别实体的系统和方法 | |
KR102279456B1 (ko) | 문서의 광학 문자 인식 기법 | |
US20170032189A1 (en) | Method, apparatus and computer-readable medium for image scene determination | |
CN108734185B (zh) | 图像校验方法和装置 | |
WO2019019255A1 (zh) | 建立预测模型的装置、方法、预测模型建立程序及计算机可读存储介质 | |
CN112424769A (zh) | 用于地理位置预测的系统和方法 | |
WO2016197046A1 (en) | Spatial transformer modules | |
KR20160083900A (ko) | 얼굴 표현을 위한 시스템 및 방법 | |
KR102002024B1 (ko) | 객체 라벨링 처리 방법 및 객체 관리 서버 | |
JP2021103555A (ja) | 画像検出方法、装置、電子設備、記憶媒体、及びプログラム | |
US20200258248A1 (en) | Active image depth prediction | |
US20170193337A1 (en) | Generating and utilizing normalized scores for classifying digital objects | |
CN109255767B (zh) | 图像处理方法和装置 | |
CN106415605A (zh) | 用于分布式光学字符识别和分布式机器语言翻译的技术 | |
CN108229375B (zh) | 用于检测人脸图像的方法和装置 | |
CN111291761B (zh) | 用于识别文字的方法和装置 | |
US20200218772A1 (en) | Method and apparatus for dynamically identifying a user of an account for posting images | |
CN110490058B (zh) | 行人检测模型的训练方法、装置、系统和计算机可读介质 | |
CN110969641A (zh) | 图像处理方法和装置 | |
CN114332809A (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 |