非極大值抑制,在目標檢測的test階段使用

2021-09-13 15:27:48 字數 524 閱讀 5479

nms(non maximum suppression),中文名非極大值抑制,在很多計算機視覺任務中都有廣泛應用,如:邊緣檢測、目標檢測等。

這裡主要以人臉檢測中的應用為例,來說明nms,並給出matlab和c++示例程式。

人臉檢測的一些概念

(1) 絕大部分人臉檢測器的核心是分類器,即給定乙個尺寸固定,分類器判斷是或者不是人臉;

(2)將分類器進化為檢測器的關鍵是:在原始影象上從多個尺度產生視窗,並resize到固定尺寸,然後送給分類器做判斷。最常用的方法是滑動視窗。

以下圖為例,由於滑動視窗,同乙個人可能有好幾個框(每乙個框都帶有乙個分類器得分)

而我們的目標是乙個人只保留乙個最優的框:

於是我們就要用到非極大值抑制,來抑制那些冗餘的框: 抑制的過程是乙個迭代-遍歷-消除的過程。

(1)將所有框的得分排序,選中最高分及其對應的框:

(2)遍歷其餘的框,如果和當前最高分框的重疊面積(iou)大於一定閾值,我們就將框刪除。

(3)從未處理的框中繼續選乙個得分最高的,重複上述過程。

目標檢測 非極大值抑制理解

參考 非極大值抑制作用 在目標檢測中,滑動視窗經提取特徵,經分類器分類識別後,每個視窗都會得到乙個分數,但是滑動視窗會導致很多視窗與其他視窗存在包含或者大部分交叉的情況。這時就需要用到非極大值抑制來選取那些鄰域裡分數最高,並且抑制那些分數低的視窗。例如3個框都檢測到同乙個人,只取置信度最高的那個檢測...

目標檢測之非極大值抑制

基本思路 從待檢測目標中先按照分類置信度,找乙個最可信的框。然後判斷其他框和它的交並比 iou 如果大於閾值th,說明相似,抑制掉就好了。演算法 按照置信度排序 判斷其他框和得分最高的框的iou,大於閾值則剔除得分較小的建議框 從沒有處理的框中繼續選擇乙個得分最高的,重複上述過程。遍歷所有的建議框,...

目標檢測面試問題非極大值抑制

目標檢查會涉及到檢查效能,所以有的面試官喜歡問一下演算法的問題。非極大值抑制 以目標檢測為例,目標檢測的過程中在同一目標的位置上會產生大量的候選框,這些候選框相互之間可能會有重疊,此時我們需要利用非極大值抑制找到最佳的目標邊界框,消除冗餘的邊界框。如何使用非極大值抑制 前提 目標邊界框列表及其對應的...