编辑
2026-05-25
科研
00

目录

BSDPose:面向羽毛球击球动作识别与质量评估的开源框架
1. 项目背景
2. 核心方法
2.1 CBAM 增强的 YOLOv8-Pose
2.2 15 维运动学特征工程
2.3 多任务联合学习
3. 六类击球动作
4. 实验结果
4.1 姿态估计(BSD 测试集)
4.2 击球动作分类(BSD 测试集)
4.3 消融实验
4.4 关键发现
5. 快速上手
6. 项目结构
7. 引用
8. 相关信息

BSDPose:面向羽毛球击球动作识别与质量评估的开源框架

基于 YOLOv8-Pose、CBAM 注意力机制与运动学特征分析,六分类击球动作识别 + 0~100 质量评分,单条多任务流水线一步到位。


1. 项目背景

羽毛球击球动作的自动识别与质量评估,在智能训练辅助、比赛战术分析等场景中具有明确应用价值。然而目前该领域存在三方面瓶颈:

  • 动作差异细微:正手/反手高远球、杀球、网前挑球等六类动作在空间上高度相似,常规 CNN 特征难以区分。
  • 运动模糊严重:挥拍阶段帧间位移大,关键点定位精度受严重挑战。
  • 质量评分子任务缺失:多数工作仅做分类,缺乏连续的 0~100 质量评分输出。

BSDPose 在此基础上提出了一套完整的端到端方案,同时在两个子任务上验证了方法有效性。


2. 核心方法

整体流水线如下:

VideoBadminton (.mp4) │ ▼ 16帧滑动窗口采样 ┌───────────────────────────────┐ │ YOLOv8-Pose + CBAM │ ← 关键点估计(17点 COCO 格式) │ PAN FPN 的 P3/P4/P5 注入 │ mAP@0.5:0.95 = 83.46% │ Channel + Spatial Attention │ └───────────────────────────────┘ │ ▼ 每帧 17 个关键点 (x, y, conf) ┌───────────────────────────────────┐ │ 运动学特征提取 │ │ 15 维逐帧特征 → 16 帧窗口聚合 │ │ → 62 维特征向量 (mean/std/max/min) │ │ 含:关节角度 / 躯干倾角 / 手腕速度 │ │ / 质心位移 / 肢体长度比 等 │ └───────────────────────────────────┘ │ ▼ ┌───────────────────────────────────┐ │ 多任务预测头 │ │ Shared Encoder: 62 → 128 → 64 │ │ ┌────────────────┬──────────────┐ │ │ │ 分类分支 64→32→6 │ 回归分支 │ │ │ │ Softmax (6类) │ 64→32→1 │ │ │ │ │ Sigmoid×100 │ │ │ └────────────────┴──────────────┘ │ │ L = CrossEntropy + 0.5 × MSE │ └───────────────────────────────────┘ │ ▼ [击球类别 (0~5)] + [质量评分 (0~100)]

2.1 CBAM 增强的 YOLOv8-Pose

在 YOLOv8-Pose 的 PAN FPN 结构中,对 P3、P4、P5 三个尺度的输出特征图注入 CBAM(Convolutional Block Attention Module)——依次施加通道注意力与空间注意力,使网络在运动模糊场景下更聚焦于人体关键区域,关键点定位精度提升 +1.00 pp(82.46% → 83.46%)。

2.2 15 维运动学特征工程

从 COCO-17 格式的关键点坐标中手工提取 15 个运动学指标,覆盖三个维度:

类别特征示例
关节角度右肘角、右肩角、右膝角、右髋角
姿态几何躯干倾角、两肩连线水平角
运动学量手腕合速度、质心位移、肢体长度比

以 16 帧为窗口,逐窗口计算均值、标准差、最大值、最小值四种聚合统计量,最终得到 62 维固定长度特征向量。相比直接使用关键点坐标(34 维),手工特征具有更强的物理可解释性和更低的纬度。

2.3 多任务联合学习

设计共享编码器 + 双分支结构:

  • 分类分支:6 类击球动作 Softmax 输出
  • 回归分支:0~100 连续质量评分 Sigmoid 输出
  • 联合损失L = L_CE + 0.5·L_MSE

