Saltar al pie de página
HERRAMIENTAS DE CóDIGO DE BARRAS

Código QR Aprendizaje Automático: Un Tutorial para Desarrolladores

Los códigos de respuesta rápida (QR) se han convertido en una parte integral de la sociedad moderna, revolucionando la forma en que se comparte y accede a la información. Estos códigos de barras bidimensionales consisten en una matriz de cuadrados negros y blancos que se pueden escanear utilizando la cámara de un teléfono inteligente para recuperar rápidamente información almacenada, como URL, detalles de contacto, URL de sitios web, detalles de productos y más. Sin embargo, a medida que la tecnología avanza, las capacidades de los códigos QR también. El aprendizaje automático (ML) ha surgido como una herramienta poderosa para mejorar los procesos de generación, reconocimiento y decodificación de códigos QR, lo que lleva a experiencias de usuario mejoradas y mayor funcionalidad.

El mundo del intercambio de información y datos ha sido transformado por el uso generalizado de códigos QR y códigos de barras. Estos códigos bidimensionales proporcionan acceso rápido a contenido digital y sirven a varios propósitos en diferentes industrias. Sin embargo, distinguir entre códigos QR y códigos de barras puede ser un desafío, especialmente cuando se trata de una variedad diversa de códigos. Mediante el uso del poder del aprendizaje automático (ML) y el marco .NET/C#, los desarrolladores pueden crear un sistema inteligente que clasifique con precisión los códigos QR y los códigos de barras, agilizando el procesamiento de datos y mejorando las experiencias de usuario. La integración de las capacidades de decodificación de IronBarcode mejora aún más la solución, permitiendo la extracción precisa de contenido de los códigos reconocidos.

En este artículo, entrenaremos el modelo que clasificará la entrada dada como Código de Barras o Código QR, y después de eso, decodificaremos el código de entrada utilizando IronBarcode.

Uso de ML.NET Model Builder para la clasificación de códigos QR

Model Builder, una herramienta integrada dentro de Visual Studio, simplifica el proceso de construcción de modelos de aprendizaje automático al proporcionar una interfaz intuitiva. Usaremos Model Builder para crear un modelo de clasificación que distinga entre códigos QR y códigos de barras. Una vez que la clasificación esté completa, integraremos IronBarcode para decodificar los códigos reconocidos.

Paso 1: Recopilación de datos

El primer paso para entrenar cualquier tipo de modelo es la recolección de datos. Necesitamos datos para entrenar el modelo. He descargado datos de Kaggle. Puedes descargarlo de cualquier fuente según tu preferencia. Después de descargar el conjunto de datos, crea un directorio principal y coloca ambos conjuntos de datos dentro de ese directorio principal. Los datos están organizados en dos subdirectorios:

  1. Códigos de Barras
  2. Códigos QR

QR Code Machine Learning (Developer Tutorial): Figura 1

El siguiente paso es abrir Visual Studio y crear un nuevo modelo de aprendizaje automático.

Paso 2: Crear un proyecto en Visual Studio y agregar un nuevo modelo de aprendizaje automático

Crea tu proyecto en Visual Studio. El proyecto puede ser de cualquier tipo, como ASP.NET Web API, ASP.NET MVC, Formularios WEB o una aplicación de consola. En este ejemplo, estoy usando una aplicación de consola. Haz clic derecho en el proyecto desde el Explorador de Soluciones. Selecciona Agregar > Modelo de Aprendizaje Automático a continuación.

QR Code Machine Learning (Developer Tutorial): Figura 2

Nombra tu modelo de aprendizaje automático y haz clic en el botón Agregar.

QR Code Machine Learning (Developer Tutorial): Figura 3

Paso 3: Seleccionar escenario

Aparecerá una nueva ventana después de agregar el archivo del modelo de aprendizaje automático. Desplázate hacia abajo y selecciona Clasificación de Imágenes. La Clasificación de Imágenes es una de las técnicas de visión por computadora que vamos a utilizar en este tutorial. Estamos seleccionando la clasificación de imágenes en lugar del reconocimiento de imágenes ya que solo necesitamos diferenciar entre el Código de Respuesta Rápida (Código QR) y el Código de Barras, no necesitamos reconocerlos a partir de una imagen dada.

QR Code Machine Learning (Developer Tutorial): Figura 4

Paso 4: Seleccionar entorno

El siguiente paso después de seleccionar un escenario es elegir el entorno. Podemos elegir entre nuestro sistema local para entrenar el modelo o Azure Cloud. Debemos tener una suscripción activa a Azure para usar Azure como nuestro entorno.

Paso 5: Seleccionar datos

En este paso, necesitamos pasar los datos que hemos recopilado antes en el paso #1. Ya hemos organizado los datos en subcategorías en el paso #1 según lo requerido por el Model Builder.

Proporcione la ruta del directorio principal de su conjunto de datos en la opción Seleccionar Carpeta. Podemos previsualizar los datos a continuación.

QR Code Machine Learning (Developer Tutorial): Figura 5

También podemos ver la carpeta de Códigos QR haciendo clic en la pestaña de códigos QR en la vista previa de datos.

QR Code Machine Learning (Developer Tutorial): Figura 6

Después de seleccionar los datos, haz clic en el botón Siguiente, te llevará a la pantalla de entrenamiento.

Paso 6: Entrenar el modelo

Haz clic en Iniciar Entrenamiento del Modelo, y comenzará el entrenamiento como se muestra a continuación. Asegúrate de que Visual Studio no esté abierto en Modo Administrador, de lo contrario, arrojará un error.

QR Code Machine Learning (Developer Tutorial): Figura 7

Comenzará el entrenamiento y tomará tiempo. La duración del entrenamiento variará dependiendo de las capacidades del sistema. Model Builder utiliza AutoML. Usará automáticamente técnicas de aprendizaje automático adecuadas, nivel de corrección de errores, reconocerá patrones, reducción de ruido, ajuste de contraste, proceso de aprendizaje y otras configuraciones de acuerdo.

Paso 7: Evaluación del modelo

Después del entrenamiento, evalúa el rendimiento del modelo pasando los datos de prueba para asegurar una clasificación precisa.

Paso 8: Modelo de consumo

Una vez que el modelo está entrenado y evaluado, podemos exportarlo y consumirlo. En nuestro caso de uso, tenemos que clasificar el Código QR del Código de Barras y luego leer sus datos codificados. Necesitamos una biblioteca de terceros para decodificar datos ya que el modelo de aprendizaje automático no puede decodificar el código QR o el código de barras, solo lo clasificará.

IronBarcode es una biblioteca ideal para decodificar tanto el Código QR como el Código de Barras. Podemos decodificar ambos tipos de códigos usando una sola biblioteca de manera sencilla. Hagamos una pequeña introducción sobre IronBarcode antes de proceder.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más