旷视提出目前最好的密集场景目标检测算法:一个候选框,多个预测结果

2020-04-26 11:44:44 浏览数 (1)

作为 CVPR 2020 Oral展示论文之一, 该文提出一种简单却有效的基于候选框的物体检测方法,尤其适用于密集物体检测。该方法通过一个候选框、多个预测框的概念,引入 EMD Loss、Set NMS、精细优化模块等新技术,并在 CrowdHuman 数据集上取得当前最佳结果,在拥挤程度更低的 CityPersons 数据集以及基本很少重叠的 COCO 数据集上也表现优良。论文代码已开源。

不管是一阶段方法还是二/多阶段方法,现代物体检测系统已在广泛使用基于候选框的框架。一般来说,该范式的流程分为两步:第一步,以人工设计(比如预定义的锚特征)或可学习(比如区域候选框网络/RPN)的方式生成多于完备的目标候选框;第二步,预测对应于每个候选框的各个实例,为其提供一个置信度分数和经过微调的位置。为了移除重复的预测结果,通常还需要非极大值抑制(NMS) 等方法来执行后处理。

尽管基于候选框的方法已经在 COCO 和 PASCAL VOC 等常规数据集上取得了当前最佳表现,但对于密集场景中的有效检测难度依然很大。图 1(a) 展示了一个常见的失败案例:检测器没有成功检测出严重重叠的目标(用虚线框标出)。

图 1:检测密集人群:(a) FPN 基准模型预测的结果;其中虚线框是由于被 NMS 错误地抑制而未能检测到的实例;(b) 将新方法应用于 FPN 后所得到的结果;其正确预测了所有实例。

在密集场景检测中,失败的典型原因有两个:1)高度重叠的实例(及其相关候选框)很可能有非常相似的特征,导致检测器难以为每个候选框各自生成可区分的预测结果(见图 2 示例);2)实例之间严重重叠,预测结果可能会被 NMS 错误抑制,如图 1(a) 所示。

图 2:密集检测的一个经典案例

由上图可知,一刀一叉的边界框几乎完全一样。三个边界候选框(红绿蓝)严重重叠。其中 (a) 是预测单个结果的范式,每个边界框都可预测单个实例(也可能是空实例),这是非常困难的,因为这些候选框的特征非常相似。另外,在 NMS 之后,留存的预测结果可能就仅剩一个。(b) 则是每个候选框都预测一个实例集合。

之前已有研究试图从不同角度解决这些问题,比如提出复杂精细的 NMS、新型损失函数、再评分方法、基于物体部分的检测器。但是,这些研究要么过于复杂,要么就不能有效地应对高度重叠的案例或会降低在重叠程度更低的案例上的表现。

简介

本文中,旷视研究院提出一种解决上述难题的新方法:对于每个候选框,不像一般做法预测单个实例,而是预测一组可能高度重叠的实例集合,如图 2 所示。使用新方法,可以预期每个邻近的候选框预测会推导出同一实例集合,而非互相区隔的各个实例,这样学习难度要低得多。

更进一步,本文又为这一新方法引入多种新技术:

  • EMD Loss 损失函数,用以监督实例集预测的学习过程;
  • Set NMS 后处理方法,用以抑制来自不同候选框的重复结果,其目标是克服原始 NMS 方法在密集场景中的应用缺陷;
  • 可选的精细优化模块RM(Refinement Module),用以处理潜在的假正例。

新方法很简单,且成本几乎为零,还适用于所有基于候选框的检测器。相较于一般方法,其最大的变化是增加一个预测分支,带来的额外成本实际上可忽略不计,但带来的改进却很显著:在 CrowdHuman 数据集上,无 RM 模块的新方法将 AP 分数提升了 4.5%,有 RM 模块的新方法则提升了 4.9%;此外,在密集实例上的召回率提升了 8.9%。更重要的是,即使不使用 RM 模块,MR⁻² 指数也略微提升了一些,这说明假正例出现得更少了。

在密集程度更低的数据集上,新方法依然能取得一定的改善。比如在 CityPersons 数据集上,新方法将 AP 分数和 MR⁻² 指数分别提升了 0.9% 和 1.0%;在 COCO 数据集上,AP 分数也实现了 1.0% 的提升。在不同数据集上进行的所有实验表明:不管密集程度如何,新方法皆可以合理地处理各种场景。

方法

本文方法基于这样一个观察:当有多个重叠程度很高的物体时,如果一个候选框对应于其中任何一个物体,那么很有可能也会与剩下的其它物体相重叠。因此,对于这样的一个候选框,为什么只让它预测单个物体,而不是预测所有物体呢?

本文方法即基于这一思考。如图 2 (b) 所示,每个候选框都会预测一组实例,然后再用新提出的 Set NMS 来移除重复的预测结果。

图 3:整体架构

