问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

YOLOv5中的非极大值抑制及其改进方案

创作时间:
作者:
@小白创作中心

YOLOv5中的非极大值抑制及其改进方案

引用
CSDN
1.
https://m.blog.csdn.net/wusuoweiieq/article/details/144350337

非极大值抑制(Non-maximum suppression,NMS)是目标检测算法中一个重要的后处理步骤,用于去除重复的检测框,提高检测结果的准确性。YOLOv5作为当前最流行的目标检测算法之一,其采用的NMS方案及其改进版本在实际应用中具有重要意义。本文将详细介绍YOLOv5中使用的NMS算法及其改进方案。

NMS基本原理

YOLOv5中采用的是非极大值抑制(NMS),通过候选框的分数大小将所有候选框进行从大到小的排序,选择最大分数的检测框 M 后,将其他大于所设置 IoU(交并比)的候选框的分数进行置零,只保留一个检测框。

局限性

如果 IoU 阈值较低,会将周围置信度较低的候选框删除,导致漏检。

基本步骤

  1. 将所有检出的 output bboxes 按 cls scores 划分(含不含目标,无则不需要NMS);
  2. 在每个集合内根据各个bboxes 的 cls scores 做降序排列,得到一个降序的 list_k ;
  3. 从list_k 中 top1 cls score开始,计算该 bbox_x 与 list 中其他 bbox_y 的 IoU,若IoU大于阈值T,则剔除该bbox_y,最终保留bbox_x,从list_k中取出 ;
  4. 对剩余的bbox_x,重复step3中的迭代操作,直至 list_k 中所有 bbox 都完成筛选;
  5. 对每个集合的list_k,重复step3、4中的迭代操作,直至所有list_k都完成筛选。

局部感知NMS(LNMS)

LNMS一般用于水平矩形框,特别是离得很近的倾斜文本。LNMS是在EAST文本检测中提出的。

基本步骤

  1. 先对所有的output boxes集合结合相应的阈值(大于阈值则进行合并,小于阈值则不合并),依次遍历进行加权合并,得到合并后的bboxes集合;
  2. 对合并后的bbox集合进行标准的NMS操作。

如此操作,进行NMS的边界框数量会大幅降低,减少计算量。

倾斜NMS(INMS)

主要是解决倾斜的文本行检测(即带方向的目标)。

多边形NMS(Polygon NMS)

掩膜NMS(MNMS)

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号