资源简介 (共51张PPT)第2单元 第3课用深度学习实现图像分类(清华大学版)八年级下1核心素养目标3新知讲解5拓展延伸7板书设计2新知导入4课堂练习6课堂总结课后作业801核心素养目标信息意识计算思维数字化学习与创新信息社会责任在图像分类过程中遵循法律法规,尊重他人的隐私和知识产权,思考图像分类技术可能带来的社会影响。鼓励运用数字化工具(如编程软件、深度学习框架)进行图像分类的实践操作,提高他们的数字化学习能力。引导理解深度学习算法(如卷积神经网络)背后的逻辑和计算流程,学会用算法思维解决图像分类问题。理解图像数据作为一种重要信息资源的价值,通过深度学习进行图像分类是提取和利用图像信息的有效方式。02新知导入本课中你将学习:如何制作图像数据集如何对图像分类模型进行训练如何应用图像分类模型02新知导入深度学习是机器学习最重要的组成部分。用深度学习解决问题,同样要参考机器学习的一般流程,从采集、整理和清洗数据开始,再搭建模型进行训练与评估,最后结合其他编程工具或者模块,以模型推理为核心功能,形成一个完整的人工智能项目。本节课,我们将用深度学习的方法实现图像分类并解决昆虫识别的问题。02新知导入03新知讲解一、准备图像数据集合适的数据集是机器学习任务成功的关键,数据集的质量会直接影响模型的性能。针对图像分类模型训练,我们需要准备好一个图像数据集。03新知讲解许多人关心的问题是“需要多少张图片?”以及“图片的尺寸应该为多大?”,答案取决于所期望的模型识别精度。一般来说,数据越丰富、越多样,训练出来的模型的表现就会越好。只有数量还不够,还需要确保数据的多样性,这意味着需要考虑光线、拍摄角度、背景等变化条件。采集数据前还需要明确让模型识别和学习的图像类型,考虑模型最终的应用场景及采集的图像数据与要进行推理的图像是否一致。例如,昆虫识别模型的应用场景是校园花圃,最好也用摄像头去采集校园花圃里的昆虫的图像。03新知讲解1. 图像分类数据集的规范不同的 AI开发工具或框架对数据集格式有特定的要求。比较常用的用于图像分类的数据集格式是ImageNet格式。ImageNet大规模视觉识别挑战赛是著名的计算机视觉竞赛,其机制是提供统一的数据集,让不同算法进行比较。ImageNet 提供的数据集拥有超过1500万张图片,约2.2万个类别,其格式逐步发展为一种通用的图像分类数据集标准。03新知讲解ImageNet格式的数据集一般包含三个文件夹和三个文本文件。如图 2.3.1所示,不同类别图片按照文件夹分类,通过training_set、val_set、test_set 区分训练集、验证集和测试集。文本文件classes.txt说明类别名称与序号的对应关系,val.txt说明验证集图片路径与类别序号的对应关系,test.txt说明测试集图片路径与类别序号的对应关系。03新知讲解2.图像分类数据集的制作第1单元使用过的BaseDT库,不仅能完成CSV格式数据集的拆分还可以用于制作ImageNet格式的图像分类数据集。首先,将收集的数据进行初步整理,整理规范如图2.3.2所示,将所有图片按照类别存放(存放至以各类别名称命名的文件夹内),再将所有图片文件夹放入images文件夹同时新建一个 classes.txt,按次序逐行写上所有类别的名称,如图 2.3.3 所示。03新知讲解然后,使用 BaseDT对整理完毕的images文件夹进行格式转换,数据集格式转换的代码如下所示。需要在代码中指定生成数据集的路径、原始数据集的路径、原始数据集格式、划分比例 (如不设置,则默认比例为训练集 : 测试集 : 验证集 =7 : 1∶2)。数据集划分代码运行结果如图 2.3.4 所示。03新知讲解二、图像分类模型的训练MMEdu 是一个为青少年设计的计算机视觉算法包,其简化了神经网络模型搭建和训练参数,让初学者通过简洁的代码即可完成各种模型训练借助EasyTrain,使用者还可以用无代码的方式调用 MMEdu 训练模型。MMEdu 内置了大量优秀的算法 ( 如SOTA模型等 ),支持图像分类和检测任务。03新知讲解1.图像分类 SOTA 模型SOTA(state-of-the-art)是指在某个研究任务中目前表现最好、最先进的模型。不同的 SOTA 模型适合解决不同的问题,要根据具体的任务进行合理选择。比如,LeNet模型在灰度数字手写体字符识别任务上表现非常优秀,也适合用于简单的灰度图像分类任务。除此之外,MMEdu在图像分类方面还内置了MobileNet、ResNet系列的模型。03新知讲解(1) MobileNetMobileNet 系列模型的设计初衷是“for mobile vision applications”(为移动设备的视觉应用而开发),即提出一个轻量化的卷积网络模型,在显著减少计算量和参数量的同时,保持较高的准确率以提升计算效率,能用在手机、机顶盒等算力较弱的移动终端(也称边缘设备)上。MobileNet最大的优点就是网络的轻量化。如果昆虫识别任务要采用移动终端部署,那么MobileNet 是一个很不错的选择。03新知讲解(2) ResNet我们已经知道,随着网络层数的增加,获得的信息会更加丰富,但过多的网络层数可能导致模型性能下降,甚至难以训练。而何明、孙剑和汤晓鸥等提出的深度残差网络(deep residual network,ResNet),有效地解决了这个问题。ResNet的提出是计算机视觉领域的一个里程碑事件,用ResNet训练出来的模型在当年ImageNet的图像分类和目标检测任务中都获得了冠军。ResNet有很多版本,常见有ResNet18、ResNet34、ResNet50、ResNet101、ResNet152等。迄今为止,ResNet仍是难以替代的主流模型,被广泛应用于分类、检测、分割等领域。03新知讲解2.图像分类模型的训练过程MMEdu 的 MMClassification 模块的主要功能是对图像进行分类。以下是使用 MMEdu 训练图像分类模型的核心代码,其设计思路旨在保持代码的简洁性和高效性。用 EasyTrain 训练模型时,会自动生成类似的训练代码。03新知讲解以上代码体现了图像分类模型训练的五个主要步骤。①模型实例化:选择一个适合任务的SOTA 模型作为模型的骨干网络(backbone )。②配置类别数量:根据实际数据集中的类别数量配置模型,确保模型输出与数据集相匹配。03新知讲解③加载数据集:明确指定数据集的路径,让模型知道从哪里获取训练所需的数据。④设置模型保存路径:指定一个路径来保存训练好的模型,便于后续的使用或部署。⑤开始训练:指定训练的轮数并选择是否在训练过程中进行验证,以确保模型的泛化能力。03新知讲解运行结果如图 2.3.5 所示。03新知讲解从图2.3.5中可以看出,每轮训练结束后出现accuracy_top-1表示模型在验证集上验证得到的准确率。MMEdu训练模型的过程中不仅会保存每一轮的模型权重文件,还会将最佳准确率的模型进行重命名保存,并呈现在训练结果中。如果对当前模型不够满意,MMEdu支持加载之前训练过的模型继续训练,在 train 函数中增加checkpoint参数,并指定模型权重路径即可。下面的代码是继续训练的核心代码。03新知讲解阅读通常,从头开始训练一个深度学习模型需要大量的数据和计算资源,既费时又费力。但如果将一个已经在类似任务上训练好的模型作为起点,那么就可以直接利用这个预训练模型已经学到的知识,包括特征提取、模式识别等能力。这就是迁移学习(transferlearning)的魅力所在。在 MMEdu 中选择之前的模型“继续学习”,其实就是迁移学习。03新知讲解阅读迁移学习允许我们利用一个任务上的知识加速另一个相关任务的学习过程。如果选择在猫狗分类模型的基础上训练牛羊分类模型,那么训练速度也会快很多。这就像已经学会了骑自行车,现在想学习骑摩托车,由于两者在平衡和控制方面有相似之处,那么骑摩托车的学习过程会比从零开始学习要快得多。03新知讲解三、图像分类模型的应用完成了模型的训练,接下来便要思考模型应用的问题。比如,可以将模型应用在校园农场里,对害虫进行监控。再如,可以将模型应用在某个生态区域,对昆虫类型进行分类并记录。不管是哪一种应用场景,都需要借助摄像头拍摄图像,调用模型对图像进行实时推理。03新知讲解1.深度学习模型的类型和推理工具在深度学习领域中,几乎每一种深度学习开发框架都有自己特定类型的模型,如 PyTorch 的模型格式为“.pth”,TensorFlow的模型格式为“h5等。为了让深度学习模型更容易转化为应用软件,不同的企业和机构相继推出了它们自己的推理工具(也称推理框架、部署工具),如微软、亚马逊、Facebook和IBM等公司推出了ONNX Runtime,腾讯推出了NCNN,Intel推出了 OpenVino,英伟达推出了 TensorRT 等。03新知讲解目前,ONNX Runtime得到的企业支持较多,是一个应用较为广泛的推理框架。ONNX Runtime支持的模型格式为 ONNX (open neural network即开放神经网络交换),旨在实现不同深度学习框架之间的模型互操作,便于模型的共享和部署。ONNX Runtime支持多种硬件平台,包括CPU和 GPU。03新知讲解2.深度学习模型的转换为提高模型推理的速度,很多硬件厂商设计了专用的推理加速芯片如TPU (张量处理器)、NPU (神经网络处理器)等,而不同的芯片可以针对某些类型的模型进行优化。模型转换可以使开发者充分利用硬件资源,提升模型性能,实现数据的快速推理。例如,一个在 PyTorch 中训练的模型(pth格式)可以通过转换工具转换为ONNX格式,然后进一步部署到支持 ONNX Runtime 的环境中,实现高效的模型推理。03新知讲解MMEdu 内置 convert 函数,针对用 MMEdu 训练的模型,可直接完成一键式模型转换。下面的代码实现了将训练的 pth 格式模型转换为 ONNX 格式。03新知讲解3.从模型推理到人工智能应用开发当一个深度学习模型训练完成后,最终的任务是要结合其他编程工具编写一个人工智能应用。一般来说,规模较小的模型往往运行在一些边缘设备(指性能较弱的移动端和嵌入式设备)上。以昆虫分类模型为例,一般会将模型和代码放在边缘设备上,然后安装在校园农场里,结合摄像头进行画面采集,其应用流程如图 2.3.6所示。03新知讲解(1)借助 XEduHub 实现ONNX模型推理XEdu工具集中的 XEduHub 也支持 ONNX 模型的推理,如下是MMEdu 模型转换后推理的示例代码。03新知讲解运行结果如图 2.3.7 所示。03新知讲解(2) 用 Gradio 搭建人工智能应用Gradio 是一个开源 Python 库,用于设计和部署机器学习模型的交互式界面。它提供了简单易用的接口,让用户能够轻松地创建和展示机器学习模型,并与其交互。下面是一段 Gradio 的示例代码,主要作用是创建一个用户界面,用户可以上传一张图片,并直接显示这张图片(不对图片进行任何处理)。03新知讲解在以上代码的基础上,结合模型推理代码即可搭建一个用户上传一张图片就显示推理结果的人工智能应用,如图 2.3.8 所示。03新知讲解阅读OpenCV (open source computer vision library)是一个开源的计算机视觉和机器学习软件库。借助 OpenCV 可以轻松完成图像和视频处理。而人工智能结合物联网技术,就形成了智联网应用。借助pinpong库,我们就能利用人工智能模型的推理结果驱动相应的硬件,比如发现害虫就保存照片并告知农民,发现偷食的小鸟就发出声音驱赶,发现杂草则启动激光设备“清除”等。下面的代码实现的功能是使用摄像头拍摄照片,若识别出照片中是害虫,则点亮警示灯(D13端口接LED)。03新知讲解阅读03新知讲解阅读03新知讲解阅读结合 〇penCV 和 pinpong 库,可以创建出既能通过摄像头“看”到环境,又能通过硬件反馈进行“动作”的AI科创作品。这种结合使得项目不仅仅限于软件层面的交互,还能与物理世界进行互动,极大地拓宽了创作的可能性。03新知讲解“兵马未动,粮草先行。”没有好的数据集,就训练不出好的模型MMEdu 自带的昆虫数据集的规模并不大,来源也比较单一。请使用各种方式对昆虫数据集进行补充,如在科学老师的指导下现场拍摄或者从网络上搜索。然后编写模型转换代码,制作一个ImageNet格式的昆虫数据集。核心实践内容包括:(1) 数据集扩充。对 MMEdu 自带的昆虫数据集进行扩容,增加类别或者增加现有类别的图像数量。挑战03新知讲解(2) 数据集转换。完善代码,输入数据路径进行格式转换,并检查格式是否正确。(3) 进一步思考:如果因为误操作把数据分类弄错了,有什么办法可以快速修正?挑战答:若误操作致数据分类错误,可从三层面解决。数据层面,量小则手动修正,有规律错误编写脚本批量改;模型层面,数据量大或难手动修正就重新训练,部分错误且原模型性能好时用正确数据微调;数据管理层面,建立审核流程避免再误操作,利用版本控制工具以便回滚重新操作。04课堂练习一、选择题1、在深度学习图像分类中,以下哪种神经网络结构常用于处理图像数据?A. 循环神经网络(RNN) B. 长短期记忆网络(LSTM)C. 卷积神经网络(CNN) D. 全连接神经网络(FCN)2、图像分类任务中,数据增强的目的是什么?A. 减少训练数据量 B. 增加数据的多样性,提高模型泛化能力C. 使图像变得更简单 D. 只用于测试数据3、在深度学习模型训练过程中,以下哪个参数用于控制模型学习的速度?A. 批次大小(Batch Size) B. 学习率(Learning Rate)C. 迭代次数(Epochs) D. 隐藏层数量CBB04课堂练习4、对于图像分类任务,如果有10个不同的类别,模型的输出层通常有多少个神经元?A. 1 B. 5C. 10 D. 20二、判断题1、深度学习图像分类模型在训练数据量较少时也能取得非常好的效果。( )2、在卷积神经网络中,池化层的作用是增加特征图的尺寸。( )3、交叉熵损失函数常用于多分类的图像分类任务中。( )4、深度学习图像分类模型训练完成后不需要进行评估。( )CXX√X04课堂练习三、操作题使用公开的图像数据集(如CIFAR - 10),构建一个简单的卷积神经网络模型来进行图像分类任务。05拓展延伸应用场景拓展多模态图像分类是指结合不同类型的图像数据,如可见光图像与红外图像进行分类。这需要对不同模态的数据进行融合处理,例如在网络的早期层或者晚期层进行特征融合,以提高对复杂场景的分类能力。小样本图像分类在医疗图像分类中,某些疾病的图像数据可能非常少。可以采用迁移学习的方法,利用在大规模图像数据集(如ImageNet)上预训练好的模型,然后在小样本的医疗图像数据集上进行微调,提高小样本图像分类的准确率。05拓展延伸迁移学习背景:随着机器学习应用场景的不断拓展,传统的监督学习方法在面对新任务时,往往需要大量的标注数据进行重新训练,这既耗时又费力。迁移学习的出现就是为了充分利用已有的数据和知识,提高模型在新任务上的性能和效率。05拓展延伸迁移学习定义:迁移学习是指将在源领域(Source Domain)和源任务(Source Task)中学习到的知识,应用到目标领域(Target Domain)和目标任务(Target Task)中,以提升目标任务的学习效果。05拓展延伸数据分类纠正如果因误操作弄错数据分类,可从数据、模型和数据管理层面解决。数据层面上,数据量小可手动修正,有规律错误能编写脚本批量修改;模型层面,数据量较大或难手动修正时可重新训练模型,也可在部分数据分类错误且原模型性能较好时用正确数据微调模型;数据管理层面,要建立数据审核流程避免再次误操作,同时利用数据版本控制工具,发现错误时方便回滚到正确版本重新操作。06课堂总结1引入新知内容用深度学习实现图像分类2进行准备工作和模型训练3了解图像分类模型应用4完成课堂练习5进行知识拓展1234507板书设计用深度学习实现图像分类1、进行新知引入2、进行准备工作和模型训练3、了解图像分类模型应用4、完成课堂练习5、进行知识拓展课后作业。1、深度学习板块的错误纠正。2、学习总结。08课后作业1、假设你正在参与一个植物图像分类项目,在对1000张植物图像进行分类(分为花卉类、草本植物类、木本植物类)时,由于疏忽,有200张图像的分类出现了错误。请根据所学的关于修正数据分类错误的知识,阐述你将如何快速修正这些错误,并简要描述如何避免类似错误再次发生。要求字数在200 - 300字之间。2、总结本课所学内容。https://www.21cnjy.com/recruitment/home/fine 展开更多...... 收起↑ 资源列表 【清华大学版】《信息科技》八年级下册第2单元第3课《用深度学习实现图像分类》.pptx 引入视频.mp4