Tout SciGeek(tm)[1] normalement constitué regardant du sport raquetté sur le petit écran s'est forcément posé, dès l'apparition du système Hawkeye, la question de sa précision.
Rapide résumé pour les dames qui ne regardent que les biceps du petit Rafael : Hawkeye, c'est le système de RAO (ralenti assisté par ordinateur) auquel les joueurs ont le droit de recourir trois fois par set s'ils ont l'impression que le juge de ligne a mal jugé une balle. La trajectoire de la balle est reconstituée, et un gros IN ou OUT s'affiche sur l'écran pour que même les spectateurs de moins de 4 ans puissent comprendre si la balle est bonne, ou faute[2].
Le dispositif est clairement utile sur surface rapide, où, la balle ne laissant pas de trace au sol, la vérification a posteriori de l'annonce du juge était jusqu'alors impossible (malgré les tentatives répétées de certains râleurs notoires, Big Mac en tête, de peser sur la décision finale de l'arbitre). Le hic, c'est que le dispositif est désormais utilisé dans tous les tournois du grand chelem, donc à Roland-Garros, donc sur terre battue. Où l'on peut cette fois confronter la trace laissée par la balle à l'annonce faite par le système Hawkeye. Je me souviens notamment d'une balle cette année, je ne sais plus dans quel match, où la balle prétendûment in avait laissé une trace manifestement franchement dehors.
L'accumulation des critiques (certaines issues des joueurs eux-mêmes, d'autres de SciGeeks trop curieux dans mon genre) a ainsi conduit à une petite polémique, initiée par deux pontes de l'université de Cardiff, dont on trouvera l'historique à cette page. En ouvrant leur .doc, je vois 64 pages, je me dis "Chic, on va enfin savoir comment fonctionne ce bordel", pas possible d'y consacrer autant d'espace sans donner de réponse. Hélas, si, c'est possible. Pour des sociologues. Car j'avais omis un point : les auteurs ne sont pas des vrais SciGeeks(tm), mais des SocSciGeeks, espèce impure à laquelle on peut décemment pas se fier pour lancer de bons gros trolls velus. Ne lisez pas les 60 pages, je vous les résume : "votre truc est tout naze, parce que ça finit par rendre un verdict qui se veut définitif, et le public ne sait pas qu'il y a une marge d'erreur, et que la décision résulte aussi d'un traitement probabiliste des données".
Bon. Bien bien.
Je me demande pourquoi ils n'ont pas suggéré à l'éditeur du logiciel d'afficher, à la place du gros IN/OUT, un message du genre "sous les hypothèses habituelles de normalité des variables aléatoires, la probabilité que la balle soit faute est de 99.72%". Mauvais public, changer public.
Revenons donc aux fondamentaux, c'est-à-dire aux questions dont on peut décemment attendre une réponse technique en moins de temps qu'il n'en faut pour rédiger une thèse.
Quand j'ai commencé à réflechir au truc (juste après avoir ouvert une bouteille de Fieuzal 98 hier soir pour accompagner les cailles aux raisins), j'ai songé traitement d'image, reconstitution de trajectoire, intégration d'un modèle physique, triangulation, filtrage, statistique, tout ça quoi. Un truc sympa, sur lequel forcément plein de gens avaient dû déjà plancher, et que j'aurais peut-être une petite chance de comprendre, voire d'expliquer.
Or le net est chiche, et les sources rares.
Il me faut donc commencer par du calcul de coin de table. Hawkeye est composé d'une dizaine de caméras haute vitesse. Une caméra haute vitesse et haute déf, aujourd'hui, ça donne quoi ? Apparemment, on peut faire du 5000 images par seconde au mégapixel. Premier calcul brutal en faisant abstraction de toute considération 3D : un court de tennis mesure un peu moins de 24m, donc si on dispose une caméra latéralement pour couvrir un quart de longueur (de la ligne de service à la ligne de fond), on dispose d'un gros millier de pixels pour 6 mètres. Soit 6 millimètres le pixel. Compte tenu de la précision annoncée par le concepteur d'Hawkeye (3.6mm d'erreur moyenne), ça fait beaucoup.
Une balle mesure entre 63 et 67mm de diamètre. 10 pixels. Pas lourd. Elle peut se déplacer à plus de 200 km/h[3], soit 60 m/s. A 5000 images par seconde elle se déplace donc de 12mm entre deux frames consécutifs, soit environ deux pixels.
Tout ceci porte à croire qu'il faut zoomer davantage pour essayer de gagner un peu en résolution, même si les illustrations du chapitre "How does it work ?" laissent penser que le logiciel travaille à partir de vues plutôt larges.
La résolution spatiale et temporelle n'est pas le seul problème qui se pose. Avant de se prononcer sur la validité d'une balle, il faut tout d'abord définir correctement ce qu'on entend par "balle faute". Au moment de l'impact au sol une balle de tennis se déforme, et sur terre battue la décision est prise en fonction de la trace laissée au sol, trace elliptique dont le petit diamètre, mesuré perpendiculairement à sa trajectoire, n'est pas égal au diamètre (non-déformé) de la balle.
Une caméra placée au-dessus de l'action, qui ne pourrait "voir" que la projection au sol du cercle approximatif que dessine la balle, pourrait très bien prétendre que celle-ci a touché la ligne, alors que la marque laissée affirmerait le contraire ...
Pourquoi "cercle approximatif" ? Il parait que le lift hénaurme du gentil Rafa fait tourner la balle à plus de 3000 tr/min, soit 50 tr/sec (je suis balèze hein, même sans calculatrice ?). Sous l'effet de la force centrifuge, celle-ci peut donc sensiblement se déformer pour prendre une forme qui, vu d'une caméra, ne serait plus circulaire. Ce qui, soit dit en passant, complique un peu la localisation de son centre de gravité ...
(Billet en cours de rédaction)
Quelques articles/thèses/videos :
- In or out ?, 2 pages de présentation dans Scientific American
- A Tennis Ball Tracking Algorithm for Automatic Annotation of Tennis Match, où ça parle seulement de tracking à partir d'images basse définition
- Tracking a tennis ball using image processing techniques, une thèse saskatchewanaise.
- Visual tracking of a tennis ball, sur youtube
Notes
[1] pour Scientific Geek, évidemment, histoire de ne pas me nous confondre avec des informaticiens
[2] et par conséquent à quelle date Rodgeur va perdre sa place de numéro un mondial, mais ne nous emballons pas
[3] tiens, là aussi, il y a de quoi en faire un billet : comment est mesurée cette vitesse ?
6 réactions
1 De Vicnent - 30/07/2008, 10:08
intéressant tout ça !
Et, dis moi, as tu pensé à la reconstruction de trajectoire : ie, connaissant un modèle et un bon millier de points sur la trajectoire, on doit pouvoir modéliser la traj en 3D de façon analytique, et ainsi, déterminer le point de chute avec éventellement une modélisation de l'écrasement en fonction de la vitesse, l'angle d'impact, un éventuel effet sur la balle etc... non ?
2 De Vicnent - 30/07/2008, 10:11
sinon, des caméras à 10000 ou plus images par secondes, c'est monnaie courante pour qui veux mettre le budget.
et sinon, pourquoi mettre une caméra par quart ? il y a 4 lignes de fautes par service, non ? ça réduit encore.
3 De Eric - 31/07/2008, 09:35
1) On peut bien sûr utiliser un modèle physique, mais je me posais la question de l'utilité du truc vu qu'on ne fait pas de prédictif. Le système est aussi utilisé au cricket, où là il s'agit de décider de la validité d'un lancer en augurant de sa trajectoire "virtuelle" (après le coup de batte si celui-ci n'avait pas été donné). Au tennis, ce n'est que de l'observation d'une trajectoire réelle. Je ne suis pas sûr que l'utilisation d'un modèle permette de gagner en précision d'observation, par contre il est fort possible que ça permette de réduire l'incertitude statistique, du moins pour la trajectoire.
Pour ce qui est de calculer l'écrasement, ça me semble un poil plus compliqué : la pression dans une balle de tennis évolue très vite en fonction des conditions, du temps de jeu, et c'est elle qui fait la raideur. Pourtant, d'après l'article de Scientific American, "Hawkeye calculates actual compression."
2)Concernant les caméras, je ne savais pas que ça montait aussi haut. En fouillant un peu plus je viens de trouver des trucs à 50000 fps, pfiouu, moi qui croyais qu'on avait du bon matos avec notre caméra de contrôle d'essais de choc à 1000 fps :)
Le hic c'est qu'en fait dans le système Hawkeye il n'est même pas explicitement fait mention de caméras haute vitesse ... Je ne vois pas comment ça peut ne pas être le cas, mais le moins qu'on puisse dire c'est qu'il n'y a pas beaucoup d'infos techniques disponibles.
Les caméras ne sont pas là pour juger que le service, mais tous les coups d'un échange, donc il faut pouvoir couvrir toutes les lignes du terrain. Le problème vient aussi de ce que le système ne doit jamais se retrouver "aveugle" à cause d'un joueur ou d'un juge de ligne dans le champ, donc la division du terrain en zones réduites couvertes chacune par une caméra dédiée ne peut être envisagée.
Toujours dans SciAm, on peut lire : "Cameras are installed at 10 positions around a court. Each one monitors half the court and sends video to its own computer in a control booth. Four more computers there combine the information streams." La dernière illustration de l'article montre en outre qu'elles sont situées assez loin, derrière les premiers rangs de spectateurs ... Bizarre ... En tout cas c'est clair que le défi technique est intéressant. Après on peut toujours ergoter sur la précision du truc, même si c'est 10 mm au lieu des 3.6 annoncés ça ne sera de toute façon pas pire qu'en se fiant uniquement à l'oeil des juges de ligne, et la solution ludico-sportive de n'accorder que trois challenges par set (sauf si le joueur obtient gain de cause, auquel cas son stock reste inchangé) est plutôt bien trouvée.
A 50000$ la semaine de location du système, c'est en plus une belle réussite marketing, amha.
4 De patrice - 21/01/2009, 13:52
Je tombe sur votre article très interessant en faisant une recherche sur le hawk eye. Je n'ai rien trouvé sur les performances des caméras utilisées. Je suis dubitatif sur l'utilisation de caméras à 5000 i/s à cause du traitement par ordinateur et donc de la fréquence de tranfert nécessaire : à 1 Mpixel sur 3 octets ça donne 120*10^9 bits/s ! Il y a en plus 10 caméras.
Je pense que les caméras sont moins rapides que ça et que la trajectoire est reconstituée entre deux images. Je pense aussi que la trace au sol est sensiblement elliptique, la balle glissant au moment du rebond (c'est ainsi sur terre, un peu moins sur dur sans doute).
Même avec un système bien réglé, certaines balles sont jugées alors qu'elles devraient être "indécidables" compte tenu de l'incertitude.
5 De dfitz - 15/07/2009, 15:47
Je rebondis (sic) sur l'article car je me posais le même genre de questions (en train de rédiger un cours pour des étudiants sur le traitement du signal et l'informatique (et cherchant un bon exemple sur la décidabilité dans les sciences formelles), cours pour débutants).
Deux remarques :
Je suis d'accord Patrice : au début, je pensais caméra haute vitesse pour connaître la position exacte de la balle au moment de l'impact, mais il faut au moins 1250 fps pour "voir" l'impact à 250 km/h. Donc, ça ferait du 500 Mo/s pour visualiser l'image au bout de 3 secondes de traitement (ce que prétend Hawkeye). Ça fait du sacré matos. Est-ce que ça existe (moi, je traite du 3,6 mo/s sur Final Cut en DV, avec une carte appropriée je peux monter à 36, voire 50, mais 500, je ne "vois" pas.) ?
Ok pour reconstituer la trajectoire avec 2 ou 3 caméras, en baissant la vitesse et donc le "poids" des images, mais il faut un modèle statistique qui tienne compte de plein de choses (le lift, le chop, le vent, etc), et c'est là que je n'ai aucune idée du genre de modèle de référence.
Bien à vous, je ne suis pas pressé, mais le sujet m'intéresse vraiment en tant que SocScGeek (pas Tm) ;-)
dfitz
6 De Eric - 15/07/2009, 23:45
J'ai mis en ligne il y a quelques semaines une liste de liens sur le sujet :
eric.cabrol.free.fr/dotcl...
Il n'est effectivement fait mention nulle part, dans le peu de docs qu'on peut trouver sur le système, de caméras high speed. Manifestement Hawkeye se contente de framerates "standard".
Ensuite je suppose que le relais est pris par un filtre de Kalman ...