Herdmark Biometric identity register
API up Embedder DINOv2 Gallery 88
Step 4 of 8 · 1:N search

Identify an unknown animal

An animal turns up at an auction, a roadblock or a pound and nobody knows whose it is. Nobody has claimed an identity for it, so there is nothing to verify — you have to search the whole register. That is a different operation from checking a claim, and it is the one that matters for stock theft recovery and for an insurer confirming that the carcass in front of them is the animal on the policy.

Real muzzle photographs · no accuracy claim is being made
The images on this screen are real cattle muzzle photographs from a public research dataset — US feedlot cattle, photographed in a single session. They are not South African breeds and none is a Cape buffalo. No score shown anywhere in this console is evidence of real-world accuracy.
Imagery Xiong, Yijie; Li, Guoming; Erickson, Galen (2022). Beef Cattle Muzzle/Noseprint database for individual identification [Dataset]. Zenodo. https://doi.org/10.5281/zenodo.6324361. Licensed under CC BY 4.0https://creativecommons.org/licenses/by/4.0/.
Read the full disclosure

The gallery holds 12 animals and 168 frames. Twelve animals is a demonstration, not a register. Accuracy on twelve animals says nothing about accuracy on a hundred thousand: the chance of a stranger resembling someone already enrolled grows with the size of the register, and this gallery is far too small to show where that starts to bite.

The imagery is single-session. Every frame of an animal was taken on one occasion. That includes the "second capture" used on the duplicate-check screen — it is a different part of the same session, not a return visit. So this console can show that the duplicate block fires; it cannot show that a muzzle still matches weeks or months later. Whether a muzzle pattern is durable over time is the question that decides whether this product works, and no public dataset we are permitted to use commercially can answer it. It needs a longitudinal capture: the same South African animals photographed twice, weeks apart.

The population is wrong for this market. US Midwest feedyard beef yearlings; Angus, Angus x Hereford, Continental x British cross. No Bonsmara, no Nguni, no Afrikaner, no Cape buffalo. A Cape buffalo muzzle has not been put through this pipeline at all.

What the pipeline underneath does show is real, and it is the part worth watching: capture, quality gate, DINOv2 embedding, vector search, thresholding and the hash-chained audit record all run exactly as they would in production, on real photographs, with the thresholds read from the database at request time.

Where this console cannot determine something it says unknown. It never reports "real" on the strength of a guess.

Submit a capture with no claimed identity

Pick a burst, or upload a frame of your own. The three groups below reach the three outcomes on purpose — the honest demonstration includes the two where the system declines to name an animal. Group membership is read from the register as it stands right now, by matching the gallery's animal identifier and then its label against the register's tags; the expected outcome is what the gallery was built for, never a prediction of the score.

Registered animal — a second group of frames from the same capture session — outcome varies, this is the hard case
Registered animal — its original enrollment capture — expect match
Animal the register does not hold — expect no_match

Submitting one poor frame instead of a full burst is a worse look at a real animal, not a doctored score. A held-out frame is stronger still: enrolment took the first eight frames of the burst, so a later one is genuinely absent from the index rather than merely unlikely to match — which is what a re-presentation in the field actually looks like. Both are honest ways to push a query toward inconclusive, and whether it lands there depends on the model. The screen reports what came back.

No claimed identity is supplied. The whole gallery is searched.