深度工业图像异常检测调查|Deep Industrial Image Anomaly Detection: A Survey

论文:https://link.springer.com/article/10.1007/s11633-023-1459-z

论文目的

提供工业制造领域中图像异常检测技术的综述,通过分析当前的IAD算法和网络架构,旨在探索如何提升异常检测性能,并指出未来研究的可能方向。

摘要

近期深度学习的迅速发展在工业图像异常检测(IAD)领域标志着一个重要的里程碑。在本文中,研究者对基于深度学习的图像异常检测技术进行了全面的回顾,从神经网络架构、监督水平、损失函数、评价指标和数据集等多个角度进行考察。此外,本文从工业制造中提取出一个有前景的设置,并在提出的设置下回顾当前的IAD方法。更进一步,本文突出了图像异常检测领域中几个尚未解决的挑战。在不同的监督水平下,代表性网络架构的优点和缺点被深入讨论。最后,文章总结了研究发现,并指出了未来研究的方向。

1.介绍

回顾自深度学习快速发展以来基于深度学习的图像异常检测的最新进展,因为深度学习的能力可以将图像异常检测带入工厂生产线。在现代制造业中,图像异常检测(IAD)总是在制造过程的末端进行,尝试识别产品缺陷。产品的价格显著受到缺陷严重程度的影响。此外,如果缺陷达到一定阈值,产品将被丢弃。历史上,大多数异常检测任务由人工执行,这存在许多缺点:

  • 不可避免地会有人类疲劳,导致假阳性现象(真实情况是异常的,而人的判断是正常的)。
  • 长时间和密集的异常检测工作可能会导致健康问题,如视觉损害。
  • 定位异常需要大量员工,增加了运营成本。

因此,IAD算法的目标是减少人力劳动,提高生产效率和产品质量。在深度学习之前,IAD的性能无法满足工业制造的需求。如今,深度学习方法已经取得了良好的结果,这些方法的准确率大多超过97%。尽管如此,IAD在实际应用中仍然存在许多问题。为了全面探索当前方法的有效性和适用场景,本文通过全面调查对IAD进行了更加细致的分析。

图一展示本文调查的特点,包括数据集、评价指标、神经网络架构、监督水平和对工业制造有前景的设置。相较于其他研究者的调查,本文的调查在深度学习的讨论、数据集使用量、图像级和像素级指标的全面性上都更加优于其他的调查,同时,本文还基于不同程度的监督设计了神经网络架构的分类。

在这里插入图片描述

图一 IAD 的相关调查和本文的调查

作为一个新兴领域,IAD研究必须充分考虑工业制造的要求。以下是需要研究的挑战性问题总结:

  • IAD数据集应该从实际制造线收集,而不是实验室。由于隐私问题,公众无法访问真实世界的异常数据集。大多数开源IAD数据集是从无异常的产品中生成异常。换句话说,开源IAD数据集的异常可能不会出现在实际生产线中,这使得在工业制造中部署IAD非常具有挑战性。

  • 在缺少多域IAD数据集的情况下,创建统一的IAD模型具有挑战性。为了模拟真实的制造过程,必须创建一个从多个域收集的新的IAD数据集。

  • 迫切需要建立一个统一的评估体系,以评价IAD在图像级和像素级上的性能。大多数IAD指标将异常掩模(真实情况)缩小到特征图的大小进行评估,这不可避免地降低了评估的精确度。此外,研究者发现某些IAD方法在图像AUROC上表现良好,但在像素AP上表现不佳,或者反之亦然。因此,开发一个统一的指标,以同时评估图像级和像素级上的IAD性能至关重要。

  • 应该设计一个更高效的损失函数,既可以利用有标签数据的指导,也可以探索无标签数据。在真实的制造场景中,可用的异常样本数量有限。然而,大多数无监督IAD方法的性能超过了半监督IAD方法。通过观察半监督IAD的失败,本文呼吁更多关注特征提取和损失函数,这些可以有效地利用标签的指导和无标签数据的探索。

本文将各种方法分类为几种范式,并清楚地分析了各种范式的优点和缺点。它允许读者快速理解最新技术,并为实际应用中所需算法的选择提供了可靠的指南。更重要的是,文章分析了不同范式的缺点和当前的主要挑战。后续研究者可以快速找到推动该领域前进的方向。

