2026-05-02 · shooter B · 10 m
| reading | proposed | matched | missed | spurious | offset |
|---|---|---|---|---|---|
| cv_blob | 5 | 5 | 5 | 0 | 0.83 mm |
| yolo ≥ 0.10 | 12 | 10 | 0 | 2 | 0.44 mm |
move the threshold
| yolo cut at | proposed | matched | missed | spurious | offset |
|---|---|---|---|---|---|
| yolo ≥ 0.05 | 12 | 10 | 0 | 2 | 0.44 mm |
| yolo ≥ 0.10 (the default) | 12 | 10 | 0 | 2 | 0.44 mm |
| yolo ≥ 0.15 | 11 | 10 | 0 | 1 | 0.44 mm |
| yolo ≥ 0.25 | 10 | 10 | 0 | 0 | 0.44 mm |
| yolo ≥ 0.40 | 9 | 9 | 1 | 0 | 0.41 mm |
A detector only proposes: a person confirms every target, so a spurious hole costs one click to remove and a missed one costs a click to place. Lowering the threshold trades misses for spurious holes. 0.10 is the default the real app ships with. Two readings are the same hole within 4 mm.
confirmed by a person
the truth every reading is scored against
cv_blob
classic blob detection, no threshold to move
yolo ≥ 0.10
the trained detector, cut at the threshold chosen above