This project requires Unity version 2019.4 or superior, and the functionalities of Openpose for Unity is currently only suported on Windows OS.
"MyPrivateCoach" is a software that assists users in indoor exercise through posture recognition powered by Openpose. A 3D humanoid model called "virtual coach" is animated by humanoid animation file choosed by user, and an evaluation system is implemented to evaluate similarity of poses of user and virtual coach in real time. At the moment, our method is based on the angle of each observable joint.
Two type of feedback are implemented:
- During the sport exercise, a score indicating the overall similarity of the actions is displayed below the screen, while on the virtual coach's model, red balls appear on some joints evaluated to be acting incorrectly to prompt the user.
- At the end of the sport exercise, statistics for the entire session are also available.
We provide 4 type of exercices to choose from and an interface to configure sport sessions.
We used Playfab in this projet for a login system and a simple database as well, where we stock information about different sports such as which joints to evaluate. Please change the playfab ID with your own Playfab ID.
The project is composed of two parts, one is the content of this Repo, the software for ordinary users, and the other is for professionals to generate animation files of sports from video .
- Run getPlugins.bat located in Assets/OpenPose/
- Run getModels.bat located in Assets/StreamingAssets/models/
- Change the playfab ID in PlayFabSettings.staticSettings.TitleId, and in Assets/Scripts/PlayFabLogin.
- Our two scenes "Login" and "OpenposeCoach" are located in Assets/Scenes/,the "Login" is for a login system and once logged in, you will be redirected in the scene "OpenposeCoach".
-
Openpose Unity plugin
https://github.com/CMU-Perceptual-Computing-Lab/openpose_unity_plugin -
godot 3D mannequin
We follow the godot License Terms.
https://github.com/GDQuest/godot-3d-mannequin
-
ThreeDPoseUnityBarracuda https://github.com/WantingDU/ThreeDPoseUnityBarracuda#threedposeunitybarracuda
-
Easy motion recorder: https://github.com/neon-izm/EasyMotionRecorder