Texterkennung

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Intelligent Character Recognition)
Wechseln zu: Navigation, Suche
Beispiel einer automatischen Texterkennung

Texterkennung oder auch Optische Zeichenerkennung (Abkürzung OCR von englisch Optical Character Recognition, selten auch: OZE) ist ein Begriff aus der Informationstechnik und bezeichnet die automatisierte Texterkennung innerhalb von Bildern.

Grundsätzliches[Bearbeiten]

Texterkennung ist deshalb notwendig, weil optische Eingabegeräte (Scanner oder Digitalkameras, aber auch Faxempfänger) als Ergebnis ausschließlich Rastergrafiken liefern können, d. h. in Zeilen und Spalten angeordnete Punkte unterschiedlicher Färbung (Pixel). Texterkennung bezeichnet dabei die Aufgabe, die so dargestellten Buchstaben als solche zu erkennen, d. h. zu identifizieren und ihnen den Zahlenwert zuzuordnen, der ihnen nach üblicher Textcodierung zukommt (ASCII, Unicode). Automatische Texterkennung und OCR werden im deutschen Sprachraum oft synonym verwendet. In technischer Hinsicht bezieht sich OCR jedoch nur auf den Teilbereich der Mustervergleiche von separierten Bildteilen als Kandidaten zur Erkennung von Einzelzeichen. Diesem OCR-Prozess geht eine globale Strukturerkennung voraus, in der zuerst Textblöcke von graphischen Elementen unterschieden, die Zeilenstrukturen erkannt und schließlich Einzelzeichen separiert werden. Bei der Entscheidung, welches Zeichen vorliegt, kann über weitere Algorithmen ein sprachlicher Kontext berücksichtigt werden.

Ursprünglich wurden zur automatischen Texterkennung eigens entworfene Schriftarten entwickelt, die zum Beispiel für das Bedrucken von Scheckformularen verwendet wurden. Diese Schriftarten waren so gestaltet, dass die einzelnen Zeichen von einem OCR-Lesegerät schnell und ohne großen Rechenaufwand unterschieden werden konnten. So zeichnet sich die Schriftart OCR-A (DIN 66008, ISO 1073-1) durch einander besonders unähnliche Zeichen, besonders bei den Ziffern, aus. OCR-B (ISO 1073-2) ähnelt mehr einer serifenlosen, nicht-proportionalen Schriftart, während OCR-H (DIN 66225) handgeschriebenen Ziffern und Großbuchstaben nachempfunden wurde.

Die gestiegene Leistungsfähigkeit moderner Computer und verbesserte Algorithmen erlauben inzwischen auch die Erkennung von „normalen“ Druckerschriftarten bis hin zu Handschriften (etwa bei der Briefverteilung); wenn jedoch Lesbarkeit durch Menschen nicht vorrangig ist, werden drucktechnisch und erkennungstechnisch einfacher handhabbare Strichcodes genutzt.

Moderne Texterkennung umfasst inzwischen mehr als reine OCR, das heißt die Übersetzung einzelner Schriftzeichen. Zusätzlich werden Methoden der Kontextanalyse, Intelligent Character Recognition (ICR), hinzugezogen, mit denen die eigentlichen OCR-Ergebnisse korrigiert werden können. So kann ein Zeichen, das eigentlich als „8“ erkannt wurde, zu einem „B“ korrigiert werden, wenn es innerhalb eines Wortes steht. Statt „8aum“ wird also „Baum“ erkannt. Im Bereich industrieller Texterkennungssysteme wird daher von OCR/ICR-Systemen gesprochen. Die Grenzen des OCR-Begriffes sind jedoch fließend, denn OCR und ICR dienen auch als Marketingbegriffe, um technische Weiterentwicklungen besser vermarkten zu können. Auch Intelligent Word Recognition (IWR) fällt unter diese Kategorie. Dieser Ansatz versucht das Problem bei der Erkennung von Fließhandschriften zu lösen, bei der die Einzelzeichen nicht eindeutig separiert und daher nicht über herkömmliche OCR-Methoden erkannt werden können.

Ein prinzipiell anderer Ansatz der Texterkennung wird bei der Handschriftenerkennung auf Touchscreens oder Eingabefeldern (PDA usw.) verwendet. Hier werden vektorbasierte Muster verarbeitet, entweder ‚offline‘ als gesamtes Wort oder ‚online‘ mit zusätzlicher Analyse des Eingabeflusses (beispielsweise Apples Inkwell).

Eine Sonderform der Texterkennung ergibt sich beispielsweise bei der automatischen Verarbeitung des Posteingangs großer Firmen. Eine Aufgabenstellung ist das Sortieren der Belege. Dafür braucht nicht immer der Inhalt analysiert zu werden, sondern es genügt manchmal schon, die groben Merkmale, etwa das charakteristische Layout von Formularen, Firmenlogos etc., zu erkennen. Die Klassifikation bestimmter Textarten erfolgt wie bei der OCR über eine Mustererkennung, die sich jedoch global auf das gesamte Blatt oder definierte Stellen anstelle einzelner Buchstaben bezieht.

Verfahren[Bearbeiten]

