1 简介
我们都知道目标检测的目的就是找到图像中的所有目标,并识别它们的位置和属于某一类的概率。One-Stage目标检测在一个框架中共同推断位置和类别的概率。通过训练它们最大限度地提高其框的精度和预测概率的精度,并在最后应用到推理之中。
Two-Stage检测器首先发现潜在目标及其位置,然后(在第2阶段)对这些潜在目标进行分类。第1阶段的目的是最大限度地召回目标,而第2阶段是最大限度地在第1阶段过滤的目标。
而本文通过优化Two-Stage的联合概率目标的下界,提出了一个简单的改进标准Two-Stage检测器训练方法。概率处理建议对Two-Stage架构进行更改。具体来说,第1阶段需要推断一个校准目标的似然性。目前Two-Stage目标检测中的RPN是为了最大化召回而设计的,不产生准确的可能性。然而,One-Stage方法可以。
在目前最先进的One-Stage检测器的基础上建立了一个概率Two-Stage检测器。对于每一阶段的检测,CenterNet2模型都会提取区域级特征并进行分类。在第2阶段使用更快的R-CNN或级联分类器。这两个阶段一起训练,以最大限度地提高预测的概率准确度。在推理中,CenterNet2使用这个最终的对数似然作为检测得分。
概率Two-Stage检测器比One-Stage检测器和Two-Stage检测器更快、更准确。与基于Anchor的Two-Stage检测器相比,CenterNet2的第1阶段更准确,允许检测器在RoI头部使用更少的建议,使检测器整体上更准确和更快。与One-Stage检测器相比,CenterNet2的第1阶段使用了更精简的Head设计,并且只有一个输出类用于密集图像水平预测。由于类别数量的急剧减少所带来的加速,远远超过了第2阶段的额外成本。CenterNet2的第2阶段充分利用了多年来Two-Stage检测器的进展,并在一阶段基线上显著提高了检测精度。
实验表明,CenterNet2检测器通过单尺度测试在COCO测试开发上达到了56.4mAP,优于所有已发布的结果。CenterNet2检测器使用轻量级Backbone,在Titan Xp上以33fps的速度在COCO上实现了49.2mAP的性能,优于Scaled YOLOv4。
2 相关工作
2.1 One-Stage Detectors
One-Stage Detectors同时预测输出类的概率和目标的位置。
RetinaNet对一组预定义的滑动锚框进行分类,并通过调整每个输出的损失来处理前景-背景不平衡。
FCOS和CenterNet消除了每像素多个锚点的问题,并根据位置对前景/背景进行分类。
ATSS和PAA通过改变前景和背景的定义来进一步改进FCOS。
GFL和Autoassign改变Hard Foreground-Background分配为加权软分配。
AlignDet在输出之前使用一个可变形的卷积层来收集更丰富的分类和回归特征。
RepPoint和DenseRepPoint将边界框编码为一组轮廓点,并使用点集特征进行分类。
BorderDet沿着边界框池化特征以实现更好的localization。
大多数One-Stage Detectors都有可靠的概率解释。虽然One-Stage Detectors取得了具有竞争力的性能,但与Two-Stage Detectors相比,它们通常依赖于单独分类和回归分支。事实上,如果类别很大(如LVIS或Objects365数据集),它们不再比Two-Stage Detectors更快。此外,One-Stage Detectors仅使用正样本的局部特征进行回归和分类,这有时与目标不对齐。
而本文提出的概率Two-Stage Detector框架分解了多个阶段的概率分布并保留了One-Stage Detector的概率解释,同时提高了准确性和速度。
2.2 Two-Stage Detectors
Two-Stage Detector首先使用区域建议网络(RPN)生成粗糙的区域建议框,然后使用一个专用的检测头对它们进行分类和回归。
Fast-RCNN使用2个连接层作为RoI头部。
Cascade-RCNN使用FasterRCNN的3个级联阶段,每个阶段都有不同的正阈值,以便后期更多地关注定位精度。
HTC利用额外的实例和语义分割标注来增强Cascade-RCNN的级间特征流。
TSD对每个RoI的分类和Localization分支进行解耦。
Two-Stage Detector在许多情况下仍然更精确。目前,所有Two-Stage Detector都使用一个相对较弱的RPN,最大限度地召回排名前1K的预选框,并且不使用测试时的预选框分数。大量的预选框减慢了速度,并且基于召回的建议网络不能直接提供与One-Stage Detector相同的概率。
CenterNet2框架解决了这个问题,并将一个强大的One-Stage Detector与后面的分类阶段集成在一起。在第1阶段使用更少、质量更高的预选框,以输出更高的准确性和更快的速度。
2.3 Anchor Free && DETR
也有很多的检测器通过图像中的点来识别物体。
CornerNet则是检测左上角和右下角,并使用嵌入特征对它们进行分组。
ExtremeNet检测四个极值点,并使用一个额外的中心点对它们进行分组。
Duan等人通过检测中心点来改善Corner的分组。
Corner Proposal Net使用成对的角落分组作为区域提议。
CenterNet检测中心点,并从中回归边界框参数。
DETR和变形DETR去除检测器中的密集输出,而使用Trnasformer直接预测一组Bounding Boxes。
基于Corner的检测器、DETR与传统检测器的主要区别在于网络结构。基于Corner的检测器使用全卷积网络,通常具有对称的下采样层和上采样层,并以较小的步长生成单个特征图。DETR式检测器使用Trnasformer作为解码器。
传统的One-Stage和Two-Stage检测器通常使用由轻量化上采样层增强的图像分类网络,并产生多尺度特征(FPN)。
3 Two-Stage检测的概率解释
对于每一幅图像,检测的目标是产生个边界框,并且每个候选框的类分布服从分布。在这个工作,CenterNet2保持边界框回归不变,只关注类分布。
一个Two-Stage检测器将这种分布分解为2部分:类别不可知对象似然性(第一阶段)和条件类别分类(第二阶段)。这里表示第一阶段的前景,表示背景。
任何阴性检测导致背景分类:。在一个多级检测器中,分类是由多个级联级的集合完成的,而Two-Stage检测器使用一个单一的分类器。那么两Two-Stage模型的联合类分布为:
这里使用极大似然估计训练检测器。对于目标类,最大化:
对于背景类,最大似然:
这一目标将第1阶段和第2阶段的概率估计与损失和梯度计算联系在一起。准确的评价需要对第2阶段的所有第1阶段产出进行密集的评价,这将大大降低训练的速度。相反,文中推出了2个下界的目标共同优化。第1个下界使用Jensen不等式:
其中,,:
这个下界最大化了第1阶段中任何高分对象的第2阶段背景的对数似然。这里的,,但是这个界限可能会被松弛为,,于是第2界只涉及第一阶段的目标:
它使用和单调。对于来说,这个界限是紧密的。理想情况下,最紧密的界限是通过使用前式的最大值来获得的。在实践中同时优化2个边界可以得到更好的结果。
有了下界Eq.(4)和正目标Eq.(2),第1阶段的训练简化为最大似然估计,在标注对象上使用正标签,在所有其他位置使用负标签。这相当于训练一个二元一级检测器,或者一个RPN。