KI Sauklaue - Kalibrierung

Raimund 26. August 2025 14:13

KI-Sauklaue: Link KI Sauklaue

Besonderheiten in der Kalibrierung Deiner Handschrift

Was ist mit Kalibrierung der Handschrift gemeint?

Jede Handschrift ist sehr individuell in Bezug auf seine Form, Größe, Abstände usw.

Ein Modell im Projekt KI Sauklaue soll mit beliebigen Fotos Deiner Handschrift zurechtkommen und den Text daraus erkennen und in einzelne Wortbilder an das KI Modell (TrOCR) zur Texterkennung weitergeben.

Damit dies funktioniert muss das Modell auf Deine Handschrift in Bezug auf eine Reihe von Parametern kalibriert werden:

Bild kann nicht geladen werden
Raimund 26. August 2025 14:15

Darüber hinaus muss für das KI Modell der Text speziell verstärkt werden oder von einem Hintergrund gelöst werden.

Raimund 26. August 2025 14:15

Welche Verfahren und Parameter werden dabei angewendet?

Im Detail werden die folgenden Verfahren mit einer Reihe von Parametern, die zum Modell oder zum User (Profil) abgespeichert werden können, verwendet.

Ich entschuldige mich schon mal im Vorfeld, dass es jetzt relativ technisch wird.

Raimund 26. August 2025 14:16

Verfahren und Parameter zur Texterkennung und -extrahierung:

Gaussche Glättung

Die Gaussche Glättung ist ein fundamentales Verfahren zur Bildglättung, das Rauschen reduziert und feine Details weichzeichnet. Das Verfahren basiert auf einer mathematischen Funktion (Gauss-Funktion), die eine glockenförmige Verteilung beschreibt.

Bei der Gausschen Glättung wird jeder Bildpunkt durch einen gewichteten Durchschnitt seiner Nachbarpixel ersetzt. Die Gewichtung folgt dabei der Gauss-Verteilung: Pixel in der direkten Nachbarschaft haben mehr Einfluss als weiter entfernte Pixel. Dies erzeugt einen natürlichen, weichen Glättungseffekt ohne harte Kanten.

Der Parameter blur_kernel dabei definiert die Größe des Glättungsfilters und besteht aus zwei Werten: (Breite, Höhe) in Pixeln (z.B 3, 5, 7).

Raimund 26. August 2025 14:17

Schwarz-Weiß-Glättung:

Das bereits in Schwarz-Weiß-Töne umgewandelte Bild wird dabei eine reine schwarze Schrift und weißen Hintergrund umgewandelt. Damit werden nur leichte Striche hervorgehoben und andere Unfeinheiten herausgerechnet. Je höher der Parameter (150 – 225) desto mehr Grauwerte werden zu Weiß.

Raimund 26. August 2025 14:17

Linienentfernung mit Hough-Transformation und Inpainting:

Dieses Verfahren erkennt störende horizontale und/oder vertikale Linien im Bild und entfernt sie durch intelligente Rekonstruktion der darunterliegenden Bildinhalte.

Dabei werden folgende Funktionen genutzt:

Folgende Parameter können dabei eingestellt werden:

hough_thresh (Standard: 75 - 200)

Schwellwert für die Hough-Linienerkennung Höhere Werte = nur sehr deutliche Linien werden erkannt Niedrigere Werte = auch schwächere Linien werden gefunden Bei Rauschen sollte der Wert höher gesetzt werden

min_line_len (Standard: 50 - 100)

Minimale Linienlänge in Pixeln Linien kürzer als dieser Wert werden ignoriert Verhindert Erkennung kleiner Störungen als "Linien"

max_line_gap (Standard: 10 - 20)

Maximale Lücke zwischen Liniensegmenten in Pixeln Unterbrochene Linien werden als zusammenhängend betrachtet Größere Werte verbinden mehr Segmente zu einer Linie

inpaint_radius (Standard: 2 - 3)

Radius für das Inpainting-Verfahren in Pixeln Bestimmt, wie weit die Rekonstruktion in die Umgebung "blickt" Größere Werte = glattere aber unschärfere Rekonstruktion

angle_thresh (Standard: 5 – 20 je nach Linienrichtung)

