【技术综述】深度学习中的数据增强方法都有哪些?

基于图像的数据增强方法发展现状综述 基于图像的数据增强方法发展现状综述 人工智能技术与咨询2022-03-22 20:57 点击蓝字 · 关注我们 来源:《计算机科学与应用》,作者冯晓硕等 关键词:数据增强;图像数据集;图像处理;深度学习 摘要: 摘要:现阶段,基于深度学习的图像处理和识别技术已经发展的十分成熟,但在某些图像识别任务中由于深度学习技术的特点,一些深度神经网络模型层数较多导致的学习能力较强,将图像数据样本中的特征学习的过于充分,使得神经网络模型在训练... 阅读详情

很多实际的项目,我们都难以有充足的数据来完成任务,要保证完美的完成任务,有两件事情需要做好:(1)寻找更多的数据。(2)充分利用已有的数据进行数据增强,今天就来说说数据增强。

作者 | 言有三

编辑 | 言有三

 

1 什么是数据增强?

数据增强也叫数据扩增,意思是在不实质性的增加数据的情况下,让有限的数据产生等价于更多数据的价值。

比如上图,第1列是原图,后面3列是对第1列作一些随机的裁剪、旋转操作得来。

每张图对于网络来说都是不同的输入,加上原图就将数据扩充到原来的10倍。假如我们输入网络的图片的分辨率大小是256×256,若采用随机裁剪成224×224的方式,那么一张图最多可以产生32×32张不同的图,数据量扩充将近1000倍。虽然许多的图相似度太高,实际的效果并不等价,但仅仅是这样简单的一个操作,效果已经非凡了。

如果再辅助其他的数据增强方法,将获得更好的多样性,这就是数据增强的本质。

数据增强可以分为,有监督的数据增强和无监督的数据增强方法。其中有监督的数据增强又可以分为单样本数据增强和多样本数据增强方法,无监督的数据增强分为生成新的数据和学习增强策略两个方向。

 

2 有监督的数据增强

有监督数据增强,即采用预设的数据变换规则,在已有数据的基础上进行数据的扩增,包含单样本数据增强和多样本数据增强,其中单样本又包括几何操作类,颜色变换类。

2.1. 单样本数据增强

所谓单样本数据增强,即增强一个样本的时候,全部围绕着该样本本身进行操作,包括几何变换类,颜色变换类等。

(1) 几何变换类

几何变换类即对图像进行几何变换,包括翻转,旋转,裁剪,变形,缩放等各类操作,下面展示其中的若干个操作。

水平翻转和垂直翻转

随机旋转

随机裁剪

变形缩放

翻转操作和旋转操作,对于那些对方向不敏感的任务,比如图像分类,都是很常见的操作,在caffe等框架中翻转对应的就是mirror操作。

翻转和旋转不改变图像的大小,而裁剪会改变图像的大小。通常在训练的时候会采用随机裁剪的方法,在测试的时候选择裁剪中间部分或者不裁剪。值得注意的是,在一些竞赛中进行模型测试时,一般都是裁剪输入的多个版本然后将结果进行融合,对预测的改进效果非常明显。

以上操作都不会产生失真,而缩放变形则是失真的。

很多的时候,网络的训练输入大小是固定的,但是数据集中的图像却大小不一,此时就可以选择上面的裁剪成固定大小输入或者缩放到网络的输入大小的方案,后者就会产生失真,通常效果比前者差。

(2) 颜色变换类

上面的几何变换类操作,没有改变图像本身的内容,它可能是选择了图像的一部分或者对像素进行了重分布。如果要改变图像本身的内容,就属于颜色变换类的数据增强了,常见的包括噪声、模糊、颜色变换、擦除、填充等等。

基于噪声的数据增强就是在原来的图片的基础上,随机叠加一些噪声,最常见的做法就是高斯噪声。更复杂一点的就是在面积大小可选定、位置随机的矩形区域上丢弃像素产生黑色矩形块,从而产生一些彩色噪声,以Coarse Dropout方法为代表,甚至还可以对图片上随机选取一块区域并擦除图像信息。