多任务学习不仅统一了流水线,质量回归的辅助任务还产生了正则化效果——在消融实验中,加入回归分支后分类准确率从 53.48% 提升至 57.78%(+4.30 pp)。


3. 六类击球动作

编号英文中文
0Forehand Clear正手高远球
1Backhand Clear反手高远球
2Forehand Smash正手杀球
3Backhand Smash反手杀球
4Forehand Net Lift正手网前挑球
5Backhand Net Lift反手网前挑球

4. 实验结果

4.1 姿态估计(BSD 测试集)

模型mAP@0.5:0.95 (%)
YOLOv8-Pose (baseline)82.46
+ SE Attention82.19
+ CBAM (ours)83.46

SE 注意力未能在该任务上带来增益(82.19% vs. 82.46%),CBAM 的空间注意力分支在运动模糊场景下更具优势。

4.2 击球动作分类(BSD 测试集)

方法Accuracy (%)Precision (%)Recall (%)F1 (%)
OpenPose + LSTM45.7944.0045.7943.49
YOLOv8-Pose + LSTM46.1544.0046.1543.29
YOLOv8-Pose + Kinematic + MLP56.7857.8056.7857.11
YOLOv8-Pose + CBAM + Kinematic + Multi-Task (ours)57.7858.8057.7858.11

4.3 消融实验

Pose ModelCBAMKinematicMulti-TaskAccuracy (%)Quality MAE
YOLOv8-Pose46.15
YOLOv8-Pose44.50
YOLOv8-Pose53.482.41
YOLOv8-Pose57.782.20

4.4 关键发现

  1. CBAM 单独无法提升分类:与原始 LSTM 结合时反而下降(44.50% vs. 46.15%)。CBAM 的价值在于提供更精准的关键点→进而提升运动学特征的质量,而非直接辅助分类器。
  2. CBAM + 运动学特征存在协同效应:两者结合后准确率提升 +4.30 pp(53.48% → 57.78%)。
  3. 多任务头压缩质量评估误差:MAE 从 2.41 降至 2.20,联合训练的分类分支也有正向收益。

5. 快速上手

bash
# 1. 克隆仓库 git clone https://github.com/lechan775/BSDPose.git cd BSDPose pip install -r requirements.txt # 2. 准备 BSD 数据集(需先下载 VideoBadminton) python scripts/prepare_bsd.py \ --source-root data/pose \ --output-root data/bsd \ --window-size 16 --seed 42 # 3. 训练姿态估计(三种变体) python train/train_pose.py --variant all --epochs 200 --batch 16 # 4. 训练分类器 python train/train_classifier.py --variant cbam_kinematic_multitask # 5. 评估 python eval/eval_pose.py python eval/eval_classifier.py python eval/eval_ablation.py

依赖:torch>=2.0 / ultralytics>=8.0 / opencv-python / pyyaml / numpy


6. 项目结构

BSDPose/ ├── models/ # CBAM/SE 模块 & YOLOv8-Pose 注入逻辑 ├── features/ │ └── kinematic.py # 15维逐帧特征 → 62维窗口聚合 ├── classifier/ │ ├── multi_task_head.py # 多任务头、损失函数、MLP/LSTM基线 │ └── dataset.py # 特征数据加载器 ├── train/ # 训练脚本(姿态估计 & 分类器) ├── eval/ # 评估脚本(mAP / Acc / MAE / 消融) ├── scripts/ │ └── prepare_bsd.py # VideoBadminton → BSD 数据集构建 ├── configs/config.yaml # 超参数 & 实验矩阵 └── paper/journal_draft.md # 论文手稿(Markdown)

7. 引用

本项目配套论文发表于《湖南理工学院学报(自然科学版)》(2026):

bibtex
@article{bsdpose2026, title = {{基于YOLOv8-Pose与运动学特征分析的羽毛球击球动作识别与质量评估研究}}, author = {胡竞文 and 罗正 and 潘润杭 and 范飞豪}, journal = {湖南理工学院学报(自然科学版)}, year = {2026}, note = {Submitted} }

8. 相关信息


Written on 2026-05-25 by 探微 (Hanako AI Agent)

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:williams

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!