论文为ICCV2021 oral,整体看起来有点像ATSS+VFNET+GFL的组合版,不过提升比较大,yolo系列中也在使用,比如pp-yolo中
论文题目:
TOOD: Task-aligned One-stage Object Detection
论文地址:
https://arxiv.org/pdf/2108.07755.pdf
摘要
一阶段目标检测通常通过使用具有两个并行分支的头方式实现优化两个子任务:对象分类和定位,这可能导致两个任务之间的预测存在一定程度的空间错位。在这项工作中,我们提出了一个任务对齐的单阶段目标检测 (TOOD),以基于学习的方式明确对齐两个任务。首先,我们设计了一种新颖的任务对齐头(T-Head),它在学习任务交互之间提供更好的平衡和特定于任务的功能,以及更大的灵活性通过任务对齐的预测器学习对齐;第二,我们提出任务对齐学习(TAL)明确地拉近(甚至统一)两个任务的最佳锚点,在训练期间通过设计的样本分配方案和任务对齐的损失。
在 MS-COCO 上进行了广泛的实验,其中 TOOD 在单模型单尺度测试超过了最近一级检测器,例如 ATSS(47.7 AP)、GFL(48.2 AP) 和 PAA (49.0 AP),具有更少的参数和 FLOP,定性结果也证明 TOOD 的有效性以更好地对齐对象分类和定位任务。
一 简介
目标检测旨在定位和识别目标,是一个基本的但是计算机视觉中的挑战性任务,它通常被表述为一个多任务学习问题,通过联合优化对象分类和定位 ,分类任务旨在学习判别专注于对象的关键或显着部分的特征,而定位任务则致力于精确定位整个对象及其边界,由于分类和定位的学习机制分歧,当使用两个单独的分支进行预测时两个任务学习到的特征的空间分布可能不同,导致一定程度的错位。
最近的一级目标检测器试图预测两个独立任务的一致输出对象 的中心,他们假设锚点(无锚点检测器的锚点,或用于基于锚的检测器的框)在对象的中心可能会给出用于分类和定位更准确的预测,例如,最近的 FCOS 和 ATSS都使用中心分支提高靠近对象的中心锚点预测的分类分数,并分配更大的权重给相应锚点的定位损失,FoveaBox 将对象预定义中心区域内的锚点视为正样本,这种启发式设计取得了很好的效果,但这些方法可能会受到两个限制:
(1) 分类和定位的独立性 最近的一级检测器执行对象分类和通过使用两个独立的分支并行,这样的双分支设计可能导致两个任务之间缺乏交互,导致执行时的预测不一致,如图 1 中的“结果”列所示,ATSS 检测器识别“Dining table”的对象(由带有红色的anchor指示),但定位另一个对象更准确地表示“披萨”(红色边界框)。
(2) 与任务无关的样本分配 大多数无锚检测器使用基于几何的分配方案来选择对象中心附近的锚点以进行分类和定位 ,而基于锚点的检测器通常通过计算锚框和真实框之间的 IoU 来分配锚框 ,然而,分类和定位的最佳锚点通常是不一致的,并且可能会因物体的形状和特性而有很大差异,这广泛使用的样本分配方案与任务无关,因此可能很难对这两个任务做出准确而一致的预测。
为了解决这些限制,我们提出了一个任务对齐的旨在对齐目标的一阶段目标检测 (TOOD)通过使用面向对齐的学习方法设计新的头部结构来更准确地完成两项任务:
任务对齐的头部 传统的一阶段目标检测中使用两个分支分别实现分类和定位,我们设计了一个任务对齐头(T-head)来增强两个任务之间的交互,这允许两个任务可以更协作地工作,这反过来又会保持一致使他们的预测更准确,T-head设计简单:它计算任务交互特征,并生成通过一种新颖的任务对齐预测器 (TAP) 进行预测,然后它根据任务对齐提供的学习信号对齐两个预测的空间分布学习,如下所述。
任务对齐学习 为了进一步克服错误对齐问题,我们提出了任务对齐学习(TAL)显式拉近两个任务的最佳锚点,它是通过设计一个样本分配方案和一个任务对齐的损失来执行的,样本分配收集训练样本(即正样本或负样本)通过计算每个锚点的任务对齐程度,而 task-aligned loss 在训练期间逐渐统一了预测分类和定位的最佳 anchors,因此,在推理时,边界框具有最高的分类分数并共同拥有可以保留最精确的定位。
提出的 T-head 和学习策略可以协同工作,以做出高质量的预测在分类和定位方面,这项工作的主要贡献可以总结如下:(1)我们设计了一个新的 T-head 来增强分类和本地化之间的交互,同时保持它们的特性,并将这两个任务进一步对齐预测;(2) 我们建议 TAL 明确地对齐两个任务的锚点,并为提出的预测器提供学习信号;(3) 我们在 MSCOCO上进行了广泛的实验,其中我们的 TOOD达到了 51.1 AP,超过了最近的一级检测器,例如 ATSS、GFL 和 PAA,定性结果进一步验证了我们的任务对齐方法。
二 相关工作
一级探测器 OverFeat是最早的基于 CNN 的一级检测器之一。随后,YOLO 被开发来直接预测边界框和分类分数,而不需要额外的阶段来生成区域建议,SSD引入了具有来自多层卷积特征的多尺度预测的锚点,RetinaNet提出了 Focal loss来解决一级检测器的类不平衡问题,基于关键点的检测方法,通过识别和分组边界框的多个关键点来解决检测问题,最近,FCOS和 FoveaBox 被开发通过锚点定位和点对边界感兴趣的对象,大多数主流的一级检测器由两个基于 FCN 的分支组成,用于分类和定位,在本文中,我们通过新的头部结构和面向对齐的学习方法来完成这两项任务。
训练样本分配 大多数基于锚的检测器,通过计算收集训练样本提议和真实框之间的 IoU,而无锚检测器关注中心区域内的锚将对象作为正样本,最近的研究试图通过使用输出结果收集更多信息的训练样本来更有效地训练检测器。
例如,FSAF选择有意义的样本来自基于计算损失的特征金字塔,类似地,SAPD 提供了 FSAF 的软选择通过设计一个元选择网络,free anchor 和 MAL 通过计算识别最佳锚盒努力改善组合和对象之间的匹配的损失,PAA 自适应地分离锚点通过拟合概率分为正样本和负样本分布分数,Mutual Guidance 通过考虑其他任务的预测质量,与正/负样本分配不同,PISA根据输出的精度等级 重新加权训练样本,Noisy Anchor为训练分配软标签样本,并使用清洁度分数重新加权锚框,以减轻二进制标签产生的噪声,GFL 将二进制分类标签替换为IoU 得分将定位质量整合到分类中,这些出色的方法启发了当前努力从任务协调的角度开发一种新的分配机制。
3 任务对齐的一阶段目标检测
概述 类似于最近的一级检测器,提议的 TOOD 有一个整体管道'backbone-FPN-head',此外,考虑效率和简单性,TOOD 每个位置使用单个锚点(与 ATSS相同),其中“锚点”表示无锚检测器或锚盒的锚点用于基于锚的检测器,现有的一级检测器通常使用两个单独的头分支来实现的两个任务在分类和定位之间存在任务错位的局限性,在这项工作中,我们建议对齐这两个任务更明确地使用设计的任务对齐头(T-head)与新的任务对齐学习(TAL),如图 2 所示,T-head 和 TAL 可以协同工作以提高两个任务的一致性,T-head首先对FPN 特征进行分类回归预测,然后 TAL 计算基于新任务对齐度量的任务对齐信号,该度量测量两者之间的对齐程度预测,最后,T-head 自动调整其分类在反向传播期间使用从 TAL 计算的学习信号进行正样本概率和定位预测。
3.1 任务对齐的头部
我们的目标是设计一种有效的头结构,以改进单级检测器中头的传统设计(如图 3(a)所示),在这项工作中,我们实现通过考虑两个方面:(1)增加两个任务之间的交互,以及(2)增强检测器学习对齐的能力。建议的 T 头是如图 3(b) 所示,它有一个简单的特征提取器和两个任务对齐预测器 (TAP)。
为了增强分类和定位之间的交互,我们使用特征提取器从多个卷积层中学习一堆任务交互特征,如如图 3(b) 中的蓝色部分所示,这种设计不仅方便了任务交互,同时也提供了多层次的具有多尺度有效感受野的两个任务特征,形式上,令 Xfpn ∈ RH×W×C 表示FPN 特征,其中 H、W 和 C 表示高度、宽度和通道数。特征提取器使用 N 个带有激活函数的连续卷积层来计算任务交互特征:
其中convk和δ指的是第k个conv层和一个relu函数, 因此,我们使用 FPN 特征中的单个分支从 FPN 特征中提取丰富的多尺度特征,然后,计算出的任务交互特征将输入两个 TAP 用于对齐分类和定位。
任务对齐预测器 (TAP) 我们对计算的任务交互特征执行对象分类和定位,这两个任务可以很好地感知彼此的状态,但由于单分支设计,任务交互特性不可避免地引入了两个不同任务之间存在一定程度的特征冲突, 直觉上,目标分类和定位的任务有不同目标,因此专注于不同类型的特征(例如,不同的水平或感受野)。因此,我们提出了一种层注意机制,通过在层级动态计算这些特定于任务的特征来鼓励任务分解。如图 3(c) 所示,任务特定特征是为每个任务单独计算的分类或回归:
预测对齐 在预测步骤,我们进一步通过调整两个预测的空间分布来明确对齐两个任务:P 和 B。不同于以前的作品使用中心分支或 IoU分支只能根据分类特征或定位调整分类预测特征,我们通过考虑联合使用计算的任务交互特征来对齐两个预测任务。值得注意的是, 如图 3(c) 所示,我们使用空间概率图 M ∈ RH×W×1调整分类预测:
其中 M 是从交互特征中计算出来的,允许它学习两个任务在每个空间位置之间的一定程度的一致性。同时,为了在定位预测上进行对齐,我们进一步学习了空间偏移图 O ∈ RH×W×8互动功能,这是用来调整每个位置的预测边界框, 具体来说,学习到的空间偏移使最对齐的锚点成为可能确定围绕它的最佳边界预测:
其中索引 (i, j, c) 表示第 (i, j) 个空间位置在张量的第 c 个通道上,方程(6)是通过双线性插值实现的,由于 B 的通道维度非常小,其计算开销可以忽略不计,值得注意的是,每个通道的偏移量是独立学习的,这意味着 对象有自己的学习偏移量,这样可以更准确地预测四个边界,因为它们每个都可以单独从它附近最精确的锚点学习,所以,我们的方法不仅对齐了两个任务,而且改进了通过识别精确的锚点来提高定位精度。
对齐图 M 和 O 是从堆叠的交互式特征图中自动学习的:
其中 conv1 和 conv3 是两个 1×1 的卷积层,用于降维。M 和 O 的学习使用建议的任务对齐学习 (TAL),我们的 T-head 是一个独立的模块,并且可以在没有 TAL 的情况下正常工作。很容易应用于各种单级目标检测器,即插即用的方式提高检测性能。
3.2 任务对齐学习
我们进一步介绍了任务对齐学习(TAL),这进一步指导我们的 T-head 做出与任务一致的预测,TAL 不同于以前的方法在两个方面:一、从任务对齐的角度看,它根据设计的方法动态地选择高质量的锚点,其次,它同时考虑了锚点分配和加权。它包括一个样本分配策略和专门为对齐两个任务而设计的新损失。
3.2.1 任务对齐的样本分配
为了应对 NMS,一个训练实例的锚分配应满足以下规则:(1)一个良好对齐的锚应该能够预测高分类分数同时精确定位;(2) 未对齐的锚应该有一个低分类分数并被抑制,有了这两个目标,我们设计了一个新的 anchor 对齐度量来明确测量锚级别的任务对齐。对齐度量是集成到样本分配和损失函数中动态细化每个锚点的预测。
锚点对齐指标 考虑到分类分数和预测边界框之间的 IoU表明预测的质量通过这两个任务,我们衡量任务对齐的程度使用分类分数和iou的高阶组合,具体来说,我们设计了以下指标计算每个实例的锚级对齐:
其中 s 和 u 表示分类分数和 IoU值,α和β用于控制影响锚对齐度量中的两个任务,t 在两者的联合优化中起关键作用,它鼓励网络从联合优化的角度动态关注高质量(即任务对齐)锚点。
训练样本分配 训练样本分配对于目标检测器的训练至关重要。为了提高两个任务的一致性,我们专注于任务对齐的锚点,并采用简单的符号规则来选择训练样本:对于每个实例,我们选择 m 个具有最大 t 值的锚点作为正样本,同时使用剩余的锚点作为负样本。同样,训练是通过计算专门设计用于对齐分类和定位任务。
3.2.2 任务对齐损失
分类目标为了显式增加对齐锚的分类分数,同时降低未对齐锚的分数(即,有一个小的t),在训练中我们使用 t 来替换正锚的二值标签,但是,我们发现当正锚的标签(即 t),随着 α 和 β 的增加而变小,网络无法收敛,因此,我们使用归一化的 t,即 t^,来替换正锚,其中 t 由以下两个属性归一化:(1)确保有效学习实例(对于所有对应的正锚通常有一个小的 t);(2)根据预测边界的精度保持之间的排名。因此,我们采用简单的实例级归一化来调整 t^ 的规模:t^ 的最大值等于每个实例中的最大 IoU 值 (u)。然后二进制在正锚点上计算的交叉熵(BCE)对于分类任务可以重写为:
目标定位 由 a 预测的边界框对齐良好的锚(即具有较大的 t)通常同时具有精确定位的分类高分数,以及这样的边界框更有可能在 NMS 期间被保留,此外,t 可以通过更加谨慎地加权损失来选择高质量的边界框,以改善训练。从高质量的边界框中学习有利于模型的性能,而低质量的通常对训练产生负面影响。在我们的例子中,我们应用 t 值来测量边界框的质量,因此,我们改进了任务,通过关注对齐良好的锚(具有大 t),对齐和回归精度,同时减少影响边界期间未对齐的锚点(具有小 t)框回归,与分类目标类似,我们重新加权计算的边界框回归的损失每个锚点都基于 t^,而 GIoU 损失 (LGIoU) 可以改写如下:
4 实验与结果
数据集和评估协议 所有的实验都是在大规模检测基准 MS COCO 2017 上实施,按照标准做法,我们使用 trainval135k 集(115K 图像)进行训练和 minival 集(5K 图像)作为我们消融的验证,我们在测试开发集上报告我们与最先进的检测器进行比较的主要结果,性能由 COCO 平均精度 (AP) 衡量。
实施细节 与大多数单阶段检测器 一样,我们使用“backbone-FPN-head”,具有不同的主干,包括在 ImageNet上预训练的 ResNet-50、ResNet-101 和 ResNeXt-101-64×4d。类似于 ATSS ,TOOD 每个位置一个锚,除非另有说明,否则我们报告无锚的 TOOD(基于锚的TOOD 可以实现类似的性能),如表 3 所示。交互层数 N 设置为 6 ,T-head 具有常规平行头,聚焦参数γ为 2。
4.1 消融研究
对于消融研究,我们使用 ResNet-50 主干,除非另有说明,否则将模型训练 12 个 epoch,在 COCO minival set 上评估的。
在头部结构上 将我们的 T 头与表1中的常规平行头对比。可以采用以即插即用的方式在各种一级检测器中,并且始终比传统头部高出 0.7到 1.9 AP,参数和 FLOP 更少。该验证确定了我们设计的有效性,并证明了T-head 工作效率更高,性能更高,通过引入任务交互和预测对齐。
关于样本分配 为了证明 TAL 的有效性,我们将 TAL 与使用不同样本分配方法的其他学习方法进行比较,见表2。训练样本分配可分为固定分配和自适应分配是否是基于学习的方法,不同于以往的分配方法,TAL自适应地分配正负anchors,同时更仔细地计算正anchor的权重,从而获得更高的性能,与 PAA 比较(+IoUpred.),它有一个额外的预测结构将 TAP 整合到 TAL 中,从而获得更高的 42.5 的 AP。更多的关于 TAL 与以前的区别的讨论方法在 SM 中介绍。
TOOD 我们评估完整的性能TOOD(T 头 + TAL),如表3所示,anchor free TOOD和anchor-based TOOD可以达到类似的性能,即 42.5 AP 和 42.4 AP。和ATSS相比, TOOD 提高了 ~3.2 AP 的性能。更具体地说,对 AP75 的改进是显着的,这会在 TOOD 中产生 ~3.8 AP,这个验证对齐两个任务可以提高检测性能,值得注意的是,TOOD 带来了比 T-head + ATSS (+1.9 AP) 和 Parallel head 的单个改进总和更高的改进 (+3.3 AP)+ TAL (+1.1 AP),如表 6 所示,这表明 T head 和 TAL 可以相互补偿。
关于超参数 我们首先使用不同的 α 和 β 值来研究 TAL 的性能,通过 t 控制分类置信度和定位精度对锚对齐度量的影响,通过如表 4 所示的粗略搜索,我们采用 α = 1 和β = 6,然后我们进行了几次实验研究超参数 m 的鲁棒性,使用不同的值m,并在[5, 9, 13, 17, 21]范围内取得结果42.0~42.5 AP,这表明性能对 m 不敏感,因此,我们在所有实验中采用 m = 13。
4.2 与最先进的检测器比较
我们将TOOD 与其他一级检测器进行比较在COCO test-dev 上,如表 5 ,模型经过训练,具有尺度抖动 (480-800) 和 2x 训练计划 (24epochs)。为了公平比较,我们报告了单一模型和单一测试的结果,使用 ResNet-101 和 ResNeXt-101-64×4d,TOOD 达到 46.7 AP 和 48.3 AP,优于大多数当前的一级检测器,如 ATSS (约 3AP)和 GFL (约 2 AP),此外,使用 ResNet-101-DCN 和 ResNeXt-101-64×4d-DCN,TOOD 带来了与其他检测器相比更大的改进,例如,它获得了 2.8 AP 的改进(48.3→51.1AP),而 ATSS 有 2.1 AP(45.6→47.7 AP)的改进,这验证了 TOOD 可以更有效地与可变形卷积网络 (DCN) 结合,通过自适应调整空间分布任务对齐的学习特征,在 TOOD 中,DCN 应用于头的前两层,如表 5 所示,TOOD 在单阶段目标检测中以 51.1 AP 实现了新的最先进结果。
4.3 任务对齐的定量分析
我们定量分析提出的两个任务对齐的方法效果,不使用 NMS,我们计算 Pearson 相关系数 (PCC)通过为每个实例选择前 50 个置信度预测来获得分类和定位的排名 ,以及前 10 个置信预测的平均 IoU,如表 6 所示,平均 PCC 和IoU 通过使用 T-head 和 TAL 得到改进,同时,使用 NMS,正确框 (IoU>=0.5) 的数量增加,而冗余 (IoU>=0.5) 和错误框的数量(0.1<IoU<0.5)大幅减少,统计数据表明 TOOD与 NMS 更兼容,通过保留更多正确的框,并显着抑制冗余/错误框,最后,检测性能总共提高了 3.3 AP,几个检测示例如图 4 所示。
5 结论
在这项工作中,我们说明了在现有的一阶段检测器中进行分类和定位的错误对齐,并提出TOOD来对齐这两个任务,设计了一个task-aligned head来增强两个任务的交互,进而提高其学习能力,通过引入样本分配来制定策略方案和新的损失函数,两者都是通过锚对齐度量计算的,通过这些改进,TOOD在MS-COCO上获得了51.1的AP,超过了最先进的一级检测器。
本文暂时没有评论,来添加一个吧(●'◡'●)