Optische Zeichenerkennung (OCR)

Abgeschlossen

Hinweis

Weitere Details finden Sie auf der Registerkarte "Text und Bilder ".

Optische Zeichenerkennung (Optical Character Recognition, OCR) ist eine Technologie, die visuellen Text automatisch in Bildern konvertiert – ob von gescannten Dokumenten, Fotos oder digitalen Dateien – in bearbeitbare, durchsuchbare Textdaten. Anstatt Informationen manuell zu transkribieren, ermöglicht OCR die automatisierte Datenextraktion aus:

  • Gescannte Rechnungen und Belege
  • Digitale Fotos von Dokumenten
  • PDF-Dateien mit Bildern von Text
  • Screenshots und erfasste Inhalte
  • Formulare und handschriftliche Notizen

Die OCR-Pipeline: Ein schrittweiser Prozess

Die OCR-Pipeline besteht aus fünf wesentlichen Phasen, die zusammenarbeiten, um visuelle Informationen in Textdaten zu transformieren.

Diagramm der OCR-Pipeline.

Die Phasen des OCR-Prozesses sind:

  1. Bilderfassung und -eingabe.
  2. Vorverarbeitung und Bildverbesserung.
  3. Erkennung von Textbereichs.
  4. Zeichenerkennung und -klassifizierung.
  5. Ausgabegenerierung und Nachbearbeitung.

Sehen wir uns die einzelnen Phasen genauer an.

Phase 1: Bilderfassung und -eingabe

Die Pipeline beginnt, wenn ein Bild, das Text enthält, in das System gelangt. Sie haben folgende Möglichkeiten:

  • Ein Foto, das mit einer Smartphonekamera aufgenommen wurde.
  • Ein gescanntes Dokument aus einem Flachbett- oder Dokumentscanner.
  • Ein Frame, der aus einem Videostream extrahiert wurde.
  • Eine PDF-Seite, die als Bild gerendert wird.

Tipp

Die Bildqualität in dieser Phase wirkt sich erheblich auf die endgültige Genauigkeit der Textextraktion aus.

Phase 2: Vorverarbeitung und Bildverbesserung

Bevor die Texterkennung beginnt, werden die folgenden Techniken verwendet, um das Bild für eine bessere Erkennungsgenauigkeit zu optimieren:

  • Die Rauschunterdrückung entfernt visuelle Artefakte, Staubflecken und Scanfehler, die die Texterkennung beeinträchtigen können. Zu den spezifischen Techniken zur Rauschunterdrückung gehören folgende:

    • Filter- und Bildverarbeitungsalgorithmen: Gaussische Filter, Medianfilter und morphologische Vorgänge.
    • Machine Learning-Modelle: Denoising autoencoders und konvolutionale neuronale Netzwerke (CNNs), die speziell für die Dokumentbildbereinigung trainiert wurden.
  • Die Kontrastanpassung verbessert den Unterschied zwischen Text und Hintergrund, um Zeichen stärker zu unterscheiden. Auch hier gibt es mehrere mögliche Ansätze:

    • Klassische Methoden: Histogrammgleich, adaptive Schwellenwerte und Gammakorrektur.
    • Maschinelles Lernen: Deep Learning-Modelle, die optimale Verbesserungsparameter für verschiedene Dokumenttypen lernen.
  • Die schiefe Korrektur erkennt und korrigiert die Dokumentdrehung und stellt sicher, dass Textzeilen horizontal ausgerichtet sind. Zu den Techniken für schiefe Korrektur gehören:

    • Mathematische Techniken: Hough-Transformation für Linienerkennung, Projektionsprofile und verbundene Komponentenanalyse.
    • Neurale Netzwerkmodelle: Regressions-CNNs, die Drehwinkel direkt von Bildfeatures vorhersagen.
  • Die Auflösungsoptimierung passt die Bildauflösung an die optimale Ebene für Zeichenerkennungsalgorithmen an. Sie können die Bildauflösung mit:

    • Interpolationsmethoden: Bicubic-, Bilinear- und Lanczos-Resamplingalgorithmen.
    • Superauflösungsmodelle: Generative Adversarial Networks (GANs) und Restnetzwerke, die Textbilder mit geringer Auflösung intelligent hochskalieren.

