




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1.1研究背景及意义我们国家药材极为丰富,是中药材的发源地,并且90%以上的中药材为植物药材。中药历经数千年发展,已经展现了我国的医药特色优势和它强大的生命力。从新型冠状病毒暴发以来,中药材在抗击疫情中发挥了十分重要的作用,一些中医药疗法在救治中起到了十分优异的效果。因此,推动中药材的发展是刻不容缓的REF_Ref28780\r\h[1]。如今中药材的分类大部分是靠医生根据自身的知识和经验,或者通过照片的比对从而做出判断。目前人们对中医健康养生有着十分高的热情,但是大部分人都并不是专业的,对于中药材的分辨能力十分有限;而且中药材种类十分多,在市场上也并不规范,很多负责洽购的相关人员并不能准确地识别出中药材REF_Ref28904\r\h[2]。此外,还有一些不法分子利用形态相似的其它物种代替真品卖出,例如芭蕉芋冒充名贵药材天麻等,这些假药不仅不会缓解患者的病情,而且还会造成生命危险。因此发展出一种准确且快速的中药材分类方法刻不容缓REF_Ref28937\r\h[3]。伴随着如今深度学习的发展,中药材的分类已经从传统的依靠经验鉴别转变为更加准确的客观鉴别,以更加精准的方式来辨别中药材的形态、颜色、气味等特征,这张方法可以有效的避免因为一些个人主观因素的影响REF_Ref29077\r\h[4]。在上世纪八十年代,中药材的显微观察和理化分析得到了广泛的应用与十分迅速的发展。随着仪器不断的改善和计算机技术的快速发展,很多新技术成为了中药材鉴定方法的重要手段REF_Ref29116\r\h[5]。如:光谱法,测定中药材对某一特定波长的吸收情况,并将其记录为吸收光谱,通过对光谱的分析进行实现REF_Ref29142\r\h[6];差热分析法,通过对中药材和参照物两者的热谱图进行对比分析,完成中药材鉴别REF_Ref29165\r\h[7]。但是在上述鉴定方法中,操作步骤繁琐、成本高、需要专业的设备和专业的操作人员等,因为这些因素从而无法大范围推广REF_Ref29188\r\h[8]。“深度学习”一词最早于1976年由美国学者马顿和赛尔乔提出REF_Ref29214\r\h[9]。如今随着深度学习技术的迅速发展,在图片识别领域,深度学习已经可以通过多层次的神经网络结构,进行自动学习并自动提取出图像中的特征,最后输出准确度较高的识别结果REF_Ref29234\r\h[10]。因此,针对中药材分类的研究背景主要包含传统中药材分类方法存在的问题、深度学习技术在图片识别领域的应用和利用深度学习技术对中药材进行自动分类的研究现状和发展趋势。通过开展中药材分类的研究,可以推动中药材与计算机的结合,促进了中医的现代化发展。伴随着深度学习技术的发展,也正改变着我们对中药材的认知和应用的方式,为中医药领域带来了史无前例的发展机遇。首先,深度学习技术大大增强了人们对中药材的认知能力,并扩展了摄生方面的知识。借助深度学习技术的精准研究与分析,人们可以更深刻地认识中药材的药理作用、疗效和禁忌,以便更加精准地选择适合自己的中药材,更好地保障自己的身体。这不仅帮助了人们提高自己生活质量,同时也为中医药文化的传承和发展注入了新的活力。其次,深度学习技术加快了中医的发展速度。中药材的分类与应用是中医学的重要组成部分之一,而利用深度学习技术可以更准确地对中药材进行分类,提高中药材的应用效果。通过深度学习技术的支持,中医学可以更加精确地制定治疗方案,提高治疗效果,为患者带来更好的医疗体验效果。此外,随着深度学习技术的实现,可以对中药材的质量控制进行提升。中药材的质量直接的影响到中药的效果,我们可以将深度学习应用于中药材的品质控制,通过提取中药材的特征,实现中药材的质量评估和标准化。这有助于保障中药材的品质稳定,从而提高中药的疗效和安全性。同时还可以将互联网技术与传统中医相互结合,丰富中药材分类的方式,促进中医的传承与创新,为推动中医现代化做出巨大贡献REF_Ref29270\r\h[11]。如今中医药现代化是当前发展的重要方向,而深度学习可以应用于中医药的分类环节,通过深度学习技术实现智能化。提高了中药材的生产效率和质量。最后,深度学习技术也是中医药国际化发展的重要支撑点。如今随着中医药在全球的推展和应用,中医药的国际竞争力也需要持续加强。深度学习技术的应用能够有效提升中医药的科技水平和应用成效,不仅增强了在国际市场的竞争力,也为国际发展提高了坚实的支撑。逐步加强中医药文化建设,宣扬中华千年中医文化的发展,从而更好地传承中医药文化REF_Ref29293\r\h[12]。综上所述,深度学习技术对于中药材的认知与应用产生了深远的影响,它将推动中医药领域的发展,提升中医药在国际上的地位,为人类的健康事业贡献更多的力量。1.2国内外研究现状1.2.1VGG16算法分析及其研究现状VGG16在中药材分类上的应用展现出了显著的潜力和巨大的优势。VGG16模型是VGG系列卷积神经网络中的一种重要模型,它通过大量的3×3卷积核进行组合堆叠,可以充分提取感受野中更为精细的特征REF_Ref29312\r\h[13]。这种结构可以有效的提取图像中的多层次特征。在中药材识别领域,VGG16可以充分利用其强大的特征提取能力,对中药材的形态、纹理等特征进行学习和识别。首先,VGG16算法能够处理复杂的图像特征,对于中药材这种具有丰富纹理和形态特征的物体,能够提取出更加精细和有效的特征信息。这对提高中药材分类的准确率具有十分重要的意义。其次,VGG16算法展现出了强大的泛化能力。通过在大规模数据集上进行训练,VGG16可以学习到中药材的通用特征,从而实现对不同种类中药材的准确分类。这对于中药材识别在实际应用中的广泛推广和普及具有深远的意义。然而,中药材识别领域依旧存在许多特殊的挑战。由于中药材种类繁多,形态各异,且经常存在形态类似但药效却大不相同的情况,所以要求分类算法应该具有高准确性和稳定性。不仅如此,中药材数据集还会受到光照条件、拍摄角度、背景等因素的干扰,这无疑对分类算法提出了更高的要求。面对这些挑战,我们可以采取一些策略来优化VGG16算法在中药材分类上的应用,来提高其准确性和稳定性。例如,我们可以通过扩大数据集、引入数据增强技术等手段进一步增强VGG模型的泛化能力;通过调整网络结构、优化训练策略等方式我们可以提高模型的准确性和稳定性;同时也可以与其他深度学习模型进行结合或者与传统图像处理技术进行结合,形成混合模型,充分利用模型各自的优势,从而提高中药材分类的性能。VGG16算法作为一种卓越的卷积神经网络模型,在图像识别、分类和检测等任务中已经展现出其巨大的价值。国外的研究者们针对VGG16的网络结构、训练策略以及性能优化这几个方面进行了深入的研究,获取了丰富的研究成果。他们通过调整网络参数、引入新的正则化技术、优化损失函数等方式,大幅度的提升VGG16算法的性能和泛化能力。为了进一步提高网络性能,2016年,XinSunREF_Ref29374\r\h[14]等人成功利用卷积神经网络(CNN)进行中药材的识别和检索,他们训练了一个基于VGGNet的网络模型,并通过引入三元组损失对识别网络进行微调,确保区分出不同类别中相似外观的图像,该网络提高了在复杂的背景下药材识别精度,使得中药材识别技术更加贴近实际应用,但是平均识别精度为71%,检索精度不足60%,这表明中药材识别的精度仍然有待提升。SimonyanKREF_Ref29404\r\h[15]通过增加网络层数,建立了VGGNet网络模型。该模型运用3×3的卷积核心并结合适当的网络深度,可以很好地提取图像特征,展现出了强大的泛化能力。VGGNet包含五种网络结构,其中最常用的是VGGNet-16和VGGNet-19。在国内刘加锋REF_Ref29433\r\h[16]等人成功应用VGG-16卷积识别网络,他们将多层卷积层与池化层进行组合,实施了随机光影变换的数据增强步骤,并引入了dropout层来强化模型的泛化能力,经过数千次的循环,该模型在测试集上进行测试,取得了高于80%的平均识别率。1.2.2ResNet算法分析及其研究现状在2015年何凯明等人提出的ResNet网络标志着卷积神经网络研究的又一次突破REF_Ref29466\r\h[17]。ResNet作为一种深度神经网络模型,通过巧妙地引入残差学习的概念,有效地解决了在训练过程出现的梯度消失或梯度爆炸问题。这一具有突破性的改进赋予了ResNet拥有更有效地学习和提取图像特征的能力,使其在各种图片识别任务中表现更加出色。在中药材识别领域,ResNet的应用进一步展现出了其卓越的优势。中药材是一种具有丰富形态和纹理特征的天然产物,其分类对于中医药领域的发展具有十分重大的意义。ResNet的残差结构赋予了网络能够逐层深入地学习到中药材的复杂特征的能力,使其从形态到纹理,再到颜色,都能得到精细的提取。这种精准的特征提取,使得中药材分类的准确性得到了显著提升。同时,ResNet出色的泛化能力同样也是其在中药材鉴定领域备受青睐的重要原因。通过对大规模数据集的训练,ResNet能够提取中药材的共同特征,从而准确识别不同类型的中草药。这种强大的泛化能力使得ResNet能够适应中药植物鉴定领域的各种实际应用场景,无论是中药植物的鉴定、分类还是质量控制,都能发挥至关重要的作用。在中药材分类领域,我们依然面对许多挑战。不同种类的中药材在形态、颜色等方面可能存在显著的差异,这为分类算法带来了很大的难度。同时,中药材的识别还可能受到光照条件、背景噪声等环境因素的影响,导致鉴定结果不稳定。因此,在使用ResNet进行中药材识别时,我们必须充分考虑这些因素,并采取相应的措施来提高识别的准确性和稳定性。例如,可以通过数据预处理增强技术来扩充数据集,提高模型的泛化能力;还可以通过优化算法、调整网络结构等方式来进一步提升ResNet在中药材识别上的性能表现。ResNet在中药材识别领域的国外研究,正展现出一种积极且深入的发展态势。随着深度学习技术的不断进步,ResNet作为一种高效的卷积神经网络结构,在中药材识别方面展现出了强大的潜力。KaimingHe等REF_Ref29498\r\h[18]在研究中提出了ResNet模型使用增加直连边的非线性卷积网络的方式提升信息传递速度。在国内,ResNet在中药材识别上同样表现出蓬勃发展的态势。随着中药产业的迅猛发展和数字化转型的迫切需求,中药材识别的准确性和效率变得尤为重要,而ResNet作为一种前沿的深度学习模型,在这一领域具有广泛的应用前景。在国内刘伟REF_Ref29524\r\h[19]等选取VGG、GoogLeNet、ResNet、MobileNetV2、MobileNetV3共5种网络模型对图像进行识别,并进行了对比实验;他们进一步通过迁移学习优化网络结构,同时通过数据增强扩充现有的数据集;最后,他们对实验结果的准确率和损失率进行对比与分析。1.3本文主要研究内容与结构安排传统的中药材分类方法主要依靠人工对中药材的形态特征、药材性味、功效等进行分类。这种方法存在主观性强、效率低、准确性不高等问题,难以满足现代中药材管理和应用的需求。近年来,随着计算机视觉技术的不断进步,越来越多的研究开始将计算机视觉技术应用于中药材的分类和识别。通过提取中药材图像的特征,利用机器学习和深度学习算法对中药材进行自动分类,提高了分类准确性和效率。 本文计划以VGG16和ResNet算法为基础,对中药材分类展开深入研究。具体研究内容与结构安排如下:第1章绪论:介绍研究背景、意义,概述研究国内外研究现状,以及本文的结构安排。第2章相关理论与算法:介绍卷积神经网络(CNN),VGG16和ResNet模型介绍,以便为后续章节的深度学习模型理论基础打下基础。第3章数据集的建立与预处理:介绍数据采集方式与预处理方法第4章模型构建与实验分析:包括问题定义,模型建立,实验分析与本章小结第5章总结与展望:总结本文的研究工作,提出未来研究方向和改进建议,为相关领域的进一步研究提供参考。第2章相关理论与算法2.1CNN概述卷积神经网络(CNN)是一种深层次前馈神经网络,它通过卷积运算获取图像特征信息,在输入的图像中由低层次到高层次逐渐抽象化地提取图像的特征信息,通过反复迭代的方式获取图像的高层语义特征。在模型训练的过程中,与传统神经网络相比,卷积神经网络采用参数共享的机制,所以其参数量得以显著降低,有效缓解了过拟合的问题。它由多个卷积层以及池化层和全连接层构成的层级结构,同时还包括激活函数和Softmax层等特殊网络层,共同构成了一个完整的层级结构REF_Ref29567\r\h[20]。图2-1展示了卷积神经网络的基本结构。图2-1卷积神经网络基本结构为了简化模型的复杂度,减少权值数量,卷积神经网络引入了权值共享和稀疏交互这两个概念。权值共享是指赋予每个卷积核同样的权重,这一机制减少了神经网络需要训练的参数量,从而降低计算复杂度。稀疏交互也称为局部连接,它允许我们使用小于特征图尺寸的卷积核,与图像产生部分连接,从而捕捉图像的局部特征信息,之后将局部特征信息进行整合,实现对图像整体特征的提取。这两个概念的引入可以显著地提升模型的训练效率,减少计算资源的消耗。2.2VGGNet2014年牛津大学视觉几何组(VisualGeometryGroup,VGG)推出了VGGNet,它继承了AlexNet的设计精髓,在其基础上进一步增加了网络的层数,以此来深入探索网络深度对图片识别效果产生的具体影响。它具有简洁且重复的架构,通过堆叠较小尺寸的卷积核和池化核进行堆栈,构筑了11-19层深的网络模型。其结构如图2-2所示。图2-2VGGNet网络结构示意图在保持感受野范围不变的情况下,VGGNet网络模型利用多个3×3的卷积核替代大尺寸卷积核,不仅增强了网络的深度和感受野的学习效率,而且还显著的降低了计算复杂度和卷积层参数量。此外,其网络模型中还融入了三个ReLU层,这些层的引入增加了模型的非线性因素,从而提升了模型的学习能力。VGGNet的卷积层通道数巧妙的采用逐层翻倍的递进策略来设置通道数,从最初始的第一层的64个通道逐步增加至512个通道,这种设计使得输入的特征图在维度上可以更平滑地转换到分类向量。总的来说,VGGNet在图像定位和分类任务中取得了显著的效果,并且因为其深度的增加和简洁的结构而受到好评。但是由于其网络结构中包含三个全连接层,使得它的计算成本过高,从而限制了其在许多场景中的广泛应用。2.3ResNet在ResNet提出之前,大多数研究人员都认为只要不断增加网络深度,可以有效提升模型的检测效果,因此,卷积神经网络的深度已经从AlexNet的7层结构逐渐发展到了GoogLeNet的22层结构。然而,后续的研究表明,随着网络层数的持续增加,模型收敛速度并没有显著的提升,检测效果甚至出现了负增长的现象,因此,研究人员开始了对残差网络结构的探索。ResNet是一种基于残差结构的深度神经网络,由微软研究院的KaimingHe等人在2015年提出,并在当年的ILSVRC比赛中荣获了冠军。ResNet的创新之处在于引用了残差学习的理念,在网络中增加了直连通道,将部分输入直接传递到输出,仅对输入与输出中差异的部分进行学习,其结构如图2-3所示。在ResNet中,输入x作为通过直连通道被传送到输出,形成输出结果为H(X)=F(X)+x,特别地,当F(X)=0时,H(X)=x。因此,ResNet的学习目标不再是H(X),而是变成了H(X)-x,残差F(X)=H(X)-x。这样操作不会增加额外的计算成本,使ResNet每一层的输入都包含了前面所有层的输出。因为学习残差比学习非线性映射更简单,所以网络训练过程得以简化,有效提升了学习效率。图2-3残差结构示意图2.4本章小结本章首先概括地介绍了卷积神经网络(CNN)的基础理论和其基本的组成部分,以便理解其背后的工作原理。卷积神经网络是深度学习中的一个重要分支,特别适用于图像处理和识别任务。它通过一系列的卷积操作,提取图像中的特征,然后通过池化操作进行降维,最终通过全连接层进行分类或回归。接下来,本章详细介绍了两种常用的卷积神经网络模型,这些模型在不同的图像识别任务中表现出色,各有其特点和优势。这些模型包括VGG和ResNet等。每种模型都有其独特的设计理念和结构,适用于不同的应用场景。最后,结合本文的实际研究需求,我们选择了其中的部分技术用于后续的研究工作。这些技术可能包括某种特定的网络结构、优化算法、损失函数等,它们将帮助我们更好地解决特定的中药材识别问题。通过这样的选择和应用,我们可以充分利用卷积神经网络的强大能力,提高中药材识别的准确性和效率。第3章数据采集与预处理中药材图像识别技术的核心在于依赖高质量的数据集。一个完善的数据集不仅能够为算法模型提供充足的训练样本,还能确保模型在实际应用中具有更好的泛化能力。因此,收集和处理中药材图像数据,并制作专门的中药材图像数据集,是中药材图像识别研究中的关键步骤。3.1数据集的建立3.1.1数据集的来源1.中药材图书馆:在一些中药材研究机构和中药材图书馆获取中药材的图像数据。2.公开数据集:从一些研究机构和学术界会公开发布用于中药材分类与识别的数据集中获取,如UCI机器学习库、Kaggle、pp飞桨、CSDN等平台上下载和使用。3.在线图片库:利用搜索引擎如百度图片、谷歌图片等搜索中药材的图像数据,并构建数据集。最后再进行总结归纳和初步的预处理,最终得出适合该项目的数据集。3.1.2数据集的命名使用卷积神经网络模型进行图像分类任务时,由于该模型通常依赖于有监督学习的方式进行训练,为了能够准确读取图像数据,因此在训练前我们需要为图像数据设定准确的标签。(1)数据集划分:将数据集划分为训练集和验证集。如表3-1为中药材数据集划分。表3-1植物叶片数据集划分NameTrainImagesValidationImages白扁豆1350150白术1350150鳖甲1350150虫草1350150丹参1350150防风1350150枸杞子1350150火麻仁1350150金钱草1350150金银花1350150连翘1350150墨旱莲1350150木香1350150全蝎1350150三七1350150蛇床子1350150桃仁1350150五味子1350150玉竹片1350150图片序号标签:对采集的图像数据进行序号排列。例如训练第1张连翘,设定的标签为lianqiao_0001。如图3-1为部分中药材图像具体的命名。图3-1中药材图像的命名3.2数据预处理3.2.1图像灰度化由于数据集来源多样,而且容易受到不同背景因素的干扰,因此采用灰度化处理是一种有效的方法来减少颜色信息的干扰,使得图像分析更加聚焦于形状、纹理等特征。在灰度化处理过程中,有几种不同的算法可以将彩色图像转换为灰度图像。常用的灰度化处理方法有平均加权法、最大值法以及平均值法。其中平均加权法是一种常用的方法。这种方法考虑了彩色图像中的红、绿、蓝三个通道,并根据每个通道的关键信息来赋予不同的权重。通过引入OpenCV颜色空间转换函数:CV_BGR2GRAY来计算三个通道的加权平均值,从而得到一个灰度值,这个灰度值将用于构建最终的灰度图像。实践分析,通过每个分量所得到的比例系数来进行灰度化处理更趋于视觉感知且效果较好,所以本文在灰度化处理中采用加权平均法,对R、G、B三个分量进行处理,减少复杂背景对分割的影响。如图3-2为玉竹片的灰度化处理效果图,期中Gray0为原始图片,Gray1为灰度化处理后的图片。具体公式如下:Y(x,y)=0.3R+0.59G+0.11B(3-1)其中,Y(x,y)是坐标为(x,y)的像素点的灰度值,红(R)、绿(G)、蓝(B)为三个颜色分量。图3-2玉竹片灰度化处理效果图3.2.2图像平移中药材因其独特的形态、纹理和色泽等特性,在图像分类中呈现出高度的多样性和复杂性。通过应用图像平移进行数据增强,不仅能够模拟实际拍摄中可能出现的偏移情况,使模型更好地适应真实场景,还能强化模型对中药材特征的提取能力,提高分类的准确度和稳定性。同时,平移操作还有助于增强模型的泛化能力和鲁棒性,使其在面对中药材图像的各种变化时,都能保持出色的分类性能。我们通过定义平移函数translate,并利用OpenCV的warpAffine函数,实现了对中药材图像的平移操作,并通过imshow函数展示了平移后的图像效果。大致步骤如下:A.定义平移的函数
a.首先需要获取图像的一个尺寸
b.然后再定义平移的一个矩阵
c.再调用仿射变换的函数实现图像平移(需要指定三个参数,第一个是输入图像,第二个是平移矩阵,第三个是获取图像的一个尺寸)
B.调用定义的平移函数来对图像进行平移操作最终效果如图3-3所示,其中Orig为原图,shift1为下移50像素的效果图,shift2为左移100像素的效果图,shift3为右移50像素并下移100像素的效果图。图3-3玉竹片平移效果图3.2.3图像旋转通过对中药材图像进行旋转操作,我们可以有效增加训练数据集的多样性,使模型更好地学习到中药材在不同角度下的特征表示,进而提升模型的泛化能力和分类准确性。在实际应用中,我们定义一个旋转函数,首先获取图像的尺寸,并确定旋转中心。接着,利用OpenCV中的getRotationMatrix2D函数计算旋转矩阵,并通过仿射变换函数实现图像的旋转操作。通过这个函数,我们可以对中药材图像进行逆时针或顺时针的旋转,如逆时针45度、顺时针45度或逆时针90度等,以模拟真实场景中中药材图像的旋转变化。这样,模型在面对中药材图像的旋转变化时能够保持稳定的分类性能,从而提高中药材分类的准确性和可靠性。假设原图像的中心轴像素点为A(X,Y)旋转角度为a,旋转后的图像中心轴像素点为A1(X1,Y1),所得到的中药材图像旋转表达式为:X1=Xcosa+Ysina;Y1=Xsina+Ycosa。原中药材图像通过旋转所得到的的效果图如图3-4所示,其中Orig为原图,Rotate1为逆时针旋转45度效果图,Rotate2为顺时针旋转45度效果图,Rotate3为逆时针旋转90度效果图。图3-4玉竹片旋转效果图3.2.4伽马变换为了避免中药材受光不均匀而造成的失真,对图像的亮度以及颜色进行调节,以此来突出图像纹理特征。通过伽马变换算法对图像每一个像素进行幂函数操作,叶片图像对比度增强表达式为:S=cry(3-2)其中,c,y为正常数,r和s取值范围为[0,1]。中药材对比度增强效果如图3-5所示.图3-5玉竹片对比度增强效果图3.2.5镜像翻转对原图像水平镜像翻转,是指原图片的像素点在水平方向发生变化,而在垂直方向上不变。假设(X,Y)为原叶片图像位置上的像素点,经过水平镜面翻转后像素点的位置为(X1,Y1)其水平变化后的矩阵表达式为:X1=width_X-1(3-3)Y1=Y(3-4)其中,width是叶片图像矩阵的宽度,水平镜像翻转后的叶片图像如图3-6所示:图3-6水平镜像翻转后的玉竹片效果图3.3本章小结本节通过公开数据集的30000张中药材图片进行标签设定以及数据集划分,建立中药材数据库,使模型能够较为准确的读取图像数据。由于本试验所采用的图像数据均来自网络,因此我们通过图像灰度化、图像平移、图像旋转、伽马变换、镜像翻转这五个预处理步骤对中药材图片进行预处理实验,以此来增强图像的识别性,从而避免造成图像失真,能够将图像进行分检后输入到CNN模型中进行训练。第4章模型构建与实验分析4.1问题定义随着中药材市场的不断扩大和需求的日益增长,中药材的准确识别成为了一个亟待解决的问题。当前,中药材的识别主要依赖于人工经验和传统方法,这不仅效率低下,而且容易受到主观因素的影响,导致识别结果的不准确和不稳定。因此,我们旨在开发一种基于深度学习的中药材图像识别算法,以提高中药材识别的准确性和效率。如今在中药材识别领域,VGG16和ResNet模型都展现出了强大的潜力和应用价值。这两种模型都是深度卷积神经网络(CNN)的代表,能够通过学习大量的图像数据来自动提取和识别中药材的特征。4.2模型建立4.2.1VGGNet模型建立在构建VGG模型时,我们首先定义了一个名为VGG的类,该类继承自PyTorch的nn.Module类。VGG模型由特征提取部分(features)和分类器部分(classifier)组成。特征提取部分由一系列卷积层和池化层构成,用于提取输入图像的特征信息。分类器部分由三个全连接层组成,用于将提取的特征映射到对应的类别上。在VGG类的初始化方法中,我们传入了features和num_classes两个参数。其中features表示特征提取部分的结构,num_classes表示分类器部分输出的类别数,默认为1000类。在初始化方法中,我们首先调用父类的初始化方法,然后初始化特征提取部分、平均池化层和分类器部分。如果init_weights参数为True,则调用_initialize_weights方法对模型参数进行初始化。特征提取部分的结构由make_layers函数生成,该函数根据给定的配置(cfg)构建卷积层和池化层序列。在VGG模型中,我们定义了三种不同的配置:VGG11、VGG16和VGG19。这些配置中包含了不同数量和类型的卷积层和池化层,用于构建不同深度的VGG模型。在make_layers函数中,我们根据配置中的参数构建卷积层和池化层。如果配置中的参数为'M',则表示添加一个最大池化层;否则,添加一个卷积层、BatchNormalization层(可选)和ReLU激活函数。通过这种方式,我们可以灵活地构建不同结构的VGG模型。除了特征提取部分的构建,我们还实现了VGG模型的前向传播方法forward。在前向传播过程中,输入数据先经过特征提取部分提取特征,然后经过平均池化层和展平操作,最后通过分类器部分得到最终的类别预测结果。在模型的初始化方法中,我们调用了_initialize_weights方法对模型参数进行初始化。在_initialize_weights方法中,我们遍历模型的所有模块,根据模块的类型对参数进行不同的初始化操作。对于卷积层,我们使用Kaiming初始化方法初始化权重;对于BatchNormalization层,我们将权重初始化为1,偏置初始化为0;对于全连接层,我们使用正态分布初始化权重,偏置初始化为0。最后,我们提供了两个函数vgg16和vgg19,用于创建VGG16和VGG19模型。这两个函数接受可变数量的关键字参数,并返回相应的VGG模型实例。通过这种方式,我们可以方便地创建不同深度的VGG模型,并根据需要调整模型的参数配置。4.2.2ResNet模型建立我们的ResNet实现基于PyTorch深度学习框架,其中包括了定义BasicBlock和Bottleneck两种基本的ResNet块的代码。BasicBlock包含两个3x3卷积层,而Bottleneck包含三个卷积层(1x1、3x3、1x1)。这些块结构都包含了批归一化层和ReLU激活函数,以及残差连接,有助于提高网络的训练效果和性能。在ResNet类中,我们定义了ResNet网络的整体结构。该结构包括了初始的卷积层、批归一化层、ReLU激活函数以及多个重复的ResNet块。通过堆叠这些ResNet块,我们构建了不同深度的ResNet模型。在ResNet类的初始化函数中,我们设置了网络的参数,包括块的数量、类别数等,并初始化了网络的各个层。在ResNet类的前向传播函数中,我们定义了网络的前向传播过程。首先通过初始的卷积层对输入进行特征提取,然后经过批归一化和ReLU激活函数进行非线性变换。接着通过多个重复的ResNet块逐步提取和抽象特征。最后,如果需要进行分类任务,则通过全局平均池化层将特征图转换为一维向量,然后经过全连接层输出最终的预测结果。在ResNet类中,我们还实现了_kaiming_normal_初始化方法对卷积层的权重进行初始化,以提高模型的收敛速度和泛化能力。此外,我们实现了残差连接中的跳跃连接,以便在特征图尺寸不匹配时能够进行维度变换,保证特征的传递和学习。 在我们的研究中,我们提供了两种预定义的ResNet模型:resnet34和resnet101。其中,resnet34包含34层,resnet101包含101层。这些模型可以用于图像分类等任务,并具有较好的性能和泛化能力。通过引入残差连接和深度残差学习,ResNet在深度神经网络领域取得了重大突破,成为了许多计算机视觉任务的标准模型之一。4.3实验分析4.3.1结果展示最终结果展示如图4-2所示:图4-2结果展示两个算法模型的识别率如图4-3所示图4-3算法识别率4.3.2模型对比1.损失值(Loss):在深度学习中损失值是非常重要的,其重要性在于它直接反映了模型预测结果与实际结果之间的差异程度,是评估模型性能和优化模型的关键指标。如图4-4和图4-5分别为Resnet模型Loss曲线图和VGG模型的Loss曲线图。从图中我们可以看出在训练的早期阶段,Resnet模型的训练损失值略低于VGG模型的训练损失值,且损失值都比较大,但是随着迭代次数的增加两个模型的训练损失值都呈现出下降趋势,当训练到了后期阶段,两个模型的训练损失值均下降到预期位,且Resnet模型与VGG模型的训练损失值相差无几。从图中我们也不难看出无论是Resnet模型的测试损失值还是VGG模型的测试损失值在训练初期阶段到训练后期阶段几乎没有出现大幅度的变化,这也代表着在训练过程中,并未出现过拟合的情况,这意味着模型的结构和复杂度与任务相匹配,且训练过程得到了良好的控制。图4-4Resnet模型Loss曲线图图5-5VGG模型Loss曲线图2.准确率(Accuracy):在深度学习中,准确率(Accuracy)是衡量模型在所有样本中正确预测的比例的指标。准确率是最常用的评估指标之一,表示模型正确分类的样本数量占总样本数量的比例。准确率的计算公式如下:Accuracy=(TP+TN)/(FP+FN+TP+TN)(4-1)其中,TP表示真正例(TruePositive),TN表示真负例(TrueNegative),FP表示假正例(FalsePositive),FN表示假负例(FalseNegative)。TP表示模型将正类别样本正确地预测为正类别的数量,TN表示模型将负类别样本正确地预测为负类别的数量,FP表示模型将负类别样本错误地预测为正类别的数量,FN表示模型将正类别样本错误地预测为负类别的数量。根据模型最初设置的参数,得到训练结果如图4-6和图4-7分别为Resnet模型Accuracy曲线图和VGG模型的Accuracy曲线图。从图中可以看出Resnet在迭代十次左右就有了明显的提升,而VGG在迭代二十次才有明显的提升。但最终两个模型的测试准确率都达到了百分之九十以上。图4-6Resnet模型Accuracy曲线图图4-7VGG模型Accuracy曲线图3.精确率(Precision):在深度学习中,精确率(Precision)是衡量模型预测为正类别的样本中有多少是真正的正类别样本的指标之一。精确率也被称为查准率,表示模型在所有预测为正类别的样本中,有多少是真正的正类别样本。精确率的计算公式如下:Precision=TP+(FP+TP)(4-2)其中,TP表示真正例(TruePositive),FP表示假正例(FalsePositive)。TP表示模型将正类别样本正确地预测为正类别的数量,FP表示模型将负类别样本错误地预测为正类别的数量。根据模型最初设置的参数,得到训练结果如图4-8和图4-9分别为Resnet模型Precision曲线图和VGG模型的Precision曲线图。从图中可以看到Resnet在迭代十次训练精确率就已经达到了百分之八十以上,而VGG要迭代二十次以上训练精率才能达到百分之八十,并且在训练后期阶段Resnet的精确率依旧比VGG略高。图4-8Resnet模型Precision曲线图图4-9VGG模型Precision曲线图4.召回率(Recall):在深度学习中,召回率(Recall)是衡量模型识别正类别样本能力的指标之一。召回率也被称为查全率,表示模型能够正确识别出的正类别样本在所有正类别样本中的比例。召回率的计算公式如下:Recall=TP/(TP+FN)(4-3)其中,TP表示真正例(TruePositive),FN表示假负例(FalseNegative)。TP表示模型将正类别样本正确地预测为正类别的数量,FN表示模型将正类别样本错误地预测为负类别的数量。根据模型最初设置的参数,得到训练结果如图4-10和图4-11分别为Resnet模型Recall曲线图和VGG模型的Recall曲线图。从图中我们不难看出在迭代到第十次时Resnet的测试召回率已经达到百分之八十,而VGG的测试召回率才达到百分之六十。并且最终训练召回率Resnet也略高于VGG。图4-10Resnet模型Recall曲线图图4-11VGG模型Recall曲线图F1值(F1-score):在深度学习中,F1值是一种常用的性能评估指标,通常用于衡量二分类模型的精确度和召回率的平衡情况,F1值的范围在0到1之间,值越接近1表示模型的性能越好。F1值是精确度(Precision)和召回率(Recall)的调和平均数,用以下公式表示:F1=2*(Precision+Recall)/(Precision×Recall)(4-4)从图中我们可以看出Resnet和VGG最终的测试F1值都接近于1,但Resnet的F1值增长速率明显快于VGG的F1值增长速率,且最终的训练F1值Resnet也明显优于VGG。图4-12Resnet模型F1曲线图图4-13VGG模型F1曲线图6.混淆矩阵(ConfusionMatrix):展示模型预测结果与真实标签之间的对应关系,包括真正类(TruePositive)、假正类(FalsePositive)、真负类(TrueNegative)和假负类(FalseNegative)。如图4-14为Resnet模型的混淆矩阵,图4-15为VGG模型的混淆矩阵。从两个模型的混淆矩阵我们可以很清楚的看出Resnet模型明显优异于VGG模型。图4-14Resnet模型的混淆矩阵图4-15VGG模型的混淆矩阵4.4本章小结在本章中,我们介绍了针对中药材图像识别问题的深度学习模型建立过程,主要包括VGGNet和ResNet两种经典的深度卷积神经网络模型。首先,我们详细描述了VGGNet模型的构建过程,包括特征提取部分和分类器部分的设计,以及如何通过配置不同的层结构构建不同深度的VGG模型。其次,我们介绍了ResNet模型的建立,包括BasicBlock和Bottleneck两种基本的ResNet块的定义,以及如何通过堆叠这些块构建不同深度的ResNet模型。我们还讨论了ResNet中的残差连接和跳跃连接的重要性,以及如何通过_kaiming_normal_初始化方法对模型参数进行初始化。最后我们对得出的实验结果从损失值、准确率、精确率、召回率、F1值、混淆矩阵,这六个方面来对VGGNet和ResNet这两种经典的深度卷积神经网络模型对中药材分类的实际性能进行全面的评估。最终我们得出的结果是在中药材分类方面ResNet模型的性能明显高于VGGNet模型。第5章总结与展望5.1研究总结本研究围绕中药材分类任务,深入探索了基于深度学习的技术研究与关键实现。通过一系列实验与分析,我们成功构建了一个高效、准确的中药材分类算法,并展示了其在实际应用中的良好效果。在研究过程中,我们首先对深度学习模型进行了选择和优化。考虑到中药材图像的复杂性和多样性,我们选择了CNN作为基础模型,并在此基础上引入了VGG16和ResNet等经典模型进行性能对比。通过对比实验,我们发现ResNet模型在中药材分类任务上具有更好的性能,这主要得益于其残差连接的设计,使得模型能够更好地处理深层网络中的梯度消失问题。此外,我们还对ResNet模型进行了进一步的优化,通过调整模型的层数、卷积核大小以及学习率等超参数,以及引入数据增强、正则化等技术手段,提高了模型的泛化能力和分类精度。为了确保模型训练的效果,我们对中药材图像进行了预处理。图像预处理是确保模型训练效果的关键步骤。在本研究中,我们采用了多种图像预处理技术,包括尺寸归一化、直方图均衡化、对比度增强以及去噪处理等,以提高图像的质量和一致性。这些预处理技术不仅有助于模型更好地提取图像中的特征信息,还有助于提高模型的稳定性和鲁棒性。在模型训练与调优阶段,我们采用了交叉验证、学习率衰减以及早停法等策略来优化模型的性能。通过多次划分训练集和验证集,评估模型在不同数据集上的性能表现,并选择最优的模型参数。同时,我们还关注了模型的训练时间和测试时间,以确保模型在实际应用中能够满足实时性能的需求。通过一系列实验,我们验证了深度学习模型在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电动汽车充电基础设施布局与充电服务优化研究报告
- 金融行业风险管理控制措施
- 颈部护理测试题及答案解析
- 2025湖南衡阳市衡阳县事业单位选调230人备考考试题库附答案解析
- 2025年合肥实验学校教育集团教师招聘备考模拟试题及答案解析
- 2025四川攀枝花市西区医疗卫生辅助岗招募5人考试参考题库及答案解析
- 益生元与膳食纤维产业市场分析报告
- 焊接工艺评定报告标准范本
- 幼儿园教师育儿随笔写作指导
- 2025重庆市合川区华蓥山林场森林消防专业队伍招聘3人备考考试题库附答案解析
- 气管套管脱管的应急处理
- 物资设备管理检查记录表
- 劳动争议司法解释(二)亮点解读
- 四高人群的膳食营养理论考核试题及答案
- 药物不良反应处理课件
- 8 《大卫科波菲尔》课件高二上学期语文大单元教学同步备课课件(统编版选择性必修上册)
- 人教版七年级上册美术第1课美术的世界课件
- 《第1课 身边的数据》参考课件3
- 污水处理中回收磷资源的研究
- AQ6111-2023个体防护装备安全管理规范
- 第2课《树立科学的世界观》第1框《世界的物质性》-【中职专用】《哲学与人生》同步课堂课件
评论
0/150
提交评论