infosys-spring-board-5.0

The project aims to develop a computer vision application using YOLOv5 for tennis ball detection and tracking, along with predicting the ball's bounce region. Built with Streamlit, the application allows users to upload tennis match videos for analysis, providing valuable insights for coaches, players, and analysts.

https://github.com/amruth-varsh/infosys-spring-board-5.0

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

The project aims to develop a computer vision application using YOLOv5 for tennis ball detection and tracking, along with predicting the ball's bounce region. Built with Streamlit, the application allows users to upload tennis match videos for analysis, providing valuable insights for coaches, players, and analysts.

Basic Info
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created over 1 year ago · Last pushed 12 months ago
Metadata Files
Readme Contributing License Citation

README.md

Tennis Ball Detection using YOLOv5 and Streamlit

This project enables real-time detection of tennis balls and players from video inputs using a custom-trained YOLOv5 model. The application is designed for coaches, players, and analysts to enhance tennis match analysis. It features an interactive user interface built with Streamlit Application.

Video

Processed Video

Features

  • Upload video files for processing
  • Displays the progress of object detection
  • Shows output video with tennis ball and player detection after processing

Setup Instructions

1. Clone the Repository

bash git clone <repository-url> cd yolov5

2. Install Dependencies

Make sure you have Python installed. Then, install the required libraries:

bash pip install -r requirements.txt

3. Model Setup

Place the custom-trained YOLOv5 model file in the yolov5/runs/exp/weights/best.pt.

4. Run the Application Locally

Run the following command in the yolov5 directory:

bash streamlit run tennismatch.py

File Structure

yolov5/ ├── app.py # Streamlit application file ├── runs/ │ └── exp/ │ └── weights/ │ └── best.pt # Trained YOLOv5 model weights └── data/ # Contains video input files

Usage

  1. Launch the Streamlit application.
  2. Upload a video file in .mp4 format.
  3. Wait for the detection to process; the completion percentage will be displayed.
  4. After processing, view the output video with detections highlighted.

Example

Upload a sample tennis match video to detect player movements and tennis ball positions, using real-time updates for progress.

Dependencies

  1. YOLOv5: Custom-trained model for object detection.
  2. Streamlit: Provides the interactive web application.
  3. PyTorch: Backend framework for YOLOv5.
  4. OpenCV: Handles video processing.

Owner

  • Name: Pettem Amruthvarsh
  • Login: Amruth-varsh
  • Kind: user
  • Location: Hyderabad

I a motivated recent graduating with a degree in Computer Science. Eager to kickstart my career, I bring a solid foundation in problem-solving.

GitHub Events

Total
  • Watch event: 3
  • Issue comment event: 2
  • Push event: 22
  • Pull request event: 1
  • Create event: 3
Last Year
  • Watch event: 3
  • Issue comment event: 2
  • Push event: 22
  • Pull request event: 1
  • Create event: 3

Dependencies

.github/workflows/ci-testing.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • slackapi/slack-github-action v1.27.0 composite
.github/workflows/cla.yml actions
  • contributor-assistant/github-action v2.6.1 composite
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v4 composite
  • github/codeql-action/analyze v3 composite
  • github/codeql-action/init v3 composite
.github/workflows/docker.yml actions
  • actions/checkout v4 composite
  • docker/build-push-action v6 composite
  • docker/login-action v3 composite
  • docker/setup-buildx-action v3 composite
  • docker/setup-qemu-action v3 composite
.github/workflows/format.yml actions
  • ultralytics/actions main composite
.github/workflows/links.yml actions
  • actions/checkout v4 composite
  • ultralytics/actions/retry main composite
.github/workflows/merge-main-into-prs.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/stale.yml actions
  • actions/stale v9 composite
utils/docker/Dockerfile docker
  • pytorch/pytorch 2.0.0-cuda11.7-cudnn8-runtime build
utils/google_app_engine/Dockerfile docker
  • gcr.io/google-appengine/python latest build
pyproject.toml pypi
  • matplotlib >=3.3.0
  • numpy >=1.22.2
  • opencv-python >=4.6.0
  • pandas >=1.1.4
  • pillow >=7.1.2
  • psutil *
  • py-cpuinfo *
  • pyyaml >=5.3.1
  • requests >=2.23.0
  • scipy >=1.4.1
  • seaborn >=0.11.0
  • thop >=0.1.1
  • torch >=1.8.0
  • torchvision >=0.9.0
  • tqdm >=4.64.0
  • ultralytics >=8.1.47
requirements.txt pypi
  • Pillow *
  • matplotlib *
  • numpy *
  • opencv-python-headless *
  • pandas *
  • requests *
  • scipy *
  • streamlit *
  • torch *
  • torchvision *
  • ultralytics *
utils/google_app_engine/additional_requirements.txt pypi
  • Flask ==2.3.2
  • gunicorn ==22.0.0
  • pip ==23.3
  • werkzeug >=3.0.1
  • zipp >=3.19.1