社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

TNNLS 2024 | 西电焦李成团队新作:多尺度深度学习检测与识别全面综述,探寻⌈尺度⌋的过去和未来

专知 • 3 周前 • 64 次点击  













文章于2024年4月发表在 IEEE Transactions on Neural Networks and Learning Systems (TNNLS) 上:

https://ieeexplore.ieee.org/document/10507032


近年来,计算机视觉中的多尺度问题逐渐引起人们的关注。本文聚焦于目标检测与识别任务的多尺度表示,全面介绍了多尺度深度学习的发展历程,构建了一个概括能力强且易于理解的分类体系。首先给出“尺度”的定义,阐述了人类视觉系统中的多尺度机理,进而引出计算机视觉中的多尺度问题。其次,介绍了得到充分发展的多尺度表示方法,包括金字塔表示、尺度空间表示和多尺度几何表示。然后,对多尺度深度学习方法进行分类和讨论。具体来说,将多尺度卷积神经网络(CNNs)抽象到经典的CNN框架中,形成自然的分类。此外,对视觉Transformers(ViTs)中的多尺度建模方法进行总结。对多种方法在不同任务上的性能进行了比较,评估了不同多尺度结构设计的有效性。最后,在深入了解现有方法的基础上,提出了多尺度深度学习中值得探索的一些问题,作为未来可能的研究方向。






1. 尺度的定义

尺度——准绳、分寸,衡量长度的定制,可引申为看待事物的一种标准,是一个在很多学科中得到广泛应用的概念,比如物理、生物、化学、地理。本文关注物理学中的尺度概念,因为它与文章研究的主题密切相关。

在物理学中,现象在多个尺度上建模,从组成物质的粒子,到广袤无垠的宇宙。可以说,世间万物皆有尺度,只有在一定的尺度上,物体才能被描述。举例来说,我们通常在厘米级研究树叶,在纳米级研究组成树叶的分子,在千米级研究森林。这些不同的研究级别就是“树”的这三种形态固有的尺度。再举一个例子,在世界地图的尺度上,不存在中国的小型城市,更不用说城镇,而后两者分别在中国地图和省级地图的尺度上就可以得到充分的研究。

上述所有不同的尺度示例,都是被人眼捕捉到后再进行研究的。因此,需要对尺度这一抽象概念进行量化,得到如下关于图像尺度的解释:图像的尺度指图像内容的粗细程度,用来模拟人眼到待识别物体的距离[12][70]。如图2所示,距离越远,呈现在人眼的图像越模糊,尺度越大,识别到的是物体的轮廓;距离越近,图像越清晰,尺度越小,能看到物体的细节信息。在频域中,大尺度(粗尺度)对应大量低频信息和少量高频信息,小尺度(细尺度)对应包含各种频段的成分丰富的信息。






2. 视觉系统的多尺度机理

经过数万年的优胜劣汰,人类拥有着出色的视觉能力,在日常的信息获取中,视觉信息也占有着最大的比例。人类视觉的多尺度机理主要体现在视觉系统的分层机制上。

1959年,Hubel 和 Wiesel [71] 在猫的初级视觉皮层(也被称为纹状皮层或V1)发现神经元对特定朝向的光棒敏感。自此,对哺乳动物视觉系统中神经处理机制的研究就成为了神经科学领域的热点。尽管现有的研究大多基于猕猴等哺乳动物,但大多数神经科学家都认为这与人脑的视觉系统十分接近。

首先,介绍视觉生理学的基本概念——感受野。1906年,Sherrington [72] 在研究划痕反射时首次提出感受野一词:“能引发划痕反射的所有皮肤表面点的集合,被称为该反射的感受野”。后来,Hartline [73] 将视觉感受野定义为“视网膜的一个区域,它必须被照亮,以便在任何给定的纤维中获得响应”。这一定义后来被扩展,一些神经反应的刺激属性,包括颜色、运动,以及特定物理对象的复杂特征,都可以被视为感受野。

