ExtremeNet是一种自底向上的目标检测框架,通过检测目标的四个极点(最上、最左、最下、最右)和一个中心点来进行目标检测。主要内容包括:
-
背景与动机:
-
传统的目标检测方法通常使用锚框(anchor boxes),但这种方法存在需要大量锚框和引入许多超参数的问题。
-
ExtremeNet通过检测目标的极点和中心点来消除锚框的使用,简化了网络输出并减少了设计复杂性。
-
-
方法概述:
-
ExtremeNet使用标准的关键点估计网络来检测目标的四个极点和一个中心点。
-
网络预测每个目标类别的四个极点热图和一个中心热图。
-
通过几何中心分组方法将极点分组为目标,如果四个极点的几何中心在中心热图中的预测得分高于预定义的阈值,则生成边界框。
-
-
关键技术:
-
中心分组:通过几何中心分组方法将极点分组为目标。
-
幽灵框抑制:通过简单的后处理步骤去除可能的假阳性检测。
-
边缘聚合:增强沿目标边缘的弱响应,提高极点检测的准确性。
-
极点实例分割:通过创建一个以极点为中心的八边形来近似目标掩码,并结合Deep Extreme Cut(DEXTR)进一步细化分割结果。
-
-
实验与结果:
-
在MS COCO数据集上进行了广泛的实验,ExtremeNet达到了43.7%的边界框AP,超过了所有现有的单阶段检测器,并与两阶段检测器相当。
-
通过消融研究,验证了中心分组、边缘聚合和幽灵框抑制对性能的显著贡献。
-
极点引导的分割进一步将实例分割的Mask AP提升到34.6%。
-
-
与其他检测器的比较:
-
ExtremeNet在多尺度测试下表现优异,优于所有单阶段检测器,并与流行的两阶段检测器相当。
-
在实例分割任务中,结合DEXTR的ExtremeNet取得了与最先进方法相当的结果,而无需查看任何COCO训练实例分割。
-
ExtremeNet通过创新的关键点检测和分组方法,显著简化了目标检测的流程,并在性能上取得了显著提升。这里是对这篇经典研究论文的阅读记录,感兴趣的话可以参考一下,如果需要阅读原文可以看这里,如下所示:
摘要
随着深度学习的出现,目标检测从自底向上的问题转变为自顶向下的识别问题。最先进的算法几乎穷举地列出目标位置,并将其分类为:目标或非目标。在本文中,我们展示了自底向上的方法仍然具有竞争力。我们使用标准的关键点估计网络检测目标的四个极点(最上、最左、最下、最右)和一个中心点。如果这些关键点在几何上对齐,我们将它们分组为一个边界框。目标检测成为一个纯粹基于外观的关键点估计问题,无需区域分类或隐式特征学习。所提出的方法与最先进的基于区域的目标检测方法表现相当,在COCO test-dev上达到了43.7%的边界框AP。此外,我们估计的极点直接形成一个粗略的八边形掩码,COCO Mask AP为18.9%,远好于普通边界框的Mask AP。极点引导的分割进一步将此提升到34.6%的Mask AP。官方项目在这里,如下所示:
1 引言
自顶向下的方法多年来一直主导着目标检测。流行的检测器通过显式裁剪区域[12]或区域特征[11, 41](两阶段目标检测)或隐式设置固定大小的锚框作为区域代理[25, 28, 38](单阶段目标检测)将目标检测转换为矩形区域分类。然而,自顶向下的检测并非没有局限性。矩形边界框并不是自然的目标表示。大多数目标不是轴对齐的框,将其拟合到框中会包含许多分散注意力的背景像素(图1)。此外,自顶向下的目标检测器枚举大量可能的框位置,而没有真正理解目标本身的组合视觉语法[13, 9]。这是计算昂贵的。最后,框是目标本身的糟糕代理。它们传达很少的详细目标信息,例如目标形状和姿态。
图1:我们提出通过找到目标的极点来检测目标。它们直接形成一个边界框,但也给出了更紧密的八边形近似目标。
在本文中,我们提出了ExtremeNet,一个自底向上的目标检测框架,检测目标的四个极点(最上、最左、最下、最右)。我们使用最先进的关键点估计框架[30, 3, 5, 31, 49]来找到极点,通过预测每个目标类别的四个多峰值热图。此外,我们使用每个类别的一个热图来预测目标中心,作为边界框在x和y维度上的两条边的平均值。我们使用纯几何方法将极点分组为目标。如果四个极点的几何中心在中心热图中的预测得分高于预定义的阈值,我们将四个极点分组。我们枚举所有O(n^4)种极点预测的组合,并选择有效的组合。极点预测的数量n通常很小,对于COCO[26],n≤40,在GPU上实现的暴力算法足够。图2展示了所提出方法的概述。
我们不是第一个使用深度关键点预测进行目标检测的。CornerNet[22]预测边界框的两个对角点。他们使用关联嵌入特征[30]将角点分组为边界框。我们的方法在两个关键方面有所不同:关键点定义和分组。角点是另一种形式的边界框,并受到自顶向下检测的许多问题的影响。角点通常位于目标外部,没有强烈的外表特征。极点则位于目标上,视觉上可区分,并且具有一致的局部外观特征。例如,人的最上点通常是头部,汽车或飞机的最下点将是车轮。这使得极点检测更容易。与CornerNet的第二个区别是几何分组。我们的检测框架完全是基于外观的,没有任何隐式特征学习。在我们的实验中,基于外观的分组效果显著更好。
图2:我们目标检测方法的图示。我们的网络预测每个类别的四个极点热图(顶部。我们展示了叠加在输入图像上的热图)和一个中心热图(底部左侧)。我们枚举四个极点热图的峰值(中间左侧)的组合,并计算组成边界框的几何中心(中间右侧)。如果几何中心在中心热图中具有高响应(底部右侧),则生成边界框。
我们的想法受到Papadopoulos等人[33]的启发,他们提出通过点击四个极点来标注边界框。这种标注大约比收集边界框快四倍,并且提供更丰富的信息。极点与目标掩码也有密切联系。直接连接膨胀的极点比边界框提供更精细的目标掩码。在我们的实验中,我们展示了将一个简单的八边形拟合到极点可以得到良好的目标掩码估计。我们的方法可以进一步与Deep Extreme Cut(DEXTR)[29]结合,将极点标注转换为指示目标的分割掩码。直接将我们的极点预测作为指导输入我们的想法,我们的中心和极点分组的想法与可变形部件模型[9]有关。我们的中心点检测器与DPM[9]中的根滤波器功能相似,我们的四个极点可以被视为所有类别的通用部件分解。我们不是学习部件配置,而是预测的中心和四个极点具有固定的几何结构。我们使用最先进的关键点检测网络而不是低级图像滤波器进行部件检测。
图3:我们框架的图示。我们的网络以图像为输入,并生成四个C通道热图、一个C通道热图和四个2通道类别无关的偏移图。热图通过加权逐像素逻辑回归进行训练,权重用于减少真实位置附近的假阳性惩罚。偏移图通过在真实峰值位置应用平滑L1损失进行训练。
自底向上的人体姿态估计中的分组 确定哪些关键点来自同一个人是自底向上多人姿态估计的重要组成部分。有多种解决方案:Newell等人[30]提出为每个关键点学习一个关联特征,使用嵌入损失进行训练。Cao等人[3]学习一个类似连接关键点之间的边的亲和场。Papandreous等人[34]学习人体骨骼树上每个关键点的父关节的位移,作为每个关键点的2维特征。Nie等人[32]也学习相对于目标中心的偏移特征。
与上述所有方法不同,我们的中心分组是纯基于外观的,并且易于学习,通过利用极点和其中心的几何结构。
隐式关键点检测 流行的关键点检测方法针对定义良好的语义关键点,例如人体关节。StarMap[53]使用单个热图混合所有类型的关键点进行通用关键点检测。我们的极点和中心点是一种这样的通用隐式关键点,但具有更明确的几何属性。
3 预备知识
极点和中心点 设表示边界框的四条边。为了标注边界框,用户通常点击左上角
和右下角
。由于这两个点通常位于目标外部,这些点击通常不准确,需要调整几次。整个过程平均需要34.5秒[44]。Papadopoulos等人[33]提出通过点击四个极点
来标注边界框,其中框为
。极点是点
,使得目标上没有其他点(x, y)在四个基本方向a:上、下、左、右上更远。极点点击标注时间平均为7.2秒[33]。生成的标注与更耗时的框标注相当。在这里,我们直接使用极点点击标注,并绕过边界框。我们另外使用每个目标的中心点作为
。
关键点检测 关键点估计,例如人体关节估计[3, 5, 15, 30, 49]或椅子角点估计[36, 53],通常使用全卷积编码器-解码器网络来预测每种关键点的多通道热图(例如,一个热图用于人头,另一个热图用于人手腕)。网络以完全监督的方式进行训练,使用L2损失到渲染的高斯图[3, 5, 30, 49]或逐像素逻辑回归损失[22, 34, 35]。最先进的关键点估计网络,例如104层HourglassNet[22, 31],以全卷积方式进行训练。它们回归到每个输出通道的宽度W和高度H的热图Y^∈(0,1)H×WY^∈(0,1)H×W。训练由多峰值高斯热图Y∈(0,1)H×WY∈(0,1)H×W引导,其中每个关键点定义高斯核的均值。标准差是固定的,或与目标大小成比例设置[22]。高斯热图在L2损失情况下作为回归目标,或在逻辑回归情况下作为减少正位置附近惩罚的权重图[22]。
图3:我们框架的图示。我们的网络以图像为输入,并生成四个C通道热图、一个C通道热图和四个2通道类别无关的偏移图。热图通过加权逐像素逻辑回归进行训练,权重用于减少真实位置附近的假阳性惩罚。偏移图通过在真实峰值位置应用平滑L1损失进行训练。
CornerNet CornerNet[22]使用HourglassNet[31]进行关键点估计作为目标检测器。他们预测两组热图用于边界框的对角点。为了平衡正负位置,他们使用修改后的focal loss[25]进行训练:
CornerNet然后使用关联嵌入[30]将对角点分组为检测。我们的极点估计使用CornerNet架构和损失,但不使用关联嵌入。
Deep Extreme Cut Deep Extreme Cut(DEXTR)[29]是一种极点引导的图像分割方法。它以四个极点和围绕由极点形成的边界框裁剪的图像区域作为输入。从这生成指示目标的类别无关的前景分割,使用Chen等人[4]的语义分割网络。网络学习生成与输入极点匹配的分割掩码。
4 ExtremeNet用于目标检测
ExtremeNet使用HourglassNet[31]来检测每个类别的五个关键点(四个极点和一个中心)。我们遵循CornerNet[22]的训练设置、损失和偏移预测。偏移预测是类别无关的,但特定于极点。中心图没有偏移预测。因此,我们的网络输出是5×C热图和4×2偏移图,其中C是类别数(MS COCO的C=80[26])。图3展示了概述。一旦提取了极点,我们以纯几何方式将它们分组为检测。
中心分组
极点位于目标的不同边上。这使得分组变得复杂。例如,关联嵌入[30]可能没有全局足够的视图来分组这些关键点。在这里,我们采用不同的方法,利用极点的分散性质。
算法1:中心分组
这种暴力分组算法的时间复杂度为O(n^4),其中n是每个基本方向提取的极点数量。补充材料提出了一个O(n^2)的算法,理论上更快。然而,它在GPU上更难加速,并且在MS COCO数据集上实际上更慢,其中n≤40。
图4:边缘聚合目的的图示。在多个点位于一条边缘的极点的情况下,我们的模型预测一段低置信度的响应(a)。边缘聚合增强了中间像素的置信度(b)。
幽灵框抑制
中心分组可能会为三个大小相同且等距排列的目标生成高置信度的假阳性检测。中心目标在这里有两个选择,要么提交到正确的小框,要么预测一个包含其邻居极点的大得多的框。我们称这些假阳性检测为“幽灵”框。正如我们在实验中展示的,这些幽灵框并不常见,但仍然是我们的分组的一致错误模式。
我们提出一个简单的后处理步骤来去除幽灵框。根据定义,幽灵框包含许多其他较小的检测。为了抑制幽灵框,我们使用一种软非极大值抑制[1]。如果某个边界框内所有框的分数之和超过其自身分数的三倍,我们将其分数除以2。这种非极大值抑制类似于标准的基于重叠的非极大值抑制,但惩罚潜在的幽灵框而不是多个重叠框。
边缘聚合
极点并不总是唯一定义的。如果目标的垂直或水平边缘形成极点(例如,汽车顶部),沿该边缘的任何点都可能被视为极点。因此,我们的网络在目标的对齐边缘上产生弱响应,而不是单个强峰值响应。这种弱响应有两个问题:首先,较弱的响应可能低于我们的峰值选择阈值,我们将完全错过极点。其次,即使我们检测到关键点,其分数也会低于稍微旋转的目标的强峰值响应。
极点实例分割
极点携带比简单边界框更多的目标信息,至少是两倍多的标注值(8 vs 4)。我们提出一种简单的方法,通过创建一个以极点为中心的八边形来使用极点近似目标掩码。具体来说,对于一个极点,我们在其对应边上向两个方向延伸到整个边长的1/4的线段。当线段遇到角点时被截断。然后我们将四个线段的端点连接起来形成八边形。参见图1的示例。
为了进一步细化边界框分割,我们使用Deep Extreme Cut(DEXTR)[29],一个训练将手动提供的极点转换为实例分割掩码的深度网络。在这项工作中,我们简单地用我们的极点预测替换DEXTR[29]的手动输入,以执行两阶段的实例分割。具体来说,对于每个预测的边界框,我们裁剪边界框区域,用我们的预测极点渲染高斯图,然后将连接的图像输入预训练的DEXTR模型。DEXTR[29]是类别无关的,因此我们直接使用ExtremeNet检测的类别和分数。不使用进一步的后处理。
5 实验
我们在流行的MS COCO数据集[26]上评估我们的方法。COCO包含80个类别的丰富边界框和实例分割标注。我们在train2017分割上进行训练,包含118k图像和860k标注目标。我们在val2017分割上进行所有消融研究,包含5k图像和36k目标,并在包含20k图像的test-dev分割上与先前的工作进行比较。主要评估指标是固定召回阈值下密集的平均精度。我们展示IOU阈值0.5(AP50)、0.75(AP75)和0.5到1之间所有阈值的平均值(AP)的平均精度。我们还报告小、中和大目标的AP(APS、APM、APL)。测试评估在官方评估服务器上进行。定性结果如表4所示,更多结果可在补充材料中找到。
极点标注
COCO[26]中没有直接的极点标注。然而,有完整的目标分割掩码标注。因此,我们将极点作为多边形掩码标注的极值点。在边缘平行于轴或角度在3°以内的情况下,我们将极点放置在边缘的中心。尽管我们的训练数据来自更昂贵的分割标注,但极点数据本身比标准边界框[33]收集便宜4倍。
训练细节
我们的实现基于CornerNet[22]的公开实现。我们严格遵循CornerNet的超参数:我们将输入分辨率设置为511×511,输出分辨率为128×128。数据增强包括翻转、随机缩放在0.6到1.3之间、随机裁剪和随机颜色抖动。网络使用Adam[21]优化,学习率为2.5e-4。CornerNet[22]最初在10个GPU上训练500k次迭代,相当于超过140个GPU天。由于GPU资源有限,自我比较实验(表1)从预训练的CornerNet模型微调,随机初始化头部层在5个GPU上进行250k次迭代,批量大小为24。学习率在200k次迭代时下降10倍。最先进的比较实验从头开始在5个GPU上训练500k次迭代,学习率在450k次迭代时下降。
测试细节
对于每个输入图像,我们的网络生成四个C通道极点热图、一个C通道中心热图和四个2通道类别无关的偏移图。我们对每个极点热图应用边缘聚合(第4.3节),并将中心热图乘以2以校正整体尺度变化。然后我们对热图应用中心分组算法(第4.1节)。最多提取40个顶部点以保持枚举效率。预测的边界框坐标通过在偏移图的相应位置添加偏移量进行细化。
按照CornerNet[22],我们保持原始图像分辨率,而不是将其调整为固定大小。我们使用翻转增强进行测试。在我们的主要比较中,我们使用额外的5×多尺度(0.5、0.75、1、1.25、1.5)增强。最后,Soft-NMS[1]过滤所有增强的检测结果。测试一张图像需要322ms(3.1FPS),其中168ms用于网络转发。130ms用于解码,其余时间用于图像预处理和后处理(NMS)。
消融研究
中心分组 vs. 关联嵌入 我们的ExtremeNet也可以使用类似于CornerNet[22]的关联嵌入[30]进行训练,而不是我们的几何中心点分组。我们尝试了这个想法,并用四通道关联嵌入特征图替换中心图,使用Hinge Loss[22]进行训练。表1显示了结果。我们观察到使用关联嵌入时AP下降了2.1%。虽然关联嵌入在人体姿态估计和CornerNet中效果良好,但我们的极点位于目标的非常边缘。从极点的视角学习整个目标的身份和外观可能太难了。虽然对于小目标,整个目标很容易适应关键点的有效感受野,但对于中大目标,如表1所示,它失败了。此外,极点通常位于重叠目标的交界处,这进一步混淆了身份特征。我们的几何分组方法优雅地处理了这些问题,因为它只需要推理外观。
边缘聚合 边缘聚合(第4.3节)给出了0.7%的AP改进。它对较大目标更有效,这些目标更有可能具有长轴对齐的边缘,而没有单个定义明确的极点。去除边缘聚合将解码时间提高到76ms,整体速度提高到4.1 FPS。
表1:在COCO val2017上的消融研究和错误分析。我们展示了移除每个组件或将其替换为真实值后的AP(%)。
幽灵框抑制 我们简单的幽灵边界框抑制(第4.2节)产生了0.3%的AP改进。这表明幽灵框在MS COCO中不是一个显著的实际问题。更复杂的假阳性去除算法,例如学习NMS[18],可能会产生稍好的结果。
表2:在COCO test-dev上的最先进比较。SS/MS分别表示单尺度/多尺度测试。结果显示我们的ExtremeNet与最先进的基于区域的目标检测器相当。
错误分析 为了更好地理解错误来源以及每个组件的训练情况,我们通过将每个输出组件替换为其真实值进行错误分析。表1显示了结果。仅使用真实中心热图并不会显著增加AP。这表明我们的中心热图训练得相当好,并且表明隐式目标中心是可学习的。将极点热图替换为真实值给出了16.3%的AP改进。当同时替换极点热图和中心热图时,结果达到79.8%,远高于替换其中一个。这是因为我们的中心分组在关键点位置上非常严格,高表现需要改进极点热图和中心热图。添加真实偏移量进一步将AP提高到86.0%。剩余的错误来自幽灵框(第4.2节)。
表3:在COCO val2017上的实例分割评估。结果以Mask AP显示。
最先进比较
表2将ExtremeNet与其他最先进的方法在COCO test-dev上进行了比较。我们的多尺度测试模型达到了43.7的AP,超过了所有报告的单阶段目标检测器,并与流行的两阶段检测器相当。值得注意的是,它比CornerNet高出1.6%,这显示了检测极点和中心点相对于使用关联特征检测角点的优势。在单尺度设置下,我们的性能比CornerNet[22]低0.3% AP。然而,我们的方法在小和中等目标上的AP高于CornerNet,这些目标更具挑战性。对于较大目标,我们的中心响应图可能不够准确,无法表现良好,因为几个像素的偏移可能会导致检测和假阴性之间的差异。此外,请注意,我们使用了一半数量的GPU来训练我们的模型。
实例分割
最后,我们将我们的实例分割结果与/不使用DEXTR[29]与其他基线在表3中进行了比较。
表4:在COCO val2017上的定性结果。第一列和第二列:我们预测的(组合四个)极点热图和中心热图,分别。我们展示了叠加在输入图像上的热图。我们展示了不同类别的热图以不同颜色显示。第三列:我们预测的边界框和由极点形成的八边形掩码。第四列:将我们的极点预测输入DEXTR[29]得到的结果掩码。
作为一个虚拟基线,我们直接将矩形边界框内的所有像素分配为分割掩码。
我们最佳模型(边界框AP为43.3%)的结果是12.1%的Mask AP。基于我们预测的极点的简单八边形掩码(第4.4节)获得了18.9%的Mask AP,远好于边界框基线。这表明这个简单的八边形掩码可以在不增加额外成本的情况下给出相对合理的目标掩码。请注意,直接使用四个极点的四边形会产生过小的掩码,IOU较低。
当与DEXTR[29]结合时,我们的方法在COCO val2017上达到了34.6%的Mask AP。为了将此结果放在上下文中,最先进的Mask RCNN[15]在ResNeXt-101-FPN[24, 50]主干上获得了37.5%的Mask AP,在Res50-FPN上获得了34.0%的AP。考虑到我们的模型没有在COCO分割标注或任何类别特定的分割上进行训练,我们的结果与Res50相当,比ResNeXt-101低2.9% AP,非常具有竞争力。
6 结论
总之,我们提出了一种基于自底向上极点估计的新颖目标检测框架。我们的框架提取四个极点并以纯几何方式将它们分组。所提出的框架在最先进的检测结果上产生了竞争性的实例分割结果,而无需查看任何COCO训练实例分割。