添加Coarse Dropout噪声

颜色变换的另一个重要变换是颜色扰动,就是在某一个颜色空间通过增加或减少某些颜色分量,或者更改颜色通道的顺序。

颜色扰动

还有一些颜色变换,本文就不再详述。

几何变换类,颜色变换类的数据增强方法细致数来还有非常多,推荐给大家一个git项目:

https://github.com/aleju/imgaug

预览一下它能完成的数据增强操作吧。

2.2. 多样本数据增强

不同于单样本数据增强,多样本数据增强方法利用多个样本来产生新的样本,下面介绍几种方法。

(1) SMOTE[1]

SMOTE即Synthetic Minority Over-sampling Technique方法,它是通过人工合成新样本来处理样本不平衡问题,从而提升分类器性能。

类不平衡现象是很常见的,它指的是数据集中各类别数量不近似相等。如果样本类别之间相差很大,会影响分类器的分类效果。假设小样本数据数量极少,如仅占总体的1%,则即使小样本被错误地全部识别为大样本,在经验风险最小化策略下的分类器识别准确率仍能达到99%,但由于没有学习到小样本的特征,实际分类效果就会很差。

SMOTE方法是基于插值的方法,它可以为小样本类合成新的样本,主要流程为:

第一步,定义好特征空间,将每个样本对应到特征空间中的某一点,根据样本不平衡比例确定好一个采样倍率N;

第二步,对每一个小样本类样本(x,y),按欧氏距离找出K个最近邻样本,从中随机选取一个样本点,假设选择的近邻点为(xn,yn)。在特征空间中样本点与最近邻样本点的连线段上随机选取一点作为新样本点,满足以下公式:

第三步,重复以上的步骤,直到大、小样本数量平衡。

该方法的示意图如下。

在python中,SMOTE算法已经封装到了imbalanced-learn库中,如下图为算法实现的数据增强的实例,左图为原始数据特征空间图,右图为SMOTE算法处理后的特征空间图。

(2) SamplePairing[2]

SamplePairing方法的原理非常简单,从训练集中随机抽取两张图片分别经过基础数据增强操作(如随机翻转等)处理后经像素以取平均值的形式叠加合成一个新的样本,标签为原样本标签中的一种。这两张图片甚至不限制为同一类别,这种方法对于医学图像比较有效。

经SamplePairing处理后可使训练集的规模从N扩增到N×N。实验结果表明,因SamplePairing数据增强操作可能引入不同标签的训练样本,导致在各数据集上使用SamplePairing训练的误差明显增加,而在验证集上误差则有较大幅度降低。

尽管SamplePairing思路简单,性能上提升效果可观,符合奥卡姆剃刀原理,但遗憾的是可解释性不强。

(3) mixup[3]

mixup是Facebook人工智能研究院和MIT在“Beyond Empirical Risk Minimization”中提出的基于邻域风险最小化原则的数据增强方法,它使用线性插值得到新样本数据。

令(xn,yn)是插值生成的新数据,(xi,yi)和(xj,yj)是训练集随机选取的两个数据,则数据生成方式如下

λ的取指范围介于0到1。提出mixup方法的作者们做了丰富的实验,实验结果表明可以改进深度学习模型在ImageNet数据集、CIFAR数据集、语音数据集和表格数据集中的泛化误差,降低模型对已损坏标签的记忆,增强模型对对抗样本的鲁棒性和训练生成对抗网络的稳定性。

SMOTE,SamplePairing,mixup三者思路上有相同之处,都是试图将离散样本点连续化来拟合真实样本分布,不过所增加的样本点在特征空间中仍位于已知小样本点所围成的区域内。如果能够在给定范围之外适当插值,也许能实现更好的数据增强效果。

 

3 无监督的数据增强

无监督的数据增强方法包括两类:

(1) 通过模型学习数据的分布,随机生成与训练数据集分布一致的图片,代表方法GAN[4]。

(2) 通过模型,学习出适合当前任务的数据增强方法,代表方法AutoAugment[5]。

3.1 GAN

关于GAN(generative adversarial networks),我们已经说的太多了。它包含两个网络,一个是生成网络,一个是对抗网络,基本原理如下:

