FixTheRobot Explore Robotics / Perception / P7 / P7-L1

This lab works on phones, but writing code is much easier on a laptop.

Perception · Multi-Object Tracking and Temporal Perception · P7-L1 · Intermediate

Track Moving Objects Across Simulated Frames

A camera finds ten moving objects in every frame but does not say which is which. A planner needs “the same object as before”, not just a list of positions per frame.

You will link detections into tracks with a gate and a nearest-neighbour rule, see where it breaks, and count the identity switches that mark the breaks.

Your task

    Simulation
    solution.pyLoading Python…
    Ctrl+Enter runs
    What Python can I use?

    Plain Python with math (and slamkit for small matrix helpers: matmul, transpose, solve, inverse, identity). Images, point clouds and detections arrive as lists inside the dictionary D; an image is a list of rows, each row a list of pixels. There is no NumPy or OpenCV: you write the algorithm yourself, which is the point of the lab. Print with print().

    Hints

    What this lab teaches

    Stage 1 explores the gate. Stage 2 writes the greedy nearest-neighbour linker. Stage 3 counts identity switches. The detections are simulated positions of synthetic moving objects, with noise, misses and false alarms. Your code is graded on hidden scenes with ground-truth identities the grader keeps.

    Theory for this lab

    Multi-Object Tracking and Temporal Perception labs

    1. P7-L1: Track Moving Objects Across Simulated Frames: this lab.
    2. P7-L2: Repair an Object-Association Algorithm
    3. P7-L3: Investigate How Noisy Detections Affect Track Quality
    4. P7-L4: Recover from Temporary Occlusion

    Educational simplification: objects are points moving on straight lines at constant speed with reflections at the borders; detections have independent Gaussian noise, random misses and uniformly placed false alarms; there is no appearance information. Real trackers use motion models, appearance and optimal assignment (the next labs). All data in this lab are simulated.

    Get the next lab

    Get notified when new robotics labs are released. One email per new lab, nothing else.