《DLEN:用于低光图像增强的双域双分支Transformer》

paper:2501.12235

GitHub:LaLaLoXX/DLEN

目录

摘要

1、介绍

2、相关工作

2.1  低光图像增强

2.2  低级Vision Transformer

2.3 小波变换的应用

3、方法

3.1 整体流程

3.2 双分支恢复器

3.3 可学习小波模块

4、实验

4.1  数据集和实施细节

4.2  评估指标

4.3 对比实验

4.4 消融研究


摘要

低光图像增强(LLE)旨在改善在低光条件下拍摄的图像的视觉质量,这些图像通常面临低亮度、低对比度、噪声和色彩失真等问题。这些问题会影响计算机视觉任务的性能,例如物体检测、面部识别和自动驾驶。传统的增强技术,如多尺度融合和直方图均衡,往往无法保留细节,并且在复杂光照条件下难以保持增强图像的自然外观。尽管Retinex理论为图像分解提供了基础,但它通常会放大噪声,导致图像质量不理想。本文提出了双光增强网络(DLEN),这是一种新型的架构,结合了两种不同的注意力机制,考虑了空间和频率域。我们的模型在亮度估计阶段引入了一个可学习的 wavelet 变换模块,保留了高频和低频成分,以增强边缘和纹理细节。此外,我们设计了一个双分支结构,利用 Transformer 架构的强大能力增强图像的亮度和结构成分。通过大量实验,实验结果表明,我们的模型在标准基准测试中超越了现有的最先进方法。

1、介绍

低光图像增强(LLE)是计算机视觉和图像处理领域中的一个重要研究方向。该任务的基本目标是改善在不理想光照条件下拍摄图像的视觉质量和感知清晰度,从而提升其可解释性和功能实用性。在低光环境下拍摄的图像通常存在亮度不足、对比度低、噪声增多和色彩失真等问题。这些限制会严重影响多种下游计算机视觉任务的性能,例如物体检测、面部识别和自动驾驶系统。因此,LLE已成为计算机视觉和图像处理领域的一个关键研究方向。

解释任务+任务挑战

传统的图像增强技术,如多尺度融合、同态滤波和直方图均衡等,已被广泛研究。然而,这些方法通常依赖相对简单的算法,并且存在显著的局限性,特别是在保留细节方面。它们常常无法保持增强图像的自然外观,尤其是在复杂且变化的光照条件下。经典的Retinex理论提出了一种图像分解的新框架,认为彩色图像可以分为亮度和反射两个成分。尽管这种方法通常会放大噪声,导致图像质量不理想,但它为解决低光图像增强的现代挑战提供了基础。

近年来,神经网络,特别是卷积神经网络(CNN)、变换器模型和Mamba等,取得了低光图像增强的新进展。CNN能够有效提取局部特征并进行池化,但由于它们依赖局部感受野,限制了它们捕捉全局光照的能力。此外,CNN对大规模标注数据集的依赖,也使得其在多种低光场景中的泛化能力面临挑战。相比之下,变换器模型凭借其多头自注意力机制,在捕捉全局光照和建模长距离像素关系方面表现出色。引入亮度感知模块进一步提高了其生成自然增强结果的能力。

然而,变换器模型可能会由于过度增强而引入伪影,并且对特定领域的数据依赖较强,使得训练出适用于广泛低光场景(如夜间、室内或雾霾天气)的通用模型变得困难。(问题)

本文提出了 双光增强网络(DLEN),这是一种新型的低光图像增强架构,结合了两种不同的注意力机制,同时考虑空间和频率域。我们的网络结构基于[9]中的工作,主要由两个模块组成:亮度估计模块和恢复模块。与[9]不同,我们在亮度估计阶段引入了一个可学习的wavelet变换模块。这个模块能够有效地学习并保留高频和低频成分,显著增强在极低光照条件下的边缘和纹理细节。此外,我们设计了一种新颖的双分支恢复结构,利用变换器架构的表达能力。

第一个分支(MIAB)基于亮度引导增强图像的不同区域。

而第二个分支(SEAB)则专注于增强和修复图像的结构信息。

两个分支的输出最终被融合在一起,生成最终结果。

通过广泛的实验,我们展示了定量和定性结果,突出了我们模型在标准基准测试中的优越性。如表I所示,我们的方法在LOL数据集上超越了当前最先进的深度学习方法。

