【论文阅读】ReDet

ReDet: A Rotation-equivariant Detector for Aerial Object Detection

ReDet:一种用于航空目标检测的旋转等变检测器

https://arxiv.org/abs/2103.07733

参考学习:ReDet A Rotation-equivariant Detector for Aerial Object Detection 论文学习_calvinpaean的博客-CSDN博客

目录

摘要

1. 介绍 

2. 相关工作

2.1. 定向对象检测

2.2. 旋转等变网络 

2.3. 旋转不变目标检测 

3. Preliminaries

4. Rotation-equivariant Detector

4.1. Rotation-equivariant Backbone

4.2. Rotation-invariant RoI Align

5. 实验和分析

5.1. 数据集

5.2. 实现细节

5.3. 消融实验

5.4. 与最先进技术的比较

6. 结论


摘要

        近年来,航空图像中的目标检测在计算机视觉中得到了广泛的关注。与自然图像中的目标不同,航空目标往往以任意方向分布。因此,检测器需要更多的参数来编码方向信息,这通常是高度冗余和低效的。此外,由于普通CNN没有明确地建模方向变化,因此需要大量的旋转增强数据来训练精确的目标检测器。在本文中,我们提出了一种旋转等变检测器(ReDet)来解决这些问题,它显式地编码旋转等变旋转不变性。更准确地说,我们在检测器中加入旋转等变网络来提取旋转等变特征,这可以准确地预测方向并导致模型尺寸的大幅减小。在旋转等变特征的基础上,我们还提出了旋转不变RoI对齐(RiRoI Align),它根据RoI的方向自适应地从等变特征中提取旋转不变特征。在几个具有挑战性的航空影像数据集DOTA-v1.0,DOTA-v1.5和HRSC2016上进行了大量实验,表明我们的方法可以在空中目标检测任务上实现最先进的性能。与之前的最佳结果相比,我们的ReDet获得1.2, 3. 5和2.6 DOTA-v1.0,DOTA-v1.5和HRSC2016上的mAP。同时将参数数量减少60%(313MB比121MB)。代码可从以下网址获得:https://github.com/csuhan/ReDet

摘要小结 

旋转等变:

  1. 检测器中加入旋转等变网络来提取旋转等变特征,这可以准确地预测方向并导致模型尺寸的大幅减小。
  2. 提出了旋转不变RoI对齐(RiRoI Align),它根据RoI的方向自适应地从等变特征中提取旋转不变特征

旋转不变性

1. 介绍 