本文的主要贡献有以下几点:

  1. 深入回顾了图像异常检测,考虑到了不同程度监督下神经网络架构的设计。

  2. 提供了当前不同设置下IAD算法的全面回顾,以弥补学术研究与现实世界工业制造之间的差距。

  3. 总结了IAD中的主要问题和潜在挑战,为未来工作勾画了潜在的研究方向。

2.无监督异常检测

大多数当前研究聚焦于无监督异常检测,这基于一个假设:收集异常样本会带来巨大的人力和财务成本。这意味着训练集中只包含正常样本,而测试集中则包含异常和正常样本。工业图像中的异常检测是分布外(OOD)问题的一个子集。在深度学习兴起之前,差分检测和滤波通常用于检测工业图像中的异常。随着MVTec AD的发布,工业图像中异常检测的方法可以分为两类:特征嵌入和基于重构。目前,更多的异常检测(AD)技术基于特征嵌入。

对于每一种方法,博客只介绍方法的思路与策略,以及该种方法的优缺点,对于更详细的内容如不同研究者的具体实现过程,可以查看原文对应章节。

2.1基于特征嵌入的方法
2.1.1 师生架构

这种方法的表现出色,但它们依赖于像ResNet、VGG和EfficientNet这样的预训练模型。选择理想的教师模型至关重要。图二展示了这种方法的大致思路与策略。网络的结构和蒸馏方法是不同技术之间的主要区别。

在这里插入图片描述

图二 师生模式的架构

图二所示的师生网络架构是检测工业图像异常的最标准技术。这种方法通常选择大规模数据集上预训练的骨干网络的部分层作为固定参数的教师模型。在训练过程中,教师模型将提取正常样本特征的知识传授给学生模型。在推理过程中,从测试集中提取的正常图像的特征由教师网络和学生网络比较,而从测试集中提取的异常图像的特征则相当不同。通过比较两个网络生成的特征图,可以生成相同大小的异常得分图。然后,通过将异常得分图放大到与输入图像相同的比例,可以获得各种输入图像位置的异常得分。基于这个模型,可以确定测试图像是否异常。

然而,这些方法也面临一些挑战,包括如何选择合适的教师模型、如何有效传递知识给学生模型,以及如何设计能够准确区分正常和异常样本特征的网络架构。此外,教师和学生网络结构的不一致性可能导致学习过程中的估计偏差,需要通过特定的机制来缓解这一问题。

2.1.2 单类分类

单类分类技术更多地依赖于异常样本。如果生成的异常样本质量差,方法的性能将严重受损。除了MemSeg,其他方法的训练依赖于SVDD和交叉熵损失。因此,绝大多数方法的性能略显不足。

异常检测也可以视为一个单类分类(OCC)问题。如图三所示,该方法在训练期间找到一个超球体以区分正常样本特征和异常样本特征。在推理过程中,该方法根据测试样本的特征与超球体的相对位置来确定样本是否异常。由于训练集不包含异常样本,一些方法通过人工创建异常样本来提高超球体的准确性。

在这里插入图片描述

图三 单类分类的架构

在这里插入图片描述

图四 单类分类方法的总结,以及其特点

2.1.3 分布图

基于分布图的方法需要适当的映射目标进行训练,映射方法的选择影响模型性能。如表4所示,基于正规化流(NF)的方法占主导地位。作为一种生成模型,NF具有强大的映射能力,并且在AD任务中也展示了良好的性能。

基于分布图的方法与基于单类分类(OCC)的方法非常相似,不同之处在于OCC方法专注于寻找特征边界,而映射基方法试图将特征映射到期望的分布中。这些方法的常见框架如图4所示。这种期望的分布通常是多变量高斯(MVG)分布。这类方法首先使用强大的预训练网络提取正常图像的特征,然后使用映射模块将提取的特征映射到高斯分布上。这个分布将偏离在评估期间出现的异常图像的特征。基于偏差程度可以计算异常概率。

在这里插入图片描述

图五 基于分布图的方法架构

在这里插入图片描述

图六 基于分布图方法的总结,以及其特点

2.1.4 内存库

如表5所示,基于内存的方法通常不需要训练的损失函数,模型构建迅速。它们的性能由强大的预训练网络和额外的内存空间确保,这种方法目前在IAD任务中是最有效的。

