点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

转载自:CV技术指南

前言:

特征金字塔是目前用于目标检测、语义分割、行为识别等方面比较重要的一个部分,对于提高模型性能具有非常好的表现。

不同大小的目标都经过了相同的降采样比例后会出现较大的语义代沟,最常见的表现就是小目标检测精度比较低。特征金字塔具有在不同尺度下有不同分辨率的特点,不同大小的目标都可以在相应的尺度下拥有合适的特征表示,通过融合多尺度信息,在不同尺度下对不同大小的目标进行预测,从而很好地提升了模型的性能。

本文将介绍特征金字塔的两种构建方式,介绍目前特征金字塔的主要改进思路和方案,主要有:ASPP, FPN, PANet, RFB, ASFF, FPT, YOLOF等。

两种构建方式

1. 通过多次降采样生成不同分辨率的层构成,这种方式应用比较广,比较常见的应用有SSD, FPN, YOLO_v3, ...此外还有很多。

2. 通过多条具有不同空洞率的空洞卷积的支路来构建。目前这方面的应用有ASPP, RFP等。

构建金字塔只是个基础操作,对于构建后的处理才是重点,目前有多种多样的方法去处理,这方面的改进主要有ASFF, PANet, FPT, YOLOF, BiFPN, STDN等。

ASPP(2017)

ASPP是基于第二种方式来构建的,具体如下图所示:

通过多支路后进行concate,再进行1x1卷积。这篇论文比较简单,主要贡献就是提出了这种构建方式。

FPN(2017)

对于一般的神经网络都是采用图b所示的方式来预测,通过对图像多次降采样,在最后一层进行预测,这种方式的缺点是对小目标的检测效果不好。

在SSD中采用了图c的方式,利用前几层的信息进行多尺度预测,这种方式的缺点是低层的语义信息不够,而且SSD为了避免重复使用前面已经卷积过的feature map,而从靠后的层(eg: conv4_3 of VGG nets )才开始构建金字塔,这样做的缺点就是金字塔的低层的分辨率也不够,丢失了前面层高分辨率的信息,而那些才是对识别小目标起重要作用的信息。

而FPN是目前应用比较广的一种方式,在图C的基础上增加了一条自上而下的路径,主要目的就是解决前面三种方式存在的问题。通过自上而下的路径,使得低层的feature map具有较好的语义信息。

 

这条路径的实现方式如下图所示。

注:FPN的效果非常好,但仍然存在不少改进的空间,后续会出现好几篇论文逐一改进这些问题。

PANet(2018)

我在《CNN结构演变总结(三)设计原则》(点击进入)中提到,缩短信息流动路径和增加不同分支来增加信息流动路径的思想会产生比较强的性能,总结起来就是“split-transform-merge”和“feature reuse”,这也是这几年神经网络的主要改进思想,几乎可以说所有的改进方案都是基于这两种思想。

在PANet同样基于这一点,提出了在FPN中自上而下的路径的基础上增加了一条自下而上的路径,具体如下图所示。

具体路径的实现方式如下图所示,对lower level先进行步长为2,大小为3x3的卷积进行降采样,再与邻侧同大小的level逐像 素相加,再进行3x3卷积,形成Ni+1。

在FPN中采用了分而治之的思想,所谓分而治之,就是对于大的目标在金字塔高层检测,小的目标在金字塔低层检测。基于这种思想的论文还有很多,例如YOLO_V3,根据数据集上的先验提出了9个尺寸不同的候选框,根据这9个候选框的尺寸分别在不同的level上检测。

PANet论文提出当目标大小相差超过10个像素的时候,就有可能被分到不同的level上检测,而事实上这两个目标可能差不多,因此这种方式并不是最优方案。

PANet论文的第二点贡献是提出自适应特征池化( Adaptive Feature Pooling)。

主要思想是将所有level中产生的候选框中的信息,都用来参与预测。而不是大的目标在higher level检测,小的目标在lower level检测。

具体做法如下图所示,使用ROIAlign将金字塔reshape到相同的大小,使用共享的一个全连接层对这四个level分别计算,再通过逐像素求和或取max的方式融合四个level到一个feature map。

RFB(2018)

RFB论文认为ASPP使用不同空洞率的空洞卷积所组成的多分支结构效果很好,但由于在使用之前,使用的是同尺寸的卷积核,导致每条分支产生的分辨率仍然是相同的,只是感受野不同而已。这样的方式与雏菊型卷积核相比,产生的特征并不是那么明显。

因此,RFB论文提出了Receptive Field Block,主要做法就是在进行空洞卷积前加一层不同大小的卷积层,分别是1x1, 3x3, 5x5这样每条支路产生的分辨率不同。

这种方式的效果与其它方式的对比

ASFF(2019)

