1. 项目简介

本项目是一个基于 Django 和 PyTorch 的中草药图像识别系统。用户可以在网页端上传中草药图片,选择深度学习模型后完成识别,系统返回对应类别和识别概率。项目已统一为中草药识别主题,页面文案、类别索引和训练默认数据集均与 Chinese_Medicine 数据集保持一致。

2. 技术栈

  • 后端框架:Django
  • 深度学习框架:PyTorch、torchvision
  • 前端页面:HTML、CSS、Django Template
  • 数据存储:SQLite、media 上传目录
  • 模型结构:AlexNet、LeNet、VggNet、GoogLeNet、ResNet、MobileNet、DenseNet、EfficientNet、RegNet、ShuffleNet、Swin Transformer、Vision Transformer

3. 数据集说明

项目数据位于 djangoProject/data_set/Chinese_Medicine,按照 ImageFolder 规范组织为 train 和 val 两个子目录。当前包含 5 个中草药类别:草果、虫草、党参、甘草、枸杞子。训练集每类约 200 张,验证集每类约 100 张,整体规模适合课程设计、项目实战和模型对比实验。

4. 系统功能

  • 首页展示中草药识别系统,提供模型选择和图片上传入口
  • 后端根据用户选择动态调用对应模型目录下的 predict.py
  • 上传图片保存到 media 目录,识别后可在页面中回显
  • 预测结果展示使用模型、中草药类别和识别概率
  • 类别索引已配置为草果、虫草、党参、甘草、枸杞子

5. 系统界面展示

系统首页如下,页面结构与项目当前 Django 模板保持一致。
在这里插入图片描述

识别完成后的结果页面如下,示例中使用 ViT 模型识别枸杞子图片。
在这里插入图片描述

6. 模型训练与预测流程

训练阶段主要包括图像增强、尺寸调整、张量转换、归一化、模型前向传播、损失计算、反向传播和验证评估。不同网络结构共用相似的数据加载方式,便于在同一中草药数据集上进行横向比较。预测阶段由 Django 视图接收上传图片,读取用户选择的模型,导入对应 predict 函数,加载类别索引和模型权重,最后返回类别与概率。

7. 效果展示与分析

下面的柱状图为 CSDN 展示用的示例可视化,用来直观说明不同模型在中草药识别任务中的大致对比关系。图中的准确率、颜色和图表样式不代表项目代码固定输出结果,实际使用时可以根据训练日志或 *_results.xlsx 文件替换为自己的真实数值。这里将 ViT 的示例准确率设置在约 86%,主要用于体现 Transformer 类模型在该任务上相对更稳定的趋势。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

下面的折线图同样是文章展示用示例图,用于说明训练准确率和验证准确率随轮次上升并逐渐收敛的常见走势。项目源码中的训练输出、图表颜色、坐标样式和最终曲线可能与该示例图不同,正式整理项目时可按实际训练记录重新生成对应曲线。

在这里插入图片描述

8. 项目总结与优化方向

本项目完成了从中草药数据集组织、模型训练、预测脚本到 Django 页面展示的完整闭环,适合作为图像分类课程设计、毕业设计或深度学习项目案例。后续可以继续扩充中草药类别,增加 Top-K 预测结果、识别历史记录、模型管理页面和 Grad-CAM 可视化,让系统更接近完整应用。

更多推荐