HERRAMIENTAS DE CóDIGO DE BARRAS

Cómo entender el reconocimiento de códigos QR con Deep Learning

Publicado en 29 de agosto, 2023
Compartir:

Respuesta rápida(QR) Los códigos se han convertido en parte integrante de nuestra vida digital, facilitando el intercambio de datos y la recuperación de información sin fisuras. Reconocer códigos QR en imágenes es una valiosa aplicación del aprendizaje profundo, un subconjunto de la inteligencia artificial. En este artículo, te guiaremos a través del proceso de creación de un sistema de reconocimiento de códigos QR mediante aprendizaje profundo en .NET/C#.

Cómo entender el reconocimiento de códigos QR con Deep Learning

El aprendizaje profundo, una rama del aprendizaje automático, consiste en entrenar redes neuronales para aprender patrones complejos a partir de datos. En el contexto del reconocimiento de códigos QR, los modelos de aprendizaje profundo pueden entrenarse para identificar y decodificar códigos QR a partir de imágenes con distintos tamaños, orientaciones y condiciones. Redes neuronales convolucionales(CNNs) son una opción popular para tareas basadas en imágenes como el reconocimiento de códigos QR debido a su capacidad para capturar características visuales intrincadas.

En este artículo utilizaremosConstructor de modelos ML.NET para entrenar nuestro modelo.

Constructor de modelos ML.NET

Constructor de modelos es una potente herramienta proporcionada por Microsoft como parte del programaML.NET para crear modelos de aprendizaje automático en .NET/C#. Simplifica y acelera el proceso de creación de modelos de aprendizaje automático personalizados sin necesidad de tener un conocimiento profundo de los algoritmos de aprendizaje automático ni una gran experiencia en codificación. Model Builder está diseñado para ser fácil de usar y accesible, por lo que es una gran herramienta para los desarrolladores que quieren aprovechar las capacidades de aprendizaje automático en sus aplicaciones. Model Builder es compatible con AutoML, que explora automáticamente diferentes algoritmos de aprendizaje automático y configuraciones para ayudarle a encontrar el que mejor se adapte a su escenario.

Entrenamiento del modelo de reconocimiento de códigos QR

El entrenamiento de un modelo de reconocimiento de códigos QR mediante Model Builder implica una serie de pasos que le guiarán a través del proceso de creación y entrenamiento del modelo. En esta guía paso a paso, le guiaremos a través de cada etapa de la formación de un modelo de código QR utilizando Model Builder en .NET/C#.

Paso 1: Configurar el entorno

Antes de sumergirnos en la implementación, asegúrese de que tiene los siguientes requisitos previos:

  • Visual Studio: Descargar e instalarVisual Studioun entorno de desarrollo integrado y versátil(IDE) para el desarrollo .NET.
  • Model Builder: Puede descargar el Model Builder de ML.NET haciendo clic enaquí.

Paso 2: Preparación de los datos

Necesitamos imágenes de códigos QR para entrenar nuestro modelo. Puede obtener imágenes de códigos QR enKaggle oRoboflow. He descargado imágenes de código QR de Roboflow para este ejemplo.

Paso 3: Abrir el Model Builder

Abrir proyecto de Visual Studio.

Haga clic con el botón derecho en Proyecto > Añadir > Modelo de aprendizaje automático...

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 1

Aparecerá la siguiente ventana.

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 2

Indique el nombre del modelo y pulse el botón Añadir. Aparecerá la siguiente ventana:

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 3

Desplácese hacia abajo y busque "Detección de objetos" en Visión por ordenador.

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 4

Paso 4: Seleccionar el entorno de formación

Seleccione Detección de objetos ya que tenemos que detectar códigos QR del conjunto de datos dado. Seleccione Local o Azure según sus preferencias. Para este ejemplo seleccionamos Local.

Tras hacer clic en Local, aparecerá la siguiente ventana:

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 5

Seleccione una CPU o GPU local según su elección. También puede seleccionar Azure. Para ello, debe disponer de una suscripción activa a Azure. Después de seleccionar su entorno de pruebas, haga clic en el botón Siguiente. Aparecerá la siguiente ventana.

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 6

Paso 5: Seleccionar datos

La selección de datos es la parte más importante del proceso de formación. Como ya he mencionado, obtendré los datos deRobo Flujo. Abra RoboFlow, busque el código QR. Los datos pueden tener códigos QR blancos o tener muchas características locales. Estoy utilizando la detección de QR Computer VisionConjunto de datos para este tutorial. Descargue los datos seleccionando el formato. He elegido el formato COCO para descargar estos datos. Este formato se utilizará posteriormente para el preprocesamiento de datos y el reconocimiento de imágenes.

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 7

