spytensor/plants_disease_detection
Ai Challenger 2018 Competitions 农作物病害检测
What it solves
该项目提供了一个从图像中检测作物病害的基准实现,专门为 AI Challenger 2018 竞赛设计。它能够自动地将植物图像分类到各种疾病类别中,以帮助识别农业害虫和病理学特征。
How it works
该系统使用在 ImageNet 上预训练的 ResNet50 模型,并将全局池化层替换为自适应平均池化层,以及针对 59 种疾病类别量身定制的分类头。该流水线包括:
Data Processing: 一个脚本 (
move.py) 将图像组织成类别文件夹,并处理异常样本的移除。Training Pipeline: 它采用 Adam 优化器,搭配 StepLR 调度器,并支持 CrossEntropyLoss 和修正后的 FocalLoss 以处理类别不平衡问题。
Augmentation: 它使用在线增强 (rotations, flips, and affine transforms) 和可选的离线增强 (Gaussian noise, brightness/contrast adjustments)。
Modernization: 代码已更新至 PyTorch 2.x,增加了对自动混合精度 (AMP) 的支持,以减少内存使用并加速 GPU 训练。
Who it’s for
农业 AI 研究人员、学生、以及对植物病理学图像分类感兴趣的开发者,或者正在寻找一个可以作为作物病害检测竞赛基准的平台。
Highlights
- PyTorch 2.x Ready: 完全迁移到现代 PyTorch,支持 CPU/GPU 自动切换。
- AMP Support: 集成了自动混合精度 (AMP) 以实现更快的训练和内存效率。
- Robust Augmentation: 结合了在线和离线图像变换技术,以提高模型泛化能力。
- Stratified Sampling: 使用
StratifiedKFold逻辑来实现训练集和验证集之间一致且平衡的数据分割。
相关
- 项目
- 项目
- 项目
- 项目
- 项目