DE19705757C2 - Verfahren zum Erkennen eines Eingabemusters und zum Erzeugen einer Datenbank sowie Zeichenerkennungssystem - Google Patents
Verfahren zum Erkennen eines Eingabemusters und zum Erzeugen einer Datenbank sowie ZeichenerkennungssystemInfo
- Publication number
- DE19705757C2 DE19705757C2 DE19705757A DE19705757A DE19705757C2 DE 19705757 C2 DE19705757 C2 DE 19705757C2 DE 19705757 A DE19705757 A DE 19705757A DE 19705757 A DE19705757 A DE 19705757A DE 19705757 C2 DE19705757 C2 DE 19705757C2
- Authority
- DE
- Germany
- Prior art keywords
- class
- feature value
- closest
- input pattern
- character
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Character Discrimination (AREA)
Description
Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Erkennen eingegebener,
handgeschriebener oder gedruckter Zeichen durch Vergleich von Prototyp-Zeichen-
Daten, die in einer Datenbank vorab zusammengestellt sind und bereitgehalten werden.
Ferner bezieht sich die Erfindung auf ein Verfahren zum Erzeugen einer solchen Daten
bank sowie auf ein entsprechendes Zeichenerkennungssystem.
Eine Zeichenerkennung wird oftmals während des Eingebens von Informationen ver
wendet, die in einer durch Personen lesbaren Form vorliegen (d. h. maschinengedruckte
oder handgeschriebene Form) im Gegensatz zu einer elektronischen, digitalen Form.
Zum Beispiel besitzen, während viele Computer ein Tastenfeld zum Aufnehmen von
einer Tastatur-Eingabe besitzen, andere Computersysteme einen optischen Scanner
bzw. eine Abtasteinrichtung zum Aufnehmen einer dokumentenmäßigen Eingabe. Noch
andere Computersysteme besitzen einen stiftähnlichen Schreibstift und einen Tafel-
Digitalisierer zum Aufnehmen einer handgeschriebenen Eingabe. Solche Vorrichtungen
für eine handgeschriebene Eingabe können aus einer Anzahl von Gründen vorgesehen
werden. Zum Beispiel sind es viele Benutzer mehr gewohnt, Daten über ein Schreiben
per Hand als entgegengesetzt dazu über eine Tastatur einzugeben. Zusätzlich erfordert
ein Tastenfeld einen großen Raumbedarf, der nicht in einem kleinen, portablen Compu
ter, wie beispielsweise einem digitalen Personal-Assistent oder PDA (Personal Digital
Assistant) aufgenommen werden kann.
Fig. 6 stellt ein herkömmliches Zeichenerkennungssystem 10 dar. Das Zeichenerken
nungssystem kann eine Tafel und einen Schreibstift 18, eine optische Abtasteinrichtung
16, oder beides, umfassen. In dem Fall der Tafel und des Schreibstifts 18 bewegt der
Benutzer den Schreibstift über die Tafeloberfläche. Die Tafel und der Schreibstift 18
konvertieren die Bewegung des Schreibstift-Benutzers in bezug auf die Tafel in digitale,
binäre Daten, die graphisch die Bewegung darstellen. Das bedeutet, daß dann, wenn
der Benutzer einen Stift und Papier benutzt hätte, die Bewegung Markierungen auf dem
Papier erzeugt hätte. Der Schreibstift und die Tafel 18 produzieren in Pixel umgesetzte
Abbildungen solcher Markierungen in der Form von digitalen Daten.
In dem Fall einer optischen Abtasteinrichtung 16 werden Blätter, auf denen handge
schriebene oder maschinengedruckte Zeichen zuvor gebildet sind, in die optische Abta
steinrichtung 16 zugeführt. Die optische Abtasteinrichtung 16 erzeugt digitale, binäre
Daten, die graphisch die Zeichen auf den Blättern darstellen.
Der Schreibstift und die Tafel 18 oder die optische Abtasteinrichtung 16 übertragen die
Daten zu einer I/O-Schnittstelle 14. Die I/O-Schnittstelle 14 überträgt wiederum die Daten
auf einen Bus 12 des Systems 10. Das Zeichenerkennungs-System 10 umfaßt auch
einen Prozessor oder eine CPU 20, einen Hauptspeicher 22, einen Plattenspeicher 24
und eine Audio/Video-Ausgabevorrichtung 26. Jede dieser Vorrichtungen 20, 22, 24 und
26 ist mit dem Bus 12 zu Zwecken einer Übertragung von Daten zu einer der anderen
Vorrichtungen oder der I/O-Schnittstelle 14 und zum Empfang von Daten davon verbun
den. Die Audio/Video-Ausgabevorrichtung 26 dient zum Befördern von Informationen zu
einem Benutzer in der Form von Abbildungen und Klängen. Hierbei kann die Au
dio/Video-Ausgabevorrichtung 26 eine Kathodenstrahlröhre oder eine LCD-Anzeige und
Lautsprecher umfassen. Der Hauptspeicher 22 und der Plattenspeicher 24 dienen zum
Speichern von Daten und Programmen. Der Prozessor 20 dient zum Verarbeiten von
Daten. Insbesondere führt der Prozessor 20 Schritte in Verbindung mit den anderen
Vorrichtungen 12, 14, 16, 18, 22, 24 und 26 zum Erkennen von Zeichen von den einge
gebenen Daten aus.
Fig. 7 stellt einen herkömmlichen Prozeß für eine Handschrifterkennung dar, der durch
das Zeichenerkennungs-System 10 der Fig. 6 ausgeführt werden kann. In einem ersten
Schritt 32 werden die eingegebenen, handgeschriebenen oder maschinengedruckten
Zeichen aufgenommen. Zum Beispiel schreibt der Benutzer, unter Verwendung des
Schreibstifts und der Tafel 18, manuell ein oder mehrere Zeichen. Der Schreibstift und
die Tafel 18 übertragen Zeichendaten, die graphisch die geschriebenen Zeichen darstel
len, zu der I/O-Schnittstelle 14. Alternativ führt der Benutzer Blätter, auf denen handge
schriebene oder maschinengedruckte Zeichen zuvor handgeschrieben oder aufgedruckt
worden sind, in die optische Abtasteinrichtung bzw. den Scanner 16 zu. Die optische
Abtasteinrichtung 16 wiederum überträgt Zeichendaten, die graphisch die handgeschrie
benen oder maschinengedruckten Zeichen darstellen, zu der I/O-Schnittstelle 14. Die
I/O-Schnittstelle überträgt die Zeichendaten über den System-Bus 12, zum Beispiel zu
dem Hauptspeicher 22.
Als nächstes verarbeitet in einem Schritt 34 der Prozessor 20 die eingegebenen Zei
chendaten, die in dem Hauptspeicher 22 gespeichert sind, vor. Zum Beispiel kann der
Prozessor 20 ein Rauschen durch Aussondieren bzw. Löschen von Clustern verbunde
ner, gefüllter Pixel entfernen, die weniger als einen minimalen Schwellwertflächenbereich
besitzen. Der Prozessor 20 kann auch die graphischen Abbildungen der eingegebenen
Zeichen glätten. Als nächstes bildet in einem Schritt 36 der Prozessor 20 optional eine
Skelett-Abbildung jedes eingegebenen Zeichens und konvertiert dann die Skelett-
Abbildungen in Abbildungen mit vergrößerter Kontur (d. h. verdickt die Linien der Skelett-
Abbildung). Dann segmentiert in einem Schritt 38 der Prozessor 20 die Abbildungen der
Zeichen (d. h. unterteilt die Zeichen in Unter-Bilder oder Unter-Zonen) zu Zwecken eines
Extrahierens von Merkmals-Werten von den Zeichenabbildungen. Hier bedeutet
"Merkmal" irgendein quantifizierbares, graphisches Zeichen einer Abbildung, das zur
Unterscheidung des Bilds eines oder mehrerer Zeichen voneinander nützlich ist. Eine
Segmentations-Technik ist beispielsweise in der nachveröffentlichten US 5,841,902
beschrieben, wo die Segmentierung von den Merkmals-Werten abhängt, die von den
eingegebenen Zeichen extrahiert werden sollen. Zum Beispiel wird angenommen, daß
das eingegebene Zeichen eine handgeschriebene Zahl "8" ist. Die graphische Abbildung
des eingegebenen Zeichens "8" kann so segmentiert werden, wie dies in den Fig. 8, 9
und 10 dargestellt ist. In Fig. 8 werden acht Zonen 321, 322, 323, 324, 341, 342, 343
und 344 so gebildet, wie dies dargestellt ist. In Fig. 9 werden acht Zonen 352, 354, 356,
358, 372, 374, 376 und 378 so gebildet, wie dies dargestellt ist. In Fig. 10 werden vier
Zonen 332, 334, 336 und 338 so gebildet, wie dies dargestellt ist.
Als nächstes extrahiert in einem Schritt 40 (Fig. 7) der Prozessor 20 einen Vektor von
Merkmals-Werten für jedes eingegebene Zeichen. Die US 5,841,902 liefert Beispiele von
Merkmalen, die aus Zeichen extrahiert werden können, die so segmentiert sind, wie dies
in den Fig. 8-10 dargestellt ist. Diese illustrativen Merkmale werden kurz nachfolgend
beschrieben. Zur Erläuterung werden Merkmals-Wert-Vektoren für dieselben Merkmale
für jedes Zeichen extrahiert.
Wie die Fig. 11 zeigt, ist dort die Extraktion von Hub-Dichte-Funktions- (Stroke Density
Function - SDF) Merkmals-Werten dargestellt. Beim Berechnen der SDF projiziert der
Prozessor 20 eine Zahl von Inspektionslinien in jede Zone, in der die SDF abgeschätzt
wird. Der Prozessor 20 zählt dann die Anzahlen, mit denen die graphische Abbildung
des Zeichens eine Inspektionslinie innerhalb der Zone überquert. Die Gesamtzahl der
Überquerungen wird durch die Gesamtzahl der Inspektionslinien dividiert, um das Er
gebnis der SDF-Funktion zu produzieren (die wiederum der SDF-Merkmals-Wert ist). Zur
Erläuterung berechnet der Prozessor 20 nicht die SDF in jeder Zone, sondern vielmehr
in acht vertikalen Zonen 321, 322, 326, 327, 341, 342, 346 und 347 und in vier horizonta
len Zonen 332, 334, 336 und 338, um 12 Merkmals-Werte zu produzieren.
Unter Bezugnahme auf Fig. 12 wird die Extraktion von Merkmals-Werten eines periphe
ren Hintergrundbereichs (Peripheral Background Area - PBA) beschrieben. Beim Be
stimmen des PBA berechnet der Prozessor 20 die folgende Funktion:
wobei n' ein Index von Punkten auf irgendeiner der horizontalen (x') oder vertikalen (y')
Achse ist, die aufeinanderfolgend jeden Wert von 1 bis zu der maximalen Dimension N'
des Zeichen-Abbildungs-Rechtecks auf dieser Achse annimmt. λ'n' ist der Abstand in
Pixeln von der n'-ten Stelle zu einem gefüllten Pixel der Zeichen-Abbildung. Wie in Fig.
12 dargestellt ist, mißt der Prozessor 20 λ'n' senkrecht von der entsprechenden Achse.
Die Variable m' nimmt einen Wert an, der die bestimmte Zone anzeigt, für die die PBA-
Funktion berechnet ist. X'm' stellt die horizontale Breite der m'-ten Zone dar und Y'm' stellt
die vertikale Höhe der m'-ten Zone dar.
Der Prozessor 20 berechnet den PBA in der vertikalen Richtung für jede der Zonen 321,
322, 326, 327, 341, 342, 346 und 347. Der PBA wird in der horizontalen Richtung für die
Zonen 352, 354, 356, 358, 372, 374, 376 und 378 berechnet. Demzufolge werden 16
Merkmals-Werte extrahiert.
Unter Bezugnahme auf Fig. 13 wird die Extraktion der Merkmals-Werte der Kontur-
Linien-Länge (Contour Line Length - CLL) beschrieben. Beim Bestimmen der CLL-
Merkmals-Werte berechnet der Prozessor 20 die nachfolgenden Formeln:
Die Variablen m, n', X'm', Y'm' und λ'n', sind so, wie sie vorstehend beschrieben sind. Der
Prozessor 20 erhält zwei CLL-Merkmals-Werte, nämlich CLL1 und CLL2, für sowohl die
vertikalen als auch die horizontalen Zonen 324, 328, 344 und 348. Dies produziert 16
Merkmals-Werte.
Wie die Fig. 14 zeigt, werden Gradienten-Merkmals-Werte extrahiert. Zuerst ordnet der
Prozessor 20 einen Richtungs-Code Diri'j' jedem Pixel der Zeichen-Abbildung in der i'-ten
Spalte und der j'-ten Reihe der Zeichen-Abbildung zu. Die Variablen i' und j' sind Indizes
in der horizontalen (x') bzw. der vertikalen (y') Richtung. Der Richtungs-Code entspricht
einer Richtung, die normal zu einer Tangentenlinie an dem Pixel liegt. Wie in Fig. 14
dargestellt ist, sind acht mögliche Richtungs-Code vorhanden, die zugeordnet werden
können, wobei jeder einer Winkelrichtung von 45° entspricht, d. h. 0 für 337,5° bis 22,5°,
1 für 22,5° bis 67,5°, 2 für 67,5° bis 112,5°, 3 für 112,5° bis 157,5°, 4 für 157,5° bis
202,5°, 5 für 202,5° bis 247,5°, 6 für 247,5° bis 292,5° und 7 für 292,5° bis 337,5°. Da
nach erzeugt der Prozessor 20 einen Vektor von Längen Len(Diri'j') in jeder Zone, unter
Verwendung der nachfolgenden Formeln:
wobei Bddm' (Diri'j') die Grenzenbreite der m'-ten Zone darstellt, deren Richtung normal
zu (Diri'j') liegt, und wobei X' und Y' Werte sind, die unter Verwendung der folgenden
Kerne, Kernel bzw. Kernsysteme erzeugt sind:
Der Prozessor 20 wendet die Kerne auf jedes Pixel der Zeichnungs-Abbildung vor einer
Bestimmung der Länge Len in der geeigneten Richtung Diri'j' an. Die Längen Leni'j' wer
den dann entsprechend der Gleichung (3c) kombiniert, um einen einzelnen Wert für jede
der acht Richtungen Diri'j' zu produzieren. Demzufolge produziert der Prozessor 20 acht
Gradienten-Merkmals-Werte für jede Zone. Es werden die Gradienten-Merkmals-Werte
von jeder der acht Zonen 352, 354, 356, 358, 372, 374, 376 und 378 extrahiert, um
dadurch vierundsechzig Merkmals-Werte zu erzeugen.
Nach Extrahieren eines Merkmals-Wert-Vektors für ein eingegebenes Zeichen führt der
Prozessor 20 einen Schritt 42 (Fig. 7) durch. In dem Schritt 42 vergleicht der Prozessor
20 den Merkmals-Wert-Vektor für jedes eingegebene Zeichen mit Merkmals-Wert-
Vektoren, die in einer Datenbank vorbestimmter Merkmals-Wert-Vektoren enthalten
sind. Beispielsweise kann diese Datenbank in dem Plattenspeicher 24 oder dem Haupt
speicher 22 gespeichert werden. Die Datenbank enthält mindestens einen vorbestimm
ten Merkmals-Wert-Vektor für jedes Modell-Zeichen eines Satzes von Modell-Zeichen,
die durch das System 10 erkannt werden können. Zum Beispiel wird angenommen, daß
das System 10 die Buchstaben des englischen Alphabets erkennen kann. In einem
solchen Fall wird mindestens ein vorbestimmter Merkmals-Wert-Vektor in der Datenbank
für jeden Buchstaben des Alphabets gehalten. Basierend auf diesen Vergleichen be
stimmt der Prozessor 20 den vorbestimmten Merkmals-Wert-Vektor, der am besten den
Merkmals-Wert-Vektor des eingegebenen Zeichens anpaßt. In einem Schritt 44 (Fig. 7)
gibt der Prozessor 20 das Modell-Zeichen aus, dem der am besten anpassende, vor
bestimmte Merkmals-Wert-Vektor entspricht. Zum Beispiel kann der Prozessor 20 den
ASCII -Code des Modell-Zeichens, eine vorbestimmte Zeichen-Abbildung des Modell-
Zeichens, usw., ausgeben.
Viele Modifikationen und Verbesserungen nach dem Stand der Technik sind für eine
Zeichenerkennung vorgesehen worden. Siehe US-Patent-Nr.'n 5,151,950; 5,050,219;
5,034,989; 4,903,312; 4,731,857; 4,718,103; 4,685,142; 4,284,975 und 4,773,099 und
D. Lee & N. Srihari, Handprinted Digital Recognition: A Comparison of Algorithms THIRD
INTERNATIONAL WORKSHOP ON FRONTIERS IN HANDWRITING RECOGNITION,
Seiten 153-162 (1993), G. Srikantan, Gradient Representation for Handwritten Character
Recognition THIRD INTERNATION WORKSHOP ON FRONTIERS IN HANDWRITING
RECOGNITION, Seiten 318-23 (1993), und L. Tu, W. Lin, Y. Chan & I. Shyu, A PC
Based Handwritten Chinese Character Recognition System, THIRD INTERNATIONAL
WORKSHOP ON FRONTIERS IN HANDWRITING RECOGNITION, Seiten 349-54
(1993). Weitere Zeichenerkennungssysteme werden in den nachveröffentlichten Patent
schriften US 5,802,207 und US 5,841,902 beschrieben.
Wie vorstehend angeführt ist, vergleicht ein typisches Zeichenerkennungs-System 10
die Merkmals-Werte, die von eingegebenen Zeichen extrahiert sind, gegen eine vorbe
stimmte Datenbank aus Merkmals-Wert-Vektoren der Modell-Zeichen. Eine solche Da
tenbank kann in einer Anzahl von Arten und Weisen organisiert werden. Zum Beispiel
lehrt das US-Patent Nr. 5,050,219 (Maury) eine Zeichen-Erkennungs-Datenbank, die
gemäß einer Baumstruktur organisiert ist. Jeder Blatt-Knoten des Baums enthält ein
Zeichen, das erkannt werden kann. Jeder Nicht-Blatt-Knoten des Baums enthält einen
bestimmten einer Vielzahl von vorbestimmten Merkmals-Vergleichen, die in bezug auf
die eingegebenen Zeichen-Merkmals-Werte ausgeführt werden sollten. Basierend auf
den Ergebnissen des Vergleichs an einem solchen Nicht-Blatt-Knoten wird die Daten
bank zu einem bestimmten, angehängten Kind-Knoten überquert. In dem Vergleichs
schritt wird der Baum überquert, bis ein Blatt-Knoten erreicht wird. Das Zeichen wird
dann als das Zeichen erkannt, das dem Blatt-Knoten entspricht.
Andere Zeichen-Erkennungs-Datenbanken sind "flach", d. h. nicht hierarchisch struktu
riert. Solche Zeichen-Erkennungs-Datenbanken enthalten mindestens einen Vektor von
Merkmals-Werten für jedes Modell-Zeichen, das erkannt werden soll. Die eingegebenen
Zeichen-Merkmals-Werte werden mit jedem Vektor der Merkmals-Werte verglichen. Das
eingegebene Zeichen wird dann als das Modell-Zeichen erkannt, das dem Vektor der
Merkmals-Werte entspricht, die am besten den Merkmals-Wert-Vektor des eingegebe
nen Zeichens anpassen.
Eine flache Zeichen-Erkennungs-Datenbank, wie sie vorstehend verwendet wird, wird
herkömmlich wie folgt generiert. Vielfache Trainings-Zeichen-Proben werden in das
System 10 der Fig. 6 für jedes Modell-Zeichen eingegeben, das erkannt werden kann.
Merkmals-Werte werden dann für jedes Trainings-Zeichen-Beispiel extrahiert. Typi
scherweise führt dies zu zu vielen Merkmals-Wert-Vektoren, um sie praktisch zu spei
chern oder um auf sie für die Zwecke, Vergleiche zu erstellen, zuzugreifen. Deshalb wird
die Merkmals-Wert-Vektor-Datenbank kompaktiert. Hierbei organisiert der Prozessor 20
die Zeichen in Klassen. Zum Beispiel bildet der Prozessor 20 anfänglich eine oder meh
rere Klassen für jedes Modell-Zeichen und plaziert jede Trainings-Zeichen-Probe jedes
Modell-Zeichens in eine entsprechende Klasse. Danach ordnet der Prozessor 20 einen
oder mehrere Prototyp-Merkmals-Wert-Vektoren zum Darstellen jeder Klasse zu. Zum
Beispiel kann der Prozessor den Haupt-Merkmals-Wert-Vektor in jeder Klasse bilden
und den jeweiligen Haupt-Merkmals-Wert-Vektor zu der Klasse als ein Prototyp-
Merkmals-Wert-Vektor zuordnen. Dieser Prototyp-Merkmals-Wert-Vektor ist derjenige,
der ein Prototyp- oder virtuell repräsentatives Zeichen der Klasse ist (US 5,841,902 A
schlägt ein alternatives Schema zum Klassifizieren
und Auswählen von Prototyp-Merkmals-Wert-Vektoren für jede Klasse vor).
In dem US-Patent Nr. 4,773,099 offenbart Bokser ein Verfahren zum Organisieren einer
Erkennungs-Datenbank in sogenannte "verringte Kluster" ("Ringed Clusters"). Diese
verringten Kluster umfassen "Sicherheits-Sphären" ("Certainty Spheres") für eine Zei
chen-Identifikation mit einer Sicherheit bzw. Bestimmtheit, "Zuversichts-Sphären"
("Confidence Spheres") für eine Zeichen-Identifikation ohne eine Sicherheit, allerdings
mit einem gewissen Zuversichts-Niveau, und "Möglichkeits-Sphären" ("Possibility Sphe
res") zur Klassifikation von unbekannten Zeichen.
Bokser skizziert weiterhin die verringten Kluster in "grob" ("coarse"), "medium"
("medium") und "feine" ("fine") Kategorien, und zwar in Abhängigkeit von dem erwünsch
ten Grad einer Genauigkeit beim Klassifizieren der Eingabe-Zeichen.
Unter Berücksichtigung des vorstehend beschriebenen Stands der Technik im allgemei
nen kann die Basis für ein Akzeptieren oder Zurückweisen unbekannter Eingabe-Daten
durch Vergleich mit einem Merkmals-Wert-Vektor-Typ der Datenbank wie folgt zusam
mengefaßt werden:
x soll den Merkmals-Wert-Vektor eines unbekannten Eingabe-Musters/
Zeichens bezeichnen.
rk soll den Merkmals-Wert-Vektor eines Prototyps der Klasse k bezeichnen.
M soll die zu dem Merkmals-Wert-Vektor x nächstliegende Klasse bezeichnen, d. h. die Klasse, die einen Prototyp-Merkmals-Wert-Vektor besitzt, der dem Merkmals-Wert-Vektor x am nächsten kommt.
S soll die zweitnächste Klasse zu dem Merkmals-Wert-Vektor x bezeichnen.
CR soll einen Klassen-Bereichs-Schwellwert für eine präzise Erkennung bezeichnen.
DA soll einen Dis-Ambiguity-(Mehrdeutigkeits-) Schwellwert für eine maßgebende Klassifikation bezeichnen.
D soll eine Abstandsfunktion bezeichnen, wo das minimale Abstands kriterium ausgedrückt wird als
rk soll den Merkmals-Wert-Vektor eines Prototyps der Klasse k bezeichnen.
M soll die zu dem Merkmals-Wert-Vektor x nächstliegende Klasse bezeichnen, d. h. die Klasse, die einen Prototyp-Merkmals-Wert-Vektor besitzt, der dem Merkmals-Wert-Vektor x am nächsten kommt.
S soll die zweitnächste Klasse zu dem Merkmals-Wert-Vektor x bezeichnen.
CR soll einen Klassen-Bereichs-Schwellwert für eine präzise Erkennung bezeichnen.
DA soll einen Dis-Ambiguity-(Mehrdeutigkeits-) Schwellwert für eine maßgebende Klassifikation bezeichnen.
D soll eine Abstandsfunktion bezeichnen, wo das minimale Abstands kriterium ausgedrückt wird als
Dann gilt für eine Muster/Zeichen-Erkennung
und für die Muster/Zeichen-Mehrdeutigkeit
Idealerweise wird von einem Erkennungs-System erwartet, daß es in der Lage ist, so
wohl mehrdeutige als auch Nicht-Zeichen-Muster zu erkennen. Demgemäß ist ein Krite
rium zum Zurückweisen beider davon eine kombinierte Gleichung:
Kurz ausgeführt gibt die Gleichung (7) an, daß M, die nächstliegende Klasse zu x, die
Klasse des Eingabe-Musters mit einem Merkmals-Wert-Vektor x ist, vorausgesetzt, daß
der Abstand von M zu x nicht mehr als der Schwellwert CR ist, und daß der Abstand von
S, die zweitnächstliegende Klasse, zu x mindestens um den Schwellwert DA größer als
der Abstand von M zu x ist.
In Gleichung (7) ist ein Haupt-Nachteil enthalten. Insbesondere verwendet Gleichung (7)
nur einen DA und CR, so daß die zwei Schwellwerte nicht für unterschiedliche Klassen
sensitiv sind. Dies führt entweder zu einer zu starken Zurückweisung oder einer zu star
ken Fehlerkennung. Zum Beispiel können, falls DA klein ist, dann mehrdeutige Abta
stungen fehlerhaft erkannt werden. Andererseits tendieren, falls DA groß ist, Abtastun
gen dazu, daß sie zurückgewiesen werden, gerade wenn sie nicht mehrdeutig sind.
Gemäß eines anderen Beispiels werden, falls CR klein ist, ein paar Abtastungen, die zu
einer verstreuten Klasse gehören, zurückgewiesen werden. Allerdings werden, falls CR
groß ist, Nicht-Zeichen-Muster, nahe zu einer Kompakt-Klasse, in bezug auf diese Klas
se fehlerhaft erkannt werden.
Fig. 15 stellt eine Muster-Verteilung für vier Klassen in einem Merkmals-Wert-Raum dar.
In Fig. 15 ist jedes Mitglied einer Klasse k (k ∈ {A, B, C, D}) durch ein Symbol k bezeich
net. Die Klassen A und B sind Nachbarn zueinander und die Klasse A ist mehr verstreut
als die Klasse B. Die Klassen C und D überlappen sich gegenseitig derart, daß Abta
stungen der zwei Klassen dahingehend unmöglich sind, daß sie vollständig separiert
werden. Unter der Annahme, daß alle Muster der beiden Klassen A und B korrekt unter
einer momentanen Abstandsmessung erkannt werden, werden einige Mitglieder entwe
der der Klasse C oder der Klasse D fehlerhaft erkannt werden, wenn DA klein ist. Wenn
allerdings DA groß ist, werden ein paar Muster, die zu entweder der Klasse A oder der
Klasse B gehören, unnötigerweise zurückgewiesen werden. Unter Betrachtung von
Nicht-Zeichen-Mustern werden, wenn CR klein ist, ein paar Abtastungen der Klasse A
zurückgewiesen werden. Wenn allerdings CR groß ist, werden einige Nicht-Zeichen-
Muster nahe zu der Klasse B dazu tendieren, daß sie fehlerhaft zu Klasse B erkannt
werden.
Die US 5 572 604 A beschreibt ein Verfahren zur Mustererkennung unter Verwendung
von Transformationen von Prototypen. Das Erkennungsverfahren verwendet Abstan
messungen in einem mehrdimensionalen Raum von Merkmalswertvektoren, wobei die
Merkmalswerte durch die Graustufen eines jeden Pixels der eingegebenen Grafik gege
ben sind. Es werden verschiedene Abstandsfunktionen verwendet. Neben dem Euklidi
schen Abstand wird eine Hyperfläche berechnet, um Translationen, Rotationen, Skalie
rungen und hyperbolische Deformationen zu kompensieren. Die Einstufung des Einga
bemusters wird stufenweise vollzogen, wobei die Abstandsfunktionen der jeweils folgen
den Stufe an Komplexität zunimmt (Abstandshierarchie). Dabei wird die Anzahl der
überprüften Prototypen zunehmend geringer (hierarchisches Filtern). Dieses Verfahren
endet, wenn eine bestimmte Anzahl von Stufen erreicht ist. Alternativ dazu kann das
Einstufungsverfahren auch abgebrochen werden, wenn die Differenz der Abstände
zwischen der nächstliegenden und der zweitnächsten Klasse einen bestimmten
Schwellwert überschreitet, der grafisch optimiert wird.
Die US 5 058 182 A betrifft ebenfalls ein Verfahren und eine Vorrichtung zur Erkennung
handgeschriebener Zeichen unter Verwendung einer hierarchischen Einstufung. Nach
der Eingabe eines grafischen Eingabemusters als Graustufenbild wird ein Zweiniveaubild
gewonnen, um strichbasierte Merkmale abzuleiten, die nachfolgend unter Verwendung
eines Satzes vorbestimmter Regeln eingestuft werden. Die Gewinnung der Merkmale
wird durchgeführt, indem das Zweiniveaubild horizontal zeilenweise gescannt wird, um
verschiedene Profile und Verteilungen zu erhalten. Das Einstufungsverfahren ist hierar
chisch, da es in jeder Stufe lediglich einen Teil der Regeln anwendet.
In dem Artikel C. Y. Suen et al., "Computer Recognition of Unconstrained Handwritten
Numerals", Proc. of the IEEE, Vol. 80, Nr. 7, 1992, Seiten 1162-1180 werden vier Ver
fahren (Experten) zur Erkennung handgeschriebener Zahlzeichen durch einen Compu
ter beschrieben. Alle vier Verfahren gewinnen Merkmale unter Verwendung von Skelett
strukturen oder Konturen. Ein unbekanntes Zeichen wird parallel auf alle Zahlenklassen
hin oder mittels einer Abfolge von Abfragen (Baumstruktur) untersucht. Ferner ist eine
Kombination von zwei oder mehr dieser Verfahren möglich.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Erkennen eines Eingabemusters, ein Ver
fahren zum Erzeugen einer Datenbank eines Zeichenerkennungssystems und ein Zei
chenerkennungssystem anzugeben, die eine erhöhte Zuverlässigkeit besitzen.
Diese Aufgabe wird durch die Gegenstände der Patentansprüche 1, 2 und 10 gelöst.
Bevorzugte Ausgestaltungen der Erfindung sind in den Unteransprüchen definiert.
Gemäß einer Ausführungsform wird ein Verfahren für eine bestimmungsmäßige Muster-
Erkennung mit einer hohen Zuverlässigkeit für Systeme geschaffen, die eine Merkmals-
Wert-Vektor-Anpassung zwischen unbekannten Eingabe-Daten und Prototypen der
Klassen von Modell-Zeichen, die in der System-Datenbank gespeichert sind, verwendet.
Das erfindungsgemäße Verfahren berechnet jeweils einen Klassen-Bereichs-
Schwellwert CRk und einen Mehrdeutigkeits-Schwellwert DAk für jede Modell-Klasse k.
Ein neuartiges Verfahren zum Berechnen von Schwellwerten CRk und DAk wird offen
bart, das auf einem Darstellen jedes Schwellwerts als eine Kosten-Funktion basiert. Die
Kosten-Funktion wird dann minimiert, um die optimalen Werte für CRk und DAk abzulei
ten.
Wenn ein unbekanntes Eingabe-Daten-Muster, oder Zeichen, aufgenommen wird, wird
ein Merkmals-Wert-Vektor x davon abgeleitet. Der Merkmals-Wert-Vektor x wird dann
mit den gespeicherten Merkmals-Wert-Vektoren der Prototypen für jede Klasse vergli
chen, um die nächstliegende und die zweitnächstliegende Klasse (M bzw. S) zu bestim
men. Eine entscheidungsmäßige bzw. bestimmungsgemäße Erkennung oder Zurück
weisung wird dann gemäß der folgenden Gleichung vorgenommen:
wobei D eine Abstands-Funktion bezeichnet,
rM den anpassenden Prototyp-Merkmals-Wert-Vektor der nächstliegenden Klasse M bezeichnet,
rk einen Prototyp-Merkmals-Wert-Vektor einer Klasse k bezeichnet,
rS den anpassenden Prototyp-Merkmals-Wert-Vektor der zweitnächstliegenden Klasse S darstellt,
CRM den Klassen-Bereichs-Schwellwert für die nächstliegende Klasse M darstellt, und
DAM den Mehrdeutigkeits-Schwellwert für die nächstliegende Klasse M darstellt.
rM den anpassenden Prototyp-Merkmals-Wert-Vektor der nächstliegenden Klasse M bezeichnet,
rk einen Prototyp-Merkmals-Wert-Vektor einer Klasse k bezeichnet,
rS den anpassenden Prototyp-Merkmals-Wert-Vektor der zweitnächstliegenden Klasse S darstellt,
CRM den Klassen-Bereichs-Schwellwert für die nächstliegende Klasse M darstellt, und
DAM den Mehrdeutigkeits-Schwellwert für die nächstliegende Klasse M darstellt.
Eine erläuternde Ausführungsform des erfindungsgemäßen Verfahrens wird vollständi
ger nachfolgend in Verbindung mit den beigefügten Zeichnungen beschrieben.
Fig. 1 stellt ein System zum Erkennen von Zeichen gemäß einer Ausführungsform der
vorliegenden Erfindung dar.
Fig. 2 stellt einen Prozeß zum Konstruieren einer Datenbank gemäß einer Ausführungs
form der vorliegenden Erfindung dar.
Fig. 3 stellt einen Prozeß zum Optimieren von Prototyp-Klassen gemäß einer Ausfüh
rungsform der vorliegenden Erfindung dar.
Fig. 4 stellt eine Verteilung der erfindungsgemäßen Kosten-Funktion mit a = 50 dar.
Fig. 5 stellt einen Erkennungs-Funktions- bzw. Leistungs-Vergleich zwischen dem erfin
dungsgemäßen Verfahren und dem Stand der Technik dar.
Fig. 6 stellt ein herkömmliches Zeichen-Erkennungs-System dar.
Fig. 7 zeigt ein Flußdiagramm, das schematisch einen herkömmlichen Zeichen-
Erkennungs-Prozeß darstellt.
Fig. 8-10 stellen eine Zeichen-Segmentierung dar.
Fig. 11-14 stellen Beispiele einer Zeichen-Merkmals-Extraktion dar.
Fig. 15 stellt eine Muster-Verteilung für vier Klassen dar.
Fig. 1 stellt ein System 100 zum Erkennen von Zeichen, die darin eingegeben werden,
dar. Ähnlich dem System 10 der Fig. 6 besitzt das System 100 eine I/O-Schnittstelde
114, die mit einer Zeichen-Eingabe-Vorrichtung, wie beispielsweise einer optischen
Abtasteinrichtung 116 oder einem Schreibstift und einer Schreibtafel 118, oder beiden,
verbunden ist. Die optische Abtasteinrichtung 116 ist dazu in der Lage, Blätter abzuta
sten, auf denen maschinengedruckte oder handgeschriebene Zeichen zuvor gebildet
wurden, und zum Erzeugen graphischer Abbildungs-Daten der eingegebenen Zeichen
davon. Der Schreibstift und die Schreibtafel 118 sind zum Aufnehmen handgeschriebe
ner Zeichen geeignet, die manuell damit eingegeben werden, und zum Erzeugen gra
phischer Abbildungs-Daten der eingegebenen Zeichen davon. Die erzeugten Daten
können über eine I/O-Schnittstelle 114 und einen Bus 112 zu einem Hauptspeicher 122
oder einem Plattenspeicher 124 übertragen werden. Ein Prozessor 120 kann die Daten
verarbeiten, insbesondere kann er jedes eingegebene Zeichen mit einer Datenbank aus
Prototypen vergleichen, um den am besten anpassenden Prototyp zu bestimmen. Die
eingegebenen Zeichen werden als das Modell-Zeichen entsprechend den am besten
anpassenden Prototypen erkannt. Die erkannten Modell-Zeichen müssen dann über die
Audio/Video-Ausgabevorrichtung 126 ausgegeben werden.
Das System 100, oder ein anderes, geeignetes, ähnliches System, ist zum Erzeugen der
Datenbank aus Prototypen geeignet. Illustrativ wird dies unter Verwendung eines Pro
zesses erreicht, der schematisch in Fig. 2 dargestellt ist. Entsprechend einem ersten
Schritt 202 werden Trainings-Zeichen-Abtastungen über die optische Abtasteinrichtung
116 der Fig. 1 oder über die Tafel und den Schreibstift 118 eingegeben. Graphische
Abbildungs-Daten der Trainings-Zeichen-Abtastungen werden in dem Speicher 122 oder
124 gespeichert. Die Trainings-Zeichen-Abtast-Daten werden dann vorverarbeitet, um
Rauschen, usw., zu entfernen, und zwar durch den Prozessor 120 in dem Schritt 204. In
dem Schritt 206 formt der Prozessor 120 Skelett-Abbildungen jeder Trainings-Zeichen-
Abtastung und konvertiert dann die Skelett-Abbildungen in Abbildungen mit vergrößerter
Kontur. In einem Schritt 208 segmentiert der Prozessor 120 die Trainings-Zeichen-
Abtastungen. In einem Schritt 210 extrahiert der Prozessor 120 Merkmals-Wert-
Vektoren von jeder segmentierten Trainings-Zeichen-Abtastung. In einem Schritt 212
organisiert der Prozessor 120 die Trainings-Zeichen-Abtastungen in Klassen. Dies kann
in einer Anzahl von Arten und Weisen erreicht werden, wie dies in der nachveröffentlich
ten US 5,841,902 vorgeschlagen wird. Danach werden die Trainings-Zeichen-
Abtastungen jedes Modell-Zeichens in eine Vielzahl von Klassen unterteilt, um so besser
die Trainings-Zeichen-Abtastungen zu organisieren, die typischerweise nicht gleichförmig
verteilt sind. Als nächstes wählt in einem Schritt 214 der Prozessor 120 einen oder meh
rere Prototyp(en) für jede Klasse aus. Diese Prototypen können unter Bildung des
Haupt-Merkmals-Wert-Vektors für jede Klasse und Zuordnen des Prototyp-Merkmals-
Wert-Vektors dazu ausgewählt werden. Alternativ kann jede Klasse in Unterklassen
unterteilt werden und ein Haupt-Merkmals-Wert-Vektor kann für jede Unterklasse gebil
det werden. Jeder Haupt-Merkmals-Wert-Vektor, der für jede Unterklasse gebildet ist,
definiert einen Prototyp der Klasse.
Nach einem Auswählen der Prototypen (und Prototyp-Merkmals-Wert-Vektoren) führt
der Prozessor 120 einen Schritt 216 aus, wobei eine Class Region (CRk)
(Klassenbereich) und ein Dis-Ambiguity Schwellwert (DAk) (Mehrdeutigkeits-Schwellwert)
jeder Klasse zugeordnet werden. Dies wird ausführlich nachfolgend besprochen. Nach
einer Zuordnung jeweiliger Schwellwerte zu jeder Klasse führt der Prozessor 120 einen
Schritt 218 aus, worin der Prozessor die Datenbank der Protypen bildet, die Klassen mit
optimierten Schwellwerten für jede Klasse besitzen. Die Datenbank, die in dem Schritt
218 gebildet ist, kann eine flache Datenbank sein, kann in einer Baum-Struktur organi
siert sein, usw.. Die optimierte Datenbank wird dann in dem Ausführungsbeispiel in dem
Hauptspeicher 122 oder dem Plattenspeicher 124 gespeichert.
Fig. 3 stellt den erfindungsgemäßen Erkennungs-Prozeß für Handschrift dar, der durch
das Zeichen-Erkennungs-System 100 der Fig. 1 ausgeführt werden kann. In einem er
sten Schritt 432 werden die eingegebenen handschriftlichen oder maschinengedruckten
Zeichen von dem Schreibstift und der Tafel 118 oder von Blättern, auf denen handge
schriebene oder maschinengedruckte Zeichen zuvor per Hand gebildet oder gedruckt
worden sind, in die optische Abtasteinrichtung 116 aufgenommen. Der Schreibstift und
die Tafel 118, oder die optische Abtasteinrichtung 116, übertragen wiederum die Zei
chen-Daten, die graphisch die handgeschriebenen oder maschinengedruckten Zeichen
darstellen, zu der I/O-Schnittstelle 114. Die I/O-Schnittstelle 114 überträgt die Zeichen-
Daten über den System-Bus 112 zu, zum Beispiel, dem Hauptspeicher 122.
Als nächstes verarbeitet, in einem Schritt 434, der Prozessor 120 die eingegebenen
Zeichen-Daten, die in dem Hauptspeicher 122 gespeichert sind, vor. Dann bildet, in
einem Schritt 436, der Prozessor 120 optional eine Skelett-Abbildung für jedes eingege
bene Zeichen und konvertiert die Skelett-Abbildungen in vergrößerte Kontur-
Abbildungen. In einem Schritt 438 segmentiert der Prozessor 120 die Abbildungen der
Zeichen zu Zwecken eines Extrahierens von Merkmals-Werten aus den Zeichen-
Abbildungen. Als nächstes extrahiert, in einem Schritt 440, der Prozessor 120 einen
Vektor der Merkmals-Werte für jedes eingegebene Zeichen. Die US 5,841,902 liefert
Beispiele von Merkmalen, die aus Zeichen extrahiert werden können, die so segmentiert
sind, wie dies in den Fig. 11-14 dargestellt ist.
Nach einem Extrahieren eines Merkmals-Wert-Vektors für ein eingegebenes Zeichen
führt der Prozessor 120 einen Schritt 442 durch. In dem Schritt 442 vergleicht der Pro
zessor 120 den Merkmals-Wert-Vektor für jedes eingegebene Zeichen mit Merkmals-
Wert-Vektoren, die in einer Datenbank für vorbestimmte Merkmals-Wert-Vektoren ent
halten sind. In einer Ausgestaltung kann diese Datenbank in dem Plattenspeicher 124
oder in dem Hauptspeicher 122 gespeichert werden. Basierend auf diesen Vergleichen
bestimmt der Prozessor 120 den vorbestimmten Merkmals-Wert-Vektor, der am besten
den Merkmals-Wert-Vektor des eingegebenen Zeichens anpaßt. In einem Schritt 444
bestimmt der Prozessor 120 die nächstliegende oder zweitnächstliegende Klasse zu
dem eingegebenen Zeichen. Dann testet, in einem Schritt 446, der Prozessor 120 das
eingegebene Zeichen gegenüber dem vorbestimmten Klassen-Bereichs-Schwellwert
und dem Mehrdeutigkeits-Schwellwert der nächstliegenden Klasse. Schließlich erkennt,
in einem Schritt 448, der Prozessor 120 nur solche Zeichen, die beide Schwellwert-Tests
passieren, und gibt dann solche Zeichen aus.
Um den vorstehenden Schritt 446 mit einer hohen Zuverlässigkeit auszuführen, verwen
det der Prozessor 120 ein erfindungsgemäßes Erkennungs-Kriterium wie folgt:
In dieser Näherung ist jeder Klasse k ihr eigener Mehrdeutigkeits-Schwellwert DAk und
Klassen-Bereichs-Schwellwert CRk zugeordnet. Allgemein wird, je mehr eine Klasse
verstreut ist, desto größer deren Bereichs-Schwellwert CRk sein. Auch sollte, je mehr
deutiger eine Klasse zu anderen Klassen ist, desto größer deren Mehrdeutigkeits-
Schwellwert DAk sein. In der vorliegenden Erfindung wird ein Prozeß, um DAk und CRk
effektiv für jede Klasse k zu berechnen, offenbart. Zuerst wird eine Kosten-Funktion, die
den Schwellwerten DAk und CRk für 1 ≦ k ≦ K entspricht, abgeleitet, wie dies nachfolgend
beschrieben ist.
In dem Entscheidungssystem ist das ultimative Ziel dasjenige, eine korrekte Entschei
dung in jedem Fall vorzunehmen. Allerdings sind, ohne daß das einbezogene Problem
ziemlich einfach ist, immer einige Fälle vorhanden, die schwierig sind oder sogar unmög
lich sind, sie korrekt zu entscheiden. Deshalb ist es für solche Fälle für das System bes
ser, diesen zurückzuweisen, oder durch einen Experten in Form einer Person diesen
manuell zu behandeln. Demzufolge werden zusätzliche Kosten erforderlich, um zurück
gewiesene Fälle zu verarbeiten. Andererseits wird, falls das System nicht einen mehr
deutigen Fall zurückweist, sondern anstelle davon eine falsche Entscheidung vornimmt,
dieser Fehler wahrscheinlich einen signifikanten Schaden in bezug auf die entsprechen
de Anwendung verursachen. Demgemäß führt entweder eine Zurückweisung oder eine
falsche Entscheidung zu zusätzlichen Kosten im Hinblick auf Zeit, Geld oder eine Be
schädigung. Deshalb sollten die Kosten, die einem Entscheidungsprozeß zugeordnet
sind, so niedrig wie möglich sein.
Es wird angenommen, daß die Kosten einer nicht korrekten Entscheidung das α-fache
derjenigen einer Zurückweisung betragen. Das bedeutet,
cost_of (Fehler) = α . cost_of (Zurückweisung).
Für ein Erkennungssystem wird die Kostenfunktion dann definiert als
E = die gesamte Abtast-Zahl der zurückgewiesenen Muster
+ α . der gesamten abgetasteten Zahl der fehlerkannten Muster (9)
Die zurückgewiesenen Muster können in zwei Gruppen unterteilt werden: die reject-from
right Gruppe und die reject-from-wrong Gruppe. Die reject-from-right/reject-from-wrong
Gruppen bestehen aus den Mustern, die durch das System zurückgewiesen sind. Falls
das System eine entscheidungsmäßige Entscheidung vornimmt, wird die Entscheidung
entweder korrekt oder falsch sein. Demzufolge wird die definierte Kosten-Funktion
E = die gesamte Abtast-Zahl für die reject-from-right Gruppe
+ die gesamte Abtast-Zahl der reject-from-wrong Gruppe
+ α . die gesamte Abtast-Zahl der fehlerkannten Muster. (10)
M, S und I sollen jeweils die nächstliegende Klasse zu einem Eingabe-Muster mit dem
Merkmals-Wert x, die zweitnächstliegende Klasse zu dem Eingabe-Muster und die
Grund-Wahrheitsklasse des Eingabe-Musters sein. Ok soll der Abstand D(x, rk) für alle
1 ≦ k ≦ K sein. Das bedeutet:
Ok = D(x, rk) (11)
Ok = D(x, rk) (11)
Bei weiterer Analyse der zurückgewiesenen Muster wird festgestellt, daß dort, zwei
Schwellwert-Bedingungen vorhanden sind, die zu einer Muster-Zurückweisung führen,
unabhängig davon, ob das Muster zu der reject-from-right Gruppe oder der reject-from
wrong Gruppe gehört. Gemäß der ersten Bedingung wird das Eingabe-Muster zurück
gewiesen, wenn der Abstand zwischen einem Eingabe-Muster und seiner nächstliegen
den Klasse M größer als der Klassen-Bereichs-Schwellwert der Klasse M ist. Das bedeu
tet:
falls D(x, rM) < CRM, dann wird x zurückgewiesen.
Gemäß der zweiten Bedingung wird das Eingabe-Muster zurückgewiesen, wenn der
Abstand von dem Eingabe-Muster zu seiner zweitnächstliegenden Klasse S. vermindert
um den Abstand von dem Eingabe-Muster zu seiner nächstliegenden Klasse M, kleiner
als der Mehrdeutigkeits-Schwellwert der Klasse M ist. Das bedeutet:
falls D(x, rs) - D(x, rM) < DAM, dann wird x zurückgewiesen.
Demgemäß wird ein Muster zurückgewiesen, wenn es irgendeiner der nachfolgenden
zwei Situationen entspricht:
Situation 1: D(x, rM) < CRM;
Situation 2: D(x, rM) < CRM und D(x, rs) - D(x, rM) < DAM.
Situation 2: D(x, rM) < CRM und D(x, rs) - D(x, rM) < DAM.
Deshalb kann die Kosten-Funktion weiter definiert werden als:
E = die gesamte Abtast-Zahl der reject-from-right Gruppe, verursacht durch Situation 1 + die gesamte Abtast-Zahl der reject-from-right Gruppe, verursacht durch Situation 2 + die gesamte Abtast-Zahl der reject-from-wrong Gruppe, verursacht durch Situation 1 + die gesamte Abtast-Zahl der reject-from-wrong Gruppe, verursacht durch Situation 2 + α . die gesamte Abtast-Zahl der fehlerkannten Muster. (12)
E = die gesamte Abtast-Zahl der reject-from-right Gruppe, verursacht durch Situation 1 + die gesamte Abtast-Zahl der reject-from-right Gruppe, verursacht durch Situation 2 + die gesamte Abtast-Zahl der reject-from-wrong Gruppe, verursacht durch Situation 1 + die gesamte Abtast-Zahl der reject-from-wrong Gruppe, verursacht durch Situation 2 + α . die gesamte Abtast-Zahl der fehlerkannten Muster. (12)
Die Kosten-Funktion E kann nun in einer mathematischen Formel so ausgedrückt wer
den, daß die Minimierung der Kosten-Funktion E systematisch abgeleitet werden kann.
Ein neuer mathematischer Ausdruck, der die Kosten-Funktion eines Eingabe-Musters
mit einem Merkmals-Wert-Vektor x darstellt, lautet:
wobei A ein Bandbreiten-Parameter ist, gelegentlich als die Breite des "respective field"
der sigmoiden bzw. Σ-Funktion bezeichnet, der die Größe des aktiven Flächenbereichs
dieser Funktion angibt. Im wesentlichen ist A eine monoton abfallende Funktion mit ei
nem beträchtlich großen Anfangswert und einem sehr kleinen, positiven Endwert.
Um Gleichung (13) für die Kosten-Funktion E(x) abzuleiten, wird angenommen, daß A
ein sehr kleiner, positiver Wert ist (z. B. 0,0000001). Zuerst wird die Funktion
exp[(OM - OI)/A)] verwendet, um abzuschätzen, ob ein Muster x korrekt erkannt ist oder
nicht. Das bedeutet:
Wenn das Eingabe-Muster korrekt erkannt ist, wird der Wert dieser Funktion 1 (da OM =
OI). Ansonsten wird das Eingabe-Muster fehlerhaft erkannt und der Wert dieser Funktion
ist 0 (da OM ≠ OI und OM < OI). Demgemäß kann die Funktion 1 - exp[(OM - OI)/A] dazu
verwendet werden, abzuschätzen, ob das Eingabe-Muster korrekt erkannt ist oder nicht
korrekt erkannt ist. Das bedeutet:
Wenn das Eingabe-Muster korrekt erkannt ist, wird der Wert dieser Funktion 0. Wenn
das Eingabe-Muster falsch erkannt ist, wird der Wert dieser Funktion 1. Zwei zusätzliche
Funktionen werden verwendet, um die beiden vorstehenden Zurückweisungs-
Situationen abzuschätzen.
Das bedeutet für die Situation 1:
und für die Situation 2:
Für Situation 1 ist, wenn der Abstand OM zwischen dem Eingabe-Muster und seiner
nächstliegenden Klasse M größer als oder gleich zu den Klassen-Bereichs-Schwellwert
CRM der Klasse M ist, der Wert der ersten Funktion 1, was die Zurückweisung des Ein
gabe-Musters mit dem Merkmals-Wert-Vektor x anzeigt. Ansonsten ist der Wert 0, was
das Passieren des Eingabe-Musters durch das erste Kriterium anzeigt.
Wenn CRM ≧ OM ist, passiert das Eingabe-Muster die erste Situation. Zusätzlich ist, falls
die Differenz des Abstands zwischen dem Eingabe-Muster und seiner zweitnächstlie
genden Klasse S (OS) und demjenigen zwischen dem Eingabe-Muster und seiner
nächstliegenden Klasse M (OM) kleiner als der Mehrdeutigkeits-Schwellwert (DAM) ist,
dann der Wert der zweiten Funktion 1, was anzeigt, daß das Muster mehrdeutig ist, und
wird zurückgewiesen. Ansonsten ist der Wert der zweiten Funktion 0, was anzeigt, daß
das Eingabe-Muster mit dem Merkmals-Wert-Vektor x das zweite Kriterium ebenso wie
das erste passiert.
Kombinieren der Gleichungen (14), (15), (16) und (17) ergibt:
und
und
Falls A und α der Gleichung (13) für E(x) gegeben sind, wird E(x) nur von CRI, DAI, CRM
und DAM abhängen. Deshalb wird ein Minimieren der Kosten-Funktion E(x) die optimalen
Schwellwerte CRk und DAk für alle Klassen k(1 ≦ k ≦ K) ableiten.
Um diese Diskussion weiter zu vereinfachen, gilt
Dann kann die Kosten-Funktion umgeschrieben werden als
Unter Verwendung eines den Schwellwert aktualisierenden Verfahrens, hier als der
"Gradienten-Abfall-Algorithmus" bezeichnet (der nachfolgend beschrieben werden wird),
werden optimale Schwellwerte für CRk und DAk iterativ während aufeinanderfolgender
Iterationen aktualisiert mit
und
Der vorstehend erwähnte, aktualisierende Gradienten-Abfall-Algorithmus wird wie folgt
umrissen.
SCHRITT 1 richtet einen monoton abfallenden Funktions-Wert A ein und
initialisiert Werte der Schwellwerte CRk und DAk mit den
folgenden Gleichungen:
wobei:
Nk die gesamte Trainings-Abtast-Zahl der Klasse k ist
xk i der i-te Trainings-Merkmals-Vektor der Klasse k ist
riM der nächstliegende Prototyp-Merkmals-Vektor ist
riS der zweitnächstliegende Prototyp-Merkmals-Vektor ist
xk i der i-te Trainings-Merkmals-Vektor der Klasse k ist
riM der nächstliegende Prototyp-Merkmals-Vektor ist
riS der zweitnächstliegende Prototyp-Merkmals-Vektor ist
SCHRITT 2 für alle Eingabe-Muster-Abtastungen:
- a) berechne alle Abstands-Werte Dk = D(x, rk),
- b) (b) identifiziere die nächstliegende Klasse M, die einem Abstand DM = min1<k<KDK entspricht,
- c) identifiziere die zweitnächstliegende Klasse S entsprechend dem Abstand DS = mink≠MDk,
- d) berechne die akkumulierten Kosten unter Verwendung der Kosten- Funktion E(x), Gleichung (13),
- e) aktualisiere Schwellwert CRk und DAk unter Verwendung von Gleichung (20),
SCHRITT 3
FALLS (IF) die akkumulierten Kosten kleiner als der Kosten-Beendigungs-Schwellwert oder die Zahl der Iterationen gleich der maximalen Iterations-Zahl ist
DANN (THEN) stoppe den iterativen Prozeß
ANSONSTEN (ELSE) reduziere A und wiederhole SCHRITT 2.
FALLS (IF) die akkumulierten Kosten kleiner als der Kosten-Beendigungs-Schwellwert oder die Zahl der Iterationen gleich der maximalen Iterations-Zahl ist
DANN (THEN) stoppe den iterativen Prozeß
ANSONSTEN (ELSE) reduziere A und wiederhole SCHRITT 2.
Das Verfahren, das hier offenbart ist, kann in einem Sun MicrosystemsTM Computer, der
in der Sprache C programmiert ist, umgesetzt werden. Eine experimentelle Datenbank
wurde verwendet, die 6092 handgeschriebene, chinesische Zeichen enthielt. Allerdings
wurden nur die am häufigsten verwendeten 400 chinesischen Zeichen in das Experiment
eingeschlossen. Zweihundert Zeichen-Abtastungen wurden pro Modell eines chinesi
schen Zeichens vorgesehen, wobei die Abtastungen mit einer ungeraden Zahl verwen
det wurden, um die optimierte Mehrdeutigkeits- und Klassen-Bereichs-Schwellwerte
jeder Klasse abzuleiten, und die mit einer geraden Anzahl, um die Klassifikations-
Funktion bzw. -Leistung zu testen. Die gesamte Epochen-Zahl α wird auf 50 gesetzt. Fig.
4 stellt die Kosten-Verteilung von 50 Iterationen mit α = 50 dar. Wie in Fig. 4 dargestellt
ist, wird für die Trainings-Daten-Einstellung die Kosten-Funktion kontinuierlich erniedrigt,
bis sie eine bestimmte, stabile Situation erreicht. Die Tabellen 1 und 2 listen die Erken
nungs-Funktion der Trainings- und der Test-Daten-Sätze (PTrain und PTest jeweils) mit
unterschiedlichen Werten von α auf
Offensichtlich wird die Zuverlässigkeit einer Erkennung erhöht, wenn α erhöht wird. Des
halb wurden unter Verwendung unterschiedlicher Werte für α unterschiedliche Grade
einer Erkennungs-Zuverlässigkeit erhalten.
Fig. 5 stellt die entsprechende graphische Darstellung der Zurückweisungs-Fehler-
Funktion der Tabellen 1 und 2 dar. Für einen Vergleich wurde ein anderes Experiment
unter Verwendung konstanter Werte CR und DA und der Gleichung (7) nach dem Stand
der Technik durchgeführt, wobei CR der Durchschnitt CR aller Zeichen ist, die durch den
erfindungsgemäßen Algorithmus abgeleitet sind, und DA proportional zu dem durch
schnittlichen DA aller Zeichen ist, die durch den erfindungsgemäßen Algorithmus abge
leitet sind. Das bedeutet
wobei η ein Zuverlässigkeits-Kontroll-Parameter ist, der sich mit einem Zuverlässigkeits-
Erfordernis erhöht. Diese letztere Erkennungs-Funktion der Test-Abtastungen (PA) ist
auch in Fig. 5 angezeigt, anhand der deutlich wird, daß das erfindungsgemäße Verfah
ren Ergebnisse mit höheren Erkennungs-Zuverlässigkeits-Ergebnissen als das Verfah
ren gemäß Gleichung (7) nach dem Stand der Technik liefert.
Kurz gesagt wird ein neuartiger Algorithmus offenbart, der jede Prototyp-Klasse einer
Muster-Erkennungs-Datenbank mit individuell optimiertem Klassen-Bereich und Mehr
deutigkeits-Schwellwerten vorsieht. Als Folge wird eine Erkennungszuverlässigkeit ge
genüber dem Stand der Technik verbessert, wobei ein Klassenbereichs-Schwellwert und
ein Mehrdeutigkeits-Schwellwert für alle Klassen verwendet wurden.
Claims (10)
1. Verfahren zum Erkennen eines Eingabemusters durch Vergleich mit einer
Vielzahl von Prototypmustern, denen jeweils ein vorbestimmter
Merkmalswertvektor zugeordnet ist, wobei die Gesamtheit der
Merkmalswertvektoren in eine Vielzahl von Klassen (k) aufgeteilt ist, denen
jeweils ein Klassenbereichsschwellwert CRk und ein Mehrdeutigkeitsschwellwert
DAk zugeordnet ist, wobei das Verfahren die Schritte umfaßt:
Eingeben (432) des Eingabemusters,
Bestimmen (434-440) eines Merkmalswertvektors (x) des Eingabemusters,
Ermitteln (442-444) der nächstliegenden und zweitnächsten Klasse (M, S) durch Anwenden einer Abstandsfunktion (D) auf den Merkmalswertvektor des Eingabemusters und den Merkmalswertvektor (rk) wenigstens eines Prototypmusters jeder Klasse, und
Einstufen (446-448) des Eingabemusters in die ermittelte nächstliegende Klasse, wenn die folgende Bedingung erfüllt ist:
D(x, rM) < CRM und D(x, rS) - D(x, rM) < DAM,
worin D(x, rM) und D(x, rS) die Abstandsfunktionswerte zwischen dem Merkmalswertvektor des Eingabemusters und dem Merkmalswertvektor der ermittelten nächstliegenden beziehungsweise zweitnächsten Klasse und CRM und DAM den Klassenbereichsschwellwert beziehungsweise den Mehrdeutigkeitsschwellwert der ermittelten nächstliegenden Klasse bezeichnen.
Eingeben (432) des Eingabemusters,
Bestimmen (434-440) eines Merkmalswertvektors (x) des Eingabemusters,
Ermitteln (442-444) der nächstliegenden und zweitnächsten Klasse (M, S) durch Anwenden einer Abstandsfunktion (D) auf den Merkmalswertvektor des Eingabemusters und den Merkmalswertvektor (rk) wenigstens eines Prototypmusters jeder Klasse, und
Einstufen (446-448) des Eingabemusters in die ermittelte nächstliegende Klasse, wenn die folgende Bedingung erfüllt ist:
D(x, rM) < CRM und D(x, rS) - D(x, rM) < DAM,
worin D(x, rM) und D(x, rS) die Abstandsfunktionswerte zwischen dem Merkmalswertvektor des Eingabemusters und dem Merkmalswertvektor der ermittelten nächstliegenden beziehungsweise zweitnächsten Klasse und CRM und DAM den Klassenbereichsschwellwert beziehungsweise den Mehrdeutigkeitsschwellwert der ermittelten nächstliegenden Klasse bezeichnen.
2. Verfahren zum Erzeugen einer Datenbank eines Zeichenerkennungssystems
zum Erkennen eines Eingabemusters durch Vergleich mit einer Vielzahl von
Prototypmustern, denen Merkmalswertvektoren zugeordnet sind, wobei die
Gesamtheit der Merkmalswertvektoren in eine Vielzahl von Klassen aufgeteilt ist
und das Verfahren die Schritte umfaßt:
Eingeben (202) einer Vielzahl von Trainingsmustern,
Bestimmen (204-210) der Merkmalswertvektoren der Trainingsmuster,
Zuordnen (212) der Merkmalswertvektoren der Trainingsmuster zu Klassen, und
Berechnen und Zuordnen (214-216) eines Klassenbereichsschwellwertes CRk und eines Mehrdeutigkeitsschwellwertes DAk zu jeder Klasse (k).
Eingeben (202) einer Vielzahl von Trainingsmustern,
Bestimmen (204-210) der Merkmalswertvektoren der Trainingsmuster,
Zuordnen (212) der Merkmalswertvektoren der Trainingsmuster zu Klassen, und
Berechnen und Zuordnen (214-216) eines Klassenbereichsschwellwertes CRk und eines Mehrdeutigkeitsschwellwertes DAk zu jeder Klasse (k).
3. Verfahren nach Anspruch 2, wobei der Schritt des Berechnens und Zuordnens
der Schwellwerte den Schritt des Auswertens einer Kostenfunktion der
Trainingsmuster umfaßt, die gegeben ist durch
Gesamtzahl der Trainingsmuster, die einer Klasse richtig zugeordnet worden sind und eine erste Bedingung erfüllen + Gesamtzahl der Trainingsmuster, die einer Klasse richtig zugeordnet worden sind und eine zweite Bedingung erfüllen + Gesamtzahl der Trainingsmuster, die einer Klasse falsch zugeordnet worden sind und die erste Bedingung erfüllen + Gesamtzahl der Trainingsmuster, die einer Klasse falsch zugeordnet worden sind und die zweite Bedingung erfüllen + α . Gesamtzahl der Trainingsmuster, die einer Klasse falsch zugeordnet worden sind und weder die erste noch die zweite Bedingung erfüllen,
wobei die erste Bedingung durch
D(x, rM) < CRM
und die zweite Bedingung durch
D(x, rM) < CRM und D(x, rS) - D(x, rM) < DAM
gegeben ist, worin D(x, rM) und D(x, rS) die Abstandsfunktionswerte zwischen dem Merkmalswertvektor des jeweiligen Trainingsmusters und dem Merkmalswertvektor der ermittelten jeweiligen nächstliegenden beziehungsweise zweitnächsten Klasse bezeichnen, und α ein Kostenfaktor für eine falsche Erkennung eines Musters ist.
Gesamtzahl der Trainingsmuster, die einer Klasse richtig zugeordnet worden sind und eine erste Bedingung erfüllen + Gesamtzahl der Trainingsmuster, die einer Klasse richtig zugeordnet worden sind und eine zweite Bedingung erfüllen + Gesamtzahl der Trainingsmuster, die einer Klasse falsch zugeordnet worden sind und die erste Bedingung erfüllen + Gesamtzahl der Trainingsmuster, die einer Klasse falsch zugeordnet worden sind und die zweite Bedingung erfüllen + α . Gesamtzahl der Trainingsmuster, die einer Klasse falsch zugeordnet worden sind und weder die erste noch die zweite Bedingung erfüllen,
wobei die erste Bedingung durch
D(x, rM) < CRM
und die zweite Bedingung durch
D(x, rM) < CRM und D(x, rS) - D(x, rM) < DAM
gegeben ist, worin D(x, rM) und D(x, rS) die Abstandsfunktionswerte zwischen dem Merkmalswertvektor des jeweiligen Trainingsmusters und dem Merkmalswertvektor der ermittelten jeweiligen nächstliegenden beziehungsweise zweitnächsten Klasse bezeichnen, und α ein Kostenfaktor für eine falsche Erkennung eines Musters ist.
4. Verfahren nach Anspruch 3, wobei die Kostenfunktion zu folgendem Ausdruck
proportional ist
worin I die wahre Klasse des jeweiligen Trainingsmusters und A einen Parameter bezeichnen und Ok = D(x, rk) ist.
worin I die wahre Klasse des jeweiligen Trainingsmusters und A einen Parameter bezeichnen und Ok = D(x, rk) ist.
5. Verfahren nach Anspruch 4, wobei der Schritt des Auswertens der
Kostenfunktion einen Schritt des Minimierens von E(x) umfaßt, um optimale
Werte von CRk und DAk abzuleiten, unter Verwendung der Gleichungen
und
worin
und
worin
6. Verfahren nach Anspruch 5, worin das Ableiten der optimalen Werte von CRk
und DAk iterativ erfolgt und folgende Schritte umfaßt:
- a) Initialisieren des Parameters A,
- b) Initialisieren der Schwellwerte CRk und DAk gemäß
- a) Setzen eines Kostenschwellwertes und einer maximalen Iterationszahl,
- b) Durchführen folgender Schritte für jedes Trainingsmuster:
- 1. Berechnen der Abstandsfunktionswerte Dk = D(x, rk),
- 2. Ermitteln der nächstliegenden Klasse M gemäß
- 3. Ermitteln der zweitnächsten Klasse S gemäß
- 4. Berechnung der Kosten unter Verwendung von E(x),
- 5. Berechnen der Schwellwerte CRk und DAk durch Minimieren von E(x),
- c) Verringern des Wertes des Parameters A und Wiederholen der Schritte (d1)- (d5), wenn die berechneten Kosten größer als der Kostenschwellwert sind oder die Zahl der Iterationen kleiner als die maximale Iterationszahl ist.
7. Verfahren nach Ansprüchen 3 bis 6, wobei die Zuordnung zu einer Klasse als
richtig oder falsch erkannt wird gemäß:
8. Verfahren nach Ansprüchen 3 bis 7, wobei die erste Bedingung geprüft wird
gemäß
9. Verfahren nach Ansprüchen 3 bis 8, wobei die zweite Bedingung geprüft wird
gemäß
10. Zeichenerkennungssystem (100) zum Erkennen eines Eingabemusters durch
Vergleich mit einer Vielzahl von Prototypmustern, die in eine Vielzahl von
Klassen (k) aufgeteilt sind, wobei das Zeichenerkennungssystem die
Einrichtungen aufweist:
einen Speicher (122, 124) zum Speichern jeweils eines Klassenbereichsschwellwertes CRk und eines Mehrdeutigkeitsschwellwertes DAk für jede Klasse,
eine Zeicheneingabe-Vorrichtung (116, 118) zum Eingeben eines Eingabemusters, das erkannt werden soll, und
einen Prozessor (120) zum Bestimmen eines Merkmalswertvektors des Eingabemusters, zum Ermitteln der dem Eingabemuster nächstliegenden und zweitnächsten Klasse und zum Entscheiden unter Verwendung des Klassenbereichsschwellwertes CRM und des Mehrdeutigkeitsschwellwertes DAM der nächstliegenden Klasse, ob das Eingabemuster in die ermittelte nächstliegende Klasse eingestuft werden soll.
einen Speicher (122, 124) zum Speichern jeweils eines Klassenbereichsschwellwertes CRk und eines Mehrdeutigkeitsschwellwertes DAk für jede Klasse,
eine Zeicheneingabe-Vorrichtung (116, 118) zum Eingeben eines Eingabemusters, das erkannt werden soll, und
einen Prozessor (120) zum Bestimmen eines Merkmalswertvektors des Eingabemusters, zum Ermitteln der dem Eingabemuster nächstliegenden und zweitnächsten Klasse und zum Entscheiden unter Verwendung des Klassenbereichsschwellwertes CRM und des Mehrdeutigkeitsschwellwertes DAM der nächstliegenden Klasse, ob das Eingabemuster in die ermittelte nächstliegende Klasse eingestuft werden soll.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/741,740 US5940535A (en) | 1996-10-31 | 1996-10-31 | Method and apparatus for designing a highly reliable pattern recognition system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19705757A1 DE19705757A1 (de) | 1998-05-07 |
DE19705757C2 true DE19705757C2 (de) | 1999-12-02 |
Family
ID=24981979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19705757A Expired - Fee Related DE19705757C2 (de) | 1996-10-31 | 1997-02-14 | Verfahren zum Erkennen eines Eingabemusters und zum Erzeugen einer Datenbank sowie Zeichenerkennungssystem |
Country Status (2)
Country | Link |
---|---|
US (1) | US5940535A (de) |
DE (1) | DE19705757C2 (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6366697B1 (en) * | 1993-10-06 | 2002-04-02 | Xerox Corporation | Rotationally desensitized unistroke handwriting recognition |
US5973692A (en) * | 1997-03-10 | 1999-10-26 | Knowlton; Kenneth Charles | System for the capture and indexing of graphical representations of files, information sources and the like |
US6636631B2 (en) * | 1998-06-04 | 2003-10-21 | Matsushita Electric Industrial Co., Ltd. | Optical character reading method and system for a document with ruled lines and its application |
US6167411A (en) * | 1998-06-22 | 2000-12-26 | Lucent Technologies Inc. | User interface for entering and editing data in data entry fields |
US7016539B1 (en) * | 1998-07-13 | 2006-03-21 | Cognex Corporation | Method for fast, robust, multi-dimensional pattern recognition |
US6320985B1 (en) * | 1998-07-31 | 2001-11-20 | International Business Machines Corporation | Apparatus and method for augmenting data in handwriting recognition system |
US6934405B1 (en) | 1999-05-12 | 2005-08-23 | Siemens Aktiengesellschaft | Address reading method |
US7894645B2 (en) * | 2000-08-10 | 2011-02-22 | Ohio State University | High-resolution digital image processing in the analysis of pathological materials |
EP1220140A1 (de) * | 2000-12-27 | 2002-07-03 | Asulab S.A. | Verfahren zur Erkennung von auf einer Erfassungsfläche handgeschriebenen Zeichen und Vorrichtung zur Ausführung dieses Verfahrens |
US6772152B2 (en) * | 2001-03-22 | 2004-08-03 | International Business Machines Corporation | System and method for mining patterns from a dataset |
US6721452B2 (en) | 2001-09-12 | 2004-04-13 | Auburn University | System and method of handwritten character recognition |
US7043075B2 (en) * | 2001-09-27 | 2006-05-09 | Koninklijke Philips Electronics N.V. | Computer vision system and method employing hierarchical object classification scheme |
CA2375355A1 (en) * | 2002-03-11 | 2003-09-11 | Neo Systems Inc. | Character recognition system and method |
US8081820B2 (en) * | 2003-07-22 | 2011-12-20 | Cognex Technology And Investment Corporation | Method for partitioning a pattern into optimized sub-patterns |
US7190834B2 (en) | 2003-07-22 | 2007-03-13 | Cognex Technology And Investment Corporation | Methods for finding and characterizing a deformed pattern in an image |
TWI255429B (en) * | 2003-12-29 | 2006-05-21 | Ind Tech Res Inst | Method for adjusting image acquisition parameters to optimize objection extraction |
US8620083B2 (en) * | 2004-12-03 | 2013-12-31 | Google Inc. | Method and system for character recognition |
US8437502B1 (en) | 2004-09-25 | 2013-05-07 | Cognex Technology And Investment Corporation | General pose refinement and tracking tool |
WO2007082271A2 (en) * | 2006-01-11 | 2007-07-19 | Gannon Technologies Group, Llc | Methods and apparatuses for extending dynamic handwriting recognition to recognize static handwritten and machine generated text |
EP1974314A4 (de) * | 2006-01-11 | 2009-09-02 | Gannon Technologies Group Llc | Auf unterschiedliche merkmale eines handgeschriebenen arabischen texts angewendete piktographische erkennungstechnologie |
US8103085B1 (en) | 2007-09-25 | 2012-01-24 | Cognex Corporation | System and method for detecting flaws in objects using machine vision |
US8452108B2 (en) * | 2008-06-25 | 2013-05-28 | Gannon Technologies Group Llc | Systems and methods for image recognition using graph-based pattern matching |
CN101452531B (zh) * | 2008-12-01 | 2010-11-03 | 宁波新然电子信息科技发展有限公司 | 一种自由手写拉丁字母识别方法 |
US9147123B2 (en) | 2012-05-31 | 2015-09-29 | Qualcomm Incorporated | System and method to perform feature detection and to determine a feature score |
US8953893B2 (en) | 2012-05-31 | 2015-02-10 | Qualcomm Incorporated | System and method to determine feature candidate pixels of an image |
US9679224B2 (en) | 2013-06-28 | 2017-06-13 | Cognex Corporation | Semi-supervised method for training multiple pattern recognition and registration tool models |
WO2015141260A1 (ja) * | 2014-03-17 | 2015-09-24 | 株式会社河合楽器製作所 | 手書き音楽記号認識装置およびプログラム |
CN105117054B (zh) * | 2015-08-12 | 2018-04-17 | 珠海优特物联科技有限公司 | 一种手写输入的识别方法及系统 |
US11107307B2 (en) | 2018-05-01 | 2021-08-31 | Ford Global Technologies, Llc | Systems and methods for probabilistic on-board diagnostics |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4773099A (en) * | 1985-10-10 | 1988-09-20 | The Palantir Corporation | Pattern classification means for use in a pattern recognition system |
US5058182A (en) * | 1988-05-02 | 1991-10-15 | The Research Foundation Of State Univ. Of New York | Method and apparatus for handwritten character recognition |
US5572604A (en) * | 1993-11-22 | 1996-11-05 | Lucent Technologies Inc. | Method for pattern recognition using prototype transformations and hierarchical filtering |
US5802207A (en) * | 1995-06-30 | 1998-09-01 | Industrial Technology Research Institute | System and process for constructing optimized prototypes for pattern recognition using competitive classification learning |
US5841902A (en) * | 1994-09-27 | 1998-11-24 | Industrial Technology Research Institute | System and method for unconstrained on-line alpha-numerical handwriting recognition |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0664631B2 (ja) * | 1987-09-09 | 1994-08-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 文字認識装置 |
US5072452A (en) * | 1987-10-30 | 1991-12-10 | International Business Machines Corporation | Automatic determination of labels and Markov word models in a speech recognition system |
JPH04211802A (ja) * | 1990-07-25 | 1992-08-03 | Toshiba Corp | ニュ−ラルネットワ−ク装置 |
US5361379A (en) * | 1991-10-03 | 1994-11-01 | Rockwell International Corporation | Soft-decision classifier |
US5555317A (en) * | 1992-08-18 | 1996-09-10 | Eastman Kodak Company | Supervised training augmented polynomial method and apparatus for character recognition |
US5392363A (en) * | 1992-11-13 | 1995-02-21 | International Business Machines Corporation | On-line connected handwritten word recognition by a probabilistic method |
-
1996
- 1996-10-31 US US08/741,740 patent/US5940535A/en not_active Expired - Lifetime
-
1997
- 1997-02-14 DE DE19705757A patent/DE19705757C2/de not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4773099A (en) * | 1985-10-10 | 1988-09-20 | The Palantir Corporation | Pattern classification means for use in a pattern recognition system |
US5058182A (en) * | 1988-05-02 | 1991-10-15 | The Research Foundation Of State Univ. Of New York | Method and apparatus for handwritten character recognition |
US5572604A (en) * | 1993-11-22 | 1996-11-05 | Lucent Technologies Inc. | Method for pattern recognition using prototype transformations and hierarchical filtering |
US5841902A (en) * | 1994-09-27 | 1998-11-24 | Industrial Technology Research Institute | System and method for unconstrained on-line alpha-numerical handwriting recognition |
US5802207A (en) * | 1995-06-30 | 1998-09-01 | Industrial Technology Research Institute | System and process for constructing optimized prototypes for pattern recognition using competitive classification learning |
Non-Patent Citations (1)
Title |
---|
SUEN, C.Y. et al.: "Computer Recognition of unconstrained Handwritten Numerals" Proc. of the IEEE, Vol. 80, N. 7, 1992, S. 1162-1180 * |
Also Published As
Publication number | Publication date |
---|---|
US5940535A (en) | 1999-08-17 |
DE19705757A1 (de) | 1998-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19705757C2 (de) | Verfahren zum Erkennen eines Eingabemusters und zum Erzeugen einer Datenbank sowie Zeichenerkennungssystem | |
DE3689416T2 (de) | Mustermerkmalextraktion. | |
DE4311172C2 (de) | Verfahren und Einrichtung zum Identifizieren eines Schrägenwinkels eines Vorlagenbildes | |
DE60204005T2 (de) | Verfahren und einrichtung zur erkennung eines handschriftlichen musters | |
DE3926327C2 (de) | Verfahren und System zum Erkennen von Zeichen auf einem Medium | |
DE60129872T2 (de) | Verfahren zur Extrahierung von Titeln aus numerischen Bildern | |
DE60217299T2 (de) | Holistisch-analytische erkennung von handgeschriebenem text | |
DE60215743T2 (de) | Verfahren und Rechnerprogrammprodukt zur Lagebestimmung von Gesichtsmerkmalen | |
DE68924669T2 (de) | System zum Lesen des Ziffernbetrages und zum Uebertragen der Kontoabrechnung. | |
DE69432585T2 (de) | Verfahren und Gerät zur Auswahl von Text und/oder Non-Text-Blöcken in einem gespeicherten Dokument | |
DE69723220T2 (de) | Gerät und Verfahren zur Extrahierung von Tabellengeraden innerhalb normaler Dokumentbilder | |
EP1665132B1 (de) | Verfahren und system zum erfassen von daten aus mehreren maschinell lesbaren dokumenten | |
DE69724755T2 (de) | Auffinden von Titeln und Photos in abgetasteten Dokumentbildern | |
DE3485953T2 (de) | Verfahren und anlage zur on-line-erkennung handgeschriebener muster. | |
DE3716787C2 (de) | ||
DE60303202T2 (de) | System und verfahren zum identifizieren und extrahieren von zeichenketten aus erfassten bilddaten | |
EP2545492B1 (de) | Dokumentseitenaufteilung in einer optischen zeichenerkennung | |
DE60114469T2 (de) | Methode und Gerät zur Bestimmung von interessanten Bildern und zur Bildübermittlung | |
DE102006010607A1 (de) | Wahrscheinlichkeitstheoretischer Verstärkungsbaum-Rahmen zum Lernen von Unterscheidungsmodellen | |
DE69027519T2 (de) | Handschrifterkennung mit Verwendung von jeweils zwischen zwei Klassen unterscheidenden Massnahmen | |
DE102011079443A1 (de) | Lerngewichtungen von Schriftarten für getippte Proben bei der Handschriftenschlüsselwortauffindung | |
DE2640537A1 (de) | Verfahren und vorrichtung zum unterscheiden zwischen n groesser als 2 alphabeten angehoerenden zeichen | |
DE60303138T2 (de) | Vergleichen von mustern | |
DE102017220307A1 (de) | Vorrichtung und Verfahren zum Erkennen von Verkehrszeichen | |
DE69820578T2 (de) | Verfahren und Mittel um Dokumente zu Vergleichen auf der Basis des räumlichen Layouts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |