Aller au contenu
Léo.
Tous les projets
Vision par ordinateurTerminé2026

Padel Analysis

Lire un match de padel filmé par une seule caméra de télévision : les joueurs, la balle, chaque contact et ce que la balle a touché, puis les statistiques du jeu.

Projet personnel · Code ouvert

Le court reconstruit en 3D, avec les contacts d'un échange mesurés par le projet.
Le court reconstruit en 3D, avec les contacts d'un échange mesurés par le projet.
Rôle
Seul, de la conception à la publication
Données
Deux finales du World Padel Tour 2022, en 1920×1080 à 30 images/s
Vérité terrain
Plus de 2 000 contacts pointés à la main
Matériel
Une GTX 1650, analyse après match

Points clés

  • 82 à 83 % des contacts reconnus avec la bonne surface sur des minutes jamais vues, contre 62 % pour des règles réglées à la main
  • 86 % sur un échange d'un autre tournoi, filmé dans une autre salle, sans rien réentraîner
  • Sur un match entier : points exacts, distance d'une paire à 1,3 % près, frappes à 1,2 % près
  • Un suivi des joueurs contraint par le court : IDF1 de 0,82, contre 0,28 pour ByteTrack seul sur les mêmes images

La démonstration

Le projet en une minute, avec le son. L'échange, ses contacts et ses statistiques sont ceux que le projet a mesurés ; entre deux contacts, la trajectoire 3D de la balle est une illustration. Images : PadelTracker100 (CC BY 4.0), retransmission World Padel Tour.
L'échange en entier, tel que le projet le rend : les joueuses suivies, la balle, la zone touchée à chaque contact et le panneau de statistiques. Sans le son. Images : PadelTracker100 (CC BY 4.0), retransmission World Padel Tour.

Comment ça marche

  1. 1

    Le court en trois dimensions

    Quelques points du court cliqués sur l'image suffisent à le calibrer : la position et l'orientation de la caméra en découlent. Une seule caméra ne voit pas la profondeur, mais au moment d'un contact la balle est posée sur une surface connue, le sol ou une vitre. Le rayon qui part de la caméra et traverse le pixel de la balle coupe cette surface en un seul point, qui place l'impact en trois dimensions.

  2. 2

    Les joueurs

    YOLO pose détecte chaque personne et son squelette. Le point entre les chevilles, projeté sur le sol, donne la position en mètres. Le suivi tient exactement quatre places, deux de chaque côté du filet, et refuse toute position hors du court. Sans ces contraintes, ByteTrack dépasse quatre pistes sur plus d'une image sur deux : le détecteur voit bien plus de personnes que les quatre joueurs.

  3. 3

    La balle

    La balle mesure quelques pixels et se noie parmi des dizaines de candidats. Plutôt que de la chercher image par image, le projet garde les meilleurs candidats de chaque image et choisit, par programmation dynamique, le chemin le plus plausible sur toute la séquence. Le rappel passe de 16 % à 72 %, puis à 80 % avec un réseau de détection entraîné pour l'occasion.

  4. 4

    Les contacts et leur surface

    Un petit réseau temporel, entraîné sur des minutes pointées à la main, décide de chaque contact et de sa surface à partir de la trajectoire, des gestes des joueurs et de la géométrie du court ; dix-huit réseaux votent ensemble. Les vitres que l'image ne montre pas se déduisent de la physique : une balle trop lente pour avoir rejoint le joueur directement après son rebond est passée par la vitre, ce qui se vérifie 13 fois sur 14.

  5. 5

    Les statistiques

    Le jeu est découpé en échanges. Le tableau d'affichage, lu à l'image, donne les points, crédités au dernier frappeur, et dit quand les paires changent de côté. Viennent ensuite, par joueur sur un échange et par paire sur un match, la distance parcourue, la vitesse, le temps au filet, les frappes et les volées.

Le point de départ

Les analyses de tennis par vision par ordinateur détectent les joueurs et la balle, puis en tirent des statistiques. Le padel ajoute une question que le tennis ne pose pas : la balle rebondit sur les vitres et les grillages, et un même échange enchaîne volées, rebonds et coups joués après la vitre. Savoir ce que la balle a touché, à chaque contact, devient le cœur du problème. J'ai mené ce projet seul, sur les images d'une retransmission télévisée et sans aucun autre capteur, avec une règle fixée dès le départ : ne publier un chiffre que s'il a été mesuré sur des minutes jamais regardées pendant les réglages.

