DGECN: A Depth-Guided Edge Convolutional Network for End-to-End 6D Pose Estimation

摘要

  单目6D姿态估计是计算机视觉中的一项基本任务。现有的工作通常采用两级流水线,通过建立对应关系并利用RANSAC算法计算6自由度(6DoF)姿态。最近的工作试图集成可微分RANSAC算法以实现端到端的6D姿态估计。然而,大多数算法在执行可差分RANSAC算法时很少考虑三维空间中的几何特征,并且忽略了拓扑线索。为此,我们提出了一种用于6D姿态估计任务的深度引导边缘卷积网络(DGECN)。我们从以下三个方面做了努力:1)我们利用估计的深度信息来指导对应提取过程和具有几何信息的级联差分RANSAC算法。2) 我们利用估计深度图的不确定性来提高输出6D姿态的准确性和鲁棒性。3) 我们提出了一种通过边缘卷积的可微分透视点(PnP)算法,以探索2D-3D对应之间的拓扑关系。实验表明,我们提出的网络在有效性和效率方面都优于当前的工作。

简介

  物体姿态估计是计算刚性物体的6个自由度(DoF)姿态的任务,包括其在图像中的位置和方向。它广泛用于AR[1,28,45]、机器人视觉[27,31]和3D重建[9,10]的三维配准**。由于存在噪声和其他影响因素,如遮挡、噪声背景和照明变化,准确估计RGB图像中对象的6DoF姿态仍然是一个具有挑战性的问题**。
  当前的物体姿态估计方法可以分为分为两种类型:1)使用单一RGB图像[17、27、28、31、45]或 2)伴随深度图像[14、39、41]的RGB图像来估计对象姿态。对于基于RGB和基于RGB-D的方法,基于关键点的工作在这一领域占主导地位。另一方面,基于直接回归的方法通常不如基于关键点的方法。基于关键点的方法通常包括两个阶段:首先,它通过现代神经网络在RGB图像上预测3D模型关键点的2D位置。然后利用基于RANSAC的透视n点(PnP)方法从2D-3D对应关系计算6D姿态参数。尽管许多有代表性的工作[15,22,25,33,35,36]已经证明了两级流水线的有效性,但仍有许多局限性。大多数现有方法仍然使用基于RANSAC的PnP算法的变体来估计姿态参数。其次,当2D-3D对应关系密集时,基于RANSAC的PnP可能会非常耗费时间。第三,大多数两阶段工作中的网络不能直接输出6D因此它们的损失函数不能优化我们预期的姿态估计。最后,两阶段估计可能会导致显著的累积误差,这在两个连接步骤之间逐渐增大。
  最近,一些工作试图将可微分的RANSAC算法集成到流水线中,这样网络就可以进行端到端的训练。Brachmann等人[3]提出了一种不同的PnP方法。Hu等人[16]利用PointNet[29]来近似稀疏对应的PnP。但这些作品要么需要繁琐的训练过程,要么不考虑几何线索。Wang等人[42]通过将基于RANSAC的PnP替换为Patch PnP,构建了一个端到端框架,该方法工作良好,但依赖于网络中的密集对应图和表面区域注意图。它很难直接从2D-3D对应中学习6D姿势。
  为此,我们提出了深度引导边缘卷积网络(DGECN),联合处理相应的特征提取和6D姿态估计。我们的网络利用深度引导网络来建立2D-3D响应,并通过新颖的动态图PnP(DG-PnP)从响应中学习6D姿势。一方面,深度信息允许我们充分利用刚性对象的几何约束。另一方面,我们重新审视了对应集的性质,发现它可以通过构造图结构更好地处理复杂纹理。我们的端到端管道如图1所示。

在这里插入图片描述
图1.DGECN管道。对于输入的RGB图像,我们提出了一种新的DGECN来同时预测分割和深度图。在建立2D-3D对应关系后,我们将RANSAC/PnP替换为可学习的DG-PnP,以回归6D姿势。

  在LM-O[2]和YCB-V[5,45]上的实验结果表明,我们的网络在准确性和效率方面与最先进的方法相比甚至更优越。
