模仿高效网络进行目标检测——知识蒸馏

2024-05-27 07:04

本文主要是介绍模仿高效网络进行目标检测——知识蒸馏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要

链接:https://openaccess.thecvf.com/content_cvpr_2017/papers/Li_Mimicking_Very_Efficient_CVPR_2017_paper.pdf
当前的基于卷积神经网络(CNN)的目标检测器需要从预训练的ImageNet分类模型中初始化,这通常非常耗时。在本文中,我们提出了一种全卷积特征模仿框架来训练非常高效的基于CNN的检测器,这些检测器不需要ImageNet预训练,并且能够达到与大而慢的模型相竞争的性能。我们在训练中增加对大网络高级特征的监督,以帮助小网络更好地学习目标表示。更具体地说,我们对整个特征图中采样的特征执行了一种模仿方法,并使用一个转换层将小网络的特征映射到大网络相同的维度。在训练小网络时,我们优化了从两个网络特征图的相同区域采样的特征之间的相似性。我们在行人和常见目标检测任务上进行了广泛的实验,使用了VGG、Inception和ResNet。在Caltech和Pascal VOC上,我们展示了修改后的 2.5 × 2.5 \times 2.5×加速的Inception网络达到了与完整Inception网络相竞争的性能。我们的快速模型在Caltech上仅以轻微的性能下降为代价,在 1000 × 1500 1000 \times 1500 1000×1500的大输入上达到了80 FPS的帧率。

1、引言

目标检测是图像理解中的一个基本问题。它的目标是确定图像中对象的位置以及每个对象所属的类别。已经提出了许多基于深度卷积神经网络的目标检测方法,如Faster R-CNN[28]、R-FCN[6]和SSD[25]。与传统的DPM[12]等方法相比,这些基于CNN的框架在具有挑战性的数据集上取得了良好的性能。

自从开创性的工作R-CNN[14]以来,基于CNN的目标检测器需要预训练的ImageNet分类模型进行初始化以获得所需的性能。根据[22]中的实验,从头开始训练的Fast R-CNN[13]在Pascal VOC 2007上得到了40.4%的mAP(平均精度均值),而使用ImageNet预训练的AlexNet则得到了56.8%的mAP。由于这种现象,几乎所有的现代检测方法都只能训练那些在ImageNet上预训练过的网络,而不能从头开始训练网络以达到可比较的结果。结果是,我们只能使用为分类任务设计的网络,如AlexNet[23]、ZFNet[35]、VGGNet[30]和ResNet[17],这些网络并不一定是最适合检测的。由于这种限制,如果我们想要遍历不同的网络配置并找到更高效的网络,我们需要在ImageNet分类任务上预训练这些模型,然后在检测任务上进行微调。考虑到在多个GPU上训练一个ImageNet分类模型也需要数周的时间,这个过程非常昂贵。此外,在实验中我们发现,较小的网络在ImageNet分类任务上始终表现不佳,因此将它们微调用于检测也会导致较差的检测性能。

在本文中,我们希望训练更高效的目标检测网络,而无需ImageNet预训练。更重要的是,我们仍然需要实现与大型ImageNet预训练模型相竞争的性能。基本思想是,如果我们已经有一个在检测方面达到满意性能的网络,那么这个网络就可以用来监督其他网络进行检测训练。问题就变成了如何使用一个检测网络来监督一个更高效的网络,并保持其检测准确性。

类似的想法已经在标准的分类任务中使用过,如[18,2]。然而,我们发现它们对于这种更复杂的检测任务效果并不理想。主要问题在于如何从检测的真实标签以及来自不同网络的监督中添加监督信息,以及在哪里添加这些监督信息。

