Very Deep Convolutional Networks for Large-Scale Image Recognition 论文翻译

百度网盘https://pan.baidu.com/s/1vWMMCnQD6Q1_FEBilqqefg?pwd=xm72(提取码xm72)

原文地址https://arxiv.org/abs/1409.1556

用于大规模图像识别的高深度卷积网络

Karen Simonyan & Andrew Zisserman

牛津大学 工程科学系 视觉几何组

{karen,az}@robots.ox.ac.uk

ABSTRACT 摘要

     在该项目中,我们研究了卷积网络深度对其在大规模图像识别环境下对其精度的影响。我们的主要成果是使用具有非常小(3×3)的卷积滤波器对深度增加的网络进行的全面评估,这表明通过将深度推向16-19层可以实现现有配置的显著提升。这些发现是我们提交2014年ImageNet挑战赛论文的基础,而我们的团队分别在定位和分类方向获得了第一名和第二名。我们也展示出了我们的成果对于其他数据集良好的可推广性,都取得了最前沿的成果。我们已经公开了我们的两个表现最好的ConvNet(卷积神经网络)模型,以促进在计算机视觉中对深度视觉表示的进一步研究。

1 INTRODUCTION 引入

·

  卷积神经网络(ConvNets)最近在大规模图像与视频识别(Krizhevsky等, 2012;Zeiler & Fergus, 2013;Sermanet 等, 2014;Simonyan & Zisserman, 2014)中已经收获了极大的成功,这得益于大型公共图像存储库(如ImageNet(Deng等,2009))和高性能计算系统的出现(如GPU或大规模分布式集群(Dean等,2012))。特别是,ImageNet大规模视觉识别挑战(ILSVRC)(Russakovsky等,2014)在深度视觉识别架构的进展中发挥了重要作用,它已经成为了一些大规模图像分类系统的测试平台,从高维浅层特征编码(Perronnin等,2010)(ILSVRC-2011的获胜者)到深度卷积神经网络(ConvNets )(Krizhevsky等,2012)(ILSVRC-2012的获胜者)。

  随着卷积神经网络在计算机视觉领域变得越来越流行,人们已经做出了许多尝试来改进(Krizhevsky等人(2012))原始架构以获得更高的精度。例如,对ILSVRC-2013(Zeiler和Fergus,2013;Sermanet等人,2014)的最佳论文使用了较小的感受野窗口尺寸和第一卷积层的较小的步长。另一类改进涉及在整个图像和多个尺度上对网络进行密集的训练和测试(Sermanet等人,2014;Howard,2014)。在本文中,我们研究了卷积神经网络架构设计的另一个重要方面,即其深度。为此,我们固定了该架构的其他参数,并通过增加更多的卷积层来稳步增加网络的深度,这是可行的,因为在所有层中都使用了非常小的(3×3)卷积滤波器。


  结果,我们提出了明显更精确的ConvNet架构,这不仅在ILSVRC分类和定位任务上实现了最先进的精度,而且还适用于其他图像识别数据集,即使在作为相对简单流程的一部分使用时(例如:由线性SVM分类的深度特征而未经微调),也能实现出色的性能。我们已经发布了我们的两个表现最佳的模型1以促进进一步的研究。

  论文的其余部分组织如下。在第2节中,我们描述了我们的卷积神经网络配置。然后,在第3节中详细介绍了图像分类训练和评估的细节,并在第4节中比较了ILSVRC分类任务的配置。第5节总结了这篇论文。为了完整性,我们还在附录A中描述和评估了我们的ILSVRC-2014目标定位系统,在附录B中讨论了非常深层次特征在其他数据集上的推广。最后,附录C列出了主要的论文修订版。

2卷积神经网络配置

为了在一个公平的环境中衡量增加卷积神经网络深度所带来的改进,我们所有的卷积神经网络层配置都采用相同规格设计,灵感来源于Ciresan等人(2011);Krizhevsky等人(2012)。在本节中,我们首先描述了我们卷积神经网络配置的通用设计(第2.1节),然后详细说明了用于评估的具体配置(第2.2节)。然后我们在第2.3节讨论了我们的设计选择,并将其与先前的研究进行了比较。

2.1 结构

在训练过程中,输入到我们的卷积神经网络(ConvNets)的是固定大小的224 × 224 RGB图像。我们唯一进行的预处理是从每个像素中减去在训练集上计算的RGB平均值。图像通过一个卷积(conv.)层,我们使用3 × 3的滤波器,其感受野非常小(这是捕捉左/右、上/下、中心概念的尺寸最小的滤波器)。在其中一个配置中,我们还使用了1 × 1卷积滤波器,这可以看作是输入通道的线性变换(后面跟着非线性)。卷积步长固定为1个像素;卷积层输入的空间填充是这样设计的,使得卷积后的空间分辨率保持不变,即对于3 × 3 卷积层,填充为1个像素。空间池化由五个最大池化层组成,这些层跟随着一些卷积层(并非所有卷积层都跟随最大池化)。最大池化在2 × 2像素窗口上执行,步长为2。

不同架构有不同深度的卷积层堆栈后面跟着三个全连接(FC)层:前两个各有4096个通道,第三个执行1000维 ILSVRC分类,因此包含1000个通道(每个类一个通道)。最后一层是soft-max层。所有网络的全连接层配置相同。

所有隐藏层都配备了非线性修正(ReLU(Krizhevsky等人,2012))。值得注意的是,我们的网络(除一个网络外)都不包含局部响应归一化(LRN)(Krizhevsky等人,2012):将在第4部分中所示,这样的归一化不会改善ILSVRC数据集的性能,但会导致内存消耗和计算时间的增加。LRN层的参数是(Krizhevsky等人,2012)中的参数。

2.2 配置

 本论文评估的卷积神经网络配置在表1中列出一份,每一列一种配置。接下来,我们将使用它们(A-E)的名称进行讨论。所有配置均遵循第2.1节中介绍的通用设计,且只在深度上有所不同:从网络A中的11层(8个卷积层和3个全连接层)到网络E中的19层(16个卷积层和3个全连接层)。卷积层的宽度(通道数)相对较小,从第一层的64开始,然后在每个最大池化层之后增加2倍,直到达到512。

(表格1)卷积神经网络配置(按列显示)。

