تقدير الوضع
تقدير وضعية الجسم هو مهمة تتضمن تحديد موقع نقاط معينة في الصورة، والتي يشار إليها عادةً باسم النقاط الرئيسية. يمكن أن تمثل النقاط الرئيسية أجزاء مختلفة من الكائن مثل المفاصل أو المعالم أو الميزات المميزة الأخرى. يتم تمثيل مواقع النقاط الرئيسية عادةً كمجموعة من ثنائية الأبعاد [x, y]
أو ثلاثية الأبعاد [x, y, visible]
الإحداثيات.
ناتج نموذج تقدير وضعية الجسم هو مجموعة من النقاط التي تمثل النقاط الرئيسية على كائن في الصورة، عادةً جنبًا إلى جنب مع درجات الثقة لكل نقطة. يعتبر تقدير وضعية الجسم خيارًا جيدًا عندما تحتاج إلى تحديد أجزاء معينة من كائن في مشهد، وموقعها بالنسبة لبعضها البعض.
شاهد: برنامج تعليمي لتقدير الوضعية في Ultralytics YOLO11 | تتبع الكائنات في الوقت الفعلي واكتشاف وضعية الإنسان
نصيحة
YOLO11 pose تستخدم نماذج -pose
، على سبيل المثال. yolo11n-pose.pt
. يتم تدريب هذه النماذج على نقاط COCO الرئيسية وهي مناسبة لمجموعة متنوعة من مهام تقدير وضعية الجسم.
في نموذج YOLO11 الافتراضي لتقدير وضعية الجسم، هناك 17 نقطة رئيسية، تمثل كل منها جزءًا مختلفًا من جسم الإنسان. إليك تعيين كل فهرس إلى مفصل الجسم الخاص به:
- الأنف
- العين اليسرى
- العين اليمنى
- الأذن اليسرى
- الأذن اليمنى
- الكتف الأيسر
- الكتف الأيمن
- الكوع الأيسر
- المرفق الأيمن
- المعصم الأيسر
- المعصم الأيمن
- الورك الأيسر
- الورك الأيمن
- الركبة اليسرى
- الركبة اليمنى
- الكاحل الأيسر
- الكاحل الأيمن
النماذج
يتم عرض نماذج الوضع المدربة مسبقًا Ultralytics YOLO11 هنا. يتم تدريب نماذج الكشف والتجزئة والوضع مسبقًا على مجموعة بيانات COCO، بينما يتم تدريب نماذج التصنيف مسبقًا على مجموعة بيانات ImageNet.
يتم تنزيل النماذج تلقائيًا من أحدث إصدارات Ultralytics release عند الاستخدام الأول.
النموذج | الحجم (بالبكسل) |
mAPpose 50-95 |
mAPpose 50 |
السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) |
السرعة T4 TensorRT10 (بالمللي ثانية) |
المعلمات (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-pose | 640 | 50.0 | 81.0 | 52.4 ± 0.5 | 1.7 ± 0.0 | 2.9 | 7.6 |
YOLO11s-pose | 640 | 58.9 | 86.3 | 90.5 ± 0.6 | 2.6 ± 0.0 | 9.9 | 23.2 |
YOLO11m-pose | 640 | 64.9 | 89.4 | 187.3 ± 0.8 | 4.9 ± 0.1 | 20.9 | 71.7 |
YOLO11l-pose | 640 | 66.1 | 89.9 | 247.7 ± 1.1 | 6.4 ± 0.1 | 26.2 | 90.7 |
YOLO11x-pose | 640 | 69.5 | 91.1 | 488.0 ± 13.9 | 12.1 ± 0.2 | 58.8 | 203.3 |
- mAPval القيم هي لنموذج واحد وحجم واحد على COCO Keypoints val2017 مجموعة البيانات.
إعادة الإنتاج بواسطةyolo val pose data=coco-pose.yaml device=0
- السرعة تم حسابه على صور COCO val باستخدام Amazon EC2 P4d مثيل.
إعادة الإنتاج بواسطةyolo val pose data=coco-pose.yaml batch=1 device=0|cpu
تدريب
تدريب نموذج YOLO11-pose على مجموعة بيانات COCO8-pose. مجموعة بيانات COCO8-pose هي مجموعة بيانات عينة صغيرة مثالية لاختبار وتصحيح نماذج تقدير الوضع.
مثال
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.yaml") # build a new model from YAML
model = YOLO("yolo11n-pose.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo11n-pose.yaml").load("yolo11n-pose.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo pose train data=coco8-pose.yaml model=yolo11n-pose.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo pose train data=coco8-pose.yaml model=yolo11n-pose.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo pose train data=coco8-pose.yaml model=yolo11n-pose.yaml pretrained=yolo11n-pose.pt epochs=100 imgsz=640
تنسيق مجموعة البيانات
يمكن العثور على تنسيق مجموعة بيانات وضعية YOLO بالتفصيل في دليل مجموعة البيانات. لتحويل مجموعة البيانات الحالية الخاصة بك من تنسيقات أخرى (مثل COCO وما إلى ذلك) إلى تنسيق YOLO، يرجى استخدام أداة JSON2YOLO بواسطة Ultralytics.
بالنسبة لمهام تقدير الوضع المخصصة، يمكنك أيضًا استكشاف مجموعات البيانات المتخصصة مثل Tiger-Pose لتقدير وضع الحيوان، أو Hand Keypoints لتتبع اليد، أو Dog-Pose لتحليل وضع الكلاب.
التحقق
التحقق من صحة نموذج YOLO11n-pose المدرب الدقة على مجموعة بيانات COCO8-pose. لا توجد حاجة إلى وسيطات حيث أن model
يحتفظ بالتدريب الخاص به data
والوسائط كسمات للنموذج.
مثال
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # a list contains map50-95 of each category
metrics.pose.map # map50-95(P)
metrics.pose.map50 # map50(P)
metrics.pose.map75 # map75(P)
metrics.pse.maps # a list contains map50-95(P) of each category
yolo pose val model=yolo11n-pose.pt # val official model
yolo pose val model=path/to/best.pt # val custom model
توقع
استخدم نموذج YOLO11n-pose مُدرَّبًا لتشغيل التنبؤات على الصور. يتيح لك وضع التنبؤ predict mode إجراء الاستدلال على الصور أو مقاطع الفيديو أو التدفقات في الوقت الفعلي.
مثال
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
# Access the results
for result in results:
xy = result.keypoints.xy # x and y coordinates
xyn = result.keypoints.xyn # normalized
kpts = result.keypoints.data # x, y, visibility (if available)
yolo pose predict model=yolo11n-pose.pt source='https://ultralytics.com/images/bus.jpg' # predict with official model
yolo pose predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model
اطلع على التفاصيل الكاملة predict
لأوضاع التشغيل في صفحة توقع التنبؤ.
تصدير
تصدير نموذج YOLO11n Pose إلى تنسيق مختلف مثل ONNX أو CoreML أو ما إلى ذلك. يتيح لك ذلك نشر النموذج الخاص بك على منصات وأجهزة مختلفة للاستدلال في الوقت الفعلي.
مثال
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom trained model
# Export the model
model.export(format="onnx")
yolo export model=yolo11n-pose.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model
توجد تنسيقات تصدير YOLO11-pose المتاحة في الجدول أدناه. يمكنك التصدير إلى أي تنسيق باستخدام format
، أي: format='onnx'
أو format='engine'
. يمكنك التنبؤ أو التحقق مباشرةً من النماذج التي تم تصديرها، أي: yolo predict model=yolo11n-pose.onnx
. يتم عرض أمثلة الاستخدام لنموذجك بعد اكتمال التصدير.
التنسيق | format الوسيطة |
النموذج | البيانات الوصفية | الوسائط |
---|---|---|---|---|
PyTorch | - | yolo11n-pose.pt |
✅ | - |
TorchScript | torchscript |
yolo11n-pose.torchscript |
✅ | imgsz , half , optimize , nms , batch , device |
ONNX | onnx |
yolo11n-pose.onnx |
✅ | imgsz , half , dynamic , simplify , opset , nms , batch , device |
OpenVINO | openvino |
yolo11n-pose_openvino_model/ |
✅ | imgsz , half , dynamic , int8 , nms , batch , data , fraction , device |
TensorRT | engine |
yolo11n-pose.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , nms , batch , data , fraction , device |
CoreML | coreml |
yolo11n-pose.mlpackage |
✅ | imgsz , half , int8 , nms , batch , device |
TF SavedModel | saved_model |
yolo11n-pose_saved_model/ |
✅ | imgsz , keras , int8 , nms , batch , device |
TF GraphDef | pb |
yolo11n-pose.pb |
❌ | imgsz , batch , device |
TF Lite | tflite |
yolo11n-pose.tflite |
✅ | imgsz , half , int8 , nms , batch , data , fraction , device |
TF Edge TPU | edgetpu |
yolo11n-pose_edgetpu.tflite |
✅ | imgsz , device |
TF.js | tfjs |
yolo11n-pose_web_model/ |
✅ | imgsz , half , int8 , nms , batch , device |
PaddlePaddle | paddle |
yolo11n-pose_paddle_model/ |
✅ | imgsz , batch , device |
MNN | mnn |
yolo11n-pose.mnn |
✅ | imgsz , batch , int8 , half , device |
NCNN | ncnn |
yolo11n-pose_ncnn_model/ |
✅ | imgsz , half , batch , device |
IMX500 | imx |
yolo11n-pose_imx_model/ |
✅ | imgsz , int8 , data , fraction , device |
RKNN | rknn |
yolo11n-pose_rknn_model/ |
✅ | imgsz , batch , name , device |
اطلع على التفاصيل الكاملة export
التفاصيل في تصدير التنبؤ.
الأسئلة الشائعة
ما هو تقدير وضعية الجسم باستخدام Ultralytics YOLO11 وكيف يعمل؟
يتضمن تقدير الوضعية باستخدام Ultralytics YOLO11 تحديد نقاط معينة، تُعرف باسم النقاط الرئيسية، في الصورة. تمثل هذه النقاط الرئيسية عادةً مفاصل أو ميزات مهمة أخرى للكائن. يتضمن الإخراج [x, y]
إحداثيات ودرجات الثقة لكل نقطة. تم تصميم نماذج YOLO11-pose خصيصًا لهذه المهمة وتستخدم -pose
لاحقة، مثل yolo11n-pose.pt
. هذه النماذج مدربة مسبقًا على مجموعات بيانات مثل نقاط COCO الرئيسية ويمكن استخدامها لمهام تقدير الوضعية المختلفة. لمزيد من المعلومات، قم بزيارة صفحة تقدير الوضعية.
كيف يمكنني تدريب نموذج YOLO11-pose على مجموعة بيانات مخصصة؟
يتضمن تدريب نموذج YOLO11-pose على مجموعة بيانات مخصصة تحميل نموذج، إما نموذج جديد محدد بواسطة ملف YAML أو نموذج مدرب مسبقًا. يمكنك بعد ذلك بدء عملية التدريب باستخدام مجموعة البيانات والمعلمات المحددة.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.yaml") # build a new model from YAML
model = YOLO("yolo11n-pose.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)
للحصول على تفاصيل شاملة حول التدريب، ارجع إلى قسم التدريب (Train Section). يمكنك أيضًا استخدام Ultralytics HUB للحصول على طريقة بدون تعليمات برمجية لتدريب نماذج تقدير الوضع المخصصة.
كيف يمكنني التحقق من صحة نموذج YOLO11-pose مُدرَّب؟
يتضمن التحقق من نموذج YOLO11-pose تقييم دقته باستخدام نفس معلمات مجموعة البيانات المحتفظ بها أثناء التدريب. إليك مثال:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
لمزيد من المعلومات، قم بزيارة قسم Val.
هل يمكنني تصدير نموذج YOLO11-pose إلى تنسيقات أخرى، وكيف؟
نعم، يمكنك تصدير نموذج تقدير وضعية YOLO11 إلى تنسيقات مختلفة مثل ONNX و CoreML و TensorRT وغيرها. يمكن القيام بذلك باستخدام Python أو واجهة سطر الأوامر (CLI).
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom trained model
# Export the model
model.export(format="onnx")
راجع قسم التصدير لمزيد من التفاصيل. يمكن نشر النماذج التي تم تصديرها على الأجهزة الطرفية للتطبيقات في الوقت الفعلي مثل تتبع اللياقة البدنية أو تحليل الرياضة أو الروبوتات.
ما هي نماذج Ultralytics YOLO11-pose المتاحة ومقاييس أدائها؟
يوفر Ultralytics YOLO11 نماذج وضع مدربة مسبقًا مختلفة مثل YOLO11n-pose و YOLO11s-pose و YOLO11m-pose وغيرها. تختلف هذه النماذج في الحجم والدقة (mAP) والسرعة. على سبيل المثال، يحقق نموذج YOLO11n-pose قيمة mAPpose50-95 تبلغ 50.0 وقيمة mAPpose50 تبلغ 81.0. للحصول على قائمة كاملة وتفاصيل الأداء، تفضل بزيارة قسم النماذج.