Identimal
Cattle biometric ID from muzzle prints, the way face recognition works for people.
A PyTorch model learns 512-dimensional muzzle embeddings using angular-margin losses (ArcFace, AdaFace, MagFace).
The trained model exports to ONNX so the same weights run outside a Python service.
A companion Android app runs detection, embedding, and matching fully on-device against a local vector database, so herd registration works in the field with no connectivity.
- PyTorch
- ONNX
- Kotlin
- Jetpack Compose
// Identimal: cattle biometric ID from muzzle prints.
// One-line: identifying cattle by muzzle print, using a phone instead of a tag.
import { Project } from '@/portfolio'
export const identimal: Project = {
name: 'Identimal',
hook: 'Cattle biometric ID from muzzle prints, the way face recognition works for people.',
// A PyTorch model learns 512-dim muzzle embeddings with angular-margin losses (ArcFace, AdaFace, MagFace).
// The trained model exports to ONNX so the same weights run outside a Python service.
// A companion Android app runs detect, embed, and match fully on-device against a local vector DB,
// so herd registration works in the field with no connectivity.
stack: ['PyTorch', 'ONNX', 'Kotlin', 'Jetpack Compose'],
github: 'https://github.com/IjunaidI/Identimal-ML',
}