【杂谈】图像识别书看完了感觉不过瘾?这些拓展资料值得你关注一下

有哪些机器学习、图像识别方面的入门书籍? 在当今这个大数据和人工智能迅速发展的时代,机器学习和图像识别技术已经成为推动科技进步的重要力量。无论是学术界还是工业界,这些领域的研究和应用都呈现出爆发式的增长。对于初学者而言,选择一本合适的入门书籍至关重要,它不仅可以帮助你快速掌握基础知识,还能为后续的深入学习打下坚实的基础。本文将推荐几本在机器学习和图像识别领域备受推崇的入门书籍,希望能为你开启一段精彩的探索之旅。 阅读详情

相信许多朋友都看过我这本两年多前出版的书籍了,内容涵盖了神经网络和卷积神经网络基础,数据处理与增强,数据可视化与模型可视化,模型压缩优化,图像分类,图像分割,目标检测,优化目标设计,微信小程序,详情可以阅读:

言有三新书预售,不贵,有料

下图展示了书中的各个章节的内容。

因为书籍成书时间过早(至少3年前),且当时笔者还在职,导致一些内容不是很全面,缺少细节,许多小伙伴表示看完不过瘾,这次给大家汇总一下我们还有哪些与这本图像识别书相关的拓展资料可以供大家进行学习。

深度学习基础理论

关于深度学习的基础理论部分,我们联合阿里开设了一门《深度学习》视频课程,包含了更加丰富的内容,大家可以扫码直达课程主页:

地址为:https://tianchi.aliyun.com/course/279

计算机视觉基础方向

针对计算机视觉的基础方向,我们准备了对应的视频课程, 包括《深度学习之图像识别-入门实践篇》,《深度学习之图像分类-理论实践篇》,《深度学习之图像分割-理论实践篇》,《深度学习之目标检测-理论实践篇》,《深度学习之模型设计-理论实践篇》,所有视频课的内容,都是先讲理论细节,再配置若干个Pytorch实践案例。

内容是在书籍的基础上,补充理论的讲解,并且添加实战内容,具体的介绍大家可以看下面的文章,以及视频课本身的目录:

【视频课】一课掌握图像分割核心理论与实战技巧

【视频课】一课掌握模型设计核心理论与实战技巧

【视频课】一课掌握目标检测核心理论与实战技巧

【视频课】完备理论+4大案例实践,一课深入掌握图像分类各个方向,配套导师永久答疑群

【视频课】有三AI第一套视频课出炉,12小时助你零基础入门计算机视觉理论和实践!

其他的基础性内容,比如传统图像处理,Linux/C++/开源框架,OpenCV,以及其他视觉基础方向,包括GAN理论与实践,目标跟踪等内容,可以持续关注有三AI的小鹅通直播视频间,会陆续发布成新的专栏。

有三AI春季划

当然,如果你觉得一个一个添加权限过于繁琐,想一次性拥有所有图像识别相关的基础性方向,并且需要及时的个人答疑指导,还希望能够参与真实项目开发,以及有三AI的生态建设,则可以考虑加入2021年有三AI CV春季划。

包括但不限于图文,直播与视频,书籍,答疑,项目研发,完整介绍如下:

【CV春季划】2021年有三AI-CV春季划出炉,最后一届言有三手把手从零带学

转载文章请后台联系

侵权必究

往期精选

神经网络图像识别算法,数字图像处理相关书籍 由于神经网络是多学科交叉的产物,各个相关的学科领域对神经网络都有各自的看法,因此,关于神经网络的定义,在科学界存在许多不同的见解。目前使用得最广泛的是T.Koholen的定义,即"神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。"如果我们将人脑神经信息活动的特点与现行冯·诺依曼计算机的工作方式进行比较,就可以看出人脑具有以下鲜明特征:1.巨量并行性。... 阅读详情

相关推荐

6本值得收藏的数字图像处理书籍!

在这个看脸的时代,颜值就是一切。怎样可以成为控制颜值的“黑魔法师”?相信,阅读以下这些经典的图像处理书籍能够助你一臂之力。赶紧紧随大圣众包威客平台的脚步吧! 《数字图像处理基础》   随着台式计算机的处理能力日益增强,各种图像拍摄的设备(例如平板电脑、手机摄像头、数码相机、扫描仪等)的普及,以及互联网的加持,使得数字图像处理变得与文字处理一样普及。本书就数字

dashenghuahua的博客 3万+

AI > 图像识别书籍推荐

"Handbook of Computer Vision and Applications" edited by Bernd Jahne - 这本书是一本全面的计算机视觉手册,涵盖了图像处理、图像分析、目标识别、立体视觉等方面的理论和应用。"Computer Vision: Algorithms and Applications" by Richard Szeliski - 这本书是计算机视觉领域的经典教材,涵盖了广泛的图像处理和计算机视觉算法,包括图像特征提取、目标检测、图像分割等内容。