Winkeltoleranz in Grad für Linienrichtung Bei "horizontal": Linien bis ±10° werden als horizontal betrachtet Bei "vertical": Linien zwischen 80-100° werden als vertikal erkannt

apertureSize (Standard: 3, 5, 7)

Kernel-Größe für Canny-Kantendetektor (3, 5 oder 7) Größere Werte = weniger empfindlich, glattere Kanten

thickness (Standard: 2 - 4)

Dicke der Linien in der Inpainting-Maske Sollte mindestens so dick wie die zu entfernenden Linien sein Zu dünne Werte lassen Linienreste übrig

Raimund 26. August 2025 14:19

Kontrastverstärkung mit CLAHE (Contrast Limited Adaptive Histogram Equalization)

CLAHE ist ein adaptives Histogramm-Ausgleichsverfahren, das den Kontrast lokal in kleinen Bildbereichen verbessert, anstatt das gesamte Bild gleichmäßig zu behandeln. Dies macht es besonders effektiv für Bilder mit ungleichmäßiger Beleuchtung oder schwachem Text.

Funktionsweise

  1. Bildaufteilung: Das Bild wird in kleine rechteckige Kacheln (in Projekt KI Sauklaue 8x8 Pixel) unterteilt

  2. Lokale Histogramm-Anpassung: Für jede Kachel wird das Histogramm separat ausgeglichen

  3. Begrenzung: Übermäßige Kontrastverstärkung wird durch den clip_limit begrenzt

  4. Interpolation: Übergänge zwischen Kacheln werden geglättet

Parameter clip_limit (Standard: 1.0 – 5.0)

Der clip_limit ist der wichtigste Parameter und begrenzt die maximale Kontrastverstärkung:

Raimund 26. August 2025 14:23

Lückenschließen mit Dilation

Die Dilation ist eine morphologische Operation, die weiße (Vordergrund-)Bereiche in einem Binärbild erweitert und verdickt. Sie ist besonders nützlich, um kleine Lücken in Buchstaben oder Linien zu schließen und dünne Strukturen zu verstärken.

Funktionsweise

  1. Strukturelement (Kernel) wird über jedes Pixel des Bildes bewegt

  2. Wenn das Strukturelement mindestens ein weißes Pixel berührt, wird das zentrale Pixel auf weiß gesetzt

  3. Dadurch werden weiße Bereiche in alle Richtungen erweitert

  4. Kleine Lücken zwischen nahegelegenen weißen Bereichen werden "überbrückt"

Parameter-Erläuterungen:

dilation_kernel, Standard: (2, 2) bis (5,5)

Definiert Größe und Form des Strukturelements

Auswirkungen der Kernel-Größe:

dilation_iterations, Standard: 1 - 4

Anzahl der Wiederholungen der Dilation-Operation

Raimund 26. August 2025 14:26

Entfernung kleiner Flecken (Noise Removal)

Dieses Verfahren funktioniert wie ein intelligenter digitaler Radiergummi, der gezielt kleine störende schwarze Flecken und Rauschpunkte aus binären Bildern entfernt, während wichtige Textstrukturen erhalten bleiben.

Funktionsweise

  1. Bildinvertierung: Schwarze Flecken werden zu weißen Objekten (einfachere Analyse)

  2. Connected Components Analysis: Jeder zusammenhängende schwarze Bereich wird als separates "Objekt" identifiziert und vermessen

  3. Größenfilterung: Objekte werden nach ihrer Pixelanzahl (Fläche) bewertet

  4. Selektive Entfernung: Nur Objekte unterhalb der Größenschwelle werden "radiert"

  5. Rekonstruktion: Kleine Flecken werden durch weiße Pixel ersetzt

Parameter max_fleckgroesse (Standard: 0 - 60)

Dieser Parameter definiert die kritische Fleckengröße in Pixeln und ist der wichtigste Steuerparameter:

Kleine Werte (10-30 Pixel):

Mittlere Werte (30-60 Pixel):

Raimund 26. August 2025 14:28

Verfahren und Parameter zur Zeilensegmentierung:

Zeilensegmentierung mit Horizontalprojektion

Die Zeilensegmentierung ist ein Verfahren zur automatischen Erkennung von Textzeilen in einem Dokument. Es nutzt die charakteristische Eigenschaft, dass zwischen Textzeilen meist deutliche weiße Zwischenräume (Zeilenzwischenräume) existieren.

