Tree recall - results + your decisions (29 Aug)

29 Aug 2026 · AI3D-373 tree recall, iteration 4 · decisions needed from you

Headline. v4 is the only post-v0 variant with a positive weighted score (0.695 vs v0 0.250; v1 / v2 / v3nh / v3 are all negative at fp_rate 0.846). v4 = recall 0.848, fp_rate 0.077. The single remaining FP is acc_003_c6_s0 — the spot you just flipped to not_tree — so v4 has exactly one FP and it is the disputed hedge. v2 has the best raw recall (0.919) but 11 of 13 not_tree spots become FPs.

What I need from you: 13 hedge-or-trees calls on the boundary bands (section 3), one call on the contested spot (section 4), and a yes/no on the proposed A1 config (section 5).

1. What changed

2. Numbers on the truth set

113 spots on 14 segments (truth_v2: 99 tree / 13 not_tree / 1 contested; min-points 200, r_eval 6 m); labels from two Opus judges calibrated on your Fig. 5 / 7 / 8 vs Fig. 3 examples; weighted = recall − 2 × FP-rate. The judges are unreliable exactly on the 2–3 m continuous bands shown below, which is why you are asked.

Spot-level

variantrecallfp_rateweightedTPFNFPTNaccepted ptsrf-rejected ptsn_tileshedge-gated parents
v00.4040.0770.2504059112767,2068,965,30300
v10.9090.846-0.7839091126,910,5452,757,622400
v20.9190.846-0.7739181126,945,4252,722,742400
v3nh0.9090.846-0.7839091126,976,1752,693,699340
v30.7980.846-0.89479201126,688,4492,982,4682212
v40.8480.0770.69584151126,311,8283,366,925304

Per-kind recall (tree-labelled spots only)

variantacc (n=15)acclow (n=16)anchor (n=2)bigrej (n=31)lowrej (n=23)midrej (n=12)
v00.930.941.000.000.170.42
v11.001.001.001.000.830.58
v21.001.001.001.000.830.67
v3nh1.001.001.001.000.830.58
v31.000.941.000.840.650.50
v41.001.001.000.900.700.58

Object-level (group by cluster_name; object claimed if ≥ half its sub-spots claimed) — 60 tree objects, 7 not_tree objects

variantobj recallobj fp_rateobj TPobj FNobj FPobj TN
v00.5170.143312916
v10.9000.71454652
v20.9170.71455552
v3nh0.9000.71454652
v30.7830.714471352
v40.8670.14352816

v4 object FN (8): acc_022_c5 (= lowrej_022_c5), bigrej_003_c7, lowrej_003_c1, lowrej_066_c8, lowrej_086_c5, midrej_002_c17 (partial), midrej_003_c3, midrej_087_c40. v4 object FP (1): acc_003_c6.

Flips v4 vs v3nh: 16 flips, all in the "v4 drops" direction, zero gains. 10 correct drops (not_tree): lowrej_002_c0_s0/s1/s2, lowrej_060_c12_s0/s1/s2, lowrej_060_c5_s0/s1/s2, miss_060_tall_s0 — this is what takes fp_rate 0.846 → 0.077. 6 wrong drops (tree), all in segment 003: bigrej_003_c7_s0/s1/s2 and lowrej_003_c1_s0/s1/s2 (n_tree 36k–49k → 0–70); all six sit on the c1 band that v4 gates.

The 4 parents v4 gates as hedge bands

segmentclustern_pointsh_toplengthreliefareastems/10 mreason
002c0390,1772.69101.3 m1.2751301.5 m21.283band_shape+band_surface
003c1222,1502.81861.9 m1.232502.25 m20.162band_shape+band_surface
060c597,6262.25730.1 m0.819359.25 m21.330band_shape+band_surface
060c12230,0532.61058.5 m1.153935.0 m21.196band_shape+band_surface

v3 gated 12 parents (over-gating); v4 gates 4.

3. Boundary bands — hedge or trees? (your call)

One card per parent. BEFORE = today's detector (v0), AFTER = v4. Green paint = points claimed as tree. Answer each Q with one word. Click any image to open it full-resolution; ← / → (or swipe) step through the images of that question only, Esc closes. Each caption also links the top-down view.

segment 060 · cluster c12 gated as hedge

n=230,053 · h_top 2.61 m · len 58.5 m · relief 1.15 m · area 935 m2 · stems 1.20/10 m

judges: not_tree (0.5-0.7)  ·  v4: GATED as hedge - stays unpainted (no tiles cut)

