Virtual Self Defense Trainer
·
Video link
·
Report Bug
·
Request Feature
·
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.
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.
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
- 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.
For the complete list visit requirements.txt
See the open issues for a list of proposed features (and known issues).
Video link - https://drive.google.com/file/d/1zXvHk6HpLrv-2i127cx1vv41eDuQ-IVt/view?usp=sharing
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.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.