WO1995032485A1 - Method of stroke segmentation for handwritten input - Google Patents
Method of stroke segmentation for handwritten input Download PDFInfo
- Publication number
- WO1995032485A1 WO1995032485A1 PCT/US1995/005409 US9505409W WO9532485A1 WO 1995032485 A1 WO1995032485 A1 WO 1995032485A1 US 9505409 W US9505409 W US 9505409W WO 9532485 A1 WO9532485 A1 WO 9532485A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- curvature
- stroke
- point
- derivative value
- curvature derivative
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
Definitions
- This invention relates generally to handwriting recognition, and more particularly to a method of stroke segmentation of handwritten input.
- a key requirement in a stroke-based recognizer is that multiple instances of the same character class (e.g. the letter "A" written at different times and by different writers) should be divided into a similar set of strokes each time. This helps insure that recognition is not too difficult, because the description of the character instances will "look" similar to the character recognizer itself. In the ideal case, all instances of a given character would always contain the same number of strokes, the strokes would all be in the same relative locations, and the featural descriptions of the strokes would all be very similar across the instances. This ideal is not achievable in practice, but to the extent it can be approached, recognition accuracy can be improved.
- stroke boundaries are set at points where pen velocity in the vertical (or "y") direction is zero — that is, at points where the writing begins moving upward, or begins moving downward.
- the resulting set of strokes may then be called "upstrokes" and
- the present invention provides a method of segmenting handwritten input into strokes which are consistent in number across multiple instances of each particular character class.
- the present invention provides a method of segmenting handwritten input into strokes which are similar in shape and location across multiple instances of each particular character class of input.
- the method of the present invention includes a step of calculating the derivative, or instantaneous rate of change, of the curvature at points in the handwritten input.
- the method selects as stroke boundary points certain points (or pixels) in the input which lie between a point of high curvature derivative and a succeeding point of low curvature derivative.
- Such boundary points are not influenced by absolute curvature values, but rather only by relative changes in the curvature.
- FIG. 1 Illustrates a flow diagram of operation for identifying stroke boundaries in accordance with a preferred embodiment of the present invention.
- FIG. 2 Illustrates segmentation into strokes of handwritten input produced by the y-velocity prior art method.
- FIG. 3 Illustrates segmentation into strokes of handwritten input produced by the curvature prior art method.
- FIG 4 Illustrates segmentation into strokes of handwritten input produced by a preferred embodiment of the present invention.
- FIG. 5 Illustrates points making up the letter "L" as received from a digitizing device.
- FIG. 6 Illustrates points making up the letter "L" after resampling to a constant distance in accordance with a preferred embodiment of the present invention.
- FIG. 7 Is an exploded view Illustrating a curvature calculation of a preferred embodiment of the present invention.
- FIG. 8 Illustrates graphically the curvature values calculated for each point in FIG. 7.
- FIG. 9 Illustrates graphically the derivative of curvature values calculated for each point in FIG. 7.
- handwritten character input is collected from the user in the form of discrete continuous segments.
- a discrete continuous segment consists of one or more pen strokes, where a pen stroke is the mark left by a pen during its period of contact with an input device such as a digitizing tablet or paper.
- one or more discrete continuous segments are the units of handwritten input being segmented into strokes.
- Handwritten input is input which is captured electronically that includes but is not limited to the following: handwritten input; electronic input; input captured through pressure, such as stamped input; input that is received electronically, such as via facsimile, pager, or other device.
- a stroke is represented as a sequence of points sampled at approximately regular intervals by the input device. Each point is described at minimum by an X and a Y coordinate.
- Strokes may be captured electronically using a digitizing tablet, or alternatively may be derived from a scanned or faxed image through a process of line detection in the image; such methods of capturing electronically are understood in the art.
- handwritten input is accepted by a device, such as a personal digital assistant (PDA) or other device.
- PDA personal digital assistant
- Other devices that function to receive handwritten input include, but are not limited to, the following: computers, modems, pagers, telephones, digital televisions, interactive televisions, devices having a digitizing tablet, facsimile devices, scanning devices, and other devices with the ability to capture handwritten input.
- handwritten input maybe in the form of alphanumeric characters, ideographic characters or other forms of characters or symbols of written communication.
- FIGs. 2 and 3 illustrate stroke segmentation of alphanumeric handwritten input with a high probability of inaccuracies in interpretation of the input when stroke segmentations are passed to a stroke-based recognizer.
- FIG. 2 illustrates stroke segmentation according to the y-velocity method (200).
- FIG. 3 illustrates stroke segmentation according to the curvature method (300).
- FIG. 4 illustrates stroke segmentation of the same alphanumeric input of FIGs. 2 and 3 where the stroke segmentation is made in accordance with the teachings of the present invention (400) and such stroke segmentation has a high probability of accurate interpretation when passed to a stroke-based recognizer.
- FIG. 1 illustrates a flowchart of a preferred method in accordance with the teachings of the present invention.
- Handwritten input from the digitizer or other device is received in the form of xy coordinates (110) (with associated penup or pendown states). Typically these points are represented by pixels.
- the present method resamples the handwritten input to obtain points which are equally spaced along the length of the handwritten input (120).
- Figure 5 illustrates an example of the letter "L" (500) as a series of points or pixels before resampling.
- Figure 6 illustrates the same letter "L" (600) as a series of points or pixels after resampling. Resampling is done using an interpoint distance d (610) that is constant throughout the handwritten input.
- the value of d chosen is such that the median input height in the handwritten input is approximately in the range of 15 to 30 times d.
- the value of d chosen is such that the median letter height in the word is approximately in the range of 15 to 30 times d.
- the preferred embodiment of FIG. 1 calculates the curvature at each resampled point (130).
- Figure 7 illustrates graphically a depiction of the data for calculation of curvature at a point R (710).
- Curvature at a resampled point R (710) is defined as the distance to R's successor (point R+l (730)) from a point P (720), obtained by projecting linearly from R's predecessor (R-l, (750)) through R itself.
- Curvature at endpoints of the handwritten input is defined as equal to that at the corresponding nearest neighbor points. Curvatures at the interior points of the handwritten input may also be computed by projecting two points away from R, rather than one point (and using a point two points prior to R, rather than R-l), to obtain a more robust estimate.
- Figure 8 illustrates graphically the curvature values obtained for the points shown in Figure 7. For example, the above mentioned example of an "L" with a gradual bend could be segmented into a vertical and a horizontal stroke as long as the two "straight" parts of the "L” were significantly straighter than the bend between them. The curvature would then be increasing going into the bend (i.e., the curvature derivative would be high) and decreasing going away from the bend (the curvature derivative would be low), thus allowing a stroke boundary at or near the bend, as desired.
- the array of curvatures for the resampled points may be smoothed to minimize any known artifacts introduced by the digitizing process.
- the type of smoothing to be performed should be a standard method which is selected based on the particular digitizing characteristics at hand. This might include averaging the value of a point with its neighbor points (weighting the point itself and nearest points higher), and replacing the curvature value of the point in question with the computed average.
- the size of the smoothing window used here should ideally be wider at low-curvature sections of the writing and narrower at high-curvature sections, to minimize loss of important information in the smoothing process. Since it is the curvature itself that is being smoothed, though, one preferable way to smooth is to compute initial curvatures, smooth based on those curvatures, and then re-smooth based on the new curvatures computed.
- the absolute value of the curvature is computed by multiplying any negative curvature values by the value -1.
- the absolute values are used in computing curvature derivatives, rather than the actual curvatures values, because the overall preferred embodiments of the present invention processes are only concerned with the sharpness of bends in the writing, and not which direction a given bend curves.
- the process next calculates the derivative of curvature at each resampled point (140).
- the derivative of curvature at point R is defined as the absolute value of curvature at point R+l minus the absolute value of curvature at point R-l, divided by two
- Figure 9 illustrates graphically the derivative of curvature obtained at each point shown in Figure 7. Similar to the use of more than two points to get a more accurate measure of curvature as described above, the derivative of curvature should be computed using a wider window (five points versus three) where the relevant points exist, and a narrower one (two points versus three) where necessary. Since the derivative of curvature cannot be calculated at the endpoints of the ink segment, the derivative of curvature at the endpoints is simply defined to be equal to that at the corresponding neighbor points.
- a preferred embodiment of the process next examines the newly calculated array of curvature derivative values to locate points where the derivative is at a local maximum (910) (defined to include points at the end of an inflection and about to decrease) or where the derivative is at a local minimum (920) (defined to include points at the end of an inflection and about to increase).
- the midpoint of the section is located (930). This midpoint is defined as M. If the difference between the local maximum and the local minimum values for a section exceeds a threshold value T' (940), and the absolute curvature value at M (810) exceeds some threshold value T" (820), the point M is selected as a stroke boundary (150).
- T' and T" must be estimated and depend on the units in which curvature and curvature derivative are measured. There exact values are not critical as long as an error-tolerant character recognizer is used.
- the desired goal is to attain segmentation which is as consistent as possible across multiple instances of particular character classes. This should be done empirically by examining how the procedure segments vary according to actual samples of the writing to be recognized.
- points where the pen is lifted or put down are also selected as stroke boundary points.
- curvature derivative-based boundary points maybe shifted by as much as two points to cause them to fall on points where absolute curvature value is maximal (160).
- location of the stroke boundary points can be improved by making both the measure of curvature and the derivative of curvature yield the same stroke boundary. This preferred application of the present invention is only done for a given point if no stroke of less than three points will be produced, however.
- the set of stroke boundary points in accordance with the present invention defines a set of corresponding strokes. These strokes can then be forwarded to a stroke-based character recognizer for recognition of the handwritten input.
- the present invention and its preferred embodiments relate to novel, more accurate methods of stroke segmentation.
- the input is repeatedly divided into a similar set of strokes each time.
- the handwritten input is the Letter "L” written at different times by different writers
- the present invention and its preferred embodiments more accurately divide, each time, the input of the letter "L” into similar stroke segmentation boundary points regardless of the variances of the different writers.
- stroke segmentation aids in providing more accurate interpretation by a stroke-based recognizer.
Abstract
Description
Claims
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU24316/95A AU2431695A (en) | 1994-05-10 | 1995-05-03 | Method of stroke segmentation for handwritten input |
BR9506197A BR9506197A (en) | 1994-05-10 | 1995-05-03 | Handwritten character recognition process |
SK30-96A SK3096A3 (en) | 1994-05-10 | 1995-05-03 | Method of stroke segmentation for handwritten input |
JP53030695A JP2002515144A (en) | 1994-05-10 | 1995-05-03 | Handwriting input stroke division method |
EP95918350A EP0710384A4 (en) | 1994-05-10 | 1995-05-03 | Method of stroke segmentation for handwritten input |
NO955064A NO955064D0 (en) | 1994-05-10 | 1995-12-14 | Procedure for recognizing handwriting |
FI960110A FI960110A (en) | 1994-05-10 | 1996-01-10 | Procedure for segmentation of dashes in handwritten entry |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24040794A | 1994-05-10 | 1994-05-10 | |
US08/240,407 | 1994-05-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1995032485A1 true WO1995032485A1 (en) | 1995-11-30 |
Family
ID=22906392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1995/005409 WO1995032485A1 (en) | 1994-05-10 | 1995-05-03 | Method of stroke segmentation for handwritten input |
Country Status (14)
Country | Link |
---|---|
EP (1) | EP0710384A4 (en) |
JP (1) | JP2002515144A (en) |
CN (1) | CN1128074A (en) |
AU (1) | AU2431695A (en) |
BR (1) | BR9506197A (en) |
CA (1) | CA2162489A1 (en) |
CZ (1) | CZ6196A3 (en) |
FI (1) | FI960110A (en) |
HU (1) | HUT75820A (en) |
IL (1) | IL113659A0 (en) |
NO (1) | NO955064D0 (en) |
PL (1) | PL312469A1 (en) |
SK (1) | SK3096A3 (en) |
WO (1) | WO1995032485A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6563515B1 (en) | 1998-05-19 | 2003-05-13 | United Video Properties, Inc. | Program guide system with video window browsing |
US6647145B1 (en) | 1997-01-29 | 2003-11-11 | Co-Operwrite Limited | Means for inputting characters or commands into a computer |
EP1562130A1 (en) * | 2004-02-06 | 2005-08-10 | Dassault Systèmes | A process for modifying a curve in a computer-aided design system |
EP1562138A1 (en) * | 2004-02-06 | 2005-08-10 | Dassault Systèmes | A process for drafting a curve in a computer-aided design system |
US9137579B2 (en) | 1998-05-19 | 2015-09-15 | Rovi Guides, Inc. | Program guide system with video-on-demand browsing |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1317664C (en) * | 2004-01-17 | 2007-05-23 | 中国科学院计算技术研究所 | Confused stroke order library establishing method and on-line hand-writing Chinese character identifying and evaluating system |
CN100405389C (en) * | 2004-08-06 | 2008-07-23 | 摩托罗拉公司 | Identifying character from stroke mark |
JP2006162692A (en) * | 2004-12-02 | 2006-06-22 | Hosei Univ | Automatic lecture content creating system |
CN100338621C (en) * | 2005-04-07 | 2007-09-19 | 上海交通大学 | Eigenvalue error compensation on limited sample collection and parameter distribution correcting method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5113452A (en) * | 1988-08-23 | 1992-05-12 | Sony Corporation | Hand-written character recognition apparatus and method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2658137B2 (en) * | 1988-03-11 | 1997-09-30 | 沖電気工業株式会社 | Character recognition method |
US5590220A (en) * | 1992-08-12 | 1996-12-31 | International Business Machines Corporation | Bending point extraction method for optical character recognition system |
-
1995
- 1995-05-03 CN CN95190347A patent/CN1128074A/en active Pending
- 1995-05-03 SK SK30-96A patent/SK3096A3/en unknown
- 1995-05-03 BR BR9506197A patent/BR9506197A/en unknown
- 1995-05-03 EP EP95918350A patent/EP0710384A4/en not_active Withdrawn
- 1995-05-03 CA CA002162489A patent/CA2162489A1/en not_active Abandoned
- 1995-05-03 PL PL95312469A patent/PL312469A1/en unknown
- 1995-05-03 WO PCT/US1995/005409 patent/WO1995032485A1/en not_active Application Discontinuation
- 1995-05-03 HU HU9503882A patent/HUT75820A/en unknown
- 1995-05-03 CZ CZ9661A patent/CZ6196A3/en unknown
- 1995-05-03 AU AU24316/95A patent/AU2431695A/en not_active Abandoned
- 1995-05-03 JP JP53030695A patent/JP2002515144A/en active Pending
- 1995-05-08 IL IL11365995A patent/IL113659A0/en unknown
- 1995-12-14 NO NO955064A patent/NO955064D0/en unknown
-
1996
- 1996-01-10 FI FI960110A patent/FI960110A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5113452A (en) * | 1988-08-23 | 1992-05-12 | Sony Corporation | Hand-written character recognition apparatus and method |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647145B1 (en) | 1997-01-29 | 2003-11-11 | Co-Operwrite Limited | Means for inputting characters or commands into a computer |
US6563515B1 (en) | 1998-05-19 | 2003-05-13 | United Video Properties, Inc. | Program guide system with video window browsing |
US9137579B2 (en) | 1998-05-19 | 2015-09-15 | Rovi Guides, Inc. | Program guide system with video-on-demand browsing |
EP1562130A1 (en) * | 2004-02-06 | 2005-08-10 | Dassault Systèmes | A process for modifying a curve in a computer-aided design system |
EP1562138A1 (en) * | 2004-02-06 | 2005-08-10 | Dassault Systèmes | A process for drafting a curve in a computer-aided design system |
KR100823900B1 (en) * | 2004-02-06 | 2008-04-21 | 다솔 시스템므 | A process for drafting a curve in a computer-aided design system |
US7542603B2 (en) | 2004-02-06 | 2009-06-02 | Dassault Systemes | Process for drafting a curve in a computer-aided design system |
Also Published As
Publication number | Publication date |
---|---|
EP0710384A4 (en) | 1997-05-02 |
EP0710384A1 (en) | 1996-05-08 |
FI960110A0 (en) | 1996-01-10 |
AU2431695A (en) | 1995-12-18 |
PL312469A1 (en) | 1996-04-29 |
MX9600189A (en) | 1998-11-29 |
NO955064L (en) | 1995-12-14 |
CA2162489A1 (en) | 1998-06-01 |
HUT75820A (en) | 1997-05-28 |
CN1128074A (en) | 1996-07-31 |
FI960110A (en) | 1996-01-10 |
HU9503882D0 (en) | 1996-02-28 |
IL113659A0 (en) | 1995-08-31 |
JP2002515144A (en) | 2002-05-21 |
BR9506197A (en) | 1996-04-24 |
CZ6196A3 (en) | 1996-06-12 |
SK3096A3 (en) | 1996-10-02 |
NO955064D0 (en) | 1995-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5740273A (en) | Method and microprocessor for preprocessing handwriting having characters composed of a preponderance of straight line segments | |
EP0708944B1 (en) | Method for segmenting handwritten input | |
US5287417A (en) | Method and system for recognizing a graphic object's shape, line style, and fill pattern in a pen environment | |
US7515752B2 (en) | Sketch recognition and enhancement | |
AU690781B2 (en) | Method of splitting handwritten input | |
EP1507192B1 (en) | Detection of a dwell gesture by examining parameters associated with pen motion | |
Koo et al. | Text-line extraction in handwritten chinese documents based on an energy minimization framework | |
CN1035904C (en) | Estimation of baseline, line spacing and character height for handwriting recognition | |
US5737443A (en) | Method of joining handwritten input | |
WO1995032485A1 (en) | Method of stroke segmentation for handwritten input | |
CN113748429A (en) | Word recognition method, device and storage medium | |
MXPA96000189A (en) | Method of segmentation of traces for the entry of characters manuscri | |
JPH0729002A (en) | Handwritten graphic recognition device | |
Tolentino et al. | Recognition of air-drawn alphanumeric characters by applying slope orientation sequence matching algorithm using leap motion controller | |
JP2633523B2 (en) | Handwriting input device | |
JP2000251013A (en) | Method and device for character recognition and storage medium | |
JP4142911B2 (en) | Character recognition device and character recognition method | |
CA2479564C (en) | Sketch recognition and enhancement | |
JPH0821064B2 (en) | Character writing input device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 95190347.0 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2162489 Country of ref document: CA |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AM AT AU BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LK LR LT LU LV MD MG MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TT UA UG UZ VN |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): KE MW SD SZ UG AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
WWE | Wipo information: entry into national phase |
Ref document number: PV1996-61 Country of ref document: CZ |
|
WWE | Wipo information: entry into national phase |
Ref document number: 3096 Country of ref document: SK |
|
WWE | Wipo information: entry into national phase |
Ref document number: PA/a/1996/000189 Country of ref document: MX Ref document number: 960110 Country of ref document: FI |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1995918350 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWP | Wipo information: published in national office |
Ref document number: 1995918350 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: PV1996-61 Country of ref document: CZ |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1995918350 Country of ref document: EP |
|
WWR | Wipo information: refused in national office |
Ref document number: PV1996-61 Country of ref document: CZ |