MOVA RF-DETR SoccerNet v1
Detector de objetos para video de fútbol broadcast — entrenado por Orbital Lab sobre SoccerNet.
Detecta player, goalkeeper, referee y ball con calidad operativa para pipelines de tracking + identidad.
Acceso restringido: este checkpoint es propiedad de Orbital Lab. Uso interno y de partners autorizados (Semillero CV Externado).
Estado
- Versión: v1 (R0-full @ 1288)
- Estado runtime: ✅ promovido a producción en
mova-futbol - Checkpoint:
checkpoint_best_total.pth(516 MB) - Frozen: sí — no reabrir entrenamiento sin nueva evidencia documentada
Métricas (test set SoccerNet)
| Clase | AP@50 | Recall |
|---|---|---|
| player | 0.9643 | 0.63 |
| referee | 0.8100 | 0.63 |
| goalkeeper | 0.8066 | 0.63 |
| ball | 0.5596 | 0.63 (hard recall: 0.4752) |
| overall | 0.7851 | 0.63 |
- Overall AP@50-95: 0.4841
- Overall precision: 0.8804
- Ball es la clase más difícil — usar
ball_recovery.mode=tiled_ball_selectivepara HQ/offline si recall importa más que latencia.
Arquitectura
- Familia: RF-DETR (Roboflow)
- Variante:
rfdetr-l(Large) - Resolución de input: 1288 px
- Base architecture: roboflow/rf-detr-large
Training provenance
| Campo | Valor |
|---|---|
| Dataset | SoccerNet (split train+valid+test, contrato soccernet_detector_v2) |
| Epochs | 8 |
| Batch size | 2 (grad accumulation: 2 → effective 4) |
| Workers | 4 |
| Image size | 1288 |
| Provider | RunPod |
| GPU | NVIDIA RTX A6000 |
| Duración | 175,845 s (~48.8 horas) |
| Inicio | 2026-03-30 15:05 UTC |
| Fin | 2026-04-01 15:56 UTC |
| Preset | rfdetr-l-cloud-1288.yaml |
| Series | res-sweep |
| Tag | r0-full-1288 |
Cómo cargar
Inferencia básica
from huggingface_hub import hf_hub_download
import torch
# Requiere HF_TOKEN con acceso al repo
ckpt_path = hf_hub_download(
repo_id="OrbitalLab/mova-rfdetr-soccernet-v1",
filename="checkpoint_best_total.pth",
token="hf_xxx", # o HF_TOKEN env var
)
state = torch.load(ckpt_path, map_location="cuda")
# Cargar en modelo RF-DETR-L (ver código en mova-futbol)
Vía repo mova-futbol
poetry run python -m mova.track \
dataset.sequence_id=SNMOT-060 \
input.detections.source=rfdetr
El checkpoint se descarga automáticamente si configuras HF_TOKEN en .env.
Limitaciones conocidas
- Ball detection débil comparado con player/referee (AP50 0.56). Mitigación:
tiled_ball_selectiveen HQ. - Entrenado solo sobre SoccerNet — degradación esperada en cámaras no-broadcast (lateral fija, drone).
- Resolución 1288 fija — no probado a 1568 (
R1-pilot @ 1568cancelado). - Predicciones de
goalkeeperyrefereedeben tratarse downstream como roles semánticos por tracklet, no como ground truth detector.
Validación pipeline
Verificado en SNMOT-147 (750 frames):
tracking_smoke: throughput ~3.7 FPSpipeline_validate: accuracy 76.6%, fps_estimate 4.13- Sin crashes a lo largo de la secuencia completa
Archivos en este repo
| Archivo | Descripción |
|---|---|
checkpoint_best_total.pth |
Pesos del modelo (516 MB) |
manifest.json |
Configuración completa del training run |
metrics.json |
Métricas detalladas |
metrics_plot.png |
Gráfico de evolución del training |
ACTA_EXPERIMENTO.md |
Acta interna del experimento |
README.md |
Este archivo |
Cita
Si usas este modelo en publicaciones:
@misc{mova_rfdetr_soccernet_v1_2026,
author = {Zuluaga, Julián and Orbital Lab},
title = {MOVA RF-DETR SoccerNet v1: Custom-trained RF-DETR for football broadcast detection},
year = {2026},
publisher = {Hugging Face},
url = {https://huggingface.co/OrbitalLab/mova-rfdetr-soccernet-v1}
}
Proyecto
- Codebase:
OrbitalLabBOG/mova-futbol(privado) - Organización: Orbital Lab
- Mantenedor: Julián Zuluaga (
julianzu96@gmail.com) - Producto: MOVA Tactical — análisis táctico automatizado para clubes profesionales
Última actualización: 2026-05-07 Promoción al runtime: 2026-04-04 (Phase 1 closeout)