我们在这项工作中的贡献可以总结如下:

  • 我们建议使用深度引导网络,直接从单眼图像中学习6D姿势,无需额外信息。此外,我们还提出了一个深度细化网络(DRN)来提高估计深度图的质量。
  • 我们探索了2D对应集的属性,发现通过构建图,可以更好地从2D关键点分布中学习6D姿势参数。我们进一步提出了一种简单但有效的动态图PnP(DG-PnP),用于直接从2D-3D对应中学习6D姿势。

相关工作

  直接方法。这些方法通常在一次拍摄中直接估计6D姿态。一些早期工作利用模板匹配技术。然而,在闭塞状态下,他们的表现并不令人满意。随着深度学习的发展,一些工作通过网络对姿态参数进行回归。香,等[45]首次将CNN引入这一领域,他们使用基于GoogleNet[38]的网络直接学习6D相机姿势。由于对象的多样性以及由对象之间的杂波和遮挡造成的场景的复杂性,这个问题仍然具有挑战性。为了解决这个缺陷,PoseCNN[45]通过在图像中定位物体的中心并预测其与相机的距离来估计物体的3D平移。然而,由于旋转矩阵加法的非封闭性,这个问题仍然很难解决。一些著作[49]利用SO(3)/SE(3)使旋转空间可微。

  基于对应的方法。基于2D-3D对应检测的方法已逐渐成为目标姿态估计的主流。PVNet[28]和Seg-Driven[17]对每个对应关系进行了与投票相结合的分割,以使估计更加稳健。EPOS[15]利用表面碎片来解释姿势的模糊性。Pix2Pose[27]使用基于GAN的网络来预测没有纹理模型的每个对象像素的3D坐标。Oberweger等人[26]输出关键点的逐像素热图,以解决遮挡问题。近年来,一些工作旨在避免基于关键点的pipeline中耗时的基于RANSAC的PnP。DSAC[3]提出了通过软argmax和概率选择使RANSAC可微的两种可选方法,并将其应用于相机局部化问题。Single Stage[16]采用类似PointNet的架构,从2D-3D对应关系中学习6D姿势。然而,这种方法只能处理稀疏响应。为了避免这种情况,GDR Net[42]让网络预测表面区域,作为额外的模糊感知监控,并在其Patch PnP框架中使用它们。SO Pose[7]专注于被遮挡的部分,以更完整和准确地编码对象的几何特征。

  图卷积网络(GCN)。由于图形结构具有较高的表示能力,GCN在多个任务中表现出优异的性能,包括图像字幕[8]、文本到图像和人体姿势估计[4]。在3D计算机视觉中,Wald等人[40]提出了第一种从3D点云生成语义场景图的学习方法。DGCNN[43]使用基于GCN的网络进行点云特征提取。Superglue[34]利用GCN通过联合搜索对应关系和拒绝不匹配点来匹配两组局部特征。

方法

  在本节中,我们将描述深度引导的6D姿势回归网络。我们首先介绍相关背景。然后,我们展示了我们的网络架构,它可以学习深度来细化6D姿势。

在这里插入图片描述
图 2. 我们的架构概述。我们的框架由三个构建块组成:1)用于深度和 RGB 特征融合的特征提取网络,2)基于深度投票网络的 2D-3D 对应提取网络,以及 3)名为 DG-PnP 的可学习 PnP 网络用于 6D 姿态对象估计。 KFA 表示 K-NN 特征聚合,𝐺𝑟、𝐺𝑑和𝐺𝑙分别是 RGB 特征、深度特征和局部特征。

问题表述

  给定一张图像,我们的任务是检测物体并估计它们的 6D 姿势。在这里,我们将图像表示为𝐼。我们的目标是估计旋转 R ∈ SO(3) 和平移 t = (𝑡𝑥, 𝑡𝑦, 𝑡𝑧 ) ∈ R3 可以将对象从其对象世界坐标系转换到相机世界坐标系。
  图 2 是我们提出的方法的概述。我们首先通过无监督深度估计网络学习深度信息。之后,像 GDR-Net1 ^和 PVNet[28] 一样,我们使用 FCN[24]的方法定位图像中的每个对象。根据分割的结果,我们在深度图和 RGB 图像上裁剪感兴趣区域,并将它们馈送到基于 K-NN 的特征聚合 (KFA) 模块以获取局部特征。同时,我们使用 ResNet50[13]来提取图像的 2D 特征。然后,使用密集融合模块来融合外观特征、几何信息和局部特征。接下来,我们将融合特征作为 2D-3D 对应预测网络的输入,以建立 2D-3D 对应。最后,我们通过我们提出的不同实体 DG-PnP 直接从 2D-3D 对应关系中回归相关的 6D 对象姿态。
  我们的框架建立在基于关键点的方法之上。给定图像𝐼和 3D 模型 𝑀 = {𝑀𝑖 |𝑖 = 1, …, 𝑁},我们的目标是恢复未知的刚性变换 {R, t}。为了显示方便,我们假设图像中有一个目标对象,我们记为𝑂。如图 4 所示,我们的目标是预测模型 𝑀 的相应 3D 关键点在 𝐼 中的潜在 2D 位置。

