My Yoga Mate - MYM , is a project built by postgraduate students of University of Glasgow. MYM detects human posture doing yoga and compares it with the stored original image and state the user whether the pose is correct or not. We have build this project in C++ language and used Tensorflow libaries to find the key points of hunan pose estimation and posture angle. This will be a great use for people who do yoga on a daily basis where they can get a guidance for correct posture of a human doing a particular yoag pose. We can extend our project and make an app for this so that it will be easy and convinient for everyone to use it daily.
Our Github Page link : https://sunitaacharya.github.io/myYogaMate/
Hardware
- Linux Laptop/ Ubuntu dual setup in Windows Laptop
- Webcam
Software
- Ubuntu(x64)
- C++ API
- Visual Studio(2019)
- OpenCV (4.5.5) and necessary dependencies
- Cmake
- Boost
Install
sudo make install
To download our source code along with submodule
$ git init
$ git clone git@github.com:SunitaAcharya/myYogaMate.git
$ cd myYogaMate/
$ git submodule update --init --recursive --remote
To download pre-build libararies
$ cd InferenceHelper/
$ sh third_party/download_prebuilt_libraries.sh
$ cd ..
To Build
mkdir build
cd build
cmake ..
make #to compile program
./main
- Run the above commands to download our source code and build it
- Press any key to start the program
- Select 1, 2, 3, 4, 5, 6 to select image
- Press "q" to exit
- Press "," or "." to resize webcam window
- image_helper.cpp: It includes all the functions that can help the image_processor and image_show to implement their functions. For example, checking the image type, detecting the key pressed by users, resizing output windows, and showing remainder statement.
- image_processor.cpp: Image processor can compare the pose of user with image. It includes the functions of initialisation, angle calculation and comparison, and drawing of joint points and lines.
- image_show.cpp: It focuses on showing the homepage, image window, and camera window in real time.
- pose_engine.cpp: It sets model information and input parameters for Tensor flow and return the result from Tensor flow.
image_show() function is used to read and analyse the image choosen from menu. Also, it calculates the angles. camera_show() function is used to analyse the pose from webcam. It then calculates the angles which will used while comparing the angles of both the images and camera in realtime.
All relevant information regarding this project is in Wiki
Copyright 2022 UofG_rtep_team4
Licensed under the MIT License
Please visit License for more details.
Sunita Acharya
Yuan Zhang
Siyu Liu
Shujun Wang
Follow us on :
To install Ubuntu on Windows 10 for Dual SetUP
Human Basic Pose classification
OpenCv installation Guide
OpenCv Lib
Object Oriented Programming
C++ memory management
InferenceHelper
How to use README File
https://www.youtube.com/watch?v=fiDaAc7z_kQ&list=PLm3gcFKTH-o-GhANAGu93TYwHc6YmVbwE&index=4
© 2022 Copyright UofG_Real_Time_Embedded_Systems_Team4