本文来自公众号“AI大道理”。

这里既有AI,又有生活大道理,无数渺小的思考填满了一生。

在深度学习的很多工作中(例如目标检测、图像分割),融合不同尺度的特征是提高性能的一个重要手段。

低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。

高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。

如何将两者高效融合,取其长处,弃之糟泊,是改善分割模型的关键。

图像金字塔(Featurized image pyramid)

传统方法,通过对图像进行降采样处理,提取每层图像的特征,然后在每层预测。

图像金字塔来构建不同尺度的特征金字塔,这样会带来极大的计算量。

使用图像金字塔构建特征金字塔,特征是根据每个不同大小比例的图像独立计算的,每计算一次特征都需要resize一下图片大小,耗时,速度很慢。

优点:

  • 对每一种尺度的图像进行特征提取,能够产生多尺度的特征表示,并且所有等级的特征图都具有较强的语义信息,甚至包括一些高分辨率的特征图。

缺点:

  • 推理时间大幅度增加;

  • 由于内存占用巨大,用图像金字塔的形式训练一个端到端的深度神经网络变得不可行;

  • 如果只在测试阶段使用图像金字塔,那么会造成一个问题:由于训练时,网络只是针对于某一个特点的分辨率进行训练,推理时运用图像金字塔,可能会在训练与推理时产生“矛盾”。

单个高层特征图 (Single feature map)

利用单个高层特征图进行预测。

该金字塔网络是一个高深的卷积神经网络,对不同尺寸的图片进行垂直目标检测,同时搞定多种尺寸的目标难度较大。

借助卷积网络,通过单特征图进行预测。

例如Faster R-CNN中的RPN层就是利用单个高层特征图进行物体的分类和bounding box的回归。

金字塔型特征层级(Pyramidal feature hierarchy)

重用由卷积计算的金字塔特征层次来进行目标位置预测,但底层feature map特征表达能力不足。

通过不同尺度的特征图进行分别预测,更好的处理目标的多尺度问题。

比如SSD one-stage目标检测模型就是再次利用不同层多尺度的特征图。

但是SSD并没有解决以下问题:

低层特征图语义信息不够和低层特征图的分辨率也不高。

底层大scale的feature map语义信息少,虽然框出了小物体,但小物体容易被错分。

特征金字塔(Feature Pyramid Networks)

卷积神经网络由浅到深,语义信息越来越丰富,但特征图越来越小,分辨率越来越低,解决方案是接将浅层和高层的特征图连接起来,将浅层的信息传递到深层,以解决深层特征图容易忽略小目标的问题。

为了解决以上三种结构的不足之处,提出了FPN,即使每一层不同尺度的特征图都具有较强的语义信息。

这种网络结构,能够在增加较少计算量的前提下融合低分辨率语义信息较强的特征图和高分辨率语义信息较弱但空间信息丰富的特征图。

FPN的独特之处在于,它是在以特征金字塔为基础结构上,对每一层级的特征图分别进行预测。

FPN将深层信息上采样,与浅层信息逐元素地相加,从而构建了尺寸不同的特征金字塔结构,性能优越,现已成为目标检测算法的一个标准组件。

上采样

自顶向下的过程通过上采样(up-sampling)的方式将顶层的小特征图。

放大到上一个stage的特征图一样的大小。

上采样的方法是最近邻插值法:

使用最近邻值插值法,可以在上采样的过程中最大程度地保留特征图的语义信息(有利于分类),从而与bottom-up 过程中相应的具有丰富的空间信息(高分辨率,有利于定位)的特征图进行融合,从而得到既有良好的空间信息又有较强烈的语义信息的特征图。

1)Bottom-Up Pathway

原生态的金字塔,所有的 ConvNet 都具备的特征,不需要多讲,这里作者选择的是每个Stage 的最后一层作为特征层,这里的 Stage 是指尺寸发生变化的情况。

2)Top-Down Pathway

对应特征图的上采样,思路是通过上采样提取更 Strong 的语义信息,同时上采样带来的是某些信息的丢失。

3)Lateral Connection

侧向连接是将原始的特征信息整合到右侧上采样特征层,原始特征代表了准确的 Location 信息。

通过 Top-Down(更强的语义信息) 和 侧向连接(准确的Loc)的结合,兼顾底层特征和抽象语义,连接方式可以这样描述:

Top-Down 通过2倍的上采样连接,侧向连接通过 1x1 的卷积进行连接,通过 Add 操作进行 Merge。

yolo v3中的特征金字塔

在特征利用部分,yolo3提取多特征层进行目标检测,一共提取三个特征层,三个特征层位于主干部分darknet53的不同位置,分别位于中间层,中下层,底层,三个特征层的shape分别为(52,52,256)、(26,26,512)、(13,13,1024)。

三个特征层进行5次卷积处理,处理完后一部分用于输出该特征层对应的预测结果,一部分用于进行反卷积UmSampling2d后与其它特征层进行结合。

输出层的shape分别为(13,13,75),(26,26,75),(52,52,75),最后一个维度为75是因为该图是基于voc数据集的,它的类为20种,yolo3只有针对每一个特征层存在3个先验框,所以最后维度为3x25。

