Logo Lanfrica

CodeStorm-mbe/african-plums-classifier

Domain:

agriculture

Record type:

model
Creator:
Cod
Host:
Ce projet implémente un système de classification automatique des prunes africaines en six catégories (bonne qualité, non mûre, tachetée, fissurée, meurtrie et pourrie) en utilisant des techniques de vision par ordinateur et d'apprentissage profond. # Modèle de Classification de Prunes ## Description Ce projet implémente un pipeline complet de classification d'images de prunes africaines selon leur qualité et leurs défauts. Développé pour le JCIA Hackathon 2025, ce modèle utilise des techniques avancées de deep learning pour classer les prunes en 6 catégories différentes : bonne qualité, non mûre, tachetée, fissurée, meurtrie et pourrie. Le système est conçu pour être robuste, précis et facilement adaptable à différents environnements d'exécution, y compris Google Colab et les environnements locaux. ## Caractéristiques principales - **Classification multi-classes** : Identification précise de 6 catégories de prunes - **Techniques avancées** : - Validation croisée (K-fold) - Test-Time Augmentation (TTA) - Ensemble de modèles - Calibration de confiance - **Augmentation de données** : Techniques avancées incluant CutMix, GridMask, et diverses transformations - **Architecture optimisée** : Basée sur EfficientNet avec des blocs d'attention et des connexions résiduelles - **Mécanisme de confiance** : Détermination si un échantillon est une prune ou non basée sur des seuils de confiance - **Compatibilité** : Fonctionne dans Google Colab et en environnement local - **Exportation de modèle** : Support pour les formats ONNX et TorchScript - **Visualisations** : Matrices de confusion, distributions de confiance, et autres métriques ## Structure du projet Le projet est organisé en trois modules principaux : 1. **Pipeline d'entraînement** (`training_pipeline_enhanced.py`) : - Orchestration du processus complet - Configuration de l'environnement - Téléchargement et prétraitement des données - Entraînement et évaluation du modèle - Visualisation et export des résultats 2. **Classification de modèle** (`model_classification_enhanced.py`) : - Architecture du modèle avec EfficientNet et blocs d'attention - Fonctions de perte avancées (Focal Loss, Label Smoothing) - Techniques d'augmentation (Mixup, CutMix) - Module d'en …