Phase 3: Erkennung von Textbereichs

Das System analysiert das vorverarbeitete Bild, um Bereiche zu identifizieren, die Text enthalten, indem die folgenden Techniken verwendet werden:

  • Die Layoutanalyse unterscheidet zwischen Textbereichen, Bildern, Grafiken und Leerraumbereichen. Zu den Techniken für die Layoutanalyse gehören:

    • Herkömmliche Ansätze: Verbundene Komponentenanalyse, Laufzeitcodierung und projektionsbasierte Segmentierung.
    • Deep Learning-Modelle: Semantische Segmentierungsnetzwerke wie U-Net, Mask R-CNN und spezielle Dokumentlayoutanalysemodelle (z. B. LayoutLM- oder PubLayNet-trainierte Modelle).
  • Die Textblockidentifikation gruppiert einzelne Zeichen in Wörter, Zeilen und Absätzen basierend auf räumlichen Beziehungen. Zu den gängigen Ansätzen gehören:

    • Klassische Methoden: Fernclustering, Leerraumanalyse und morphologische Operationen
    • Neurale Netzwerke: Graph-Neuronale Netzwerke und Transformer-Modelle, die die räumliche Dokumentstruktur verstehen
  • Die Lesereihenfolge bestimmt die Reihenfolge, in der Text gelesen werden soll (von links nach rechts, von oben nach unten für Englisch). Die richtige Reihenfolge kann anhand folgender Kriterien bestimmt werden:

    • Regelbasierte Systeme: Geometrische Algorithmen mit Begrenzungsfeldkoordinaten und räumlicher Heuristik.
    • Machine Learning-Modelle: Sequenzvorhersagemodelle und graphbasierte Ansätze, die Lesemuster aus Schulungsdaten lernen.
  • Die Regionsklassifizierung identifiziert verschiedene Arten von Textbereichen (Kopfzeilen, Textkörper, Beschriftungen, Tabellen).

    • Funktionsbasierte Klassifizierer: Support Vector Machines (SVMs), die manuell erstellte Features wie Schriftgrad, Position und Formatierung nutzen
    • Deep Learning-Modelle: Konvolutionale neurale Netzwerke und Vision-Transformatoren, die auf bezeichneten Dokumenten-Datasets trainiert wurden

Phase 4: Zeichenerkennung und -klassifizierung

Dies ist der Kern des OCR-Prozesses, bei dem einzelne Zeichen identifiziert werden:

  • Merkmalextraktion: Die Form, Größe und unverwechselbaren Merkmale jedes Zeichens oder Symbols werden analysiert.

    • Herkömmliche Methoden: Statistische Features wie Momente, Fourierdeskriptoren und strukturelle Features (Schleifen, Endpunkte, Schnittmengen)
    • Deep Learning-Ansätze: Neuronale Netzwerke, die automatisch diskriminative Features aus unformatierten Pixeldaten lernen
  • Mustervergleich: Vergleicht extrahierte Features mit trainierten Modellen, die unterschiedliche Schriftarten, Größen und Schreibstile erkennen.

    • Vorlagenabgleich: Direkter Vergleich mit gespeicherten Zeichenvorlagen mithilfe von Korrelationstechniken
    • Statistische Klassifizierer: Hidden Markov Models (HMMs), Support Vector Machines und k nächste Nachbarn, die Featurevektoren nutzen
    • Neurale Netzwerke: Mehrschichtige Perceptrons, CNNs und spezialisierte Architekturen wie LeNet für die Ziffernerkennung
    • Erweitertes Deep Learning: Restnetzwerke (ResNet), DenseNet und EfficientNet-Architekturen für robuste Zeichenklassifizierung
  • Kontextanalyse: Verwendet umgebende Zeichen und Wörter, um die Erkennungsgenauigkeit durch Wörterbuchsuche und Sprachmodelle zu verbessern.

    • N-Gramm-Modelle: Statistische Sprachmodelle, die Zeichensequenzen basierend auf Wahrscheinlichkeitsverteilungen vorhersagen.
    • Wörterbuchbasierte Korrektur: Lexicon-Suche mit Bearbeitungsabstandsalgorithmen (z. B. Levenshtein-Entfernung) für die Rechtschreibkorrektur.
    • Neurale Sprachmodelle: LSTM- und transformatorbasierte Modelle (z. B. BERT-Varianten), die kontextbezogene Beziehungen verstehen.
    • Aufmerksamkeitsmechanismen: Transformatormodelle, die sich auf relevante Teile der Eingabe konzentrieren, wenn Zeichenvorhersagen vorgenommen werden.
  • Konfidenzbewertung: Weist jedem erkannten Zeichen Wahrscheinlichkeitsbewertungen zu, basierend darauf, wie sicher das System über seine Identifikation ist.

    • Bayesische Ansätze: Probabilistische Modelle, die Unsicherheit in Zeichenvorhersagen quantifizieren.
    • Softmax-Ausgaben: Endschichtaktivierungen des neuralen Netzwerks, die in Wahrscheinlichkeitsverteilungen umgewandelt wurden.
    • Ensemblemethoden: Kombinieren von Vorhersagen aus mehreren Modellen zur Verbesserung von Konfidenzschätzungen.

