BARCODE-TOOLS

Wie man die QR-Code-Erkennung mit Deep Learning versteht

Veröffentlicht 29. August 2023
Teilen Sie:

Schnelle Antwort (QR) codes sind zu einem integralen Bestandteil unseres digitalen Lebens geworden und erleichtern den nahtlosen Austausch von Daten und das Abrufen von Informationen. Die Erkennung von QR-Codes in Bildern ist eine wertvolle Anwendung von Deep Learning, einem Teilbereich der künstlichen Intelligenz. In diesem Artikel führen wir Sie durch den Prozess der Erstellung eines QR-Code-Erkennungssystems mit Deep Learning in .NET/C#.

QR-Code-Erkennung mit Deep Learning verstehen

Beim Deep Learning, einem Zweig des maschinellen Lernens, werden neuronale Netze trainiert, um komplexe Muster aus Daten zu lernen. Im Zusammenhang mit der Erkennung von QR-Codes können Deep-Learning-Modelle trainiert werden, um QR-Codes aus Bildern mit unterschiedlichen Größen, Ausrichtungen und Bedingungen zu identifizieren und zu dekodieren. Faltungsneuronale Netze (CNNs) sind eine beliebte Wahl für bildbasierte Aufgaben wie die Erkennung von QR-Codes, da sie in der Lage sind, komplexe visuelle Merkmale zu erfassen.

In diesem Artikel werden wir Folgendes verwenden ML.NET Model Builder für das Training unseres Modells.

ML.NET Model Builder

Model Builder ist ein leistungsfähiges Werkzeug, das von Microsoft als Teil des ML.NET framework für die Erstellung von Modellen für maschinelles Lernen in .NET/C#. Es vereinfacht und beschleunigt den Prozess der Erstellung benutzerdefinierter Machine-Learning-Modelle, ohne dass tiefgreifende Kenntnisse über Machine-Learning-Algorithmen oder umfangreiche Programmierkenntnisse erforderlich sind. Model Builder ist benutzerfreundlich und leicht zugänglich und damit ein hervorragendes Tool für Entwickler, die die Möglichkeiten des maschinellen Lernens für ihre Anwendungen nutzen möchten. Model Builder unterstützt AutoML, das automatisch verschiedene Algorithmen und Einstellungen für maschinelles Lernen untersucht, um Ihnen zu helfen, den für Ihr Szenario am besten geeigneten Algorithmus zu finden.

Training QR-Code Erkennungsmodell

Das Training eines QR-Code-Erkennungsmodells mit Model Builder umfasst eine Reihe von Schritten, die Sie durch den Prozess der Erstellung und des Trainings des Modells führen. In dieser Schritt-für-Schritt-Anleitung führen wir Sie durch jede Phase der Ausbildung eines QR-Code-Modells mit Model Builder in .NET/C#.

Schritt 1: Einrichten Ihrer Umgebung

Bevor wir mit der Implementierung beginnen, sollten Sie sicherstellen, dass Sie die folgenden Voraussetzungen erfüllen:

  • Visual Studio: Herunterladen und installieren Visual Studioeine vielseitige integrierte Entwicklungsumgebung (IDE) für die .NET-Entwicklung.
  • Model Builder: Sie können den ML.NET Model Builder herunterladen, indem Sie auf hier.

Schritt 2: Datenaufbereitung

Wir benötigen QR-Code-Bilder für das Training unseres Modells. Sie können QR-Code-Bilder erhalten von Kaggle oder Roboflow. Für dieses Beispiel habe ich QR-Code-Bilder von Roboflow heruntergeladen.

Schritt 3: Model Builder öffnen

Visual Studio-Projekt öffnen.

Rechtsklick auf Projekt > Hinzufügen > Modell für maschinelles Lernen...

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 1

Das folgende Fenster wird angezeigt.

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 2

