Passer au contenu du pied de page
OUTILS DE CODES-BARRES

Apprentissage machine des codes QR : un tutoriel pour les développeurs

Les codes QR (réponse rapide) sont devenus une partie intégrante de la société moderne, révolutionnant la façon dont l'information est partagée et accessible. Ces codes-barres bidimensionnels se composent d'une matrice de carrés noirs et blancs qui peuvent être scannés à l'aide d'une caméra de smartphone pour récupérer rapidement les informations stockées, telles que des URL, des coordonnées, des URL de sites Web, des détails de produits, et plus encore. Cependant, à mesure que la technologie évolue, les capacités des codes QR aussi. L'apprentissage automatique (ML) a émergé comme un outil puissant pour améliorer les processus de génération, de reconnaissance et de décodage des codes QR, conduisant à une meilleure expérience utilisateur et à une fonctionnalité accrue.

Le monde de l'échange d'informations et de données a été transformé par l'utilisation généralisée des codes QR et des codes-barres. Ces codes bidimensionnels fournissent un accès rapide à du contenu numérique et servent divers objectifs dans de nombreux secteurs. Cependant, distinguer entre les codes QR et les codes-barres peut être difficile, surtout lorsqu'il s'agit d'une gamme diversifiée de codes. En utilisant la puissance de l'apprentissage automatique (ML) et la plateforme .NET/C#, les développeurs peuvent créer un système intelligent qui classe avec précision les codes QR et les codes-barres, simplifiant le traitement des données et améliorant l'expérience utilisateur. Intégrer les capacités de décodage d'IronBarcode améliore encore la solution, permettant l'extraction précise de contenu à partir des codes reconnus.

Dans cet article, nous entraînerons le modèle qui classera l'entrée donnée en code-barres ou code QR, puis nous décoderons le code d'entrée en utilisant IronBarcode.

Utilisation de ML.NET Model Builder pour la classification des codes QR

Model Builder, un outil intégré à Visual Studio, simplifie le processus de création de modèles d'apprentissage automatique en fournissant une interface intuitive. Nous utiliserons Model Builder pour créer un modèle de classification qui distingue entre les codes QR et les codes-barres. Une fois la classification terminée, nous intégrerons IronBarcode pour décoder les codes reconnus.

Étape 1 : Collecte des données

La toute première étape pour entraîner n'importe quel type de modèle est la collecte de données. Nous avons besoin de données pour entraîner le modèle. J'ai téléchargé des données depuis Kaggle. Vous pouvez les télécharger à partir de toute source selon vos préférences. Après avoir téléchargé l'ensemble de données, créez un répertoire principal et placez les deux ensembles de données à l'intérieur de ce répertoire principal. Les données sont organisées en deux sous-répertoires :

  1. Codes-barres
  2. Codes QR

QR Code Machine Learning (Tutoriel Développeur) : Figure 1

L'étape suivante consiste à ouvrir Visual Studio et à créer un nouveau modèle d'apprentissage automatique.

Étape 2 : Créer un Projet dans Visual Studio et Ajouter un nouveau Modèle d'Apprentissage Automatique

Créez votre projet dans Visual Studio. Le projet peut être de n'importe quel type, tel qu'une API Web ASP.NET, ASP.NET MVC, Formulaires Web, ou une application console. Dans cet exemple, j'utilise une application console. Cliquez avec le bouton droit de la souris sur le Projet à partir de Solution Explorer. Sélectionnez Ajouter > Modèle d'Apprentissage Automatique comme illustré ci-dessous.

QR Code Machine Learning (Tutoriel Développeur) : Figure 2

Nommez votre modèle d'apprentissage automatique et cliquez sur le bouton Ajouter.

QR Code Machine Learning (Tutoriel Développeur) : Figure 3

Étape 3 : Sélectionner le Scénario

Une nouvelle fenêtre apparaîtra après l'ajout du fichier du modèle d'apprentissage automatique. Faites défiler vers le bas et sélectionnez Classification d'images. La classification d'images est l'une des techniques de vision par ordinateur que nous allons utiliser dans ce tutoriel. Nous sélectionnons la classification d'images plutôt que la reconnaissance d'images car nous avons seulement besoin de différencier entre le code QR (code de réponse rapide) et le code-barres, nous n'avons pas besoin de les reconnaître à partir d'une image donnée.

QR Code Machine Learning (Tutoriel Développeur) : Figure 4

Étape 4 : Sélectionner l'Environnement

L'étape suivante après la sélection d'un scénario est de choisir l'environnement. Nous pouvons choisir soit notre système local pour entraîner le modèle, soit Azure Cloud. Nous devons avoir un abonnement actif à Azure pour utiliser Azure comme notre environnement.

Étape 5 : Sélectionner les Données

À cette étape, nous devons indiquer les données que nous avons collectées auparavant à l'étape #1. Nous avons déjà organisé les données en sous-catégories à l'étape #1 comme requis par Model Builder.

Indiquez le chemin du répertoire principal de votre ensemble de données dans l'option Sélectionner Dossier. Nous pouvons prévisualiser nos données comme illustré ci-dessous.

QR Code Machine Learning (Tutoriel Développeur) : Figure 5

Nous pouvons également voir le dossier QR Code en cliquant sur l'onglet codes QR dans la prévisualisation des données.

QR Code Machine Learning (Tutoriel Développeur) : Figure 6

Après avoir sélectionné les données, cliquez sur le bouton Suivant, cela vous mènera à l'écran de formation.

Étape 6 : Entraîner le Modèle

Cliquez sur Démarrer le modèle d'entraînement, et il commencera l'entraînement comme illustré ci-dessous. Veuillez vous assurer que Visual Studio n'est pas ouvert en mode Administrateur, sinon cela produira une erreur.

QR Code Machine Learning (Tutoriel Développeur) : Figure 7

L'entraînement commencera et prendra du temps. La durée de l'entraînement variera en fonction des capacités du système. Model Builder utilise AutoML. Il utilisera automatiquement des techniques d'apprentissage automatique appropriées, le niveau de correction d'erreur, reconnaîtront des motifs, réduiront le bruit, ajusteront le contraste, le processus d'apprentissage, et d'autres réglages en conséquence.

Étape 7 : Évaluation du Modèle

Après l'entraînement, évaluez les performances du modèle en lui passant les données de test pour assurer une classification précise.

Étape 8 : Consommer le Modèle

Une fois le modèle entraîné et évalué, nous pouvons l'exporter et le consommer. Dans notre cas d'utilisation, nous devons classifier le code QR du code-barres puis lire ses données encodées. Nous avons besoin d'une bibliothèque tierce pour décoder des données puisqu’un modèle d'apprentissage automatique ne peut pas décoder le code QR ou le code-barres, il se contentera de les classifier.

IronBarcode est une bibliothèque idéale pour décoder à la fois le code QR et le code-barres. Nous pouvons décoder les deux types de codes en utilisant une seule bibliothèque de manière facile. Faisons une petite introduction sur IronBarcode avant de continuer.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite