RehabRunner is a hack designed to help people who are suffering from physical injuries and require rehabillitation in current times.
- RehabRunner enables people to save a lot of money required in physical rehabillitation by providing computer vision technologies to tackle this problem.
- It saves time by reducing the time people take to travel to the hospital.
- Studies show that during COVID times most of the spaces inside major hospital's orthopaedic units have been repurposed to house people suffering from COVID symptoms. RehabRunner helps with social distancing and takes care of the problem of space constraints inside hospitals.
- RehabRunner helps target children by providing a gamified way to rehabillitate children.
- Game
- Pose estimation
- Exercise detection
- Dashboard
The Game has been made in order to provide a fun and interactive method to enable people to undergo what is usually a very painful and long process.
- The Game is made using unity, the game was custom built during the hackathon and is a pretty fun game.
- The game communicates with a python backend to do most of the image processing, this connection is made using a TCP connection. Real time results are computed and sent back with minimal lag.
- The player is then able to control his in game character to play the game.
We use pose estimation in order to detect the movement of key joints of a person, these results are useful in calculating whether a person succesfully exercises.
- The pose estimation model uses pretrained COCO model and is built in python
- The model receives the information data from the game frontend using a TCP socket connection
- The model then runs the predictions of each frame in a queue sending in the results, the threading enables us to get results with a delay of around 1.2 ms
We use this part to detect whether the person is performing a correct action given a sequence of points from the pose estimation
- Finding datasets for this very niche problem was very hard, we found a lot of videos from the internet of some basic exercises and recorded some videos as well.
- We use a delta based approximation algorithm to find whether a person correctly completes an exercise, we measure how well he does it using a threshold.
- The dashboard is a website we built inorder for users to measure their physical therapy progress over time based on how well they've played our game.
- The dashboard shows calendar progress of a user
- The dashboard shows his average score he gets in his exercise
- The dashboard also show the time to the next doctor's consultation
- We use a mongodb server, react frontend and flask backend to run this dashboard.
Run the following commands on a linux based system
cd Pose_Estimation/
sh ./get_model.sh
virtualenv env
source env/bin/activate
pip install -r requirements.txt
To run the python program on a loop
python run_pose.py
Copy paste all the folder except Pose_Estimation
, Dashboard
to the unity folder and run the unity game. Upon clicking run the game is built
- backend To install the backend for the dashboard run the following commands on a linux terminal
cd Dashboard/backend/
virtualenv env
source env/bin/activate
pip install -r requirements.txt
To run the backend
python main.py
- frontend
To setup the frontend
cd Dashboard/frontend/
npm install
To run the frontend
python main.py