YSLAO 文章来自香港大学 ArXiv网址 https://arxiv.org/abs/2207.07889

Introduction

文章指出,大规模对象的性能下降是由于集成FPN后不正确的反向传播路径引起的。它使得骨干网络的每一层都只能看到一定规模范围内的对象。
图1.基于MMDetection和Detectron2比较ResNet-50-DC5和ResNet-50-FPN之间的检测性能。训练和验证都用的COCO 2017。这里有个我之前不清楚的点,Detectron2和mmDetectron作为目标检测最出名的使用PyTorch的两个工具箱(Toolkit),也就是造轮子神器,里面集成了多种多样的backbones和模型。而对于Faster/Mask R-CNN,提供了三种不同的 backbone 组合:

  • FPN - 采用标准 conv 的 ResNet+FPN backbone,再接 FC heads 分别进行 mask 和 box 预测. 其得到了最佳的速度与精度的平衡. 但其它两种仍有研究价值.
  • C4 - 采用 ResNet conv4 backbone 和 conv5 head. 其是在 Faster R-CNN论文中采用的 baseline.
  • DC5(Dilated-C5) - 采用 ResNet conv5 backbone,其中最后一个卷积块 conv5 采用了 dilations,其后接标准 conv 和 FC heads 用于 mask 和 box 预测. 这是在 Deformable ConvNet 论文中所采用的.

有篇博客写的挺有意思的,一个完整的目标检测网络主要由三部分构成:
Detector = backbone + neck + head,
分类网络迁移过来,用作特征提取器(通过在目标检测数据集上进行微调,并且与后续的网络的共同训练,使得它提取出来的特征更适合目标检测任务),后续的网络负责从这些特征中,检测目标的位置和类别。那么,我们就将分类网络所在的环节称之为“Backbone”,后续连接的网络层称之为“Detection head”。
目前的话,neck这一部分的研究点还是相对来说比较多的,只需要提出一个好的结构或模块,加到现有的sota的网络中,看涨不涨点,涨点了,那就可以发文章了~
而head这一部分,它的作用上面也说到了,就是分类+定位的,结构没什么新颖的,研究的似乎也比较少。
backbone:提取基础特征网络,比如VGG,ResNet,各种Net
neck:提出一个好的结构或模块,更好适应feature,FPN就是一个很出名的neck,还有诸如ASFF、RFB、SPP等好用的模块【据说好,我还没看】
head:分类+定位,

扯远了回来,文章中提到,最先进的检测器成功的共同点是使用特征金字塔网络(FPN)。但在引入FPN后,发现总体检测性能的提高是建立在小目标(APS)平均精度的提高和大目标(APL)平均精度下降的基础上(可以看到APM中目标效果相对还行)。
然后文章提出了两个假设来解释为什么引入FPN会使得检测器有效:

  1. FPN的使用有助于通过融合多个低级和高级特征地图获得更好的表示。
  2. 每个金字塔层都可以负责检测一定尺度范围内的物体,也就是分而治之。
    两个假设得出相同的结论,即AP的增加是由于APS、APM和APL的共同增加。然而,图1中APL的意外下降表明,无FPN和基于FPN的检测框架之间存在其他关键差异,而很少有研究注意到这一点。

在本文中,作者提出从优化的角度研究FPN。除了多尺度特征融合和分治之外,FPN改变的反向传播路径也将直接影响检测框架的性能。
中间解释了一段为什么FPN可以通过改变反向传播路径来影响检测框架。
因此,实现具有不同尺度范围对象的AP一致性改进的关键就在于使每个主干阶段都能在训练期间看到所有对象。You Should Look at All Objects点题。

作者扩展反向传播路径的方法是引入辅助目标函数,以便原始信号和额外信号可以共同监督相应主干层的学习。这种方法成功的关键技术是引入不确定性,以更好地平衡各种反向传播信号。修正反向传播路径的策略是以更有效的方式构建特征金字塔,从而使各级骨干网都能接收到足够的信号。该方法的关键技术是用于保证同构表示的空间紧凑性的特征分组模块。

