littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Python和MediaPipe的健身动作检测系统

项目简介

本项目借助Python语言和Google开发的多媒体机器学习模型应用框架MediaPipe,实现了一个健身动作检测系统。该系统通过摄像头实时捕捉人体动作,重点对姿势、全身及人脸进行检测,还可提取骨架做角度运算,依据计算出的角度判断人体当前的姿势状态,以小腿拉伸动作为例,能为用户提供动作是否标准的反馈及倒计时提示。

项目的主要特性和功能

  1. 多类型检测功能:支持人脸追踪、人脸网格、手掌侦测、全身侦测、姿势侦测、物体侦测和人物去背等多种识别功能,着重于姿势侦测、全身侦测及人脸网格。
  2. 骨架角度运算:可提取人体骨架信息,通过选取连接的三个点进行角度运算,计算如膝盖等部位的角度。
  3. 姿势判断与反馈:以小腿拉伸为例,根据特定角度范围判断,动作符合标准时,屏幕显示绿灯并开始30秒倒计时;不符合标准则给出提示。
  4. 可视化展示:利用OpenCV进行影像处理,在画面左上角显示示范骨架,左下角显示当前角度,方便用户了解动作情况。

安装使用步骤

安装Python环境

打开Anaconda下载页面,点击Download自动下载安装包,安装完成后打开.exe文件进行安装。安装完成后,从电脑左下角搜索Jupyter Notebook并开启,若成功进入网页,代表环境开启成功。

开启新专案

在Jupyter Notebook网页中,点击右边的new,选择Python3,若进入相应画面则代表专案开启成功。

测试Mediapipe是否能够正常执行

打开Jupyter notebook并进入解压后的Warm-Up_Exercise_Detection_System_based_on_LSTM_and_Mediapipe-main文件夹,再进入detect文件夹,开启一个新的专案,依次执行以下命令安装依赖库: !pip install opencv-python !pip install mediapipe !pip install numpy !pip install tensorflow 等待执行完成后,执行以下代码加载所需套件: import cv2 import mediapipe as mp import numpy as np 接着执行以下代码进行Mediapipe相关设置: mp_drawing = mp.solutions.drawing_utils mp_drawing_styles = mp.solutions.drawing_styles mp_holistic = mp.solutions.holistic 若要进行不同领域的检测,可按需更换变量,例如检测姿势可改成mp_pose = mp.solutions.pose ,检测手部可改成mp_hands = mp.solutions.hands

最后执行以下代码打开摄像头使用mediapipe进行检测: cap = cv2.VideoCapture(0) with mp_holistic.Holistic( min_detection_confidence=0.5, min_tracking_confidence=0.5) as holistic: if not cap.isOpened(): print("Cannot open camera") exit() while True: ret, img = cap.read() if not ret: print("Cannot receive frame") break img = cv2.resize(img,(640,480)) img2 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) results = holistic.process(img2) mp_drawing.draw_landmarks( img, results.pose_landmarks, mp_holistic.POSE_CONNECTIONS, landmark_drawing_spec=mp_drawing_styles .get_default_pose_landmarks_style()) cv2.imshow('warmup', img) if cv2.waitKey(5) == ord('q'): break cap.release() cv2.destroyAllWindows()

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】