Shaded value = in the CV mean (shade deepens with cover) Grey italic = shown for comparison but left out of the CV mean: the gold standard and manual CoralNet annotations (human reference values, not models), Coralscapes (not trusted), and any value that reuses the reference's own data n = frames behind the value — = not run or not applicable (see each region's notes) Site names and method names link out (new tab)

Coral Cover: BVI Necker 2026 (snorkels)

5 sites · 324 photos

Gold standard = 35 manually scored (via CoralNet) photos from Red Dock.

SiteDateClaudeGold standardDINOv3CoralSCOPMean ± SD of CVRange
Red Dock2026-07-018.1n=876.3n=3520.2n=9320.8n=9316.3 ± 7.28.0–20.8
Turtle Beach2026-07-013.3n=67—15.8n=7017.7n=7012.3 ± 7.83.3–17.7
Bali Hai to Turtle Beach2026-07-022.5n=89—13.8n=8912.1n=899.5 ± 6.12.5–13.8
Turtle Beach round 32026-07-021.9n=16—19.6n=2114.4n=2112.0 ± 9.11.9–19.6
Watersport Beach to Bali Hai2026-07-022.4n=51—11.5n=5112.3n=518.7 ± 5.52.4–12.3
All sites (unweighted mean)3.6—16.215.411.8 ± 7.03.6–16.2
Notes for BVI Necker 2026 (snorkels) (12)
  • [a] No hand-labelled frame at this area.
  • [b] CoralNet robot labels exist on the other 275 frames, but the source's label set has NO scleractinian class (0 of 8,250 robot points are hard coral; prep_necker.py), so the robot output is structurally unusable - blank, not 0.
  • [c] DINOv3 (in-house, frozen Alor/Indonesia model) = mean hard-coral probability over 20 synthesized points per photo, NO water/fish class, so not a benthic denominator (from the map build's hard_coral_cover_by_site.csv).
  • [d] GENUINELY NOT RUN: no Coralscapes v1/v2 output for Necker anywhere on disk (backlog 09-25; re-checked maps/bvi_necker_map_build/, model_comparison_audits/, _from_external_20260925/).
  • [e] CoralSCOP = per-frame sum of colony-mask area fractions (zero-filled; overlapping masks double-count), averaged over frames with an ok row. Area index, not a point count: denominator differs from any point-count reference.
  • [f] Not applicable: Necker's only '-edited' folder holds 2 frames (EDITED_UNEDITED_RULES.md).
  • [g] Claude = blind HC/NOT/UNK calls on the unedited frames, 30 CoralNet points per frame, cover = HC/30 (all-30: WATER/FISH are unknown outside the reference frames), mean of per-frame cover - the arm's own convention (RESULTS_20260919.md). 310/310 frames.
  • [h] Gold = Anderson's own CoralNet labels on the 35 frames whose 30 points he labelled himself (all at Red Dock), all-30 denominator, HC set as in necker_claude_arm/score_necker_claude_20260919.py.
  • [i] THIN SAMPLE (under 30 frames at this site): indicative only.
  • Mean/Range: Mean ± SD and Range are over the CV cells that enter the mean (CoralNet where independent, DINOv3, CoralSCOP unedited/edited, Claude). Gold standard, frames manually annotated in CoralNet, Coralscapes and same-measurement cells are shown but never averaged (*).
  • Methods: Claude (Anthropic); DINOv3 (Meta; paper; used here as the frozen backbone of the in-house classifier); Coralscapes v1 and v2 (EPFL-ECEO; dataset paper, code); CoralSCOP (Zheng et al., CVPR 2024); CoralNet.
  • Sites: names drop the region prefix (hover for the full name) and link to the site's CRD page, or to the regional summary page where the site has none. Date = survey date from the map pins (first–last visit); sites are listed earliest first, undated sites last.

All regions