Projet ENSTO : Automatisation d'accès par lecture de plaques

Le contexte

Dans le cadre de mon projet de fin de BTS CIEL, mon équipe et moi avons travaillé pour l'entreprise ENSTO. L'objectif : créer un système automatisé pour gérer l'accueil des camions de livraison (barrière automatique, borne tactile, base de données).

Mon rôle : Reconnaissance d'images

Ma mission était de concevoir le module de reconnaissance de plaques d'immatriculation (LPR). En gros, mon programme devait détecter un camion à l'entrée, isoler sa plaque, lire le texte, et l'envoyer en temps réel à l'API de notre serveur.

Pour la stack technique, j'ai utilisé :

Un problème matériel

Au début, j'étais parti sur une solution basée sur l'Intelligence Artificielle (YOLOv8). Sauf que j'ai vite réalisé que notre matériel n'était pas adapté : les processeurs n'avaient pas les instructions requises (AVX) pour faire tourner les modèles de Machine Learning. L'IA faisait littéralement planter le système. J'ai dû totalement repenser mon approche.

Test de détection par IA (YOLOv8)
Tests initiaux de détection par IA (YOLOv8) fonctionnels sur ma machine, mais incompatibles avec le matériel de l'école.

Ma solution

J'ai abandonné l'IA pour tout recoder de zéro avec une approche 100% mathématique et algorithmique via OpenCV. J'ai créé un pipeline de traitement d'images léger et sur-mesure :

Au final, j'ai packagé tout ça dans une interface logicielle en Python. Mon application pilote la caméra du Raspberry Pi à distance (via SSH), traite l'image localement, et expédie la plaque à la base de données.

Interface du logiciel ENSTO LPR
Le panneau de contrôle opérateur développé en Python (Tkinter) pour piloter l'analyse.