我们在目标检测中提出的模仿解决方案来自于对现代基于CNN的检测器的观察,包括Faster R-CNN[28]、R-FCN[6]、SSD[25]和YOLO[27]。它们都计算一个特征图,然后使用不同的方法从特征图中解码检测结果。因此,检测器实际上可以被分为联合训练的特征提取器和特征解码器。大型网络和更高效的网络之间的差异在于特征提取器。为此,我们的理念是在特征提取器生成的特征图上添加模仿监督;在最终的特征解码器上添加真实标签监督。对于模仿监督,我们在小网络生成的特征图之上定义了一个变换,生成一个新的特征。我们想要最小化这个新特征与大型网络生成的特征之间的欧几里得距离。

对于真实标签监督,它与原始检测器相同,例如Fast R-CNN中的联合分类和定位损失。在训练过程中,我们首先提取由大型网络生成的每个训练图像的特征图,然后使用这些特征图和检测注释来联合训练从小型网络初始化的检测器。一个问题是特征图的维度非常高,我们发现直接模仿特征图并不会如预期那样收敛。由于特征提取器是基于区域或候选区域的,我们从区域中采样特征进行优化,这导致了令人满意的结果。

本文提出的特征图模仿技术可以自然地扩展。第一个扩展是我们可以跨尺度进行模仿。在基于CNN的检测中,如果我们能将输入图像的宽度和高度减半,那么只需要1/4的计算量。然而,这通常会导致性能显著下降。我们展示了可以定义一个简单的变换来将特征图上采样到较大尺度,然后模仿变换后的特征图。另一个扩展是我们可以将模仿技术扩展为一个两阶段过程,以进一步提高性能。
在这里插入图片描述

我们在Caltech行人检测和Pascal VOC目标检测任务上进行了实验,使用了R-FCN和Faster R-CNN。在Caltech和Pascal VOC上,我们都展示了模仿模型展示出了比从ImageNet预训练模型微调得到的模型更好的性能。如表1所示,参数只有1/4的模型达到了与完整Inception网络相似的性能,而更快的模型在Caltech检测任务上实现了4.5倍的加速和16倍的压缩,仅有微小的性能下降。

2、相关工作

相关工作包括最近基于CNN的目标检测、网络模仿和网络训练,以及网络加速。

一个开创性的基于CNN的目标检测方法是RCNN [14],它使用微调后的CNN从对象提议中提取特征,并使用SVM进行分类。空间金字塔池化 [16] 和Fast R-CNN [13] 在共享特征图的顶部提取特征,以加速R-CNN。Faster R-CNN [28] 通过在共享特征图中预测区域提议并对提议进行分类来进一步改进。最近的工作R-FCN [6] 提出了位置敏感得分图来共享更多计算。R-CNN系列将目标检测视为两步问题,包括区域提议生成和区域分类。最近,已经提出了一阶段方法,如YOLO和SSD。所有这些方法都需要计算特征图,这是计算中最耗时的部分。我们提出的模仿技术在Faster R-CNN和R-FCN上进行了验证,但可以自然地扩展到SSD、YOLO和其他基于CNN特征图的方法。

网络模仿或蒸馏是最近引入的模型加速和压缩方法,由[18,2]等人提出,旨在训练一个更紧凑的模型,使其能够从大型模型的输出中学习。[29] 通过实现更深的学生模型和从教师网络学习的中间表示中的提示来进一步改进这种方法。然而,据我们所知,所有这些模仿工作都仅在简单的分类任务上进行了验证 [18,2,29,33]。在本文中,我们展示了如何将模仿技术扩展到更具挑战性的目标检测任务中,并如何使用它来训练更高效的目标检测器。
已经有一些工作被提出来以提供更好的初始化或替代ImageNet预训练。[22] 设置网络的权重,以便网络中的所有单元以大致相同的速率进行训练,以避免梯度消失或爆炸。[1]和[8]从视频中学习无监督的表示,而[8]使用空间上下文作为训练的监督信号来源。这些方法比从头开始随机训练表现得更好,但它们与ImageNet预训练的方法之间仍然存在很大的性能差距。最近的工作[19]详细分析了ImageNet特征。

