رؤية YOLO 2026:

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

مقدمة#

يحتوي مجموعة بيانات Hand Keypoints من Ultralytics على 26,768 صورة لأيدٍ مُعنّفة بـ 21 نقطة رئيسية لكل منها، والتي تم إنشاؤها باستخدام مكتبة Google MediaPipe لضمان دقة واتساق عاليين. وهو متوافق مع تنسيقات Ultralytics YOLO26 لتدريب نماذج تقدير الوضعية.



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

النقاط الرئيسية (Keypoints)#

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

يتم تحديد كل يد بـ 21 نقطة مفصلية كما يلي:

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

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

  • إجمالي الصور: 26,768 (18,776 للتدريب / 7,992 للتحقق).
  • الفئات: 1 (يد).
  • النقاط الرئيسية: 21 نقطة لكل يد مع ثلاثيات (x, y, visibility).
  • حجم التحميل: ~369 ميجابايت.

بالنسبة لمفردات الإيماءات المخصصة التي تتجاوز معالم اليد العامة، تتولى Ultralytics Platform عملية التسمية والتدريب لمجموعة البيانات الخاصة بك مباشرة من المتصفح.

التطبيقات#

تدعم النقاط المفصلية لليد العديد من التطبيقات الواقعية:

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

YAML مجموعة البيانات#

يتم استخدام ملف YAML لتحديد تكوين مجموعة البيانات. وهو يحتوي على معلومات حول مسارات مجموعة البيانات، والفئات، ومعلومات أخرى ذات صلة. في حالة مجموعة بيانات Hand Keypoints، يتم الاحتفاظ بملف 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 على مجموعة بيانات Hand Keypoints لمدة 100 حقبة تدريبية (epochs) بحجم صورة 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)

صور وشروحات توضيحية عينة#

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

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

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

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

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

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

اقتباس

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

تم جمع الصور واستخدامها بموجب التراخيص ذات الصلة المقدمة من كل منصة ويتم توزيعها بموجب رخصة المشاع الإبداعي النسبة للمُصنِّف - غير التجاري - المشاركة بالمثل 4.0 الدولية.

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

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

  • قم بتحميل yolo26n-pose.pt واستدعِ model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640) - راجع قسم Train Example أعلاه للحصول على مقتطفات Python و CLI الكاملة، وصفحة Training للنموذج للحصول على قائمة شاملة بالوسائط.

  • مع 26,768 صورة مُعنّفة و21 نقطة رئيسية لكل يد تم إنشاؤها عبر Google MediaPipe، تمنح مجموعة بيانات Hand Keypoints نماذج تقدير الوضعية النطاق ودقة التسمية اللازمين لمهام تقدير الوضعية المتقدمة. راجع قسم النقاط الرئيسية للحصول على تحليل تفصيلي للمعالم.

  • تدعم Hand Keypoints التعرف على الإيماءات، والتحكم عبر الواقع المعزز/الافتراضي، والتحكم الآلي للروبوتات، وتحليل حركة الرعاية الصحية، والرسوم المتحركة، والمصادقة الحيوية — راجع قسم التطبيقات للحصول على تفاصيل حول كل منها.

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

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

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

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

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

التعليقات