深度估计

  受最近基于 RGB-D 数据和点云的工作2^的启发,我们引入了深度信息以使 2D-3D 对应更加稳健和准确。然而,这些方法总是需要激光雷达或其他传感器来获取真实的深度信息。而且,在事先获取的RGB图像中,我们通常无法获得真实的深度信息。因此,我们使用网络来预测深度​​,作为监督 2D-3D 对应估计的附加特征。随着单目深度估计的发展,出现了许多深度估计方法[11,32,44]。但是这些方法常用于估计大场景的深度信息,不利于直接估计6D姿态估计场景的深度图。因此,在我们的工作中,我们使用不确定性测量来细化估计的深度图。

深度引导边缘卷积网络

  我们方法的概述如图2所示。关键点定位是一种基于投票的架构,没有充分考虑深度信息。因此,我们从三个方向努力完善这一战略:

  1. 我们利用估计深度图在 6D 目标估计场景中的不确定性,细化深度图并减少噪声在深度估计过程中的影响。
  2. 在直接将 RGB 输入 CNN 以建立 2D-3D 对应关系之前,我们首先预测深度图并提出 K-NN 特征聚合 (KFA) 块来融合跨域特征。
  3. 我们提出了一种可学习的 DG-PnP 来代替两阶段 6d 姿态估计Pipeline中的手工制作的 RANSAC/PnP。

  深度细化网络(DRN)。当前的单目深度估计方法通常应用于大型户外场景。因此,它们通常在大型场景数据集上进行训练,例如 KITTI。然而,当我们直接使用这些方法估计 6DoF 场景深度时,在某些区域,波动可能会特别大。 DRN 旨在完善深度图的质量。如图3所示,它由两个不同的深度估计网络组成,每个网络分别输出一个深度图𝐷𝐴和𝐷𝐵。然后我们计算两个深度图之间的差异,并将差异超过阈值的区域定义为不确定区域。有两种方法可以进一步处理这些不确定区域,一种是直接从深度特征中去除它们。第二种方法是用它们的均值代替原来的深度。我们在本文中选择第一种方式。

在这里插入图片描述
图 3. 深度不确定度测量。

  特征提取。这个阶段有两个流,一个用于深度估计,另一个用于对象分割。深度估计将彩色图像作为输入并执行深度图预测。然后,对于每个分割对象,我们使用分割对象掩码和深度图将其转换为 3D 点云。为了处理多个对象分割,以前的工作 3^ 使用现有的检测或语义分割算法。同样,我们采用 FCN [24] 对输入图像进行分割。对于 3D 特征提取,一些工作 4^ 将分割的深度像素转换为 3D 点云,并利用 3D 特征提取器 [12,29,30] 提取几何特征。虽然这些方法被证明是有效的,但它们需要训练额外的 3D 特征网络。为了更充分的 RGB-D 融合,我们引入了 KFA 模块。考虑 RGB 图像中的一个像素,表示为 𝑝𝑖 ,并且 𝐷𝑖 = {𝑑 𝑗 | 𝑗 = 1…𝑘} 是 𝑝𝑖 的 k 最近邻的深度集,然后我们采用具有可学习参数 𝜃𝑖 的非线性函数𝐹𝑝𝑖 = 𝑓 (𝐷𝑖 , 𝜃𝑖) 来聚合 𝑝𝑖 的局部特征。如图 2 所示,得到的特征 𝐺 = (𝐺𝑟 , 𝐺𝑑, 𝐺𝑙)。

  2D 关键点定位。 3D 关键点是从 5^中的 3D 对象模型中选择的。一些方法 6^ 选择 3D 边界框的八个角。然而,这些点是虚拟的,2D 对应可能位于图像之外。对于靠近边界的对象,这可能会导致较大的误差,因为二维对应关系不在图像中。因此,应在物体表面上选择关键点。我们遵循[28]并采用最远点采样(FPS)算法来选择对象表面上的关键点。在此阶段结束时,我们使用基于 [17] 的网络进行 2D 对应检测。

