Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Créer un Reconnaissance de Chiffres sur Raspberry Pi avec TensorFlow et OpenCV

Découvrez comment entraîner un réseau de neurones convolutif profond pour transcrire des chiffres manuscrits et le déployer sur un Raspberry Pi en utilisant la caméra Pi, OpenCV et TensorFlow.

Vue d'ensemble

Dans ce projet, nous parcourons l'ensemble du pipeline d'IA : de la préparation des données et l'entraînement du modèle sur un ordinateur portable, à la reconnaissance de chiffres en temps réel sur la caméra du Pi. La solution repose sur Scikit-Learn et OpenCV 3.3 pour la manipulation d'images, et Keras (avec backend TensorFlow) pour la composante d'apprentissage profond.

Nous utilisons le jeu de données MNIST — 60 000 images d'entraînement et 10 000 images de test de chiffres en niveaux de gris de 28×28 pixels. Les images capturées par la caméra du Pi sont prétraitées pour correspondre à ce format avant d'être injectées dans le réseau entraîné.

L'architecture du réseau est une pile convolutionnelle standard suivie d'une couche de sortie entièrement connectée avec dix neurones, chacun représentant un chiffre (0-9).

Une fois le modèle entraîné, les poids sont transférés sur le Raspberry Pi. Un script Python léger capture une image, applique la conversion en niveaux de gris, le seuillage, le redimensionnement, l'inversion, puis effectue l'inférence.

Configuration Matérielle

Pour la démonstration, j'ai monté la caméra Pi sur un support improvisé — un simple rig tenu à la main qui maintenait la caméra focalisée sur un seul chiffre. En pratique, un support fixe ou un petit boîtier peut améliorer la stabilité.

Installation Logicielle

Créez un environnement virtuel Python sur le Pi et installez les bibliothèques requises. Les commandes ci-dessous supposent que vous disposez d'un Raspberry Pi OS fonctionnel et de Python 3.7+.

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

Installer TensorFlow

pip install tensorflow

Installer Keras

pip install keras

Installer OpenCV 3.3

OpenCV doit être compilé depuis les sources pour activer les optimisations complètes sur le Pi. Un guide étape par étape est disponible sur PyImageSearch.

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

Enfin, installez la bibliothèque PiCamera avec les optimisations NumPy :

pip install "picamera[array]"

Entraînement du Modèle

Exécutez le script d'entraînement sur un ordinateur portable (de préférence avec un GPU). Le script définit le CNN dans Keras, le compile, l'entraîne sur les données MNIST, valide les performances, puis sauvegarde les poids dans model_weights.h5.

python Train_MNIST.py

Si vous disposez d'un GPU NVIDIA, installez TensorFlow avec support GPU et les pilotes CUDA pour accélérer l'entraînement. Sans GPU, le processus se terminera tout de même, mais prendra plus de temps.

Après l'entraînement, transférez model_weights.h5 sur le Pi via scp ou WinSCP.

Reconnaissance de Chiffres en Temps Réel

Lancez le script de reconnaissance sur le Pi. Le programme capture une image quand vous appuyez sur t et se termine avec q. La précision dépend largement de l'éclairage, de l'angle et de la netteté de l'écriture. Les résultats typiques atteignent plus de 95 % de précision sur des chiffres nets et à fort contraste.

Pipeline de Prétraitement d'Image

Le modèle génère un vecteur de probabilité de longueur dix. L'indice avec la probabilité la plus élevée est le chiffre prédit.

Points Clés

Cet exemple démontre un flux de travail complet de bout en bout : préparation des données, entraînement du modèle, déploiement et inférence sur un ordinateur monocarte. Le code est disponible sur GitHub pour quiconque souhaite expérimenter ou étendre le système.

Références

Source : AI Digit Recognition with PiCamera

Processus de fabrication

  1. Acceed IGS-9822DGP : switch industriel 12 ports Gigabit avec 4 ports SFP – solution réseau haute performance
  2. AAEON et Intel livrent le FWS-8600 : appliance réseau 2U 40 cœurs, débit 400 Gbps
  3. Lanner améliore ses appliances réseau avec les processeurs Intel Xeon Scalable de 2e génération
  4. Comment lire la température avec un DS18B20 sur Raspberry Pi 2
  5. Mesure de température sur Raspberry Pi avec capteurs 1‑Wire Maxim et pont I2C DS2482
  6. Surveillance précise de la température dans un placard serveur avec Raspberry Pi
  7. Posture Pal avec Walabot – Surveillance de distance en temps réel pour arrêter douleurs cou et dos
  8. Démarrage avec TJBot : Construire, Configurer et Contrôler par la Voix Votre Propre Robot IA
  9. Construire un Segway auto‑équilibré avec Raspberry Pi