CoolFace
Modelpublic

Davidsv/CourtSide-Computer-Vision-v1

sourceHugging Facemitupdated 10mo agoView on Hugging Face
11likes97downloads
Model Card

CourtSide Computer Vision v1 - Complete Tennis Detection

Fine-tuned YOLOv11n model for comprehensive tennis analysis with 10-class detection: rackets, balls, and court zones. The most complete model in the CourtSide Computer Vision suite.

[image]

Model Details

  • Model Name: CourtSide Computer Vision v1
  • Model ID: Davidsv/CourtSide-Computer-Vision-v1
  • Model Type: Object Detection
  • Architecture: YOLOv11 Nano (n)
  • Framework: Ultralytics YOLOv11
  • Parameters: 2.6M
  • Input Size: 640x640
  • Classes: 10

Classes Detected

IDClassDescription
0racketTennis rackets
1tennis_ballTennis balls
2bottom-dead-zoneBottom baseline area
3courtFull court area
4left-doubles-alleyLeft doubles alley
5left-service-boxLeft service box
6netTennis net
7right-doubles-alleyRight doubles alley
8right-service-boxRight service box
9top-dead-zoneTop baseline area

Performance Metrics

MetricValue
mAP@5092.13%
mAP@50-9585.49%
Precision92.9%
Recall92.0%

Training Details

Datasets

This model was trained on 3 combined datasets:

  1. 1.Tennis Ball Dataset - Ball detection
  2. 2.Tennis Racket Dataset - Racket detection
  3. 3.Tennis Court Dataset - Court zones and net detection

Training Configuration

yaml
Model: YOLOv11n (nano)
Epochs: 150
Batch size: 16
Image size: 640x640
Device: Apple Silicon (MPS)
Optimizer: AdamW
Learning rate: 0.001 → 0.01
Patience: 50 (early stopping)

Augmentation

  • HSV color jitter (h=0.015, s=0.7, v=0.4)
  • Random horizontal flip (p=0.5)
  • Translation (±10%)
  • Scaling (±50%)
  • Mosaic augmentation

Loss Weights

  • Box loss: 7.5
  • Class loss: 0.5
  • DFL loss: 1.5

Usage

Installation

bash
pip install ultralytics

Python API

python
from ultralytics import YOLO

# Load CourtSide Computer Vision v1 model
model = YOLO('Davidsv/CourtSide-Computer-Vision-v1')

# Predict on image
results = model.predict('tennis_match.jpg', conf=0.25)

# Display results
results[0].show()

# Get detections by class
for box in results[0].boxes:
    cls = int(box.cls[0])
    conf = float(box.conf[0])
    class_name = model.names[cls]
    print(f"{class_name}: {conf:.2%}")

Video Processing

python
from ultralytics import YOLO

model = YOLO('Davidsv/CourtSide-Computer-Vision-v1')

# Process video with tracking
results = model.track(
    source='tennis_match.mp4',
    conf=0.25,
    tracker='bytetrack.yaml',
    save=True
)

Command Line

bash
# Predict on image
yolo detect predict model=Davidsv/CourtSide-Computer-Vision-v1 source=image.jpg conf=0.25

# Predict on video
yolo detect predict model=Davidsv/CourtSide-Computer-Vision-v1 source=video.mp4 conf=0.25 save=True

# Track objects in video
yolo detect track model=Davidsv/CourtSide-Computer-Vision-v1 source=video.mp4 conf=0.25

Recommended Hyperparameters

Inference Settings

python
# Balanced (recommended)
conf_threshold = 0.25  # Confidence threshold
iou_threshold = 0.45   # NMS IoU threshold

# High precision (fewer false positives)
conf_threshold = 0.40
iou_threshold = 0.45

# High recall (detect more objects)
conf_threshold = 0.15
iou_threshold = 0.40

Use Cases

  • Real-time tennis match analysis
  • Player position and movement tracking
  • Ball trajectory prediction
  • Court zone occupancy analysis
  • Automated highlight generation
  • Swing detection and technique analysis
  • Sports analytics dashboards
  • Training video analysis

CourtSide Computer Vision Suite

VersionDescriptionmAP@50
v0.1Tennis Ball Detection85.6%
v0.2Tennis Racket Detection66.7%
v1Complete Tennis Detection (10 classes)92.1%

Model Card Authors

  • Developed by: Davidsv (Vuong)
  • Model date: November 2024
  • Model version: v1
  • Model type: Object Detection (YOLOv11)
  • Part of: CourtSide Computer Vision Suite

Citations

This Model

bibtex
@misc{courtsidecv_v1_2024,
  title={CourtSide Computer Vision v1: Complete Tennis Detection with YOLOv11},
  author={Vuong},
  year={2024},
  publisher={Hugging Face},
  howpublished={\url{https://huggingface.co/Davidsv/CourtSide-Computer-Vision-v1}}
}

Ultralytics YOLOv11

bibtex
@software{yolov11_ultralytics,
  author = {Glenn Jocher and Jing Qiu},
  title = {Ultralytics YOLO11},
  version = {11.0.0},
  year = {2024},
  url = {https://github.com/ultralytics/ultralytics},
  license = {AGPL-3.0}
}

Datasets

tennis-court-keypoints Computer Vision Model

bibtex
@misc{
                            tennis-court-keypoints_dataset,
                            title = { tennis-court-keypoints Dataset },
                            type = { Open Source Dataset },
                            author = { TennisCV },
                            howpublished = { \url{ https://universe.roboflow.com/tenniscv-yywpa/tennis-court-keypoints } },
                            url = { https://universe.roboflow.com/tenniscv-yywpa/tennis-court-keypoints },
                            journal = { Roboflow Universe },
                            publisher = { Roboflow },
                            year = { 2024 },
                            month = { mar },
                            note = { visited on 2025-11-21 },
                            }

dataset1 Computer Vision Dataset

bibtex
@misc{
                            dataset1-yx5qr_dataset,
                            title = { dataset1 Dataset },
                            type = { Open Source Dataset },
                            author = { Tesi },
                            howpublished = { \url{ https://universe.roboflow.com/tesi-mpvmr/dataset1-yx5qr } },
                            url = { https://universe.roboflow.com/tesi-mpvmr/dataset1-yx5qr },
                            journal = { Roboflow Universe },
                            publisher = { Roboflow },
                            year = { 2023 },
                            month = { mar },
                            note = { visited on 2025-11-21 },
                            }

tennis ball detection Computer Vision Dataset

bibtex
@misc{
                            tennis-ball-detection_dataset,
                            title = { tennis ball detection Dataset },
                            type = { Open Source Dataset },
                            author = { Viren Dhanwani },
                            howpublished = { \url{ https://universe.roboflow.com/viren-dhanwani/tennis-ball-detection } },
                            url = { https://universe.roboflow.com/viren-dhanwani/tennis-ball-detection },
                            journal = { Roboflow Universe },
                            publisher = { Roboflow },
                            year = { 2023 },
                            month = { feb },
                            note = { visited on 2025-11-21 },
                            }

License

MIT License - Free for commercial and academic use.

Acknowledgments

Contact & Support


Model Size: ~5.4 MB Supported Formats: PyTorch (.pt), ONNX, TensorRT, CoreML Model Hub: Davidsv/CourtSide-Computer-Vision-v1