(仅翻译了与目标识别相关的内容)
论文地址:https://arxiv.org/pdf/2003.09119.pdf
源码地址:https://github.com/KiveeDong/CentripetalNet
目录
Abstract
1.Introduction
2.Related work
3. CentripetalNet
3.1. Centripetal Shift Module
3.2. Cross-star Deformable Convolution(Cross-star变形卷积)
3.3. Instance Mask Head
4. Experiments
4.1. Experimental Setting
4.2. Comparison with state-of-the-art models(与最新模型的比较)
4.3. Ablation study(消融研究)
4.4. Qualitative analysis (定性分析)
5. Conclusion
基于关键点的检测器具有良好的性能。然而,不正确的关键点匹配仍然普遍存在,严重影响了检测器的性能。在本文中,我们提出了 CentripetalNet,它利用向心偏移来对同一实例中的角点进行配对。CentripetalNet 预测角点(corner points)的位置和向心偏移(centripetal shift),并对偏移结果对齐(aligned)的角点进行匹配。结合位置信息,我们的方法比传统的嵌入方法更精确地匹配角点。corner pooling 将边界框内的信息提取到边界上。为了使角点处的信息更加敏感(更容易被察觉),我们设计了一个 交叉星可变形卷积网络(corner-star deformable convolution network)来进行特征自适应。此外,我们通过为我们的CentripetalNet安装一个 mask prediction module(掩模预测模块)来探索anchor-free检测器上的实例分割。 在MS-COCO test-dev上,我们的CentripetalNet不仅以48.0%的AP胜过所有现有的anchor-free检测器,而且以40.2%的M askAP达到了与最新实例分割方法相当的性能。代码将在https://github.com/KiveeDong/CentripetalNet上提供。
目标检测是计算机视觉在自动驾驶、移动娱乐、视频监控等应用中的一个基本课题。其挑战来源于目标外观较大的尺度、形变、遮挡。随着深度学习的发展,目标检测取得了长足的进步[10,9,29,26,23,19,11,20,1,17]。基于锚的方法[9,29,23]在过去几年中引领了潮流,但是很难手动设计一组合适的锚。此外,基于锚的方法在负锚和正锚之间存在显著的不平衡。为了改进它,CornerNet[17]提出了一种将边界框表示为一对角点的新方法,即左上角和右下角。基于这种思想,出现了许多基于角点的方法[17,7]。corner-based 的检测框架逐渐引领了目标检测领域的新趋势。corner-based 的检测框架分为角点预测和角点匹配两个步骤。在本文中,我们主要关注第二步。
常规方法[17,7]主要采用关联嵌入方法对角点进行配对,其中网络需要学习每个角点的附加嵌入,以识别两个角点是否属于同一个 边界框(bounding-box)。这样,如果两个角来自同一个box,它们将有一个相似的嵌入,否则,它们的嵌入将完全不同。基于关联嵌入的检测器在目标检测中取得了相当不错的性能,但是它们也有一些局限性。首先,在训练过程中采用推拉损失( push and pull loss)来学习每个点的嵌入。Push loss(推损)将在不属于同一目标的点之间计算,以使它们彼此远离。而 pull loss(拉损)只在属于同一 物体的点之间进行考虑。因此,在训练过程中,实际上训练了网络在对角线的所有潜在点内寻找唯一的匹配点。当一个训练样本中存在多个相似目标时,该方法对异常值非常敏感,训练难度将会急剧增加。其次,嵌入预测基于外观特征,不使用位置信息,如图1所示,如果两个目标的外观相似,即使它们相距很远,网络也会为它们预测相似的嵌入。
图1.(a)由于相似外观引起的相似嵌入,CornerNet会生成一些错误的角点对。(b)CenterNet通过中心预测除去了一些错误的角对,但自然无法处理一些密集的情况。 (c)CentripetalNet避免了CornerNet和CenterNet的缺点。
基于上述考虑,为了更好地预测向心偏移(centripetal shift),我们提出了新颖的CentripetalNet,该算法采用了基于向心偏移的角点匹配方法和一个十字星可变形卷积模块( cross-star deformable convolution module )。给定一对角点,我们为每个角点定义一个2D向量,即向心偏移,其中,向心偏移编码从角点到 box中心的空间位移。这样,每个角点都可以根据向心偏移生成一个中心点,因此,如果两个角点属于同一个边界框,则它们所生成的中心点应该是靠近的。匹配的质量可以由两个中心与该匹配的几何中心之间的距离来表示。结合每个角点的位置信息,与联合嵌入方法相比,该方法对异常点(值)具有较强的鲁棒性。此外,我们还提出了一个新的组成部分,即 cross-star 可变形卷积(cross-star deformable convolution),不仅可以学习大的感受野接收场,而且可以学习 cross-star 的几何结构。我们观察到 corner-pooling 输出的特征图中有一些“十字星(cross stars)”。
“cross-star”的边界包含目标的上下文信息,因为 corner-pooling 使用max和sum操作将目标的位置信息沿 “cross-star” 边界扩展到角。因此,我们将目标的几何和位置信息明确地嵌入到可变形卷积的偏移场中。与 CornerNet 相比,我们的模型配备了向心偏移和 cross-star 可变形卷积,在MS-COCO test-dev2017上实现了显着的性能提升,AP从42.1%提升到47.8%AP。此外,基于多任务学习在目标检测中的优势,我们首先增加了实例掩码分支(instance mask branch)来进一步提高检测精度。我们将RoIAlign应用于来自一组预测兴感趣区域(RoIs)的集合特征( pool features),并将集合特征( pool features)输入掩码头以生成最终的分割预测。为了证明所提出的 CentripetalNet的有效性,我们在具有挑战性的MS-COCO基准[21]上对该方法进行了评估[21]。在MS-COCO 基准上,CentripetalNet不仅以48.0%的AP胜过所有现有的无锚检测器,而且在实例分割方面也取得了与现有方法相当的性能。
Anchor-based approach:基于Anchor的检测器在特征图的每个位置设置Anchor box。该网络预测每个Anchor box中有对象的概率,并调整锚定框的大小以匹配对象。通常,基于Anchor的方法可以分为两类,即两阶段方法和一阶段方法。
从R-CNN系列方法[10,12,9]中导出两阶段方法,首先利用选择性搜索方法[32]提取RoI,然后对其进行分类和回归。Faster R-CNN[29]使用区域建议网络(RPN)通过修改预设Anchor boxes来生成RoI。Mask R-CNN[11]使用双线性插值用roalign层替换RoI Pool层。它的mask head使用自顶向下的方法来获取实例分割。
在不提取RoI的情况下,一阶段方法直接对预先设置的Anchor boxes进行分类和回归。SSD[23]利用来自多个不同卷积层的特征映射,以不同的步幅对Anchor boxes进行分类和回归。与YOLO[26]相比,YOLOv2[27]使用预设Anchors。然而,上述方法存在着正负样本不平衡的问题。RetinaNet[20]使用焦点损失来缓解分类不平衡问题。RefineDet[37]通过引入锚定细化模块(anchor refifinement module)来过滤和消除负样本,用于细化FPN结构。
针对不同的问题,本文还提出了与基于锚的检测器协同工作,如改进锚的选择过程[33]、改进特征学习过程[39,18]、优化定位预测方法[24]、改进损失函数[30,16]。
Anchor-free Approach:对于基于Anchors的方法,Anchor boxes的形状应仔细设计以适合目标对象。与基于Anchors的方法相比,Anchor-free检测器不再需要预先设置Anchor boxes。主要提出了两种Anchor-free检测器。
检测器的第一种类型直接预测了目标的中心。Yolov1[26]在目标中心点预测物体的大小和形状。DenseBox[14]引入了一种全卷积神经网络框架以获得高效率。UnitBox[36]使用IoU loss将四个边界作为一个整体进行回归。由于阳性样本的数量相对较少,这些检测器的召回率相当低。为了解决这个问题,FCOS[31]将对象边界框内的所有点作为正样本处理。它检测所有正点(positive points)以及从该点到边界框边界的距离。
对于第二种类型,检测器预测关键点并将其分组以获得边界框。CornerNet[17]检测目标的左上角和右下角,并将它们嵌入到抽象的特征空间中。它通过计算每对点的嵌入之间的距离来匹配同一目标的角点。ExtremeNet[38]检测对象的顶部、左侧、底部、最右侧和中心点。结合Deep Extreme Cut[25],可以使用极值点进行分割。这些检测器需要一些特定的分组方法来获得边界盒。RepPoints[35]使用可变形卷积网络(DCN)[6]获得用于表示目标的点集。转换函数经过精心设计,可将点集转换为边界框。CenterNet[7]在CornerNet中增加了一个中心检测分支,通过中心点验证大大提高了性能。
这些方法通常在错误检测较多的情况下达到较高的召回率。主要的挑战在于如何匹配同一目标的关键点。在这项工作中,我们提出了一个向心偏移,它将角点之间的关系编码,并通过预测的空间信息得到相应的中心,从而可以通过它们的共享中心建立左上角和右下角之间的连接。
我们首先提供该方法的概述。如图2所示,CentripetalNet 由四个模块组成,即角点预测模块、向心偏移模块、交叉星可变形卷积(cross-star deformable convolution),和 instance mask head 。我们首先基于CornerNet生成候选角点。然后,针对所有候选角点,我们引入向心偏移算法以追求高质量的角点对并生成最终的预测边界框。具体地,向心偏移模块预测角点的向心偏移,并匹配角点对,该角点对的偏移结果从其位置解码并且向心偏移对齐。然后,我们提出了一种新的交叉星可变形卷积(cross-star deformable convolution),它的偏移场是从角点到相应中心的偏移量中得到的,用于进行特征自适应以丰富角点位置的视觉特征,这对于提高向心偏移模块的精度具有重要意义。最后,为了进一步提高检测性能,我们增加了一个实例掩码模块( instance mask module ),并将该方法扩展到实例分割领域。我们的方法将向心偏移模块(centripetal shift module)的预测边界框作为区域建议,使用RoIAlign提取区域特征,并应用一个小的卷积网络来预测分割掩码(segmentation masks)。 总体而言,我们的CentripetalNet是端到端训练的,可以在有或没有实例分割模块的情况下进行推理。
图2. CentripetalNet概述。 由于左上角和右下角的角点预测和特征自适应相似,因此为简单起见,我们仅绘制左上角模块。向心变换模块(Centripetal shift module )先获取预测的角点和自适应特征,然后预测每个角点的向心偏移,并根据预测的角点和向心偏移执行角点匹配。 在匹配过程中,如果偏移角点的位置足够接近,则它们将形成得分较高的边界框。
在这里我们使用对数函数(log函数)来减少向心偏移的数值范围,使学习过程更容易。
在训练过程中,我们在地面真实角点(ground truth corners)的位置应用SmoothL1损失
Corner Matching(角点匹配)。为了匹配角点,我们使用角点的向心偏移及其位置来设计匹配方法。属于同一个边界框的一对角点应该共享该框的中心,这是直观且合理的。由于我们可以从预测角点的位置和向心偏移中解码出他们对应的中心,因此很容易比较一对角点的中心是否足够靠近并接近由角点对组成的边界框的中心,如图3(c)所示。基于上述观察,我们的方法如下。一旦从角点热图和局部偏移特征图获得角点,我们就将属于同一类别的角点进行分组,满足 的条件,即可构造预测的边界框。对于每个边界框,我们将其得分设置为其角点得分的几何平均值,这是通过在预测的角点热图上应用softmax来获得的。
图3.(a)当将地面真实角点(ground truth corner)映射到热图(heatmap)时,局部偏移量(或)用于补偿精度损失,如[17]所示。 (b)引导偏移δ是从热图((heatmap))上的地面真实角点((ground truth corner))到边界框中心的偏移。(c)是我们用来匹配角点的中心区域。
然后,如图3所示,我们将每个bounding box的中心区域定义为公式3,以比较解码中心与bounding box中心的接近度。
这意味着回归中心越接近,预测框的得分权重越高。对于其他边界框,我们将wj设置为0。最后,我们可以通过乘以得分权重来对预测的边界框进行重新评分。
由于 corner-pooling,在feature map 中有一些“cross-star”,如图4(a)所示。“cross-star”的边界保留了目标的大量上下文信息,因为 corner-pooling 使用max和sum 操作将目标的位置信息沿“cross-star”边界扩展到角。要获取“cross-star”的上下文信息,不仅需要一个大的receptive field,还需要了解“cross-star”的几何结构。根据上述直觉,我们提出了一种新的卷积运算,即cross-star可变形卷积,以增强角点的视觉特征。
图4.(a)由 corner pooling引起的“Cross star”。 (b)Cross star可变形卷积在角点处的采样点。(c)角点预测模块(corner prediciton module)的左上角热图。
我们提出的cross-star可变形卷积如图2所示。首先,将角 corner pooling 特征映射输入到cross-star可变形卷积模块中。为了了解可变形卷积中“cross-star”的几何结构,我们可以利用对应物体的大小来明确地引导偏移场分支(offset field branch),因为我们发现“cross-star”的形状与边界框的形状有关。但是,以左上角为例,他们自然应该减少对“cross-star”的左上角的关注,因为物体外部有更多无用的信息。因此,我们嵌入了一个引导偏移(guiding shift),即从角点到中心到偏移场分支的偏移,如图3(b)所示,该偏移包含形状和方向信息。具体地,偏移场( offset field)是在三个卷积层上执行的。前两个卷积层将corner pooling输出嵌入到特征映射中,特征映射由以下损失监督:
第二卷积层将上述特征映射到偏移场( offset field),偏移场明确包含上下文和几何信息。通过可视化学习到的偏移场(如图7c所示),我们的cross-star可变形卷积可以有效地学习“cross-star”的几何信息并提取“cross-star”边界的信息。
为了得到实例分割掩码( instance segmentation mask),我们将soft- NMS之前的检测结果作为区域建议,并利用全卷积神经网络在他们上方对掩码(mask )进行预测。为了确保检测模块能够产生建议,我们首先对CentripetalNet进行了几个epochs的预训练。我们选择得分最高的k个建议,并在主干网的特征图上执行RoIAlign以获得它们的特征。我们将RoIAlign的大小设置为14×14,并预测一个28×28的掩模(mask)。
从RoIs中获得特征后,我们使用四个连续的3×3个卷积层,然后使用转置的卷积层将特征映射上采样到28×28掩模映射(28 × 28 mask map )。在训练过程中,我们对每个区域建议应用交叉熵损失
Dataset(数据集)数据集我们在MS-COCO 2017数据集上训练和验证我们的方法。我们在带有约115K批注图像的train2017分割上训练模型,并在带有5K图像的val2017分割上验证我们的方法。我们还将在test-dev2017上报告该模型的性能,以便与其他检测器进行比较。
Multi-task Training(多任务训练)我们的最终目标函数是
其中和被定义为CornerNet。我们将α设置为0.05,因为我们发现较大的α会降低网络的性能。与CornerNet一样,当我们使用Hourglass-104作为骨干网络时,我们会添加中间监督( intermediate supervision)。但是,对于实例分割掩码(instance segmentation mask),我们仅使用主干网络最后一层的特征来获取建议并计算。
目标检测 如表1所示,在MSCOCO test-dev 2017上,以Hourglass-104为骨干网络的CentripetalNet在单尺度下的AP达到46.1%,在多尺度下的AP达到48.0%,这是所有anchor-free检测器中性能最好的。 与第二好的anchor-free检测器CenterNet(hourglass-104)相比,我们的模型在单尺度和多尺度下可分别将AP提高1.2%和1.0%。与CenterNet相比,CentripetalNet的改进来自大中型(M\L)目标检测,这正是CenterNet的弱点,因为从概率的角度来看,大目标的中心比小目标的中心更难定位。与两级检测器(无集成)相比,我们的模型具有竞争优势,因为其性能接近TridentNet AP的最新水平(AP为48.4% )[18]。
表1. MS-COCO test-dev上的目标检测性能比较。
此外,如表2所示,在所有尺寸的物体上,CentrepetalNet的AR指标都优于所有其他anchor-free检测器。 我们认为CentripetalNet召回率(recall )的优势在于两个方面。 首先,与CornerNet相比,基于向心偏移的角点匹配策略可以消除许多高分错误检测。其次,我们的角点匹配策略不依赖于中心检测,因此CentripetalNet可以保留那些由于缺少中心检测而在CenterNet中被错误删除的正确边界框。
表2. MS-COCO test-dev2017上的多尺度测试的AR指标比较。
Centripetal Shift 为了验证我们提出的向心偏移的有效性,我们进行了一系列的实验,这些实验是基于之前的基于角点的检测器中所使用的角点匹配方法,包括CornerNet 和CenterNet。CornerNet 使用关联嵌入(associative embedding)来匹配角点对。为了证明我们的向心偏移的有效性,我们用我们的向心偏移代替了CornerNet的关联嵌入(associative embedding),并使用了我们的匹配策略。为了公平,我们没有使用cross-star可变形卷积,并将关联嵌入的维数扩展到2,这与我们的向心偏移相同。如表4所示,我们基于向心偏移的方法为 CornerNet带来了巨大的性能提升。由于向心偏移编码了角点与中心的关系,所以直接回归中心点应该具有类似的效果。然而,在实施过程中,有时不可能将对数应用于heatmap上的地面真实角点(ground truth corners)和精确的中心位置之间的偏移量,然而,在实施过程中,有时不可能对heatmap上的地面真实角点与精确的中心位置之间的偏移量应用对数,因为在将角点从原始图像映射到heatmap上时,由于四舍五入操作,偏移量有时可能是负的。我们用中心回归代替关联嵌入,发现它的性能也比CornerNet好得多,但仍然比我们的向心偏移差,如表4所示。CenterNet直接预测中心热图,并根据中心和关联嵌入匹配角点。因此,我们将中心预测模块添加到CornerNet并使用CenterNet的匹配策略,但我们的方法仍然有较好的性能,特别是对于大型目标。
表4.与联合嵌入(associative embeddin)、中心回归和中心热图预测相比,向心偏移(无cross-star可变形卷积和mask head)的影响更大。
Cross-star Deformable Convolution 我们的Cross-star可变形卷积是一种特征自适应方法。近年来,特征自适应问题在anchor-based的检测器中已经得到了研究[33] [5],但是,在anchor-free检测器中,我们是第一个讨论这个话题的。可变形卷积通常用于特征自适应,而不同的特征自适应方法之间的主要区别在于如何获取可变形卷积的偏移场(offset field)。引导锚点(Guided anchoring)[33]从预测的anchor形状中学习偏移场,以将特征与图像中不同位置的不同anchor形状对齐。 AlignDet [5]提出了一种更精确的特征自适应方法,即RoI卷积[5],该方法计算可变形卷积的精确采样位置,如图5(b)所示。为了将RoI卷积与我们的特征自适应方法进行比较,我们对角点处的边界框的宽度和高度进行回归,然后将RoI卷积应用于corner pooling中的特征图上。如表5所示,我们的方法的性能优于原始的可变形卷积和RoI卷积。这表明我们的 cross-star 可变形卷积可以细化特征以更好地预测向心偏移。 AlignDet证明,精确的RoI卷积优于从anchor形状中学习偏移场(offset field)。然而,在我们的模型中,从导向偏移(guiding shift )中学习偏移场的效果要优于RoI卷积。有两个可能的原因。首先,corner pooling之后,大量信息被收集在 box的边缘而不是 box内部。如图7所示,我们的cross-star可变形卷积趋向于在边界框的边界处采样。因此具有更好的特征提取能力。其次,bounding box的宽度和高度的回归在角点位置不准确,因此,计算出的RoI卷积采样点不能很好地与地面真实值对齐。
表5.不同特征自适应方法的比较。基本模型是没有特征自适应和mask head的CentripetalNet,然后我们分别添加不同的特征自适应模块。
图7.不同特征自适应方法的采样点。(a)标准可变形卷积。(b)RoI卷积。(c)Cross-star可变形卷积。
如图6所示,CentripetalNet成功删除了CornerNet中错误的角点对。与CenterNet相比,CentripetalNet具有两个优势。首先,CentripetalNet不依赖于中心点检测,因此,它可以保留正确的预测边界框,由于缺少中心检测, CenterNet中的预测边界框被错误地删除。其次,CenterNet无法处理目标中心位于由另外两个目标的角组成的box的中心区域中的情况。 这种情况通常发生在人群密集的情况下。
图6.上面三行分别显示CornerNet,CenterNet和CentripetalNet的结果。 当相同类别的相似对象高度集中时,CornerNet和CenterNet的效果不佳。 但是,CentripetalNet可以处理这种情况。
在这项工作中,我们介绍了一种简单而有效的向心偏移,以解决最近的anchor-free检测器中的角点匹配问题。 我们的方法通过位置(positional)和几何信息(geometric information)建立角点之间的关系,并克服了相似外观导致的关联嵌入的歧义。此外,我们为检测器配备了实例分割模块,并首先使用anchor-free检测器进行端到端实例分割。 最后,MS-COCO的最新性能证明了我们方法的优势。