DL_62532的专栏 1984

IAR下载Linux环境适配:入门级安装指导

详细介绍如何在Linux系统中完成iar下载与环境配置,帮助开发者快速上手IAR集成开发环境,解决常见安装问题,提升开发效率。

weixin_35754676的博客 766

图像处理与计算机视觉基础,经典以及最近发展(二)

11. Image Interpolation 图像插值,偶尔也用得上。一般来说,双三次也就够了   [2000 TMI] Interpolation revisited   12. Image Matting 也就是最近,我才知道这个词翻译成中文是抠图,比较难听,不知道是谁开始这么翻译的。没有研究,请看文章以及Richard Szeliski的

hdanbang的专栏 1717

33、密码学中的选择密文攻击与Cramer - Shoup加密方案

本文详细介绍了密码学中选择密文攻击的背景及其对Cramer-Shoup公钥加密方案的影响。该方案在决策Diffie-Hellman假设和抗碰撞哈希函数的基础上,能够有效抵御自适应选择密文攻击,并且其安全性无需依赖随机预言机模型。文章还分析了Cramer-Shoup方案的设计原理、加密与解密过程,以及其在标准假设下的安全性证明方法。此外,通过一系列相关练习,帮助读者进一步理解密码学概念如密文不可区分性、ElGamal加密、Goldwasser-Micali方案等。最后,文章展望了密码学的未来发展趋势,包括量子

vscode6remote的博客 100

YoloV8改进策略:轻量级的CloFormer助力Yolov8在速度和精度上实现双双提升

CloFormer是清华大学在今年发表的轻量级主干网络,引入了AttnConv,一种attention风格的卷积算子。所提出的AttnConv使用共享权重来聚合局部信息,并配置精心设计的上下文感知权重来增强局部特征。AttnConv和普通attention的结合使用池化来减少CloFormer中的FLOPs,使模型能够感知高频和低频信息。这篇文章主要向大家讲解如何将CloFormer加入到YoloV8中。论文链接:https://arxiv.org/abs/2303.17803v5。

m0_47867638的博客 4312

人工智能书单(图像处理与计算机视觉篇)

导语:在这个特殊的假期里,宅在家里读书意味着健康平安,也会让你收获满满!华章计算机AI板块小编将为你持续推送AI书单,从基础入门到AI的各个细分方向一网打尽,完备你的AI学习路线!本期为...

华章IT官方博客 1262

YOLOv8中的可变形卷积改进 | 从DCNv1到DCNv3的多位置替换可变形卷积保姆级实操

可变形卷积(Deformable Convolution)最早由Dai等人在2017年提出,其核心思想是在标准卷积操作的基础上,引入可学习的偏移量(offsets),使卷积核能够自适应调整其采样位置,从而增强模型对目标变形的感知能力。return x本文通过深入探讨可变形卷积在YOLOv8中的应用,详细介绍了DCNv1、DCNv2和DCNv3的原理和实现,并通过实验验证了其在目标检测任务中的有效性。未来,我们将继续探索更多优化策略和技术,提升YOLOv8模型的性能,以应对更复杂的目标检测任务。

一键难忘的博客 4051

图像处理与识别书籍介绍

1、图像处理类     2、图像识别类   原文地址:http://blog.youkuaiyun.com/byxdaz/article/details/676113

cbbbc 3199

【原创教程】西门子1500与施耐德伺服的通讯以及调试

该函数块主要描述伺服的手动,左边的引脚Forward是指伺服手动正转,Backward是指伺服手动反转,Fast是指手动的某个方向为快速运行,TipPos手册上描述为固定值,WaitTIme是指伺服手动的相应时间,VeloSlow指伺服手动正常慢速运动的速度,VeloFast指伺服手动快速运动的速度,Acceleration是指伺服手动的加速度,Decelertion是指伺服手动的减速度。该函数块用于伺服停止,左边的引脚Execute为伺服停止执行,Deceleration含义为减速,Axis为轴。

Qinmingyue13的博客 1376

SPI为什么不需要加上拉电阻

大家好,我是记得诚。I2C因为其开漏的结构,无法输出高电平,所以外部加上拉电阻。我们在使用SPI的时候,发现是不需要加上拉电阻的。主要因为SPI多为推挽的结构,推挽电路,高低电平都可以输出,所以外部不需要加上拉电阻。推挽电路可以用2个三极管或者2个MOS管搭建而成。

记得诚 2631

图像处理、模式识别、模式分类、机器视觉推荐图书汇总

1、数字图像处理,冈萨雷斯,阮秋琦(译),电子工业出版社; 2、opencv基础篇,于仕琦,刘瑞祯,北京航空航天大学出版社; 3、Learning OpenCV computer vision with the opencv library, Gary Bradski, Adrian Kaebler, O'REILLY 4、模式识别,边肇琪,张学工,清华大学出版社; 5、模式分类(英文版...

weixin_30762087的博客 328

大数据领域数据产品的团队激励与绩效管理

在大数据领域,数据产品的成功离不开高效协作的团队。团队激励与绩效管理的目的在于激发团队成员的工作热情和创造力,提高工作效率和质量,确保数据产品能够按时、高质量地交付。本文章的范围涵盖了大数据领域数据产品团队激励与绩效管理的各个方面,包括激励机制的设计、绩效评估的方法、团队沟通与协作等。本文将按照以下结构进行阐述:首先介绍核心概念与联系,明确相关概念的定义和相互关系;接着讲解核心算法原理和具体操作步骤,为团队激励与绩效管理提供理论支持和实践指导;然后分析数学模型和公式,帮助读者深入理解绩效评估的原理;

Java大师兄的博客 1018

图像处理书籍推荐

作者:CV视觉网 链接:http://www.zhihu.com/question/20523667/answer/97384340 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 网上看的,觉得不错 1. 数学 我们所说的图像处理实际上就是数字图像处理,是把真实世界中的连续三维随机信号投影到传感器的二维平面上,采样并量化后得到二维矩阵。数字图像处理就是二维矩...

weixin_30367169的博客 1279

智能手表PCB布局:PPG与IMU传感器噪声隔离与应力解耦设计

在可穿戴设备硬件开发中,PCB布局已超越传统布线范畴,成为决定信号完整性、电磁兼容性与机械可靠性的核心环节。心率传感器(PPG)依赖微伏级光电容积脉搏波信号,极易受数字开关噪声与电源纹波干扰;姿态传感器(IMU)则对PCB弯曲形变引发的机械应力高度敏感。其布局需融合电磁场建模、热-力-电多物理协同及高密度互连约束。关键技术价值体现在噪声路径切断、地弹抑制、应力方向解耦与电源域隔离等工程实践。典型应用场景涵盖智能手表、医疗级贴片设备及微型运动传感终端。本文聚焦PPG与IMU两大模组在STM32L4平台上的实操

weixin_32869687的博客 175

深度学习工具包 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")

图像处理与识别书籍介绍(图)

图像处理与识别书籍介绍                                                                                                                     cndg  2006 /04/25                                        1、图像处理类

深之JohnChen的专栏 8679

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

新书推荐 |《深度学习与图像识别:原理与实践》

新书推荐《深度学习与图像识别:原理与实践》点击上图了解及购买阿里巴巴达摩院算法专家领衔撰写,从技术原理、算法、工程实践3个维度系统讲解图像识别。视频介绍编辑推荐1. 三位作者均来自阿里巴...

华章IT官方博客 1013

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

图像识别书籍

图像识别与项目实践——VC++、MATLAB技术实现 第1章 图像识别概述  1.1 图像识别意义  1.2 图像识别技术  1.3 手写数字识别  1.4 邮政编码识别  1.5 车牌识别简介  1.6 印刷体汉字识别  1.7 条形码识别  1.8 人脸识别  1.9 虹膜识别  1.10 指纹识别  1.11 图像识别系统性能评价  第2章 图像识别关键技术

我的专栏 7411

【视频课】一课掌握目标检测核心理论与实战技巧

前言目标检测是计算机视觉和数字图像处理的一个热门方向,广泛应用于机器人导航、智能视频监控、工业检测、航空航天等诸多领域,通过计算机视觉减少对人力资本的消耗,具有重要的现实意义。因此,目标检...

hacker_long的专栏 572

计算机视觉入门必看书籍

周围有许多朋友问我,想要入门学习计算机视觉,要什么好书推荐?我今天就向大家介绍一本非常适合初学者学习的书籍。《深度学习与图像识别:原理与实践》这本书是由阿里巴巴的三位大佬编写的,从技术原...

weixin_40920183的博客 3430

【AI学院】老司机手把手带学言有三的经典书籍《深度学习之图像识别》,需要的赶紧上车吧...

为什么以及怎么学计算机视觉?作为一个普通的程序员,如果能转型成为一个计算机视觉算法工程师,带来的不仅是高薪,还有从劳动密集型工种转化为智力密集型工种带来的“阶级跃迁”。因为相对于大量的堆...

hacker_long的专栏 1344

【目标检测】从原理到实践,深度掌握YOLO系列算法!

YOLO系列算法“You Only Look Once”是目标检测当前最经典的算法把目标检测问题简化成了一个回归问题真可谓是“简单易上手,看一次就搞懂”那么YOLO到底优越在哪里呢?实时且高准确率发展到YOLO v5版本后已经达到了当前检测框架里最好的准确率YOLO速度真的超级快比“R-CNN”快1000倍比“Fast R-CNN”快100倍人脸检测为了帮助大家系统性解决...

hacker_long的专栏 4200
上一篇: 【阿里云课程】图像翻译GAN结构与应用
下一篇: 【赠书】pandas创始人手把手教你利用Python进行数据分析
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄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、付费专栏及课程。

余额充值