Ausgangspunkt ist eine Bilddatei (Rastergrafik), die von der Vorlage per Scanner, Digitalfotografie oder Videokamera erzeugt wird. Die Texterkennung selbst erfolgt dreistufig:

Seiten- und Gliederungserkennung[Bearbeiten]

Die Bilddatei wird in relevante Bereiche (Texte, Bildunterschriften) und irrelevante Bereiche (Abbildungen, Weißflächen, Linien) aufgeteilt.

Mustererkennung[Bearbeiten]

Fehlerkorrektur auf Pixelebene[Bearbeiten]

Die Rohpixel können durch ihre Nachbarschaftsbeziehungen zu angrenzenden Pixeln korrigiert werden. Einzelne Pixel werden gelöscht. Fehlende Pixel können ergänzt werden. Dadurch erhöht sich die Trefferquote bei einem reinen Mustervergleich. Dies ist stark abhängig vom Kontrast der Vorlage.

Mustervergleich Mapping[Bearbeiten]

Die Pixelmuster der Textbereiche werden mit Mustern in einer Datenbank verglichen, Rohdigitalisate werden erzeugt.

Fehlerkorrektur Zeichenebene (Intelligent Character Recognition, ICR)[Bearbeiten]

Die Rohdigitalisate werden mit Wörterbüchern verglichen sowie nach linguistischen und statistischen Verfahren hinsichtlich ihrer wahrscheinlichen Fehlerfreiheit bewertet. In Abhängigkeit von dieser Bewertung wird der Text ausgegeben oder gegebenenfalls einer erneuten Layout- oder Mustererkennung mit veränderten Parametern zugeführt.

Fehlerkorrektur auf Wortebene (Intelligent Word Recognition, IWR)[Bearbeiten]

Fließhandschrift, bei der die Einzelzeichen nicht voneinander getrennt erkannt werden können, wird anhand globaler Charakteristiken mit Wörterbüchern verglichen. Die Treffergenauigkeit verringert sich mit der zunehmenden Größe des eingebundenen Wörterbuches, da die Verwechslungsmöglichkeiten zunehmen. Einsatzbereiche sind definierte Feldbereiche mit eingeschränkten Angabenmöglichkeiten, zum Beispiel handgeschriebene Adressen auf Briefumschlägen.

Manuelle Fehlerkorrektur[Bearbeiten]

Viele Programme bieten darüber hinaus einen besonderen Modus zur manuellen Fehlerkorrektur durch den Anwender für diejenigen Textbereiche, die als „unsicher“ erkannt wurden.

Codierung in das Ausgabeformat[Bearbeiten]

Je nach Aufgabenstellung erfolgt die Ausgabe in eine Datenbank oder als Textdatei in einem definierten Format wie ASCII oder XML, gegebenenfalls auch mit Layout (etwa als HTML oder PDF).

Die Qualität der Texterkennung bestimmen unter anderem mehrere Faktoren:

  • Qualität der Layouterkennung,
  • Umfang und Qualität der Muster-Datenbank,
  • Umfang und Qualität der Wörterbücher,
  • Qualität der Algorithmen zur Fehlerkorrektur,
  • Farbigkeit, Kontrast, Layout und Schriftart des Originaldokumentes,
  • Auflösung und Qualität der Bilddatei.

Die Zahl der unerkannten Fehler in einem Dokument lässt sich abschätzen, siehe Rechtschreibfehler. Während Texte Redundanzen enthalten und deshalb eine höhere Fehlerrate zulassen, erfordern Zahlenlisten, wie beispielsweise Telefonnummern, ein mehrmaliges Korrekturlesen.

Erfolge durch neuronale Netze in Handschrifterkennungswettbewerben[Bearbeiten]

In jüngster Zeit erzielten künstliche neuronale Netzwerke bei Handschriftanwendungen oft bessere Ergebnisse als konkurrierende Lernverfahren. Zwischen 2009 und 2012 gewannen die rekurrenten bzw. tiefen vorwärtsgerichteten neuronalen Netzwerke der Forschungsgruppe von Jürgen Schmidhuber am Schweizer KI Labor IDSIA eine Serie von acht internationalen Wettbewerben in den Bereichen Mustererkennung[1]. Insbesondere gewannen ihre rekurrenten LSTM Netzwerke[2][3] drei Wettbewerbe zur verbundenen Handschrifterkennung bei der "2009 Intl. Conf. on Document Analysis and Recognition (ICDAR)", ohne eingebautes a priori-Wissen über die drei verschiedenen zu lernenden Sprachen. Die LSTM-Netze erlernten gleichzeitige Segmentierung und Erkennung[4]. Dies waren auch die ersten internationalen Wettbewerbe, die durch Deep Learning[5][6] oder durch rekurrente Netze gewonnen wurden.

