目标检测中的集合预测 (Set Prediction for Object Detection)

  • Post author:
  • Post category:其他




1 简介目标检测中的集合预测

常见的目标检测方法如Faster-RCNN,RetinaNet等都是通过预设anchor的方式进行预测,这种方式本质上就是类似滑动窗口的一种模式。而使用这种滑动窗口的方式其实是人为地给检测任务降低难度,这也确实是早期的传统方式做模式识别的一种主流方式。

而基于集合预测的方式就显得更简单粗暴了,输入一副图像,网络的输出就是最终的预测的集合(也不需要任何后处理)能够直接得到预测的集合就已经达到了检测的目的了。但这种方式从直觉上看会比基于滑动窗口的方式更难。基于滑窗的方式就像人为地给了一个梯子,帮助网络去越过障碍,而集合预测就更需要网络真正懂得图像的语义而直接越过障碍。

集合预测带来的最大好处就是训练与预测变成真正的端到端,无需NMS的后处理,十分方便。同时,也不用人为地预设anchor size/ratio 了。

坏处就是这玩意儿能收敛吗?



2 非极大值抑制(NMS)

先简单介绍下NMS吧,一句话解释就是常见的检测方法会产生大量的冗余框,常用的去掉冗余框的方法就是NMS。如下图所示

在这里插入图片描述

每个框有一个分类置信度分数以及框的坐标。算法思路如下,每次从剩下的框中选择分数最大的框作为最终的一个输出并移除它,与该框IoU大于给定阈值的都从剩下的框中移除,一直重复此操作直到剩下的框全被移除。那么每次中间选择的最大分数的框就是最终结果。如果有多个类的话,每个类分开计算。



3 Relation Network

之前试图直接移除NMS的工作也有很多,这里选一个比较有代表性的简单说一下。Relation Network 结构如下

在这里插入图片描述

该文有两个点,一是使用relation模块来建模实例之间的关系,其实也就是类似Non-Local那一套。二是使用relation模块来消除NMS。这里仔细说下第二点吧。

仔细分析NMS算法的过程可以得到,NMS的过程其实用到了两个信息,一个是不同框之间的

分数关系

,二是不同框之间的

几何关系

。也就是说如果现在有个万能黑盒,给它输入分数关系与几何关系,那它也就应该可以有NMS的效果。因此作者在这里设计了一个二分网络,用来预测每个框它是否是重复框。输入有分数信息,该框的特征向量,以及该框的实际位置信息,输出就是该框是否为重复框的分数



∈ [ 0 , 1 ] \in[0,1]















[


0


,




1


]





。网络结构如下

在这里插入图片描述

那训练的时候怎么决定谁才是非重复框,谁是重复框,也就是怎么给这个二分类网络分配GT呢?

这里是采用的

动态分配

的方式,过程如下:将所有预测框与所有GT框算IoU,对每个GT框选择IoU大于阈值的一些预测框,相当于根据IoU将预测框分为GT框数量个组,然后在每个组中选择预测分数最大的那个框为非重复框,其余全都为重复框。

在预测时需要将



s 0 s_0







s










0





















,



s 1 s_1







s










1





















乘起来作为该框的分数,一个质量好的框应该是



s 0 s_0







s










0





















,



s 1 s_1







s










1





















都要大。如果



s 0 s_0







s










0





















较大,



s 1 s_1







s










1





















较小,说明这很可能就是一个重复框,它们的乘积就很小,在输出最终结果的时候就会被排除,达到了NMS相同的作用。



4 DETR

DETR虽然不是最早预测集合的方式来检测,但应该是很有影响力的一篇文章了。介绍它之前先明确两中GT分配的方式,

静态分配



动态分配

静态分配就是常见的FasterRCNN,RetinaNet,FCOS等这些方法中分配的方式,即GT的分配不依赖于网络的输出。相反,依赖于网络的输出就是动态分配,像Relation Network中二分类网络那里的分配,以及DETR中的分配方式。

下面简单介绍下DETR,下面是DETR的结构图

在这里插入图片描述

transformer的后面的输出就是最终预测的结果,固定为100个预测结果也就说网络输出就是



100 × 4 100\times 4






1


0


0




×








4









100 × ( C + 1 ) 100\times (C+1)






1


0


0




×












版权声明:本文为wd18508423052原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。