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 optimizer를 사용하며 StepLR scheduler를 적용하고, 클래스 불균형을 처리하기 위해 CrossEntropyLoss와 수정된 FocalLoss를 지원합니다.
- Augmentation: 온라인 증강(rotations, flips, and affine transforms)과 선택적인 오프라인 증강(Gaussian noise, brightness/contrast adjustments)을 모두 사용합니다.
- Modernization: 코드는 PyTorch 2.x로 업데이트되어 GPU에서의 메모리 사용량을 줄이고 학습 속도를 높이기 위해 Automatic Mixed Precision (AMP) 지원을 추가했습니다.
Who it’s for
농업 AI 연구자, 학생, 그리고 식물 병리학 이미지 분류에 관심이 있는 개발자, 또는 작물 질병 감지 경연 대회용 베이스라인을 찾는 사람들을 위한 프로젝트입니다.
Highlights
- PyTorch 2.x Ready: CPU/GPU 자동 전환 기능과 함께 현대적인 PyTorch로 완전히 마이그레이션되었습니다.
- AMP Support: 더 빠른 학습과 메모리 효율성을 위해 Automatic Mixed Precision을 통합했습니다.
- Robust Augmentation: 온라인 및 오프라인 이미지 변환 기술을 결합하여 모델의 일반화 성능을 향상시킵니다.
- Stratified Sampling: 학습 세트와 검증 세트 간의 일관성 있고 균형 잡힌 데이터 분할을 위해
StratifiedKFold로직을 사용합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트