your Fig. 3 wall

lowrej_060_c12_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_060_c12_s1

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_060_c12_s2

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

miss_060_tall_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q1 — 060 c12: hedge (not tree) or trees?

answer: Q1: hedge / Q1: trees / Q1: mixed - <where>

segment 060 · cluster c5 gated as hedge

n=97,626 · h_top 2.26 m · len 30.1 m · relief 0.82 m · area 359 m2 · stems 1.33/10 m

judges: not_tree (0.5-0.65)  ·  v4: GATED as hedge - stays unpainted (no tiles cut)

lowrej_060_c5_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_060_c5_s1

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_060_c5_s2

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q2 — 060 c5: hedge (not tree) or trees?

answer: Q2: hedge / Q2: trees / Q2: mixed - <where>

segment 002 · cluster c0 gated as hedge

n=390,177 · h_top 2.69 m · len 101 m · relief 1.28 m · area 1302 m2 · stems 1.28/10 m

judges: not_tree (0.5-0.65)  ·  v4: GATED as hedge - stays unpainted (no tiles cut)

lowrej_002_c0_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_002_c0_s1

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_002_c0_s2

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q3 — 002 c0: hedge (not tree) or trees?

answer: Q3: hedge / Q3: trees / Q3: mixed - <where>

segment 003 · cluster c1 gated as hedge

n=222,150 · h_top 2.82 m · len 61.9 m · relief 1.23 m · area 502 m2 · stems 0.16/10 m

judges: tree (cauliflower-lobed tops 3-4.5 m)  ·  v4: c1 GATED as hedge - stays unpainted; c7 TILED, 3/7 tiles accepted

gated by v4 as a band; c7 spots sit on it. c7 itself was TILED (3/7 tiles accepted) but its truth spots still end at 0-40 tree points, so all 6 wrong drops of v4 are here.

lowrej_003_c1_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_003_c1_s1

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_003_c1_s2

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

bigrej_003_c7_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

bigrej_003_c7_s1

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q4 — 003 c1: hedge (not tree) or trees?

answer: Q4: hedge / Q4: trees / Q4: mixed - <where>

segment 066 · cluster c15 tiled / rescued

h_top 2.35 m · len 57.3 m · relief 0.95 m · area 880 m2 · stems 1.92/10 m

judges: tree  ·  v4: TILED (not gated), 9/17 tiles accepted

kept only by the stem count (1.92 > 1.6 threshold)

lowrej_066_c15_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_066_c15_s1

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_066_c15_s2

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q5 — 066 c15: hedge (not tree) or trees?

answer: Q5: hedge / Q5: trees / Q5: mixed - <where>

segment 066 · cluster c8 tiled / rescued

h_top 2.03 m · len 52.7 m · relief 0.44 m · area 132 m2 · stems 0/10 m

judges: tree  ·  v4: TILED (not gated), 0/7 tiles accepted

flat, kept only by the area floor (132 < 250 m2); tiles rejected by the RF anyway

lowrej_066_c8_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_066_c8_s1

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_066_c8_s2

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q6 — 066 c8: hedge (not tree) or trees?

answer: Q6: hedge / Q6: trees / Q6: mixed - <where>

segment 023 · cluster c3 tiled / rescued

h_top 2.14 m · len 25.2 m · relief 0.50 m · area 122 m2 · stems 0/10 m

judges: tree (2/3), not_tree (1/3)  ·  v4: TILED (not gated), 0/4 tiles accepted

lowrej_023_c3_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_023_c3_s1

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_023_c3_s2

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q7 — 023 c3: hedge (not tree) or trees?

answer: Q7: hedge / Q7: trees / Q7: mixed - <where>

segment 086 · cluster c5 tiled / rescued

h_top 2.31 m · len 18.7 m · relief 0.52 m · area 126 m2 · stems 2.14/10 m

judges: tree  ·  v4: TILED (not gated), 0/3 tiles accepted

lowrej_086_c5_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q8 — 086 c5: hedge (not tree) or trees?

answer: Q8: hedge / Q8: trees / Q8: mixed - <where>

segment 087 · cluster c3 tiled / rescued

h_top 2.57 m · len 12.6 m · relief 1.07 m · area 107 m2 · stems 0/10 m

judges: tree  ·  v4: TILED (not gated), 1/4 tiles accepted

lowrej_087_c3_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q9 — 087 c3: hedge (not tree) or trees?

answer: Q9: hedge / Q9: trees / Q9: mixed - <where>

segment 093 · cluster c0 tiled / rescued

