مجموعة بيانات نقاط اليد الرئيسية

مقدمة

تحتوي مجموعة بيانات نقاط اليد الرئيسية (hand-keypoints) على 26,768 صورة لأيادٍ محددة بنقاط رئيسية، مما يجعلها مناسبة لتدريب نماذج مثل Ultralytics YOLO لمهام تقدير الوضعية. تم إنشاء التعليقات التوضيحية باستخدام مكتبة Google MediaPipe، مما يضمن دقة عالية واتساقاً، وتتوافق مجموعة البيانات مع تنسيقات Ultralytics YOLO26.



Watch: Hand Keypoints Estimation with Ultralytics YOLO26 | Human Hand Pose Estimation Tutorial

علامات اليد المرجعية

رسم تخطيطي لعلامات نقاط اليد الرئيسية مع 21 نقطة

Keypoints

تتضمن مجموعة البيانات نقاطاً رئيسية للكشف عن اليد. يتم تحديد النقاط الرئيسية كما يلي:

  1. المعصم
  2. الإبهام (4 نقاط)
  3. السبابة (4 نقاط)
  4. الإصبع الأوسط (4 نقاط)
  5. البنصر (4 نقاط)
  6. الخنصر (4 نقاط)

تحتوي كل يد على ما مجموعه 21 نقطة رئيسية.

الميزات الرئيسية

  • مجموعة بيانات كبيرة: 26,768 صورة مع تعليقات توضيحية لنقاط اليد الرئيسية.
  • توافق YOLO26: تأتي التسميات بتنسيق نقاط YOLO الرئيسية وهي جاهزة للاستخدام مع نماذج YOLO26.
  • 21 نقطة رئيسية: تمثيل مفصل لوضعية اليد يمتد ليشمل المعصم وأربع نقاط لكل إصبع.

هيكل مجموعة البيانات

تم تقسيم مجموعة بيانات نقاط اليد الرئيسية إلى مجموعتين فرعيتين:

  1. Train (التدريب): تحتوي هذه المجموعة الفرعية على 18,776 صورة من مجموعة بيانات نقاط اليد الرئيسية، وهي مخصصة لتدريب نماذج تقدير الوضعية.
  2. Val (التحقق): تحتوي هذه المجموعة الفرعية على 7,992 صورة يمكن استخدامها لأغراض التحقق أثناء تدريب النموذج.

التطبيقات

يمكن استخدام نقاط اليد الرئيسية في التعرف على الإيماءات، وعناصر تحكم AR/VR، والتلاعب الروبوت، وتحليل حركة اليد في الرعاية الصحية. يمكن تطبيقها أيضاً في الرسوم المتحركة لالتقاط الحركة وأنظمة المصادقة البيومترية للأمان. يتيح التتبع المفصل لمواضع الأصابع التفاعل الدقيق مع الأشياء الافتراضية وواجهات التحكم بدون لمس.

ملف YAML الخاص بمجموعة البيانات

يُستخدم ملف YAML (لغة ترميز أخرى) لتحديد إعدادات مجموعة البيانات. يحتوي الملف على معلومات حول مسارات مجموعة البيانات، والفئات، وغيرها من المعلومات ذات الصلة. في حالة مجموعة بيانات نقاط اليد الرئيسية، يتم الاحتفاظ بملف hand-keypoints.yaml على https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/hand-keypoints.yaml.

ultralytics/cfg/datasets/hand-keypoints.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Hand Keypoints dataset by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/pose/hand-keypoints/
# Example usage: yolo train data=hand-keypoints.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── hand-keypoints ← downloads here (369 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: hand-keypoints # dataset root dir
train: images/train # train images (relative to 'path') 18776 images
val: images/val # val images (relative to 'path') 7992 images

# Keypoints
kpt_shape: [21, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 1, 2, 4, 3, 10, 11, 12, 13, 14, 5, 6, 7, 8, 9, 15, 16, 17, 18, 19, 20]

# Classes
names:
  0: hand

# Keypoint names per class
kpt_names:
  0:
    - wrist
    - thumb_cmc
    - thumb_mcp
    - thumb_ip
    - thumb_tip
    - index_mcp
    - index_pip
    - index_dip
    - index_tip
    - middle_mcp
    - middle_pip
    - middle_dip
    - middle_tip
    - ring_mcp
    - ring_pip
    - ring_dip
    - ring_tip
    - pinky_mcp
    - pinky_pip
    - pinky_dip
    - pinky_tip

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/hand-keypoints.zip

الاستخدام

لتدريب نموذج YOLO26n-pose على مجموعة بيانات نقاط اليد الرئيسية لـ 100 دورة تدريبية بحجم صورة 640، يمكنك استخدام مقتطفات الكود التالية. للحصول على قائمة شاملة بالوسيطات المتاحة، ارجع إلى صفحة تدريب النموذج.

مثال على التدريب
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)

صور وعينات تعليقات توضيحية

