> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/ai-blocks/skeleton-estimation.md).

# Skeleton Estimation

تقوم هذه الدالة بتقدير الهيكل العظمي الكامل للأجسام في الصور المُدخلة. توفر مستويات تفصيل مختلفة (`Body`, `Body with Feet`, `Wholebody`)، أوضاع أداء قابلة للتعديل، وحدود ثقة لتوازن السرعة والدقة. النواتج تشمل صورة بصرية موضَّحة، بيانات هيكلية عن العظام/النقاط، بيانات تعريفية عن النموذج، وعدد الأشخاص المكتشفين.

## 📥 المدخلات

`Image`\
الصورة المراد تحليلها لاكتشاف وضعيات الأشخاص. يمكن أن تكون إطار كاميرا، صورة محمَّلة، أو صورة معالجة من بلوك آخر.

## 📤 المخرجات

`Visualization`\
صورة مع رسومات الهيكل العظمي ومربعات الإحاطة للأشخاص المكتشفين.

`Skeletons`\
بيانات مُهيكلة تصف الأشخاص المكتشفين: مربعات الإحاطة، النقاط الرئيسية (مع أسماء وقيم الثقة)، وتجميعات أجزاء الجسم إن وُجدت.

`Model Info`\
معلومات وصفية عن إعدادات النموذج الحالي (نوع النموذج، الوضع، الجهاز، الحداث).

`Person Count`\
عدد الأشخاص المكتشفين كما يظهر في المخرجات المُهيكلة.

## 🕹️ عناصر التحكم (Controls)

* `Model Type` — اختر مستوى التفصيل: `Body` (17 نقاط)، `Body with Feet` (26 نقطة)، أو `Wholebody` (الجسم + الوجه + اليدين).
* `Mode` — اختر ملف تعريف المعالجة للمواءمة بين السرعة والدقة (مثل `lightweight`, `balanced`, `performance`).
* `Skeleton Style` — اختر شكل إخراج النقاط، مثلاً صيغ `MMPose` أو `OpenPose`.
* `Detection Threshold` — حد الثقة الأدنى ليُعتبر الشخص المكتشف صالحًا.
* `Keypoint Threshold` — حد الثقة الأدنى لاعتبار كل نقطة رئيسية مرئية.
* `Max Persons` — حد أقصى لعدد الأشخاص المراد معالجتهم وإرجاعهم لتحافظ على الأداء.

## 🎯 الميزات الرئيسية (Features)

* خيارات نماذج متعددة تُمكِّن كشف سريع للجسم فقط أو تحليل تفصيلي للـ wholebody.
* ضبط الأداء عبر `Mode`, `Detection Threshold`, و`Max Persons` ليتوافق مع قدرات الجهاز.
* تصفية النقاط الرئيسية بناءً على الثقة حتى تُبلّغ فقط النقاط الموثوقة.
* مخرجات بصرية تسهّل التحقق (تراكب الهياكل ومربعات الإحاطة).
* مخرجات مُهيكلة مناسبة للتحليلات أو الأتمتة أو السجلات.

## ⚙️ آلية العمل (للمستخدم)

* عند تزويد البلوك بصورة، يُشغّل النموذج المُختار ويُرجع صورة موضّحة وبيانات وضعية مُنظّمة.
* `Detection Threshold` يحدد متى يُعتبر الشخص المكتشف صالحًا: القيم المنخفضة تعيد اكتشافات أكثر (مع احتمال إيجابيات كاذبة)، والقيم العالية أكثر صرامة.
* `Keypoint Threshold` يحدد أي النقاط تُعلَن كمرئية بناءً على مستوى الثقة.
* `Max Persons` يحدّ النتائج لأفضل الاكتشافات للحفاظ على الأداء في المشاهد المزدحمة.
* البلوك يتكيف مع `Mode` المختار للموازنة بين السرعة والدقة: اختر أوضاعًا أخفّ للزمن الحقيقي وأوضاعًا أثقل للدقة الأعلى.

## 📝 تعليمات الاستخدام

