非極大值抑制 nms

2021-09-28 11:05:02 字數 974 閱讀 2576

非極大值抑制,簡稱為nms演算法,英文為non-maximum suppression。其思想是搜素區域性最大值,抑制極大值。非極大值抑制,在計算機視覺任務中得到了廣泛的應用,例如邊緣檢測、人臉檢測、目標檢測(dpm,yolo,ssd,faster r-cnn)等。

目標檢測的過程中在同一目標的位置上會產生大量的候選框,這些候選框相互之間可能會有重疊,此時我們需要利用非極大值抑制找到最佳的目標邊界框,消除冗餘的邊界框。

左圖是人臉檢測的候選框結果,每個邊界框有乙個置信度得分(confidence score),如果不使用非極大值抑制,就會有多個候選框出現。右圖是使用非極大值抑制之後的結果,符合我們人臉檢測的預期結果。

nms的問題:nms直接將和得分最大的box的iou大於某個閾值的box的得分置零,太簡單粗暴。

解決:相鄰區域內的檢測框的分數進行調整而非徹底抑制,從而提高了高檢測率情況下的準確率。

上圖是soft nms演算法的偽**如果是傳統的nms操作,那麼當b中的box bi和m的iou值大於閾值nt,那麼就從b和s中去除該box;如果是soft nms,則對於b中的box bi也是先計算其和m的iou,然後該iou值作為函式f()的輸入,最後和box bi的score si相乘作為最後該box bi的score。

為了改變nms這種hard threshold做法,並遵循iou越大,得分越低的原則(iou越大,越有可能是false positive)

非極大值抑制(NMS)

非極大值抑制 nms 非極大值抑制顧名思義就是抑制不是極大值的元素,搜尋區域性的極大值。這個區域性代表的是乙個鄰域,鄰域有兩個引數可變,一是鄰域的維數,二是鄰域的大小。這裡不討論通用的nms演算法,而是用於在目標檢測中用於提取分數最高的視窗的。例如在行人檢測中,滑動視窗經提取特徵,經分類器分類識別後...

NMS非極大值抑制

非極大值抑制演算法 non maximum suppression for object detection in python 非極大值抑制演算法 nms 非極大值抑制 矩形框融合 nms 卷積網路改進實現 筆記 人臉檢測視窗選擇辦法 nms convnet 開源 如何用soft nms實現目標檢...

非極大值抑制(NMS)

非極大值抑制 nms 非極大值抑制顧名思義就是抑制不是極大值的元素,搜尋區域性的極大值。這個區域性代表的是乙個鄰域,鄰域有兩個引數可變,一是鄰域的維數,二是鄰域的大小。這裡不討論通用的nms演算法,而是用於在目標檢測中用於提取分數最高的視窗的。例如在行人檢測中,滑動視窗經提取特徵,經分類器分類識別後...