用于交互式自由视点视频的高效神经辐射场

本文提出ENeRF,一种新的方法,通过学习到的深度引导采样策略,加速了通用神经辐射场的渲染过程,从而实现实时交互式的自由视点视频生成。该方法构建级联代价体来预测场景几何,减少了采样点的数量,显著提高了渲染速度,同时保持了与基线方法相当的图像质量。在多个数据集上进行了评估,证明了其在速度和质量上的优势。
摘要由CSDN通过智能技术生成

摘要

      本文旨在解决高效生产交互式自由视点视频的挑战。最近的一些工作为神经辐射场配备了图像编码器,使其能够跨场景泛化。在处理动态场景时,他们可以简单地将每个视频帧视为一个单独的场景,并进行新颖的视点合成来生成自由视点视频。然而,它们的渲染过程缓慢,无法支持交互式应用。一个主要的因素是它们在推断辐射场时在空空间采样了大量的点。我们提出了一种新颖的场景表示方法ENeRF,用于快速创建交互式自由视点视频。具体来说,给定一帧多视角图像,我们首先构建级联代价体来预测场景的粗几何结构。粗略的几何结构允许我们在场景表面附近采样少量的点,从而显著提高渲染速度。这个过程是完全可微的,使得我们可以联合学习。

图1:本文提出的方法在交互帧率下实现了动态场景的真实感视图合成。对于渲染动态场景的自由视点视频的实时演示,请参考我们的视频。

 

1 引言

        自由视点视频具有虚拟旅游、沉浸式临场感、电影制作等多种应用。这些应用一般需要我们完成两件事情。首先,给定多视点视频,我们需要快速生成自由视点视频,这对于沉浸式临场感至关重要。其次,渲染目标场景的新奇视图应该是快速的,这对于用户体验很重要。神经辐射场( NeRF ) [米尔登霍尔等2020]将场景表示为密度场和辐射场,使其能够实现真实感的新奇视点合成。[ Park et al 2021a ; Pumarola等2021]利用形变场将NeRF扩展到动态场景,从而产生自由视点视频。然而,这些方法一般需要对每个新场景进行较长的训练过程。而且,它们的渲染速度较慢。

        最近,[ Garbin et al 2021 ; Yu等2021a]提出将辐射场缓存到高效的数据结构中,显著提高了渲染速度。为了处理动态场景,FastNeRF [ Garbin等2021]使用变形场增强缓存场景,将世界空间点变换到缓存场景的空间。虽然它可以实时渲染自由视点视频,但是存在两个问题。首先,当存在复杂的场景运动时,形变场很难从视频中恢复出来,正如[ Peng等2021a]中所讨论的。第二,它仍然需要一个漫长的优化过程,使得无法从新的数据中快速产生自由视点视频。

        另一类工作[ Wang等2021b ; Yu等2021b]训练网络来预测多视角图像的辐射场,并可以推广到看不见的场景。这些方法克服了FastNeRF [ Garbin等2021]存在的两个问题。首先,在处理动态场景时,他们能够简单地将每一帧作为一个单独的场景,进行新颖的视图合成,而不是像[ Garbin et al 2021 ; Pumarola等2021]那样恢复时间运动。其次,得益于预训练,它们可以被快速微调以在新场景上产生真实感渲染结果。然而,它们的渲染速度较慢,因为它们需要通过神经网络来渲染一个像素。

        在本文中,我们提出了一种新颖的渲染方法ENeRF,用于高效地生成交互式自由视点视频。我们的创新之处在于引入了学习到的深度引导采样策略,大大加快了可泛化辐射场方法的绘制速度。具体地,对于目标视图,我们构建了级联代价体,用于预测一个深度概率分布。深度概率分布给出了表面可能位于的一个区间。随着深度间隔的增加,我们只需要沿着光线采样少量的三维点,从而提高了以往方法[ Chen et al 2021 ; Wang等2021b]的渲染速度。与[ Chen等2021]类似,我们利用代价体积特征来预测辐射场,这使得我们的方法可以很好地推广到新的场景。此外,整个管道是完全可微的,因此深度引导采样策略可以仅从多视角RGB图像中与NeRF联合学习。

        我们在DTU [ Jensen等2014],Real Forward-face [米尔登霍尔等2019 , 2020],NeRF Synthetic [米尔登霍尔等2020],Dynamic Cap [阿贝尔曼等2021]和ZJUMoCap [ Peng等2021b]数据集上进行了评估,这些数据集是新视角合成中广泛使用的基准数据集。我们的方法取得了显著的渲染加速,同时在所有数据集上取得了与基线相当的结果。具体来说,我们的方法运行速度比之前的可泛化辐射场方法[ Chen et al 2021 ; Wang等2021b ; Yu等2021b]至少快60倍。我们还表明,我们的方法可以通过监督只有图像的网络产生合理的深度图。

        综上所述,本文的工作有以下贡献:1 )提出了一种新颖的方法,利用学习到的深度引导采样策略来提高通用辐射场方法的绘制效率。2 )我们证明了深度引导采样可以仅从RGB图像中与NeRF联合学习。3 )我们证明了我们的方法运行速度显著快于以前的方法,同时在多个视图合成基准上的渲染质量上具有竞争力。4 )我们展示了我们的方法实时合成人类表演者的新奇视图的能力。我们的代码在https://zju3dv.github.io/enerf.上可用。

