目标检测 nms非极大抑制算法
生活随笔
收集整理的這篇文章主要介紹了
目标检测 nms非极大抑制算法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
nms算法就是對(duì)同一個(gè)anhor 的box 進(jìn)行基于閾值的去重
1、目的
對(duì)于尺寸為416×416的輸入圖像,YOLO預(yù)測(cè)((52×52)+(26×26)+ 13×13))×3 = 10647個(gè)邊界框。 但是,在我的圖像中只有三個(gè)物體(本人,水杯,手機(jī))。 我們?nèi)绾螌z測(cè)結(jié)果從10647減少到3呢?
2、基于對(duì)象置信度的閾值。
首先,我們根據(jù)對(duì)象分?jǐn)?shù)(objectness score)過濾框。 通常,具有低于閾值分?jǐn)?shù)的框被忽略。
3、非最大抑制(NMS)
NMS打算解決同一圖像的多重檢測(cè)問題。通過抑制不是極大值的元素,可以理解為局部最大搜索。這個(gè)局部代表的是一個(gè)鄰域,鄰域有兩個(gè)參數(shù)可變,一是鄰域的維數(shù),二是鄰域的大小。這里討論用于目標(biāo)檢測(cè)中提取分?jǐn)?shù)最高的窗口的。例如在行人檢測(cè)中,滑動(dòng)窗口經(jīng)提取特征,經(jīng)分類器分類識(shí)別后,每個(gè)窗口都會(huì)得到一個(gè)分?jǐn)?shù)。但是滑動(dòng)窗口會(huì)導(dǎo)致很多窗口與其他窗口存在包含或者大部分交叉的情況。這時(shí)就需要用到NMS來選取那些鄰域里分?jǐn)?shù)最高(是行人的概率最大),并且抑制那些分?jǐn)?shù)低的窗口。
3.1、算法過程
-
Step1:按置信概率排列相應(yīng)的備選框
-
:取最大的框作為保留框,與其IOU大于閾值的框刪除掉
-
:剩下的框執(zhí)行Step2
tensorflow 有內(nèi)置的nms算法api
tf.image.non_max_suppression_with_scores(boxes, scores, max_output_size, iou_threshold=0.5,score_threshold=float('-inf'), soft_nms_sigma=0.0, name=None )參考鏈接一
參考鏈接二
參考鏈接三
參考鏈接四
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的目标检测 nms非极大抑制算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: argsort()
- 下一篇: yolo_model to output