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

2021-09-25 23:46:19 字數 812 閱讀 9229

參考:

非極大值抑制作用:

在目標檢測中,滑動視窗經提取特徵,經分類器分類識別後,每個視窗都會得到乙個分數,但是滑動視窗會導致很多視窗與其他視窗存在包含或者大部分交叉的情況

這時就需要用到非極大值抑制來選取那些鄰域裡分數最高,並且抑制那些分數低的視窗。

例如3個框都檢測到同乙個人,只取置信度最高的那個檢測框,將其他置信度低的另外兩個框去掉。那怎麼判斷應不應該去掉呢?那就是計算這些檢測框之間iou值。

非極大值抑制過程:

假設bounding box為集合b,在集合b中有若干個檢測結果(例如m,n,o,p),並且這些結果有對應的置信度(例如由高到低為m、o、p、n),檢測結果為集合d。

首先,在集合b中選出置信度最高的檢測框,例如m,將m放入集合d中;

然後,將b中剩餘的檢測框(n,o,p)分別於檢測框m計算iou;

然後將iou大於閾值n

tn_t

nt​的候選框從集合b中剔除,常用閾值選0.3 ~ 0.5。例如n與m的iou為0.1,o與m的iou為0.9,p與m的iou為0.2,則將檢測框o從b中剔除;

重複步驟1~3,此時集合b中剩餘檢測框n與p,因為p置信度最高,因此將p放入集合d中(相當於第1步驟的m);

此時集合b中檢測框n,計算n與p的iou,若iou大於閾值n

tn_t

nt​,則將n從集合b中剔除,集合b為空,非極大值抑制結束;

若iou小於閾值n

tn_t

nt​,此時集合b仍不為空,因此重複步驟1~3,此時集合b中剩餘檢測檢測框n,將n放入集合d中,集合b為空,非極大值抑制結束。

目標檢測之非極大值抑制

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

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

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

非極大值抑制

nms non maximum suppression 中文名非極大值抑制,在很多計算機視覺任務中都有廣泛應用,如 邊緣檢測 目標檢測等。這裡主要以人臉檢測中的應用為例,來說明nms,並給出matlab和c 示例程式。人臉檢測的一些概念 1 絕大部分人臉檢測器的核心是分類器,即給定乙個尺寸固定,分類...