Contributions:

  1. 首次从优化的角度说明FPN成功的本质。此外,还提供了新的视角来解释为什么引入传统的FPN会从这个角度抑制大型目标的性能。
  2. 提出了引入由不确定性引导的辅助目标函数,以缓解APS、APM和APL的不一致变化。由于该策略在测试期间没有额外的计算开销,因此可以保持检测器的推理速度不降低。
  3. 提出了一种新的特征金字塔概括范式。其关键思想是使各种尺度目标的反向传播信号能够直接传递到骨干网络的各个层次。还进一步设计了级联结构,以实现更稳健的平均精度(AP)改进。
  4. 在COCO 基准上进行的大量实验验证了分析的合理性和解决方案的有效性。本文的方法在各种框架下(one-stage, two-stage, anchor-based, anchor-free and transformer-based detectors.)的检测性能提高了2%以上。

Revisit FPN

基于FPN的检测框架

  1. 首先基于C建立特征金字塔。
  2. 改写公式,并且用P来预测分配到每个金字塔层次l的目标的分类和回归信息如下:
  3. 目标分配规则是用低分辨率金字塔特征(如P5)来预测大尺度目标,用高分辨率金字塔特征(如P2)来预测小尺度目标。在网络优化过程中,金字塔每一级l的损失计算如下:


    图2,比较了无FPN检测框架和基于FPN的检测框架之间的反向传播路径。蓝色箭头表示向前,橙色箭头表示向后传播。请注意,只标记到每个主干级别的最重要的反向传播信号。

首先简单回顾了一下 FPN, 其主要包含三个部分:top-down, bottom-up 和 lateral connection, 和基础骨干网络主要的区别如上图2所示。
作者认为从优化的角度来看,有FPN的检测器优于无FPN检测器的关键原因是:无FPN检测框架的浅层在反向传播back-propogation 的时候都没有收到有效地监督信号(只有C5直接接受监督),然而有FPN的检测框架所有的骨干网络特征都能够得到直接的监督信号。

验证实验:简单来说,就是往没有FPN的检测器的特征层添加一些辅助的监督损失。往公式上说,就是除了C都戴上了个帽子。


结果肉眼可见的四条柱子都基本平了,这代表着FPN-free 和 FPN-based 检测器没有什么性能差异了。所以可以得出结论,FPN 结构中最底层的特征主要用来监督学习小目标,所以学到的 Feature 仅对小目标有比较好的检测能力。同样的,最底层的特征会向后传播,对大目标检测能力会随着传播不断减弱(梯度消失),所以最后得到的 Feature 对大目标有相对较弱的检测能力。从优化的角度来看,FPN成功的本质是缩短了目标损耗和骨干网络浅层之间的反向传播距离。文章也解释了为什么FPN总体检测性能的改进建立在APS增加和APL减少的基础上的。

Methodology

文章提出两个策略,一是引入辅助损失,二是重构更好的特征金字塔。

辅助损失:

由于引入辅助损失可以帮助拥有查看所有目标的能力,作者仿照上面柱图的方法,提出了将不确定性纳入到各个分类和回归辅助损失中,如下:

其中 α\alphaα是不确定性,是通过一个预测函数得到。这里 (x) 是 feature map, (w) 和 (b) 是可学习的参数。

特征金字塔生成范式:

这个里面有两个改动:
Feature Grouping.
原理是通过一些操作使得多层之间的交互更多。主要是通过一些操作交换不同层 feature 的信道。Mk就是用于实现信道交换的大小为Z×Z的矩阵。
大概就是几层网络得到一个特征转换器来变换 feature, 然后按信道分组,最后跨层交换信道.

Cascade Structure.
为了更好地提高空间紧凑性,作者提出使用级联结构以从粗到细的方式进行特征分组。其实就是上述得到的中间特征通过几层非线性网络fw再转换一下,在第二阶段,首先将P′l作为特征分组模块的输入,从而ˆP′l

Experiments

组合 Feature Grouping 和 Cascade 结构能够提升明显,而且 Cascade 次数越多效果越好。


Conclusions

这项工作首先从优化的角度确定了FPN成功的性质。基于这一原理,我们成功地解释了为什么引入FPN会抑制大型目标的检测性能。我们进一步得出结论,解决{APS、APM、APL}中不一致更改问题的关键是使每个主干层都能查看所有对象。
因此,我们建议设计两种策略来实现这一目标。一种是引入辅助损失,以便包含所有对象信息的辅助信号可以直接通过主干网络的浅层。另一种是将级联特征分组结构集成到现有的FPN中,也可以修改目标函数与骨干网络浅层之间的反向传播路径。大量实验证明了本文的正确性和策略的有效性。

