Spring Annuals Trial HarnessHabitat NZ · technical demo by EmerTech

Flight advisor

The camera decides the survey. Pick a lens and a height, and the physics tells you what can be counted.

A 10–30 mm plant is a handful of pixels at any altitude a drone usefully flies, and no detector recovers information the optics never captured — which is why the choice of camera and flight height settles the survey before a single model is chosen. Ground sample distance is the whole argument: altitude × 1000 × sensor width ÷ (focal length × image width) gives millimetres of ground per pixel, and every claim this harness makes is reported against that number rather than against a model name. Fly low and each plant carries enough pixels to be an individual, but a hectare costs thousands of frames; fly high and the frames collapse to a handful while the plants collapse below one pixel. The calculator below shows both halves of that trade at once, de-rated by default for the resolution real optics actually deliver.

Flight parameters

Four inputs decide everything below. Nothing is fetched — the physics runs in the browser as you drag.

4/3 CMOS, 20 MP, 24 mm equivalent, ƒ=12.29 mm actual, 3.28 µm pitch. DJI's own rule of thumb is GSD ≈ H/36.5 cm/px; this spec gives ≈0.267 mm/px per metre AGL. The default survey camera and the one Keith is most likely to fly.

5,280 × 3,956 px · sensor 17.3 mm wide · ƒ = 12.29 mm actual

0.5 mcrawl · truth · coverage · stratification100 m
Pixel budget

Showing usable pixels: nominal ÷ 1.5 — de-rated 1.5× for MTF, demosaicing, JPEG and motion blur. This is the number to plan a flight on.

Ground sample distance
2.67 mm/px
Inside the 5 mm/px band where published flower-detection accuracy holds up (Gallmann et al. 2022).
Ground footprint per frame
14.1 × 10.5 m
148 m² of ground in one nadir frame.
Frames per hectare @ 70%
748
Frames needed to cover one hectare at this altitude and overlap.

What each species looks like from here

Whole-plant pixels at 10 m on the DJI Mavic 3E — wide, shown as usable px. Hover a verdict for the reasoning behind it.

SpeciesPlant ØAcross (usable px)VerdictCountable below
Ceratocephala pungens
Pygmy buttercup
1.8 cm4.5 pxMarginal7.5 m
Myosotis brevis
Dwarf forget-me-not
1.2 cm3.0 pxMarginal5.0 m
Myosurus minimus subsp. novae-zelandiae
NZ mousetail
3.0 cm7.5 pxCountable13 m
Species D — to confirmTO CONFIRM
Assumed Myosotis hikuwai
1.4 cm3.5 pxMarginal5.8 m

“Countable below” is the altitude at which this camera puts 6 usable px across the plant — the honest floor for counting individuals rather than reporting cover. Species D is included at its assumed size; the fourth species is unconfirmed and the figure moves with it.

The ladder — September at a glance

A 10 mm plant on the DJI Mavic 3E — wide, in usable px. Click an altitude to move the slider there.

AltitudeGSD10 mm plantVerdictWhat that height is for
1.33 mm/px5.0 pxMarginalTruth pass over marked quadrats — calibration imagery.
now2.67 mm/px2.5 pxDensity / cover onlyTruth pass, upper limit; still quadrat-scale.
4.00 mm/px1.7 pxDensity / cover onlyTransition — counts need an error band from here up.
5.33 mm/px1.3 pxBelow detectionCoverage pass; calibrate its counts against the truth passes.
6.67 mm/px1.0 pxBelow detectionCoverage pass, wider swath, thinner evidence.
8.00 mm/px0.8 pxBelow detectionCoverage pass, upper limit for anything count-like.
13.33 mm/px0.5 pxBelow detectionContext and mapping only.
21.33 mm/px0.3 pxBelow detectionLambing-paddock height — habitat stratification, not counting.

The ladder is the whole argument in one table: the plant does not get bigger, so every altitude buys coverage by spending pixels. Switching lens changes where the bands fall — the tele lens reaches the same GSD from roughly four times the height, over about twenty-five times the ground per battery.

September flight plan

The two-tier design the research points to, written down so it can be argued with before anyone flies it.

Tier 1 — truth passes, 5–10 m over marked quadrats

Low, slow passes over the pegged quadrats only. On the Mavic 3E wide this puts a 10 mm plant at about 7.5 px at 5 m and 3.8 px at 10 m nominal (5.0 and 2.5 usable) — the only rungs of the ladder where counting individuals is defensible. These passes are not a survey; they are the calibration set that gives every higher pass a number to be checked against, and the imagery a human annotates to build ground truth in the first place.

Tier 2 — coverage passes, 20–30 m

The same ground at survey speed. A 10 mm plant lands at roughly 1.2–1.9 px nominal here, so these frames carry density and cover, not individuals. Their value is that they overfly the Tier 1 quadrats: the relationship between what the 25 m pass sees and what the 5 m pass counted is the model that lets a coverage figure be reported at all. Read alone, a Tier 2 count is not evidence.

Tier 3 — 80 m lambing-paddock passes: stratification duty

Where stock and lambing keep the aircraft high, the passes get habitat-stratification duty and nothing else: mapping scabweed mats, frost-heaved silt, damp hollows and bare schist so the low passes can be aimed where the plants actually are. At 80 m the wide lens sits near 21 mm/px, which puts a 1 cm plant at about half a pixel nominal — a third of a pixel usable. That is not a hard detection problem, it is a physically impossible one, and no model, upscaler or post-process changes it. An 80 m frame is a habitat map; it is never a count.

Flying technique — hover, or ≤ 2 m/s

At these ground sample distances motion blur is not a subtlety: a few pixels of smear across a plant that is only a few pixels wide erases it. Truth passes should hover over each quadrat, or transit no faster than about 2 m/s, with the gimbal locked at nadir. Every metre per second of extra speed is spent out of the same pixel budget the altitude already taxed — which is why the calculator de-rates by 1.5× and why the usable figure, not the nominal one, is the one to plan on.

Quadrat protocol

  • 1 × 1 m quadrats, positioned across the density regimes that matter — scattered plants and dense mats behave differently for both humans and detectors.
  • Aerially-visible corners. Pegs a person can find are not pegs the drone can find. Corner markers must be identifiable from the coverage passes so the same square metre can be located in every frame at every altitude.
  • Double-observer cell counts. Two observers count the same quadrat independently, cell by cell. The disagreement between them is the human error bar, and without it there is nothing to compare a model's error against.
  • True-zero quadrats. Deliberately include squares with none of the target species. A detector that never sees a genuine zero cannot be shown to produce one, and a false-positive rate measured only on occupied ground is not a rate.
  • Per-plant flowering state. Record each plant as in flower, in bud or vegetative. Flower colour is most of the detectable signal, so a recall figure that ignores phenology is really a figure about how many plants happened to be flowering that week.
What this page is not
These are nominal-optics calculations for nadir imagery over flat ground, with altitude above ground level. They bound what is possible; they do not promise what a given model will achieve. The bake-off measures that separately, and every result there carries its own access badge and ground truth.