Mein Professor fĂŒr theoretische Informatik glaubte, zum Thema der Schrifterkennung folgenden Satz verlautbaren zu mĂŒssen: âSchriftmustererkennung hat nur deshalb wahnsinnige Ăhnlichkeit mit âDesktop Publishingâ, weil sie genau umgekehrt und doch ganz anders funktioniert.â Ganz ehrlich - ich habe den Sinn dieses Satzes nie so recht verstanden, obwohl mir die Bedeutung all dieser Worte gelĂ€ufig ist, und vielleicht deshalb steht der Satz noch heute in meinem Vorlesungsskriptum.
Erst als dann verschiedene Wissenschaftssendungen von revolutionĂ€ren Neuerungen in der Computertechnik zu berichten wuĂten und Worte wie âKĂŒnstliche Intelligenzâ und âNeuro-Computerâ die Runde machten, erst dann fiel mir dieser Satz wieder ein. Da gibt es Computer, die âsehenâ können, und bald kann ich mich mit dem Computer richtig unterhalten!
Ganz unbestritten gehört die Schrifterkennung in den Zweig der âArtifiziellen Intelligenzâ (Abk.: âAIâ) - ĂŒbrigens: von âkĂŒnstlicher Intelligenzâ spricht man in deutschsprachigen Insiderkreisen lĂ€ngst nicht mehr (wegen der vielen Verwirrungen).
In der Computerbibel âGödel, Escher, Bachâ von Douglas R. Hofstadter ist auf Seite 641 eine ĂŒbersichtliche Liste aller Disziplinen der AI aufgefĂŒhrt. Hofstadter vermeidet zwar Hinweise auf sogenannte âExpertensystemeâ (auch wieder eine deutsche Wortschöpfung), rĂ€umt aber der visuellen AI viel Platz ein. Demnach gehört das âErkennen individueller handgeschriebener Zeichenâ und das âLesen von Texten in verschiedenen Schriftartenâ in diesen Wissenschaftszweig und wird der Ăberschrift âMustererkennungâ zugeordnet.
Bild 1: Das Vergleichsprinzip
Was ist eine (Muster)erkennung ?
Es geht im Grunde nur darum, irgendwelche Grafik in computerverstĂ€ndliche Zeichen umzuwandeln. DaĂ es sich bei dieser âGrafikâ um Buchstaben und Texte handelt, kann der Computer noch nicht wissen. Durch ein spezielles LesegerĂ€t (Scanner) oder per Videokamera werden Hell-/Dunkel-Impulse analog abgetastet, digital in den Rechner transportiert und dort in ASCII-Zeichen umgewandelt. Gerade dieser UmwandlungsprozeĂ aber hat es in sich!
Problem 1: Solange bei der Analog/Digital-Wandlung im Scanner nur zwischen Ganzhell (WeiĂ) und Ganzdunkel (Schwarz) unterschieden werden muĂ, ist das Ganze kaum der Rede wert. Aber wenn mit mehreren Graustufen gearbeitet wird, oder sogar zwischen Farben unterschieden werden soll, muĂ der Scanner schon einiges leisten. Deswegen wird ein sogenannter Pendelwert vom Scanner berĂŒcksichtigt, der helleren Werten WeiĂ zuordnet und eher dunkleren Werten Schwarz.
Problem 2 - Die Auflösung: Die Anzahl der Lesepunkte einer Scannermatrix bestimmt die Genauigkeit des Lesevorganges. So waren bislang 200 dpi und 300 dpi recht grob, âdpiâ = âdots per inchâ, zu deutsch: Bildpunkte pro Zoll. Gerade an den Grenzen zweier Buchstaben können dabei Verwaschungen oder Auslassungen auftreten. Das ist insbesondere dann der Fall, wenn diese Buchstaben zwischen zwei Lesepunkten lagen. Bei einem DIN-A4-Blatt lesen etwa 3500 solcher Matrixpunkte eine Scannerzeile ein (nicht verwechseln mit einer Textzeile). GerĂ€te mit 400 dpi und 600 dpi erreichen gerade preislich interessante Tiefen.
Problem 3 - Die Vorlage: Wenn der Kontrast zwischen Papier und Schrift nicht sehr hoch ist, kann es beim Pendelwert oft zu âentweder-oder-Entscheidungenâ kommen und das fĂŒr jeden Lesepunkt einzeln. Eine Verbesserung erreicht man, wenn die Scannerhelligkeit gröĂer gewĂ€hlt wird.
Gehen wir davon aus, der Scanner hat uns eine schöne âSchwarzweiĂgrafikâ geliefert. Bevor nun ein recht komplizierter Programmteil an die Arbeit geht, werden markante Grafikteile herausgesucht. Ganz wichtig sind durchgehende Linien. WeiĂe Linien, die âunbeschadetâ horizontal den Text durchlaufen, werden automatisch als ZeilenzwischenrĂ€ume erkannt. Einige Programme prĂŒfen auch in vertikaler Richtung und schlieĂen dabei auf Block- bzw. Spaltengrenzen. Dann werden schwarze Linien in beiderlei Richtung aufgespĂŒrt und âunsichtbarâ gemacht. Dabei muĂ das Programm gewisse Toleranzen berĂŒcksichtigen. Vertikale Linien beispielsweise, die so groĂ sind wie der Abstand der ZeilenzwischenrĂ€ume oder weniger, dĂŒrfen nicht unterdrĂŒckt werden, es könnten ja Buchstaben sein. Horizontale schwarze Linien dĂŒrfen in aller Regel unbedenklich getilgt werden.
Verschiedene Programme prĂŒfen besonders bei schwarzen Linien die unmittelbare Nachbarschaft ab, um sicher zu gehen, daĂ es sich wirklich um grafische Teile handelt. Durch diese Linienauslese werden insbesondere Bilder und Fotos ausgeschaltet. Einige PrĂŒfroutinen stellen dabei sicher, daĂ nicht zufĂ€llig doch einige Buchstaben unter den Tisch fallen.
Bild 2: Das Markante-Punkte-Prinzip
Erkennungsverfahren
Nun aber zum Erkennen selber. Allen Verfahren liegt ein Gedanke zugrunde: Beim Einlesen ĂŒber die Leuchtdiodenmatrix des Scanners wird auf das Bild regelrecht ein Netz gelegt. Dieses Netz legt sich in Teilen auch ĂŒber jeden einzelnen Buchstaben, und innerhalb dieser Maschen kann âerkanntâ werden. Man kennt mindestens fĂŒnf verschiedene Verfahren, dem Zeichen auf den Buchstaben zu kommen.
Allereinfachst ist das Vergleichsprinzip bzw. der âASCII-Vergleichâ (Bild 1). Da muĂ vorher schon festgelegt sein, in welcher Schriftart und oftmals auch in welcher GröĂe der Text eingelesen wurde. In einer gewaltigen Bibliothek prĂŒft das Programm eine streng nĂ€herungsweise Ăhnlichkeit und nimmt bei Eindeutigkeit der Suche einen Treffer an. So haben frĂŒher die allerersten Programme gearbeitet. Das Verfahren ist sehr unflexibel und nimmt keine Abweichungen hin.
Etwas komplizierter (Bild 2) wird die Suche nach den âmarkanten Punktenâ. So werden fĂŒr einen bestimmten Buchstaben Punkte festgelegt, in denen er in höherem MaĂe âausgeprĂ€gtâ ist. AusprĂ€gung heiĂt nichts anderes, als daĂ genau dort ein Kontrastunterschied, also eine gegenteilige Farbe gegenĂŒber den direkten Nachbarpunkten vorliegen muĂ. Das MaĂ der AusprĂ€gung bedeutet, daĂ in dem markanten Punkt ein Kontrastunterschied zu mehr als der HĂ€lfte der Nachbarpunkte vorliegt. Je weniger unmittelbare Nachbarpunkte dieselbe Farbe haben, desto höher das MaĂ der AusprĂ€gung und desto markanter der Punkt. Nachbarpunkte sind auch jene Maschenquadrate, die nur mit einer Eckspitze an den fraglichen markanten Punkt stoĂen.
Typisches Beispiel hierzu: Das kleine âiâ. Es hat mindestens drei markante Punkte, von denen der i-Punkt (im wahrsten Sinne des Wortes) der markanteste ist. Vom i-Punkt aus gesehen haben alle acht direkten Nachbarpunkte eine gegensĂ€tzliche Farbe, also hat dieser markante Punkt das höchstmögliche MaĂ der AusprĂ€gung. Die Wahl der markanten Punkte unterliegt wichtigen GesetzmĂ€Ăigkeiten. So nimmt die Treffergenauigkeit ab, wenn zu wenige markante Punkte definiert wurden (logisch), kurioserweise ebenso, wenn es zu viele sind. Auch ist die Lage, Entfernung und das VerhĂ€ltnis der markanten Punkte zueinander zu beachten. Typische Punkte hoher AusprĂ€gung sind Eckpunkte. Punkte innerhalb von Linien eignen sich nicht als markante Punkte.
Ziemlich schnell hat man aus dem Prinzip der markanten Punkte das âDrahtmodellâ entwickelt (Bild 3), aber nicht notwendigerweise, um dieses dadurch ablösen zu lassen. Dort wurde ganz einfach die Verbindung zwischen den Punkten sichtbar gemacht. Es genĂŒgt demgegenĂŒber auch völlig, im markanten Punkt die Richtung des Linienverlaufes zu vermerken (Vektormodell), also die Linie selbst nicht zu ziehen. Vorteil dieser Verfeinerung: Es werden immer weniger markante Punkte zur Eindeutigkeit nötig.
Bild 3: Das Drahtmodell-Prinzip
Als Fortentwicklung dieses Modells zeigt sich das Einbeziehen typischer Muster wie Ăffnungen auf bestimmten Seiten, bestimmte WinkelverhĂ€ltnisse, ParallelitĂ€ten, Kreuzungen, Ăberlagerungen und Ă€hnliches mehr.
Verfahren Nummer vier nennt man âEingrenzungâ und sagt nichts anderes, als daĂ man fĂŒr ein bestimmtes Maschennetz eindeutig festgelegt hat, wo eine gegenteilige Farbe sein darf und wo nicht. Man nennt diese Eingrenzung auch noch âPrinzip der verbotenen Zoneâ (Bild 4). So kann man dreierlei âZustĂ€ndeâ festschreiben und zwar: 1., wo ein gegenteiliger Maschenfarbpunkt auf jeden Fall sein muĂ, 2., wo er möglicherweise sein kann und 3., wo er auf jeden Fall nicht sein darf. Je strenger man diese Bedingungen fĂŒr die 3 ZustĂ€nde nimmt, desto genauer wird die Trefferquote.
Eine Abwandlung ist das stark vereinfachte âMaskenvergleichsverfahrenâ (Bild 5). Da verfĂ€hrt man mit den 3 obigen ZustĂ€nden folgendermaĂen: 1. Man nimmt einen Treffer an, wenn das Zeichen die Maske ĂŒberdeckt, und beachtet die Grenzbereiche nicht. 2. Man nimmt einen Treffer an, wenn die Maske ĂŒberdeckt und keine FarbgegensĂ€tze auĂerhalb der Maske sind. Hauptnachteil: Es mĂŒssen auch hier die ZeichensĂ€tze annĂ€hernd bekannt sein. Hauptvorteil: extrem schnell.
ZusĂ€tzlich können noch Programmteile in Aktion treten, die gewisse grammatikalische und orthografische Eigenheiten berĂŒcksichtigen.
Bild 4: Das Eingrenzungsprinzip
Bild 5: Das Maskenvergleichsverfahren