非極大值抑制(Non-Maximum Suppression,NMS),顧名思義就是抑制不是極大值的元素,可以理解為局部最大搜索。也可以理解為只取置信度最高的一個識別結果。
舉例:

如圖所示,現在識別出了3個人臉,但該三個人臉其實都為同一個目標,只是位置不同,置信度也不一樣。
這時候,我們想要是置信度最高的“0.97”的檢測結果,以及位置信息。
那么,我們就可以采用NMS的方式,來得到我們想要的最后的結果。
原理:
對於Bounding Box的列表B及其對應的置信度S,采用下面的計算方式.選擇具有最大score的檢測框M,將其從B集合中移除並加入到最終的檢測結果D中.通常將B中剩余檢測框中與M的IoU大於閾值Nt的框從B中移除.重復這個過程,直到B為空.
流程:
如上圖所示,首先得到所有的Bounding Box和對應置信度的集合,如下:
A:0.78
B:0.97
C:0.65
從上面的列表中挑選一個置信度最高的為最終的結果
也就是B
注意:
多目標檢測時,需要對每個類目進行不同IOU的進行不同的計算