【笔记】多尺度方法

article/2025/9/29 23:24:12

1.定义

2.常用架构

2.1多尺度输入网络

2.2 多尺度特征融合网络

(1) 并行多分支结构

(2) 串行多分支结构

2.3 多尺度特征预测融合

2.4 多尺度特征和预测融合

3.具体方法

3.1 SNIP

3.2 SNIPER(SNIP的改进)

3.3 SSD

3.4 TridentNet(三叉戟网络)

3.5 FPN

3.6 PANet

3.7  其他

ThunderNet

Libra R-CNN


1.定义

多尺度:所谓多尺度,实际上就是对信号的不同粒度的采样,通常在不同的尺度下我们可以观察到不同的特征,从而完成不同的任务。通常来说粒度更小/更密集的采样可以看到更多的细节,粒度更大/更稀疏的采样可以看到整体的趋势。

特征融合:在深度学习的很多工作中(例如目标检测、图像分割),融合不同尺度的特征是提高性能的一个重要手段。低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。如何将两者高效融合,取其长处,弃之糟泊,是改善分割模型的关键。很多工作通过融合多层来提升检测和分割的性能,按照融合与预测的先后顺序,分类为早融合(Early fusion)和晚融合(Late fusion)。

早融合(Early fusion): 先融合多层的特征,然后在融合后的特征上训练预测器(只在完全融合之后,才统一进行检测)。这类方法也被称为skip connection,即采用concat、add操作。这一思路的代表是Inside-Outside Net(ION)和HyperNet。两个经典的特征融合方法:

(1)concat:系列特征融合,直接将两个特征进行连接。两个输入特征x和y的维数若为p和q,输出特征z的维数为p+q;

(2)add:并行策略,将这两个特征向量组合成复向量,对于输入特征x和y,z = x + iy,其中i是虚数单位。

晚融合(Late fusion):通过结合不同层的检测结果改进检测性能(尚未完成最终的融合之前,在部分融合的层上就开始进行检测,会有多层的检测,最终将多个检测结果进行融合)。这一类研究思路的代表有两种:

(1)feature不融合,多尺度的feture分别进行预测,然后对预测结果进行综合,如Single Shot MultiBox Detector (SSD) , Multi-scale CNN(MS-CNN)

(2)feature进行金字塔融合,融合后进行预测,如Feature Pyramid Network(FPN)等。

2.常用架构

卷积神经网络通过逐层抽象的方式来提取目标的特征,其中一个重要的概念就是感受野。如果感受野太小,则只能观察到局部的特征,如果感受野太大,则获取了过多的无效信息,因此研究人员一直都在设计各种各样的多尺度模型架构,主要是图像金字塔和特征金字塔两种方案,但是具体的网络结构可以分为以下几种:(1) 多尺度输入。(2) 多尺度特征融合。(3) 多尺度特征预测融合。(4) 以上方法的组合。

2.1多尺度输入网络

顾名思义,就是使用多个尺度的图像输入(图像金字塔),然后将其结果进行融合。值得一提的是,多尺度模型集成的方案在提高分类任务模型性能方面是不可或缺的,许多的模型仅仅采用多个尺度的预测结果进行平均值融合,就能在ImageNet等任务中提升2%以上的性能。

2.2 多尺度特征融合网络

多尺度特征融合网络常见的有两种,第一种是并行多分支网络,第二种是串行的跳层连接结构都是在不同的感受野下进行特征提取。并行的结构能够在同一层级获取不同感受野的特征,经过融合后传递到下一层,可以更加灵活地平衡计算量和模型能力。串行的结构将不同抽象层级的特征进行融合,对于边界敏感的图像分割任务是不可缺少的。

(1) 并行多分支结构

①使用不同大小的卷积核

比如Inception网络中的Inception基本模块,包括有四个并行的分支结构,分别是1×1卷积,3×3卷积,5×5卷积,3×3最大池化,最后对四个通道进行组合。

②使用空洞卷积

还可以使用带孔卷积来控制感受野。在图像分割网络Deeplab V3和目标检测网络trident networks中都使用了这样的策略。

③使用不同大小的池化

还有一种比不同大小的卷积核和带孔卷积计算代价更低的控制感受野的方法,即直接使用不同大小的池化操作,被PSPNet采用。

值得注意的是,这样的多分支结构对于模型压缩也是有益处的,以Big-little Net为代表,它采用不同的尺度对信息进行处理。对于分辨率大的分支,使用更少的卷积通道,对于分辨率小的分支,使用更多的卷积通道,这样的方案能够更加充分地使用通道信息。

