مراقبة التمارين باستخدام Ultralytics YOLO26#
تعزز مراقبة التمارين عبر تقدير الوضعيات باستخدام Ultralytics YOLO26 تقييم التمارين من خلال تتبّع معالم الجسم والمفاصل الأساسية بدقة وفي الوقت الفعلي. وتوفر هذه التقنية ملاحظات فورية حول أداء التمرين، وتتتبّع الروتين التدريبي، وتقيس مؤشرات الأداء، ما يحسّن جلسات التدريب للمستخدمين والمدربين على حد سواء.
شاهد: كيفية مراقبة تمارين اللياقة باستخدام Ultralytics YOLO | القرفصاء ومدّ الساق وتمارين الضغط والمزيد
مزايا مراقبة التمارين#
- تحسين الأداء: تخصيص التمارين استناداً إلى بيانات المراقبة لتحقيق نتائج أفضل.
- تحقيق الأهداف: تتبّع أهداف اللياقة البدنية وتعديلها لقياس التقدم.
- التخصيص: إعداد خطط تمارين مخصصة استناداً إلى البيانات الفردية لتعزيز الفاعلية.
- الوعي الصحي: الكشف المبكر عن الأنماط التي تشير إلى مشكلات صحية أو الإفراط في التدريب.
- اتخاذ قرارات مستنيرة: اتخاذ قرارات قائمة على البيانات لتعديل الروتين ووضع أهداف واقعية.
تطبيقات في العالم الحقيقي#
| مراقبة التمارين | مراقبة التمارين |
|---|---|
![]() | ![]() |
| عدّ تمارين الضغط | عدّ تمارين العقلة |
راقب التمارين باستخدام YOLO26#
يشغّل الحل AIGym تقدير الوضعيات ويعدّ التكرارات بقياس الزاوية التي تشكّلها ثلاث نقاط مفصلية أساسية أثناء انتقال أحد الأطراف بين العتبتين up_angle وdown_angle. اختر النقاط المفصلية الخاصة بالتمرين الذي تريد تتبّعه باستخدام kpts، ثم شغّل الحل على الفيديو باستخدام واجهة Python البرمجية أو CLI.
# Run a workout example
yolo solutions workout show=True
# Pass a source video
yolo solutions workout source="path/to/video.mp4"
# Use keypoints for pushups
yolo solutions workout kpts="[6, 8, 10]"خريطة النقاط المفصلية#