2 相关工作

        新颖的视图合成。一些方法实现了基于光场插值[ Davis et al.2012 , Gortler et al.1996 , Levoy and汉拉恩1996]或基于图像绘制[ Chaurasia et al 2013 ; Flynn et al 2016 ;卡兰塔里et al 2016 ; Penner and Zhang 2017 ;里格勒尔and Koltun 2020 ; Zitnick et al 2004]的自由视点绘制。最近,神经表征[ Jiang et al 2020 ; Li et al 2020 ; Liu et al 2019b , a ;隆巴尔迪et al 2019 ; Shih et al 2020 ;西茨曼et al 2019 ; Wizadwongsa et al 2021]被广泛用于新颖的视图合成,可以从输入图像中优化并实现真实感渲染结果。神经辐射场( NeRF ) [米尔登霍尔等2020]将场景表示为连续的颜色场和密度场,并产生令人印象深刻的渲染结果。有一些工作[ Chen et al 2021 ; Johari et al 2022 ; Liu et al 2021b ;特里维西克and Yang 2021 ; Wang et al 2021b ; Yu et al 2021b]尝试在训练速度上改进NeRF。他们使用2D CNNs处理输入图像并解码多视角特征到目标辐射场。通过预训练网络,可以对它们进行快速微调,从而在新场景上产生高质量的渲染结果。最近,[ Chen et al 2022 ; Müller et al 2022 ; Sun et al2021 , 2022 ; Yu et al 2022]发展了基于NeRF的混合或显式结构,实现了超快收敛的辐射场重建。另外一行工作[ Garbin et al 2021 ; Hedman et al 2021 ; Liu et al 2020 ; Reiser等2021 ; Yu等2021a]旨在加速NeRF的渲染速度。通过缓存神经辐射场,[ Garbin等2021]可以实时合成真实感图像。一些方法[ Arandjelović and西塞曼2021 ; Barron et al 2021 ; Fang et al 2021 ; Neff et al 2021 ; Piala and Clark 2021]改进了NeRF的采样策略来加速渲染。DONeRF [ Neff等2021]对NeRF采用深度引导采样。但其需要深度监管,需要逐场景优化。目前存在一些探索深度监督的方法[ Deng et al 2022 ; Rematas et al 2022 ;勒斯勒et al 2022 ; Wei et al 2021]来促进神经辐射场的重建。在3D生成领域,[ Gu等2022]使用升取样器加速3D GAN的渲染,对低分辨率的特征图进行上采样。[ Chan等2022]使用三平面表示实现了3D GAN的实时渲染。上述工作主要针对静态场景的视图合成。

        动态场景的视图合成。一些方法[ Li et al2022 , 2021 ;冼国明等2021]将动态场景视为4D域,在输入的空间坐标中加入时间维度来实现时空辐射场。为了从单目视频中生成自由视点视频,[ Park et al2021a , b ; Pumarola等2021]提出聚合输入视频的时间信息。DNeRF [ Pumarola等2021]使用变形场来增强NeRF,从而在不同时刻建立典型场景与场景之间的对应关系。[张杰等2021]开发了基于DNeRF的分层神经表示,从而更好地处理包含多人和静态背景的动态场景。尽管这些方法在动态场景上取得了令人印象深刻的渲染效果,但它们通常具有较慢的渲染速度。Fast NeRF [ Garbin等2021]缓存了规范的NeRF,使用较小的MLP预测形变场,提高了渲染速度。但它只能实现300 × 300图像的实时绘制。此外,正如Peng等[ 2021a ]所讨论的那样,从复杂动态场景的视频中估计形变场是困难的。最近,[ Wang et al 2022 ; Zhang等2022]引入了4D体表示,实现了自由视点视频的高效生成。它们一般处理短帧的视频。在人体渲染领域,[ Liu et al 2021a ;隆巴尔迪et al 2021 ; Peng et al 2021a , b ; Weng et al 2022]利用人体先验建模人体运动,实现了动态人体表演者的自由视点渲染。可泛化辐射场[ Wang等2021b ; Yu等2021b]可以通过单独处理每个时刻的场景来渲染动态场景,克服了恢复时间运动的问题。但是,其渲染速度较慢。

        多视立体方法。在多视点立体视觉( multi-view Stereo,MVS )方法中,代价体已被广泛用于深度估计。MVSNet [姚洋等2018]提出从2D图像特征构建3D代价体,并用3D CNN进行正则化。该设计实现了对具有真实深度的网络进行端到端的训练,并取得了令人印象深刻的效果。然而,MVSNet的内存消耗巨大。为了克服这个问题,以下工作使用递归平面扫描[姚洋等2019]或由粗到细的结构[ Chen et al . 2019 ; Cheng et al 2020 ; Gu et al 2020 ; Yu和Gao 2020]对其进行改进。在新视角合成领域,[ Chen et al 2021 ; Chibane等2021]尝试将MVS方法与神经辐射场方法相结合。他们[ 2021 ]的目的是利用立体特征促进辐射场的构建。相比之下,我们的方法侧重于使用显式几何来加速渲染过程。另一类工作[厄克斯勒等2021 ; Wang等2021a ; Yariv等2021]将多视立体辐射场和神经辐射场结合起来,便于几何重建。

