代码开源了,没有开源预训练:
ObjectBox: From Centers to Boxes for Anchor-Free Object Detection
代码(刚刚开源):
https://github.com/MohsenZand/ObjectBox
论文:https://arxiv.org/abs/2207.06985
本文提出了
ObjectBox
,一种新颖的单阶段Anchor-free
且高度泛化的目标检测方法。与现有的Anchor-based
和Anchor-free
的检测器相反,它们在标签分配中更偏向于特定的目标尺度,ObjectBox
仅使用目标中心位置作为正样本,并在不同的特征级别平等对待所有目标,而不管物体的大小或形状。具体来说,
ObjectBox
的标签分配策略以Anchor-free
的方式将目标中心位置视为与形状和大小无关的Anchor
,并允许在每个目标的所有尺度上进行学习。为了支持这一点,作者将新的回归目标定义为从中心单元位置的2个角到边界框4个边的距离。此外,为了处理尺度变化的目标,作者提出了一种定制的 IoU 损失来处理不同大小的框。因此,本文提出的目标检测器不需要跨数据集调整任何依赖于数据集的超参数。在 MS-COCO 2017 和 PASCAL VOC 2012 数据集上评估
ObjectBox
,并将结果与最先进的方法进行比较。ObjectBox
与之前的作品相比表现得更好。
当前最先进的目标检测方法,无论是两阶段还是单阶段方法,都假设边界框,为每个框提取特征,并标记目标类别。他们都对共享的局部特征进行边界框定位和分类任务。一种常见的策略是在卷积特征图上使用手工制作的密集Anchor
来为共享的局部特征生成丰富的候选框。这些Anchor
生成边界框大小和纵横比的一致分布,这些分布是基于目标和Anchor
之间的IoU
分配的。
由于它们的巨大成功,目标检测一直由Anchor-based
的方法主导。然而,它们存在许多常见且严重的缺陷。首先,使用预定义的Anchor
会引入额外的超参数来指定它们的大小和纵横比,这会削弱对其他数据集的泛化能力。其次,Anchor
必须密集地覆盖图像以最大化召回率。然而,少数Anchor
与大多数GT框重叠,导致正负Anchor
框之间的巨大不平衡,并增加了额外的计算成本,从而减慢了训练和推理的速度。第三,必须根据数量、比例和纵横比仔细设计Anchor
,因为改变这些参数会影响性能。
为了应对这些挑战,最近开发了许多Anchor-free
目标检测器,可分为keypoint-based
和center-based
的方法。在keypoint-based
的方法中,多个对象点(例如中心点和角点)使用标准关键点估计网络(例如 HourglassNet
)定位,并分组以限制对象的空间范围。然而,它们在关键点检测之后需要复杂的组合分组算法。相比之下,center-based
方法更类似于Anchor-based
的方法,因为它们使用感兴趣的对象区域或中心位置来定义正样本。虽然Anchor-based
方法使用Anchor
框作为这些中心位置的预定义参考框,但Anchor-free
方法可以直接回归这些位置的边界框(参见图 1)。
ATSS
表明,center-based
方法中Anchor-based
方法和Anchor-free
方法的主要区别在于正负训练样本的定义,这导致了性能差距。为了区分正样本和负样本,Anchor-based
方法使用 IoU
同时在空间维度和尺度维度上选择正样本,而Anchor-free
方法使用一些空间和尺度约束,首先在空间维度中找到候选正样本,然后在空间维度中选择最终正样本尺度维度。然而,这两种静态策略都施加了约束阈值来确定正样本和负样本之间的边界,而忽略了这样一个事实,即对于具有不同大小、形状或遮挡条件的目标,最佳边界可能会有所不同。为了解决这个问题,已经开发了许多动态分配机制。例如,在 ATSS
中建议根据一些统计标准为每个目标设置划分边界。
在本文中,作者建议放松静态或动态分配策略施加的所有约束,从而平等地对待所有尺度的所有目标。无论目标形状或大小如何,为了学习分类标签和回归偏移,作者只从目标中心位置回归,这些位置被视为与形状和大小无关的Anchor
。为了支持这一点,将新的回归目标定义为从包含目标中心的网格单元的两个角到边界框边界(图 1 中的 L、R、B 和 T)的距离。如图 2 所示,与不同规模级别的其他方法相比,没有使用任何标准。因此,在没有任何花里胡哨的情况下扩展了正样本。为了从所有尺度学习这些正样本,提出了一种新的尺度不变标准作为 IoU
度量,它惩罚不同尺度级别的不同大小的目标和预测目标框之间的误差。
总之,本文的贡献是提出了一种新颖的Anchor-free
目标检测器 ObjectBox
,它能够更好地处理标签分配问题,并且与最先进的技术相比表现更好。此外,本文方法是即插即用的,可以轻松应用于各种数据集,无需任何超参数调整。因此,本文的方法更加稳健和可推广,并取得了最先进的结果。
让训练图像 包含 n 个 GT 的目标,其中 和 分别表示第 i 个目标的边界框和对象类别标签。每个边界框 b = {x, y, w, h} 由其中心 (x, y)、宽度 w 和高度 h 表示。作者的目标是在图像中定位这些框并分配它们的类标签。
输入图像中具有中心(x、y)的边界框b可以使用其角点定义为,其中、和、表示比例i处的左上角和右下角的各自坐标。
本文的方法预测了3个不同尺度上的边界框来处理对象尺度的变化。因此,可以在这些尺度对应的3个特征图上检测到不同大小的物体。这里特别选择了步幅s={8,16,32},并将每个边界框中心映射到这些嵌入物上的特定位置。
这里将中心(x,y)映射到尺度i嵌入的中心位置(即图3(a)中的橙色单元格),并分别从边界框的2个边界计算其左上角和右下角(红色圆圈)的距离。具体来说,如图3所示,计算从右下角到左和上边界(L和T)的距离,从左上角到右和下边界(R和B)的距离如下:
其中表示尺度i的回归目标,和分别表示中心位置的坐标和中心位置右下角的坐标。需要注意的是,和,其中和分别表示尺度i下的边界框 b 的宽度和高度。与这些距离对应的预测如下:
其中σ代表logistic sigmoid function
,表示对距离值的网络预测,这里用sigmoid
变换在0和1的范围内。乘以2允许检测值覆盖略大的范围。使用,输出稳定地以大约零梯度初始化。这里还通过乘以一个恒定的尺度增益来区分不同的尺度,即,。整个网络输出包括每个尺度的每个位置的一个预测,每个预测包括上述距离值,以及每个边界框的客观得分和类标签。
公式确保所有被回归的距离在不同条件下都保持正数。如图 3 (b) 所示,即使对于以较大步幅完全包含在单元格中的小目标,这 4 个距离也可以计算为正值。更重要的是,将所有目标视为不同尺度的正样本。这与现有的center-based
的方法(即,Anchor-based
和Anchor-free
方法)形成对比。
例如,在Anchor-based
的方法中,将一定尺度的每个中心位置视为多个anchor box
的中心,如果目标box
和这些anchor box
的IoU
不在阈值范围内,则认为作为负样本。类似地,anchor-free
方法基于不同的空间和尺度约束将一些目标框丢弃为负样本。
例如,
FCOS
定义了一组最大距离值,这些值限制了可以在每个特征级别检测到的目标大小的范围。作为另一个示例,FoveaBox
通过经验学习的参数控制每个金字塔级别的比例范围,而在FSAF
中,一组恒定比例因子用于定义正框和负框。如图 2 所示,ObjectBox
将所有尺度的所有目标框都视为正样本。因此,无论目标大小如何,它都从所有尺度中学习,以从多个级别实现更可靠的回归。由于ObjectBox
仅考虑每个目标的中心位置,因此每个目标的正样本数与目标大小无关。
由于边界框的几何中心可能位于中心单元的边界附近,这里用它的相邻单元来增加中心。例如,当边界框的中心位于单元格的上半部分时,除了中心单元格之外,还使用上述位置。
本文的方法从它们的中心区域检测对象。如果两个边界框重叠,则它们的中心不太可能重叠,因为两个边界框中心位于同一位置是非常罕见的。在 MS-COCO
和 PASCAL VOC 2012 中,作者没有发现重叠目标的中心重叠的情况。然而,增强的中心位置在处理这些边界框时很有用。在作者的实验中表明除了中心位置之外添加更多点会损害检测性能。
本文的策略隐含地利用了anchor box
背后的直觉,anchor box
通常是通过对数据集中的GT框的维度进行聚类来创建的。它们的尺寸是作为对不同尺寸的最常见形状的估计而获得的。例如,Faster R-CNN
和 YOLO
使用3个尺度和3个纵横比,在每个位置产生 9 个anchor box
。然而,本文的方法使用每个尺度的边界框的中心位置来为每个目标生成多个预测。本文的方法也比其他anchor-free
方法更有效,例如 FCOS
,它利用额外的 FPN
级别(即总共 5 层)来处理重叠的边界框。
由于 是距离,因此可以独立处理它们,并且可以使用均方误差 (MSE
) 对这些值分别执行回归。然而,这样的策略会忽略对象边界框的完整性。IoU
损失已经被提出来考虑预测和真实边界框区域的覆盖范围。
IoU
是一种广泛使用的2个形状之间的相似性度量,由于其可微分的吸引人的特性,可以直接用作优化的目标函数。在目标检测中,IoU
可以将每个边界框的宽度、高度和位置编码为标准化度量。因此,IoU 损失 (LIoU = 1 − IoU) 允许将边界框识别为单个实体,并联合回归边界框的四个坐标点。
通过考虑不同的情况,最近改进了 IoU
损失。例如,GIoU
(损失除了覆盖区域外,还包括对象的形状和方向。它可以找到能够同时覆盖预测边界框和ground-truth
边界框的最小区域,并将其作为分母来代替IoU loss
中使用的原始分母。DIoU
损失还强调了预测框和真实框中心之间的距离。CIoU
损失同时包括重叠区域、中心点之间的距离和纵横比。
在本文的例子中,作者感兴趣的是最小化2个Box
之间的距离,每个Box
都由4个距离值给出。当从具有不同大小的对象的不同尺度中学习时,边界框回归损失函数应该是尺度不变的。然而,ℓn-based
损失会随着边界框的规模变大而增长。与原始 IoU
损失及其变体相反,本文的损失不需要匹配边界框位置,因为定位任务已经嵌入到过程中。此外,在最坏的情况下,预测框和真实框至少共享一个点(即IoU
≥ 0)。这是因为对于每个框,≥0。
在这项工作中提出了一种为目标检测方法量身定制的基于 IoU
的损失,它也可用于改进其他anchor-free
检测器。提出的损失,称为 SDIoU
,代表基于尺度不变距离的 IoU
,直接应用于网络输出,即从目标中心到左上角和右下角的距离值。然而,其他基于 IoU
的损失适用于目标中心和目标宽度和高度。由于 SDIoU
基于预测框和真实框对应偏移量之间的欧几里德距离,因此它可以保持框的完整性并对所有 4 个方向的重叠区域进行评分。
与 CIoU
和尺度平衡损失类似,考虑非重叠区域、重叠或交叉区域以及覆盖这2个框的最小框。首先通过将对应距离值之间的所有欧几里德距离的平方相加来计算非重叠区域 S:
其中 和 ${L^∗, T^∗, R^∗, B^∗\}$ 分别是预测距离和真实距离。直观地,计算不同距离值之间的平方欧几里得距离可以有效地考虑 4 个方向上的预测距离和真实距离。
通过计算交叉区域对角线长度的平方来获得交叉区域 I:
其中,和分别为交叉点区域的宽度和高度,计算结果为:
覆盖预测框和真实框的最小面积C,由其长度的平方计算为:
其中,和分别表示C的宽度和高度,计算结果为:
通过最小化C,预测框可以在4个方向向真实框移动。最后,将SDIoU计算为:
其中 ρ 表示有利于重叠区域的正权衡值。在分子中同时使用 I 和 (-S) 来对交叉区域进行评分,并对非重叠区域进行惩罚。因此,强制执行预测的 4 个距离值以更快地匹配真实距离。SDIoU
损失最终定义为 。图 4 说明了 SDIoU
损失中考虑的区域。