古詩詞大全網 - 古詩大全 - NMS和Soft NMS

NMS和Soft NMS

NMS 是 one-stage 和 two-stage 目標檢測任務中常用的壹種後處理方法,用來過濾無效重疊的檢測框。

NMS 全稱非極大值抑制,出自 ICPR2006 的論文 《Efficient Non-Maximum Suppression》 。其基本思想很簡單,就是保留局部最大值而去除局部非最大值。

NMS 對所有的類別的檢測框進行循環過濾。對於某個類別 C ,首先對這些矩形框按照概率降序排列,選中概率最大的框作為候選框,對於剩下的框,依次與候選框求 IOU ,如果 IOU 大於某個閾值(超參),則將這些框丟棄(置0),並標記保留最大概率框。

以此類推,最終所有的框相互之間的 IOU 都是小於超參閾值的,或者概率被置為 0 了。剩下的所有概率非0的框就是最終的檢測框。

基於這種計算邏輯的 NMS 有兩個缺點。首先, NMS 算法需要壹個超參即 IOU Threshold ,這個閾值在不同任務中很難平衡。其次, NMS 會將相鄰或者重疊的兩個物體對應的兩個大概率目標框去掉壹個,造成漏檢。

實現:

Soft-NMS 出自 CVPR2017 的論文 《Improving Object Detection With One Line of Code》 ,對 NMS 做了壹些改進。

Soft-NMS 總體算法流程同 NMS 相同,主要差別循環過程中對閾值的判斷部分。 NMS 是簡單的對 IOU 大於閾值的檢測框進行刪除出來,而 Soft-NMS 則是通過權重來降低檢測框原有的置信度。對於有重疊的框,重疊區域越大,置信度衰減越嚴重。

Soft-NMS 計算降低置信度的權重常用兩種方法:線性法和高斯法。

線性法:

高斯法:

實現如下,方法 1 為線性法,方法 2 為高斯法,其他參數的話 Soft-NMS 退化為 NMS :

模擬的 5 個候選框:

實驗可以看出,在相同 IOU 閾值的情況下, Soft-NMS 相比 NMS 保留了壹個檢測結果,這在同類別物體重疊的情況下能夠提升其召回率。但是 Soft-NMS 又多引入了壹個超參,這個參數的設置也會顯著影響後處理的結果;而且,由於 Soft-NMS 在每次叠代都會修改 score 值,其最大值是在動態變化的需要在每次叠代都尋找壹次,因此 Soft-NMS 相比 NMS 計算效率有所降低。