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: 它同時使用線上增強(旋轉、翻轉和仿射變換)和選用的離線增強(高斯雜訊、亮度/對比度調整)。
  • 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 邏輯來確保訓練集與驗證集之間的一致性和平衡的資料分割。",

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案