在这里插入图片描述
图 4. 2D-3D 对应关系。 (a) ground-truth 2D 对应关系(红色对应)及其假设(蓝色对应)。 (b) 相机平面上的二维对应投影。相机和物体坐标系分别用𝑂和𝑊表示。

  从 2D-3D 对应中学习 6D 姿势。如图 4 所示,给定一组具有 𝑛 3D 关键点 𝐾 ={𝐾𝑖 |𝑖 = 1, …, 𝑛} 并且每个𝐾𝑖对应于一组二维位置𝑘 = {𝑘𝑖 𝑗 | 𝑗 = 1, …, 𝑚} 在图像中。我们的目标是设计一个网络来从已建立的 2D-3D 对应关系中学习刚性变换 (R, t)。 DSAC [3] 通过soft argmax 和概率选择使 RANSAC 可微。 Single-Stage [16] 利用类似 PointNet 的架构来解决这个问题,但是它只能处理稀疏的对应关系。 GDR-Net [42] 提出了一个简单但有效的 patch-PnP 模块,它依赖于由其网络预测的密集对应图。为了解决这个问题,我们提出了一个基于 GCN 的网络来直接从 2D-3D 对应关系中回归 6D 姿态,描述如下
( R , t ) = M ( 𝐾 , 𝑘 ∣ Θ ) (R, t) = M (𝐾, 𝑘 |Θ) (R,t)=M(K,k∣Θ)
  其中 M 表示建议的 DG-PnP,参数为 Θ。

在这里插入图片描述

  胡等人,[16] 使用了类似于 Point Net [29] 的架构。但是,它只将二维位置作为单独的点,没有考虑图像中二维对应的分布特性。如上所述,我们预测输入图像中每个像素的深度值,因此我们可以充分利用二维对应的几何和位置特征。通过重新审视 2D-3D 对应的属性,我们发现 2D 对应的结构类似于图。如图 4 所示,我们没有将单个点作为输入,而是将 2D 对应集群作为图形并将其输入到我们的 DG-PnP 中。
  局部图构建。如图 5 所示,P = {𝑝𝑖 |𝑖 = 1…𝑚} 是一个二维对应簇,我们通过 k-最近邻 (k-NN) 构造局部图并将其表示为 G = ( P,E)。 P 和 E = 𝑝𝑖 ↔ 𝑝 𝑗 分别是顶点和边。然后,我们通过聚合 P 中 𝑝𝑖 的所有邻域来计算边缘特征。

  边缘卷积。与图卷积网络 (GCN) 不同,我们的边缘卷积是 CNN 的变体。考虑具有 𝑚 像素的 2D 对应X维度特征,并将其表示为𝑓 = { 𝑓𝑖 |𝑖 = 1, …, 𝑚},我们通过图操作计算局部图特征:
在这里插入图片描述
  其中 𝜆𝑗 是一个超参数,由 𝑘𝑖 和 𝑘𝑗 之间的距离决定。 𝑔𝜃 是具有可学习参数 𝜃 的非线性函数。我们采用[43]中提出的非对称边缘函数:
在这里插入图片描述
  其中 𝜃𝑖 = (𝛼𝑖 , 𝛽𝑖) 和 Θ = {𝜃𝑖 |𝑖 = 1, …, 𝑚} 1. 在本文中,我们将 𝑘𝑖 的 3D 坐标和 RGB 信息作为特征 𝑓𝑖,并且可以使用相机内在函数从深度转换 3D 坐标。因此,在我们的网络中𝑋 = 6。

损失函数和姿态估计

  为了训练所提出的网络,我们引入了四个损失函数L𝑑, L𝑠, L𝑘 , 和L𝑝。 总损失函数定义为