配置的深度从左到右(A)增加到右(E),随着添加的层的增多(添加的层以粗体显示)。卷积层参数表示为“conv〈感受野大小〉-〈通道数〉”。简洁起见,未显示ReLU激活函数。

ConvNet Conguration

A

A-LRN

B

C

D

E

11 weight layers

11 weight layers

13 weight layers

16 weight layers

16 weight layers

19 weight layers

input (224     224 RGB image)

conv3-64

conv3-64

LRN

conv3-64

conv3-64

conv3-64 conv3-64

conv3-64 conv3-64

conv3-64 conv3-64

maxpool

conv3-128

conv3-128

conv3-128

conv3-128

conv3-128 conv3-128

conv3-128 conv3-128

conv3-128 conv3-128

maxpool

conv3-256 conv3-256

conv3-256 conv3-256

conv3-256 conv3-256

conv3-256 conv3-256

conv1-256

conv3-256 conv3-256

conv3-256

conv3-256 conv3-256 conv3-256

conv3-256

maxpool

conv3-512 conv3-512

conv3-512 conv3-512

conv3-512 conv3-512

conv3-512 conv3-512

conv1-512

conv3-512 conv3-512

conv3-512

conv3-512 conv3-512 conv3-512

conv3-512

maxpool

conv3-512 conv3-512

conv3-512 conv3-512

conv3-512 conv3-512

conv3-512 conv3-512

conv1-512

conv3-512 conv3-512

conv3-512

conv3-512 conv3-512 conv3-512

conv3-512

maxpool

FC-4096

FC-4096

FC-1000

soft-max

表2中我们报告了每种配置的参数数量。尽管深度很大,但我们的网络的权重数量并不大于具有更大卷积层宽度和感受野的较浅网络的权重数量(Sermanet等人,2014中144M的权重)。

(表格2)参数数量(以百万计)

Network

A,A

-LRN

B

C

D

E

Number of parameters

133

133

134

138

144

2.3 讨论

   我们的卷积神经网络配置与ILSVRC-2012(Krizhevsky等人,2012)和ILSVRC-2013比赛(Zeiler和Fergus,2013;Sermanet等人,2014)中表现最佳的参赛作品的配置有很大不同。我们没有在第一卷积层中使用相对较大的感受野(例如(Krizhevsky等人,2012)中步长为4的11×11,或(Zeiler和Fergus,2013;Sermanet等人,2014)中步长为2的7×7),而是使用非常小的3 × 3感受野贯穿整个网络,并以每个像素处的输入进行卷积(步长为1)。很容易看出,两个3×3卷积层(之间没有空间池化)的有效感受野为5×5;三个这样的层具有7 × 7的有效感受野。那么,使用例如三个3×3卷积层堆叠而不是一个7×7层,我们获得了什么呢?首先,我们将三个非线性ReLU激活函数层融合在一起,而不是单一的一个,这使得决策函数更加独特。其次,我们减少了参数的数量:假设三层3×3卷积堆栈的输入和输出都有C个通道,该堆栈由3(32C2)=27C2个权重参数表示;与此同时,单个7×7卷积层需要72C2 =49C2个参数,即多出81%。这可以看作是对7×7卷积过滤器施加了一种正则化,迫使它们通过3×3过滤器进行分解(并在其之间注入非线性)。

小型卷积滤波器以前由Ciresan等人(2011)使用过,但他们的网络比我们的网络要浅得多,并且他们没有在大型ILSVRC数据集上进行评估。 Goodfellow等人(2014)将深度卷积神经网络(11个权重层)应用于街道号码识别任务,并表明增加深度可以提高性能。 GoogLeNet(Szegedy等人,2014)是ILSVRC-2014分类任务中表现最佳的参赛作品,它是独立于我们的工作开发的,但与我们类似的是,它基于非常深的卷积神经网络(22个权重层)和小型卷积滤波器(除了3 × 3,他们还使用1 × 1和5 × 5卷积)。然而,他们的网络拓扑比我们的更复杂,并且在第一层中更积极地降低了特征图的空域分辨率以减少计算量。如第4.5节所示,我们的模型在单网络分类准确度方面超过了Szegedy等人(2014)的模型。

  

3 分类框架

在上一部分中,我们介绍了网络配置的细节。 在这一部分中,我们描述了分类卷积神经网络训练和评估的细节。

3.1 训练

卷积神经网络的训练过程通常遵循Krizhevsky等人(2012)的方法(除了从多尺度训练图像采样输入图像,稍后将对此进行解释)。即,通过使用小批量梯度下降(基于反向传播(LeCun等人,1989))优化多项式逻辑回归目标函数来实现训练。批量大小设置为256,动量设置为0.9。 通过权重衰减(L2惩罚乘数设置为5 · 10−4)和前两个全连接层的dropout正则化(dropout比率设置为0.5)对训练进行正则化。 学习率最初设置为10−2,当验证集准确度不再提高时,将其降低10倍。总共降低了学习率3次,训练在37万次迭代(74个时期)后停止。 我们推测,尽管与(Krizhevsky等人,2012)相比,我们的网络参数更多且更深入,但由于以下原因,网络所需的时间更少:(a)深度更大和小型卷积滤波器尺寸带来的隐式正则化;(b)某些层的预初始化。

网络权重的初始化很重要,因为不好的初始化可能导致学习过程中的梯度不稳定,从而阻碍学习。 为了解决这个问题,我们首先训练配置A(表1),该配置足够浅,可以通过随机初始化进行训练。 然后,当训练更深层的架构时,我们用A网络的层初始化了前四个卷积层和最后三个全连接层(中间层随机初始化)。 我们没有降低预初始化层学习率,允许它们在学习过程中改变。 对于随机初始化(在适用的情况下),我们从均值为零、方差为10−2的正态分布中采样权重。偏置项初始化为零。值得注意的是,在论文提交之后,我们发现可以使用Glorot & Bengio(2010)的随机初始化过程无需预训练即可初始化权重。

为了获得固定大小的224×224卷积神经网络输入图像,这些图像从经重新调整大小过的训练图像中随机裁剪(每图像每SGD迭代一次裁剪)。 为了进一步扩充训练集,这些裁剪的图像进行了随机水平翻转和随机RGB颜色偏移(Krizhevsky等人,2012)。 下面解释了训练图像重新调整大小的过程。