Geben Sie dem Modell einen Namen und klicken Sie auf die Schaltfläche Hinzufügen. Das folgende Fenster wird angezeigt:

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 3

Scrollen Sie nach unten und suchen Sie unter Computer Vision nach "Object Detection".

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 4

Schritt 4: Auswahl der Schulungsumgebung

Wählen Sie Objekterkennung, da wir QR-Codes aus dem gegebenen Datensatz erkennen müssen. Wählen Sie je nach Vorliebe Lokal oder Azure. Wir wählen für dieses Beispiel die Option Lokal.

Nachdem Sie auf Lokal geklickt haben, wird das folgende Fenster angezeigt:

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 5

Wählen Sie eine lokale CPU oder GPU nach Ihrer Wahl. Sie können auch Azure auswählen. Dazu sollten Sie über ein Active Azure-Abonnement verfügen. Nachdem Sie Ihre Testumgebung ausgewählt haben, klicken Sie auf die Schaltfläche Weiter. Das folgende Fenster wird angezeigt.

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 6

Schritt 5: Daten auswählen

Die Auswahl der Daten ist der wichtigste Teil des Schulungsprozesses. Wie bereits erwähnt, werde ich die Daten von Robo Flow. Öffnen Sie RoboFlow, suchen Sie nach QR-Code. Die Daten können weiße QR-Codes oder viele lokale Merkmale aufweisen. Ich verwende QR-Erkennung Computer Vision Datensatz für diesen Lehrgang. Laden Sie die Daten herunter, indem Sie das Format auswählen. Ich habe das COCO-Format gewählt, um diese Daten herunterzuladen. Dieses Format wird für die weitere Datenvorverarbeitung und Bilderkennung verwendet.

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 7

Da Sie nun Daten haben, kehren wir zu Visual Studio zurück. Wählen Sie den Eingabepfad der oben heruntergeladenen Coco-Datei. Sie können auch Vott wählen, aber dazu müssen Sie eine Vott-Datei für Ihre Daten erstellen. Das folgende Fenster wird angezeigt.

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 8

Klicken Sie nun auf die Schaltfläche Nächster Schritt und wechseln Sie zur Registerkarte Zug.

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 9

Schritt 6: Trainieren des QR-Code-Erkennungsmodells

Klicken Sie nun auf Trainingsmodell starten, um das Training zu beginnen. Der Model Builder konvertiert automatisch in binäre Bilder und verwendet entsprechend bevorzugte neuronale Netze. Wir brauchen nichts zu spezifizieren. Das Beste an Model Builder ist, dass ein Entwickler mit minimalem Deep Learning-Hintergrund ein Modell trainieren, testen und verwenden kann.

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 10

Der Model Builder trainiert das Modell auf dem angegebenen Datensatz und zeigt den Trainingsfortschritt an. Die oben beschriebene Schulung wird je nach System einige Zeit in Anspruch nehmen. Das Modell nimmt alle QR-Codes nacheinander auf und lernt ihre Eigenschaften. Sie können Ihr Modell testen, indem Sie ein beliebiges Test-QR-Code-Bild an das Modell übergeben, sobald das Training abgeschlossen ist.

Schritt 7: Modell auswerten

Nach dem Training bewertet der Model Builder die Leistung des Modells anhand der Validierungsdaten.

Sie sehen Auswertungsmetriken wie Genauigkeit, Präzision, Rückruf und F1-Score. Anhand dieser Metriken wird die Leistung des Modells bewertet.

Schritt 8: Verbrauchen

Nun, da unser Modell trainiert und der QR-Code-Detektor fertig ist, müssen wir dieses Modell verwenden, um den Code zu erkennen und dann den erkannten QR-Code zu dekodieren. Dieses Modell erkennt nur, ob eine bestimmte Eingabe einen Schnellantwortcode enthält oder nicht. Dadurch wird der QR-Code nicht entschlüsselt. Für die Dekodierung von QR-Codes benötigen wir eine Bibliothek eines Drittanbieters. Iron Barcode ist die beste Bibliothek zum Lesen von QR-Code-Bildern. Bevor wir fortfahren, wollen wir uns ein wenig über Iron Barcode informieren.