在这里插入图片描述
  其中𝜆1、𝜆2、𝜆3和𝜆4是权重系数。
  L𝑑 深度估计模块基于MonoDepth2[11]
在这里插入图片描述
  其中𝐿𝑑𝑝 是光度损失,以及𝐿𝑑𝑠 是边缘感知平滑度。由于篇幅限制,更多详情请参阅[11]
  L𝑠 是分割损失,用于约束分割任务并从图像中提取目标对象。这里我们根据[23]选择焦点损失。
  L𝑘 是用于压缩2D-3D对应关系的关键点匹配损耗。如图4所示,我们试图预测图像中的2D关键点位置,并将损失函数定义为:
在这里插入图片描述
  哪里𝑘 𝑝 𝑖 是地面实况2D关键点位置,𝑛 是3D关键点的数量,𝑚 是的2D响应数𝑘 𝑝𝑖 , 𝑀 = 𝑚 × 𝑛 是由我们的网络在图像中预测的总2D对应的数量。
  L𝑝 是用于约束最终6DoF姿态参数的最终姿态估计损失。受PoseCNN[45]和DeepIM[21]的启发,我们设计了L𝑝 像
在这里插入图片描述
  其中R∗ 和t∗ R和t是地面真值。
  我们的网络是一个多任务网络,包括输出深度图、分割掩码、3D-2D响应和6DoF姿态参数的计算,如当前的SOTA方法。更一般地说,当图像中有多个目标物体时,我们可以同时估计这些目标物体的姿态,实验部分给出了结果。

实验

  在本节中,我们进行实验来证明DGECN的有效性。我们在几个常见的基准数据集上评估我们的DGECN。为了与经典PnP和一些学习PnP进行直接比较,我们在合成球体数据集上建立了几个实验[16,42],以验证所提出的DG PnP。此外,我们还进行了一项实验研究,以讨论所提出方法中每个组件的有效性。

数据集集合

合成球体数据集

  与Single Stage[16]中一样,我们使用虚拟校准相机创建精确的合成3D到2D对应关系,图像尺寸为640×480,焦距为800,主要点位于图像中心。但是,Single Stage不需要颜色信息,因此其背景是纯的。如第3节所述,我们的网络将充分提取本地特征,包括位置和颜色。因此,我们将梯度背景添加到他们的合成数据集,其他参数设置与Single Stage相同,如图7所示。

在这里插入图片描述
图7.合成数据。我们创建了[16]中的合成数据,但我们添加了它们的背景

YCB-V数据集

  该数据集由[5,45]提出,由21个具有不同形状和纹理的YCB对象组成。捕获了对象子集的92个RGB-D视频,并用6D姿势和实例语义掩码进行了注释。不同的照明条件、显著的图像噪声和遮挡使该数据集具有挑战性。如在PoseCNN[45]中,我们将数据集分成80个视频进行训练,并从其余12个视频中选择一组2949个关键帧进行测试。

LM-O数据集

  此数据集7是对象6D姿势估计的标准基准,包含13个视频中的13个低纹理对象、带注释的6D姿势和实例掩码。LM-O的主要挑战是混乱的场景、无纹理的物体和照明变化。在这项工作中,我们遵循先前的工作来处理这个数据集,我们还将合成图像添加到我们的训练集中,如[45]所示。

评估指标

  为了进行比较,我们使用两个常用度量来评估我们的方法:平均距离(ADD)[45]和2D重投影误差(REP)[17]
ADD使用使用预测姿态变换的3D模型点与地面真实姿态获得的3D模型之间的平均距离。当距离小于模型直径的10%时,它声称估计的姿势是正确的。我们遵循[16,42],并通过ADD(-S)度量来评估对称对象,该度量度量到最近模型点的偏差。将预测姿势表示为[R∗ , 时间∗ ] 并且地面真值姿态为[R,t]
在这里插入图片描述
  其中𝑥 是完全的顶点𝑚 当在YCB-V上进行评估时,我们还通过改变距离阈值(最大值为10cm8哪里)来计算ADD(-S)的AUC(曲线下面积)。
  REP计算给定估计姿态和地面真实姿态的3D模型点投影之间的平均距离。当REP低于5像素时,我们声称估计的姿势是正确的。
  对于每个度量,我们使用对称度量对象的对称版本,我们用上标表示。