Ahora que ya tienes los datos, volvamos a Visual Studio. Seleccione la ruta de entrada del archivo Coco descargado anteriormente. También puede elegir Vott, pero para ello necesita crear un fichero Vott para sus datos. Aparecerá la siguiente ventana.

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 8

Ahora, haga clic en el botón Paso siguiente y vaya a la pestaña Tren.

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 9

Paso 6: Entrenar el modelo de detección de códigos QR

Ahora, haga clic en Iniciar modelo de formación para iniciar la formación. El Model Builder convertirá automáticamente en imágenes binarias y utilizará las redes neuronales preferidas en consecuencia. No necesitamos especificar nada. Lo mejor de Model Builder es que un desarrollador con una mínima formación en aprendizaje profundo puede entrenar, probar y consumir un modelo.

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 10

Model Builder entrenará el modelo en el conjunto de datos especificado y mostrará el progreso del entrenamiento. La formación anterior llevará tiempo, dependiendo del sistema. El modelo tomará todos los códigos QR uno a uno y aprenderá sus características. Puede probar su modelo pasando cualquier imagen de código QR de prueba al modelo una vez completado el entrenamiento.

Paso 7: Evaluar el modelo

Tras el entrenamiento, el Model Builder evaluará el rendimiento del modelo en los datos de validación.

Verá métricas de evaluación como la exactitud, la precisión, la recuperación y la puntuación F1. Estas métricas evalúan el rendimiento del modelo.

Paso 8: Consumir

Ahora que nuestro modelo está entrenado y el Detector de Códigos QR está listo, necesitamos consumir ese modelo para detectar el código y luego decodificar el Código QR detectado. Este Modelo sólo detectará si una entrada dada contiene algún código de respuesta rápida o no. Esto no descodificará el código QR. Para decodificar códigos QR, necesitamos una biblioteca de terceros. Iron Barcode es la mejor librería para leer la Imagen del Código QR. Exploremos un poco sobre Iron Barcode antes de continuar.

Iron Barcode - La biblioteca de descodificación de códigos QR

IronBarcode es una biblioteca .NET diseñada específicamente para trabajar con códigos QR, un tipo de código de barras 2D muy utilizado para codificar información como URL, texto, datos de contacto, etc. Esta biblioteca simplifica la creación de códigos QR proporcionando a los desarrolladores herramientas intuitivas para generar códigos QR con características personalizables como tamaño, color y corrección de errores.

Además, IronBarcode permite extraer información de códigos QR incrustados en imágenes, lo que lo convierte en un recurso indispensable para integrar a la perfección las funciones de generación y descodificación de códigos QR en aplicaciones .NET.

En este tutorial, lo usaremos para decodificar el Código QR si el Código QR es detectado desde nuestro modelo.

Instalar el paquete NuGet Iron Barcode

Escriba el siguiente comando en NuGet Package Manager Console para descargar el archivoPaquete NuGet IronBarcode.

Install-Package BarCode

El comando anterior instalará el paquete Iron Barcode y añadirá una referencia a nuestro proyecto.

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 11

Descodificar códigos QR

Escriba el siguiente código para leer el código QR detectado.

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#

El resultado es el siguiente:

Cómo entender el reconocimiento de códigos QR con Deep Learning: Figura 12

Conclusión

En conclusión, el Model Builder y la librería IronBarcode son un valioso combo para los desarrolladores .NET que quieran trabajar con códigos QR. Model Builder facilita el complicado trabajo de crear y entrenar modelos para el reconocimiento de códigos QR. Y cuando añades la librería IronBarcode, las cosas se simplifican aún más: ayuda a leer códigos QR a partir de imágenes sin complicaciones. Este trabajo en equipo no sólo mejora las tareas de inventario y marketing, sino que también hace que sus aplicaciones sean más divertidas de usar. Cuando Model Builder e IronBarcode se unen, es como mezclar tecnología superinteligente en sus aplicaciones .NET, abriendo todo tipo de posibilidades geniales para el código QR. Código de barras de hierro licencia comercial está disponible a un coste muy bajo con unlicencia de prueba gratuita.

< ANTERIOR
Versión 4 Código QR de hasta 50 caracteres (Guía para principiantes)
SIGUIENTE >
Cómo crear un código QR para un formulario de Google

¿Listo para empezar? Versión: 2024.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 1,320,639 Ver licencias >