How labels get cleaned up
The label you see is not always what the model said. Between the model and your screen, AddaxAI cleans up the results in three steps. This page explains what they do, so a label that surprises you still makes sense.
1. Empty results are set aside, not thrown away
Some models can answer "nothing here", with labels like blank, empty or false detection. When that is the model's top answer, the box is kept with that label, but it is not counted: it draws no box on the photo, it is not an observation on the Counts page, it is in no chart, and a file with nothing else on it is marked blank. So a box that reads "Animal 68%, false detection 80%" is a box the detector found and the species model rejected.
The model can be wrong about that, so the box is not hidden from you. It is a card on the Labels page like any other, with the label the model gave it. Press Enter to agree, or relabel it if there is an animal after all, and it counts from then on. The detections table and the recognition file carry these boxes too, with the model's label, so nothing the AI found is lost.
2. Taxonomic rollup
When the model cannot name one species with enough confidence, it labels the animal with a broader group instead: genus, family, order or class.
It works by adding up. A model that is unsure between two deer species might give each one 40%, which is weak on its own. Added together the genus reaches 80%, which clears the 65% that AddaxAI asks for. It walks up the tree like this and stops at the most specific level that clears the bar, so you get "deer" rather than a coin flip between two species.
If nothing clears it, not even at class level, there is one last step. Everything the model recognised as some kind of animal is added up, and if that total clears the bar the label becomes the kingdom: "Animal" in common names, "Animalia" in scientific names. That says only that an animal was there. If even the kingdom does not clear it, the label stays as the model's best guess.
That 65% is fixed. It is the same for every model and every project, and you cannot change it.
It is a trade-off: a broader label tells you less, but it is more likely to be right. You can still relabel it to a species yourself if you can tell them apart. Rollup is on by default and you can turn it off in the project settings. See species names.
3. Labels are smoothed
It runs twice: first within a single image, across the boxes in it, then across all the files in an event. Inside one event the same animal usually triggers many photos. If the model labels 11 of them deer and 1 of them elk, smoothing treats the odd one out as a mistake and makes all 12 deer.
Smoothing works the other way too. If most of an event is confidently "lion" and one detection only made it to "felidae" in step 2, smoothing can turn that group back into the species. Vague labels give way easily: "animal" or "unknown" needs far less support to be overwritten than a real species does. This removes a lot of noise and it is usually right, but it can also hide a real second species in a busy event. So if you work with mixed herds, or with two similar species at the same site, check those events yourself. See detections, events and observations for how events are formed.
What this means for you
Two things follow from the three steps above. Your own corrections are never touched, because smoothing and rollup skip anything you verified, so your label always wins. And the AI's score is measured after cleanup: the confusion matrix compares your verified label against the label the app showed you, which is the cleaned-up one, not the raw model output. See confidence and verification.
Changing it
Steps 2 and 3 are project settings. You can turn rollup off, and you can make smoothing milder or stronger or turn it off. Step 1 always applies.
Rollup also decides what happens to species you left out of your selection. With rollup on, a photo the model reads as a species you excluded is moved up to the nearest group you did allow, with the model's full confidence. With rollup off, the excluded species are simply dropped and the next best species from your selection becomes the label, at the score the model gave it. If that score is below 1%, the animal stays unlabelled instead.