Pourquoi le padel est un cas difficile

Une retransmission n'est pas filmée pour l'analyse : la caméra est loin et haute, et la balle traverse l'image en quelques instants.

  • La balle ne mesure que quelques pixels, souvent floue, parfois cachée par un joueur
  • Au fond du court, un rebond sur la vitre ne déplace la balle que de quelques pixels à l'image
  • Une seule caméra ne voit pas la profondeur : une balle haute près du filet et une balle au sol au fond du court peuvent tomber sur le même pixel
  • Le public et les personnes autour du court sont aussi des silhouettes pour le détecteur
  • La retransmission coupe et raccorde les plans, et l'identité des joueurs doit survivre à ces raccords

Les choix techniques

Chaque brique a été mesurée contre une méthode plus simple, gardée dans le code pour que la comparaison reste possible.

  • Un suivi contraint plutôt que ByteTrack seul : quatre places fixes et un court à respecter font passer l'IDF1 de 0,28 à 0,82 sur les mêmes images
  • La balle choisie sur toute la séquence plutôt qu'image par image : une croissance gloutonne décide localement et sans retour, l'optimisation globale peut revenir sur un choix
  • Un modèle appris plutôt que des règles : sur 716 contacts pointés, 62 % de surfaces justes pour les règles réglées à la main, 78 % pour le réseau, 83 % avec la physique des vitres et l'ensemble de dix-huit réseaux
  • La licence AGPL-3.0, imposée par Ultralytics : le code est ouvert, mais il ne peut pas entrer dans un produit propriétaire

Mesurer honnêtement

Une bonne partie du travail a porté sur la mesure elle-même. Un chiffre n'est publié que s'il a été obtenu sur des minutes que rien, pendant les réglages, n'avait regardées.

  • Des minutes de juge, pointées à la main et notées une seule fois. Quand la validation croisée a promis 87 % et qu'un juge neuf a répondu 82 %, c'est 82 % qui a été retenu
  • Une vérité terrain d'identité construite automatiquement annonçait zéro permutation de joueurs ; arbitrée à la main, elle en compte quatre. La référence reposait sur la même hypothèse que le suivi évalué, et l'IDF1 était surestimé de 0,137
  • Les statistiques d'un match vérifiées une à une : les déplacements contre les positions annotées du dataset, les frappes contre les minutes pointées, les points contre le tableau d'affichage
  • Un échange d'un autre tournoi, dans une autre salle, pour vérifier que le modèle n'avait pas appris une seule salle : 76 contacts justes sur 88

Ce qui n'a pas marché

Deux essais ont échoué. Ils restent décrits en entier dans le rapport d'évaluation du dépôt, avec leurs mesures.

  • Corriger les contacts avec les règles du padel : aucune n'a été gardée. La moitié des rebonds qu'elles déduisaient étaient de vraies volées, car la bandeja et la víbora se jouent en l'air, loin du filet
  • Retrouver au son les vitres que l'image ne montre pas : les vitres manquées sont silencieuses dans l'enregistrement, le micro de la retransmission ne capte pas ce que la caméra ne voit pas

Ce que le projet ne fait pas encore

  • Il analyse après le match, à quelques images par seconde sur une GTX 1650
  • Au fond du court, un tiers des rebonds sur la vitre restent manqués
  • Le transfert à un autre court n'est montré que sur un échange, pas sur un match entier
  • L'identité des joueurs se perd encore aux raccords de la retransmission
  • Grillage et filet sont trop rares dans les données pour être appris

Ce que j'en retire

  • Une métrique ne vaut que sa référence : une vérité terrain construite avec la même hypothèse que le système évalué ne peut pas voir ses erreurs
  • Garder une méthode simple et mesurée à côté de chaque brique, pour savoir ce que la brique apporte vraiment
  • Annoncer le chiffre le moins flatteur quand deux mesures se contredisent, et expliquer pourquoi
  • Livrer de bout en bout : tests et intégration continue, documentation en deux langues, release avec les poids entraînés, licence pour les données annotées

Galerie

  • Surfaces justes, règles réglées à la main contre modèle appris, sur la validation croisée et trois juges
  • Bilan par paire des deux finales : points, frappes, volées, frappes après une vitre, distance parcourue
  • Points gagnés par chaque paire selon la longueur de l'échange
  • Distance au filet sur tout le match, et part du temps où chaque paire tient le filet

1/4 · Surfaces justes, règles réglées à la main contre modèle appris, sur la validation croisée et trois juges

Tous les projets