Skip to content

Daily Plan

更新: 5/3/2025 字数: 0 字 时长: 0 分钟

  • [ ]
  • [ ]

Daily Study

更新: 5/3/2025 字数: 0 字 时长: 0 分钟

前言

编写目的

计算机视觉技术的发展改变了人们的生活,将视觉理解技术应用于生活才能真正体现其价值。我们基于人体姿态估计的视觉技术,开发了能够辅助仰卧起坐、俯卧撑、深蹲等运动计数的应用产品。该产品适合在进行相关健身动作时使用,能够实时、高效地计算人体运动的个数。

项目背景

随着全民健身热潮的兴起,越来越多的人积极参加健身锻炼,但由于缺乏科学的运动指导,使健身难以取得相应的效果。据市场调查显示,没有产品可以自动分析健身运动并提供指导。而近年深度神经网络在人体姿态识别上已经取得了巨大的成功,针对这个现象,本文设计了一个基于 OpenCV 和 MediaPipe 中的 BlazePose 算法的 AI 健身辅助系统。该软件主要内容包括对于单人人体关键点的检测,关键点的连接,以及运动健身关键点的角度变化展示。该软件拥有从本地导入视频进行AI辅助和调用摄像头进行AI辅助两种方式,显示出人体姿态33个关键点数据及其关键点的连接图,输出健身锻炼部位的可视化展示图,对健身运动(例如俯卧撑,深蹲,引体向上)进行计数的功能。

定义

参考资料

[1]:Bazarevsky, Valentin, et al. "Blazepose: On-device real-time body pose tracking." arXiv preprint arXiv:2006.10204 (2020).
[2]: Pose Detection | ML Kit | Google Developers
[3]: MediaPipe Zhang, Fan et al. “MediaPipe Hands: On-device Real-time Hand Tracking.” ArXiv abs/2006.10214 (2020): n. pag. Kim, Jong-Wook et al. “Human Pose Estimation Using MediaPipe Pose and Optimization Method Based on a Humanoid Model.” Applied Sciences (2023): n. pag. Lugaresi, Camillo et al. “MediaPipe: A Framework for Building Perception Pipelines.” ArXiv abs/1906.08172 (2019): n. pag. Latreche, Ameur et al. “Reliability and validity analysis of MediaPipe-based measurement system for some human rehabilitation motions.” Measurement (2023): n. pag.

Zelinsky, Alexander. “Learning OpenCV---Computer Vision with the OpenCV Library (Bradski, G.R. et al.; 2008)[On the Shelf].” IEEE Robotics & Automation Magazine 16 (2009): 100-100.

Jocher, Glenn R. et al. “ultralytics/yolov5: v6.0 - YOLOv5n 'Nano' models, Roboflow integration, TensorFlow export, OpenCV DNN support.” (2021).

Kaehler, Adrian and Gary R. Bradski. “Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library.” (2016).

Levin, A. A. et al. “Assessment of experimental OpenCV tracking algorithms for ultrasound videos.” Scientific Reports 13 (2023): n. pag.

软件概述

本项目基于人体关键点检测(人体姿态估计)技术开发应用程序。本产品使用开源工具Mediapipe训练完善的BlazePose模型[1]进行实时人体姿态估计。对于提取到的关键点,项目使用k-NN算法进行姿态理解分类。该产品在项目部署前进行了人体关键点检测性能测试,以及人体姿态分类精度测试。在技术参数方面,该程序支持18fps的处理速度,其中BlazePose算法模块支持23fps的检测速度,算法检测精度达到77.6PCK@0.2。

功能

AI健身辅助软件主要包括人体姿态识别,健身锻炼部位可视化展示和健身运动AI辅助计数三部分,具体功能包括:

  • 人体姿态点识别:通过后端模型分析后,获取并输出人体姿态33个关键点数据及其关键点的连接图
  • 健身锻炼部位的可视化展示:通过后端模型处理后,输出健身锻炼部位的可视化展示图,包括关键点弯曲角度展示和可变化条纹图展示。
  • 健身运动的AI辅助计数:采用Qt Designer和Pyqt5实现前端界面,结合后端模型的识别,对健身运动(例如俯卧撑,深蹲,引体向上)进行计数。

目标