训练图像尺寸。 设S为等距调整大小训练图像的最小边,ConvNet的输入图像就是从这里裁剪的(我们也称S为训练尺度)。虽然裁剪的大小固定为224×224,但在原则上,S可以取任何大于等于224的值:对于S = 224,裁剪将捕获整个图像的统计信息,完全跨越训练图像的最小边;对于S > > 224,裁剪将对应于图像的一小部分,包含一小部分目标或目标的一部分。

我们考虑了两种方法来设置训练尺度S。

第一个是固定S,这对应于单尺度训练(请注意,在抽样的裁剪中,图像内容仍然可以代表多尺度图像统计)。 在我们的实验中,我们在两个固定的尺度上训练模型并对其进行了评估:S = 256(在现有技术中广泛使用(Krizhevsky等人,2012;Zeiler和Fergus,2013;Sermanet等人,2014))和S = 384。 对于给定的ConvNet配置,我们首先使用S = 256训练网络。 为了加快S = 384网络的训练速度,我们使用预训练的S = 256的权重进行初始化,并使用较小的初始学习率10−3。

设置S的第二种方法是多尺度训练,其中每个训练图像都通过从某个范围[Smin,Smax]中随机抽样S进行单独调整大小(我们使用Smin = 256和Smax = 512)。 因为图像中的对象可能具有不同的尺寸,所以在训练时考虑这一点是有益的。 也可以将此视为通过尺度摇摆来训练数据集,其中单个模型要识别各种规模的物体。 出于速度原因,我们通过用同一配置的单尺度模型的所有层进行微调来训练多尺度模型,该配置使用固定的S = 384进行预训练。

3.2 测试

在测试阶段,给定一个训练过的ConvNet和一个输入图像,它按照以下方式分类。 首先,它将等距调整大小到预定义的图像最小边,记为Q(我们也称其为测试尺度)。 我们注意到Q不一定等于训练尺度S(正如我们将在第4节中展示的那样,对于每个S使用多个Q的值可以提高性能)。 然后,类似Sermanet等人(2014)的方式,将网络密集地应用于调整大小后的测试图像。 即,将全连接层转换为卷积层(第一个全连接层转换为7×7卷积层,最后两个全连接层转换为1×1卷积层)。 由此产生的全卷积网络应用于整个(未裁剪的)图像。 结果是一个具有相同通道数和可变空间分辨率的类分数地图,取决于输入图像的大小。最后,为了获得一个固定大小的图像类别分数向量,对类分数地图进行空间平均(和池化)。 我们还通过水平翻转图像来增强测试集; 原始和翻转图像的soft-max类别后验概率的平均值将得出最终的图像分数。

由于完全卷积网络应用于整个图像,因此在测试时不需要对多个裁剪进行采样(Krizhevsky等人,2012),这效率较低,因为需要对每个裁剪重新计算。 同时,使用大量裁剪,如Szegedy等人(2014)所做的那样,可以提高准确性,因为它相对于完全卷积网络对输入图像进行更精细的采样。 另外,多裁剪评估与密集评估是互补的,因为它们具有不同的卷积边界条件:当将ConvNet应用于裁剪时,卷积后的特征图用零填充,而在密集评估的情况下,相同的裁剪的自然填充来自图像的相邻部分(由于卷积和空间池化),这大大增加了整个网络的感受野,因此捕获了更多的信息。 尽管我们认为在实践中增加多个裁剪的计算时间并不证明潜在的准确性提高,但以供参考,我们还使用每个尺度50个裁剪(5×5常规网格,2次翻转),总共150个裁剪覆盖3个尺度,这与Szegedy等人(2014)使用的144个裁剪覆盖4个尺度相当。

3.3 实现细节

我们的实现源自公开的C++ Caffe工具箱(Jia,2013)(2013年12月分支),但包含许多重要的修改,以允许我们在单个系统的多个GPU上进行训练和评估,以及在多个尺度上的全尺寸(未裁剪)图像上进行训练和评估(如上所述)。多GPU训练利用数据并行性,通过将每个训练图像批次拆分为几个GPU批次,并在每个GPU上并行处理来执行。在GPU批次梯度计算后,它们被平均以获得整个批次的梯度。梯度计算在GPU之间是同步的,因此结果与在单个GPU上进行训练时完全相同。

尽管最近提出了更复杂的方法来加速ConvNet训练(Krizhevsky,2014),这些方法为网络的不同层使用模型和数据并行性,但我们发现我们的概念更简单的方案已经在一个现成的4-GPU系统上提供了3.75倍的速度提升,与使用单个GPU相比。在配备四个NVIDIA Titan Black GPU的系统上,训练单个网络需要2-3周时间,具体取决于体系结构。

4分类实验

数据集。在本节中,我们展示了所述ConvNet架构在ILSVRC-2012数据集上实现的图像分类结果(用于ILSVRC 2012-2014挑战)。该数据集包括1000个类别的图像,分为三个集:训练集(130万张图像)、验证集(5万张图像)和测试集(10万张图像,保留类别标签)。分类性能使用两个指标进行评估:top-1和top-5错误。前者是多类分类错误,即错误分类图像的比例;后者是ILSVRC中使用的评估标准,计算方法是将预测的前5个类别中没有包含真实类别的图像比例作为指标。

在大多数实验中,我们将验证集作为测试集。某些实验也在测试集上进行,并作为“VGG”团队ILSVRC-2014比赛的参赛作品提交给ILSVRC官方服务器(Russakovsky等人,2014)。

4.1 单尺度评估

我们首先评估了单个ConvNet模型在单个尺度上的性能,采用了第2.2节中描述的层配置。测试图像大小设定如下:对于固定的S,Q = S;对于抖动的S∈[Smin,Smax],Q = 0.5(Smin + Smax)。表3中给出了结果。

(表格3)在单测试尺度的ConvNet性能

ConvNet config. (Table 1)

smallest image side

top-1 val. error (%)

top-5 val. error (%)

train (S)

test (Q)

A

256

256

29.6

10.4

A-LRN

256

256

29.7

10.5

B

256

256

28.7

9.9

C

256

256

28.1

9.4

384

384

28.1

9.3

[256;512]

384

27.3

8.8

D

256

256

27.0

8.8

384

384

26.8

8.7

[256;512]

384

25.6

8.1

E

256

256

27.3

9.0

384

384

26.9

8.7

[256;512]

384

25.5

8.0

