Keypoints
النقاط المفتاحية نقاط مسماة، مثل مفاصل الشخص، تُخزّن كإحداثيات مع مؤشر للرؤية. ويتناول هذا المفهوم كيفية تعريفها وتسميتها والتنبؤ بها واستخدامها.
النقاط المفتاحية هي نقاط محددة ذات أسماء على كائن ما، مثل معصم الشخص الأيسر أو مركز عجلة سيارة أو زوايا صندوق، وتُخزّن على هيئة إحداثيات في الصورة. يتنبأ نموذج تقدير الوضعية بمجموعة ثابتة منها لكل كائن يعثر عليه، ولكل نقطة درجة ثقة، وتشكل الحواف بينها هيكلًا عظميًا يلتقط الوضعية والشكل. وتحدّد النقاط المفتاحية أجزاء الكائن، فتقدّم وصفًا أدق من صندوق محيط للكائن كاملًا أو قناع تجزئة لمحيطه. وتُستخدم كلمة «المعالم» مرادفًا لها، ولا سيما للوجوه.
تعريف النقاط المفتاحية وتسميتها#
تحدّد كل مجموعة بيانات مجموعة النقاط المفتاحية وترتيبها. تعرّف COCO 17 نقطة مفتاحية لجسم الإنسان: الأنف والعينان والأذنان والكتفان والمرفقان والرسغان والوركان والركبتان والكاحلان. وتخزّن كل تسمية إحداثيي x وy بالإضافة إلى علامة للرؤية: 0 لغير المسمّاة، و1 للمسمّاة لكنها محجوبة، و2 للمسمّاة والمرئية. وتغطي مجموعات أخرى موضوعات مختلفة، مثل النقاط الـ21 في مجموعة بيانات نقاط اليد المفتاحية، ونظام الوجه ذي النقاط الـ68 في 300-W، و24 نقطة لكل كلب في Dog-Pose، أو زوايا قطعة مصنّعة. ولأن للترتيب دلالة، يجب أن يبدّل تعزيز البيانات الذي يقلب الصورة أفقيًا كل نقطة مفتاحية يسارية بنظيرتها اليمنى، وإلا فسيظل المعصم الأيسر في الصورة المقلوبة موسومًا بأنه الذراع الأخرى.
كيف تتنبأ النماذج بالنقاط المفتاحية#
تتنبأ نماذج التعلّم العميق بالنقاط المفتاحية إما باستخدام خرائط حرارية، خريطة لكل نقطة تكون ذروتها دالة على موقعها، أو بانحدار الإحداثيات مباشرةً من ميزات الصورة. ويرافق كل تنبؤ مستوى ثقة ينخفض للنقاط المخفية خلف شخص آخر أو المقطوعة عند حافة الإطار أو المموهة بسبب الحركة، ما يتيح للتطبيقات تجاهل النقاط منخفضة الثقة بدلًا من الوثوق بتخمينها. وتُقيّم التنبؤات باستخدام تشابه النقاط المفتاحية للكائن (OKS)، الذي يتسامح مع أخطاء أكبر في النقاط التي لا يحددها الأشخاص باتساق كبير، مثل الوركين، مقارنةً بالنقاط الدقيقة مثل العينين.
from ultralytics import YOLO
# Load a YOLO26 pose model that predicts the 17 COCO body keypoints per person
model = YOLO("yolo26n-pose.pt")
results = model("https://ultralytics.com/images/bus.jpg")
keypoints = results[0].keypoints
# COCO order: index 0 is the nose, 9 and 10 are the left and right wrists
for index, name in [(0, "nose"), (9, "left wrist"), (10, "right wrist")]:
x, y = keypoints.xy[0, index].tolist()
print(f"{name}: ({x:.0f}, {y:.0f}), confidence {keypoints.conf[0, index]:.2f}")يمثّل كل سطر نقطة مفتاحية واحدة للشخص الأول المكتشف، موضحًا موضعها بالبكسل ودرجة الثقة، بينما يحتوي keypoints.xyn على المواضع نفسها مطبّعةً إلى حجم الصورة.
النقاط المفتاحية الدلالية مقابل نقاط الاهتمام#
نقاط الوضعية المفتاحية دلالية: إذ يتعلم النموذج شكل المعصم الأيسر. أما نقاط الاهتمام، فيكتشفها كاشف بدلًا من تعريفها مسبقًا. يعثر SIFT (1999) على البقع التي تظل ثابتة عبر تغيّر المقياس والدوران، ويكتشف ORB (2011) الزوايا بسرعة تكفي للرسم الخرائطي الآني، بينما يتعلم SuperPoint (2018) العثور على نقاط قابلة لإعادة الاكتشاف. ويتيح واصف يُحسب حول كل نقطة للمطابقات، مثل LightGlue، ربط النقطة نفسها عبر الصور لأغراض مطابقة الصور وإعادة البناء ثلاثي الأبعاد وتحديد الموقع ورسم الخرائط المتزامنين بصريًا (SLAM)، كما يتتبع تعقّب النقاط هذه النقاط عبر الفيديو.
القياس باستخدام النقاط المفتاحية#
تحوّل النقاط المفتاحية الصورة إلى هندسة: تحدد نقطتان مسافةً، وثلاث نقاط زاوية مفصلية، ويحدّد تسلسل عبر الإطارات السرعة. ويحسب حل Ultralytics لمراقبة التمارين الرياضية تكرارات التمارين بهذه الطريقة؛ إذ يقيس افتراضيًا الزاوية عند المرفق الأيمن من النقاط المفتاحية 6 و8 و10 (الكتف والمرفق والمعصم الأيمن) في نموذج وضعية YOLO26 لكل شخص يجري تتبعه:
- تحليل الرياضة: تصف زوايا المفاصل وسرعات الأطراف المستمدة من النقاط المفتاحية حركة أرجوحة الغولف أو خطوة العداء أو حركة رمي الرامي إطارًا تلو الآخر.
- مراقبة السائق: تقيس معالم العين والفم مدة إغلاق العينين ومعدل تثاؤب السائق، وهما علامتان على النعاس.
- سلوك الحيوانات: يتتبع DeepLabCut نقاطًا يحددها المستخدم على حيوانات المختبر، مثل مواضع الكفوف والخطم، وقد حقق دقة بمستوى البشر باستخدام نحو 200 إطار موسوم.










