一、项目简介
本系统是一个基于深度学习的花卉识别应用,通过 PyQt5 图形界面完成花卉图像识别、结果分析和数据管理。
二、项目功能
- 用户账户管理:注册、登录和密码修改
- 单张图像识别:上传单张花卉图像进行识别
- 批量图像识别:按文件夹批量导入识别
- 数据导出:识别结果可导出为 CSV
- 历史记录查询:查看历史识别记录
- 花卉详细信息:展示识别花卉的特征和说明
三、技术架构
| 层级 | 技术 | 说明 |
|---|---|---|
| 界面 | PyQt5 | 桌面图形界面 |
| 模型 | PyTorch、MobileNet | 轻量级花卉分类 |
| 数据库 | MySQL | 用户信息和识别记录 |
| 图像处理 | Pillow、matplotlib | 预处理与结果展示 |
识别流程:图像预处理(缩放、标准化)→ MobileNet 推理 → 展示类别、置信度和花卉信息。
四、支持识别的花卉类别
可识别向日葵、蒲公英、薰衣草、百合、莲花、兰花、玫瑰、郁金香、雏菊等常见花卉。
五、运行环境
- Windows 10 或更高版本
- Python 3.6+
- PyTorch 1.7+、PyQt5、Pillow、matplotlib、pymysql
安装依赖:
pipinstalltorch torchvision PyQt5 Pillow matplotlib pymysqlMySQL 默认连接为本机root/root,系统会自动建库建表。
启动:
python main.py六、模型训练
如需重新训练:
python train.py --data-path 数据集路径--epochs100--batch-size8训练后的模型保存在weights目录。
七、项目结构
flower_recognition/ ├── 主界面.py # 主程序入口 ├── login.py # 登录系统 ├── train.py # 模型训练 ├── my_dataset.py # 自定义数据集 ├── models/ # 模型定义 │ └── mobilenet.py # MobileNet 结构 ├── utils.py # 工具函数 ├── weights/ # 模型权重 └── ui/ # 界面文件八、交付内容
- 桌面端完整源码,含识别、训练和用户管理
- 模型权重、依赖清单和数据库初始化
- 项目说明文档
本项目为个人原创,结构清晰,功能完整,适合课程设计、毕业设计和个人学习使用。如需购买项目成品或定制化需求可以联系作者。
个人网址:https://michael-jay.pages.dev/