batdetect2/docs/source/explanation/postprocessing-and-thresholds.md
2026-03-28 19:42:09 +00:00

1.4 KiB

Postprocessing and thresholds

After the detector runs on a spectrogram, the model output is still a set of dense prediction tensors. Postprocessing turns that into a final list of call detections with positions, sizes, and class scores.

What postprocessing does

In broad terms, the pipeline:

  1. suppresses nearby duplicate peaks,
  2. extracts candidate detections,
  3. reads size and class values at each detected location,
  4. decodes outputs into call-level predictions.

This is where score thresholds and output density limits are applied.

Why thresholds matter

Thresholds control the balance between sensitivity and precision.

  • Lower thresholds keep more detections, including weaker calls, but may add false positives.
  • Higher thresholds remove low-confidence detections, but may miss faint calls.

You can tune this behavior per run without retraining the model.

Two common threshold controls

  • detection_threshold: minimum score required to keep a detection.
  • classification_threshold: minimum class score used when assigning class labels.

Both settings shape the final output and should be validated on reviewed local data.

Practical workflow

Tune thresholds on a representative subset first, then lock settings for the full analysis run.

  • How-to: {doc}../how_to/tune-detection-threshold
  • CLI reference: {doc}../reference/cli/predict