CSDN优秀解读:https://blog.csdn.net/jiaoyangwm/article/details/126638775
2021 https://arxiv.org/pdf/2103.14259.pdf
关键解读
在目标检测中标签分配的最新进展主要寻求为每个GT对象独立定义正/负训练样本。在本文中,我们创新性地从全局的角度重新审视标签分配,并提出将分配程序制定为一个最优传输(OT)问题——优化理论中一个被充分研究的课题。具体来说,我们将每个需求方(锚框)和供应商(GT标签)的单位传输成本定义为他们的分类和回归损失加权之和。在公式化后,找到最好的分配方案即为最小传播成本解决最优传输方案,这可以使用Sinkhorn-Knopp迭代求解。在COCO中,一个使用最优传输分配(Optimal Transport Assignmen,OTA)的FCOS-ResNet-50检测器在1x调度器下达到了40.7%的性能,由于目前所有分配方案。在COCO和CrowdHuman数据集上广泛的实验,验证了我们提出的OTA方法的有消息,尤其是它在密集场景下的有效性。实验代码可见于:https://github.com/Megvii-BaseDetection/OTA.
思考起点
1、动态分配锚框,高置信度正样本
2、对于有重合区的GT对象,模糊锚框会传递错误的梯度
在一对多的锚框分配环境下解决标签全局最优分配(供货商<----->需求方标签传输)的问题
核心内容
1、将标签定义为正样本需求方、将背景定义为负样本供给方,每个锚框被定义为需求一个货物(正样本|负样本);
2、定义正样本的传输成本,负样本的传输成本(用于避免模糊锚点的生成);
3、使用Sinkhorn-Knopp迭代解决这个OT问题;
其他关键
1、使用中心先验规则,设定半径将特定距离内的锚点设为正样本需求方;
2、设计Dynamic k估计算法,根据top q个预测框与真实标签的iou,将iou之和累加得到锚框所需的k个正样本
1.Introduction
目前基于CNN的对象检测器[27,30,21,47,33,29,36]通过预测一组预定义的锚点的分类(cls)标签和回归(reg)偏移量来执行一种密集的预测方式。为了训练检测器,为每个锚点定义cls和reg目标是一个必要的过程,这在目标检测中称为标签分配。
经典的标签分配策略通常采用预定义的规则来匹配每个锚点的GT对象或背景。例如,RetinaNet采用IOU阈值来进行pos/neg锚点划分。像FCOS这种 Anchor-free的检测器,将任意GT对象的中心或bbox区域内的锚点视为相应的正例。这种静态分配策略忽略了这样一个事实:对具有不同尺寸、形状或遮挡的对象,它们的pos/neg边界划分应该有所不同。
基于此,人们提出了许多动态分配策略。ATSS提出了根据统计特征为每个GT设置边界。其它最近的研究[48,19,51,16]表明,每个锚框的阈值置信度可以为动态标签分配策略提供帮助,如:高置信度的锚框可以被网络容易的学到,因此倍分配给相关的GT,而另一些不确定【低置信度】的锚框应该被考虑为负样本。这些策略可以为检测器动态的进行pos/neg标签分配,并实现最先进的性能。
然而,为每个没有上下文【只考虑置信度】的GT独立地分配pos/neg样本可能是次优的,就像缺乏上下文可能导致不正确的预测一样。当处理一些歧义锚框(如图1所示这些锚点可以被作为多个GT框的pos样本)时,现有的分配策略主要是基于手工制定的规则(如:最大面积、最大IOU)。我们认为,分配模糊锚框对任意一个GT样本可能引入一些有害的梯度。因此,对于歧义标签分配不是简单的,需要考虑在局部试图之外的信息。因此,一个更好的分配策略应该摆脱对每个GT达到局部最优的习惯,转向全局最优。换个方式描述就是:应该找到图像中所有GT对象的全局高置信度分配。
DeTR是第一个尝试从全局试图考虑标签分配的工作,它采用transformer层替换检测头,并考虑使用匈牙利算法1对1的分配策略,该算法只匹配每个GT的一个预测框和全局最小loss。然而,对于基于CNN的检测器,网络经常会对目标邻近区域产生一些相关的分数,这有利于训练效率。在这种一对多的方式中,使用全局视图分配标签更加完善。
为了在一对多的场景下取得全局最优分配结果,我们提出将标签分配表示为一个最优传输(OT)问题,即优化理论中线性规划(LP)的一种特殊形式。具体来说,我们将每个GT定义为提供一定数量标签的供应商,并将每个锚点定义为需要一个标签的的需求者。如果一个锚框从某个GT中接收到足够数量的正标签,则该锚框称为该GT的一个正锚框。在这种情况下,每个GT提供的正标签数据可以被解释为“GT需要多少个正锚框才能在训练过程中达到更好的收敛”。每个锚框-GT对之间的单位运输成本被定义为它们的cls和reg损失的加权之和。此外,由于锚框也需要考虑负样本的情况,我们引入了另一个供应商——背景,他们提供负的标签,以弥补其他需要的标签。背景和某个锚框的损失仅被定义为它们的分类loss。在公式化后,找到最优标签分配方案即是解决最优传输问题,这可以使用现成的辛克霍恩-克诺普迭代[5]可以快速有效地解决。我们将这种分配策略命名为最优传输分配(OTA)。
在MS COCO [22]基准上进行了全面的实验,从OTA的显著改进证明了其优势。OTA还在一个名为CrowdHuman数据集上[35]上实现了单级检测器的SOTA性能,显示了OTA在不同检测基准上的泛化能力。
2. Related Work
2.1. Fixed Label Assignment
在训练对象检测器之前,确定每个GT或背景应该被分配个那个锚框是一个必要的程序。基于锚点的检测器通常采用一定阈值下的IoU作为分配标准。例如,Faster R-CNN [33]中的RPN分别使用0.7和0.3作为正阈值和负阈值。在训练R-CNN模块时,pos/neg划分的IoU阈值被更改为0.5。基于IoU的标签分配被证明是有效的,并很快被许多更快的R-CNN的变体,如[2,12,20,42,26,49,37],以及许多单级探测器,如[31,32,25,27,23,21]所采用。
近年来,无锚框探测器因其简洁性和高计算效率而备受广泛关注。在没有锚框的情况下,FCOS [38]、Foveabox [17]及其前一代模型[30,14,46]直接将物体中心周围的锚点作为阳性样本,显示出较好的检测性能。另一个无锚的检测器流[18,8,50,45,4]将每个对象视为单个或一组关键点。它们与其他探测器具有不同的特性,因此在我们的论文中将不再进一步讨论。
虽然上述检测器在许多方面有所不同,但在标签分配方面,对于不同大小、形状和类别等的对象,它们都采用单一的固定分配标准(例如,中心区域的固定区域或IoU阈值的固定区域),这可能导致次优分配结果。
2.2. Dynamic Label Assignment
最近的许多工作试图使标签分配过程更具适应性,旨在进一步提高检测性能。与使用预定义的锚点不同,GuidedAnchoring[40]基于无锚框机制生成锚点,以更好地适应各种对象的分布。MetaAnchor[44]提出了一个锚生成函数,从任意定制的先验框中学习动态锚。NoisyAnchors19]提出了基于分类和定位损失的软标签和锚框重新加权机制。FreeAnchor[48]基于IoU为每个gt构建top-k锚候选点,然后提出一个检测定制的可能性,在每个候选集合内执行pos/neg划分。ATSS [47]提出了一种自适应样本选择策略,该策略采用每个gt的一组最接近锚点的IoU值的平均+标准差作为pos/neg阈值。PAA [16]假设正、负样本的联合损失的分布遵循高斯分布,利用GMM拟合正负样本的分布,然后以正样本分布的中心作为pos/neg划分边界。AutoAssig[51]利用一种完全数据驱动的标签分配方式,通过自动确定在空间和尺度维度上的积极/消极。
这些方法探索了单个对象的最优分配策略,而没有从全局的角度考虑上下文信息。DeTR [3]研究了全局最优匹配的思想。但是他们采用的匈牙利算法只能以一对一的分配方式工作。到目前为止,对于基于CNN的探测器,一个全局最优分配策略仍然未知。
3.Method
在本节中,我们首先重新讨论最优传输问题的定义,然后演示我们如何将对象检测中的标签分配表述为OT问题。我们还介绍了两种先进的设计,我们建议采用它们来最佳利用OTA。
3.1. Optimal Transport
最佳传输系统(OT)描述了以下问题:假设在一定区域有m个供方和n个需求方,第i个供应商持有
s
i
s_i
si单位的货物,而第j个需求方需要
d
j
d_j
dj单位的货物。每一单位货物从供应商i到需求方j的运输成本用
c
i
j
c_{ij}
cij表示。OT问题的目标是找到一个传输规划:
π
∗
=
{
π
i
,
j
∣
i
=
1
,
2
,
…
m
,
j
=
1
,
2
,
…
n
}
\pi^{*}=\left\{\pi_{i, j} \mid i=1,2, \ldots m, j=1,2, \ldots n\right\}
π∗={πi,j∣i=1,2,…m,j=1,2,…n}, 根据该规划,所有来自供应商的货物都可以以最小的运输成本运输给需求方。
min
π
∑
i
=
1
m
∑
j
=
1
n
c
i
j
π
i
j
.
s.t.
∑
i
=
1
m
π
i
j
=
d
j
,
∑
j
=
1
n
π
i
j
=
s
i
,
∑
i
=
1
m
s
i
=
∑
j
=
1
n
d
j
,
π
i
j
≥
0
,
i
=
1
,
2
,
…
m
,
j
=
1
,
2
,
…
n
.
(1)
\begin{array}{ll} \min _{\pi} & \sum_{i=1}^{m} \sum_{j=1}^{n} c_{i j} \pi_{i j} . \\ \text { s.t. } & \sum_{i=1}^{m} \pi_{i j}=d_{j}, \quad \sum_{j=1}^{n} \pi_{i j}=s_{i}, \tag{1} \\ & \sum_{i=1}^{m} s_{i}=\sum_{j=1}^{n} d_{j}, \\ & \pi_{i j} \geq 0, \quad i=1,2, \ldots m, j=1,2, \ldots n . \end{array}
minπ s.t. ∑i=1m∑j=1ncijπij.∑i=1mπij=dj,∑j=1nπij=si,∑i=1msi=∑j=1ndj,πij≥0,i=1,2,…m,j=1,2,…n.(1)
这是一个可以在多项式时间内求解的线性问题(LP问题)。然而,在我们的例子中,求解线性问题解很困难,涉及到所有尺度上锚点的特征维度的平方。因此,我们通过一个快速迭代的解决方案来解决这个问题,名为辛克霍恩-Knopp5
3.2. OT for Label Assignment
在目标检测的上下文中,假设一个输入图像
I
I
I有
m
m
m个gt目标和
n
n
n个锚点(跨所有FPN [20]级别),我们将每个gt视为一个拥有k个pos标签的供应商,和每个锚作为需要一个单位的标签的需求者。从
G
T
i
GT_i
GTi运输一个pos标签到锚框
a
j
a_j
aj的成本
c
f
g
c^{fg}
cfg被定义为他们cls和reg损失的加权之和:
c
i
j
f
g
=
L
c
l
s
(
P
j
c
l
s
(
θ
)
,
G
i
c
l
s
)
+
α
L
r
e
g
(
P
j
b
o
x
(
θ
)
,
G
i
b
o
x
)
,
(2)
\begin{aligned} c_{i j}^{f g}= & L_{c l s}\left(P_{j}^{c l s}(\theta), G_{i}^{c l s}\right)+ \\ & \alpha L_{r e g}\left(P_{j}^{b o x}(\theta), G_{i}^{b o x}\right), \tag{2} \end{aligned}
cijfg=Lcls(Pjcls(θ),Gicls)+αLreg(Pjbox(θ),Gibox),(2)
该loss仅计算标签分配的距离代价,与反向传播无关
其中 θ \theta θ代表模型的参数, P j c l s P_j^{cls} Pjcls和 P j b o x P_j^{box} Pjbox表示预测的 c l s cls cls分数和 a j a_j aj的包围框。 C i c l s C_i^{cls} Cicls和 G i b o x G_i^{box} Gibox表示真实类别和 G T i GT_i GTi的真实边框。 L c l s L_{cls} Lcls和 L r e g L_{reg} Lreg表示交叉熵和IOU损失。我们也可以用Focal损失[21]和GIoU [34]/SmoothL1损失[11]来替代这两个损失。 α \alpha α是平衡系数。
除了正标签分配外,在训练过程中,有大量的锚点被视为负样本。由于最佳运输涉及所有锚框,我们引入了另一个供应商——background,他们只提供负面标签。在标准OT问题中,总供应必须等于总需求。因此,我们将背景可以提供的负标签的数量设置为n−m×k。将一个单位的负标签从背景运输到
a
j
a_j
aj的成本定义为:
c
j
b
g
=
L
c
l
s
(
P
j
c
l
s
(
θ
)
,
∅
)
(3)
c_{j}^{b g}=L_{c l s}\left(P_{j}^{c l s}(\theta), \varnothing\right) \tag{3}
cjbg=Lcls(Pjcls(θ),∅)(3)
其中,∅表示背景类。将
c
b
g
∈
R
1
×
n
c^{b g} \in \mathbb{R}^{1 \times n}
cbg∈R1×n连接到
c
f
g
∈
R
m
×
n
c^{f g} \in \mathbb{R}^{m \times n}
cfg∈Rm×n的最后一行,我们可以得到
c
∈
R
(
m
+
1
)
×
n
c \in \mathbb{R}^{(m+1) \times n}
c∈R(m+1)×n 。 因此,供给矩阵s可以被表示为:
s
i
=
{
k
,
if
i
≤
m
n
−
m
×
k
,
if
i
=
m
+
1
(4)
s_{i}=\left\{\begin{array}{lll} k, & \text { if } \quad i \leq m \\ n-m \times k, & \text { if } \quad i=m+1 \end{array}\right. \tag{4}
si={k,n−m×k, if i≤m if i=m+1(4)
因为我们已经有了成本矩阵
c
c
c, 供给矩阵
s
∈
R
m
+
1
s \in \mathbb{R}^{m+1}
s∈Rm+1, 需求矩阵
d
∈
R
n
d \in \mathbb{R}^{n}
d∈Rn,最优传输规划
π
∗
∈
R
(
m
+
1
)
×
n
\pi^{*} \in \mathbb{R}^{(m+1) \times n}
π∗∈R(m+1)×n,可以通过现成的Sinkhorn-Knopp迭代解决这个OT问题。 在得到
π
∗
\pi^{*}
π∗后,可以通过将每个锚分配给传输最多标签的供应商来解码相应的标签分配解决方案。后续的过程(例如,基于分配结果计算损失,反向传播)与FCOS [38]和ATSS [47]中的过程完全相同。需要注意到的是,OT问题的优化过程中只包含了一些GPU设备可以加速的矩阵乘法,因此OTA只增加了总训练时间不到20%,并且在测试阶段是0成本的。
3.3. Advanced Designs
Center Prior. 以前的工作[47,16,48]只从有限区域的物体的中心区域选择积极的锚,称为中心优先。这是因为它们遭受大量模糊的锚或者缺失后续过程中的统计数据。我们的OTA不是依赖于统计特征,而是基于全局优化方法,因此自然会抵抗这两个问题。理论上,OTA可以将gts盒子区域内的任何锚框点作为阳性样本。然而,对于像COCO这样的一般检测数据集,我们发现中心先验仍然可以在OTA的训练中受益。强迫检测器集中在潜在的积极区域(即中心区域)可以帮助稳定训练过程,特别是在训练的早期阶段,这将导致更好的最终表现。因此,我们在成本矩阵之前强加了一个中心。对于每个gt,我们根据锚点和gt之间的中心距离从每个FPN级中选择 r 2 r^2 r2个最近的锚点.对于不在 r 2 r^2 r2最接近列表中的锚点,它们在成本矩阵c中的对应条目将需要付出额外的恒定成本,以减少它们在训练阶段被分配为正样本的可能性。在第4节中,我们将证明,尽管OTA像[38,47,48]所做的其他工作一样采用了一定程度的中心优先,但当r设置为一个大值时,OTA始终优于对应的工作。
Dynamic k Estimation 直观地说,每个gt的适当的正锚的数量( s i s_i si在章节3)应该是不同的,并基于许多因素,如物体的大小,尺度,和遮挡条件等。由于很难直接将从这些因子到正锚数的映射函数建模,我们提出了一种简单而有效的方法,根据预测的边界盒和gts之间的IoU值来粗略估计每个gt的适当的正锚数量。具体来说,对于每个gt,我们根据IoU值选择top q个预测。这些IoU值被加起来表示这个gt的正锚点的估计数量。我们称这种方法为动态k估计。这种估计方法基于以下直觉:某一gt的适当正锚数量应该与该gt的良好回归锚数量正相关。在章节4,我们对固定k估计策略和动态k估计策略进行了详细的比较。
OTA的toy版可视化图如图2所示。我们还描述了OTA的完成过程,包括算法1中的中心先验和动态k估计。
4. Experiments
在本节中,我们在MS COCO 2017 [22]上进行了广泛的实验,其中分别包含约118k、5k和20k的train、val和test的图像。对于消融研究,我们在train上训练探测器,并在val集上报告性能。在test上与其他方法进行了比较。我们还将OTA与其他Crowd[35]验证集方法进行了比较,以证明OTA在人群场景中的优越性。
4.1. Implementation Details
如果没有指定,我们使用在ImageNet [6]上预训练的ResNet-50 [13],以FPN [20]作为我们的默认骨干。大多数实验都是用90k次迭代进行训练的,这些迭代记为“1×”,初始学习率为0.01,经过60k和80k次迭代后衰减了10倍。batchsize设置为16。按照一般的做法,在8个gpu上使用SGD [1]对该模型进行训练。
OTA可以用于基于锚框和无锚框的检测器,以下实验主要使用FCOS进行。我们采用Focal loss(做分类) L c l s L_{cls} Lcls和Iou Loss(做回归) L r e g L_{reg} Lreg做损失函数。公式2中的α被设置为1.5。对于反向传播,回归loss被GIou Loss取代,并设置其权重为2。IoU分支守在在YOLOV1被引入,并被PAA[16]在当代一级探测器中证明是有效的。我们采用IOU分支作为实验中的默认组件。动态k估计中的top q个预测值中的q被设置为20,因为我们发现这组参数值在各种情况下可以一致的产生稳定的结果。
1、OTA loss也就是公式二,采用Focal loss和Iou Loss;做反向传播训练时,选用GIou Loss4.2. Ablation Studies and Analysis
Effects of Individual Components. 在我们提出的方法中验证了每个组件的有效性。为了进行公平的比较,所有检测器的回归损失都乘以2,这被认为是在高IoU阈值[28]下提高AP的有用技巧。如表1所示,当不采用辅助分支时,OTA的性能比FCOS高出0.9%的AP(39.2%的v.s.38.3%)。在加入IoU分支后,这一差距几乎保持不变(39.5% v.s。40.3%和38.8%。分别为39.6%)。最后,动态k将AP推到了最先进的40.7%。在整篇论文中,我们强调OTA可以应用于锚框和无锚检测器。因此,我们也在RetinaNet[21]上采用了OTA,在特征图上只有一个正方形锚点置换。如表1所示,OTA-FCOS和OTA-RetinaNet网络的AP值完全相同,表明OTA在基于锚框和无锚框检测器上的适用性。
Effects of r. 中心先验的半径r的值用于控制每个gt的候选锚点的数量。如果采用一个小的r,只有在物体中心附近的锚点可以被指定为正的,帮助优化过程关注于更有可能提供信息的区域。随着r的增加,候选项的数量也呈二次型增加,导致优化过程中潜在的不稳定性。例如,当r设置为3、5或7时,它们对应的候选锚点数分别为45、125和245(
r
2
∗
5
r^2*5
r2∗5)。我们研究了ATSS、PPA和OTA在不同r值下的表现,具体如表2所示。
注意到OTA中的最优分配计划是连续的,因此如果
m
a
x
π
j
∗
<
0.9
max \pi_j^∗<0.9
maxπj∗<0.9,我们将锚
a
j
a_j
aj定义为一个模糊锚框。从表2可以看出,对于ATSS,随着r从3到7的变化,模糊锚点的数量显著增加。其性能相应地从39.4%下降至37.2%。对于PAA,模糊锚点的数量对r的敏感性较低,但其性能仍下降了0.8%,说明PAA采用的Max IoU在模糊锚点之前不是理想的。在OTA中,当多个gts倾向于将正标签传输到同一锚点时,OT算法将基于最小全局成本的原则自动解决它们之间的冲突。因此,OTA的模糊锚点的数量仍然很低,并且随着r从3增加到7,几乎没有增加。相应的性能也很稳定。
此外,在执行OTA之前,我们根据手工制作的规则手动分配模糊锚。在这种情况下,OTA只负责pos/neg样品的划分。从表3可以看出,手工规则和OTA的组合使AP分别降低了0.7%和0.4%。最后,我们在图3中可视化了一些分配结果。红色箭头和虚线椭圆突出了模糊的区域(即,不同gt之间的重叠或gt和bg之间的连接)。由于缺乏上下文和全局信息,ATSS和PAA在这些区域表现不佳,导致检测性能次优。相反,OTA在这些区域中分配的正锚点要少得多,我们认为这是一种理想的行为。
Effects of k. 在执行Sinkhorn-Knopp迭代之前,我们需要对于gt供货商定义多少正标签?这个数值还表示每个gt需要更好的收敛需要多少锚点。一种简单的方法是为所有gts将k设置为一个常量值。我们尝试了从1到20的不同的k值。如表4所示,在所有不同的值中,k=10和k=12的性能最好。当k从10增加到20时,锚点同时作为两个接近目标的正样本的可能性也增加,但根据表4没有明显的性能下降(0.2%),这证明了OTA在处理潜在模糊方面的优越性。当k=1时,OTA成为一对一的分配策略,与DeTR中相同。糟糕的性能告诉我们,在1×调度器下通过一对一的分配来实现竞争的性能仍然具有挑战性,除非添加一个辅助的一对一监督。
固定k策略假设每个gt都有相同数量的适当的正锚点。然而,我们认为不同的gt中,这个数字应该不同,可能受到许多因素的影响,如物体的大小、空间态度和遮挡条件等。因此,我们采用了第3.3节中提出的动态k估计值,并将其性能与固定k策略进行了比较。表4的结果显示,动态k比固定k的最佳性能高出0.4%的AP,验证了我们的观点和动态k估计策略的有效性。
4.3. Comparison with State-of-the-art Methods.
我们将我们的最终模型与其他先进的最先进的一级探测器测试开发进行比较。根据之前的工作[21,38],我们将图像的短边随机放在640到800范围内。此外,我们将总迭代次数加倍到180K,学习率变化点按比例排列。其他设置与[21,38]相一致。
如表5所示,我们使用ResNet-101-FPN的方法达到了45.3%的AP,优于其他所有具有相同主干的方法,包括ATSS(43.6% AP)、AutoAssign(44.5% AP)和PAA(44.6% AP)。注意到,对于PAA,我们删除了评分投票程序,以在不同的标签分配策略之间进行公平的比较。使用ResNeXt-64x4d-101-FPN[43],OTA的性能可以进一步提高到47.0% AP。为了证明我们的方法与其他目标检测技术的兼容性,我们采用可变形卷积网络(DCN)[54]来实现ResNeXt骨干,以及检测头的最后一个卷积层,这将我们的模型的性能从47.0% AP提高到49.2% AP。最后,利用多尺度测试技术,我们的最佳模型达到了51.5%的AP。
4.4. Experiments on CrowdHuman
拥挤场景中的对象检测越来越引起[24,15,9,10]的关注。与为COCO等一般对象检测设计的数据集相比,在拥挤的数据集中发生的模糊性更频繁。因此,为了证明OTA在处理模糊锚点方面的优势,有必要在一个拥挤的数据集上进行实验——在人群中使用的[35]上。CrowdHuman在训练、验证和测试集中分别包含15000、4370和5000张图像,一幅图像中的平均人数为22.6。对于所有的实验,我们训练探测器30个epoch(即2.5x),以获得更好的收敛性。NMS阈值设置为0.6。我们在实验中采用ResNet-50 [13]作为默认的主干,其他设置与我们在COCO上的实验相同。对于验证,我们采用MR指标,这代表每张图像的对数平均缺失率(FPPI),范围为[0.01,1]。AP和Recall都是常见的指标。所有的评估结果都报告在CrowdHuman val上。
如表6所示,RetinaNet和FCOS分别只达到了58.8%和55.0%的Mr,远比更快的R-CNN(带FPN)等两级探测器要差,揭示了人群场景中单级探测器的困境。从自由锚框开始,通过动态标签分配策略逐步提高了监测检测器的性能。ATSS达到了49.5%的Mr,这非常接近于更快的R-CNN的性能(48.7%的AP)。最近提出的LLA [10]利用了损失感知的标签分配,这与OTA类似,实现了47.9%的Mr。然而,我们的OTA向前迈出了一步,将全局信息引入标签分配,将Mr提高到46.6%。OTA的AP和召回率也明显超过了其他现有的单级探测器。
尽管PAA在COCO上与OTA取得了有竞争力的表现,但它在CrowdHuman上表现不佳。我们推测PAA需要明确的pos/neg决策边界来帮助GMM学习更好的集群。但在拥挤的场景中,这种清晰的边界可能不存在,因为潜在的负样本通常覆盖了足够数量的前景区域,从而导致PAA的性能不佳。此外,PAA执行per-gt的聚类,这大大增加了在拥挤的数据集上的训练时间。与PAA相比,OTA任然保持了先进的效果,这证明了OTA在各种检测基准上的优越性。
5. Conclusion
在本文中,我们提出了一种基于优化理论的最优标签分配策略。OTA将目标检测中的标签分配过程制定为一个最优运输问题,其目的是以最小的运输成本将标签从地面真实对象和背景运输到锚点。为了确定每个gt所需的正标签的数量,我们进一步提出了一个基于预测边界盒和每个gt之间的IoU值的简单估计策略。实验结果表明,OTA在MS COCO上实现了新的SOTA性能。由于OTA可以很好地处理模糊锚的分配,因此它在众人数据集上的性能也大大优于所有其他一期检测器,证明了其很强的泛化能力。
A. Appendix.
A.1. Optimal Transport and Sinkhorn Iteration
为了保证本文的完整性,我们简要介绍了Sinkhorn迭代算法的推导,我们强调的不是我们的贡献,而是属于教科书知识。在等式中定义了最优传输问题的数学公式 1.这是一个可以在多项式时间内求解的线性程序。然而,对于密集的探测器,所得到的线性程序很大,涉及到所有尺度上具有锚点的特征维度的平方。这个问题可以通过一个快速迭代的解决方案来解决,它在等式中转换优化目标1变成非线性凸形式,添加熵正则化项E:
min
π
∑
i
=
1
m
∑
j
=
1
n
c
i
j
π
i
j
+
γ
E
(
π
i
j
)
(5)
\min _{\pi} \sum_{i=1}^{m} \sum_{j=1}^{n} c_{i j} \pi_{i j}+\gamma E\left(\pi_{i j}\right) \tag{5}
πmini=1∑mj=1∑ncijπij+γE(πij)(5)
其中
E
(
π
i
j
)
=
π
i
j
(
l
o
g
π
i
j
−
1
)
E(\pi_{ij})=\pi_{ij}(log \pi_{ij}-1)
E(πij)=πij(logπij−1),
γ
\gamma
γ是一个超参数,用于控制正则化项的权重。根据拉格朗日乘子法,得到了等式中的约束优化目标5可以转换为非约束目标:
min
π
∑
i
=
1
m
∑
j
=
1
n
c
i
j
π
i
j
+
γ
E
(
π
i
j
)
+
α
j
(
∑
i
=
1
m
π
i
j
−
d
j
)
+
β
i
(
∑
j
=
1
n
π
i
j
−
s
i
)
,
(6)
\begin{aligned} \min _{\pi} & \sum_{i=1}^{m} \sum_{j=1}^{n} c_{i j} \pi_{i j}+\gamma E\left(\pi_{i j}\right)+ \\ & \alpha_{j}\left(\sum_{i=1}^{m} \pi_{i j}-d_{j}\right)+\beta_{i}\left(\sum_{j=1}^{n} \pi_{i j}-s_{i}\right), \end{aligned} \tag{6}
πmini=1∑mj=1∑ncijπij+γE(πij)+αj(i=1∑mπij−dj)+βi(j=1∑nπij−si),(6)
其中,
α
j
(
j
=
1
,
2
,
…
n
)
and
β
i
(
i
=
1
,
2
,
…
,
m
)
\alpha_{j}(j=1,2, \ldots n) \text { and } \beta_{i}(i=1,2, \ldots, m)
αj(j=1,2,…n) and βi(i=1,2,…,m)是拉格朗日乘数。通过让优化目标的导数为0,将最优方案π∗解析为:
π
i
j
∗
=
exp
(
−
α
j
γ
)
exp
(
−
c
i
j
γ
)
exp
(
−
β
i
γ
)
\pi_{i j}^{*}=\exp \left(-\frac{\alpha_{j}}{\gamma}\right) \exp \left(-\frac{c_{i j}}{\gamma}\right) \exp \left(-\frac{\beta_{i}}{\gamma}\right)
πij∗=exp(−γαj)exp(−γcij)exp(−γβi)
、、、、、、、未完成。