El PGA TOUR continúa mejorando la experiencia del golf con datos en tiempo real que acercan a los fanáticos al juego. Para ofrecer experiencias aún más ricas, están buscando desarrollar un sistema de seguimiento de la posición de la bola de próxima generación que rastree automáticamente la posición de la bola en el green.
Actualmente, el TOUR utiliza ShotLink impulsado por CDW, un sistema de puntuación de primer nivel que utiliza un complejo sistema de cámara con computación en el sitio, para seguir de cerca la posición inicial y final de cada toma. El TOUR quería explorar técnicas de visión por computadora y aprendizaje automático (ML) para desarrollar una tubería de próxima generación basada en la nube para localizar pelotas de golf en el green.
El Centro de Innovación en IA Generativa de Amazon (GAIIC) demostró la eficacia de estas técnicas en un conjunto de datos de ejemplo de un evento reciente del PGA TOUR. El GAIIC diseñó un canal modular que conecta en cascada una serie de redes neuronales convolucionales profundas que localiza con éxito a los jugadores dentro del campo de visión de una cámara, determina qué jugador está poniendo y sigue la pelota a medida que se mueve hacia la copa.
En esta publicación, describimos el desarrollo de este canal, los datos sin procesar, el diseño de las redes neuronales convolucionales que lo componen y una evaluación de su desempeño.
Datos
El TOUR proporcionó 3 días de video continuo de un torneo reciente desde tres cámaras 4K ubicadas alrededor del green en un hoyo. La siguiente figura muestra un fotograma de una cámara recortado y ampliado para que el jugador que pone sea fácilmente visible. Tenga en cuenta que a pesar de la alta resolución de las cámaras, debido a la distancia desde el green, la bola parece pequeña (normalmente 3×3, 4×4 o 5×5 píxeles), y los objetivos de este tamaño pueden ser difíciles de localizar con precisión.
Además de las imágenes de las cámaras, el TOUR proporcionó al GAIIC datos de puntuación anotados en cada disparo, incluida la ubicación mundial de su posición de descanso y la marca de tiempo. Esto permitió visualizar cada putt en el green, así como la capacidad de extraer todos los videoclips de los jugadores haciendo el putt, que podrían etiquetarse manualmente y usarse para entrenar modelos de detección que conforman el proceso. La siguiente figura muestra las tres vistas de cámara con superposiciones aproximadas de la ruta del putt, en sentido antihorario desde la parte superior izquierda. El pin se mueve cada día, donde el día 1 corresponde al azul, el día 2 al rojo y el día 3 al naranja.
Descripción general de la tubería
El sistema general consta tanto de un canal de capacitación como de un canal de inferencia. El siguiente diagrama ilustra la arquitectura del proceso de capacitación. El punto de partida es la ingesta de datos de video, ya sea desde un módulo de transmisión como Amazon Kinesis para video en vivo o su colocación directamente en Amazon Simple Storage Service (Amazon S3) para video histórico. El proceso de capacitación requiere preprocesamiento de video y etiquetado manual de imágenes con Amazon SageMaker Ground Truth. Los modelos se pueden entrenar con Amazon SageMaker y sus artefactos se pueden almacenar con Amazon S3.
El proceso de inferencia, que se muestra en el siguiente diagrama, consta de una serie de módulos que extraen sucesivamente información del vídeo sin procesar y, en última instancia, predicen las coordenadas mundiales de la pelota en reposo. Inicialmente, el verde se recorta del campo de visión más amplio de cada cámara, para reducir el área de píxeles en la que los modelos deben buscar jugadores y balones. A continuación, se utiliza una red neuronal convolucional profunda (CNN) para encontrar la ubicación de las personas en el campo de visión. Se utiliza otra CNN para predecir qué tipo de persona se ha encontrado para determinar si alguien está a punto de hacer un putt. Después de localizar un probable putter en el campo de visión, se utiliza la misma red para predecir la ubicación de la bola cerca del putter. Una tercera CNN rastrea la pelota durante su movimiento y, por último, se aplica una función de transformación de la posición del píxel de la cámara a las coordenadas GPS.
Detección de jugadores
Aunque sería posible ejecutar una CNN para la detección de bolas en un cuadro completo de 4K en un intervalo establecido, dado el tamaño angular de la bola a estas distancias de la cámara, cualquier pequeño objeto blanco desencadena una detección, lo que genera muchas falsas alarmas. Para evitar buscar la pelota en todo el marco de la imagen, es posible aprovechar las correlaciones entre la pose del jugador y la ubicación de la pelota. Una pelota que está a punto de ser lanzada debe estar al lado de un jugador, por lo que encontrar a los jugadores en el campo de visión restringirá en gran medida el área de píxeles en la que el detector debe buscar la pelota.
Pudimos utilizar una CNN que fue previamente entrenada para predecir cuadros delimitadores alrededor de todas las personas en una escena, como se muestra en la siguiente figura. Desafortunadamente, frecuentemente hay más de una bola en el green, por lo que se requiere más lógica más allá de simplemente encontrar a todas las personas y buscar una bola. Esto requiere otra CNN para encontrar al jugador que estaba poniendo actualmente.
Clasificación de jugadores y detección de balón.
Para delimitar aún más dónde podría estar la pelota, ajustamos una CNN de detección de objetos previamente entrenada (YOLO v7) para clasificar a todas las personas en el green. Un componente importante de este proceso fue etiquetar manualmente un conjunto de imágenes utilizando SageMaker Ground Truth. Las etiquetas permitieron a la CNN clasificar al jugador con gran precisión. En el proceso de etiquetado, la bola también se delineó junto con el jugador que la puso, por lo que esta CNN también pudo realizar la detección de la bola, dibujando un cuadro delimitador inicial alrededor de la bola antes de un putt e introduciendo la información de posición en la CNN de seguimiento de la bola aguas abajo. .
Usamos cuatro etiquetas diferentes para anotar los objetos en las imágenes:
- jugador-poniendo – El jugador que sostiene un palo y está en posición de putt.
- jugador-no-putt – El jugador que no está en la posición de putt (también puede estar sosteniendo un palo)
- otra persona – Cualquier otra persona que no sea jugador
- pelota de golf – La pelota de golf
La siguiente figura muestra una CNN ajustada utilizando etiquetas de SageMaker Ground Truth para clasificar a cada persona en el campo de visión. Esto es difícil debido a la amplia gama de apariencias visuales de jugadores, caddies y aficionados. Después de que un jugador fuera clasificado como putt, se aplicó una CNN ajustada para la detección de pelota en el área pequeña inmediatamente alrededor de ese jugador.
Seguimiento de la trayectoria de la bola
Se utilizó una tercera CNN, una arquitectura ResNet previamente entrenada para el seguimiento de movimiento, para rastrear la pelota después de su lanzamiento. El seguimiento del movimiento es un problema investigado minuciosamente, por lo que esta red funcionó bien cuando se integró en la tubería sin realizar más ajustes.
Salida de tubería
La cascada de CNN coloca cuadros delimitadores alrededor de las personas, las clasifica en el green, detecta la posición inicial de la pelota y la rastrea una vez que comienza a moverse. La siguiente figura muestra la salida de video etiquetada del canal. Se rastrean y registran las posiciones de los píxeles de la bola a medida que se mueve. Tenga en cuenta que las personas en el green están siendo rastreadas y delineadas mediante cuadros delimitadores; el putter en la parte inferior está etiquetado correctamente como “putting del jugador” y un pequeño cuadro delimitador azul rastrea y delinea la bola en movimiento.
Actuación
Para evaluar el rendimiento de los componentes de la tubería, es necesario disponer de datos etiquetados. Aunque se nos proporcionó la posición mundial real de la pelota, no teníamos puntos intermedios para la verdad, como la posición final de píxeles de la pelota o la ubicación de píxeles del jugador que realiza el putt. Con el trabajo de etiquetado que realizamos, desarrollamos datos de verdad sobre el terreno para estas salidas intermedias del ducto que nos permiten medir el desempeño.
Clasificación de jugadores y precisión en la detección de pelotas.
Para la detección del jugador que pone y la ubicación inicial de la pelota, etiquetamos un conjunto de datos y ajustamos un modelo CNN YOLO v7 como se describió anteriormente. El modelo clasificó el resultado del módulo de detección de personas anterior en cuatro clases: un jugador que pone, un jugador que no pone, otras personas y la pelota de golf, como se muestra en la siguiente figura.
El desempeño de este módulo se evalúa con una matriz de confusión, que se muestra en la siguiente figura. Los valores en los cuadros diagonales muestran con qué frecuencia la clase predicha coincidió con la clase real de las etiquetas de verdad del terreno. El modelo tiene un 89% de recuperación o mejor para cada clase de persona y un 79% de recuperación para pelotas de golf (lo cual es de esperar porque el modelo está previamente entrenado con ejemplos con personas pero no con ejemplos con pelotas de golf; esto podría mejorarse con más pelotas de golf etiquetadas en el set de entrenamiento).
El siguiente paso es activar el rastreador de bolas. Debido a que el resultado de la detección de pelota es una probabilidad de confianza, también es posible establecer el umbral para “bola detectada” y observar cómo eso cambia los resultados, lo que se resume en la siguiente figura. Hay una contrapartida en este método porque un umbral más alto necesariamente tendrá menos falsas alarmas pero también perderá algunos de los ejemplos de bolas menos seguros. Probamos umbrales de confianza del 20% y 50%, y encontramos una detección de pelota del 78% y 61%, respectivamente. Según esta medida, el umbral del 20% es mejor. La compensación es evidente en que para el umbral de confianza del 20%, el 80% de las detecciones totales fueron en realidad bolas (20% falsos positivos), mientras que para el umbral de confianza del 50%, el 90% fueron bolas (10% falsos positivos). Para menos falsos positivos, es mejor el umbral de confianza del 50%. Ambas medidas podrían mejorarse con más datos etiquetados para un conjunto de entrenamiento más grande.
El rendimiento del canal de detección es del orden de 10 fotogramas por segundo, por lo que, en su forma actual, una sola instancia no es lo suficientemente rápida como para ejecutarse continuamente en la entrada a 50 fotogramas por segundo. Lograr la marca de 7 segundos para la salida después de los pasos de la bola requeriría una mayor optimización de la latencia, tal vez ejecutando múltiples versiones del proceso en paralelo y comprimiendo los modelos CNN mediante cuantificación (por ejemplo).
Precisión del seguimiento de la trayectoria de la bola
El modelo CNN previamente entrenado de MMTracking funciona bien, pero hay casos de falla interesantes. La siguiente figura muestra un caso en el que el rastreador comienza con la bola, expande su cuadro delimitador para incluir tanto la cabeza del putter como la bola y luego, desafortunadamente, rastrea la cabeza del putter y se olvida de la bola. En este caso, la cabeza del putter aparece blanca (posiblemente debido a un reflejo especular), por lo que la confusión es comprensible; Los datos etiquetados para el seguimiento y el ajuste de la CNN de seguimiento podrían ayudar a mejorar esto en el futuro.
Conclusión
En esta publicación, analizamos el desarrollo de un canal modular que localiza a los jugadores dentro del campo de visión de una cámara, determina qué jugador está haciendo el putt y sigue la pelota a medida que avanza hacia la copa.
Para obtener más información sobre la colaboración de AWS con el PGA TOUR, consulte PGA TOUR se reúne con AWS para reinventar la experiencia de los fanáticos.
Sobre los autores
James dorado es un científico aplicado en Amazon Bedrock con experiencia en aprendizaje automático y neurociencia.
Henry Wang es un científico aplicado en el Centro de innovación de IA generativa de Amazon, donde investiga y crea soluciones de IA generativa para clientes de AWS. Se centra en las industrias de deportes, medios y entretenimiento, y ha trabajado con varias ligas deportivas, equipos y emisoras en el pasado. En su tiempo libre le gusta jugar tenis y golf.
Tryambak Gangopadhyay es científico aplicado en el Centro de innovación de IA generativa de AWS, donde colabora con organizaciones de un espectro diverso de industrias. Su función implica realizar investigaciones y desarrollar soluciones de IA generativa para abordar desafíos comerciales cruciales y acelerar la adopción de la IA.