AI健身辅助软件主要包括人体姿态识别,健身锻炼部位可视化展示和健身运动AI辅助计数三部分,实现了利用深度神经网络来自动分析健身运动并提供指导信息的功能,能够解决全民健身热潮下,由于缺乏科学运动指导,导致的健身难以出现相应效果的问题。有助于辅助想要进行健身运动的人群进行更好的锻炼,取得更好的效果。

性能

该产品在项目部署前进行了人体关键点检测性能测试,以及人体姿态分类精度测试。在技术参数方面,该程序支持18fps的处理速度,其中BlazePose算法模块支持23fps的检测速度,算法检测精度达到77.6PCK@0.2。该程序拥有从本地导入视频进行AI辅助和调用摄像头进行AI辅助两种方式,具有良好的人机交互界面,用户也可根据帮助文档进行操作,操作十分简便。

运行环境

硬件环境

AI健身辅助软件可运行于个人电脑,硬件推荐配置:CPU主频3GHz以上,内存2GB以上,软件需要的磁盘空间根据需要进行健身辅助的数据多少而定。

软件环境

Windows7及以上操作系统

使用说明

安装和初始化

本软件不需要安装和初始化

输入

运行AISports.exe时,当选择从本地导入视频进行AI辅助时,要选择相应的视频文件,包括以.mp4或者.avi结尾的视频文件来进行相应的AI辅助功能。

输出

输出为进行AI健身辅助后的人体姿态识别图,健身锻炼部位的可视化展示视频,健身运动的AI辅助计数图。

用户操作举例

  1. 运行AISports.exe,会弹出

1. 启动程序和初始界面

当用户运行程序后,首先出现的是欢迎界面(WelcomeWindow)。这个界面简洁明了,提供了两个按钮:“开始”和“软件说明”。

  • 开始按钮:如果用户已经熟悉该软件,可以直接点击“开始”按钮,进入主界面(Ui_MainWindow),进行视频导入或摄像头捕捉的操作。
  • 软件说明按钮:新用户或需要查看软件使用说明的用户可以点击“软件说明”按钮,此时会弹出一个新的窗口(SoftwareInstructionsWindow),显示软件的功能介绍和操作指南。

2. 查看软件说明

点击“软件说明”后,用户会看到一个居中显示的窗口,其中详细介绍了AI健身辅助系统的主要功能,如从本地导入视频进行分析和调用摄像头进行实时动作捕捉与分析等。这个窗口提供了软件的基本信息,帮助用户了解如何使用本系统来提高健身效果。

3. 主界面操作

当用户熟悉了软件功能后,点击“开始”按钮进入主界面。在这里,用户有两个选项:从本地导入视频或使用摄像头。

  • 从本地导入视频:用户点击“从本地导入视频进行AI辅助”按钮后,会弹出一个文件选择对话框,用户可以在自己的文件系统中选择一个视频文件进行上传。上传后,系统会提示用户选择运动类型(俯卧撑、深蹲、引体向上),然后进行视频分析,最终给出AI的检测结果和建议。

  • 调用摄像头:如果用户选择“调用摄像头进行AI辅助”,系统会使用用户的摄像头捕捉实时视频。在开始之前,同样需要用户选择运动类型。用户在摄像头前进行指定的运动,系统会实时分析运动质量,并在结束后给出反馈。

4. 运动类型选择

无论是从本地导入视频还是调用摄像头,系统都会弹出一个对话框让用户选择运动类型。这一步是必须的,因为系统需要知道用户要进行哪种运动的分析。用户可以从俯卧撑、深蹲和引体向上三个选项中选择一个。选择后,系统会根据选择的运动类型来进行相应的分析和建议。

5. 分析结果和建议

完成视频分析或摄像头捕捉后,系统会弹出一个消息框,通知用户AI检测已经完毕,并给出相应的反馈和建议。这一反馈可能包括运动动作的改进建议、发现的问题以及如何更有效地进行训练的提示。

用户操作流程总结

  • 用户启动程序,阅读初始界面的欢迎信息,并可以通过点击“软件说明”了解软件功能。
  • 点击“开始”进入主界面,选择进行视频分析或实时摄像头捕捉。
  • 选择运动类型,开始视频分析或摄像头捕捉。
  • 查看AI分析结果和建议,根据反馈改善运动效果。