تحتوي مجموعة بيانات نقاط اليد الرئيسية على مجموعة متنوعة من الصور لأيادٍ بشرية محددة بنقاط رئيسية. إليك بعض الأمثلة على الصور من مجموعة البيانات، جنباً إلى جنب مع التعليقات التوضيحية المقابلة لها:

نموذج مجموعة بيانات تقدير وضعية اليد الرئيسية

  • صورة فسيفسائية: توضح هذه الصورة دفعة تدريب تتكون من صور مجموعة بيانات فسيفسائية. التفسيفس هو تقنية تُستخدم أثناء التدريب تجمع بين صور متعددة في صورة واحدة لزيادة تنوع الأشياء والمشاهد داخل كل دفعة تدريب. يساعد هذا في تحسين قدرة النموذج على التعميم عبر أحجام أشياء ونسب عرض إلى ارتفاع وسياقات مختلفة.

يعرض المثال تنوع وتعقيد الصور في مجموعة بيانات نقاط اليد الرئيسية وفوائد استخدام التجميع (mosaicing) أثناء عملية التدريب.

الاقتباسات والشكر

إذا كنت تستخدم مجموعة بيانات نقاط اليد الرئيسية في بحثك أو عملك التطويري، يرجى الإشارة إلى المصادر التالية:

اقتباس

نود أن نشكر المصادر التالية لتوفير الصور المستخدمة في مجموعة البيانات هذه:

تم جمع الصور واستخدامها بموجب التراخيص ذات الصلة التي توفرها كل منصة، ويتم توزيعها بموجب رخصة المشاع الإبداعي Attribution-NonCommercial-ShareAlike 4.0 الدولية.

نود أيضاً أن نشكر منشئ مجموعة البيانات هذه، Rion Dsilva، على مساهمته الكبيرة في أبحاث Vision AI.

الأسئلة الشائعة

كيف يمكنني تدريب نموذج YOLO26 على مجموعة بيانات نقاط اليد الرئيسية؟

لتدريب نموذج YOLO26 على مجموعة بيانات نقاط اليد الرئيسية، يمكنك استخدام إما Python أو واجهة سطر الأوامر (CLI). إليك مثال لتدريب نموذج YOLO26n-pose لـ 100 دورة تدريبية بحجم صورة 640:

مثال
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)

للحصول على قائمة شاملة بالوسيطات المتاحة، ارجع إلى صفحة التدريب الخاصة بالنموذج.

ما هي الميزات الرئيسية لمجموعة بيانات نقاط اليد الرئيسية؟

صُممت مجموعة بيانات نقاط اليد الرئيسية لمهام تقدير الوضعية المتقدمة وتتضمن العديد من الميزات الرئيسية:

  • مجموعة بيانات كبيرة: تحتوي على 26,768 صورة مع تعليقات توضيحية لنقاط اليد الرئيسية.
  • توافق YOLO26: جاهزة للاستخدام مع نماذج YOLO26.
  • 21 نقطة رئيسية: تمثيل مفصل لوضعية اليد، بما في ذلك مفاصل المعصم والأصابع.

لمزيد من التفاصيل، يمكنك استكشاف قسم مجموعة بيانات نقاط اليد الرئيسية.

ما هي التطبيقات التي يمكن أن تستفيد من استخدام مجموعة بيانات نقاط اليد الرئيسية؟

يمكن تطبيق مجموعة بيانات نقاط اليد الرئيسية في مجالات مختلفة، بما في ذلك:

  • التعرف على الإيماءات: تعزيز التفاعل بين الإنسان والحاسوب.
  • عناصر تحكم AR/VR: تحسين تجربة المستخدم في الواقع المعزز والافتراضي.
  • التلاعب الروبوت: تمكين التحكم الدقيق في الأيادي الروبوتية.
  • الرعاية الصحية: تحليل حركات اليد للتشخيص الطبي.
  • الرسوم المتحركة: التقاط الحركة لرسوم متحركة واقعية.
  • المصادقة البيومترية: تعزيز أنظمة الأمان.

لمزيد من المعلومات، ارجع إلى قسم التطبيقات.

كيف يتم تنظيم مجموعة بيانات نقاط اليد الرئيسية؟

تم تقسيم مجموعة بيانات نقاط اليد الرئيسية إلى مجموعتين فرعيتين:

  1. Train (التدريب): تحتوي على 18,776 صورة لتدريب نماذج تقدير الوضعية.
  2. Val (التحقق): تحتوي على 7,992 صورة لأغراض التحقق أثناء تدريب النموذج.

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

كيف يمكنني استخدام ملف YAML الخاص بمجموعة البيانات للتدريب؟

يتم تحديد إعدادات مجموعة البيانات في ملف YAML، والذي يتضمن المسارات، والفئات، وغيرها من المعلومات ذات الصلة. يمكن العثور على ملف hand-keypoints.yaml على الرابط hand-keypoints.yaml.

لاستخدام ملف YAML هذا للتدريب، حدده في نص التدريب البرمجي الخاص بك أو أمر CLI كما هو موضح في مثال التدريب أعلاه. لمزيد من التفاصيل، ارجع إلى قسم Dataset YAML.

التعليقات