Auch tiefe vorwärtsgerichtete Netzwerke wie Kunihiko Fukushimas Konvolutionsnetz der 80er Jahre[7] sind heute wieder wichtig für Handschrifterkennung. Sie verfügen über alternierende Konvolutionslagen und Lagen von Neuronen, die miteinander im Wettbewerb stehen. Yann LeCuns Team von der New York University wendete den 1989 schon gut bekannten backpropagation Algorithmus auf solche Netze an[8]. Moderne Varianten verwenden sogenanntes "max-pooling" für die Wettbewerbslagen[9]. Zum Abschluss krönt man das tiefe Netz durch mehrere normale Neuronenlagen. Schnelle GPU-Implementierungen dieser Kombination wurden 2011 durch Dan Ciresan und Kollegen in Schmidhubers Gruppe eingeführt[10]. Sie gewannen seither zahlreiche Wettbewerbe zur Erkennung von Handschrift und anderen Mustern[11]. GPU-basierte "max-pooling" Konvolutionsnetze waren auch die ersten Verfahren, die die handgeschriebenen Ziffern des MNIST Benchmarks so gut erkennen konnten wie Menschen[12].

Anwendungen[Bearbeiten]

  • Wiedergewinnen von Textinformation aus Bilddateien, um diese mit Hilfe einer Textverarbeitung weiter zu bearbeiten oder elektronisch durchsuchbar zu machen
  • Erkennung von relevanten Merkmalen (zum Beispiel Postleitzahl, Vertragsnummer, Rechnungsnummer) zur mechanischen (Poststraße) oder elektronischen (Workflow-Management-System) Einsortierung eines Schriftstücks
  • Eine erweiterte Volltextsuche in Datenbanken oder Document-Management-Systemen, um auch PDFs und Bilder durchsuchen zu können.
  • Erkennung von Merkmalen zur Registrierung und gegebenenfalls Verfolgung von Gegenständen (beispielsweise Kfz-Kennzeichen)
  • Layouterkennung: Es wird ein formatiertes Dokument erstellt, das der Vorlage bezüglich Text-, Bild- und Tabellenanordnung möglichst nahekommt.
  • Blindenhilfsmittel: Für Blinde wird es durch die Texterkennung möglich, eingescannte Texte über Computer und Braillezeile zu lesen oder sich per Sprachausgabe vorlesen zu lassen.

OCR-Software[Bearbeiten]

Proprietäre Software[Bearbeiten]

Als Nebenfunktion in proprietärer Software:

Freie Software[Bearbeiten]

Siehe auch[Bearbeiten]

Literatur[Bearbeiten]

  1. http://www.kurzweilai.net/how-bio-inspired-deep-learning-keeps-winning-competitions 2012 Kurzweil AI Interview mit Jürgen Schmidhuber zu den acht Wettbewerben, die sein Deep Learning Team zwischen 2009–2012 gewann
  2. Graves, Alex; and Schmidhuber, Jürgen; Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks, in Bengio, Yoshua; Schuurmans, Dale; Lafferty, John; Williams, Chris K. I.; and Culotta, Aron (eds.), Advances in Neural Information Processing Systems 22 (NIPS'22), December 7th–10th, 2009, Vancouver, BC, Neural Information Processing Systems (NIPS) Foundation, 2009, pp. 545–552
  3. A. Graves, M. Liwicki, S. Fernandez, R. Bertolami, H. Bunke, J. Schmidhuber. A Novel Connectionist System for Improved Unconstrained Handwriting Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 31, no. 5, 2009.
  4. Schmidhuber, Jürgen; Winning Handwriting Recognition Competitions Through Deep Learning, http://www.idsia.ch/~juergen/handwriting.html
  5. Bengio, Y. (2009). Learning Deep Architectures for AI.. Now Publishers. http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf
  6. Schmidhuber, Jürgen; My First Deep Learning System of 1991 + Deep Learning Timeline 1962-2013, http://www.idsia.ch/~juergen/firstdeeplearner.html
  7. Fukushima, K.: Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. In: Biological Cybernetics. 36, Nr. 4, 1980, S. 93–202. doi:10.1007/BF00344251.
  8. Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D. Jackel. Backpropagation Applied to Handwritten Zip Code Recognition. Neural Computation, 1(4):541-551, 1989. http://yann.lecun.com/exdb/publis/pdf/lecun-89e.pdf
  9. M. Riesenhuber, T. Poggio. Hierarchical models of object recognition in cortex. Nature neuroscience, 1999. http://riesenhuberlab.neuro.georgetown.edu/docs/publications/nn99.pdf
  10. D. C. Ciresan, U. Meier, J. Masci, L. M. Gambardella, J. Schmidhuber. Flexible, High Performance Convolutional Neural Networks for Image Classification. International Joint Conference on Artificial Intelligence (IJCAI-2011, Barcelona), 2011. http://www.idsia.ch/~juergen/ijcai2011.pdf
  11. J. Schmidhuber, 2009-2013: Deep Learning since 1991: First Deep Learners to Win Contests in Pattern Recognition, Object Detection, Image Segmentation, Sequence Learning, Through Fast & Deep / Recurrent Neural Networks. www.deeplearning.it
  12. D. C. Ciresan, U. Meier, J. Schmidhuber. Multi-column Deep Neural Networks for Image Classification. IEEE Conf. on Computer Vision and Pattern Recognition CVPR 2012. http://www.idsia.ch/~juergen/cvpr2012.pdf

Weblinks[Bearbeiten]