01 febrero 2009

Cómo funciona el "ojo de halcón" en el tenis

Los partidos de tenis del Abierto de Australia me han hecho buscar los fundamentos del sistema que llaman "ojo de halcón" (traducción del original inglés hawk-eye). Curiosamente no he encontrado nada o, más exactamente, sólo generalidades del tipo "se usan cámaras que transmiten sus imágenes a un ordenador que calcula la trayectoria". Incluso la página de la empresa carece de información técnica.
Les cuento lo que supongo que ocurre haciendo una mezcla de lo poco que he encontrado disperso por ahí y de suposiciones razonables.

La pista está cubierta por un conjunto de seis a diez cámaras digitales. Es esencial que todas las líneas de la pista estén cubiertas simultáneamente por varias cámaras, preferiblemente cuatro o más. Aunque no he encontrado ningún esquema de la situación real, es razonable suponer que todas estén altas sobre la pista de forma que la inclinación hacia abajo sea de al menos 20º y que sus campos visuales se superpongan lo más posible.

Cobertura de la pista mediante cámaras cuyos campos visuales se superponen.

Las cámaras filman de forma continua a alta velocidad, su posición es fija y conocida y la orientación de su eje focal está bien determinada con relación a un sistema de coordenadas local. Un ejemplo de este tipo de cámaras son las de la serie CamRecord: los modelos 600 y 1000 captan respectivamente 500 y 1000 imágenes por segundo con una resolución de 1280x1024 píxeles. Por dar una idea de los datos, una pelota a 100 km/h se habrá movido en 2 ms (cámara CamRecord 600) unos 55 mm entre dos fotogramas siempre que la trayectoria sea perpendicular al eje focal.
La esencia del proceso es la siguiente:
  • una cámara capta una secuencia donde la pelota queda representada por unos pocos píxeles que deben ser reconocidos del resto de la imagen. Esos píxeles cambian de posición en cada "fotograma" debido al movimiento de la pelota. En tiempo real, esos píxeles deben ser detectados y su posición en cada fotograma registrada en el campo de visión de la cámara. Lógicamente, la pelota se "ve" pero no es posible determinar la distancia y el dato no es 3D.
  • otra cámara situada en una posición diferente capta el mismo movimiento y lo representa en su plano propio.
  • dado que las cámaras están sincronizadas, la posición de la pelota en un momento determinado puede estimarse en ambas cámaras; en cada una de ellas define una semirrecta con origen en la cámara y que pasa por el punto donde se ha localizado la pelota.
  • la localización 3D se construye mediante la intersección de las dos trayectorias en el espacio, algo que es posible calcular geométricamente dado que se conoce la posición de cada cámara y su orientación.
Una cámara registra la trayectoria como posiciones discretas calculando un vector para cada fotograma.

Simultáneamente, otra cámara hace lo mismo; obsérvese que hay posiciones cuyos vectores casi coinciden. En este caso esa cámara no será muy útil para discriminar esa parte de la trayectoria.

Aunque teóricamente se puede restaurar cada posición 3D y, por tanto, la trayectoria con sólo dos cámaras, la redundancia ayuda a reducir la incertidumbre y a "reparar" los errores de reconocimiento. Es muy deseable tener al menos cuatro secuencias distintas. La intersección de las cuatro trayectorias es mucho más robusta, tanto más porque se pueden introducir restricciones geométricas para garantizar la coherencia de las trayectorias que, por ejemplo, sabemos que deben trazar curvas relativamente suaves con velocidad decreciente.
Las posiciones deben analizarse secuencialmente para localizar el momento del bote, donde la trayectoria cambia bruscamente.

Los momentos "interesantes" son aquellos en los que esa continuidad se rompe, especialmente el momento del saque y los botes en el suelo. El primer caso interesa para estimar la velocidad del servicio pero su localización espacial no es demasiado importante. En cambio, los botes sí deben localizarse de la manera más exacta posible. Para ello, el plano de la pista (otra restricción geométrica más) y las líneas están previamente definidas en el sistema de referencia local lo que permite representarlas a la vez que el bote de la pelota.
El resultado es un gráfico de la trayectoria estimada de la pelota. La huella de la pelota sobre la pista es sólo una estimación, aunque los fabricantes del sistema hablan de errores de alrededor de los 4 mm.

El gráfico que nos ponen en la pantalla representa la estimación de la trayectoria. Su exactitud dependerá de factores como los ángulos de toma de las cámaras, la distancia a ellas y la velocidad de la pelota. Las pistas sintéticas facilitan la tarea por su color uniforme y su superficie regular.

10 comentarios:

Francisco Méndez S. dijo...

Muy interesante, hasta ahora no sabía como funcionaba, es muy útil y evita muchas discusiones estériles. Ojala todo en la vida fuera así y lo viéramos con igual claridad

Saludos

Caracola Light dijo...

Para ser una suposición no está nada mal.

Ángel M. Felicísimo dijo...

Bueno, no lo he escrito a ciegas, claro :-)
Es una suposición fundamentada en que lo que se usa es algo muy similar a las técnicas de fotogrametría. Y es que partiendo de imágenes no cabe otra opción, tal vez alguna variante pero no algo muy diferente.
Saludos.

vhonkhamy dijo...

Felicidades. Un magnífico artículo. Sobre todo si es real que existía tan pobre documentación como indicas al principio.

Anónimo dijo...

atrapa desde la primera linea, muy curioso.

Joserra dijo...

Podrías dar tu opinión sobre cuanto tiempo estimas se tarda en procesar todo esto, y si el ojo de halcón actualmente se puede utilizar en tiempo real? la pelota bota fuera y el ordenador da un OUT. GRACIAS

Ángel M. Felicísimo dijo...

Bueno, actualmente no es en tiempo real, en efecto, y bajo demanda se ofrecen las imágenes a los cinco o seis segundos.
Para que fuera en tiempo real se necesitaría estar procesando de forma continua o casi continua pero creo que hay ordenadores que podrían hacerlo sin problemas y "cantar" de forma casi inmediata, con dos o tres segundos de retraso.

Joserra dijo...

No me refería a si actualmente es en tiempo real o no, ya se que no, que hay que pedirlo y demás. Me refiero a que si con la tecnología actual se podría hacer que el odenador cante OUT a la misma velocidad que lo canta un juez de linea, si consideras que podrían hacerlo sin problemas con dos o tres segundos de retraso, yo creo que esto no es razonable para un partido de tenis, ya que en dos o tres segundos el punto a podido acabar por otros motivos y luego habría q rectificar con el consiguiente engorro de encima tener que hacer entender al publico que el punto es para el otro jugador por una bola que salió en la anterior pegada. Aún así, el procesado de imagenes recogidas de una camara superlenta con gran definición, y coordinar estas imagenes con las de otras 5, 9 o más cámara, hoy en día, yo creo que si dices que son solo dos o tres segundos estas siendo muy optimista. Gracias por tu contestacion.

La Web del Tenis dijo...

Muy bueno el artículo, la mejor explicación sobre el tema que he podido encontrar en la red. Estaba buscando información sobre el ojo de halcón en el tenis, y como he dicho antes este es el mejor artículo.

Felicidades al autor

Ángel M. Felicísimo dijo...

Gracias, cuando me puse a buscar en la web me encontré con que nadie realmnente explicaba nada y decidí escribir lo que a mí me hubiera gustado encontrar.

Grab this Widget ~ Blogger Accessories
 
º