Meet YOLO26: next-gen vision AI.

Link to this sectionGiám sát bài tập sử dụng Ultralytics YOLO26#

Mở Giám sát Bài tập trong Colab

Giám sát các buổi tập thông qua ước tính tư thế (pose estimation) với Ultralytics YOLO26 giúp cải thiện việc đánh giá bài tập bằng cách theo dõi chính xác các điểm mốc cơ thể và khớp xương trong thời gian thực. Công nghệ này cung cấp phản hồi tức thì về tư thế tập, theo dõi các bài tập và đo lường các chỉ số hiệu suất, tối ưu hóa các buổi tập cho cả người dùng và huấn luyện viên.



Watch: How to Monitor Workout Exercises with Ultralytics YOLO | Squats, Leg Extension, Pushups and More

Link to this sectionLợi ích của Giám sát Bài tập#

  • Tối ưu hóa Hiệu suất: Điều chỉnh các bài tập dựa trên dữ liệu giám sát để đạt kết quả tốt hơn.
  • Đạt được Mục tiêu: Theo dõi và điều chỉnh các mục tiêu thể hình để có sự tiến bộ có thể đo lường được.
  • Cá nhân hóa: Các kế hoạch tập luyện tùy chỉnh dựa trên dữ liệu cá nhân để đạt hiệu quả tối đa.
  • Nhận thức về Sức khỏe: Phát hiện sớm các kiểu mẫu chỉ ra các vấn đề sức khỏe hoặc quá tải tập luyện.
  • Quyết định Sáng suốt: Các quyết định dựa trên dữ liệu để điều chỉnh quy trình và thiết lập mục tiêu thực tế.

Link to this sectionỨng dụng trong Thực tế#

Giám sát Bài tậpGiám sát Bài tập
Đếm số lần hít đất bằng YOLO với ước tính tư thếĐếm số lần hít xà bằng YOLO với ước tính tư thế
Đếm số lần Hít đấtĐếm số lần Hít xà
Giám sát Bài tập sử dụng 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]"

Link to this sectionBản đồ các Điểm mấu chốt (KeyPoints Map)#

Sơ đồ thứ tự các điểm mấu chốt ước tính tư thế của YOLO

Link to this sectionCác đối số của AIGym#

Dưới đây là bảng các đối số của AIGym:

Đối sốLoạiMặc địnhMô tả
modelstrNoneĐường dẫn đến tệp model Ultralytics YOLO.
up_anglefloat145.0Ngưỡng góc cho tư thế 'lên'.
down_angleint90Ngưỡng góc cho tư thế 'xuống'.
kptslist[int]'[6, 8, 10]'Danh sách ba chỉ số điểm then chốt được sử dụng để giám sát tập luyện. Các điểm then chốt này tương ứng với các khớp hoặc bộ phận cơ thể, như vai, khuỷu tay và cổ tay, cho các bài tập như hít đất, hít xà, squat và tập bụng.

Giải pháp AIGym cũng hỗ trợ một loạt các tham số theo dõi đối tượng:

Đối sốLoạiMặc địnhMô tả
trackerstr'botsort.yaml'Chỉ định thuật toán theo dõi cần sử dụng, ví dụ: bytetrack.yaml hoặc botsort.yaml.
conffloat0.1Thiết lập ngưỡng tin cậy cho các phát hiện; các giá trị thấp hơn cho phép nhiều đối tượng được theo dõi hơn nhưng có thể bao gồm các kết quả dương tính giả.
ioufloat0.7Thiết lập ngưỡng Intersection over Union (IoU) để lọc các phát hiện chồng lấp.
classeslistNoneLọc kết quả theo chỉ số lớp. Ví dụ, classes=[0, 2, 3] chỉ theo dõi các lớp đã chỉ định.
verboseboolTrueKiểm soát việc hiển thị kết quả theo dõi, cung cấp đầu ra trực quan của các đối tượng được theo dõi.
devicestrNoneChỉ định thiết bị để thực hiện suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng chọn giữa CPU, một GPU cụ thể, hoặc các thiết bị tính toán khác để thực thi model.

Ngoài ra, các cài đặt trực quan hóa sau đây có thể được áp dụng:

Đối sốLoạiMặc địnhMô tả
showboolFalseNếu True, hiển thị các hình ảnh hoặc video đã được chú thích trong một cửa sổ. Hữu ích cho phản hồi trực quan ngay lập tức trong quá trình phát triển hoặc kiểm thử.
line_widthint or NoneNoneChỉ định độ dày đường của bounding box. Nếu None, độ dày đường được tự động điều chỉnh dựa trên kích thước hình ảnh. Cung cấp khả năng tùy chỉnh trực quan để rõ ràng hơn.
show_confboolTrueHiển thị điểm số tin cậy (confidence score) cho mỗi phát hiện cùng với nhãn. Cung cấp thông tin chi tiết về độ chắc chắn của model đối với từng phát hiện.
show_labelsboolTrueHiển thị nhãn cho mỗi phát hiện trong đầu ra hình ảnh. Cung cấp khả năng nhận biết tức thì các đối tượng được phát hiện.

