مقدمة
يهدف هذا المشروع إلى تطوير لعبة ألغاز تفاعلية تُلعب عبر المتصفح باستخدام إيماءات اليد، دون الحاجة إلى أدوات إدخال تقليدية مثل الفأرة أو لوحة المفاتيح. تستند اللعبة إلى تقنيات تعلم الآلة لتفسير حركات اليد، وتُعد مثالًا عمليًا على التكامل بين الذكاء الاصطناعي، تطوير الويب، وعمليات MLOps.
دوري الرئيسي في المشروع
- تمثلت مساهمتي الأساسية في تطوير نظام الذكاء الاصطناعي الذي يمكن اللاعبين من التحكم في اللعبة باستخدام إيماءات اليد.
- تدريب نموذج تعلم آلي لتصنيف الإيماءات بدقة.
- ربط النموذج بواجهة اللعبة لتمكين التفاعل اللحظي.
- تصميم وتنفيذ واجهة التواصل بين الكاميرا والنموذج والخادم.
- دمج MediaPipe لاستخلاص إحداثيات اليد وتحويلها إلى إشارات يمكن للنموذج تفسيرها.
كيف يعمل المشروع؟
- التقاط الإيماءات: عند تشغيل اللعبة، يتم تفعيل كاميرا الويب لالتقاط صورة اللاعب في الوقت الفعلي.
- استخراج معالم اليد: تستخدم مكتبة MediaPipe لاستخراج 21 نقطة (landmarks) تمثل مواضع مفصلات اليد.
- إرسال البيانات إلى الخادم: يتم إرسال إحداثيات اليد كطلب API إلى خادم FastAPI يحتوي على نموذج تعلم الآلة المُدرَّب.
- تصنيف الإيماءة: يستخدم الخادم نموذج XGBoost لتحليل الإحداثيات وتصنيف الإيماءة المنفذة (مثل: تحريك لليمين، اليسار، الضغط، إلخ).
- التحكم في اللعبة: يتم إرسال النتيجة إلى الواجهة الأمامية (Frontend) واستخدامها لتنفيذ الحركة داخل اللعبة (مثل تحريك عنصر أو حل جزء من اللغز).
- مراقبة الأداء: يتم تسجيل بيانات الاستخدام وتتبع أداء النموذج في الوقت الفعلي باستخدام Prometheus وGrafana.