3 方法

        给定多视角图像,我们的任务是以交互帧率生成新颖视角的图像。如图2所示,为了从多视图图像中生成新的视图,我们首先从输入图像中提取多尺度特征图,用于估计粗略的场景几何和神经辐射场( 3.1节)。给定提取的特征图,我们构造级联代价体来获得三维特征体和粗略的场景几何( 3.2节)。特征体为辐射场的构建提供了几何感知信息,估计的粗略几何允许我们在表面周围采样,这显著加速了渲染过程( 3.3节)。所有的网络都是端到端训练的,仅使用RGB图像( Sec.3.4 )的视图合成损失。

图2:为本文方法示意图。给定一帧静态场景或动态场景的多视角图像,首先构建级联代价体,并对其进行处理,输出三维特征体和粗略场景几何(用深度和置信度图表示)。估计的几何形状指导我们在表面周围采样,显著加速了体绘制过程。同时,三维特征体为构建可泛化的辐射场提供了丰富的几何感知信息。所有网络组件仅使用RGB图像进行端到端训练。

 3.1 多尺度图像特征提取

        为了构建级联代价体,我们首先使用2D UNet从输入视图{ Ii } N i = 1中提取多尺度图像特征。如图2所示,首先将输入图像Ii∈R H × W × 3送入编码器,得到低分辨率特征图F i,1 ∈R H /4 × W / 4 × 32。然后使用两个反卷积层对特征图进行上采样,得到另外两个两阶段的特征图F i,2∈R H / 2 × W / 2 × 16和F i,3∈R H × W × 8。F i,1和F i,2用于构建代价体,F i,3用于重建神经辐射场。

