这是一个面向智慧农业场景的番茄检测与巡检管理系统,包含 FastAPI 后端、Vue 3 前端、YOLO 目标检测模块、MySQL 数据表脚本以及番茄数据集处理工具。系统围绕番茄成熟度识别、产量评估、巡逻任务、异常事件、采摘建议和后台权限管理展开。
- 番茄图像/视频检测:基于 YOLO 模型识别番茄目标与成熟度。
- 农场巡检管理:支持巡逻任务、采集记录、实时检测、异常上报与巡逻日志。
- 农场管理员看板:提供成熟度分布、产量趋势、采摘建议、工单处理等页面。
- 系统管理:用户、角色、部门、菜单、操作日志、登录日志、模型闭环等后台能力。
- 前后端分离:后端提供 REST API,前端通过 Vue Router、Pinia、Axios 与后端交互。
| 模块 | 技术 |
|---|---|
| 后端 | FastAPI、SQLAlchemy、PyMySQL、Pydantic |
| 前端 | Vue 3、Vite、Element Plus、Pinia、Vue Router、Axios |
| 可视化 | ECharts、Leaflet、Video.js |
| AI 检测 | Ultralytics YOLO / PyTorch |
| 数据库 | MySQL |
tomato_detect_system/
├── fastapp/ # FastAPI 后端服务
│ ├── app/ # API、模型、服务、核心配置、AI 模块
│ ├── scripts/ # 初始化、导出、测试脚本
│ ├── tests/ # 后端测试
│ └── README.md # 后端说明
├── vue/ # Vue 3 + Vite 前端
│ ├── src/ # 页面、组件、路由、状态、工具函数
│ └── README.md # 前端说明
├── datasets/ # 番茄数据集与数据处理脚本
├── sql/ # 数据库建表脚本
├── scripts/ # 辅助脚本
└── README.md # 项目总说明
- Python 3.9+
- Node.js 20.19+ 或 22.12+
- MySQL 8.x
- Git
如需使用 GPU 推理,请另外安装与本机 CUDA 版本匹配的 PyTorch。
cd fastapp
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .env编辑 fastapp/.env,配置数据库连接、密钥、模型路径等参数,然后初始化数据库:
python -m fastapp.scripts.init_current_schema启动后端服务:
uvicorn main:app --reload --host 0.0.0.0 --port 8000接口文档默认可访问:
http://localhost:8000/docshttp://localhost:8000/redoc
cd vue
npm install
npm run dev开发环境默认访问:
http://localhost:5173
如需修改后端地址,可参考 vue/.env.example 或在本地创建 .env。
数据库表结构脚本位于 sql/ 与 fastapp/scripts/sql/。主要业务表包括:
- 用户与权限:
sys_user、sys_role、sys_user_role、sys_dept - 巡检任务:
patrol_task、patrol_log、patrol_task_assignments - 媒体与检测:
media_file、detect_result、abnormal_event - 产量与采摘:
yield_estimation、harvest_suggestion、harvest_work_orders - 实时检测:
realtime_inspection_sessions、realtime_frame_results
- 数据集目录:
datasets/ - YOLO 数据配置:
datasets/*/data.yaml - 模型权重示例:
fastapp/app/ai_module/weights/
注意:uploads/、runs/、日志、缓存、前端依赖目录等运行产物已在 .gitignore 中排除,不建议提交到 GitHub。
# 查看后端测试
cd fastapp
pytest
# 前端构建
cd vue
npm run build
# 查看 Git 状态
git status- GitHub:@Yangjon1
- Email:2316551389@qq.com