Retour aux Réalisations
Logiciel / Vision par Ordinateur (IA) Travail Pratique (IA)

PCB Defect Detection

Contexte Académique

Ce projet a été conçu et développé dans le cadre du cours d'Intelligence Artificielle, plus précisément dans le module de Vision par Ordinateur. Il s'agit d'un travail pratique (TP) visant à appliquer les réseaux de neurones convolutifs et les modèles de détection d'objets en temps réel (YOLO11) à un problème industriel concret.

PCB Defect Detection
Interface graphique de démonstration ttkbootstrap pour la détection en temps réel.
01. Problématique Industrielle

Pourquoi automatiser l'inspection des PCB ?

Dans l'industrie électronique, l'inspection visuelle des cartes de circuits imprimés (PCB) bruts est traditionnellement effectuée manuellement ou avec des systèmes optiques coûteux. L'inspection humaine est lente, sujette à la fatigue et génère des erreurs. Un seul défaut non détecté (un court-circuit, une piste coupée ou un trou manquant) entraîne la détérioration de composants électroniques coûteux lors de la soudure ou le dysfonctionnement total du système.

02. Choix du Sujet & Utilité

L'apport de la Vision par Ordinateur

J'ai choisi ce sujet pour faire le pont entre le génie électrique/électronique et l'intelligence artificielle. La détection de défauts par IA (YOLO11) offre une solution automatisée, ultra-rapide (inférence GPU en temps réel) et accessible avec une précision de 97.4%, garantissant ainsi la qualité et la fiabilité des circuits avant l'assemblage.

Performances du Modèle YOLO11

96.4%
Précision de Détection (mAP50)
97.0%
Précision Moyenne
92.5%
Rappel Moyen (Recall)
94.7%
F1-Score
42 min (Tesla T4 × 2)
Temps d’Entraînement

Classes de Défauts Détectées par l'IA

Classe 0
missing_hole
Trou de perçage manquant
Classe 1
mouse_bite
Morsure ou ébréchure de bord de piste
Classe 2
open_circuit
Piste coupée / Circuit ouvert
Classe 3
short
Court-circuit entre pistes
Classe 4
spur
Bavure / Protrusion de cuivre
Classe 5
spurious_copper
Cuivre résiduel indésirable

Galerie & Visualisations d'Entraînement

Exemples de détections obtenues par le modèle YOLO11 avec boîtes englobantes et scores de confiance.
Exemples de détections obtenues par le modèle YOLO11 avec boîtes englobantes et scores de confiance.
Courbes d'apprentissage et métriques de validation pendant 100 époques d'entraînement sur Kaggle GPU T4.
Courbes d'apprentissage et métriques de validation pendant 100 époques d'entraînement sur Kaggle GPU T4.

Comment exécuter et tester le projet en local

Copiez-collez les commandes suivantes dans votre terminal pour cloner le dépôt et lancer l'interface de test :

1. Cloner le dépôt Git et installer les dépendances
git clone https://github.com/alainpaluku/pcb-defect-detection.git
cd pcb-defect-detection
pip install -r requirements.txt
2. Placer le modèle entraîné et les images de test
# Placez votre fichier pcb_model.pt dans le dossier models/
# Placez vos images PCB de test dans le dossier images/
3. Lancer l'interface graphique locale (GUI)
python -m gui_test.app

Entraînement GPU sur Kaggle Notebook

!pip install ultralytics -q
!wget -q https://github.com/alainpaluku/pcb-defect-detection/archive/main.zip
!unzip -q main.zip
!mv pcb-defect-detection-main pcb-defect-detector
%cd pcb-defect-detector
!python run_kaggle.py