Projets

Une sélection de travaux menés en école, en équipe ou sur mon temps libre. Les chiffres annoncés sont ceux mesurés sur les jeux de test.

NeuroDetectionIA

05/2026–06/2026 · Projet de fin d'études, ENSISA · Binôme

Outil d'aide au diagnostic qui analyse une IRM cérébrale et indique si une tumeur est présente, puis de quel type. Le pipeline fonctionne en deux temps : MobileNetV3 écarte d'abord rapidement les IRM saines (97 % d'exactitude, AUC de 0,995), puis EfficientNet-B0 identifie le sous-type — gliome, méningiome ou pituitaire — avec 98 % d'exactitude sur 7 023 images. Chaque prédiction est accompagnée d'une carte Grad-CAM qui montre la zone du cerveau ayant déterminé la décision, pour que le praticien puisse vérifier que le modèle regarde bien la lésion. Le tout est utilisable depuis une interface web Flask.

PyTorch MobileNetV3 EfficientNet-B0 Grad-CAM OpenCV Mixup Flask
Code et rapport sur GitHub

Contrôle qualité industriel par vision

2024 · École d'automne de l'IA, Alsace-Tech · Équipe de 4

Système de contrôle qualité automatisé développé en sprint de cinq jours. Deux approches complémentaires : YOLOv11 entraîné sur les défauts connus atteint 99,7 % d'exactitude, tandis qu'une extraction de caractéristiques par ResNet50 suivie d'un clustering K-Means et DBSCAN fait remonter les anomalies jamais vues, celles qu'aucune étiquette ne décrit encore.

Python YOLOv11 ResNet50 K-Means DBSCAN OpenCV
Voir sur GitHub

POPP — gestion des présences étudiantes

2025 · ENSISA · Équipe de 7

Application mobile multiplateforme conçue pour remplacer les feuilles de présence papier à l'ENSISA. Quatre rôles cohabitent — étudiant, professeur, scolarité, administrateur — avec une base SQLite locale et un transfert SFTP vers un Raspberry Pi. Contrainte imposée par le sujet : l'éco-conception, d'où un mode sombre natif, des requêtes regroupées et une interface volontairement dépouillée.

Flutter Dart SQLite SFTP Raspberry Pi
Voir sur GitHub

Analyse du marché du Bitcoin

2025 · Projet personnel

Étude de plus de 180 000 lignes de données OHLCV pour repérer les régimes de marché. Un K-Means fait apparaître quatre régimes distincts, et un arbre de décision tente ensuite de prédire la direction du prix : 51,7 % d'exactitude sur données réelles. Un résultat modeste, mais qui reflète honnêtement la difficulté de la prévision à court terme et m'a surtout servi à travailler la validation temporelle.

Python Pandas Scikit-Learn K-Means Arbre de décision
Voir sur GitHub

Agents d'apprentissage par renforcement

2025 · Travaux académiques

Deux façons de résoudre un problème de navigation, mises côte à côte. Le Q-Learning apprend sans modèle de l'environnement sur le taxi autonome de Taxi-v3, avec une politique epsilon-greedy ; l'itération de politique, elle, exploite le modèle connu d'une grille 4×4 et converge en quelques passes. La comparaison rend concrète la différence entre apprendre par essais et calculer une solution.

Python Gymnasium Q-Learning Policy Iteration NumPy
Voir sur GitHub

Régression logistique écrite de zéro

2025 · Projet personnel

Un classifieur d'images multiclasse construit uniquement avec NumPy, sans bibliothèque d'apprentissage : softmax, entropie croisée, régularisation L2 et descente de gradient par lots, tout est écrit à la main. Résultats de 97,5 % sur Digits et 89,9 % sur MNIST, soit un niveau comparable à Scikit-Learn — l'intérêt étant surtout de comprendre ce que les bibliothèques font à ma place.

Python NumPy Softmax Entropie croisée Régularisation L2
Voir sur GitHub

IA pour le Puissance 4

2024 · Projet personnel

Un adversaire pour le Puissance 4 fondé sur Minimax, accéléré par l'élagage alpha-bêta et par l'exploration prioritaire des colonnes centrales. L'heuristique, calculée sur une fenêtre glissante de quatre cases, pénalise plus fortement une menace adverse (−120) qu'elle ne récompense une opportunité (+100) : le résultat est une IA qui joue de façon nettement défensive.

Python Minimax Élagage alpha-bêta Tkinter NumPy
Voir sur GitHub