Computer Vision with Neural Networks

Keep distinct seed detections

A removed middle box overlaps a later box

Botie has overlapping seed detections with different scores. Greedy suppression must keep distinct candidates without allowing an already removed box to remove another one.

BOTIE

The highest-scored box removes the middle candidate. Should that removed candidate then suppress the third box?
The inputs we are comparing

Candidate seed rectangles

One duplicate and one separate seed

0044
0.504.54
7092

Removed boxes cannot suppress

0032
1042
2052

Candidate scores

Same in both cases

  1. 00.9
  2. 10.8
  3. 20.7

IoU suppression threshold

One duplicate and one separate seed

0.5

Removed boxes cannot suppress

0.4
Result for one duplicate and one separate seed
0044
7092
Choose an explanation to test
The strongest seed candidate arrives last in the list

This check uses the pieces from “Rank seed candidates before suppressing overlaps”.

BOTIE

All rectangles describe the same class. Process candidates from highest score to lowest, suppressing overlaps strictly above the IoU threshold. Return kept rectangle rows in selection order, regardless of their original input order.
Candidate seed rectangles
0044
6082
0.20.24.24.2
Candidate scores
  1. 00.6
  2. 10.7
  3. 20.95
IoU suppression threshold
0.5

Use a number, text, or an array matching the requested result. For a matrix, put each row in brackets. Saving your prediction runs your current construction on these inputs and checks the earlier examples too.

Build a construction in the workspace above first. This case will test those pieces.

What should happen when IoU equals the threshold exactly, and why might suppression still remove a real nearby object?

Greedy suppression is a heuristic with an explicit equality rule and a tradeoff between duplicates and nearby instances.

All candidates here belong to one class. Ties use the original index; real library tie behaviour can differ. Suppression can mistakenly remove nearby real objects.

Work through the Python challenges →
Continue the courseWhat a Token Is →
← Bounding Boxes and Overlap