Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Construye un Reconocedor de Dígitos con Raspberry Pi, TensorFlow y OpenCV

Descubre cómo entrenar una red neuronal convolucional profunda para transcribir dígitos manuscritos y desplegarla en una Raspberry Pi usando la cámara Pi, OpenCV y TensorFlow.

Visión General

En este proyecto recorreremos todo el pipeline de IA: desde la preparación de datos y el entrenamiento del modelo en un portátil, hasta el reconocimiento de dígitos en tiempo real con la cámara de la Pi. La solución se basa en Scikit-Learn y OpenCV 3.3 para manipulación de imágenes, y Keras (con backend TensorFlow) para el componente de aprendizaje profundo.

Utilizamos el dataset MNIST —60.000 imágenes de entrenamiento y 10.000 de prueba de dígitos en escala de grises de 28×28 píxeles. Las imágenes capturadas por la cámara de la Pi se preprocesan para adaptarlas a este formato antes de alimentar la red entrenada.

La arquitectura de la red es una pila convolucional estándar seguida de una capa totalmente conectada de salida con diez neuronas, cada una representando un dígito (0-9).

Una vez entrenado el modelo, los pesos se transfieren a la Raspberry Pi. Un script ligero en Python captura un fotograma, aplica conversión a escala de grises, umbralizado, redimensionado, inversión y luego realiza la inferencia.

Configuración del Hardware

Para la demostración monté la cámara Pi en un soporte improvisado —un sencillo rig manual que mantenía la cámara enfocada en un solo dígito. En la práctica, un soporte fijo o una pequeña carcasa pueden mejorar la estabilidad.

Instalación de Software

Crea un entorno virtual de Python en la Pi e instala las librerías requeridas. Los comandos siguientes asumen que tienes Raspberry Pi OS funcionando y Python 3.7+.

source ~/.profile workon cv python PiCameraApp.py --picamera 1

Instalar TensorFlow

pip install tensorflow

Instalar Keras

pip install keras

Instalar OpenCV 3.3

OpenCV debe compilarse desde el código fuente para habilitar optimizaciones completas en la Pi. Hay una guía paso a paso disponible en PyImageSearch.

https://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/

Finalmente, instala la librería PiCamera con optimizaciones de NumPy:

pip install "picamera[array]"

Entrenamiento del Modelo

Ejecuta el script de entrenamiento en un portátil (preferiblemente con GPU). El script define la CNN en Keras, la compila, la entrena con los datos MNIST, valida el rendimiento y guarda los pesos en model_weights.h5.

python Train_MNIST.py

Si tienes una GPU NVIDIA, instala TensorFlow con soporte GPU y los drivers CUDA para acelerar el entrenamiento. Sin GPU el proceso seguirá completándose, aunque tardará más.

Después del entrenamiento, transfiere model_weights.h5 a la Pi mediante scp o WinSCP.

Reconocimiento de Dígitos en Tiempo Real

Lanza el script de reconocimiento en la Pi. El programa captura un fotograma al pulsar t y termina con q. La precisión depende en gran medida de la iluminación, el ángulo y la claridad de la escritura. Los resultados típicos superan el 95% de precisión en dígitos limpios y de alto contraste.

Pipeline de Preprocesamiento de Imagen

El modelo genera un vector de probabilidad de longitud diez. El índice con mayor probabilidad es el dígito predicho.

Conclusiones Clave

Este ejemplo demuestra un flujo de trabajo completo de extremo a extremo: preparación de datos, entrenamiento del modelo, despliegue e inferencia en un ordenador de placa única. El código está disponible en GitHub para quien quiera experimentar o extender el sistema.

Referencias

Fuente: AI Digit Recognition with PiCamera

Proceso de manufactura

  1. Cómo leer temperatura con un DS18B20 en Raspberry Pi 2
  2. Medición de temperatura en Raspberry Pi con sensores 1-Wire Maxim y puente I2C DS2482
  3. Monitorización precisa de temperatura en armario de servidores con Raspberry Pi
  4. Posture Pal con Walabot: monitor distancia tiempo real para evitar dolor cuello y espalda
  5. Primeros Pasos con TJBot: Construye, Configura y Controla por Voz tu Robot IA
  6. Construye un Segway Autoequilibrado con Raspberry Pi
  7. Extensión de GoPiGo v2 en Windows 10 IoT Core para Raspberry Pi 3
  8. Acceed IGS-9822DGP: Switch Gigabit 12 Puertos con 4 SFP – Solución Industrial de Alto Rendimiento
  9. AAEON e Intel Entregan FWS-8600: Network Appliance 2U 40-Core con 400 Gbps Throughput
  10. Lanner mejora sus appliances de red con procesadores Intel Xeon Scalable de 2ª generación
  11. Combatir inundaciones urbanas con soluciones de red IoT