当前位置: 首页 > news >正文

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

然而,并不是所有的目标函数都像标准的碗一样。它们可能是坑、脊、平原,或者任何其他不规则的地形,这会让收敛变得困难。图15展示了梯度下降的两个主要挑战:如果在图像左侧随机选择初始值,它将收敛到一个比全局最小值更大的局部最小值。如果从右侧开始,它需要很长时间才能跨过平原,如果过早停止训练,它将永远到达不了全局最小值。为了解决梯度下降算法的各种问题,谷歌团队提出了批归一化(Batch Normalization, BN)的想法(Ioffe 和 Szegedy 2015)。BN是一种神经网络正则化技术,通过将特征图的值设置为零均值和单位方差来统一它们的分布。此外,BN层有助于缓解梯度消失和梯度爆炸的问题,提高网络对不同输入数据的适应性,加快神经网络的训练过程,并改善网络的泛化能力。它还避免了 ReLU 中的数据消亡问题,并且让权重初始化更容易。

图15 两个主要的梯度下降挑战

2.5 Dropout

Dropout 通过以预定的概率随机丢弃一些神经元或连接来帮助网络的正则化,这最终增强了泛化能力。这种随机丢弃部分连接或神经元的方式会产生几种稀疏的网络结构,然后从中选择一个权重较低的代表性网络。这个被选中的架构随后被视作所有提出的网络的近似(Srivastava 等,2014)。图16展示了全连接层和dropout层之间的区别。

图16 完全连接层与丢弃层的区别

2.6 全连接层
全连接层是一种全局操作,不同于卷积和池化,通常在网络的末端用于分类。像多层感知器神经网络(MLP)(Isabona 等,2022)一样,全连接层中的每个神经元都会与前一层中的所有神经元一一相连。当经过多次卷积和池化操作得到的特征映射足以识别图像特征时,接下来要考虑的就是如何执行分类。通常,CNN 会把最终得到的多个特征映射拉成一个长向量,然后送到全连接层,再到输出层进行分类。例如,对于一个图像三分类问题,CNN 的输出层会有三个神经元。此外,全连接层可以整合卷积或池化层中对类别有区分性的局部信息(Sainath 等,2013)。

3 图像分类

3.1 子任务说明
图像分类(Chandra 和 Bedi 2021)旨在根据图像中反映的各种属性区分不同类型的对象,比如花、人物和交通工具,是计算机视觉中的一个基本挑战。换句话说,计算机可以识别图像或视频中对象所属的类别。图像分类的主要流程包括对原始图像进行预处理、提取图像特征,以及使用预训练分类器对图像进行分类,其中图像特征的提取起着至关重要的作用。图像分类的数据流图如图 17 所示。传统的图像分类算法在简单分类任务中可以达到预期效果,但在复杂分类任务中的表现并不令人满意。CNN 使用卷积核从原始输入中提取特征,并能够从大量样本数据中自动学习特征表示,使训练好的模型相比传统手动提取特征的图像分类算法具有更强的泛化能力。

图17 图像分类的数据流图

