🏃♂️ PoseNet — تتبّع وضعية الجسم بالكامل في Scratch #
تضيف إضافة PoseNet إلى Scratch إمكانية حقيقية لتتبّع الجسم بالكامل باستخدام الذكاء الاصطناعي.
وتتيح لمشاريعك الاستجابة لحركات جسمك—المشي، والتلويح، والرقص، والقفز—كل ذلك في الوقت الفعلي، مباشرةً داخل متصفحك، من دون الحاجة إلى أي إعداد.
سهلة بما يكفي للطلاب، وقوية بما يكفي للمشاريع الإبداعية داخل الصفوف الدراسية. ✨
![]()

🌟 ملخص #
- اكتشاف الجسم بالكامل: تتبّع المفاصل الرئيسية—الرأس، والكتفين، والمرفقين، والرسغين، والوركين، والركبتين، والكاحلين.
- 33 نقطة مميزة: يُستخدم نموذج BlazePose مع 33 keypoints (نقطة رئيسية) للرأس والذراعين والجذع والساقين.
- قراءة الإحداثيات: احصل على موضع X وY لأي مفصل مكتشف مباشرةً على منصة Scratch—واستخدمهما لتحريك الكائنات أو تشغيل إجراءات.
- القياس: احسب الزوايا والمسافات بين مفصلين.
- تغيير معاينة الكاميرا: اعرض صورة الكاميرا المباشرة أو أخفِها أو اعكسها لتناسب إعدادك.
- اختيار مصدر الإدخال: حلّل الصورة من الكاميرا المباشرة أو مباشرةً من صورة منصة Scratch.
✨ الميزات الرئيسية #
- تتبّع الجسم بالكامل لشخص واحد باستخدام نموذج BlazePose.
- قائمة منسدلة سهلة الاستخدام للمفاصل الشائعة في الجسم.
- إمكانية ضبط الفاصل الزمني لـ classify للحصول على أداء أكثر سلاسة.
- التحكم في معاينة الكاميرا والشفافية واختيار جهاز الكاميرا.
- تعمل بالكامل داخل المتصفح - فهي آمنة وتحافظ على الخصوصية..
🚀 كيفية الاستخدام #
- انتقل إلى: pishi.ai/play
- افتح قسم الإضافات.
- اختر إضافة PoseNet.
- اسمح بالوصول إلى الكاميرا إذا طُلب منك ذلك، وتأكد من ظهور معاينة الفيديو.
- إذا لم يتم اكتشاف أي كاميرا، فسيتحوّل مصدر الإدخال تلقائيًا إلى صورة المنصة.
- بعد تحميل الإضافة، يبدأ اكتشاف الوضعية المستمر تلقائيًا، ويمكنك تغيير وضعه في أي وقت.
- يمكنك الآن استخدام لبنات الموضع أو القياس لجعل الكائنات تستجيب لجسمك—تحرّك أو اقفز أو لوّح للتحكم في مشروعك!
نصائح
- قف بحيث يظهر الجزء العلوي من جسمك بالكامل، مع إضاءة مناسبة.
- استخدم people count للتحقق مما إذا كان هناك شخص مكتشف حاليًا.
- في الصفوف الدراسية أو على الأجهزة الأقدم، ابدأ التصنيف بفاصل زمني يتراوح بين 100–250 ms للحصول على أداء أكثر سلاسة.
🧱 الكتل والوظائف #
📍 الموضع والعدد #
تعرض موضع X أو Y لمفصل في الجسم على المنصة.
KEYPOINT: اختر مفصلًا من القائمة المنسدلة، مثل الكتف أو المرفق أو الرسغ وغيرها.
PERSON_NUMBER: يحدد الشخص الذي تريد تتبّعه. في BlazePose تكون القيمة 1 فقط. وتعني “1” أول شخص تم اكتشافه.
تُرجع اللبنة قيمة فارغة إذا لم يتم اكتشاف أي شخص، أو إذا كان المفصل المحدد خارج مجال رؤية الكاميرا، أو إذا كانت confidence (درجة الثقة) في اكتشافه أقل من الحد الأدنى.
تعرض عدد الأشخاص المكتشفين حاليًا، وهو 0 أو 1. يتتبّع BlazePose شخصًا واحدًا في كل مرة للحصول على أفضل دقة.
📏 القياسات #
تعرض الزاوية بالدرجات بين مفصلين لدى شخص واحد—وهي مفيدة لاكتشاف رفع الذراع أو الميل أو وضعية الجسم.
تعرض المسافة ببكسلات المنصة بين مفصلين—وهي مناسبة لقياس طول الخطوة أو المسافة بين الذراعين.
اختر ما يجب أن تُرجعه لبنات الإحداثيات عندما لا يتم العثور على شخص أو مفصل.
RETURN_TYPE: يحتفظ بآخر إحداثيات تم العثور عليها، أو يُرجع قيمة فارغة بدلًا منها.
ملاحظات:
النقطتان الافتراضيتان: 11 (left shoulder — الكتف الأيسر) و 12 (right shoulder — الكتف الأيمن).
تتمركز الإحداثيات حول مركز المنصّة (X ≈ −240…240, Y ≈ −180…180).
عندما يكون الفيديو معكوسًا، يتم أيضًا عكس قيم إحداثي X لتتطابق مع ما تراه على الشاشة.
🎯 درجة الثقة #
تحدد الحد الأدنى لدرجة الاكتشاف المطلوبة، من 0–1، حتى يُعد المفصل صالحًا.
إذا كانت confidence (درجة الثقة) لمفصل أقل من هذا الحد، فسيتم تجاهله—وبذلك تُرجع لبنات X/Y أو الزاوية أو المسافة قيمة فارغة بدلًا من قيم غير مستقرة.
0.3–0.5 — ارفعها إلى 0.3-0.5 لتقليل الاهتزاز أو الحركات الخاطئة.
0.1–0.2 — اخفضها إلى 0.1-0.2 إذا كان النظام يفقد باستمرار المفاصل الصغيرة مثل الرسغين أو الكاحلين.
تعرض قيمة حد الثقة الحالية—وهي مفيدة لإظهارها على الشاشة أو تعديلها ديناميكيًا أثناء المشروع.
ملاحظة: يُطبّق ترشيح confidence (درجة الثقة) على كل مفصل بشكل مستقل، وليس على الشخص بالكامل.
إذا لم يصل مفصل معين إلى الحد المطلوب، فستُرجع أي لبنة تستخدم إحداثيات ذلك المفصل، مثل الموضع أو الزاوية أو المسافة، قيمة فارغة.
⚙️ عناصر التحكم في التصنيف #
- صنّف [INTERVAL] - اختر عدد مرات تشغيل عملية الكشف:
- في كل مرة تعمل فيها هذه اللبنة
- بشكل مستمر، من دون تأخير
- بشكل مستمر، كل 50–2500 مللي ثانية
- اضبط التصنيف [تشغيل/إيقاف] - ابدأ عملية الكشف المستمر أو أوقفها.
- classification interval - يعرض الفاصل الزمني الحالي بالمللي ثانية.
- تصنيف مستمر - يعرض «تشغيل» أو «إيقاف» للإشارة إلى حالة الكشف المستمر.
- اختر صورة الإدخال [الكاميرا / المنصّة] - اختر الكاميرا أو المنصّة.
- input image - يعرض مصدر الإدخال النشط.
🎥 عناصر التحكم في الفيديو #
- اضبط الفيديو على [إيقاف/تشغيل/تشغيل مع قلب]
- on: يعرض معاينة الكاميرا بصورة معكوسة، مثل كاميرا الويب أو المرآة المعتادة.
- on-flipped: يعرض معاينة الكاميرا بصورة غير معكوسة؛ فتظهر الاتجاهات كما هي في العالم الحقيقي.
- off: يوقف عرض معاينة الكاميرا. في وضع إدخال المنصة، تستمر عملية الكشف.
- اجعل شفافية الفيديو مساويةً [TRANSPARENCY|text] - يتحكم في مدى وضوح معاينة الكاميرا:
- 0: ظاهرة بالكامل (صورة معتمة).
- 100: شفافة بالكامل (غير مرئية، لكنها تظل نشطة).
- اختر الكاميرا [CAMERA] - يتيح لك الاختيار من بين الكاميرات المتاحة على جهازك. تعرض القائمة المنسدلة جميع الكاميرات المكتشفة، وتنتقل الإضافة تلقائيًا إلى الكاميرا التي تختارها.
- إظهار مربعات الكشف [تشغيل/إيقاف]شغّل أو أوقف عرض مربعات الكشف. عند تشغيله، تظهر مربعات حول كل كائن تم اكتشافه، حتى تتمكن من رؤية الكائنات التي يتتبعها النموذج. هذه الميزة مفيدة لاختبار الكاميرا، والتحقق من مدى جودة عمل النموذج، وتصحيح أخطاء المشروع في الوقت الفعلي.
🦵 النقاط الرئيسية الشائعة (أرقام مفيدة) #
استخدم أرقام الاختصار هذه للمفاصل الشائعة في الجسم، أو اختر المفصل من القائمة المنسدلة.
BlazePose (33 keypoints):
1 / 2 / 3: الجزء الداخلي / المركز / الجزء الخارجي من العين اليسرى
4 / 5 / 6: الجزء الداخلي / المركز / الجزء الخارجي من العين اليمنى
7 / 8: الأذن اليسرى / اليمنى 9 / 10: يسار / يمين الفم
11 / 12: الكتف الأيسر / الأيمن 13 / 14: المرفق الأيسر / الأيمن
15 / 16: الرسغ الأيسر / الأيمن 17 / 18: الخنصر الأيسر / الأيمن
19 / 20: السبابة اليسرى / اليمنى 21 / 22: الإبهام الأيسر / الأيمن
23 / 24: الورك الأيسر / الأيمن 25 / 26: الركبة اليسرى / اليمنى
27 / 28: الكاحل الأيسر / الأيمن 29 / 30: الكعب الأيسر / الأيمن
31 / 32: مقدمة القدم اليسرى / اليمنى
تتطابق الأرقام مع فهارس landmarks (النقاط المميزة) المستخدمة في MediaPipe BlazePose.
🎓 الاستخدامات التعليمية #
- استكشف الميكانيكا الحيوية باستخدام زوايا المفاصل والمسافات المباشرة.
- علّم أنظمة الإحداثيات من خلال ربط حركة الجسم بمواضع الكائنات على المنصة.
- طبّق الرياضيات والهندسة لقياس التناظر أو طول الخطوة أو وضعية الجسم.
- أنشئ مشاريع تفاعلية للفن أو الرقص أو اللياقة البدنية تتحكم فيها الحركة.
🎮 مشاريع نموذجية #
- عداد القفزات: اكتشف حركة Y للكاحل لاحتساب القفزات.
- التحكم برفع الذراع: ارفع يدك لتحريك كائن إلى الأعلى.
- لعبة التوازن: استخدم زوايا الكتفين للحفاظ على الكائن في المنتصف.
- مرآة الرقص: اربط الرسغين والكاحلين بتأثيرات ملوّنة.
- مدرب القرفصاء: احسب مرات القرفصاء باستخدام زوايا الورك والركبة.
✨ جرّب مشروعًا #
هل أنت مستعد لتطبيق ما تعلمته عمليًا؟
تحكّم في Pishi باستخدام كتفيك في Scratch
استخدم تتبع الوضعية للتحكم في Pishi عن طريق إمالة كتفيك إلى اليسار واليمين.
عرض المشروع
🧩 جرب بنفسك: pishi.ai/play
🔧 نصائح وحلول للمشاكل #
- لا توجد كاميرا؟
• تأكد من توصيل الكاميرا والسماح للمتصفح باستخدامها.
• إذا كانت الكاميرا محظورة، فاسمح باستخدامها من إعدادات الموقع في متصفحك، ثم أعد تحميل الصفحة.
• عند تحميل الإضافة، إذا لم يتم اكتشاف أي كاميرا، تتحول صورة الإدخال تلقائيًا إلى منصة Scratch (Stage)، وهي مساحة العرض التي تظهر فيها الخلفيات والكائنات، بحيث يمكنك الاستمرار في استخدام ميزات الإضافة واختبارها. - لا توجد نتائج كشف؟
• تصنيف مستمر: استخدم لبنة المراسل هذه للتحقق مما إذا كان التصنيف نشطًا.
• إذا كان التصنيف نشطًا، فحسّن الإضاءة وواجه الكاميرا مباشرةً.
• اضبط التصنيف [تشغيل]: استخدم هذه اللبنة إذا لم يكن التصنيف نشطًا، ثم تحقق من حالة التصنيف مرة أخرى باستخدام لبنة المراسل السابقة.
• في وضع إدخال الكاميرا، يتوقف التصنيف أيضًا عند إيقاف تشغيل الكاميرا؛ يجب إعادة تشغيل الفيديو أو تحويل مصدر الإدخال إلى المنصة.
• في وضع إدخال المنصة، يصنّف النظام كل ما يظهر على المنصة، بما في ذلك الخلفيات والكائنات والصور. يمكنك إيقاف الفيديو تمامًا مع الاستمرار في معالجة صور المنصة.
• وضع المنصة أبطأ من إدخال الكاميرا؛ لذلك قلّل الفاصل الزمني للتصنيف، مثل 100–250 مللي ثانية، للحصول على نتائج أكثر سلاسة باستخدام هذه اللبنة: صنّف [INTERVAL]
• في وضع المنصة، يتم تبديل معالم «اليسار» و«اليمين» لأن صورة المنصة غير معكوسة؛ إذ تمثل مساحة الإحداثيات عرضًا حقيقيًا غير معكوس.
• يمكن أيضًا إعادة تشغيل التصنيف تلقائيًا عند استخدام لبنات مثل:
اضبط الفيديو على [تشغيل] / صنّف [INTERVAL] / اختر الكاميرا [CAMERA] / اختر صورة الإدخال [الكاميرا / المنصّة]. - هل تظهر الصورة معكوسة؟
اضبط الفيديو على [تشغيل مع قلب]: استخدم هذه اللبنة لعرض صورة الكاميرا من دون انعكاس مرآتي. يعرض خيار «تشغيل» الصورة مثل صورة السيلفي، بينما يعرض خيار «تشغيل مع قلب» الاتجاه الحقيقي لليمين واليسار. - هل الأداء بطيء أو متقطع؟
استخدم فاصلًا زمنيًا للتصنيف يتراوح بين 100 و250 مللي ثانية، أو أغلق علامات تبويب المتصفح الأخرى لتقليل حمل المعالجة. - هل يظهر تحذير WebGL2؟
جرّب استخدام Firefox أو جهاز أحدث يدعم تسريع الرسومات باستخدام WebGL2. - هل تريد تحليل المنصة بدلاً من الكاميرا؟
اختر صورة الإدخال [المنصّة]: استخدم هذا لتحليل صورة منصة Scratch بدلاً من بث مباشر من الكاميرا. يمكن أن تتضمن منصة Scratch صورة الكاميرا، بالإضافة إلى أي كائنات وخلفيات ظاهرة حاليًا على المنصة.ملاحظة: قد تكون معالجة منصة Scratch أبطأ من استخدام الكاميرا مباشرةً.
🏃♂️ نصائح خاصة بـ PoseNet #
- لم يتم اكتشاف الشخص؟ تأكد من ظهور الجزء العلوي من جسمك بالكامل—ويجب أن يظهر رأسك وكتفاك وذراعاك على الأقل للحصول على اكتشاف ثابت.
- هل بعض المفاصل مفقودة؟ قد تختفي بعض المفاصل، مثل الرسغين أو الكاحلين، إذا كانت مغطاة أو خارج إطار الصورة. تحقّق من people count للتأكد من اكتشاف الشخص.
- هل درجة الثقة منخفضة لمفصل معيّن؟ حسّن الإضاءة أو اخفض قيمة minimum confidence قليلًا، مثل 0.1–0.2، للمساعدة في اكتشاف المفاصل الصعبة مثل الكاحلين.
- التتبّع غير مستقر؟ قف على مسافة نحو 3–6 أقدام من الكاميرا حتى يظهر جسمك بالكامل وتكون الإضاءة موزعة عليه بشكل متساوٍ.
- هل تريد اكتشاف رفع الذراع؟ قارن موضع Y للنقطتين الرئيسيتين 15 أو 16، أي الرسغين، مع النقطتين الرئيسيتين 11 أو 12، أي الكتفين. إذا كان الرسغ أعلى، فالذراع مرفوعة.
- هل تريد عدّ القفزات؟ تتبّع موضع Y للنقطتين الرئيسيتين 27 أو 28، أي الكاحلين. تشير الحركة المفاجئة إلى الأعلى إلى حدوث قفزة.
- هل تريد اكتشاف القرفصاء؟ قِس الزاوية بين keypoint 23 (الورك)، وkeypoint 25 (الركبة)، وkeypoint 27 (الكاحل). كلما صغرت الزاوية، كان القرفصاء أعمق.
- هل تريد التحقق من وضعية الجسم أو التوازن؟ احسب الزاوية بين النقطتين الرئيسيتين 11 و12، أي الكتفين. يشير الميل بعيدًا عن الوضع الأفقي إلى الميل أو فقدان التوازن.
- هل تريد اكتشاف المشي؟ راقب الحركة المتبادلة في مواضع X للنقطتين الرئيسيتين 27 و28، أي الكاحلين. تشير الحركة المنتظمة من جانب إلى آخر إلى المشي.
- هل يكتشف BlazePose شخصًا واحدًا فقط؟ هذا أمر متوقع—يركز BlazePose على تتبّع الجسم بالكامل لشخص واحد بدقة عالية.
- هل تستخدم وضع المنصة مع صور لأجسام؟ لا تكون landmarks (النقاط المميزة) معكوسة في وضع المنصة—فاليسار واليمين يطابقان الجانبين التشريحيين الحقيقيين.
🔒 الخصوصية والأمان #
- تعمل جميع الوظائف محليًا داخل متصفحك.
- لا يتم تحميل أي صور أو مقاطع فيديو إلى أي مكان.
- يتم تحميل ملفات النموذج مباشرةً من Pishi.ai عند بدء تشغيل الإضافة، لذلك لا يتم استخدام أي خوادم نماذج تابعة لجهات خارجية.
- استأذن دائمًا من معلم أو أحد الوالدين قبل استخدام الكاميرا.
- يمكنك إيقاف الفيديو بأمان في أي وقت اضبط الفيديو على [إيقاف].
🧪 معلومات فنية #
- Model (النموذج): MediaPipe BlazePose
- Framework (إطار العمل): TensorFlow.js (أحدث إصدار) — يعمل بالكامل داخل المتصفح باستخدام تسريع WebGL2
- People (الأشخاص): 1 (اكتشاف شخص واحد)
- Landmarks (النقاط المميزة): 33 keypoints (0–32)
- Coordinates (الإحداثيات): بوحدات بكسل تتمركز حول المنصّة (X إلى اليمين، Y إلى الأعلى)
- العكس: on = معاينة معكوسة، وon-flipped = عرض غير معكوس.
- مصادر الإدخال: الكاميرا أو لوحة المنصّة
- النقطتان الافتراضيتان: 11 (left shoulder — الكتف الأيسر)، 12 (right shoulder — الكتف الأيمن)
- Requirements (المتطلبات): WebGL2 للحصول على أفضل أداء
🔗 الإضافات ذات الصلة #
- 😎 شبكة الوجه — اكتشاف النقاط المميزة للوجه
- 🖐️ Hand Pose – اكتشاف نقاط اليد
- 🖼️ مدرب الصور – إنشاء نماذج ذكاء اصطناعي مخصصة
- 🏫 Google Teachable Machine – استيراد نماذج TM الخاصة بك

