MeowID

MeowID: A Dual-Expert Retrieval System for Individual Cat Identification

Version Embedding PyTorch ONNX TensorRT

TL;DR: MeowID prioritizes fine-grained facial evidence, augments it with whole-cat context, and falls back to whole-cat retrieval when a usable face is unavailable.

Zhangchi Hu1,2,*,โ€ , Yi Shang2,*, Haocheng Yang4,2,*, Qiwei Hu5,*, and Yuzheng Li3,*

1 Department of Electronic Engineering and Information Science, University of Science and Technology of China
2 School of Intelligent Software Engineering, Hefei University of Technology
3 School of Software Engineering, Sun Yat-sen University
4 School of Computer Science, Northwestern Polytechnical University
5 College of Biological Sciences and Technology, Beijing Forestry University

* Equal contribution    โ€  Project leader

Model overview

MeowID is a face-priority, dual-expert retrieval system for identifying individual cats in unconstrained photographs. It combines separately parameterized face and whole-cat encoders while keeping their embedding galleries route-specific.

  • When a usable aligned face is available, the face expert produces the primary representation and receives a gated whole-cat correction.
  • When facial evidence is unavailable, the system falls back to the whole-cat expert.
  • New identities can be enrolled through embedding extraction and gallery insertion without retraining the recognition models.
  • All retrieval embeddings are L2-normalized, 512-dimensional vectors.

Method pipeline

MeowID method pipeline

The whole-cat expert produces an embedding for every image. A valid ECPose detection activates PetFace-style face alignment, the face expert, and validation-guided whole-cat hint fusion. Queries are compared only with the gallery associated with their selected route.

Repository contents

Path Contents Intended use
artifacts/MeowID-Base/ MeowID-Base and ECPose weights in PyTorch, ONNX, and TensorRT formats End-to-end identification and deployment
artifacts/ECSeg/ ECSeg-X segmentation weights Whole-cat instance extraction and cropping
artifacts/training_init/ Whole-cat and face expert initialization checkpoints Training and reproduction
artifacts/**/SHA256SUMS Published SHA256 checksums Artifact integrity verification

The TensorRT engines were built for the reference RTX 3090 environment. Rebuild them from the ONNX artifacts when the GPU architecture, TensorRT version, or batch profile changes.

Inference capabilities

Capability Details
Face localization ECPose with 9 cat-face landmarks
Face alignment PetFace-style three-point similarity alignment with a landmark-crop fallback
Recognition Separate DINOv3-based face and whole-cat experts
Fusion Validation-guided, gated whole-cat residual for the face route
Retrieval Route-specific galleries with normalized inner-product similarity
Backends PyTorch, ONNX Runtime CPU/CUDA, and TensorRT FP16/FP32
Whole-cat cropping ECSeg-X instance segmentation with masks, boxes, and padded crops

Minimal Python usage

from cat_recognition import MeowID

model = MeowID(
    "artifacts/MeowID-Base",
    backend="tensorrt",
    device="cuda:0",
    registry="registries/demo",
)

model.register(
    "cat_001",
    ["images/cat_001_a.jpg", "images/cat_001_b.jpg"],
)

prediction = model.search("images/query.jpg", top_k=5)[0]
print("route:", prediction.embedding.route)
for match in prediction.matches:
    print(match.cat_id, match.score)

The package accepts file paths, directories, glob patterns, PIL images, RGB NumPy arrays, and iterables of supported inputs.

Reference results

Offline retrieval on the ICW test set:

Route Top-1 mAP
Whole-cat expert 51.34% 59.00%
Cat-face expert 78.80% 83.32%
MeowID-Base hard routing 75.93% 80.45%

End-to-end batch-1 measurements on one RTX 3090 over 2,846 ICW test images include image decoding, preprocessing, ECPose, alignment, embedding extraction, and routing:

Backend Mean latency Throughput
PyTorch FP32 94.23 ms 10.61 images/s
ONNX Runtime CPU 478.67 ms 2.09 images/s
ONNX Runtime CUDA 79.88 ms 12.51 images/s
TensorRT FP16 60.00 ms 16.66 images/s

These results describe the reference evaluation environment and do not guarantee production performance.

Model mirrors

Limitations

  • Face and whole-cat embeddings occupy different spaces and must not be compared or merged directly.
  • Open-set acceptance thresholds must be calibrated for the target cameras, lighting, gallery size, and operating conditions.
  • Whole-cat fallback remains sensitive to severe occlusion and visually similar coat patterns.
  • TensorRT engines are environment-specific and should be rebuilt for other deployment targets.
  • ECSeg-X cropping currently uses the PyTorch backend.

Citation

@misc{hu2026meowid,
  title  = {MeowID: A Dual-Expert Retrieval System for Individual Cat Identification},
  author = {Zhangchi Hu and Yi Shang and Haocheng Yang and Qiwei Hu and Yuzheng Li},
  year   = {2026}
}
Downloads last month
12
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support