3.2 由粗到精的深度预测

        为了高效地从多视点图像中获取粗略的场景几何(由高分辨率深度图表示),我们在新视点视锥体下构建级联代价体来预测新视点的深度。具体来说,我们首先构建一个粗略的低分辨率代价体,并从这个代价体中恢复出一个低分辨率深度图。然后我们利用上一步估计的深度图构建一个精细级别的高分辨率代价体。对精细级代价体进行处理,生成高分辨率深度图和三维特征体。

        粗放型造价体量建设。给定初始场景深度范围,首先采样一组深度平面{ Li | i = 1,..,D }。遵循基于学习的MVS方法[姚洋等2018],我们通过将图像特征 Fi,1变形为D个扫描平面来构造代价体。给定输入视图 Ii 的相机内参、旋转和平移[ Ki , Ri , ti]和目标视图[ Kt , Rt , tt],单应变换定义为:

 其中a表示目标视图相机的主轴,I为单位矩阵,Hi ( z )将目标视图中深度为z的像素( u , v)投影到输入视图。扭曲特征映射F w i∈R D × H / 8 × W / 8 × 32定义为:

 基于扭曲的特征图,我们通过计算每个体素的多视图特征{ Fw i ( u , v , z) | i = 1,..,N }的方差来构建代价体。

        深度概率分布。给定构建的代价体,我们使用3D CNN将其处理成深度概率体P∈R D × H / 8 × W / 8。与[ Cheng et al 2020]类似,我们基于深度概率体计算深度分布。对于目标视图中的一个像素( u , v),可以通过对深度概率体进行线性插值得到其在某个深度平面Li处的概率,记为Pi ( u , v)。然后将像素( u , v)的深度值定义为深度概率分布的均值L^ :

 并将其置信度定义为标准差S^ :

       精细化成本体量构建与处理。均值为L^ ( u , v),标准差为S^ ( u , v)的深度概率分布决定了表面可能位于的位置。具体来说,表面应位于定义如下的深度范围内,

其中λ是决定深度范围有多大的超参数。我们简单地将λ设定为1。为了构造精细的代价体,我们首先对估计的深度范围图^ U∈RH / 8 × W / 8 × 2进行四次上采样。给定深度范围图,我们在其内部均匀采样D′深度平面,并通过对特征图Fi ( 2 )施加类似于式( 2 )的变形来构造精细级别的代价体。然后我们使用3D CNN对这个代价体进行处理,得到深度概率体和3D特征体。按照粗略深度概率体的处理步骤,我们得到了更精细的深度范围图^ U′∈RH / 2 × W / 2 × 2,这将指导体绘制的采样。

3.3 神经辐射场的构建

        NeRF [米尔登霍尔等2020]将场景表示为颜色场和体密度场。为了跨场景泛化,与[ Chen et al 2021 ; Wang等2021b ; Yu等2021b]类似,我们的方法将特征分配给三维空间中的任意点。受PixelNeRF [ Yu等2021b]的启发,对于任意三维点,我们将其投影到输入图像中,然后从{ Fi,3 | i = 1,..,N }中提取对应的像素对齐特征,记为{ fi | i = 1,..,N },其中N为输入视图的个数。然后将这些特征与池化算子ψ聚合,输出最终的特征fimg = ψ ( f1 , ... , fN)。该池化算子ψ的设计借鉴了IBRNet [ Wang等2021b],其细节在补充材料中进行了说明。为了利用MVS框架提供的几何感知信息,我们还通过将三维点转化为查询视图的方式从三维特征体中提取体素对齐特征,并对该三维特征体进行三线性插值得到体素特征,记为fvoxel。我们的方法将fimg和fvoxel传递到一个MLP网络来获得点特征和密度,其定义为:

 式中:φ表示MLP网络。我们通过预测源视图中图像颜色{ ci } N i = 1的混合权重来估计这个3D点在d方向上的颜色^ c p。具体来说,我们将点特征fp与图像特征fi和Δ di串联,并将它们馈送到MLP网络中,得到混合权重wi定义为:

 其中φ表示MLP网络,Δ di定义为di - d的范数和方向的级联。d和di分别为目标视图和对应源视图下三维点的射线方向。颜色^ c p通过如下的soft - argmax算子进行混合:

        用于体绘制的深度引导采样。给定一个视点,我们的方法使用体绘制技术[米尔登霍尔等2020]将辐射场绘制成一幅图像。考虑像素( u , v)。我们从深度预测模块( 3.2节)估计了其深度范围^ U′( u , v)。然后在此深度范围内均匀采样Nk个点{ xk | k = 1,..,Nk }。最后,我们的方法根据公式( 6 )和( 8 )预测这些点的密度和颜色,并将其累加到像素颜色中。