视觉系统同时具有分层处理和并行处理的特性。在视觉系统中,从视网膜到丘脑背侧外侧膝状核(lateral geniculate nucleus, LGN),再到视觉皮层各区域的两条并行通路是视觉系统中最重要的组成部分,如图3所示。具体来说,外界物体所反射的光在视网膜后方的光感受器进行光电转换,视网膜神经节细胞将转换后的信号传递给 LGN 中继细胞,经过中转后传递到初级视觉皮层。

初级视觉皮层中不同种类的神经元对各种初级视觉信息进行编码,如亮度、局部方向、频率、光谱差异等。然后,不同视觉信息的并行处理在皮层通路中继续进行,并延伸到初级视觉皮层之外。随着层次的不断升高,神经元编码越来越复杂的特征,其感受野也越来越大。例如,能够对整张人脸作出反应的高级神经元通常有覆盖大部分视觉空间的感受野。

从边缘信息到高级特征,呈现在视网膜感受野上的图像由细节到整体,尺度由小到大,很好地模拟了人眼到目标物体的距离,与尺度的定义相契合。这样的信息处理过程充分地体现了人类视觉系统的多尺度机理。








3. 计算机视觉中的多尺度问题

计算机视觉旨在对图像或视频中的内容进行识别和理解,包含图像分类、目标检测、语义分割、实例分割等任务。图像分类也称为图像识别,目标检测兼顾了目标的识别任务和位置标注任务,语义分割则是对图像进行逐像素的分类。不同任务之间存在一定的联系,而大部分任务都建立在目标识别的基础上。因此,通过“检测与识别”的概念,可以涵盖大多数计算机视觉任务。

人类视觉系统可以根据视网膜上的二维图像创建现实世界的三维表征,因此可以感知不同的尺度,在识别物体时也可以选择适合该物体的最佳尺度。但在计算机视觉任务中,所处理的图像通常只有二维平面信息。也就是说,对于数字图像,我们无法确定观察不同物体所需的“正确”的尺度,因此需要考虑图像在不同尺度上的表示,这就是计算机视觉中所要解决的多尺度问题。以图2为例,如果要观察火车的整体轮廓,就应该在大尺度下进行观察;如果想要观察火车头的涂鸦细节,则应该选择较小的尺度。

在图像的多尺度表示中,还涉及到多分辨率的概念。在尺度的概念中,我们将现实世界视为连续的,即真实图像具有连续的空间位置,尺度则用来模拟观察者到待观测物体的距离。而图像的分辨率本质上是图像在水平和垂直位置上的量化程度,因此可以将多分辨率视为多尺度的离散化。在处理实际问题时,由于我们所获取的图像等数据始终是离散的,因此通常也将图像的多分辨率表示视为多尺度表示。下文中提到的金字塔表示实际上就是一种多分辨率表示,尺度空间表示则是严格意义上的、与分辨率无关的多尺度表示方法。

4. 多尺度表示方法

常见的图像多尺度表示方法有金字塔表示、尺度空间表示,以及在小波基础上发展起来的多尺度几何表示。以下对这些方法进行简要介绍,相关原理和细节内容在论文中有详细的阐述。

金字塔表示是一种简单且有效的图像多尺度表示方法。它的提出可以追溯到1971年,Rosenfeld 和 Thurston [17] 在研究边缘和曲线检测时,发现对于不同尺度的边缘,需要用不同的邻域来检测。对于微小边缘,必须使用小的邻域;而对于纹理区域之间的较大的边缘,则需要足够大的邻域来平均纹理细节。1976年,Tanimoto [18] 将金字塔表示结构定义为“在越来越高的空间分辨率下对同一图像进行的一系列数字化”。Burt 和 Adelson [20] 于1983年提出拉普拉斯金字塔。1984年,Adelson [21] 等人对金字塔表示的思想进行了总结,并将先前广泛应用的低通金字塔称为“高斯金字塔”。






Witkin [25] 于1983年引入尺度空间表示的概念,他提出,尺度空间表示就是将原始信号嵌入到其与宽度递增的单参数高斯核函数族卷积得到的一系列低频信号中。尺度空间方法引入一个连续的尺度参数,能够以一种系统的、紧凑的方式来将不同尺度的描述相互关联。构建这种尺度空间的主要思想是,随着尺度参数值的增加,细尺度的信息被抑制的同时不引入虚假结构。实际上,尺度空间的思想最早可以追溯到1959年 [24]。

多尺度几何表示包括了经过一段较为完整的时间历程发展得到的多种方法。在信号处理领域得到广泛应用的傅立叶变换 [82] 实际上也是一种信号的多尺度表示。小波变换 [42][43][44] 可以解决傅立叶构造块的局限性问题,在多个领域得到了充分的应用。但在高维情况下,小波变换不能充分利用数据本身所具有的几何特征,因此多尺度几何分析(MGA)方法在小波分析的基础上诞生了 [45][46]。MGA 的主要工具是多种多尺度几何变换,包括 Brushlet [47]、Ridgelet [48]、Curvelet [49]、Wedgelet [50]、Bandelet [51]、Beamlet [52]、Contourlet [53]、Shearlet [54] 和 Directionlet [55]。将多尺度几何分析与神经网络相结合,可以得到一系列多尺度几何网络 [60][87]。

























5. 多尺度深度学习

深度学习的概念源于人工神经网络。自2012年 ImageNet 大规模视觉识别挑战赛中 AlexNet 将图像分类的错误率降低到之前获胜者的一半开始,以卷积神经网络(CNNs)作为主要工具的深度学习就开始了爆发式的发展。在这个过程中,多尺度问题也逐渐被重视。如前文所述,计算机视觉中的多尺度问题在于寻找输入图像在多个尺度下的表达。得益于深度学习独特的特征提取能力,因此研究者们也致力于在网络中提取多个尺度的特征,即实现特征的多尺度表示。下面对 CNN 中的多尺度方法进行详细分类和介绍,对近年来广泛应用的视觉 Transformer 中的多尺度结构设计进行总结。

5.1. 多尺度卷积神经网络

现代 CNN 的原始框架是 LeNet,由 LeCun 等人 [88] 提出,用于手写数字识别。在 CNN 的经典架构中,主要包括输入、卷积、池化、全连接、输出这五个部分。卷积层和池化层是 CNN 的核心部分,主要用来对特征进行分层提取,在一定程度上模拟了人类视觉系统的分层机制。全连接层大多用在分类和检测任务中,因为需要对一整张输入图像或者建议区域进行类别的划分。而在密集预测任务语义分割中,则不需要全连接层,通常采用上池化、上采样,或者反卷积方法将特征图像放大到原始输入图像大小,从而实现逐像素的密集预测。不同任务的网络结构可以抽象概括为图8.








下面,我们将多尺度 CNNs 放入 CNN 经典架构中,得到自然的分类结果。具体分为输入、卷积、池化、输出,以及层与层之间的连接,每种分类的代表性方法如图9所示。这可以涵盖绝大多数现有的多尺度方法。








5.1.1. 输入

多尺度输入也就是对输入网络的图像进行多尺度表示,通常采用传统方法中的金字塔表示法。Farabet 等人 [89] 在场景标记任务中对原始输入图像进行拉普拉斯金字塔表示,然后利用卷积网络进行特征提取。该方法充分利用了像素的上下文信息,实现了捕捉纹理、形状的强大表示。同年,Schulz 等人 [90] 对输入图像采用相似的金字塔表示方法,并且在输出中使用了一个成对的类过滤器来对预测图进行平滑。Papandreou 等人 [91] 将输入图像的金字塔表示展开为一个图像 “patchwork”,然后滑动固定大小的窗口,从而实现多位置和多尺度的搜索。

Girshick 等人 [92] 将传统的特征提取方法可变形部件模型 (DPM) 与 CNN 相结合,提出了 DeepPyramid DPM。该模型从输入图像中构建金字塔表示,将其输入到CNN中得到相应的特征金字塔,再将不同尺度的特征送入到 DPM-CNN 模块,得到一个DPM分数的金字塔。与 R-CNN 相比,该方法在 PASCAL VOC 数据集上的目标检测结果更好,并且运行速度更快。与 DeepPyramid DPM 密切相关的是 Wan 等人 [94] 的同期工作,他们同样使用 CNN 从图像金字塔中提取特征,然后将一组负责捕捉不同尺度视图的 DPM 应用于这些特征图,从而产生一个响应金字塔,经过非极大值抑制后得到最终的预测结果。

图像金字塔作为一种常见的多尺度表示方法,被广泛应用在图像分类、语义分割、目标检测、人脸检测等各种计算机视觉任务中。虽然图像金字塔简单有效、易于理解,但是多个尺度图像的输入会增大计算成本,增加算法的时间复杂度,因此其实际的应用价值十分有限。Hao 等人 [99] 针对金字塔方法的计算成本问题,提出尺度感知人脸检测。他们认为在大多数情况下,图像金字塔中只有少数的有效层,而在无效的尺度上进行搜索是对计算资源的浪费。SAFD 利用 CNN 对人脸尺度分布直方图进行预测,然后根据直方图对原始输入图像进行重采样,再将重采样后的图像送入检测网络中进行人脸检测。大量实验验证了 SAFD 算法的有效性。

Singh等人 [100] 提出了一种叫作图像金字塔尺度归一化 (SNIP) 的训练方案,该方法是图像金字塔方法的改进,对于金字塔中某个尺度图像中的目标,只提供适合于该尺度的标签用于训练。也就是说,在大尺度图像中,提供大目标的标签;在小尺度图像中,则提供小目标的标签。这样可以充分利用所有的训练样本,避免了不同尺度图像中不同大小的目标在训练过程中的相互影响。后来,Singh 等人 [101] 对 SNIP 进行了改进,提出了高效重采样图像金字塔尺度归一化 (SNIPER),该方法将图像金字塔的每一层裁剪为同样大小的低分辨率芯片用于训练,通过设计正负芯片采样,可以在提高训练速度的同时保证算法的性能。

除了金字塔表示,也有一部分工作将多尺度几何分析与 CNN 相结合,即首先使用多尺度几何工具对输入数据进行多尺度、多方向的特征表示,然后将得到的特征输入到 CNN 中进行进一步的特征提取。Liu 等人 [102] 实现了这样的结合,他们提出了 Contourlet CNN (C-CNN)。Gao 等人 [103] 提出了一种多尺度曲波散射网络 (MSCCN),该方法使用多尺度曲波散射模块实现图像的高效特征表示,将该模块嵌入到现有的网络中,取得了更好的分类精度。后来,他们将该方法进行改进,提出了一种更灵活的动态框架,称为多尺度动态曲波散射网络 (MSDCCN) [104],该方法通过动态多尺度重用结构实现训练过程中的特征表示改进。

在测试阶段,研究者们也经常对输入图像进行多尺度处理。通常,他们对数据进行平移、裁剪、翻转、缩放,以及多视图处理,然后将其输入到训练好的模型中,进行联合预测,得到不同尺度下的输出结果,再对多尺度输出结果进行相应的整合和处理。这样的多尺度测试的代表性方法称为测试时时间增强,多用在深度学习算法提交结果进行排名的时候。

5.1.2. 卷积

作为 CNN 的核心组件,卷积层主要用来提取局部特征,不同大小的卷积核对应的感受野不同。因此,对于不同尺度的特征,最直观的方法就是使用不同大小的卷积核来进行特征提取。Szegedy 等人 [106] 在 GoogLeNet 中就采用了这样的方法。他们提出了 Inception 结构。在该结构中,1×1、3×3、5×5 三种不同大小的滤波器被用来进行多尺度特征提取。特别地,他们还设置了 1×1 卷积用于降维。

另一种用于多尺度特征提取的卷积结构叫作扩张卷积,也叫空洞卷积。该概念最初出现在小波分解中 [107][108][109]。传统 CNN 用于语义分割任务时,重复的池化和下采样操作会导致特征图分辨率降低,造成细节信息损失。针对该问题,Chen 等人 [110] 提出 DeepLab 系统。该系统引入空洞卷积,在增大卷积核感受野的同时不增加参数数量,从而实现多尺度的密集特征提取。后来,他们提出了 DeepLabv2 [111],对空洞卷积进行了更加深入的探讨。同于 DeepLab 中对 CNN 的某一层或某几层采用空洞卷积操作,Yu 等人 [112] 提出了一个系统的扩张卷积模块。该模块在连续的网络层中应用扩张卷积,对感受野进行指数级的扩张,从而实现多尺度的上下文信息聚合。








除了语义分割,扩张卷积在目标检测、显著性预测、光流、音频生成等任务上都得到了广泛的应用。受到人类视觉系统中感受野特性的启发,Liu 等人 [117] 提出了感受野模块 (RFB)。该模块结合 Inception 结构和空洞卷积,来模拟视觉神经细胞感受野的大小与偏心率之间的正相关关系。Li 等人 [118] 为了使网络在不同的尺度对不同大小的目标具有统一的特征表示能力,提出了 TridentNet,该网络使用具有不同扩张率的扩张卷积构建了多个分支,不同的分支具有不同的感受野,提取不同尺度的特征。作者还借鉴了 SNIP 中的尺度感知思想,为不同分支分配了对应尺度的目标标签。

尽管扩张卷积具有很多优点,但是在对其进行连续使用时,如果对扩张率选择不当,比如所有层使用相同的扩张率,那么某些像素便会始终无法参与运算,造成局部信息的缺失,Wang 等人 [119] 将其称为“网格化”。为此,他们提出混合扩张卷积 (HDC) 来作为该问题的解决方案。HDC 致力于让经过一系列卷积操作后的感受野完全覆盖正方形区域,不存在孔或者边缘的缺失。在 HDC中,扩张率设计为以组为单位的锯齿状的结构,然后对不同组进行重复,如 [1, 2, 5, 1, 2, 5]。除此之外,同一组的扩张率不应该有大于1的公约数,这一点与 [112] 具有关键的区别。

Dai 等人 [120] 对扩张卷积进行推广,提出了可变形卷积,通过引入额外的偏移量来增加网络中的空间采样位置。在输入特征图上应用额外的卷积层来获得这些偏移量,并在训练过程中对其进行学习。可变形卷积的感受野可以根据目标的尺度和形状进行自适应调整,从而实现多尺度的密集特征提取。与可变形卷积相似的一个工作是主动卷积 [121],该方法可以定义不同形式的卷积,并且通过反向传播来学习其形状。二者的主要区别在于,主动卷积中的偏移量是在每次训练时都要重新进行学习的静态模型参数,而可变形卷积中的偏移量是动态的模型输出。








5.1.3. 池化

为了解决 CNN 固定尺寸输入导致忽略尺度多样性的问题,He 等人 [122] 基于传统的空间金字塔特征提取方法提出了空间金字塔池化 (SPP)。通过将最后一个池化层替换为 SPP 层,不同尺度的特征得以聚合并生成固定长度的输出,然后将其输入到全连接层。在目标检测任务中,SPPNet 从特征图的候选区域中提取窗口级特征,而不像 RCNN 直接从图像区域中提取特征。后来,Zhao 等人 [125] 将 SPPNet 应用于语义分割中,提出了金字塔场景解析网络 (PSPNet)。该网络通过金字塔池化模块将不同尺度的上下文信息进行聚合,从而获得包含局部和全局信息的特征表示,为像素级预测提供了良好的框架。








在 DeepLabv2 中,作者将 SPP 和空洞卷积进行结合,提出了空洞空间金字塔池化 (ASPP) 来解决目标的多尺度问题。为了对位于特征图中心的像素进行分类,ASPP 使用多个具有不同空洞率的并行空洞卷积层对不同尺度的上下文特征进行提取,并在各自的分支中进行处理,最后进行融合来生成最终结果。虽然 ASPP 可以有效地利用多尺度信息,但是在空洞率过大时,卷积核上的有效权值会变得很少,此时卷积核退化为 1×1 的滤波器。为了克服这一问题,Chen 等人 [126] 采用了PSPNet 中的全局特征提取方法,对 ASPP 进行改进,在最后一个特征图上应用全局平均池化来获得图像级信息。此外,他们还将批量归一化加入到 ASPP 中。这些改进使得模型的性能有了显著的提升。








5.1.4. 连接

在 CNNs 中,层与层之间主要有两种连接:跳跃连接和并行连接。

A. 跳跃连接

全卷积网络 (FCN) [128]是采用跳跃连接的代表性网络,由 Long 等人在2015年提出。FCN 将 CNN 中用于分类的全连接层替换为卷积层,实现了端到端的像素级预测,是语义分割领域的里程碑之作。其中的跳跃连接结构可以将来自不同层次的多尺度特征进行有效的结合,包括深层的粗特征以及浅层的细特征,从而提高分割准确率。在FCN的网络结构中,最上层是常见的串联分层网络结构,对最后一个卷积层 conv7得到的特征图进行32倍的上采样,得到预测图,称为 FCN-32s。第二行是将 conv7 的特征图进行2倍上采样后与 pool4 的特征图进行融合,得到16倍上采样的预测结果 FCN-16s。此时网络既能保留大尺度的语义信息,又能保留小尺度的细节信息。最后一行则将来自 pool3 的预测结果与前面二者融合,经过上采样得到 FCN-8s,这进一步提供了细节信息。








尽管 FCN 中的跳跃连接可以充分利用网络不同层次的特征,但却没有考虑像素与像素之间的关系,也就是多尺度上下文,这在语义分割中是一个非常重要的考量因素。为了解决这一问题,Liu 等人 [129] 向 FCN 中添加全局上下文,提出了 ParseNet。具体来说,使用全局池化提取某一层的全局特征,经过反池化操作后再与原特征图进行组合,一起输入到下一层。ParseNet 上下文模块可以有选择地应用于不同的特征图,在提升性能的同时没有引入太多的计算开销。事实上,空洞卷积和ASPP 都是为了充分利用多尺度上下文特征而提出。

U-Net [130] 也是在 FCN 基础上的修改和扩展,具有更加优雅的“U”型结构。类似地,U-Net 也使用了跳跃连接,不过与 FCN 不同的是,U-Net 在融合不同尺度的特征图时采用的是拼接的方式,即不同通道直接进行叠加,而 FCN 则是对应位置进行求和。U-Net 的结构包括一个收缩路径和扩展路径,也被称为编码器-解码器。收缩路径是 CNN 的标准结构,由重复的卷积和池化层组成。扩展路径通过连续的上采样操作来逐步恢复特征图到原始图像大小。采用跳跃连接将收缩路径中的特征图叠加到扩展路径的对应层中,这样可以将不同尺度的上下文信息补充到上采样特征图中,并且传播到更高分辨率的层。U-Net 起初被应用在医学图像分割中,但其简洁和有效的网络结构使其迅速泛化到各种语义分割任务中,很多变体也接连被提出 [133][134][135]。