h_top 2.00 m · len 24.3 m · relief 0.26 m · area 37.5 m2 · stems 0/10 m

judges: not_tree (0.95)  ·  v4: TILED (not gated), 0/4 tiles accepted

1.5 m wide sliver, not gated (area below the 250 m2 floor), tiles rejected anyway

lowrej_093_c0_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q10 — 093 c0: hedge (not tree) or trees?

answer: Q10: hedge / Q10: trees / Q10: mixed - <where>

segment 094 · cluster c1 tiled / rescued

h_top 3.06 m · len 30.5 m · relief 1.86 m · area 390 m2 · stems 0.66/10 m

judges: tree  ·  v4: TILED (not gated), 8/10 tiles accepted

relief just above 1.5 m -> rescued

lowrej_094_c1_s0

No v4 render exists for this spot (segment 094 was not re-rendered) — only the BEFORE views are shown.

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225

lowrej_094_c1_s1

No v4 render exists for this spot (segment 094 was not re-rendered) — only the BEFORE views are shown.

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225

lowrej_094_c1_s2

No v4 render exists for this spot (segment 094 was not re-rendered) — only the BEFORE views are shown.

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225

Q11 — 094 c1: hedge (not tree) or trees?

answer: Q11: hedge / Q11: trees / Q11: mixed - <where>

segment 018 · cluster c0 tiled / rescued

h_top 3.23 m · len 140 m · relief 2.10 m · area 2058 m2 · stems 1.28/10 m

judges: tree  ·  v4: TILED (not gated), 27/45 tiles accepted

rescued; 1.24 M points

lowrej_018_c0_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_018_c0_s1

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

lowrej_018_c0_s2

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q12 — 018 c0: hedge (not tree) or trees?

answer: Q12: hedge / Q12: trees / Q12: mixed - <where>

segment 085 · cluster c2 control

accepted parent, untouched by v4 (rescue-only)

judges: tree (your Fig. 5 anchor)  ·  v4: ACCEPTED by the RF (outcome vegetation_rf), never tiled

control: should look identical before/after

anchor_085_fp1_MIRO_TREE_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

acc_085_c2_s0

BEFORE (v0) · az045 · top view
BEFORE (v0) / az045
BEFORE (v0) · az225 · top view
BEFORE (v0) / az225
AFTER v4 · az045 · top view
AFTER v4 / az045
AFTER v4 · az225 · top view
AFTER v4 / az225

Q13 — 085 c2: hedge (not tree) or trees?

answer: Q13: hedge / Q13: trees / Q13: mixed - <where>

4. Contested spot

acclow_087_c42_s0 contested

judges: botanist tree 0.6; skeptic unsure 0.45

az045 · top view
az045
az225 · top view
az225

Q-c: tree or not?

answer: Q-c: tree / Q-c: not tree

5. Runtime and rollout

Runtime. Segment 051 (worst case): baseline 1221 s, tile-all 1642 s (+34 %). Rescue-only re-measures only the rejected parents, so the real cost is lower; corpus numbers will land in /home/ai/veg373_work/recall/phase3/eval/corpus_v4.md when the corpus run finishes (that file does not exist yet).

Proposed A1 config (code defaults stay OFF):

tile_enabled                     true
tile_size_m                      8
tile_rescue_only                 true
tile_parent_hedge_gate           true
tile_hedge_gate_max_seed_per_10m 1.6
tile_hedge_gate_min_area_m2      250

Files. /home/ai/veg373_work/recall/phase3/eval/compare4.md plus <v>.json / <v>.csv for v0, v1, v2, v3nh, v3, v4. Builder script: /home/ai/veg373_work/recall/phase3/eval/_mk_compare4.py. No errors; all 14/14 segments had tree_clusters.csv in every variant. v3e / v3e2 skipped as instructed.

6. Answer format

Copy, fill in, send back. hedge / trees / mixed - <where> for Q1–Q13.

Q1: 
Q2: 
Q3: 
Q4: 
Q5: 
Q6: 
Q7: 
Q8: 
Q9: 
Q10: 
Q11: 
Q12: 
Q13: 
Q-c: 
Q-cfg: (A1 config as proposed? yes / no + change)

Q1 060 c12 · Q2 060 c5 · Q3 002 c0 · Q4 003 c1 · Q5 066 c15 · Q6 066 c8 · Q7 023 c3 · Q8 086 c5 · Q9 087 c3 · Q10 093 c0 · Q11 094 c1 · Q12 018 c0 · Q13 085 c2 (control)