(2) 串行多分支结构

串行的多尺度特征结构以FCN,U-Net为代表,需要通过跳层连接来实现特征组合,这样的结构在图像分割/目标检测任务中是非常常见的。

2.3 多尺度特征预测融合

即在不同的特征尺度进行预测,最后将结果进行融合,以目标检测中的SSD为代表。SSD用不同stride在不同大小的特征图上进行预测。低层特征图stride较小,尺寸较大,感受野较小,期望能检测到小目标。高层特征图stride较大,尺寸较小,感受野较大,期望能检测到大目标。类似的思想还有SSH,从分辨率较大的特征图开始分为多个分支,然后各个分支单独预测不同尺度大小的目标。在多个特征通道进行预测的思想与多个输入的方案其实是异曲同工的,相当于在网络计算过程中孙边获取了多个不同分辨率的图像,因此它的计算效率更高。

2.4 多尺度特征和预测融合

既然可以将不同尺度的特征进行融合,也可以在不同的尺度进行预测,为何不同时将这两种机制一起使用呢?这样的结构以目标检测中的FPN为代表。即将高层的特征添加到相邻的低层组合成新的特征,每一层单独进行预测。当然,也可以反过来将低层的特征也添加到高层,比如PAN。当然,对于不同尺度的特征图的融合,还可以基于学习的融合方案

3.具体方法

3.1 SNIP

