Skip to content
imaged

Appearance embedding

OSNet-AIN x1.0 (MSMT17)

Embed a pedestrian crop into a 512-dim vector for tracking across frames.

MIT
Explore model

About this model

TorchReID OSNet with Instance Adaptive Normalization, trained on MSMT17. Input is a 256x128 pedestrian crop; output is a 512-dim L2-normalized appearance embedding. Cosine similarity between two embeddings scores whether they are the same person.

About 2.2M parameters, 1 MB graph plus 8.6 MB external weights. CPU warm runs land at 20 ms per crop, leaving budget for the detector and tracker in a live pipeline.

What you can build

  • Maintain track IDs across frames in a multi-camera retail counter.
  • Re-identify a person who left and re-entered the camera view.
  • Score whether two detections in different frames match by appearance.
  • Drive a DeepSort-style tracker that survives bbox drift and brief occlusion.

Variants & downloads

Choose the build for your app

Model files are being prepared.

Explore the model’s examples, source links, and integration notes while download variants are added.

Example inference

Input
A multi-person scene from the test pair, frame 1.
Output
Side-by-side composite with matched-identity boxes drawn across the two frames.

Performance

Results depend on the device, runtime, and test conditions. Each measurement keeps its own context.

M1 Max, macOS 15, ONNX Runtime 1.17

See original catalog hardware notes · CPU

19.9 ms

Warm inference

Catalog reference · variant unspecifiedCold start (ms): 21.23

Reference result from the existing catalog; conversion variant and measurement date were not recorded.

M1 Max, macOS 15, ONNX Runtime 1.17

See original catalog hardware notes · CoreML

19.9 ms

Warm inference

Catalog reference · variant unspecifiedCold start (ms): 20.46

Reference result from the existing catalog; conversion variant and measurement date were not recorded.

RTX 2060, Ubuntu 24.04, ONNX Runtime 1.24.3

See original catalog hardware notes · CUDA

5.1 ms

Warm inference

Catalog reference · variant unspecified

Reference result from the existing catalog; conversion variant and measurement date were not recorded.

Integration examples

Vision SDK integration

cpp

#include "imaged/sdk.hpp"
#include "imaged/families/reid/reid_family.hpp"

imaged::SDK::AI ai;
auto& config = ai.getOptions();
config.set("reid.model", "weights/osnet_ain_x1_0_msmt17.onnx");
config.set("reid.inputHeight", 256);
config.set("reid.inputWidth", 128);

imaged::SDK::ReIDFamily family;
family.load(config);

imaged::SDK::Image personCrop;
personCrop.load("crop.jpg");

auto result = std::get<imaged::SDK::EmbeddingResult>(family.run({&personCrop}));
auto& features = result.features;  // 512-dim unit vector