首先,我们注意到使用本地响应归一化(A-LRN网络)并没有改进没有归一化层的模型A。因此,我们不在更深层次的结构(B-E)中使用归一化。

其次,我们观察到分类错误随着ConvNet深度的增加而减少:从A中的11层到E中的19层。值得注意的是,尽管深度相同,但包含三个1 × 1卷积层的配置C的性能比整个网络中使用3 × 3卷积层的配置D更差。这表明,虽然额外的非线性是有帮助的(C优于B),但使用具有非平凡感受野的卷积滤波器来捕获空间上下文也是非常重要的(D优于C)。当深度达到19层时,我们架构的错误率趋于饱和,但对于更大的数据集,更深的模型可能是有益的。我们还比较了B和另一个包含五个5 × 5卷积层的浅层网络。这个浅层网络是通过将B中的每一对3 × 3卷积层替换为具有相同感受野的单个5 × 5卷积层而派生的(如第2.3节所述)。B的顶部-1错误率比浅层网络高7%(在中心作物上),这证实了使用小滤波器的深网络优于使用大滤波器的浅层网络。

最后,训练时的尺度抖动(S∈[256;512])导致的结果明显优于在固定最小边的图像上进行训练(S = 256或S = 384),即使在测试时只使用一个尺度。这证实了通过尺度抖动来增加训练集对多尺度图像统计的捕获能力确实是有帮助的。

4.2 多尺度评估

我们已经在一个单一尺度上评估了ConvNet模型,现在评估测试时尺度抖动的影响。它包括对测试图像的几个缩放版本运行模型(对应于不同的Q值),然后对产生的类别后验进行平均。考虑到训练和测试尺度之间的巨大差异会导致性能下降,使用固定S训练的模型在三个接近训练尺度的测试图像大小上进行了评估:Q = {S-32, S, S+32}。同时,训练时的尺度抖动允许网络在测试时应用于更广泛的尺度,因此使用变量S∈[Smin;Smax]训练的模型在更大的范围内进行了评估:Q = {Smin, 0.5(Smin + Smax), Smax}。

这些结果表明,在测试时进行尺度抖动可以获得更好的性能(与在单一尺度上评估相同的模型相比,如表3所示)。与之前一样,最深的配置(D和E)表现最好,尺度抖动优于使用固定最小边的S进行训练。我们在验证集上最好的单个网络性能是24.8%/7.5% top-1/top-5错误(在表4中以粗体突出显示)。在测试集中,配置E实现了7.3%的top-5错误。

(表格4)在多个测试尺度上的ConvNet性能

ConvNet cong. (Table 1)

smallest image side

top-1 val. error (%)

top-5 val. error (%)

train (S)

test (Q)

B

256

224,256,288

28.2

9.6

C

256

224,256,288

27.7

9.2

384

352,384,416

27.8

9.2

[256; 512]

256,384,512

26.3

8.2

D

256

224,256,288

26.6

8.6

384

352,384,416

26.5

8.6

[256; 512]

256,384,512

24.8

7.5

E

256

224,256,288

26.9

8.7

384

352,384,416

26.7

8.6

[256; 512]

256,384,512

24.8

7.5

4.3 多裁剪评估

在表5中,我们比较了密集ConvNet评估和多裁剪评估(详见第3.2节)。我们还通过平均他们的softmax输出来评估这两种评估技术的互补性。可以看出,使用多个裁剪的表现略好于密集评估,这两种方法确实是互补的,因为它们的组合优于它们中的每一个。如上所述,我们假设这是由于对卷积边界条件的不同处理方式造成。

(表格5)ConvNet评估技术比较。在所有的实验中训练尺度S从[256;512]采样,三个测试适度Q考虑:{256, 384, 512}。

ConvNet config. (Table 1)

Evaluation method

top-1 val. error (%)

top-5 val. error (%)

D

dense

24.8

7.5

multi-crop

24.6

7.5

multi-crop & dense

24.4

7.2

E

dense

24.8

7.5

multi-crop

24.6

7.4

multi-crop & dense

24.4

7.1

4.4 卷积神经网络融合

直到现在,我们评估了单个ConvNet模型的表现。在实验的这一部分,我们将几个模型的softmax类别后验平均值组合起来。这提高了性能,原因在于模型的互补性,这种方法被用于2012年ILSVRC竞赛的顶级提交(Krizhevsky等人,2012)和2013年ILSVRC竞赛的顶级提交(Zeiler和Fergus,2013;Sermanet等人,2014)。

结果如表6所示。在ILSVRC提交之前,我们只训练了单尺度网络,以及一个多尺度模型D(只通过调整完全连接层而不是所有层进行微调)。由7个网络组成的这个结果达到了7.3%的ILSVRC测试错误率。提交之后,我们考虑了一个只有两个表现最好的多尺度模型(配置D和E)的组合,使用密集评估将测试错误率降至7.0%,使用组合密集和多裁剪评估将测试错误率降至6.8%。作为参考,我们表现最好的单个模型达到了7.1%的错误率(模型E,表5)

(表格6)多个卷积网络融合结果

Combined ConvNet models

Error

top-1 val

top-5 val

top-5 test

ILSVRC submission

(D/256/224,256,288), (D/384/352,384,416), (D/[256;512]/256,384,512) (C/256/224,256,288), (C/384/352,384,416)

(E/256/224,256,288), (E/384/352,384,416)

24.7

7.5

7.3

post-submission

(D/[256;512]/256,384,512), (E/[256;512]/256,384,512), dense eval.

24.0

7.1

7.0

(D/[256;512]/256,384,512), (E/[256;512]/256,384,512), multi-crop

23.9

7.2

-

(D/[256;512]/256,384,512), (E/[256;512]/256,384,512), multi-crop & dense eval.

23.7

6.8

6.8

4.5 与当前最佳水平的比较

最后,我们在表7中将我们的结果与当前的最佳水平进行了比较。在ILSVRC-2014挑战的分类任务中(Russakovsky等人,2014年),我们的“VGG”团队使用7个模型的集成获得了第2名,测试错误率为7.3%。提交之后,我们使用2个模型的集成将错误率降低到6.8%。

(表格7)在ILSVRC分类中与最新技术比较。我们的方法表示为“VGG”。报告的结果没有使用外部数据。

Method

top-1 val. error (%)

top-5 val. error (%)

top-5 test error (%)

