pytorch实现yolov3中使用的nms(非最大抑制)理解

您所在的位置:网站首页 nms是什么意思啊 pytorch实现yolov3中使用的nms(非最大抑制)理解

pytorch实现yolov3中使用的nms(非最大抑制)理解

2024-06-03 14:27| 来源: 网络整理| 查看: 265

文章目录 1、目的

前期在研究pytorch实现yolov3时,虽然大体搞明白了yolov3的原理,但是由于项目紧急,没来得及做笔记,趁着这段时间不是那么忙了,整理一遍过程。首先说说nms(非极大抑制)。

对于尺寸为416×416的输入图像,YOLO预测((52×52)+(26×26)+ 13×13))×3 = 10647个边界框。 但是,在我的图像中只有三个物体(本人,水杯,手机)。 我们如何将检测结果从10647减少到3呢?

分两步:

2、基于对象置信度的阈值。 首先,我们根据对象分数(objectness score)过滤框。 通常,具有低于阈值分数的框被忽略。

3、非最大抑制(NMS) NMS打算解决同一图像的多重检测问题。通过抑制不是极大值的元素,可以理解为局部最大搜索。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。这里讨论用于目标检测中提取分数最高的窗口的。例如在行人检测中,滑动窗口经提取特征,经分类器分类识别后,每个窗口都会得到一个分数。但是滑动窗口会导致很多窗口与其他窗口存在包含或者大部分交叉的情况。这时就需要用到NMS来选取那些邻域里分数最高(是行人的概率最大),并且抑制那些分数低的窗口。

3.1、算法过程

Step1:按置信概率排列相应的备选框

Step2:取最大的框作为保留框,与其IOU大于阈值的框删除掉

Step3:剩下的框执行Step2

图例解释

首先根据候选框的类别分类概率做排序:A



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3