Guava leaf disease classifier

Tells which of 6 classes a guava leaf photo shows: Healthy, Rust / Leaf Spot, Tea Mosquito Bug / Thrips, Anthracnose, Multiple Diseases, YLD.

ConvNeXt-Small (convnext_small, from convnext_small.fb_in22k_ft_in1k), 224 ร— 224 RGB, 99 MB (half precision). 100.0 % test accuracy, macro-F1 1.000, on 1,345 held-out photos. Test photos come from the same datasets the model learned from, so real field photos score lower.

YLD is the dataset's own label, kept as is.

Class Recall F1 Test photos
Healthy 100.0% 1.000 510
Rust / Leaf Spot 100.0% 1.000 125
Tea Mosquito Bug / Thrips 100.0% 1.000 125
Anthracnose 100.0% 1.000 335
Multiple Diseases 100.0% 1.000 125
YLD 100.0% 1.000 125

Use

import timm, torch
from PIL import Image

model = timm.create_model("hf-hub:ixrbhii/guava-disease-convnext", pretrained=True).eval()
cfg = timm.data.resolve_data_config({}, model=model)
x = timm.data.create_transform(**cfg)(Image.open("leaf.jpg").convert("RGB")).unsqueeze(0)
p = model(x).softmax(-1)[0]
labels = model.pretrained_cfg["label_names"]
for i in p.argsort(descending=True)[:3]:
    print(labels[i], f"{100 * p[i]:.1f} %")

The training images were resized to 224 ร— 224 without cropping; timm's transform above (resize + 224 centre crop) gives the same result for square photos. label_descriptions in config.json maps each name to the dataset's original label. Best results: one leaf filling most of the photo, in daylight and in focus. Below about 45 % confidence, ask for a better photo.

In an app: LULC Fetch (Agri โ–ธ Diagnose crop disease) recognises the crop first and then runs the right disease model, with a photo-quality check and a disease map from geotagged photos.

Related

Training data and licence

Trained on public leaf-disease photo datasets, including PlantVillage (CC0) and MangoLeafBD (CC-BY-4.0). Released under CC-BY-4.0: please credit "Multi-crop disease models, IXR (agritechixr)" and the training datasets. A diagnosis supports, but doesn't replace, a local agriculture expert.

Downloads last month
29
Safetensors
Model size
49.5M params
Tensor type
F16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Collection including ixrbhii/guava-disease-convnext