yolo极大抑制_非极大值抑制NMS及代码解读

非极大值抑制(NMS)用于目标检测的后处理,消除重叠框。本文介绍了NMS的具体步骤,并以YOLOV3为例解释了代码实现,包括设置阈值筛选、按乘积排序、计算IoU和迭代删除过程。
摘要由CSDN通过智能技术生成

104bd852ba4017e78e1d63a16c757406.png

介绍

非极大值抑制(non-maximum suppression,简称NMS),通常用在目标检测的后处理中。即在通过模型推理得到预测的多个bounding box之后,进一步通过NMS算法得到最终输出的预测框。

TODO:添加NMS示意图

具体步骤

  1. 经过某个目标检测的模型,如YOLO或SSD或Faster RCNN之后,得到一个bounding box的列表prediction
    这里以COCO数据集下YOLOV3模型的输出为例子,对于任意单张图片而言prediction的shape为(total_num_bbox, 85)。其中第一个维度total_num_bbox为模型输出的bounding box(即bbox)个数,第二个维度85由三部分组成,前4个值为bbox的中心点和宽高xywh,第5个为该bbox的物体置信度obj_conf,后面80个为预测的类别置信度cls_conf。
  2. 过滤掉低于某个置信度阀值conf_thres=0.4的框,得到新的prediction
  3. prediction中的所有bbox按照每个类别的置信度从大到小排序
    1. 对于Faster RCNN而言,直接取每个bbox每个类别的类别置信度来排序
    2. 对于YOLOV3的实现而言,没有将这个过程放在每个类别的for循环中,而是为每个bbox计算
      来排序,即这个bbox的物体置信度与最大类别置信度的乘积才是用在这里排序的值
  4. 选出prediction中置信度最高的
    放到结果列表
    keep_boxes
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值