略...

        与自然图像中的目标不同,航空图像中的目标往往具有任意方向的分布。为了应对这些挑战,航空目标检测通常通过依赖定向包围盒(OBB)表示而不是使用水平包围盒(HBB)来表述为定向目标检测任务[7,35,38,40]。

        最近,已经提出了许多设计良好的定向对象检测器,并在具有挑战性的航空图像数据集上报告了有希望的结果[21,35]。为了在无约束航空图像中实现精确的目标检测,大多数航空图像致力于提取旋转不变特征[7,10,22,37]。在实践中,旋转RoI(RRoI)扭曲(例如,RRoI池化[22]和RRoI Align对齐[7])是提取旋转不变特征最常用的方法,它可以根据二维平面上的RRoI边界框精确扭曲区域特征。然而,具有规则CNN特征的RRoI扭曲不能产生精确的旋转不变特征。通过使用更大容量的网络和更多的训练样本来模拟旋转变化,从而近似旋转不变性。如图1所示,规则CNN与旋转不相等。将旋转图像馈送到CNN与旋转原始图像的特征映射不同。因此,当方向发生变化时,从常规CNN特征图中扭曲出来的区域特征通常是不稳定和微妙的。

 图1。我们的方法说明(顶部)和RRoI warping比较(底部)。CNN特征图与旋转不相等,将旋转图像馈送到CNN与旋转原始图像的特征映射不同。因此,相应的RoI特征对旋转不是不变的。相比之下,我们的方法采用旋转等变CNN(ReCNN)来提取旋转等变特征。旋转不变特征可以通过RRoI warping扭曲来提取。虽然RRoI Align只能在空间维度上实现旋转不变性,但我们提出了一种新的旋转不变RoI(RiRoI)Align来提取空间维度和方向维度上的旋转变化特征。

        最近提出的一些方法[5,13,33]将CNN扩展到更大的群,并通过群卷积实现旋转等变[5]。这些方法的特征图具有记录不同方向特征的附加方向通道。然而,直接将普通的RRoI扭曲应用于旋转等变特征无法生成旋转不变特征,因为它只能扭曲二维平面中的区域特征,即空间尺寸,而方向通道仍然未对齐。为了提取完全旋转不变的特征,我们还需要根据RRoI的方向调整特征映射的方向维数。    

        在本文中,我们提出了一种旋转等变检测器(ReDet)来从旋转等变特征中提取完全旋转不变的特征。如图1所示,我们的方法由两部分组成:旋转等变特征提取旋转不变特征提取首先,我们将旋转等变网络引入主干网,生成旋转等变特征,可以准确预测方向,降低方向变化建模的复杂性。由于直接应用RRoI扭曲仍然无法从旋转等变特征中提取旋转不变特征,我们提出了一种新的旋转不变RoI对齐(RiRoI对齐)。它通过循环切换方向通道和特征插值,在空间维度上根据RRoI的边界框扭曲区域特征,在方向维度上对齐特征。最后,旋转不变主干和RiRoI Align的组合形成了我们的ReDet,以提取完全旋转不变的特征,从而实现精确的航空目标检测。   

         在具有挑战性的航空图像数据集DOTA[35]和HRSC2016[21]上进行的大量实验证明了我们方法的有效性。我们的贡献总结如下:

  1. 我们提出了一种用于高质量航空目标检测的旋转等变检测器,它对旋转等变和旋转不变性进行编码。据我们所知,这是第一次在定向对象检测中系统地引入旋转等变
  2. 我们设计了一种新的RiRoI对齐算法,从旋转等变特征中提取旋转不变特征。与其他RRoI扭曲方法不同,RiRoI Align在空间和方向维度上产生完全旋转不变的特征。
  3. 我们的方法达到了最先进的80.10,76. 80和90.46 DOTA-v1.0,DOTA-v1.5和HRSC2016上的mAP。与以前的最佳结果相比,我们的方法获得了1.2,3. 5和2.6mAP改进。与基线相比,我们的方法显示出一致且实质性的改进,并将参数数量减少了60%(313 Mb对121 Mb)。此外,我们的方法实现了更好的模型尺寸。精度权衡(如图2所示)。

图2。Model sizevs.accuracy (mAP) on DOTA-v1.5。我们评估了RetinaNet OBB[18]、Faster R-CNN OBB (FR)[27]、Mask R-CNN (掩码)[11]和Hybrid Task Cascade(HTC)[2]使用ResNet18(R18)和ResNet50(R50)主干。注意:所有算法都是DOTA的重新实现版本,与Tab7一致。我们的ReDet是用ReResNet18(ReR18)和ReResNet50(ReR50)主干网测试的。与使用R18/R50主干网的其他方法相比,我们使用ReR18主干网的ReDet实现了具有竞争力的性能。使用更深的主干(ReR50),我们的ReDet大大优于所有方法,并实现更好的模型尺寸。准确性权衡。 

介绍 小结:

背景原因:航空图像中的目标往往具有任意方向的分布

技术原因:提取旋转不变特征

  1. [7,10,22,37] 旋转RoI(RRoI)扭曲(例如,RRoI池化[22]和RRoI Align对齐[7])是提取旋转不变特征最常用的方法.
    实现原理:根据二维平面上的RRoI边界框精确扭曲区域特征。
    不足:具有规则CNN特征的RRoI扭曲不能产生精确的旋转不变特征。使用更大容量的网络和更多的训练样本来模拟旋转变化,从而近似旋转不变性。
  2. [5,13,33] 将CNN扩展到更大的群,并通过群卷积实现旋转等变[5]。
    实现原理:这些方法的特征图具有记录不同方向特征的附加方向通道
    不足:直接将普通的RRoI扭曲应用于旋转等变特征无法生成旋转不变特征。
    原因:
    它只能扭曲二维平面中的区域特征, 即空间尺寸,而方向通道仍然未对齐。
    结果:为了提取完全旋转不变的特征,我们还需要根据RRoI的方向调整特征映射的方向维数。    
  3. 旋转等变检测器(ReDet)来从旋转等变特征中提取完全旋转不变的特征
    旋转等变检测器(ReDet)实现:由两部分组成:旋转等变特征提取(旋转不变主干旋转不变特征提取(RiRoI Align
    1)首先生成旋转等变特征,我们将旋转等变网络引入主干网,生成旋转等变特征,可以准确预测方向,降低方向变化建模的复杂性。
    2)由于直接应用RRoI扭曲仍然无法从旋转等变特征中提取旋转不变特征(第二点提出的问题)提出了一种新的旋转不变RoI对齐(RiRoI对齐)
    旋转不变RoI对齐实现原理:通过循环切换方向通道和特征插值,在空间维度上根据RRoI的边界框扭曲区域特征,在方向维度上对齐特征
    3)最后提取完全旋转不变的特征,旋转不变主干和RiRoI Align的组合形成了我们的ReDet,以提取完全旋转不变的特征,从而实现精确的航空目标检测。   

