Zum Fußzeileninhalt springen
BARCODE-WERKZEUGE

QR-Code-Maschinelles Lernen: Ein Tutorial für Entwickler

QR-Codes sind ein wesentlicher Bestandteil der modernen Gesellschaft geworden und revolutionieren die Art und Weise, wie Informationen geteilt und abgerufen werden. Diese zweidimensionalen Barcodes bestehen aus einer Matrix von schwarzen und weißen Quadraten, die mit einer Smartphone-Kamera gescannt werden können, um schnell gespeicherte Informationen wie URLs, Kontaktdaten, Webseiten-URLs, Produktinformationen und mehr abzurufen. Da sich die Technologie jedoch weiterentwickelt, tun dies auch die Fähigkeiten von QR-Codes. Maschinelles Lernen (ML) hat sich als leistungsstarkes Werkzeug zur Verbesserung der QR-Code-Erzeugung, -Erkennung und -Dekodierung herausgestellt, was zu verbesserten Benutzererfahrungen und einer größeren Funktionalität führt.

Die Welt des Informations- und Datenaustauschs wurde durch die weit verbreitete Verwendung von QR-Codes und Barcodes transformiert. Diese zweidimensionalen Codes ermöglichen den schnellen Zugriff auf digitale Inhalte und dienen verschiedenen Zwecken in verschiedenen Branchen. Jedoch kann es eine Herausforderung darstellen, zwischen QR-Codes und Barcodes zu unterscheiden, besonders wenn man mit einer Vielzahl von Codes umgeht. Durch die Nutzung der Leistung von Maschinellem Lernen (ML) und dem .NET/C#-Framework können Entwickler ein intelligentes System erstellen, das QR-Codes und Barcodes genau klassifiziert, die Datenverarbeitung vereinfacht und die Benutzererfahrung verbessert. Die Integration der Dekodierungsfähigkeiten von IronBarcode verbessert die Lösung weiter, indem eine genaue Inhaltsextraktion aus den erkannten Codes ermöglicht wird.

In diesem Artikel werden wir das Modell trainieren, das den gegebenen Input als Barcode oder QR-Code klassifiziert, und danach werden wir den Input-Code mit IronBarcode dekodieren.

Verwendung des ML.NET-Model Builders zur QR-Code-Klassifizierung

Model Builder, ein integriertes Tool in Visual Studio, vereinfacht den Prozess des Erstellens von Machine-Learning-Modellen durch eine intuitive Benutzeroberfläche. Wir werden den Model Builder verwenden, um ein Klassifikationsmodell zu erstellen, das zwischen QR-Codes und Barcodes unterscheidet. Sobald die Klassifikation abgeschlossen ist, integrieren wir IronBarcode, um die erkannten Codes zu dekodieren.

Schritt 1: Datenerfassung

Der allererste Schritt beim Training eines Modells ist die Datenerfassung. Wir benötigen Daten zum Trainieren des Modells. Ich habe Daten von Kaggle heruntergeladen. Sie können es aus jeder Quelle nach Ihrer Präferenz herunterladen. Nach dem Herunterladen des Datensatzes erstellen Sie ein Hauptverzeichnis und legen beide Datensätze in diesem Hauptverzeichnis ab. Die Daten sind in zwei Unterverzeichnisse organisiert:

  1. Barcodes
  2. QR-Codes

QR-Code-Maschinelles-Lernen (Entwickler-Tutorial): Abbildung 1

Der nächste Schritt besteht darin, Visual Studio zu öffnen und ein neues Machine-Learning-Modell zu erstellen.

Schritt 2: Projekt in Visual Studio erstellen und ein neues Machine-Learning-Modell hinzufügen

Erstellen Sie Ihr Projekt in Visual Studio. Das Projekt kann jeder Art sein, wie z.B. ASP.NET Web API, ASP.NET MVC, WEB Forms oder eine Konsolenanwendung. In diesem Beispiel verwende ich eine Konsolenanwendung. Klicken Sie mit der rechten Maustaste im Projektmappen-Explorer auf das Projekt. Wählen Sie Hinzufügen > Machine-Learning-Modell, wie unten gezeigt.

