Viết ứng dụng kiểm tra động tác tập gym bằng mediapipe

Bài trước đã giới thiệu về các ứng dụng của mediapipe. Bài này hướng dẫn các kiểm tra 1 số động tác tập gym phổ biến như hít đất, thụt dầu.

Cài đặt mediapipe

Cài bằng lệnh:
pip install mediapipe

Clone code và chạy

Clone code example ở link cuối bài, sau đó vào folder application chạy file squat_detector.py. Kết quả như video bên dưới

Giải thích code

Mediapipe detect 33 điểm trên cơ thể như hình bên dưới

Để detect được thụt dầu chúng ta có 1 số quy tắc sau:

  • Đang đứng rồi ngồi xuống, sau đó đứng lên mới tính là 1 lần
  • Phải ngồi thấp và đứng thẳng thì mới tính

Như vậy chương trình sẽ tìm góc giữa 2 đầu gối phải là góc nhọn (nhỏ hơn 90*). Góc đầu gối được tạo thành từ hông – đầu gối – cổ chân:

  • Bên trái: 23 – 25 – 27
  • Bên phải: 24 – 26 – 28

Khi góc của 2 đầu gối nhỏ hơn 100 thì tính là ngồi xuống, khi cả 2 lớn hơn 150 thì tính là đứng lên.

Lưu ý: nhược điểm của chương trình là phải đứng nghiêng thì detect mới chính xác. Do đó các bạn cần tinh chỉnh thêm cho chính xác để phát hiện user tập sai cách.

Download source code

https://github.com/thigiacmaytinh/mediapipe_application