تخطي إلى المحتوى

تقدير الوضع

تقدير YOLO مع اكتشاف النقاط الرئيسية لجسم الإنسان

تقدير وضعية الجسم هو مهمة تتضمن تحديد موقع نقاط معينة في الصورة، والتي يشار إليها عادةً باسم النقاط الرئيسية. يمكن أن تمثل النقاط الرئيسية أجزاء مختلفة من الكائن مثل المفاصل أو المعالم أو الميزات المميزة الأخرى. يتم تمثيل مواقع النقاط الرئيسية عادةً كمجموعة من ثنائية الأبعاد [x, y] أو ثلاثية الأبعاد [x, y, visible] الإحداثيات.

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



شاهد: برنامج تعليمي لتقدير الوضعيات باستخدام Ultralytics YOLO26 | تتبع الكائنات في الوقت الفعلي واكتشاف وضعيات الإنسان

نصيحة

YOLO26 pose تستخدم نماذج -pose لاحقة، أي، yolo26n-pose.pt. يتم تدريب هذه النماذج على نقاط COCO الرئيسية وهي مناسبة لمجموعة متنوعة من مهام تقدير وضعية الجسم.

في نموذج YOLO26 الافتراضي للوضعيات، توجد 17 نقطة رئيسية (keypoints)، يمثل كل منها جزءًا مختلفًا من جسم الإنسان. إليك تعيين كل فهرس إلى مفصل الجسم الخاص به:

  1. الأنف
  2. العين اليسرى
  3. العين اليمنى
  4. الأذن اليسرى
  5. الأذن اليمنى
  6. الكتف الأيسر
  7. الكتف الأيمن
  8. الكوع الأيسر
  9. المرفق الأيمن
  10. المعصم الأيسر
  11. المعصم الأيمن
  12. الورك الأيسر
  13. الورك الأيمن
  14. الركبة اليسرى
  15. الركبة اليمنى
  16. الكاحل الأيسر
  17. الكاحل الأيمن

النماذج

تُعرض هنا نماذج Pose المدربة مسبقًا من Ultralytics YOLO26. نماذج detect و segment و Pose مدربة مسبقًا على مجموعة بيانات COCO، بينما نماذج classify مدربة مسبقًا على مجموعة بيانات ImageNet.

يتم تنزيل النماذج تلقائيًا من أحدث إصدارات Ultralytics release عند الاستخدام الأول.

النموذجالحجم
(بالبكسل)
mAPpose
50-95(e2e)
mAPpose
50(e2e)
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5
YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9
YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1
YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3
YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7
  • mAPval القيم هي لنموذج واحد وحجم واحد على النقاط الرئيسية في COCO 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

تدريب

تدريب نموذج YOLO26-pose على مجموعة بيانات COCO8-pose. تُعد مجموعة بيانات COCO8-pose مجموعة بيانات عينة صغيرة مثالية لاختبار نماذج تقدير الوضع وتصحيح أخطائها.

مثال

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n-pose.yaml").load("yolo26n-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=yolo26n-pose.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo pose train data=coco8-pose.yaml model=yolo26n-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=yolo26n-pose.yaml pretrained=yolo26n-pose.pt epochs=100 imgsz=640

تنسيق مجموعة البيانات

يمكن العثور على تنسيق مجموعة بيانات وضع YOLO بالتفصيل في دليل مجموعة البيانات. لتحويل مجموعة البيانات الحالية الخاصة بك من تنسيقات أخرى (مثل COCO وما إلى ذلك) إلى تنسيق YOLO، يرجى استخدام أداة JSON2YOLO بواسطة Ultralytics.

بالنسبة لمهام تقدير الوضع المخصصة، يمكنك أيضًا استكشاف مجموعات البيانات المتخصصة مثل Tiger-Pose لتقدير وضع الحيوان، أو Hand Keypoints لتتبع اليد، أو Dog-Pose لتحليل وضع الكلاب.

التحقق

التحقق من صحة نموذج YOLO26n-pose المدرب الدقة على مجموعة بيانات COCO8-pose. لا توجد حاجة إلى وسيطات حيث أن model يحتفظ بالتدريب الخاص به data والوسائط كسمات للنموذج.

مثال

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-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 containing mAP50-95 for each category
metrics.pose.map  # map50-95(P)
metrics.pose.map50  # map50(P)
metrics.pose.map75  # map75(P)
metrics.pose.maps  # a list containing mAP50-95(P) for each category
yolo pose val model=yolo26n-pose.pt # val official model
yolo pose val model=path/to/best.pt # val custom model

توقع

استخدم نموذج YOLO26n-pose مدربًا لإجراء التنبؤات على الصور. يتيح لك وضع التنبؤ إجراء الاستدلال على الصور أو مقاطع الفيديو أو التدفقات في الوقت الفعلي.

مثال

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-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=yolo26n-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 لأوضاع التشغيل في صفحة توقع التنبؤ.

تصدير

