A transfer-learning project that treats plant-disease classification as more than an accuracy competition. The repository is structured around explainability, confidence calibration and robustness to acquisition changes.
- How does a transfer-learning model perform across disease classes?
- Are predicted probabilities calibrated well enough to support threshold-based decisions?
- Does performance degrade under brightness, noise or background changes?
- Do explanation maps focus on lesion regions rather than background artefacts?
- EfficientNetB0 transfer learning
- class-wise precision, recall and F1
- expected calibration error
- temperature scaling
- controlled domain-shift tests
- Grad-CAM-style visual inspection as a planned extension
Agricultural computer vision often fails when models trained on curated leaf images are applied in field conditions. This repository explicitly frames that gap as a research problem and makes reliability analysis part of the core methodology.
Use a fixed patient/plant-aware or source-aware split when metadata permits. Compare an in-domain test set with a field-style or synthetically shifted test set. Report macro-F1 and calibration alongside accuracy.
pip install -r requirements-dev.txt
pytest -qSynthetic corruption is not a substitute for real external validation. Disease labels may be visually ambiguous, and a model should not replace agricultural or plant-pathology expertise.