找回密码
 立即注册
首页 业界区 业界 使用MobileNetV3模型识别农作物病虫害(通过叶子) ...

使用MobileNetV3模型识别农作物病虫害(通过叶子)

卒挪 昨天 08:04
项目地址:MobileNetV3-for-leaf
项目背景:
早期曾在嵌入式设备 RV1106 上实现过植物病害识别模型,但由于设备性能与数据集限制,识别效果一般。本项目基于更完善的数据与资源,重新使用 MobileNetV3 小型结构从头训练,识别三类病害,20 个 epoch 后模型验证准确率达 96.67%。实验中发现模型在 第 10 个 epoch 左右就已表现出较好的识别能力
本项目使用轻量级模型 MobileNetV3 从头训练实现 农作物叶子健康状况识别,识别类别为:

  • healthy
  • powdery(白粉病)
  • rust(锈病)
数据集来自 Kaggle: Plant disease recognition dataset
训练模型
  1. python train.py
复制代码
支持配置:

  • 所有训练超参数(学习率、批大小、epoch 数量等)均可在 train.py 中修改。
输出示例:
1.png

测试单张图像
  1. python test_single_image.py
复制代码
输出示例:
2.png

模型结构说明

模型采用自定义实现的 MobileNetV3-Small,总参数量约 1.5M,非常适合部署于计算资源受限的设备上:
模型结构:
3.png

输入图像与预处理


  • 原图尺寸约为 4000x2672
  • 模型输入统一调整为 224x224
  • 图像预处理方式:
  1. transforms.Resize(256),
  2. transforms.CenterCrop(224),
  3. transforms.RandomHorizontalFlip(),
  4. transforms.ToTensor(),
  5. transforms.Normalize([0.4717, 0.5892, 0.3972],
  6.                      [0.1704, 0.1531, 0.1755])
复制代码
其中 Normalize 的均值与标准差由 calculator_mean_std.py 脚本统计所得,确保模型在颜色分布上的泛化能力。
已实现功能


  • MobileNetV3 小型结构从头训练
  • 自定义数据均值与标准差统计
  • 支持单张图像推理测试
  • 验证集准确率自动保存最优模型

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册