WBF(Weighted boxes fusion)-模型融合与NMS、soft-NMS

1 简介

本文根据2021年《Weighted boxes fusion: Ensembling boxes from different object detection models》翻译总结的。

NMS、soft-NMS的方法是去除一些预测的物体box,而WBF(Weighted boxes fusion)是利用的所有box的信息进行融合。

不过WBF在融合多个模型的结果上效果好于NMS、soft-NMS,但如果只是处理单个模型,其效果没有NMS、soft-NMS的好,是因为NMS、soft-NMS在处理很多低可信度的box过滤上效果好吧。

此外WBF的运行速度慢于NMS,平均大约比NMS慢3倍吧。

non-maximum weighted (NMW)方法的思想类似WBF,但是NMW没有改变可信度得分,它使用intersection-over- union (IoU)来权重处理box。

2 NMS

在WBF(Weighted boxes fusion)之前,我们先介绍下NMS、soft-NMS。

NMS(non-maximum suppression):首先根据检测box的可信度得分排序,接着选择拥有最大可信度得分的box。其中box被认为属于某个单独物体,是要看intersection-over- union (IoU) 高于某个阈值(threshold),如0.5. 如下面图片,NMS算法只取可信度得分最高的,即只有红色的框。而实际上丢失了另外两匹马。
WBF(Weighted boxes fusion)-模型融合与NMS、soft-NMS_第1张图片

3 Soft-NMS

Soft-NMS:不是直接根据Iou和可信度得分去除候选box,而是会根据IoU的值按比例调整box的可信度得分。如上图,绿色的box和黄色的box有明显的重叠,就会去除绿色的。即soft-NMS算法检测出两个box,黄色和红色的。

4 Weighted Boxes Fusion

假设有N个模型。

  1. List B:每个模型的预测box都放到该list里,按可信度分数C降序排序。
  2. List L:box的簇(cluster)的集合;List F: 融合(fused)box的集合。在 list L的每一个位置包含一个box集合(也可能只有一个box),其形成一个簇(cluster)。在List F的每个位置只有一个融合box,其对应着L中的簇(cluster)。
  3. 循环迭代List B,尝试在F中找到一个匹配的box。如果IoU阈值超过某个值就认为找到匹配的。我们实验中阈值采用的0.55.
  4. 如果没匹配到(和F比较的),就将来自B的这个box添加到list L和List F的末端。接着处理B中下一个box。
  5. 如果匹配到(和F比较的),就将来自B的这个box添加到list L对应的位置的簇(cluster)。
  6. list L对应的位置的簇(cluster)重新计算list F中box的坐标和可信度得分,簇(cluster)中有T个box。公式如下:
    WBF(Weighted boxes fusion)-模型融合与NMS、soft-NMS_第2张图片

如公式所述,拥有较大可信度得分C的box对融合(fused)box的贡献度更大。

  1. 当B中的所有box都处理完后,重新缩放list F中的可信度得分C。乘以簇(cluster)中box的数量T,除以模型数量T。如果一个簇(cluster)中的box数量降低,可能意味着只有很少的模型预测到它,所以我们需要降低其可信度得分。
    WBF(Weighted boxes fusion)-模型融合与NMS、soft-NMS_第3张图片

WBF(Weighted boxes fusion)-模型融合与NMS、soft-NMS_第4张图片

5 实验结果

如下表,WBF只融合了两个模型EffDetB6和EffDetB7,就取得了很好的效果。

WBF(Weighted boxes fusion)-模型融合与NMS、soft-NMS_第5张图片

下表是融合多个模型的效果。

WBF(Weighted boxes fusion)-模型融合与NMS、soft-NMS_第6张图片

你可能感兴趣的:(算法,物体识别,人工智能,计算机视觉,机器学习)