我们的贡献总结如下:

  1. 我们引入了一个可学习的wavelet变换模块,在增强过程中捕获并恢复高频细节,使得我们的模型能够同时在空间和频率域进行增强。
  2. 我们设计了一个双分支增强结构,充分利用变换器架构的表达能力。该结构促进了在不同条件下跨区域的空间交互和学习,显著提升了图像的亮度和结构成分。
  3. 通过广泛的定性和定量实验,我们的模型超越了当前主流基准方法。

2、相关工作

2.1  低光图像增强

直接增强方法:传统方法,如直方图均衡化[2][3][4]和伽玛校正[15][16][17],通过调整图像的灰度分布或应用非线性函数修改像素值来改善对比度和亮度。这些方法简单有效,但在高动态范围(HDR)场景中可能导致过度增强或细节丢失。此外,这些方法对参数选择非常敏感,可能引发色彩失真问题。

传统增强方法:传统方法通过将图像分解为亮度和反射成分[6],模拟人类视觉对亮度和色彩的感知,从而显著增强对比度和细节的表现。例如,文献[27]提出的模型在水下成像、遥感和雾霾或尘土环境等应用中表现出色。然而,这些方法[18][19][20]往往难以有效处理噪声,并且在细节保留方面表现较差。

深度学习方法:基于深度学习的低光图像增强方法自[24]以来在该领域取得了领先地位。继Retinex理论[6]之后,基于CNN的方法[25]、[29]、[31]得到了广泛应用,其中[21]、[29]结合了Retinex分解和深度学习。然而,这些方法在处理长程依赖时遇到了困难。[?]和[9]通过引入变换器架构来解决这一问题,但这些模型在长序列的计算上存在挑战。

2.2  低级Vision Transformer

Transformer 模型最初由[10]提出,是一种为自然语言处理设计的神经网络架构。它通过自注意力机制[33][34]计算输入元素之间的成对交互,从而捕捉全局依赖关系。近年来,Transformer 被应用于低光图像增强[11][12],解决了CNN在建模长程依赖方面的局限。例如,文献[30]提出的SNR Net模型将全局Transformer 层与U型CNN结合,以增强结构理解。[9]将Retinex理论与单阶段Transformer 框架相结合,取得了更好的噪声抑制和结构一致性。然而,Transformer 模型的高计算成本和低可解释性仍然是其在实时场景应用中的显著障碍。

2.3 小波变换的应用

小波变换已成为解决低级视觉任务的重要工具,通过利用频域分析来实现。在图像去噪中,小波方法[39][40][41]有效地将高频噪声与低频信号分离,从而提高恢复质量。类似地,小波技术已被应用于图像超分辨率[47],通过关注高频成分来恢复细节。在图像去模糊中,小波变换能够有效建模运动模糊轨迹,优于传统的空间域方法。最近的进展包括文献[42],该文献提出了一种多尺度运动去模糊网络,结合了可学习的离散小波变换模块。通过捕捉方向性连续性和频率特征,[42]简化了粗到精的方案,并在多个数据集上取得了最先进的表现。

3、方法

Pipeline(管线/流水线) 是一种模块化、分步骤执行任务的设计范式,其核心思想是将复杂流程分解为多个独立环节,并通过标准化接口串联执行。

如图3所示,我们的架构由两个主要组件组成:光照成分预测器(LCP)双分支恢复器(DBR)。受Retinex理论[6]的启发,LCP由多个卷积层组成,后接一个可学习的小波变换网络,用于捕捉各种光照效果。而DBR则基于两个核心单元构建:多光照注意力块(MIAB)和结构增强注意力块(SEAB),如图3(b)所示。这些组件协同工作,以改善在不同光照条件下的恢复质量。

不太理解,这部分加的东西呢?

3.1 整体流程

根据Retinex理论,一个低光图像 I \in \mathbb{R}^{H \times W \times 3} 可以分解为反射图像 R \in \mathbb{R}^{H \times W \times 3} 和光照图像 L \in \mathbb{R}^{H \times W},其表达式为:

I = R \odot L