与最先进技术的比较

  我们比较了YCB-V和LM-O数据集上的最新研究成果。值得一提的是,我们还与基于RGB-D的方法进行了比较,以验证我们的深度估计网络的有效性。

LM-O数据集的性能

  表2显示了DGECN与最先进的单目方法在遮挡LM-O数据集上的比较结果。我们的DGECN与[7,21,42]相当,表现优于[16,28]。表5显示了与基于RGB-D的方法的比较结果。此外,在某些场景中,该方法甚至优于基于RGB-D的方法。
在这里插入图片描述

表1.烧蚀研究。我们模型的不同版本的结果与一些基线模型的比较。我们评估了DGECN和DG PnP的影响。(s) 表示对称对象,由浅红色表示的度量是最佳结果。我们报告了LM-O数据集上ADD(-S)的平均召回率(%)。

YCB-V的性能

  表3显示了YCB-V数据集的评估结果。这表明,我们的模型可与现有技术相媲美[19,42],甚至优于基于细化的方法[21]。图6显示了YCB-V的定性结果。
在这里插入图片描述

消融研究

  在本节中,我们将讨论以下问题:(1)DG PnP与手工PnP和其他可学习PnP相比如何?(2) 学习的深度是否改善了最终的姿势估计?(3) DGECN对PnP变体有效吗?
  与 PnP 变体的比较。我们使用 20K 合成图像进行训练,使用 2K 图像进行测试。在训练时,我们随机添加方差为 𝜎 在 9^ 范围内的 2D 噪声,并创建 10% 和 30% 的异常值。合成中的比较是至关重要的,因为它可以直接将我们的 DG-PnP 与 PnP 变体进行比较,而忽略关键点检测方法的影响。图 8 显示了不同噪声水平下的结果,与 EPnP [20]、PointNet like PnP [16]和 vPatch-PnP [42] 进行了比较。当噪声最小时,手工制作的 PnP 更准确,而可学习的 PnP 方法对噪声更鲁棒,并且当噪声增加时它们更准确。此外,DG-PnP 是明显比 PointNet-like PnP 更健壮和准确,并且与 Patch-PnP 相当。因为 DG-PnP 和 Patch-PnP 都考虑了几何和拓扑特征。
  深度图上的消融。如上所述,深度信息在 6D 姿态回归中起着重要作用。此外,我们通过丢弃深度估计来训练我们的 DGECN。深度信息用于对应提取和 DG-PnP,因此我们对其进行了消融研究。如表中所示。 4. DGECN 在深度预测方面明显更加稳健。
在这里插入图片描述

  每个组件的有效性。如选项卡所示。如图 1 所示,我们通过将我们的组件与不同的最先进方法相结合来证明所提出方法的每个组件的有效性。对于 DGECN,我们将架构中的 DG-PnP 替换为 PnP 变体^ [6,16,42]^。 DGECN 通过不同的 PnP 方法展示了具有竞争力的性能。此外,它甚至比 Single Pose 结合 PointNet-like PnP 更好。对于 DG-PnP,我们将一些两阶段方法中的 PnP 变体替换为 DG-PnP。
在这里插入图片描述

结论

  在这项工作中,我们提出了一种新颖的深度引导网络,用于单目 6D 对象姿态估计。核心思想是利用几何和拓扑信息,共同处理2D关键点检测和6D姿态估计。然后,我们深入研究 2D-3D 对应关系,并观察到图结构可以更好地模拟关键点分布的特征。此外,我们提出了一种用于学习 6D 姿势的动态图 PnP 来代替手工制作的 PnP。因此,我们的方法是一种实时、准确和鲁棒的单目 6D 物体姿态估计方法。

致谢

  该工作得到湖北省重点技术创新项目(2018AAA062)、国家自然科学基金(NSFC No.61972298)和武汉大学华为地理信息创新实验室的部分支持。


  1. 42 ↩︎

  2. 14, 41, 47, 48 ↩︎

  3. 17, 28, 41, 45 ↩︎

  4. 14, 41 ↩︎

  5. 14, 28 ↩︎

  6. 17, 31 ↩︎

  7. 2 ↩︎

  8. 45 ↩︎

  9. 0, 15 ↩︎

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值