Automatisierte Texterkennung in Fahrzeugscheinen durch Selfmade OCR-System

Fahrzeugschein ETECTURE Mosolf

Beschleunigte Erfassung von Fahrzeugdaten

In der Automobil- und Logistikbranche gehört die Erfassung von Fahrzeugdaten zum Tagesgeschäft. Viele Informationen lassen sich aus dem ersten Teil der Zulassungsbescheinigung – besser bekannt als Fahrzeugschein – entnehmen.

Die Erfassung der relevanten Daten aus diesem Dokument geschieht in der Praxis durch ein manuelles Abtippen, da der Fahrzeugschein, anders als andere amtliche Dokumente, wie beispielsweise der deutsche Personalausweis, keine maschinenlesbare Zone enthält. Dieser Vorgang ist nicht nur zeitintensiv, sondern auch fehleranfällig.

Die Herausforderung für uns war, diesen Prozess durch automatisierte Texterkennung (englisch Optical Character Recognition, kurz OCR) deutlich zu beschleunigen und die Fehleranfälligkeit zu reduzieren.

Das Projekt entstand im Rahmen unserer Innovationspartnerschaft mit MOSOLF, einem der führenden Automobil-Logistikunternehmen in Europa. Für die Umsetzung haben wir klassische Ansätze des maschinellen Sehens speziell an diesen Anwendungsfall angepasst, um durch das Einbringen von Vorwissen maximale Erkennungsraten des jeweiligen Fahrzeugscheins zu erzielen.

Fälschungssicher, aber nicht maschinenfreundlich

Das Aussehen und die Beschaffenheit des deutschen Fahrzeugscheins sind in der Verordnung über die Zulassung von Fahrzeugen zum Straßenverkehr (Fahrzeug-Zulassungsverordnung, kurz FZV) festgelegt und seit Oktober 2005 unverändert. Dieser genormte Aufbau ist für die automatisierte Texterkennung Fluch und Segen zugleich:

Einerseits ermöglicht dieser, die exakte Lokalisierung des Fahrzeugscheins innerhalb eines Fotos oder Scans sowie die eindeutige Zuordnung der einzelnen Felder durch einen Abgleich mit einer hinterlegten Vorlage des Dokuments. Darüber hinaus verwenden die unterschiedlichen Zulassungsstellen im Bundesgebiet für den Text in der Regel dieselbe Schriftart. Diese Einschränkung auf einen bestimmten, zuvor bekannten Font, erleichtert die automatische Texterkennung ungemein.

Andererseits kommt es durch die fälschungserschwerende Beschaffenheit des amtlichen Dokuments jedoch auch zu besonderen Herausforderungen: Zu den Sicherheitsmerkmalen zählt unter anderem ein "mehrfarbiger Guillochenschutzunterdruck (zweistufig verarbeitet) mit Irisverlauf und integrierten Mikroschriften auf beiden Seiten", oder – vereinfacht ausgedrückt – ein ziemlich wilder Hintergrund.

Zudem erleichtern die dunkelgrünen Rasterlinien dem menschlichen Leser zwar die Zuordnung der einzelnen Felder, erschweren allerdings die maschinelle Texterkennung. Besonders der sogenannte Druckversatz, also über die Linien herausragender Text, sorgt für deutliche Schwierigkeiten bei der automatisierten Erkennung. OCR-Systeme, die auf der Freistellung einzelner Zeichen durch Kantenerkennung basieren, steigen hier aus, da durch die Rasterlinien eine Verbindung aller Zeichen gegeben ist. Auch eine Binarisierung des Bildes anhand der Farbwerte, also die Trennung von schwarzem Text und grünen Rasterlinien, ist schwierig, da der exakte Grünton stark von der Aufnahmequalität und dem Aufnahmegerät abhängig ist.

Ein OCR-System speziell zugeschnitten auf den Fahrzeugschein

