(动作姿态引导的时尚图生成)Pose Guided Fashion Image Synthesis Using Deep Generative Model

Pose Guided Person Image Generation(姿态引导的人体图像生成 文献总结) Pose Guided Person Image Generation(PG2姿态引导的人体图像生成 文献总结) 该网络可以基于人物的图像和新的姿势合成任意姿势的人物图像。主要包括两个关键阶段:姿势集成和图像细化。 姿势集成:将图像和目标姿势输入一个类似U网的网络,以生成具有目标姿势的人的初始但粗糙的图像。 图像细化:通过对抗的方式训练一个类似于U网的生成器来细化初始模糊的结果。 1.姿势集成 任务:将条件化人物图像IA与目标姿势PB相结合,生成一个粗略的结果IB^^^,在目标图像IB中捕捉人体的整体结 阅读详情

论文地址:https://arxiv.org/pdf/1906.07251.pdf

摘要

       形成一个真实的图像,通过人体姿态是一个有挑战的研究课题对于一些应用,例如智能图像编辑,电影制作,虚拟试穿,以及时尚展示。在这篇文章中,我们展示了一个新颖的深度生成模型来转化一张图像关于一个人从一个给定的姿态来自于新姿态,对比保持时尚项目一直性。为了制作框架,我们开发了一个生成器和两个判别器来保证图像的统一。这个生成器包含一个图像编码,一个姿态编码以及一个解码器。这两个编码器提供好的展示对视觉和立体几何内容,它将被利用通过解码为了生成一张真实图像。不像存在的位姿导向图像生成模型,我们开发了两个判别器来引导合成处理,一个判别器发现不同在一个目标位姿和真实图像(训练样本),以及另外一个判别验证一致出现在一个目标位姿和一张生成图像。我们展示了端到端的训练网络框架,来学习参数通过反向传播在给定的真实的图像,提出的生成模型有能力合成一张真实图像的人在给定目标位置。我们已经证明我们的结果通过进行严谨的实验在两个数据集上,其中定量和定性。

本论文方法效果展示

        其中,第一列表示输入图像;第一行表示目标动作。

系统架构

        该框架中使用LSTM和U-Net网络进行编码,使用U-Net网络进行解码,其中包含两个损失Di和Dp。

具体分析

了解更多关于《计算机视觉与图形学》相关知识,请关注公众号:

下载我们视频中代码和相关讲义,请在公众号回复:计算机视觉课程资料

人体姿态估计-生成heatmap的方法 人体姿态估计-生成heatmap的方法 有时间整理下生成heatmap的方法~???? 主要是两类方便快速的方法,以前的方法这里不讨论 这里假设heatmap大小为(64,48),关键点的坐标为(32,24) 即将一个(64,48)的黑图的中心点点亮 1、利用CV2函数,利用高斯模糊函数生成heatmap 函数:cv2.GaussianBlur(heatmap, kernel, sigma) 参数说明: heatmap:要进行高斯模糊的原图像img kernel: 高斯核大小 ,一般为正数和奇数 sigma 阅读详情

相关推荐

论文学习笔记:曹哲 实时多人人体姿态识别 CVPR2017

最近学习了曹哲的这篇Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields,认真读了,也看了曹哲直播的视频,虽然程序还是看不懂,但也算是学到东西了,写个笔记记录一下,其实大部分也就是直接把论文翻译过来,里面出现的PPT截图也是我之前自己做的,但是不小心存成兼容模式之后文字变成图片了o(╥﹏╥)o,所以就直接截了图,还是

Smiling_pie的博客 1万+

GAN 与人体姿态生成

GAN 与人体姿态生成 持续更新中… Pose Guided Person Image Generation 概述 这篇文章主要解决的是人体姿态迁移的问题。具体就是给定一张原始图片和一个新的姿势,这个姿势使用关键点来表示的,网络的目的就是将原始图片的姿势转换到目标姿势。 方法 这篇文章将姿态迁移的任务分为了两个阶段,采用了 coarse-to-fine 的策略:首先生成比较模糊的图片,但是姿势...

zh20166666的博客 5577

everybody dance Openpose GAN Pose2vid tensorflow实现 人体姿态迁移 动作传递 人物姿态生成

实现效果 人物freestyle 动作 teacher 动作传递给student, 按照teacher动作生成student, 其他的实例效果 只训练了一小时,有时间多训练GAN的参数,生成的人物会效果更好。 有时间整理好代码,分享。 Dance 实...

AI 图像识别 5388

人体姿态估计、识别与生成最新技术一览

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达作者丨WinstonDeng@知乎(已授权)来源丨https://zhuanlan.zhihu.com/p/345201439编辑丨极...

3D视觉工坊 7873

姿态生成smpl

姿态生成smpl

jacke121的专栏 552

姿态变换matlab(1).zip

