Skip to content

Yoga Pose Detection using human key point estimation in C++ language built by postgraduate students of University of Glasgow

License

Notifications You must be signed in to change notification settings

SunitaAcharya/myYogaMate

Repository files navigation

myYogaMate



Status

License Stars GitHub open issues GitHub open pull requests Contributors

Table of contents

About the Project

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/

Requirements

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 

Guide

  1. Run the above commands to download our source code and build it
  2. Press any key to start the program
  3. Select 1, 2, 3, 4, 5, 6 to select image
  4. Press "q" to exit
  5. Press "," or "." to resize webcam window

Code Structure

  • 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

License

Copyright 2022 UofG_rtep_team4
Licensed under the MIT License
Please visit License for more details.

Authors

Sunita Acharya
Yuan Zhang
Siyu Liu
Shujun Wang

Social Media

Follow us on :

References

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

About

Yoga Pose Detection using human key point estimation in C++ language built by postgraduate students of University of Glasgow

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •