基于 MobileNet 深度学习模型的中草药识别系统设计 与实现(源码+万字报告+讲解)(支持资料参考_相关定制)
目 录
目 录 i
第 1 章 选题的目的和意义 1
1.1 选题的背景 1
1.2 选题的技术现状 1
1.3 选题的意义 3
1.4 主要内容 3
第 2 章 相关理论技术 5
2.1 Python 5
2.2 MySQL 5
2.3 Flask 框架 6
第 3 章 需求分析 7
3.1 可行性分析 7
3.2 系统功能需求分析 7
3.3 系统非功能需求分析 8
第 4 章 系统设计 10
4.1 系统总体结构设计 10
4.2 系统模块设计 10
4.3 数据库设计 11
4.4 MobileNetV2 原理及设计 13
4.4.1 模型结构 13
4.4.2 模型设计 16
第 5 章 系统实现 18
5.1 用户功能实现 18
5.2 管理员功能实现 21
5.3 模型实现 24
5.3.1 数据集建立 24
5.3.2 数据预处理 24
5.3.3 模型构建 25
5.3.4 模型训练 26
第 6 章 系统测试 28
6.1 系统测试概述 28
6.2 测试用例 28
6.3 测试结果分析 29
第 7 章 总结与展望 30
参考文献 31
致 谢 33
基于 MobileNet 深度学习模型的中草药识别系统设计与实现
作者: 刘宇佳 指导教师: 张映玉 讲师
(海南师范大学信息科学技术学院,海口 571158)
摘 要:近年来,深度学习等技术发展不断加快、应用不断普及, 使基于深度学习法的中草药识别有关研究随之增多。深度学习技术作为一种机器学习技术,其应用原理是通过模拟人体大脑神经网络结,对多层次、抽象化的数据进行模拟、分析,从而对复杂的数据进行分析、解构,以完成数据预测工作。而基于深度学习的中草药识别可以利用大量的中草药图像数据,从中提取特征,训练深度神经网络,实现对中草药的准确识别和分类。
本课题主要开发目标,是开发一款基于 MobileNetV2 深度学习算法和 Tensor- Flow 框架技术的中草药图像识别系统。此系统可以提高识别的准确率, 降低误识率,减轻药材鉴定行业从业人员的工作负担,提高工作效率,为整个中草药领域的研究与发展发挥积极的助力作用。
关键词:图像识别、深度学习、识别系统、中草药
Design and Implementation of Herbal Medicine Recognition System Based on MobileNet Deep Learning Models
Author: YuJia Liu Supervisor: lecturer ZhangYing Yu
(School of Information Science and Technology,
Hainan Normal University, Haikou 571158, P. R. China)
In recent years, the development of deep learning and other technologies has been accelerating and its application has been popularizing, which has led to a subsequent increase in research related to the recognition of Chinese herbal medicine based on the deep learning method. Deep learning technology is a kind of machine learning technol- ogy, its application principle is to simulate and analyze multi-level and abstracted data by simulating the neural network junction of the human brain, to analyze and decon- struct the complex data to complete the work of data prediction. Deep learning-based herbal medicine recognition can utilize a large amount of herbal medicine image data, extract features from it, train deep neural networks, and realize accurate recognition and classification of herbal medicine.
The main development goal of this project is to develop an herbal medicine im- age recognition system based on MobileNetV2 deep learning algorithm and TensorFlow
framework technology. This system can improve the accuracy of recognition, reduce the rate of misidentification, reduce the workload of practitioners in the herb identification industry, improve work efficiency, and play an active role in assisting the research and development of the entire field of Chinese herbal medicine.
Key words: Image recognition, deep learning, recognition systems, herbal medicine
第 1 章 选题的目的和意义
1.1 选题的背景
自古以来中草药在传统医学中扮演着重要的角色,被广泛应用于疾病预防、治疗和保健,而中草药的复杂性和多样性使得其识别和辨别成为一项具有挑战性的任务,其外观和形态特征在不同的生长环境和采摘季节下可能会有很大的变化,这增加了草药鉴别的难度。传统的鉴别方法需要依靠专业知识和经验,而中草药识别系统可以提供一种更快速、准确和可靠的鉴别方法。深度技术的不断发展,使其功能不断完善、应用不断增多,尤其在图像识别、分类等方面,应用尤其广泛。基于深度学习技术的中草药识别系统的设计与实现可以提高鉴别的准确性和效率,减少人为因素的干扰,为中草药的质量控制和真伪鉴别提供可靠的技术手段。基于深度学习的中草药识别系统旨在通过构建多层次的神经网络,对样本数据进行精准识别和归类处理,以实现对中草药进行快速而准确的鉴别。
1.2 选题的技术现状
目前,卷积神经网络(CNN)在图像识别领域取得了显著的成就。国外研究机构和企业,如谷歌、Facebook 和 OpenAI 等,并开发出基于 CNN 的图像识别技术,在人脸识别、生物监测等方面有较多应用。 CNN 技术通过多层次的卷积、池化操作,提取关键数据和图像特征等重要数据,具有较强的图像识别能力。在国内,各大高校和研究机构也致力于 CNN 图像识别技术的研究与应用。例如,清华大学、中科院等学术机构在基于 CNN 的图像识别领域取得了一系列研究成果,如智能交通监控、智能安防等方面的应用研究。同时,国内企业如百度、腾讯等也积极开展基于 CNN 的图像识别技术研究,将其应用于人工智能、智能驾驶等领域,取得了一定的进展。目前关于基于深度学习的中草药识别系统的研究较为深入,并取得了一定的理论成果,但仍面临着多种问题和挑战。现阶段,关于该问题的研究主要集中在算法模型设计和实验验证方面。研究者们通过收集中草药的图像数据集,并采用卷积神经网络等深度学习算法进行特征提取和分类,取得了较为满意的识别效果。一些研究还尝试在识别系统中引入数据增广和特征融合等技术,以进一步提高识别准确率[1] 。这些研究成果在中草药识别领域具有一定的理论和实践价值。
在当前信息化社会背景下,互联网信息技术和经济产业之间的融合不断加深,图像处理、识别技术在中药检测领域, 应用也随之增多,用户可通过上述技术,提
取重要图像特征等数据,并通过机器学习法尽心辨别,以提升数据处理速度和处理效率。近年来,中草药在我国的研究蓬勃发展。但由于草药种类繁多,形态各异,使得人工鉴别成为一项困难且繁重的任务,而在识别误差方面也频频出现问题[2] 。为解决这些问题,一些研究者开始尝试使用机器视觉和机器学习技术进行中草药的识别。如中国药科大学和浙江大学等机构已在本领域进行了深入的探索,主要集中在使用传统的机器学习方法,例如支持向量机、K-近邻算法等[3] 。然而, 由于这些传统算法在处理更复杂的形态和纹理特征时存在一定的局限性,因此使用深度学习对中草药信息进行识别的研究随之增多[4] 。现阶段,常见的植物识别技术为图像数字处理技术。而图像数字处理技术可划分为基于植物成像图片技术的识别、基于植物光谱数据的识别两种[5] 。首先, 基于植物成像图片的识别技术,可根据植物叶片特征信息,如叶片形状、纹理特点进行识别,但该技术对操作人员专业技能有较高要求,从而加大了人工成本。其次,光谱数据进行植物种类的识别技术,通过提取植物光谱信息,创建相应的识别模型,以精准识别植物种类[6] 。前者是通过提取植物特征信息等关键信息进行识别的,刘伟等借助卷积神经网络等技术,提取多肉植物特征,对多肉进行分类处理,模型 M1 的识别精准度为 0.89、 0.84, 而模型 M2 识别精准度为 0.95 、0.89 [7] 。刘贝等根据植物叶片颜色、外形以及纹理特点,结合径向函数,进行植物种类识别,识别精准度最大可达 93.5%[8] 。 Oide 等根据用户输入的叶片图像,结合 Hopfield 网络以及感知器,对大豆进行分类、识别[9] 。Munish 等通过形态学特征、自适应相结合的方式来识别植物种类信息[10] 。Backes 等基于样本噪声、叶片图像等进行, 结合复杂神经网络算法,分析样本叶片特征以实现精准识别[11] 。
基于植物成像图片识别主要是依据植物叶片的基本特征,包括形状特征和纹理特征,需要利用传统的图像分割算法来辅助水生植物的定位,并且需要手工设计特征,大大增加了人力成本[12] 。而且面对不同的图像识别任务, 需要先设计不同的图像分割算法和特征提取算法,这难以满足现场快速自动测量的要求。目前基于植物光谱数据的种类识别方法,主要是依据植物的光谱特征进行识别,常采用主成分分析法(Principal Component Analysis ,PCA),偏最小二乘法(Partial Least-square method ,PLS)和支持向量机(Support Vector Machine ,SVM)等传统的机器学习方法[13] 。由于光谱数据维度高, 不同波长的吸收率或反射率之间存在多重相关性,所以建模时采用波长选择或特征表示的方法进行降维。波长选择方法依赖对目标成分敏感波段的先验知识或基于统计方法对各波长的重要程度评估结果,从原始光谱中挑选出部分有用波段的数据进行回归计算[14] 。
我国与国内类似,国外在草本植物识别,特别是中草药识别方面也有大量的研究。例如,Ainiwaer Mireguli 等研究者采用了基于卷积神经网络 ( CNN ) 的 VGG16
和 VGG19 模型,开展了对绿洲-荒漠过渡带植物群落的识别研究,准确地提取植物群落特征、分布区域和图像背景[15] 。Joao B. Florindo 等研究者提出并研究使用可见性图来建模神经网络的特征图,证实了在不同背景下用于数据分析的技术的潜力,为神经网络在纹理分类中的使用提供了更有意义的解释[16] 。这些研究在一定程度上推动了中草药识别技术的发展。
在使用深度学习技术提升中草药识别准确度方面已进行了一些研究,并取得了一定程度的成功。但相比于人工识别,现在的深度学习仍存在一些未完全解决的问题和挑战,比如模型的泛化能力、数据量的需求、昂贵的计算成本等[17] 。首先,数据集的不充分是一个主要问题。中草药的种类众多,但目前的中草药图像数据集规模较小且缺乏多样性,无法覆盖所有中草药的不同外观特征。这会导致训练的模型对于新的、未知的中草药样本的识别精度较低。其次,标注数据的不准确性也是一个挑战。中草药的标注数据往往由人工进行,存在主观性和不一致性,这可能导致训练的模型出现误差,影响识别准确率。另外, 光照和角度的变化对中草药的外观特征有很大的影响,而目前的识别系统对于光照和角度变化的鲁棒性还有待提高。中草药之间存在相似度较高的情况,这导致系统在区分这些相似中草药时存在一定的困难。当前的系统还无法很好地处理这些问题。这些问题存在的原因也有多方面的因素。第一,缺乏大规模、多样性的中草药图像数据集是一个主要原因。由于中草药的数量众多,且存在地域差异,标注大规模的中草药图像数据成本较高。第二,中草药识别需要同时考虑形态、纹理、颜色等多方面的特征,而这些特征的提取和学习较为复杂,仍需要更深入的研究。第三,光照和角度变化对中草药的外观特征有很大的影响,而这些变化参数的建模和处理仍然是一个挑战,需要进一步的研究。第四,中草药之间的相似度较高,特征的差异性较小,因此对于这些相似中草药的识别仍面临着较大的难度。
1.3 选题的意义
本课题旨在设计并实现一种基于深度学习技术的中草药识别系统,用于辨识各类照片和实物中的中草药。为了实现这一目标,本课题将采用卷积神经网络(CNN)、图像识别和迁移学习等一系列先进的深度学习技术。通过对大量中草药图片样本进行训练和学习,建立一个高准确率的中草药识别模型。最终实现一个便捷、高效且准确的中草药识别系统, 该系统可为广大中草药领域的研究人员、学者以及普通消费者提供重要的参考价值。
1.4 主要内容
本研究将在以下几个方向进行:
(1)数据收集:第一步是收集大量的中草药图像数据,包括不同场景、不同
照明条件下的草药照片。将从公开数据库中获取大部分数据,并在可能的地方直接收集一些新的样本。收集到的样本将进行适当的增强和预处理,以提升模型的识别能力。
(2)数据的分类和标注:将收集到的中草药图像数据进行分类和标注,形成自己的训练集和检验集,为下一步的深度学习模型的训练与验证提供数据基础。
(3)深度学习建模:根据数据类型,选择相应的深度学习模型,如卷积神经网络(CNN)或者其它更复杂的结构,训练中草药识别模型。训练过程中, 将会持续优化模型结构和参数,以提升识别精准度。
(4)模型测试和优化:在完成建模后,可通过独立测试集,对数据进行在线监测,以查看其在实际应用中的性能,根据测试结果进行必要的参数调整和优化,提升模型性能。
(5)系统搭建:通过 Web 服务形式部署该深度学习模型,使得用户可以便捷地利用这个模型进行中草药识别,同时收集用户反馈,用以进一步完善和优化识别模型。
研究流程如图1.1所示
开始
环境配置
数据准备
MobileNetV2 ResNet
模型训练
精度是否
符合要求
是
结束
图 1.1 研究流程
预期设计结果为用户进入主界面,点击图像识别之后,上传需要识别的中草药图片,点击提交,后台调用模型进行识别,最后将识别结果返回到页面,页面将识别结果展示出来。
第 2 章 相关理论技术
2.1 Python
Python 语言是上世纪九十年代初,由Guido van Rossum 开发的一款兼容性较强的编程语言,其优点在于代码较为简洁、代码可读性较强、功能较为强大等优点而倍受消费者喜爱和青睐,因此成为当前应用最多的编程语言之一。
Python 具有丰富的标准库和第三方库,可用于各种编程任务,例如 Web 开发、数据科学、人工智能、科学计算等。其动态类型和自动内存管理功能使得开发者可以更关注程序的逻辑和功能实现,而不必过多关心底层的内存管理和类型声明。此外,Python 还支持面向对象、面向过程的编程范式。
此外,Python 还拥有强大的社区支持和活跃的开发者社区,因此在解决问题和获取支持方面非常便利。同时,Python 还兼容与众多其他平台和语言,例如 C/C++等,使得 Python 可以广泛应用于各种不同的开发场景。
2.2 MySQL
MySQL 是当前应用做多、安全等级较高、性能较为稳定的关系型数据库, 并凭借其免费、开源性而备受欢迎。 MySQL 支持跨平台运行,在中小型网站和 web轻量级应用开发中有较为广泛应用。MySQL 作为免费、开源、高性能的关系型数据库,在结构化数据存储、查询、管理等方面有优势显著,同时支持多种数据分析、处理,如浮点数、字符串、日期和其他数据,并提供高效的索引功能来加速数据检索和查询操作。
MySQL 还有一系列高级功能,例如事务支持、触发器、存储过程等, 使其适用于复杂的数据库操作和逻辑处理。同时,MySQL 的性能优化和可扩展性能使得它可以应对高并发和大规模数据处理的需求,成为众多网站和应用的首选数据库系统之一。
此外,MySQL 拥有活跃的社区支持和丰富的文档资源,因此开发者能够轻松地获取学习资料和技术支持。总体而言, MySQL 作为一种成熟、稳定和功能丰富的关系型数据库,在数据存储、管理方面具有巨大优势,为各种规模的应用提供了坚实的数据存储基础。
2.3 Flask 框架
Flask 是一个用 Python 编写的轻量级 Web 应用框架。它被设计为简单易用,可以快速地开发 Web 应用程序。由 Armin Ronacher 开发,首次发布于 2010 年,现在是 Pallets 项目的一部分。
Flask 以其简单性、灵活性和轻量级而闻名,适合用来构建各种规模的 Web 应用,从小型个人项目到大型企业级应用都很合适。通过 Flask 及其丰富的扩展库,开发者可以快速地构建出功能丰富、性能优良的 Web 应用。
核心特性:
(1) 轻量级: Flask 本身只提供了Web 开发的核心功能,如请求、响应处理、模板渲染和简单的路由。它使用 Werkzeug 作为 WSGI 工具包来处理 HTTP 请求,使用 Jinja 作为模板引擎。
(2) 灵活性: 由于 Flask 并不像 Django 那样提供全套的功能(比如 ORM),所以它允许开发者有更多的自由度来选择其他库以补充应用的需求,例如选择SQLAlchemy 作为 ORM 工具。
(3) 易于扩展: Flask 设计了一个轻量但可扩展的核心,你可以通过安装扩展来添加各种功能,如数据库集成、表单验证、用户认证等。
(4) 开发服务器和调试器: Flask 自带了一个用于开发的服务器和一个调试器。当应用运行在调试模式下时,如果代码发生了错误,Flask 会显示一个交互式的调试页面帮助开发者快速定位问题。
(5)RESTful 请求处理: Flask 支持 REST 风格的 URL,使得开发 RESTful API变得简单直观。单元测试支持: Flask 允许开发者方便地编写和运行单元测试。
第 3 章 需求分析
3.1 可行性分析
中草药作为一种传统医学疗法,其应用广泛且用户基数庞大。鉴于此,一个能够准确识别和辨别不同中草药的系统将极大地提高用户的便利性和安全性。现如今深度学习技术的发展和成熟,特别是卷积神经网络(CNN)在图像识别方面的卓越表现,为中草药识别提供了强有力的技术支持。通过大量中草药图像数据的收集和处理,结合有效的训练和优化过程,将构建出一个高效准确的模型。此外,Web 服务的部署和使用 Flask 等轻量级框架的开发,为用户提供了便捷的访问方式,加强了系统的实用性和扩展性。
3.2 系统功能需求分析
在研究思路上选择 PyCharm 作为开发工具,首先进行相关资料收集,明确研究的具体方向。在此基础上,进行市场调查和需求分析,进一步完善设计方案。通过使用 MobileNetV2 算法和 TensorFlow 框架,实现中草药图像识别。最后, 根据拟定的设计方案进行系统的开发,应用中草药是被模型,并采用测试用例技术对系统的功能和结构进行全面测试。结合文献研究法、问卷调查法和比较分析法,对现有的研究技术进行综合评估,分析其优势和不足,以便更好地设计和实现本课题作品。本次研究的主要功能包括用户和管理员两个部分,用户功能包括登录注册、健康知识查看、图像识别、中药材查看、中药材分类查看、识别记录查看等功能,管理员包括的登录、数据可视化、健康知识列表、中药材列表、种类管理、用户管理以及识别记录等操作。
用户功能:
(1)用户注册和登录:用户可在线注册个人账号并登录系统,以便进行个性化的操作和保存识别记录。
(2)健康知识查看:用户可以浏览系统中关于中草药的健康知识文章,了解中草药的功效、使用方法等信息。
(3)图像识别功能:提供用户上传中草药图片的功能,系统利用深度学习模型进行识别,并返回识别结果。
(4)中药材查看:用户可以查看系统中包含的全部中药材信息,包括名称、属性、功效以及其分布等信息。
(5)重要分类信息查看:作为用户,可根据中药类型,如功效、属性等对中
药进行分类处理。
(6)识别记录查看:用户可实时查看其他用户历史上传的中草药信息,包括识别结果、时间等信息。
管理员用户功能:
(1)登录认证:管理员用户可通过系统,并进入相应的管理界面以进行权限范围内的操作。
(2)数据可视化:提供可视化的数据统计和分析功能,用于展示系统使用情况。
(3)健康知识列表管理:管理员用户可在线管理监管知识文件,包括文件添加、修改和删除。
(4)中药材列表管理:管理员用户可在线管理系统存储的重要信息,如中成药药材添加、修改和删除等。
(5)种类管理:作为管理员用户,可在线管理系统存储的中药药材分类信息,如中药药材类型信息添加、修改和删除等;
(6)用户管理:作为管理员用户,可对系统存储的用户信息进行系统管理,如用户列表查看、添加、修改和管理。
(7)识别记录管理:管理员可以查看和管理用户上传的中草药图片的识别记录,包括删除、查看详情等操作
3.3 系统非功能需求分析
(1) 可靠性:项目需要具有高度的可靠性,确保系统稳定运行,减少故障和错误引起的数据丢失或系统宕机的风险。系统应具备自动备份和恢复机制,以及故障检测和处理的能力。
(2) 安全性:项目需要具备强大的安全性保护机制,确保用户数据的机密性和完整性。系统应采用安全的身份验证和授权机制,并遵循数据加密和隐私保护的最佳实践。同时,对于敏感数据的处理应遵循合规性标准和法律法规。
(3) 性能:本项目对系统性能有较高要求,以加快用户请求响应速度,提升大数据处理能力,所以,对系统可扩展性、系统处理能力等也提出了较大要求,以应对用户数量的增加和数据规模的扩展。
(4) 可用性:项目需要提供良好的用户体验,具有友好的界面和简单易用的操作流程。系统应该具备良好的界面设计、清晰的信息展示和易于理解的交互逻辑,以便用户轻松理解和使用系统功能。
(5) 可维护性:项目对系统可维护性也提出了较高要求,以便于系统后续维护、更新和管理。此外,系统还应具备较高的可拓展性,以使得开发人员可以方便地
修改和更新系统的各个部分,同时需要有详细的文档和注释,方便团队成员共同维护。
(6) 扩展性:项目需要具备良好的扩展性,能够适应未来的业务增长和功能需求的变化。系统应设计为松耦合和可插拔的架构,以便灵活地添加新功能和集成第三方服务。
更多推荐


所有评论(0)