基于内存库的方法与基于单类分类(OCC)的方法的主要区别在于,像SVDD这样的基于内存的方法需要额外的内存空间来存储图像特征。如图5所示,这些方法仅需最小的网络训练,只需对收集的正常图像特征进行采样或映射以进行推理。在推理过程中,测试图像的特征与内存库中的特征进行比较。测试图像的异常概率等于其特征与内存库中正常特征的空间距离。
在这里插入图片描述

图七 基于内存库方法的架构

在这里插入图片描述

图八 基于内存库方法的总结,以及其特点

PatchCore是工业图像AD中的一个重要进步,显著提高了MVTec AD的性能。PatchCore有两个特点。首先,PatchCore的内存库通过核心集子采样以确保低推理成本同时最大化性能。然后,PatchCore根据测试样本在其内存库中最近邻特征与其他特征的距离来判断测试样本是否异常。这种重新加权过程使PatchCore更加稳健。

2.2 基于重建的方法

基于重构的方法主要自行训练编码器和解码器来重构图像进行异常检测,这使得它们对预训练模型的依赖性降低,并提高了它们检测异常的能力。然而,由于其无法提取高层次的语义特征,其图像分类能力较差。

基于重构技术的结构如图九所示。在训练过程中,将正常或异常图像发送到重构网络,并使用重构损失函数指导重构网络的训练。最终,重构网络能以类似于原始正常图像的方式恢复重构图像。在推理阶段,比较模型将原始图像与重构图像进行比较以生成预测。与特征嵌入的多种方法相比,大多数基于重构的方法仅在重构网络的构建上有所不同。由于它们能够通过像素级比较识别异常,基于重构的方法在像素级上优于特征嵌入方法然而大多数基于重构的方法从头开始训练,没有使用强大的预训练模型,这导致其性能不如图像级特征嵌入。
在这里插入图片描述

图九 基于重建模型的结构

2.2.1自编码器

自编码器(AE)是用于异常检测的最普遍的重构网络。许多其他重构网络也由编码器和解码器组件构成。

当使用不同尺度的特征时,基于重构的方法几乎与特征嵌入方法一样有效。类似于师生架构,深度特征重构(DFR)方法通过在特征级别的重构来检测异常。DFR从预训练的网络获得多个空间上下文感知表示,然后使用一个深度且高效的卷积AE重构特征,并通过比较原始特征与重构特征来检测异常区域。

总结部分重要的自编码器方法:

  • 基本自编码器:利用编码器将输入图像编码为一个低维表示,然后通过解码器将其重构回原始维度。异常检测基于重构误差,即原始图像与重构图像之间的差异。较大的重构误差暗示着潜在的异常。

  • 异常暴露风格提炼网络(OE-SDN):针对传统AE容易过度检测的问题,通过保留风格转换并抑制内容转换来避免过度检测,进一步提高异常检测的准确性。

  • 多级图像重构(MLIR):将重构过程视为不同分辨率下的图像去噪任务,从而同时考虑全局结构异常和细节异常,提升异常检测的全面性。

  • 深度特征重构(DFR):不直接在像素级重构图像,而是在特征层面进行重构。通过对比原始特征与重构特征来检测异常区域,有效地识别异常。

  • 超像素遮蔽和重绘(SMAI):采用自监督学习方法,通过遮蔽和重绘图像中的超像素块来训练模型,利用重构误差来识别异常区域。

这些方法通过不同的策略改进自编码器的结构和训练过程,以提高对异常的敏感性和检测能力。基于自编码器的方法因其能够在没有大量标记数据的情况下进行训练而受到青睐,特别适合于处理具有复杂数据分布的异常检测任务。

2.2.2GANs&&Transformer&&扩散模型

1.GANs基于重构模型的稳定性不如自编码器(AE),但在某些场景下具有更好的判别能力。

例如,SCADN方法通过遮蔽图像部分并使用GAN重构来检测异常。AnoSeg方法通过硬增强和对抗学习生成异常样本,然后训练GAN生成正常样本,目标函数结合了重构损失和对抗损失。OCR-GAN方法利用频率解耦模块分解和重构图像,以识别正常和异常图像之间的频率分布差异。

