Full text
UNIVERSIDAD DE SEVILLA TESIS DOCTORAL Una contribución basada en VLSI para la recopilación de datos en tiempo real mediante IA neuromórfica: una aplicación al scouting deportivo Autor: Salvador Canas Moreno Directores: Dra. Elena Cerezuela Escudero Dr. Antonio Ríos Navarro Una tesis presentada en cumplimiento de los requisitos para la obtención del grado de Doctor en Instalaciones y Sistemas para la Industria en el Grupo de investigación TEP-108: Robótica y Tecnología de Computadores Departamento de Arquitectura y Tecnología de Computadores 14 de julio de 2024
III Declaración de Autoría Yo, Salvador Canas Moreno, declaro que esta tesis doctoral titulada «Una contribución basada en VLSI para la recopilación de datos en tiempo real mediante IA neuromórfica: una aplicación al scouting deportivo» y los trabajos presentados en ella son propios. Confirmo que: Este trabajo ha sido realizado completamente siendo estudiante de doctorado en esta Universidad. En caso de que alguna parte de esta tesis doctoral haya sido presentada anteriormente para la obtención de un título o cualquier otra cualificación en esta universidad o en cualquier otra institución, se ha indicado claramente. En los casos en que se ha consultado el trabajo publicado por terceros, siempre se atribuye la autoría claramente. En los casos en que he citado el trabajo de otros, siempre se indica la fuente. A excepción de dichas referencias, los trabajos realizados para esta tesis doctoral son completamente de mi autoría. He reconocido y agradecido todas las fuentes principales de ayuda utilizadas para la elaboración de los trabajos que constituyen esta tesis doctoral. En los casos en los que la tesis doctoral se basa en un trabajo realizado por mí conjuntamente con otras personas, he dejado claro lo que han hecho otros y lo que he aportado yo. Firma: Fecha:
V UNIVERSIDAD DE SEVILLA Resumen Escuela Politécnica Superior Departamento de Arquitectura y Tecnología de Computadores Doctor en Instalaciones y Sistemas para la Industria Una contribución basada en VLSI para la recopilación de datos en tiempo real mediante IA neuromórfica: una aplicación al scouting deportivo por Salvador Canas Moreno
VI La hipótesis en la que se basa esta tesis doctoral, es que se puede realizar una contribución al scouting deportivo, automatizando la recogida de datos de eventos físicos deportivos (movimiento de una pelota, posición de una persona, etc) utilizando un enfoque propio de la ingeniería neuromórfica, además de técnicas de AI/ML (Artificial Intelligence/Machine Learning) con hardware VLSI (Very Large-Scale Integration). En particular, el principal objetivo es contribuir al avance de los sistemas de scouting deportivo actuales mediante el uso de la inteligencia artificial y dispositivos inspirados en la ingeniería neuromórfica. Si bien existen investigaciones y soluciones software para automatizar la recolección de datos y generación de estadísticas en el ámbito del scouting deportivo, este trabajo explora nuevos enfoques desde la perspectiva de las redes neuronales y las cámaras de visión neuro-inspiradas. Para ello se sigue un proceso analítico en el que se estudian diversos enfoques basados en técnicas consolidadas y ampliamente utilizadas en el campo de la visión por computador, como las redes neuronales convolucionales, los algoritmos de tracking y otros métodos relevantes. Los resultados obtenidos con el enfoque basado en técnicas consolidadas de visión por computador, mencionados previamente, muestran ciertas limitaciones ante diferentes problemáticas. Por lo tanto, se decide profundizar en el desarrollo de un sistema neuromórfico que complemente y mejore este enfoque. Dicho sistema neuromórfico se centra en el uso de una cámara por eventos, también conocida como retina artificial o simplemente retina. La integración de esta tecnología neuro-inspirada con los métodos tradicionales de visión artificial da lugar a un sistema heterogéneo con un gran potencial para abordar los desafíos del análisis deportivo. Finalmente, se presenta una comparación del sistema resultante en diferentes tipos de hardware: CPU, GPU (de escritorio y empotrada) y TPU. Esta comparación viene a demostrar el tipo de hardware en el que el sistema desarrollado se comporta de manera más eficiente, esto es, menor latencia, menor consumo energético, menor utilización de recursos, entre otros.
VII UNIVERSIDAD DE SEVILLA Abstract Escuela Politécnica Superior Departamento de Arquitectura y Tecnología de Computadores Doctor en Instalaciones y Sistemas para la Industria Una contribución basada en VLSI para la recopilación de datos en tiempo real mediante IA neuromórfica: una aplicación al scouting deportivo por Salvador Canas Moreno
VIII The hypothesis on which this doctoral thesis is based is that a contribution to sports scouting can be made by automating the collection of physical sports event data (movement of a ball, position of a person, etc.) using a neuromorphic engineering approach, in addition to AI/ML (Artificial Intelligence/Machine Learning) techniques with VLSI (Very Large-Scale Integration) hardware. In particular, the main objective is to contribute to the advancement of current sports scouting systems through the use of artificial intelligence and neuromorphic engineering inspired devices. While research and software solutions exist to automate data collection and statistics generation in the field of sports scouting, this work explores new approaches from the perspective of neural networks and neuro-inspired vision cameras. For this purpose, an analytical process is followed in which several approaches based on consolidated and widely used techniques in the field of computer vision, such as convolutional neural networks, tracking algorithms and other relevant methods, are studied. The results obtained with the previously mentioned approach based on consolidated computer vision techniques show certain limitations in the face of different problems. Therefore, it was decided to further develop a neuromorphic system to complement and improve this approach. This neuromorphic system focuses on the use of an event-driven camera, also known as artificial retina or simply retina. The integration of this neuro-inspired technology with traditional computer vision methods results in a heterogeneous system with great potential to address the challenges of sports analysis. Finally, a comparison of the resulting system is presented, on different types of hardware: CPU, GPU (desktop and embedded) and TPU. This comparison demonstrates the type of hardware on which the developed system behaves more efficiently, i.e., lower latency, lower power consumption, lower resource utilization, among others.
IX Agradecimientos En primer lugar quiero agradecer a todos los conejillos de indias que han participado en las diferentes grabaciones y experimentos propuestos en este trabajo de investigación, tanto del departamento de Arquitectura y Tecnología de Computadores como fuera de él. Si bien nombrarlos a todos sería una tarea ardua, sí me gustaría agradecer particularmente a aquellos que han intervenido de manera decisiva y desinteresada. A mi amigo Marco, por su ayuda contínua con buenos consejos y orientaciones, y por ofrecerme desinteresadamente el servidor de su grupo de investigación para las tareas de entrenamiento de las redes neuronales usadas en este trabajo. A Juanjo, responsable del Centro de Tecnificación de Tenis Blas Infante de Sevilla, de la Federación Andaluza de Tenis, que a pesar de no conocerme de nada, me ayudó desde el primer momento permitiéndome grabar en sus instalaciones y poniendo a mi disposición tanto la mejor pista como diferentes jugadores experimentados; todo sin pedir nada a cambio y siempre con total disponibilidad. A todos los miembros del departamento, fuente de conocimiento e inspiración. En especial a aquellos que me brindaron su apoyo o consejo en algún momento durante el transcurso de este trabajo. A todos aquellos que no han sido nombrados expresamente y que de forma directa o indirecta han influido en mis pasos y en cómo soy, gracias. Y finalmente, pero no por ello en menor medida, me gustaría agradecer especialmente todo el apoyo y ayuda que me han prestado mis directores Elena y Antonio que han mirado por mí cada vez que lo he necesitado, han sido mi guía principal en este complejo y fascinante mundo de la investigación y siempre han estado dispuestos a ayudarme con todo, incluso en épocas de vacaciones o periodos de baja laboral.
XVII Índice de figuras 2.1. Imagen ilustrativa de la clasificación de la IA . . . . . . . . . . . . . . . . . 14 2.2. Visualización de una neurona biológica. . . . . . . . . . . . . . . . . . . . . 21 2.3. Diagrama de una neurona artificial o perceptrón. Ejemplo de entradas y salida de una neurona artificial y su definición matemática. . . . . . . . . . 22 2.4. Ejemplo de dos topologías de redes neuronales. . . . . . . . . . . . . . . . 23 2.5. Gráfica de la función Sigmoide. . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.6. Gráfica de la función ReLU. . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.7. Gráfica de la función Tanh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.8. Gráfica de la función Softmax. . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.9. Validación del ajuste. (A) Ejemplo de un modelo que incurre en underfitting, overfitting y good fit. En el caso del underfitting, el modelo no es capaz de realizar una buena generalización y falla al predecir incluso las muestras del conjunto de entrenamiento. En el caso del overfitting, el modelo se ajusta demasiado bien a los datos de entrenamiento, proporcionando buenas predicciones cuando se utilizan esos datos, pero fallando al intentar predecir el resultado para una nueva muestra. Cuando el modelo tiene una buena capacidad de generalización, su ajuste es ideal tanto para predecir datos del conjunto de entrenamiento dentro de un error admisible, como para predecir nuevos datos. (B) Ejemplo de curvas que muestran la pérdida en el entrenamiento y la validación para varios escenarios: underfitting, overfitting y good fit. . . . . . . . . . . . . . . . . 31 2.10. Ejemplo gráfico del gradiente descendente cuando el punto inicial es positivo......................................... 34 3.1. Detección de jugadores y pelota únicamente utilizando Yolov8 . . . . . . . 53 3.2. Detección de la pose del jugador y la mano con la que golpea la pelota . . 55 3.3. Puntos de segmentación de la pista de tenis con su probabilidad . . . . . . 57 3.4. Puntos de segmentación de la pista de tenis . . . . . . . . . . . . . . . . . . 58 3.5. Flujo de software del sistema propuesto, donde los nodos azules corresponden a la salida visual, los nodos rojos representan los nodos de procesamiento de datos y los nodos verdes representan la salida de datos brutos de las etapas de procesamiento. . . . . . . . . . . . . . . . . . . . . . 59 3.6. Captura de pantalla del sistema propuesto en funcionamiento . . . . . . . 61 3.7. Mapa de calor con algunas estadísticas sobre el partido . . . . . . . . . . . 62
XVIII 4.1. Muestra del CSV generado a partir de una grabación hecha en modo Event Intensity Mode ................................ 75 4.2. Composición del mismo instante de un vídeo de la retina artificial, generado con diferente número de eventos. . . . . . . . . . . . . . . . . . . . . . 77 4.3. Frame seleccionado como momento de sincronización en este vídeo. La sincronización se realiza en el instante en que la pelota impacta contra la red. Se muestra el frame con los eventos coloreados para mayor claridad . . . 78 4.4. Frame seleccionado como momento de sincronización en este vídeo. La sincronización se establece en el instante en que la pelota golpea la red, destacada con un círculo rojo para facilitar su identificación. . . . . . . . . . . 79 4.5. Fotograma de un vídeo grabado por la retina artificial, generado con 5.000 eventos y procesado por Grounding Dino para su auto-etiquetado . 82 4.6. Fotograma de un vídeo tomado por la webcam y procesado por Grounding Dino para su auto-etiquetado . . . . . . . . . . . . . . . . . . . . . . . 83 4.7. Métricas de las etapas entrenamiento y validación de la CNN con los vídeos de la retina artificial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.8. Métricas de las etapas entrenamiento y validación de la CNN con los vídeosdelawebcam................................. 87 4.9. Captura del software que procesa el vídeo de la retina artificial con Yolov8 y traslada su bounding box al video de la webcam. . . . . . . . . . . . . . . 90 4.10. Fotograma en el que se ha trasladado la bounding box del vídeo de la retina artificial al vídeo de la webcam y se ha sido ampliada al triple de su tamaño original y hecho cuadrada . . . . . . . . . . . . . . . . . . . . . . 92 4.11. Recorte de la bounding box del fotograma mostrado en la figura 4.10 . . . 93 4.12. Imágenes aleatorias del dataset de validación. . . . . . . . . . . . . . . . . 94 4.13. Imágenes aleatorias del dataset de validación después de pasar por la CNN. 95 4.14. Métricas de las etapas entrenamiento y validación de la CNN (recortes). . 96 4.15. Imágenes aleatorias del dataset de validación. . . . . . . . . . . . . . . . . 97 4.16. Imágenes aleatorias del dataset de validación después de pasar dichas imágenes por la CNN entrenada con el dataset de los recortes. . . . . . . . 98
XIX Índice de tablas 3.1. Datos analíticos a extraer y su significado . . . . . . . . . . . . . . . . . . . 45 3.2. Datos analíticos brutos y procesados . . . . . . . . . . . . . . . . . . . . . . 46 3.3. Comparación de diferentes trackers utilizando la métrica IoU . . . . . . . 50 3.4. Comparación de diferentes CNNs bajo diferentes escenarios . . . . . . . . 52 3.5. Tabla comparativa de la implementación con/sin estimación de poses . . 54 3.6. Resumen de los resultados del sistema propuesto . . . . . . . . . . . . . . 65 4.1. Descripción de los campos del CSV para el modo Event Intensity Mode . . 75 4.2. Comparación de las métricas de entrenamiento y validación entre el modelo de la retina artificial y el modelo de la webcam. . . . . . . . . . . . . . 90 4.3. Comparación de métricas entre las tres CNNs: retina artificial, webcam y recortes. ...................................... 99 5.1. Comparativa de rendimiento del algoritmo del 3 en diferentes plataformas hardware (vista vertical). . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5.2. Comparativa de rendimiento del algoritmo del 4 en diferentes plataformas hardware (vista vertical). . . . . . . . . . . . . . . . . . . . . . . . . . . 134
XXI Lista de abreviaturas RNN Recurrent Neural Network ReLU Rectified Linear Unit RNN Redes neuronales CNN convolutional neural network RNC Red neuronal convolucional SVM Support Vector Machine KNN K-Nearest neighbours VP Verdaderos positivos VN Verdaderos negativos FP Falsos positivos FN Falsos negativos EX Exactitud S Sensibilidad NN Red neuronal DVS Dynamic Vision Sensor GPU Graphics processing unit TPU Tensor processing unit CPU Central Processing Unit FPGA Field Programable Gate Array ASIC Application-specific integrated circuit AI Artificial intelligence IA Inteligencia artificial ML Machine learning DL Deep Learning MPL Multilayer Perceptron AUC Area Under the Curve MSE Mean squared error SNN Spiking neural network MPSoC Multiprocessor systems-on-chip VLSI Very Large-Scale Integration GPS Global Positioning System IoU Intersection over Union YOLO You Only Look Once SAM Segment Anything Model mAP Mean Average Precision
1 Capítulo 1 Introducción “To understand reality, you have to understand how things work. If you do that, you can start to do engineering with it, build things. And if you can’t, whatever you’re doing probably isn’t good science.” – Carver Mead Con el paso del tiempo, todos los aspectos de nuestra vida han experimentado una evolución, y el deporte no ha sido una excepción. En las últimas décadas, hemos presenciado una transformación significativa en cada una de sus facetas: desde los hábitos alimenticios de los deportistas, hasta los materiales de las prendas deportivas, pasando por los métodos de entrenamiento, y los criterios utilizados para fichar jugadores, entre otros muchos. La industria del deporte ha aprovechado la innovación tecnológica que nuestra sociedad ha ido logrando para ser cada vez más eficiente y competitiva. Una de las áreas del deporte que ha experimentado un cambio notable es el scouting deportivo. El scouting deportivo es una disciplina que se enfoca en la identificación, evaluación y seguimiento de jugadores y equipos con el objetivo de obtener información valiosa para la toma de decisiones estratégicas. Los scouts, scouters o cazatalentos se encargan de analizar detalladamente las habilidades técnicas, tácticas, físicas y mentales de los deportistas, así como de estudiar a los equipos rivales, sus sistemas de juego y sus patrones tácticos. Esta información es vital para que los entrenadores y directivos puedan diseñar estrategias efectivas y tomar decisiones informadas sobre fichajes, renovaciones de contratos y planificación de plantillas. El concepto de scouting deportivo experimentó una transformación significativa con la introducción de métodos estadísticos avanzados, especialmente en deportes como el béisbol. Un hito paradigmático de esta evolución se produjo en 1997, cuando William Lamar Beane III (conocido popularmente como Billy Beane) fue ascendido a director general del equipo de béisbol estadounidense Oakland Athletics. Inspirado por el enfoque cuantitativo conocido como sabermetrics, popularizado por Bill James en la
2Capítulo 1. Introducción década de 1980 (James, 1985), Beane tomó la decisión visionaria de contratar a un economista y basar la evaluación de jugadores en un análisis exhaustivo de estadísticas. Este enfoque permitió establecer valoraciones objetivas que sirvieron como criterio principal para la contratación y despido de jugadores. La aplicación de esta metodología no solo llevó a los Oakland Athletics a alcanzar nuevos horizontes competitivos, sino que también revolucionó la manera en que los equipos deportivos de todas las disciplinas abordan la toma de decisiones estratégicas. La historia de este cambio fue inmortalizada en el libro y la película Moneyball (Lewis, 2004), marcando un antes y un después en el uso de análisis de datos en el deporte. Hoy en día, el deporte profesional y semiprofesional está intrínsecamente ligado al uso de estadísticas. El primer paso en este proceso es la recolección de datos, a partir de los cuales se generan estadísticas y se extraen conclusiones valiosas. Actualmente, la recopilación de estos datos es realizada por una figura clave en los clubes deportivos: el scouter, también conocido como scout u ojeador deportivo en español. Este profesional asiste a los partidos con el objetivo de analizar y recopilar información detallada sobre los eventos que se desarrollan durante el juego. Tradicionalmente, los ojeadores utilizan programas informáticos especializados para introducir los datos recopilados, lo que permite generar estadísticas, conclusiones y recomendaciones exhaustivas. Estos datos son posteriormente utilizados por los clubes deportivos para decisiones tan importantes como la contratación de jugadores o la elaboración de estrategias y entrenamientos específicos para enfrentarse a determinados rivales. Este trabajo introduce una novedosa y prometedora línea de investigación que se basa en el uso de técnicas avanzadas de Inteligencia Artificial (IA) y Aprendizaje Automático (ML), predominantemente redes neuronales convolucionales, junto con un componente clave de la ingeniería neuromórfica: las cámaras basadas en eventos. El objetivo es automatizar la recogida de datos en eventos deportivos físicos, lo que incluye el seguimiento del movimiento de la pelota, la posición de los jugadores, el brazo utilizado para golpear la pelota, los desplazamientos en la pista, la velocidad de reacción y otros aspectos clave para el análisis de rendimiento. El scouting deportivo, entendido como la recopilación y análisis sistemático de datos para evaluar el desempeño de jugadores y equipos, ha cobrado gran relevancia en numerosos deportes, como el fútbol, el baloncesto, el béisbol o el automovilismo. Cada disciplina presenta desafíos específicos para la captura y procesamiento de datos, dependiendo de factores como la dinámica del juego, el tamaño del campo o pista, y la velocidad de los objetos en movimiento. En este contexto, el tenis ha sido seleccionado como el deporte de referencia para este trabajo debido a varias razones fundamentales. En primer lugar, el tenis es un deporte de alta velocidad y carga dinámica elevada, donde la pelota alcanza velocidades superiores a 200 km/h en algunos golpes, lo que supone un reto significativo para los sistemas de detección y seguimiento. Además, el tamaño reducido de la pelota y sus cambios bruscos de dirección añaden una complejidad adicional al problema, convirtiéndolo en un escenario ideal para probar y validar modelos de visión por computadora.
Capítulo 1. Introducción 3 Otro aspecto determinante en la elección del tenis es la abundancia de contenido audiovisual disponible en línea. Existen miles de horas de partidos de tenis grabados y retransmitidos, lo que proporciona una fuente rica y accesible de datos para el entrenamiento, testeo y validación de los algoritmos desarrollados en este trabajo. La disponibilidad de vídeos en alta calidad y desde múltiples ángulos facilita la generación de datasets extensos y variados, permitiendo evaluar la robustez y generalización de los modelos en diferentes condiciones de iluminación, tipos de pista y estilos de juego. La Inteligencia Artificial (IA) es un campo de la informática que se enfoca en el desarrollo de sistemas que pueden realizar tareas que normalmente requieren de la inteligencia humana, como el aprendizaje, el razonamiento, la resolución de problemas y la percepción. Dentro de la IA, el Aprendizaje Automático (ML) es un subconjunto de técnicas que permiten a los sistemas aprender y mejorar a partir de la experiencia sin ser programados explícitamente. Las redes neuronales convolucionales, un tipo específico de algoritmo de ML, han demostrado un rendimiento excepcional en tareas de visión por computadora, como la detección y clasificación de objetos en imágenes y vídeos. Por otro lado, la Ingeniería Neuromórfica es un campo emergente que se inspira en la estructura y función del sistema nervioso biológico para diseñar sistemas de computación más eficientes y adaptables. Un ejemplo destacado de esta tecnología son las cámaras basadas en eventos, también conocidas como retinas artificiales. A diferencia de las cámaras tradicionales que capturan imágenes completas a una tasa fija, las cámaras basadas en eventos detectan y transmiten únicamente los cambios de luminosidad que ocurren en la escena, lo que resulta en una mayor eficiencia energética y una resolución temporal más alta. La finalidad de esta tesis doctoral es doble: por un lado, demostrar que la automatización de la recolección de datos deportivos es posible y, por otro, evolucionar los sistemas actuales de scouting deportivo, que dependen en gran medida de la recolección manual de datos, hacia una metodología más automatizada, precisa y eficiente. La estructura de este documento se define de la siguiente manera. A lo largo de este primer capítulo, se presentará la motivación que ha impulsado este trabajo así como sus objetivos. En el siguiente capítulo (capítulo 2) se realizará una revisión exhaustiva del estado del arte. El capítulo 3 se centrará en el primer enfoque abordado, el cual se basa en el uso de redes neuronales convolucionales para resolver el problema planteado en esta tesis. En el capítulo 4, se presentará una evolución de este enfoque, incorporando la ingeniería neuromórfica para mejorar el rendimiento y la eficiencia del sistema. El capítulo 5 estará dedicado a una comparativa hardware, donde se evaluará el rendimiento del sistema propuesto bajo diferentes plataformas hardware. En el capítulo 6, se expondrán las conclusiones derivadas de este trabajo, destacando los principales hallazgos y contribuciones. El capítulo 7 explorará las posibles líneas de trabajo futuro, identificando áreas de mejora y posibles direcciones para futuras investigaciones. A continuación, en la sección 8 se podrá encontrar la bibliografía a lo largo de esta tesis. Finalmente, el documento concluirá con una serie de apéndices que incluirán informes, autorizaciones y publicaciones relacionadas con esta tesis doctoral.
10 Capítulo 2. Estado del arte datos históricos de competiciones deportivas para inferir información útil en la toma de decisiones. 2.1.1. Evolución del Scouting Deportivo Con el tiempo, el scouting deportivo ha evolucionado significativamente, integrando tecnologías avanzadas para mejorar la precisión y eficiencia del proceso. En los primeros años, el scouting se limitaba a la observación subjetiva, donde los ojeadores se basaban principalmente en su experiencia y conocimientos para evaluar a los jugadores. Sin embargo, la introducción de la tecnología ha transformado radicalmente esta práctica. Dicha evolución ha sido significativa en las últimas décadas. A medida que el análisis de datos se convirtió en un componente integral del rendimiento deportivo, surgieron herramientas que permitían a los equipos recopilar y analizar grandes volúmenes de datos. Inicialmente, estas herramientas se centraron en estadísticas básicas, pero con el tiempo han incorporado algoritmos avanzados de aprendizaje automático y visión por computadora. Investigaciones previas, como las realizadas por (Carling, Williams y Reilly, 2005) y (Sarmento et al., 2014), demostraron la importancia del análisis cuantitativo en el scouting y cómo los datos recopilados de los partidos pueden influir en la toma de decisiones estratégicas. Estos estudios subrayan la evolución del scouting desde una práctica puramente cualitativa hacia una basada en datos cuantitativos y algoritmos de análisis. Además, estudios como el de (Stein et al., 2017) han demostrado la utilidad de combinar grabaciones de vídeo y datos de trayectorias para un análisis más completo en deportes como el fútbol, donde la detección de jugadores y el seguimiento de sus movimientos son esenciales para la evaluación del rendimiento en tiempo real. Este enfoque ha sido particularmente útil en deportes de equipo, donde la dinámica de juego es compleja y los movimientos de los jugadores deben ser analizados en contexto. 2.1.2. Tecnología y Herramientas Modernas en el Scouting Deportivo Hoy en día, el scouting deportivo se apoya en una variedad de herramientas tecnológicas, desde cámaras de alta velocidad y software de análisis de vídeo hasta plataformas de análisis de datos que pueden procesar grandes volúmenes de información en tiempo real. Ejemplos de estos softwares incluyen Hudl, utilizado ampliamente para el análisis de vídeo y la creación de informes detallados (Hudl Website s.f.), Wyscout, una plataforma que proporciona datos exhaustivos sobre partidos y jugadores de fútbol en todo el mundo (Wyscout Website s.f.), y Stats Perform, que ofrece análisis avanzados y métricas de rendimiento para varios deportes (Stats Perform Website s.f.). También se utiliza Catapult, una solución que combina tecnología portátil y software para rastrear el rendimiento físico y técnico de los jugadores (Catapult Website s.f.). Estas herramientas han revolucionado el scouting, permitiendo a los equipos tomar decisiones basadas
2.1. Scouting deportivo 11 en datos precisos y en tiempo real. Entre todas estas tecnologías en las que se apoya el scouting deportivo, las Redes Neuronales Convolucionales han surgido como una de las más prometedoras debido a su capacidad para analizar grandes cantidades de datos visuales y extraer patrones complejos de manera autónoma. Trabajos como los de (Badrinarayanan, Kendall y Cipolla, 2017) han demostrado la eficacia de las RNC (Redes Neuronales Convolucionales) en tareas de segmentación semántica, lo que es crucial para analizar el comportamiento de los jugadores y la estrategia en deportes como el fútbol o el baloncesto. Otro estudio relevante es el de (Girshick, 2015), quien desarrolló el algoritmo Faster R-CNN, que ha sido ampliamente utilizado en el análisis deportivo para la detección rápida y precisa de objetos en secuencias de vídeo. En otros trabajos como en de (Liu, Mahapatra y Mayuri, 2021), se explora el uso de la inteligencia artificial y Big Data en el análisis deportivo mediante un marco de visualización efectiva basado en vídeo (también llamado VEVF, del inglés Video-Based Effective Visualization Framework), que emplea redes neuronales convolucionales para mejorar la entrega de información a los equipos deportivos, facilitando la medición y mejora del rendimiento y salud de los atletas. Además de las RNC, las tecnologías neuromórficas, como las cámaras basadas en eventos, están llamadas a revolucionar muchos sectores, entre ellos el scouting deportivo. Estas cámaras, que imitan el funcionamiento del ojo humano, pueden capturar cambios rápidos en la escena con una latencia mínima, lo que las hace ideales para deportes donde la velocidad y la precisión son críticas. Estudios como los de (Gallego et al., 2020) han explorado el uso de cámaras basadas en eventos en la robótica y la visión por computadora, mostrando su potencial para aplicaciones en tiempo real. 2.1.3. Impacto del Scouting Automatizado en el Deporte Moderno El uso de tecnologías avanzadas para el scouting deportivo ha transformado significativamente el mundo del deporte, permitiendo a los equipos recopilar y analizar datos con una precisión y rapidez sin precedentes. Por ejemplo, herramientas como Hudl permiten a equipos de fútbol y baloncesto grabar y analizar vídeos de partidos, generando métricas detalladas sobre el rendimiento de los jugadores (Hudl Website s.f.). De igual manera, plataformas como Wyscout, utilizadas por clubes de fútbol de élite como el FC Barcelona y la Juventus, proporcionan un análisis exhaustivo de partidos, con acceso a estadísticas avanzadas y vídeos de jugadores de todo el mundo (Wyscout Website s.f.). Además, soluciones como Catapult, que rastrean datos de rendimiento físico y técnico mediante dispositivos portátiles, se han popularizado en deportes como el rugby y el fútbol americano, permitiendo a los entrenadores monitorear la carga de trabajo y reducir el riesgo de lesiones (Catapult Website s.f.). Estas tecnologías han democratizado el acceso a herramientas analíticas que antes estaban reservadas para los equipos con mayores recursos, brindando a clubes más pequeños la oportunidad de competir en igualdad de condiciones con los grandes equipos.
12 Capítulo 2. Estado del arte El scouting automatizado no solo mejora la precisión del análisis, sino que también permite a los equipos optimizar su estrategia en tiempo real. Por ejemplo, trabajos recientes han demostrado cómo el análisis de vídeo en tiempo real, impulsado por Redes Neuronales Convolucionales, puede identificar patrones tácticos en deportes como el fútbol, lo que permite ajustar la estrategia durante el partido (Barnabé et al., 2018). Sin embargo, la adopción de estas tecnologías presenta desafíos. Uno de los principales retos es la integración de los datos generados automáticamente en los procesos de toma de decisiones, que tradicionalmente han dependido de la experiencia humana. Además, existe una curva de aprendizaje significativa para que los scouters dominen estas nuevas herramientas. 2.1.4. Trabajos Previos en Scouting Deportivo Automatizado Existen varios estudios que han abordado el uso de tecnologías avanzadas en el scouting deportivo. Por ejemplo, el trabajo de (Fernández, Bornn y Cervone, 2019) explora el uso de algoritmos de aprendizaje profundo para la detección de jugadores en el fútbol, destacando cómo estas herramientas pueden mejorar la detección y seguimiento en entornos complejos. Otro ejemplo es el estudio de (Lu et al., 2013) que analiza la efectividad de las cámaras de alta velocidad combinadas con algoritmos de visión por computadora para mejorar el análisis táctico en el baloncesto. En el contexto del seguimiento de jugadores, estudios como el de Liu et al. (Liu, 2022) exploran nuevos métodos para mejorar los rastreadores en vídeos deportivos utilizando un algoritmo de árbol de decisión C4.5 optimizado con un algoritmo genético. Este algoritmo optimizado se compara con uno no optimizado, destacando mejoras significativas en la precisión y eficiencia del seguimiento. En una línea similar, Lee et al. (Lee et al., 2020) abordan el uso del aprendizaje profundo para el seguimiento de jugadores en deportes a través de vídeos. Este estudio examina métodos de alto rendimiento en la detección y seguimiento de jugadores y analiza los desafíos, especialmente en situaciones de oclusión entre objetos durante los partidos. Además, trabajos como el de Polk et al. (Polk et al., 2014) demuestran la utilidad de los sistemas de visualización de información deportiva, aunque no utilicen inteligencia artificial. Presentan TenniVis, un sistema innovador de visualización para partidos de tenis que utiliza datos fácilmente recopilables como puntuaciones, duraciones de los puntos y vídeos de los partidos capturados con cámaras comunes. Otro área de investigación relacionada con el scouting deportivo y la inteligencia artificial es la clasificación de escenas deportivas para resumir vídeos deportivos. Por ejemplo, Rafiq et al. (Rafiq et al., 2020) introducen un nuevo método para clasificar escenas en vídeos deportivos, principalmente destinado a resumir los vídeos, utilizando métodos de aprendizaje profundo.
2.2. Inteligencia artificial 13 Estos trabajos han sentado las bases para investigaciones más recientes que buscan combinar diferentes tecnologías para crear sistemas de scouting más robustos y precisos. La integración de nuevas y diferentes tecnologías (como puede ser el caso de las cámaras basadas en eventos) no solo abre una nueva puerta para la mejora de la precisión de la detección y el análisis, sino que también puede ofrecer nuevas oportunidades para la automatización y mejora del rendimiento en el deporte. 2.2. Inteligencia artificial La Inteligencia Artificial (IA) ha transformado múltiples disciplinas, ofreciendo soluciones innovadoras a problemas que anteriormente se consideraban intratables. En su esencia, la IA busca replicar o emular las capacidades cognitivas humanas, como el aprendizaje, la percepción, la toma de decisiones y la resolución de problemas, mediante la implementación de algoritmos y modelos computacionales avanzados. Desde sus inicios, la IA ha avanzado significativamente, pasando de enfoques basados en reglas y lógica, como los sistemas expertos (Jackson, 1990; Russell y Norvig, 2016), a métodos de aprendizaje automático que permiten a las máquinas aprender de los datos y mejorar su rendimiento con el tiempo. Estos métodos de aprendizaje automático han demostrado ser excepcionalmente efectivos en una amplia gama de aplicaciones, desde el reconocimiento de voz (Hinton et al., 2012) y la visión por computadora (Krizhevsky, Sutskever e Hinton, 2017) hasta la traducción automática (Vaswani et al., 2017) y la generación de lenguaje natural (Brown et al., 2020). La capacidad de estos sistemas para aprender y mejorar continuamente a partir de grandes volúmenes de datos ha sido fundamental para su éxito. Como señalan (LeCun, Bengio e Hinton, 2015), "la capacidad de aprender representaciones de datos a través de múltiples niveles de abstracción permite a los sistemas de aprendizaje profundo aprender funciones complejas que mapean directamente los datos de entrada a las salidas deseadas, sin depender del diseño de características hechas por humanos". Esta habilidad para aprender y mejorar de forma autónoma es lo que distingue a los sistemas de IA modernos y lo que ha impulsado su rápido progreso en los últimos años. El campo de la IA es una parte fundamental de la informática, presente desde los albores de esta disciplina. Desde que Alan Turing planteó la posibilidad de que las máquinas pudieran razonar y aprender como los seres humanos1, la IA ha sido un área de un gran interés. Hoy en día, esta posibilidad parece estar más cerca que nunca, impulsada por el desarrollo del Aprendizaje Profundo (Deep Learning, DL), que ha tomado un papel central en el avance de la IA. Dentro del campo de la IA, el aprendizaje profundo (DL) ha emergido como una de las áreas más prometedoras, especialmente en tareas que involucran el procesamiento de grandes volúmenes de datos no estructurados, como imágenes, audio y texto. Este enfoque se basa en redes neuronales artificiales que consisten en múltiples capas 1En su artículo Computing Machinery and Intelligence (1950), Alan Turing introdujo el concepto de máquinas capaces de razonar y aprender, proponiendo lo que hoy se conoce como el Test de Turing.
14 Capítulo 2. Estado del arte de neuronas, cada una de las cuales extrae características cada vez más abstractas de los datos de entrada. FIGURA 2.1: Imagen ilustrativa de la clasificación de la IA En el ámbito de la inteligencia artificial, se identifican tres niveles jerárquicos principales (ver figura 2.1) que reflejan la evolución y especialización de este campo: la inteligencia artificial en general, el aprendizaje automático (Machine Learning, ML) y el aprendizaje profundo (Deep Learning, DL). La IA es un campo amplio que engloba la creación de sistemas capaces de emular el razonamiento humano y realizar tareas que tradicionalmente requerirían inteligencia humana. Dentro de este ámbito, el ML representa un subconjunto centrado en el desarrollo de algoritmos que permiten a las máquinas aprender patrones a partir de datos y mejorar su desempeño en tareas específicas sin necesidad de ser programadas explícitamente para ello. Por su parte, el DL constituye una rama avanzada del ML que emplea redes neuronales profundas, diseñadas para imitar la estructura del cerebro humano, facilitando la capacidad de las máquinas para procesar datos complejos y aprender de forma autónoma. Este enfoque ha permitido avances significativos en áreas como el reconocimiento de imágenes y el procesamiento del lenguaje natural, destacando el papel del DL como motor de innovación dentro de la inteligencia artificial. En el aprendizaje supervisado, los algoritmos se entrenan utilizando datos etiquetados. Esto significa que cada ejemplo de entrenamiento incluye la salida correcta. El objetivo principal es que el algoritmo logre mapear la relación entre entradas y salidas
2.2. Inteligencia artificial 15 para que pueda hacer predicciones precisas con datos no vistos anteriormente (Kotsiantis, Zaharakis y Pintelas, 2007). Las tareas comunes en el aprendizaje supervisado incluyen la clasificación, que predice etiquetas discretas, y la regresión, que predice valores continuos. Algunos de los algoritmos más conocidos en esta categoría incluyen la regresión lineal, las máquinas de vectores de soporte (Cortes y Vapnik, 1995) y las redes neuronales (Haykin, 1994). Por otro lado, el aprendizaje no supervisado se enfoca en trabajar con datos que no están etiquetados. El objetivo es descubrir la estructura subyacente dentro de un conjunto de datos (Ghahramani, 2004). Una aplicación típica de este tipo de aprendizaje es el clustering, donde los objetos se agrupan en función de sus similitudes dentro del mismo grupo, diferenciándose de los objetos en otros grupos. La reducción de dimensionalidad es otra tarea importante en esta área, que busca simplificar la visualización de datos reduciendo el número de variables consideradas. Ejemplos de métodos de aprendizaje no supervisado incluyen el algoritmo de clustering K-Means (MacQueen et al., 1967) y el análisis de componentes principales (PCA) (Jolliffe, 2002). En los últimos años, el Aprendizaje Profundo, una rama del aprendizaje automático, ha tenido un impacto significativo. Modelos como las redes neuronales convolucionales (CNNs) (LeCun et al., 1989) y las redes neuronales recurrentes (RNNs) (Hochreiter y Schmidhuber, 1997) han sobresalido en áreas como el reconocimiento de imágenes, el procesamiento del lenguaje natural y los videojuegos, entre otras. Estos modelos se destacan por su capacidad de utilizar capas de unidades de procesamiento no lineal (neuronas) para extraer y transformar características complejas (Goodfellow, Bengio y Courville, 2016a). A pesar del éxito de ambos tipos de aprendizaje, aún existen desafíos importantes. El aprendizaje supervisado a menudo requiere grandes volúmenes de datos etiquetados, lo cual puede ser costoso y llevar mucho tiempo de adquirir. Por otro lado, los algoritmos de aprendizaje no supervisado requieren una selección y ajuste cuidadoso para capturar la estructura subyacente de los datos, lo cual no siempre es un proceso sencillo. En esta tesis, se aborda la investigación de estos desafíos mediante la utilización de algoritmos de aprendizaje supervisado y no supervisado, utilizando modelos robustos que mejoran la detección y análisis de eventos deportivos. El objetivo es explorar métodos que optimicen el rendimiento y la aplicabilidad de estos algoritmos en la resolución de problemas del mundo real, en particular en el contexto del scouting deportivo y el análisis de partidos de tenis. 2.2.1. El invierno de la inteligencia artificial El término invierno de la inteligencia artificial se refiere a los dos periodos de estancamiento en el desarrollo y financiación de la IA, caracterizados por la falta de avances tangibles que lograran cumplir con las expectativas generadas en torno a esta
16 Capítulo 2. Estado del arte tecnología. Durante estos periodos, tanto los gobiernos como las instituciones de investigación y las empresas tecnológicas redujeron drásticamente sus inversiones en IA debido a la percepción de que los resultados no estaban a la altura de las promesas iniciales. El término invierno apareció por primera vez en 1984, un año marcado por el pesimismo generalizado en torno a la inteligencia artificial. Ese mismo año, fue un tema central en el evento de la Association for the Advancement of Artificial Intelligence en Estados Unidos, donde se discutió ampliamente la desilusión que prevalecía en la comunidad científica respecto al progreso de la IA. El primer invierno de la IA ocurrió en la década de 1970. Durante este tiempo, muchos de los sistemas basados en reglas, que inicialmente parecían prometedores, no lograron resolver problemas del mundo real de manera eficiente. Las expectativas infladas de los primeros investigadores de IA chocaron con la complejidad inherente al procesamiento del lenguaje natural, la visión por computadora y el razonamiento automatizado. Esta falta de progreso práctico llevó a una disminución en la financiación y el interés en el campo. Un segundo invierno de la IA tuvo lugar en los años 1980 y principios de los 90, cuando los sistemas expertos, una tecnología clave en ese momento, tampoco lograron cumplir con las expectativas. Aunque eran capaces de manejar tareas específicas dentro de dominios limitados, su incapacidad para generalizar el conocimiento a otras áreas o adaptarse a cambios en el entorno volvió a generar escepticismo en la comunidad tecnológica y científica. A esto se sumaron las limitaciones en la capacidad de cómputo de la época, lo que restringió aún más el desarrollo de sistemas más avanzados de IA. A pesar de estos inviernos, la IA ha experimentado un resurgimiento importante desde principios del siglo XXI, impulsado por los avances en el aprendizaje profundo, el aumento de la capacidad de procesamiento y la disponibilidad de grandes cantidades de datos. Este resurgimiento ha demostrado que, aunque los inviernos de la IA han sido periodos de retroceso, también han permitido replantear las direcciones de investigación y lograr avances significativos en etapas posteriores. Este contexto histórico es importante para comprender los avances actuales en inteligencia artificial y, particularmente, en el uso de redes neuronales profundas y modelos de detección de objetos que forman la base de esta tesis doctoral. La IA, aunque ha tenido momentos de retroceso, ha logrado consolidarse como una herramienta indispensable para el análisis de grandes volúmenes de datos y la automatización de procesos complejos, como la recolección de datos en eventos deportivos. 2.3. Una introducción a las Redes Neuronales En esta sección se presenta una visión general sobre las redes neuronales, abarcando desde su funcionamiento básico hasta su estructura y componentes principales. Se analizará cómo estas redes emulan el comportamiento del cerebro humano mediante el uso de neuronas artificiales y cómo, a través del entrenamiento, son capaces de aprender patrones complejos en los datos. Asimismo, se introducirá su relevancia en el
2.3. Una introducción a las Redes Neuronales 17 ámbito del análisis deportivo, destacando su capacidad para abordar problemas como la detección de objetos, el seguimiento de jugadores y el análisis de jugadas en tiempo real. Este contenido establece las bases teóricas necesarias para comprender los algoritmos y modelos empleados en el desarrollo de esta investigación. 2.3.1. Análisis de Datos en el Contexto Deportivo El análisis de datos es un proceso clave mediante el cual se busca extraer información relevante de un conjunto de datos, permitiendo así optimizar decisiones y estrategias basadas en la evidencia. En los últimos años, este proceso ha alcanzado un nivel de sofisticación sin precedentes, impulsado por el crecimiento exponencial de los datos disponibles y la necesidad de emplear técnicas cada vez más complejas para su análisis. Esta evolución ha dado lugar a la creación de nuevas especialidades dentro del ámbito deportivo, como la de Científico de Datos o Analista de Datos, roles fundamentales hoy día en la optimización del rendimiento deportivo de cualquier club. El análisis de datos en el ámbito deportivo puede ser visualizado como un gran árbol con múltiples ramificaciones que dependen tanto del tipo de dato que se desea analizar como de las técnicas que se eligen para dicho análisis. A lo largo de esta sección, se explorarán algunos de los pasos que componen el flujo de trabajo de esta disciplina, contextualizando su relevancia para los métodos y resultados que se presentarán en los capítulos siguientes de esta tesis doctoral. 2.3.2. Recolección de Datos En los últimos años, el volumen de datos que generamos y almacenamos ha experimentado un crecimiento constante. Este aumento ha sido impulsado por el uso generalizado de internet, los dispositivos móviles como los smartphones, las redes sociales, y el desarrollo de sensores más precisos. Estas tecnologías han creado un entorno favorable para la acumulación masiva de información (Mayer-Schönberger y Cukier, 2013; Cheng, Wei y Liang, 2018). La variedad de tipos de datos es extensa. En el contexto de la Inteligencia Artificial, es común clasificarlos en varias categorías, tales como: datos numéricos, categóricos, textos, series temporales, imágenes, audio y video (McKinney, 2012). Cada uno de estos tipos de datos requiere métodos específicos para su adquisición y procesamiento. Por ejemplo, los datos pueden provenir de bases de datos empresariales, extraídos mediante consultas; también pueden obtenerse a través de sitios web, utilizando técnicas de scraping oAPIs, o incluso ser recogidos por sensores mediante protocolos específicos. Otros métodos incluyen la recopilación de datos a través de bancos de imágenes, encuestas, redes sociales, entre otros. Este proceso de adquisición de datos no solo implica su recolección en estado bruto, sino también un trabajo de fusión y preprocesamiento que permita combinar diversas fuentes y estandarizar la información antes de formar un conjunto de datos
18 Capítulo 2. Estado del arte unificado, que pueda ser utilizado posteriormente para, por ejemplo, entrenar modelos de inteligencia artificial. En el ámbito deportivo, los datos recolectados pueden incluir una amplia gama de métricas relacionadas con el rendimiento de los jugadores, como velocidad, fuerza, posicionamiento en la cancha, estadísticas de jugadas, o patrones de movimiento. La heterogeneidad de estos datos refleja la diversidad de las fuentes, desde sensores de seguimiento en tiempo real, incluso muchos de ellos integrados en el propio jugador (existen chalecos (Baskan et al., 2017), balones (Stone et al., 2018), muñequeras (Bai, Efstratiou y Ang, 2016), entre otros muchos dispositivos deportivos con sensores) hasta análisis de vídeo de los partidos. También pueden incluirse datos provenientes de encuestas a jugadores o entrenadores, que reflejen percepciones subjetivas sobre el rendimiento. Además, la recolección de datos en este contexto debe cumplir con normativas de privacidad y confidencialidad, especialmente en lo que respecta al uso de información personal y datos sensibles de los atletas. Al igual que en otros ámbitos, la calidad y precisión de los datos son factores fundamentales para garantizar la validez de los resultados y asegurar que las conclusiones obtenidas del análisis sean útiles para la toma de decisiones estratégicas en el ámbito deportivo. 2.3.3. Etiquetado Los experimentos de inteligencia artificial que emplean aprendizaje supervisado requieren grandes volúmenes de datos etiquetados para que el entrenamiento sea efectivo. Esto se debe a que el proceso de entrenamiento se basa en comparar el resultado generado por la red en una época determinada con la etiqueta real correspondiente. La etiqueta asignada depende del tipo de datos con los que se esté trabajando. En esencia, su función es asociar una muestra del conjunto de datos a una categoría específica. Por ejemplo, en el caso de imágenes, las etiquetas podrían identificar su contenido, como “perro” o “gato”. Para vectores de datos, las etiquetas podrían representar un análisis específico, como un examen de orina o las condiciones climáticas de un día en particular. En el caso de vídeos, las etiquetas podrían identificar objetos dentro de un fotograma, como un coche, un semáforo o un peatón. También se etiquetan series temporales, como los períodos de hospitalización, e incluso sentimientos, como pasos positivos o negativos que influyen en la compra de un producto en línea. Algunas etiquetas pueden deducirse en función del contexto, como la identificación de periodos de alta demanda hospitalaria basados en ciertas características, con el objetivo de predecir cuándo podrían ocurrir. Sin embargo, la mayoría de las etiquetas requieren la supervisión humana, ya que la precisión de este etiquetado influye de manera significativa en la calidad de los resultados obtenidos en cualquier experimento de aprendizaje supervisado. Este proceso implica la revisión de miles de muestras, a menudo realizada por expertos en la materia. Por ejemplo, aunque la mayoría de las personas pueden diferenciar fácilmente entre un coche y un semáforo, identificar con precisión los límites de un
2.3. Una introducción a las Redes Neuronales 19 área pulmonar afectada por cáncer requiere conocimientos especializados. Además, se necesitan herramientas que sean adecuadas para el tipo específico de datos a etiquetar. Por ejemplo, etiquetar un vídeo para segmentar imágenes implica trabajar con coordenadas de objetos y número de fotogramas, mientras que etiquetar un proceso de compra o transcribir un audio requiere un enfoque completamente diferente. Para facilitar este proceso, se han creado grandes plataformas de etiquetado donde personas, muchas de ellas sin una cualificación específica, reciben grandes cantidades de datos y son remuneradas por realizar este trabajo. Ejemplos de estas plataformas incluyen Amazon Mechanical Turk (Mturk) (Amazon, 2023) y Appen (Appen, 2023). En estas plataformas, la contratación de personal se basa en una prueba preliminar que evalúa las capacidades del etiquetador, y la remuneración por muestra varía entre $0.01 y $0.08. Además de los métodos tradicionales de etiquetado manual, una técnica innovadora que está ganando relevancia es el uso de modelos de detección de objetos "zero-shot"(zero-shot object detection model, en inglés), como Grounding DINO (Liu et al., 2023), que se explora en detalle en el capítulo 4 de esta tesis doctoral. Estos modelos permiten la detección de objetos en nuevas clases sin la necesidad de entrenamiento previo con ejemplos etiquetados de esas clases, utilizando descripciones textuales o características generales para realizar la detección. Los modelos de detección de objetos "zero-shot"han revolucionan el campo de la detección de objetos y también el campo del etiquetado, creando algo hasta ahora inexistente: el etiquetado automático. Han surgido así herramientas de etiquetado automático, las cuales están basadas completamente en estos modelos y han sido rápidamente adoptadas en la industria (Roboflow website s.f.). Grounding DINO es particularmente útil en situaciones donde el etiquetado manual resulta costoso o impráctico, ofreciendo una forma automatizada de generar etiquetas con un alto grado de precisión. En el ámbito deportivo, la idea de una plataforma global destinada al etiquetado de muestras al estilo de Mturk o Appen, se presenta como un reto considerable debido a las restricciones relacionadas con la privacidad y la necesidad de personal específico para realizar el etiquetado. No obstante, existen herramientas que facilitan el trabajo de etiquetado cuando se utilizan datos propios. Un ejemplo de ello son herramientas como Labelbox (Labelbox, 2023) o V7 (V7, 2023), que ofrecen sistemas de etiquetado de imágenes capaces de manejar metadatos. 2.3.4. Redes neuronales Las redes neuronales (Bertsekas y Tsitsiklis, 1996) son modelos computacionales inspirados en el comportamiento de las redes neuronales biológicas. Estas redes están compuestas por un conjunto de neuronas artificiales interconectadas, que imitan el funcionamiento de las neuronas en organismos vivos. Cada neurona artificial procesa información de entrada y, mediante funciones de activación, genera una salida. Las redes neuronales son fundamentales en múltiples aplicaciones de inteligencia artificial, debido a su capacidad para aprender patrones complejos en los datos.
26 Capítulo 2. Estado del arte FIGURA 2.6: Gráfica de la función ReLU. 2.3.6.3. Función Tanh (Tangente hiperbólica) La función tangente hiperbólica (tanh), cuya gráfica se muestra en la figura 2.7, es similar a la sigmoide, pero con la diferencia de que su salida está comprendida entre -1 y 1, lo que la hace más adecuada para problemas donde es importante que las salidas tengan un rango más amplio. La fórmula de la función tanh es: tanh(x) = ex−e−x ex+e−x En términos prácticos, la función tanh es una versión escalada de la sigmoide, y su principal ventaja es que centra las salidas en torno a 0, lo que puede hacer que la convergencia durante el entrenamiento sea más rápida. Al igual que la sigmoide, la tanh también sufre del problema de la desaparición del gradiente en redes profundas.
2.3. Una introducción a las Redes Neuronales 27 FIGURA 2.7: Gráfica de la función Tanh. 2.3.6.4. Función Softmax La función Softmax, , cuya gráfica se muestra en la figura 2.8, es comúnmente utilizada en la capa de salida de redes neuronales multicategoría. Esta función convierte un vector de valores reales en un vector de probabilidades, donde la suma de todas las probabilidades es 1. La función Softmax se define como: so f tmax(zi) = ezi ∑n j=1ezj Donde zies el valor de entrada de una clase específica y nes el número de clases. Esta función es útil en tareas de clasificación donde se busca asignar una probabilidad a cada clase, permitiendo a la red neuronal seleccionar la categoría más probable como salida.
28 Capítulo 2. Estado del arte FIGURA 2.8: Gráfica de la función Softmax. 2.3.6.5. Selección de la función de activación La selección de la función de activación adecuada es crucial para el desempeño de una red neuronal. No existe una función que sea ideal para todas las tareas; en su lugar, la elección depende del problema específico, la arquitectura de la red y las características de los datos. Por ejemplo, para redes neuronales profundas, la función ReLU ha demostrado ser extremadamente eficiente en términos de velocidad de convergencia, mientras que la función Softmax es indispensable en tareas de clasificación multiclase. En esta tesis, las funciones de activación ReLU y Softmax han sido seleccionadas en función de su capacidad para manejar tareas de clasificación y predicción en tiempo real, optimizando tanto la precisión como el tiempo de entrenamiento. 2.3.7. El entrenamiento El proceso de aprendizaje en el aprendizaje automático implica tres etapas principales: entrenamiento, validación y test. Cada una de estas etapas desempeña un
2.3. Una introducción a las Redes Neuronales 29 papel crucial en el desarrollo de un modelo que pueda generalizar eficazmente a partir de los datos que ha visto para hacer predicciones o tomar decisiones precisas sobre datos nuevos, no vistos y que corresponden a un subconjunto de los datos en que se dividen los datos originales. Cada conjunto de datos contiene ejemplos de entradas y sus correspondientes salidas correctas (en el aprendizaje supervisado) o sólo entradas (en el aprendizaje no supervisado). Entrenamiento. En esta fase, el algoritmo se expone a la mayor parte del conjunto de datos utilizados para el aprendizaje. Durante este proceso, el modelo procesa iterativamente los datos de entrenamiento, ajustando sus parámetros internos con el objetivo de minimizar una función de pérdida que cuantifica la discrepancia entre sus predicciones y los resultados reales. A través de técnicas de optimización, como el descenso de gradiente, el modelo actualiza sus parámetros en cada iteración, buscando reducir progresivamente el valor de la función de pérdida. Este ajuste mejora la capacidad del modelo para generalizar en datos no vistos. El proceso continúa hasta que se alcanza un criterio de convergencia o se completa un número predefinido de iteraciones. Validación. Otro conjunto de datos, denominado conjunto de validación, se utiliza para evaluar el rendimiento del modelo durante el entrenamiento. En este paso, se intenta predecir los resultados de un subconjunto de datos en el que no se ha entrenado el algoritmo. Esto ayuda a ajustar los hiperparámetros del modelo (ajustes que no se aprenden de los datos, sino que se establecen antes del entrenamiento). Este es un paso crucial en el proceso de aprendizaje porque podemos evaluar el rendimiento del algoritmo. Aquí se pueden dar varios escenarios: ajuste insuficiente (underfitting) , ajuste excesivo (overfitting) y buen ajuste (good fit). La principal forma de detectar cuál es, es trazar la pérdida frente a las épocas para los conjuntos de entrenamiento y validación, como en la figura 2.9. Esta figura de ejemplo ilustra los problemas comunes en la etapa de validación de modelos dentro del entrenamiento de redes neuronales, mostrando cómo se pueden identificar visualmente tanto el sobreajuste como el subajuste a partir de las curvas de pérdida. •Underfitting. Esto ocurre cuando el algoritmo obtiene malos resultados tanto en los datos con los que se entrenó como en los datos de validación. En este caso, el modelo es demasiado simple para captar los patrones subyacentes en los datos. Tanto la pérdida de entrenamiento como la de validación serán altas, y las curvas estarán muy juntas, mostrando poca mejora a medida que avanza el entrenamiento. •Overfitting. El sobreajuste ocurre cuando un modelo de aprendizaje automático se adapta demasiado bien a los datos de entrenamiento, capturando no solo las relaciones subyacentes, sino también el ruido y las peculiaridades específicas de ese conjunto de datos. En este escenario, el modelo aprende a memorizar los ejemplos de entrenamiento en lugar de generalizar a partir de ellos. Como resultado, el modelo tendrá un rendimiento excepcionalmente
30 Capítulo 2. Estado del arte bueno en los datos de entrenamiento, lo que se reflejará en una pérdida de entrenamiento muy baja. Sin embargo, cuando se evalúa en un conjunto de datos de validación o prueba, el modelo no podrá generalizar de manera efectiva, lo que resultará en una pérdida de validación significativamente mayor. Gráficamente, esto se manifestará como una brecha notable entre las curvas de pérdida de entrenamiento y validación, donde la curva de entrenamiento seguirá disminuyendo mientras que la curva de validación comenzará a aumentar después de cierto punto. El sobreajuste es un desafío común en el aprendizaje automático y limita la capacidad del modelo para hacer predicciones precisas en datos nuevos y no vistos. •Good Fit. Este es el escenario ideal en el que el modelo ha aprendido los patrones subyacentes y es bueno en la generalización. Tanto las pérdidas de entrenamiento como las de validación serán bajas, y las curvas estarán próximas entre sí, mostrando una mejora consistente y estabilizándose después. Testing. El último paso en el proceso de entrenamiento de una red neuronal es probar el modelo con datos completamente nuevos y no vistos anteriormente. Aunque los datos del conjunto de validación no se utilizaron durante el entrenamiento del modelo, estos fueron empleados para ajustar los hiperparámetros, lo que introduce el riesgo de un sobreajuste indirecto al conjunto de validación, ya que la información sobre esos datos puede filtrarse durante el proceso de aprendizaje. Por esta razón, el conjunto de prueba debe utilizarse únicamente una vez, después de completar las fases de entrenamiento y validación. Esto permitirá realizar una evaluación final de la capacidad de generalización del modelo, es decir, su habilidad para hacer predicciones precisas sobre nuevos datos que no fueron utilizados en ninguna fase del proceso de entrenamiento o ajuste de hiperparámetros. Si el algoritmo no se ajusta bien o se ajusta demasiado, normalmente es el momento de reajustar los hiperparámetros del modelo, utilizar técnicas como la regularización o la parada temprana y comenzar de nuevo el proceso de entrenamiento. Se trata de un proceso iterativo hasta alcanzar una buena generalización.
2.3. Una introducción a las Redes Neuronales 31 (A) (B) FIGURA 2.9: Validación del ajuste. (A) Ejemplo de un modelo que incurre en underfitting, overfitting y good fit. En el caso del underfitting, el modelo no es capaz de realizar una buena generalización y falla al predecir incluso las muestras del conjunto de entrenamiento. En el caso del overfitting, el modelo se ajusta demasiado bien a los datos de entrenamiento, proporcionando buenas predicciones cuando se utilizan esos datos, pero fallando al intentar predecir el resultado para una nueva muestra. Cuando el modelo tiene una buena capacidad de generalización, su ajuste es ideal tanto para predecir datos del conjunto de entrenamiento dentro de un error admisible, como para predecir nuevos datos. (B) Ejemplo de curvas que muestran la pérdida en el entrenamiento y la validación para varios escenarios: underfitting, overfitting y good fit.
32 Capítulo 2. Estado del arte 2.3.7.1. Función de pérdida En el contexto del aprendizaje supervisado en redes neuronales, la función de pérdida es una herramienta fundamental que mide la diferencia entre la salida esperada y la salida obtenida por el modelo. Su principal objetivo es guiar el proceso de optimización, proporcionando una métrica que el algoritmo busca minimizar durante el entrenamiento. A medida que el modelo ajusta los pesos de las conexiones neuronales, la función de pérdida evalúa cuán lejos están las predicciones de los valores deseados y retroalimenta el sistema para mejorar dicho ajuste. Las funciones de pérdida varían dependiendo del tipo de problema que se esté resolviendo. Las más comunes son: Error cuadrático medio (MSE): Es ampliamente utilizada en problemas de regresión. Mide el promedio de las diferencias cuadradas entre los valores predichos y los reales. La función MSE penaliza de manera más intensa los errores grandes, lo que hace que el modelo se concentre en reducir las predicciones que están muy alejadas de los valores reales. LMSE =1 n n ∑ i=1 (yi−ˆ yi)2 Donde yison los valores reales y ˆ yilas predicciones del modelo. Entropía cruzada: Es comúnmente empleada en problemas de clasificación. Mide la diferencia entre dos distribuciones de probabilidad: la distribución real y la distribución predicha por el modelo. La entropía cruzada se utiliza para mejorar la precisión del modelo, haciendo que las predicciones se aproximen a las etiquetas reales. LCE =−1 n n ∑ i=1 [yilog(ˆ yi) + (1−yi)log(1−ˆ yi)] Hinge Loss: Esta función es típica en máquinas de soporte vectorial (SVM), pero también puede emplearse en redes neuronales para problemas de clasificación binaria. Hinge Loss favorece que los márgenes entre las clases estén bien definidos, castigando los errores en la clasificación de los puntos cercanos al margen de decisión. LHinge = n ∑ i=1 m´ ax(0, 1 −yiˆ yi) El proceso de minimización de la función de pérdida es el corazón del entrenamiento en redes neuronales. Durante el proceso de retropropagación, el gradiente de la
2.3. Una introducción a las Redes Neuronales 33 función de pérdida se utiliza para ajustar los pesos de las conexiones entre las neuronas, de manera que el error se reduzca con cada iteración del modelo. La selección adecuada de la función de pérdida es crucial para el éxito de la red neuronal, ya que debe estar alineada con el tipo de tarea que se está resolviendo. Un mal ajuste en la función de pérdida puede conducir a un aprendizaje deficiente o a un sobreajuste (overfitting). 2.3.7.2. Backpropagation El proceso de entrenamiento de una red neuronal consiste en ajustar los pesos de las conexiones entre las neuronas para minimizar el error en las predicciones de la red. Dado el gran número de pesos y su interdependencia, este ajuste se convierte en un desafío. El entrenamiento puede ser visto como un proceso de optimización, en el cual se propagan las entradas a través de la red para calcular la salida y, a partir de ahí, se compara con la salida deseada. El concepto de backpropagation no fue introducido en el ámbito de las redes neuronales hasta la década de 1980 (Rumelhart, Hinton y Williams, 1986). Este algoritmo, que funciona en modelos de aprendizaje supervisado, revolucionó el campo de la inteligencia artificial al permitir la actualización de los pesos de las neuronas tras comparar la salida de la red con un valor de referencia a través de una función de error. El error resultante se utiliza para ajustar los pesos de manera iterativa, buscando reducir dicho error en las predicciones futuras. La función encargada de estimar el error, comparando los resultados obtenidos con la salida esperada, se denomina función de pérdida o función de coste. Una explicación detallada de esta función se proporciona en el apartado 2.3.7.1. El objetivo primordial del entrenamiento de una red neuronal es optimizar (minimizar) esta función de pérdida. Para llevar a cabo esta optimización existen distintos métodos, siendo uno de los más comunes el descenso de gradiente. El descenso de gradiente es un algoritmo de optimización usado para obtener el mínimo de la función de pérdida de un algoritmo de aprendizaje automático. De manera iterativa –a lo largo de una serie de pasos– intenta encontrar el mínimo aproximado de la función hasta que se alcanza una condición de terminación que finaliza este bucle. Para ello usa el gradiente, la dirección en la que la función de coste se incrementa, recorriéndolo en la dirección negativa. Como vemos en el gráfico (figura 2.10), si seguimos la dirección negativa del gradiente (la pendiente de la función en ese punto), nos acercaremos cada vez más al valor mínimo de la función de pérdida. Este proceso se denomina retropropagación (backpropagation) y consiste en ajustar los pesos de la red mediante el cálculo de los gradientes de la función de pérdida. De forma general, el algoritmo de backpropagation sigue las siguientes etapas: 1. Inicialmente, los pesos de las conexiones en la red neuronal se asignan de manera aleatoria, lo que proporciona un punto de partida.
34 Capítulo 2. Estado del arte FIGURA 2.10: Ejemplo gráfico del gradiente descendente cuando el punto inicial es positivo. 2. Un ejemplo específico del conjunto de datos es suministrado a la red neuronal y es propagado hacia adelante utilizando los pesos actuales para calcular la salida de la red. 3. La salida generada por la red es comparada con la salida esperada asociada a ese ejemplo, y se calcula el error utilizando una función de pérdida previamente definida. 4. El error calculado se propaga hacia atrás a lo largo de la red, ajustando los pesos de las conexiones con el fin de minimizarlo. 5. Este ciclo de pasos, desde la propagación hacia adelante hasta el ajuste de pesos, se repite para cada ejemplo del conjunto de datos. 6. Después de que todo el conjunto de datos haya sido procesado por la red, el proceso de ajuste se reinicia. A este ciclo completo se le denomina época. Este algoritmo ha sido crucial para el desarrollo y éxito de las redes neuronales modernas, permitiendo entrenar modelos más profundos y complejos, como los que se
2.3. Una introducción a las Redes Neuronales 35 utilizan en la actualidad en tareas de reconocimiento de patrones, visión por computadora y procesamiento de lenguaje natural. Como se ha comentado anteriormente, las redes neuronales multicapas son capaces de modelar funciones más complejas que un perceptrón simple. Sin embargo, esto también introduce desafíos adicionales, como la necesidad de un mayor poder computacional y el riesgo de sobreajuste (overfitting) (concepto tratado en la sección 2.3.7, dedicada al entrenamiento) si no se manejan correctamente los datos de entrenamiento. La optimización de estas redes mediante retropropagación y el uso de técnicas como el descenso de gradiente ha permitido avances significativos en inteligencia artificial. 2.3.7.3. Métricas para la evaluación de modelos Una vez que un modelo de red neuronal ha sido entrenado, es fundamental evaluar su rendimiento para asegurarse de que sea capaz de generalizar correctamente los datos no vistos. Para llevar a cabo esta evaluación, se emplean diversas métricas que permiten medir la efectividad del modelo en tareas específicas. La selección de la métrica adecuada depende del tipo de problema que se esté resolviendo: clasificación, regresión, o incluso predicción de series temporales. Para realizar esta evaluación, se utilizan las siguientes definiciones: VP (Verdaderos Positivos): Muestras que pertenecen a la clase positiva y son correctamente clasificadas por el modelo. VN (Verdaderos Negativos): Muestras que pertenecen a la clase negativa y son correctamente clasificadas como negativas por el modelo. FP (Falsos Positivos): Muestras que pertenecen a la clase negativa pero son incorrectamente clasificadas como positivas. FN (Falsos Negativos): Muestras que pertenecen a la clase positiva pero son incorrectamente clasificadas como negativas. A continuación, se describen algunas de las métricas más utilizadas en la evaluación de modelos. Precisión (Accuracy): Es la métrica más común en problemas de clasificación. Mide el porcentaje de predicciones correctas sobre el total de ejemplos evaluados. Aunque es una métrica intuitiva, puede ser engañosa cuando las clases están desbalanceadas. Precisión =Número de predicciones correctas Número total de ejemplos evaluados Precisión (Precision): En problemas de clasificación binaria, la precisión mide el porcentaje de predicciones positivas correctas sobre todas las predicciones positivas hechas por el modelo. Es especialmente útil cuando el costo de los falsos positivos es alto.
42 Capítulo 3. Automatización de recogida y análisis de datos en tenis mediante técnicas de aprendizaje profundo estos procesos es fundamental para mejorar la precisión y la eficiencia del análisis del rendimiento de los jugadores. Este capítulo aborda los principales desafíos asociados a la automatización de la recogida de datos en eventos deportivos, centrándose en el tenis, y propone soluciones basadas en técnicas de aprendizaje profundo. Entre los desafíos más relevantes se encuentran la detección precisa de la pelota y los jugadores en entornos dinámicos, la identificación de patrones complejos de juego, y la segmentación espacial de la pista para un análisis detallado. Además, es crucial optimizar el rendimiento del sistema para que pueda operar en tiempo real y con un consumo eficiente de recursos computacionales. Para abordar estos desafíos, se aplicarán técnicas avanzadas de aprendizaje profundo, principalmente redes neuronales convolucionales, que han demostrado su eficacia en tareas de visión por computador. Estas redes permiten la detección automática de objetos, el seguimiento de su movimiento y la clasificación de acciones deportivas con alta precisión. En la era moderna, la integración de la tecnología y el análisis de datos ha revolucionado el scouting deportivo. Las herramientas tecnológicas avanzadas, como los sistemas de seguimiento óptico, el sistema de posicionamiento global (GPS), las cámaras de alta velocidad y los sensores de movimiento, permiten una recopilación de datos más detallada y precisa que nunca antes. Estas tecnologías capturan cada movimiento, giro e impacto en la pista, generando una gran cantidad de datos que los scouters pueden analizar para obtener información sobre el rendimiento de los jugadores. El auge del big data y la inteligencia artificial también ha tenido un impacto transformador en el scouting deportivo. Los algoritmos de aprendizaje automático pueden procesar y analizar vastas cantidades de datos, identificando patrones y correlaciones que podrían pasar desapercibidos incluso para los ojos más experimentados. Estas herramientas pueden predecir el potencial de un jugador, identificar áreas de mejora y sugerir estrategias de juego optimizadas basadas en el análisis de datos históricos y en tiempo real. La integración de estas tecnologías permite a los scouters tomar decisiones más fundamentadas y basadas en datos, maximizando así las posibilidades de éxito. Además, la tecnología ha permitido una mayor personalización en el desarrollo y entrenamiento de los jugadores. Los scouters pueden utilizar herramientas de análisis avanzadas para diseñar programas de entrenamiento a medida que aborden las necesidades específicas de cada jugador. Al analizar datos biomecánicos, fisiológicos y de rendimiento, los scouters pueden optimizar los planes de entrenamiento para maximizar las mejoras y minimizar el riesgo de lesiones. Esta personalización basada en datos es especialmente valiosa para los jóvenes talentos, ya que garantiza que reciban el apoyo y la orientación adecuados en las etapas críticas de su desarrollo. En conclusión, el scouting deportivo ha experimentado una transformación significativa en la era digital. La fusión de la observación meticulosa tradicional con las
3.2. Materiales y métodos 43 herramientas tecnológicas más avanzadas ha llevado la detección de talentos y el análisis del rendimiento a nuevas cotas de precisión y eficacia. Los scouters modernos son expertos no solo en el arte de la evaluación visual, sino también en el aprovechamiento de los datos y las tecnologías para tomar decisiones más informadas y estratégicas. A medida que el tenis (o el deporte en general) sigue evolucionando, el papel del scouting seguirá siendo fundamental para el éxito en todos los niveles del juego. Esta tesis doctoral se ha centrado en el tenis y los fundamentos de la detección en este deporte y tiene como objetivo demostrar que las tareas de recopilación manual de información pueden ser automatizadas utilizando las últimas tecnologías, particularmente la inteligencia artificial. También busca abrir una nueva línea de investigación y evolucionar esta industria. Las principales contribuciones realizadas en este capítulo de la presente tesis doctoral son las siguientes: 1. Se ha realizado un estudio comparativo exhaustivo de diferentes algoritmos de seguimiento (trackers) y redes neuronales convolucionales para el análisis de vídeos de tenis. 2. Se han estudiado diversos métodos para la segmentación precisa de una pista de tenis en secuencias de vídeo, un paso crucial para el análisis espacial del juego. 3. Se propone un método para identificar con precisión el tipo de golpeo (derecha o revés) a la pelota. 4. Se han generado estadísticas automáticamente a partir del vídeo de entrada del sistema. 5. Finalmente, se presenta un sistema (software) integral que combina todas las contribuciones en un flujo de trabajo automatizado de extremo a extremo. Este sistema procesa vídeos de partidos de tenis, generando un mapa de calor con estadísticas valiosas para los scouters de manera completamente automatizada. A lo largo de este capítulo, se describirán en detalle los métodos utilizados, los resultados obtenidos y un análisis crítico que permitirá evaluar la eficacia del enfoque propuesto. Se presentarán tanto los desafíos técnicos como las soluciones implementadas, proporcionando una visión integral del proceso de automatización de la recogida de datos en el tenis mediante técnicas de aprendizaje profundo. 3.2. Materiales y métodos Este apartado presenta los métodos aplicados para automatizar la recolección de datos de eventos deportivos. Detalla los enfoques, tecnologías y algoritmos específicos utilizados en el estudio, con un enfoque particular en el tenis como deporte seleccionado para la investigación. La elección del tenis como deporte principal para este estudio, tal y como se adelantó en el capítulo 1, se basa en varios factores clave que destacan su relevancia y adecuación para la investigación. En primer lugar, el tenis cuenta con una amplia base
44 Capítulo 3. Automatización de recogida y análisis de datos en tenis mediante técnicas de aprendizaje profundo de jugadores a nivel mundial, estimada en aproximadamente 60 millones (International Tennis Federation, 2021). Esta popularidad global garantiza una vasta cantidad de datos disponibles para su análisis y estudio, lo que es fundamental para el desarrollo y la validación de técnicas de extracción automática de datos. Además, el tenis se caracteriza por un calendario competitivo robusto, con más de 1,500 torneos oficiales cada año, incluyendo los prestigiosos Grand Slams: el Abierto de Australia, Roland Garros, Wimbledon y el Abierto de Estados Unidos (International Tennis Federation, 2023). Estos eventos de alto perfil no solo atraen la atención mundial, sino que también generan una gran cantidad de datos de alto valor, tanto en términos de rendimiento de los jugadores como de estrategias de juego. La dimensión económica del tenis también es significativa y refleja su estatus como un deporte global de primer nivel. Los premios monetarios en los torneos más importantes alcanzan cifras sustanciales, con el Abierto de Estados Unidos 2023 repartiendo un total de más de $57 millones y los campeones individuales recibiendo más de $3 millones cada uno (United States Tennis Association, 2022). Además, los ingresos de los mejores tenistas, derivados tanto de premios como de patrocinios, pueden alcanzar decenas de millones de dólares anualmente (Badenhausen, 2022). Esta inversión financiera en el deporte subraya su valor y atractivo, no solo para los jugadores y aficionados, sino también para las empresas y organizaciones involucradas en el análisis deportivo. Estos factores numéricos no solo demuestran la popularidad e impacto económico del tenis, sino que también justifican su selección como el deporte ideal para aplicar y desarrollar tecnologías avanzadas de análisis deportivo. La abundancia de datos, la frecuencia de competiciones de alto perfil y la inversión económica en el deporte aseguran un terreno fértil para la innovación y el desarrollo tecnológico en el campo de la extracción automática de datos. Para alinear este trabajo con las prácticas actuales en el análisis de datos de tenis, se realizó un estudio exhaustivo de las métricas y estadísticas utilizadas por diversas empresas líderes en este campo. Se prestó especial atención a los informes de muestra proporcionados por Tennis Analytics (Tennis Analytics website s.f.), que ofrecen una visión detallada de los datos recopilados y analizados para diferentes partidos de tenis. Estos informes, junto con los de otras compañías similares, fueron comparados y analizados para identificar los datos más importantes y comúnmente utilizados en la industria. La Tabla 3.1 presenta estos datos clave, que incluyen métricas como puntos totales ganados, relación ganadores/errores, tolerancia en golpes, apariciones en la red ganadas, porcentaje de primer servicio, entre otros. Este enfoque basado en la industria asegura que la extracción automática de datos se alinee con las métricas ya valoradas y utilizadas por los profesionales del análisis de tenis. Al centrarse en estos datos estándar, el sistema desarrollado en este trabajo tiene una relevancia y aplicabilidad inmediatas en contextos del mundo real.
3.2. Materiales y métodos 45 Puntos Totales Ganados Total de puntos ganados por un jugador Ganadores/Errores Puntos en los que el oponente no toca la pelota/puntos en los que el oponente sí toca la pelota Tolerancia en Golpes Este es el número de golpes que puedes dar antes de cometer un error o de que tu oponente anote un punto ganador Apariciones en la Red Ganadas Porcentaje de puntos ganados en la red (cuando el jugador básicamente sube a la red) % de Primer Servicio El porcentaje de veces que no has fallado el primer servicio, es decir, que has logrado meter la pelota en la caja del oponente Puntos de Quiebre Salvados Número de puntos de quiebre que se han salvado. Por ejemplo, el jugador1 tenía ventaja, y el jugador2 logró anotar un punto, llegando a 40 iguales Primeros Servicios Ganados Número de puntos ganados con el primer servicio Segundos Servicios Ganados Número de puntos ganados con el segundo servicio Primeras Devoluciones Ganadas Número de puntos que un jugador ha ganado, habiendo servido el oponente con el primer servicio Segundas Devoluciones Ganadas Número de puntos que un jugador ha ganado, habiendo servido el oponente con el segundo servicio Aces Número de aces Dobles Faltas Número de veces que ha fallado ambos servicios Puntos de Quiebre Convertidos Puntos de quiebre ganados TABLA 3.1: Datos analíticos a extraer y su significado
46 Capítulo 3. Automatización de recogida y análisis de datos en tenis mediante técnicas de aprendizaje profundo Un análisis más profundo de estas métricas revela que algunas pueden derivarse o extrapolarse a partir de otras. Este conocimiento permite un enfoque optimizado, donde la inteligencia artificial se centra en extraer solo las métricas esenciales, denominadas "datos analíticos brutos". Posteriormente, se pueden aplicar fórmulas matemáticas para derivar las métricas restantes, llamadas "datos analíticos procesados", a partir de estos datos brutos. La Tabla 3.2 muestra esta categorización de las métricas en datos brutos y procesados. KPIs Datos brutos Datos procesados Puntos Totales Ganados X Ganadores/Errores X Tolerancia en Golpes X Apariciones en la Red Ganadas X % de Primer Servicio X Puntos de Quiebre Salvados X Primeros Servicios Ganados X Segundos Servicios Ganados X Primeras Devoluciones Ganadas X Segundas Devoluciones Ganadas X Aces X Dobles Faltas X Puntos de Quiebre Convertidos X TABLA 3.2: Datos analíticos brutos y procesados Este enfoque estratificado no solo simplifica el proceso de extracción de datos, sino que también garantiza que los datos extraídos sean inmediatamente aplicables y valiosos para un análisis profundo y para la toma de decisiones en el contexto del tenis. Al distinguir entre datos analíticos brutos y procesados, el sistema puede proporcionar información integral al mismo tiempo que optimiza los recursos computacionales y el tiempo de procesamiento. Para lograr la extracción automática de datos en el tenis, este trabajo aborda cuatro tareas clave: 1. Detección y seguimiento únicamente de los jugadores: En los partidos de tenis televisados, además de los jugadores, también pueden aparecer en la imagen otros individuos como recogepelotas, árbitros y espectadores. Es crucial distinguir y filtrar a estos individuos no relevantes para el análisis, asegurando que la detección y el seguimiento se centren exclusivamente en los dos jugadores. 2. Detección y seguimiento de la pelota: Este es quizás el desafío más significativo abordado en este trabajo. Una pelota de tenis es un objeto pequeño y rápido, capaz de alcanzar velocidades superiores a los 200 km/h (The-Sydney-Morning-Herald,
3.2. Materiales y métodos 47 2012), con un récord actual de 263 km/h. Además, su tamaño, con un diámetro entre 6.54 y 6.86 centímetros según las regulaciones de la ITF (International-TennisFederation, 2022), la hace difícil de detectar y seguir, especialmente en condiciones desafiantes como pistas de césped o con fondos de colores similares. 3. Determinación de la mano utilizada por el jugador para golpear la pelota: Muchas de las estadísticas utilizadas en el análisis del tenis, como se ve en los informes de las empresas mencionadas, requieren datos sobre la mano utilizada para golpear la pelota. Por lo tanto, es esencial clasificar cada golpe como derecha o revés. 4. Identificación de las diferentes regiones de una pista de tenis: Comprender y segmentar las distintas áreas de una pista de tenis es fundamental para un análisis espacial preciso. Esto implica reconocer los límites de la pista, las cajas de servicio y otras zonas relevantes. Abordar con éxito estas tareas es esencial para desarrollar un sistema robusto y eficaz de extracción automática de datos en el tenis. Cada uno de ellos presenta desafíos únicos que requieren la aplicación de algoritmos y tecnologías avanzadas, particularmente en las áreas de visión por computadora, seguimiento de objetos y aprendizaje automático. Las secciones siguientes detallan los enfoques específicos y las técnicas innovadoras empleadas para superar estos desafíos y lograr los objetivos de este trabajo de investigación. 3.2.1. Tarea N.º 1: Seguimiento de la Pelota y los Jugadores El seguimiento de objetos es un problema fundamental en la visión por computadora que implica estimar la trayectoria de un objeto a lo largo de una secuencia de imágenes. En esencia, un tracker (o rastreador en Español) asigna etiquetas consistentes al objeto de interés en cada fotograma, proporcionando información adicional como su posición, tamaño y forma, según el dominio de aplicación. Para seleccionar el tracker más adecuado para el seguimiento de la pelota y los jugadores en el tenis, se analizaron y compararon nueve algoritmos de seguimiento disponibles en la literatura. La evaluación se realizó utilizando un conjunto de vídeos (human-walking-ground-truth) (Haggui, Tchalim y Magnier, 2021) que presentaba diversos desafíos comunes que podrían afectar negativamente al seguimiento del objeto: Oclusión (walk1.mp4)1:Ocurre cuando el objeto de interés es bloqueado parcial o totalmente por otro objeto, lo que puede causar que el tracker pierda su objetivo debido a la falta de información visual necesaria. Las oclusiones pueden ser temporales o prolongadas y pueden provenir de objetos estáticos o dinámicos en la escena. 1https://github.com/salcanmor/PhD/blob/main/Chapter_1/Datasets/human-walking/
48 Capítulo 3. Automatización de recogida y análisis de datos en tenis mediante técnicas de aprendizaje profundo Solapamiento (walk2.mp4)1:Se produce cuando dos objetos en el campo de visión se cruzan entre sí desde la perspectiva de la cámara, lo que puede confundir al tracker y dificultar la distinción y el seguimiento del objeto correcto. Movimiento en el Plano (walk3.mp4)1:Se refiere al movimiento relativo entre la cámara y el objeto de seguimiento mientras este último se mueve en cualquier dirección dentro del plano paralelo a la lente de la cámara. Esto puede ser particularmente desafiante si el fondo contiene patrones o movimientos que distraen al algoritmo de seguimiento. Rotación en el Plano (walk4.mp4)1:Es la rotación del objeto rastreado alrededor de un eje perpendicular a la línea de visión de la cámara. Los trackers deben ser capaces de manejar estos cambios en la orientación del objeto, que pueden alterar su apariencia, para mantener un seguimiento preciso. Variación de Escala (walk5.mp4)1:Ocurre cuando la escala del objeto de seguimiento cambia en relación con la cámara, ya sea por el movimiento del objeto hacia o alejándose de la cámara o por cambios en la perspectiva. Un tracker eficaz debe ser capaz de ajustar su "ventana"de seguimiento para adaptarse a estos cambios de tamaño. Baja Resolución (walk5.mp4)1:Se presenta cuando la imagen o vídeo es de baja calidad y el objeto de interés no tiene suficientes detalles visuales para un seguimiento preciso, lo que puede deberse a la distancia del objeto, la mala calidad de la cámara o condiciones de iluminación inadecuadas. Combinación de Varios de los Problemas Anteriores (walk6.mp4)1:Explora si un tracker que es resistente a varios problemas por separado puede no serlo cuando todos estos problemas se combinan. Abordar estos desafíos es crucial para un seguimiento efectivo en el análisis deportivo, ya que impacta directamente en la precisión y confiabilidad de la extracción de datos. La capacidad del sistema de seguimiento para manejar estos diversos escenarios es esencial para proporcionar análisis robustos y consistentes, especialmente en entornos deportivos dinámicos e impredecibles como el tenis. Para mejorar la calidad y consistencia del conjunto de datos, se re-etiquetaron aquellos vídeos cuyas etiquetas estaban faltaban o eran inexactas. Para el resto de los vídeos etiquetados con precisión, se creó un script para convertir sus etiquetas al formato XML de Pascal VOC (Pascal VOC website s.f.). Como resultado, se obtuvo un nuevo conjunto de datos donde el 100% de los vídeos estaban etiquetados con precisión y estandarizados según el formato XML de Pascal VOC. Este conjunto de datos, junto con todos los scripts y recursos utilizados en este trabajo, está disponible en el repositorio GitHub de esta tesis doctoral2. La creación de este conjunto de datos etiquetado con precisión es un paso significativo en el desarrollo y validación de algoritmos de seguimiento. Contar con un 2https://github.com/salcanmor/PhD/
3.2. Materiales y métodos 49 conjunto de datos completo y preciso es crucial para entrenar y probar la efectividad de estos algoritmos. El uso de un formato estandarizado como el XML de Pascal VOC asegura además la consistencia e interoperabilidad con varias herramientas de aprendizaje automático y visión por computadora. En la investigación realizada para abordar este capítulo de la tesis, se han estudiado y comparado varios algoritmos de seguimiento disponibles en la literatura con el fin de determinar cuál de ellos ofrece los mejores resultados para el sistema propuesto en este trabajo. Los algoritmos considerados son: 1. Boosting (Grabner, Grabner y Bischof, 2006): un tracker de objetos en tiempo real que utiliza una versión en línea del algoritmo AdaBoost, aprovechando el fondo circundante como ejemplos negativos para evitar el desplazamiento. 2. MIL (Multiple Instance Learning) (Babenko, Yang y Belongie, 2010): una técnica de seguimiento de objetos basada en un enfoque de aprendizaje en línea para adaptarse a los cambios en la apariencia del objeto objetivo. 3. KCF (Kernelized Correlation Filters) (Henriques et al., 2014): se centra en el seguimiento de alta velocidad utilizando filtros de correlación kernelizados. 4. TLD (Tracking Learning Detection) (Kalal, Mikolajczyk y Matas, 2011): un método de seguimiento de objetos que combina seguimiento, aprendizaje y detección en un marco unificado para mejorar la robustez y precisión. 5. MedianFlow (Kalal, Mikolajczyk y Matas, 2010): un método de seguimiento de objetos basado en la estimación del flujo óptico, particularmente efectivo en situaciones con movimientos rápidos y cambios abruptos. 6. GOTURN (Generic Object Tracking Using Regression Network) (Held, Thrun y Savarese, 2016): basado en redes neuronales de regresión que utilizan el aprendizaje profundo para rastrear objetos genéricos sin necesidad de ajustes en línea. 7. MOSSE (Minimum Output Sum of Squared Error) (Bolme et al., 2010): basado en filtros de correlación, destacado por su alta velocidad y eficiencia en situaciones con cambios de iluminación y escala. 8. CSRT (Discriminative Correlation Filter with Channel and Spatial Reliability) (Lukezic et al., 2016): un tracker avanzado que utiliza filtros de correlación discriminativos junto con la fiabilidad espacial y de canales para mejorar la precisión y robustez en el seguimiento de objetos. 9. ByteTrack (Zhang et al., 2022): un método de seguimiento multi-objeto que se centra en asociar cada caja de detección para mejorar la precisión y reducir la fragmentación en el seguimiento de objetos en escenas complejas. Todos estos trackers han sido probados con todos los vídeos del dataset previamente mencionado, cada uno acompañado por su archivo de ground-truth respectivo. El archivo de ground-truth es un archivo que contiene las anotaciones o etiquetas de referencia que representan la verdad absoluta sobre la ubicación y las dimensiones
50 Capítulo 3. Automatización de recogida y análisis de datos en tenis mediante técnicas de aprendizaje profundo Tracker/vídeo walk1 walk2 walk3 walk4 walk5 walk6 Promedio Boosting 0,45 0,46 0,12 0,33 0,19 0,03 0,26 MIL 0,41 0,41 0,14 0,34 0,20 0,03 0,25 KCF 0,43 0,22 0,07 0,34 0 0 0,18 TLD 0,37 0,18 0,08 0,23 0,09 0,01 0,16 Medianflow 0,22 0,05 0,08 0,21 0 0 0,09 GOTURN 0 0,02 0,13 0 0 0,01 0,03 MOSSE 0,44 0,33 0,08 0,73 0,21 0,43 0,37 CSRT 0,74 0,44 0,07 0,66 0,19 0,02 0,35 ByteTrack 0,78 0,71 0,79 0,87 0,60 0,73 0,75 TABLA 3.3: Comparación de diferentes trackers utilizando la métrica IoU del objeto de interés en cada fotograma del vídeo. Estas anotaciones son creadas manualmente por expertos humanos y sirven como una referencia totalmente exacta para evaluar el rendimiento de los algoritmos de seguimiento. La métrica utilizada para comparar los trackers fue la Intersección sobre Unión (IoU), una métrica estándar en visión por computadora para medir la precisión de un modelo de detección de objetos. IoU calcula la relación entre el área de intersección y la unión entre la caja delimitadora predicha por el tracker y la caja delimitadora de la verdad de terreno proporcionada en el archivo de ground-truth. Los resultados de estas pruebas se resumen en la tabla 3.3, que muestra el IoU alcanzado por cada tracker en cada uno de los vídeos, así como el IoU promedio. El algoritmo ByteTrack logró el mejor rendimiento, superando significativamente al resto; por lo tanto, es el elegido para el sistema propuesto en este trabajo. La selección de ByteTrack como el algoritmo de seguimiento para este sistema se basa en su rendimiento superior en la evaluación comparativa realizada. Su capacidad para manejar eficazmente diversos desafíos comunes en el seguimiento de objetos, como oclusiones, solapamientos y variaciones de escala, lo convierte en una elección sólida para el seguimiento de la pelota y los jugadores en el tenis. Este enfoque riguroso para seleccionar el algoritmo de seguimiento más adecuado, basado en pruebas exhaustivas y comparaciones cuantitativas, garantiza que el sistema propuesto esté construido sobre una base sólida. Al elegir el tracker con el mejor rendimiento, se maximiza la precisión y confiabilidad de la extracción de datos, lo que a su vez mejora la calidad y utilidad de los análisis deportivos resultantes. 3.2.2. Tarea N.º 2: Detección de la Pelota y los Jugadores La detección precisa de la pelota y los jugadores es un componente crítico en el análisis automático de eventos deportivos, especialmente en deportes de rápido movimiento como el tenis. En este trabajo, se exploraron Redes Neuronales Convolucionales
3.2. Materiales y métodos 51 (CNNs) como un enfoque potencial para abordar este desafío. El objetivo era evaluar la viabilidad y eficacia de las CNNs en comparación con otros métodos y determinar si representaban un punto de partida sólido para el desarrollo de un sistema de detección robusto. Inicialmente, se experimentó con YolactEdge (Liu et al., 2021), una red diseñada para la segmentación de instancias en tiempo real en dispositivos empotrados. YolactEdge se basa en la arquitectura YOLACT (Bolya et al., 2019), pero incorpora dos mejoras significativas: 1. Optimización utilizando TensorRT (Vanholder, 2016): Esta optimización mantiene un equilibrio cuidadoso entre velocidad y precisión. 2. Un nuevo módulo de deformación de características: Este módulo explota la redundancia temporal en los videos. La idea detrás de la deformación de características es utilizar la información de fotogramas anteriores para mejorar la comprensión del fotograma actual, reduciendo la necesidad de recálculo y, por lo tanto, acelerando el proceso. Estas mejoras hacen de YolactEdge una opción adecuada para tareas de segmentación de instancias en tiempo real en el análisis deportivo de partidos de tenis (o de cualquier deporte en general), donde la velocidad y la precisión son cruciales. La capacidad de funcionar eficientemente en dispositivos empotrados también la convierte en una solución práctica para eventos deportivos en tiempo real, donde la potencia de procesamiento puede ser limitada. Al aprovechar estos avances, YolactEdge puede proporcionar potencialmente una detección precisa de jugadores y pelotas, lo cual es esencial para la extracción automática de datos de análisis deportivo. Sin embargo, después de probar YolactEdge en el dispositivo NVIDIA Jetson AGX Xavier, en busca de un rendimiento aún mayor, se decidió probar YoloX (Ge et al., 2021), una arquitectura conocida por su simplicidad y eficacia en la detección de objetos. YoloX se utilizó para detectar tanto a las personas (en este caso, los jugadores de tenis) como la pelota de tenis. Además, la CNN se infirió utilizando el framework PaddlePaddle (Ma et al., 2019). Dicha red se probó en la nube, específicamente en Google Colab (Bisong y Bisong, 2019). Finalmente, se evaluó Yolov8 (Jocher, Chaurasia y Qiu, 2023; Solawetz y Francesco, 2023). Esta CNN es la última versión del modelo Yolo en el momento de realización de este trabajo, considerado el estado del arte en el campo. Yolov8 es una arquitectura versátil que admite múltiples tareas de visión, como detección, segmentación, estimación de poses, seguimiento y clasificación, lo que la hace especialmente adecuada para el análisis deportivo integral. Para comparar el rendimiento de YolactEdge, YoloX y Yolov8, se seleccionaron tres vídeos con pistas de tenis de diferentes tipos de superficie: dura (azul), césped (verde) y arcilla (marrón).
58 Capítulo 3. Automatización de recogida y análisis de datos en tenis mediante técnicas de aprendizaje profundo FIGURA 3.4: Puntos de segmentación de la pista de tenis representa la esquina superior izquierda del área de servicio. Esta nomenclatura intuitiva facilita la interpretación de los resultados y permite una fácil integración con otros componentes del sistema de análisis. La capacidad de la red Yolov8 para identificar y localizar con precisión estos puntos clave es fundamental para un análisis detallado del juego. Al segmentar la cancha en sus diferentes regiones (áreas de servicio, pasillos, zonas de dobles, etc.), se pueden extraer información valiosa sobre los patrones de juego, las estrategias de los jugadores y las áreas de la cancha más utilizadas. Además, la segmentación precisa de la cancha permite un seguimiento más detallado de los movimientos de los jugadores. Al conocer la ubicación exacta de los jugadores en relación con las diferentes regiones de la cancha, se pueden generar estadísticas avanzadas, como la distancia recorrida, la velocidad de los desplazamientos y la cobertura de la cancha. Estos datos pueden proporcionar información valiosa sobre la condición física de los jugadores, su estilo de juego y sus fortalezas y debilidades. 3.2.5. Sistema Propuesto La figura 3.5 muestra los componentes del sistema propuesto y los resultados, incluyendo tanto el video procesado como los resultados numéricos obtenidos por cada uno de ellos. Este diagrama de flujo ilustra la arquitectura y el funcionamiento del sistema, destacando las etapas clave del procesamiento y las salidas generadas.
3.2. Materiales y métodos 59 FIGURA 3.5: Flujo de software del sistema propuesto, donde los nodos azules corresponden a la salida visual, los nodos rojos representan los nodos de procesamiento de datos y los nodos verdes representan la salida de datos brutos de las etapas de procesamiento. El procesamiento realizado por el sistema propuesto se puede dividir en cuatro etapas o bloques principales, descritos a continuación: 1. Carga de modelos y estimación de poses: En la primera etapa, se cargan las redes neuronales utilizadas en este estudio: el modelo de la red de estimación de poses
60 Capítulo 3. Automatización de recogida y análisis de datos en tenis mediante técnicas de aprendizaje profundo (MoveNet MultiPose) y dos instancias de Yolov8 para la detección de líneas en la pista de tenis y la detección de la pelota y los jugadores, respectivamente. Junto con la carga del modelo de estimación de poses, se establecen funciones para procesar e ilustrar las conexiones entre los puntos clave en los fotogramas de video. A continuación, se ejecutan predicciones de estimación de poses en los fotogramas del video de entrada para estimar las poses humanas. Los videos de entrada se caracterizan por una resolución de 1920x1080, una tasa de fotogramas de 25 y 60 fps dependiendo del vídeo y están en formato RGB. La información generada por la red de estimación de poses proporciona dos listas de puntos relativas a las poses de los jugadores (tensores CMAP y PAF (Cao et al., 2017)), que permiten la determinación de los puntos de las articulaciones y su correcta conexión. Estos datos se preservan para un posterior procesamiento y análisis estadístico. Además, se carga un modelo de Yolov8 para la detección de líneas en una pista de tenis, con funciones definidas para calcular los puntos clave de la pista basándose en las coordenadas de las esquinas. Este proceso genera una matriz (Model Prediction with Ultralytics YOLO s.f.) que contiene varias piezas de información, incluidas las coordenadas de los puntos de la pista de tenis, que también se retienen para un procesamiento y análisis estadístico posterior. Posteriormente, se carga el modelo de Yolov8 entrenado para la detección de la pelota y los jugadores, generando otra matriz con diversa información, incluidas las coordenadas de los puntos de la pista de tenis, que, al igual que las matrices anteriores, se guardan para un análisis posterior. 2. Seguimiento de objetos: En la segunda etapa, se ejecuta el rastreador ByteTrack, utilizando las detecciones de la red mencionada anteriormente para rastrear la pelota y los jugadores. Genera una matriz que contiene las coordenadas de las predicciones para ambos elementos: la pelota y los jugadores. 3. Determinación del tipo de golpe: En la tercera etapa, se realizan cálculos utilizando los datos derivados de los modelos de detección anteriores y la estimación de poses para determinar si un golpe es de derecha o revés. 4. Procesamiento de datos y generación de resultados: En la etapa final, se lleva a cabo el preprocesamiento de datos, cálculos estadísticos y la generación de mapas de calor. Además, toda la información y acciones se compilan en un video final. Se utilizan técnicas de visualización para mostrar estadísticas clave y acciones de los jugadores. El video resultante se guarda para un análisis o presentación posterior. La figura 3.6 muestra una captura de pantalla del sistema propuesto en acción. Específicamente, esta captura se tomó en el momento en que uno de los jugadores golpea la pelota contra la red, perdiendo así el punto. Muestra la detección de la pelota y los jugadores, la segmentación de la pista de tenis y también el marcador de puntos mostrado en la esquina superior izquierda. Esta visualización demuestra la capacidad del sistema para integrar varios aspectos de un partido de tenis en un análisis coherente. La detección de la pelota y los jugadores indica la capacidad de seguimiento del
3.3. Resultados 61 sistema, mientras que la segmentación de la pista muestra su comprensión del área de juego. La inclusión del marcador en tiempo real agrega una capa de información contextual, lo que hace que el sistema sea valioso para el análisis en tiempo real y la toma de decisiones en partidos de tenis. FIGURA 3.6: Captura de pantalla del sistema propuesto en funcionamiento Además, también se generan imágenes como la que se muestra en la figura 3.7. Esta figura presenta varias estadísticas y datos analíticos derivados del procesamiento del partido de tenis por parte del sistema. Este sistema combina información sobre mapas de calor y puntos recopilados a lo largo del proyecto. Genera una visualización completa que incluye estadísticas del mapa de calor y distribución de puntos. Proporciona un resumen detallado del rendimiento de los jugadores y un análisis de los golpes. 3.3. Resultados Como se mencionó anteriormente en la sección 3.2, el problema abordado en este trabajo se dividió en 4 tareas. Las siguientes secciones describen las pruebas y resultados obtenidos para cada una de estas tareas. Finalmente, esta sección concluye con las pruebas y resultados del sistema completo propuesto en este trabajo.
62 Capítulo 3. Automatización de recogida y análisis de datos en tenis mediante técnicas de aprendizaje profundo FIGURA 3.7: Mapa de calor con algunas estadísticas sobre el partido 3.3.1. Tarea 1: Seguimiento de la pelota y los jugadores En la tarea 1, el objetivo es determinar el mejor tracker para el sistema propuesto en este trabajo. Para este propósito, se utilizó un conjunto de datos que comprende 6 vídeos, probando todos estos vídeos con 9 trackers diferentes: Boosting, MIL, KCF, TLD, MedianFlow, GOTURN, MOSSE, CSRT y ByteTrack. Estos rastreadores son muy diferentes entre sí, cubriendo un amplio espectro del estado del arte del tracking, desde enfoques tradicionales hasta técnicas más recientes basadas en aprendizaje profundo. Después de realizar esta serie de pruebas, cuyos resultados se muestran en la tabla 3.3, se determinó cuantitativamente que ByteTrack fue el mejor tracker en todos los escenarios. La eficiencia se midió utilizando la métrica Intersección sobre Unión (IoU), una métrica estándar en la evaluación de algoritmos de detección y seguimiento de objetos. ByteTrack logró un IoU de 0.75, lo que se considera una buena precisión, superando significativamente a los demás trackers. MOSSE fue el segundo mejor tracker con un IoU de 0.37. Estos resultados destacan la superioridad de ByteTrack en el manejo de diversos desafíos de seguimiento, como oclusiones, cambios de escala y movimientos rápidos, que son comunes en los vídeos de tenis. La capacidad de ByteTrack para mantener un seguimiento preciso y robusto de los jugadores y la pelota lo convierte en la elección óptima para el sistema propuesto en este trabajo.
3.3. Resultados 63 3.3.2. Tarea 2: Detección de la pelota y los jugadores La tarea 2 se centra en encontrar el mejor método para detectar la pelota y los jugadores. Para abordar este problema, se utilizaron redes neuronales convolucionales, específicamente tres arquitecturas diferentes: YolactEdge, YOLOX y YOLOv8. Estas CNNs fueron entrenadas exclusivamente para detectar pelotas y jugadores en vídeos de tenis. Para un análisis detallado, estas tres CNNs se probaron con vídeos de partidos de tenis en tres superficies diferentes: pistas duras, de arcilla y de césped. Los resultados de estas pruebas se resumen en la tabla 3.4. A partir de estos resultados, se puede concluir que YOLOv8 es la CNN con el mejor rendimiento. En términos de detección de jugadores, YOLOv8 logró una efectividad del 100% en 2 de los 3 vídeos y muy cerca del 100% (específicamente 97.8%) en el tercero. En cuanto a la detección de la pelota, YOLOv8 también alcanza una alta eficiencia, siendo la más baja de 93.71%. La figura 3.1 muestra una captura de pantalla de la detección de la pelota y los jugadores utilizando YOLOv8. Esta visualización ilustra la capacidad del sistema para identificar y localizar con precisión estos elementos clave en un entorno dinámico y desafiante como un partido de tenis. La superioridad de YOLOv8 en la detección de la pelota y los jugadores puede atribuirse a su arquitectura avanzada y su capacidad para aprender características discriminativas a partir de los datos de entrenamiento. Su rendimiento consistente en diferentes superficies de pista demuestra su robustez y adaptabilidad, lo que lo convierte en una elección sólida para el sistema propuesto. 3.3.3. Tarea 3: Determinación de la mano de golpeo En la tarea 3, el objetivo es determinar con qué mano el jugador golpea la pelota, es decir, si es un golpe de derecha o revés. Se probaron dos enfoques: el primero se basaba en determinar la posición de la pelota en relación con el jugador, y el segundo implicaba el uso de una CNN de estimación de la pose, específicamente Movenet multipose lightning. El primer enfoque fue descartado rápidamente debido al alto número de errores que produjo. Por lo tanto, se optó por utilizar la red de estimación de la pose. Ambos métodos se probaron utilizando los mismos vídeos que en la tarea 2. Los resultados de estas pruebas se resumen en la Tabla 3.5, donde se puede observar que el uso de la red de estimación de poses elimina cualquier error, logrando una efectividad del 100%. La figura 3.2 muestra una captura de pantalla no solo con la detección del jugador, la pelota y las regiones de la pista, sino que también indica la mano con la que se golpea la pelota. Esta visualización integral demuestra la capacidad del sistema para analizar múltiples aspectos del juego simultáneamente. El éxito de la red de estimación de poses en la determinación de la mano de golpeo se atribuye a su capacidad para capturar y analizar la postura y el movimiento
64 Capítulo 3. Automatización de recogida y análisis de datos en tenis mediante técnicas de aprendizaje profundo del cuerpo humano. Al identificar la posición relativa de las articulaciones clave, como los hombros, los codos y las muñecas, la red puede inferir con precisión la mano utilizada para golpear la pelota. Este enfoque basado en la estimación de la pose supera las limitaciones de los métodos basados en la posición de la pelota respecto al jugador y proporciona una solución robusta y confiable para esta tarea. 3.3.4. Tarea 4: Identificación de las regiones de la pista La tarea 4 implica la identificación de las diferentes regiones que componen una pista de tenis. Inicialmente, se probó un enfoque clásico en visión por computadora: la transformada de Hough. Sin embargo, esta técnica tiene algunas desventajas conocidas, como errores causados por las sombras, lo que llevó a la búsqueda de una alternativa basada en CNNs. Se utilizó YOLOv8, entrenada para detectar 19 puntos específicos en una pista de tenis, mencionados en la sección 3.2.4 e ilustrados en la figura 3.4. Gracias a la detección de todos estos puntos, podemos segmentar la pista en sus diferentes regiones y crear mapas de calor, determinar si la pelota está dentro o fuera de la pista, entre otras aplicaciones. El uso de YOLOv8 para la identificación de las regiones de la pista resolvió los problemas asociados con la transformada de Hough, demostrando la efectividad de las técnicas de aprendizaje profundo en tareas de segmentación y localización. La capacidad de la red para detectar con precisión los puntos clave de la pista, incluso en presencia de sombras y otras variaciones, la convierte en una solución robusta y confiable para este tarea. 3.3.5. Sistema completo: Pruebas y resultados Una vez resueltas las tareas mencionados anteriormente, se pudo construir el sistema inicialmente propuesto, detallado en la sección 3.2.5. Este sistema se probó utilizando tres vídeos que representan diferentes superficies de pista: dura, césped y arcilla. Los resultados obtenidos reafirman la efectividad del sistema propuesto. El análisis de los vídeos de salida, como el que se muestra en la figura 3.6, y el mapa de calor con estadísticas presentado en la figura 3.7, demuestran la capacidad del sistema para integrar los diferentes componentes y proporcionar un análisis completo del juego. La precisión del sistema en estos tres vídeos se resume en la tabla 3.6. El sistema demostró una precisión robusta en la detección de jugadores y pelotas en pistas de tenis de diferentes colores (azul, verde, marrón), logrando un 100% de precisión en la identificación de la mano de golpeo en todos los escenarios. Si bien la detección de jugadores fue casi impecable, con solo una disminución menor observada en la pista de césped, la detección de la pelota mostró una precisión consistentemente alta en todas las pistas.
3.4. Discusión 65 Es importante destacar que la precisión en la detección de puntos de la pista, medida por el Error Cuadrático Medio (RMSE) en píxeles, demostró la alta precisión espacial del sistema. Con valores de RMSE que indican un error extremadamente bajo: siendo el más bajo 1,19 píxeles en la pista de arcilla, y el más alto 6,91 píxeles en la pista dura. Esto se traduce en un error insignificante en centímetros. Estos valores bajos de RMSE resaltan la precisión refinada del sistema en la detección de puntos de la pista, donde las discrepancias medidas en las ubicaciones de los puntos de la pista son mínimas, lo que subraya la efectividad del sistema en el análisis espacial detallado bajo diversas condiciones de la pista. Vídeo de Prueba Fotogramas Detección de Jugadores (%) Detección de Pelota (%) Identificación de Mano de Golpeo (%) Detección de Puntos de la pista (RMSE) Vídeo de pista dura 244 100 94,67 100 6,91 Vídeo de pista de césped 334 97,8 93,71 100 3,79 Vídeo de pista de arcilla 2104 100 94,01 100 1,19 TABLA 3.6: Resumen de los resultados del sistema propuesto Estos resultados demuestran la efectividad y robustez del sistema propuesto para el análisis automático de partidos de tenis. Su capacidad para detectar y trackear con precisión a los jugadores y la pelota, identificar la mano de golpeo y segmentar las regiones de la pista lo convierte en una herramienta valiosa para entrenadores, analistas y entusiastas del tenis. El rendimiento consistente del sistema en diferentes superficies de pista y su precisión en la detección de puntos clave subrayan su potencial para revolucionar la forma en que se analiza y entiende el juego del tenis. Con su capacidad para proporcionar datos detallados y precisos sobre el rendimiento de los jugadores, las estrategias de juego y los patrones de golpes, este sistema abre nuevas posibilidades para mejorar el entrenamiento, la táctica y el análisis del juego. 3.4. Discusión Esta investigación representa una contribución significativa al campo del scouting deportivo, particularmente en el contexto del tenis, un área que ha sido relativamente poco explorada en la literatura académica. La escasez de trabajos que aborden específicamente la intersección entre el scouting deportivo y el tenis destaca la novedad y el impacto potencial de este estudio. El scouting deportivo, como área de estudio, ha
66 Capítulo 3. Automatización de recogida y análisis de datos en tenis mediante técnicas de aprendizaje profundo estado tradicionalmente subrepresentado en la literatura académica. Al enfocarse en los desafíos y oportunidades únicos dentro del tenis, esta investigación agrega una nueva dimensión al cuerpo de conocimiento existente y abre camino para futuras exploraciones en este campo. La integración de tecnologías avanzadas como redes neuronales convolucionales (CNNs), modelos de estimación de poses y algoritmos de seguimiento sofisticados en este estudio subraya la evolución del panorama del análisis deportivo. La aplicación exitosa de herramientas de vanguardia como Yolov8 y Movenet para el seguimiento de jugadores y pelotas, la segmentación de la pista y el análisis de las acciones de los jugadores representa un avance significativo sobre los métodos tradicionales, que a menudo dependen de la observación manual y análisis estadísticos rudimentarios. La eficacia demostrada de estas tecnologías en el scouting de tenis destaca su potencial para revolucionar la forma en que se analiza y comprende el rendimiento deportivo. Además, este estudio aborda de manera efectiva los desafíos únicos del tenis, como la alta velocidad del juego, la complejidad de los movimientos de los jugadores y las superficies de juego variadas. La robustez del sistema propuesto para detectar y rastrear objetos en rápido movimiento, segmentar la pista y analizar las acciones de los jugadores, incluso en presencia de sombras y oclusiones, demuestra la solidez de las soluciones desarrolladas y su capacidad para manejar las complejidades inherentes al deporte. En el contexto de trabajos relacionados, es notable que, si bien no existen casos paralelos exactos a este estudio en la literatura científica, existen investigaciones que abordan aspectos similares. Por ejemplo, "TenniVis: Visualization for Tennis Match Analysis"(Polk et al., 2014) se centra en la visualización de datos de partidos para ayudar en el análisis posterior al partido. Sin embargo, a diferencia de TenniVis, este estudio aprovecha tecnologías de vanguardia para la extracción y análisis de datos en tiempo real, lo que permite un seguimiento en vivo de partidos y estrategias de entrenamiento, además de revisiones post-partido. Otro estudio relevante es el de Stein et al. (Stein et al., 2017), que emplea técnicas clásicas de visión por computadora para detectar jugadores y sus trayectorias en el fútbol. Sin embargo, como se discute en la sección 3.2.1, las técnicas tradicionales de visión por computadora pueden ser vulnerables a problemas como la oclusión, el solapamiento y las variaciones de escala. En contraste, este trabajo utiliza inteligencia artificial, específicamente redes neuronales, para superar estos desafíos. En (Rafiq et al., 2020), se clasifican escenas con la intención de crear un resumen del partido utilizando CNNs. Aunque este enfoque es interesante, no proporciona un análisis detallado del partido en sí, incluyendo estadísticas y resultados. Por otro lado, la aplicación ShuttleSpace (Ye et al., 2020) incorpora la realidad virtual (VR) para el análisis de trayectorias, pero no aborda aspectos cruciales como las posiciones de los jugadores, el tipo de golpes a la pelota, los mapas de calor y la generación de estadísticas del partido.
3.4. Discusión 67 En resumen, esta investigación llena un vacío crítico en la literatura al proporcionar una solución integral y tecnológicamente avanzada para el scouting en tenis. La integración de tecnologías de vanguardia como CNNs, modelos de estimación de poses y algoritmos de seguimiento sofisticados, junto con la capacidad de manejar los desafíos únicos del tenis, distingue este trabajo de los estudios existentes. Al establecer un precedente para futuros estudios en el scouting deportivo y ofrecer una combinación de conocimientos teóricos y prácticos, este proyecto demuestra el potencial de integrar tecnología y análisis en el deporte, avanzando hacia una comprensión más precisa, basada en datos y con mayor profundidad del rendimiento atlético. Las implicaciones de esta investigación se extienden más allá del ámbito inmediato del scouting en el tenis. Las metodologías y tecnologías empleadas pueden adaptarse y aplicarse a otros deportes, promoviendo un enfoque interdisciplinario en el análisis deportivo. Este estudio allana el camino para futuras investigaciones en el scouting deportivo, alentando la exploración de la IA y el aprendizaje automático en otros contextos deportivos, y ofreciendo un modelo para avances similares en esos campos. En conclusión, este trabajo representa un avance significativo en el campo del scouting deportivo, particularmente en el tenis. Al integrar tecnologías avanzadas, abordar los desafíos únicos del deporte y llenar un vacío crítico en la literatura, esta investigación establece un nuevo estándar para el análisis deportivo basado en datos. Los resultados y conocimientos generados tienen el potencial de transformar la forma en que se analiza y comprende el rendimiento atlético, no solo en el tenis, sino también en otros deportes. A medida que el panorama del análisis deportivo continúa evolucionando, este estudio sirve como un faro para futuras investigaciones, destacando el inmenso potencial de la integración de la tecnología y el análisis en el mundo del deporte.
74 Capítulo 4. Ingeniería neuromórfica y aprendizaje profundo: una sinergia para la automatización avanzada de recogida de datos en tenis 4.2.3. Elaboración de los dataset 4.2.3.1. Selección de equipos de grabación En el desarrollo de este enfoque híbrido, el primer paso fue seleccionar las cámaras específicas (retina artificial y webcam) con las que se trabajaría. La retina artificial elegida fue la CelePixel CeleX-V (Chen y Guo, 2019), debido a sus superiores características técnicas en comparación con otras disponibles en el laboratorio del grupo de investigación donde se realizó este estudio y se elaboró esta tesis doctoral. La CeleX-V destaca por su resolución de 1280x800 píxeles y un pitch (distancia entre píxeles) de 9.8 µm. Este sensor integra múltiples funciones de visión en un solo chip, como la detección de movimiento en toda la matriz y la extracción del flujo óptico. Además, es capaz de generar imágenes de alta calidad en fotogramas completos, lo que la hace compatible con algoritmos tradicionales basados en imágenes. La CeleX-V también soporta interfaces MIPI y paralelas, con un consumo de energía típico de 400 mW. Por otro lado, la webcam seleccionada fue la Logitech C930E, que ofrece vídeo Full HD 1080p (1920x1080) a 30 fotogramas por segundo (FPS), un campo de visión de 90 grados, enfoque automático, compresión H.264, micrófonos estéreo con cancelación de ruido y compatibilidad USB 2.0/3.0. Una vez elegidas las cámaras, el siguiente paso fue determinar qué se deseaba grabar. Se decidió capturar una variedad de movimientos específicos del tenis, incluyendo saques (con diferentes velocidades), golpes de revés, golpes de derecha, mates, peloteos y partidos cortos. Esta diversidad en las grabaciones tiene como objetivo crear un dataset completo y diverso. El setup de grabación consistió en las dos cámaras mencionadas, montadas sobre dos trípodes profesionales a una altura aproximada de 1,5 metros sobre el suelo. Ambas cámaras fueron colocadas conjuntamente en diferentes posiciones de la pista y con distintos ángulos, lo que enriquece el dataset resultante. El dataset final está compuesto por 104 vídeos, divididos equitativamente entre la retina artificial y la webcam. 4.2.3.2. Proceso de grabación y formato de los datos Los vídeos con la retina artificial fueron grabados utilizando el software propio del fabricante (CelePixel Technology Co. Ltd Github Repository, s.f.), que permite varios modos de funcionamiento: Event Off Pixel Timestamp Mode, Event In-Pixel Timestamp Mode, Event Intensity Mode, Full-Picture Mode y Optical-Flow Mode. Se eligió el modo Event Intensity Mode para las grabaciones, ya que guarda la intensidad lumínica recibida por el píxel, además de la dirección del píxel (fila y columna), la polaridad del evento y el timestamp (marca de tiempo), que indica el instante en que dicho evento fue lanzado. La salida del software de grabación de CelePixel es un fichero en formato binario (.BIN). Estos ficheros .BIN fueron transformados, utilizando el mismo software, en ficheros .CSV para facilitar su manejo. La tabla 4.1 muestra el formato del CSV para el
4.2. Dataset 75 modo Event Intensity Mode y una explicación de cada uno de sus campos, y la figura 4.1 muestra un ejemplo de este CSV generado a partir de uno de los vídeos del dataset. La columna A corresponde a la dirección de la fila (rango: 0 ∼799), la columna B a la dirección de la columna (rango: 0 ∼1179), la columna C a la intensidad (rango: 0 ∼4095), la columna D a la polaridad (rango: +1, -1, 0) y la columna E al incremented OffPixel timestamp (o timestamp incrementado del pixel en español) (unidad de tiempo: µs). Notación mín máx Comentarios Fila 0 799 Dirección de la fila Columna 0 1279 Dirección de la columna Intensidad 0 4095 Brillo Off-Pixel Timestamp 0 232 −1 marca de tiempo de emisión del evento (unidad µs) TABLA 4.1: Descripción de los campos del CSV para el modo Event Intensity Mode FIGURA 4.1: Muestra del CSV generado a partir de una grabación hecha en modo Event Intensity Mode 4.2.3.3. Generación de fotogramas a partir de eventos Comprendiendo el significado de cada columna, se desarrolló un software en Matlab para convertir los archivos .CSV en imágenes .PNG. Este software tiene dos modos de funcionamiento. El primero permite crear las imágenes realizando agrupaciones de eventos, es decir, establecer que se genere una nueva imagen por cada cierto número de eventos (por ejemplo, cada 10.000 eventos). Este método implica simplemente contar los eventos generados (las filas del .CSV) y, una vez alcanzado el número deseado
76 Capítulo 4. Ingeniería neuromórfica y aprendizaje profundo: una sinergia para la automatización avanzada de recogida de datos en tenis de eventos, pintarlos en el lienzo. En la figura 4.2 se muestra un mismo instante de un vídeo del dataset de la retina artificial, compuesto por diferentes número de eventos. El segundo modo agrupa los eventos en ventanas de tiempo, es decir, establece que se cree una nueva imagen por cada cierto intervalo de tiempo (por ejemplo, cada 10.000 µs). En este caso, se verifica el timestamp de los eventos: se toma como referencia el timestamp del primer evento y se continúa con los siguientes hasta que la diferencia entre el primero y el enésimo evento alcanza el intervalo de tiempo definido. Entonces, todos los eventos dentro de dicho grupo se pintan en el lienzo. De esta manera, a partir de un archivo .CSV, se generan múltiples imágenes .PNG para su posterior procesamiento. Estas imágenes pueden ser unidas posteriormente para formar un vídeo. Tras realizar diversas pruebas con diferentes configuraciones, se optó por utilizar el primer método de agrupación de eventos, fijando un total de 5.000 eventos por cada frame generado. Esta decisión se fundamentó en dos aspectos clave: en primer lugar, la selección del primer método de agrupación, basado en el número de eventos, garantiza que cada frame contenga una cantidad constante de eventos, lo cual proporciona una mayor consistencia en la densidad de información presente en cada imagen y facilita su posterior procesamiento y análisis por parte de la CNN; en segundo lugar, la elección específica de 5.000 eventos por frame se basó en la calidad visual de las imágenes resultantes, ya que a través de una evaluación cualitativa se determinó que este número de eventos permitía obtener imágenes con un nivel de claridad y detalle suficiente para que la CNN pudiera extraer características significativas y lograr un rendimiento óptimo en las tareas de detección y clasificación. Mediante esta configuración, se buscó establecer un equilibrio entre la cantidad de información proporcionada a la CNN y la capacidad de la misma para procesar eficazmente los datos, demostrando ser la combinación más adecuada para obtener resultados satisfactorios en este trabajo. Este método de agrupación de eventos para generar imágenes representativas ha sido empleado con éxito en otros contextos de investigación neuromórfica, como en el trabajo de Rios-Navarro et al. (2023), donde se utilizó la misma técnica para la creación de sonogramas en un dataset orientado a la fusión sensorial audio-visual para lectura de labios. Por otra parte, los vídeos con la webcam fueron grabados con el software propio del fabricante, llamado Logitech Capture (Logitech, s.f.). Estos vídeos son generados en formato .mp4, con una resolución de 1920x1080 píxeles a una tasa de 30 FPS. 4.2.3.4. Procesamiento y sincronización Para completar la conformación del dataset, es necesario realizar un postprocesamiento a los vídeos. En primer lugar, se escalan los vídeos de la retina artificial a la misma resolución de los vídeos de la webcam utilizando el software FFmpeg (Newmarch y Newmarch, 2017). Este paso es crucial para garantizar la consistencia y compatibilidad de los datos. Es importante señalar que, debido a que ambos vídeos fueron grabados con programas diferentes, al iniciar las grabaciones, primero se tuvo que poner a grabar una
4.2. Dataset 77 (A) Imagen compuesta por 20.000 eventos (B) Imagen compuesta por 10.000 eventos (C) Imagen compuesta por 5.000 eventos (D) Imagen compuesta por 2.500 eventos FIGURA 4.2: Composición del mismo instante de un vídeo de la retina artificial, generado con diferente número de eventos.
78 Capítulo 4. Ingeniería neuromórfica y aprendizaje profundo: una sinergia para la automatización avanzada de recogida de datos en tenis cámara y, inmediatamente a continuación, la otra. El mismo procedimiento se aplicó a la hora de detener la grabación. Como consecuencia, los vídeos resultantes no están sincronizados entre sí. Por lo tanto, el siguiente paso del postprocesamiento consiste en sincronizar ambos vídeos para que comiencen y terminen en el mismo instante. Para conseguir esa sincronización entre ambos vídeos, el procedimiento seguido fue buscar un momento del vídeo, llamado momento de sincronización oframe de sincronización, en el cual se puede identificar sin margen de error el mismo evento exacto en ambos vídeos. Lógicamente, dependiendo del vídeo, ese momento varía. Por ejemplo, en las figuras 4.3 y 4.4 se seleccionó el instante en el que uno de los jugadores falla un golpe contra la red, un evento visualmente distintivo y fácilmente identificable en ambas perspectivas. Esta sincronización es esencial para asegurar la coherencia temporal de los datos y facilitar su análisis posterior. FIGURA 4.3: Frame seleccionado como momento de sincronización en este vídeo. La sincronización se realiza en el instante en que la pelota impacta contra la red. Se muestra el frame con los eventos coloreados para mayor claridad Además, dado que ambas cámaras estaban colocadas en trípodes diferentes, es necesario verificar si el ángulo de los vídeos con respecto a la horizontal es el mismo. Típicamente, debido a que el ajuste in-situ se realizó de forma manual, es esperable encontrar un pequeño ángulo de error. Por lo tanto, este error debe ser corregido por software para garantizar la consistencia espacial de los datos. Para corregir el ángulo
4.2. Dataset 79 FIGURA 4.4: Frame seleccionado como momento de sincronización en este vídeo. La sincronización se establece en el instante en que la pelota golpea la red, destacada con un círculo rojo para facilitar su identificación. de error entre los vídeos, se empleó un proceso de alineación basado en transformaciones afines (Gonzalez y Woods, 2018). Este método permite realizar rotaciones, escalado y traslación de las imágenes para ajustar el ángulo de cada vídeo con respecto a un eje horizontal de referencia. Primero, se identificaron puntos de referencia comunes en ambos vídeos, concretamente marcas de intersección de los segmentos de la pista. Luego, utilizando estos puntos, se calculó la transformación necesaria para alinear ambos vídeos. La corrección se implementó mediante la función warpAffine de OpenCV (Bradski, 2000), que aplica la transformación afín calculada a cada fotograma, garantizando así que ambos vídeos tengan un ángulo de vista consistente y comparable. Una vez realizados estos pasos de postprocesamiento, se obtiene un conjunto de vídeos iguales, grabados desde dos cámaras diferentes, pero con la misma resolución, tasa de fotogramas y ángulo respecto a la horizontal. 4.2.3.5. Etiquetado de las imágenes El siguiente paso crucial en la creación del dataset es el etiquetado de los datos. El etiquetado es un proceso fundamental en el contexto del aprendizaje automático y el entrenamiento de redes neuronales convolucionales, ya que proporciona la información de referencia (ground truth) necesaria para entrenar y evaluar los algoritmos de inteligencia artificial. En este caso, el etiquetado implica identificar y delimitar manualmente la región de interés donde se encuentra la pelota de tenis en cada fotograma de
80 Capítulo 4. Ingeniería neuromórfica y aprendizaje profundo: una sinergia para la automatización avanzada de recogida de datos en tenis los vídeos. Este proceso es fundamental para la creación de un conjunto de datos de entrenamiento que permita a la red neuronal aprender a reconocer y clasificar objetos, acciones o patrones en nuevas imágenes o secuencias de vídeo. En general, en un vídeo de tenis, los elementos de interés serían la pelota, los jugadores y las regiones de la pista. Cada uno de estos elementos se etiquetaría con una clase específica, como “pelota”, “jugador” o “línea de pista”. El etiquetado no solo proporciona a la CNN la información necesaria para aprender a distinguir entre diferentes objetos, sino que también es crucial para la correcta segmentación y análisis del vídeo. La calidad del etiquetado tiene un impacto directo en la capacidad del modelo para generalizar y aplicar lo aprendido a datos nuevos y no vistos previamente. Por lo tanto, el proceso de etiquetado debe ser meticuloso y, posteriormente, validado para asegurar la precisión y consistencia de los datos de entrenamiento. Para realizar el etiquetado, se puede utilizar una herramienta de anotación de vídeo, como LabelImg (Tzutalin, 2015), que permite dibujar rectángulos delimitadores (bounding boxes) alrededor de los objetos de interés en cada fotograma. Estos rectángulos delimitadores indican la ubicación y el tamaño de los objetos dentro del fotograma y se almacenan en un archivo de anotación, típicamente en formato XML o JSON. Además de la información espacial, cada rectángulo delimitador se asocia con la etiqueta correspondiente (por ejemplo, "pelota de tenis") para identificar la clase del objeto. Debido a que el número total de fotogramas en el dataset es cercano a 100.000, realizar un etiquetado manual resultaría inviable en términos de tiempo y esfuerzo. Por este motivo, se optó por utilizar una técnica avanzada de aprendizaje automático llamada Zero-Shot Object Detection (ZSOD) para automatizar el proceso de etiquetado. Zero-Shot Object Detection es un enfoque innovador en el campo de la visión por computadora que permite a un modelo detectar y reconocer objetos en imágenes o vídeos sin haber sido entrenado explícitamente con ejemplos de esos objetos (Rahman, Khan y Porikli, 2018). En otras palabras, el modelo es capaz de identificar y localizar objetos de clases que no ha visto antes durante su fase de entrenamiento. Esto contrasta con el aprendizaje tradicional de detección de objetos, donde un modelo se entrena con un conjunto de datos etiquetados que contienen imágenes de objetos de clases específicas, lo que limita su capacidad para detectar objetos de clases no vistas durante el entrenamiento (Zou et al., 2019). La clave del éxito de ZSOD radica en su capacidad para generalizar a nuevas clases de objetos utilizando conocimientos previos, como características visuales generales, descripciones semánticas o relaciones entre clases conocidas y desconocidas (Bansal et al., 2018). El modelo aprovecha una especie de “intuición” basada en conocimientos previos para hacer conjeturas sobre los objetos nuevos. Por ejemplo, puede apoyarse en descripciones textuales que le indiquen cómo es un objeto (“animal con orejas largas y pelaje suave” podría describir a un conejo) y usar esa información para identificarlo en una imagen. Además, el modelo utiliza lo que ya ha aprendido sobre otros objetos para hacer inferencias sobre los nuevos, aprovechando las similitudes que
4.2. Dataset 81 conoce entre diferentes clases para adivinar cómo podría ser algo nuevo (Xian et al., 2018). Para lograr esto, ZSOD se basa en técnicas avanzadas como embeddings semánticos, transferencia de conocimiento (transfer learning) y modelos de redes neuronales profundas (Fu et al., 2018). Estas técnicas permiten al modelo combinar información visual y textual para hacer predicciones sobre objetos que nunca antes había visto. En este trabajo, se utilizó una red neuronal específica de Zero-Shot Object Detection llamada Grounding Dino (Liu et al., 2023) para etiquetar automáticamente todas las imágenes del dataset. Grounding Dino es un enfoque, perteneciente al estado del arte en el campo de la visión por computadora, que combina técnicas de detección de objetos con capacidades de razonamiento semántico. Este modelo se basa en arquitecturas de redes neuronales profundas, particularmente en el uso de Transformers (Vaswani et al., 2017), que han demostrado ser extremadamente eficaces en tareas de comprensión y generación de lenguaje natural. Grounding Dino se distingue por su capacidad para integrar información contextual y semántica, lo que le permite no solo identificar y localizar objetos en una imagen, sino también “anclar” o “groundear” estos objetos en descripciones textuales o conceptos de lenguaje natural. Las etiquetas generadas por Grounding Dino se guardaron en ficheros XML siguiendo el formato PASCAL VOC (Everingham et al., 2010), un estándar ampliamente utilizado en la comunidad de visión por computadora para anotar y compartir datasets. Para el etiquetado de los fotogramas de los vídeos de la retina artificial se utilizó el prompt rainbow tennis ball, y para los fotogramas de los vídeos de la webcam se utilizó white tennis ball. En las figuras 4.5 y 4.6, se puede apreciar la anotación realizada por Grounding Dino. El uso de Grounding Dino para el etiquetado automático de los fotogramas permitió ahorrar una cantidad significativa de tiempo y esfuerzo en comparación con el etiquetado manual. Además, la capacidad de Grounding Dino para comprender y utilizar descripciones textuales para identificar objetos en las imágenes resultó especialmente útil en este contexto, ya que permitió distinguir entre pelotas de tenis de diferente tipo y color en los vídeos de la retina artificial y la webcam. 4.2.3.6. Verificación y correcciones Es importante destacar que, a pesar de la eficacia de Grounding Dino, el proceso de etiquetado automático no está exento de errores. Por este motivo, fue necesario realizar una verificación manual de todas las imágenes etiquetadas y hacer las correcciones necesarias para garantizar la precisión y calidad del dataset final. El dataset resultante, junto con el software utilizado para su procesamiento, está disponible públicamente en el repositorio GitHub de esta tesis doctoral 1. 1https://github.com/salcanmor/PhD/
82 Capítulo 4. Ingeniería neuromórfica y aprendizaje profundo: una sinergia para la automatización avanzada de recogida de datos en tenis FIGURA 4.5: Fotograma de un vídeo grabado por la retina artificial, generado con 5.000 eventos y procesado por Grounding Dino para su autoetiquetado 4.2.4. Protección de datos La protección de los datos de los participantes es una prioridad en este proyecto de investigación, el cual se realiza bajo la supervisión y aprobación del Comité de Ética de la Investigación de la Universidad de Sevilla (CEIUS) (Rodríguez-González y Rodríguez-Calvo, 2019). Los datos recopilados son completamente anónimos, protegiendo la privacidad de los individuos y cumpliendo con los principios éticos y las regulaciones de protección de datos (Hintze, 2018). La información se almacena en las infraestructuras cloud de la Universidad de Sevilla (OneDrive) hasta la defensa de la tesis, tras lo cual será eliminada de manera segura (Fernández-Cerero, Jakobik y FernándezMontes, 2019). El acceso está restringido al equipo de investigación. Sin embargo, las grabaciones de la retina artificial procesadas y anonimizadas serán compartidas con instituciones sin ánimo de lucro con fines de investigación, una práctica común que permite la verificación, replicación y el logro de nuevos avances (Elliott, Li y Brenninkmeijer, 2020). Todos los procedimientos cumplen con las normativas de protección de datos vigentes, como la LOPDGDD (Suárez Rubio, 2019) y el Reglamento (UE) 2016/679 (Buttarelli, 2016).
4.3. Materiales y métodos 83 FIGURA 4.6: Fotograma de un vídeo tomado por la webcam y procesado por Grounding Dino para su auto-etiquetado 4.3. Materiales y métodos El objetivo principal de este capítulo es desarrollar un sistema híbrido que combine una cámara tradicional de fotogramas con una retina artificial (también conocida como cámara de Visión Dinámica o DVS, por sus siglas en inglés) para lograr una detección continua y precisa de la pelota de tenis durante un partido. Esta propuesta surge como una evolución del sistema presentado en el capítulo anterior, el cual evidenció limitaciones significativas al fallar la detección de la pelota en numerosos fotogramas. Y además, se trata de un enfoque que fue validado en trabajos previos como en ‘Dynamic Vision Sensor integration on FPGA-based CNN accelerators for high-speed visual classification’ (Linares-Barranco et al., 2021) donde se demuestra que la integración de sensores DVS con aceleradores de redes neuronales implementados en hardware posibilita el análisis de escenas de alta dinámica a velocidades muy elevadas, superando las limitaciones de las cámaras convencionales. A lo largo de este capítulo, se propone un nuevo sistema que seguirá utilizando una red neuronal convolucional para la detección de la pelota en el vídeo grabado por la cámara de fotogramas. De manera complementaria, la salida de la retina artificial será procesada, convertida en un vídeo de fotogramas (no de eventos), y posteriormente analizada por otra CNN independiente. La integración de estos dos flujos de procesamiento permitirá que, en los casos donde la CNN aplicada a los fotogramas de la webcam no logre detectar la pelota, el sistema pueda apoyarse en la detección realizada sobre el vídeo generado por la retina artificial. Esto es posible, debido a que en los vídeos de
90 Capítulo 4. Ingeniería neuromórfica y aprendizaje profundo: una sinergia para la automatización avanzada de recogida de datos en tenis Métrica modelo de la retina artificial modelo de la webcam train/box_loss Inicio: ≈1,8 Final: ≈1,0 Inicio: ≈3,75 Final: ≈2,5 val/box_loss Inicio: ≈2,0 Final: ≈1,2 Inicio: ≈4,0 Final: ≈2,5 train/cls_loss Inicio: ≈5,0 Final: ≈1,0 Inicio: ≈40,0 Final: ≈10,0 val/cls_loss Inicio: ≈5,5 Final: ≈1,2 Inicio: ≈4,0 Final: ≈3,0 train/dfl_loss Inicio: ≈1,10 Final: ≈0,90 Inicio: ≈0,94 Final: ≈0,84 val/dfl_loss Inicio: ≈1,15 Final: ≈0,90 Inicio: ≈0,94 Final: ≈0,84 metrics/precision(B) Alto y estable ≈0,9 −1,0 Crecimiento gradual ≈0,2 →0,6 metrics/recall(B) Rápido incremento ≈0,4 →0,9 Incremento gradual ≈0,1 →0,4 metrics/mAP50(B) Rápido incremento ≈0,8 −0,9 Incremento leve ≈0,1 →0,4 metrics/mAP50-95(B) Fluctuante pero estable ≈0,5 −0,6 Incremento leve ≈0,025 →0,1 TABLA 4.2: Comparación de las métricas de entrenamiento y validación entre el modelo de la retina artificial y el modelo de la webcam. FIGURA 4.9: Captura del software que procesa el vídeo de la retina artificial con Yolov8 y traslada su bounding box al video de la webcam.
4.5. Segunda aproximación 91 Sin embargo, los resultados obtenidos revelaron que no hubo una mejora en la precisión de la detección de la pelota en el vídeo de la webcam: en menos de un 15% se detectó correctamente la pelota. Este rendimiento indeseado se atribuye a varios factores críticos. En primer lugar, la resolución nativa de ambas cámaras es diferente, lo que introduce inconsistencias al trasladar las bounding boxes entre los vídeos. Además, los ángulos de orientación de las cámaras hacia la pista también varían, lo que agrava el problema. Además está la diferencia en el ángulo sobre la horizontal que tienen ambas cámaras, lo que hace que la proyección de las bounding boxes desde el vídeo de la retina artificial al de la webcam sea imprecisa e inexacta. Sin embargo, a pesar de que a todas estas cuestiones se les ha intentado dar solución durante la etapa de posprocesado, hay una cuestión que cuya solución no es trivial: el ángulo de orientación de la cámara hacia la pista. Estos factores combinados, pero principalmente este último, impiden que las bounding boxes generadas en el vídeo de la retina artificial se trasladen con precisión al vídeo de la webcam, limitando la efectividad de esta técnica. 4.5. Segunda aproximación Ante los resultados subóptimos obtenidos en la primera aproximación, se decidió explorar un nuevo enfoque que pudiera mejorar la precisión del sistema. Tras un análisis detallado de los resultados iniciales, se observó que en los fotogramas del vídeo capturado por la webcam, donde la pelota no era correctamente detectada dentro de la bounding box, la pelota generalmente quedaba fuera de esta por una distancia relativamente pequeña. Esto sugiere que si la bounding box generada por la retina artificial hubiera sido de mayor tamaño, la pelota habría perfectamente caído dentro de la bounding box del vídeo de la webcam. Basado en esta observación, la primera acción adoptada en este nuevo enfoque fue modificar la bounding box generada por la retina artificial, transformándola en una caja cuadrada con un tamaño tres veces mayor que el original. Esta expansión permite asegurar que la pelota, en los fotogramas del vídeo de la webcam, quede siempre dentro de esta bounding box ampliada. La figura 4.10 muestra un fotograma del vídeo de la webcam en el que la bounding box ha sido transformada en una caja cuadrada de tres veces el tamaño de la bounding box original generada a partir del vídeo de la retina artificial. Como se puede observar, al ampliar la bounding box, la pelota queda efectivamente contenida dentro de la misma. El factor de escala de la bounding box es un hiperparámetro del sistema que se ha ajustado empíricamente. Tras realizar pruebas con diferentes valores, se ha determinado que triplicar el tamaño de la bounding box y hacerla cuadrada permite que la pelota caiga dentro de la bounding box en el 100% de los vídeos del dataset recolectado. Este hiperparámetro, al igual que otros como el número de capas o la tasa de aprendizaje (learning rate), forma parte del proceso de optimización del modelo, y su ajuste es una práctica común en el desarrollo de sistemas de aprendizaje profundo. Se trata pues, de un parámetro que se ha afinado para mejorar el rendimiento del sistema dentro del contexto específico de este proyecto.
92 Capítulo 4. Ingeniería neuromórfica y aprendizaje profundo: una sinergia para la automatización avanzada de recogida de datos en tenis FIGURA 4.10: Fotograma en el que se ha trasladado la bounding box del vídeo de la retina artificial al vídeo de la webcam y se ha sido ampliada al triple de su tamaño original y hecho cuadrada Una vez verificado empíricamente que triplicar el tamaño de la bounding box y hacerla cuadrada es suficiente para garantizar que la pelota quede dentro de la misma, se procedió a realizar un nuevo test del sistema. En esta ocasión, se alimentó a la CNN de la webcam no con el fotograma completo, sino con el recorte correspondiente a la bounding box ampliada. En la figura 4.11 se presenta el recorte de la bounding box correspondiente al fotograma completo mostrado previamente en la figura 4.10. Como es lógico, es considerablemente más sencillo detectar la pelota en una porción reducida de la imagen, donde se sabe con certeza que se encuentra, que en el fotograma completo. No obstante, a pesar de la reducción del área de búsqueda, el desempeño de la CNN de la webcam al trabajar con los recortes de los fotogramas no fue satisfactorio. El recall se situó en 0.00658, lo cual es un desempeño paupérrimo. En la figura 4.12 se puede apreciar un conjunto de 16 imágenes del dataset de validación procesadas por dicha CNN para su inferencia, y en la figura 4.13 se puede apreciar el resultado: en sólo una de ellas se detectó la pelota. Ante esta situación, se optó por crear un nuevo dataset basado en estos recortes y entrenar una tercera red neuronal específica para esta tarea. En este nuevo entrenamiento, se entrenó una Yolov8, que es el mismo modelo de red neuronal convolucional usado anteriormente. La pérdida de la caja delimitadora (train/box_loss) disminuyó de 2.987 en la época 1 a 1.0108 en la época 150, mientras que la pérdida de
4.5. Segunda aproximación 93 FIGURA 4.11: Recorte de la bounding box del fotograma mostrado en la figura 4.10
94 Capítulo 4. Ingeniería neuromórfica y aprendizaje profundo: una sinergia para la automatización avanzada de recogida de datos en tenis FIGURA 4.12: Imágenes aleatorias del dataset de validación. clasificación (train/cls_loss) se redujo de 15.903 a 0.54557. Además, la precisión (metrics/precision(B)) aumentó de 0.39965 a 0.90465, y la exhaustividad (metrics/recall(B)) mejoró de 0.33696 a 0.8913. La precisión media promedio al 50% de superposición (metrics/mAP50(B)) también mostró un aumento significativo, pasando de 0.23258 a 0.94113. Estos datos numéricos respaldan la afirmación de que la CNN está aprendiendo de manera efectiva a localizar y clasificar la pelota de tenis con mayor precisión a medida que avanza el entrenamiento. En la figura 4.15 se puede apreciar un conjunto de 16 imágenes del dataset de validación procesadas por dicha CNN para su inferencia, y en la figura 4.16 se puede apreciar el resultado. En esta ocasión, a diferencia de del
4.5. Segunda aproximación 95 FIGURA 4.13: Imágenes aleatorias del dataset de validación después de pasar por la CNN. test realizado anteriormente (ver figuras 4.12 y 4.13): en todas ellas se detectó la pelota. Por otra parte, al igual que ya se hizo en el subapartado 4.4, en la figura 4.14 se muestra un conjunto de 10 gráficos correspondientes a las etapas de entrenamiento y validación de la red neuronal convolucional entrenada con el dataset de los recortes. Estos gráficos, que incluyen 6 gráficos de pérdida y 4 métricas de precisión, evidencian todo lo expuesto anteriormente y permiten evaluar de manera detallada el comportamiento del modelo durante el proceso de entrenamiento y validación. Como resultado, el sistema final quedó compuesto por tres redes neuronales
96 Capítulo 4. Ingeniería neuromórfica y aprendizaje profundo: una sinergia para la automatización avanzada de recogida de datos en tenis FIGURA 4.14: Métricas de las etapas entrenamiento y validación de la CNN (recortes). convolucionales Yolov8 trabajando en paralelo: una dedicada al procesamiento de los vídeos de la cámara DVS, otra para los vídeos de la webcam, y una tercera para los recortes de las bounding boxes. El funcionamiento del sistema final es el siguiente: en primer lugar, se procesan los fotogramas del vídeo de la webcam. En el caso de que no se detecte la pelota en un fotograma, se verifica si hubo una detección en el vídeo de la cámara DVS correspondiente. Si se confirma una detección en el vídeo de la cámara DVS, se toman las coordenadas de dicha detección, se transforma la bounding box en una caja cuadrada, se triplica su tamaño y se proyecta sobre el fotograma correspondiente del vídeo de la webcam. A continuación, se recorta el fotograma de la webcam utilizando esta bounding box ampliada, y dicho recorte se envía a la nueva CNN entrenada específicamente para trabajar con recortes. La detección realizada por esta CNN se traslada posteriormente al fotograma original del vídeo de la webcam, mejorando así la precisión y robustez del sistema. 4.6. Resultados A lo largo del presente capítulo se dio solución a un problema evidenciado en el capítulo anterior 3: la detección de la pelota de tenis. Para llegar a un solución válida, primero se propuso una solución que resultó infructuosa (ver subsección 4.4) y posteriormente se pivotó hacia una segunda solución que resultó satisfactoria (ver subsección 4.5). En total, 2 enfoques diferentes y 3 CNNs son usadas para llegar a una
4.6. Resultados 97 FIGURA 4.15: Imágenes aleatorias del dataset de validación. solución válida: una CNN para el vídeo de la retina artificial, otra para el vídeo de la webcam y otra para los recortes. A continuación, se resumen y explican los resultados de cada enfoque. 4.6.1. Resultados del Primer Enfoque En el primer experimento, como se detalló en la subsección 4.4, se implementó un sistema que procesaba simultáneamente los vídeos capturados por la cámara de
98 Capítulo 4. Ingeniería neuromórfica y aprendizaje profundo: una sinergia para la automatización avanzada de recogida de datos en tenis FIGURA 4.16: Imágenes aleatorias del dataset de validación después de pasar dichas imágenes por la CNN entrenada con el dataset de los recortes. Visión Dinámica (DVS) y la webcam, trasladando las bounding boxes detectadas en el vídeo de la DVS al vídeo de la webcam. Los resultados mostraron que, aunque hubo una mejora en la detección de la pelota en el vídeo de la webcam, la precisión general fue inferior al 50%. Este resultado se atribuye a las diferencias en la resolución nativa y los ángulos de captura entre las dos cámaras, lo que impidió una correcta transferencia de las bounding boxes.
4.6. Resultados 99 4.6.2. Resultados del Segundo Enfoque Para abordar las limitaciones del primer enfoque, se amplió el tamaño de las bounding boxes generadas por la cámara DVS a una caja cuadrada de tres veces el tamaño original. Este cambio permitió una inclusión más efectiva de la pelota dentro de las bounding boxes en los vídeos de la webcam. Como se muestra en la figura 4.10, el uso de bounding boxes ampliadas mejoró significativamente la cobertura de la pelota en los fotogramas de la webcam, permitiendo que la pelota caiga dentro de la bounding box en el 100% de los vídeos del dataset recolectado. A continuación, se presenta la tabla 4.3, donde se resumen resultados de las fases de entrenamiento y validación de las 3 CNN. Métrica CNN Retina Artificial CNN Webcam CNN Recortes train/box_loss 1.0 2.5 1.0 train/cls_loss 0.5 0.2 0.5 train/dfl_loss (última) 0.9 0.8 1.2 val/box_loss 1.2 3.5 1.5 val/cls_loss 0.7 3.0 0.4 val/dfl_loss 0.9 0.9 1.0 metrics/precision(B) 0.9 0.4 0.9 metrics/recall(B) 0.89 0.35 0.88 metrics/mAP50(B) 0.94 0.4 0.95 metrics/mAP50-95(B) 0.6 0.125 0.5 TABLA 4.3: Comparación de métricas entre las tres CNNs: retina artificial, webcam y recortes. Las principales conclusiones al comparar el rendimiento de los 3 modelos son las siguientes: La CNN entrenada con imágenes de retina artificial es la que obtiene mejores resultados globales, con un mAP50 del 94.9% y un mAP del 63.1% en el conjunto de validación. Esto indica que es capaz de detectar muy bien los objetos en las imágenes de retina artificial con las que ha sido entrenada. Por contra, la CNN entrenada con imágenes de webcam es la que obtiene los peores resultados con gran diferencia. Su mAP50 en validación es del 41.1% y su mAP global apenas del 14.1%. Parece que las imágenes de webcam son mucho más difíciles de procesar para el modelo y no consigue aprender características útiles. La CNN alimentada con recortes se sitúa en un punto intermedio. Obtiene muy buenos resultados en mAP50 (94.1%), pero su mAP global baja al 48.7%. Es capaz de detectar bien objetos en imágenes similares a los recortes con los que ha sido entrenada, pero falla más cuando debe generalizar. En cuanto a precisión y recall, el modelo de retina artificial tiene un gran equilibrio con valores superiores al 90% en ambas métricas. El modelo de recortes también
106 Capítulo 5. Comparativa hardware cpu_percent() para obtener el porcentaje de utilización de la CPU (psutil documentation s.f.). Para obtener mediciones precisas del uso de CPU durante la ejecución del algoritmo, se utiliza un hilo (thread) separado. El uso de hilos permite que el monitoreo ocurra simultáneamente con la ejecución del algoritmo principal sin interferir en su rendimiento (threading — Thread-based parallelism s.f.). El monitoreo concurrente se implementa utilizando la biblioteca threading de Python, que permite crear y gestionar hilos de ejecución. 2. Obtención del consumo máximo de potencia Se utiliza el TDP del procesador Intel Xeon E5-2637 v4, que es de 135 W como se comentó anteriormente. 3. Cálculo del uso promedio de la CPU A partir de los datos de uso de CPU recopilados, se calcula el uso promedio (Upromedio) mediante la siguiente expresión: Upromedio =1 N N ∑ i=1 Ui(5.1) donde Uies el uso de CPU en el intervalo iyNes el número total de intervalos de medición. 4. Estimación del consumo de potencia El consumo estimado de potencia (Pestimada) se calcula multiplicando el TDP por el uso promedio de CPU expresado como fracción decimal: Pestimada =PTDP ×Upromedio 100 (5.2) donde PTDP es el TDP del procesador. 5. Cálculo de la energía consumida La energía total consumida (E) durante la ejecución del algoritmo se obtiene multiplicando el consumo estimado de potencia por el tiempo de ejecución (tejecución): E=Pestimada ×tejecución (5.3) Para expresar la energía en vatios-hora (Wh), el tiempo de ejecución debe estar en horas.
5.1. Métricas de la CPU 107 5.1.1.4. Cálculo numérico Tras ejecutar el algoritmo, se han obtenido los siguientes datos: Uso promedio de CPU:Upromedio =70,98% Tiempo de ejecución:tejecución =464,44 segundos Aplicando los cálculos: Consumo estimado de potencia: Pestimada =135 W ×70,98 100 =95,82 W (5.4) Energía consumida: E=95,82 W ×464,44 s 3600 s/h=12,46 Wh (5.5) 5.1.1.5. Análisis de limitaciones Es importante considerar las siguientes limitaciones al utilizar este método: Precisión de la estimación: La relación entre el uso de CPU y el consumo de potencia no es perfectamente lineal debido a tecnologías como la gestión dinámica de frecuencia y voltaje (Dynamic Voltage and Frequency Scaling, DVFS) (Hammarlund, Chablani y Jain, 2021). Consumo en reposo: No se considera el consumo de potencia base cuando la CPU está inactiva, lo que puede subestimar el consumo total (Jiang y Shen, 2020). Componentes adicionales: El método no incluye el consumo de otros componentes como memoria RAM, almacenamiento o GPU, que pueden contribuir significativamente al consumo total (Dayarathna, Wen y Fan, 2015). Entorno compartido: En entornos virtualizados como el utilizado en esta tesis (Google Colab), los recursos son compartidos entre múltiples usuarios, lo que puede afectar la precisión del monitoreo del uso de CPU y, por ende, la estimación del consumo de potencia (Ismail y Fardoun, 2016). A pesar de estas limitaciones, el método propuesto proporciona una aproximación razonable del consumo de potencia en ausencia de mediciones directas, y es útil para comparar la eficiencia energética de diferentes algoritmos ejecutados en la misma plataforma.
108 Capítulo 5. Comparativa hardware 5.1.2. Cálculo del Rendimiento Computacional de la CPU En este apartado, se analiza el rendimiento computacional de la CPU al ejecutar la fase de inferencia de la red neuronal convolucional (Yolov8) del algoritmo propuesto en el capítulo 3 sobre un vídeo de prueba que consta de 356 fotogramas. El objetivo es determinar cuántas operaciones por segundo, medidas en Giga Operaciones Por Segundo (GOPS), realiza la CPU durante la inferencia del vídeo completo. Este análisis es fundamental para comprender la eficiencia computacional del sistema y para identificar posibles áreas de mejora en términos de optimización y escalabilidad. 5.1.2.1. Parámetros Iniciales Complejidad de la Red Neuronal: La red requiere un total de 49,551 giga operaciones de multiplicación y acumulación (Giga MACs) para procesar un solo fotograma. Esta complejidad computacional fue calculada utilizando la librería THOP (Torchvision Higher Order Profiler) (Jiang, 2020), una herramienta especializada para medir el número de parámetros y operaciones en modelos de aprendizaje profundo. Número de Fotogramas del Vídeo de Prueba: El vídeo de prueba consta de 356 fotogramas. Tiempo Total de Inferencia del Vídeo: La CPU tarda 464,44 segundos en realizar la inferencia del vídeo completo de 356 fotogramas. 5.1.2.2. Descripción de las Operaciones MAC Las operaciones de Multiplicación y Acumulación (MAC) son fundamentales en el procesamiento de redes neuronales, especialmente en las capas convolucionales y totalmente conectadas. Una operación MAC implica dos operaciones aritméticas básicas: 1. Multiplicación: Se multiplican dos números, generalmente un peso y una entrada. 2. Acumulación (Suma): El resultado de la multiplicación se suma a un acumulador. Por lo tanto, es común considerar que cada MAC equivale a dos operaciones en punto flotante (FLOPs). Esta convención permite estimar el número total de operaciones aritméticas realizadas durante la inferencia. A lo largo de las subsecciones siguientes de este capítulo, se adoptará la convención ampliamente aceptada de que cada operación MAC (Multiplicación y Acumulación) equivale a dos operaciones de punto flotante (FLOPs) (Jeong, Lee y Ju, 2018; Hernandez y Brown, 2020). Esta premisa permite establecer una base común para evaluar el rendimiento computacional y la eficiencia energética de las diferentes plataformas de hardware, independientemente de sus características específicas o arquitectura subyacente, y así realizar una comparación equitativa y consistente entre ellas.
5.1. Métricas de la CPU 109 5.1.2.3. Cálculo del Número Total de Operaciones Utilizando la convención mencionada, el número total de operaciones (FLOPs) necesarias para la inferencia de un solo fotograma es: Operaciones por Fotograma =2×Número de MACs (5.6) Sustituyendo los valores proporcionados: Operaciones por Fotograma =2×49,551 ×109=99,102 ×109operaciones (5.7) Para calcular el número total de operaciones realizadas durante la inferencia del vídeo completo, multiplicamos las operaciones por fotograma por el número de fotogramas del vídeo: Operaciones Totales =Operaciones por Fotograma ×Número de Fotogramas (5.8) Sustituyendo los valores: Operaciones Totales =99,102 ×109×356 =35,28 ×1012 operaciones (5.9) 5.1.2.4. Cálculo de las Operaciones por Segundo (GOPS) El rendimiento computacional en términos de operaciones por segundo se determina dividiendo el número total de operaciones por el tiempo total de inferencia: GOPS =Operaciones Totales Tiempo Total de Inferencia (5.10) Aplicando los valores correspondientes: GOPS =35,28 ×1012 operaciones 464,44 segundos ≈75,95 ×109operaciones/segundo (5.11) Por lo tanto: GOPS ≈75,95 Giga Operaciones Por Segundo (5.12)
110 Capítulo 5. Comparativa hardware 5.1.2.5. Interpretación de los Resultados El cálculo anterior indica que la CPU está realizando aproximadamente 75,95 GOPS durante la inferencia del vídeo completo de 356 fotogramas con la red neuronal considerada. Este valor refleja la capacidad de la CPU para manejar cargas computacionales intensivas y es un indicador clave del rendimiento del sistema. 5.1.2.6. Consideraciones Adicionales Es importante tener en cuenta los siguientes aspectos al interpretar los resultados: Convención de cálculo de MACs: La consideración de que cada MAC equivale a dos FLOPs es una práctica común, pero dependiendo de la arquitectura y las optimizaciones del hardware, el impacto real en el rendimiento puede variar. Eficiencia del hardware: El rendimiento teórico máximo de una CPU puede ser significativamente mayor. Sin embargo, factores como el ancho de banda de la memoria, la eficiencia en caché, la arquitectura del conjunto de instrucciones y la paralelización afectan el rendimiento real. Optimización del software: Las bibliotecas y frameworks utilizados para implementar la red neuronal pueden influir en la eficiencia computacional. La utilización de instrucciones vectoriales (SIMD), paralelismo multinúcleo y otras optimizaciones pueden mejorar el rendimiento. Sobrecarga del sistema: La presencia de otros procesos en ejecución y la carga general del sistema operativo pueden afectar el tiempo de inferencia medido y, por ende, el cálculo de GOPS. 5.1.3. Cálculo y Análisis de la Eficiencia en Operaciones por Vatio en la CPU En esta subsección, se presenta el cálculo detallado de la eficiencia energética del sistema en términos de operaciones por vatio (OP/W). Esta métrica es fundamental para evaluar el rendimiento energético de sistemas computacionales, especialmente en aplicaciones intensivas como el procesamiento de redes neuronales profundas. El objetivo es determinar cuántas operaciones realiza el sistema por cada vatio de potencia consumido, proporcionando una medida cuantitativa de su eficiencia energética (Dayarathna, Wen y Fan, 2016; Mittal, 2014a). 5.1.3.1. Parámetros Iniciales Para llevar a cabo este análisis, se consideran los siguientes datos experimentales y características del sistema: Consumo energético total: Etotal =12,46 Wh
5.1. Métricas de la CPU 111 Potencia media consumida durante la inferencia: Pconsumo =95,82 W Número de operaciones por segundo: OP/s =75,95 ×109operaciones/s La potencia media consumida durante la inferencia se obtuvo a partir de las mediciones y cálculos realizados en las subsecciones anteriores 5.1.1.4 y 5.1.2.4. 5.1.3.2. Cálculo de las Operaciones por Vatio (OP/W) Calculamos las operaciones por vatio dividiendo las operaciones por segundo entre la potencia media consumida durante la inferencia: OP/W =OP/s Pconsumo =75,95 ×109operaciones/s 95,82 W ≈0,7925 ×109operaciones/s/W (5.13) Por lo tanto, el sistema realiza aproximadamente 0,7925 ×109operaciones por segundo por cada vatio de potencia consumido, es decir, alrededor de 792.5 millones de operaciones por segundo por vatio. 5.1.3.3. Factores que Afectan la Eficiencia Varios factores pueden influir en la eficiencia energética del sistema (Santriaji y Sari, 2019): Arquitectura del Procesador: La eficiencia de la CPU en términos de IPC, frecuencia de reloj y soporte SIMD influye directamente en el rendimiento (Blem, Menon y Sankaralingam, 2013). Optimización del Código: Implementaciones más eficientes del algoritmo pueden reducir el tiempo de ejecución y mejorar la eficiencia (Mittal, 2014b). Gestión de Energía: Tecnologías como DVFS ajustan voltaje y frecuencia según la carga, impactando la eficiencia energética (Bambagini et al., 2016). Carga de Trabajo: La utilización efectiva de núcleos e hilos afecta el rendimiento y consumo energético (Barroso, Clidaras y Hölzle, 2013). 5.1.4. Análisis del Tiempo de Procesamiento por Frame y Rendimiento en FPS Para obtener una comprensión más detallada del rendimiento real del algoritmo propuesto en el capítulo 3 cuando se ejecuta en la CPU Intel Xeon E5-2673 v4, es fundamental analizar el tiempo que tarda en procesar cada fotograma individual y la tasa de fotogramas por segundo (FPS) que puede mantener. Estas métricas son particularmente importantes para evaluar la viabilidad del sistema en aplicaciones en tiempo real.
112 Capítulo 5. Comparativa hardware 5.1.4.1. Cálculo del tiempo de procesamiento por frame Partiendo de los datos experimentales obtenidos durante las pruebas realizadas con el vídeo de 356 fotogramas, podemos determinar el tiempo medio que la CPU requiere para procesar un solo fotograma: Tiempo total de ejecución =464,44 segundos (5.14) Número total de fotogramas =356 (5.15) Tiempo por fotograma =Tiempo total de ejecución Número de fotogramas (5.16) Tiempo por fotograma =464,44 356 =1,3046 segundos/fotograma (5.17) Este resultado indica que la CPU Intel Xeon E5-2673 v4 necesita aproximadamente 1.3 segundos para procesar completamente un solo fotograma utilizando el algoritmo del capítulo 3. Este tiempo incluye todas las operaciones realizadas por el algoritmo: la detección de jugadores y pelota mediante YOLOv8, el seguimiento mediante ByteTrack, la estimación de poses para determinar la mano de golpeo, y la identificación de las regiones de la pista de tenis. 5.1.4.2. Cálculo de la tasa de fotogramas por segundo (FPS) La tasa de fotogramas por segundo (FPS) es el inverso del tiempo de procesamiento por fotograma, y proporciona una medida intuitiva de la fluidez con la que el sistema puede procesar un vídeo: FPS =1 Tiempo por fotograma (5.18) FPS =1 1,3046 =0,7665 FPS (5.19) Este valor de aproximadamente 0.77 FPS significa que la CPU puede procesar menos de un fotograma completo por segundo. En términos prácticos, esto implica que el sistema operando en esta CPU no puede funcionar en tiempo real para aplicaciones que requieran una respuesta inmediata, como podría ser el análisis en vivo de un partido de tenis. 5.1.5. Análisis del consumo energético por fotograma Además de las métricas de rendimiento y eficiencia presentadas anteriormente, es fundamental analizar el consumo energético específico requerido para procesar
5.1. Métricas de la CPU 113 cada fotograma individual. Esta métrica proporciona una visión complementaria y detallada de la eficiencia energética real del sistema, permitiendo evaluar el coste energético absoluto asociado al procesamiento de cada unidad de información visual. Para calcular la energía requerida por fotograma en la CPU Intel Xeon E52673 v4 durante la ejecución del algoritmo propuesto en el capítulo 3, partimos de los siguientes datos experimentales: Consumo eléctrico total =12,46 Wh (5.20) Número total de fotogramas procesados =356 fotogramas (5.21) La energía consumida por fotograma se obtiene dividiendo el consumo eléctrico total entre el número de fotogramas procesados: Energía por fotograma =Consumo eléctrico total Número total de fotogramas (5.22) Energía por fotograma =12,46 Wh 356 fotogramas =0,0350 Wh/fotograma (5.23) Para expresar este valor en unidades más apropiadas para el análisis de sistemas de procesamiento de datos, convertimos el resultado a julios: Energía por fotograma [J] =Energía por fotograma [Wh] ×3600 J/Wh (5.24) Energía por fotograma [J] =0,0350 Wh/fotograma ×3600 J/Wh =126,0 J/fotograma (5.25) Este resultado indica que la CPU Intel Xeon E5-2673 v4 requiere aproximadamente 126,0 julios de energía para procesar completamente un solo fotograma utilizando el algoritmo propuesto en el capítulo 3. Esta cantidad de energía representa el coste energético total asociado a todas las operaciones realizadas por el algoritmo: la detección de jugadores y pelota mediante YOLOv8, el seguimiento mediante ByteTrack, la estimación de poses para determinar la mano de golpeo, y la identificación de las regiones de la pista de tenis. El valor de 126,0 J/fotograma proporciona una referencia absoluta del consumo energético por unidad de procesamiento, complementando la métrica de eficiencia en operaciones por vatio (792,5 MOPs/W) presentada anteriormente. Mientras que la eficiencia (OPs/W) refleja la capacidad del sistema para realizar operaciones computacionales por unidad de energía consumida, la energía por fotograma representa el
114 Capítulo 5. Comparativa hardware coste energético absoluto del procesamiento de una unidad completa de información visual. Esta métrica resulta particularmente útil para evaluar la viabilidad del sistema en entornos con limitaciones energéticas o para estimar los costes operativos a largo plazo. Por ejemplo, para procesar un vídeo estándar de 30 minutos a 30 FPS (aproximadamente 54.000 fotogramas), el sistema requeriría teóricamente unos 6.804.000 julios (1,89 kWh) de energía, un factor que podría ser determinante en aplicaciones con restricciones energéticas o en la planificación de infraestructuras de procesamiento a gran escala. 5.2. Métricas de la GPU En esta sección se detallan las métricas de rendimiento obtenidas al ejecutar el algoritmo desarrollado en el capítulo 3 en la GPU NVIDIA Tesla T4. Se presentan y analizan los resultados de las métricas clave consideradas en esta comparativa y mencionadas al comienzo de este capítulo. 5.2.1. Estimación del Consumo de Potencia en la GPU Nvidia Tesla T4 en Google Colab En esta subsección se presenta el proceso y la metodología para estimar el consumo de potencia de la GPU Nvidia Tesla T4 al ejecutar el algoritmo propuesto en el capítulo 3 en el entorno de Google Colab. Debido a las limitaciones de la plataforma, que no proporciona acceso directo a sensores de potencia de la GPU, se recurre a las herramientas nvidia-smi y la biblioteca pynvml para obtener datos indirectos. Estos datos permiten estimar la energía consumida durante la ejecución del algoritmo. Además, se presentan los resultados experimentales obtenidos al procesar el video de prueba de 356 fotogramas. 5.2.1.1. Contexto y Herramientas Utilizadas La GPU Nvidia Tesla T4 es ampliamente utilizada en cargas de trabajo de inferencia y entrenamiento ligero en el entorno de Google Colab. Esta GPU cuenta con un TDP (Thermal Design Power) de 70 W, lo que representa su consumo máximo de potencia bajo cargas intensivas (NVIDIA, 2018). Sin embargo, el consumo real durante la ejecución puede variar dependiendo de la complejidad del modelo, la utilización efectiva de la GPU y las operaciones internas de optimización de la frecuencia y voltaje (Dynamic Voltage and Frequency Scaling, DVFS) (Mei et al., 2017). Para estimar el consumo de potencia, se utilizaron: nvidia-smi: Herramienta de línea de comando proporcionada por NVIDIA para monitorear el estado de la GPU, incluyendo su utilización, temperatura y potencia instantánea consumida (NVIDIA, 2021).
5.2. Métricas de la GPU 115 pynvml: Una biblioteca Python que permite interactuar con la NVIDIA Management Library (NVML) para obtener métricas detalladas de la GPU, incluyendo el consumo de potencia en tiempo real (NVIDIA, s.f.). 5.2.1.2. Medición y Cálculo Se realizaron las siguientes acciones: 1. Iniciar el Monitoreo de Potencia: Antes de procesar el video, se inició un hilo de ejecución que, cada 100 ms, registraba la potencia reportada por la GPU mediante pynvml. 2. Procesar el Video: El algoritmo basado en YOLOv8 ejecutó la inferencia sobre cada fotograma, detectando objetos y aplicando cuadros delimitadores y etiquetas. 3. Registro del Tiempo: Se midió el tiempo total de ejecución desde el inicio del procesamiento hasta su finalización. 4. Cálculo de la Energía Consumida: Integrando la potencia instantánea a lo largo del tiempo, se obtuvo la energía total consumida en vatios-hora (Wh). 5.2.1.3. Resultados Los resultados obtenidos al procesar el video de prueba de 356 fotogramas con el algoritmo propuesto en el capítulo 3 fueron los siguientes: Tiempo total de ejecución: 233,1054 s Consumo energético total estimado:Etotal =34,29 Wh FLOPs del modelo (por inferencia): 4,429×109operaciones, calculadas mediante la librería THOP (Jiang, 2020), que permite una medición precisa de las operaciones de punto flotante requeridas por el modelo durante la ejecución de una sola inferencia. Parámetros del modelo: 3,157 ×106parámetros Número total de inferencias: 356 fotogramas Estos resultados demuestran la capacidad de la GPU Nvidia Tesla T4 para procesar eficientemente el algoritmo propuesto, aprovechando su arquitectura paralela y optimizada para cargas de trabajo de aprendizaje profundo. Sin embargo, es importante tener en cuenta que las estimaciones de consumo de potencia y eficiencia energética pueden variar en función de las características específicas del modelo y las condiciones de ejecución. 5.2.2. Cálculo del Rendimiento Computacional de la GPU En este apartado, se analiza el rendimiento computacional de la GPU NVIDIA Tesla T4 al ejecutar la fase de inferencia de la red neuronal convolucional (Yolov8)
122 Capítulo 5. Comparativa hardware 5. Cálculo de la energía total consumida por la TPU durante la inferencia integrando la potencia promedio sobre el tiempo de inferencia: ETPU =Ppromedio ×tinferencia =240 W ×771,44 s =185145,6 J ≈51,43 Wh (5.44) De esta forma, se estima que la Google TPU v2-8 consumió aproximadamente 51.43 Wh durante la inferencia de la CNN del algoritmo propuesto, asumiendo una utilización promedio del 80%. Es importante destacar que, aunque esta estimación se basa en supuestos razonables y tiene en cuenta las características de las TPUs y de YOLOv8, sigue siendo una aproximación debido a la falta de mediciones directas de la utilización y el consumo de potencia. Para obtener cifras más precisas, sería ideal tener acceso a herramientas de monitorización de bajo nivel en el entorno de Google Colab, lo cual no es posible actualmente. A pesar de estas limitaciones, la estimación del 80% de utilización promedio proporciona una buena referencia para evaluar el consumo de potencia y la eficiencia energética de la TPU v2-8 durante la inferencia de YOLOv8. Esta información es valiosa para comparar el rendimiento energético de diferentes plataformas de hardware y optimizar los algoritmos de aprendizaje profundo desde una perspectiva de eficiencia energética. 5.3.2. Cálculo del Rendimiento Computacional de la TPU En este apartado, se analiza el rendimiento computacional de la Google TPU v2-8 al ejecutar la fase de inferencia de la red neuronal convolucional (Yolov8) del algoritmo propuesto en el capítulo 3 sobre un vídeo de prueba que consta de 356 fotogramas. El objetivo es determinar cuántas operaciones por segundo, medidas en Giga Operaciones Por Segundo (GOPS), realiza la TPU durante la inferencia del vídeo completo. Este análisis es fundamental para comprender la eficiencia computacional del sistema y para identificar posibles áreas de mejora en términos de optimización y escalabilidad. 5.3.2.1. Cálculo del Número Total de Operaciones Utilizando la convención mencionada, el número total de operaciones necesarias para la inferencia de un solo fotograma es: Operaciones por Fotograma =4,429 ×109FLOPs ×2=8,858 ×109operaciones (5.45)
5.3. Métricas de la TPU 123 Para calcular el número total de operaciones realizadas durante la inferencia del vídeo completo, multiplicamos las operaciones por fotograma por el número de fotogramas del vídeo: Operaciones Totales =Operaciones por Fotograma ×Número de Fotogramas (5.46) Sustituyendo los valores: Operaciones Totales =8,858 ×109×356 =3,154 ×1012 operaciones (5.47) 5.3.2.2. Cálculo de las Operaciones por Segundo (GOPS) El rendimiento computacional en términos de operaciones por segundo se determina dividiendo el número total de operaciones por el tiempo total de inferencia: GOPS =Operaciones Totales Tiempo Total de Inferencia (5.48) Aplicando los valores correspondientes: GOPS =3,154 ×1012 operaciones 771,44 segundos ≈4,090 ×109operaciones/s (5.49) Por lo tanto: GOPS ≈4,090 Giga Operaciones por Segundo (5.50) El cálculo anterior indica que la Google TPU v2-8 está realizando aproximadamente 4,090 GOPS durante la inferencia del vídeo completo de 356 fotogramas con la red neuronal considerada. Este valor refleja la capacidad de la TPU para manejar cargas computacionales intensivas y es un indicador clave del rendimiento del sistema. 5.3.3. Cálculo de las Operaciones por Vatio (OP/W) En esta subsección se presenta el cálculo de Operaciones por Vatio (OP/W) en la Google TPU. Para este análisis, se cuenta con el siguiente dato adicional: Energía total estimada consumida:Etotal =51,43 Wh.
124 Capítulo 5. Comparativa hardware La energía total de 51.43 Wh es un valor asumido a partir del tiempo de ejecución y estimaciones de la potencia promedio consumida por la TPU durante la inferencia, que fue calculado en una subsección anterior. Este dato no es una medición exacta, sino una referencia aproximada para ilustrar el proceso. Para estimar las operaciones por vatio, necesitamos relacionar las operaciones totales con la energía consumida. La energía total consumida es de 51.43 Wh. Sabemos que: Energía (Wh) =Potencia (W) ×Tiempo (s) 3600 Dado que la energía total es 51.43 Wh y el tiempo total es 771.44 s, podemos despejar la potencia promedio consumida por la TPU: 51,43 Wh =Ppromedio ×771,44 s 3600 Despejando Ppromedio: Ppromedio =51,43 ×3600 771,44 W≈240 W Con una potencia promedio estimada de 240 W y un rendimiento de 4,090 GOP/s, calculamos las operaciones por vatio: OP/W =OP/s Ppromedio =4,090 GOP/s 240 W ≈0,017 GOP/s/W Este valor equivale a aproximadamente 17 ×106operaciones/s/W, es decir, unos 17 MOPS/s/W. Los resultados sugieren que, bajo las suposiciones realizadas (un consumo total de 51.43 Wh y las operaciones estimadas), la TPU ejecuta alrededor de 4,090 GOP/s y ofrece una eficiencia energética en torno a 0,017 GOP/s/W. Es importante remarcar que estas cifras son aproximadas y dependen en gran medida de las suposiciones sobre la potencia promedio consumida. El valor de la energía total (51.43 Wh) se consideró como un dato aproximado y no proviene de una medición directa. Además, el entorno de Colab es compartido y la carga efectiva en la TPU puede variar, afectando tanto el rendimiento como el consumo real. 5.3.4. Análisis del tiempo de procesamiento por frame y rendimiento en FPS La Google TPU v2-8 (Tensor Processing Unit) representa una arquitectura de hardware especializada para el procesamiento de operaciones tensiorales, optimizada
5.3. Métricas de la TPU 125 específicamente para tareas de aprendizaje profundo. A continuación, se analiza en detalle su desempeño en términos de tiempo de procesamiento por fotograma y tasa de fotogramas por segundo al ejecutar el algoritmo propuesto en el capítulo 3. 5.3.4.1. Cálculo del tiempo de procesamiento por frame Para determinar con precisión el tiempo que la Google TPU v2-8 requiere para procesar un fotograma individual, partimos de los datos experimentales obtenidos durante las pruebas realizadas con el vídeo de 356 fotogramas: Tiempo total de ejecución =771,44 segundos (5.51) Número total de fotogramas =356 (5.52) Tiempo por fotograma =Tiempo total de ejecución Número de fotogramas (5.53) Tiempo por fotograma =771,44 356 =2,1670 segundos/fotograma (5.54) Este resultado indica que la Google TPU v2-8 necesita aproximadamente 2.17 segundos para procesar completamente un solo fotograma utilizando el algoritmo del capítulo 3. Este tiempo engloba todas las operaciones del algoritmo: la detección de jugadores y pelota mediante YOLOv8, el seguimiento a través de ByteTrack, la estimación de poses para identificar la mano de golpeo, y la detección de las diferentes regiones de la pista de tenis. 5.3.4.2. Cálculo de la tasa de fotogramas por segundo (FPS) A partir del tiempo de procesamiento por fotograma calculado, podemos determinar la tasa de fotogramas por segundo (FPS) que la TPU puede mantener durante la ejecución del algoritmo: FPS =1 Tiempo por fotograma (5.55) FPS =1 2,1670 =0,4615 FPS (5.56) Esta tasa de aproximadamente 0.46 FPS significa que la Google TPU v2-8 puede procesar menos de medio fotograma por segundo, lo que se traduce en un rendimiento considerablemente inferior al tiempo real. Este resultado es especialmente llamativo considerando que la TPU está diseñada específicamente para acelerar operaciones de redes neuronales.
126 Capítulo 5. Comparativa hardware 5.3.5. Análisis del consumo energético por fotograma El análisis del consumo energético específico por fotograma constituye una métrica fundamental para evaluar la eficiencia real de una plataforma hardware, particularmente en sistemas especializados como las Unidades de Procesamiento Tensorial (TPU). Esta métrica permite comprender en profundidad las implicaciones energéticas del procesamiento visual y proporciona información valiosa sobre la viabilidad del sistema para diferentes casos de uso. Para calcular con precisión la energía requerida por cada fotograma procesado en la Google TPU v2-8 durante la ejecución del algoritmo desarrollado en el capítulo 3, utilizamos los siguientes datos experimentales obtenidos durante las pruebas: Consumo eléctrico total =51,43 Wh (5.57) Número total de fotogramas procesados =356 fotogramas (5.58) El cálculo de la energía consumida por fotograma se realiza dividiendo el consumo eléctrico total entre el número de fotogramas procesados: Energía por fotograma =Consumo eléctrico total Número total de fotogramas (5.59) Energía por fotograma =51,43 Wh 356 fotogramas =0,1445 Wh/fotograma (5.60) Para expresar este resultado en unidades del Sistema Internacional, convertimos el valor a julios: Energía por fotograma [J] =Energía por fotograma [Wh] ×3600 J/Wh (5.61) Energía por fotograma [J] =0,1445 Wh/fotograma ×3600 J/Wh =520,2 J/fotograma (5.62) Este resultado revela que la Google TPU v2-8 consume aproximadamente 520,2 julios de energía para procesar completamente un solo fotograma utilizando el algoritmo propuesto en el capítulo 3. Esta cantidad representa el coste energético total asociado a todas las operaciones realizadas por el algoritmo, incluyendo la detección de jugadores y pelota, el seguimiento de objetos, la estimación de poses y la segmentación de la pista de tenis.
5.4. Métricas de la GPU embebida 127 5.4. Métricas de la GPU embebida En esta sección se detallan las métricas de rendimiento obtenidas al ejecutar el algoritmo desarrollado en el capítulo 3 en la NVIDIA Jetson AGX Xavier. Se presentan y analizan los resultados de las métricas clave consideradas en esta comparativa y mencionadas al comienzo de este capítulo. 5.4.1. Medición del consumo eléctrico en NVIDIA Jetson AGX Xavier durante la inferencia de una CNN En esta subsección se describe la metodología empleada para medir el consumo eléctrico de la plataforma embebida NVIDIA Jetson AGX Xavier durante la ejecución de la fase de inferencia de la CNN utilizada en el algoritmo propuesto en el capítulo 3. La capacidad de cuantificar el consumo energético es esencial para evaluar la eficiencia del despliegue de modelos de aprendizaje profundo en dispositivos con recursos limitados. En el contexto de una plataforma embebida como la Jetson AGX Xavier, este tipo de medición resulta especialmente relevante para aplicaciones en el borde, donde el consumo energético y la autonomía son factores críticos (Mittal, 2019; Blanco, Ortega y Pérez, 2020). La NVIDIA Jetson AGX Xavier tiene un TDP de 30 W (NVIDIA Corporation, 2021). Este valor es significativamente menor que el TDP de CPUs y GPUs de alto rendimiento, como los analizados en las anteriores subsecciones de este capítulo, lo que sugiere una mayor eficiencia energética. 5.4.1.1. Metodología de medición En el caso del resto del hardware analizado en este capítulo, al tratarse de plataformas en la nube sin acceso físico directo, se realizó una estimación de su consumo de potencia durante la ejecución del algoritmo propuesto en el capítulo 3. Sin embargo, dado que el hardware analizado en esta subsección sí está disponible físicamente, se ha llevado a cabo una medición directa del consumo, proporcionando datos reales. Para medir el consumo eléctrico de la NVIDIA Jetson AGX Xavier, se utilizó un vatímetro convencional modelo "Tapo P110"de la marca "TP-Link". Este vatímetro cuenta con una resolución de 0.1 W, y permite monitorizar el consumo energético en tiempo real a través de una aplicación móvil (TP-Link, 2021). El vatímetro se conectó a un enchufe en la pared, y a su vez, la NVIDIA Jetson AGX Xavier se conectó al vatímetro, siguiendo el siguiente procedimiento: 1. Conexión del vatímetro TP-Link Tapo P110 a un enchufe en la pared. 2. Conexión de la NVIDIA Jetson AGX Xavier al vatímetro TP-Link Tapo P110. 3. Medición del consumo eléctrico con la Jetson AGX Xavier en reposo (idle) durante 5 minutos, registrando la potencia promedio a través de la aplicación móvil.
128 Capítulo 5. Comparativa hardware 4. Ejecución de la inferencia de la CNN sobre el conjunto de imágenes de prueba (356 fotogramas del video) y registro de la potencia promedio durante este proceso utilizando la aplicación móvil. 5. Cálculo del consumo eléctrico de la inferencia restando la potencia promedio en reposo a la potencia promedio durante la inferencia. 6. Cálculo del consumo eléctrico específico de la inferencia dividiendo el consumo total entre el tiempo de inferencia. Este proceso se repitió 10 veces, no solo para reducir la variabilidad y obtener un promedio representativo del consumo eléctrico, sino también para mitigar el efecto del fenómeno “warm-up” comentado al inicio del capítulo. 5.4.1.2. Resultados Las mediciones de consumo eléctrico durante la inferencia de la CNN en la NVIDIA Jetson AGX Xavier se realizaron en diez ocasiones consecutivas. Los resultados mostraron una notable consistencia, con un consumo total promedio de 21.56 W y un consumo específico para la inferencia de 12.46 W. Estos valores presentaron una variación mínima entre mediciones, con desviaciones de ±0.4 W, lo que indica una alta estabilidad en el consumo energético del dispositivo. Cálculos adicionales. Potencia base en reposo (idle): Aproximadamente 9.1 W. Potencia promedio total durante la inferencia: Alrededor de 21.56 W. Potencia específica de la inferencia: Alrededor de 21.56 W - 9.1 W = 12.46 W. Tiempo total de inferencia: Para los 356 fotogramas del video, el tiempo total fue de 272.51 segundos. Energía total consumida durante la inferencia: Integrando la potencia específica de la inferencia (12.46 W) durante 272.51 s: Einferencia =12,46 W ×272,51 s 3600 s/h ≈0,94 Wh Dado que la potencia en reposo era de 9.1 W, si se quisiera incluir la energía total consumida por todo el sistema (incluyendo la potencia base), se procedería de la misma forma con la potencia total de 21.56 W.
5.4. Métricas de la GPU embebida 129 Energía por inferencia. Si consideramos el tiempo promedio de inferencia por fotograma (aproximadamente 0.765 s por fotograma), la energía consumida por cada inferencia sería: Energía por inferencia =12,46 W ×0,765 s 3600 s/h ≈0,00265 Wh (5.63) 5.4.2. Cálculo de las GOPs en la NVIDIA Jetson AGX Xavier En esta subsección, se presenta el cálculo del rendimiento computacional, expresado en Giga Operaciones por Segundo (GOP/s), alcanzado por la Jetson AGX Xavier durante la inferencia de un modelo de aprendizaje profundo. 5.4.2.1. Cálculo de Operaciones Totales y Operaciones por Segundo Utilizando la convención mencionada, el número total de operaciones necesarias para la inferencia de un solo fotograma es: Operaciones por Fotograma =4,429 ×109FLOPs ×2=8,858 ×109operaciones (5.64) Dado que se procesaron 356 fotogramas, el número total de operaciones ejecutadas durante la inferencia se calcula como: Ototal =8,858 ×109operaciones/inf ×356 ≈3,154 ×1012 operaciones (5.65) Para obtener las operaciones por segundo (OP/s), se divide el número total de operaciones por el tiempo total de ejecución: OP/s =3,154 ×1012 operaciones 272,51 s ≈11,58 ×109operaciones/s (5.66) Expresando este valor en Giga Operaciones por Segundo (GOP/s): 11,58 ×109operaciones/s =11,58 GOP/s (5.67) La Jetson AGX Xavier, bajo las condiciones analizadas, fue capaz de ejecutar aproximadamente 11.58 GOP/s durante la inferencia de 356 fotogramas del video.
130 Capítulo 5. Comparativa hardware 5.4.3. Cálculo de Operaciones por Vatio (OP/W) en la NVIDIA Jetson AGX Xavier En esta subsección se evalúa la eficiencia energética de la NVIDIA Jetson AGX Xavier en términos de operaciones por vatio (OP/W), un indicador clave para determinar el equilibrio entre el rendimiento computacional y el consumo energético. 5.4.3.1. Datos Iniciales Con base en las mediciones y cálculos realizados previamente, se dispone de los siguientes datos relevantes: Operaciones totales durante la inferencia: 3,154 ×1012 operaciones Tiempo total de inferencia: 272,51 s Potencia promedio durante la inferencia: 12,46 W Rendimiento computacional (GOP/s): 11,58 GOP/s 5.4.3.2. Procedimiento de Cálculo El cálculo de las operaciones por vatio se realiza dividiendo el rendimiento computacional (operaciones por segundo) entre la potencia promedio consumida durante la inferencia: OP/W =GOP/s Potencia promedio (W) (5.68) Sustituyendo los valores: OP/W =11,58 GOP/s 12,46 W ≈0,929 GOP/s/W (5.69) Esto significa que la NVIDIA Jetson AGX Xavier es capaz de realizar aproximadamente 0,929 Giga Operaciones por Segundo por cada vatio de potencia consumido. 5.4.4. Análisis del tiempo de procesamiento por frame y rendimiento en FPS La plataforma NVIDIA Jetson AGX Xavier representa una solución de computación embebida de alto rendimiento orientada específicamente a aplicaciones de inteligencia artificial en dispositivos de borde (edge computing). En esta subsección, se analiza detalladamente su desempeño en términos de tiempo de procesamiento por fotograma y tasa de fotogramas por segundo al ejecutar el algoritmo propuesto en el capítulo 3.
5.4. Métricas de la GPU embebida 131 5.4.4.1. Cálculo del tiempo de procesamiento por frame Basándonos en los datos experimentales obtenidos durante las pruebas realizadas con el vídeo de 356 fotogramas, podemos determinar con precisión el tiempo medio que la NVIDIA Jetson AGX Xavier requiere para procesar un fotograma individual: Tiempo total de ejecución =272,51 segundos (5.70) Número total de fotogramas =356 (5.71) Tiempo por fotograma =Tiempo total de ejecución Número de fotogramas (5.72) Tiempo por fotograma =272,51 356 =0,7655 segundos/fotograma (5.73) Este resultado indica que la NVIDIA Jetson AGX Xavier necesita aproximadamente 0.77 segundos para procesar completamente cada fotograma del vídeo utilizando el algoritmo del capítulo 3. Este tiempo de procesamiento incluye todas las operaciones del algoritmo: la detección de jugadores y pelota mediante YOLOv8, el seguimiento a través de ByteTrack, la estimación de poses para determinar la mano de golpeo, y la identificación de las regiones de la pista de tenis. 5.4.4.2. Cálculo de la tasa de fotogramas por segundo (FPS) A partir del tiempo de procesamiento por fotograma, calculamos la tasa de fotogramas por segundo (FPS) que esta plataforma embebida puede mantener durante la ejecución del algoritmo: FPS =1 Tiempo por fotograma (5.74) FPS =1 0,7655 =1,3063 FPS (5.75) La NVIDIA Jetson AGX Xavier alcanza aproximadamente 1.31 FPS, lo que significa que puede procesar poco más de un fotograma completo por segundo. Aunque esta tasa no alcanza el umbral considerado para aplicaciones en tiempo real (generalmente 24-30 FPS), representa un rendimiento notable para un sistema embebido con restricciones de potencia.