用matlab编写了不同姿态之间的相互转换函数,导航系N为北东地坐标系,依此绕Z、Y、X旋转得到载体系B,选用欧拉角、四元数和方向余弦阵进行描述,得到了dcm2eul、eul2dcm、eul2qua和qua2dcm函数。

基于深度学习的人体姿态生成算法研究

标题:基于深度学习的人体姿态生成算法研究内容:1.摘要 在计算机视觉和人工智能领域,人体姿态生成是一个具有重要研究价值和广泛应用前景的课题。本研究旨在探索基于深度学习的人体姿态生成算法,以提高姿态生成的准确性和自然度。通过收集大规模的人体姿态数据集,并运用卷积神经网络(CNN)和循环神经网络(RNN)构建深度模型,对人体姿态的时空特征进行学习和建模。实验结果表明,所提出的算法在公开数据集上取得了显著的性能提升,平均误差率较传统方法降低了 20%。研究结论为人体姿态生成领域提供了一种有效的深度学习解决方案,推

Candy5204的博客 1258

从零开始!在 Windows 上安装与配置 Dify

这篇博客将详细介绍如何在 Windows 系统上部署 Dify,适合零基础用户。从 Docker 和 WSL 的安装配置开始,逐步指导用户设置 Git、Docker 环境以及 Dify 配置文件,解决可能遇到的端口冲突等问题,最终完成 Dify 的启动和测试。通过简明易懂的步骤,帮助用户在本地成功运行 Dify,实现模型供应商配置,让 Dify 项目在 Windows 平台上顺利上线。

qq_49035156的博客 5万+

Pose泰裤辣! 一键提取姿态生成新图像

从图像提取人体姿态,用姿态信息控制生成具有相同姿态的新图像。

华为云官方博客 1624

Java utgard连接OPC问题记录

怎么开启是个问题, 是在引入openscada的jar包里的Sever类中修改,这就犯难了, 其实没必要, 只要在自己项目下创建与openscada中Server类相同的路径,并复制Server过去改就行了, 项目会优先使用本地类,像下面这样。奇迹发生了,0x00000005解决. 注: 我的安全补丁编码跟网上查到的并不一样, 所以最初没有删,后来全都删了就好了,这个编码规则咱也不知道.安全日志中记录用户登录行为, OPC通信需要使用Windows系统用户进行登录, 如果用户名密码错误这里会有相关记录.

wangxin1949的博客 2844

极智芯 | 解读国产CPU之海光

大家好,我是极智视界,本文分享一下 解读国产CPU之海光。希望我的分享能对你的学习有一点帮助。

极智视界 3320

持之以恒(一)位姿转换:姿态 / 四元数 / 旋转矩阵 / 欧拉角 及 位姿矩阵

位姿转换:姿态 / 四元数 / 旋转矩阵 / 欧拉角 及 位姿矩阵

qq_43572400的博客 7013

prplOS适配USB LAN网卡

本文介绍了将USB LAN网卡(如rndis0)适配到prplOS的LAN管理流程。

四儿家的小祖宗的博客 322

机器人 以expo_marker_red为例抓取姿态的生成

机器人 以expo_marker_red为例抓取姿态的生成 flyfish 源码地址 https://github.com/atenpas/gpg 生成条件是 6-DOF grasp poses for a 2-finger grasp $ git clone https://github.com/atenpas/gpg.git 整个编译过程如下 生成项目 $ cd grasp_candidate...

二分掌柜的 1135

084、ISP 多Context调度:预览、抓拍、录像三路并行 ISP 资源分配

ISP多Context调度优化经验总结 问题本质:ISP多Context并非真正并行,RAW域处理存在串行瓶颈。典型案例是4K60录像时连拍导致视频帧率骤降,根源在于capture抢占video资源引发优先级反转。 关键发现: 移动平台ISP采用"共享管线+独立配置"架构,RAW处理和DMA带宽是主要冲突点 三路典型场景:预览(低延迟)、抓拍(高突发)、录像(高稳定)各有不同资源需求 静态优先级方案会导致video帧率锯齿状波动 解决方案: 时间片轮转+动态提升(高通方案):为各Context分配合理时间片

sundong_81的博客 26

华为od 面试八股文_操作系统_01_含答案

华为od 面试八股文_操作系统_01_含答案

MISAYAONE的博客 3276

【ECCV 2018】Facebook开发姿态转换模型,只需一张照片就能让它跳舞(视频)

DensePose 是 Facebook 研究员 Natalia Neverova、Iasonas Kokkinos 和法国 INRIA 的 Rıza Alp Guler 开发的一个令人惊叹的人体实时姿势识别系统,它在 2D 图像和人体3D 模型之间建立映射,最终实现密集人群的实时姿态识别。 具体来说,DensePose 利用深度学习将 2D RPG 图...

weixin_34358092的博客 533

【32】C# WinForm入门到精通 ——打开文件OpenFileDialog 【属性、方法、事件、实例、源码】

本文介绍了WinForm开发中OpenFileDialog控件的关键属性及其应用。OpenFileDialog是.NET Framework提供的文件对话框控件,主要用于选择、打开文件操作。文章详细讲解了11个核心属性:AddExtension(自动补全扩展名)、AutoUpgradeEnabled(外观升级)、CheckFileExists/CheckPathExists(文件/路径存在验证)、DefaultExt(默认扩展名)、DereferenceLinks(解析快捷方式)、FileName/File

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1535

ClothNet:基于图片生成真实感着装图

每天一分钟,带你读遍机器人顶级会议文章 标题:A Generative Model of People in Clothing 作者:Christoph Lassner,Gerard Pons-Moll,Peter V. Gehler 来源:ICCV 2017 ( IEEE International Conference on Computer Vision) 编译:博主 欢迎个人转发...

Yan 1461

把 SM30 用顺:从表设计到权限与传输,全面掌握 SAP Table Maintenance Generator

摘要 SAP的Table Maintenance Generator(TMG)是为配置表维护需求设计的经典工具,能够生成标准化的维护对话框(SM30)。它支持单表、维护视图(多表关联)和视图簇(导航式维护)三种维护对象类型。使用TMG前需注意三个关键设置:1)表维护权限选项;2)交付类(决定数据传输行为);3)客户端字段配置。通过SE54/SE11生成维护对话框时,需选择维护类型(一步/两步)和记录例程(控制传输)。TMG生成的对象包含函数组、屏幕和处理模块,但部分标准框架不可修改。实际应用中,可通过参数事

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 176

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Adversarial PoseNet: A Structure-aware Convolutional Network for Human Pose Estimation(2017)

Abstract 对于单目图像的Human Pose Estimation,关节遮挡和重叠会导致偏差的姿态预测结果,可能会产生生物学上不可信的姿态预测。相比之下,Human vision通过利用关节连接的几何约束预测姿态。为了解决利用人体结构先验知识这个问题,本文提出a novel structure-aware convolutional network,能够在深度网络的训练过程中 ...

qq_43452156的博客 724

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

OpenPose:实时多人2D姿态估计

原文地址:https://zhuanlan.zhihu.com/p/37526892 前言 前段时间很火的感人动画短片《Changing Batteries》讲了这样一个故事:独居的老奶奶收到儿子寄来的一个机器人,虽然鲜有语言的沟通,但是小机器人善于察言观色,不仅能在老奶奶口渴时为她端水、在老奶奶扫地时接过老奶奶的扫把,做力所能及的家务活,如果老奶奶在椅子上看电视睡着了,机器人还为她轻轻...

黎国溥 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

XingGAN for Person Image Generation(人体姿势生成笔记)

XingGAN for Person Image Generation(动作迁移笔记) 1.概述 XingGAN中的生成器由两个代分支组成,分别对人的外观和形状信息进行建模。此外,我们提出了两个新的块,以交叉的方式有效地传递和更新人的形状和外观嵌入,从而相互改进。 数据集:Market 1501 ,DeepFashion 2.介绍 基于论文:Progressive Pose Attention Transfer for Person Image Generation 实现目标:输入一个人物图像和几个理想姿势

zbjcjdi的博客 3413

姿态估计 - 关键点 heatmap 生成方法对比

关键点 heatmap 生成方法对比 人体姿态估计中,groundtruth 由 (x, y) 变为 heatmap 形式,这里探索了几种不同的生成 heatmap 的方法. import time import numpy as np import cv2 import matplotlib.pyplot as plt def CenterLabelHeatMap(img_width...

长风破浪会有时,直挂云帆济沧海 2万+

仅用语音生成人体姿态,代码已开源

本文转载自机器之心。机器之心报道参与:杜伟、魔王只输入语音便能生成人体姿势。瑞典皇家理工学院的研究者做到了!你能看出上图中的人物姿势是仅基于一段语音生成的吗?基于语音生成上半身动作甚至全...

我爱计算机视觉 1914

姿态估计: Hourglass 网络

本文是 ECCV2016 的工作,主要是介绍了一个在当时是新的姿态估计的网络结构。这里主要是对整个网络的结构和思想进行一个梳理,可以进一步明白后序一些基于此网络结构的工作(例如ECCV2018 CornerNet),不涉及到 姿态估计领域 的一些见解和讨论,所以本文主要就是分为两节,引出课题和介绍 hourglass 网络。 原文链接: https://arxiv.org/abs/1603.069...

Chris_zhangrx的博客 4551
上一篇: Real-Time Driver State Monitoring Using a CNN Based Spatio-Temporal Approach
下一篇: (通用条形码检测通过语义分割)Universal Barcode Detector via Semantic Segmentation
元宇宙MetaAI
博客等级 码龄10年 331粉丝 333原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值