सामग्री पर जाएं

वर्कआउट निगरानी का उपयोग कर Ultralytics YOLOv8

मुद्रा अनुमान के माध्यम से वर्कआउट की निगरानी Ultralytics YOLOv8 वास्तविक समय में शरीर के प्रमुख स्थलों और जोड़ों को सटीक रूप से ट्रैक करके व्यायाम मूल्यांकन को बढ़ाता है। यह तकनीक व्यायाम के रूप में तत्काल प्रतिक्रिया प्रदान करती है, कसरत दिनचर्या को ट्रैक करती है, और प्रदर्शन मैट्रिक्स को मापती है, उपयोगकर्ताओं और प्रशिक्षकों के लिए प्रशिक्षण सत्रों का अनुकूलन करती है।



सतर्कता: वर्कआउट का उपयोग करके निगरानी Ultralytics YOLOv8 | पुशअप्स, पुलअप, एब वर्कआउट्स

वर्कआउट मॉनिटरिंग के फायदे?

  • अनुकूलित प्रदर्शन: बेहतर परिणामों के लिए डेटा की निगरानी के आधार पर वर्कआउट की तैयारी।
  • लक्ष्य उपलब्धि: मापने योग्य प्रगति के लिए फिटनेस लक्ष्यों को ट्रैक और समायोजित करें।
  • वैयक्तिकरण: प्रभावशीलता के लिए व्यक्तिगत डेटा के आधार पर अनुकूलित कसरत योजनाएं।
  • स्वास्थ्य जागरूकता: स्वास्थ्य के मुद्दों या अति-प्रशिक्षण का संकेत देने वाले पैटर्न का शीघ्र पता लगाना।
  • सूचित निर्णय: दिनचर्या को समायोजित करने और यथार्थवादी लक्ष्य निर्धारित करने के लिए डेटा-संचालित निर्णय।

वास्तविक दुनिया अनुप्रयोग

वर्कआउट की निगरानी वर्कआउट की निगरानी
पुशअप्स काउंटिंग पुलअप काउंटिंग
पुशअप्स काउंटिंग पुलअप काउंटिंग

वर्कआउट निगरानी उदाहरण

