Show HN: Automatic Baseball Pitching Motion and Trajectory Overlay in Realtime
GitHub - chonyy/ML-auto-baseball-pitching-overlay: ⚾🤖⚾ Automatic baseball pitching overlay in realtime

    


    
    
    
    
    
    
    


⚾ Automatically overlaying pitch motion and trajectory with machine learning!

This work is now published in ACM ICMR 2021!
This project takes your baseball pitching clips and automatically generates the overlay. The input pitching clip could be directly from your phone or camera. The release point will be automatically detected by the program. This system will trace the trajectory and align all the videos to generate the overlay.
A fine-tuned YOLOv4 model is used to get the location of the ball. Then, I implemented SORT tracking algorithm to keep track of each individual ball. Lastly, I have applied some image registration techniques to deal with slight camera shift on each clip.
I'm still trying to improve it! Feel free to follow this project, also check out the Todo list.
💻 Getting Started
These instructions will get you a copy of the project, and generates your own pitching overlay clip!
Get a copy
Get a copy of this project by simply running the git clone command.
git clone https://github.com/chonyy/ML-auto-baseball-pitching-overlay.git

Prerequisites
Before running the project, we have to install all the dependencies from requirements.txt
pip install -r requirements.txt

Overlay!
Last, run the project with your own clips!
Try a sample
python pitching_overlay.py
Try with yout own clips
Place your pitching videos in a folder, then specify the path in the CLI.
python pitching_overlay.py --videos_folder "./videos/videos"
🔨 Project Structure

    

🎬 More Demo

    


    


    


    

☑️ Todo

 Implement image registration to deal with camera shift
 Build a demo web app for people to use it in realtime on web
 Enable custom parameter tuning
 Improve the visual effect
 Write a Medium post to explain the technical workflow
 Draw a structure diagram