1. وصل مصدر الصورة إلى `Image` — غالبًا إطارات كاميرا مثل `Camera USB` أو `Camera IP (ONVIF)` أو صورة محمَّلة عبر `Load Image`.
2. اختر `Model Type` بحسب مستوى التفاصيل المطلوب.
3. اضبط `Mode` ليناسب توقعات الأداء (أسرع أو أدق).
4. عدّل `Detection Threshold` و`Keypoint Threshold` لتصفية الاكتشافات غير الموثوقة.
5. اختياريًا: قلّل `Max Persons` للمعالجة الأسرع على الأجهزة محدودة الموارد.
6. استخدم المخرجات: اعرض `Visualization` عبر `Show Image`، وأرسل `Skeletons` للتحليل أو التسجيل، وراقب `Person Count`.

## 💡 نصائح وحيل

* للمراقبة الحية، استخدم `Camera USB`, `Camera IP (ONVIF)` أو `Stream Reader`. للاختبار استخدم `Load Image`.
* إذا كان المعالجة بطيئة:
  * اختر `Mode` أسرع.
  * قلّل `Max Persons`.
  * أعد تحجيم الصور مسبقًا باستخدام `Image Resize` قبل هذا البلوك.
* لتحسين الثبات في الصور المزعجة، طبّق معالجة مسبقة مثل `Blur` أو `Denoising`.
* للتركيز على منطقة محددة (باب، خط تجميع)، قص الصورة بـ`Image ROI` أو `Image ROI Select` ثم شغّل التقدير على تلك المنطقة فقط.
* أمثلة لطرق الجمع مع بلوكات أخرى:
  * إرسال `Visualization` إلى `Show Image` للمعاينة التفاعلية.
  * إضافة مربعات أو تسميات باستخدام `Draw Detections` أو `Write Text On Image` لواجهات المشغل.
  * حفظ لقطات التحقق عبر `Image Logger` أو تسجيل جلسات باستخدام `Record Video`.
  * تحويل `Skeletons` إلى سجلات عبر `Data to JSON` أو تصدير الأعداد عبر `CSV Export`.
* لحالات السلامة أو التحليلات الأعلى:
  * استخدم `Skeletons` مع `Social Distance Detector` للتحقق من انتهاكات القرب (قد تحتاج لتحويل منظور أو معايرة عبر `Perspective Transform`).
  * ادخل مربعات الأشخاص أو مراكزهم إلى منطق مخصص لإطلاق تنبيهات أو إجراءات خارجية (مثل `Send Mail` أو `MQTT Publish`).

## 🛠️ استكشاف الأخطاء وإصلاحها

* إذا كانت الاكتشافات قليلة أو معدومة:
  * زد تدريجيًا `Detection Threshold` و/أو `Keypoint Threshold`، أو جرِّب `Mode` أدق.
  * تأكّد من أن الهدف مضاء جيدًا وواضحًا في مصدر `Image`.
  * جرّب إعادة تحجيم الصورة (`Image Resize`) لمطابقة مقياس الهدف المتوقع.
* إذا كان الأداء أو الاستجابة ضعيفين:
  * اختر `Mode` أخفّ، قلّل `Max Persons`، أو استخدم `Image Resize` لتقليل حجم الصور.
* إذا بدت النتائج متقلبة بين الإطارات:
  * فكّر في إضافة تمليس زمني في المنطق التالي أو سجل فقط الاكتشافات ذات الثقة العالية.
* إذا فشل تهيئة النموذج أو تشغيله: تأكّد من توفر مكونات وقت التشغيل المطلوبة (قابلة للتثبيت عبر أدوات التطبيق) ثم أعد تشغيل البلوك.

## 🔗 أمثلة لتدفقات البلوكات

* مراقبة في الزمن الحقيقي: `Camera USB` → `Image Resize` → `Skeleton Estimation` → `Draw Detections` → `Show Image`
* سجل تدقيق: `Camera IP (ONVIF)` → `Skeleton Estimation` → `Image Logger` + `Data to JSON`
* تطبيق سلامة (فحص التباعد): `Camera USB` → `Skeleton Estimation` → (استخراج مراكز الأشخاص) → `Social Distance Detector` → `Draw Result On Image`

استخدم هذه التركيبات لبناء أنظمة كشف وضعيات موثوقة وفعالة دون الحاجة للتعامل مع تفاصيل التنفيذ.