VGG (2 nets, multi-crop & dense eval.)

23.7

6.8

6.8

VGG (1 net, multi-crop & dense eval.)

24.4

7.1

7.0

VGG (ILSVRC submission, 7 nets, dense eval.)

24.7

7.5

7.3

GoogLeNet (Szegedy et al., 2014) (1 net)

-

7.9

GoogLeNet (Szegedy et al., 2014) (7 nets)

-

6.7

MSRA (He et al., 2014) (11 nets)

-

-

8.1

MSRA (He et al., 2014) (1 net)

27.9

9.1

9.1

Clarifai (Russakovsky et al., 2014) (multiple nets)

-

-

11.7

Clarifai (Russakovsky et al., 2014) (1 net)

-

-

12.5

Zeiler & Fergus (Zeiler & Fergus, 2013) (6 nets)

36.0

14.7

14.8

Zeiler & Fergus (Zeiler & Fergus, 2013) (1 net)

37.5

16.0

16.1

OverFeat (Sermanet et al., 2014) (7 nets)

34.0

13.2

13.6

OverFeat (Sermanet et al., 2014) (1 net)

35.7

14.2

-

Krizhevsky et al. (Krizhevsky et al., 2012) (5 nets)

38.1

16.4

16.4

Krizhevsky et al. (Krizhevsky et al., 2012) (1 net)

40.7

18.2

-

从表7可以看出,我们的非常深的ConvNets明显优于在ILSVRC-2012和ILSVRC-2013竞赛中取得最佳结果的上一代模型。我们的结果在与分类任务获胜者(GoogLeNet,错误率为6.7%)的竞争中也有竞争力。我们的结果也明显优于ILSVRC-2013获胜提交Clarifai,在没有使用外部训练数据的情况下,Clarifai的错误率为11.2%,使用了外部训练数据的错误率为11.7%。考虑到我们的最佳结果是由仅两个模型的组合实现的,这明显少于大多数ILSVRC提交中使用的模型数量,这是非常了不起的。在单网络性能方面,我们的架构实现了最佳结果(测试错误率为7.0%),优于单个GoogLeNet 0.9%。值得注意的是,我们没有离开LeCun等人(1989年)的经典ConvNet架构,而是通过大幅增加深度来改进它。

5 结论

在这项工作中,我们对非常深的卷积网络(最多19个权重层)进行了评估,用于大规模图像分类。结果表明,表示深度对于分类精度是有益的,使用传统的ConvNet架构(LeCun等人,1989年;Krizhevsky等人,2012年)可以获得在ImageNet挑战数据集上的领先性能,并大幅增加深度。在附录中,我们还表明我们的模型对各种任务和数据集具有良好的泛化能力,与更复杂的识别管道相匹配或超越,这些管道构建在深度较浅的图像表示之上。我们的结果再次证实了深度在视觉表示中的重要性。

致谢

这项工作得到了ERC授予的VisRec编号228180的资助。我们衷心感谢NVIDIA公司对这项研究的支持,他们捐赠了GPU用于我们的研究。

参考文献

1.Bell, S., Upchurch, P., Snavely, N., and Bala, K. Material recognition in the wild with the materials in context

database. CoRR, abs/1412.0623, 2014.

2.Chatfield, K., Simonyan, K., Vedaldi, A., and Zisserman, A. Return of the devil in the details: Delving deep

into convolutional nets. In Proc. BMVC., 2014.

3.Cimpoi, M., Maji, S., and Vedaldi, A. Deep convolutional filter banks for texture recognition and segmentation.

CoRR, abs/1411.6836, 2014.

4.Ciresan, D. C., Meier, U., Masci, J., Gambardella, L. M., and Schmidhuber, J. Flexible, high performance

convolutional neural networks for image classification. In IJCAI, pp. 1237–1242, 2011.

5.Dean, J., Corrado, G., Monga, R., Chen, K., Devin, M., Mao, M., Ranzato, M., Senior, A., Tucker, P., Yang,

K., Le, Q. V., and Ng, A. Y. Large scale distributed deep networks. In NIPS, pp. 1232–1240, 2012.

6.Deng, J., Dong, W., Socher, R., Li, L.-J., Li, K., and Fei-Fei, L. Imagenet: A large-scale hierarchical image

database. In Proc. CVPR, 2009.

7.Donahue, J., Jia, Y., Vinyals, O., Hoffman, J., Zhang, N., Tzeng, E., and Darrell, T. Decaf: A deep convolutional

activation feature for generic visual recognition. CoRR, abs/1310.1531, 2013.

8.Everingham, M., Eslami, S. M. A., Van Gool, L., Williams, C., Winn, J., and Zisserman, A. The Pascal visual

object classes challenge: A retrospective. IJCV, 111(1):98–136, 2015.

9.Fei-Fei, L., Fergus, R., and Perona, P. Learning generative visual models from few training examples: An

incremental bayesian approach tested on 101 object categories. In IEEE CVPR Workshop of Generative

Model Based Vision, 2004.

10.Girshick, R. B., Donahue, J., Darrell, T., and Malik, J. Rich feature hierarchies for accurate object detection

and semantic segmentation. CoRR, abs/1311.2524v5, 2014. Published in Proc. CVPR, 2014.

11.Gkioxari, G., Girshick, R., and Malik, J. Actions and attributes from wholes and parts. CoRR, abs/1412.2604,

2014.

12.Glorot, X. and Bengio, Y. Understanding the difficulty of training deep feedforward neural networks. In Proc.

AISTATS, volume 9, pp. 249–256, 2010.

13.Goodfellow, I. J., Bulatov, Y., Ibarz, J., Arnoud, S., and Shet, V. Multi-digit number recognition from street

view imagery using deep convolutional neural networks. In Proc. ICLR, 2014.

14.Griffin, G., Holub, A., and Perona, P. Caltech-256 object category dataset. Technical Report 7694, California

Institute of Technology, 2007.

15.He, K., Zhang, X., Ren, S., and Sun, J. Spatial pyramid pooling in deep convolutional networks for visual

recognition. CoRR, abs/1406.4729v2, 2014.

16.Hoai, M. Regularized max pooling for image categorization. In Proc. BMVC., 2014.

17.Howard, A. G. Some improvements on deep convolutional neural network based image classification. In Proc.

ICLR, 2014.

18.Jia, Y. Caffe: An open source convolutional architecture for fast feature embedding.