import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n-pose.pt")
cap = cv2.VideoCapture("path/to/video/file.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_object = solutions.AIGym(
    line_thickness=2,
    view_img=True,
    pose_type="pushup",
    kpts_to_check=[6, 8, 10],
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = model.track(im0, verbose=False)  # Tracking recommended
    # results = model.predict(im0)  # Prediction also supported
    im0 = gym_object.start_counting(im0, results)

cv2.destroyAllWindows()
import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n-pose.pt")
cap = cv2.VideoCapture("path/to/video/file.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_object = solutions.AIGym(
    line_thickness=2,
    view_img=True,
    pose_type="pushup",
    kpts_to_check=[6, 8, 10],
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = model.track(im0, verbose=False)  # Tracking recommended
    # results = model.predict(im0)  # Prediction also supported
    im0 = gym_object.start_counting(im0, results)
    video_writer.write(im0)

cv2.destroyAllWindows()
video_writer.release()
जीविका

"पुशअप", "पुलअप" और "एब्सवर्क" समर्थित

कीपॉइंट्स मैप

कीपॉइंट्स ऑर्डर Ultralytics YOLOv8 भंगिमा

तर्क AIGym

नाम प्रकार चूक या क़िस्‍म
kpts_to_check list None विशिष्ट कसरत की गिनती के लिए तीन कीपॉइंट इंडेक्स की सूची, उसके बाद कीपॉइंट मैप
line_thickness int 2 खींची गई रेखाओं की मोटाई।
view_img bool False छवि प्रदर्शित करने के लिए ध्वजांकित करें.
pose_up_angle float 145.0 'अप' मुद्रा के लिए कोण दहलीज।
pose_down_angle float 90.0 'डाउन' पोज़ के लिए एंगल थ्रेसहोल्ड।
pose_type str pullup पता लगाने के लिए मुद्रा का प्रकार ('pullup', pushup, abworkout, squat).

तर्क model.predict

नाम प्रकार चूक या क़िस्‍म
source str 'ultralytics/assets' छवियों या वीडियो के लिए स्रोत निर्देशिका
conf float 0.25 पता लगाने के लिए ऑब्जेक्ट कॉन्फिडेंस थ्रेशोल्ड
iou float 0.7 एनएमएस के लिए संघ (आईओयू) सीमा पर चौराहा
imgsz int or tuple 640 स्केलर या (एच, डब्ल्यू) सूची के रूप में छवि का आकार, यानी (640, 480)
half bool False आधी परिशुद्धता (FP16) का उपयोग करें
device None or str None डिवाइस पर चलाने के लिए, अर्थात। cuda डिवाइस = 0/1/2/3 या डिवाइस =cpu
max_det int 300 प्रति छवि पता लगाने की अधिकतम संख्या
vid_stride bool False वीडियो फ्रेम-दर स्ट्राइड
stream_buffer bool False सभी स्ट्रीमिंग फ़्रेम (सही) को बफ़र करें या नवीनतम फ़्रेम (गलत) लौटाएं
visualize bool False मॉडल सुविधाओं की कल्पना करें
augment bool False पूर्वानुमान स्रोतों पर छवि वृद्धि लागू करें
agnostic_nms bool False वर्ग-अज्ञेयवादी एनएमएस
classes list[int] None कक्षा द्वारा फ़िल्टर परिणाम, यानी कक्षाएं = 0, या कक्षाएं = [0,2,3]
retina_masks bool False उच्च-रिज़ॉल्यूशन सेगमेंटेशन मास्क का उपयोग करें
embed list[int] None दी गई परतों से सुविधा वैक्टर/एम्बेडिंग लौटाएं

तर्क model.track

नाम प्रकार चूक या क़िस्‍म
source im0 None छवियों या वीडियो के लिए स्रोत निर्देशिका
persist bool False फ़्रेम के बीच लगातार ट्रैक
tracker str botsort.yaml ट्रैकिंग विधि 'बाइटट्रैक' या 'बॉटसॉर्ट'
conf float 0.3 कॉन्फिडेंस थ्रेशोल्ड
iou float 0.5 IOU थ्रेसहोल्ड
classes list None कक्षा द्वारा फ़िल्टर परिणाम, यानी कक्षाएं = 0, या कक्षाएं = [0,2,3]
verbose bool True ऑब्जेक्ट ट्रैकिंग परिणाम प्रदर्शित करें

अक्सर पूछे जाने वाले प्रश्न

मैं अपने वर्कआउट का उपयोग करके कैसे निगरानी करूं Ultralytics YOLOv8?

का उपयोग कर अपने workouts की निगरानी करने के लिए Ultralytics YOLOv8, आप वास्तविक समय में प्रमुख शरीर के स्थलों और जोड़ों को ट्रैक और विश्लेषण करने के लिए मुद्रा अनुमान क्षमताओं का उपयोग कर सकते हैं। यह आपको अपने व्यायाम फॉर्म पर तत्काल प्रतिक्रिया प्राप्त करने, दोहराव गिनने और प्रदर्शन मीट्रिक को मापने की अनुमति देता है। आप दिखाए गए अनुसार पुशअप, पुलअप या एब वर्कआउट के लिए दिए गए उदाहरण कोड का उपयोग करके शुरू कर सकते हैं:

import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n-pose.pt")
cap = cv2.VideoCapture("path/to/video/file.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_object = solutions.AIGym(
    line_thickness=2,
    view_img=True,
    pose_type="pushup",
    kpts_to_check=[6, 8, 10],
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = model.track(im0, verbose=False)
    im0 = gym_object.start_counting(im0, results)

cv2.destroyAllWindows()

आगे के अनुकूलन और सेटिंग्स के लिए, आप दस्तावेज़ीकरण में AIGym अनुभाग का उल्लेख कर सकते हैं।

उपयोग करने के क्या लाभ हैं Ultralytics YOLOv8 कसरत की निगरानी के लिए?

का उपयोग करके Ultralytics YOLOv8 कसरत निगरानी के लिए कई महत्वपूर्ण लाभ प्रदान करता है:

  • अनुकूलित प्रदर्शन: निगरानी डेटा के आधार पर वर्कआउट को सिलाई करके, आप बेहतर परिणाम प्राप्त कर सकते हैं।
  • लक्ष्य उपलब्धि: मापने योग्य प्रगति के लिए फिटनेस लक्ष्यों को आसानी से ट्रैक और समायोजित करें।
  • वैयक्तिकरण: इष्टतम प्रभावशीलता के लिए अपने व्यक्तिगत डेटा के आधार पर अनुकूलित कसरत योजनाएं प्राप्त करें।
  • स्वास्थ्य जागरूकता: पैटर्न का प्रारंभिक पता लगाना जो संभावित स्वास्थ्य मुद्दों या अति-प्रशिक्षण का संकेत देता है।
  • सूचित निर्णय: दिनचर्या को समायोजित करने और यथार्थवादी लक्ष्य निर्धारित करने के लिए डेटा-संचालित निर्णय लें।

इन लाभों को कार्रवाई में देखने के लिए आप YouTube वीडियो प्रदर्शन देख सकते हैं।

कितना सही है Ultralytics YOLOv8 अभ्यास का पता लगाने और ट्रैक करने में?

Ultralytics YOLOv8 अपनी अत्याधुनिक मुद्रा अनुमान क्षमताओं के कारण अभ्यासों का पता लगाने और ट्रैक करने में अत्यधिक सटीक है। यह प्रमुख शरीर के स्थलों और जोड़ों को सटीक रूप से ट्रैक कर सकता है, व्यायाम फॉर्म और प्रदर्शन मेट्रिक्स पर वास्तविक समय की प्रतिक्रिया प्रदान करता है। मॉडल के पूर्व-प्रशिक्षित वजन और मजबूत वास्तुकला उच्च परिशुद्धता और विश्वसनीयता सुनिश्चित करते हैं। वास्तविक दुनिया के उदाहरणों के लिए, प्रलेखन में वास्तविक दुनिया के अनुप्रयोग अनुभाग देखें, जो पुशअप और पुलअप गिनती दिखाता है।

क्या मैं उपयोग कर सकता हूं Ultralytics YOLOv8 कस्टम कसरत दिनचर्या के लिए?

हाँ Ultralytics YOLOv8 कस्टम कसरत दिनचर्या के लिए अनुकूलित किया जा सकता है। वही AIGym क्लास विभिन्न मुद्रा प्रकारों जैसे "पुशअप", "पुलअप" और "एबवर्कआउट" का समर्थन करता है। आप विशिष्ट अभ्यासों का पता लगाने के लिए कीपॉइंट और कोण निर्दिष्ट कर सकते हैं। यहाँ एक उदाहरण सेटअप है:

from ultralytics import solutions

gym_object = solutions.AIGym(
    line_thickness=2,
    view_img=True,
    pose_type="squat",
    kpts_to_check=[6, 8, 10],
)

तर्क सेट करने के बारे में अधिक जानकारी के लिए, तर्क AIGym कर्तन। यह लचीलापन आपको विभिन्न अभ्यासों की निगरानी करने और अपनी आवश्यकताओं के आधार पर दिनचर्या को अनुकूलित करने की अनुमति देता है।

मैं कसरत निगरानी आउटपुट का उपयोग करके कैसे बचा सकता हूं Ultralytics YOLOv8?

वर्कआउट मॉनिटरिंग आउटपुट को सहेजने के लिए, आप एक वीडियो राइटर को शामिल करने के लिए कोड को संशोधित कर सकते हैं जो संसाधित फ़्रेम को सहेजता है। यहाँ एक उदाहरण है:

import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n-pose.pt")
cap = cv2.VideoCapture("path/to/video/file.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_object = solutions.AIGym(
    line_thickness=2,
    view_img=True,
    pose_type="pushup",
    kpts_to_check=[6, 8, 10],
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = model.track(im0, verbose=False)
    im0 = gym_object.start_counting(im0, results)
    video_writer.write(im0)

cv2.destroyAllWindows()
video_writer.release()

यह सेटअप मॉनिटर किए गए वीडियो को आउटपुट फ़ाइल में लिखता है। अधिक जानकारी के लिए, आउटपुट सहेजें अनुभाग के साथ वर्कआउट मॉनिटरिंग देखें।



बनाया गया 2023-12-02, अद्यतन्य: 2024-07-05
लेखक: ग्लेन-जोचर (12), महत्वाकांक्षी-ऑक्टोपस (1), इवोरझू331 (1), रिजवान मुनव्वर (4)

टिप्पणियाँ