Iron Barcode - Die QR Code Dekodierbibliothek

IronBarcode ist eine .NET-Bibliothek, die speziell auf die Arbeit mit QR-Codes zugeschnitten ist. QR-Codes sind eine Art von 2D-Barcodes, die häufig zur Codierung von Informationen wie URLs, Text, Kontaktdaten usw. verwendet werden. Diese Bibliothek vereinfacht die Erstellung von QR-Codes, indem sie Entwicklern intuitive Werkzeuge zur Verfügung stellt, um QR-Codes mit anpassbaren Funktionen wie Größe, Farbe und Fehlerkorrektur zu erzeugen.

Darüber hinaus ermöglicht IronBarcode die Extraktion von Informationen aus QR-Codes, die in Bilder eingebettet sind, und ist damit eine unverzichtbare Ressource für die nahtlose Integration von QR-Code-Erzeugungs- und Dekodierungsfunktionen in .NET-Anwendungen.

In diesem Tutorial werden wir es zur Dekodierung des QR-Codes verwenden, wenn der QR-Code von unserem Modell erkannt wird.

Iron Barcode NuGet-Paket installieren

Schreiben Sie den folgenden Befehl in die NuGet Package Manager Console, um die IronBarcode NuGet-Paket.

Install-Package BarCode

Der obige Befehl installiert das Iron Barcode-Paket und fügt eine Referenz zu unserem Projekt hinzu.

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 11

QR-Codes dekodieren

Schreiben Sie den folgenden Code, um den einzelnen erkannten QR-Code zu lesen.

using IronBarCode;

string qrCodeImagePath = "myQrCode.png";
var data = BarcodeReader.QuicklyReadOneBarcode(qrCodeImagePath);
Console.WriteLine(data.Value.ToString());
using IronBarCode;

string qrCodeImagePath = "myQrCode.png";
var data = BarcodeReader.QuicklyReadOneBarcode(qrCodeImagePath);
Console.WriteLine(data.Value.ToString());
Imports IronBarCode

Private qrCodeImagePath As String = "myQrCode.png"
Private data = BarcodeReader.QuicklyReadOneBarcode(qrCodeImagePath)
Console.WriteLine(data.Value.ToString())
VB   C#

Die Ausgabe sieht folgendermaßen aus:

Wie man die QR-Code-Erkennung mit Deep Learning versteht: Abbildung 12

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass der Model Builder und die IronBarcode-Bibliothek eine wertvolle Kombination für .NET-Entwickler sind, die mit QR-Codes arbeiten möchten. Model Builder macht die schwierige Aufgabe des Erstellens und Trainierens von Modellen für die QR-Code-Erkennung ziemlich einfach. Und wenn Sie die IronBarcode-Bibliothek hinzufügen, wird alles noch einfacher - sie hilft, QR-Codes von Bildern ohne viel Aufhebens zu lesen. Diese Teamarbeit verbessert nicht nur die Inventarisierung und die Marketingaufgaben, sondern sorgt auch dafür, dass die Nutzung Ihrer Anwendungen mehr Spaß macht. Wenn Model Builder und IronBarcode zusammenkommen, ist es, als würde man superintelligente Technologie in seine .NET-Anwendungen einbauen, die alle möglichen coolen Möglichkeiten für QR-Codes eröffnet. Iron Barcode kommerzielle Lizenz ist zu einem sehr niedrigen Preis erhältlich mit einer kostenlose Testlizenz.

< PREVIOUS
Version 4 QR-Code mit bis zu 50 Zeichen (Anleitung für Anfänger)
NÄCHSTES >
Wie man einen QR-Code für ein Google-Formular erstellt

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 1,246,703 Lizenzen anzeigen >