Soccer Ball Detection with RF-DETR

Automated soccer ball detection pipeline using RF-DETR (Roboflow DETR) optimized for tiny object detection (<15 pixels).

Model Details

Architecture

  • Model: RF-DETR Base
  • Backbone: ResNet-50
  • Classes: Ball (single class detection)
  • Input Resolution: 1120x1120 (optimized for memory)
  • Precision: Mixed Precision (FP16/FP32) training, FP16 inference

Performance

Based on training evaluation report (Epoch 39):

  • mAP@0.5:0.95: 0.682 (68.2%)
  • mAP@0.5: 0.990 (99.0%)
  • Small Objects mAP: 0.598 (59.8%)
  • Training Loss: 3.073
  • Validation Loss: 3.658

Quick Start

Installation

pip install -r requirements.txt

Usage

from src.perception.local_detector import LocalDetector
from pathlib import Path

# Initialize detector
detector = LocalDetector(
    model_path="models/checkpoints/latest_checkpoint.pth",
    config_path="configs/default.yaml"
)

# Detect ball in image
results = detector.detect(image_path)

Process Video

python main.py --video path/to/video.mp4 --config configs/default.yaml --output data/output

Training

Train from Scratch

python scripts/train_ball.py \
    --config configs/training.yaml \
    --dataset-dir datasets/combined \
    --output-dir models \
    --epochs 50

Resume Training

python scripts/train_ball.py \
    --config configs/resume_20_epochs.yaml \
    --dataset-dir datasets/combined \
    --output-dir models \
    --resume models/checkpoints/latest_checkpoint.pth \
    --epochs 50

Project Structure

soccer_cv_ball/
β”œβ”€β”€ main.py                 # Main orchestrator
β”œβ”€β”€ configs/               # Configuration files
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ perception/        # Detection, tracking
β”‚   β”œβ”€β”€ analysis/         # Event detection
β”‚   β”œβ”€β”€ visualization/    # Dashboard
β”‚   └── training/         # Training utilities
β”œβ”€β”€ scripts/               # Training and utility scripts
β”œβ”€β”€ models/               # Model checkpoints
└── data/                 # Dataset (not included)

Configuration

Key configuration files:

  • configs/training.yaml - Main training configuration
  • configs/default.yaml - Inference configuration
  • configs/resume_*.yaml - Resume training configurations

Datasets

This model was trained on:

  • SoccerSynth-Detection (synthetic data)
  • Open Soccer Ball Dataset
  • Custom validation sets

Precision Strategy

  • Training: Mixed Precision (FP16/FP32) - RF-DETR default
  • Inference: FP16 (half precision) for ~3x speedup
  • Future: INT8 via QAT (Quantization-Aware Training) for edge devices

Citation

If you use this model, please cite:

@software{soccer_ball_detection,
  title={Soccer Ball Detection with RF-DETR},
  author={Your Name},
  year={2026},
  url={https://huggingface.co/eeeeeeeeeeeeee3/soccer-ball-detection}
}

License

MIT License - See LICENSE file for details.

Acknowledgments

  • RF-DETR by Roboflow
  • SoccerSynth-Detection dataset
  • Open Soccer Ball Dataset
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support