2. 相关工作

2.1. 定向对象检测

        与使用HBBs的大多数通用对象检测器[8,9,18,20,26,27,44]不同,定向对象检测器使用OBBs对对象进行定位和分类,从而提供更准确的对象方向信息。这对于探测大宽高比任意方位密集分布的航空目标至关重要。随着通用对象检测的发展,已经提出了许多设计良好的面向对象检测方法[1,7,24,35,38,40,42],在具有挑战性的数据集上显示了良好的性能[21,35]。为了检测任意方向的目标,一些方法[1,22,43]采用了许多具有不同角度、比例和长宽比的旋转锚框,以便更好地回归,同时增加了计算复杂性。Dinget al.提出了RoI Transformer[7],将水平RoI(HROI)转换为RROI,从而避免了大量锚定。滑动顶点[36]和中心贴图[30]分别使用四边形和遮罩精确描述定向对象。R^{3}Det{\color{DarkOrange} }S^{2}A-Net将水平感受野和旋转锚之间的特征对齐。DRN[24]通过动态特征选择和细化来检测定向对象。CSL[38]将角度预测视为避免不连续边界问题的分类任务。最近,一些基于CenterNet[44]的方法[24,31,41]显示了它们在检测小对象方面的优势。上述方法用于改进对象表示或特征表示。而我们的方法致力于改善整个网络的特征表示:从主干到检测头。具体来说,我们的方法在主干中产生旋转等变特征,显著降低了方向变化建模的复杂性。在检测头中,RiRoI Align提取完全旋转不变的特征,以实现鲁棒的目标定位。

小结

主要问题:任意方向

方法原理
不同角度、比例和长宽比的旋转锚框以便更好地回归,同时增加了计算复杂性。
RoI Transformer[7]将水平RoI(HROI)转换为RROI,从而避免了大量锚定。
滑动顶点[36]四边形精确描述定向对象。
中心贴图[30]mask精确描述定向对象。
R^{3}Det{\color{DarkOrange} }S^{2}A-Net将水平感受野和旋转锚之间的特征对齐。
DRN[24]动态特征选择和细化来检测定向对象。
CSL[38]将角度预测视为避免不连续边界问题的分类任务。
CenterNet[44]([24,31,41]显示了它们在检测小对象方面的优势
本文方法

致力于改善整个网络的特征表示:从主干到检测头。
主干:产生旋转等变特征,显著降低了方向变化建模的复杂性。

检测头:RiRoI Align提取完全旋转不变的特征,以实现鲁棒的目标定位。

2.2. 旋转等变网络 

        Cohen等人首次提出群卷积[5],将4倍旋转等变纳入CNN。HexaConv[13]将群卷积扩展到六角晶格上的6倍旋转等变。为了在更多方向上实现旋转等变,一些方法[23,45]通过插值重新采样滤波器,而其他方法[32,33,34]使用谐波作为滤波器,以在连续域中产生等变特征。上述方法逐渐将旋转等变网络扩展到更大的群体,并在分类任务上取得了令人满意的结果,而我们的方法将旋转等变网络融入到目标检测器中,在检测任务上显示出显著的改进。据我们所知,这是第一次将旋转等变理论系统地应用于面向对象检测。

小结

具体到旋转等变的相关工作

群卷积[5]将4倍旋转等变纳入CNN。
HexaConv[13]将群卷积扩展到六角晶格上的6倍旋转等变。
[23,45]插值重新采样滤波器为了在更多方向上实现旋转等变
[32,33,34]使用谐波作为滤波器以在连续域中产生等变特征。
本文方法

将旋转等变网络融入到目标检测器中

(第一次将旋转等变理论系统地应用于面向对象检测。)

2.3. 旋转不变目标检测 

        旋转不变性特征对于检测任意方向的物体非常重要。然而,CNN在建模旋转变化方面表现出较差的性能,这意味着需要更多的参数来编码方向信息。STN[14]和DCN[6]明确地对网络内的旋转进行建模,并已广泛应用于面向对象检测[7,28,29]。Chenget al.[4]提出了一种旋转不变层,该层对目标施加了明确的正则化约束。虽然上述方法可以在图像级实现近似的旋转不变性,但需要大量的训练样本和参数。此外,对象检测需要实例级旋转不变特征。因此,一些方法[7,22]将RoI warping扭曲[8]扩展到了RRoI warping扭曲,例如。GRoI Transformer[7]学习将HROI转换为RROI,并使用旋转的位置敏感RoI对齐扭曲区域特征。然而,正则CNN不是旋转等变的。因此,即使通过RRoI对齐,我们仍然无法提取旋转不变特征,如图1所示。与前面提到的方法不同,我们的方法提出了旋转不变RoI对齐(RiRoI对齐)来从旋转等变特征中提取旋转不变特征。具体来说,我们将旋转等变网络合并到主干中以生成旋转等变特征,然后RiRoI Align从空间和方向维度的旋转等变特征中完全提取旋转等变特征。

小结:具体到旋转不变的相关工作

背景原因:旋转不变性特征对于检测任意方向的物体非常重要。

技术原因:CNN在建模旋转变化方面表现出较差的性能,需要更多的参数来编码方向信息。

STN[14]和DCN[6]明确地对网络内的旋转进行建模,并已广泛应用于面向对象检测[7,28,29]。
[4]提出旋转不变层该层对目标施加了明确的正则化约束。

上述方法可以在图像级实现近似的旋转不变性,但需要大量训练样本和参数。

对象检测需要实例级旋转不变特征

[7,22]将RoI warping扭曲[8]扩展到RRoI warping扭曲GRoI Transformer[7]学习将HROI转换为RROI,并使用旋转的位置敏感RoI对齐扭曲区域特征。

正则CNN不是旋转等变的。

即使通过RRoI对齐,仍然无法提取旋转不变特征。

本文方法

提出旋转不变RoI对齐(RiRoI对齐)来从旋转等变特征中提取旋转不变特征。

  • 将旋转等变网络合并到主干中以生成旋转等变特征
  • 然后RiRoI Align从空间和方向维度的旋转等变特征中完全提取旋转等变特征

3. Preliminaries

等变是一种特性,将变换应用于输入会以可预测的方式生成特征的变换。形式上,给出一个变换组和一个函数Φ:X→Y、 等变可表示为:

 

 

  1. 同变性公式表达
  2. 平移不变性 (CNN特性)
  3. 旋转同变卷积(在平移的基础上添加旋转特性,赋予CNN旋转特性)

Rotation-equivariant Networks 旋转等变网络。。正常的 CNN 由一系列卷积层组成,具有平移权重共享的性质。类似地,旋转同变性网络也由一组旋转同变层组成,权重共享的程度更高,即平移和旋转权重共享。 

Rotation-invariant Features. 旋转不变特征。对于输入做任意的旋转变换 Tr  ,如果输出保持不变,我们就说这个输出特征是旋转不变的。旋转不变特征可以分为3个层级:图像层级,实例层级和像素层级。这里我们主要关注实例层级的选择不变特征,对于目标检测任务来说更加适合。

 参考第一个同变性公式表达

 对比(6)(7)

小结:

  1. 公式1 同变性公式表达
  2. 公式2 平移不变性CNN特性)
  3. 公式3 旋转同变卷积(在平移的基础上添加旋转特性,赋予CNN旋转特性)
  4. 旋转等变网络:权值共享(平移旋转):正常CNN 由一系列卷积层组成,具有平移权重共享的性质。
    类似地,旋转同变性网络也由一组旋转同变层组成,权重共享的程度更高,即平移和旋转权重共享。
  5. 旋转不变特征: 可以分为3个层级:图像层级,实例层级和像素层级。
    主要关注实例层级的选择不变特征,对于目标检测任务来说更加适合。
  6. 公式6 ROI I_{R} 旋转同变性
  7. 公式7 旋转不变特征(旋转不变特征Φ ( I R ) 通过对等式6应用一个反向变换得到)