这个流程设计得既直观又简单,便于用户快速上手并有效利用AI技术来提高健身效果。

从本地导入视频进行AI辅助

当用户选择从本地导入视频进行AI辅助的功能时,流程将按以下步骤进行:

  1. 选择运动类型

    • 首先,系统会提示用户选择他们想要分析的运动类型。这一步是通过一个弹出的对话框完成的,其中列出了几种运动选项,例如“俯卧撑”、“深蹲”和“引体向上”。
    • 用户从这些选项中选择一项后,点击确定继续。
  2. 打开文件选择对话框

    • 系统随即打开一个文件选择对话框,提示用户从其计算机中选择一个视频文件。这个对话框会过滤显示支持的视频格式,如MP4或AVI,使用户能够更容易地找到和选择合适的视频文件。
  3. 视频处理

    • 一旦用户选定了视频文件并确认,程序就会开始处理该视频。这一步包括调用videoprocess模块的video_process函数,该函数将根据用户选择的运动类型对视频进行分析。
  4. 分析完成提示

    • 视频处理完成后,系统会通过一个提示框告知用户“AI检测完毕”,这表示视频分析已经完成,用户可以根据生成的分析报告或反馈来改进其运动动作。

调用摄像头进行AI辅助

当用户选择调用摄像头进行AI辅助的功能时,流程将按以下步骤进行:

  1. 选择运动类型

    • 同样地,系统首先会要求用户选择一个运动类型。用户通过同样的对话框进行选择,并确认他们的选择。
  2. 摄像头捕捉

    • 确认运动类型后,系统将自动调用计算机的摄像头,并开始捕捉用户进行指定运动的实时视频。此时,用户可以在摄像头前进行运动,系统会实时捕捉和分析这些运动动作。
  3. 操作提示

    • 在摄像头开启期间,系统会弹出一个提示框,告知用户可以通过按“Q”或“ESC”键来退出摄像头采集。这为用户提供了一个明确的退出机制,以便他们在完成运动或想要停止分析时能够轻松地做到。
  4. 分析与反馈

    • 用户完成运动并退出摄像头采集后,系统会根据捕获的视频内容进行分析,并最终弹出一个提示框告知用户“AI检测完毕”。这表示系统已经根据用户的运动表现给出了相应的分析和建议,用户可以依据这些建议来优化他们的运动技巧。

通过这两种功能,用户可以选择最适合他们需求的方式来接受AI的辅助,无论是通过已经录制的视频还是通过实时摄像头捕捉,系统都旨在提供个性化的运动分析和改进建议。

  1. 深度学习与人体姿态识别:该系统利用了深度神经网络,特别是MediaPipe中的BlazePose算法,来识别视频中的人体姿态。BlazePose是一个先进的人体姿态识别算法,能够实时准确地检测人体的33个关键点。这种技术的应用使得软件能够精确地捕捉到用户的运动姿势,并进行实时分析。

  2. 健身锻炼部位的可视化展示:软件不仅能够识别人体关键点,还能够通过可视化技术展示关键点的连接图和健身锻炼部位的角度变化。这种可视化展示帮助用户更直观地理解自己的运动姿势和运动效果,从而提高健身效率和安全性。

  3. AI辅助的健身运动计数:软件通过集成的AI模型对特定的健身运动(如俯卧撑、深蹲、引体向上)进行识别和计数。这一功能减少了用户自行记录运动次数的麻烦,使得健身过程更加方便和高效。

  4. 交互式用户界面设计:利用PyQt5和Qt Designer,软件提供了一个直观且易于操作的图形用户界面(GUI)。这使得用户可以轻松选择视频输入或直接通过摄像头进行实时健身辅导,同时也能清晰地看到关键点数据和运动计数等反馈。

  5. 支持多种输入方式:软件支持从本地导入视频和直接调用摄像头两种方式,提供了灵活的使用场景。用户可以根据自己的需要选择最适合的方式进行健身练习。

  6. 技术栈的现代性和整合性:结合了OpenCV、MediaPipe、NumPy等先进的图像处理和机器学习库,以及使用Python作为开发语言,展示了现代软件开发中对多种技术栈的整合能力。

Daily Problem

更新: 5/3/2025 字数: 0 字 时长: 0 分钟

菜就多练

本站访客数 人次 本站总访问量