(1)、目標檢測中NMS的原理
對於Bounding Box的列表B及其對應的置信度S,採用下面的計算方式。選擇具有最大score的檢測框M,將其從B集合中移除並加入到最終的檢測結果D中。通常將B中剩餘檢測框中與M的IoU大於閾值Nt的框從B中移除。重複這個過程,直到B爲空。
重疊率(重疊區域面積比例IOU)閾值
常用的閾值是0.3~0.5.
其中用到排序,可以按照右下角的座標排序或者面積排序,也可以是通過SVM等分類器得到的得分或概率,R-CNN中就是按得分進行的排序。
就像上面的圖片一樣,定位一個車輛,最後算法就找出了一堆的方框,我們需要判別哪些矩形框是沒用的。非極大值抑制的方法是:先假設有6個矩形框,根據分類器的類別分類概率做排序,假設從小到大屬於車輛的概率 分別爲A、B、C、D、E、F。
- 從最大概率矩形框F開始,分別判斷A~E與F的重疊度IOU是否大於某個設定的閾值;
- 假設B、D與F的重疊度超過閾值,那麼就扔掉B、D;並標記第一個矩形框F,是我們保留下來的;
- 從剩下的矩形框A、C、E中,選擇概率最大的E,然後判斷E與A、C的重疊度,重疊度大於一定的閾值,那麼就扔掉;並標記E是我們保留下來的第二個矩形框;
就這樣一直重複,找到所有被保留下來的矩形框。R-CNN中使用了NMS來確定最終的bbox,其對每個候選框送入分類器,根據分類器的類別分類概率做排序(論文中稱爲greedy-NMS)。