4. Rotation-equivariant Detector

        这一部分介绍 ReDet,编码旋转同变性旋转不变性。首先,我们采用旋转同变网络作为主干网络,提取旋转同变的特征。如前面所讨论的,直接对旋转同变特征图使用 RRoI Align 不会得到旋转不变的特征。所以,作者设计了 Rotation-invariant RoI Align(RiRoI Align),从旋转同变的特征图上产生 RoI 旋转不变特征。ReDet 的整体结构如图3所示。给定一个输入图像,我们将它输入进旋转同变网络。然后采用 RPN 来生成 HRoIs,后面跟着一个 RoI Transformer(RT),将 HRoIs 变换为 RRoIs。最后通过 RiRoI Align 来提取旋转不变的特征,用于 RoI 的分类和边框回归。

 图3. ReDet 的概览。

  • (a) 旋转同变检测器的整体结构。
    1) 使用旋转同变主干网络提取旋转同变特征,后面跟着一个 RPN 和RT,产生 RRoIs;
    2) 然后使用旋转不变的 RoI Align(RiRoI Align) 产生旋转不变的特征,用于分类和边框回归。
  • (b) 旋转同变的特征图。在循环分组C_{N}之下,大小是 (K,N,H,W)的旋转同变的特征图有N个朝向通道,每个朝向通道对应着C_{N} 的一个元素。
  • (C) RiRoI Align。RiRoI Align 有两部分组成:空间对齐和朝向对齐。
    对于一个 RRoI (x,y,w,h,θ),空间对齐会从空间维度中扭曲 RRoI;
    而朝向对齐则循环地切换朝向通道,进行特征插值,产生完全旋转不变的特征

 

ReDet:编码旋转同变性旋转不变性

步骤:

  1. 采用旋转同变网络作为主干网络,提取旋转同变的特征。
    设计了 Rotation-invariant RoI Align(RiRoI Align),从旋转同变的特征图上产生 RoI 旋转不变特征
  2.  使用旋转不变的 RoI Align(RiRoI Align) 产生旋转不变的特征,用于分类和边框回归。

4.1. Rotation-equivariant Backbone

        目前的目标检测器通常使用 CNN 作为主干网络,自动提取语义信息丰富的深度特征,如广泛使用的带有 FPN 的 ResNet。作者也将带有 FPN 的 ResNet 作为基线模型,实现了一个旋转同变的主干网络,叫做 Rotation-equivariant ResNet (ReResNet) with ReFPN。

与常见的主干网络相比,旋转同变主干网络具有以下优点:

  • (a) 更高度的权重共享。作者介绍了旋转同变特征图具有一个额外的朝向维度,不同朝向的特征共享相同的滤波器,这些滤波器具有不同的旋转变换,即共享旋转权重
  • (b) 丰富的朝向信息。对于朝向固定的输入图像,旋转同变的主干网络可以输出多个朝向的特征。这对于朝向目标检测非常重要,需要准确的朝向信息。
  • (c) 模型体积更小。与基线相比,作者设计主干网络时有两个选择:计算量相似或参数量相似。通常,我们保持与基线模型相似的计算量,即输出通道相同。因为旋转权重共享,旋转同变的主干网络就大幅度降低了模型体积,约1/N的参数量。
     

小结: 

  • 重新实现了旋转同变网络的所有层,基于 e2cnn,包含卷积、池化、归一、非线性函数等。
  • 考虑到计算成本,ReResNet 和 ReFPN 只对离散分组同变,即所有的平移变换N个离散的旋转变换
  • 与常见的主干网络相比,旋转同变主干网络具有以下优点:
    1) 更高度的权重共享:共享旋转权重
    2) 对于朝向固定的输入图像,旋转同变的主干网络可以输出多个朝向的特征
    3) 旋转权重共享,旋转同变的主干网络就大幅度降低了模型体积,约1/N的参数量。

