在前不久刚放榜的CVPR2022中有一篇来自NVIDIA的关于目标检测后处理的文章 “Confidence Propagation Cluster: Unleash Full Potential of Object Detectors”
https://arxiv/abs/2112.00342https://arxiv/abs/2112.00342
GitHub - shenyi0220/CP-ClusterContribute to shenyi0220/CP-Cluster development by creating an account on GitHub.https://github/shenyi0220/CP-Cluster
该文的整体思路是要干掉已经用了很久了的NMS和Soft-NMS。作者在文中表示传统的基于NMS的方法及其改进算法主要有以下一些缺陷:
- 无法达到完全并行化,因为所有算法的前提是要先按置信度进行排序
- 严格假设最高置信度的框就是和GT最接近的
- NMS系列只是去重,并没有考虑怎么加强那些重要的True positives,也没有充分利用那些被suppress的弱框
基于此,这篇论文借用了置信度传播的思路(Belief Propagation),把候选框聚类去重问题转化为在无向图中传播置信度这一任务。
作者先把所有候选框转成无向图的集合(IOU<? 的框属于一个图)。然后在每个图中,节点之间相互同时传递正面消息(Positive Message)和负面消息(Negative Message)。最后在重复的框被消除掉的同时,那些被选出的框的置信度也被加强了(Enhanced)
我们首先来看把候选框聚类问题转化为无向图的集合,如下图所示:
接着我们来看正面消息的传递,这个是这篇文章主要创新点,因为之前从没有后处理方法涉及增强某些重要的候选框。作者提出的正面消息会加强那些周围弱样本框比较多的True Positives,如下图所示:
红框因为周围的所谓若样本朋友(weaker friends)比较多,所以他的置信度得到了加强,超越了绿框。具体来说,用如下公式来传递正面消息:
说完正面消息,我们来看负面消息。文中提到的负面消息其实和之前的SoftNMS里用到的负面消息类似,区别只是在于在CP-Cluster中负面消息只在单个Graph里传播,用于Suppress重复框。
CP-Cluster是迭代执行的,作者通过实验发现一般执行2轮就能收敛到最优解。从实验效果来看mAP提升幅度对每个检测器因人而异,但基本都有提升。
从作者源代码来看,除了DETR这种完全end2end的,其他都能用这个方法涨点。比如下面的基于mmdetection的各种主流检测器
然后Yolov5(v6.1 on coco-val)
Model | NMS | Soft-NMS | CP-Cluster |
---|---|---|---|
Yolov5n | 28.0 | 28.3 | 28.5 |
Yolov5s | 37.4 | 37.6 | 38.0 |
Yolov5m | 45.4 | 45.6 | 45.8 |
Yolov5l | 49.0 | 49.1 | 49.4 |
Yolov5x | 50.7 | 50.8 | 51.1 |
Yolov5s6_1280 | 44.9 | 45.0 | 45.2 |
Yolov5m6_1280 | 51.3 | 51.5 | 51.7 |
Yolov5l6_1280 | 53.7 | 53.8 | 54.0 |
Yolov5x6_1280 | 55.0 | 55.1 | 55.4 |
Yolov5x6_1280_tta | 55.8 | 55.8 | 56.2 |
同样也能改进YoloX系列(on coco-val)
Method/mAP | YoloX-Nano | YoloX-Tiny | YoloX-S | YoloX-M | YoloX-L | YoloX-X |
---|---|---|---|---|---|---|
NMS | 25.8 | 32.8 | 40.5 | 46.9 | 49.7 | 51.1 |
CP-Cluster | 26.4 | 33.4 | 41.0 | 47.3 | 50.1 | 51.4 |
结合MaskRCNN 检测器与实例分割一起刷(对一些大的MRCNN模型似乎效果不明显)
Box/Mask AP(test-dev) | NMS | Soft-NMS | CP-Cluster |
---|---|---|---|
MRCNN_R50 | 41.5/37.7 | 42.0/37.8 | 42.2/38.1 |
MRCNN_R101 | 43.1/38.8 | 43.6/39.0 | 43.7/39.2 |
MRCNN_X101 | 44.6/40.0 | 45.2/40.2 | 45.2/40.2 |
Box/Mask AP(val) | NMS | Soft-NMS | CP-Cluster |
---|---|---|---|
MRCNN_Swin-S | 48.2/43.2 | 48.9/43.4 | 49.0/43.4 |
甚至还能改进像Centernet这种说不用后处理的检测器(直接用CP替换maxpooling)
更多推荐
Confidence Propagation Cluster: 一个来自CVPR2022的目标检测涨点神器(CP-Cluster)
发布评论