Skip to content

bryanlje/mds06-ml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏸 High-Speed Badminton Match AI Analyser (ML Research & Development)

PyTorch Jupyter Notebook YOLOv11

This repository serves as the research lab and archive for the High-Speed Badminton Match AI Analyser. It contains the raw notebooks used for data preparation, model experimentation, and training.

⚠️ Notice

Please note: The notebooks in this repository are raw research artifacts.

  • Code State: Many notebooks are messy and may contain non-working code, debug blocks, or hardcoded paths specific to the original environment, which include Google Colab, Google Drive, and H100 servers (via RunAI).
  • Version Uncertainty: As this project evolved rapidly, it is not able to determine which specific notebook version produced the final production weights.
  • Purpose: These files are provided for transparency and reference regarding the development methodology, rather than as a clean, execute-from-top-to-bottom tutorial.

For the clean, production-ready inference pipeline, please refer to the Backend API repository linked below.


🔗 Project Structure & Repositories

This project is divided into three main repositories to handle the frontend, backend logic, and model development separately:


📂 Repository Content

1. Final Pipeline (00_final_pipeline/)

  • FINAL_FULL_PIPELINE.ipynb: The most complete integration notebook used to prototype the end-to-end logic (Detection → Tracking → Shuttle → Action) before it was refactored into the production backend.

2. Data Preparation (01_data_preparation/)

Scripts used to transform raw annotations into training datasets.

  • cvat_to_csv_bryan.ipynb: Converting raw CVAT export JSONs into standardised CSV formats.
  • generate_clips_from_csv_bryan.ipynb: Slicing full match videos into action-specific clips.
  • new_dataset_format.ipynb: Formatting data for PyTorchVideo loaders.

3. Model Training & Experiments (02_training_experiments/)

A. Player Detection (YOLO)

Notebooks for training YOLOv8/11 to detect players.

  • yolo_bryan training my_yolo11s_finals.ipynb (Final training run).

B. Player Tracking (StrongSORT + ReID)

Experiments with StrongSORT and OSNet for player Re-Identification.

C. Action Recognition (SlowFast)

Extensive experimentation with SlowFast (ResNet-101) for classifying badminton shots.

  • Note on Training Process: The training for the final SlowFast model was highly iterative and is not fully captured by a single notebook. It involved:
    • Many stop-start cycles.
    • Manually adjusting learning rates and epochs based on interim results.
    • Swapping datasets (high and standard frame rate clips) mid-training to refine performance.
    • Therefore, the notebooks here represent snapshots of this process, with NO exact uninterrupted training run.

4. Miscellaneous Research (03_misc_research/)

Exploratory work including DINOv3 foundation models and pose estimation tests.

❌ Missing Components

Please be aware that the following notebooks are not included in this archive:

  1. 1D CNN Training: The training script for the contact detection model (Shuttlecock trajectory analysis).
  2. Visualisation: The standalone notebook used for generating charts to showcase our results (bar charts, heatmaps, etc).

👥 Team

This project was developed by Team MDS06:

  • Bryan Leong Jing Ern
  • Phua Yee Yen
  • Ting Shu Hui
  • Lee Jian Jun Thomas

📧 Contact

Email: 2025mds06@gmail.com

About

Research archive containing data preparation scripts, experimental notebooks, and training logs for the custom Badminton AI models (Detection, Tracking, and Action Recognition).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors