计算机视觉中卷积神经网络的综述(下)

发布时间:2026/6/28 18:52:03
计算机视觉中卷积神经网络的综述(下) 然而并不是所有的目标函数都像标准的碗一样。它们可能是坑、脊、平原或者任何其他不规则的地形这会让收敛变得困难。图15展示了梯度下降的两个主要挑战如果在图像左侧随机选择初始值它将收敛到一个比全局最小值更大的局部最小值。如果从右侧开始它需要很长时间才能跨过平原如果过早停止训练它将永远到达不了全局最小值。为了解决梯度下降算法的各种问题谷歌团队提出了批归一化Batch Normalization, BN的想法Ioffe 和 Szegedy 2015。BN是一种神经网络正则化技术通过将特征图的值设置为零均值和单位方差来统一它们的分布。此外BN层有助于缓解梯度消失和梯度爆炸的问题提高网络对不同输入数据的适应性加快神经网络的训练过程并改善网络的泛化能力。它还避免了 ReLU 中的数据消亡问题并且让权重初始化更容易。图15 两个主要的梯度下降挑战2.5 DropoutDropout 通过以预定的概率随机丢弃一些神经元或连接来帮助网络的正则化这最终增强了泛化能力。这种随机丢弃部分连接或神经元的方式会产生几种稀疏的网络结构然后从中选择一个权重较低的代表性网络。这个被选中的架构随后被视作所有提出的网络的近似Srivastava 等2014。图16展示了全连接层和dropout层之间的区别。图16 完全连接层与丢弃层的区别2.6 全连接层全连接层是一种全局操作不同于卷积和池化通常在网络的末端用于分类。像多层感知器神经网络MLPIsabona 等2022一样全连接层中的每个神经元都会与前一层中的所有神经元一一相连。当经过多次卷积和池化操作得到的特征映射足以识别图像特征时接下来要考虑的就是如何执行分类。通常CNN 会把最终得到的多个特征映射拉成一个长向量然后送到全连接层再到输出层进行分类。例如对于一个图像三分类问题CNN 的输出层会有三个神经元。此外全连接层可以整合卷积或池化层中对类别有区分性的局部信息Sainath 等2013。3 图像分类3.1 子任务说明图像分类Chandra 和 Bedi 2021旨在根据图像中反映的各种属性区分不同类型的对象比如花、人物和交通工具是计算机视觉中的一个基本挑战。换句话说计算机可以识别图像或视频中对象所属的类别。图像分类的主要流程包括对原始图像进行预处理、提取图像特征以及使用预训练分类器对图像进行分类其中图像特征的提取起着至关重要的作用。图像分类的数据流图如图 17 所示。传统的图像分类算法在简单分类任务中可以达到预期效果但在复杂分类任务中的表现并不令人满意。CNN 使用卷积核从原始输入中提取特征并能够从大量样本数据中自动学习特征表示使训练好的模型相比传统手动提取特征的图像分类算法具有更强的泛化能力。图17 图像分类的数据流图3.2 AlexNetLeNet 是由 LeCun 在 1998 年提出的LeCun 等, 1998。LeNet 是一个前馈神经网络在五个交替出现的池化层和卷积层之后有两个全连接层。LeNet-5 是 LeNet 的扩展和改进版增加了更多的卷积层和全连接层。如图 18 所示LeNet-5 网络模型有七层。LeNet-5 可以共享卷积核减少网络参数在小规模的 MNIST 数据集上表现良好并且准确率超过 98%。多亏了 LeNet 和 LeNet-5CNN 首次被用于图像识别任务它们也为后来的更深神经网络的创建提供了关键的经验和见解。David 等人在 1968 年的开创性论文中提出的概念成为了 LeCun 和他的同事实现的想法的基础Hubel 和 Wiesel 1968。对猴子条纹皮层的研究将细胞分为简单细胞、复杂细胞或超复杂细胞。研究发现较小的感受野、对刺激方向的敏感性增加以及少数细胞具备颜色编码能力。证据支持研究的皮层中存在两个垂直柱状系统。第一种类型的柱子中细胞共享感受野方向这类似于猫的方向柱但可能更小。第二种系统根据眼睛偏好将细胞组织在柱中形成较大的眼优势柱。这两种系统的边界似乎是独立的。皮层表现出双重组织模式垂直系统将具有共同特征的细胞沿线对齐在叠加的马赛克中独立映射刺激维度。水平系统按层层次区分细胞低阶由单眼驱动的简单细胞位于 IV 层附近高阶位于上层和下层。这些研究结果不仅阐明了感受野和功能结构的组织特征也为进一步研究大脑皮层区域的信息处理提供了重要基础。然而由于当时硬件性能低和数据集不够丰富LeNet 并不适用于复杂问题。2012 年Krizhevsky 等提出了 AlexNetAlom 等, 2018它由五个卷积层和三个全连接层组成。每个卷积层包含卷积核、偏置项、ReLU 激活函数和本地响应归一化LRN模块。第一卷积层使用 96 个大小为 11 × 11 × 3、步幅为 4 的卷积核对 224 × 224 × 3 的输入图像进行卷积。第二卷积层以第一卷积层的输出作为输入用 5 × 5 × 48 的卷积核进行滤波。第三、第四和第五卷积层彼此相连中间没有池化层。第二、第四和第五卷积层的卷积核仅连接到前一卷积层中位于同一GPU上的卷积核映射。第三卷积层的卷积核则连接到第二卷积层的所有卷积核映射。全连接层中的神经元与前一层的所有神经元相连。响应归一化层跟在第一层和第二层卷积层之后。最大池化层跟在响应归一化层和第五层卷积层之后。图像经过卷积、全连接处理最后输入到一个拥有1000个节点的Softmax分类器将网络输出转换为可用于预测图像类别的概率值。ILSVRC的图像分类任务反映了深度卷积神经网络在这一领域的最显著突破。在2012年的ILSVRC中AlexNet展示了深度学习的潜力并最终以16.4%的Top-5分类错误率赢得了比赛超过了使用传统方法进行分类的第二名算法的表现。这场比赛吸引了许多研究人员的关注从此基于CNN的改进算法也在ImageNet比赛中取得了优异成绩。同时AlexNet成为了传统算法和深度学习算法的分界线也是现代第一个深度卷积神经网络模型。与传统算法不同AlexNet首次采用了许多深度卷积网络的现代技术方法包括在训练中使用双GPU并行卷积操作这突破了硬件资源对学习能力的限制从而加快了模型训练。为了应对梯度消失问题并加速网络模型的收敛在卷积滤波之后卷积层的输出通过ReLU激活函数获得激活值然后经过局部响应归一化和下采样操作输出到后续卷积层。通过使用Dropout和数据增强方法AlexNet还减轻了模型的过拟合。图18 LeNet-5的架构3.3 视觉几何组为了研究卷积神经网络CNN深度对其准确性的影响Karen Sengupta 等人2019对使用小卷积滤波器3 × 3而非之前的大卷积核5 × 5的不同深度网络模型的性能进行了全面评估并在2014年提出了一系列视觉几何组VGG模型。在ILSVRC 2014中VGG以Top-5分类错误率7.3%获得第二名。与早期的神经网络模型相比VGG有以下改进减小卷积核的大小同时增加网络层数。VGG使用的小卷积核相比AlexNet使用的卷积核降低了计算复杂度和训练参数数量。同时VGG也支持了这样一个假设通过不断加深网络结构可以提升性能。至今由于其结构简单且适用于迁移学习VGG-16仍然在各种任务中被广泛使用。3.4 GoogLeNet2014 年 ILSVRC 的冠军模型是 GoogLeNetKhan 等2019。如图 19 所示GoogLeNet 由九个 Inception V1 模块、五个下采样层组成和还有很多其他的卷积层和全连接层。虽然GoogLeNet的网络层更深但与VGG相比它的参数数量仍然较少。因此当计算机硬件资源有限时GoogLeNet是图像分类的更好选择。GoogLeNet的卷积层有许多不同大小的卷积操作这不仅能生成密集数据同时还能充分利用处理资源。此外它利用稀疏连接来消除冗余数据通过跳过无用的特征图来降低成本。最后但同样重要的是GoogLeNet通过采用全局平均池化而不是全连接层来减少连接密度。通过给CNN增加更多隐藏层可以提升深度神经网络的识别准确性和性能Szegedy等2015但也可能带来许多问题。一方面随着网络层数增加网络需要学习更多参数这很容易导致模型对训练数据集过拟合。另一方面具有额外层的网络需要强大的硬件资源来维持所需的处理能力。为了解决这些问题谷歌的研究团队提出了Inception的概念Al Husaini等2022旨在构建用于稀疏高性能计算的基础神经元和网络拓扑。在图20a中展示了原始的Inception结构。根据实验结果可以得出结论结构中的5 × 5卷积是参数过多问题的根本原因。因此提出了一种名为Inception V1的新结构。Inception V1的结构如图20(b)所示。Inception V1的主要理念是用三种不同尺寸的卷积核从前一层提取特征信息将其融合并传递到下一层。其中1 × 1卷积核是使用最广泛的用于数据维度下降从而在传递到下一个3 × 3和5 × 5卷积层时减少卷积计算避免由于网络规模增大而带来的巨大计算。通过结合四个通道的特征下一层可以从不同尺度中提取更多有价值的特征。在Inception V1之后Szegedy等人对Inception V1结构进行了一些优化并在2015年发布了Inception V2模型Szegedy等2016。为了减少参数数量并增强特征信息的区分性Inception V2通过使用两个3 × 3卷积核代替5 × 5卷积核以及1 × n卷积核和n × 1卷积核代替n × n卷积核进行了改进。其次池化层采用并行结构进行优化以减少计算量。此外通过平滑标签的概率分布可以最小化过拟合。Inception V3是Inception V1和V2的改进版本。Inception V3的理念是降低深度网络的计算成本同时不影响泛化能力。为此Szegedy等人将大尺寸的滤波器5 × 5和7 × 7替换为小型不对称滤波器1 × 7和1 × 5并在大滤波器前使用1 × 1卷积作为瓶颈Szegedy等2017。图19 GoogLeNet的架构3.5 残差网络当更深的神经网络开始收敛时会出现退化问题准确率会先增加到一个饱和点然后随着网络深度增加迅速下降。然而导致这种退化的原因是层数增加带来了更多的训练误差而不是过拟合。在残差网络ResNetWightman 等人2021之前网络的层数相对较少例如2014 年的 VGG 网络只有 19 层层数。另一方面ResNet 在深度达到 152 层的情况下仍保持较高的准确率。ResNet 借鉴了 Srivastava 等人2015提出的高速公路网络概念由多个堆叠的残差块组成。残差块的结构如图 21 所示。除了包含加权层外残差块还通过快捷连接将输入 x 直接连接到输出。残差映射表示为 F(x)输出通过将残差映射加到输入上得到即 F(x) x表示原始映射。残差网络鼓励堆叠的加权层去拟合残差映射 F(x) 而不是原始映射。相比学习原始映射学习残差映射更简单也更容易优化。此外快捷连接使不同层之间能够交换特征在一定程度上缓解梯度消失问题。在图像分类任务中残差网络的 Top-5 错误率降至 3.6%。图20 Inception 和 Inception V1 的架构图21 一个残差块3.6 压缩与激励网络近年来注意力机制成为了 CNN 研究的另一个焦点。当人眼扫描一幅图像时它会先看整体然后把注意力集中在某个细节上专注于有价值的部分而忽略不太重要的部分。在我们设计神经网络模型时也希望模型有同样的能力。注意力可以理解为从大量数据中选择性地筛选出少量重要信息并专注于这些关键细节同时忽略大部分不太重要的信息。专注的过程体现在权重系数的计算中权重越大表示对对应 Value 的关注越强。换句话说权重代表信息的重要性Value 则是对应的信息。通过这种方式我们可以理解注意力机制参见图 22。图22 注意力的基本概念假设 Source 的组成元素是一系列 Key, Value 数据对。然后给定目标中的一个 Query 元素通过计算 Query 与每个 Key 的相似性或相关性得到对应每个 Key 的 Value 的权重系数再对 Value 进行加权求和这样就得到了最终的 Attention 值。所以注意力机制本质上就是对 Source 中元素的 Value 进行加权求和而 Query 和 Key 用于计算对应 Value 的权重系数。抽象一下注意力机制的具体计算可以总结为两个过程第一个过程是根据 Query 和 Key 计算权重系数第二个过程是根据这些权重对 Value 进行加权求和。系数。第一个过程可以进一步分为两个阶段第一阶段计算查询Query和键Key之间的相似度或相关性第二阶段对第一阶段得到的原始分数进行归一化。图23展示了注意力的三阶段计算过程。图23 计算注意力的三阶段过程在第一阶段可以引入各种计算机制来计算查询和给定键之间的相似度或相关性。最常见的方法包括计算它们向量的点积和余弦相似度如下所示由于使用的方法不同第一阶段产生的数值可能会有不同的范围。在第二阶段引入了一种类似 Softmax 的计算方法来转换第一阶段得到的分数。一方面这种归一化确保原始计算的分数被统一为一个概率分布所有元素权重的总和为 1另一方面Softmax 的内在机制有助于突出重要元素的权重。通常这个计算会使用如下公式进行其中 Lx|Source| 表示源的长度。第二阶段计算得到的结果 ai 表示对应 valuei 的权重系数。然后通过执行加权和就可以得到注意力值专注于通道注意力研究时Hu 提出了 squeeze-and-excitation 模块SE模块。SE 模块明确地建模了通道之间的相互依赖从而重新校准通道内的特征响应。这包括选择性地增强有用的通道特征同时抑制无关特征。Squeeze and Excitation NetworksSENetJin等2022赢得了2017年的ImageNet比赛类似于ResNet两者相比以前的模型都显著降低了错误率同时网络复杂度较低。SENet的两个主要部分是 squeeze 和 excitation。squeeze-and-excitation网络的一个模块如图24所示。图中的 ftr 是传统的卷积结构x 和 u 分别是 ftr 的输入和输出这些在之前的结构中就已经存在。SENet新增的部分就是 u 之后的内容。在图像识别任务中输入图像的尺寸为 h、w 和 c其中 h 代表高度w 代表宽度c 代表通道数。squeeze 部分负责将 h × w × c 维度压缩为 1 × 1 × c 维度也就是把 h × w 压缩为一个维度通常通过全局平均池化实现如图24中的 fsq(.)。输出的 1 × 1 × c 数据随后会完全连接处理如图24中的 fex(.)即 excitation 过程最后使用自门控技术学习每个通道的 excitation并把这个值缩放到 u 的 c 个通道上作为下一层的输入数据。通过控制缩放大小squeeze-and-excitation 网络可以强化关键通道特性同时削弱不重要的通道特征取得了不错的效果并为未来的相关研究提供了新的思路。图24 一个挤压与激励网络模块3.7 MobileNet在传统的 CNN 中内存需求和计算量都很大这使得在移动和嵌入式设备上运行几乎不可能。Howard 和他的同事提出了一种轻量级网络 MobileNetV1 (Howard 等, 2017)专门针对移动和嵌入式应用。相比传统 CNNMobileNetV1 显著减少了模型参数和计算工作量同时准确率仅略有下降。MobileNetV1 的准确率比 VGG16 低 0.9%但参数量只有其 1/32。MobileNetV1 使用了深度可分离卷积层如图 25 所示。图25 深度可分离卷积层结构这首先对特征图的每个通道使用深度卷积然后再进行 1×1 点卷积目的是减少计算负担和模型参数。为了进一步降低计算量、减小模型体积并提高准确率同时引入了两个收缩超参数宽度因子和分辨率因子。然而该模型的缺点是性价比低因为训练过程中很多卷积核参数会变为零。随后Google 推出了 MobileNetV2 (Sandler 等, 2018)采用了倒残差结构和线性瓶颈结构。倒残差结构首先使用 1×1 卷积增加维度增加通道以捕捉更多特征信息然后进行 3×3 深度卷积操作最后用 1×1 卷积降维有效减少参数数量。该模型的一个缺点是层之间的多样性丧失不能保证准确率。ImageNet (Deng 等, 2009) 作为图像分类任务的数据集之一具有大规模和类别丰富的特点训练出的模型具有良好的泛化能力可以在其他图像分类数据集如 CIFAR-10/100 Krizhevsky 等, 2009Caltech-101 Fei-Fei 等, 2004以及 SUN Xiao 等, 2010上获得有效的分类结果。由于大规模数据集的可用性深度 CNN 模型的训练得到了提升并且在这些数据集上训练的模型具有更好的泛化能力。这些泛化能力可以在实际应用中用来快速自学数据集特征提高分类任务的效果和效率。不同架构的性能对比见表 1。表1 不同架构的性能比较如表1所示从AlexNet到GoogLeNet图像分类的准确性逐步提高。这归因于网络架构更深从而能更有效地提取特征。• 与VGG相比ResNet的网络架构更深但引入残差学习使网络更容易优化缓解了梯度消失的问题。此外参数共享和复用以及减少的参数数量有助于在降低复杂性和错误率的同时实现更高的性能。• 融入注意力机制的深度神经网络取得了显著的表现例如Hu提出的SE模块它有效地建模了通道特征之间的依赖关系。通过这些方法可以看出注意力机制的核心功能是强调有用的组件同时忽略对特征提取贡献相对较小的部分。因此将注意力机制整合到网络中可以提高模型性能并改进特征的有效提取。• 虽然轻量化网络在ImageNet数据集上的图像分类表现可能不如经典深度CNN但它们显著减少了参数数量。这表明轻量化网络通过采用像深度可分卷积这样的方法能够有效利用模型参数。这种优势在资源受限的环境中尤为重要例如移动设备或嵌入式系统即便在减少模型体积的情况下也能提供相对良好的性能使其更适合实际部署和操作。尽管一些CNN模型在图像分类中表现出色但它们也存在一些缺点。高级CNN模型通常结构复杂参数众多在训练和部署时需要大量计算能力和内存。可以通过使用轻量化网络拓扑如MobileNet和EfficientNet、模型剪枝、模型压缩以及其他降低模型复杂性和存储需求的策略来解决这个问题。另一个巨大挑战是许多CNN模型在最佳表现时高度依赖大量标注数据。然而大规模标注数据获取成本高且费时。为了应对这一困难可以采用多种技术来增强训练数据并减少对标注数据的依赖这些技术包括迁移学习、半监督学习和数据增强。另一个问题是典型的CNN模型在使用时可能会丢失细粒度信息。在小尺寸图像上。可以用不同的策略来处理小尺寸照片的局限性以解决这个问题。这些方法涉及利用浅层网络设计、金字塔式网络结构或者更小的卷积核。近年来出现了一些新的研究方向和方法比如使用Transformer模型进行图像分类。研究人员尝试用Transformer模型结构替换卷积模块或者将Transformer的自注意力机制直接引入CNN。像DeiT、金字塔视觉Transformer和Swin Transformer这样的模型就显示了这些尝试取得了不错的效果。未来一个重要的研究方向将是深度学习和强化学习在图像分类中的结合。这种方法的融合可能会进一步提高图像分类模型的效果。4 目标检测4.1 子任务说明作为计算机视觉中的一个基础任务目标检测Ma 等2023是解决更复杂视觉任务的关键例如图像分割Minaee 等2021、目标追踪Luo 等2021、行为识别Hu 等2023等。目标检测和识别的过程通常包括两个步骤首先定位图片中每个目标对象的潜在位置其次将定位好的对象分类到几个类别中。与图像分类相比目标检测更关注图像的局部区域和特定的对象类别集合。自1990年代以来CNN已被应用于目标检测。然而由于缺乏训练数据和像计算能力、存储设备等硬件资源对基于CNN的目标检测研究关注不多直到2012年才逐渐发展。2012年CNN在ImageNet挑战赛中的巨大突破重新激发了研究者对基于深度CNN的目标检测的兴趣从而显著提升了目标检测和识别率。与此同时目标检测已广泛应用于实际场景包括自动驾驶Zablocki 等2022、虚拟现实VRXiong 等2021、智能视频监控Huang 等2021等。在深度学习流行之前目标检测算法依赖于传统的滑动窗口方法并且是手动设计的。常用的特征描述符有HaarPapageorgiou 等1998、SiftLowe 2004、SurfBay 等2006等用于为每一类目标对象训练独特的浅层分类器。传统的目标检测流程如图26所示。然而由于目标和成像环境的影响手动设计特征的方法存在稳健性差、泛化能力弱以及检测精度低的问题Dicong 等2021。传统目标检测算法在实际应用中的瓶颈有两个方面。一方面传统的目标检测算法需要设计者利用先验知识提取样本特征因此在特征设计中只能出现少量参数以减轻手动调参的难度。另一方面浅层分类器由于模型深度不足在面对复杂的检测任务时需要呈指数增长的参数和训练数据。针对传统目标检测算法手动调参的问题深度网络的研究热潮为目标检测发展带来了新机遇。与传统方法相比目标检测算法中深度卷积神经网络CNN可以自动从大量数据中学习参数的特征表示而且不需要额外训练分类器这大大提高了特征学习的效率。在本文中我们从两个角度概述了已知的目标检测策略基于区域的目标检测算法两阶段检测器和基于回归的目标检测算法一阶段检测器。图27展示了两阶段检测器的基本流程它们通过多个固定大小的滑动窗口扫描整个图像生成一系列区域候选框选择图像的区域候选然后对这些候选区域中可能存在的目标进行回归定位和分类从而实现目标检测。相比之下一阶段检测器不生成区域候选而是将特征提取、目标分类和位置回归整合到一个CNN中完成整个过程把目标检测简化成一种端到端的回归问题如图28所示。4.2 典型的两阶段检测器使用 CNN 和区域提议方法Girshick 等人在 2014 年提出了一个深度学习的目标检测框架称为 R-CNN。最初该模型使用选择性搜索Ji 等2021一种非深度学习算法来提出候选区域然后将每个候选区域输入 CNN 提取特征。最后这些特征会被输入线性支持向量机进行分类。为了提高定位精度R-CNN 中训练了一个线性回归模型用于修正候选区域的坐标这个过程被称为边界框回归。在 PASCAL VOC 目标检测数据集上该模型的平均正确率比传统算法高出约 20%为两阶段检测器的诞生铺平了道路。在 R-CNN 中每幅图像大约会生成 2000 个候选区域每幅图像的候选区域都必须单独进行特征提取这使得特征提取成为总体测试时间中的瓶颈。微软研究团队将 SPP-NetMa 等2021应用于目标检测并改进了 R-CNN 的短板。对于由选择性搜索算法生成的候选区域SPP-Net 将这些区域的坐标投影到最高卷积层输出的特征图的对应位置然后将每个候选区域对应的特征输入空间金字塔池化层以获取固定长度的特征表示。后续阶段与 R-CNN 类似全连接层接收这些特征表示作为输入线性支持向量机使用全连接层的特征输出进行分类并利用边界框回归修正候选区域坐标。在 PASCAL VOC 数据集上该网络达到了与 R-CNN 相似的精度但测试总耗时显著减少因为耗时的卷积操作仅需对每个输入图像执行一次。与 R-CNN 类似SPP-Net 也存在一定局限区域提议生成、特征提取和对象分类的多阶段训练过程较为复杂并且衍生特征需要大量存储空间。此外SPP-Net 忽略了网络模型其他层的参数只调整全连接层。为了解决这些问题Fast R-CNNGirshick 2015在 2015 年推出其结构如图 29 所示。相比 R-CNN 的 CNNFast R-CNN 在最后的池化层上进行了改进提出了兴趣区域RoI池化层。该层的作用与 SPP-Net 中使用的空间金字塔池化层类似即输出固定长度的特征。一个固定维度的特征向量可以适应任意大小的输入只不过在RoI池化层中只进行单层的空间块划分。这个改进使得Fast R-CNN像SPP-Net一样可以将整个输入图像和选择搜索算法生成的候选区域坐标一起输入到CNN中然后在最后一个卷积层输出的特征图上对每个候选区域对应的特征进行RoI池化。RoI池化是在最后一个卷积层的输出特征图上进行的因此不需要对每个候选区域单独进行卷积计算。此外Fast R-CNN将CNN的最后一个softmax分类层替换为两个并排的全连接层其中一个仍然是softmax分类层另一个是边界框回归器用于修正候选区域的坐标信息。在训练过程中Fast R-CNN设计了一个多任务损失函数同时训练这两个全连接层用于候选区域的分类和坐标信息修正。这种训练方法在PASCAL VOC数据集上比以前R-CNN使用的分阶段训练网络取得了更好的检测结果从而不需要在Fast R-CNN中额外训练SVM分类器实现了从提取图像特征到完成检测的流程整合。这些模型在训练过程和CNN结构上都有改进但它们都使用传统算法来提出候选区域这些算法在CPU上实现使得候选区域计算成为模型整体运行时间的瓶颈。因此在Ren Shaoqing等人设计的Faster R-CNN模型中提出了一个候选区域网络来改进这一步骤其结构如图30所示。Faster R-CNN在Fast R-CNN的基础上改进通过在最后卷积层的特征图上设置滑动窗口并与候选区域网络全连接。在滑动窗口滑过的每个位置模型会给出若干不同尺度和纵横比的锚点以滑动窗口中心为中心候选区域网络将基于每个锚点计算候选区域。因此。由于Faster R-CNN提出候选区域的过程是基于用于检测的Fast R-CNN前几层卷积提取的特征并且候选区域网络也在GPU上实现因此提出候选区域的时间开销大大减少检测所需时间约为原来的1/10同时准确性也有所提高这表明候选区域网络不仅能更高效地运行还能提高生成的候选区域质量。尽管各种应用已经成功识别了图像中的中大型物体并达到高准确率但小物体检测仍然是个问题。由于特征不明显、背景复杂、分辨率低、上下文信息不足等原因小物体非常难以识别。因此这一领域进行了大量研究近期已经开发了许多深度学习方法并取得了可喜的成果。2017年Lin等人2017利用CNN的金字塔层级特性将自顶向下的高层次特征与低分辨率、高语义信息和低层次特征与高分辨率、低语义信息连接起来从而构建了在不同尺度下具有高层语义信息的特征金字塔网络FPN。所提出的FPN大幅提高了网络的检测准确性并实现了最先进的目标检测这也将成为未来提高主要网络准确性的关键技术之一。此外与其他目标检测模型相比FPN在提升小物体检测分类准确率方面表现良好。He等人在2017年提出了Mask R-CNNHe等2017该模型整合了Faster R-CNN和FCN的概念。特征提取部分采用特征金字塔网络FPN架构并将RoI池化层替换为RoI对齐池化层同时添加了Mask预测分支。新的FPN架构提高了模型的多尺度特征提取能力增强了小物体识别能力。然而检测速度与Faster R-CNN相同对于实时监控应用仍然不足。Cao在2020年提出了一种新型两阶段检测器D2DetCao等2020可以同时处理精准定位和精确分类的难题。该模型使用密集局部回归来估计物体的各种密集框偏移。密集局部回归不限于固定的一组量化关键点还可以回归位置敏感的真实密集偏移从而实现更精确的定位。为了提高分类准确性采用判别性RoI池化DRP分别从第一阶段和第二阶段恢复精确的物体特征区域。表 2 两阶段检测器的性能比较4.3 代表性的一阶段检测器一阶段检测器把输入图片分成若干个网格每个网格负责预测落在该网格内的物体中心而不是像传统方法那样使用预定义的锚点来确定物体区域。经过阶段处理后就可以快速确定物体的类别和位置。然而相比于两阶段检测器这类方法的检测精度会略低。YOLO你只看一次算法就是这样算法的典型例子。第一次提出的一阶段物体检测算法是 YOLORedmon 等2016。YOLO 的基本思想是将图片划分为多个网格对每个网格预测边界框坐标、框内物体以及对应的置信度然后用非极大值抑制算法去掉重叠的框得到最终预测框实现物体检测。例如如果需要识别的物体中心落在某个图像划分的网格内该网格负责判断目标物体的类型和位置。与两阶段检测器相比YOLO 作为实时物体检测器速度非常快。但它在准确预测边界框的大小和比例上存在困难尤其是对于小物体检测这导致定位和分类精度较低。它在物体只部分位于一个网格中的情况也表现不佳。2017 年Redmon 提出了 YOLOv2Redmon 和 Farhadi, 2017。YOLOv2 在所有卷积层加入批量归一化层以加速模型学习使用 DarkNet-19Al-Haija 等, 2021作为主干网络并采用分类网络即高分辨率分类器Anuj 和 Gopalakrishna, 2020先在高分辨率 ImageNet 数据集上进行预训练再用目标数据集微调以提升模型训练的稳定性。所有这些策略都显著提高了检测精度同时保持了快速性。YOLOv3 以 DarkNet-53 作为特征提取主干网络并在分类时使用 logistic 代替 softmax。预测通过 FPN 网络进行前帧选择使用 k-means 聚类。在 YOLOv3Redmon 和 Farhadi, 2018中选择了九帧前景使用三张不同感受野的特征图来识别不同大小的物体。YOLOv4Bochkovskiy 等, 2020在输入图像上引入了马赛克数据增强。在特征提取方面YOLOv4 集成了许多新技术包括 CSPDarkNet53 和 mish 激活函数。YOLOv4 没有使用 FPN而是采用了 SPP 和 PAN 来扩展感受野并进行特征融合。总体来说YOLOv4 相比 YOLOv3 有了显著提升并且具有较大的技术价值因为它在深度学习领域的验证测试中引入了最新的研究方法。YOLOv5 的网络拓扑可以分为四个部分输入、主干、颈部和预测。这使它与 YOLOv4 相当类似。在输入图片上YOLOv5 采用自适应图像缩放、自适应锚框计算和马赛克数据增强。作为 YOLOv5 的创新点主干部分采用了 focus 结构和 CSP 结构的结合关键是切片操作。尽管 YOLOv5 目前使用的结构与 YOLOv4 相同但在刚发布时仅使用 FPN 结构。之后引入了 PAN 结构同时对其他网络组件也进行了修改。虽然 YOLOv4 已经具有较高的检测精度但 YOLOv5 的多种网络架构在实际实验中更加灵活。在目标识别中准确性和速度是两个关键的性能指标如何平衡它们在工业实际应用中非常重要。YOLOv6Li 等2022是为工业应用设计的于2022年发布它支持工业应用所需的整个链条比如模型训练、推理和多平台部署同时在网络结构、训练策略和其他算法层面进行了多项改进和优化。在主干网络、颈部、头部和训练方法方面YOLOv6都优于早期模型。Li 基于 RepVGG 架构建立了一个可重新参数化且更高效的主干网络灵感来自硬件感知神经网络设计的理念Ding 等2021。训练方法采用无锚框范式并为了进一步提高检测准确性加入了 SimOTAGe 等2021标签分配技术和 SIoUGevorgyan 2022边界框回归损失。在准确性和速度方面YOLOv6 在 COCO 数据集上的表现超过了同体量的其他方法。Tan 提出了 EfficienDetTan 等2020基于 EfficienNetTan 和 Le2019旨在创建一个在检测速度和准确性之间取得平衡的模型。该模型引入了协同缩放策略同时利用 EfficienNet 作为骨干网络和双向特征金字塔网络作为特征网络实现快速多尺度特征融合。此外还采用了加权的概念。联合缩放可以均匀地调整帧类别预测网络、特征网络和骨干网络的深度、宽度和分辨率以获得最佳效果。Dong 介绍了 CentripetalNetDong 等人2020来解决基于关键点的检测器容易出现匹配错误的问题。这种方法比传统的嵌入方法更精确地匹配角点并且该模型可以预测物体的角点位置和向心位移从而匹配相应的角点。同时还提出了交叉星形可变卷积以最大化在角点池化层后生成的部分特征图中交叉星形特征的学习。在 COCO 数据集上实验结果显示该模型比所有其他无锚框的目标检测器表现更好。数据集是训练和评估不同监督算法的重要标准。用于目标检测任务最常用的两个数据集是 PASCAL VOCShetty2016和 Microsoft COCOLin 等人2014。表 3 比较了一阶段检测器的性能。通过让模型更复杂来优化网络结构可以提高方法的准确性但这会降低训练和检测速度使得满足实时检测的要求变得具有挑战性。因此专注于准确性和速度的结合将是未来研究的方向。我们同时提高物体识别的准确率和速度以建立精度和速度之间的平衡从而满足实际需求。这是通过将基于区域的算法的高准确性与基于回归的算法的高速度相结合来实现的。单个检测算法可能在任务A上表现出SOTA最先进水平但由于复杂的物体背景伴随大量噪声干扰、物体与背景颜色对比度低导致网络难以提取区分特征以及小物体尺寸难以检测等因素在其他任务上的表现可能不如预期。因此针对每个检测任务的难点进行具体分析有助于设计在特定任务上表现出SOTA的技术。在过去几年中基于CNN的物体检测器进入了快速发展阶段期间取得了一定成果但仍有进一步发展的空间。以下提供了该领域的前沿问题和研究方向以促进后续物体检测器的研究与改进。 (1) 弱监督和小样本检测目前物体检测模型是通过大规模实例标注数据训练的而数据标注是一个耗时且劳动密集的工作。弱监督物体检测可以降低数据标注成本并用少量标注数据高效训练网络。标注数据可以通过迁移学习从相关领域迁移过来然后在目标领域使用少量标注数据进行训练从而提升目标领域的物体检测能力。 (2) 多模态检测为克服单一数据集类别的问题可以融合来自多种模态的数据如RGB图像、3D图像等这对自动驾驶和智能机器人等领域至关重要。因此如何融合不同模态的数据并训练相关检测模型以迁移到多模态数据将成为未来研究的重点。 (3) 视频检测视频检测存在较多问题如冗余特征信息、视频焦点混乱、遮挡等导致计算冗余和检测精度降低。因此基于视频序列的物体检测算法研究将成为未来的研究方向之一。5 视频预测5.1 子任务说明TransformerVaswani 等2017凭借其在长程建模和序列并行处理上的强大能力逐渐吸引了图像处理和计算机视觉领域研究者的兴趣。它在目标跟踪、图像生成和图像增强等应用中表现出色。图 31 展示了 Transformer 模型的简化架构图。Transformer 由编码器和解码器两部分组成每个编码器和解码器的详细组成如图 32 所示。编码器采用多头自注意力机制MHSA其中输入矩阵被线性映射到由多个独立注意力头组成的特征子空间进行点积操作。随后将特征向量和线性映射进行拼接以获得最终结果。输出实现了全球信息的提取。接下来使用了一个前馈神经网络FFN主要由两层线性层和一层非线性激活层组成用于维度转换和提取更丰富的语义信息。解码器由自注意力、编码器-解码器注意力和前馈组件组成。例如在图31中输入中文句子‘我有一只猫’它会经过六个编码器生成类似上下文向量的东西。这可以理解为编码器对当前输入句子的理解。得到的向量随后会传入解码器。每个解码器对上一个解码器的输出进行自注意力同时对从编码器传递过来的向量应用编码器-解码器注意力。结果然后通过前馈网络处理构成一个解码器。通过堆叠六个解码器模型学习并生成最终输出。深度学习算法大多通过监督学习进行训练这种训练耗时且通常依赖大量标注数据。我们缺少的关键因素是预测性或无监督学习机器通过模拟环境、预测未来可能性并通过观察和互动理解世界运作的能力。视频预测是一种技术计算机通过学习视频帧内部的时空特征并将学到的特征应用于未来帧的分析和预测。由于时空信息包含了真实世界的大量内在规律而视频预测可以通过大量未标注数据进行训练因此在学术界引起了广泛关注比如人体运动预测Liu et al. 2022、气候变化Ankrah et al. 2022以及交通流量预测Gao et al. 2022。视频预测的目标就是从之前的帧推测未来的帧。给定一个视频序列 Xt,T {xi }t t−T 1 在时间 t 有过去的 T 帧我们的目标是在未来 t 时刻预测事件序列 Yt,T {xi }t T t 其中包含接下来的 T′ 帧xi ∈ ℝC,H,W是一个具有 C 个通道、高度 H 和宽度 W 的图像。正式地预测模型是一个映射 Γ ∶Xt,T →Yt,T 具有可学习的参数通过以下公式优化其中 Φ 可以表示各种损失函数在我们的场景中我们特别使用均方误差 (MSE) 损失。5.2 深度学习应用 近年来针对视频本身的复杂性和未来的不确定性学者们通过引入各种新的神经算子例如各种 RNNWang 等2022、transformerRen 等2022、精炼结构Chang 等2022以及应用不同的训练策略包括对抗训练Chan 等2022等在视频领域取得了令人印象深刻的成果。为了评估预测的准确性以及预测视频的质量创建视频预测模型的过程也非常关键。目前大多数知名的视频预测模型如自编码器Baldi2012、循环神经网络Medsker 和 Jain2001、生成对抗网络Creswell 等2018都是基于深度学习提出的这为视频预测打开了新的可能性。大多数视频预测模型使用自编码器进行视频降采样和生成因为它们可以高效地进行编码压缩。Shi Shi 等2015提出了卷积 LSTMConvLSTM模型将 LSTM 的序列处理能力与 CNN 的空间特征表示能力结合起来能够解决时空序列预测问题。与各种循环神经网络在输入序列图像上采用卷积操作获取图像特征不同在循环神经网络应用于翻译等任务时输入是一维词向量而 ConvLSTM 可获取二维图像输入甚至可以根据任务输入三通道彩色图像即三维输入。在视频帧预测任务中ConvLSTM 以单通道 64×64 的数字序列图像作为输入。如图所示ConvLSTM 模型在图33中包含与LSTM模型相同的三个门控单元和一个隐藏层即输入门、遗忘门、输出门和一个隐藏层。主要区别在于在将输入与当前时间的隐藏层合并后会计算一层卷积这一点对于获取空间结构信息至关重要。随后王旺等人2017利用ConvLSTM单元开发了一个编码器用来收集视频帧中包含的时空数据并在视频预测任务中表现出色。Lotter 受到神经科学中“预测编码”Egner 和 Summerfield 2013的启发使用ConvLSTM单元构建了PrednetLotter 等人2016这是一个多层递归神经网络将每层预测产生的误差传递到下一层以确保网络最终层的正确性。ConvLSTM 和光流预测器在时空视频自编码器Patraucean 等人2015中被使用以记录随时间变化的情况。尽管ConvLSTM部分解决了从视频预测帧序列中收集和处理时空信息的问题并提高了预测准确性但它在生成模糊预测帧方面仍存在困难。王等人2019提出了一种结合三维CNN和LSTM的架构以从视频帧中区分各种活动旨在解决模型获取动态信息差、预测准确性低以及生成图像质量差的问题。实验数据显示王的模型在预测准确性方面优于其他模型。在条件VRNNCastrejon 等人2019中CNN编码器和RNN解码器被结合用于变量生成框架。根据CrevNetYu 等人2020用于保持信息特征转换的输入应使用基于CNN的归一化流模块进行编码和解码。与普遍看法相反完全基于CNN的架构并不像前面提到的模型那样广泛使用因为它的简单性经常需要使用高级模块和训练技巧来提升新颖性和性能例如对抗训练Yang 等2023、知识蒸馏Feng 等2023以及光流方法Sui 等2022。因此Gao 等人提出了 SimVP一种简单但有效的 CNN 视频预测模型Gao 等2022。SimVP 能够在无需复杂模块、技巧或手法的情况下实现 SOTA最先进水平的结果。它极低的计算成本也使其容易扩展到各种场景。SimVP 可作为一个可靠的基线并为进一步研究提供新的视角。均方误差MSE损失是一种端到端训练模型的方法它完全基于 CNN 构建。SimVP 模型的编码器、转换器和解码器都是完全由 CNN 构成。编码器用于空间特征提取转换器学习时间演变解码器则将空间和时间信息结合起来以预测未来帧。由于模型预测性能和精度的提高视频预测可能有更多的应用场景。首先深度学习训练的视频预测模型以前已用于动作识别和视频理解等领域。此外对于近年来取得重大进展的无人驾驶行业如果能够利用当前可获得的实时场景信息做出准确的未来场景预测无人驾驶汽车就能采取必要的预防措施并在最大程度上避免风险。在计算机视觉领域视频预测是一项有趣且具有挑战性的任务。大多数之前的模型能够成功预测某些基本场景。因此未来的研究可以从复杂情境入手如果能够对动态场景的概率分布进行建模和预测预测的准确性将会提高。6 CNN 的挑战深度 CNN 在处理具有类似网格拓扑的数据或时间序列数据时表现出强大的性能。然而在实际应用中深度 CNN 架构遇到了额外的困难。不同的研究人员对 CNN 在不同机器学习任务中的表现进行了有趣的讨论。下面列出了一些训练深度 CNN 模型时遇到的困难• 由于深度 CNN 通常像黑箱一样其解释和说明可能不足。因此有时验证它们会比较困难。• 超参数例如学习步长、步幅和滤波器的选择对 CNN 性能有很大影响。然而选择最佳超参数需要大量知识和技能并且这些超参数内部高度相关任何微小的改变都可能对最终的训练结果产生重大影响。因此仔细选择超参数是一个关键的设计挑战必须使用适当的优化技术来处理。在这种情况下可以利用元启发式算法根据先前的结果进行随机和定向搜索从而自动调整超参数。• 由于需要兼顾模型的准确性、大小和性能在移动设备上实现深度 CNN 模型是困难的。• 深度神经网络的训练需要大量的数据和计算能力。即使对不同任务使用相同的数据集数据标注也可能不同这使得手动收集大规模、有标注的数据集变得具有挑战性。这导致为特定任务创建的数据集的标注在劳动和时间成本上显著增加。数据集的标注质量还可能对模型训练的成功产生重大影响。因此创建大规模且精确标注的数据集已成为计算机视觉研究中的一个关键问题。通过使用无监督学习方法提取层次特征可以减少对大量标注数据的需求。同时进一步研究如何构建有效且可扩展的并行学习算法对于加速学习过程也至关重要。当评估 CNN 深度模型时需要大量内存来存储众多参数而且非常耗时这使得它们在资源有限的移动平台和其他便携设备上的部署变得不切实际。因此研究如何在不牺牲准确性的前提下让神经网络更快运行、降低复杂性就显得至关重要。• 尽管深度 CNN 在各种应用中表现出色但理论和数学基础仍然不足。随着深度学习技术的发展神经网络模型正朝着更深的层次和更多的参数规模演进。因此发现降低模型计算复杂度的策略非常关键这需要在理论和实验中不断优化。与此同时深度学习的数学理论并不完美目前的模型优化很大程度上依赖设计者的先验知识这不利于整个深度学习理论框架的发展。因此理解深度网络学到了哪些特征以及深度 CNN 的基本原理以实现高性能正成为一个日益突出的研究领域。7 未来方向将新颖的想法融入CNN架构的设计已经改变了研究重点特别是在计算机视觉领域。CNN架构的研究前景非常广阔未来最受欢迎的深度学习方法很可能会与它相关。• CNN研究的潜在方向之一是集成学习。通过提取不同层次的语义表示结合多种多样的架构可以帮助模型提高其在各种图像类别上的鲁棒性和泛化能力。• CNN及其变体广泛应用于各种计算机视觉应用然而大多数CNN架构都是针对特定用途量身定制的。性能更好的通用架构始终是需求Patel 等2022。• 人类视觉系统从图像中获取信息的关键过程是注意机制。此外注意机制可以从图像中提取关键信息并将其与其他视觉组件进行关联。在未来的研究中物体的空间相关性及其区分特征可以在后续的学习阶段中保留。• 通常通过增加网络规模来提升CNN的学习能力这可以在合理的时间内利用Nvidia DGX-2超级计算机实现。然而在内存使用和计算资源方面训练深度和大规模的架构仍然是一个重大负担。因此仍需要在硬件技术上进行大量改进以加速CNN研究。• 深度CNN有大量超参数如学习步长、步幅、滤波器等。超参数的选择以及深度网络的评估时间使得参数调优任务相当困难。在这种情况下可以使用元启发式算法通过基于先前结果进行随机和定向搜索来自动调节超参数。• 网络设计的未来是神经架构搜索由于人工网络设计耗时且劳动密集它的受欢迎程度不断上升。但由于训练周期长且占用大量内存资源它对实验环境有一定要求。• 人体活动识别是CNN领域的热门研究方向。参考文献中描述了用于人体活动和姿态识别的各种CNN变体Vishwakarma 和 Singh 2019Singh 和 Vishwakarma 2021Dhiman 和 Vishwakarma 2020。8 结论 CNN 在图像处理和视频相关任务上取得了令人印象深刻的进展这重新激发了学术界对深度学习的兴趣。在这方面已经进行了多项研究以提升 CNN 的性能包括激活、优化、正则化以及架构创新。本文回顾了 CNN 在计算机视觉中架构的研究进展特别是在图像分类、目标检测和视频预测方面。此外本文还涉及到CNN的基本要素、应用、挑战以及未来方向。我们已经展示了在分类、检测和预测方面CNN优于传统方法。通过利用深度和其他结构调整CNN的学习性能随着时间显著提升。根据近期文献CNN性能提升主要归因于将传统层结构替换为模块块。网络中的一个模块可以执行辅助学习器的功能。这些额外的学习器利用空间或特征图信息甚至增强输入通道以提升性能。此外CNN基于模块块的设计支持模块化学习使结构更容易理解。作为一篇综述本文不可避免地存在以下不足首先受文献范围和时间限制未能全面覆盖所有相关研究工作。对某些新兴领域或特定应用场景的研究可能未被涉及存在一定的研究盲点。其次考虑到主观因素的影响我们意识到本综述可能受到作者主观判断的影响从而对研究领域的客观性产生一定影响。因此在未来的研究中我们需要更仔细地筛选相关文献并更谨慎地处理主观因素以便更全面深入地理解和研究CNN在计算机视觉中的应用。