http://caffe.berkeleyvision.org/, 2013.

19.Karpathy, A. and Fei-Fei, L. Deep visual-semantic alignments for generating image descriptions. CoRR,

abs/1412.2306, 2014.

20.Kiros, R., Salakhutdinov, R., and Zemel, R. S. Unifying visual-semantic embeddings with multimodal neural

language models. CoRR, abs/1411.2539, 2014.

21.Krizhevsky, A. One weird trick for parallelizing convolutional neural networks. CoRR, abs/1404.5997, 2014.

22.Krizhevsky, A., Sutskever, I., and Hinton, G. E. ImageNet classification with deep convolutional neural networks. In NIPS, pp. 1106–1114, 2012.

23.LeCun, Y., Boser, B., Denker, J. S., Henderson, D., Howard, R. E., Hubbard, W., and Jackel, L. D. Backpropagation applied to handwritten zip code recognition. Neural Computation, 1(4):541–551, 1989.

24.Lin, M., Chen, Q., and Yan, S. Network in network. In Proc. ICLR, 2014.

25.Long, J., Shelhamer, E., and Darrell, T. Fully convolutional networks for semantic segmentation. CoRR,

abs/1411.4038, 2014.

26.Oquab, M., Bottou, L., Laptev, I., and Sivic, J. Learning and Transferring Mid-Level Image Representations

using Convolutional Neural Networks. In Proc. CVPR, 2014.

27.Perronnin, F., S´anchez, J., and Mensink, T. Improving the Fisher kernel for large-scale image classification. InProc. ECCV, 2010.

28.Razavian, A., Azizpour, H., Sullivan, J., and Carlsson, S. CNN Features off-the-shelf: an Astounding Baseline

for Recognition. CoRR, abs/1403.6382, 2014.

29.Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., Huang, Z., Karpathy, A., Khosla, A.,

Bernstein, M., Berg, A. C., and Fei-Fei, L. ImageNet large scale visual recognition challenge. CoRR,

abs/1409.0575, 2014.

30.Sermanet, P., Eigen, D., Zhang, X., Mathieu, M., Fergus, R., and LeCun, Y. OverFeat: Integrated Recognition,

Localization and Detection using Convolutional Networks. In Proc. ICLR, 2014.

31.Simonyan, K. and Zisserman, A. Two-stream convolutional networks for action recognition in videos. CoRR,

abs/1406.2199, 2014. Published in Proc. NIPS, 2014.

32.Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D., Erhan, D., Vanhoucke, V., and Rabinovich,

A. Going deeper with convolutions. CoRR, abs/1409.4842, 2014.

33.Wei, Y., Xia, W., Huang, J., Ni, B., Dong, J., Zhao, Y., and Yan, S. CNN: Single-label to multi-label. CoRR,

abs/1406.5726, 2014.

34.Zeiler, M. D. and Fergus, R. Visualizing and understanding convolutional networks. CoRR, abs/1311.2901,

2013. Published in Proc. ECCV, 2014.

A  LOCALISATION

在本文的主文中,我们考虑了ILSVRC挑战的分类任务,并对不同深度的卷积神经网络架构进行了彻底的评估。在本节中,我们将转向该挑战的定位任务,这是我们在2014年以25.3%的误差率赢得的任务。这可以被视为物体检测的一个特殊情况,其中应该为前5个类别的每个预测单个目标边界框,而不管该类别的实际目标数量如何。为此,我们采用了Sermanet等人(2014)的方法,他们是ILSVRC-2013定位挑战的获胜者,并进行了少量修改。我们的方法在A.1节中描述,并在A.2节中进行评估。

A.1  定位模型

为了执行目标定位,我们使用了一个非常深的卷积神经网络,其中最后一个全连接层预测边界框的位置而不是类别分数。边界框由一个4-D向量表示,存储其中心坐标、宽度和高度。可以选择边界框预测是否在所有类别之间共享(单类别回归,SCR(Sermanet等人,2014))或特定于类别(每类别回归PCR)。在前一种情况下,最后一层是4-D的,而在后一种情况下它是4000-D的(因为数据集中有1000个类别)。除了最后一个边界框预测层外,我们使用了卷积神经网络架构D(表1),它包含16个权重层,在分类任务中表现最佳(第4部分)。

训练

本地化卷积网络的训练类似于分类卷积网络的训练(第3.1节)。主要区别在于,我们用欧几里得损失替换逻辑回归目标,该损失惩罚预测边界框参数与真实值之间的偏差。我们训练了两个本地化模型,每个模型在一个单一的尺度上:S = 256和S = 384(由于时间限制,我们没有为我们的ILSVRC-2014提交使用训练尺度抖动)。训练是使用相应的分类模型(在相同的尺度上训练)进行初始化,初始学习率设置为10-3。我们探索了两种方法,一种是微调所有层,另一种是只微调前两个全连接层,就像(Sermanet等人,2014)中所做的那样。最后一个全连接层是随机初始化的,从头开始训练。

测试

我们考虑了两种测试协议。

第一种用于比较验证集上的不同网络修改,只考虑真实类别(以消除分类错误)的边界框预测。边界框是通过仅将网络应用于图像的中心作物而获得的。

第二个是完整的测试程序,它基于将本地化卷积网络密集应用于整个图像,类似于分类任务(第3.2节)。不同之处在于,代替类别分数图的是最后一个全连接层的输出是一组边界框预测。为了得出最终预测,我们利用Sermanet等人(2014)的贪婪合并程序,该程序首先将空间上接近的预测合并(通过平均它们的坐标),然后根据从分类卷积网络获得的类别分数对它们进行评分。当使用多个本地化卷积网络时,我们首先将它们的边界框预测集合并,然后在合并的结果上运行合并程序。我们没有使用Sermanet等人(2014)的多重池化偏移技术,这会增加边界框预测的空间分辨率,并可以进一步提高结果。

A.2 定位实验

在本部分中,我们首先确定了表现最佳的定位设置(使用第一个测试协议),然后在完全成熟的场景中评估它(第二个协议)。 定位错误是根据ILSVRC标准(Russakovsky等人,2014)来衡量的,即如果预测的边界框与真实边界框的交并比高于0.5,则预测是正确的。

