CoolFace
Datasetpublic

DigiGreen/farmerchat-image-samples

FarmerChat Crop Image Samples A sample of farmer-submitted photographs from FarmerChat, an agricultural advisory service used by smallholder farmers in India, Ethiopia, Kenya and Nigeria. Published by Digital Green. This release contains 6,089 records (5,957 distinct photographs; some photographs belong to more than one category, see below) drawn from 7 categories representing different outcomes of an automated crop diagnosis pipeline, sampled across country, month, crop and… See the full description on the dataset page: https://huggingface.co/datasets/DigiGreen/farmerchat-image-samples.

sourceHugging Facecc-by-4.0updated 1mo agoView on Hugging Face
1likes956downloads
Dataset Card

FarmerChat Crop Image Samples

A sample of farmer-submitted photographs from FarmerChat, an agricultural advisory service used by smallholder farmers in India, Ethiopia, Kenya and Nigeria. Published by Digital Green.

This release contains 6,089 records (5,957 distinct photographs; some photographs belong to more than one category, see below) drawn from 7 categories representing different outcomes of an automated crop diagnosis pipeline, sampled across country, month, crop and diagnosis where each applies.

Submissions span 2025-08 to 2026-07.

Loading

python
from datasets import load_dataset

ds = load_dataset("DigiGreen/farmerchat-image-samples", split="train")

Or load metadata.csv directly and read images from the images/ folder using its file_name column.

How these images were selected

Every photograph in this release cleared two independent screens.

  1. 1.The service's own image-quality gate. Submissions that the gate rejected (blur, lighting, framing, no plant detected) are not included. This restricts the release to submissions from the period the gate has been running. The livestock category is the exception: the gate looks for a plant as the dominant subject, so it rejects genuine livestock photos by design. Those images are included based on screen 2 instead.
  2. 2.An automated content check. Each remaining image was reviewed by a vision-language model and kept only if it is genuinely agricultural, is a plausible diagnostic submission rather than an accidental or off-topic one, and is an original photograph rather than a screenshot, a stock or template graphic, or an AI-generated image. For the livestock category, this same model's description of the photo is what confirms it actually shows an animal, rather than relying on the farmer's text alone.

Farmers do send off-topic images to the service — screenshots, photos of documents, pets, food, AI-generated pictures. Those are a real and interesting property of the traffic, but they are filtered out here so this dataset is what it claims to be: real photographs of crops and livestock.

Categories

CategoryRecordsWhat it represents
multimodal_organic_text999The photograph was accompanied by farmer-written text (not a repeated quick-reply template)
low_confidence_diagnosis995A diagnosis was returned, but with lower model confidence
diagnosis_returned991A crop was identified and a specific disease/pest diagnosis was returned
crop_identified_diagnosis_unresolved991A crop was identified but the health outcome was not determined
healthy_crop987A crop was identified and assessed as healthy
crop_unresolved983No crop could be identified in the photograph
livestock143The photograph shows an animal rather than a crop

An image can belong to more than one category (for example, a low-confidence diagnosis photo that also arrived with organic farmer text). Each membership is its own row in metadata.csv, sharing the same file_name.

livestock rows leave crop and diagnosis as not_applicable or no_crop_detected — the pipeline they were sampled from is built to diagnose crops, not animals. farmer_query / farmer_query_en are also left blank on these rows unless the farmer typed their own text beyond the standard "what's wrong with my crop" quick-reply, since that quick-reply doesn't describe the photo.

Columns

ColumnDescription
file_nameRelative path to the image file
image_idStable per-image identifier
categoryOne of the categories above
countryCountry the submission came from
monthYear-month the photo was submitted (YYYY-MM)
cropCrop identified in the photo, where resolved. Normalized to a standard set of names (synonyms merged, casing standardized)
diagnosisDiagnosis identified, where resolved. Normalized the same way — not a pass-through of any single service's raw label
query_presentWhether the farmer sent text alongside the photo
farmer_queryFarmer's question, in the original language, PII-redacted
farmer_query_enThe same question translated to English, PII-redacted

Personal data

Every photograph was automatically screened for personal data (faces, printed personal documents, GPS location overlays, and similar) before being included here; anything flagged was excluded from this release.

Accompanying farmer text (farmer_query / farmer_query_en) was separately checked with an automated language-model pass; any personal names, phone numbers, email addresses or physical addresses found were replaced with [REDACTED].

Automated screening reduces but does not eliminate the chance of residual personal content. This dataset should not be treated as guaranteed free of it. In particular, some photographs carry a camera watermark or timestamp burnt into the image by the phone that took them.

Limitations

Diagnoses and crop/health labels are outputs of an automated pipeline, not verified expert labels. They reflect what the system determined, not necessarily agronomic ground truth.

The content check in step 2 above is itself an automated model judgement, so it will have made some mistakes in both directions.

License

CC BY 4.0.

Contact

lakshmi@digitalgreen.org