/Forehand-stroke-posture-analysis-3D-visualization-for-table-tennis-beginners

This project aims to help beginners learn table tennis by providing them 3D skeleton motion & improvement suggestions.

Primary LanguageC++

Forehand stroke posture analysis & 3D visualization for table tennis beginners

It's my undergraduate project aims to help beginners learn table tennis by providing them 3D skeleton motion & improvement suggestions. With one camera, like a cellphone, users can visualize their 3D skeleton with motion in 3D space, and compare it with the one from an expert we provided. Moreover, considering that beginners need some concrete advice, we train an LSTM to classify user's motion and the software gives suggestions according to the result.

3D Visualization - the upper is a beginner with 3D skeleton, and the lower is an expert with 3D skeleton.

Features

  • 3D Visualization

    3D Visualization - the upper is a beginner with 3D skeleton, and the lower is an expert with 3D skeleton.
    • Side-by-Side Comparison: Display the expert’s and the beginner’s motions simultaneously, allowing users to compare their postures.
  • LSTM Posture Analysis

    • LSTM classifies the motion and the software gives suggestions by the result.

      LSTM Posture Analysis - LSTM classifies the motion and the software gives suggestions by the result.

Demo

skeleton-motion-demo


Full Demo video link

Interface

Software Interface

Motivation

  • Complexity of Techniques: Table tennis involves intricate techniques that beginners find difficult without proper guidance.
  • High Cost and Time Investment: It takes much time and money if beginners want to get feedback and correct their posture.
  • Lack of effective Apps: Few Apps teach beginners how to exercise right.

LSTM DataSet & Result

Dataset

Training dataset

training dataset

swinging distribution in training dataset rotation distribution in training dataset

Testing dataset

testing dataset

swinging distribution in testing dataset rotation distribution in testing dataset

Result

Dependencies

OpenGL

Future work

  • Bvh motion retarget. Attach bvh motion to model for more comprehensive visualization.
    We'd already worked on the feature. Here is the example.

Human motion in blender

References

  • Qammaz, A., & Argyros, A.A. (2019). MocapNET: Ensemble of SNN Encoders for 3D Human Pose Estimation in RGB Images. British Machine Vision Conference
  • A. Qammaz and A. Argyros, "Occlusion-tolerant and personalized 3D human pose estimation in RGB images," 2020 25th International Conference on Pattern Recognition (ICPR), Milan, Italy, 2021, pp. 6904-6911, doi: 10.1109/ICPR48806.2021.9411956.
  • LSTM

License

MIT