Plant Disease Detection
A leaf-photo classifier for 38 disease classes across 14 crops, started as a university project with Tejaswi Raj and published in 2026. Tejaswi led research, data preparation, model training, notebook authoring, evaluation and the frontend; I worked on the backend and inference pipeline, deployment, testing, algorithm implementation and technical guidance.
Technology stack
Who did what
- Tejaswi Raj: research, data preparation, model training, notebook authoring, evaluation and the frontend.
- Apoorv Raj: backend, inference pipeline, deployment, testing, algorithm implementation and technical guidance.
- The joint project’s original repository is tejaswirajgit/Plant-Disease-Detection; this repository carries the same code plus my later inference and download hardening.
Model
EfficientNetB0 with ImageNet weights, the last 20 layers fine-tuned, and a global-average-pooling + 38-way softmax head, trained on the ~88,000-image New Plant Diseases dataset (an augmented PlantVillage derivative) at 224×224.
Reported accuracy is 99.84% on the validation split, the same split used for early stopping and checkpoint selection. There is no separate held-out test set, so treat the figure as optimistic.
My inference hardening
- Honour EXIF orientation before inference, so phone photos stored rotated reach the model upright.
- Bound the input size, validate the input type, and check the model’s output dimension against the class list.
- Download the model with a connect timeout, retry with backoff, a minimum-size sanity check and optional SHA-256 verification.
Status
The Gradio demo is hosted on Tejaswi Raj’s Hugging Face account and sleeps when idle; it runs the joint project’s code and does not include the hardening above. There are no automated tests or CI yet.
Sources
- Source code
- Original joint repositoryTejaswi Raj
- Gradio demoTejaswi Raj’s account; sleeps when idle
Checked against the repositories on 22 September 2026.