# Plantseg Eval

> Evaluates pixel-level segmentation capabilities for identifying and localizing plant diseases in real-world, uncontrolled agricultural imagery across 115 disease classes. The benchmark tests a model's ability to handle fine-grained lesion boundaries, overlapping disease symptoms, and high visual diversity typical of field-captured crops. Use when the user wants to benchmark on PlantSeg, or asks about evaluating this task. Reports mIoU.

- Skill: `qhjqhj00/plantseg-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/plantseg-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/plantseg-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/plantseg-eval

---


# plantseg-eval

> PlantSeg: A Large-Scale In-the-wild Dataset for Plant Disease Segmentation — Wei et al. (2024) (arXiv:2409.04038, 2024)

## What this evaluates

Evaluates pixel-level segmentation capabilities for identifying and localizing plant diseases in real-world, uncontrolled agricultural imagery across 115 disease classes. The benchmark tests a model's ability to handle fine-grained lesion boundaries, overlapping disease symptoms, and high visual diversity typical of field-captured crops.

## Datasets

- **PlantSeg** — total 11458; splits: train (-1), test (-1); repo https://github.com/tqwei05/PlantSeg

## Metrics

- `mIoU` **(primary)** — range: [0, 1]
  - Mean Intersection over Union across all 115 disease classes. Calculated as the average of IoU (intersection of predicted and ground truth masks divided by their union) per class, with empty classes typically contributing 1.0 or 0.0 depending on the convention.

## Input / output format

**Input**: RGB images of plants captured in uncontrolled field environments, containing one or more diseased regions on leaves or fruits.

**Output**: Pixel-level segmentation masks stored as grayscale PNG files, where background pixels are 0 and diseased region pixels contain the corresponding disease class index.

## Scoring recipe

```python
def compute_miou(pred_masks, gt_masks, num_classes=115):
    ious = []
    for c in range(num_classes):
        pred_c = (pred_masks == c)
        gt_c = (gt_masks == c)
        intersection = np.logical_and(pred_c, gt_c).sum()
        union = np.logical_or(pred_c, gt_c).sum()
        ious.append(intersection / union if union > 0 else 1.0)
    return np.mean(ious)
```

## Common pitfalls

- Overlapping lesions are annotated as a single combined affected area rather than separate polygons, requiring models to handle merged class regions instead of predicting disjoint masks.
- The dataset contains 115 highly imbalanced disease classes, making per-class evaluation critical to avoid accuracy inflation from dominant classes.
- In-the-wild images vary significantly in lighting, background clutter, and resolution, which can cause models trained on clean datasets to fail without domain adaptation or data augmentation.

## Evidence (verbatim from paper)

> PlantSeg is built to evaluate segmentation methods on plant disease images. We randomly selected 20% of the images from each disease as the test set, while the remaining images were used as the training set.

## Citation

```bibtex
@misc{wei2024plantseg,
  title={PlantSeg: A Large-Scale In-the-wild Dataset for Plant Disease Segmentation},
  author={Wei et al. (2024)},
  year={2024},
  note={arXiv:2409.04038}
}
```

- arXiv: 2409.04038

