Inspiration

As a university baseball player, I have struggled to understand pitching mechanics from video alone. It is difficult to quantitatively compare two pitching motions just by watching them, while professional motion-capture systems are expensive and require specialized equipment.

I wanted to make pitching analysis more accessible by using ordinary smartphone video and AI.

What I Built

Outpose Baseball is an AI-powered pitching analysis application that analyzes pitching motion from video.

The application uses AI pose estimation to detect the pitcher's body keypoints and converts the motion into visual and quantitative feedback.

Key features include:

  • AI-based pitching pose analysis
  • Automatic pitch-speed estimation
  • Pitching motion and joint-movement analysis
  • Frame-by-frame motion analysis
  • 2-Pitch Comparison for comparing two pitching videos
  • Overlay visualization of two pitching motions
  • 3D visualization of pitching motion and ball trajectory
  • Pitch movement visualization
  • Strike/ball classification
  • Pitch history and data visualization
  • A simulation feature for estimating potential velocity improvement from changes in pitching mechanics

The goal is to make useful pitching analysis possible with equipment that players already have: a smartphone and a computer.

How I Built It

The application was developed primarily in Python using computer vision and AI pose estimation.

The main technologies include:

  • Python
  • YOLO pose estimation
  • OpenCV
  • NumPy
  • Pandas
  • Plotly
  • Streamlit
  • Android WebView
  • RevenueCat

The web application is deployed using Streamlit Community Cloud, and I also created an Android WebView version that connects to the deployed application.

RevenueCat is used to implement the Pro subscription and control access to premium pitching-analysis features.

Challenges

One of the biggest challenges was analyzing fast pitching motions from ordinary video.

Pitching involves rapid movements, and the detected body keypoints can be affected by camera angle, lighting, video quality, and temporary body occlusion.

Another challenge was turning raw pose-estimation data into information that is actually useful to baseball players. Rather than simply displaying keypoints, I focused on visualizations and comparisons that allow players to understand differences between pitches.

I also had to design the application so that the analysis results were understandable without specialized motion-capture equipment.

What I Learned

This project taught me that building an AI application is not only about choosing a powerful model.

The AI output needs to be transformed into clear visual feedback that users can understand and act on.

Through this project, I learned about computer vision, pose estimation, video processing, data visualization, web application development, Android integration, and subscription implementation with RevenueCat.

What's Next

I plan to improve pose-estimation accuracy, develop more detailed pitching metrics, and provide more personalized feedback based on individual pitching mechanics.

In the future, I also want to make the system more accessible to younger players and baseball teams by focusing on smartphone-based analysis that does not require specialized equipment.

Built With

  • artificial
  • computer
  • estimation
  • intelligence
  • learning
  • machine
  • matplotlib
  • numpy
  • opencv
  • pandas
  • pose
  • python
  • revenuecat
  • streamlit
  • vision
  • yolo
  • yolo11
Share this project:

Updates

Submission history