Classification des Maladies des Plantes
Benchmark PlantVillage à 15 classes. MobileNetV2 meilleur individuel : 92,86%. Ensemble (MobileNetV2+EfficientNetB3+ResNet50) test : 83,43%. Déséquilibre 42,5×. Correction d'un bug de réinitialisation du générateur qui causait l'effondrement de l'ensemble.
PlantVillage : ~55K images, 15 classes, déséquilibre 42,5×
TL en 2 phases (préchauffage + fine-tuning) → ensemble doux avec perte pondérée par classe
Détection de maladies végétales sur PlantVillage — 15 classes de maladies sur poivrons et plants de pommes de terre.
Jeu de données
- ▸~55 000 images, 15 classes, découpage 80/10/10 entraînement/validation/test
- ▸Déséquilibre de classes : 42,5× (Tomato_YellowLeafCurlVirus vs Potato_healthy)
- ▸Stratégie : poids de classes + label smoothing 0,1
Les 6 Modèles
| Modèle | Précision Val |
|---|---|
| SimpleCNN | 70,01% |
| DeepCNN + BatchNorm | 78,41% |
| EfficientNetB3 (TL 2 phases) | 79,93% |
| ResNet50 (TL 2 phases) | 87,72% |
| MobileNetV2 (TL 2 phases) | 92,86% |
| Ensemble (3 TL moy.) | 82,40% val / 83,43% test |
Transfer Learning en 2 Phases
- ▸Préchauffage (8 époques) : backbone gelé
- ▸Fine-tuning (3 époques) : CosineDecayRestarts LR, précision mixte float16
Bug Corrigé : Réinitialisation du Générateur L'ensemble s'est effondré à ~7% de précision parce que les générateurs n'étaient pas réinitialisés entre les passes d'inférence. Correction : réinitialiser les générateurs avant chaque appel predict().
Pourquoi l'Ensemble < MobileNetV2 ? La moyenne douce de MobileNetV2 (92,86%) avec EfficientNetB3 (79,93%) dilue les prédictions supérieures. L'ensemble offre une meilleure généralisation test (83,43%) mais une précision val plus faible.