FixTheRobot Explore Robotics / Perception / P6 / P6-L1

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

Perception · Object Detection and Semantic Understanding · P6-L1 · Intermediate

Interpret Detection Outputs

A detector has been bolted onto a robot and reports a list of numbers. Some objects appear twice, some boxes sit on empty floor, and the scores do not mean what the engineer thought.

You will read the raw output, decode it into boxes with classes and probabilities, suppress duplicates, and see what a class-per-pixel map leaves out.

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 is a reading exercise on scores and thresholds. Stage 2 decodes raw detector arrays. Stage 3 writes non-maximum suppression. Stage 4 turns a class map into regions and shows why semantic labels cannot separate touching objects. The detector in this lab is a simulation with a stated error model, not a trained neural network. Your code is graded on hidden scenes; the simulator keeps the true boxes and classes private.

    Theory for this lab

    Object Detection and Semantic Understanding labs

    1. P6-L1: Interpret Detection Outputs: this lab.
    2. P6-L2: Evaluate Predictions Against Ground Truth
    3. P6-L3: Investigate Confidence Thresholds and Missed Detections
    4. P6-L4: Compare Performance Across Scene Conditions

    Educational simplification and honesty note: all detections and class maps are produced by a simulator from known ground truth using an explicit error model (missed objects, jittered boxes, wrong classes, duplicates and false alarms, controlled by object size and occlusion). No neural network is run, and nothing here shows how a real network performs. The raw output arrays follow the format that typical detectors use so that decoding them is realistic. 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.