其中\odot 表示逐元素相乘。反射图像 R 捕捉物体的内在特性,而光照图像 L 表示光照条件。然而,这种公式并未考虑由不均匀光照分布或低光条件下的黑暗场景引入的噪声和伪影。图像增强过程中,这些伪影会进一步加剧。为了解决这些问题,我们在原始方程中引入了扰动项,分别表示光照和反射成分的扰动,记作 \tilde{L} 和 \tilde{R} :

I = (R + \tilde{R}) \circ (L + \tilde{L})

展开后为:

I = R \circ L + R \circ \tilde{L} + \tilde{R} \circ L + \tilde{R} \circ \tilde{L}

经过简化,光照图像 Ilu 可表示为:

Ilu = I \circ \tilde{L} = R + C

其中\tilde{L}  表示通过卷积进行特征提取得到的光照映射, C \in \mathbb{R}^{H \times W \times 3}表示与扰动相关的损失。因此,我们的双光照增强网络可以描述为:

(I_{lu}, F_{lu}) = LCP(I, L_p)

DBR(I_{lu}, F_{lu}) = ILB(I_{lu}, F_{lu}) + SEB(I_{lu})

DLEN = I_{lu} + DBR(I_{lu}, F_{lu})

其中,LCP 表示光照成分预测器,DBR 表示双分支恢复器。ILB 和 SEB 是 DBR 的两个分支,分别表示光照学习分支和结构增强分支。LCP 以低光图像 I  和光照先验 L_p \in \mathbb{R}^{H \times W}作为输入,输出光照图像 I_{lu }\in \mathbb{R}^{H \times W \times 3} 和特征图F_{lu} \in \mathbb{R}^{H \times W \times C}。光照先验L_p通过对图像每个通道的平均值计算得到,提供了整体亮度或光照水平的度量。因此,L_p作为光照先验,指导图像的光照信息提取。

LCP 的输出随后被输入到双分支恢复器(DBR)中,以减轻在光照增强过程中加剧的质量损失。在 F_{lu}进入光照学习分支(ILB)之前,它首先通过可学习的小波网络(LWN),该网络旨在通过小波变换进一步恢复质量损失并增强特征学习。LCP 的两个输出分别由 DBR 处理,最终得到恢复后的图像,表示为 DLEN \in \mathbb{R}^{H \times W \times 3}

3.2 双分支恢复器

图3展示了我们双分支恢复器的结构,它由两个基于注意力的分支组成,两个分支在架构设计上略有不同。本节将详细描述这两个分支的工作原理。恢复器通过在两种条件下的空间交互和学习,有效增强了图像的照明和结构成分。

照明学习分支:该分支采用编码器-解码器结构。编码器负责下采样过程,而解码器对应上采样。下采样路径首先对Ilu进行3×3卷积,接着通过一个多照明注意力块(MIAB),然后使用4×4卷积(步长=2)对特征进行下采样。接下来,应用两个额外的MIAB,最后再通过4×4卷积(步长=2)生成层次化特征。上采样路径对称设计,使用反卷积层(2×2,步长=2)对特征进行上采样。使用跳跃连接来缓解下采样过程中信息的丢失。上采样分支输出残差图像 I_{flb} \in \mathbb{R}^{H \times W \times 3}。照明学习分支(ILB)的核心单元是多照明注意力块(MIAB),如图3(b1)所示。

多照明注意力块:如图3(b1)所示,通过LCP估计的光照特征 F_{lu} \in \mathbb{R}^{H \times W \times C} 被输入到每个MIAB中。为了清晰起见,图3(b1)展示了最大尺度下的注意力机制,而较小尺度使用4×4卷积(步长=2)对F_{lu} 进行下采样,这部分简化为省略。该块将单通道特征图视为一个token并计算注意力。输入特征 F_{in} \in \mathbb{R}^{H \times W \times C} 被重塑为tokens X \in \mathbb{R}^{HW \times C} 。然后, X 被分成k个头:

X = [X_1, X_2, \dots, X_k]

其中 X_i \in \mathbb{R}^{HW \times d_k}​ 且d_k = \frac{C}{k} ​,i = 1, 2, \dots, k。每个头通过全连接层进行线性投影,生成查询元素Q_i​、键元素 K_i  和值元素 V_i :

Q_i = X_i W_{Q_i}^T, \quad K_i = X_i W_{K_i}^T, \quad V_i = X_i W_{V_i}^T

