Inspiration

Ask yourself: Do you feel safe walking alone on the road at 11 pm at night? We don't. That's why we built Kata. As more girls go to universities and colleges, and women join the workforce, their exposure to attacks of assault have been increasing day by day. At the same time, some women do not have the time or cannot afford going to self defense classes. Women have the right to their own safety, and Kata aims to connect them to this basic right. Bridging the gap between technology and safety, Kata teaches self defense to women, but with computer vision.

What it does

Kata extracts self defense poses from YouTube and TikTok tutorials. It then converts these poses into computer vision stick-figures, that you (the user) must match to perfect your self defense moves. We also developed a metric that shows the user a score and how they are performing. This makes learning self defense more engaging and gamifies martial arts with real-time feedback.

How we built it

  • Mediapipe's API paired with OpenCV to extract pose from user's webcam and self defense tutorial
  • Pickle to compile data
  • Python and flask for the backend of the application
  • HTML, CSS, JS and Bootstrap for the frontend of the application

Challenges we ran into

  • Python libraries and mediapipe would not get installed on the computer with pip install (we had to build a virtual environment on our terminal)
  • OpenCV was not allowed to access camera on Mac (followed long YouTube tutorials to change security preferences)
  • The pose extracted from the video would not display properly on the screen for the user to match (had to give it a scale)
  • Mediapipe slowed down the tutorial videos after extracting keypoints

What we learned

  • How to use Mediapipe and OpenCV for pose estimation
  • Various python libraries like numpy, pickle, imageio
  • Karate moves
  • How to use flask for backend

What's next for Kata

  • Authentication so user can login and sign up, and increase security as young girls would user Kata
  • Estimate 2 poses at the same time (attacker, defender)
  • Add a database of videos from YouTube and Tiktok
  • Add a yoga for mental health section where user can learn yoga
  • Build a chatbot that increases motivation to keep learning self defense
+ 2 more
Share this project:

Updates