图 3 是本文提出的密集场景检测新方法的整体框架,采用了带 RoIAlign 的 FPN 作为基准检测器。在 FPN 中,区域候选框网络(RPN)分支负责生成候选框,而 RCNN 分支则用于预测对应于 RoI 候选框的实例。因此,新方法依附于后一个分支。

图 3(a) 展示了其中的 RCNN 分支。其中 box_A 和 box_B 是一个候选框预测的两个实例,用于进一步优化结果的精细优化模块(RM)是可选的。可以看到,相比于原始架构,新方法的变化其实不大:仅在尾部附加了一个实例预测头。损失函数则换成了新提出的 EMD Loss,应用于两个预测结果。

下面用数学形式来描述新提出的方法。对于每个候选框 b_i,新方法不是预测单个目标,而是预测相关的基本真值实例集合 G(b_i):

可以发现,相比于之前的单实例预测框架,新方案可以极大地简化密集场景的学习过程。如图 2 (b) 所示,所有三个候选框都被分配给了同一基本真值实例集——这是可行的,因为这三个候选框的特征基本上一样。而对于之前的单实例预测范式,每个候选框都必须得到有明显区分的预测结果,这在本质上可能非常困难。

实例集合预测

对于每个候选框 b_i,大多数已有的基于候选框的检测框架都是采用一个检测函数来预测一个 (c_i,l_i) 对来表示相关的实例,其中 c_i 是带有置信度的类别标签,l_i 是相对坐标。新方法则是预测一个实例集合,为此,旷视研究院对原有方法进行了简单的扩展——直接使用 K 个检测函数来生成一组预测结果 P(b_i):

其中 K 是一个给定的常量,表示数据集中 G(b_i) 的最大基数。在大多数现有的检测框架中,实现 P(b_i) 都很简单,只需引入额外的预测分支即可。

EMD Loss

本文提出 EMD Loss 来最小化两个集合之间的推土机距离( Earth Mover's Distance):

其中 π 表示 (1, 2, . . . , K) 的特定排列组合,其中第 k 个元素为 π_k;是第 π_k 个基本真值。?_cls 和 ?_reg 分别为分类损失和候选框回归损失,它们的定义与常用定义一致。

注意 (3) 式中假设 |G(b_i)| = K;如果不等,则填充表示背景且无回归损失的框。另外值得注意的是,如果 K = 1,则 (3) 式就等同于传统单实例预测框架的损失函数。

Set NMS

因为采用了 EMD Loss,因此按照定义,一个候选框所预测的实例都是独一无二的。换句话说,只有不同候选框的预测结果之间才存在重复。

基于这一先验知识,本文对原始 NMS 进行简单的改进,得到 Set NMS。在 NMS 算法中,每次在一个框抑制另一个框之前,都额外插入一个测试过程,以检查两个框是否来自同一候选框;如果是,则跳过抑制步骤。

后面的实验结果也表明,只有当多实例预测和 Set NMS 同时使用时,新方法才能在密集检测方面实现显著提升。

精细优化模块(RM)

针对假正例问题,本文提出了一种可选的 RM 模块,该模块以预测结果为输入,并将它们与候选框特征相结合,然后执行第二轮预测,进而有望校正可能存在的假正例。

从以上描述可以看到,新方法中唯一的超参数就是 K,即 G(b_i) 的最大基数;在下面的实验中,K 的取值为 2。

实验

为了在多个数据集上验证该方法的有效性,本文采用的评估指标包括平均精度(AP)、MR⁻²(越小越好)和 Jaccard Index(JI)。

表 3、4、5 给出了在拥挤程度较高的 CrowdHuman 数据集上的实验结果。

表 3:在 CrowdHuman 验证集上比较不同 NMS 策略的结果

表 4:在 CrowdHuman 验证集上比较不同密集检测方法的结果

表 5:在 CrowdHuman 验证集上的检测框召回率

可以看到,本文新提出的方法在 CrowdHuman 数据集上的表现优于之前的方法。此外,在拥挤程度更低的 CityPersons 数据集以及基本很少重叠的 COCO 数据集上,该方法也表现优良,表明这种新方法能够稳健地应对不同拥挤程度的物体检测场景。

总结

本文中,旷视研究院提出一种简单却有效的基于候选框的物体检测方法,尤其适用于密集实例检测。这种新方法利用了多实例预测的概念,并引入了 EMD Loss、Set NMS、精细优化模块这些新技术。这种新方法不仅有效,而且还能与各种基于候选框的检测框架结合使用;此外,该方法也适用于拥挤程度较低的检测场景。

论文名称:Detection in Crowded Scenes: One Proposal, Multiple Predictions

论文链接:https://arxiv.org/abs/2003.09163

论文代码:https://github.com/megvii-model/CrowdDetection

参考文献 见原论文。

END

set

0 人点赞