OUTILS DE CODE-BARRES

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond (Deep Learning)

Publié août 29, 2023
Partager:

Réponse rapide(QR) sont devenus partie intégrante de notre vie numérique, facilitant le partage de données et la recherche d'informations en toute transparence. La reconnaissance des codes QR dans les images est une application précieuse de l'apprentissage profond, un sous-ensemble de l'intelligence artificielle. Dans cet article, nous vous guiderons à travers le processus de construction d'un système de reconnaissance de code QR utilisant l'apprentissage profond en .NET/C#.

Comprendre la reconnaissance des codes QR avec l'apprentissage profond

L'apprentissage profond, une branche de l'apprentissage automatique, consiste à former des réseaux neuronaux pour apprendre des modèles complexes à partir de données. Dans le contexte de la reconnaissance des codes QR, les modèles d'apprentissage profond peuvent être formés pour identifier et décoder les codes QR à partir d'images de tailles, d'orientations et de conditions variées. Réseaux neuronaux convolutifs(CNNs) sont un choix populaire pour les tâches basées sur l'image telles que la reconnaissance des codes QR en raison de leur capacité à capturer des caractéristiques visuelles complexes.

Dans cet article, nous utiliseronsML.NET Model Builder (Constructeur de modèles) pour l'entraînement de notre modèle.

ML.NET Model Builder (Constructeur de modèles)

Constructeur de modèles est un outil puissant fourni par Microsoft dans le cadre du programmeML.NET pour construire des modèles d'apprentissage automatique en .NET/C#. Il simplifie et accélère le processus de création de modèles d'apprentissage automatique personnalisés sans nécessiter de connaissances approfondies des algorithmes d'apprentissage automatique ni de compétences étendues en matière de codage. Model Builder est conçu pour être convivial et accessible, ce qui en fait un outil idéal pour les développeurs qui souhaitent exploiter les capacités de l'apprentissage automatique dans leurs applications. Model Builder prend en charge AutoML, qui explore automatiquement différents algorithmes et paramètres d'apprentissage automatique pour vous aider à trouver celui qui convient le mieux à votre scénario.

Modèle de reconnaissance du code QR

La formation d'un modèle de reconnaissance de code QR à l'aide de Model Builder comporte une série d'étapes qui vous guident tout au long du processus de création et de formation du modèle. Dans ce guide étape par étape, nous vous présenterons chaque étape de la formation d'un modèle de code QR à l'aide de Model Builder en .NET/C#.

Étape 1 : Mise en place de l'environnement

