Skip to content

Estimates human pose using a webcam and mediapipe and analyzes the pose in order to give a score and performance based review. This framework aims at teaching self defense to users. Then features are extracted and the poses aligned in the temporal domain.

License

Notifications You must be signed in to change notification settings

GDSC-IIIT-Kalyani/RAKSHA

 
 

Repository files navigation


Logo

RAKSHA

Virtual Self Defense Trainer

· Video link · Report Bug · Request Feature ·

Contributors Forks Stargazers Issues MIT License

About The Project

Self-defence is an important skill for self safety especially for women in times of danger. However, self-defence training is not accessible to many. And specially in these times when you cannot take one-on-one training due to lockdown restrictions, Techquillas present here your virtual self defense trainer RAKSHA which not only guides you with 11 basic self defense techniques but also grades you on how accurately you perform. Keep practicing, keep earning points and move on to the next modules! We walk you through by also taking some self awareness quizzes that help you stay on top of the leaderboard.

The team presents a framework that estimates human pose using a webcam and mediapipe and analyzes the pose in order to give a score and performance based review. This framework aims at teaching self defense to users. Then features are extracted and the poses aligned in the temporal domain. The result of the overall pipeline is a score and model.predict for each feature extracted.

Built With

We build our backend using the following technologies:

  • Flask
  • Firebase
  • Mediapipe
  • Tensorflow
  • Keras
  • OpenCV

The frontend involves basic web development using Bootstrap, HTML, CSS and JavaScript.

Getting Started

This is an example of how you may set up the project locally. To get a local copy up and running follow these simple example steps.

Assuming you have Ananconda or Miniconda3 already working, create a tensorflow conda environment and install a few libraries into it, and then we're ready to go.

  • Install the current release of CPU-only TensorFlow, recommended for beginners:
conda create -n tf tensorflow
conda activate tf
  • Or, to install the current release of GPU TensorFlow on Linux or Windows:
conda create -n tf-gpu tensorflow-gpu
conda activate tf-gpu
  • Cd into your newly created environment (from command line or terminal)
cd C:\...\path-to-your-conda-environment\
  • Installing modules we will need Though your virtual env will have all required modules, here are some extra ones required to setup this project locally.
pip install -r requirements.txt

Running the code

  • Fork and clone the project.
git clone https://github.com/akshitadixit/RAKSHA
  • Cd into your cloned repo (folder with the same name as the repo on your system)
cd C:\...\path-to-your-cloned-repo\
  • After making sure your tf conda environment we just created above, is activated, run the app.py file
python app.py

Succesfull installation and running will give you a link you can visit locally. For any exceptions, kindly recheck the entire process and try again, or feel free to create an issue.

Dependencies

For the complete list visit requirements.txt

Screenshots

land reg Screenshot from 2021-07-11 12-27-58

Roadmap

See the open issues for a list of proposed features (and known issues).

VIDEOS

Video link - https://drive.google.com/file/d/1zXvHk6HpLrv-2i127cx1vv41eDuQ-IVt/view?usp=sharing

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Our Contributors👩‍💻👨‍💻 :

About

Estimates human pose using a webcam and mediapipe and analyzes the pose in order to give a score and performance based review. This framework aims at teaching self defense to users. Then features are extracted and the poses aligned in the temporal domain.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%