Non-Maximum Suppression (NMS)

Published: by Creative Commons Licence

NMS

Input and Output

Input: A list of Proposal boxes $B$, corresponding confidence scores $S$ and overlap threshold $N$.

Output: A list of filtered proposals $D$.

Algorithm

  1. Select the proposal with highest confidence score, remove it from $B$ and add it to the final proposal list $D$. (Initially $D$ is empty).
  2. Now compare this proposal with all the proposals — calculate the IOU (Intersection over Union) of this proposal with every other proposal. If the IOU is greater than the threshold $N$, remove that proposal from $B$.
  3. Again take the proposal with the highest confidence from the remaining proposals in $B$ and remove it from $B$ and add it to $D$.
  4. Once again calculate the IOU of this proposal with all the proposals in $B$ and eliminate the boxes which have high IOU than threshold.
  5. This process is repeated until there are no more proposals left in $B$.

Graphical Representation

Differences using different threshold $N$

Hence, threshold $N=0.5$ is better than $N=0.7$, which means if the threshold $N$ of IOU is set too large, the objectives will be detected repeatedly.

References