Herdmark Biometric identity register
API up Embedder DINOv2 Gallery 88
Step 2 of 8 · Creating an identity

Enroll an animal

Enrollment is where the asset gets its identity. The commercially important part is not that we can store a template — it is that the system refuses to store a second one for an animal it already knows. That refusal is what stops the same cow being financed twice.

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 burst

A field device uploads a short burst of frames, not a single photograph. Multiple frames give the quality gate something to check — parallax between frames is how you tell a live animal from someone holding up a printed picture.

Animal the register does not hold — expect no_match
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
The 1:N search runs first, server-side, every time.