(1) G是一个生成图片的网络,它接收随机的噪声z,通过噪声生成图片,记做G(z) 。

(2) D是一个判别网络,判别一张图片是不是“真实的”,即是真实的图片,还是由G生成的图片。

GAN的以假乱真能力就不多说了。

3.2 Autoaugmentation[5]

AutoAugment是Google提出的自动选择最优数据增强方案的研究,这是无监督数据增强的重要研究方向。它的基本思路是使用增强学习从数据本身寻找最佳图像变换策略,对于不同的任务学习不同的增强方法,流程如下:

(1) 准备16个常用的数据增强操作。

(2) 从16个中选择5个操作,随机产生使用该操作的概率和相应的幅度,将其称为一个sub-policy,一共产生5个sub-polices。

(3) 对训练过程中每一个batch的图片,随机采用5个sub-polices操作中的一种。

(4) 通过模型在验证集上的泛化能力来反馈,使用的优化方法是增强学习方法。

(5) 经过80~100个epoch后网络开始学习到有效的sub-policies。

(6) 之后串接这5个sub-policies,然后再进行最后的训练。

总的来说,就是学习已有数据增强的组合策略,对于门牌数字识别等任务,研究表明剪切和平移等几何变换能够获得最佳效果。

而对于ImageNet中的图像分类任务,AutoAugment学习到了不使用剪切,也不完全反转颜色,因为这些变换会导致图像失真。AutoAugment学习到的是侧重于微调颜色和色相分布。

除此之外还有一些数据增强方法,篇幅有限不做过多解读,请持续关注。

 

4 思考

数据增强的本质是为了增强模型的泛化能力,那它与其他的一些方法比如dropout,权重衰减有什么区别?

(1) 权重衰减,dropout,stochastic depth等方法,是专门设计来限制模型的有效容量的,用于减少过拟合,这一类是显式的正则化方法。研究表明这一类方法可以提高泛化能力,但并非必要,且能力有限,而且参数高度依赖于网络结构等因素。

(2) 数据增强则没有降低网络的容量,也不增加计算复杂度和调参工程量,是隐式的规整化方法。实际应用中更有意义,所以我们常说,数据至上。

我们总是在使用有限的数据来进行模型的训练,因此数据增强操作是不可缺少的一环。从研究人员手工定义数据增强操作,到基于无监督的方法生成数据和学习增强操作的组合,这仍然是一个开放的研究领域,感兴趣的同学可以自行了解更多。

参考文献

[1] Chawla N V, Bowyer K W, Hall L O, et al. SMOTE: synthetic minority over-sampling technique[J]. Journal of Artificial Intelligence Research, 2002, 16(1):321-357.

[2] Inoue H. Data Augmentation by Pairing Samples for Images Classification[J]. 2018.

[3] Zhang H, Cisse M, Dauphin Y N, et al. mixup: Beyond Empirical Risk Minimization[J]. 2017.

[4] Goodfellow I J, Pouget-Abadie J, Mirza M, et al. Generative Adversarial Networks[J]. Advances in Neural Information Processing Systems, 2014, 3:2672-2680.

[5] Cubuk E D, Zoph B, Mane D, et al. AutoAugment: Learning Augmentation Policies from Data.[J]. arXiv: Computer Vision and Pattern Recognition, 2018.

 

总结

我们总是在使用有限的数据来进行模型的训练,因此数据增强操作是不可缺少的一环。从研究人员手工定义数据增强操作,到基于无监督的方法生成数据和学习增强操作的组合,这仍然是一个开放的研究领域,感兴趣的同学可以自行了解更多。

想听视频课程?网易云等你来

转载文章请后台联系

侵权必究

技术交流请移步知识星球

感谢各位看官的耐心阅读,不足之处希望多多指教。后续内容将会不定期奉上,欢迎大家关注有三公众号 有三AI!