我们的工作也与网络加速相关。[7, 20, 24]通过线性分解加速CNN的单层,而[38]考虑了非线性近似。[34]使用量化来加速卷积操作。[15]结合了剪枝、量化和霍夫曼编码来压缩参数。[31,10,5,26]提出了使用二进制权重来近似网络。这些方法加速或压缩了给定的网络,但并没有改变网络结构本身。我们在本文中提出的模仿技术与这些方法正交,并且可以结合起来以实现进一步的加速。

3、对象检测的模仿学习

3.1、Logits 模仿学习

模仿学习的主要思想是从大型模型或大型模型集合的软目标或logits(softmax之前的预测)中训练一个小型神经网络。这些携带大型复杂模型学习到的有用信息的软目标,使得小型网络能够近似大型网络的复杂函数。如[2]所述,我们想要小型网络优化的目标损失函数是logits回归,并给出训练数据 { ( x ( 1 ) , z ( 1 ) ) , … , ( x ( T ) , z ( T ) ) } \left\{\left(x^{(1)}, z^{(1)}\right), \ldots,\left(x^{(T)}, z^{(T)}\right)\right\} {(x(1),z(1)),,(x(T),z(T))} L 2 \mathrm{L} 2 L2损失:

L ( W ) = 1 2 T ∑ t ∥ g ( x ( t ) ; W ) − z ( t ) ∥ 2 2 , \mathcal{L}(W)=\frac{1}{2 T} \sum_{t}\left\|g\left(x^{(t)} ; W\right)-z^{(t)}\right\|_{2}^{2}, L(W)=2T1t g(x(t);W)z(t) 22,

其中 W W W是神经网络的权重, g ( x ( t ) ; W ) g\left(x^{(t)} ; W\right) g(x(t);W)是模型对第 t t t个训练数据的预测。通过模仿大型模型的logits,大型复杂模型学习到的知识可以转移到小型快速模型中,从而使其能够达到与大型模型一样准确的结果。

据我们所知,模仿方法作为一种模型加速和压缩技术,仅被应用于分类任务[2,18]。我们想要将这一思想扩展到对象检测任务中,以训练小型快速的目标检测器。不同于分类任务中的单类别分数预测,目标检测网络通常预测整个图像的对象分数和对象位置。一个直观的想法是训练小型网络以匹配大型网络的两个输出。我们的实验表明,在目标检测框架中,通过这种简单的logits匹配方法很难将知识转移到小型模型中。模仿模型在仅由真实标签监督的训练数据上的表现,比从ImageNet预训练模型微调得到的模型更差。

3.2、特征图模仿学习

最近先进的目标检测算法[28, 25, 27]都是全卷积网络,这些网络将整张图像一次性通过深度卷积网络进行前向传播,然后在特征图上提取候选窗口的特征。在目标检测中,特征至关重要,因为物体的分数和位置都是基于特征图进行预测的。因此,在两个检测网络之间模仿输出特征图更为合理。

我们提出了一种特征图模仿方法,旨在训练小型模型来模仿大型模型在统一的全卷积网络目标检测流程中的特征图激活。这些特征来自神经网络的最后一个卷积层,不仅包含了响应强度的信息,还包含了它们的空间位置信息[16]。但与分类网络中softmax之前的logits不同,其维度与类别数量相关,全卷积网络的特征依赖于输入大小和网络架构,是高维度的。对于一个典型的 600 × 1000 600 \times 1000 600×1000 Pascal VOC图像通过VGG16模型后,网络的输出是一个维度达到百万级的特征。直接在这两个高维输出特征图之间进行回归是困难的。我们的实验结果表明,模型在训练过程中难以收敛。此外,特征图包含了整个图像的响应信息。在只包含少数对象或对象尺度都很小的图像中,特征图上的大部分区域只会有较弱的响应。如果我们直接在整个特征图上进行全局模仿学习,对象的对应关系信息可能会被忽略或降低。对于全卷积网络目标检测器来说,与全局上下文特征相比,对象所在局部区域的特征包含了更多对于目标检测具有代表性的信息。

