FixTheRobot Explore Robotics / Perception / P6 / P6-L3

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

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

Investigate Confidence Thresholds and Missed Detections

A warehouse robot stops for every box the detector reports above 0.8. At dusk it drives straight past crates it never reported, and in the morning it stops for shadows.

You will see what the threshold trades, choose it from the cost of each error, and find where the misses concentrate.

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 threshold. Stage 2 chooses it by minimising a cost. Stage 3 breaks the misses down by object size. The predictions are produced by a simulated detector with a stated error model, not by a trained neural network. Your code is graded on hidden scenes.

    Theory for this lab

    Object Detection and Semantic Understanding labs

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

    Educational simplification and honesty note: predictions come from a simulator that turns known ground truth into detector-like output with an explicit error model (detection probability falling with small area, occlusion and dusk; box jitter; wrong classes; duplicates; false alarms), then through non-maximum suppression; no neural network is run. Costs are given numbers, not a safety analysis. 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.