نظرة عامة على المشروع:
نظام متطور يعتمد على تقنيات التعلم العميق (Deep Learning) لتصنيف صور الطقس إلى 11 فئة مختلفة. يهدف النظام إلى تحويل الصور الملتقطة عبر الكاميرات أو الهواتف إلى بيانات رقمية دقيقة تصف الحالة الجوية، مما يخدم قطاعات الزراعة، النقل، والمراقبة البيئية.
المواصفات التقنية والمنهجية:
1. تحليل ومعالجة البيانات (Data Preprocessing)
EDA: إجراء تحليل استكشافي شامل لفحص جودة الصور ومعالجة مشكلة التوزيع غير المتوازن (Data Imbalance) لضمان عدم انحياز النموذج لفئة معينة.
Data Augmentation: تعزيز قدرة النموذج على التعميم عبر تطبيق عمليات (الدوران، التكبير، التدوير، وتعديل السطوع) لمحاكاة ظروف التصوير المختلفة.
Class Weights: تقنية متقدمة لإعطاء وزن أكبر للفئات الأقل تمثيلاً في مجموعة البيانات أثناء عملية التدريب.
2. هندسة النموذج (Model Architecture)
Transfer Learning: الاعتماد على نموذج EfficientNetB0 القوي والمعروف بكفاءته العالية واستهلاكه المنخفض للموارد.
Custom Classification Head: تصميم طبقات إضافية تشمل:
GlobalAveragePooling2D لتقليل الأبعاد.
Batch Normalization لتسريع التدريب واستقراره.
Dropout لمنع الإفراط في التخصيص (Overfitting).
Fine-tuning: اتباع استراتيجية تدريب ثنائية المرحلة لتحسين الأوزان بما يتناسب مع فئات الطقس المحددة.
3. تطوير واجهة المستخدم (Web Deployment)
تطوير تطبيق ويب تفاعلي باستخدام Flask.
واجهة بسيطة تتيح للمستخدم رفع الصور ومعالجتها فورياً للحصول على النتيجة مع نسبة الثقة (Confidence Score).
- الأدوات والمكتبات المستخدمة
اللغات والإطارات البرمجية Python, TensorFlow, Keras
بناء النموذج EfficientNetB0, Scikit-learn
معالجة الصور والبيانات OpenCV, PIL, Pandas, NumPy
تطوير الويب Flask, HTML5, CSS3, JavaScript
- النتائج المحققة
الدقة (Accuracy): تجاوزت 90% على بيانات التحقق.
المرونة: القدرة على التعرف على حالات طقس معقدة مثل (Rime, Glaze, Sandstorm) بدقة عالية.
الاستقرار: نجاح النموذج في الحفاظ على أداء متوازن بفضل استخدام EarlyStopping و ModelCheckpoint.