Erstellung eines automatisierten Nummernschild-Erkennungssystems
Von Andy Babic am 04.10.2023
Die automatisierte Erkennung von Nummernschildern ist eine Schlüsseltechnologie, die in zahlreichen Anwendungsbereichen, von der Verkehrsüberwachung bis hin zur automatisierten Parkplatzverwaltung, von Bedeutung ist. In diesem Blog-Beitrag möchte ich einen Einblick geben, wie ich mithilfe von Label Studio, YOLOv5 und FastAPI ein solides System zur Erkennung von Nummernschildern entwickelt habe. Obwohl ich hier nicht zu stark in die technischen Details eintauche, liefere ich einen klaren Fahrplan, der Ihnen hilft, die einzelnen Schritte des Projekts nachzuvollziehen und die verwendeten Tools besser zu verstehen.
Die Reise beginnt mit der Vorbereitung und Annotierung der Datensätze in Label Studio, gefolgt vom Training des YOLOv5-Modells zur Nummernschilderkennung. Schließlich wird eine schnelle API mit FastAPI erstellt, um die Erkennungsfunktion bereitzustellen. Durch die Kombination dieser leistungsstarken Tools war es möglich, ein effizientes und funktionsreiches System zur Nummernschilderkennung zu erstellen. Die folgenden Abschnitte bieten eine detaillierte Übersicht über jeden Schritt des Prozesses, um auch Ihnen den Einstieg in die Welt der automatisierten Nummernschilderkennung zu erleichtern.
Warum Labelstud.io ein Traum zum Anmontieren ist
Flexibilität und Anpassbarkeit:
Label Studio kommt mit einer breiten Palette von Annotierungswerkzeugen, die es erlauben, diverse Datentypen wie Text, Bilder und sogar Audiodaten zu annotieren. Seine flexible Natur macht es zu einer einmaligen Lösung, die sich leicht an die spezifischen Anforderungen eines Projekts anpassen lässt.
Benutzerfreundliche Oberfläche:
Die intuitive Benutzeroberfläche von Label Studio vereinfacht den Annotierungsprozess erheblich. Die leicht verständliche Oberfläche ermöglicht es auch denjenigen mit weniger technischem Wissen, effektiv zu arbeiten und qualitativ hochwertige Datenannotationen zu erstellen.
Kollaborative Funktionen:
In einem Umfeld, wo Teamarbeit essentiell ist, erlaubt Label Studio mehreren Annotatoren, zusammenzuarbeiten und ihre Arbeit in einer zentralen Umgebung zu synchronisieren. Dies fördert eine effiziente Teamarbeit und beschleunigt den Annotierungsprozess.
Exportschnittstellen:
Nach der Annotation der Daten bietet Label Studio vielfältige Exportoptionen, die eine einfache Integration mit anderen Systemen und die Weiterverwendung der annotierten Daten in verschiedenen Machine Learning Frameworks ermöglichen.
Open-Source:
Als Open-Source-Projekt ermöglicht Label Studio eine Community-getriebene Entwicklung, die es stetig verbessert und an die sich schnell entwickelnde Welt der Datenwissenschaft anpasst. Die Offenheit des Projekts fördert auch die Transparenz und Vertrauenswürdigkeit, zwei Eigenschaften, die in der heutigen datengetriebenen Welt von unschätzbarem Wert sind.
Durch die Kombination all dieser Vorteile stellt Label Studio eine robuste und zuverlässige Lösung für die Datenannotation und -verwaltung dar, die die Entwicklung von Machine Learning Modellen erheblich erleichtert und beschleunigt.
Datenvorbereitung mit Label Studio
Der erste und wesentliche Schritt in jedem Machine Learning Projekt ist die Vorbereitung der Daten. Ich habe Label Studio verwendet, um 1534 Fotos zu annotieren, die als Grundlage für das Training des Modells dienen. Die Fotos wurden aus einer Dashcam generiert, und ich habe einzelne Frames extrahiert, um eine ausreichende Anzahl von Bildern für das Training zu erhalten.
Modelltraining mit YOLOv5
Nach der Annotierung der Bilder war der nächste Schritt, ein Modell zu trainieren, das die Nummernschilder erkennen kann. Ich habe mich für YOLOv5 entschieden, eine bewährte und effiziente Lösung für Objekterkennungsaufgaben. Nach dem Training des Modells mit den annotierten Bildern war ich in der Lage, eine akzeptable Genauigkeit in der Nummernschilderkennung zu erreichen.
Um Yolo zu trainieren brauchen wir nu mehr einen Befehl:
./darknet detector train <path_to_data_file> <path_to_cfg_file> <path_to_pretrained_weights> -dont_show -map
API-Erstellung mit FastAPI
Mit einem trainierten Modell in der Hand war der nächste logische Schritt, eine API zu erstellen, über die andere Systeme auf die Nummernschilderkennungsfunktionalität zugreifen können. Ich habe FastAPI verwendet, um eine kleine, aber effiziente API zu erstellen, die die Anforderungen leicht handhaben kann. FastAPI ist bekannt für seine Performance und einfache Handhabung, was es zu einer ausgezeichneten Wahl für dieses Projekt macht.
Zusammenfassung
Durch die Kombination von Label Studio für die Datenvorbereitung, YOLOv5 für das Modelltraining und FastAPI für die Bereitstellung der Erkennungsfunktionalität konnte ich ein robustes und effizientes System für die automatisierte Nummernschilderkennung erstellen. Die Schritte, die in diesem Beitrag skizziert wurden, bieten einen soliden Ausgangspunkt für jeden, der daran interessiert ist, ein ähnliches Projekt zu verfolgen. Die Welt der automatisierten Systeme ist spannend, und ich freue mich darauf, in zukünftigen Projekten weiter zu erforschen, was möglich ist.
Ihr wollt es selbst probieren ? Dann teste es auf https://bandy.at/plates/
The comments are closed.