标题:基于学习空间融合的单发目标检测

摘要:

金字塔形特征表示法是解决目标检测尺度变化挑战的常用方法。 但是,对于基于特征金字塔的单次检测器来说,不同特征尺度之间的不一致是主要限制。 在这项工作中,文章提出了一种新颖的数据驱动的金字塔特征融合策略,称为自适应空间特征融合(ASFF)。 它学习了在空间上过滤冲突信息以抑制不一致的方法,从而改善了特征的比例不变性,并且推理开销很低。 借助ASFF策略和可靠的YOLOv3基线,这种方法在MS COCO数据集上实现了最佳的速度与精度的折衷,在60 FPS时达到了38.1%AP,在45 FPS时达到了42.4%AP,在29 FPS时达到了43.9%AP。

文章概览:

本文提出了一种自适应空间特征融合(ASFF)方法,以解决单镜头探测器特征金字塔的不一致性。该方法使网络能够直接学习如何在空间上过滤其他层次的特征,从而只保留有用的信息以进行组合。对于某一层次的特征,首先将其他层次的特征进行融合,调整到同一分辨率,然后对其进行训练,寻找最优融合。在每个空间位置,不同层次的特征被自适应地融合,也就是说,一些特征在这个位置携带矛盾的信息时可能被过滤掉,一些特征可能以更多的推理线索支配。

ASFF具有以下优点:

1)由于搜索最优融合的操作是差分的,因此在反向传播中可以方便地学习

2)它对主干模型是不可知的,适用于具有特征金字塔结构的单点探测器;

3)它的实现简单,增加的计算成本微乎其微。

网络结构

图一 自适应空间特征融合机制的图解说明

文章选取一些采用了特征金字塔且是单阶段目标检测的网络,在这些网络上评价ASFF带来的性能提升,例如SSD、RetinaNet和YOLOv3。文中选取YOLOv3作为基准网络,并在这个网络上采用了时下流行的训练技巧和Anchor-free思想,具体的改进还有混合算法、余弦学习率、同步批处理规范化等技术。另外在平滑L1损失的基础上引入了一个IOU损失函数,这是为了更好的边框回归。  基于以上的改进,性能在COCO 2017验证集上提升了一些(38.8%mAP-50FPS、33.0%mAP-52FPS)。

接下来给出关于ASFF的定义,并对金字塔特征融合和ASFF的一致性进行了定性分析。

自适应空间特征融合

和之前对多层特征采用element-wise加权与直接concat的方法不同,文中的思路是自适应地学习各尺度特征地图融合,具体的结构如图一所示。对于各层的特征用一个符号表示。由于YOLOv3中三个级别的特征具有不同的分辨率和不同的通道数,因此我们相应地修改了每个尺度的上采样和下采样策略。具体的不同的策略指的就是尺寸缩放的比例不同。

当选取某一层时,其他层的特征被resize到相同的尺寸,具体公式如下:

对于权重参数α,β和γ,则是通过resize后的level1~level3的特征图经过1×1的卷积得到的。并且参数α,β和γ经过concat之后通过softmax使得他们的范围都在[0,1]内并且和为1:

相容属性(Consistency Property)

文章通过梯度和反向传播来解释为什么ASFF会有效。首先以最基本的YOLOv3为例,加入FPN后通过链式法则我们知道在backward的时候梯度是这样计算的:

其中因为不同尺度的层之间的尺度变换无非就是up-sampling或者down-sampling,所以差不多可以将上面的公式简化为

进一步可以将上式简化为:

假设level 1(i,j)对应位置feature map上刚好有物体并且为正样本,那其他level上对应(i,j)位置上可能刚好为负样本,这样反向传播过程中梯度既包含了正样本又包含了负样本,这种不连续性会对梯度结果造成干扰,并且降低训练的效率。而通过ASFF的方式,反传的梯度表达式就变成了:

使用这三个系数,如果α2 ij→0和α3 ij→0,则梯度的不一致性可以协调。我们可以通过权重参数来控制,比如刚才那种情况,令α2和α3=0,则负样本的梯度不会结果造成干扰。另外这也解释了为什么特征融合的权重参数来源于输出特征+卷积,因为融合的权重参数和特征是息息相关的。而且由于融合参数可以通过标准的反向传播算法学习,因此经过精心调整的训练过程可以得出有效的系数。

实验结果

实验证明,ASFF比concat和sum的方式更有效,在baseline的基础上提升了mAP2个点之多。

结果可视化

可视化结果进一步解释了ASFF的有效性,比如对于第一个斑马的图,可以看到其实最终斑马是在level1这个feature上被检测到的(明显标红),并且观察level1这一层的α,β和γ权重可以发现,对于图中斑马这种大物体,更容易被高层的特征捕捉到,因为对于大物体我们往往更需要语义特征。

