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
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.
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.
| Species | Plant Ø | Across (usable px) | Verdict | Countable below |
|---|---|---|---|---|
Ceratocephala pungens Pygmy buttercup | 1.8 cm | 4.5 px | Marginal | 7.5 m |
Myosotis brevis Dwarf forget-me-not | 1.2 cm | 3.0 px | Marginal | 5.0 m |
Myosurus minimus subsp. novae-zelandiae NZ mousetail | 3.0 cm | 7.5 px | Countable | 13 m |
Species D — to confirmTO CONFIRM Assumed Myosotis hikuwai | 1.4 cm | 3.5 px | Marginal | 5.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.
| Altitude | GSD | 10 mm plant | Verdict | What that height is for |
|---|---|---|---|---|
| 1.33 mm/px | 5.0 px | Marginal | Truth pass over marked quadrats — calibration imagery. | |
| now | 2.67 mm/px | 2.5 px | Density / cover only | Truth pass, upper limit; still quadrat-scale. |
| 4.00 mm/px | 1.7 px | Density / cover only | Transition — counts need an error band from here up. | |
| 5.33 mm/px | 1.3 px | Below detection | Coverage pass; calibrate its counts against the truth passes. | |
| 6.67 mm/px | 1.0 px | Below detection | Coverage pass, wider swath, thinner evidence. | |
| 8.00 mm/px | 0.8 px | Below detection | Coverage pass, upper limit for anything count-like. | |
| 13.33 mm/px | 0.5 px | Below detection | Context and mapping only. | |
| 21.33 mm/px | 0.3 px | Below detection | Lambing-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.