SmartAgroShield is an AI-powered crop disease monitoring and early-warning
system, developed as an undergraduate innovation project (SRT gzuxc2024057).
It focuses on kiwifruit leaf disease recognition with a lightweight
ShuffleNetV2 model, plus a multimodal environmental risk module that
fuses temperature and humidity inputs.
- Image recognition: 4-class kiwifruit leaf classification
(
brown_spot,gray_mold,healthy,ulcer) with 85.47% test accuracy. - Multimodal early-warning: combines image prediction with temperature / humidity inputs to output an environmental risk level and prevention advice.
- Desktop app (Tkinter): fully offline, packaged with PyInstaller.
- Flask Web app: browser-based demo interface.
- Multiple model baselines: MobileNetV3-Large / MobileNetV3 / ResNet50 / EfficientNet / ShuffleNet, with confusion matrices and training curves.
| Item | Value |
|---|---|
| Architecture | ShuffleNetV2 |
| Classes | brown_spot, gray_mold, healthy, ulcer |
| Test accuracy | 85.47% |
| Parameters | 1.26 M |
| Inference latency | ~48.6 ms / image |
| Input | leaf image (RGB) |
| Extra inputs | temperature (°C), humidity (%) |
├── core/ # inference, multimodal, history, preprocess
├── models/ # model definitions & training utilities
├── utils/ # helpers
├── qt_app/ # Qt desktop variant
├── templates/ + static/ # Flask web frontend
├── runs/ # training artifacts (figures, class_map)
├── docs/ # project reports & manuals
├── train.py # training entry
├── evaluate.py # evaluation & confusion matrix
├── inference.py # single-image inference
├── app.py # Flask web entry
├── desktop_main.py # Tkinter desktop entry
└── config.py # configuration
pip install -r requirements.txt
# Flask web demo
python app.py
# Desktop app
python desktop_main.py
# Inference on a single image
python inference.py --image path/to/leaf.jpg智农虫盾(SmartAgroShield) 是面向猕猴桃病虫害的 AI 监测与预警系统,
作为校级大学生创新创业训练计划项目(SRT gzuxc2024057)独立完成。核心为
轻量化 ShuffleNetV2 四分类病害识别,并融合温湿度输入进行多模态环境风险预警。
- 图像识别:猕猴桃叶片四分类(褐斑病 / 灰霉病 / 健康 / 溃疡病),测试准确率 85.47%。
- 多模态预警:结合图像预测结果与温湿度输入,输出环境风险等级与防治建议。
- 桌面端(Tkinter):完全离线运行,PyInstaller 打包为单文件 exe。
- Web 端(Flask):浏览器交互式演示界面。
- 多模型基线对比:MobileNetV3-Large / MobileNetV3 / ResNet50 / EfficientNet / ShuffleNet,含混淆矩阵与训练曲线。
| 项目 | 值 |
|---|---|
| 网络结构 | ShuffleNetV2 |
| 类别 | brown_spot, gray_mold, healthy, ulcer |
| 测试准确率 | 85.47% |
| 参数量 | 1.26 M |
| 推理延迟 | 约 48.6 ms / 张 |
| 输入 | 叶片图像(RGB) |
| 附加输入 | 温度(°C)、湿度(%) |
├── core/ # 推理、多模态、历史记录、预处理
├── models/ # 模型定义与训练工具
├── utils/ # 辅助函数
├── qt_app/ # Qt 桌面版变体
├── templates/ + static/ # Flask 前端
├── runs/ # 训练产物(可视化图、类别映射)
├── docs/ # 项目报告与使用手册
├── train.py # 训练入口
├── evaluate.py # 评估与混淆矩阵
├── inference.py # 单图推理
├── app.py # Flask Web 入口
├── desktop_main.py # Tkinter 桌面入口
└── config.py # 配置
pip install -r requirements.txt
# Flask Web 演示
python app.py
# 桌面应用
python desktop_main.py
# 单图推理
python inference.py --image path/to/leaf.jpg本项目训练数据为自采集猕猴桃叶片图像,四类共约 6000 张(训练集约 4800 张、 验证集约 1200 张)。因体积较大未包含在本仓库,如需复现训练请联系作者。
陈杉杉(Shanshan Chen)· SRT gzuxc2024057