非極大值抑制(NMS)

一般地,在目標檢測網絡進行分類之後會從一張圖片中找出n個可能是物體的矩形框,然後爲每個矩形框爲做類別分類概率:

就像上面的圖片一樣,定位一個車輛,最後算法就找出了一堆的方框,我們需要判別哪些矩形框是沒用的。非極大值抑制的方法是:先假設有6個矩形框,根據分類器的類別分類概率做排序,假設從小到大屬於車輛的概率 分別爲A、B、C、D、E、F。

(1)從最大概率矩形框F開始,分別判斷A~E與F的重疊度IOU是否大於某個設定的閾值;

(2)假設B、D與F的重疊度超過閾值,那麼就扔掉B、D;並標記第一個矩形框F,是我們保留下來的。

(3)從剩下的矩形框A、C、E中,選擇概率最大的E,然後判斷E與A、C的重疊度,重疊度大於一定的閾值,那麼就扔掉;並標記E是我們保留下來的第二個矩形框。

就這樣一直重複,找到所有被保留下來的矩形框。

非極大值抑制(NMS)顧名思義就是抑制不是極大值的元素,搜索局部的極大值。這個局部代表的是一個鄰域,鄰域有兩個參數可變,一是鄰域的維數,二是鄰域的大小。這裏不討論通用的NMS算法,而是用於在目標檢測中用於提取分數最高的窗口的。例如在行人檢測中,滑動窗口經提取特徵,經分類器分類識別後,每個窗口都會得到一個分數。但是滑動窗口會導致很多窗口與其他窗口存在包含或者大部分交叉的情況。這時就需要用到NMS來選取那些鄰域裏分數最高(是行人的概率最大),並且抑制那些分數低的窗口。

發佈了208 篇原創文章 · 獲贊 892 · 訪問量 129萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章