Skip to content

sidsurakanti/what-punch

Repository files navigation

Overview

What punch is this? It's a (jab, uppercut, straight, hook (?), or idle). Admittedly, my boxing skills aren't great, so the data is probably garbage.

demo.mov

Sample usage

Train data size: 110
Test data size: 59

STARTING...
EPOCH 1 >>>
TEST, ACCURACY: 20.34%, LOSS: 1.5560
EPOCH 2 >>>
TEST, ACCURACY: 61.02%, LOSS: 1.3785
...
EPOCH 19 >>>
TEST, ACCURACY: 96.61%, LOSS: 0.0915
EPOCH 20 >>>
TEST, ACCURACY: 98.45%, LOSS: 0.0586
Save model weights? (y/n) >>> y
Save model weights to? >>> idk2

Done! Weights saved to 'idk2.pkl'
Peak Accuracy: 98.45% @ Epoch 20
Time spent training: 121.34s

Features

  • Custom dataset
  • Predicts punches (?)
  • Pretty decent accuracy
  • Can't predit hooks

What I Learned

  • Curating & analyzing data
  • Evaluating models
  • Realtime inference pipeline

Stack

Python
NumPy
Pandas
Matplotlib OpenCV

Getting Started

Prerequisites

  • Python 3.9+
  • pip

Installation

Clone the repo:

git clone https://github.com/username/repo.git
cd repo

Create a virtual environment (optional but recommended):

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

Install dependencies:

pip install -r requirements.txt

Run the app

python3 main.py

or

python main.py

dm me for the dataset if u wanna see or play w it

Contributing

See CONTRIBUTING.md for how to help.

Roadmap

  • Basic structure
  • Redo data and clean it up
  • Make the model differentiate hooks & uppercuts better
  • End to end

Support

Need help? Ping me on discord

Acknowledgements

Thanks to all contributors and open-source tools that made this possible ❤️

About

a realtime boxing punch classifer using a custom dataset of my own punches (wip)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors