Skip to content
Gaurav14cs17 edited this page Jun 21, 2026 · 1 revision

Models

Architecture

FlashTrack uses a three-stage architecture for ReID feature extraction:

  1. Backbone — ShuffleNetV2 (0.5x, 1.0x, or 1.5x)
  2. Feature Encoder — Lightweight CNN that compresses backbone features
  3. ReID Head — BN neck + FC for embedding, optional classifier for training

Model Variants

Model Backbone ReID Dim Encoder Ch Params FP16 Size
FlashTrack-m-0.5x ShuffleNetV2 0.5x 128 128 ~0.3M ~0.6 MB
FlashTrack-m ShuffleNetV2 1.0x 128 256 ~0.8M ~1.6 MB
FlashTrack-m-1.5x ShuffleNetV2 1.5x 256 384 ~1.5M ~3.0 MB

Building a Model

from flashtrack.cfg import get_config
from flashtrack.models import build_model

cfg = get_config(model_size="m", input_size=(128, 64), num_ids=500)
model = build_model(cfg)

# Or directly
from flashtrack.models.tracker import FlashTracker
model = FlashTracker(
    backbone_size="1.0x",
    reid_dim=128,
    encoder_channels=256,
    num_ids=500,
)

Feature Extraction

import torch

model.eval()
crops = torch.randn(4, 3, 128, 64)
embeddings = model.extract_features(crops)  # [4, 128]

Model Info

info = model.get_model_info()
print(f"Parameters: {info['total_params']:,}")
print(f"FP16 size: {info['fp16_mb']:.2f} MB")

Clone this wiki locally