在前不久刚放榜的CVPR2022中有一篇来自NVIDIA的关于目标检测后处理的文章 “Confidence Propagation Cluster: Unleash Full Potential of Object Detectors”
https://arxiv.org/abs/2112.00342https://arxiv.org/abs/2112.00342
GitHub - shenyi0220/CP-ClusterContribute to shenyi0220/CP-Cluster development by creating an account on GitHub.https://github.com/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提升幅度对每个检测器因人而异,但基本都有提升。
甚至还能改进像Centernet这种说不用后处理的检测器