NMS:Non-Maximum Suppression 非極大值抑制

Non-Maximum Suppression 非極大值抑制

NMS目的:

在檢測任務中,一個目標很有可能預測出多個bbox,我們需要剔除不適合的,只留下最好的。這就是NMS的目的。

   NMS處理之後     

NMS過程:

在目標檢測中,很可能需要預測很多類。拿預測人類的特徵圖來舉例,他可能出現很多的bbox,每個bbox網絡都會有它是人類框的置信度,我們選出其中置信度最大的一個bbox,然後比較其它的框與它的IoU大小,我們設定一個閾值(threshold),把與最好框的IoU超過閾值的bbox去除。這些超過閾值的bbox與最好的框的重疊程度過大,表明很有可能標定的是同一個物體。

 

提問:爲什麼不直接選擇最好(置信度最高)的框呢?把其它置信度低的都去掉就好了呀。

因爲與最好bbox的IoU低於閾值的框,很可能預測的不是同一個人,不應該去除它。

 

普通NMS存在的兩個問題:

1)圖片上存在稀疏不同的兩組物體:

例如一張圖片,一邊有一羣人,都站在一起(貼得足夠近),而另一邊只有一個人。

那麼如果我們把threshold設高,則很有可能一羣人那邊只有一兩個離得較遠的人被框住了。因爲當兩個人站得很近得時候,它們得框也會很近,即IoU很大,很有可能超過閾值,被NMS除去了:

那如果我們把threshold設低一點以避免這個問題的話,則又會出現右邊的人有多個bbox的情況,因爲threshold過低,無法得到有效抑制:

2)一些特殊的問題,例如動物存在長長的尾巴:

如上圖,這隻貓有兩個預測的bbox,很明顯,藍色框的置信度會更大,因爲紅色框的尾巴這一塊有太多的背景。NMS會除去紅色框,但是就我們希望的角度看,我們肯定是希望留下紅色框的,因爲尾巴也是貓的一部分對吧?

 

以上是普通的NMS存在的兩個問題,這些問題都有很多的論文進行討論和解決,提出了NMS的很多進階版,融合NMS等等,接下來我也會跟進學習!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章