New in Studio: A General-Purpose Object Tracking Algorithm

In September 2025, we launched object tracking in Edge Impulse, a post-processing layer that turns per-frame detections into persistent object IDs, directly on your device. We built it with conveyor belts in mind: parts moving at a steady speed, in one direction, past a fixed camera. It is designed for that use case, but plenty of scenes don't look like a conveyor belt.

Today, object tracking gets a second option: a lightweight, general-purpose algorithm for objects that speed up, slow down, and change direction. It's available to all users, including the free Developer plan. The original linear tracker stays supported, and you pick the one that fits your scene.

Overview of the SORT Tracker configuration in Edge Impulse Studio

When objects don't move in straight lines

An object detection model looks at every frame in isolation. It can tell you there are three people in this frame, but not whether they're the same three people as in the last frame. Object tracking adds continuity that can support applications such as counting objects, estimating dwell time, or triggering an event when an object crosses a line.

Keeping that continuity is harder when motion is irregular: shoppers wandering through an aisle, forklifts turning in a warehouse, animals moving around a pen, or a robot arm moving parts in arcs. The general-purpose tracker is designed for these scenes, so you don't have to build and maintain your own tracking framework to cover them.

How the general-purpose tracker works

The new algorithm is based on SORT (Simple Online and Realtime Tracking), introduced by Alex Bewley and collaborators in a 2016 paper. For each new frame, the tracker:

  1. Predicts where each tracked object should be, using a Kalman filter that estimates the object's position, size, and velocity.
  2. Matches new detections to those predictions, using bounding box overlap (intersection over union, or IoU) and an optimal assignment step.
  3. Updates matched tracks with the new detection, so each track's motion estimate keeps adapting as the object changes speed or direction.
  4. Manages track lifecycles: unmatched detections start new tracks, and tracks that go unmatched for too long are closed.

SORT works on bounding boxes and doesn't run a second neural network for appearance features, which helps limit computational overhead for supported edge-device deployments.

Which tracker should you use?

Neither algorithm is better across the board. Your scene, your detector, your camera setup, and your performance requirements all play a part. Start from how your objects move:

Your scene

Where to start

Objects move mostly along predictable, linear paths

The linear tracker

Objects change speed or direction, or move less predictably

The general-purpose tracker

You're not sure

Test both on representative video and compare

The Post-processing page provides tools for comparing the algorithms: upload a few videos from your deployment environment, switch algorithms, and render a preview of each.

What the tracker does and doesn't do

The general-purpose tracker is a component that operates on your model's detections. A few things to keep in mind:

Get started

If you've used object tracking before, the workflow is the same:

  1. Train an object detection model in Studio.
  2. Upload a few test videos (no labels needed) in Data acquisition > Post-processing.
  3. Open Post-processing in the left navigation, select Simple Online and Realtime Tracking, and tune the parameters.
  4. Click Save, then Render Preview to check the tracks on your videos.
  5. Deploy. For supported targets, tracking is included in the generated deployment, including the Linux EIM, C++ library, and WebAssembly targets.

For parameter details and how to read tracking results on each target, see the object tracking documentation.

Try it on your own video

The general-purpose tracker gives you a new option for the scenes where motion The general-purpose tracker gives you a new option for the scenes where motion gets less predictable, and the linear tracker is still there for the scenes where it doesn't. Grab a video from your deployment environment and compare how each option tracks objects in your use case.

Ready to try it? Sign up for a free Developer plan account and follow the object tracking documentation.

Join us in the Edge Impulse forum, our Discord server, or tag us on social media — we'd love to see what you're building.

Comments

Subscribe

Are you interested in bringing machine learning intelligence to your devices? We're happy to help.

Subscribe to our newsletter