Forager-Field-Notes / README.md
HomesteaderLabs's picture
Add Field Notes writeup + README link
926a9f1 verified

A newer version of the Gradio SDK is available: 6.17.3

Upgrade
metadata
title: Forager's Field Station
emoji: πŸ„
colorFrom: yellow
colorTo: green
sdk: gradio
sdk_version: 6.16.0
python_version: '3.11'
app_file: app.py
pinned: false
hf_oauth: true
license: apache-2.0
short_description: Pocket-sized intelligence for identifying edible wild foods

Forager's Field Station

Photograph a wild plant or mushroom and the model identifies it β€” or refuses when it isn't sure. A domain router plus three tf_efficientnet_lite2 classifiers (~9M params each), ~0.04B parameters total. The same stack runs offline on a Hailo 8L NPU in a handheld field device; this Space is its CPU twin.

Built for the Build Small Hackathon β€” Backyard AI track. The honest fit: a forager in the woods has no signal, so a small on-device model isn't a compromise, it's the only thing that works.

How it works

photo ─► domain router (berry / mushroom / plant / other)
            β”‚  conf < 0.74  or  "other"  ─► ABSTAIN
            β–Ό
        ONE expert owns each domain (no cross-expert voting):
            berry ─► berry_expert   mushroom ─► highvalue_expert
            plant ─► medicinals_expert
            β”‚  below confidence gate  ─► ABSTAIN
            β–Ό
        SAFE / CAUTION / DEADLY  + scientific name, lookalike, key difference

Single-expert routing is a safety choice: an off-domain expert never gets to misclassify an input it doesn't own (e.g. the mushroom expert never sees a plant, so it can't call a poison hemlock "ramps"). The deadly plants live in the medicinals expert, which scored 0% toxic-as-edible on held-out validation.

The system is built to refuse by default. Across real-world test photos it abstained rather than guess on the cases it couldn't handle, and never labelled a deadly specimen as edible.

Models

Model Domain Classes
domain_router_v2 berry / mushroom / plant / other 4
berry_expert wild berries + toxic lookalikes 11
highvalue_expert chanterelles, morels, lion's mane, ginseng… 11
medicinals_expert wild medicinal plants + toxic lookalikes 21

Trained on iNaturalist research-grade observations. Apache-2.0.

πŸ“¦ Weights published as fine-tuned models: HomesteaderLabs/forager-field-station-models β€” .pt + .onnx for the router and all three experts, fine-tuned from timm/tf_efficientnet_lite2.in1k.

Field notes

The build story β€” edge constraints, the single-expert safety pivot, the safety-vs-usefulness curve, and a one-line bug that inverted our OOD detector β€” is in FIELD_NOTES.md.

Safety notice

Identification aid only β€” never an authority. Wild plant and mushroom identification carries fatal risk. No output should be acted on β€” including any consumption decision β€” without independent verification by a qualified expert. Amatoxin poisoning (Amanita, Galerina, Conocybe) is lethal with no reliable field antidote. The maintainers accept no liability for decisions made from model output.

β€” HomesteaderLabs