因此,我们提出了一种新的全卷积网络特征模仿方法,通过模仿从提案区域中采样的特征来解决全卷积特征图的高维回归问题。基于提案采样的特征模仿方法还可以使小型网络更加关注从大型模型中学习感兴趣区域的特征,而不是全局上下文特征。通过使用空间金字塔池化[16],可以从小型网络和大型网络的特征图中根据不同比例和大小的边界框来采样局部区域特征。然后,通过后续的变换层[29],将小型网络特征图上的采样特征回归到与大型模型相同的维度。小型网络意图最小化的损失函数定义为

L ( W ) = λ 1 L m ( W ) + L g t ( W ) , L m ( W ) = 1 2 N ∑ i ∥ u ( i ) − r ( v ( i ) ) ∥ 2 2 , L g t ( W ) = L d s ( W ) + λ 2 L r e g ( W ) , \begin{array}{c} \mathcal{L}(W)=\lambda_{1} \mathcal{L}_{m}(W)+\mathcal{L}_{g t}(W), \\ \mathcal{L}_{m}(W)=\frac{1}{2 N} \sum_{i}\left\|u^{(i)}-r\left(v^{(i)}\right)\right\|_{2}^{2}, \\ \mathcal{L}_{g t}(W)=\mathcal{L}_{d s}(W)+\lambda_{2} \mathcal{L}_{r e g}(W), \end{array} L(W)=λ1Lm(W)+Lgt(W),Lm(W)=2N1i u(i)r(v(i)) 22,Lgt(W)=Lds(W)+λ2Lreg(W),

其中, L m \mathcal{L}_{m} Lm 是特征模仿的 L 2 \mathrm{L} 2 L2损失, L g t \mathcal{L}_{g t} Lgt 是[13]中描述的区域提案网络的分类和回归损失函数, λ 1 \lambda_{1} λ1 λ 2 \lambda_{2} λ2 是损失权重平衡参数。 N N N 是我们采样的提案总数, u ( i ) u^{(i)} u(i) 是基于第 i th  i^{\text {th }} ith  个提案,通过空间金字塔池化从大型模型的特征图中采样的特征。 v ( i ) v^{(i)} v(i) 是小型网络的采样输出特征, r r r 是将 v ( i ) v^{(i)} v(i) 变换到与 u ( i ) u^{(i)} u(i) 相同维度的回归函数。通过优化这个损失函数,小型网络可以在真实标签和来自大型模型的额外监督下进行训练。
关于模仿损失的一个潜在问题是,在训练过程中,其值可能会变得很大,因此必须在特征监督和真实标签的监督之间仔细设置平衡权重参数,以更好地优化网络。此外,空间金字塔池化在进行池化过程中可能会导致信息丢失。

因此,我们进一步改进了模仿目标损失函数,通过实现区域提案中提取的特征的L2损失,并在计算损失时进行归一化。之后,训练过程变得更加稳定,我们可以简单地将平衡权重设置为1。新的模仿损失函数定义如下:

L m ( W ) = 1 2 N ∑ i 1 m i ∥ u ( i ) − r ( v ( i ) ) ∥ 2 2 , \mathcal{L}_{m}(W)=\frac{1}{2 N} \sum_{i} \frac{1}{m_{i}}\left\|u^{(i)}-r\left(v^{(i)}\right)\right\|_{2}^{2}, Lm(W)=2N1imi1 u(i)r(v(i)) 22,

其中, m i m_{i} mi 是通过第 i th  i^{\text {th }} ith  个区域提案提取的特征的维度。与方程(3)中将特征提取并池化到相同维度不同,这里的特征直接从特征图中提取,并且每个区域提案的特征维度都是不同的。

3.3、网络架构和实现细节