QR-Code-Maschinelles-Lernen (Entwickler-Tutorial): Abbildung 2

Benennen Sie Ihr Machine-Learning-Modell und klicken Sie auf die Schaltfläche Hinzufügen.

QR-Code-Maschinelles-Lernen (Entwickler-Tutorial): Abbildung 3

Schritt 3: Szenario auswählen

Ein neues Fenster erscheint nach dem Hinzufügen der Machine-Learning-Modell-Datei. Scrollen Sie nach unten und wählen Sie Bildklassifizierung. Bildklassifizierung ist eine der Techniken der Computer Vision, die wir in diesem Tutorial verwenden werden. Wir wählen Bildklassifizierung anstelle von Bilderkennung, da wir nur den Unterschied zwischen QR-Code und Barcode feststellen müssen und diese nicht aus einem gegebenen Bild erkennen müssen.

QR-Code-Maschinelles-Lernen (Entwickler-Tutorial): Abbildung 4

Schritt 4: Umgebung auswählen

Der nächste Schritt nach der Auswahl eines Szenarios ist die Wahl der Umgebung. Wir können entweder unser lokales System verwenden, um das Modell zu trainieren, oder Azure Cloud. Wir müssen über ein aktives Azure-Abonnement verfügen, um Azure als unsere Umgebung zu nutzen.

Schritt 5: Daten auswählen

In diesem Schritt müssen wir die Daten verwenden, die wir zuvor in Schritt 1 gesammelt haben. Wir haben die Daten bereits wie vom Model Builder erforderlich in Unterkategorien organisiert.

Geben Sie den Pfad des Hauptverzeichnisses Ihres Datensatzes in der Option Ordner auswählen an. Wir können unsere Daten wie unten gezeigt in der Vorschau ansehen.

QR-Code-Maschinelles-Lernen (Entwickler-Tutorial): Abbildung 5

Wir können auch den QR-Code-Ordner anzeigen, indem wir auf die QR-Codes-Registerkarte in der Datenvorschau klicken.

QR-Code-Maschinelles-Lernen (Entwickler-Tutorial): Abbildung 6

Nachdem Sie die Daten ausgewählt haben, klicken Sie auf die Schaltfläche Weiter, es führt Sie zum Trainingsbildschirm.

Schritt 6: Modell trainieren

Klicken Sie auf Trainingsmodell starten und es beginnt mit dem Trainieren, wie unten gezeigt. Bitte stellen Sie sicher, dass Visual Studio nicht im Administrator-Modus geöffnet ist, da es sonst einen Fehler auslöst.

QR-Code-Maschinelles-Lernen (Entwickler-Tutorial): Abbildung 7

Es beginnt mit dem Training und benötigt Zeit. Die Trainingsdauer variiert je nach Systemfähigkeiten. Der Model Builder verwendet AutoML. Es wird automatisch geeignete maschinelle Lerntechniken, Fehlerkorrekturstufen, Mustererkennung, Rauschunterdrückung, Kontrastanpassung, Lernprozesse und andere Einstellungen entsprechend verwenden.

Schritt 7: Modellauswertung

Nach dem Training bewerten Sie die Leistung des Modells, indem Sie die Testdaten weiterleiten, um eine genaue Klassifikation sicherzustellen.

Schritt 8: Modell verwenden

Sobald das Modell trainiert und bewertet ist, können wir es exportieren und verwenden. In unserem Anwendungsfall müssen wir den QR-Code vom Barcode klassifizieren und dann seine kodierten Daten lesen. Wir benötigen eine Drittanbieter-Bibliothek zum Dekodieren von Daten, da das maschinelle Lernmodell den QR-Code oder Barcode nicht dekodieren kann, es wird ihn nur klassifizieren.

IronBarcode ist eine ideale Bibliothek zum Dekodieren sowohl von QR-Codes als auch von Barcodes. Wir können beide Arten von Codes auf einfache Weise mit nur einer Bibliothek dekodieren. Lassen Sie uns eine kleine Einführung in IronBarcode geben, bevor wir fortfahren.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen