计算机视觉技术实战 课件 项目2 图像分类:基于ResNet-18的时尚商品识别.pptx
项目2图像分类:基于ResNet-18的时尚商品识别
教学目标能力目标(1)掌握Pytorch内置数据集的加载和预处理。(2)理解ResNet-18的基本结构和工作原理。(3)掌握Pytorch预训练模型的选择和微调方法。(4)掌握TensorBoard可视化工具的安装和使用。(5)熟悉使用ResNet-18预训练模型进行图像分类。知识目标(1)掌握解决图像分类任务的基本步骤和实际操作技能。(2)为进一步深入学习更复杂的视觉任务打下坚实的基础。
工程目录图2-1是项目的主要文件和目录结构。其中dataset为存放数据集的目录,model为存放模型文件的目录,logs为存放TensorBoard日志文件的目录。ResNet18.ipynb和ResNet18.py为本项目的主要代码文件,两者内容一致,前者用于jupyter交互执行,更加直观;后者用于脚本执行,更加高效。?+--Project2_ImageClassification/|+--dataset/||+--FashionMNIST/|+--logs/|+--model/||--model_val81.3.pth||--model_val90.05.pth|--RestNet18.ipynb|--RestNet18.py?图2-1项目的主要文件和目录结构
目录2TensorBoard的安装与使用1认识数据集Fashion-MNIST和预训练模型ResNet-183模型训练与评估
目录2TensorBoard的安装与使用3模型训练与评估1认识数据集Fashion-MNIST和预训练模型ResNet-18
1.认识数据集Fashion-MNIST和预训练模型ResNet-18任务目标(1)了解Fashion-MNIST数据集的来源、收集方式和组成结构。(2)了解ResNet-18的网络结构及特点。
1.1Fashion-MNIST数据集介绍Fashion-MNIST数据集是由Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自10种类别的共7万个不同商品的正面图像,每个类别有7,000张图像,每张图像的分辨率为28x28像素。目前Fashion-MNIST已经内置到各个深度学习框架中,包括Pytorch。原始数据集按60000/10000的训练测试数据划分,同时每个训练和测试样本都按照表2-1的类别进行了标注。表2-1标注编号的含义标注编号描述0T-shirt/top(T恤)1Trouser(裤子)2Pullover(套衫)3Dress(裙子)4Coat(外套)5Sandal(凉鞋)6Shirt(汗衫)7Sneaker(运动鞋)8Bag(包)9Ankleboot(踝靴)数据集来源
1.1Fashion-MNIST数据集介绍数据集展示图2-2数据集样例展示
1.2ResNet-18算法简介ResNet-18(ResidualNetwork-18)是深度卷积神经网络(CNN)的一种架构,它是ResNet系列中的一员,由微软亚洲研究院的研究人员KaimingHe等四名华人于2015年提出。ResNet的设计基于残差学习(ResidualLearning)的思想,这一思想的提出在深度学习领域具有重大影响。ResNet的核心思想是通过引入残差块(ResidualBlocks)和批归一化(BatchNormalization)来解决深度神经网络训练时的梯度消失或爆炸和退化问题(degradationproblem)。传统的深度神经网络由于层数较深,在反向传播时,梯度可能变得非常小,导致网络难以训练。ResNet通过在网络中引入跳跃连接(SkipConnections)来允许信息在不同层之间直接传递,从而减轻了这一问题。残差块结构如图2-3所示。在残差块中,输入x通过两个或多个卷积层后,与原始输入相加,然后通过激活函数relu进行输出。这种直接的跨层连接允许梯度在网络中更容易地传播,减轻了梯度消失或爆炸问题,从而使得深层网络更容易训练。图2-3残差块结构示意图
1.2ResNet-18算法简介ResNet-18的主要特点包括:(1)深度。ResNet-18包括18个层(指的是带有权重的18层,包括卷积层和全连接层,不包括池化层和BN层),因此属于相对较深的网络。这使得它在提取高级特征和模型的表达能力方面非常强大。(2)残差块。网络中的基本构建块是残差块,每个残差块包括两个卷积层,每个卷积层后面跟着一个批量归一化层(BatchNormalizationLayer)和ReLU激活函数。跳跃连接将输入直接加到这些层的输出上,然后通过另一个ReLU激活函数。这样