我们在最先进的目标检测框架Faster-RCNN[28]和R-FCN[6]上集成了特征图模仿方法。训练过程可以分为两个阶段。第一阶段是使用特征模仿方法训练一个区域提案网络(Region Proposal Network,RPN)。RPN本身可以看作是一个有效的提案生成器,同时也是一个单类别目标检测器。对于一般的目标检测任务,我们可以首先训练RPN,然后在第二阶段在其基础上联合微调Faster-RCNN网络或R-FCN网络。
在这里插入图片描述

特征模仿训练的框架如图1所示。一个大型的Faster-RCNN或R-FCN网络通过常规方式训练,通过训练数据上的真实标签监督来优化softmax损失和平滑的L1损失。特征模仿架构包含两个网络。大型网络使用预训练好的检测网络的权重进行初始化,并在训练过程中固定其层。小型网络则随机初始化。在小型网络的末尾添加一个区域提案网络来生成目标提案。最初,整个图像会同时通过两个网络以产生两个不同的特征图。给定小型网络上RPN生成的提案区域,采样器将在大型网络和小型网络的特征图上提取提案区域的特征。整个框架通过方程(5)定义的损失进行端到端的训练。在我们的训练中,所有损失权重( λ 1 \lambda_{1} λ1 λ 2 \lambda_{2} λ2)都设置为1。

在第二阶段,我们从训练数据集上的区域提案网络微调一个Faster R-CNN或R-FCN检测网络,并随机初始化所有新添加的层。推理过程与原始的Faster-RCNN或R-FCN相同,没有增加任何参数。我们的实现使用了Caffe[21]。

3.4、两阶段模仿

在第二阶段仅通过真实标签的监督进行微调可能会降低在第一阶段通过模仿学到的特征。Faster-RCNN或R-FCN检测器的预测可以被视为一个分类任务。因此,我们可以在检测流程的第二阶段添加逻辑匹配监督,以进一步将大型检测模型的知识转移到小型模型上。此外,通过两阶段模仿,不仅可以将与提案相关的信息传递给小型网络,还可以将大型模型学到的类别分类信息传递给小型网络。来自大型模型的更丰富信息可以进一步帮助小型网络模仿大型模型。我们可以简单地从模仿的区域提案网络微调检测网络,并添加预测的分类逻辑和边界框回归值的L2回归损失。实验结果表明,两阶段模仿在第二阶段微调模仿的RPN模型的基础上,进一步提高了小型网络的性能。

3.5. 跨尺度的模仿

我们进一步扩展了特征图模仿,以改善在减小输入大小时的检测性能。除了网络复杂度之外,输入图像尺度也是目标检测框架速度的一个关键因素。目标检测器在小尺度对象上的表现较差[9]。在Caltech数据集上的实验表明,在 480 × 640 480 \times 640 480×640像素上训练和测试的检测器远不如在 1000 × 1500 1000 \times 1500 1000×1500像素上训练和测试的检测器。虽然提出了多尺度测试[13]、层次特征融合[3]和空洞算法[4]等技术来提高小目标的检测性能,但在推理时间上也会带来较大的时间成本增加。

检测中小尺度性能下降的主要原因是,在卷积网络下采样后,小目标的特征在最终的特征图中变得非常小。特征模仿本质上是通过特征回归训练,以实现两个特征图之间的某种激活相似性。我们可以简单地在最终的特征图上添加一个反卷积层来放大特征图,然后模仿大输入网络的特征图以提高性能。
在这里插入图片描述

如图2所示,图像通过一个步长为16的网络传递,生成一个特征图;同一图像尺寸减半后通过步长为8的网络传递,生成一个类似大小的特征图。然后我们在训练过程中对这两个特征图执行特征图模仿方法。我们的实验表明,给定小尺度的输入,模仿方法可以显著提高检测器的性能。

4、实验

我们在Caltech行人检测基准[9]和PASCAL VOC 2007对象检测基准[11]上全面评估了我们的方法。

4.1、在Caltech上的实验

