项目介绍
本项目是一个基于深度学习的中草药智能识别系统,旨在利用人工智能技术辅助用户快速准确地识别常见中草药品种。系统采用前后端分离架构,后端基于Python Flask框架构建RESTful API,前端使用Vue3框架实现响应式用户界面,核心识别功能基于TensorFlow深度学习框架和ResNet50卷积神经网络模型。
系统实现了用户注册登录、图片上传识别、识别历史记录查询、用户管理等核心功能。用户只需上传中草药图片,系统即可在毫秒级时间内完成识别,返回中草药名称及置信度,同时支持展示所有候选类别的预测概率。系统采用JWT进行身份认证,使用SQLite数据库存储用户数据和识别记录,具有良好的扩展性和维护性。目前系统支持丹参、五味子、山茱萸、柴胡、桔梗、牡丹皮、连翘、金银花、黄姜、黄芩等十种常见中草药的识别。


选题背景与意义
中医药是中华民族的瑰宝,有着数千年的悠久历史。随着人们对健康和自然疗法的重视程度不断提高,中草药的需求量逐年增长。然而,对于普通大众而言,准确识别各种中草药品种是一项具有挑战性的任务。传统中药材识别依赖专业人士的经验和肉眼观察,存在识别效率低、主观性强、易受个人经验限制等问题。此外,市场上中药材品种繁多,外观相似的不同草药容易混淆,错误识别可能导致严重的健康风险。
随着人工智能和深度学习技术的快速发展,基于计算机视觉的图像识别技术在植物识别、医疗诊断等领域取得了显著成果。将这些先进技术应用于中草药识别领域,具有重要的现实意义和应用价值。本系统通过构建基于卷积神经网络的中草药识别模型,能够为中医药学习者、从业者以及普通用户提供便捷、准确的辅助识别工具,有助于促进中医药文化的传承与发展。
关键技术栈
1. Flask后端框架
Flask是一个轻量级的Python Web框架,具有简单灵活、易于扩展的特点。本项目采用Flask构建RESTful API服务,使用Blueprint模块化组织代码,将用户认证、图像识别、用户管理等功能划分为独立的蓝图模块。系统集成了Flask-SQLAlchemy进行数据库ORM操作,使用Flask-Migrate管理数据库版本迁移,采用Flask-JWT-Extended实现JWT身份认证,通过Flask-CORS解决跨域访问问题。Flask的模块化设计和丰富的扩展生态,使得系统架构清晰、开发效率高。
2. Vue3前端框架
Vue3是目前主流的渐进式JavaScript前端框架,采用组合式API设计,具有更好的TypeScript支持和性能优化。前端使用Vue3构建单页应用,通过Axios与后端API进行数据交互,实现了响应式的用户界面。系统支持图片上传预览、识别结果展示、历史记录分页查询等功能,为用户提供流畅的操作体验。Vue3的组件化开发模式使得前端代码易于维护和扩展。
3. TensorFlow深度学习框架
TensorFlow是由Google开发的开源深度学习框架,提供了完整的机器学习工具链。本项目使用TensorFlow 2.12版本进行模型训练和推理部署。系统核心是一个基于ResNet50架构预训练的卷积神经网络模型,通过迁移学习技术针对中草药图像数据集进行微调训练。模型使用HDF5格式(.h5)存储,加载后通过单例模式在内存中保持唯一实例,避免重复加载导致的资源浪费。图像预处理阶段将图片统一调整为224×224像素尺寸,并进行归一化处理,最终输出各类别的预测概率分布。
4. 卷积神经网络算法
卷积神经网络(Convolutional Neural Network,CNN)是专门用于处理图像数据的深度学习模型。本项目采用ResNet50(残差网络)作为基础架构,该网络通过引入残差连接解决了深层网络训练中的梯度消失问题,能够有效提取图像的多层次特征。ResNet50包含50个深度层,采用多个残差块堆叠而成,每个残差块包含卷积层、批归一化层和ReLU激活函数。系统模型支持10种中草药类别的分类识别,通过Softmax激活函数输出各类别的置信度,并选取最高置信度的类别作为最终识别结果。模型在识别过程中同时返回所有类别的预测概率,方便用户了解识别的确定性程度。
技术架构图

系统功能模块图

完整代码 and 演示视频 and 安装
请点击下方卡片↓↓↓添加作者获取,或在我的主页添加作者获取。