3.4 训练

        在训练过程中,梯度通过采样的3D点反向传播到估计的深度概率分布,从而深度概率体可以与仅来自图像的神经辐射场联合学习。在[米尔登霍尔等2020]之后,我们使用均方误差来优化我们的模型,该误差衡量渲染的像素颜色与真实像素颜色之间的差异。相应的损失定义为:

其中Nr是每次迭代时采样光线的数量,Ci^ 和Ci分别是渲染和真实颜色。得益于深度引导采样,我们在训练过程中只采样很少的点,并花费很少的GPU内存。因此,我们也可以对图像块进行采样并使用感知损失[ Johnson等2016]进行监督。

 其中Ni是图像块的个数,Φ是感知函数( a VGG16网络)的定义。最终的损失函数为:

 在实际应用中,我们在所有实验中都取λ′= 0.01。

3.5 实现细节

        我们的可泛化渲染模型在RTX 3090 GPU上使用Adam [ Kingma和Ba 2015]优化器进行训练,初始学习速率为5e - 4,每50k迭代一半学习速率。经过约200k次迭代后模型趋于收敛,耗时约15小时。给定一个看不见的场景,我们可以在这个场景上微调我们预训练的模型。在RTX 3090 GPU上,根据图像数量的不同,新场景的微调一般需要10 min到2 h。在实际应用中,我们对粗级和细级成本体分别采样64和8个深度平面。所提出的渲染模型根据可用相机的数量从2到3个输入源视图。在实际实验中,我们将动态场景(稀疏相机)的输入源视图数量设置为2,静态场景(密集相机)的输入源视图数量设置为3。每条射线的样本数量设置为2。我们在补充材料中加入了输入视图数量和每条射线的样本数量的敏感性分析。代价体的深度范围由运动恢复结构[舍恩伯格和Frahm 2016]算法得到。网络结构和其他实现细节请参考补充材料。

4 实验

4.1 实验设置

        数据集。我们使用DTU [ Jensen等2014]数据集预训练我们的泛化模型,并在MVSNeRF中使用训练-测试拆分和评估设置,在每个测试场景中,他们选择16个视图作为已知视图,剩余4个视图作为新的视图进行评估。为了进一步说明本文方法的泛化能力,我们还在NeRF Synthetic和Real Forward-face [米尔登霍尔等2020]数据集上对模型(在DTU上训练)进行了测试。它们都包含了8个与DTU具有不同视图分布的复杂场景。对于动态场景,我们在ZJUMoCap [ Peng等2021b]和DynamicCap [阿贝尔曼等2021]数据集上评估了所提方法。ZJU - Mo Cap和Dynamic Cap数据集提供了同步校准的多视角视频,背景简单,掩模质量高。对于动态场景,我们统一采样一半视图作为已见视图,另一半用于测试,图像分辨率设置为512 × 512。

        基线。作为一种可推广的辐射场方法,我们首先与PixelNeRF [ Yu等2021b]、IBRNet [ Wang等2021b]和MVSNeRF [ Chen等2021]这三种最新的开源辐射场方法进行了比较。然后,我们证明了所提出的方法在一个短的微调过程中可以达到与NeRF和其他场景优化方法[ Chen et al 2021 ; Wang等2021b]相当的结果。我们在上述基准上遵循与MVSNeRF相同的设定,并借鉴MVSNeRF的基准结果。在动态场景下,我们与基于形变场的方法[ Pumarola et al 2021 ;张杰等2021]和可推广的辐射场方法[ Wang等2021b]进行了比较。我们还将本文方法与Neural Body [ Peng等2021b]进行了比较。对于DNeRF [ Pumarola等2021]和Neural Body,我们使用他们发布的代码,并在我们的实验设置下重新训练了他们的方法。对于IBRNet [ Wang等2021b],我们使用他们发布的代码,并在我们的设置下评估他们发布的模型在多个大规模数据集上的预训练。

 4.2 图像合成性能

        动态场景的比较。表1列出了定量的结果,结果表明我们的方法以实时渲染速度达到了最先进的性能。图3给出了定性结果。需要说明的是,在这些数据集上选取的序列长度一般为600 ~ 1000帧。我们发现DNeRF [ Pumarola等2021]在处理这些场景时存在困难,因为长序列具有非常复杂的运动。为了帮助DNeRF处理复杂的动态场景,我们将视频序列划分为多个子序列,每个子序列由一个DNeRF网络分别建模。关于基线设置的更多细节,请参考补充材料。

