《Bottom-up Object Detection by Grouping Extreme and Center Points》论文解读
《Bottom-up Object Detection by Grouping Extreme and Center Points》论文解读
这是CVPR2019关于目标检测的一篇论文,随着深度学习的出现,目标检测从由点及面逐渐发展到基于区域的识别问题。最先进的算法枚举一个几乎详尽的对象位置列表,并将每个位置分类为:对象与否。在本文中,作者想证明由点及面的方法仍然具有竞争力。
Introduction
传统目标检测算法的局限性:
1.矩形边界框不是自然对象表示。大多数对象不是轴对齐的框,在框中拟合它们包括许多分散注意力的背景像素。
2.基于区域的对象检测器列举了大量可能的框位置,而没有真正理解对象本身的组合视觉语法。
3.因为bounding box本身就不能很好地代表物体本身,所以只能提供很有限的信息(形状、姿势等)。
ExtremeNet的大致思路是:使用关键点检测算法,对每个类别预测4张极值点heatmap和1张中心点heatmap,然后通过暴力枚举(复杂度)找到有效的点组。如上图,我们通过找到他们的极值点来检测物体。它们直接形成一个bounding box,而且给一个近似八角形的Mask。
图2:我们的目标检测方法的说明。我们的网络预测了四个极端点热图(上图)。我们显示了覆盖在输入图像上的热图)和每个类别的一个中心热图(左下行)。我们列举了四个极端点热图的峰值(左中)的组合,并计算了组合边界框(右中)的几何中心。当且仅当其几何中心在中心热图(右下角)中具有高响应时,才会生成边界框。
Related Work
Two-stage object detectors:区域CNN家族将目标检测看作是两个连续的问题:首先提出一组(大)类别
不可知的候选bounding box,对其进行裁剪,然后使用图像分类模块对裁剪后的区域或区域特征进行分类。 我们的方法不需要区域建议或区域分类。我们认为一个区域不是目标检测的必要组成部分。用四个极值点表示一个对象也是有效的,它提供的信息与边界框一样多。
One-stage object detector:一级目标检测器没有区域裁剪模块。它们可以被视为特定于类别的区域或anchor
建议网络,并直接为每个正anchor分配一个类标签。
我们的方法属于一级检测器的范畴,但是,我们没有在空间中设置anchors,而是检测bounding box的五个
独立部分(四个端点和一个中心)。我们没有将默认比例或纵横比设置为每个像素位置的anchors,而是只预测该位置成为关键点的概率。我们的中心map也可以看作是一个没有bounding box回归的比例和纵横比不可知的区域建议网络。
Preliminaries
Extreme and center points:通过点击四个极值点,来标注边界框,其中框是。我们还使用每个对象的中心点为(,)。
CornerNet:CornerNet使用带有HourglassNet的关键点估计作为目标检测器。他们预测box的相对的corners
有两组热图。为了平衡正负两个位置,他们使用修正的焦点损失进行训练:
对于极值点的亚像素精度,CornerNet额外回归到每个corner的类别不可知关键点偏移量▲a。这种回归恢复了hourglass网络下采样中丢失的部分信息。利用ground truth极值点位置的平滑L1损失SL1训练偏移图:
Deep Extreme Cut:DEXTR是一种极值点引导的图像分割方法。它以四个极值点和极值点所贯穿的
bounding box周围的裁剪图像区域作为输入。在此基础上,利用chen等人的语义分割网络,对
所指对象进行了一个类别无关的前景分割。网络学习生成与输入极值点匹配的分割mask。
ExtremeNet for Object detection
图3:我们的框架的说明。我们的网络以图像为输入,生成四个C通道热图、一个C通道热图和四个2通道类别不可知偏移图。利用加权逐像素logistic回归对热图进行训练,利用加权后的权重来减少ground truth位置附近的false-positive惩罚。利用ground truth极值位置的平滑L1 loss对偏移图进行训练。
偏移量预测与类别无关,但与极值点有关。center map没有偏移预测。因此,我们网络的输出是5×C热图和4×2偏移图,其中C是类的数目(对于ms-coco[26],C=80)。一旦极值点被提取出来,我们就以一种纯粹的几何方式将它们分组进行检测。
Center Grouping:
极值点位于物体的不同边。这使分组变得复杂。例如,关联嵌入可能没有足够的全局视图来对这些关键点进行分组。在这里,我们采用一种不同的方法来利用极值点的扩展特性。我们的分组算法的输入是每个类五个热图:一个中心热图y(c)∈(0,1)h×w和四个极端热图y(t),y(l),y(b),y(r)∈(0,1)h×w,分别用于顶部,左侧,底部,右侧。给定一个热图,我们通过检测所有的峰值来提取相应的关键点。峰值是任何值大于Tp的像素位置,在像素周围的3×3窗口中是局部最大的。我们将此过程命名为ExtractPeak。
Edge aggregation:
极值点并不总是唯一定义的。如果一个物体的垂直或水平边缘形成极限点(例如,汽车的顶部),沿该边缘的任何一点都可能被视为极限点。结果,我们的网络沿着物体的任何对齐边缘产生弱响应,而不是单一的强峰值响应。这种弱响应有两个问题:第一,弱响应可能低于峰值选择阈值τp,我们将完全错过极值点。第二,即使我们检测到了关键点,它的得分也会低于一个稍微旋转的具有很强峰值响应的物体。我们使用边缘聚合来解决这个问题。对于每一个极值点,提取作为一个局部最大值,我们聚集其得分在垂直方向上,为左和右极限点,或水平方向,顶部和底部关键点。我们将所有单调递减的分数进行聚合,并沿聚合方向在一个局部极小值处停止聚合。
边缘聚集的目的说明。在多个点是一个边上的极值点的情况下,我们的模型预测了一段低置信响应(a)。
边缘聚集增强了中间像素(b)的可信度。
Experiments
CoCo test-dev的最新比较。SS/MS分别是单尺度/多尺度测试的缩写。这表明我们的ExtremeNet与最新的基于区域的目标检测器不相上下。
Coco VAL2017的定性结果。第一列和第二列:我们分别预测(组合四个)极值点热图和中心热图。我们将它们覆盖在输入图像上。我们用不同的颜色显示不同类别的热图。第三列:我们预测的边界框和由极值点形成的八角形mask。第四栏:将我们的极值点预测的结果mask输入到DEXTR。