3.2 AlexNet
LeNet 是由 LeCun 在 1998 年提出的(LeCun 等, 1998)。LeNet 是一个前馈神经网络,在五个交替出现的池化层和卷积层之后有两个全连接层。LeNet-5 是 LeNet 的扩展和改进版,增加了更多的卷积层和全连接层。如图 18 所示,LeNet-5 网络模型有七层。LeNet-5 可以共享卷积核,减少网络参数,在小规模的 MNIST 数据集上表现良好,并且准确率超过 98%。多亏了 LeNet 和 LeNet-5,CNN 首次被用于图像识别任务,它们也为后来的更深神经网络的创建提供了关键的经验和见解。David 等人在 1968 年的开创性论文中提出的概念成为了 LeCun 和他的同事实现的想法的基础(Hubel 和 Wiesel 1968)。对猴子条纹皮层的研究将细胞分为简单细胞、复杂细胞或超复杂细胞。研究发现较小的感受野、对刺激方向的敏感性增加,以及少数细胞具备颜色编码能力。证据支持研究的皮层中存在两个垂直柱状系统。第一种类型的柱子中,细胞共享感受野方向,这类似于猫的方向柱,但可能更小。第二种系统根据眼睛偏好将细胞组织在柱中,形成较大的眼优势柱。这两种系统的边界似乎是独立的。皮层表现出双重组织模式:垂直系统将具有共同特征的细胞沿线对齐,在叠加的马赛克中独立映射刺激维度。水平系统按层层次区分细胞,低阶(由单眼驱动的简单细胞)位于 IV 层附近,高阶位于上层和下层。这些研究结果不仅阐明了感受野和功能结构的组织特征,也为进一步研究大脑皮层区域的信息处理提供了重要基础。然而,由于当时硬件性能低和数据集不够丰富,LeNet 并不适用于复杂问题。2012 年,Krizhevsky 等提出了 AlexNet(Alom 等, 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 GoogLeNet

2014 年 ILSVRC 的冠军模型是 GoogLeNet(Khan 等,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 残差网络

当更深的神经网络开始收敛时,会出现退化问题:准确率会先增加到一个饱和点,然后随着网络深度增加迅速下降。然而,导致这种退化的原因是层数增加带来了更多的训练误差,而不是过拟合。在残差网络(ResNet,Wightman 等人,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 Networks(SENet,Jin等,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),专门针对移动和嵌入式应用。相比传统 CNN,MobileNetV1 显著减少了模型参数和计算工作量,同时准确率仅略有下降。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 等, 2009,Caltech-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)、虚拟现实(VR)(Xiong 等,2021)、智能视频监控(Huang 等,2021)等。在深度学习流行之前,目标检测算法依赖于传统的滑动窗口方法,并且是手动设计的。常用的特征描述符有Haar(Papageorgiou 等,1998)、Sift(Lowe 2004)、Surf(Bay 等,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-Net(Ma 等,2021)应用于目标检测,并改进了 R-CNN 的短板。对于由选择性搜索算法生成的候选区域,SPP-Net 将这些区域的坐标投影到最高卷积层输出的特征图的对应位置,然后将每个候选区域对应的特征输入空间金字塔池化层,以获取固定长度的特征表示。后续阶段与 R-CNN 类似,全连接层接收这些特征表示作为输入,线性支持向量机使用全连接层的特征输出进行分类,并利用边界框回归修正候选区域坐标。在 PASCAL VOC 数据集上,该网络达到了与 R-CNN 相似的精度,但测试总耗时显著减少,因为耗时的卷积操作仅需对每个输入图像执行一次。与 R-CNN 类似,SPP-Net 也存在一定局限:区域提议生成、特征提取和对象分类的多阶段训练过程较为复杂,并且衍生特征需要大量存储空间。此外,SPP-Net 忽略了网络模型其他层的参数,只调整全连接层。为了解决这些问题,Fast R-CNN(Girshick 2015)在 2015 年推出,其结构如图 29 所示。

相比 R-CNN 的 CNN,Fast 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-CNN(He等,2017),该模型整合了Faster R-CNN和FCN的概念。特征提取部分采用特征金字塔网络(FPN)架构,并将RoI池化层替换为RoI对齐池化层,同时添加了Mask预测分支。新的FPN架构提高了模型的多尺度特征提取能力,增强了小物体识别能力。然而,检测速度与Faster R-CNN相同,对于实时监控应用仍然不足。Cao在2020年提出了一种新型两阶段检测器D2Det(Cao等,2020),可以同时处理精准定位和精确分类的难题。该模型使用密集局部回归来估计物体的各种密集框偏移。密集局部回归不限于固定的一组量化关键点,还可以回归位置敏感的真实密集偏移,从而实现更精确的定位。为了提高分类准确性,采用判别性RoI池化(DRP)分别从第一阶段和第二阶段恢复精确的物体特征区域。

表 2 两阶段检测器的性能比较

4.3 代表性的一阶段检测器
一阶段检测器把输入图片分成若干个网格,每个网格负责预测落在该网格内的物体中心,而不是像传统方法那样使用预定义的锚点来确定物体区域。经过阶段处理后,就可以快速确定物体的类别和位置。然而,相比于两阶段检测器,这类方法的检测精度会略低。YOLO(你只看一次)算法就是这样算法的典型例子。第一次提出的一阶段物体检测算法是 YOLO(Redmon 等,2016)。YOLO 的基本思想是将图片划分为多个网格,对每个网格预测边界框坐标、框内物体以及对应的置信度,然后用非极大值抑制算法去掉重叠的框,得到最终预测框,实现物体检测。例如,如果需要识别的物体中心落在某个图像划分的网格内,该网格负责判断目标物体的类型和位置。与两阶段检测器相比,YOLO 作为实时物体检测器速度非常快。但它在准确预测边界框的大小和比例上存在困难,尤其是对于小物体检测,这导致定位和分类精度较低。它在物体只部分位于一个网格中的情况也表现不佳。2017 年,Redmon 提出了 YOLOv2(Redmon 和 Farhadi, 2017)。YOLOv2 在所有卷积层加入批量归一化层以加速模型学习,使用 DarkNet-19(Al-Haija 等, 2021)作为主干网络,并采用分类网络,即高分辨率分类器(Anuj 和 Gopalakrishna, 2020),先在高分辨率 ImageNet 数据集上进行预训练,再用目标数据集微调,以提升模型训练的稳定性。所有这些策略都显著提高了检测精度,同时保持了快速性。YOLOv3 以 DarkNet-53 作为特征提取主干网络,并在分类时使用 logistic 代替 softmax。预测通过 FPN 网络进行,前帧选择使用 k-means 聚类。在 YOLOv3(Redmon 和 Farhadi, 2018)中,选择了九帧前景,使用三张不同感受野的特征图来识别不同大小的物体。YOLOv4(Bochkovskiy 等, 2020)在输入图像上引入了马赛克数据增强。在特征提取方面,YOLOv4 集成了许多新技术,包括 CSPDarkNet53 和 mish 激活函数。YOLOv4 没有使用 FPN,而是采用了 SPP 和 PAN 来扩展感受野并进行特征融合。总体来说,YOLOv4 相比 YOLOv3 有了显著提升,并且具有较大的技术价值,因为它在深度学习领域的验证测试中引入了最新的研究方法。YOLOv5 的网络拓扑可以分为四个部分:输入、主干、颈部和预测。这使它与 YOLOv4 相当类似。在输入图片上,YOLOv5 采用自适应图像缩放、自适应锚框计算和马赛克数据增强。作为 YOLOv5 的创新点,主干部分采用了 focus 结构和 CSP 结构的结合,关键是切片操作。尽管 YOLOv5 目前使用的结构与 YOLOv4 相同,但在刚发布时,仅使用 FPN 结构。之后引入了 PAN 结构,同时对其他网络组件也进行了修改。虽然 YOLOv4 已经具有较高的检测精度,但 YOLOv5 的多种网络架构在实际实验中更加灵活。

在目标识别中,准确性和速度是两个关键的性能指标,如何平衡它们在工业实际应用中非常重要。YOLOv6(Li 等,2022)是为工业应用设计的,于2022年发布,它支持工业应用所需的整个链条,比如模型训练、推理和多平台部署,同时在网络结构、训练策略和其他算法层面进行了多项改进和优化。在主干网络、颈部、头部和训练方法方面,YOLOv6都优于早期模型。Li 基于 RepVGG 架构建立了一个可重新参数化且更高效的主干网络,灵感来自硬件感知神经网络设计的理念(Ding 等,2021)。训练方法采用无锚框范式,并为了进一步提高检测准确性,加入了 SimOTA(Ge 等,2021)标签分配技术和 SIoU(Gevorgyan 2022)边界框回归损失。在准确性和速度方面,YOLOv6 在 COCO 数据集上的表现超过了同体量的其他方法。Tan 提出了 EfficienDet(Tan 等,2020),基于 EfficienNet(Tan 和 Le,2019),旨在创建一个在检测速度和准确性之间取得平衡的模型。该模型引入了协同缩放策略,同时利用 EfficienNet 作为骨干网络和双向特征金字塔网络作为特征网络,实现快速多尺度特征融合。此外,还采用了加权的概念。联合缩放可以均匀地调整帧类别预测网络、特征网络和骨干网络的深度、宽度和分辨率,以获得最佳效果。Dong 介绍了 CentripetalNet(Dong 等人,2020)来解决基于关键点的检测器容易出现匹配错误的问题。这种方法比传统的嵌入方法更精确地匹配角点,并且该模型可以预测物体的角点位置和向心位移,从而匹配相应的角点。同时,还提出了交叉星形可变卷积,以最大化在角点池化层后生成的部分特征图中交叉星形特征的学习。在 COCO 数据集上,实验结果显示该模型比所有其他无锚框的目标检测器表现更好。数据集是训练和评估不同监督算法的重要标准。用于目标检测任务最常用的两个数据集是 PASCAL VOC(Shetty,2016)和 Microsoft COCO(Lin 等人,2014)。表 3 比较了一阶段检测器的性能。

通过让模型更复杂来优化网络结构可以提高方法的准确性,但这会降低训练和检测速度,使得满足实时检测的要求变得具有挑战性。因此,专注于准确性和速度的结合将是未来研究的方向。我们

同时提高物体识别的准确率和速度,以建立精度和速度之间的平衡,从而满足实际需求。这是通过将基于区域的算法的高准确性与基于回归的算法的高速度相结合来实现的。单个检测算法可能在任务A上表现出SOTA(最先进水平),但由于复杂的物体背景伴随大量噪声干扰、物体与背景颜色对比度低导致网络难以提取区分特征,以及小物体尺寸难以检测等因素,在其他任务上的表现可能不如预期。因此,针对每个检测任务的难点进行具体分析,有助于设计在特定任务上表现出SOTA的技术。在过去几年中,基于CNN的物体检测器进入了快速发展阶段,期间取得了一定成果,但仍有进一步发展的空间。以下提供了该领域的前沿问题和研究方向,以促进后续物体检测器的研究与改进。 (1) 弱监督和小样本检测:目前,物体检测模型是通过大规模实例标注数据训练的,而数据标注是一个耗时且劳动密集的工作。弱监督物体检测可以降低数据标注成本,并用少量标注数据高效训练网络。标注数据可以通过迁移学习从相关领域迁移过来,然后在目标领域使用少量标注数据进行训练,从而提升目标领域的物体检测能力。 (2) 多模态检测:为克服单一数据集类别的问题,可以融合来自多种模态的数据,如RGB图像、3D图像等,这对自动驾驶和智能机器人等领域至关重要。因此,如何融合不同模态的数据并训练相关检测模型以迁移到多模态数据,将成为未来研究的重点。 (3) 视频检测:视频检测存在较多问题,如冗余特征信息、视频焦点混乱、遮挡等,导致计算冗余和检测精度降低。因此,基于视频序列的物体检测算法研究将成为未来的研究方向之一。

5 视频预测

5.1 子任务说明

Transformer(Vaswani 等,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 深度学习应用 近年来,针对视频本身的复杂性和未来的不确定性,学者们通过引入各种新的神经算子,例如各种 RNN(Wang 等,2022)、transformer(Ren 等,2022)、精炼结构(Chang 等,2022),以及应用不同的训练策略,包括对抗训练(Chan 等,2022)等,在视频领域取得了令人印象深刻的成果。为了评估预测的准确性以及预测视频的质量,创建视频预测模型的过程也非常关键。目前大多数知名的视频预测模型,如自编码器(Baldi,2012)、循环神经网络(Medsker 和 Jain,2001)、生成对抗网络(Creswell 等,2018),都是基于深度学习提出的,这为视频预测打开了新的可能性。大多数视频预测模型使用自编码器进行视频降采样和生成,因为它们可以高效地进行编码压缩。Shi Shi 等(2015)提出了卷积 LSTM(ConvLSTM)模型,将 LSTM 的序列处理能力与 CNN 的空间特征表示能力结合起来,能够解决时空序列预测问题。与各种循环神经网络在输入序列图像上采用卷积操作获取图像特征不同,在循环神经网络应用于翻译等任务时输入是一维词向量,而 ConvLSTM 可获取二维图像输入,甚至可以根据任务输入三通道彩色图像,即三维输入。在视频帧预测任务中,ConvLSTM 以单通道 64×64 的数字序列图像作为输入。如图所示,

ConvLSTM 模型

在图33中,包含与LSTM模型相同的三个门控单元和一个隐藏层,即输入门、遗忘门、输出门和一个隐藏层。主要区别在于,在将输入与当前时间的隐藏层合并后,会计算一层卷积,这一点对于获取空间结构信息至关重要。随后,王旺等人(2017)利用ConvLSTM单元开发了一个编码器,用来收集视频帧中包含的时空数据,并在视频预测任务中表现出色。Lotter 受到神经科学中“预测编码”(Egner 和 Summerfield 2013)的启发,使用ConvLSTM单元构建了Prednet(Lotter 等人,2016),这是一个多层递归神经网络,将每层预测产生的误差传递到下一层,以确保网络最终层的正确性。ConvLSTM 和光流预测器在时空视频自编码器(Patraucean 等人,2015)中被使用,以记录随时间变化的情况。尽管ConvLSTM部分解决了从视频预测帧序列中收集和处理时空信息的问题,并提高了预测准确性,但它在生成模糊预测帧方面仍存在困难。王等人(2019)提出了一种结合三维CNN和LSTM的架构,以从视频帧中区分各种活动,旨在解决模型获取动态信息差、预测准确性低以及生成图像质量差的问题。实验数据显示,王的模型在预测准确性方面优于其他模型。在条件VRNN(Castrejon 等人,2019)中,CNN编码器和RNN解码器被结合用于变量生成框架。根据CrevNet(Yu 等人,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 2019;Singh 和 Vishwakarma 2021;Dhiman 和 Vishwakarma 2020)。

8 结论 CNN 在图像处理和视频相关任务上取得了令人印象深刻的进展,这重新激发了学术界对深度学习的兴趣。在这方面已经进行了多项研究,以提升 CNN 的性能,包括激活、优化、正则化以及架构创新。本文回顾了 CNN 在计算机视觉中架构的研究进展,特别是在图像分类、目标检测和视频预测方面。此外,本文还涉及到CNN的基本要素、应用、挑战以及未来方向。我们已经展示了在分类、检测和预测方面,CNN优于传统方法。通过利用深度和其他结构调整,CNN的学习性能随着时间显著提升。根据近期文献,CNN性能提升主要归因于将传统层结构替换为模块块。网络中的一个模块可以执行辅助学习器的功能。这些额外的学习器利用空间或特征图信息,甚至增强输入通道以提升性能。此外,CNN基于模块块的设计支持模块化学习,使结构更容易理解。作为一篇综述,本文不可避免地存在以下不足:首先,受文献范围和时间限制,未能全面覆盖所有相关研究工作。对某些新兴领域或特定应用场景的研究可能未被涉及,存在一定的研究盲点。其次,考虑到主观因素的影响,我们意识到本综述可能受到作者主观判断的影响,从而对研究领域的客观性产生一定影响。因此,在未来的研究中,我们需要更仔细地筛选相关文献,并更谨慎地处理主观因素,以便更全面深入地理解和研究CNN在计算机视觉中的应用。

http://www.cnnetsun.cn/news/3041443.html

相关文章:

  • 2026自学网安避坑:90%新手都会踩的6个大坑,看看你中招了没
  • 从 Android 16 QPR2 到 Android 17:GrapheneOS 移植过程中的代码冲突与解决策略
  • Tiled地图编辑器终极指南:从零开始打造专业级2D游戏地图
  • 中兴光猫配置解密工具终极指南:5分钟掌握网络调试核心技术
  • 博弈论实战:混合策略纳什均衡的求解与应用解析
  • 注塑件六大常见缺陷的成因分析与模流分析预判方法
  • MakerBot Replicator Z18 3D打印机:从开机到成品的全流程实战解析
  • Linux 有名管道阻塞非阻塞
  • 3步掌握unveilr:2025年小程序反编译完全指南
  • 企业做GEO优化到底在优化什么?拆解AI搜索推荐的底层机制
  • 从复杂配置到直观操作:OCAT如何重塑OpenCore管理体验
  • 3个技术突破让unveilr成为2025年最实用的小程序反编译工具
  • Obsidian Pandoc插件:如何实现Markdown笔记的20+格式一键转换
  • 实战指南:如何用EasyOCR从复杂背景中精准提取多语言文本区域
  • centos官方镜像源(`mirrorlist.centos.org`)已经彻底关闭,无法访问
  • 鹤壁宴席烟酒备,不浪费又体面
  • 2026闭眼入!5款AI论文工具实测,告别卡壳症,初稿思路秒打通!
  • BUUCTF 隐写术实战:从图片中剥离隐藏的Flag
  • 如何通过NVIDIA Profile Inspector解锁显卡隐藏性能:免费开源工具终极指南
  • IDEA创建Spring Boot项目卡在Generating…?99%开发者忽略的4个网络/代理/缓存致命细节(附JDK17+Spring 3.2兼容清单)
  • 终极指南:如何免费下载Steam创意工坊模组无需Steam账号
  • 从服务配置到设备接管:详解虚拟机调用PC内置麦克风与声卡的全链路实践
  • 终极指南:如何用MelonLoader解锁Unity游戏的无限可能
  • YOLO26 架构解析:新一代实时目标检测核心技术
  • MySQL(十四):事务隔离与 MVCC 原理
  • 实战剖析——Cobalt Strike钓鱼攻击链的构建与防御思考
  • DeepBump:从单张图片智能生成法线贴图与高度图的AI工具
  • 解锁开源工具:OpenCore Legacy Patcher重塑老旧Mac的终极指南
  • Cursor Free VIP终极指南:三步轻松解除AI编程助手试用限制
  • CVE-2023-22527漏洞深度剖析:Confluence OGNL注入与远程代码执行实战