مراقبة التدريبات باستخدام Ultralytics YOLO11
مراقبة التدريبات من خلال تقدير الوضعية باستخدام Ultralytics YOLO11 تحسين تقييم التمارين من خلال تتبع معالم الجسم الرئيسية والمفاصل بدقة في الوقت الفعلي. توفر هذه التقنية ملاحظات فورية حول شكل التمرين وتتبع التمارين الروتينية وقياس مقاييس الأداء، مما يحسّن جلسات التدريب للمستخدمين والمدربين على حد سواء.
شاهد: مراقبة التمارين باستخدام Ultralytics YOLO11 | تمارين الضغط والسحب وتمارين عضلات البطن
مزايا مراقبة التدريبات
- الأداء الأمثل: تخصيص التدريبات بناءً على بيانات المراقبة للحصول على نتائج أفضل.
- تحقيق الهدف: تتبع أهداف اللياقة البدنية وضبطها لتحقيق تقدم قابل للقياس.
- التخصيص: خطط تمارين رياضية مخصصة بناءً على البيانات الفردية لتحقيق الفعالية.
- التوعية الصحية: الكشف المبكر عن الأنماط التي تشير إلى وجود مشاكل صحية أو الإفراط في التدريب.
- قرارات مستنيرة: قرارات قائمة على البيانات لتعديل الإجراءات الروتينية وتحديد أهداف واقعية.
التطبيقات الواقعية
مراقبة التدريبات | مراقبة التدريبات |
---|---|
![]() |
![]() |
عدّ وحدات الدفع بالعد | عدّ عمليات السحب |
مراقبة التمارين باستخدام Ultralytics YOLO
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
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_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init AIGym
gym = solutions.AIGym(
show=True, # display the frame
kpts=[6, 8, 10], # keypoints for monitoring specific exercise, by default it's for pushup
model="yolo11n-pose.pt", # path to the YOLO11 pose estimation model file
# line_width=2, # adjust the line width for bounding boxes and text display
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = gym(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
خريطة النقاط الرئيسية
AIGym
الحجج
إليك الجدول الذي يحتوي على AIGym
الحجج
الجدال | النوع | افتراضي | الوصف |
---|---|---|---|
model |
str |
None |
المسار إلى ملف نموذج Ultralytics YOLO Model File. |
up_angle |
float |
145.0 |
عتبة الزاوية للوضعية "لأعلى". |
down_angle |
float |
90.0 |
عتبة الزاوية للوضعية "لأسفل". |
kpts |
list[int, int, int] |
[6, 8, 10] |
قائمة بالنقاط الرئيسية المستخدمة لمراقبة التدريبات. تتوافق نقاط المفتاح هذه مع مفاصل أو أجزاء الجسم، مثل الكتفين والمرفقين والمعصمين، لتمارين مثل تمارين الضغط والسحب والقرفصاء وتمارين البطن. |
إن AIGym
يدعم الحل أيضًا مجموعة من معلمات تتبع الأجسام:
الجدال | النوع | افتراضي | الوصف |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال, bytetrack.yaml أو botsort.yaml . |
conf |
float |
0.3 |
تعيين عتبة الثقة للاكتشافات؛ تسمح القيم المنخفضة بتتبع المزيد من الكائنات ولكنها قد تتضمن نتائج إيجابية كاذبة. |
iou |
float |
0.5 |
يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الاكتشافات المتداخلة. |
classes |
list |
None |
تصفية النتائج حسب فهرس الفئة. على سبيل المثال, classes=[0, 2, 3] يتتبع الفئات المحددة فقط. |
verbose |
bool |
True |
يتحكم في عرض نتائج التتبع، مما يوفر إخراجًا مرئيًا للأجسام المتعقبة. |
device |
str |
None |
يحدد جهاز الاستدلال (على سبيل المثال, cpu , cuda:0 أو 0 ). يسمح للمستخدمين بالاختيار بين CPU ، أو جهاز GPU معين، أو أجهزة حوسبة أخرى لتنفيذ النموذج. |
بالإضافة إلى ذلك، يمكن تطبيق إعدادات التصور التالية:
الجدال | النوع | افتراضي | الوصف |
---|---|---|---|
show |
bool |
False |
إذا كان True يعرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للتعليقات المرئية الفورية أثناء التطوير أو الاختبار. |
line_width |
None or int |
None |
يحدد عرض خط المربعات المحدودة. إذا كان None ، يتم ضبط عرض الخط تلقائيًا بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح. |
الأسئلة الشائعة
كيف يمكنني مراقبة تماريني باستخدام Ultralytics YOLO11 ؟
لمراقبة التدريبات الخاصة بك باستخدام Ultralytics YOLO11 يمكنك الاستفادة من إمكانيات تقدير الوضعيات لتتبع وتحليل معالم الجسم الرئيسية والمفاصل في الوقت الفعلي. يسمح لك ذلك بتلقي ملاحظات فورية حول شكل التمرين الخاص بك، وعدّ التكرارات، وقياس مقاييس الأداء. يمكنك البدء باستخدام مثال التعليمات البرمجية المتوفرة لتمرين الضغط أو السحب أو تمارين عضلات البطن كما هو موضح:
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 YOLO11 لمراقبة التمارين الرياضية؟
يوفر استخدام Ultralytics YOLO11 لمراقبة التمارين الرياضية العديد من الفوائد الرئيسية:
- الأداء الأمثل: من خلال تخصيص التدريبات بناءً على بيانات المراقبة، يمكنك تحقيق نتائج أفضل.
- تحقيق الأهداف: تتبع أهداف اللياقة البدنية وضبطها بسهولة لتحقيق تقدم قابل للقياس.
- التخصيص: احصل على خطط تمرين مخصصة بناءً على بياناتك الفردية لتحقيق الفعالية المثلى.
- التوعية الصحية: الاكتشاف المبكر للأنماط التي تشير إلى مشاكل صحية محتملة أو الإفراط في التدريب.
- قرارات مستنيرة: اتخذ قرارات قائمة على البيانات لضبط الإجراءات الروتينية ووضع أهداف واقعية.
يمكنك مشاهدة فيديو توضيحي على YouTube لمشاهدة هذه المزايا أثناء العمل.
ما مدى دقة الموقع الإلكتروني Ultralytics YOLO11 في الكشف عن التمارين وتتبعها؟
يتميز Ultralytics YOLO11 بدقة عالية في اكتشاف التمارين وتتبعها بفضل قدراته المتطورة في تقدير الوضعية. ويمكنه تتبع المعالم الرئيسية للجسم والمفاصل الرئيسية بدقة، مما يوفر ملاحظات في الوقت الفعلي حول شكل التمرين ومقاييس الأداء. تضمن أوزان النموذج المدربة مسبقاً وبنيته القوية دقة وموثوقية عالية. للاطلاع على أمثلة واقعية، راجع قسم التطبيقات الواقعية في الوثائق، والذي يعرض تمارين الضغط والسحب.
هل يمكنني استخدام Ultralytics YOLO11 للتمارين الرياضية الروتينية المخصصة؟
نعم، Ultralytics YOLO11 يمكن تكييف مع التمارين الروتينية المخصصة. إن AIGym
فئة تدعم أنواعًا مختلفة من الوضعيات مثل pushup
, pullup
و abworkout
. يمكنك تحديد نقاط رئيسية وزوايا للكشف عن تمارين محددة. فيما يلي مثال على الإعداد:
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
القسم. تتيح لك هذه المرونة إمكانية مراقبة التمارين المختلفة وتخصيص التمارين الروتينية بناءً على أهداف اللياقة البدنية.
كيف يمكنني حفظ مخرجات مراقبة التمرين باستخدام Ultralytics YOLO11 ؟
لحفظ مخرجات مراقبة التمرين، يمكنك تعديل الشيفرة البرمجية لتضمين كاتب فيديو يحفظ الإطارات المعالجة. إليك مثال على ذلك:
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()
يقوم هذا الإعداد بكتابة الفيديو الذي تمت مراقبته إلى ملف إخراج، مما يسمح لك بمراجعة أداء التمرين في وقت لاحق أو مشاركته مع المدربين للحصول على ملاحظات إضافية.