(https://arxiv.org/abs/1711.08189)

SNIP是多尺度训练(Multi-Scale Training)的改进版本。MST的思想是使用随机采样的多分辨率图像使检测器具有尺度不变特性。然而作者通过实验发现,在MST中,对于极大目标和过小目标的检测效果并不好,但是MST也有一些优点,比如对一张图片会有几种不同分辨率,每个目标在训练时都会有几个不同的尺寸,那么总有一个尺寸在指定的尺寸范围内。

SNIP的做法是只对size在指定范围内的目标回传损失,即训练过程实际上只是针对某些特定目标(被放大的小物体或被缩小的大物体)进行,这样就能减少映射迁移(domain-shift)带来的影响。SNIP让模型更专注于物体本身的检测,剥离了多尺度的学习难题。在网络搭建时,SNIP也使用了类似于MST的多尺度训练方法,构建了3个尺度的图像金字塔,但在训练时,只对指定范围内的Proposal进行反向传播,而忽略掉过大或者过小的Proposal。(关于domain-shift,我的理解是检测网络的backbone通常是针对分类问题训练得到的,相当于整张图像为检测结果,SNIP通过只训练特定大小范围的图像减少与backbone网络的差别)

3.2 SNIPER(SNIP的改进)

(https://arxiv.org/abs/1805.09300)

SNIP借鉴了multi-scale training的思想进行训练,multi-scale training是用图像金字塔作为模型的输入,这种做法虽然能够提高模型效果,但是计算量的增加也非常明显,因为模型需要处理每个scale图像的每个像素,而SNIPER(Scale Normalization for Image Pyramids with Efficient Resampling)算法在特征图上的ground truth box周围去crop一些图片,这些图片称为chips,在训练期间每个图像生成的chips的数量会根据场景复杂度而自适应地变化。chips主要分为两大类:一种是postivice chips,这些chips至少应该覆盖一个groud-truth box;另一种是从RPN网络输出的ROI抽样得到的negative chips,选择negative chips的目的在于要让网络更容易去判断出哪些是背景,而不必花费太多的时间在上面。这些chips相当于是难分类的背景,而那些容易分类的背景就没必要进行多尺度训练了。

3.3 SSD

SSD以不同stride的feature map作为检测层分别检测不同尺度的目标,用户可以根据自己的任务的目标尺度制定方案。该方式尺度处理简单有效,但存在一些缺陷:

  • 一般使用低层检测小目标,但低层感受野小,上下文信息缺乏,容易引入误检

  • 使用简单的单一检测层多尺度信息略显缺乏,很多任务目标尺度变化范围十分明显;

  • 高层虽然感受野较大,但毕竟经过了很多次降采样,大目标的语义信息是否已经丢失

  • 多层特征结构,是非连续的尺度表达,是非最优的结果;

3.4 TridentNet(三叉戟网络)

(https://arxiv.org/abs/1901.01892)

TridentNet网络的作者将3种不同的感受野网络并行化。采用ResNet作为基础Backbone,前三个stage沿用原始的结构,在第四个stage,使用了三个感受野不同的并行网络。

(1)3个不同的分支使用了空洞数不同的空洞卷积,感受野由小到大,可以更好地覆盖多尺度的物体分布。

(2)由于3个分支要检测的内容是相同的、要学习的特征也是相同的,只不过是形成了不同的感受野来检测不同尺度的物体,因此,3个分支共享权重,这样既充分利用了样本信息,学习到更本质的目标检测信息,也减少了参数量与过拟合的风险。

(3)借鉴了SNIP的思想,在每一个分支内只训练一定范围内的样本,避免了过大与过小的样本对于网络参数的影响。

在训练时,TridentNet网络的三个分支会接入三个不同的head网络进行后续损失计算。在测试时,由于没有先验的标签来选择不同的分支,因此只保留了一个分支进行前向计算,这种前向方法只有少量的精度损失。

3.5 FPN

FPN(Feature Pyramid Network)算法同时利用低层特征高分辨率和高层特征的高语义信息,通过融合这些不同层的特征达到预测的效果。并且预测是在每个融合后的特征层上单独进行的,这和常规的特征融合方式不同。FPN将深层信息上采样,与浅层信息逐元素地相加,从而构建了尺寸不同的特征金字塔结构,性能优越,现已成为目标检测算法的一个标准组件。FPN的结构如下所示。

 

  • 自下而上:最左侧为普通的卷积网络,默认使用ResNet结构,用作提取语义信息。C1代表了ResNet的前几个卷积与池化层,而C2至C5分别为不同的ResNet卷积组,这些卷积组包含了多个Bottleneck结构,组内的特征图大小相同,组间大小递减。

  • 自上而下:首先对C5进行1×1卷积降低通道数得到P5,然后依次进行上采样得到P4、P3和P2,目的是得到与C4、C3与C2长宽相同的特征,以方便下一步进行逐元素相加。这里采用2倍最邻近上采样,即直接对临近元素进行复制,而非线性插值。

  • 横向连接(Lateral Connection):目的是为了将上采样后的高语义特征与浅层的定位细节特征进行融合。高语义特征经过上采样后,其长宽与对应的浅层特征相同,而通道数固定为256,因此需要对底层特征C2至C4进行11卷积使得其通道数变为256,然后两者进行逐元素相加得到P4、P3与P2。由于C1的特征图尺寸较大且语义信息不足,因此没有把C1放到横向连接中。

  • 卷积融合:在得到相加后的特征后,利用3×3卷积对生成的P2至P4再进行融合,目的是消除上采样过程带来的重叠效应,以生成最终的特征图。

FPN对于不同大小的RoI,使用不同的特征图,大尺度的RoI在深层的特征图上进行提取,如P5,小尺度的RoI在浅层的特征图上进行提取,如P2。

FPN以更为轻量的最近邻插值结合侧向连接实现了将高层的语义信息逐渐传播到低层的功能,使得尺度更为平滑,同时它可以看做是轻量级的decoder结构。FPN看起来很完美,但仍然有一些缺陷:

  • 在上采样时使用了比较粗糙的最近邻插值,使得高层的语义信息不一定能有效传播;

  • 由于经过多次下采样,最高层的感受野虽然很丰富,但可能已经丢失了小目标的语义信息,这样的传播是否还合适;

  • FPN的构建只使用了backbone的4个stage的输出,其输出的多尺度信息不一定足够;

  • FPN中虽然传播了强的语义信息到其他层,但对于不同尺度的表达能力仍然是不一样的,因为本身就提取了不同backbone的输出。

3.6 PANet

(https://arxiv.org/abs/1803.01534)

为了缩短信息路径和用低层级的准确定位信息增强特征金字塔,PANet在FPN基础上创建了自下而上的路径增强(图 2b)。用于缩短信息路径,利用low-level 特征中存储的精确定位信号,提升特征金字塔架构。PANet创建自适应特征池化(Adaptive feature pooling)( 图 2c)。用于恢复每个候选区域和所有特征层次之间被破坏的信息路径,聚合每个特征层次上的每个候选区域。PANet的目标检测和实例分割共享网络架构的图 2 abc三部分,使得两者性能均有提升。

3.7  其他

ThunderNet

(https://arxiv.org/pdf/1903.11752.pdf)

轻量型目标检测框架,主要简化了FPN结构,只使用C4/C5,同时引入gpooling操作(Face++论文好多这么用,确实有效),最终输出C4分辨率大小的累加特征。网络的检测部分,利用了压缩的RPN网络,既Context Enhancement Module(CEM)整合局部和全局特征增强网络特征表达能力。并提出Spatial Attention Module空间注意模块,引入来自RPN的前后景信息用以优化特征分布。

Libra R-CNN

(https://arxiv.org/pdf/1904.02701.pdf)

无论是one-stage two-stage,都涉及选择候选区域,特征提取与融合、loss收敛。针对目标检测的三个阶段,论文提出三个问题:采样的候选区域示范具有代表性,不同level特征如何融合,以及损失函数如何更好收敛。论文针对三个问题提出三个改进方向:IoU-balanced Sampling;Balanced Feature Pyramid;Balanced L1 Loss。为了更高效利用FPN特征,论文使用4步改进rescaling, integrating, refining,Strengthening(如下图所示):

a. rescaling。把{C2,C3 ,C5}的多层特征均rescaling到C4尺寸,做加权求平均值。得到的特征C rescaling返回到{C2,C3 ,C5}特征分辨率。

b. Refining&strengthening。论文使用Gaussian non-local attention 增加特征。

c. Indentity,既残差设计。

参考:

1.https://zhuanlan.zhihu.com/p/74710464

2.https://mp.weixin.qq.com/s?__biz=MzI0NDYxODM5NA==&mid=2247484609&idx=1&sn=15a21da91525fb090b0739e29f410a59&chksm=e95a4134de2dc8227d70c5c7b5c6e40377c41afe91e1c3fa255dbe8c3880a91f1d0e6adbc29f&mpshare=1&scene=23&srcid=&sharer_sharetime=1589783614150&sharer_shareid=0cf528142031382a1af6b6c58425d624#rd

3.https://mp.weixin.qq.com/s?__biz=MzUxNjcxMjQxNg==&mid=2247499514&idx=4&sn=68c21994ba56d058653463c3669596e9&chksm=f9a18c75ced60563c632a9ff8f0750551c8c900f914abc46ca4329fbb5cc378d9df761d1bbeb&mpshare=1&scene=23&srcid=0520xZgnKxPtV2d27BSGx2J9&sharer_sharetime=1589941258272&sharer_shareid=0cf528142031382a1af6b6c58425d624#rd


http://chatgpt.dhexx.cn/article/l4wgIEKw.shtml

相关文章

多尺度多目标检测之金字塔

在日常学习工作中,经常会碰到一个概念,那就是金字塔(pyramid),本文就该概念进行一定的阐述,具体如下: (1)图像金字塔 图像金字塔结构,即对图像进行一定比例…

多尺度结构元素形态学边缘检测算法的研究-含Matlab代码

目录 一、引言二、数学形态学理论概述三、实验验证四、参考文献五、Matlab代码获取 一、引言 使用数字图像处理技术来解决计算机视觉、人工智能、生物遥感器视觉等领域所涉及到的图像问题时,最重要、最关键的一步是提取出图像中最有效、最有用的特征信息。而图像边…

多尺度熵---Understanding Multiscale Entropy

目录 导言计算多尺度熵多尺度熵在脑电分析中的应用参考文献 导言 多尺度熵(Multiscale entropy, MSE)将样本熵扩展到多个时间尺度,以便在时间尺度不确定时提供额外的观察视角。样本熵的问题在于它没有很好地考虑到时间序列中可能存在的不同时…

多尺度排列熵

文章目录 前言一、什么是多尺度排列熵?二、实验平台照片三、MATLAB代码3.1 多尺度排列熵3.2 排列熵 参考文献 前言 齿轮及齿轮箱作为机械设备常用的调节转速和传递转矩的旋转机械设备,不仅能够传递较大的功率和载荷,而且具有较好的可靠性。但…

多尺度是什么计算机视觉中 multi_SCALE

先给出定义吓死你们哈哈 多尺度,实际上就是对信号的 不同粒度 的采样 别急哈哈 粒度小,说明是一个很密集的采样,能看到更多更多的细节 而粒度粗 大 说明是一个很稀疏的采样,但是点与点之间隔得远了,就容易看到趋势了…

多尺度(multi-scale)目标检测方法

文章目录 1、多尺度图像预测2、金字塔特征预测2.1 FPN2.2 SSD 3、bounding box设计 1、多尺度图像预测 将图片进行不同尺度的缩放,得到图像金字塔,然后对每层图片提取不同尺度的特征,得到特征图。最后对每个尺度的特征都进行单独的预测。 特…

多尺度与多分辨率的理解

我一开始以为 多尺度与多分辨率 是一样的意思。后来看到了xiaowei_cqu博客的一篇文章“【OpenCV】SIFT原理与源码分析:DoG尺度空间构造”(以下简称,xiaowei一文),才发现我的理解有误。 尺度空间(scale space)理论 …

多尺度深度特征(上):多尺度特征学习才是目标检测精髓(干货满满,建议收藏)...

计算机视觉研究院专栏 作者:Edison_G 深度特征学习方案将重点从具有细节的具体特征转移到具有语义信息的抽象特征。它通过构建多尺度深度特征学习网络 (MDFN) 不仅考虑单个对象和局部上下文,还考虑它们之间的关系。 公众号ID|ComputerVisionG…

计算机视觉CV领域中多尺度特征的概念

知乎:深度学习中的多尺度模型设计 知乎:计算机视觉中的多尺度模型都有哪些设计? CSDN:多尺度理解 什么是多尺度? 所谓多尺度,实际就是对信号的不同粒度的采样。 通常在不同的尺度下我们可以观察到不同…

收藏吧 少年

程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了。 昨天很郁闷,我用了5年的移动硬盘,莫名奇妙的坏掉了。里面40G的资料全部报销了。 为了不再重蹈覆辙,我决定把重要的电子书…

一个程序员的多年珍藏--收藏

2010 - 01 - 15 [置顶] 一个程序员的多年珍藏(1月23日最新更新) 文章分类:Java编程 程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了。 昨天很郁闷,我用了5年的移动硬盘,莫名奇妙的坏掉了…

一个程序员多年的收藏

程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了。 昨天很郁闷,我用了5年的移动硬盘,莫名奇妙的坏掉了。里面40G的资料全部报销了。 为了不再重蹈覆辙,我决定把重要的电子书都…

转的一杂谈

网站架构(页面静态化,图片服务器分离,负载均衡)方案全解析 文章分类:综合技术 1、HTML静态化其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现&…

PHP面试题(一)

1.用php打印前一天的时间,格式是2018-01-01 08:00:00? $adate("Y-m-d H:i:s",strtotime("-1 day"));print_r($a) 2.echo、print_r、print、var_dump的区别? echo、print是php语句,var_dump和print_r是函数…

Java高级必备

一、ES篇 1、概述 特点功能场景竞品分析对比 2、基本概念 IK分词器索引(类数据库)映射(类表设计)文档(数据) 3、高级特性 映射高级 地理坐标点数据类型动态映射 DSL高级聚合分析智能搜索 4、实战 写优化读优…

靠着这Java面试210题,成功拿下了10多家国内知名大厂Offer,10万字精华全部分享给大家

写在前面 我坚信,机会永远属于有准备的人,我们与其羡慕他人的成功,不如从此刻起,积累足够多的知识和面试经验,为将来进入更好的公司做好充分的准备! 如何让面试官在短短的几十分钟内认可你的能力? 如何在最短的时间内收获Java技术栈最核心的知识点 这份内容可以算是呕心沥血…

笔记总结备份

目录 文章目录 目录前言版本控制常用git 命令 操作系统系统机器数时间管理早期的 Linux 时间系统 中断内存管理内存分区malloc申请一块内存的背后原理RTOS 系统栈和协议栈寄存器磁盘调度算法虚拟内存页面置换算法分段段页式 Volatile(可见性)Atomic &…

MySQL常见面试题总结

MySQL常见面试题总结5---性能优化 单表优化设计字段索引查询SQL:充分利用索引,减少IO和全表扫描引擎事务锁定表使用外键Java方面 读写分离缓存批量读取和延迟修改分库分表垂直拆分水平拆分表分区 分库分表导致的问题事务一致性问题(见分布式事…

Java并发编程实战_盖兹

文章目录 第一部分 基础知识第1章 简介1.1 并发简史1.2 线程的优势1.3 线程带来的风险1.4 线程无处不在(框架线程或类线程并发注意点) 第2章 线程安全性2.1 什么是线程安全性2.2 原子性2.3 加锁机制内置锁:Synchronized关键字可重入锁:获取锁的操作粒度是…

算法(上)

算法 文章目录 算法1. 数组1. 剑指Offer:数组旋转2. 剑指Offer:调整数组顺序使奇数位于偶数前面3. 剑指Offer: 顺时针打印矩阵4. 剑指Offer: 数组中出现次数超过一半的数字5. 剑指Offer:丑数6. 剑指Offer: 数组中的逆序对7. 剑指O…