2026-08-25 · shooter A · 10 m
| reading | proposed | matched | missed | spurious | offset |
|---|---|---|---|---|---|
| cv_blob | 8 | 6 | 4 | 2 | 1.02 mm |
| yolo ≥ 0.25 | 9 | 9 | 1 | 0 | 0.51 mm |
move the threshold
| yolo cut at | proposed | matched | missed | spurious | offset |
|---|---|---|---|---|---|
| yolo ≥ 0.05 | 10 | 10 | 0 | 0 | 0.51 mm |
| yolo ≥ 0.10 (the default) | 10 | 10 | 0 | 0 | 0.51 mm |
| yolo ≥ 0.15 | 10 | 10 | 0 | 0 | 0.51 mm |
| yolo ≥ 0.25 | 9 | 9 | 1 | 0 | 0.51 mm |
| yolo ≥ 0.40 | 8 | 8 | 2 | 0 | 0.56 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.25
the trained detector, cut at the threshold chosen above