设置比较。 从表8可以看出,逐类回归(PCR)优于类别无关的单类回归(SCR),这与Sermanet等人(2014)的发现不同,其中PCR被SCR所超越。 我们还注意到,对于定位任务,微调所有层比仅微调全连接层(如Sermanet等人(2014)所做的那样)会导致明显更好的结果。 在这些实验中,最小图像边长设置为S = 384; S = 256的结果表现出相同的行为,为简洁起见未予显示。

(表格8)对于简化测试协议的不同修改的定位错误:从单个中心图像裁剪预测边界框,并使用真实类别。所有卷积网络层(最后一层除外)都具有配置D(表1),而最后一层执行单类回归(SCR)或逐类回归(PCR)。

Fine

-tuned layers

regression type

GT class localisation error

1st and 2nd FC

SCR

36.4

PCR

34.3

all

PCR

33.1

全面评估。确定了最佳的定位设置(PCR,所有层的 fine-tuning)后,我们现在将其应用于全面评估场景,其中使用表现最佳的分类系统(第4.5节)预测前5个类标签,并使用Sermanet等人(2014)的方法将多个密集计算得出的边界框预测合并。如表9所示,将定位卷积网络应用于整个图像与使用中心作物相比,尽管使用了前5个预测的类标签而不是地面真实标签,但结果有了实质性的改善。与分类任务(第3节)类似,在多个尺度上进行测试并将多个网络的预测结合起来可以进一步提高性能。

(表格9)定位错误

smallest image side

top-5 localisation error (%)

train (S)

test (Q)

val.

test.

256

256

29.5

-

384

384

28.2

26.7

384

352,384

27.5

-

fusion: 256/256 and 384/352,384

26.9

25.3

与现有技术的比较。在表10中,我们将最好的本地化结果与现有技术进行比较。凭借25.3%的测试错误率,我们的“VGG”团队赢得了ILSVRC-2014的本地化挑战(Russakovsky等人,2014)。值得注意的是,与ILSVRC-2013的获胜者Overfeat(Sermanet等人,2014)相比,我们的结果要优越得多,尽管我们使用的尺度更少,而且没有采用他们的分辨率增强技术。我们预计,如果将这种技术纳入我们的方法中,可以获得更好的本地化性能。这表明我们的非常深的卷积网络带来了性能提升 - 我们使用更简单的定位方法取得了更好的结果,但这种表示却更加强大。

(表格10)与ILSVRC定位的最新技术进行比较,我们的方法被称为“VGG”。

Method

top

-5 val. error (%)

top

-5 test error (%)

VGG

26.9

25.3

GoogLeNet (Szegedy et al, 2014)

-

26.7

OverFeat (Sermanet et al., 2014)

30.0

29.9

Krizhevsky et al. (Krizhevsky et al., 2012)

-

34.2

B. 非常深层次特征的泛化

在前面的章节中,我们讨论了ILSVRC数据集上非常深的卷积网络的训练和评估。在本节中,我们将预训练的非常深的卷积网络作为特征提取器评估其在其他更小的数据集上的性能,其中从头开始训练大型模型是不可行的,因为存在过拟合。最近,这种情况引起了很大的兴趣(Zeiler和Fergus,2013;Donahue等人,2013;Razavian等人,2014;Chatfield等人,2014),因为事实证明,在ILSVRC上学习的深度图像表示可以很好地泛化到其他数据集,并且比手工制作的表示方法表现更好。遵循这一研究方向,我们调查我们的模型是否比最先进方法中使用的更浅的模型表现更好。在本评估中,我们考虑两个在ILSVRC上具有最佳分类性能的模型(第4节)–配置“Net-D”和“Net-E”(已公开提供)

为了利用在ILSVRC上预训练的卷积网络进行其他数据集的图像分类,我们删除了最后一个全连接层(执行1000-way ILSVRC分类),并使用倒数第二层的4096-D激活作为图像特征,这些特征在不同的位置和尺度上聚合。生成的图像描述符进行L2归一化,并与目标数据集上的线性SVM分类器结合。为简单起见,我们未对预训练的卷积网络权重进行微调。

特征聚合采用与ILSVRC评估过程类似的方法(第3.2节)。即首先将图像重新调整为使其最小边等于Q,然后将网络密集应用于图像平面(在处理所有权重层为卷积时这是可能的)。然后,我们在结果特征图上执行全局平均池化,产生一个4096-D图像描述符。然后,该描述符与水平翻转的图像的描述符的平均值一起计算。如第4.2节所示,评估多个尺度是有益的,因此我们在几个尺度Q上提取特征。得到的多尺度特征可以堆叠或跨越尺度进行池化。堆叠允许后续分类器学习如何在多个尺度范围内优化组合图像统计信息;然而,这以增加描述符维数为代价。我们将在下面的实验中回到这个设计选择讨论。我们还评估了使用两个网络计算的特征的后期融合,这是通过堆叠它们各自的图像描述符来完成的。

(表格11)与VOC-2007、VOC-2012、Caltech-101和Caltech-256图像分类的最新状态相比,我们的模型被称为“VGG”。使用在扩展ILSVRC数据集(2000个类别)上预训练的ConvNets获得的结果带有*标记。

Method

VOC-2007 (mean AP)

VOC-2012 (mean AP)

Caltech-101

(mean class recall)

Caltech-256

(mean class recall)

Zeiler & Fergus (Zeiler & Fergus, 2013)

Chatfield et al. (Chatfield et al., 2014)

He et al. (He et al., 2014)

Wei et al. (Wei et al., 2014)

-

82.4

82.4

81.5 (85.2* )

79.0

83.2

-

81.7 (90.3*)

86.5

88.4

93.4

-

0.5

0.6

0.5

74.2

77.6

-

-

0.3

0.1

VGGNet-D (16 layers)

VGGNet-E (19 layers)

VGG Net-D & Net-E

89.3

89.3

89.7

89.0

89.0

89.3

91.8

92.3

92.7

1.0

0.5

0.5

85.0

85.1

86.2

0.2

0.3

0.3

这段文本描述的是在PASCAL VOC-2007和VOC-2012基准上进行的图像分类任务评估。这两个数据集分别包含10K和22.5K张图像,每张图像标注了一个或多个标签,对应20个目标类别。VOC组织者提供了一个预先定义的训练、验证和测试数据分割(VOC-2012的测试数据没有公开,而是提供了一个官方评估服务器)。识别性能是通过跨类别的平均精度(mAP)来衡量的。