在FPN中这种分而治之除了在PANet中提到的一个问题是,当一个大的目标在higher level上检测时,小的目标在higher level是被当作了background。同理,大目标在lower level中被当成了background,实际上在这些地方是存在目标的,只是不在这一层检测而已,因此这样会存在较大的问题。

基于这个问题,ASFF提出了adaptively spatial feature fusion (ASFF)。主要思想是将每层的信息都相互融合起来。

具体操作是先对每一层进行1x1降维,对于第一和二,第二和第三层这种分辨率比为1:2的,通过3x3,步长为2的卷积降采样,对于第一和第三层这种分辨率比为1:4的,先对进行max-pooling,再通过3x3,步长为2的卷积降采样。然后通过系数加权融合。

该方法用于YOLO_v3,提高了大概5-10的mAP。

基于这种方式改进的还有Feature Pyramid Transformer。

FPT(2020)

这篇论文的主要观点是认为背景中其它物品的存在也会辅助识别某一个类别,例如电脑只会在电脑桌上,而不是大街上或水里,背景中的鼠标,键盘也会辅助区分电视机与电脑显示器。因此需要融合金字塔其它level的信息,这虽然出发点与ASFF不同,但实际改进的思路都是一样的,都是让每一层都融合其它层的语义信息。

主要思想:利用Non Local Block的操作,以一层为query,其它每层为key,value,计算相似性,得出加权系数,对该层进行加权,每一层都进行这样的操作。

具体在实现细节上有所区别,要介绍清楚实现操作比较费时,对Non Local Block也得解释,因此这里只介绍个思路。读者可根据这两篇论文了解transformer如何在CV中应用,建议看一看。

《NLN: Non-Local Neural Network》

《FPT: Feature Pyramid Transformer》

YOLOF(2021)

YOLOF通过实验得出结论在特征金字塔的C5层已经有足够的语义信息,融合其它层信息并不会带来很大的精度提升,也就1的mAp,而使用分而治之的思想极为有效,可以提升大概12的mAP。

因此YOLOF提出只需要使用C5层信息,并仍然基于分而治之的思想。但由于使用max-iou的匹配方式,只在C5层预测会出现对大小不同的目标生成的positive anchor数量不平衡的问题;分而治之存在计算量大,需要的内存大,推理速度慢的问题。

基于这两个问题,YOLOF提出Dialted encoder和Uniform Matching来实现在单层上进行预测,而这种预测可以做到仍然是基于分而治之的思想。

关于Dialted Encoder结构如下:

主要操作是串联四个不同空洞率的3x3空洞卷积,注意与ASPP,RFB不同的是,这里是串联,ASPP和RFB是多支路并联。

Uniform Matching是使用最近邻方式来匹配,替代了Max-IOU。具体方式是选择GT boxes最近的K个boxes,这样的方式不管GT boxes大小可以匹配相同数量的Boxes。

其它改进的特征金字塔

除了以上这些改进方案外,还存在一些其它的结构或信息融合方式。这里只提个来源和结构图,感兴趣的读者请自行了解。

SFAM(2019)

来源于论文《M2Det: A Single-Shot Object Detector Based on Multi-Level Feature Pyramid Network》

STDN(2018)

来源于论文《Scale-Transferrable Object Detection》

BiFPN(2020)

来源于论文《EffificientDet: Scalable and Effificient Object Detection》

此外,还包括一些比较复杂的结构,如RFP,NAS-FPN。

总结:本文介绍了特征金字塔的两种构建方式,特征金字塔的一些现有方案,主要都是围绕金字塔如何更好地融合信息进行预测来改进。特征金字塔算是比较有用的一个结构,用在目标检测、语义分割等领域有较好的性能。

在公众号《CV技术指南》中回复“特征金字塔”可获取以上12篇论文。

参考论文

1.DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs
2.Feature Pyramid Networks for Object Detection
3.Path Aggregation Network for Instance Segmentation
4.Receptive Field Block Net for Accurate and Fast Object Detection
5.Learning Spatial Fusion for Single-Shot Object Detection
6.Feature Pyramid Transformer
7.You Only Look One-level Feature
8.M2Det: A Single-Shot Object Detector Based on Multi-Level Feature Pyramid Network
9.Scale-Transferrable Object Detection
10.EffificientDet: Scalable and Effificient Object Detection
11.DetectoRS: Detecting Objects with Recursive Feature Pyramid and Switchable Atrous Convolution
12.NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Detection
ICCV和CVPR 2021论文和代码下载后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF
CVer-目标检测交流群成立
扫码添加CVer助手,可申请加入CVer-目标检测 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群▲长按加小助手微信,进交流群
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看