Funktionsweise

  1. Bildinvertierung: Schwarzer Text wird zu weiß, weißer Hintergrund zu schwarz

  2. Horizontalprojektion: Summierung aller weißen Pixel pro Bildzeile → ergibt ein 1D-Projektionsprofil

  3. Glättung: Gaussian-Filter reduziert Rauschen im Projektionsprofil

  4. Invertierung des Profils: Täler (Zeilenzwischenräume) werden zu Peaks

  5. Peak-Detektion: Automatische Erkennung der Zeilentrenner als Maxima

Projektion verstehen

Parameter-Erläuterungen

distance (Mindestabstand zwischen Peaks; Standard 20-80 Pixel (abhängig der Zeilenhöhe)

Verhindert Erkennung mehrerer Peaks innerhalb einer Textzeile

prominence (Mindest-Ausgeprägtheit der Peaks, Standard 10.000 – 100.000)

Definiert, wie deutlich ein Peak vom Umgebungsprofil abstechen muss

Praktisch lassen sich die Peaks zur Unterteilung einer Textseite in einzelne Zeilen wie folgt darstellen:

Bild kann nicht geladen werden
Raimund 26. August 2025 14:34

Verfahren und Parameter zur Wortsegmentierung:

Wortsegmentierung aus Textzeilen

Die Wortsegmentierung unterteilt eine bereits erkannte Textzeile in einzelne Wörter. Das Verfahren nutzt morphologische Operationen, um Buchstaben innerhalb von Wörtern zu verbinden und anschließend die entstehenden zusammenhängenden Bereiche als separate Wörter zu extrahieren.

Funktionsweise

  1. Binarisierung: Konvertierung zu Schwarz-Weiß-Bild (invertiert: Text = weiß)

  2. Horizontale Dilation: Erweitert Textbereiche horizontal → verbindet Buchstaben zu Wortblöcken

  3. Konturerkennung: Findet zusammenhängende weiße Bereiche (= potentielle Wörter)

  4. Geometrische Filterung: Aussortierung nach Größe und Position

  5. Wortextraktion: Ausschneiden der gefilterten Bereiche als einzelne Wortbilder

Schlüsselkonzept: Horizontale Dilation

Die horizontale Dilation mit rechteckigem Kernel ist der Kern des Verfahrens:

Parameter-Erläuterungen

word_kernel (Standard: 40 - 80)

Horizontale Breite des Dilation-Kernels in Pixeln

Bestimmt, welche Buchstabenabstände als "ein Wort" behandelt werden

Praktische Auswirkung:

min_word_width (Standard: 40-120)

Minimale Breite eines gültigen Wortes in Pixeln

Filtert kleine Störungen und Satzzeichen heraus

Zielkonflikt bei min_word_width:

Zusatzparameter corridor (0.2)

Definiert einen vertikalen Korridor um die Zeilenmitte (±20% der Zeilenhöhe), um oberhalb/unterhalb liegende Störungen herauszufiltern.

Raimund 26. August 2025 14:38

Größenanpassung mittels Scretching oder Padding:

Zur Aufbereitung der Wortbilder für das TrOCR-Systems gehört die Anpassung der Wortbilder auf eine fixe Größe:

Verfahren: Stretching vs. Padding

Beide Verfahren passen die extrahierten Wortbilder auf eine einheitliche Größe von 384×384 Pixeln an, um sie für maschinelles Lernen (OCR/Texterkennung) vorzubereiten. Die Verfahren unterscheiden sich grundlegend in ihrer Herangehensweise.

Raimund 26. August 2025 14:38

Stretching (Strecken/Dehnen)

Das Wortbild wird direkt auf 384×384 Pixel skaliert, unabhängig vom ursprünglichen Seitenverhältnis.

Charakteristika:

Vorteile:

Nachteile:

Raimund 26. August 2025 14:39

Padding (Auffüllen mit Rand)

Das Wortbild wird proportional skaliert und anschließend mit weißem/schwarzem Rand auf 384×384 Pixel aufgefüllt.

Charakteristika

Vorteile:

Nachteile:

Raimund 26. August 2025 19:34

Link zu KI Sauklaue - Einführung