Link to this sectionCâu hỏi thường gặp#

Link to this sectionLàm thế nào để tôi giám sát bài tập của mình bằng Ultralytics YOLO26?#

Để giám sát bài tập bằng Ultralytics YOLO26, bạn có thể tận dụng các khả năng ước tính tư thế để theo dõi và phân tích các điểm mốc cơ thể và khớp xương trong thời gian thực. Điều này cho phép bạn nhận phản hồi tức thì về tư thế, đếm số lần lặp lại và đo lường các chỉ số hiệu suất. Bạn có thể bắt đầu bằng cách sử dụng mã ví dụ được cung cấp cho bài tập hít đất, hít xà hoặc các bài tập bụng như hình:

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()

Để biết thêm thông tin tùy chỉnh và cài đặt, bạn có thể tham khảo phần AIGym trong tài liệu.

Link to this sectionNhững lợi ích của việc sử dụng Ultralytics YOLO26 để giám sát bài tập là gì?#

Việc sử dụng Ultralytics YOLO26 để giám sát bài tập mang lại một số lợi ích chính:

  • Tối ưu hóa Hiệu suất: Bằng cách điều chỉnh bài tập dựa trên dữ liệu giám sát, bạn có thể đạt được kết quả tốt hơn.
  • Đạt được Mục tiêu: Dễ dàng theo dõi và điều chỉnh các mục tiêu thể hình để có sự tiến bộ có thể đo lường được.
  • Cá nhân hóa: Nhận các kế hoạch tập luyện tùy chỉnh dựa trên dữ liệu cá nhân của bạn để đạt hiệu quả tối ưu.
  • Nhận thức về Sức khỏe: Phát hiện sớm các kiểu mẫu chỉ ra các vấn đề sức khỏe tiềm ẩn hoặc tập luyện quá sức.
  • Quyết định Sáng suốt: Đưa ra các quyết định dựa trên dữ liệu để điều chỉnh quy trình và thiết lập mục tiêu thực tế.

Bạn có thể xem video minh họa trên YouTube để thấy những lợi ích này trong thực tế.

Link to this sectionĐộ chính xác của Ultralytics YOLO26 trong việc phát hiện và theo dõi bài tập là bao nhiêu?#

Ultralytics YOLO26 có độ chính xác cao trong việc phát hiện và theo dõi bài tập nhờ vào các khả năng ước tính tư thế tiên tiến nhất. Nó có thể theo dõi chính xác các điểm mốc cơ thể và khớp xương, cung cấp phản hồi thời gian thực về tư thế và chỉ số hiệu suất. Các trọng số được huấn luyện trước và kiến trúc mạnh mẽ của mô hình đảm bảo độ chính xác và độ tin cậy cao. Đối với các ví dụ thực tế, hãy xem phần ứng dụng thực tế trong tài liệu, nơi trình bày việc đếm số lần hít đất và hít xà.

Link to this sectionTôi có thể sử dụng Ultralytics YOLO26 cho các quy trình tập luyện tùy chỉnh không?#

Có, Ultralytics YOLO26 có thể được điều chỉnh cho các quy trình tập luyện tùy chỉnh. Lớp AIGym phát hiện các lần lặp lại bài tập sử dụng các đối số up_angle, down_anglekpts. Bạn có thể chỉ định các điểm mấu chốt và góc để phát hiện các bài tập cụ thể. Dưới đây là ví dụ về thiết lập:

from ultralytics import solutions

gym = solutions.AIGym(
    line_width=2,
    show=True,
    kpts=[6, 8, 10],  # For pushups - can be customized for other exercises
)

Để biết thêm chi tiết về cách cài đặt các đối số, hãy tham khảo phần Đối số AIGym. Sự linh hoạt này cho phép bạn giám sát nhiều bài tập khác nhau và tùy chỉnh các quy trình dựa trên mục tiêu thể hình của bạn.

Link to this sectionLàm thế nào tôi có thể lưu kết quả giám sát bài tập bằng Ultralytics YOLO26?#

Để lưu kết quả giám sát bài tập, bạn có thể sửa đổi mã để bao gồm một trình ghi video lưu các khung hình đã xử lý. Dưới đây là một ví dụ:

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()

Thiết lập này ghi video đã được giám sát vào một tệp đầu ra, cho phép bạn xem lại hiệu suất tập luyện của mình sau đó hoặc chia sẻ với huấn luyện viên để nhận thêm phản hồi.

Bình luận