Object Detection
CSC3104 · Lab

IoU & NMS simulator

Run Non-Maximum Suppression by hand on six detections. Change the thresholds and watch boxes survive or get suppressed — with the full step-by-step log.

  1. 1 · Predict0/1
  2. 2 · Experiment0/2
  3. 3 · Explain0/1
  4. 4 · Code it0/2
  5. 5 · Challenge
  6. 0/4 tasks done

Predict first

Commit to a guess before you touch anything. Being wrong here is how it sticks.

Box A = (0, 0, 10, 10), Box B = (5, 0, 15, 10). IoU? (2 dp)

Experiment

Move the controls and watch the outputs. Goals tick off automatically when you reach them.

Run NMS yourself

Solid = kept · dashed = suppressed · faded = below the confidence threshold

Step-by-step
#NMS step
1Keep A (car, 0.95) — highest remaining
2Suppress C: IoU with A = 0.65 > 0.50
3Suppress B: IoU with A = 0.66 > 0.50
4Keep D (person, 0.91) — highest remaining
5Suppress E: IoU with D = 0.62 > 0.50
6Keep F (dog, 0.22) — highest remaining
Pairwise IoU (same class highlighted)
ABCDEF
A—0.660.650.000.000.00
B0.66—0.430.000.000.00
C0.650.43—0.000.000.00
D0.000.000.00—0.620.00
E0.000.000.000.62—0.00
F0.000.000.000.000.00—

Explain it

Put what you saw into words. This is what the exam will ask you to do.

Define IoU and explain NMS step by step.

Code it

Write real code against real data. Python and SQL run right here in your browser and hidden tests check your work; the AI reviews it like an examiner.

Pythonwarm-up

Intersection over Union

Write iou(a, b) for boxes given as (x1, y1, x2, y2) with x2 > x1 and y2 > y1. Return 0.0 when boxes don't overlap.

Ctrl/⌘ + Enter to run

Challenge

Fixed variations, a new problem every day, and unlimited AI challenges built from your current settings.

Horizontal Strip Overlap IoU

Box A = (0, 0, 10, 10) and Box B = (5, 0, 15, 10) in (x1, y1, x2, y2) form. What is their IoU? (2 decimals)