2.Transformer具有更高的全局信息表示能力,有潜力成为异常检测的新基础。

例如,Mishra等人提出了基于Transformer的框架,利用高斯混合密度网络在补丁级别重构图像并定位异常区域。You等人的ADTR通过防止异常良好重构来简化异常识别。AnoViT采用视觉Transformer编解码器模型,在异常检测问题上表现优越。

3.扩散模型作为一种新兴的生成模型,也被用于基于重构的异常检测。

例如,AnoDDPM是首个将扩散模型应用于工业图像异常检测的实例,与GANs相比,它可以捕捉大面积异常区域,无需大量数据集。

这三种方法各有优势,GANs在特定场景下展现出强大的判别力,Transformer通过其全局信息处理能力提供了新的可能性,而扩散模型则展示了在少量数据支持下处理大面积异常的潜力。每种方法的选择和优化策略取决于特定的应用场景和需求。

3.监督异常检测

尽管异常数据多样且难以收集,但在现实世界场景中仍然可以收集到异常样本。因此,一些研究聚焦于如何使用少量异常样本和大量正常样本来训练异常检测模型。

例如,其中Chu和Kitani提出了一种半监督框架,用于在显著数据不平衡的情况下检测异常。他们假设训练过程中损失值的变化可以用来作为特征识别异常数据。为此,他们训练了一个基于强化学习的神经批次采样器,以放大异常和非异常区域之间损失曲线的差异。Božič等人检查了图像级监督信息、混合监督信息和像素级监督信息对同一深度学习框架内表面缺陷检测任务的影响。Božič等人发现,少量像素级注释可以帮助模型达到与全监督相当的性能。

总结来说,监督异常学习有以下的优缺点:

优点

  • 即使异常数据难以大规模收集,通过少量异常样本也能实现有效的异常检测。

  • 从生成对抗网络(GAN)到Transformer和扩散模型,多样化的技术和模型为解决异常检测问题提供了广泛的选择。

缺点

  • 尽管只需要少量异常样本,但在一些情况下,获取任何异常样本都是困难的。

  • 正常与异常样本的不平衡,尤其在只有少量异常样本时,可能会影响模型训练和性能。

总的来说,监督异常检测在某些领域和应用场景中展现出了其独特的优势,特别是当可以获得一定数量的异常样本来训练模型时。然而,它也面临着数据不平衡、对异常样本的依赖以及计算资源的挑战。未来的研究可能会继续探索如何克服这些挑战,以及如何进一步提高模型的效率和泛化能力。

数据集。数据是机器学习特别是深度学习的关键驱动因素。主要地,获取工业图像的难度阻碍了工业视觉中图像异常检测的进步。表7显示,IAD数据集的数量和大小正在逐渐增加,但大多数并非在真实生产线上生成。一个有前景的替代方法是充分利用工业模拟器生成异常图像,可能减少学术研究与工业制造需求之间的差距。

4.工业制作环境

本节将介绍更适合工业场景的分类标准或应用设置,即少镜头异常检测、噪声异常检测、异常合成和三维异常检测。

4.1 少样本异常检测

少样本学习对数据收集和数据标注具有重要意义,这对现实世界应用产生了重大影响。一方面,通过研究少样本学习,可以降低工业产品的数据收集和数据注释成本。另一方面,研究者可以从数据的角度解决问题,探讨哪种数据对工业图像异常检测最有价值。

少样本异常检测(FSAD)仍处于起步阶段。FSAD有两种设置。第一种设置是元学习。换句话说,这种设置需要大量图像作为元训练数据集。MetaFormer,一种新的架构,利用元学习的参数实现高模型适应能力和实例感知注意力,以定位异常区域。RegAD训练一个模型来检测类别不可知的异常。在测试阶段,通过比较测试图像的注册特征及其对应的正常图像来识别异常。第二种设置依赖于原始的少样本图像学习。PatchCore、SPADE和PaDim在16个正常训练样本上进行消融研究。然而,它们都不专注于少样本异常检测。因此,有必要开发专注于原生少样本异常检测任务的新算法。