表1:动态场景的量化结果。括号内的时间表示模型在场景中的训练时间。0 '表示我们直接将模型应用到场景中,无需额外的微调。所有方法都在同一台机器上进行评估,以报告绘制512 × 512图像的速度。NB表示Neural Body。

 

图3:动态场景下的量化结果。' * _ gen '表示这些模型直接应用于输入图像,而不需要对输入视频进行额外的微调。

        

        静态场景的比较。在NeRF Synthetic、DTU和Real Forward - face数据集上的PSNR、SSIM [ Wang等2004]和LPIPS [张杰等2018]指标如表2所示。从定量结果可以看出,我们的方法表现出与基线的竞争性能,在渲染速度上有显著的增益。值得注意的是,由于PixelNeRF使用了比其他方法更广泛的MLP,因此与其他基线相比,渲染所需的时间几乎是10倍。图4和图5给出了定性结果。

表2:静态场景的量化结果。泛化'是指模型没有额外的微调"。"逐场景优化"是指在目标场景上训练或微调模型。所有方法都在RTX 3090 GPU上进行评估,以报告绘制512 × 512图像的速度。基线的结果借用了MVSNeRF。

 

图4:泛化设置下图像合成结果的定性比较。

 

图5:逐场景优化设置下图像合成结果的定性比较。

 4.3 重建深度质量

        为了评估深度预测的性能,我们在DTU数据集上与可泛化的辐射场方法[ Chen et al 2021 ; Wang等2021b ; Yu等2021b]和经典的MVS方法MVSNet [姚洋等2018]进行了比较。将由体密度重建的深度表示为' Ours-NeRF ',由精细深度概率体产生的深度表示为' Ours-MVS '。注意,MVSNet使用深度监督训练,而其他方法使用图像监督训练。如表3所示,' Ours-NeRF '显著优于基线方法。而且,' Ours-MVS '也从成本体量上产生了合理的深度结果。结果表明,提出的采样策略使得我们的模型能够重建出比[ Chen et al 2021 ; Wang等2021b]更好的场景几何。可视化结果请参考补充材料。

表3:DTU数据集上深度结果的定量比较。我们遵循MVSNeRF的实验设置,并从中借用基线结果。MVSNet采用深度监督训练,其他方法采用RGB监督训练。Abs err表示绝对误差。Acc ( X )度量为误差小于X mm的像素百分比。

 

4.4 消融研究与分析

        主要拟议成分的消融。我们首先通过实验来展示深度引导采样的威力。如表4的前三行所示,当我们将样本数量从128减少到2时,无深度引导采样的方法的渲染质量下降很多,而有深度引导采样的方法可以保持几乎相同的性能。其次,我们进行实验来分析级联代价量的影响。如表4第四行所示,级联设计大大提高了渲染速度,表现出同样良好的性能。注意,无层叠设计有128个深度平面,而级联设计有64个和8个深度平面。最后,利用真值深度对深度概率体进行额外监督。如表4最后一行所示,使用深度监督并不能提高渲染性能。

表4:设计选择在DTU数据集上的定量消融。Depth-Gui . "和" Depth-Sup . "分别是" Depth-guide "和" Depth-Supervision "。这里的渲染分辨率设置为512 × 640。

        运行时间分析。为了渲染一幅512 × 512的图像,在RTX 3090 GPU的桌面上运行3个输入视图,每条光线2个样本的方法,计算量为25.21 FPS。具体来说,我们的方法提取3幅输入图像的图像特征需要4.3 ms,使用3D CNN处理代价体需要16.1 ms,推断辐射场和体绘制需要19.2 ms。

5 结论与讨论

        本文引入了ENeRF,它可以支持交互式自由视点视频。其核心创新在于利用显式深度图作为粗略的场景几何来指导隐式辐射场的绘制过程。我们展示了我们的方法在基线之间的竞争性能,同时显著快于以前的通用辐射场方法。虽然我们的方法能够高效地生成高质量的图像,但是仍然存在以下局限性。1 )本文工作主要针对实体表面,无法处理具有多个表面对外观有贡献的场景,如透明场景。2 )提出的模型基于附近的图像生成新的视图。一旦新视角下的某些目标区域在输入视图中不可见,渲染质量可能会下降。可以通过考虑输入视图的可见性来解决。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值