值得注意的是,通过检查VOC-2007和VOC-2012验证集上的性能,我们发现通过平均计算在多个尺度上的图像描述符,其表现与通过堆叠进行聚合相似。我们假设这是因为VOC数据集中出现的对象跨越了多种尺度,所以没有特定尺度特定的语义可供分类器利用。由于平均值具有不增加描述符维数的优点,我们能够在很大范围的尺度上聚合图像描述符:Q ∈ {256,384,512,640,768}。然而,值得注意的是,在更小的范围{256,384,512}上的改进相当微弱(0.3%)。

最后,该文报告了在测试集上的性能,并将我们的网络“Net-D”和“Net-E”与其他方法进行了比较。这两种网络在VOC数据集上的表现相同,它们的组合略有改进结果。我们的方法在ILSVRC数据集上预训练的图像表示中创造了新的最好成绩,比先前的最佳结果(Chatfield等人,2014年)高出6%以上。但应该指出的是,Wei等人(2014年)的方法在VOC-2012上实现了1%更好的mAP,它是建立在扩展的2000类ILSVRC数据集上,包括另外1000个类别,这些类别与VOC数据集的语义上非常接近。这也可能是该方法取得更好成绩的一个因素。

表11报告了测试集的性能,并将其与其他方法进行了比较。我们的网络“Net-D”和“Net-E”在VOC数据集上表现出相同的性能,它们的组合略有改善结果。我们的方法在ILSVRC数据集上预训练的图像表示方面确立了新的最先进水平,比Chatfield等人(2014年)之前的最佳结果高出6%以上。应该指出的是,Wei等人(2014年)的方法在VOC-2012上实现了1%更好的mAP,它是在扩展的2000类ILSVRC数据集上预训练的,其中包括另外1000个类别,语义上与VOC数据集非常接近。它还受益于与目标检测辅助分类管道的融合。

Caltech-101Caltech-256上进行图像分类。在本节中,我们对Caltech-101(Fei-Fei等人,2004年)和Caltech-256(Griffin等人,2007年)图像分类基准测试了非常深的特征。Caltech-101包含9K张标记为102个类别的图像(101个目标类别和一个背景类别),而Caltech-256包含31K张图像和257个类别。这些数据集上的标准评估协议是生成几个随机的训练和测试拆分,并报告跨拆分的平均识别性能,该性能由平均类别召回率来衡量(这可以弥补每个类别的测试图像数量的差异)。根据Chatfield等人(2014年)、Zeiler和Fergus(2013年)、He等人(2014年)的研究,我们在Caltech-101上生成了3个随机的拆分,每个拆分包含每个类别的30个训练图像,最多包含50个测试图像。在Caltech-256上,我们也生成了3个拆分,每个拆分包含每个类别的60个训练图像(其余的用于测试)。在每个拆分中,20%的训练图像被用作超参数选择的验证集。

我们发现,与VOC不同的是,在Caltech数据集上,计算多个尺度的描述符的堆叠表现优于平均或最大池化。这可以解释为,在Caltech图像中,对象通常占据整个图像,因此多尺度图像特征在语义上是不同的(捕捉整个对象与对象部分),而堆叠允许分类器利用这种特定尺度的表示。我们使用了三个尺度Q∈{256,384,512}。

我们在表11中将我们的模型相互比较,并与其他最先进技术进行比较。可以看出,更深的19层Net-E表现优于16层Net-D,它们的组合进一步提高了性能。在Caltech-101上,我们的表示与He等人(2014)的方法相当,但他在VOC-2007上的表现比我们的网络要差得多。在Caltech-256上,我们的特征以很大的优势(8.6%)超越了最先进的技术(Chatfield等人,2014)。

我们在PASCAL VOC-2012动作分类任务(Everingham等人,2015)上评估了我们表现最佳的图像表示(Net-D和Net-E特征的堆叠),该任务是从单个图像中预测动作类别,给出执行动作的人的边界框。数据集包含4.6K张训练图像,标记为11个类别。与VOC-2012对象分类任务类似,使用mAP来衡量性能。我们考虑了两种训练设置:(i)在整张图像上计算ConvNet特征并忽略提供的边界框;(ii)在整张图像和提供的边界框上计算特征,并将它们堆叠起来以获得最终表示。结果在表12中与其他方法进行了比较。

我们的表示即使没有使用提供的边界框,也能在VOC动作分类任务上达到最先进的水平,当同时使用图像和边界框时,结果得到了进一步的改善。与其他方法不同的是,我们没有采用任何特定于任务的启发式方法,而是依赖于深度卷积特征的表示能力。其他识别任务。自我们的模型公开发布以来,它们一直被研究社区积极用于各种图像识别任务,并持续优于更浅层的表示。例如,Girshick等人(2014)通过将Krizhevsky等人(2012)的CNN替换为我们的16层模型,实现了对象检测的最佳结果。在语义分割(Long等人,2014)、图像字幕生成(Kiros等人,2014年;Karpathy和Fei-Fei,2014)、纹理和材料识别(Cimpoi等人,2014年;Bell等人,2014年)中也观察到了相对于Krizhevsky等人(2012年)更浅层架构的类似增益。

(表格12)与单图像动作分类的最新状态相比,我们的模型被称为“VGG”。使用在扩展ILSVRC数据集(1512个类别)上预训练的ConvNets获得的结果带有*标记。

Method

VOC

-2012 (mean AP)

(Oquab et al., 2014)

70.2*

(Gkioxari et al, 2014)

73.6

(Hoai, 2014)

76.3

VGG Net-D & Net-E, image-only

79.2

VGG Net

-D & Ne

t-E, image and bounding box

84.0

C 论文版本:

这里我们列出了主要论文修订的清单,概述了为方便读者而进行的实质性更改。

v1 初始版本。介绍了ILSVRC提交之前的实验。

v2 增加了使用训练集增强进行尺度抖动的ILSVRC后提交实验,提高了性能。

v3 增加了对PASCAL VOC和Caltech图像分类数据集的泛化实验(附录B)。这些实验中使用的模型已经公开。

v4 该论文已转换为ICLR-2015提交格式。还增加了使用多个裁剪进行分类的实验。

v6 相机就绪的ICLR-2015会议论文。添加了对net B与浅网比较和在PASCAL VOC动作分类基准上的结果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值