基于深度学习的目标检测:数据增强(一)图像翻转、图像旋转、图像放缩 1.数据增强简介 数据增强(data augmentation),又名数据增广或数据扩充,其本质是通过使用图像处理方法,基于有限的数据产生更多的数据,以此增加训练样本的数量以及多样性,进而提升模型的泛化能力和鲁棒性。 本篇主要涉及到的知识点有: 数据增强的定义:明晰数据增强技术的原理及其在深度学习中的意义。 数据增强的方法:学会使用图像处理方法实现对于数据集中的样本扩充。 图像源扩充方法:学会通过与训练或扩充图像源的方式实现训练数据增强。 说明:数据增强的对象是已有的训练样 阅读详情

相关推荐

DeepSmote:一种深度SMOTE方法

DeepSmote 一种全新的将深度学习与Smote相结合的过采样方法! 目前在许多领域已经被使用,值得大家关注学习!

走在深度学习前沿的小宋 1447

【论文笔记】数据增强系列.1

​本文简单介绍数据增强、好处和常见方式,以及最近的三篇数据增强的论文:CutMix(ICCV2019),ContrastMask(CVPR2022),BCP(CVPR2023)。数据增强是深度学习中的一种技术,它通过从现有数据生成新的训练数据来扩展原数据集。数据增强工具通过操作现有数据的参数,将数据转换为新的、独特的样本。可以对图像、文本、音频和视频输入执行数据增强。有两种类型的数据增强:离线(增强图像存储在驱动器上,然后在训练模型之前与真实数据相结合)和在线(数据增强应用于随机选择的图像并用于训练原始数

m0_61899108的博客 3633

(4-4)数据准备与处理:数据增强

具体实现代码如下所示。(6)实现数据增强操作,首先,使用同义词替换函数对原始文本进行处理,替换两个单词的同义词,然后输出处理后的句子。文本数据增强是指对文本数据进行变换和处理,以生成更多的文本样本,以增加数据的多样性和丰富性,从而提升模型的泛化能力和性能。上述技术可以单独应用或组合使用,根据任务的需求和文本数据的特点来选择合适的文本数据增强策略。(2)编写同义词替换函数synonym_replacement(),这个函数接受一个文本分词后的单词列表 words 和一个参数 n,表示希望替换的同义词的数量。

码农三叔 301

不平衡分类数据集处理(SMOTE和SMOTE-ENN)

处理不平衡数据集的方法

qq_51465769的博客 6964

多标签分类怎么做?(Python)

首先简单介绍下,多标签分类与多分类、多任务学习的关系: 多分类学习(Multi-class):分类器去划分的类别是多个的,但对于每一个样本只能有一个类别,类别间是互斥的。例如:分类器判断这只动物是猫、狗、猪,每个样本只能有一种类别,就是一个三分类任务。常用的做法是OVR、softmax多分类

y1282037271的博客 1360

语义通信实战:跳过“比特”保“语义”,手把手构建轻量级图像压缩重建网络(基于PyTorch)

本文详细介绍了基于PyTorch的轻量级语义通信系统LICRnet的实现,专注于图像压缩重建中的语义信息保留。通过深度可分离卷积、可变窗口多尺度注意力等创新技术,显著降低计算量并提升性能,特别适用于无人机巡检、远程医疗等物联网场景。文章包含完整的代码实现、训练策略及部署优化方案。

weixin_27697385的博客 221

【机器学习】数据增强(Data Augmentation)

文章目录一、引言 - 背景二、为什么需要数据增强?三、什么是数据增强?定义分类四、有监督的数据增强1. 单样本数据增强(1)几何变换类(2)颜色变换类2. 多样本数据增强(1) SMOTE(2) SamplePairing(3) mixup五、无监督的数据增强1. GAN2.Conditional GANs3. Autoaugmentation六、数据增强过程中需要注意的问题七、总结参考链接 一、引言 - 背景 很多实际的项目,我们都难以有充足的数据来完成任务,要保证完美的完成任务,有两件事情需要做好:.

weixin_44211968的博客 11万+

python零基础入门到精通,python入门到精通教程

坚持到了这儿,恭喜你,表示你有做开发的潜力,其实我想说的上面的内容还是刚刚开始,刚开始大家不需要多么精通了解这些内容,除了Python方面的知识,每个部分掌握一点儿能进行基本开发就好,主要是不断练习,让自己跳出「舒适区」,进入「学习区」,但是又不进入「恐慌区」,不断给自己「喂招」。上述这份完整版的Python全套学习资料已经上传优快云官方,朋友们如果需要可以扫描下方二维码免费获取【保证100%免费】

YYmmsss的博客 3460

Strata 实验性速度投影 ESP 一篇讲清:它不是加速,是改变模型“愿不愿意拒绝“

先说结论:Strata 的实验性速度投影(ESP)没有让本地大模型推理变快——相同 token 下解码反而慢 0.2%–0.4%,它真正改变的是模型的拒绝倾向。它是一个 480 KB 的控制向量文件,默认关闭。 作用对象是 125B 的 Qwen3.8-Flash-Next,可在 8GB+ 消费级显卡上高速本地推理;ESP 是叠加在这之上的一个可选行为调节开关,开不开,看完下面的数字再决定。

gitblog_00326的博客 502

Windsurf 入门指南:从安装到实战(免费AI IDE新选择)

本文是Windsurf AI IDE的详细入门指南,涵盖从下载安装到核心功能实战的全过程。通过对比分析,文章指出Windsurf凭借其免费、小白友好的特性及强大的上下文感知能力,成为学习编程和提升开发效率的新选择,特别适合零基础开发者和寻求高效AI编程工具的开发者。

weixin_29237635的博客 857

手把手教你用Simulink搭建IEEE33节点配电网模型(附赠两本电力系统书籍)

本文详细介绍了如何使用Simulink搭建IEEE33节点配电网模型,涵盖从基础配置到高级应用的完整流程。通过MATLAB脚本自动化参数注入、监测系统部署和典型应用场景实战,帮助读者快速掌握配电仿真模型的核心技术。附赠两本电力系统经典书籍资源,助力深入学习与研究。

weixin_29073241的博客 249

【技术综述】 一文道尽深度学习中的数据增强方法(上)

【技术综述】 一文道尽深度学习中的数据增强方法(上) 今天带来一次有关于深度学习中的数据增强方法的分享。 00什么是数据增强 在深度学习项目中,寻找数据花费了相当多的时间。但在很多实际的项目中,我们难以找到充足的数据来完成任务。 为了要保证完美地完成项目,有两件事情需要做好: 1、寻找更多的数据; 2、数据增强。 本篇主要描述数据增强。 什么是数据增...

weixin_30384217的博客 221

目标检测——布匹缺陷检测数据集

结构瑕疵指的是布料本身的缺陷,包括嵌结、抽纱、错纱、断纱、预缩等问题,这些问题通常是在布料生产过程中出现的。而质量瑕疵则是指布料在使用过程中出现的问题,如污渍、断裂、鼓囊、针眼等,这些问题可能由生产过程中的结构瑕疵导致,也可能是在运输、存放和使用过程中引起的。布匹瑕疵如缺纬、断纬、粗纬、松纬、缺经、断经、粗经、筘痕、污点、破损等,若未得到及时有效的检测,这些瑕疵产品可能会流向市场,导致消费者的不满和退货,严重影响企业的声誉和品牌形象。织疵包括缺经、缺纬、跳花、弓纱、错纱、厚薄段、油污渍等;

zzjlhlcd的博客 612

gan 总结 数据增强_【技术综述】一文道尽深度学习中的数据增强方法(下)

深度学习中的数据增强方法的下篇。我们将从以下几个方向入手。1,介绍一下什么是无监督的数据增强方法。2,简单介绍一下GAN生成数据的应用。3,介绍一下AutoAugment为代表的网络自动学习数据增强策略的方法。4,总结。00 什么是无监督数据增强方法我们先看看什么是有监督的数据增强方法。它指的是生成的图片,是在已有的图片上直接做简单的几何变换,像素变化,或者简单的图片融合,如下。上面的增强方法,都...

weixin_42515372的博客 418

【机器视觉】基于深度学习的托盘PCB识别与计数(有无、正反)

工业机器视觉是指在制造业和工业环境中使用计算机视觉技术来执行检测、测量、识别和控制任务。它结合了硬件(如相机、镜头、光源)与软件(图像处理算法)来自动完成传统上需要人工视觉的任务,从而提高生产效率、产品质量以及工作安全性。工业机器视觉系统通常具有高精度、高速度和高可靠性,能够适应恶劣的工作环境。

专注上位机开发、机器视觉、机器学习、嵌入式软硬件开发 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

深度学习中的数据增强技术:TensorFlow实现方法终极指南

想要让你的深度学习模型表现更出色吗?数据增强技术就是你的秘密武器!🚀 数据增强是深度学习中一种强大的技术,通过在训练过程中对原始数据进行各种变换,生成更多样化的训练样本,从而提升模型的泛化能力和鲁棒性。本指南将带你深入了解TensorFlow中的数据增强实现方法,让你轻松掌握这项关键技术。 ## 什么是数据增强技术? 数据增强是深度学习中一种重要的正则化方法,通过对训练数据进行各种随机变换来

gitblog_00440的博客 935

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

技术综述】 一文道尽深度学习中的数据增强方法(上)

https://www.jianshu.com/p/99450dbdadcf 今天带来一次有关于深度学习中的数据增强方法的分享。 00什么是数据增强 在深度学习项目中,寻找数据花费了相当多的时间。但在很多实际的项目中,我们难以找到充足的数据来完成任务。 为了要保证完美地完成项目,有两件事情需要做好: 1、寻找更多的数据; 2、数据增强。 本篇主要描述数据增强。 什么是数据增强呢...

zhuimengshaonian66的博客 1799

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【技术综述】深度学习中的(图像)数据增强方法都有哪些?

很多实际的项目,我们都难以有充足的数据来完成任务,要保证完美的完成任务,有两件事情需要做好: (1) 寻找更多的数据。(2) 充分利用已有的数据进行数据增强,今天就来说说数据增强。 什么是数据增强? 数据增强也叫数据扩增,意思是在不实质性的增加数据的情况下,让有限的数据产生等价于更多数据的价值。 比如上图,第 1 列是原图,后面 3 列是对第 1 列作一些随机的裁剪、旋转操作得来。 ...

1万+

【技术综述】一文道尽深度学习中的数据增强方法(下)

【技术综述】一文道尽深度学习中的数据增强方法(下) 深度学习中的数据增强方法的下篇。我们将从以下几个方向入手。1,介绍一下什么是无监督的数据增强方法。2,简单介绍一下GAN生成数据的应用。3,介绍一下AutoAugment为代表的网络自动学习数据增强策略的方法。4,总结。 00 什么是无监督数据增强方法 我们先看看什么是有监督的数据增强方法。它指的是生成的图片...

weixin_30583563的博客 137

深度学习优化技巧:DL4US教你如何提升模型精度与效率

DL4US是一个专注于深度学习教育的开源项目,提供了从基础到高级的深度学习实践课程。本文将分享DL4US项目中涉及的核心优化技巧,帮助你在实际应用中提升模型精度与运行效率,无论是处理图像识别还是自然语言处理任务,这些技巧都能让你的深度学习模型表现更出色。 ## 1. 解决过拟合的终极方案:早停法(Early Stopping) 过拟合是深度学习模型训练中最常见的问题之一,当模型在训练集上表现优

gitblog_00137的博客 1111

【学习记录】数据增强1

转载——深度学习中的数据增强方法

DJDLJRCJ的博客 121

深度学习中的各种数据增强方法大全

深度学习中的各种数据增强方法大全

1万+

深度学习中的各种数据增强

深度学习中的各种数据增强

1901

caffe学习系列:数据增强

深度学习数据增强方法

coimzhu的博客 2172
上一篇: 【杂谈】GitHub上有哪些好用的爬虫(从Google百度,腾讯视频抖音,豆瓣知乎到不可描述)
下一篇: 【AI-1000问】为什么现在大家喜欢用3*3小卷积?
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

言有三

三人行必有AI

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

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

打赏作者

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

抵扣说明:

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

余额充值