项目地址:MobileNetV3-for-leaf
项目背景:
早期曾在嵌入式设备RV1106
上实现过植物病害识别模型,但由于设备性能与数据集限制,识别效果一般。本项目基于更完善的数据与资源,重新使用MobileNetV3
小型结构从头训练,识别三类病害,20 个 epoch
后模型验证准确率达96.67%
。实验中发现模型在第 10 个 epoch 左右就已表现出较好的识别能力
。
本项目使用轻量级模型
MobileNetV3
从头训练实现农作物叶子健康状况识别
,识别类别为:healthy
powdery
(白粉病)rust
(锈病)
数据集来自 Kaggle: Plant disease recognition dataset
训练模型
python train.py
支持配置:
- 所有训练超参数(学习率、批大小、epoch 数量等)均可在
train.py
中修改。
输出示例:
测试单张图像
python test_single_image.py
输出示例:
模型结构说明
模型采用自定义实现的 MobileNetV3-Small
,总参数量约
1.5M
,非常适合部署于计算资源受限的设备上:模型结构:
输入图像与预处理
- 原图尺寸约为
4000x2672
- 模型输入统一调整为
224x224
- 图像预处理方式:
transforms.Resize(256), transforms.CenterCrop(224), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms.Normalize([0.4717, 0.5892, 0.3972], [0.1704, 0.1531, 0.1755])
其中 Normalize
的均值与标准差由 calculator_mean_std.py
脚本统计所得,确保模型在颜色分布上的泛化能力。
已实现功能
- MobileNetV3 小型结构从头训练
- 自定义数据均值与标准差统计
- 支持单张图像推理测试
- 验证集准确率自动保存最优模型
📌 项目作者
李中政
GitHub: @lizhongzheng13
这一切,似未曾拥有