Avant de nous plonger dans la mise en œuvre, assurez-vous que vous disposez des conditions préalables suivantes :

  • Visual Studio : Télécharger et installerVisual Studioun environnement de développement intégré polyvalent(L'IDE) pour le développement .NET.
  • Model Builder : Vous pouvez télécharger le ML.NET Model Builder en cliquant surici.

Étape 2 : Préparation des données

Nous avons besoin d'images de codes QR pour entraîner notre modèle. Vous pouvez obtenir des images de codes QR à partir deKaggle ouRoboflow. Pour cet exemple, j'ai téléchargé des images de codes QR à partir de Roboflow.

Étape 3 : Ouvrir le Model Builder

Ouvrir le projet Visual Studio.

Clic droit sur Projet > Ajouter > Modèle d'apprentissage automatique...

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 1

La fenêtre suivante s'affiche.

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 2

Donnez le nom du modèle et cliquez sur le bouton Ajouter. La fenêtre suivante apparaît :

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 3

Faites défiler vers le bas et trouvez "Object Detection" sous Computer Vision.

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 4

Étape 4 : Sélection de l'environnement de formation

Sélectionnez Détection d'objets car nous devons détecter des codes QR à partir de l'ensemble de données donné. Sélectionnez Local ou Azure selon votre préférence. Dans cet exemple, nous choisissons l'option "Local".

Après avoir cliqué sur Local, la fenêtre suivante apparaît :

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 5

Sélectionnez un CPU ou un GPU local selon votre choix. Vous pouvez également sélectionner Azure. Pour cela, vous devez disposer d'un abonnement Active Azure. Après avoir sélectionné votre environnement de test, cliquez sur le bouton Suivant. La fenêtre suivante apparaît.

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 6

Étape 5 : Sélection des données

La sélection des données est la partie la plus importante du processus de formation. Comme indiqué précédemment, j'obtiendrai les données à partir deRobo Flow. Ouvrez RoboFlow, recherchez le code QR. Les données peuvent comporter des codes QR blancs ou de nombreuses caractéristiques locales. J'utilise la détection de QR Vision par ordinateurEnsemble de données pour ce tutoriel. Télécharger les données en sélectionnant le format. J'ai choisi le format COCO pour télécharger ces données. Ce format sera utilisé ultérieurement pour le prétraitement des données et la reconnaissance des images.

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 7

Maintenant que vous avez des données, revenons à Visual Studio. Sélectionnez le chemin d'entrée du fichier Coco téléchargé ci-dessus. Vous pouvez également choisir Vott, mais pour cela, vous devez créer un fichier Vott pour vos données. La fenêtre suivante apparaît.

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 8

Cliquez sur le bouton Étape suivante et passez à l'onglet Train.

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 9

Étape 6 : Entraînement du modèle de détection du code QR

Cliquez ensuite sur Démarrer le modèle de formation pour commencer la formation. Le Model Builder convertira automatiquement les images binaires et utilisera les réseaux neuronaux préférés en conséquence. Nous n'avons pas besoin de préciser quoi que ce soit. L'avantage de Model Builder est qu'un développeur disposant d'un minimum de connaissances en deep learning peut entraîner, tester et consommer un modèle.

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 10

Model Builder entraîne le modèle sur l'ensemble de données spécifié et affiche la progression de l'entraînement. La formation ci-dessus prendra du temps en fonction du système. Le modèle prendra tous les codes QR un par un et apprendra leurs caractéristiques. Vous pouvez tester votre modèle en lui transmettant l'image d'un code QR de test une fois l'apprentissage terminé.

Étape 7 : Évaluer le modèle

Après la formation, Model Builder évalue les performances du modèle sur les données de validation.

Vous verrez des mesures d'évaluation telles que l'exactitude, la précision, le rappel et le score F1. Ces mesures permettent d'évaluer les performances du modèle.

Étape 8 : Consommer

Maintenant que notre modèle est entraîné et que le détecteur de code QR est prêt, nous devons utiliser ce modèle pour détecter le code, puis décoder le code QR détecté. Ce modèle détecte uniquement si une entrée donnée contient un code de réponse rapide ou non. Cela ne décodera pas le code QR. Pour le décodage du code QR, nous avons besoin d'une bibliothèque tierce. Iron Barcode est la meilleure bibliothèque pour lire l'image du code QR. Explorons un peu le code-barres Iron avant d'aller plus loin.

Iron Barcode - La bibliothèque de décodage des codes QR

IronBarcode est une bibliothèque .NET spécialement conçue pour travailler avec les codes QR, un type de code-barres 2D largement utilisé pour encoder des informations telles que des URL, du texte, des coordonnées, etc. Cette bibliothèque simplifie la création de codes QR en fournissant aux développeurs des outils intuitifs pour générer des codes QR avec des caractéristiques personnalisables telles que la taille, la couleur et la correction des erreurs.

En outre, IronBarcode permet d'extraire des informations des codes QR intégrés dans des images, ce qui en fait une ressource indispensable pour intégrer de manière transparente des capacités de génération et de décodage de codes QR dans les applications .NET.

Dans ce tutoriel, nous l'utiliserons pour décoder le code QR si celui-ci est détecté à partir de notre modèle.

Installer le package NuGet Iron Barcode

Ecrivez la commande suivante dans la console du gestionnaire de paquets NuGet pour télécharger le fichierIronBarcode paquet NuGet.

Install-Package BarCode

La commande ci-dessus installera le paquetage Iron Barcode et ajoutera une référence à notre projet.

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 11

Décoder les codes QR

Ecrivez le code suivant pour lire le code QR détecté.

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#

Le résultat est le suivant :

Comment comprendre la reconnaissance des codes QR avec l'apprentissage profond : Figure 12

Conclusion

En conclusion, le Model Builder et la bibliothèque IronBarcode constituent une combinaison précieuse pour les développeurs .NET qui souhaitent travailler avec des codes QR. Model Builder facilite la création et l'apprentissage de modèles pour la reconnaissance des codes QR. Et lorsque vous ajoutez la bibliothèque IronBarcode, les choses deviennent encore plus simples - elle permet de lire les codes QR à partir d'images sans le moindre problème. Ce travail d'équipe n'améliore pas seulement les tâches d'inventaire et de marketing, il rend aussi vos applications plus agréables à utiliser. Lorsque Model Builder et IronBarcode s'associent, c'est comme si vous intégriez une technologie super intelligente à vos applications .NET, ce qui ouvre toutes sortes de possibilités intéressantes pour les codes QR. Code-barres Iron la licence commerciale est disponible à un prix très bas avec un abonnement d'un anlicence d'essai gratuite.

< PRÉCÉDENT
Version 4 QR Code jusqu'à 50 caractères (Guide du débutant)
SUIVANT >
Comment créer un code QR pour un formulaire Google