在Caltech上,我们使用[37]提供的新注释的 10 × 10 \times 10×训练数据训练我们的模型,并选择仅包含训练数据集中真实边界框的图像,总共有约 9 k 9\mathrm{k} 9k张图像。标准测试集包含4024帧,用于在新注释下的合理评估设置下进行评估。我们遵循[37],使用的评估指标是每图假阳性(FPPI)在 [ 1 0 − 2 , 1 0 0 ] \left[10^{-2}, 10^{0}\right] [102,100]范围内的对数平均漏检率(表示为 M R − 2 M R_{-2} MR2)和在 [ 1 0 − 4 , 1 0 0 ] \left[10^{-4}, 10^{0}\right] [104,100]范围内的对数平均漏检率(表示为 M R − 4 M R_{-4} MR4)。

在模仿学习流程中,小网络的性能直接取决于大模型。因此,在实验中训练一个高性能的大模型是很重要的。我们实现了区域提案网络(Region Proposal Network)和R-FCN检测框架,并基于GoogLeNet Inception网络架构[32]在Caltech上取得了具有竞争力的检测结果。

在Caltech数据集上使用原始图像大小 640 × 480 640 \times 480 640×480像素来联合训练Region Proposal Network(RPN)和R-FCN检测网络,很难达到当前最先进方法[36]的性能。该方法的 M R − 2 M R_{-2} MR2仅为 14.64 % 14.64\% 14.64%。考虑到Caltech数据集中大多数行人的高度都低于80像素,这对检测器来说是一个相当大的挑战,我们将图像重新缩放,使其较短的边为1000像素。我们在单尺度图像上训练和测试RPN和R-FCN网络。对于RPN锚点,我们使用2种长宽比 2 : 1 , 3 : 1 2:1, 3:1 2:1,3:1和3种尺度,框的面积分别为 4 2 , 8 2 , 1 6 2 4^{2}, 8^{2}, 16^{2} 42,82,162。RPN和R-FCN网络在预训练的ImageNet分类模型上联合训练,这是标准做法。我们微调Inception网络的所有层,并且所有新层都按照[28]中的描述进行随机初始化。我们在前 30 k 30\mathrm{k} 30k个mini-batches中使用0.001的学习率,在接下来的 10 k 10\mathrm{k} 10k个mini-batches中使用0.0001的学习率。动量设置为0.9,权重衰减为0.0005。如表2所示,最终的检测结果为 M R − 2 = 7.15 % M R_{-2}=7.15\% MR2=7.15%。Region Proposal Network可以视为单类别检测器,因此我们在实验中也报告了RPN独立运行的性能。
在这里插入图片描述

考虑到我们不是要考察哪种网络架构在对象检测任务上表现更好,而是想研究特征模仿方法是否可以提高小网络的性能。因此,我们在实验中使用了简单设计的小网络结构。我们在实验中使用的小网络是修改过的Inception网络。 1 / n 1/n 1/n-Inception网络表示与Inception网络具有相同深度的网络,但其每个卷积层仅包含Inception网络滤波器数量的 1 / n 1/n 1/n。我们在实验中模仿的特征图是Inception-4d层的输出。不同R-FCN网络的测试时间列在表3中。
在这里插入图片描述

首先,我们评估了第3.1节和第3.2节中提到的朴素logits模仿和整个特征图回归模仿方法。在对象检测中的朴素logits模仿是优化两个区域提案网络之间的软目标和预测回归值之间的L2损失。整个特征图回归则是将小网络训练为两个高维特征的回归问题。logits模仿和整个特征图回归模仿的结果如表4所示。与大型模型相比,模仿的模型在性能上有很大的下降。小网络很难通过简单的logits匹配或全局特征回归来模仿大型模型。
在这里插入图片描述