一些其他的 CNN 网络也应用了跳跃连接。在 DenseNet [136] 中,网络中的每一层和位于它的前馈位置的每一层都进行跳跃连接。这样一来,对于一个 L 层的网络,其总连接个数为 L(L+1)/2。该网络充分利用了网络中的多尺度特征,缓解了梯度消失问题,并大大减少了参数数量。Takahashi 等人 [137] 将 DenseNet 和多因子扩张卷积结合,提出多扩张 DenseNet。Pinheiro 等人 [138] 提出了一个自下而上/自上而下的架构 SharpMask 用于对象实例分割。与 U-Net 相似,该网络使用跳跃连接实现两条路径中的特征图的拼接。目标检测中的著名网络 FPN 也使用了类似的跳跃连接。

B. 并行连接

并行连接就是使用多个并行支路在不同尺度对特征进行处理后再组合在一起的一种方法,在很多网络中都有应用。如 PSPNet、SPPNet、DeepLab 系列,以及 Inception 系列。








Chen 等人 [144] 提出的用于视觉和语音识别的 Big-Little Net 中也使用了并行分支来实现多尺度特征融合。 在 Big-Little 模块中,用于进行低分辨率表示的较深的分支称为 Big 分支,用于进行高分辨率特征提取的较浅的分支称为 Little 分支。重复使用这样的模块,可以产生更强大的多尺度特征表示,同时实现效率和精度的平衡。Eigen 等人 [145] 在处理单个图像的深度预测问题时,构造了具有两个分支的卷积网络,一个是粗尺度分支,用来进行全局预测,将结果拼接到另一个细尺度分支中,从而进行局部细化。后来,他们将该网络的分支数扩充为三个,并将每个分支的预测结果融合到更细一级的分支。Deng 等人 [147] 采用不同尺度的并行分支来对视频帧图像进行去模糊处理,并通过拼接当前帧和前一个去模糊帧来保证时间的连续性。



5.1.5. 输出

对于那些在多个尺度的特征图上分别进行预测然后输出的网络,我们称为多尺度输出网络。有一部分多尺度输入网络,尤其在用于目标检测任务时,都是在图像金字塔的不同层上分别进行检测,形成一个多尺度输出金字塔,再将不同的结果组合成最终结果,如SNIP[100]、DeepPyramid DPM [92] 等。

还有一类网络直接在 CNN 不同层的特征图上进行预测,这利用了 CNN 固有的多尺度特性。在 CNN 中,随着层数越来越深,网络在越来越大的尺度上提取特征,实现由局部细节到全局语义信息的过渡,这也是 CNN 与人类视觉系统的分层机制类似的地方。这样的网络如用于目标检测的 SSD [148] 和用于人脸检测的 SSH [149]。SSD 在基础网络上添加了几个额外的卷积层,增加特征提取的多样性,最后在多个不同深度的特征图上进行多尺度预测。SSH 从网络的不同层上构建了三个检测模块,分别用来检测大、中、小三种尺寸的目标。








虽然 CNN 的不同层次可以形成天然的多尺度结构,但是浅层特征和深层特征对语义信息的捕捉能力是不同的,因此直接在不同层进行存在很大的局限性。针对这一问题,Lin 等人 [139] 提出了特征金字塔网络 (FPN),通过构建自上而下的路径和跳跃连接来在所有的尺度上提取强语义特征,然后分别进行预测。他们还对不同类型的网络内特征金字塔进行了分析,这与我们对多尺度输出的描述相一致。FPN 巧妙的多尺度特征预测方式使其在目标检测领域有着广泛的应用,许多工作也基于 FPN 展开研究 [150][151][152][153][154]。








5.2. 多尺度视觉Transformer

Transformer 的本质是一个编码器-解码器结构,核心是自注意力机制。它最初用于自然语言处理,后来被推广到计算机视觉领域。在编码器和解码器中,主要的组成部分是多头注意力和全连接前馈网络。其中,多头注意力由若干个并行的可伸缩点乘注意力层组成,其好处在于可以让模型关注到位于不同子空间的特征。

