数学--数据处理--非极大值抑制(NMS)
在目標檢測中應用的多,實際上只要涉及到類似的數據處理問題,都可以用非極大值抑制方法。
一、在基于深度學習(各種CNN)模型的目標檢測案例中出現的較多,還涉及到IoU(交并比的概念)。參考了這篇博客:https://blog.csdn.net/xiexu911/article/details/80609298
非極大值抑制就是一個尋找局部最大值的過程。(數據結構中的查找或者排序的類似思想,需要迭代方法)
在進行目標檢測時一般會采取窗口滑動的方式,在圖像上生成很多的候選框,然后把這些候選框進行特征提取后送入分類器,一般會得出一個得分(score),比如人臉檢測,會在很多框上都有得分,然后把這些得分全部排序。選取得分最高的那個框,接下來計算其他的框與當前框的重合程度(iou),如果重合程度大于一定閾值就刪除,因為在同一個臉上可能會有好幾個高得分的框,都是人臉但是不需要那么框我們只需要一個就夠了。
那么肯定有人會好奇,如果圖片中有好幾個人臉,你這選取一個最大的,那第二個人臉怎么辦呢。
實際上這是一個迭代的過程,第一步的非極大值抑制就是選取了某一個最大的得分,然后刪除了他周邊的幾個框,第二次迭代的時候在剩下的框里面選取一個最大的,然后再刪除它周圍iou區域大于一定閾值的,這樣不停的迭代下去就會得到所有想要找到的目標物體的區域。
假設有ABCDEF這么多個得分框(已經按照得分從小到大排序)。
?
1、從最大概率矩形框F開始,分別判斷A~E與F的重疊度IOU是否大于某個設定的閾值;
2、假設B、D與F的重疊度超過閾值,那么就扔掉B、D;并標記第一個矩形框F,是我們保留下來的。
3、從剩下的矩形框A、C、E中,選擇概率最大的E,然后判斷E與A、C的重疊度,重疊度大于一定的閾值,那么就扔掉;并標記E是我們保留下來的第二個矩形框。
4、一直重復這個過程,找到所有曾經被保留下來的矩形框。
?
第一步尋找得分框:
第一次迭代找到一個:
?
第二次迭代找到另外一個:
參考:https://blog.csdn.net/shuzfan/article/details/52711706
????????????https://blog.csdn.net/zchang81/article/details/70211851
?
二、在激光slam中提取角點特征的時候也可以用到
參考了這篇論文: [1]滿增光,葉文華,肖海寧,錢曉明.從激光掃描數據中提取角點特征的方法[J].南京航空航天大學學報,2012,44(03):379-383.
總結
以上是生活随笔為你收集整理的数学--数据处理--非极大值抑制(NMS)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SLAM学习--2D激光SLAM--入门
- 下一篇: 机器人学习--路径规划算法