An open labeling schema and taxonomy for soiling on exterior surfaces in Gulf conditions: the dust, sand, bird droppings, mineral deposits, and staining that accumulate on facades, glass, stone, and solar panels in hot, arid, dusty climates.
This repository is a labeling protocol first, a dataset second. It defines how to annotate exterior soiling consistently, in a format existing computer-vision tooling already understands, so that images collected in the field can become a usable, shareable dataset. It ships the schema, the taxonomy, a datasheet, a reference validator, and worked example annotations. It does not yet ship real images.
The public soiling datasets are stale, indoor, or solar-panel-power-loss oriented, and none is built for Gulf exterior conditions where wind-blown dust and sand dominate. Before collecting images at scale, the useful thing to standardize is the labels: a shared soiling-type vocabulary and a severity grade, documented well enough that annotations from different sources line up. That is what this repo provides.
It is intentionally vendor-neutral. Nothing in the schema is specific to any one operator's equipment, and it links to (but does not depend on) the Proof Pack format for tracing an annotation back to the job evidence it came from.
| Path | What it is |
|---|---|
TAXONOMY.md |
The labeling guide: soiling types + the 0-4 severity grade, tuned for Gulf conditions. |
SCHEMA.md |
The annotation file format (COCO-compatible). |
schema/annotation.schema.json |
The normative JSON Schema (draft 2020-12). |
DATASHEET.md |
A Datasheet for Datasets describing motivation, composition, collection, and intended use. |
examples/ |
Worked, clearly-marked synthetic example annotations (a solar string and a glass facade). |
tools/ |
Reference validator and summary tool (Node.js). |
CONTRIBUTING.md |
How to contribute images and annotations. |
A label has two parts (see TAXONOMY.md):
- Soiling type:
dust,sand,bird_droppings,biological,mineral,water_staining,cement_mortar,soot_traffic,graffiti_paint,other. - Severity grade:
0clean,1light,2moderate,3heavy,4severe.
The annotation format is a COCO superset: soiling type is the
COCO category, severity lives in the per-annotation attributes. Tools like CVAT,
Roboflow, FiftyOne, and pycocotools can read it.
cd tools && npm install
node bin/cli.mjs validate ../examples/solar-array.json
node bin/cli.mjs summary ../examples/solar-array.jsonThe validator checks the schema, that every reference resolves, that ids are unique,
and that bounding boxes lie within their image. The two example files use
captureContext: "synthetic-example" because they illustrate the format and have no
real image behind them.
Version 0.1.0: schema, taxonomy, datasheet, validator, and synthetic examples. No real imagery yet. The dataset grows from real field annotations over time. Feedback on the taxonomy and schema is welcome via issues.
Dual-licensed. The schema, tooling, and documentation are under the Apache License
2.0 (LICENSE). Dataset content (annotations and any future images) is
under CC BY 4.0 (LICENSE-DATA). Maintained by
AntBotics.