接下来,我们按照第3.3节中描述的基于提案采样的特征图模仿方法架构,在Caltech数据集上端到端地训练 1 / 2 1/2 1/2-Inception网络。在第一阶段,我们使用 1 / 2 1/2 1/2-Inception网络来模仿由预训练的Inception RPN特征图提取的特征,这些特征是由 1 / 2 1/2 1/2-Inception网络在训练过程中生成的区域提案提取的。我们在两个网络的特征图上使用128个RoI(感兴趣区域)来采样特征,RoI中正样本和负样本的比例为1:1。Inception RPN和模仿的 1 / 2 1/2 1/2-Inception RPN的结果对比如表5所示。模仿模型仅使用 1 / 4 1/4 1/4的参数就达到了与大型模型相当的性能,但速度快了 2.5 2.5 2.5倍。

在第二阶段,我们根据第一阶段训练的Region Proposal Network微调R-FCN网络。由于RPN层在第一阶段已经训练得足够好,所以RPN层的学习率被设置为新添加层的 1 / 10 1/10 1/10。在R-FCN中,RoI的输出大小被设置为 7 × 7 7 \times 7 7×7。第二阶段微调的结果可以在表6中找到。模仿+微调网络在 M R − 2 M R_{-2} MR2指标上达到了与大型网络相似的性能,甚至在 M R − 4 M R_{-4} MR4指标上获得了更好的性能。
在这里插入图片描述

为了比较特征模仿方法与直接使用真实标签监督在训练数据集上训练模型的传统方法,我们从零开始训练了一个 1 / 2 1/2 1/2-Inception R-FCN。如[14]所述,在ImageNet分类任务上预训练的模型进行微调后的性能,通常比从头开始训练的模型性能更好。因此,我们还在ImageNet数据集上预训练了一个 1 / 2 1/2 1/2-Inception网络,并从预训练模型微调R-FCN检测网络。结果如表6和图3所示。结果显示,通过特征模仿学习训练的模型在 M R − 2 M R_{-2} MR2 M R − 4 M R_{-4} MR4指标上均表现出优于从头开始训练的模型和从ImageNet预训练模型微调后的模型。
在这里插入图片描述

我们进一步在不同的较小网络上进行了实验。表7的实验结果证明了特征模仿方法通常可以提高不同小网络的性能。模仿模型与从头开始训练的模型之间存在较大的性能差距。像 1 / 4 1/4 1/4-Inception和 1 / 8 1/8 1/8-Inception这样的小型网络在ImageNet数据集上很难训练。通过特征模仿来训练小型网络更为高效。 1 / 4 1/4 1/4-Inception网络,其参数量约为Inception网络的 1 / 16 1/16 1/16,但仍能达到与大型网络相当的性能。
在这里插入图片描述

我们还训练了另一个基于VGG网络的大型R-FCN检测器和基于ResNet网络的Faster R-CNN模型,以评估特征模仿方法的泛化能力。表8和表14的结果表明,特征模仿方法可以帮助训练一个小型网络来模仿一个具有完全不同网络架构的大型模型。模仿的 1 / 2 1/2 1/2-Inception模型在性能上与大型模型相似,但在推理时快了 10 10 10倍。同时,对于相同的小型网络,大型模型的性能对于模仿学习也很重要。从Inception模型模仿的模型性能优于从VGG模型模仿的模型,因为Inception模型在性能上优于VGG模型。
在这里插入图片描述

除了从第一阶段得到的模仿模型微调R-FCN之外,我们还在训练过程中同时使用真实标签和大型网络的logits来监督小型网络的R-FCN训练。实验证明,两阶段模仿学习在表9中进一步提高了小型模型的性能。
在这里插入图片描述

输入图像的大小对于目标检测器的性能至关重要。如表10所示,当输入图像大小为 480 × 640 480 \times 640 480×640时,Inception R-FCN模型在Caltech上的 M R − 2 M R_{-2} MR2仅为 14.64 % 14.64\% 14.64%。仅仅在最终特征图的顶部添加一个反卷积层并不能带来任何性能提升。我们在具有较大输入的网络的特征和具有较小输入但在特征图顶部添加了反卷积层进行上采样的网络的特征上实施了特征图模仿方法。实验结果表明, M R − 2 M R_{-2} MR2有了显著的下降,而时间成本仅略有增加( 3.5 ms 3.5 \text{~ms} 3.5 ms)。