وسيطات AIGym#
إليك جدولًا بمعاملات AIGym:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | مسار ملف نموذج Ultralytics YOLO. |
up_angle | float | 145.0 | عتبة زاوية وضعية «الأعلى». |
down_angle | float | 90.0 | عتبة زاوية وضعية «الأسفل». |
kpts | list[int] | [6, 8, 10] | قائمة بثلاثة فهارس للنقاط المفتاحية تُستخدم لمراقبة التمارين. وتتوافق هذه النقاط المفتاحية مع مفاصل الجسم أو أجزائه، مثل الكتفين والمرفقين والمعصمين، في تمارين مثل الضغط والعقلة والقرفصاء وتمارين البطن. |
line_width | int | 2 | سماكة الخط للصناديق والنقاط المفتاحية والعدادات التي يرسمها الحل. |
verbose | bool | True | يفعّل سجل الحل لكل إطار، ويشمل شكل المدخل وعدد الفئات وسرعة المعالجة. يظل استدعاء التتبع نفسه صامتًا دائمًا. |
يدعم الحل AIGym أيضاً مجموعة من معلمات تتبّع الأجسام:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | يحدد خوارزمية التتبع المطلوب استخدامها. الخيارات المضمنة: botsort.yaml، bytetrack.yaml، ocsort.yaml، deepocsort.yaml، fasttrack.yaml، tracktrack.yaml. |
conf | float | 0.25 | يضبط عتبة الثقة للكشوفات؛ إذ تسمح القيم الأقل بتتبع مزيد من الكائنات، لكنها قد تتضمن إيجابيات كاذبة. |
iou | float | 0.7 | يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الكشوفات المتداخلة. |
classes | list | None | يصفّي النتائج حسب فهرس الفئة. على سبيل المثال، لا يتتبع classes=[0, 2, 3] إلا الفئات المحددة. |
device | str | None | يحدد الجهاز المستخدم للاستدلال (مثل cpu أو cuda:0 أو 0). ويتيح للمستخدمين الاختيار بين CPU أو GPU محددة أو أجهزة حوسبة أخرى لتنفيذ النموذج. |
imgsz | int or tuple | 640 | حجم صورة الاستدلال المستهدف: عدد صحيح لصورة مربعة، أو زوج (height, width). تُعدّل الأبعاد وفقًا لخطوة النموذج. |
max_det | int | 300 | الحد الأقصى لعدد الكشوفات التي يُحتفظ بها لكل إطار قبل التتبع، ما يحد من عدد الكائنات التي يعالجها الحل في المشاهد الكثيفة. |
quantize | int or str | None | دقة الاستدلال: 16 (FP16) أو 32/unset (FP32) لنماذج PyTorch وTorchScript خارج CPU؛ أما التنسيقات الأخرى فتستخدم الدقة التي يحددها الملف الاصطناعي وبيئة التشغيل. يحل هذا الوسيط محل الوسيطة half المهملة. |
بالإضافة إلى ذلك، يمكن تطبيق إعدادات التصور التالية:
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
show | bool | False | إذا كان True، يعرض الصور أو مقاطع الفيديو المشروحة في نافذة. يفيد ذلك في الحصول على ملاحظات مرئية فورية أثناء التطوير أو الاختبار. |
show_labels | bool | True | يعرض تسميات كل اكتشاف في المخرجات المرئية، ما يتيح فهم الكائنات المكتشفة فورًا. |
الأسئلة الشائعة#
لمراقبة تمارينك باستخدام Ultralytics YOLO26، يمكنك الاستفادة من إمكانات تقدير الوضعيات لتتبّع معالم الجسم والمفاصل الأساسية وتحليلها آنياً. ويتيح لك ذلك الحصول على ملاحظات فورية حول أداء التمرين، وعدّ التكرارات، وقياس مؤشرات الأداء. يمكنك البدء باستخدام مثال التعليمات البرمجية المتوفر لتمارين الضغط أو العقلة أو تمارين البطن، كما هو موضح:
import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.mp4") assert cap.isOpened(), "Error reading video file" w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS)) gym = solutions.AIGym( line_width=2, show=True, kpts=[6, 8, 10], ) while cap.isOpened(): success, im0 = cap.read() if not success: print("Video frame is empty or processing is complete.") break results = gym(im0) cap.release() cv2.destroyAllWindows()لمزيد من التخصيص والإعدادات، يمكنك الرجوع إلى قسم AIGym في الوثائق.
يوفّر استخدام Ultralytics YOLO26 لمراقبة التمارين عدة فوائد أساسية:
- تحسين الأداء: يمكنك تحقيق نتائج أفضل من خلال تخصيص التمارين استناداً إلى بيانات المراقبة.
- تحقيق الأهداف: تتبّع أهداف اللياقة البدنية وتعديلها بسهولة لقياس التقدم.
- التخصيص: احصل على خطط تمارين مخصصة استناداً إلى بياناتك الفردية لتحقيق أفضل فاعلية.
- الوعي الصحي: الكشف المبكر عن الأنماط التي تشير إلى مشكلات صحية محتملة أو الإفراط في التدريب.
- اتخاذ قرارات مستنيرة: اتخذ قرارات قائمة على البيانات لتعديل الروتين ووضع أهداف واقعية.
يمكنك مشاهدة عرض توضيحي على YouTube للاطلاع على هذه الفوائد عملياً.
يتميز Ultralytics YOLO26 بدقة عالية في اكتشاف التمارين وتتبعها، بفضل إمكاناته المتطورة في تقدير الوضعيات. ويمكنه تتبّع معالم الجسم والمفاصل الأساسية بدقة، مع توفير ملاحظات آنية حول أداء التمرين ومؤشرات الأداء. وتضمن الأوزان المدرَّبة مسبقاً والبنية المتينة للنموذج مستوى عالياً من الدقة والموثوقية. للاطلاع على أمثلة واقعية، راجع قسم التطبيقات الواقعية في الوثائق، الذي يعرض عدّ تمارين الضغط والعقلة.
نعم، يمكن تكييف Ultralytics YOLO26 مع روتينات تمارين مخصصة. وتكتشف فئة
AIGymتكرارات التمارين باستخدام الوسائطup_angleوdown_angleوkpts. ويمكنك تحديد النقاط المفصلية والزوايا لاكتشاف تمارين معينة. إليك مثالاً على الإعداد:from ultralytics import solutions gym = solutions.AIGym( line_width=2, show=True, kpts=[6, 8, 10], # لتمارين الضغط - يمكن تخصيصها لتمارين أخرى )لمزيد من التفاصيل حول ضبط الوسائط، راجع قسم الوسائط
AIGym. تتيح هذه المرونة مراقبة تمارين متنوعة وتخصيص الروتين وفقاً لأهداف اللياقة البدنية الخاصة بك.لحفظ مخرجات مراقبة التمارين، يمكنك تعديل التعليمات البرمجية لتضمين كاتب فيديو يحفظ الإطارات بعد معالجتها. إليك مثالاً:
import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.mp4") assert cap.isOpened(), "Error reading video file" w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS)) video_writer = cv2.VideoWriter("workouts.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) gym = solutions.AIGym( line_width=2, show=True, kpts=[6, 8, 10], ) while cap.isOpened(): success, im0 = cap.read() if not success: print("Video frame is empty or processing is complete.") break results = gym(im0) video_writer.write(results.plot_im) cap.release() video_writer.release() cv2.destroyAllWindows()يحفظ هذا الإعداد الفيديو الذي تمت مراقبته في ملف إخراج، ما يتيح لك مراجعة أدائك في التمارين لاحقاً أو مشاركته مع المدربين للحصول على ملاحظات إضافية.

