مراقبة التمارين باستخدام Ultralytics YOLO26#
تعمل مراقبة التمارين الرياضية من خلال تقدير الوضعية باستخدام Ultralytics YOLO26 على تعزيز تقييم التمارين من خلال تتبع المعالم الرئيسية للجسم والمفاصل بدقة في الوقت الفعلي. توفر هذه التقنية ملاحظات فورية حول شكل التمرين، وتتبع روتين التمارين، وتقيس مقاييس الأداء، مما يحسن جلسات التدريب لكل من المستخدمين والمدربين على حد سواء.
Watch: How to Monitor Workout Exercises with Ultralytics YOLO | Squats, Leg Extension, Pushups and More
مزايا مراقبة التمارين#
- تحسين الأداء: تخصيص التمارين بناءً على بيانات المراقبة للحصول على نتائج أفضل.
- تحقيق الأهداف: تتبع أهداف اللياقة البدنية وتعديلها لتحقيق تقدم ملموس.
- التخصيص: خطط تمارين مخصصة بناءً على البيانات الفردية لتحقيق الفعالية.
- الوعي الصحي: الكشف المبكر عن الأنماط التي تشير إلى مشاكل صحية أو الإفراط في التدريب.
- اتخاذ قرارات مستنيرة: قرارات مبنية على البيانات لتعديل الروتين وتحديد أهداف واقعية.
تطبيقات العالم الحقيقي#
| مراقبة التمارين | مراقبة التمارين |
|---|---|
![]() | ![]() |
| عد تمارين الضغط | عد تمارين العقلة |
مراقبة التمارين باستخدام YOLO26#
يقوم حل AIGym بتشغيل تقدير الوضعية ويحسب التكرارات عن طريق قياس الزاوية التي تكوّنها ثلاث نقاط رئيسية أثناء حركة الطرف بين عتبتي up_angle و down_angle. اختر النقاط الرئيسية للتمرين الذي تريد تتبعه باستخدام kpts، ثم قم بتشغيل الحل على مقطع الفيديو الخاص بك باستخدام Python API أو 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 | int | 90 | عتبة الزاوية لوضعية 'للأسفل'. |
kpts | list[int] | '[6, 8, 10]' | قائمة من ثلاثة فهارس نقاط مفصلية تستخدم لمراقبة التمارين. تتوافق هذه النقاط مع مفاصل الجسم أو أجزائه، مثل الكتفين والمرفقين والمعصمين، لتمارين مثل الضغط، العقلة، القرفصاء، وتمارين البطن. |
line_width | int | 2 | سمك الخط للمربعات والنقاط الرئيسية والعدادات التي ترسمها الحلول. |
verbose | bool | True | يمكّن سجل الحلول لكل إطار لشكل الإدخال، وعدد الفئات، وسرعة المعالجة. استدعاء التتبع بحد ذاته صامت دائماً. |
يدعم حل AIGym أيضاً مجموعة من معاملات تتبع الكائنات:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
tracker | str | 'botsort.yaml' | يحدد خوارزمية التتبع المراد استخدامها. الخيارات المضمنة: botsort.yaml، وbytetrack.yaml، وocsort.yaml، وdeepocsort.yaml، وfasttrack.yaml، وtracktrack.yaml. |
conf | float | 0.25 | يضبط عتبة الثقة للاكتشافات؛ تسمح القيم المنخفضة بتتبع المزيد من الكائنات ولكنها قد تتضمن إيجابيات كاذبة. |
iou | float | 0.7 | يحدد عتبة Intersection over Union (IoU) لتصفية عمليات الكشف المتداخلة. |
classes | list | None | يقوم بتصفية النتائج حسب الفهرس الفئة. على سبيل المثال، يقوم classes=[0, 2, 3] بتتبع الفئات المحددة فقط. |
device | str | None | يحدد الجهاز للاستدلال (مثل cpu أو cuda:0 أو 0). يسمح للمستخدمين بالاختيار بين وحدة المعالجة المركزية (CPU)، أو وحدة معالجة رسومية (GPU) محددة، أو أجهزة الحوسبة الأخرى لتنفيذ النموذج. |
بالإضافة إلى ذلك، يمكن تطبيق إعدادات التصور التالية:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
show | bool | False | إذا كان True، يعرض الصور أو الفيديوهات المشروحة في نافذة. مفيد للحصول على ملاحظات مرئية فورية أثناء التطوير أو الاختبار. |
show_conf | bool | 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) 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], # For pushups - can be customized for other exercises )لمزيد من التفاصيل حول تعيين الوسائط، راجع قسم وسائط
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()يقوم هذا الإعداد بكتابة الفيديو الذي تمت مراقبته في ملف إخراج، مما يسمح لك بمراجعة أداء تمرينك لاحقًا أو مشاركته مع المدربين للحصول على ملاحظات إضافية.

