Understanding confidence thresholds in AddaxAI

How detection, classification, and post-processing thresholds affect your results

Hi all,

We’ve had a few questions about how the different confidence thresholds in AddaxAI interact—especially when using MegaDetector (MD) alongside a species classification model. Below is a breakdown of how each threshold works, with examples to clarify how they affect your outputs:


:gear: Simple vs Advanced Mode

By default, AddaxAI runs in Simple Mode, which automatically uses the default thresholds defined by the developers of the classification model. These defaults are often set based on validation results during model training.

If you want more control, you can switch to Advanced Mode, where you can adjust:

  • Detection confidence threshold (MegaDetector)
  • Classification confidence threshold (species classifier)
  • Post-processing confidence threshold (filtering/display/export)

:mag: 1. Detection Confidence Threshold (MD threshold)

This sets the minimum MegaDetector (MD) confidence required for a detection to be considered an animal, person, or vehicle.

  • Hard-coded minimum: MD detections below 0.01 are always ignored.
  • Above this threshold: Detections are passed to the next stage (classification), but remain in the JSON file even if the classification threshold is not met.
  • Note: This threshold does not remove detections from the final JSON—it only controls which detections are forwarded to the classifier.

:test_tube: Example:
If the detection threshold is 0.90, only highly confident animals will be sent to the classifier. Lower-confidence detections (between 0.01 and 0.89) are retained in the results JSON but won’t be classified.


:paw_prints: 2. Classification Confidence Threshold

This threshold determines how confident the species classifier must be before assigning a label.

  • If the confidence is above the threshold, a species label is added.
  • If below, the animal is labeled as “unidentified”.
  • The classification score replaces the MD confidence in the results JSON, which can be confusing.

:pushpin: Important: If you’re seeing a lot of “unidentified” animals, it’s often because the classification confidence is below the threshold you’ve set.

:test_tube: Example:
If classification threshold is 0.90, and the classifier is only 80% sure it’s a fox, it will be labeled as “unidentified”—even if MD was 99% sure it was an animal.


:hammer_and_wrench: 3. Post-Processing Confidence Threshold

This is used after detection and classification. It does not affect the results JSON or the labels—it’s for filtering or visualising results later.

  • You might use this to export or display only high-confidence results (e.g. >0.60).
  • It allows flexible analysis without rerunning models.

:test_tube: Example:
Compare results at 0.05 and 0.60 to see how confident the system is in its predictions. The detections are unchanged—you’re just filtering what gets shown or exported.


:jigsaw: A Note on “Unidentified Animals”

Unidentified animals still have a confidence score. This is the original MD detection confidence. It tells you how confident the system is that there is an animal, just not which kind.

1 Like