免费开源的企业建站系统,网站权重问题,旅游电子商务网站建设费用,关于公司网站建设情况的汇报代码下载#xff1a; 基于深度学习的舌苔检测毕设留档.zip资源-CSDN文库 1 研究背景
1.1.研究背景与意义 目前随着人们生活水平的不断提高#xff0c;对于中医主张的理念越来越认可#xff0c;对中医的需求也越来越多。在诊断中#xff0c;中医通过观察人的舌头的舌质、苔…代码下载 基于深度学习的舌苔检测毕设留档.zip资源-CSDN文库 1 研究背景
1.1.研究背景与意义 目前随着人们生活水平的不断提高对于中医主张的理念越来越认可对中医的需求也越来越多。在诊断中中医通过观察人的舌头的舌质、苔质等舌象特征了解人体内的体质信息从而对症下药。 传统中医的舌诊主要依赖于医生的肉眼观察仅仅通过这种人工诊断不但需要消耗大量人力而且诊断的结果往往受医生经验和主观判断影响甚至受到周围客观环境的影响如光照、温度等[1]通过10位中医专家对两百多例患者进行舌象诊断发现仅仅有9例相同为了减少主观判断和客观环境的影响利用现代计算机技术结合传统中医的理论和中医专家的经验使中医的舌诊客观化、数字化成为了目前十分热门研究方向。 利用机器学习实现对舌苔精确快捷的检测结合中医经验智能化的给出体质信息判别不仅是对计算机技术应用领域的一大拓展也对传统中医的传承、推广、创新和现代化具有重大意义。利用现代计算机技术使传统中医的应用更加广泛诊断更加方便快捷能一定程度上缓解医师人力不足的问题减少医疗成本辅助医师提高诊断的准确性乃至推动中医走向全世界。 1.2.舌苔检测研究现状 目前中医通过舌诊辨识人体体质信息主要依据中医千年发展累积的经验使得舌象诊断需要十分丰富的专业知识才能准确无误如何利用计算机技术实现这一复杂的诊断也是目前研究中的重点和难点。目前利用计算机技术实现的智能化舌诊项目虽然辨识较为精准但是往往需要在特定的环境或者需要十分专业的设备进行辨识分析使用专业的设备和环境使得检测门槛较高检测的成本也随之提升对舌诊的推广有一定的影响。 1.3.课题任务内容 本课题是基于机器学习的舌苔检测目的是利用机器学习的方法实现对舌苔进行检测对舌象信息进行识别最后再结合传统中医的理论辨识出人体体质信息。 具体实现内容如下 1因为 所使用的舌象数据集图片较少在开始训练数据集前先使用图像增强和生成对抗网络扩充数据集。将数据集图片进行翻转、平移、加盐、亮度调整、模糊处理等能将数据集扩充数十倍以满足数据量的需求。除此之外还使用了生成对抗网络生成新的舌象图片扩充数据集使数据集多样化。 2本次课题主要使用的是机器学习中的深度学习方法实现使用的是深度学习中的efficientNet网络实现对舌象图片的图像分类同时还使用了其他网络进行了对比实验。训练网络efficientNet模型时使用的在其他图像分类数据集上训练得到的训练参数efficientnetb0作为网络模型的预训练参数可以较快的实现收敛且能得到良好的效果。分类网络实现了舌象中的苔色、舌色、齿痕、裂纹信息分别进行分类分类准确率能达到90%以上。 3上传舌象图片后运行分类网络输出的舌象判断结果并展示使用舌象结果对照传统中医的舌象诊断经验对人体体质信息进行判断并展示给用户。 本次课题利用现代计算机的技术对舌苔进行检测并辨识人体体质信息实现了普通用户借助个人计算机就能对舌苔进行分析以及体质辨识对计算机技术的发展、创新以及推广有重大意义。 2 舌苔检测需求分析
3.1 可行性分析
3.1.1.技术可行性 如今机器学习经过了半个世纪的发展利用机器学习解决现实中各行各业的需求已经变得十分的成熟和可靠而传统中医的数千年发展积累下来的舌诊经验在观察舌象辨识人体体质的方面也已经十分准确。基于成熟的中医技术和新兴饿计算机技术利用机器学习完成舌苔检测也变得较为容易的实现所以在技术上是可行的。 3.1.2.经济可行性 市面上利用计算机技术实现的智能化舌诊项目虽然辨识较为精准但是往往需要在特定的环境或者需要十分专业的设备进行辨识分析使用专业的设备和环境使得检测门槛较高专业性很强检测的成本也随之提升。本课题的是利用机器学习开源库开发的没有硬件资源的花费开销的舌苔检测项目在普通的计算机上就可以运行所以在经济上是可行的。 3.1.3.文化可行性 中医药学包含着中华民族几千年的健康养生理念及其实践经验是中华文明的一个瑰宝凝聚着中国人民和中华民族的博大智慧向世界推广中医药学也是传播中华文化的一环[5]。利用机器学习实现对舌苔精确快捷的检测结合中医经验智能化的给出体质信息判别。这不仅仅是对计算机技术应用领域的一大拓展也对传统中医的传承、推广、创新和现代化具有重大意义。利用现代计算机技术使传统中医的应用更加广泛推动中医文化走向全世界。所以在文化上是可行的。 3.1.4.社会可行性 本次课题利用现代计算机的技术对舌苔进行检测并辨识人体体质信息实现了普通无需掌握专业的中医舌诊知识也能对自己舌苔进行分析了解自身体质信息有利于普通人更多的享受到中医的作用。在配合医生进行诊断时也能减少医生的诊病人工成本对社会是有益的具备社会可行性。 3.2 功能行需求
3.2.1.数据集构造 数据集是深度学习的灵魂部分在深度学习中数据集的质量越高、数量越多训练出来的模型就能拥有更高的准确率和泛化的能力本课题需要对高质量的舌象进行精确的分类制作成舌象数据集。由于舌象的一些特征类型是不冲突的一张舌象中包含多种特征类型如舌色、苔色、齿痕和裂纹所以数据集的制作应当按照不同舌象特征分别制作数据集例如按舌色特征制作数据集中可以分成淡红舌淡白舌和深红舌三类而按照苔色特征制作数据集中可以分成白苔黄苔和无苔三类。原始的舌象数据图片不足需要利用图像增强和生成对抗网络进行扩充。 3.2.2.舌苔检测 舌苔检测模块能利用舌象数据集训练网络模型并能够用训练完成的网络对输入图像的舌象特征做图像分类准确的识别出舌象中所含有的舌象特征信息并将预测的结果输出。由于舌象的一些特征类型不冲突一张舌象中包含多种特征类型所以需要对几类舌象特征数据集进行分别训练分别保存不同的训练权重参数用于检测不同的舌象特征。 3.2.3.体质辨识 当普通用户上传舌象照片时通过对舌苔检测模块给出的舌象特征信息结合汇总对照舌象特征结构和体质对应图辨识该舌象所反映出的人体体质信息并能够用用户交互页面将其展示出来界面能够简单易操作尽可能满足更大的用户群体的需要。 3.3 非功能性需求 本课题非功能性需求主要是对计算机性能的需求性能越高模型训练时的速度越快。硬件要求计算机要有1.0 GHz以上CPU512M内存1G硬盘独立显卡软件方面对于系统软件方面操作系统最优为Windows 10 操作系统。开发语言用的是Python。 3 舌苔检测网络设计与实现
3.1 网络模型介绍 EffcientNet是一个由谷歌团队研究的卷积神经网络适用于图像分类领域。在2019年发布时在ImageNet top-1上达到了当时的最高精确度84.3%在参数数量方面也比当时其他的模型要少很多。是一个比较火的卷积神经网络模型性能也十分优秀。 3.2 网络模型分析 网络通过混合参数对传统的卷积网络进行优化同时改变网络的宽度、深度和输入图像大小提升网络性能相比于传统的卷积神经网络EffcientNet在效率上有一定优势。扩展网络深度今日也被广泛应用于神经网络的训练中深度网络可以提取更复杂的特征值以帮助提高对目标数据集的学习能力。然而深层网络往往会出现消失梯度的问题。增加网络的宽能够使特征图获得更多通道数同样得到广泛应用。通过在每个通道上进行卷积运算这使得模型更具表现力。宽度大能让网络更好的学习各种特性这使得训练网络变得容易。然而也正是因为网络宽度足够导致网络深度是不够的。即使提取的特征丰富但层次却不高可以通过网络分辨率丰富网络的感知区域来学习更加多的信息网络的性能也可以得到提高。 综上所述对网络的宽度、深度和输入图像分辨率的缩放需要找到一个合适的度对其中的一方面进行盲目的缩放并不能达到最优的效果EffcientNet则是非常成功的协调了上述三个方面的缩放优化了网络性能。 3.3 网络模型搭建及功能实现 本课题是基于机器学习的舌苔检测,其实现主要包括以下几大模块网络模型模块、数据模块、训练模块、检测模块、体质辨识模块。开发环境主要采用了PyCharmPython3.6工作环境主要为Windows10操作系统。舌苔检测程序设计的简要结构如图5.3所示 本课题使用的是EffcientNet网络中的EffcientNet-B0网络模型使用Python中的Pytorch库中的torch.nn方法实现神经网络的搭建网络模型主要分为四个小模块网络主模块、卷积BN模块、注意力机制模块、MBConv模块。三个功能模块分别实现了上一节介绍的EffcientNet网络模型中的主要功能主模块整合各个功能部分实现EffcientNet-B0卷积神经网络的功能。 数据处理的主要功能是读取并处理舌象数据集利用python中的os库中的path方法遍历数据集目录将舌象数据集中的80%划分为训练集输入到网络中进行训练20%划分为验证集验证网络训练后的准确率并在数据集图像训练前对输入图像进行预处理使用torchvision中transforms的RandomResizedCrop方法随机对数据图像裁剪为不同的大小和纵横比然后将裁剪后的图像缩放到EffcientNet-B0网络输入图像的指定大小。使用transforms中Normalize方法对输入舌象数据集的数据集进行归一化操作。 训练模块的主要功能是使用数据处理模块读取舌象数据集再调用网络模型模块中进行训练。将每一个batch的数据作为一个step在训练模块的每一个step训练流程如下图5.4。 训练模块中预留有多个参数设置学习率lr、批大小batch_size、迭代次数epochs、是否导入预训练权重、normalize参数等等从而能在对比实验中不断调整参数优化完拿过来模型的效果。 每一轮训练后都使用验证集对模型进行验证并将训练和验证中得到的训练loss曲线以及验证准确率利用可视化工具Tensorboard在网页中展示出来更直观的观察模型的训练情况示例如图5.5利用实验中对比模型优劣采用更加合适的训练参数设置。在完成训练后的将参数权重进行保存。 检测模块的主要功能是将待检测舌象图片输入后将图像大小调整至224*224利用训练模块当中保存好的训练权重参数使用torch中的no_grad()方法对舌象图片进行分类并能预测其结果给出各项分类预测的概率如图5.6并将预测概率最高的分类输出给体质辨识模块。 体质辨识界面模块的主要功能是利用用户交互界面获取用户上传的个人舌象图片并将其送到检测模块中检测得到舌象特征信息对照舌象特征结构和体质对应图辨识该舌象所反映出的人体体质信息并将其展示出来体质辨识界面如图5.7所示该模块采用pyqt5库实现了用户的交互功能。简单易操作方便普通用户能够更方便的对舌象进行检测。