4.2. Rotation-invariant RoI Align

 如第三部分介绍,对于一个 RRoI (x,y,w,h,θ),我们可以用 RRoI warping 从旋转同变特征图中提取出旋转不变的 RoI 特征。但是,常见的 RRoI warping 只能在空间维度对齐特征,而没有对齐朝向维度。所以,作者提出了 RiRoI Align 来提取旋转不变特征。如图3(c) 所示,RiRoI Align 包含2个部分:
a)空间对齐。对于一个 RRoI(x,y,w,h,θ),空间对齐会在空间维度中,从特征图f ff来对其做扭曲,产生旋转不变的区域特征f_{R}这和 RRoI Align 一致。
b)  朝向对齐。为了确保不同朝向的 RRoI 产生完全旋转不变的特征,我们在朝向维度进行了朝向对齐。

和 RRoI Align+MaxPool 的比较。和 RiRoI Align 不同,通过 RRoI Align 然后再在朝向维度中最大池化特征是另一个提取旋转不变特征的方法。朝向池化操作通常在分类任务中采用。对于特征图上的每个位置,它只保留响应最强的朝向,而其它朝向的特征会被丢弃掉。但是,作者认为所有朝向的响应,不管强弱,对于目标检测来说都是很重要的。在 RiRoI Align 中,所有朝向的特征都被保留,通过朝向对齐操作来对齐。


5. 实验和分析

5.1. 数据集

DOTA [35](略)

HRSC2016 [21](略)

5.2. 实现细节

        ImageNet预训练。对于原始的ResNet[12],我们直接使用Pytorch[25]中的ImageNet预训练模型。对于reesnet,我们是基于它们的分类来实现的。我们在ImageNet-1K上训练reesnet,初始学习率为0.1。所有模型训练100个纪元,学习率在{30,60,90}纪元处除以10。设置批量大小为256。

        在检测微调。我们采用ResNet[12]和FPN[17]作为基线方法的骨干。我们采用带有ReFPN的reesnet作为我们提议的reet的骨干。对于RPN,我们在每个金字塔层的每个位置设置15个锚。对于R-CNN,我们采样512个正负比为1:3的roi进行训练。为了测试,我们在NMS之前采用了10000个roi(每个金字塔层2000个),在NMS之后采用了2000个roi。我们采用与mmdetection[3]相同的训练计划。采用SGD优化器,初始学习率为0.01,每一步衰减学习率除以10。动量衰减为0.9,重量衰减为0.0001。我们为DOTA训练了12个epoch,为HRSC2016训练了36个epoch。我们使用4个V100 GPU(总共8个批量大小)进行训练,使用单个V100 GPU进行推理。

5.3. 消融实验

        在本节中,我们在DOTA-v1.5测试集上进行了一系列消融实验,以评估我们提出的方法的有效性。请注意,我们分别使用原始ResNet+FPN和RRoI Align作为主干,使用RoI翘曲法作为基线。

Rotation-equivariant backbone.(略)

Effectiveness of RiRoI Align. RiRoI Align的有效性。如表3所示,与RRoI Align相比,RiRoI Align由于其定向对齐机制而有明显改善。而RRoI Align+MaxPool导致mAP的显著下降,这表明定向池在面向对象检测中是不可取的。(略)

Comparison with rotation augmentation.与旋转增强相比较。从另一个角度看,我们的方法可以看作是一种特殊的网络内旋转增强,它从一个方向学习,可以应用到多个方向。相反,旋转增强通过生成更多方向的样本来增强网络,通常需要更多的时间来收敛。(略)

Performance on other datasets.其他数据集的性能。

5.4. 与最先进技术的比较

Results on DOTA-v1.0.(略)

Results on DOTA-v1.5.(略)

Results on HRSC2016.(略)


6. 结论

        提出了一种用于航空目标检测的旋转等变检测器,该检测器由旋转等变主干和RiRoI对齐两部分组成。前者产生旋转等变特征,而后者从旋转等变特征中提取旋转不变特征。在DOTA和HRSC2016上的大量实验证明了我们方法的有效性。

  • 26
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Clark-dj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值