击剑动作识别程序:基于MediaPipe和KNN的视频分析

该程序使用MediaPipe和KNN算法对击剑视频进行姿势识别和动作分类,并输出包含识别结果和角度信息的处理后的视频文件。

输入: 视频文件(支持格式:*.mp4, *.avi)

输出: 处理后的视频文件,包含识别结果和角度信息

功能:

  1. 姿势识别: 利用MediaPipe的人体姿势模型识别视频中的人物姿势,并提取关键点信息。
  2. 角度计算: 根据关键点信息计算人体各关节角度,包括腿与右手的角度、左肩、左肘和左手腕的角度、左臀、左膝和左踝的角度等。
  3. 动作分类: 使用KNN分类器根据计算得到的角度数据对动作进行分类,识别出击剑视频中的不同动作,例如‘warm-up’、‘hit’、‘shi zhan poses’、‘respect’、‘gongbu’等。
  4. 结果展示: 将识别结果和角度信息在处理后的视频中显示,并输出处理后的视频文件。

算法流程:

  1. 加载模型和分类器: 加载MediaPipe的人体姿势模型和KNN分类器。
  2. 打开输入视频: 打开输入视频文件,获取视频的帧率和分辨率。
  3. 创建输出视频: 创建输出视频文件。
  4. 处理视频帧: 对视频文件中的每一帧进行以下处理: a. 将帧转换为RGB格式: 将视频帧转换为RGB格式,以便于MediaPipe进行处理。 b. 人体姿势检测: 使用MediaPipe的人体姿势模型识别视频帧中的人物姿势,并提取关键点信息。 c. 角度计算: 根据关键点信息计算人体各关节角度。 d. 动作分类: 将角度数据输入KNN分类器进行预测,得到动作类型。 e. 结果显示: 将识别结果和角度信息在视频帧中显示,并在输出图片上显示角度值和动作类型。 f. 写入输出视频: 将处理后的视频帧写入输出视频文件。 g. 显示当前帧结果: 显示当前帧的处理结果。 h. 检测退出: 检测用户是否按下q键退出程序。
  5. 释放资源: 释放程序中使用的资源,例如视频文件、模型、分类器等。

注意事项:

  1. 程序会弹出窗口,要求用户选择输入视频文件和调整参数,按下运行按钮后开始处理视频。
  2. 程序会在处理完成后弹出窗口,提示处理完成并显示输出视频文件路径。

总结:

该击剑动作识别程序利用MediaPipe和KNN算法,能够有效地识别击剑视频中的动作,并输出包含识别结果和角度信息的处理后的视频文件,为击剑动作分析和训练提供有效工具。

作者: 冯楠20201888

指导教师: 朱勇

版本: V7.0


原文地址: https://www.cveoy.top/t/topic/gQ3d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录