涨点神器!特征金字塔技术总结相关推荐

  1. LGD:涨点神器!旷视孙剑、张祥雨团队提出标签引导的自蒸馏技术,助力目标检测!...

    关注公众号,发现CV技术之美 本文介绍论文『LGD: Label-guided Self-distillation for Object Detection』,由旷视孙剑.张祥雨团队等提出标签引导的自 ...

  2. 即插即涨2-3%!AC-FPN:用于目标检测的注意力引导上下文的特征金字塔网络

    关注 点击关注上方"AI深度视线",并"星标"公号 技术硬文,第一时间送达! 精彩内容 AC-FPN--用于目标检测的注意力引导上下文的特征金字塔网络 ,即插即 ...

  3. ECCV2020 | 即插即用,涨点明显!FPT:特征金字塔Transformer

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 这篇文章收录于ECCV2020,将Transformer机制应用于对特征金字塔FPN的改进上,整体思路 ...

  4. 涨点神器!南航提出AFF:注意力特征融合,即插即用!可用于分类、检测和分割等...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 作者:OucQxw  |  已授权转载(源:知乎) https://zhuanlan.zhihu.com/p ...

  5. SEPC:使用3D卷积从FPN中提取尺度不变特征,涨点神器 | CVPR 2020

    作者 | VincentLee 来源 | 晓飞的算法工程笔记 公众号  特征金字塔是解决物体尺度问题的重要手段,但是不同level的特征图其实存在较大的语义差距.为了消除这些语义差距,很多研究专注于如 ...

  6. SEPC:商汤提出使用3D卷积从FPN中提取尺度不变特征,涨点神器 | CVPR 2020

    论文提出PConv为对特征金字塔进行3D卷积,配合特定的iBN进行正则化,能够有效地融合尺度间的内在关系,另外,论文提出SEPC,使用可变形卷积来适应实际特征间对应的不规律性,保持尺度均衡.PConv ...

  7. resnet论文_ResNet还是DenseNet?即插即用的DS涨点神器来了!

    DSNet比ResNet取得了更好的结果,并且具有与DenseNet相当的性能,但需要的计算资源更少.其中改进的DS2Res2Net性能非常强大. 作者:ChaucerG Date:2020-10-2 ...

  8. 大盘点 | 十大即插即用的涨点神器!

    大盘点 | 十大即插即用的涨点神器! 作者:Amusi Date:2020-08-11 来源: CVer微信公众号 链接: 大盘点 | 十大即插即用的涨点神器! 前言 最近出现了很多"即插即 ...

  9. 重磅开源!目标检测新网络 DetectoRS:54.7 AP,特征金字塔与空洞卷积的完美结合

    原文链接:重磅开源!目标检测新网络 DetectoRS:54.7 AP,特征金字塔与空洞卷积的完美结合 论文地址:https://arxiv.org/abs/2006.02334 代码地址(基于mmd ...

  10. 即插即用!视频超分中的涨点神器:iSeeBetter

    CNN让超分结果更真实,GAN让超分结果更丰满,所以CNN+GAN=GOOD! 添加一个鉴别器组件就能使结果增加0.32dB,即插即用,涨点神器!是否在其他的CNN架构上也可行,还需实验验证. 题目: ...

最新文章

  1. 什么是智能仓储?一文带你彻底搞懂!
  2. python 字符串格式化,使用f前缀
  3. IBatis.Net学习笔记二--下载、编译、运行NPetShop
  4. (WPF) DataGrid之绑定
  5. [JSOI2016] 最佳团体(0/1分数规划 + 树形dp)
  6. python中if有几种使用方式_python 中if-else的多种简洁的写法
  7. mysql.sys_MySQL sys Schema
  8. mysql 深入视图和索引
  9. Bailian2996 选课【置换】
  10. js实现登录表单验证
  11. mysql的dql_Mysql-DQL
  12. 将Excel表格数据转换成XML格式文件
  13. FDDB评估工具使用
  14. win7计算机的蓝牙,win7电脑蓝牙怎么开
  15. java-net-php-python-69jspm高校在线课程平台计算机毕业设计程序
  16. Django安全认证机制CSRF
  17. python自然语言处理实战源代码下载_NLP学习:涂铭《Python自然语言处理实战核心技术与算法》PDF+源代码...
  18. Netty 实现百万连接的难点和优化点
  19. Java POI:如何读取Excel单元格值而不是计算公式
  20. iPad/iPhone等设备访问Windows共享文件方法

热门文章

  1. PHP使用MQ消息队列
  2. 测试用例设计方法之选择原则
  3. 计算机网络基础 习题,计算机网络基础练习题集.pdf
  4. 恢复Windows默认文件资源管理器(Files设置后,恢复亲测可用)
  5. 使用词和图嵌入来衡量统一医学语言系统概念之间的语义相关性
  6. VBM后的配对t检验以及xjview使用
  7. javascript怎么定义类数组对象
  8. STM32——电容触摸按键实验
  9. 嵌入式单片机基础篇(三十七)之485通讯以及51单片机程序
  10. 揭露北京车牌租赁公司的内幕