4.2、在PASCAL VOC上的实验

为了评估我们的特征模仿学习方法在不同检测框架和更复杂的常见目标检测任务上的性能,在本节中,我们介绍了基于Faster R-CNN框架的PASCAL VOC[11]常见目标检测基准的模仿学习方法。实验结果表明,我们的特征模仿方法可以很好地泛化到不同的检测框架和目标检测任务上。

遵循[28]中的方法,对于PASCAL VOC 2007测试集,我们使用VOC 2007中的 5 k 5 \text{k} 5k张trainval图像和VOC 2012中的 16 k 16 \text{k} 16k张trainval图像进行训练(07+12)。训练Faster R-CNN的超参数与[28]中相同。我们在训练数据集上联合训练一个区域提案网络(Region Proposal Network, RPN)和Fast R-CNN模型作为我们想要模仿的大型模型。由于篇幅限制,我们只报告了实验的mAP(平均精度均值)。更详细的结果可以在附录中找到。我们基于Inception网络架构训练的大型模型在VOC 2007测试集上达到了 75.7 % mAP 75.7\% \text{mAP} 75.7%mAP。在模仿训练过程中,我们首先在第一阶段从大型模型中模仿一个小型RPN,然后在第二阶段从这个预训练模型微调Faster R-CNN,或者使用两阶段模仿技术来训练常见目标检测模型。
在这里插入图片描述

在PASCAL VOC上的模仿实验与Caltech类似,只不过PASCAL VOC是一个常见的目标检测任务。在第一阶段我们模仿的区域提案网络(Region Proposal Network, RPN)只能预测与类别无关的提案,因此我们通过每幅图像最多给出的300个提案的召回率来评估使用模仿方法训练的RPN的性能。为了更全面的评估,我们还报告了当将IoU阈值设置为0.7时真正例的召回率。我们期望更严格的评估可以用于不同提案模型之间更好的性能比较。第二阶段训练的对象检测器则使用mAP(平均精度均值)进行评估。第一阶段模仿的RPN模型达到了与大型模型相似的召回率,并且优于从头开始训练或从ImageNet预训练模型微调得到的模型(如表11所示)。
在这里插入图片描述

在第二阶段,我们基于第一阶段训练的RPN模型微调了一个Faster R-CNN。基于 1 / 2 1/2 1/2-Inception的Faster R-CNN模型性能优于从ImageNet预训练模型微调得到的模型,并且远胜于从头开始训练的模型。结果如表12所示。

我们进一步对更小的模型进行了实验。在ImageNet分类任务上训练小型模型是困难的。因此,我们将使用模仿方法训练的模型与在训练数据集上从头开始训练的模型进行了比较。使用模仿方法训练的模型远胜于从头开始训练的模型,如表13所示。此外,实验还表明,两阶段模仿可以进一步提高模仿方法的性能。
在这里插入图片描述

我们还在表15中展示了在提取器不同位置进行模仿的实验。结果表明,模仿最后一个共享特征图是最好的选择。

5、结论

在本文中,我们提出了一种特征模仿方法来进一步将模仿方法扩展到目标检测任务中。通过大型网络特征的监督,我们可以从头开始训练网络,实现比从ImageNet预训练模型微调更好的性能。此外,我们的方法使得训练出与大型模型一样准确但更快、更紧凑的检测模型成为可能。在Caltech和PASCAL VOC上的实验中,通过模仿训练得到的参数仅为大型Inception模型 1 / 4 1/4 1/4、速度提升 2.5 2.5 2.5倍的模型,实现了与大型模型相似的性能。基于特征图的模仿方法有可能扩展到其他基于全卷积网络的任务中,如语义分割,这将是未来的工作方向。

这篇关于模仿高效网络进行目标检测——知识蒸馏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1006773

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X