Ultralytics YOLO27:

مراقبة التمارين باستخدام Ultralytics YOLO26#

Open Workouts Monitoring In Colab

تُحسّن مراقبة التمارين من خلال تقدير الوضعية باستخدام 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.

مراقبة التمارين باستخدام Ultralytics YOLO
# 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]"

خريطة النقاط الرئيسية#

مخطط ترتيب نقاط YOLO لتقدير الوضعية

وسيطات AIGym#

إليك جدولًا بوسيطات AIGym:

الوسيطةالنوعالافتراضيالوصف
modelstrNoneالمسار إلى ملف نموذج Ultralytics YOLO.
up_anglefloat145.0عتبة الزاوية لوضعية "up".
down_angleint90عتبة الزاوية لوضعية "down".
kptslist[int]'[6, 8, 10]'قائمة بثلاثة مؤشرات للنقاط الرئيسية المستخدمة لمراقبة التمارين. وتتوافق هذه النقاط الرئيسية مع مفاصل أو أجزاء الجسم، مثل الكتفين والمرفقين والمعصمين، لتمارين مثل تمارين الضغط والعقلة والقرفصاء وتمارين عضلات البطن.
line_widthint2سُمك الخط للصناديق والنقاط الرئيسية والأعداد التي يرسمها الحل.
verboseboolTrueيمكّن سجل الحل لكل إطار، والذي يتضمن شكل الإدخال وأعداد الفئات وسرعة المعالجة. ويظل استدعاء التتبع نفسه صامتًا دائمًا.

يدعم حل AIGym أيضًا مجموعة من معلمات تتبّع الكائنات:

الوسيطةالنوعالافتراضيالوصف
trackerstr'botsort.yaml'يحدد خوارزمية التتبع المراد استخدامها. الخيارات المضمنة: botsort.yaml وbytetrack.yaml وocsort.yaml وdeepocsort.yaml وfasttrack.yaml وtracktrack.yaml.
conffloat0.25يضبط عتبة الثقة للاكتشافات؛ إذ تتيح القيم الأقل تتبع مزيد من الكائنات، لكنها قد تتضمن إيجابيات كاذبة.
ioufloat0.7يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الاكتشافات المتداخلة.
classeslistNoneيصفّي النتائج حسب فهرس الفئة. على سبيل المثال، لا يتتبع classes=[0, 2, 3] سوى الفئات المحددة.
devicestrNoneيحدد الجهاز المستخدم للاستدلال (مثل cpu أو cuda:0 أو 0). ويتيح للمستخدمين الاختيار بين CPU أو GPU محدد أو أجهزة حوسبة أخرى لتنفيذ النموذج.
imgszint or tuple640حجم صورة الاستدلال المستهدفة: عدد صحيح لشكل مربع أو زوج (height, width). يتم ضبط الأشكال لتتناسب مع خطوة النموذج.
max_detint300الحد الأقصى لعدد الاكتشافات المحتفظ بها لكل إطار قبل التتبع، مما يحد من الكائنات التي يعالجها الحل في المشاهد المزدحمة.
quantizeint or strNoneدقة الاستدلال: 16 (FP16) أو 32/غير محدد (FP32) لنموذجي PyTorch وTorchScript؛ بينما تحسب التنسيقات الأخرى بالدقة التي تحددها ملفاتها ومحيط تشغيلها. يحل محل علامة half المهملة.

بالإضافة إلى ذلك، يمكن تطبيق إعدادات التصور التالية:

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

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

  • لمراقبة تمارينك باستخدام 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()

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

التعليقات