在2020年,Carion 等人 [156] 将 CNN 的特征提取骨干和 Transformer 的编码器-解码器结构结合起来,提出了端到端的目标检测网络 DETR,并将其泛化到全景分割任务。DETR 在检测大目标时表现得很好,但在小目标上性能稍逊,这是因为 Transformer 的注意力模块在处理高分辨率特征图时具有很大的局限性。为了解决这一问题,Zhu 等人 [159] 受到可变形卷积的启发,提出了一种可变形注意力模块,对参考点周围的一小部分关键点进行采样,从而缓解特征空间分辨率的问题。作者将可变形注意力模块扩展到聚合多尺度特征,并用其来代替原始的注意力模块。

Fan 等人 [160] 将 CNN 结构中的多尺度特征思想与 Transformer 进行结合,提出了多尺度视觉Transformer (MViT),用于视频和图像识别。MViT 通过多个通道分辨率尺度阶段来实现多尺度特征提取,其浅层用来建模高分辨率低级视觉信息,深层用来处理低分辨率的高维特征。后来,Li 等人 [161] 提出分解相对位置嵌入和残差池化连接对 MViT 进行了改进。Wang 等人 [162] 提出了金字塔视觉 Transformer (PVT),该架构采用渐进收缩金字塔来减少大型特征图的计算,可以用来替代 CNN 骨干网络。Zhang 等人 [163] 对ViT进行优化,将其升级为高效 ViT (E-ViT),通过连续使用多个 E-ViT 模块来构建多尺度视觉 Transformer。

Chen 等人 [164] 提出了一个双分支 Transformer 来处理不同大小的图像块,从而产生不同尺度的图像特征。通过交叉注意力来学习这些多尺度特征。Yuan 等人 [166] 受到 HRNet 的多尺度并行设计思想的启发,提出了高分辨率 Transformer (HRFormer),学习用于密集预测任务的高分辨率表示。不同于 HRFormer 中使用 Swin Transformer 块来替代 HRNet 中的残差块,Gu 等人 [168] 提出了一个结合 HRNet 的纯 ViT 骨干网络,该网络具有新的异构分支设计,性能更好。

Zhang 等人 [169] 将 ResNet 的网络结构与 Transformer 结合,提出了 ResT,该网络使用四个阶段构建多尺度特征图,使用空间注意力构建位置编码,可以灵活处理任意大小的输入图像。在原始 ViT 模型的自注意力模块中,每个 token 特征具有相似的感受野,这会限制模型对多尺度特征的捕捉能力。为了解决这一问题,Ren 等人 [170] 提出了一种分流自注意力 (SSA),通过对多个注意头进行分组来实现多尺度注意力机制,从而有效建模多尺度对象。

6. 方法比较

先,对前文中介绍的多尺度深度学习方法的 SOTA 结果进行总结,涉及到的计算机视觉任务有图像分类、目标检测、语义分割。然后,在最具有多尺度表示需求的目标检测和语义分割方法上进行更为细节的讨论。具体来说,对多尺度 CNNs 中不同多尺度组件和其性能提升展开研究。




















7. 公开问题和未来方向

基于以上内容,本节指出了多尺度深度学习未来研究方向中值得探讨的问题。在这里简要列出,文章中进行了详细讨论。

1)固有尺度作为先验

2)现有方法未达上限

3)通用多尺度 Transformers

4)多尺度几何先验

5)脑启发的多尺度学习

6)多尺度逼近范式

7)轻量高效的多尺度网络

8)小样本多尺度学习

8. 结论

本文主要探讨了用于检测和识别的多尺度深度学习。从尺度的定义出发,阐述了人类视觉的多尺度机制,以及计算机视觉中的多尺度问题。然后,讨论了传统多尺度表示方法和深度学习中的多尺度表示方法。对不同多尺度方法进行了性能比较。最后,指出了多尺度深度学习可能的研究方向,希望未来能够出现更多代表性工作。


专知便捷查看,访问下面网址或点击最底端“阅读原文”

https://www.zhuanzhi.ai/vip/86ec2d2a33dcba2326fba0d414547b7f

点击“阅读原文”,查看下载本文

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/176229
 
64 次点击