تصدير نموذج YOLO26n Pose إلى تنسيق مختلف مثل ONNX و CoreML، إلخ. يتيح لك هذا نشر نموذجك على منصات وأجهزة مختلفة لـ الاستدلال في الوقت الفعلي.

مثال

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-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=yolo26n-pose.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom-trained model

تنسيقات تصدير YOLO26-pose المتاحة موجودة في الجدول أدناه. يمكنك التصدير إلى أي تنسيق باستخدام format الوسيطة، أي format='onnx' أو format='engine'. يمكنك التنبؤ أو التحقق مباشرة على النماذج المصدرة، أي، yolo predict model=yolo26n-pose.onnx. يتم عرض أمثلة الاستخدام لنموذجك بعد اكتمال التصدير.

التنسيقformat الوسيطةالنموذجالبيانات الوصفيةالوسائط
PyTorch-yolo26n-pose.pt-
TorchScripttorchscriptyolo26n-pose.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n-pose.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n-pose_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n-pose.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n-pose.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n-pose_saved_model/imgsz, keras, int8, nms, batch, device
TF GraphDefpbyolo26n-pose.pbimgsz, batch, device
TF Litetfliteyolo26n-pose.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n-pose_edgetpu.tfliteimgsz, device
TF.jstfjsyolo26n-pose_web_model/imgsz, half, int8, nms, batch, device
PaddlePaddlepaddleyolo26n-pose_paddle_model/imgsz, batch, device
MNNmnnyolo26n-pose.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n-pose_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n-pose_imx_model/imgsz, int8, data, fraction, device
RKNNrknnyolo26n-pose_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n-pose_executorch_model/imgsz, device
Axeleraaxelerayolo26n-pose_axelera_model/imgsz, int8, data, fraction, device

اطلع على التفاصيل الكاملة export التفاصيل في تصدير التنبؤ.

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

ما هو تقدير الوضعيات باستخدام Ultralytics YOLO26 وكيف يعمل؟

يتضمن تقدير الوضع باستخدام Ultralytics YOLO26 تحديد نقاط محددة، تُعرف باسم النقاط الرئيسية (keypoints)، في الصورة. تمثل هذه النقاط الرئيسية عادةً المفاصل أو الميزات الهامة الأخرى للكائن. يتضمن الإخراج [x, y] إحداثيات ونقاط ثقة لكل نقطة. تم تصميم نماذج YOLO26-pose خصيصًا لهذه المهمة وتستخدم -pose لاحقة، مثل yolo26n-pose.pt. يتم تدريب هذه النماذج مسبقًا على مجموعات بيانات مثل نقاط COCO الرئيسية ويمكن استخدامها لمهام تقدير الوضعية المختلفة. لمزيد من المعلومات، قم بزيارة صفحة تقدير الوضعية.

كيف يمكنني تدريب نموذج YOLO26-pose على مجموعة بيانات مخصصة؟

يتضمن تدريب نموذج YOLO26-pose على مجموعة بيانات مخصصة تحميل نموذج، سواء كان نموذجًا جديدًا معرفًا بملف yaml أو نموذجًا مدربًا مسبقًا. يمكنك بعد ذلك بدء عملية التدريب باستخدام مجموعة البيانات والمعلمات المحددة.

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.yaml")  # build a new model from YAML
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

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

للحصول على تفاصيل شاملة حول التدريب، ارجع إلى قسم التدريب. يمكنك أيضًا استخدام منصة Ultralytics لنهج بدون تعليمات برمجية لتدريب نماذج تقدير الوضع المخصصة.

كيف أقوم بالتحقق من صحة نموذج YOLO26-pose مدرب؟

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

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-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.

هل يمكنني تصدير نموذج YOLO26-pose إلى تنسيقات أخرى، وكيف؟

نعم، يمكنك تصدير نموذج YOLO26-pose إلى تنسيقات مختلفة مثل ONNX و CoreML و TensorRT والمزيد. يمكن القيام بذلك باستخدام python أو واجهة سطر الأوامر (CLI).

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-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 YOLO26-pose المتاحة ومقاييس أدائها؟

تقدم Ultralytics YOLO26 نماذج Pose مدربة مسبقًا متنوعة مثل YOLO26n-pose و YOLO26s-pose و YOLO26m-pose، وغيرها. تختلف هذه النماذج في الحجم والدقة (mAP) والسرعة. على سبيل المثال، يحقق نموذج YOLO26n-pose قيمة mAPpose50-95 تبلغ 50.0 و mAPpose50 تبلغ 81.0. للحصول على قائمة كاملة وتفاصيل الأداء، قم بزيارة قسم النماذج.



📅 تم الإنشاء قبل 2 أعوام ✏️ تم التحديث قبل 2 أيام
glenn-jocherRizwanMunawarBurhan-Qambitious-octopusUltralyticsAssistantpderrengerY-T-Gjk4eMatthewNoycek-2feng@hotmail.com

تعليقات