如果使用的是coco训练集,类则为80种,最后的维度应该为255 = 3x85,三个特征层的shape为(13,13,255),(26,26,255),(52,52,255)。

总结

特征金字塔是对用卷积神经网络进行目标检测方法的一种改进,通过提取多尺度的特征信息进行融合,进而提高目标检测的精度,特别是在小物体检测上的精度。

FPN是ResNet或DenseNet等通用特征提取网络的附加组件,可以和经典网络组合提升原网络效果。

——————

浅谈则止,细致入微AI大道理

扫描下方“AI大道理”,选择“关注”公众号

—————————————————————

  

—————————————————————

投稿吧   | 留言吧

AI大视觉(六) | 特征金字塔(FPN)如何进行特征融合?相关推荐

  1. 关于FPN(特征金字塔网络)层间融合的理解

    FPN层间融合的个人理解 Feature Pyramid Networks for Object Detection 论文链接: https://arxiv.org/abs/1612.03144. 盗 ...

  2. 性能超FPN!北大、阿里等提多层特征金字塔网络

    作者 | Qijie Zhao等 编译 | 李杰 出品 | AI科技大本营(ID:rgznai100) 特征金字塔网络具有处理不同物体尺度变化的能力,因此被广泛应用到one-stage目标检测网络(如 ...

  3. 超越FPN和NAS-FPN! FPG:《Feature Pyramid Grids》特征金字塔网格强势登场!

    FPG(Feature Pyramid Grids):特征金字塔网格来了 !性能优于FPN.NAS-FPN等金字塔网络. 作者团队:商汤&港中文(陈恺&林达华)&南洋理工大学& ...

  4. 超越 FPN 和 NAS-FPN!商汤港中文提出 FPG,特征金字塔网格强势登场!

    论文标题:Feature Pyramid Grids 作者团队:商汤&港中文(陈恺&林达华)&南洋理工大学&FAIR 论文链接:https://arxiv.org/ab ...

  5. FPN 特征金字塔网络

    FPN(feature pyramid networks) 特征金字塔是多尺度目标检测系统中的一个基本组成部分.近年来深度学习目标检测却有意回避这一技巧,部分原因是特征金字塔在计算量和用时上很敏感(一 ...

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

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

  7. 论文:FPG,特征金字塔网格

    论文标题:Feature Pyramid Grids 作者团队:商汤&港中文(陈恺&林达华)&南洋理工大学&FAIR 论文链接:https://arxiv.org/ab ...

  8. 恒源云(GPUSHARE)_CV论文笔记之CE-FPN(通道增强特征金字塔网络)

    文章来源 | 恒源云社区(专注人工智能/深度学习GPU免费加速平台,官方体验网址:https://gpushare.com) 原文地址 | CE-FPN: Enhancing Channel Info ...

  9. 图像多尺度特征融合、特征金字塔总结

    参考链接: https://blog.csdn.net/qq_36268755/article/details/106192524?spm=1001.2014.3001.5502 https://zh ...

最新文章

  1. 评估“不合格”!教育部暂停山东大学、复旦大学、南京师范大学部分硕士、博士学位授权点...
  2. 浅析优化不同类型关键词都需要周期几何?
  3. 【JQuery】 触发元素的change事件
  4. ahjesus解决win下U盘无法写入的问题
  5. 百度SEO站群MTF直播整合导航网站源码 整合各类直播平台
  6. c语言的point函数,C语言中friend友元函数详细解析
  7. Windows Phone 7 Silverlight控件展示(含34个控件)
  8. 10.凤凰架构:构建可靠的大型分布式系统 --- 可观测性
  9. Excel如何统计多种分隔符号的单元格姓名个数
  10. 学嵌入式职业发展方向有哪些?
  11. 一张图回顾Hadoop十年 Hadoop老矣,尚能饭否
  12. 一文看懂任务挖掘和流程挖掘的区别是什么?
  13. 关于存储单元、寻址范围的问题
  14. 付费会员亿时代即将来临,如何才能打造“终身俱乐部”?
  15. css中div怎么飞翔
  16. SPARK-SQL - group分组聚合api,agg()
  17. php表格制作4行两列的表格,excel表格怎么插行和列?
  18. Linux mmap
  19. 【Java面试题】SQL优化|Java面试题
  20. 光伏项目电力监控系统的重要

热门文章

  1. 我注册的163邮箱收信地址格式怎么写?邮箱163注册申请后怎么登录?
  2. openGauss数据库源码解析系列文章——openGauss开发快速入门(一)
  3. 1刷黑群晖_当苹果用户拥有NAS后可以做什么?群晖DS220J体验测评
  4. centOS之php-fpm不可用
  5. 重磅:保障汽车软件安全更新 美国研发新开源框架
  6. China‘s Housing Market Economy Is Crumbling
  7. 抖音网页版登录入口在哪
  8. 入手评测oppofindx3和苹果12pro有什么区别 哪个好详细参数对比
  9. 《痞子衡嵌入式半月刊》 第 1 期
  10. Spring简述以及AOP、IOC