Curate Training Datasets
Pick reviewed images from different saved runs into one local, versioned dataset for a specific task, keeping the evidence behind every example. This is curation only: it does not train a model, classify flooding, send an alert, or publish anything.
The full, current guide is docs/learning/dataset-curation.md. This page keeps the same
workflow and rules for the classic documentation.
Use it
- Open a saved run and select an image.
- In Add to dataset, choose a dataset (or create one on the Datasets page) and choose Add this image. The server checks the evidence the task needs and explains anything missing instead of adding it.
- Keep choosing images from other runs. The same source image is always one observation.
- On the Datasets page review the examples, label counts, missing evidence, duplicates and the train, validation and test split.
- Freeze a version. It never changes; editing and freezing again makes the next one.
What each task needs
| Task | Required example |
|---|---|
| Water segmentation | The image and a water mask for those exact bytes that a person accepted |
| Low / middle / high classification | The image, a human review, its own matched gauge reading and an approved, versioned category definition for the site |
| Gauge-height estimation | The image and its own matched gauge reading with unit, station, time and quality |
| Rising / falling | An earlier and a later image you choose, from the same camera view, each with a gauge reading |
| Visible water change (human-judged pair) | An earlier and a later image you choose, from the same camera view, plus what at least two independent reviewers saw between them, judged blind |
The visible-change task takes its target from people, not the gauge. A pair counts only when at least two different reviewer codes judged it in the blind stage of the focused review page and agree (no majority vote). A "cannot judge" or "camera problem" answer, a reported camera move, or an informed revision (made after seeing machine evidence) is never counted. A release reports how many reviewers agreed, not who they were.
A single image never needs a low partner. For a rise, pair a high image with an earlier one that may already be high. Pairs are never made automatically.
Rules to remember
- Collection group, gauge value, human label, image quality and review status are separate fields. A sampling group is never a training label.
- Low, middle and high exist only from approved, versioned site definitions with a unit, boundary rule and source. There are no universal flood thresholds.
- An image marked as one where the water level cannot be judged is not an approved visual-height example.
- A different annotation for an observation already in the dataset needs an explicit Replace or Keep existing.
- Neighbouring frames are never split at random. Each camera is in one split, locked validation data is only in test, and a pair never crosses a split. Too few cameras is reported as a gap.
- Removing an example only takes it out of the draft.
- A frozen version keeps the original images, masks, evidence, labels, split and checksums, and is the local handoff for the later export story. Nothing is uploaded.