When a tracker starts switching IDs or fragmenting tracks, the reflex is to blame the tracker. Often the problem started one stage earlier, in the recognition output nobody was watching. “Object recognition” gets treated as a single black box that takes a frame and returns labelled boxes. That framing is convenient and it is also where debugging goes to die. Recognition is not one task — it is a family of related but distinct tasks, each producing a different kind of output with a different failure signature. And whatever it produces becomes the raw material for every stage downstream. If you never specified what the recognition stage is supposed to hand off, you cannot tell whether a downstream error is its fault or the tracker’s. The useful reframe is this: recognition is the upstream stage whose per-frame confidence and box quality directly shape everything that follows, so its output should be treated as an instrumented, versioned feed — not a black box you retrain when the demo looks wrong. What “object recognition” actually splits into The word covers at least three tasks that people conflate, and the differences matter the moment you build a pipeline on top of them. Image classification answers “what is in this image?” with a single label (or a ranked set) for the whole frame. There is no spatial output — no coordinates, no boxes. A classifier trained on ImageNet-style data tells you cat or forklift, not where. This is the wrong output to feed a tracker, because a tracker needs to know which pixels correspond to which object across frames. Object detection answers “what is in this image, and where?” It returns a set of bounding boxes, each with a class label and a confidence score. This is the output most trackers are built to consume: YOLO-family detectors, RT-DETR, and the classic two-stage R-CNN lineage all emit box + class + score tuples. The spatial precision is coarse — an axis-aligned box — but it is enough to associate detections into tracks. If you are choosing between architectures here, the trade-offs in RT-DETR vs YOLO for production inspection pipelines turn largely on latency versus recall behaviour, which is exactly the axis that matters downstream. Instance segmentation answers “which exact pixels belong to each distinct object?” It returns a per-instance mask rather than a box. Mask R-CNN and promptable models like the Segment Anything Model produce this. Segmentation gives you a much tighter spatial signal — useful when objects overlap heavily or when a box is a bad approximation of shape — but it costs more compute and more annotation effort, and many trackers still reduce the mask back to a box before association. These are not interchangeable. A team that says “we’re doing object recognition” and means classification will build a pipeline that cannot track. A team that means detection has made a specific choice about spatial granularity, and that choice propagates. What is the difference between image classification, object detection, and instance segmentation? Task Question answered Output Spatial granularity Typical models Feeds a tracker? Image classification What is in this frame? Class label(s) + score None (whole image) ResNet, EfficientNet, ViT No — no per-object location Object detection What, and where (roughly)? Box + class + confidence per object Axis-aligned bounding box YOLO, RT-DETR, R-CNN family Yes — the standard feed Instance segmentation Which pixels are which object? Per-instance mask + class + score Pixel-level mask Mask R-CNN, SAM Yes, usually reduced to a box first The table is the short answer. The rest of this article is about the column that decides whether your pipeline is debuggable: what the detection stage actually hands off, and how to instrument it. What output does a recognition model actually produce? For a detector, the per-frame output is a list of records. Each record carries a class label, an axis-aligned box (usually four numbers — corner coordinates or centre-plus-size), and a confidence score in the range 0 to 1. Some detectors emit oriented boxes when rotation matters; the detection head is where axis-aligned versus oriented geometry gets decided, and that decision changes what the tracker can associate on. The confidence score is where a lot of downstream trouble hides. It is not a calibrated probability that the object is present — it is the model’s internal score after non-maximum suppression, and its distribution shifts with lighting, occlusion, scale, and domain drift. A detector that returns a box at confidence 0.42 in bright conditions might return the same true object at 0.18 in shadow, and a fixed threshold silently drops it. That dropped detection is a missed detection, and it looks identical, from the tracker’s seat, to an object that genuinely left the scene. We treat the confidence score as an operational signal, not a truth value — its distribution over time is more informative than any single frame’s number. So the recognition contract that matters to the tracker is three things per frame: which objects were detected, where, and with what confidence. If any of those three wobbles, the tracker inherits the wobble. How do confidence scores and detection recall affect downstream tracking quality? A tracker’s job is association — deciding that the box in frame t+1 is the same object as a box in frame t — and it can only associate on detections it receives. Two recognition-stage properties dominate downstream track quality. Detection recall is the fraction of true objects the detector actually finds. Every miss is a gap in the track. Modern association logic, whether a Kalman-filter-plus-Hungarian approach or an appearance-embedding method, tolerates short gaps by predicting where an object should be. But a run of consecutive misses — say, a fast-moving object the detector loses for eight frames — exceeds the tracker’s prediction budget, the track dies, and when the object is re-detected it gets a fresh ID. That is a fragmented track, and its root cause is recall, not association. The mechanics of that handoff are covered in how an object tracker works: detection-to-track association in practice. Confidence stability drives ID switches near occlusions. When two objects cross and the detector’s confidence on each dips and recovers unevenly, the association step can swap which detection continues which track. The tracker did exactly what it was told; the instability came from recognition. The practical consequence: when you see ID switches and fragmentation, the question is not “is the tracker broken?” It is “what did the recognition feed look like in those frames?” Answering that requires having logged the feed. How do I tell whether a downstream error comes from the recognition model or the tracker? This is the divergence point between a targeted fix and a wasted retraining cycle. The discipline is to make the recognition output observable before it enters the tracker, then attribute errors by inspection rather than guesswork. Here is a diagnostic rubric we apply when a tracking symptom shows up: Pull the raw detection log for the failing frame window. Not the tracker’s output — the detector’s boxes and scores before association. If you never logged this, the first fix is instrumentation, not retraining. Was the object detected at all in the failing frames? If the box is missing, this is a recall problem in recognition. Retraining or a lower threshold is the right lever; touching the tracker will do nothing. Was it detected but at collapsing confidence? If confidence drops below threshold intermittently, this is a calibration/stability problem in recognition. A threshold change, test-time augmentation, or a domain-adapted model is the lever. Was it detected cleanly, with a stable box and healthy confidence, but the ID still switched? Now the evidence points at association. This is where tracker parameters — gating distance, appearance-embedding weight, track lifespan — earn their keep. Compare against a versioned baseline. If the recognition model changed recently, diff detection recall and mAP against the prior version on a held-out set before assuming the tracker regressed. The point of the rubric is that steps 2 and 3 are answerable only if the recognition feed is logged and versioned. A team that skips instrumentation jumps straight to step 4’s remedy — tuning the tracker — for problems that live two stages upstream. How do I make the recognition stage an observable, replaceable pipeline stage? Treat recognition as a component with a defined output contract, not as code fused into the tracker. Concretely, that means the detection output is serialised and logged per frame (class, box, score), the stage is swappable behind that contract, and its quality is measured against fixed metrics rather than demo footage. This is where recognition health becomes production telemetry. Per-class confidence distributions and detection recall are exactly the signals the reliability discipline monitors to catch a drifting model before it corrupts downstream stages. A shift in the per-class confidence histogram — the forklift class quietly sliding from a median of 0.6 to 0.4 over two weeks — is an early warning that the tracker will start fragmenting forklift tracks before any user files a bug. Making the stage replaceable also means a model swap can be evaluated as a measurable change in recall and mAP, not an eyeballed impression of whether the demo “looks better.” Our broader computer vision engineering practice is built around keeping these stage boundaries clean, because a pipeline whose stages are fused is a pipeline you cannot debug. Which metrics should you track for the recognition stage in production? Three metrics, each answering a different failure question, form the minimum observable set for a detection stage: Metric What it measures Failure it catches Evidence class Detection recall Fraction of true objects found Missed detections → fragmented tracks benchmark (on labelled eval set) mAP (mean average precision) Detection + localisation quality across thresholds Overall detector regression on model swap benchmark (on labelled eval set) False-positive rate Rate of spurious boxes Phantom detections → ghost tracks / ID pollution benchmark (on labelled eval set) Per-class confidence distribution Score histogram per class over time Domain drift before it becomes a track failure observed-pattern (production telemetry) The first three come from a labelled evaluation set and are what you run before and after any model change — mean average precision and its cousins are the detection metrics that make a swap comparable rather than anecdotal. The fourth is production telemetry: you cannot compute mAP on live traffic without labels, but you can watch the confidence distribution shift, and in our experience that shift is the earliest observable sign a recognition model is drifting away from the environment it was trained on (an observed pattern across deployments, not a fixed threshold — the drift rate depends heavily on the domain). FAQ What should you know about object recognition models in practice? Object recognition is not one operation but a family of tasks — image classification, object detection, and instance segmentation — that turn a frame into structured output. In practice, the detection variant produces a per-frame list of records, each with a class label, a bounding box, and a confidence score, and that list becomes the input to everything downstream, including trackers. What is the difference between image classification, object detection, and instance segmentation? Classification returns a whole-image label with no location. Detection returns a class, a bounding box, and a confidence per object. Instance segmentation returns a pixel-level mask per object. Only detection and segmentation produce the per-object spatial output a tracker needs; classification alone cannot feed a tracker. What output does an object recognition model actually produce, and how does it feed a tracker? A detector produces, per frame, a set of records containing a class label, an axis-aligned (or oriented) box, and a confidence score. The tracker consumes these boxes and scores to associate objects across frames into persistent tracks. The three properties that matter to the tracker are which objects were detected, where, and with what confidence. How do confidence scores and detection recall affect downstream tracking quality? Low detection recall creates gaps in the detection stream; a run of consecutive misses exceeds a tracker’s prediction budget and fragments the track into new IDs. Unstable confidence near occlusions causes association to swap which detection continues which track, producing ID switches. Both symptoms originate in recognition, not in the association logic. How do I tell whether a downstream error comes from the recognition model or the tracker? Pull the raw detection log for the failing frames — the boxes and scores before association. If the object was missing, it is a recall problem in recognition; if it was detected at collapsing confidence, it is a stability problem in recognition; if it was detected cleanly with a stable box and the ID still switched, the evidence points at the tracker. This attribution is only possible if the recognition feed is logged. How do I make the recognition stage an observable, replaceable pipeline stage? Serialise and log the detection output per frame, keep the stage swappable behind that output contract, and measure its quality against fixed metrics rather than demo footage. A stage defined this way lets you evaluate a model swap as a measurable change in recall and mAP, and lets you watch per-class confidence distributions for drift. Which metrics (mAP, detection recall, false-positive rate) should I track for the recognition stage in production? Track detection recall (catches missed detections that fragment tracks), mAP (catches overall detector regression on a model swap), and false-positive rate (catches spurious boxes that pollute tracking) against a labelled evaluation set. Add per-class confidence distributions as live production telemetry to catch domain drift before it becomes a visible tracking failure. Where this leaves the tracker The next time a tracker misbehaves, resist the urge to tune association parameters first. Ask what the recognition feed looked like in the failing frames — and if you cannot answer that, the real fix is to make the feed observable before it enters the tracker. A recognition stage with a defined output contract, versioned models, and logged confidence and recall is the difference between attributing a fault to its true source and burning a retraining cycle on the wrong stage. That contract — an independently observable, replaceable recognition stage — is exactly what a pipeline assessment looks for before it ever examines the association logic.