Phase 5: Ausgabegenerierung und Nachbearbeitung

In der letzten Phase werden Erkennungsergebnisse in verwendbare Textdaten konvertiert:

  • Textkompilierung: Zusammensetzen einzelner Zeichenerkennungen in vollständige Wörter und Sätze.

    • Regelbasierte Assembly: Deterministische Algorithmen, die Zeichenvorhersagen mit räumlichen Näherungs- und Konfidenzschwellenwerten kombinieren.
    • Sequenzmodelle: Wiederkehrende neurale Netzwerke (RNNs) und Long Short-Term Memory (LSTM)-Netzwerke, die Text als sequenzielle Daten modellieren.
    • Aufmerksamkeitsbasierte Modelle: Transformatorarchitekturen, die Sequenzen variabler Länge und komplexe Textlayouts verarbeiten können.
  • Dokumentarchivierung: Verwaltet die Dokumentstruktur, einschließlich Absätzen, Zeilenumbrüchen und Abständen.

    • Geometrische Algorithmen: Regelbasierte Systeme mit Begrenzungsfeldkoordinaten und Leerraumanalyse.
    • Layouterkennungsmodelle: Neuronale Graph-Netzwerke und Dokument-KI-Modelle, die strukturelle Beziehungen lernen.
    • Multimodale Transformatoren: Modelle wie LayoutLM, die Text- und Layoutinformationen für die Strukturerhaltung kombinieren.
  • Koordinatenzuordnung: Zeichnet die genaue Position jedes Textelements innerhalb des ursprünglichen Bilds auf.

    • Koordinatentransformation: Mathematische Zuordnung zwischen Bildpixeln und Dokumentkoordinaten.
    • Räumliche Indizierung: Datenstrukturen wie R-Bäume und Quad-Bäume für effiziente räumliche Abfragen.
    • Regressionsmodelle: Neurale Netzwerke trainiert, um präzise Textpositionierungskoordinaten vorherzusagen.
  • Qualitätsüberprüfung: Wendet Rechtschreib- und Grammatikprüfungen an, um potenzielle Erkennungsfehler zu identifizieren.

    • Wörterbuchbasierte Überprüfung: Suchen nach umfassenden Wortlisten und spezialisierten Domänenvokabularen.
    • Statistische Sprachmodelle: N-Gramm-Modelle und probabilistische Parser für Grammatik- und Kontextüberprüfung.
    • Neurale Sprachmodelle: Vortrainierte Modelle wie GPT oder BERT fein abgestimmt auf OCR-Fehlererkennung und -korrektur.
    • Ensemblevalidierung: Das Kombinieren mehrerer Validierungsansätze zur Verbesserung der Fehlererkennungsgenauigkeit.