المشروع عبارة عن نظام رؤية حاسوبية (Computer Vision) متقدم لتصنيف أنواع الرياضات المختلفة باستخدام صور ثابتة. يعتمد المشروع على تقنية التعلم بنقل المعرفة (Transfer Learning) باستخدام نموذج EfficientNetB3 الشهير لتحقيق دقة عالية جداً في التصنيف.
خطوات العمل التفصيلية:
إعداد البيانات (Data Setup):
يتم تنظيم الصور في مسارات للتدريب (Train)، الاختبار (Test)، والتحقق (Valid).
يقوم الكود بإنشاء "DataFrames" تحتوي على مسارات الصور والفئات (Labels) المقابلة لها.
بناء النموذج (Model Architecture):
استخدام نموذج EfficientNetB3 كقاعدة أساسية (Base Model) مع أوزان "ImageNet" مسبقة التدريب.
إضافة طبقات مخصصة تشمل:
Batch Normalization: لضمان استقرار التدريب.
Dense Layers: مع تفعيل "ReLU".
Dropout: بنسبة تقليل (0.45) لمنع الإفراط في التخصيص (Overfitting).
Softmax: في الطبقة الأخيرة لتصنيف الصور إلى الفئات الرياضية المتعددة.
تدريب النموذج (Training Strategy):
استخدم الكود محسّن Adamax بمعدل تعلم (Learning Rate) أولي قدره 0.001.
تطبيق تقنيات متقدمة للتحكم في التدريب مثل:
ReduceLROnPlateau: لتقليل معدل التعلم تلقائياً عند ثبات دقة التحقق.
EarlyStopping: لإيقاف التدريب فوراً إذا توقف النموذج عن التحسن، مما يوفر الوقت ويمنع الـ Overfitting.
التقييم والنتائج (Evaluation):
يتم تقييم النموذج باستخدام مصفوفة الارتباك (Confusion Matrix) وتقرير التصنيف (Classification Report) الذي يوضح دقة كل فئة رياضية على حدة.
يصل النموذج إلى دقة عالية جداً (كما هو موضح في العنوان 98.6%).
المخرجات النهائية (Deployment Readiness):
حفظ الأوزان النهائية للنموذج في ملف بصيغة .h5.
إنشاء ملف CSV يحتوي على مؤشرات الفئات (Class Indices) وأحجام الصور، مما يسهل استخدام النموذج لاحقاً في تطبيقات عملية أو واجهات برمجية.
الهدف النهائي: توفير أداة قادرة على التعرف بدقة فائقة على نوع الرياضة الموجودة في أي صورة يتم إدخالها للنظام.