You Should Look at All Objects笔记相关推荐

  1. 论文笔记(二十二):Soft Tracking Using Contacts for Cluttered Objects to Perform Blind Object Retrieval

    Soft Tracking Using Contacts for Cluttered Objects to Perform Blind Object Retrieval 文章概括 摘要 1. 介绍 2 ...

  2. Reconstruction and Representation of 3D Objects with Radial Basis Functions 阅读笔记

    Reconstruction and Representation of 3D Objects with Radial Basis Functions 阅读笔记 紧接着上面的连篇blog,本篇学习如何 ...

  3. CenterNet:Objects as Points论文阅读笔记

    CenterNet论文阅读笔记 (一)Title (二)Summary (三)Research Objective (四)Problem Statement (五)Method 5.1 Loss Fu ...

  4. 论文阅读笔记——DLT-Net: Joint Detection of Drivable Areas, Lane Lines, and Traffic Objects)

    论文阅读笔记--DLT-Net: Joint Detection of Drivable Areas, Lane Lines, and Traffic Objects 论文简介 1 引言 2 DLT- ...

  5. Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(二)之Introduction to Objects...

    The genesis of the computer revolution was a machine. The genesis of out programming languages thus ...

  6. Unity学习笔记 - Assets, Objects and Serialization

    Assets和Objects Asset是存储在硬盘上的文件,保存在Unity项目的Assets文件夹内.比如:纹理贴图.材质和FBX都是Assets.一些Assets以Unity原生格式保存数据,例 ...

  7. ICCV 2017 《Unsupervised Learning from Video to Detect Foreground Objects in Single Images》论文笔记

    本学弱喜欢在本子上记笔记,但字迹又丑. 望看不懂我的字的大佬不要喷我,看得懂的大佬批评指正.

  8. ICCV 2017《Unsupervised Laerning of Important Objects from First-Person Videos》论文笔记

    本学弱喜欢在本子上记笔记,但字迹又丑. 望看不懂我的字的大佬不要喷我,看得懂的大佬批评指正.

  9. Java学习笔记之equals和Objects.equals

    equals 相信大家就知道,就是比较,我们平时也会在自己定义的类中加入自己重写的equals用来比较两个类是否相同,例如这样 public class Person {private String ...

最新文章

  1. sessionStorage 、localStorage 和 cookie 之间的区别
  2. 用户与IoT同享一个WLAN时:弹性至关重要
  3. html里面的crossorigin属性,HTML5 标签里的 crossorigin 属性到底有什么用? | Chrisyue's Blog...
  4. jar包是什么意思_面试难度五颗星:JVM有Full GC,为什么还会 OutOfMemoryError?
  5. mysql数据库密码安全参数_MySQL 密码参数配置与修改 validate_password
  6. pandas 空字符串与na区别_关于python:Pandas用空白/空字符串替换NaN
  7. 短信API接口demo示例-C#/Message/Send
  8. Docker架构与工作流程
  9. unity3d多人寻路问题方案
  10. fmri优缺点_fmri原理优缺点
  11. 中国最缺大学的重点城市
  12. Adam,AdamW,LAMB优化器原理与代码
  13. JWT详细讲解(保姆级教程)
  14. 今后五年你不能不知道的大数据
  15. QT开发的视频监管平台分享
  16. 温度PID的整定过程
  17. 天源财富:突破“极限”!我科学家发现迄今最高能量光子
  18. 2017.3.29组合数学学习——帕斯卡三角形、二项式定理
  19. 认知无线电网络中的用户
  20. Demond Page的原理和作用(By Walle@ARMCE)

热门文章

  1. tp6多应用自动识别二级域名
  2. 利用PicGo和SM.MS图床工具实现Markdown(Typora)图片脱离本地路径
  3. Mac环境下配置tomcat的步骤详解
  4. 电动车产业深度报告:对比苹果,剖析特斯拉产业链投资机会 | 附完整报告下载...
  5. L:python的Pandas模块:实例练习(泰坦尼克号数据集分析,电影票房统计,股票基本面统计)
  6. citus 系列6 - count(distinct xx) 加速 (use 估值插件 hll|hyperloglo
  7. 企业竞聘活动PPT模板
  8. linux下多路径dm不一致,redhat6.3多路径不正常【已解决】
  9. Noesis:一款基于本体的大气科学语义搜索工具
  10. 禅宗与书法艺术的关系