Das von uns entwickelte System setzt einen Template Matching-Algorithmus für die Texterkennung ein. Dafür haben wir von jedem Zeichen, das in einem Fahrzeugschein vorkommen kann, einen Prototyp erzeugt. Der Algorithmus berechnet an jeder Position des Bildes die Übereinstimmung zwischen Bild und Prototyp und erkennt ein Zeichen dann, wenn die Korrelation hoch ist.

Zitat Anna Lorenz ETECTURE

Zusätzlich haben wir Regeln für die Auswahl der erlaubten Zeichen pro Feld definiert. So kann ein Datum beispielsweise nur Ziffern und Punkte enthalten, aber keine Buchstaben. Die Fahrgestellnummer (Fahrzeug-Identifizierungsnummer, FIN) darf nur Ziffern und Großbuchstaben enthalten. Die erkannte Fahrgestellnummer lässt sich außerdem durch eine ebenfalls im Fahrzeugschein abgedruckte Prüfsumme validieren.

 

Durch diese zusätzliche Validierung lassen sich Fehler beim Auslesen der Fahrgestellnummer minimieren.

 

Wir haben den Algorithmus zur Texterkennung in Python implementiert (unter Verwendung von OpenCV und Numpy). Das Ganze haben wir in einen Flask-Webserver verpackt, der die benötigte Schnittstelle bereitstellt. Dieser nimmt ein Bild entgegen und gibt ein JSON-Objekt zurück, das eine Zuordnung der Feldbezeichnung zum jeweils in diesem Feld erkannten Text enthält.

 

Das Frontend haben wir mit HTML, CSS und Vanilla Javascript aufgebaut. Der Nutzer hat darüber die Möglichkeit, per File-Input ein zuvor aufgenommenes Bild hochzuladen. Das Bild wird dann an das Backend gesendet, dort verarbeitet und das Ergebnis an das Frontend zurückgespielt.

Zitat Anna Lorenz ETECTURE

Der erkannte Text wird übersichtlich neben den zugehörigen Feldausschnitten präsentiert, sodass das Ergebnis leicht mit dem Eingangsbild verglichen und mögliche Fehler korrigiert werden können. Die Prüfziffernvalidierung für die Fahrgestellnummer wird dabei durch farbliche Hervorhebung dargestellt.

 

Der Anwender hat nicht nur die Möglichkeit, die Ergebnisse der maschinellen Texterkennung zu überprüfen, sondern kann auch gegebenenfalls notwendige Korrekturen vornehmen.

 

Schließlich kann der Nutzer, die Daten in CSV- oder JSON-Format herunterladen. Natürlich wären auch Exporte in anderen Dateiformaten oder eine direkte Anbindung an im Unternehmen genutzte Dritt-Systeme denkbar.

 

Übertragbarkeit der Lösung auf andere Anwendungsfälle

Der vorgestellte Ansatz eignet sich nicht nur für Fahrzeugscheine, sondern kann auch auf andere Dokumente übertragen werden, sofern deren Aufbau ebenfalls einem festen, wiederkehrenden Muster entspricht. Denkbare Anwendungsfälle wären zum Beispiel Ausweisdokumente, Lieferscheine, Frachtbriefe und Rechnungen.

 

Der vorgestellte Algorithmus entfaltet seine Stärke durch das Einbringen von Vorwissen. Dadurch konnten wir in unseren Experimenten und Testläufen mit diesem Ansatz deutlich bessere Ergebnisse erzielen, als mit generischen Tools wie Tesseract oder Mobile Vision von Google. Beide Tools sind theoretisch in der Lage, mehr oder weniger beliebige Dokumente einzulesen, konnten aber beim Fahrzeugschein mit den gelieferten schlechten Ergebnissen nicht überzeugen.

 

Unsere Digital Architects beraten Sie gerne bezüglich der Realisierbarkeit von Projekten. Nehmen Sie Kontakt zu uns auf!

Ansprechpartner

Anna Lorenz ETECTURE
Anna
Lorenz
Software Developer & Data Scientist
anna.lorenz@etecture.de