其中W_Q, W_K, W_V \in \mathbb{R}^{d_k \times d_k} 是全连接层的可学习参数,T  表示矩阵转置。图像中不同区域的光照条件通常有所不同,较暗的区域通常伴随更为明显的失真,恢复起来更具挑战性。相比之下,光照较好的区域提供了更丰富的语义信息,有助于增强较暗区域。为了利用这一点,我们引入了光照特征 F_{lu} ,它编码了光照信息并捕捉不同光照条件区域之间的相互作用。此特征随后用于引导注意力计算。为了与 X 的形状对齐,我们将 F_{lu} ​ 重塑为Y \in \mathbb{R}^{HW \times C} ,并将其分解为k个注意力头:

Y = [Y_1, Y_2, \dots, Y_k],

其中 Y_i \in \mathbb{R}^{HW \times d_k} ,i = 1, 2, \dots, k 。每个头的自注意力可以表示为:

\text{Attention}(Q_i, K_i, V_i, Y_i) = (Y_i \odot V_i) \text{softmax}(K_i^T Q_i) /\alpha_i

其中 \alpha_i \in \mathbb{R}  是一个可学习参数,用来自适应地缩放矩阵乘法。将所有k个头连接后,结果通过全连接层并加上位置编码 P \in \mathbb{R}^{HW \times C} (可学习参数)生成输出tokens X_{out} \in \mathbb{R}^{HW \times C} 。最后,X_{out} 被重塑为输出特征 F_{out} \in \mathbb{R}^{H \times W \times C} 。

结构增强分支:结构增强分支的输入同样为Ilu。我们首先应用卷积来提取低级特征嵌入。浅层特征 F_0 通过4层对称的编码器-解码器框架进行处理,得到深层特征F_d \in \mathbb{R}^{H \times W \times 2C} 。每个编码器-解码器层次都包含多个结构增强注意力块(SEAB),并且从上到下,块的数量逐步增加,以保持计算效率。编码器最初对高分辨率输入进行操作,系统性地降低空间维度,同时增加通道容量。解码器则逐步重构低分辨率的潜在特征F_l \in \mathbb{R}^{H/8 \times W/8 \times 8C},最终得到高分辨率的表示。跳跃连接将编码器特征与解码器特征拼接在一起,1×1卷积层将所有层的通道数(除最顶层外)减半。SEAB将来自编码器的低层特征与来自解码器的高层特征进行聚合。在精化阶段,深层特征 F_{de} ​ 在高空间分辨率下进一步增强。最后,通过卷积层生成恢复后的图像I_{feb} \in \mathbb{R}^{H \times W \times 3} 。最终恢复图像通过将退化图像与 I_{feb} 相加得到。

增强图像 I_{en} 通过将 I_{lu} ​、I_{flb}​ 和I_{feb} 相加得到:

I_{en} = I_{lu} + I_{flb} + I_{feb}

结构增强注意力块:结构增强注意力块(SEAB)作用于经过层归一化的张量 T \in \mathbb{R}^{H \times W \times C} 。该块首先通过生成查询(Q)、键(K)和值(V)投影,丰富局部上下文信息。通过两步卷积方法实现这一过程:首先使用1×1卷积捕获像素级跨通道上下文,然后使用3×3深度卷积在通道级别编码空间上下文:

Q_F = W^Q_D W^Q_P T, \quad K_F = W^K_D W^K_P T, \quad V_F = W^V_D W^V_P T

其中 W^{(\cdot)}_P  表示1×1点卷积,W^{(\cdot)}_D ​ 表示3×3深度卷积。自注意力过程定义为:

\hat{T}_F = W_P \text{Attention}(\hat{Q}_F, \hat{K}_F, \hat{V}_F) + T

\text{Attention}(\hat{Q}_F,\hat{K}_F,\hat{V}_F)=\hat{V}_F \cdot \text{softmax}(\frac{\hat{K}^T_F\hat{Q}_F}{\beta_F}) 

其中T  和 \hat{T}_F 分别表示输入和输出特征图,\beta_F 是一个可学习的缩放参数,用于在softmax操作之前控制\hat{K}_F 和 \hat{Q}_F之间点积的大小。完成与光照图 L_I 的逐元素乘法后,结果特征图经过两个额外的1×1卷积,再通过3×3深度卷积。最后,它通过1×1卷积输出与原输入大小相同的特征图。这一操作对图像特征进行精炼,确保输出保持空间和上下文的完整性,从而有助于增强恢复后的图像。

3.3 可学习小波模块

为了更有效地利用频域信息并保持图像细节,我们引入了可学习离散小波模块,如图3所示。通过强调高频分量,该模块显著改善了局部细节的重建——例如细腻的纹理和边缘——这些细节通常会在传统的低光增强方法中模糊或丢失。

用于低光图像增强的可学习离散小波变换: 对于一个1D离散信号 g(u),小波函数定义为:

\psi_{m,n}(u) = 2^{m/2} \psi(2^m u - n)

其中 m 是缩放因子,n 是平移因子,小波的缩放函数定义为:

\varphi_{m,n}(u) = 2^{m/2} \varphi(2^m u - n)

信号的分解表示为:

g(u) = \sum_{m> m_0} \sum_n e_{m,n} \psi_{m,n}(u) + \sum_{n} b_{m_0,n} \varphi_{m_0,n}(u)

其中 e_{m,n} = \langle g(u), \psi_{m,n}(u) \rangle 表示细节系数(高频分量),​b_{m_0,n} = \langle g(u), \varphi_{m_0,n}(u) \rangle 表示近似系数(低频分量)。

为了递归地计算小波系数,我们应用高通和低通滤波器,表示为:

e_{m+1,q} =\sum_n h_1[n - 2q] b_{m,n}, \quad b_{m+1,q} =\sum_n h_0[n - 2q] b_{m,n}

其中 h_0 和 h_1  分别是低通和高通滤波器。

在2D情况下,小波变换将图像分解为四个子带:低频G_{ll} 、水平高频G_{lh}、垂直高频G_{hl} 和对角高频G_{hh} 。这些子带通过对可学习的1D滤波器 \vec{h_0} 和\vec{h_1} 进行张量积得到,如下所示:

G_{ll} = \vec{h_0} \otimes \vec{h_0}^T, \quad G_{hl} = \vec{h_1} \otimes \vec{h_0}^T

G_{lh} = \vec{h_0} \otimes \vec{h_1}^T, \quad G_{hh} = \vec{h_1} \otimes \vec{h_1}^T

K_g = \text{cat}(G_{ll}, G_{lh}, G_{hl},G_{hh})

其中 ⊗ 表示外积,cat 表示沿通道维度拼接四个子带。得到的张量 K_g ​ 捕捉了图像的多分辨率表示,随后用于自适应特征提取。

可学习小波在低光增强中的优势: 在低光图像增强中使用可学习的小波变换为低光图像增强提供了几个关键优势。首先,它允许网络将细小的高频细节(如边缘和纹理)与图像的低频照明分量分离。这种分离确保了网络在改善图像质量的同时,能够有效保持重要的图像细节。与传统方法依赖于固定的预定义小波基不同,我们的方法利用可学习的小波滤波器,能够进行自适应特征提取,以适应低光增强任务。通过这种灵活性,模型能够更好地处理低光条件下的挑战,如噪声和模糊细节,从而提高图像的清晰度并改善结构恢复。

4、实验

4.1  数据集和实施细节

KinDUretinex-Net
本研究在标准基准数据集(特别是LOL数据集)上评估了我们模型的性能。LOL数据集包括两个版本:v1和v2。LOLv1数据集包含485个训练对和15个测试对,总计500个图像对,每个图像对包含低光和正常光图像。大多数图像关注室内场景,且所有图像的分辨率为400×600像素。LOLv2数据集进一步分为两个子集:LOLv2 Real和LOLv2 Synthetic。LOLv2 Real的训练到测试数据比例为689:100,LOLv2 Synthetic的比例为900:100。LOLv2的数据对和图像大小分布与LOLv1相同。我们的模型在PyTorch中实现,实验在A10和A800 GPU上进行,操作系统为Linux。我们将图像分辨率设置为128×128像素。LOLv1和LOLv2 Synthetic的批处理大小设置为8,LOLv2 Real为4。我们应用了标准数据增强技术,包括随机旋转和翻转,以增强训练数据集。为了最小化损失,我们使用了Adam优化器。

4.2  评估指标

为了评估我们的低光图像增强方法的性能,我们采用了两种广泛使用的图像质量指标:峰值信噪比(PSNR)和结构相似性指数(SSIM)。这两种指标通常用于图像增强任务中,用来评估噪声水平和结构保真度。PSNR值越高,表示图像增强效果越好,而SSIM值越高,则表示图像的高频细节和结构完整性保持得越好。

PSNR的计算公式如下:

PSNR = 10 \cdot \log_{10} \left( \frac{R^2}{MSE} \right)

其中R为图像的最大像素值(通常8位图像为255),MSE(均方误差)计算公式为:

MSE = \frac{1}{N \cdot M} \sum_{i=1}^{N} \sum_{j=1}^{M} (I(i,j) - K(i,j))^2

其中I(i,j) 和K(i,j) 分别代表增强图像和真实图像的像素值,N和M是图像的维度。

SSIM的计算公式为:

SSIM(x,y) = \frac{(2 \mu_x \mu_y + C_1)(2 \sigma_{xy} + C_2)}{(\mu_x^2 + \mu_y^2 + C_1)(\sigma_x^2 + \sigma_y^2 + C_2)}

其中\mu_x 和 \mu_y 分别为图像x和y的平均强度,\sigma_x^2 和\sigma_y^2 为图像的方差,\sigma_{xy} 为图像之间的协方差,C_1 和C_2 ​为稳定分母的小常数,通常设置为:

C_1 = (k_1 L)^2, \quad C_2 = (k_2 L)^2

其中L为像素值的动态范围(例如,8位图像为255),k_1 = 0.01 和 k_2 = 0.03 是常数。

4.3 对比实验

定量比较

本文通过定量评估,全面比较了我们的方法与几种最先进(SOTA)技术的性能,比较结果见表I。比较包括了合成数据和真实世界数据。我们将“有监督方法”定义为使用参考图像训练的方法,而“无监督方法”则不依赖于参考图像。我们的模型与领先的深度学习模型,如LIME、MBLLEN、RetinexNet、KinD、KinD++、MIRNet、URetinexNet和Retinexformer进行比较。结果表明,我们的DLEN模型在峰值信噪比(PSNR)方面获得了显著的提升,两个基准数据集上的PSNR平均提升分别为6.734、6.142、6.287、3.878、4.333、0.838、1.584和0.505 dB。此外,我们方法的SSIM值也略微超越了其他方法。

定性比较

我们进行了一系列定性实验,视觉评估我们的方法与其他SOTA算法的表现。如图1所示,色彩空间恢复结果表明我们的方法与真实图像接近,展示了方法的有效性。图2展示了几张增强后的样本图像,仔细观察可见,我们的增强图像与真实图像几乎无法区分,表明我们在保持纹理和结构细节方面具有很高的保真度。

更详细的定性比较结果可以在图4和图6中看到,图4对比了LOLv1数据集上的结果,图6展示了LOLv2真实数据集上的性能。以前的方法存在明显的缺陷,例如,Retinex-Net容易产生噪声放大,KinD生成的图像常常出现严重的曝光不足,PairLie在某些区域出现过曝,ZeroRCE则有明显的噪声和伪影。此外,Retinexformer在图4的保龄球区域表现出明显的曝光不足,且在图像底部的体育场区域出现了明显的色彩失真。相反,我们的DLEN模型有效解决了曝光管理、色彩失真和噪声抑制等问题,生成了视觉上更为优越的增强结果。

 

4.4 消融研究

我们在三个数据集上进行消融研究:LOLv1、LOLv2-real和LOLv2-syn。术语“w/o LWN”表示去除了照明估计器中的可学习小波网络,而“w/o SEAB”表示去除了SEAB分支,只保留了核心架构。与其他所有消融配置相比,我们的完整设置获得了最高的PSNR和SSIM值。“w/o LWN”配置显示了频域特征表示不足的局限性,而“w/o SEAB”仅使用基本Transformer架构,缺乏增强的结构信息。

消融研究的视觉结果如图5所示。从图5中可以直接观察到,去除LWN模块导致了纹理保留的明显丧失。类似地,去除SEAB分支则导致了结构信息的缺失。相比之下,我们的方法生成的结果最接近目标,有效地保留了纹理和结构细节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值