而对于第二个羊群图来说,可以看到羊更多的是被level2和level3检测到,这也说明了对于小物体,我们更需要底层特征中的细粒度特征来辨别。

后续有新的收获会来补上的。

博主作为多目标识别方向的新人,正在大量阅读文献,收集点子,希望大家不吝赐教。

论文《Learning Spatial Fusion for Single-Shot Object Detection》解读相关推荐

  1. 论文解读PCT: Point Cloud Transformer(用于点云处理的Transformer)

    最近几年transformer越来越火,在NLP.CV等领域都取得了很大的成功.这篇文章作者利用了transformer能够处理无序数据的特点,将transformer应用到点云的处理上.它的想法是基 ...

  2. CVM2021| PCT: Point cloud transformer(分类+分割任务SOTA)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨 泡泡机器人SLAM 标题:PCT: Point cloud tra ...

  3. PCT: Point Cloud Transformer

    PCT:点云Transformer Meng-Hao Guo Tsinghua University gmh20@mails.tsinghua.edu.cn Jun-Xiong Cai Tsinghu ...

  4. FastFormers 论文解读:可以使Transformer 在CPU上的推理速度提高233倍

    自Transformers诞生以来,紧随其后的是BERT,在几乎所有与语言相关的任务中,无论是问题回答,情感分析,文本分类还是文本生成,都占据着NLP的主导地位. 与RNN和LSTM消失的梯度问题(不 ...

  5. Point Cloud Transformer(PCT)代码实现

    Point Cloud Transformer(PCT)代码实现 目前最火热的Transformer在自然语言和图像识别中扮演了极其重要的角色,在点云数据集中也不例外,清华大学近期提出在点云中运用Tr ...

  6. 论文解读:《基于BERT和二维卷积神经网络的DNA增强子序列识别transformer结构》

    论文解读:<A transformer architecture based on BERT and 2D convolutional neural network to identify DN ...

  7. Point Cloud Transformer(PCT)阅读翻译

    PCT: Point Cloud Transformer 1. Introduction transformer是一种 encoder-decoder结构,包含了三个模块:输入词嵌入,位置(顺序)编码 ...

  8. 论文阅读 PCT:Point Cloud Transformer

    论文阅读 PCT:Point Cloud Transformer PCT 介绍 Input Embedding native 版本 enhanced 版本 Attention PCT 介绍 PCT是基 ...

  9. AI论文解读:基于Transformer的多目标跟踪方法TrackFormer

    摘要:多目标跟踪这个具有挑战性的任务需要同时完成跟踪目标的初始化.定位并构建时空上的跟踪轨迹.本文将这个任务构建为一个帧到帧的集合预测问题,并提出了一个基于transformer的端到端的多目标跟踪方 ...

  10. 论文解读:《功能基因组学transformer模型的可解释性》

    论文解读:<Explainability in transformer models for functional genomics> 1.文章概括 2.背景 3.相关工作 4.方法 4. ...

最新文章

  1. java连接mysql8
  2. python36中文手册_python_36_文件操作4
  3. mysql t添加注释_mysql—添加注释(comment)的用法
  4. 内存四域,变量声明和定义,寄存器,c内嵌汇编,auto,堆栈,常量,静态变量
  5. xfce4面板消失了解决方案+xfce4的面板保存设置以及读取
  6. (转)千万别熬夜:身体器官晚上工作时间表一览
  7. matlab非同秩矩阵相乘_线性代数精华——讲透矩阵的初等变换与矩阵的秩
  8. sublime text3设置空格和tab键
  9. 查询blob字段_一次注解开发实战-我使用注解对微服务的跨库查询做了封装
  10. java 访问频率限制_配置URL的访问频率限制
  11. 11g RAC环境下客户端配置TAF
  12. Elasticsearch--分词-自定义扩展词库---全文检索引擎ElasticSearch工作笔记022
  13. 两个同级路由如何相互访问
  14. 一元二次方程极简新解法
  15. 二极管介绍及参数选择
  16. java当前时间减一年_Java获取时间,将当前时间减一年,减一天,减一个月
  17. nor flash操作
  18. RFNet:基于RGB-D数据的语义分割和意外障碍物检测的实时融合网络
  19. C++实现指针式时钟Sample
  20. 即时分账系统对B2B电商业务的重要性?

热门文章

  1. oracle time model,通过案例学调优之--OracleTimeModel(时间模型)
  2. 单体 soa 微服务 区别_每日一读-从单体到微服务,这些年架构的演变
  3. trunk口_Trunk的概念与设置
  4. 2018: 跑图(深搜)
  5. 算法导论9.1-1找第二小的元素
  6. # CSP 201609-2 火车购票购买(100分)
  7. Xshell家庭版下载
  8. R语言do.call函数简单说明
  9. 【Qt教程】3.1 - Qt5 event事件、Label控件的鼠标事件捕获
  10. git常用命令/mac上从零完成本地上传和下载github代码