Ecological restoration auditing depends on field photos judged against a taxonomy that was never built for images. We rebuilt the class list around what is actually visible, then trained classification on top of it.
- Client
- Environmental restoration and compliance platform (Brazil), name under NDA
- Industry
- Environmental compliance · ESG
- Problem
- Photo-based restoration audits judged against a taxonomy never designed for images
- Solution
- Taxonomy redesign around visual evidence + image classification on the resulting classes
- Stack
- Class taxonomy design · reference image set · vision classification · human-in-the-loop routing
Ecological restoration in Brazil is verified largely through field photographs. A technician photographs the site; a reviewer judges it against a list of restoration practices and site conditions: firebreaks, fencing, mulch, seedling planting, bird perches, agroforestry systems, natural regeneration with or without management, soil erosion, degraded soil, abandoned area, disturbance.
The list was written by agronomists for agronomists. It assumes the reviewer already knows the site. For a model, or a new reviewer, it falls apart.
- “Degraded soil” can be physical, chemical, or biological; only the physical is visible.
- “Managed natural regeneration” is not one thing; it is a bundle of six other practices.
- “Disturbance” includes windstorms and landslides: different images, one label.
- “Compacted soil recovery” requires knowing the soil was compacted before the photo.
- “Regenerating seedling” vs. “any seedling” is not a visual distinction.
- Several classes had no defined image state: with or without leaf-cutter ants? During or after direct seeding?
Training a classifier on that taxonomy would produce labels nobody could defend.
- A class list where every class has a visual definition
- Explicit handling of ambiguous states (with/without, before/after)
- Classification the auditor can stand behind in a compliance review
- A route for the cases a model should not decide alone
- Stability over time: a record labeled this year must still read correctly next year
- Every class validated against a reference image set
- Low-confidence predictions routed to a reviewer instead of forced into a label
- 01
Phase 1: Audit the taxonomy
Each existing class was tested against one question: what is visible in the photograph? Confirmed classes (firebreak, fencing, mulch, seedling planting, perches, litter layer, agroforestry, spring/water source) got reference images. Failing classes were flagged with the specific ambiguity.
- 02
Phase 2: Redesign
Classes were split (erosion → active / recovered), merged (managed regeneration → its component practices), moved to metadata (soil fertility, prior compaction, not visible), or given explicit paired states (with / without ants, with / without invasive plants).
- 03
Phase 3: Reference set
Each surviving class was validated with the client against example images, establishing the ground truth before any training.
- 04
Phase 4: Classification
Vision classification trained on the redesigned taxonomy, with confidence thresholds per class.
- 05
Phase 5: Governance
Low-confidence predictions route to a reviewer. Every prediction carries its class definition and version, so the taxonomy can evolve without corrupting past records.