最近,研究人员将零样本异常检测(ZSAD)设置扩展到FSAD设置之外。ZSAD的目标是利用大型模型的泛化能力,无需任何训练就解决异常检测问题,从而完全消除数据收集和注释的成本。MAEDAY使用一个预训练的遮蔽自编码器(MAE)来解决问题。MAEDAY随机遮蔽图像的一部分并使用MAE恢复它们。如果重构区域与遮蔽前的区域不同,这个区域被认为是异常的。WinCLIP利用另一个大型模型CLIP进行ZSAD。基本上,WinCLIP使用CLIP的图像编码器提取图像特征。给定如“损坏物体的照片”这样的文本描述,WinCLIP使用CLIP的文本编码器提取这些描述的特征,然后计算文本特征与图像特征之间的相似度。如果相似度高,图像就是“损坏物体的照片”,否则图像就是正常的。MAEDAY和WinCLIP证明了零样本异常检测是一个有前景的研究方向。

4.2噪声异常检测

噪声学习是异常检测的一个经典问题。通过研究噪声学习下的异常检测,可以避免标签错误引起的性能损失,并减少异常检测中的误检。然而,对于当前较新颖的噪声异常检测方法,大多数尚未在真实的工业图像数据集上进行验证。换句话说,现有的异常检测方法的有效性可能不适用于工业制造。

4.3 3D异常检测

3D异常检测能够利用更多的空间信息,从而检测一些RGB图像无法包含的信息。在一些特殊的照明环境下或对于一些对颜色信息不敏感的异常,3D异常检测可以展示其显著优势。这一研究方向目前在学术界受到重要关注。

自从MVTec 3D-AD数据集发布以来,一些论文专注于3D工业图像的异常检测。如果有大规模的3D异常检测数据集可用,自监督表征仍具有巨大潜力。AST使用带有深度信息的RGB图像来提升异常检测性能。然而,大多数3D IAD方法专注于RGB-D图像,而真实世界工业制造中的3D数据集由点云组成,这意味着当前的3D IAD方法不能直接应用于工业制造。因此,3D IAD的进步仍然有机会。

4.4 异常合成

通过人工合成异常,我们可以在数据有限的情况下提高模型的性能。这项研究是对少样本研究的补充。少样本学习研究在数据固定的情况下如何提高模型性能,而这项研究研究在模型固定的情况下如何人工增加可信数据以提高模型性能。这两者都可以减少数据收集和标注的成本。许多无监督异常检测工作使用数据增强来合成异常图像,并显著提高模型性能。例如,CutPaste、DRAEM、MemSeg是代表性方法。

5.数据集和衡量标准

数据集。数据是机器学习特别是深度学习的关键驱动因素。然而,获取工业图像的难度阻碍了工业视觉中图像异常检测的进步。图十显示,IAD数据集的数量和大小正在逐渐增加,但大多数并非在真实生产线上生成。一个有前景的替代方法是充分利用工业模拟器生成异常图像,可能减少学术研究与工业制造需求之间的差距。
在这里插入图片描述

图十 异常检测数据集比较

评价指标。图十一提供了工业图像异常检测中评价指标的综合回顾。第一列表示指标的名称,第二列表示水平。换句话说,如果水平是上,指标值越大,性能越好。如果水平是下,指标值越低,性能越好。第三列给出了每个指标的详细信息,特别是关于该指标如何准确指示图像异常检测的性能。从表8可以容易地观察到,大多数新颖的指标是自然图像分割和检测指标的变体,如F1分数、AU-ROC或AU-PR。然而,这些指标不能对应于IAD的性能,因为异常的微小大小需要比异常自由区域更大的权重。因此,这些指标对于IAD的有效性仍有待探索。
在这里插入图片描述

图十一 异常检测所用指标概述

6.总体性能分析

这部分的总结数据过多,不做展示,详细可以查看论文原文

