تصنيف أمراض النباتات
معيار PlantVillage بـ 15 فئة. MobileNetV2 الأفضل فردياً: 92.86%. المجموعة (MobileNetV2+EfficientNetB3+ResNet50) على الاختبار: 83.43%. عدم توازن 42.5×. إصلاح خطأ إعادة ضبط المولّد الذي سبّب انهيار المجموعة.
PlantVillage: ~55K صورة، 15 فئة، عدم توازن 42.5×
نقل تعلم بمرحلتين (إحماء + ضبط دقيق) → مجموعة ناعمة مع خسارة مرجحة بالفئة
كشف أمراض النباتات على PlantVillage — 15 فئة أمراض لنباتات الفلفل والبطاطس.
مجموعة البيانات
- ◂~55,000 صورة، 15 فئة، تقسيم 80/10/10 تدريب/تحقق/اختبار
- ◂عدم توازن الفئات: 42.5× (Tomato_YellowLeafCurlVirus مقابل Potato_healthy)
- ◂الاستراتيجية: أوزان الفئات + label smoothing 0.1
النماذج الـ 6
| النموذج | دقة التحقق |
|---|---|
| SimpleCNN | 70.01% |
| DeepCNN + BatchNorm | 78.41% |
| EfficientNetB3 (نقل تعلم 2 مرحلة) | 79.93% |
| ResNet50 (نقل تعلم 2 مرحلة) | 87.72% |
| MobileNetV2 (نقل تعلم 2 مرحلة) | 92.86% |
| المجموعة (متوسط 3 نماذج) | 82.40% تحقق / 83.43% اختبار |
نقل التعلم بمرحلتين
- ◂إحماء (8 حقب): نواة مجمدة
- ◂ضبط دقيق (3 حقب): CosineDecayRestarts LR، دقة مختلطة float16
خطأ مُصلَح: إعادة ضبط المولّد انهارت المجموعة إلى ~7% دقة لأن مولدات البيانات لم تُعاد تهيئتها بين مرات الاستدلال. الإصلاح: إعادة تهيئة المولدات قبل كل استدعاء predict().
لماذا المجموعة < MobileNetV2؟ متوسط MobileNetV2 (92.86%) مع EfficientNetB3 (79.93%) يخفف التنبؤات المتفوقة. المجموعة تتيح تعميماً أفضل على الاختبار (83.43%) لكن دقة تحقق أقل.