摘要:

  1. 提出问题:

    单阶段目标检测通常是通过优化两个子任务来实现的:目标分类和定位,使用具有两个平行分支的头部,这可能会导致两个任务之间的预测存在一定程度的空间错位(spatial misalignment)。

  2. 解决方案:

    任务对齐的单阶段对象检测(TOOD),以基于可学习的方式明确地对齐两个任务。

    TOOD:

    • Task-aligned Head (T-Head)

      在学习任务交互式和特定任务的功能之间提供了更好的平衡,并且通过任务对齐的预测器(task-aligned predictor)更加灵活地学习对齐。

    • Task Alignment Learning (TAL)

    在训练过程中,通过设计的样本分配方案(sample assignment scheme)和任务对齐的损失(task-aligned loss),明确地找到更接近(甚至统一)两个任务的最佳锚点。

  3. 实验结果:

    TOOD achieves a 51.1 AP at single-model single-scale testing

  4. 贡献:

    TOOD可以更好地对齐目标分类和定位两个任务。

    • T-head

      增强分类和定位之间的交互作用,同时保持它们的特征,并进一步对齐这两个任务的预测;

    • TAL

      为所提出的预测器提供学习信号;

1. 引言

  1. 目标检测主要的两个子任务:

    • 分类任务:学习专注于物体的关键或显著部分的区别性特征。

    • 定位任务:精确地用边界定位整个物体。

  2. 目前两个子任务存在的问题(作者认为):

    由于分类和定位的学习机制不同,两个任务的学习特征的空间分布可能会不同,当使用两个独立的分支进行预测时,会导致一定程度的错位。

  3. 目前单阶段目标检测器的重点(作者认为存在问题)

    试图通过关注目标的中心来预测两个独立任务的一致输出。这些工作认为物体中心的锚(即无锚检测器的锚点,或基于锚的检测器的锚盒)可能对分类和定位给出更准确的预测。

    • FCOS、ATSS

      使用中心度分支,增强物体中心附近的锚预测的分类得分,并为相应锚的定位损失分配更大的权重。

    • FoveaBox

      将放置在物体的一个预定义的中心区域内的锚视为正样本。

  4. 目前单阶段目标检测器的局限(作者认为)

    • 分类和定位独立开了(个人认为以后的方向更应该趋向于分开两个任务,独立预测

      最近的一级检测器通过并行使用两个独立的分支(即heads)来独立地执行目标分类和定位。

      问题:这种不同的双分支设计可能会导致两个任务之间缺乏交互,导致执行任务时预测不一致。

      举例:如图1中的“Result”列所示,ATSS检测器识别一个“餐桌”的对象(用红色斑块显示的锚表示),但更准确地定位另一个“披萨”的对象(红色边界框)。

    • 不可知任务的样本分配

      大多数无锚检测器:使用基于几何的分配方案来选择对象中心附近的锚点来进行分类和定位。

      大多数基于锚的检测器:通常通过计算锚盒和GT之间的IoUs来分配锚盒。

      问题:用于分类和定位的最佳锚点往往是不一致的,并且可能根据物体的形状和特征而有很大的差异。因此,在非最大抑制(NMS)期间,一个精确的边界框可能会被一个较不精确的边界框所抑制。

      举例

      • 图1中ATSS的“Score”和“IoU”分布所示,广泛使用的样本分配方案是任务不可知论性的,因此可能很难对这两个任务做出准确而一致的预测;
      • 图1中“Result”列,还说明了最佳定位锚(绿色斑块)的空间位置可能不在对象的中心,并且它与最佳分类锚(红色斑块)不能很好地对齐。

    ATSS (top row)

    TOOD (bottom row)

    1. yellow boxes:GT

    2. white arrow: the main direction of the best anchor away from the center of an object

    3. red patch:the location of the best anchor for classification

    4. green patch:the location of the best anchor for localization

    5. red box: an object bounding box predicted from the anchor in the red patch

    6. green box: an object bounding box predicted from the anchor in the green patch

    (if they coincide, we only show the red patches and boxes).

  5. 目前单阶段目标检测器的局限对应的解决方案(作者提出)

    任务对齐的单阶段对象检测(TOOD):通过设计一种新的头部结构(new head structure)和面向对齐的学习方法(alignment-oriented learning approach),更准确地对齐两个任务。

    • Task-aligned head:增强这两个任务之间的交互作用。

      它计算任务交互式特征(task-interactive features),并通过一种新的任务对齐预测器(TAP)进行预测。然后,它根据任务对齐学习(task alignment learning,TAL)提供的学习信号(learning signals),对齐两个预测的空间分布。

    • Task alignment learning

      TAL可以明确地拉近两个任务的最优锚点,进一步克服错位问题。

      包括以下两个方面:

      • 样本分配方案

        通过计算每个锚点上的任务对齐程度来收集训练样本(即正或负)。

      • 任务对齐的损失

        在训练过程中,逐步统一了预测分类和定位的最佳锚点。因此,在推理时,可以保留一个分类得分最高并共同具有最精确定位的边界框。

2. 相关工作(略)

单阶段检测器

训练样本分配

3. 任务对齐的单阶段目标检测

回顾

如图2所示,T-head和TAL可以协同改进两个任务的对齐方式。具体来说,步骤如下:

  1. 首先,T-head对FPN features的分类和定位进行预测。
  2. 然后,TAL基于一种新的任务对齐度量计算任务对齐信号,它度量两个预测之间的对齐程度。
  3. 最后,在反向传播过程中,T-head利用从TAL计算出的学习信号,自动调整其分类的概率和定位的预测。

TOOD的整体学习机制。步骤如下:

  1. 由T-head对FPN features做出的预测。
  2. 这些预测被用于计算每个锚点上的任务对齐度量(task alignment metric),在此基础上,TAL为T-head产生学习信号。
  3. T-head相应地调整分类和定位的分布。

3.1 Task-aligned Head

  1. 作用

    • 增加了这两个任务之间的交互作用。
    • 提高了检测器学习对齐的能力。
  2. 组成

    • 一个简单的特征提取器。
    • 两个任务对齐的预测器(TAP)。
  3. 特征提取器

    为了增强分类和定位之间的交互作用,使用特征提取器从多个卷积层中学习任务交互特征堆栈,如图3(b)中的蓝色部分所示。这种设计不仅促进了任务的交互,而且为两个任务提供了多尺度有效感受野的多层次特征。

    1. 特征提取器使用N个连续的经过激活函数的卷积层来计算任务交互特征:

.使用head的单个分支从FPN features(单个FPN feature)中提取出丰富的多尺度特征。

  1. Xfpn∈RH×W×C:FPN features(某一个,如p3)。
  2. convk:第k个卷积层。
  3. δ:relu激活函数。
  4. N:6
  1. 计算出的任务交互特征将被输入两个TAP,用于对齐分类和定位。

Task-aligned Predictor(TAP)

  1. 作用:我们对计算出的任务交互特征进行对象分类和定位,其中这两个任务可以很好地感知彼此的状态。

  2. 单分支设计的缺点及解决方案:

    • 缺点

      任务交互特征不可避免地会在两个不同任务之间引入一定程度的特征冲突。直观地看,对象分类和定位的任务有不同的目标,因此专注于不同类型的特征(例如,不同的层次或感受野)。

    • 解决方案

      通过在层级别上动态计算特定任务的特征,提出一种层注意机制来促进任务分解。

  3. 步骤:

    1. w是由跨层的任务交互特征计算出来的,并且能够捕获各层之间的依赖关系:

  1. fc1、fc2:全连接层
  2. σ:sigmoid激活函数
  3. xinter:是通过对Xinter应用平均池化得到的,Xinter是Xkinterconcat到的特征。
  1. 如图3©所示,对每个分类或定位的任务分别计算特定任务的特征

  1. wk:学习到的层注意力w∈RN的第k个元素。
  1. 最后,从每个Xtask中预测分类或定位的结果:

  1. Xtask:Xtaskconcat得到的features。
  2. conv1:1×1卷积层,用于降维。
  3. Ztask:使用sigmoid函数将Ztask转换为密集的分类分数P∈RH×W×80,或使用distance-to-bbox将Ztask转换为物体边界框B∈RH×W×4

Prediction alignment

在预测步骤中,通过调整P和B这两个预测的空间分布,进一步明确地对齐这两个任务。

  1. 以往的做法:使用中心度分支或IoU分支,只能根据分类特征或定位特征来调整分类预测。

  2. 作者的做法:通过使用计算出的任务交互特征共同考虑两个任务来对齐这两个预测。(值得注意的是,作者在这两个任务上分别执行对齐方法。)

  3. 分类预测

    如图3©所示,使用空间概率图M∈RH×W×1来调整分类预测:

  1. M:从交互特征计算出来的,允许它在每个空间位置学习两个任务之间的一定程度的一致性。
  1. 定位预测

    同时,为了对定位预测进行对齐,进一步从交互特征中学习O∈RH×W×8,用于调整每个位置的预测边界框。具体来说,学习到的空间偏移量使最对齐的锚点能够识别其周围的最佳边界预测:

  1. 索引(i,j,c)表示tensor中第c个通道处的(i,j)空间位置。

等式(6)是通过双线性插值来实现的,由于B的通道维数很小,其计算开销可以忽略不计。值得注意的是,每个通道的偏移量都是独立学习的,这意味着对象的每个边界都有自己的学习偏移量。这允许对四个边界进行更准确的预测,因为每个边界都可以分别从其附近最精确的锚点学习。

  1. alignment maps M、O

    对齐映射M和O自动从交互特征堆栈中学习:

  1. conv1、conv3:1×1卷积层,用于降低维度。
  2. M、O:通过使用所提出的任务对齐学习(TAL)来进行学习。

3.2 Task Alignment Learning

任务对齐学习(TAL)可以进一步指导T-head做出任务对齐的预测。TAL与以往的方法有两个方面的不同。

  • 首先,从任务对齐的角度来看,它基于设计的度量动态地选择高质量的锚点。
  • 其次,它同时考虑锚定分配和权重。

TAL组成:

  • 一个样本分配策略
  • 专门为调整两个任务而设计的新损失。

3.2.1 Task-aligned Sample Assignment

  1. 应对NMS,训练实例的锚分配应该满足以下规则:

    • 对齐良好的锚应该能够通过精确定位联合预测高分类分数;
    • 一个错位的锚应该有较低的分类分数,随后被抑制。
  2. 作者的做法:

    通过这两个目标,设计了一个新的锚对齐度量来明确地度量锚级别上的任务对齐程度。对齐度量被集成到样本分配损失函数中,以动态地细化每个锚点上的预测。

Anchor alignment metric

设计了以下度量标准来计算每个实例的锚定级别对齐:

  1. s:classification score

  2. u:IoU value

  3. α=1、 β=6:are used to control the impact of the two tasks in the anchor alignment metric

  4. t:plays a critical role in the joint optimization of the two tasks towards the goal of task-alignment

它促进网络从联合优化的角度动态地关注高质量(即任务对齐)锚。

Training sample assignment

为了改进两个任务的对齐,论文关注于任务对齐的锚点,并采用一个简单的分配规则来选择训练样本:

  • 对于每个实例,选择t值最大的m(作者说他做了实验,m具有鲁棒性,m=13最好)个锚点作为正样本,而使用其余的锚点作为负样本。

3.2.2 Task-aligned Loss

Classification objective

  1. 方案1(弃用)

    为了明确地增加对齐锚的分类分数,同时,减少不对齐锚的分数(即,有一个小的t),在训练期间使用t来替换正锚的binary标签。

    • 缺点:随着α和β的增加,当正锚点的标签(即t)变小时,网络不能收敛。
  2. 方案2(使用)

    使用一个标准化的t,即tˆ,来替换正锚点的binary标签,其中tˆ由以下两个属性标准化:

    • 确保硬实例(hard instances,所有相应的正锚通常有一个小的t)的有效学习;
    • 根据预测的边界框的精度来保持实例之间的排名。

    作者采用的想法:采用简单的实例级归一化来调整tˆ的大小(tˆ的最大值等于每个实例内的最大IoU值(u)。)

  3. 在分类任务的正锚点上计算出的二叉交叉熵(BCE)可以重写为:

  1. i:表示对应于一个实例的Npos正锚中的第i个锚。
  1. 采用焦点损失进行分类,以减轻训练过程中负样本和正样本之间的不平衡。分类任务的最终损失函数定义如下:

  1. j:表示来自Nneg负锚的第j个锚。
  2. γ:为focal loss参数,2。

Localization objective

一个对齐良好的锚(即大t)预测的边界框通常具有大的分类分数和精确的定位,这样的边界框更有可能在NMS期间被保留。与分类目标类似,基于tˆ对每个锚点计算的边界框回归损失进行重新加权,一个GIoU损失(LGIoU)可以重新表述如下:

  1. b:预测的边界框。
  2. b:相应的GT框。

论文翻译 | TOOD:《TOOD: Task-aligned One-stage Object Detection》详细解读相关推荐

  1. 目标检测经典论文——R-CNN论文翻译:Rich feature hierarchies for accurate object detection and semantic segmentation

    Rich feature hierarchies for accurate object detection and semantic segmentation--Tech report (v5) 用 ...

  2. 目标检测经典论文——R-FCN论文翻译(中英文对照版):Object Detection via Region-based Fully Convolutional Networks

    目标检测经典论文翻译汇总:[翻译汇总] 翻译pdf文件下载:[下载地址] 此版为纯中文版,中英文对照版请稳步:[R-FCN纯中文版] R-FCN: Object Detection via Regio ...

  3. 论文翻译YOLOv4: Optimal Speed and Accuracy of Object Detection YOLOv4:目标检测的最佳速度和精度 论文中文翻译

    摘要 有大量的特征被认为可以提高卷积神经网络(CNN)的精度.需要在大型数据集上对这些特性的组合进行实际测试,并对结果进行理论验证.某些特性在特定的建模中起决定性作用,而在特定的强制确定问题中起决定性 ...

  4. 论文笔记 Object-Aware Instance Labeling for Weakly Supervised Object Detection - ICCV 2019

    Object-Aware Instance Labeling for Weakly Supervised Object Detection Kosugi ICCV, 2019 (PDF) (Citat ...

  5. 【论文学习】MKIoU Loss: Towards Accurate Oriented Object Detection in Aerial Images

    [论文学习]MKIoU Loss: Towards Accurate Oriented Object Detection in Aerial Images 在本文中,提出了一种近似 SkewIoU 的 ...

  6. 【论文精读】Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation(R-CNN)

    论文Title:Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation.发表于2014年. 本 ...

  7. 《每日论文》You Only Look Once: Unified, Real-Time Object Detection

    Abstract 摘要 We present YOLO, a unified pipeline for object detection. 我们提出了一个统一的对象检测管道YOLO. Prior wo ...

  8. 论文阅读:RepPoints: Point Set Representation for Object Detection

    文章目录 1.论文总述 2.Bounding boxes for the object detection流行的2个原因和它的缺点 3.为什么 the deformable convolution a ...

  9. 论文笔记 Feature Selective Anchor-Free Module for Single-Shot Object Detection - CVPR 2019

    2019 FSAF Feature Selective Anchor-Free Module for Single-Shot Object Detection Chenchen Zhu, Yihui ...

  10. 【读点论文】YOLOv4: Optimal Speed and Accuracy of Object Detection,讲明目标检测结构,分析先进的涨点tricks,实现一种精度与速度的平衡

    YOLOv4: Optimal Speed and Accuracy of Object Detection Abstract 据说有大量的特征可以提高卷积神经网络(CNN)的准确性.需要在大型数据集 ...

最新文章

  1. 5 款最佳最牛代码比较神器
  2. 不是开发者也能玩得high!科大讯飞1024开发者节,看AI如何改变你的生活
  3. http的请求方法 GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 说明
  4. dcdc芯片效率不高的原因_半导体厂商如何做芯片的出厂测试?
  5. golang dlv 远程调试
  6. 安卓学习笔记18:常用控件 - 按钮、图像视图和图像按钮
  7. 无法拯救的 Wear OS!
  8. 串行舵机/数字舵机的替代方案,低成本的舵机级联方案。数字舵机的驱动芯片。普通舵机改数字舵机
  9. JAVA与C当中基本数据类型和基本运算符的区别
  10. mysql 记录_mysql记录耗时的sql实例详解
  11. c语言日历程序实验报告,万年历实验报告.doc
  12. TCP之Delay ACK在Linux和Windows上实现的异同-Linux的自适应ACK
  13. 电子科大考研经验分享
  14. dva是什么游戏_Dva爱你哟 她原来就是韩国少女宋哈娜原型
  15. 微信返利机器人开发制作
  16. 找到了!宝藏公众号合集,新媒体运营小白必须学习
  17. 取消Vue中格式警告
  18. Z-Wave 700应用程序框架第四章 - 从零开始一个Z-Wave Plus应用
  19. 如何阅读经济学人的文章
  20. Unity_实现类似黑洞的效果__逻辑方面

热门文章

  1. docker学习之docker镜像加速器
  2. 微信js 已经填写JS接口安全域名了,仍然报invalid url domain
  3. 资产监测设备中,使用浏览器解码Sigfox上行负载
  4. ThingsBoard教程(九):前端架构分析
  5. laravel中artisan工具(命令)的使用详解
  6. 箴言:统计学的智慧七柱
  7. vue中的路由对象和路由记录
  8. SPOOLing和虚拟化
  9. 基于vue-grid-layout的自定义布局桌面
  10. 如何旋转PDF页面?两招教你轻松搞定