QR-Codes sind zu einem wesentlichen Bestandteil der modernen Gesellschaft geworden und revolutionieren die Art und Weise, wie Informationen geteilt und abgerufen werden. Diese zweidimensionalen Barcodes bestehen aus einer Matrix aus schwarzen und weißen Quadraten, die mit einer Smartphone-Kamera gescannt werden können, um gespeicherte Informationen wie URLs, Kontaktdaten, Website-URLs, Produktdetails usw. schnell abzurufen. Doch mit der Weiterentwicklung der Technologie steigen auch die Möglichkeiten von QR-Codes. Maschinelles Lernen (ML) hat sich als leistungsstarkes Werkzeug zur Verbesserung der QR-Code-Generierung, -Erkennung und -Decodierung herausgestellt, was zu verbesserten Benutzererfahrungen und größerer Funktionalität führt.
Die Welt des Informations- und Datenaustauschs hat sich durch den weit verbreiteten Einsatz von QR-Codes und Barcodes verändert. Diese zweidimensionalen Codes ermöglichen einen schnellen Zugriff auf digitale Inhalte und dienen verschiedenen Zwecken in verschiedenen Branchen. Die Unterscheidung zwischen QR-Codes und Barcodes kann jedoch schwierig sein, vor allem, wenn man es mit einer Vielzahl von Codes zu tun hat. Durch die Nutzung der Leistungsfähigkeit von Machine Learning (ML) und des .NET/C#-Frameworks können Entwickler ein intelligentes System erstellen, das QR-Codes und Barcodes präzise klassifiziert, die Datenverarbeitung optimiert und das Benutzererlebnis verbessert. Durch die Integration der Dekodierfunktionen von IronBarcode wird die Lösung weiter verbessert und ermöglicht die genaue Extraktion von Inhalten aus den erkannten Codes.
In diesem Artikel werden wir das Modell trainieren, das die gegebene Eingabe als Barcode oder QR-Code klassifiziert, und danach werden wir den Eingabecode mit IronBarcode dekodieren.
Verwendung von ML.NET Model Builder für die Klassifizierung von QR-Codes
Model Builder, ein integriertes Tool in Visual Studio, vereinfacht den Prozess des Erstellens von Machine-Learning-Modellen durch eine intuitive Benutzeroberfläche. Wir werden Model Builder verwenden, um ein Klassifizierungsmodell zu erstellen, das zwischen QR-Codes und Barcodes unterscheidet. Sobald die Klassifizierung abgeschlossen ist, werden wir IronBarcode integrieren, um die erkannten Codes zu entschlüsseln.
Schritt 1: Datenerhebung
Der allererste Schritt für das Training eines jeden Modells ist die Datenerfassung. Wir brauchen Daten für das Training des Modells. Ich habe Daten von Kaggle heruntergeladen. Sie können es von jeder beliebigen Quelle herunterladen. Erstellen Sie nach dem Herunterladen des Datensatzes ein Hauptverzeichnis und legen Sie beide Datensätze in dieses Hauptverzeichnis. Die Daten sind in zwei Unterverzeichnissen organisiert:
Barcodes
QR-Codes

Der nächste Schritt besteht darin, Visual Studio zu öffnen und ein neues Machine Learning Model zu erstellen.
Schritt #2: Erstellen Sie ein Projekt in Visual Studio und fügen Sie ein neues Machine-Learning-Modell hinzu
Erstellen Sie Ihr Projekt in Visual Studio. Das Projekt kann von beliebigem Typ sein, 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 auf das Projekt im Projektmappen-Explorer. Wählen Sie Hinzufügen > Modell für maschinelles Lernen, wie unten dargestellt.

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

Schritt &Num;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. Die Bildklassifizierung ist eine der Computer-Vision-Techniken, die wir in diesem Lernprogramm verwenden werden. Wir wählen die Bildklassifizierung anstelle der Bilderkennung, da wir lediglich zwischen Quick Response Code (QR Code) und Barcode unterscheiden müssen und sie nicht aus einem gegebenen Bild erkennen müssen.

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 zum Trainieren des Modells wählen oder die Azure Cloud. Wir müssen ein aktives Azure-Abonnement haben, um Azure als unsere Umgebung zu verwenden.
Schritt Nr. 5: Daten auswählen
In diesem Schritt müssen wir die Daten übergeben, die wir zuvor in Schritt 1 gesammelt haben. Wir haben die Daten bereits in Schritt 1 in Unterkategorien gegliedert, wie es der Model Builder verlangt.
Geben Sie den Pfad des Hauptverzeichnisses Ihres Datensatzes in der Option Ordner wählen an. Wir können unsere Daten wie unten gezeigt in der Vorschau anzeigen.

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

Nachdem Sie die Daten ausgewählt haben, klicken Sie auf die Schaltfläche Weiter, die Sie zum Trainingsbildschirm führt.
Schritt Nr. 6: Trainieren Sie das Modell
Klicken Sie auf Trainingsmodell starten, und das Training beginnt wie unten dargestellt. Vergewissern Sie sich, dass Visual Studio nicht im Administratormodus geöffnet ist, sonst wird ein Fehler ausgegeben.

Es beginnt mit dem Training und braucht Zeit. Die Dauer der Schulung hängt von den Fähigkeiten des Systems ab. Model Builder verwendet AutoML. Es werden automatisch geeignete maschinelle Lerntechniken, Fehlerkorrekturstufen, Mustererkennung, Rauschunterdrückung, Kontrastanpassung, Lernprozess und andere Einstellungen entsprechend verwendet.
Schritt Nr. 7: Modellevaluierung
Nach dem Training bewerten Sie die Leistung des Modells, indem Sie die Testdaten durchgehen, um eine genaue Klassifizierung zu gewährleisten.
Schritt #8: Modell nutzen
Sobald das Modell trainiert und ausgewertet ist, können wir es exportieren und verwenden. In unserem Anwendungsfall müssen wir den QR-Code vom Barcode unterscheiden und dann seine kodierten Daten lesen. Wir benötigen eine Bibliothek eines Drittanbieters für die Dekodierung von Daten, da das maschinelle Lernmodell den QR-Code oder Barcode nicht dekodieren kann, sondern nur klassifizieren wird.
IronBarcode ist eine ideale Bibliothek zum Dekodieren von sowohl QR-Codes als auch Barcodes. Wir können beide Arten von Codes mit einer einzigen Bibliothek auf einfache Weise entschlüsseln. Bevor wir fortfahren, möchten wir Ihnen IronBarcode kurz vorstellen.