Inspiration

Baseball analytics has evolved significantly, but historical game footage remains an untapped goldmine of insights. Inspired by modern Statcast metrics, we aimed to extract key statistics (pitch velocity, exit velocity) from archival MLB™ videos using machine learning and computer vision.

What it does

Our solution processes historical baseball footage, detects the baseball in each frame using YOLOv8, and calculates pitch speed and exit velocity using Google Cloud’s AutoML. By analyzing trajectory and velocity, our model predicts whether a home run is expected.

How we built it

Data Collection: Processed archival MLB™ videos, extracted frames, and labeled datasets. Object Detection: Used YOLOv8 to track baseball movement across frames. Feature Extraction: Calculated velocity and angle based on pixel displacement and time. ML Model Training: Trained an AutoML model on labeled data to predict home run probabilities. Deployment: Integrated Google Cloud Vertex AI for scalable inference.

Challenges we ran into

Video Quality: Low-resolution footage made ball tracking difficult. Data Labeling: Manually labeling pitch speed and exit velocity required extensive effort. Real-Time Processing: Ensuring rapid model inference without compromising accuracy.

Accomplishments that we're proud of

Successfully extracted key Statcast metrics from old videos. Achieved high accuracy in pitch speed and exit velocity predictions. Developed a scalable solution using Google Cloud’s AI tools.

What we learned

Improved our knowledge of Google Cloud Vertex AI and AutoML. Enhanced our computer vision skills with YOLOv8. Gained insights into baseball analytics and Statcast metrics.

What's next for Extracting Baseball Analytics from Archival Videos

Expand model training with more historical datasets. Integrate real-time analysis for live game feeds. Enhance accuracy with advanced tracking algorithms.

Built With

  • ai
  • automl
  • cloud
  • google
  • jupyter
  • notebook
  • storage
  • vertex
  • yolov8
Share this project:

Updates