不同方法在图像分类上有相似的性能,但在像素级分割上仍然存在显著差异。研究者对当前IAD方法的性能进行了深入分析,并得出以下有意义的见解(原文翻译):

  1. 对于识别图像级异常检测任务,基于内存库的方法是最有效的神经网络设计。然而,它们在检测像素级异常上不足。

  2. 集成学习可以显著提高最新异常检测方法的性能。

  3. SSPCAB可以无缝集成到前沿方法中,并显著增强基于重构的方法的性能。

  4. 少样本IAD与普通IAD之间的差距正在缩小。换句话说,我们可能利用数据提炼算法减少用于异常检测的数据集数量。

  5. 在不使用集成学习的情况下,MemSeg在图像级异常分类上达到了SOTA结果,这主要归功于U-Net框架的使用。DRAEM也使用U-Net在像素级异常分割上胜过其他方法。MemSeg和DRAEM的有效性展示了分割模块在异常检测中的优势。人工监督通常不如真实监督,而使用人工监督训练的分割模型通常表现更差。然而,即使使用人工生成的异常作为监督信息,这些带有分割模块的方法在分类和分割任务上仍然优于没有分割模块的其他方法。我们可以得出分割模块对异常检测任务有益的结论。

  6. 对于分割任务,AU-PR比AU-ROC更有价值。如表10所示,基于重构的方法在像素AU-PR指标上优于其他方法。就图7而言,DRAEM的检测结果最接近真实情况。它导致了更清晰的边缘和更少的误检区域。我们可以从统计数据和可视化中推断,基于重构的方法更适合分割任务。
    在这里插入图片描述

图十二 代表性方法的可视化结果。可视化结果来自开源代码的再现

7.未来方向

本文概述了几个引人注目的未来方向如下(原文翻译):

  1. 我们应该构建一个多模态的IAD数据集。在实际的装配线上,RGB图像不足以检测异常。因此,我们可能需要利用额外的模态信息,如X射线和超声波,来提升异常检测性能。

  2. 考虑到测试样本在生产线上是顺序流式传输的,大多数IAD方法无法在新测试样本到达时立即做出预测。在工业制造中,除了准确性外,IAD的推理速度也应该得到解决。采用多目标进化神经网络架构搜索算法找到最佳权衡架构因此是一个有前景的方法。

  3. 大多数IAD方法使用ImageNet预训练模型来提取工业图像的特征,这不可避免地导致了特征漂移问题。因此,迫切需要构建一个针对工业图像的预训练模型。

  4. 大多数异常检测方法关注于无监督设置。虽然这种设置可以减少数据标注的成本,但它极大地限制了基于分割的方法的发展。无监督方法和监督方法应该相辅相成,近年来监督方法发展缓慢的主要原因是缺乏大量的标注数据集。因此,有必要在未来提出一个带有像素级注释的完全监督的异常检测数据集。

  5. 以前,我们专注于为正常图像开发数据增强方法。然而,我们在通过数据增强合成异常样本方面没有做出太多努力。在工业制造中,由于大多数生产线无故障,很难收集大量的异常样本。因此,未来应该更多地关注异常合成方法,如CutPaste、DRAEM和MemSeg。

  6. 当前的异常检测算法常常关注检测准确性,而忽略了模型的存储大小和效率。这导致了高计算成本,并限制了异常检测在企业生产端的应用。因此,有必要设计轻量级但高效的异常检测模型。

  7. 目前,图像异常检测算法主要可以分为两个任务:工业图像异常检测和医学图像异常检测。尽管医学图像比工业图像有更多的模态,但这两个任务在数据和实验设置方面有许多相似之处。然而,很少有研究探讨如何统一这两个任务。这种情况的一个原因是医学和工业图像数据集之间的领域差异,另一个原因是缺乏一个好的基线和比较基准。在数据或方法级别为工业和医学图像异常检测建立一个统一的框架将是非常有意义的。

8.结论

原文翻译:

在本文中,我们提供了工业制造中图像异常检测的文献综述,重点关注监督水平、神经网络架构设计、数据集的类型和属性以及评价指标。特别地,我们从工业制造中概述了有前景的设置,并在我们提出的设置中回顾了当前的IAD算法。此外,我们深入研究了哪种网络架构设计可以显著提高异常检测性能。最后,我们强调了图像异常检测几个激动人心的未来研究方向。

9.个人感悟

本文内容与另一篇文章IM-IAD: Industrial Image Anomaly Detection Benchmark in Manufacturing内容相近,都对当前的异常检测领域进行总结,不过本文对异常检测进行了更加全面详细的总结,IMIAD更多提出了一种基准方法并重点关注图像异常检测领域(IAD)。两篇文章都很好的总结了当前深度学习异常检测领域的现状,并为所有该领域的研究者提供了一个全局概括,而在阅读文章的过程中,我也对异常检测领域有了更多的认识与了解,希望能够在这个领域更进一步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值