proyecto fin de carrera -...
Post on 09-Feb-2020
4 Views
Preview:
TRANSCRIPT
Equation Chapter 1 Section 1
Proyecto Fin de Carrera
Ingeniería de Telecomunicación
Seguimiento de jugadores en partidos de fútbol
mediante procesado de vídeo
Dpto. Teoría de la Señal y Comunicaciones
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Autor: David Diego Jiménez Fernández
Tutoras: Irene Fondón García
María Auxiliadora Sarmiento Vega
Sevilla, 2018
iii
Proyecto Fin de Carrera
Ingeniería de Telecomunicación
Seguimiento de jugadores en partidos de fútbol
mediante procesado de vídeo
Autor:
David Diego Jiménez Fernández
Tutoras:
Irene Fondón García
Profesora Contratada Doctora
María Auxiliadora Sarmiento Vega
Profesora Contratada Doctora Interina
Dpto. de Teoría de la Señal y Comunicaciones
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2018
v
Proyecto Fin de Carrera: Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Autor: David Diego Jiménez Fernández
Tutoras: Irene Fondón García
María Auxiliadora Sarmiento Vega
El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros:
Presidente:
Vocales:
Secretario:
Acuerdan otorgarle la calificación de:
Sevilla, 2018
El Secretario del Tribunal
vii
A mi familia
ix
Agradecimientos
Quisiera agradecer en este momento a todos los que me han arropado durante este largo viaje académico,
profesional y sobre todo personal, y que han hecho que consiga avanzar en esta etapa de mi vida.
En primer lugar, a las profesoras Irene Fondón y a María Auxiliadora Sarmiento por su apoyo y palabras de
ánimo, así como por su enorme paciencia comprendiendo mis circunstancias durante la realización del presente
proyecto.
Por supuesto, a mi familia: tanto a la que siempre ha estado, como a la que ha llegado, como a la que
desafortunadamente ya no puede estar. Lo sois absolutamente todo para mí, y cualquier frase aquí plasmada no
alcanzaría ni remotamente a expresar lo que habéis supuesto en mi vida.
Finalmente, a los amigos y demás compañeros de viaje, por ser como sois y soportarme como soy.
Gracias.
xi
Resumen
Con el crecimiento exponencial de las fuentes de vídeo que vivimos en la actualidad, el análisis automático de
dicho contenido se ha convertido en una tarea imperativa. Un tipo particular de dichas fuentes de vídeo que
despierta un gran interés comercial son los deportes de equipo, y en especial el fútbol. En torno al análisis de los
datos provenientes de los partidos de fútbol se ha generado una industria que requiere una elevada toma de datos
de forma manual para obtener estadísticas y rendimiento de los jugadores. Estos datos son útiles para el público,
los medios de comunicación y los entrenadores.
Sin embargo, los deportes de equipo son actividades complejas para los sistemas de procesamiento de vídeo
debido a las amplias zonas en las que se desarrollan, los movimientos no lineales variables e impredecibles de
los jugadores, cambios de iluminación, sombras y perspectiva, y oclusiones causadas por las interactuaciones de
los jugadores propias del desarrollo del juego.
El presente proyecto se centra en la aplicación de distintas técnicas de procesado de imagen y vídeo para realizar
la detección y seguimiento de múltiples jugadores simultáneamente, con la particularidad de trabajar con fuentes
de vídeo reales proporcionadas por distintos equipos, con altos niveles de ruido y con situaciones complicadas.
A partir de esos datos de trayectorias unívocas de los jugadores en todo momento, se pueden obtener estadísticas
adicionales con potencial para analizar las tácticas, identificar patrones erráticos o significativos de dichos
jugadores, medir distancias recorridas, velocidades medias e instantáneas, generar mapas de calor, etc.
xiii
Abstract
Nowadays, automatic analysis of video content has become a mandatory task due to the exponential growth of
video data sources. A specific kind of video data that has attained a lot of recent commercial interest are team
sports, specially soccer. Moreover, a whole industry has grown around data analysis of soccer matches. This
industry requires a high amount of manual labelling in order to get statistics and player performance data. The
so obtained data is very useful for the audience, broadcast media and of course, team coaches.
However, team sports are complex activities for automatic video processing systems because of wide playing
fields, non-linear messy movements of the players, illumination, cast shadows and perspective variations, and
occlusions caused by player interactions over the course of a game.
This project focuses on the application of various image and video processing techniques to achieve multitarget
detection and tracking of players, with the distinctive feature of using real video sources provided by different
soccer teams, with high cluttered and noisy situations.
From the extracted trajectories of the players, additional data can be inferred that is useful to analyse tactics, find
erratic patterns of the players, obtain distance travelled, average and instant speeds, create heatmaps, etc.
Prefacio
El seguimiento de múltiples objetivos automáticamente es un área en desarrollo dentro de la visión artificial que
tiene importancia fundamental en muchísimas aplicaciones. La motivación de este proyecto es intentar
profundizar un poco dentro de este vasto campo de investigación, materializando resultados en una aplicación
práctica.
Durante el desarrollo de este proyecto se pudo comprobar de primera mano el interés real que existe por parte
de clubes deportivos y empresas en este tipo de tecnologías y en la obtención de los datos de seguimiento de
jugadores y estadísticas de la forma más automatizada posible.
El objetivo por tanto se materializó en desarrollar y programar un marco de trabajo modular usando técnicas de
visión artificial que pusiera de manifiesto la viabilidad y la utilidad de los resultados obtenidos. El sistema debe
adaptarse a distintas fuentes de vídeo, ser resistente en la medida de lo posible a las oclusiones de los jugadores
y extraer y almacenar toda la información posible de las secuencias de vídeo utilizadas.
Durante el desarrollo del proyecto hubo que hacer frente a la dificultad de obtener secuencias de vídeo originales
para el estudio, por lo que se contó con la colaboración de clubes de fútbol de divisiones inferiores para la
conseguir estas grabaciones. No obstante, el hecho de no tener control sobre los parámetros específicos de estas
grabaciones desde un punto de vista de ingeniería provocó que las características de las secuencias con las que
había que trabajar distaran mucho de ser óptimas: perspectivas acentuadas, sombras prominentes, baja
resolución, vídeo no estabilizado, etc. Por lo tanto, un objetivo adicional del presente proyecto ha sido explorar
los límites de los requisitos necesarios y priorizar la modularidad y configuración del marco de trabajo heurístico.
Para hacer este sistema posible, se optó por programación C++ utilizando la librería de software libre de visión
artificial OpenCV para las tareas de bajo nivel, y se desarrollaron en esta plataforma los subsistemas de
configuración de los procesamientos efectuados, detección, clasificación, gestión de seguimiento multiobjetivo
y oclusiones, extracción de estadísticas, etc.
Finalmente, cabe mencionar que el trabajo desarrollado en el ámbito de este proyecto se prolongó en el tiempo
más allá del alcance aquí presentado trabajando en el seno de la Fundación Andaluza de la Imagen, el Color
y la Óptica - FAICO, y que ya se han adelantado varias de las líneas futuras de investigación y mejoras
propuestas al final del proyecto.
xv
Índice
Agradecimientos ix
Resumen xi
Abstract xiii
Prefacio xiv
Índice xv
Índice de Tablas xvii
Índice de Figuras xix
Notación xxi
1 Introducción 1 1.1 Herramientas estadísticas tradicionales en el fútbol 2 1.2 Herramientas de seguimiento 3
2 Estado del arte 5 2.1. Bloques lógicos generales de un sistema de seguimiento 5
2.1.1 Detección 6 2.1.2 Clasificación 12 2.1.3 Seguimiento 13
3 Sistema Implementado 17 3.1 Resumen 17 3.2 Entrenamiento y preprocesamiento 19
3.2.1 Perspectiva 20 3.2.2 Homografía 20 3.2.3 Histogramas 23
3.3 Detección 24 3.4 Clasificación 27 3.5 Asignación 29 3.6 Seguimiento 30
3.6.1 Lógica de seguimiento de tracks individuales 32 3.6.2 Lógica de seguimiento de oclusiones 33
3.7 Homografía 36 3.8 Estadísticas deportivas 37
3.8.1 Mapas de calor 37 3.8.2 Líneas de fuera de juego posicionales 38 3.8.3 “Campogramas” 39 3.8.4 Medir cualquier distancia relativa 39
4 Resultados 41 4.1 Métricas utilizadas 41 4.2 Secuencias de vídeo estudiadas 44
4.2.1 Mairena - Conil 45
4.2.2 Entrenamiento Mairena (Secuencia 04) 48 4.2.3 Sevilla - Córdoba (Secuencia 01) 51 4.2.4 España - Bolivia 54
5 Conclusiones 59
6 Líneas futuras 61
7 Anexo A – Otras secuencias 63 7.1 Mairena - Conil 63 7.2 Coria - Mairena 64 7.3 Mairena (Partido de Entrenamiento 11) 65 7.4 Sevilla – Córdoba (Secuencia 01) 67 7.5 Sevilla - Córdoba (Secuencia 02) 68 7.6 España – Bolivia (Movimiento de cámara) 70
8 Anexo B – Parámetros usados 71
Referencias 73
Índice de Conceptos 77
xvii
ÍNDICE DE TABLAS
Tabla 3-1. Correspondencia de puntos para algunas homografías precalculadas. 22
Tabla 4-1.Mairena - Conil. Comparativa para un mismo fotograma de las distintas pruebas. 45
Tabla 4-2. Mairena - Conil. Precision, Recall y Accuracy de detector y de clasificador para los distintos criterios
de medida. 46
Tabla 4-3.Mairena - Conil. Estimadores del módulo de seguimiento de múltiples objetivos. 48
Tabla 4-4.Entrenamiento Mairena (Secuencia 04). Comparativa para un mismo fotograma de las distintas
pruebas. 49
Tabla 4-5. Entrenamiento Mairena (04). Precision, Recall y Accuracy de detector y de clasificador para los
distintos criterios de medida. 50
Tabla 4-6. Entrenamiento Mairena (04). Estimadores del módulo de seguimiento de múltiples objetivos. 51
Tabla 4-7.Sevilla - Córdoba (Secuencia 01). Comparativa para un mismo fotograma de las distintas pruebas.
52
Tabla 4-8.Sevilla - Córdoba (Secuencia 01). Precision, Recall y Accuracy de detector y de clasificador para los
distintos criterios de medida. 53
Tabla 4-9. Sevilla - Córdoba (Secuencia 01). Estimadores del módulo de seguimiento de múltiples objetivos.
54
Tabla 4-10.España - Bolivia. Comparativa para un mismo fotograma de las distintas pruebas. 55
Tabla 4-11.España - Bolivia. Precision, Recall y Accuracy de detector y de clasificador para los distintos criterios
de medida. 56
Tabla 4-12. España - Bolivia. Estimadores del módulo de seguimiento de múltiples objetivos. 57
Tabla 7-1.Mairena - Conil. Seguimiento lateral y cenital, relación de homografía, mapas de calor principales
63
Tabla 7-2.Mairena - Conil. Histogramas HS usados de entrenamiento. Equipo 1 (gris – azul), equipo 2 (amarillo
– azul), árbitro (rojo – negro). 64
Tabla 7-3.Coria-Mairena. Seguimiento lateral y cenital, relación de homografía, mapas de calor principales
64
Tabla 7-4.Coria - Mairena. Histogramas HS usados de entrenamiento. Equipo 1 (gris – azul), equipo 2 (blanco),
árbitro (rojo – negro). 65
Tabla 7-5.Mairena – Entrenamiento 11. Seguimiento lateral y cenital, relación de homografía, mapas de calor
principales 66
Tabla 7-6.Mairena – Entrenamiento 11. Histogramas HS usados de entrenamiento. Equipo 1 (gris – azul),
portero equipo 1 (rojo), equipo 2 (azul), árbitro (amarillo). 66
Tabla 7-7.Sevilla – Córdoba (Secuencia 01). Seguimiento lateral y cenital, relación de homografía, mapas de
calor principales 67
Tabla 7-8.Sevilla – Córdoba (Secuencia 01). Histogramas HS usados de entrenamiento. Equipo 1 (marrón),
equipo 2 (blanco), portero equipo 2 (rojo), árbitro (verde y negro). 68
Tabla 7-9.Sevilla – Córdoba (Secuencia 02). Seguimiento lateral y cenital, relación de homografía, mapas de
calor principales 69
Tabla 7-10.España – Bolivia (Movimiento de cámara). Seguimiento lateral y cenital, relación de homografía.
70
Tabla 7-11.España Bolivia. Histogramas HS usados de entrenamiento. Equipo 1 (blanco - verde), portero equipo
1 y árbitro (gris), equipo 2 (rojo). 70
xix
ÍNDICE DE FIGURAS
Figura 1-1. Ejemplo de software comercial “Focus X2” de manejo de datos. 2
Figura 2-1. Bloques conceptuales básicos de sistema de seguimiento con procesado de vídeo. 5
Figura 2-2. Ejemplos de modelos de partes deformables, gradientes orientados, articulados y de densidades de
probabilidad. (Figura de [23]) 7
Figura 2-3. Superior: Conjunto acotado de contornos: movimiento de vacas ( [24]) .Inferior: Posibles siluetas de
jugadores (muchísimas más posibilidades). 8
Figura 2-4. Aplicación de detector de Canny a imagen. 9
Figura 2-5. Campo de vectores de movimiento de un peatón usando flujo óptico. 9
Figura 2-6. GMM + EM en acción. Los elementos móviles se van difuminando. 11
Figura 2-7. Izquierda: Detector de movimiento sin eliminación de sombras. Derecha: Con eliminación de
sombras. (Figura de [30]) 11
Figura 2-8. Proceso de etiquetado manual de muestras de una categoría u otra. Caso de jugador o no jugador.
(Figura de [31]) 12
Figura 2-9. SVM separando lo más posible dos categorías de entrenamiento, en este caso a partir de
características de espacio de color de la silueta objeto de la clasificación. 13
Figura 2-10. Modelo de movimiento de un único objetivo en 2D. 14
Figura 2-11. Consideración de la perspectiva en la distribución de probabilidad. 14
Figura 2-12. Esquema de movimiento y remuestreo de partículas convergiendo al seguir a un objetivo. 15
Figura 2-13. Representación de Mean-Shift Tracking buscando minimizar la función de similitud de un objetivo
móvil. 16
Figura 3-1. Bloques conceptuales implementados para el sistema de seguimiento con procesado de vídeo.
19
Figura 3-2. Modelo de proyección de la cámara para compensar la perspectiva introducida. 20
Figura 3-3. Imagen con proporciones estándar de campo de fútbol utilizada para proyectar el plano cenital.
21
Figura 3-4. Cambios de iluminación afectan a todo el RGB, mientras que solo afectan al Valor de HSV. 23
Figura 3-5. Contornos típicos de entrenamiento. 23
Figura 3-6. Izquierda: fotograma inicial. Derecha: detector de terreno de juego con condiciones ideales según
[34]. 24
Figura 3-7. Arriba: fotograma inicial. Abajo: distintos de detectores de terreno sin resultados satisfactorios.
24
Figura 3-8. Operaciones morfológicas para detectar jugadores en movimiento tras eliminar sombras. 25
Figura 3-9. Empeoramiento del problema de las sombras por mala morfología, causando gran oclusión
innecesaria. 26
Figura 3-10. Comparación de histogramas HS de detecciones individuales con los precalculados. (Figura de
[16]) 27
Figura 3-11. Detalle de imagen: Dificultad en la clasificación de equipos de distintas categorías. 28
Figura 3-12. Salida de la clasificación a partir del bloque detector. 28
Figura 3-13. a) Asignación basada en el vecino más cercano. No consigue el mejor mínimo global de la
asignación de costes. b) Programación lineal, M = N, se alcanza el mínimo global de asignación. 29
Figura 3-14. Izquierda: Solución de la minimización global de costes en el problema de asignación en el grafo
bipartito. Derecha: Aplicación práctica con dos tracks que se encuentren en la función de densidad de
probabilidad elipsoidal asignados a las detecciones rectangulares correspondientes. 30
Figura 3-15. El jugador más cercano al plano imagen puede recorrer en dirección x el campo de visión en tres
zancadas. Ese mismo jugador en la banda opuesta necesitaría unas diez veces más, aunque fuera a la misma
velocidad. Los tracks del fondo a medida que aumenta la coordenada y deben “ralentizarse”. 31
Figura 3-16. Secuencia recién comenzada. Empieza a haber detecciones de los que se han movido (no todos),
pero no hay tracks dado que están esperando confirmación consecutiva. 32
Figura 3-17. Izquierda: La zona de exclusión del árbitro (“1 amarillo”) impide que se inicie un track rojo por
una mala clasificación. Derecha: el jugador “4 marrón” no está detectado pero su track aguanta su identidad
cierto número de fotogramas antes de correr peligro. 33
Figura 3-18. Caso de uso de detector y seguimiento de oclusiones y cómo afecta a los tracks individuales.
35
Figura 3-19. Efecto de la proyección de todos los tracks y sus estelas desde un plano imagen sobre un plano
cenital usando la matriz de proyección calculada desde el principio de la secuencia. 36
Figura 3-20. Efecto pernicioso de la perspectiva sobre la zona de extrapolación de la proyección (el plano más
alejado del plano imagen), a pesar de tener en cuenta el escalado lineal, el Eje Y’ del plano cenital es muy
sensible a las más mínimas perturbaciones del Eje Y del plano imagen. 37
Figura 3-21. Ejemplos de mapas de calor con distribución “Colorscale Jet” obtenidos de algunas secuencias.
38
Figura 3-22. Ejemplo de cómo las líneas de fuera de juego posicionales evolucionan con el estado de los
jugadores. En esta secuencia, la línea virtual izquierda queda delimitada por el jugador “marrón” más a la
izquierda, mientras que la línea virtual derecha queda delimitada por el jugador “blanco” más a la derecha.
38
Figura 3-23. Ejemplo de campogramas obtenidos en tiempo real a partir de las posiciones de los objetivos de la
escena. 39
Figura 3-24. Ejemplo de medición de distancia en el plano cenital y reproyección de esa información de vuelta
hacia el plano imagen. 39
Figura 4-1. Ejemplos concretos de errores y aciertos de detector y clasificador. Izquierda: Imagen de entrada con
los resultados de ambos bloques. Derecha: figuras detectadas tras el proceso de clasificación rodeadas por un
rectángulo del color elegido, o rellenas de rojo si clasificación no concluyente. 43
Figura 4-2. Falso jugador mal clasificado debido al constante movimiento de la cámara. 56
xxi
Notación
FPS
RGB
Frames per second
Red, Green, Blue
HSV Hue, Saturation, Value
TP True Positive
TN True Negative
FP False Positive
FN False Negative
MT Mostly Tracked
PT Partially Tracked
ML Mostly Lost
IDS Identifier Switch
FRMT Fragmentations
sen Función seno
sinxy Función seno de x elevado a y
cosxy Función coseno de x elevado a y
Sa Función sampling
sgn Función signo
rect Función rectángulo
Sinc Función sinc
∂y ∂x
x◦
Derivada parcial de y respecto
Notación de grado, x grados.
Pr(A) Probabilidad del suceso A
SNR Signal-to-noise ratio
MSE Minimum square error
: Tal que
< Menor o igual
> Mayor o igual
⇔ Si y sólo si
1
1 INTRODUCCIÓN
as técnicas y algoritmos de visión artificial de detección y seguimiento automático de múltiples objetivos
han sufrido una revolución y un desarrollo sin precedentes en los últimos años. Además, se ven
acompañadas de una evolución tecnológica que permite abordar problemas computacionalmente
impensables hace relativamente poco tiempo y por si no fuera suficiente, las aplicaciones de este tipo de técnicas
no dejan de crecer debido al desarrollo de otros tipos de tecnologías paralelas y la aparición de nuevas
necesidades, como por ejemplo los drones, vehículos autónomos, control de multitudes, control de tráfico y
flujos migratorios, etc.
Paralelamente, un campo en principio lúdico que ha demostrado un especial interés en estas técnicas es el de las
retransmisiones deportivas. Los espectadores cada vez son más ávidos de estadísticas, parámetros e información,
y los medios de comunicación desean el nicho de mercado de poder facilitarla de forma comercial. Los
entrenadores buscan maximizar el rendimiento y tener toda la información posible para poder tomar decisiones
en tiempo real e incluso predecir lances del juego, y planificar estrategias y entrenamientos futuros.
No obstante, a pesar de todos los avances, el seguimiento automático total y preciso de múltiples objetivos sigue
siendo un campo en desarrollo sin una solución óptima cerrada válida para todos los casos. Esta dificultad se ve
incrementada en el caso de los deportes colectivos debido a la propia naturaleza de estos:
• La región de análisis es muy amplia pero los objetivos del seguimiento ocupan poco espacio relativo.
• La propia captura de imagen de una región tan amplia implica la introducción de una notable
perspectiva, lo cual provoca que un mismo objetivo tenga tamaños y velocidades muy dispares para el
sistema de visión según la posición del campo donde se encuentre.
• Tiende a haber muchas aglomeraciones, oclusiones e interactuaciones entre los objetivos del
seguimiento.
• Condiciones muy variables de iluminación y sombras entre distintos eventos deportivos y dentro de un
mismo evento.
• Los movimientos son inherentemente no lineales, bruscos e impredecibles porque se busca engañar al
rival. Esto no solo implica la ausencia de patrones en el seguimiento, sino en la propia detección de los
objetivos debido a los cambios de pose.
Uno solo de los motivos anteriores bastaría para complicar bastante la tarea de un sistema de seguimiento
multiobjetivo. Todos ellos a la vez suponen un gran reto que implica explotar todas y cada una de las propiedades
que se pueda para acotar el problema de la detección y el seguimiento multiobjetivo con garantías.
L
Introducción
2
Por la repercusión mediática del fútbol se decidió elegir este deporte de equipo para desarrollar el marco de
trabajo de este proyecto. A continuación, se comentarán por encima las funcionalidades y la evolución de los
sistemas comerciales1 específicos para este deporte a medida que aumentaba la demanda y la tecnología se
introducía en este campo.
1.1 Herramientas estadísticas tradicionales en el fútbol
Las industrias audiovisual, periodística y deportiva llevan años buscando métodos y tecnologías capaces de
generar nuevas estadísticas y sus formas de presentación, tanto para el público como para los propios
entrenadores [1].
Tradicionalmente las soluciones utilizadas han consistido en potentes herramientas de anotación manual y bases
de datos que permiten a los analistas ir tomando registros de todos los eventos que se consideren de interés para
el juego revisando las distintas secuencias de vídeo prácticamente fotograma a fotograma. Con todos estos datos
introducidos en el sistema, se pueden generar gráficas de todo tipo, dibujar y editar los vídeos para señalar las
jugadas deseadas, y mantener estadísticas de cada uno de los jugadores por separado [2].
Figura 1-1. Ejemplo de software comercial “Focus X2” de manejo de datos.
Ejemplos de estos sistemas los encontramos en las soluciones comerciales:
• SportsCode
• Nacsport
• Dartfish
• ER1C
• Focus X2
1 Las soluciones comentadas no son gratuitas y no se han podido probar de primera mano, sino que la información ha sido extraída de la publicidad de estos productos.
Algunos creen que el fútbol es cuestión de vida o
muerte… Yo os aseguro que es mucho más que eso.
- Bill Shankly -
3
3 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
• LongoMatch
• Instat Football
• SoccerLAB
Huelga decir que son soluciones que requieren de un trabajo manual exhaustivo con decenas de personas
estudiando los vídeos pormenorizadamente e introduciendo los datos de interés, lo cual propició que la visión
artificial fuera una evolución natural de estos sistemas.
1.2 Herramientas de seguimiento
Una vez demostrado el interés de la industria por la obtención de los datos de monitorización de los jugadores,
se comenzaron a desarrollar sistemas capaces de utilizar algunas técnicas de visión artificial integradas dentro
de sistemas más complejos que aúnan otras fuentes de información como pueden ser sensores portados por los
propios jugadores (wereables) o el balón.
Requieren una gran inversión dado que despliegan alrededor del estadio objeto de estudio un conjunto de
múltiples cámaras de alta definición con una estructura de red capaz de capturar y almacenar todo el partido
desde un punto de vista más adecuado para su posterior procesado que desde un punto de vista de retransmisión
deportiva, por tanto están más orientados a extraer información para los entrenadores que para los espectadores.
Ejemplos de estos sistemas los encontramos en las soluciones comerciales [3]:
• TRACAB
• ProZone (STATS Company)
• AmiscoPro (STATS Company)
A pesar de ser sistemas de progresiva introducción en escenarios reales, son costosos y aún no existen aquellos
completamente automatizados capaces de funcionar sin intervención humana y ofrecer datos precisos en todas
las circunstancias del juego y condiciones de iluminación. Por tanto, constantemente se requieren
recalibraciones, correcciones de errores y entrada manual de datos [4].
5
2 ESTADO DEL ARTE
continuación procederemos a analizar brevemente algunas de las técnicas de visión artificial
desarrolladas en trabajos previos dentro de los campos de la detección y el seguimiento de objetivos. No
obstante, debe quedar claro que su estudio pormenorizado está mucho más allá del alcance del presente
proyecto, dado que la literatura de estos campos es vastísima y no deja de crecer continuamente debido a ser
campos en investigación activa, no existir soluciones cerradas y poseer muchísimo interés dentro de la visión
artificial. En concreto, hablaremos únicamente de las técnicas más relevantes utilizadas para seguir el
movimiento de deportistas basadas en algunas de las estudiadas con profundidad en [5].
2.1. Bloques lógicos generales de un sistema de seguimiento
Seguir de forma satisfactoria a uno o varios objetivos en una secuencia de vídeo consiste en mantener su
identidad a lo largo del tiempo, evitando que dicha identidad se varíe o se confunda con otro objetivo distinto al
seguido. Por lo tanto, es sencillo comprender que para que esto sea posible un paso previo importante es ser
capaces de saber a qué objetivos hay que seguir, distinguiéndolos de todo aquello que no sean objetivos (como
por ejemplo el fondo de la imagen). En el caso del seguimiento multiobjetivo, además hay que establecer algún
tipo de criterio que haga distintos a los objetivos los unos de los otros.
Conceptualmente, los bloques funcionales del sistema de seguimiento mediante procesado de vídeo son los
siguientes:
Figura 2-1. Bloques conceptuales básicos de sistema de seguimiento con procesado de vídeo.
• Detección: Antes de realizar ningún tipo de seguimiento a través de los fotogramas del vídeo es
inevitable tener que obtener un conjunto de detecciones de los objetivos de interés lo más preciso
posible. Para ello es necesario definir en el contexto de nuestro sistema qué es un objetivo, y qué lo hace
distinguible de los demás para poder encontrarlo en sucesivos fotogramas. Para ello, en la literatura se
han utilizado tradicionalmente descriptores de color [6], forma [7], modelos de apariencia [8], plantillas
de jugadores [9], etc.
• Clasificación: Una vez que se conocen para cada fotograma los posibles objetivos que hay que seguir,
hay que segmentarlos con el fin de establecer sus categorías. En el tipo de vídeos con el que
trabajaremos, nos encontramos habitualmente con cinco categorías básicas de objetivos desplazándose
por el terreno de juego, distinguibles principalmente por los colores de las equipaciones que visten:
A
Detección Fotogramas
de vídeo
Clasificación Seguimiento
Estado del arte
6
equipo 1, portero del equipo 1, equipo 2, portero del equipo 2, y árbitros. Existen trabajos anteriores que
han intentado en mayor o menor medida afinar más este tipo de segmentación utilizando cámaras
específicas de alta resolución siguiendo primeros planos de los jugadores con el fin de identificar sus
caras en una base de datos [10] [11], o utilizar un OCR2 sobre los números de sus camisetas [12] [13],
pero suelen ser soluciones mucho más complejas y que no siempre mejoran notablemente los resultados
al introducir muchas complicaciones al sistema de seguimiento en caso de una identificación errónea.
En la práctica suele bastar con utilizar histogramas de color [14], los cuales son representaciones de los
distintos valores de intensidad del color en sus distintas componentes en alguno de los espacios de color
habituales como RGB [15] o HSV [16]. Comparando la información del color de cada uno de los
objetivos usando algún tipo de clasificador de métrica sencilla, otros medios algo más complejos como
la agrupación de píxeles mediante el desplazamiento de media [17] u otro tipo de clasificadores como
máquinas de vectores de soporte se consigue la clasificación por categorías de cada uno de los objetivos
• Seguimiento: El seguimiento implica mantener una identidad a lo largo del tiempo a partir de una
detección previa o actual, de forma que la evolución del estado del objeto y del sistema permitan
emplear las estimaciones anteriores como base para las futuras. Como ya se ha comentado previamente,
es necesario estudiar el conjunto de fotogramas dado que en imágenes estáticas no tiene sentido hablar
de seguimiento de objetivos propiamente dicho. Por el contrario, en secuencias de vídeo, la detección y
el seguimiento suelen ir inherentemente juntas. Gracias a ello, realizar un seguimiento del objetivo en
un entorno ruidoso3 mejora los resultados con respecto a utilizar únicamente detecciones instantáneas
en el fotograma actual. Algunas de las técnicas más profusamente utilizadas son aquellas basadas en el
filtro de Kalman [18] [19], filtro de partículas [16] [15], evolución de kernel [20] o seguidores de mapa
de ocupación probabilística [21] [22].
A continuación, entraremos un poco en detalle en cada uno de estos grandes grupos funcionales.
2.1.1 Detección
Los objetivos dentro del campo del seguimiento no dejan de ser más que elementos que son de interés para
extraer más información de ellos. Ya ha quedado claro que el paso previo a poder seguir los distintos objetivos
es detectarlos, pero es bastante razonable que antes de abordar la detección se tenga claro cómo poder describir
y representar dichos objetivos para que el sistema sea capaz de encontrarlos.
Según [5], las formas básicas de describir objetos para que sean útiles para la visión artificial se pueden agrupar
en las siguientes:
• Puntos: El objeto queda representado por un punto característico (centroide, centro de su base, etc.) o
un conjunto de ellos.
• Formas geométricas: por ejemplo, un rectángulo o elipse que envuelva al objeto.
• Contornos y siluetas, que dan lugar a representaciones no rígidas.
• Modelos articulados y esqueléticos, que determinan las relaciones entre distintas partes del objeto.
2 Optical Character Recognition: Detector Óptico de Caracteres. 3 Entiéndanse fuentes de ruido que afecten tanto a las detecciones como al seguimiento, por ejemplo: iluminación, sombras, artefactos de vídeo, oclusiones, entradas y salidas de escena, etc.
7 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Figura 2-2. Ejemplos de modelos de partes deformables, gradientes orientados, articulados y de densidades
de probabilidad. (Figura de [23])
También existen formas de combinar la forma de representación con la apariencia del objetivo, dando lugar a
otro tipo de descriptores complejos como pueden ser:
• Densidades de probabilidad de apariencia, con las que se estudia alguna propiedad paramétrica (por
ejemplo, distribuciones gaussianas) o no paramétricas (como histogramas) en las regiones de los
objetivos delimitados por los descriptores anteriores.
• Plantillas: directamente englobadas por formas geométricas sencillas, contienen toda la información
tanto espacial como de apariencia del objetivo y son muy útiles si el objeto buscado coincide
exactamente con ella, pero pierden utilidad rápidamente a medida que el objeto en el transcurso del
seguimiento cambie hasta el punto de no coincidir con su plantilla.
• Modelos de apariencia activa: son aquellos en los que se guarda un vector de relaciones entre puntos
característicos específicos de un objeto y se detecta el objeto buscando un conjunto de puntos que
satisfaga dichas asociaciones.
• Modelos multivista: Pueden ser una generalización de los anteriores en el sentido de que se calculan
de antemano todas las posibles apariencias que se van a estudiar en siguientes etapas. A pesar de su
potencia, tienen la desventaja de tener que conocer todas las relaciones en todas las perspectivas a priori.
Como ejemplo que ayude a ilustrar de forma práctica lo anterior, [24] utiliza las combinaciones de movimientos
posibles en vacas para establecer un seguimiento de estas y poder estudiar irregularidades en sus patrones de
desplazamiento. No obstante, la variabilidad que presentaría este caso en el análisis del seguimiento de jugadores
en un deporte como el fútbol complicaría muchísimo este paso de detección que estamos estudiando.
Estado del arte
8
Figura 2-3. Superior: Conjunto acotado de contornos: movimiento de vacas ( [24]). Inferior: Posibles siluetas
de jugadores (muchísimas más posibilidades).
En el caso concreto de trabajar con las siluetas, plantillas o contornos activos, la dimensionalidad del problema
de detectar a los jugadores se dispara y son necesarias otro tipo de técnicas como por ejemplo PCA (Análisis de
Componentes Principales) para agruparlas y simplificarlas [25].
De cara a encontrar características unívocas entre los que serán los objetivos del seguimiento y todo aquello que
no lo sea, las distintas técnicas buscan explotar aquellas propiedades que mejor describan las representaciones
explicadas anteriormente. Muchos algoritmos utilizan distintas mezclas de características para conformar un
espacio de estados en el que buscar las similitudes que determinen a los objetivos, a la vez que procuran
maximizar las diferencias que permiten distinguirlos entre sí y del fondo de la escena. Los más frecuentes según
[5] son:
• Color: El color de un objeto es el resultado de la distribución espectral de potencia del elemento que
origina la iluminación, del medio que atraviesa dicha luz, y de las propiedades reflectantes del objeto
iluminado. El más habitual es el conocido como modelo RGB4, aunque no tiene la propiedad de respetar
las diferencias percibidas por el ojo humano a medida que nos desplazamos por los valores de sus
componentes. Otros modelos también usados en la literatura son el HSV5, L*u*v*, L*a*b*, etc. Es un
descriptor muy potente y frecuente, pero tiende a ser poco robusto ante cambios de iluminación.
• Fronteras: El contorno de un objeto suele ser una frontera de separación entre intensidades cercanas.
Algunas técnicas de filtrado de imagen son capaces de medir estos cambios de intensidad en distintas
direcciones para poner de manifiesto los bordes de los objetos, siendo la más famosa de ellas el detector
de Canny.
4 Red, Green, Blue: Rojo, verde y azul. 5 Hue, Saturation, Value: de matiz, saturación y valor
9 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Figura 2-4. Aplicación de detector de Canny a imagen6.
• Textura: mide variaciones de intensidad en la imagen a partir de las cuales se obtienen propiedades
derivadas como rugosidad, suavidad, patrones repetitivos, etc. Posee la ventaja de ser bastante resistente
a cambios de iluminación, pero de cara a su uso para detectar jugadores en secuencias de vídeo no es
una elección adecuada. Podría no obstante usarse para detectar el terreno de juego debido al patrón
repetitivo de la hierba del campo, por ejemplo.
• Flujo óptico: Es una técnica para medir las variaciones de intensidad de la matriz de píxeles de la
imagen, obteniendo múltiples vectores de desplazamiento por regiones entre fotogramas consecutivos.
No obstante, su uso requiere muchísimas optimizaciones dado que es computacionalmente muy
intensivo. Tiene también aplicaciones estabilizando la cámara si esta sufriera perturbaciones.
Figura 2-5. Campo de vectores de movimiento de un peatón usando flujo óptico7.
• Diferencia de fotogramas: surgida como contrapartida al flujo óptico para aportar una reducida carga
computacional, se basa en ir restando las imágenes de la secuencia de vídeo entre sí, de forma que cada
píxel que posea una diferencia inferior a un umbral será clasificado como “fondo”. Sin embargo, es
muy débil a cualquier tipo de ruido que ocurra en la escena y la selección de dicho umbral cambia
mucho los resultados.
La selección de características del detector es una tarea crítica que condiciona los siguientes módulos del sistema
6 Imagen de https://en.wikipedia.org/wiki/Canny_edge_detector 7 Imagen de http://crcv.ucf.edu/projects/Abnormal_Crowd/
Estado del arte
10
de seguimiento, y hay trabajos orientados a desarrollar sistemas capaces de elegir de forma automática las
características o mezcla de ellas óptimas en cada momento, de forma que se maximice la información extraída
de ellas. Por ejemplo, han surgido técnicas de clasificación automática de clasificadores menos robustos, de
forma que todos ellos operando a la vez de forma ponderada ofrezcan el mayor rendimiento posible [26].
Además, en torno a todos los descriptores y características anteriormente introducidas en este epígrafe han
surgido multitud de técnicas y algoritmos que han desarrollado toda una nueva disciplina dentro de la visión
artificial como es la clasificación de patrones y la detección de características8. En concreto, los Histogramas
de Gradientes Orientados [27] han suscitado mucho interés y han sido utilizados para detectar y clasificar con
éxito distintos tipos de objetos. Existen bases de datos ya entrenadas de peatones, y aunque sus características
no se adaptan adecuadamente al problema de los jugadores (no suelen ir corriendo ni encontrarse en poses
forzadas), nada impediría entrenar un sistema detector de jugadores a partir de las suficientes muestras.
Sin embargo, hay todo un abanico de características del que aún no hemos hablado y que podemos explotar dado
que estamos trabajando con secuencias de vídeos que presentan las peculiaridades y dificultades explicadas en
capítulos anteriores, entre otras:
• Jugadores pequeños comparados con su entorno.
• Indistinguibles entre sí en las secuencias con las que trabajamos.
• Formas extremadamente variadas.
• Terreno de juego al aire libre con condiciones de iluminación que hacen extremadamente difícil utilizar
el color como método de detección (aunque será imprescindible para la clasificación como ya veremos).
• Se desean tiempos de procesamiento reducidos.
Dicha peculiaridad que nos vemos obligados a explotar de cara a tener detecciones fiables en las secuencias de
vídeo con las que trabajaremos es la evolución temporal del sistema objeto de estudio, o dicho de otra forma, el
hecho de que nuestros objetivos de interés se mueven, pero nuestras cámaras son estáticas.
Inspirados por los avances anteriores de flujo óptico y diferencia de fotogramas, surgieron técnicas de
eliminación de fondo (Background Subtraction), en la que se usa una imagen de referencia para computar la
diferencia entre el fotograma actual y dicha imagen, de forma que todo lo que se haya movido aparezca resaltado.
Una de las formas más comunes de eliminación del fondo es el promediado del fondo [28], aunque tiende a
producir estelas en los objetos que se van moviendo, perturbando mucho las medidas. Una alternativa mucho
más avanzada es la propuesta por Stauffer [29], modelando cada píxel mediante un Modelo de Mezcla de
Gaussianas (GMM), actualizando cada píxel con nuevas gaussianas durante la ejecución y el transcurso de
fotogramas.
La probabilidad de que un píxel pertenezca al fondo es:
𝑝(𝒙𝑛|𝑓𝑜𝑛𝑑𝑜) = ∑ 𝑤𝑗
𝐽
𝑗=1
ζ𝑗
(2–1)
donde J es el número de distribuciones gaussianas, wj es el peso de ponderación de cada una de ellas para dicho
píxel, y ζ𝑗 es la componente j-ésima gaussiana definida a partir de su media 𝜇𝑗 y matriz de covarianzas 𝛴𝑗 como:
ζ𝑗(𝑥𝑛; 𝜇𝑗, 𝛴𝑗) =1
(2𝜋)𝐽/2|𝛴𝑗|1/2 𝑒−1
2(𝑥−𝜇𝑗)𝐽 ∑ (𝑥−𝜇𝑗)−1
𝑗 (2–2)
8 Se recomienda encarecidamente la lectura de [5] y [14] para una profusa taxonomía y explicaciones.
11 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Este método es lo bastante robusto como para entornos de exterior dado que maneja bien los cambios moderados
de iluminación. Tiene la contrapartida de ser algo más intenso computacionalmente, pero con la evolución
tecnológica de la que hablábamos en la introducción de este proyecto hoy en día se puede usar perfectamente en
aplicaciones de tiempo real. Una versión de este algoritmo se encuentra implementada en la librería OpenCV y
se utiliza frecuentemente en investigación. Esta versión utiliza un algoritmo de para encontrar estimadores de
máxima verosimilitud (EM - Expectation Maximization) para que la fase inicial de aprendizaje que transcurre
durante los primeros fotogramas del vídeo converja rápidamente, para posteriormente comenzar a funcionar de
forma recursiva actualizando el modelo del fondo del terreno de juego.
Figura 2-6. GMM + EM en acción. Los elementos móviles se van difuminando.
Existe un compromiso entre la frecuencia a la que se actualiza el modelo del fondo, y la frecuencia con la que
un objeto que se mueve lentamente o no se mueve es asignado a dicho fondo. Esto es particularmente importante
en el caso de los jugadores que se muevan poco (como por ejemplo los porteros), que tenderán a fusionarse con
el fondo y desaparecer si permanecen estáticos mucho tiempo.
Además, al utilizar esta técnica, surge un problema importante que hay que resolver: las sombras de los objetos
móviles también se mueven. De hecho, en función de la perspectiva del plano imagen con respecto al plano de
movimiento y del origen de las fuentes de iluminación, dichas sombras pueden ser incluso mucho mayores que
los propios objetos que estamos buscando detectar. Afortunadamente se han desarrollado muchos estudios cuyo
objetivo es minimizar este efecto [30]. En la figura siguiente, a pesar de no poseer sombras prominentes, se
aprecia el efecto dramático de estas sobre el detector. En las circunstancias de iluminación que nos
encontraremos en los partidos de fútbol este efecto es muchísimo mayor.
Figura 2-7. Izquierda: Detector de movimiento sin eliminación de sombras. Derecha: Con eliminación de
sombras. (Figura de [30])
Estado del arte
12
2.1.2 Clasificación
Una vez que para cada fotograma se han obtenido todas las siluetas (o blobs en inglés) que más probablemente
se correspondan con nuestros objetos de estudio, el siguiente paso es categorizar o segmentar cada una de las
detecciones para establecer grupos que compartan información entre sí.
Por la particularidad del fútbol, aunque los jugadores tienen posiciones iniciales habituales, ningún jugador tiene
una posición fija en el campo que haga que la existencia de una detección en dicha zona le confiera
automáticamente la pertenencia a un grupo concreto. Esta característica espacial sí se podría aprovechar en otros
deportes como tenis o voleibol, pero no en este deporte.
En el caso que nos atañe, las únicas categorías que podemos utilizar son las correspondientes a ambos conjuntos
de vestimentas y de forma opcional los dos porteros y los árbitros en caso de aparecer en la escena. Por ello, los
clasificadores que se utilicen deberán basarse en la clasificación de color como información principal.
Siguiendo la exhaustiva revisión de [5], encontramos distintos clasificadores usados habitualmente:
• Desplazamiento de la media (Mean-Shift) [17]: Para cada imagen, se elige un número de puntos dentro
del espacio de color y se desplaza un elipsoide multidimensional a la media de cada una de las
agrupaciones de colores. El vector de desplazamiento de medias se procesa iterativamente hasta que
cada una de las agrupaciones deja de variar, momento en el que el algoritmo ha convergido. Esto reduce
significativamente las dimensiones del espacio de color de la detección, siendo capaces asignar el
resultado a una categoría.
• Aprendizaje supervisado: El objetivo de estas técnicas es asignar numerosas muestras de forma
manual a una o a otra categoría, de forma que cuando llegue una nueva muestra sin clasificar, en función
de los descriptores extraídos durante el entrenamiento con las muestras previas, el sistema otorgue una
etiqueta de clasificación a la silueta específica. El concepto es fácil de visualizar si pensamos en los
casos previos de detección como se ilustra en la siguiente figura, en la que se entrena un sistema con
muestras de “jugador” y muestras de “no jugador”, pero es igualmente válido para el caso de separación
de colores (esta silueta pertenece a cierto color o a otro):
Figura 2-8. Proceso de etiquetado manual de muestras de una categoría u otra. Caso de jugador o no jugador.
(Figura de [31])
Dentro de este campo nos encontramos las categorías de redes neuronales (en las que una función de
propagación y transferencia actúan ponderadas por los pesos de las salidas de cada uno de los pasos de
decisión), o máquinas de vectores de soporte (SVM – Support Vector Machines), las cuales maximizan
la distancia de las muestras a un hiperplano de separación de características para obtener la clasificación
más robusta posible de las nuevas muestras que lleguen.
13 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Figura 2-9. SVM separando lo más posible dos categorías de entrenamiento, en este caso a partir de
características de espacio de color de la silueta objeto de la clasificación.9
2.1.3 Seguimiento
Finalmente llegamos al apartado de seguimiento de objetivos, o como es conocido habitualmente incluso en la
literatura no anglosajona, “Tracking”. Como ya introdujimos al inicio de este capítulo, tras haber detectado los
objetos móviles y haberles asignado una categoría de clasificación, hay que mantener la identidad constante y
almacenar las trayectorias a lo largo de todos los fotogramas en los que aparezcan cada uno de los objetivos. La
información extraída de todos los objetos móviles visibles en el plano de la imagen10 consiste en la posición,
velocidad, tamaño, color, etc., y es información que se utilizará para hacer evolucionar el sistema a medida que
avanza el tiempo haciendo predicciones en caso de entornos ruidosos. Es el hecho de que los sensores de vídeo
siempre introduzcan ruido y de que haya interacciones complejas entre objetivos el motivo por el cual solo
comentaremos los métodos estadísticos más habituales dentro de la literatura del seguimiento de objetivo,
dejando a un lado los modelos deterministas y de emparejamiento directo de plantillas.
2.1.3.1 Filtro de Kalman
Una de las herramientas matemáticas más famosas para el seguimiento de objetos es el filtro de Kalman [18]
[19], el cual supuso una revolución en múltiples campos de la ingeniería. En él, un sistema dinámico (un jugador
en nuestro caso) se modela mediante una ecuación de transición de estado lineal y una ecuación de medida. Se
supone que hay ruido gaussiano independiente en ambas ecuaciones. Este filtro permite de forma dinámica
calcular los valores del vector de estados, asegurando la solución óptima en estas condiciones.
Hay dos pasos dentro del filtro de Kalman:
• Fase de predicción: extrapola la nueva posición del objetivo que se obtendría en el siguiente paso futuro
del modelo de transición de estados. Esta predicción puede a su vez asociarse con una nueva medida en
el siguiente fotograma para afinar la precisión del seguimiento.
• Fase de actualización: se utiliza la detección de este paso como medida para actualizar y corregir el
estado del filtro en el instante actual.
9 Imagen de https://thedatalass.com/2018/02/26/support-vector-machine/ 10 Notablemente afectada por el efecto de la perspectiva de la cámara al capturar la imagen.
Estado del arte
14
El filtro de Kalman por tanto modela la función de distribución de probabilidad de la medida del objetivo móvil
como una gaussiana. En efecto, bajo la suposición de que la probabilidad de encontrar al objetivo en el fotograma
siguiente satisface esta distribución con respecto a la posición en la que se encuentra ahora, este tipo de
seguimiento ofrece resultados muy prometedores.
Figura 2-10. Modelo de movimiento de un único objetivo en 2D.
Además, a la hora de usar este tipo de filtros predictivos de Kalman, hay que tener en cuenta un par de
consideraciones adicionales:
• En una imagen real, la perspectiva del plano imagen hace que la distribución de movimiento no sea una
gaussiana 2D ideal dado que el objetivo cambia de tamaño proporcionalmente a medida que se desplaza
en el eje vertical de la imagen e incluso de velocidad aparente, aunque su velocidad real siguiera siendo
la misma. Esto hace que la curva de probabilidad tienda levemente a ser más una elipse. En la siguiente
figura vemos de forma acentuada este efecto. Sobre cómo afecta la profundidad a las distintas medidas
del seguimiento hablaremos en el siguiente capítulo (Punto 3.2.1), pero si la tasa de fotogramas por
segundo es adecuada, la suposición para un objetivo sigue siendo apropiada.
Figura 2-11. Consideración de la perspectiva en la distribución de probabilidad.
• Además, dado que el filtro de Kalman solo funciona adecuadamente con distribuciones gaussianas, no
puede utilizarse directamente como tal en escenarios multiobjetivo dado que habría que modelar un
número variable y desconocido de distribuciones de probabilidad a priori sobre un espacio de estados
de dimensión desconocida. La forma de abordar esta fuerte limitación es utilizar un banco dinámico de
filtros de Kalman, como ya se comentará en el apartado 3.6.
15 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
2.1.3.2 Filtro de Partículas
En general, los filtros de partículas o de “Condensación”11 son una extensión de los métodos de Monte Carlo,
gracias a los cuales se puede aproximar cualquier distribución multimodal con un gran conjunto de partículas12
[32] que de forma probabilística convergen en cada uno de los objetivos a los que siguen. Gracias a esto, no es
necesario añadir lógicas adicionales que coordinen los distintos objetivos, dado que cada uno de ellos mantiene
su identidad a lo largo del tiempo gracias al elevado número de “partículas” que se van relanzando y
remuestreando cada fotograma hasta converger sobre la nueva posición de las detecciones de sus objetivos.
En la siguiente figura apreciamos cómo, tras producirse un movimiento de un objetivo, la distribución de
probabilidad (que no tiene por qué ser gaussiana) se remuestrea y converge en otra, de forma que el objetivo
sigue localizado.
Figura 2-12. Esquema de movimiento y remuestreo de partículas convergiendo al seguir a un objetivo.
Los filtros de partículas a pesar de ser muy versátiles y potentes rastreando movimientos abruptos, y están
viviendo una explosión de investigación creciente, pero no están exentos de problemas. En concreto sufren en
los siguientes aspectos:
• Necesitan una gran cantidad de partículas para funcionar correctamente en entornos multiobjetivo, por
lo que su carga computacional es muy elevada.
• Presentan mucha dificultad a la hora de encontrar parámetros óptimos importantes para su
funcionamiento, como pueden ser el número exacto de partículas o la ponderación de los pesos del
remuestreo de partículas.
• Tienden a sufrir dos efectos opuestos, ambos perniciosos para el correcto funcionamiento del
seguimiento multiobjetivo: a veces degeneran las partículas produciendo saltos abruptos o pérdidas de
objetivos, y otras veces convergen demasiadas partículas sobre una región tan pequeña que se pierde
toda diversidad y el sistema no es capaz de encontrar su objetivo si este cambia su patrón de
movimiento.
Además, hay algunos efectos inherentes al funcionamiento de estos sistemas que sin ser ni mucho menos algo
negativo con respecto a su funcionamiento, hacían que no se ajustaran exactamente al resultado del marco de
trabajo deseado desarrollado en el presente proyecto:
• Debido a la naturaleza aleatoria con la que se “lanzan” las partículas en la inicialización de objetivos,
cómo se actualizan los pesos de cada partícula y cómo se remuestrean las partículas introduciendo algo
de ruido para luchar contra la pérdida de diversidad, es prácticamente imposible asegurar la repetitividad
de los datos extraídos de las secuencias de vídeo. La gran mayoría de las ocasiones no supone ningún
problema, siendo necesario un gran número de ejecuciones del algoritmo sobre la misma secuencia para
obtener información promediada de forma útil de las secuencias de movimiento.
11 CONDENSATION: “Conditional Density Propagation Over Time”. 12 Entendiendo por partícula un conjunto de características detectadas con éxito.
Estado del arte
16
• Además, en un contexto de oclusiones y de extracciones de características continuas como el que
estamos manejando, cuando un objetivo se “pierde” debido a una oclusión y sus partículas asociadas
no convergen durante varios fotogramas en él, no tenemos ningún tipo de información de movimiento
ni de detección, o como mucho suponemos que está quieto. Cuando el objetivo reaparece más adelante
en el tiempo, en el mejor de los casos las partículas convergen voraz y rápidamente dando la sensación
de que prácticamente se ha “teletransportado” hacia su nueva posición, dando valores anómalos de
velocidad, posición, perdiendo la coherencia de la inercia del movimiento, etc.
• Al ser capaces de remuestrear las partículas y saltar hacia los objetivos a medida que se mueven, no se
ven limitados por la restricción de necesitar cámaras estáticas por utilizar un detector de movimiento
que alimente a por ejemplo el seguimiento basado en filtro de Kalman. Esta ventaja la
desaprovecharíamos dado que nuestro conjunto de secuencias de vídeo se basa en cámaras estáticas.
2.1.3.3 Seguimiento mediante desplazamiento de la media
También son muy utilizados en muchas investigaciones e implementaciones los filtros de desplazamiento de la
media [17] [20] (Mean-Shift Tracking) con modificaciones para no depender en exclusiva de plantillas rígidas
consiguiendo adaptarse a cambios de tamaño y orientación que transcurran de forma suave. Una vez que cada
una de las regiones queda descrita por su histograma de color, se computa la diferencia de similitudes de su
espacio de estados entre la zona de interés y la zona actual, de forma que el seguimiento del objetivo se consigue
encontrando el mínimo local de las funciones de similitud, tal y como se ilustra en la siguiente figura:
Figura 2-13. Representación de Mean-Shift Tracking buscando minimizar la función de similitud de un
objetivo móvil13.
Sin embargo, hay que tener especial cuidado escogiendo los tamaños adecuados del kernel o si no podemos
acabar perdiendo muy fácilmente a los objetivos seguidos.
13 Figura de Mahesh Chandra – Mean Shift Algorithm - YouTube
17
3 SISTEMA IMPLEMENTADO
lo largo de este capítulo se irán analizando las particularidades del sistema finalmente implementado con
el fin de realizar el seguimiento de múltiples jugadores en partidos de fútbol mediante procesado de vídeo,
basándonos en los fundamentos explicados anteriormente.
La premisa del sistema acaba siendo estudiar y desarrollar un sistema modular que mediante grabaciones de
encuentros de fútbol obtenidas mediante una única cámara estática (en principio) sea capaz de extraer distintas
estadísticas del movimiento de cada uno de los agentes que en aparecen en dichas grabaciones.
A partir del diagrama de un sistema de seguimiento (5) ya visto en el capítulo anterior, se comenzó a desarrollar
el marco de trabajo de seguimiento desde cero para distintas secuencias de vídeo utilizando lenguaje de
programación C++ y la librería de software libre de visión artificial OpenCV.
Dado que las grabaciones obtenidas para el desarrollo del presente proyecto presentan graves dificultades desde
un punto de vista de iluminación, ruido de imagen o perspectiva, se aprovechan como reto para explorar y poner
de manifiesto las dificultades de los sistemas de seguimiento mediante procesado de vídeo en entornos apenas
controlados.
El presente trabajo está inspirado en la metodología y estadísticas obtenidas de seguimiento presentadas en [16]
y [15], pero utilizando versiones propias de los algoritmos en los distintos bloques funcionales y adaptando el
flujo de trabajo a las necesidades de implementación y secuencias de vídeo con las que se trabajan. Todas las
decisiones tomadas y modificaciones implementadas han ido en pos de mejorar el rendimiento del seguimiento
para cada una de las secuencias de vídeo.
3.1 Resumen
El diagrama de bloques funcionales implementado es algo más complejo que el básico explicado en el capítulo
anterior, e introduce una serie de pasos adicionales que se comentan a continuación:
• Dado que la idea del sistema es conseguir el procesamiento en tiempo real, se ha procurado calcular con
anterioridad toda la información posible de la cámara, la perspectiva que se mostraba del terreno de
juego y todas las características posibles de los objetivos que se iban a seguir. Esto se materializa en la
introducción de un paso previo de preprocesamiento del vídeo y la obtención de los histogramas de
color de los jugadores de antemano.
• Debido a que la calidad de las imágenes dista mucho de ser ideal, para la detección de los jugadores se
descartó la eliminación del fondo mediante un modelo de color motivado por lo ruidoso de las salidas
producidas y se optó por un modelo de obtención de la máscara de movimiento mediante Mezcla de
Gaussianas con eliminación de sombras.
• A continuación, se utilizan un conjunto de operaciones morfológicas [14] sobre las máscaras de posibles
candidatos a jugadores, seguido de un detector basado en restricciones geométricas de las siluetas
resultantes. Estas operaciones se realizan sin memoria, operando únicamente con el conocimiento que
proporciona el fotograma actual. Además, se ha diseñado un modelo de proyección lineal que afecta a
todas las restricciones morfológicas y geométricas debido a la fuerte perspectiva que presentan cada
una de las secuencias de vídeo analizadas, de forma que se compense el hecho de que el tamaño, sombra
proyectada y velocidad de un jugador en el primer plano son mucho mayores que si ese mismo jugador
se encontrara en el plano del fondo.
• A aquellas siluetas que cumplen los requisitos anteriores se les estudia su histograma de color dado que
es la principal característica (por no decir la única) que tenemos para categorizar al jugador como de un
A
Sistema Implementado
18
equipo u otro (estando también considerados los dos porteros y los árbitros, que suelen ir con colores
distintos a los de ambos equipos). Dichos histogramas han sido previamente calculados también a partir
de muestras aleatorias obtenidas de los propios vídeos, y utilizan el espacio de color HSV eliminando
la componente de valor para ser más resistentes a cambios de iluminación, tal y como se utiliza en [16].
Tras ello, utilizando una métrica sencilla se asigna cada silueta a una de las categorías existentes para
esa secuencia de vídeo.
La consecuencia directa del detector modular comentado hasta ahora es que una de las primeras peculiaridades
que implementa el sistema desarrollado en este proyecto es la selección automática de objetivos como
contrapartida a muchos otros trabajos donde la selección inicial requiere una entrada manual activa por parte del
usuario. El precio que pagar por esta selección y clasificación automática de objetivos es un trabajo previo de
selección de histogramas y de ajuste del modelo de compresión lineal causado por la perspectiva que la cámara
nos fija.
• En este punto tenemos para cada fotograma un conjunto de detecciones válidas para cada equipo. El
punto elegido para representar a cada jugador será el punto central de la base del rectángulo que le
rodea, dado que al desarrollarse la acción sobre un plano nos interesa más la zona de contacto con dicho
plano. Ahora, para cada objetivo se supone de distribución gaussiana de movimiento afectado por la
perspectiva, y entra en acción un banco de filtros predictivos de Kalman con una lógica de gestión de
cada uno de los tracks14 alimentada por detecciones consecutivas entre fotogramas. Esta lógica decide
cuándo se origina cada track y cuándo desaparece.
• No obstante, esta forma de separar detecciones de seguimiento implica que haga falta una lógica
adicional de asignación entre los N tracks activos en ese momento y las M detecciones válidas que se
hayan producido. Adelantamos que la implementación de esta asignación es algoritmo de Kuhn-
Munkres o su versión simplificada conocida como “Algoritmo Húngaro” [33], el cual resuelve un
problema de asignación unívoca en un grafo bipartito tal y como el que modela la situación de N tracks
y M detecciones.
• Para lidiar contra las temidas oclusiones, otra de las contribuciones del presente proyecto ha sido
desarrollar tanto un detector de oclusiones a partir de las máscaras de píxeles ya filtrados y un módulo
completo de seguimiento de oclusiones. Tanto este detector como el seguimiento son similares a sus
equivalentes utilizados para detecciones y seguimiento de cada objetivo por separado, pero aportan un
conjunto de reglas distintas capaces de modificar en tiempo de ejecución el comportamiento y la lógica
del banco de filtros de Kalman.
Finalmente, aunque no menos importante, se llega a la extracción de características de cada uno de los tracks
que justifica todo el proyecto. Sin embargo, se pudo comprobar que la información que realmente se desea es
mucho más fácil de entender y útil si está representada en un plano cenital del campo de juego donde las medidas
de posición, velocidad y aceleración tienen sentido intrínseco y obvio sin verse alteradas por la perspectiva que
introduce el plano imagen.
• Para resolver este problema se utilizan transformaciones homográficas entre el plano imagen y el plano
del terreno de juego [15]. Esto implica realizar un emparejamiento de puntos del terreno de juego vistos
desde la cámara y un modelo de campo cenital y cálculo previo de la matriz de proyección antes de
iniciar el procesamiento. Una vez almacenada esta transformación, se les aplica a todos y cada uno de
los tracks durante el procesamiento en tiempo real para obtener las proyecciones de todos esos puntos
y trayectorias sobre un plano que posee unas medidas de escala conocidas.
• Una vez que se tiene la identidad y la posición de todos los jugadores en todos los instantes de tiempo
en un sistema de referencia a escala en el que se puede medir, se tiene casi cualquier tipo de información
posible del movimiento: posición, velocidad, aceleración, distancias recorridas parciales y totales,
distancias relativas entre cualquier jugador, etc. A modo de ilustración, como ejemplo de información
derivada que se puede extraer de los datos básicos, se han implementado un generador de mapas de
calor, una representación dinámica de cuántos jugadores hay en cada parcela del terreno y un detector
14 El concepto de “track” incluye la trayectoria y la identidad unívoca de cada uno de los objetivos seguidos por el algoritmo.
19 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
de fueras de juego posicionales, todos ellos sistemas con mucha fuerza visual y capaces de captar la
atención del espectador en tiempo real.
Se muestra a continuación la modificación de los bloques constructivos con respecto al esquema básico
comentado al principio del proyecto en secuencias de vídeo de una sola cámara:
Figura 3-1. Bloques conceptuales implementados para el sistema de seguimiento con procesado de vídeo.
3.2 Entrenamiento y preprocesamiento
Este bloque engloba el conjunto de tareas necesarias que se han realizado para precalcular la mayor cantidad de
información posible con el fin de acotar la inmensa variabilidad de posibilidades explotando las peculiaridades
de las distintas secuencias. Además, este cálculo por adelantado permite ganar velocidad en la posterior
ejecución al no tener que realizar estas operaciones en línea. Las tareas son las siguientes:
Detección Fotogramas
Clasificación
Asignación
Entrenamiento y
preprocesamiento
Oclusión
Seguimiento Homografía Estadísticas
Sí No
Sistema Implementado
20
3.2.1 Perspectiva
Debido a la fuerte perspectiva que introduce la captura de la imagen en las secuencias de vídeo procesadas, los
objetos de interés (jugadores) no poseen las mismas propiedades geométricas y cinemáticas en función de si se
encuentran más cerca o más lejos de la cámara. Este hecho dificulta enormemente el reconocimiento de patrones
o formas, así como el ajuste del modelo de movimiento necesario para el seguimiento. Además, complica
notablemente el filtrado de la imagen mediante operaciones morfológicas dado que si se es demasiado agresivo
con dicho filtrado hay riesgo de eliminar mucha información útil, mientras que por el contrario si se es muy
permisivo eliminando artefactos perniciosos para el seguimiento, corremos el riesgo de generar muchas falsas
detecciones.
Por ello, y aprovechando que los jugadores deambulan por un único plano horizontal (el terreno de juego), para
cada una de las secuencias de vídeo se ha utilizado un modelo de aproximación lineal entre la altura 2D de la
imagen de cada objeto y su posición vertical dentro de dicha imagen, de forma que:
Donde h es la altura del objeto 2D, yB es la posición que ocupa verticalmente la parte inferior del objeto en la
imagen (es decir, los pies), HL es la coordenada y de la línea del horizonte dentro de la imagen, y R es la relación
de expansión de la altura del objeto, calculada intentando responder a la pregunta de “¿cuántas veces cabría el
un objeto visto en el primer plano de la imagen si estuviera en la línea del horizonte?”
Figura 3-2. Modelo de proyección de la cámara para compensar la perspectiva introducida.
Para cada una de las secuencias de vídeo estudiadas se han buscado pistas visuales que permitan establecer esta
relación lineal, necesaria para el ajuste de casi todos los parámetros del detector y del seguimiento.
3.2.2 Homografía
Ya hemos establecido el hecho de que es muy conveniente obtener una transformación de todos los parámetros
que obtengamos en el plano imagen (vista lateral obtenida por la cámara) al plano cenital con el fin de extraer
estadísticas útiles.
ℎ = 𝑅(𝑦𝐵 − 𝐻𝐿) (3–1)
HL
21 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Figura 3-3. Imagen con proporciones estándar de campo de fútbol utilizada para proyectar el plano cenital.15
Una homografía se define como una transformación invertible desde un espacio de proyección que convierte
líneas rectas en líneas rectas y puntos en puntos, de forma que se tiene una pareja de proyecciones de perspectiva.
Describen lo que ocurre a la posición percibida de los objetos cuando cambia el punto de vista del observador.
aunque no respeta los tamaños ni los ángulos.
Por lo tanto, dado para cada secuencia de vídeo un conjunto de correspondencias entre puntos origen del plano
imagen P = (x; y; 1), y puntos destino del plano cenital P’ = (x’; y’; 1), se puede estimar la matriz de
transformación H que satisfaga:
𝑃′ = 𝐻𝑃
Con coordenadas homogéneas:
𝑥′ =ℎ11𝑥 + ℎ12𝑦 + ℎ13
ℎ31𝑥 + ℎ32𝑦 + ℎ33
𝑦′ =ℎ21𝑥 + ℎ22𝑦 + ℎ23
ℎ31𝑥 + ℎ32𝑦 + ℎ33
Donde hij son los valores de la matriz de Homografía.
Además, cuantos más puntos se utilicen para establecer cada una de las homografías, más precisa será la
interpolación (o extrapolación) de todos y cada uno de los nuevos puntos que se originen en el plano imagen y
quieran proyectarse al plano cenital. Para permitir la introducción de estas correspondencias de puntos se ha
programado desde cero en C++ un módulo que permite la selección secuencial de los mismos en el plano de la
cámara y sobre un plano cenital virtual. A continuación, se muestran algunas de las homografías usadas en las
secuencias de vídeo:
• Las marcas azules se han introducido de forma manual en el sistema buscando siempre puntos
característicos fácilmente reconocibles entre el plano imagen y el plano cenital.
• La región amarilla translúcida de cada imagen de las cámaras es una región de interés introducida
15 Imagen en alta resolución obtenida de http://wallpaperswide.com/football_pitch-wallpapers.html
(3–2)
(3–3)
(3–4)
Sistema Implementado
22
también de forma manual adaptada a cada cámara con el fin de no realizar ningún procesamiento de
vídeo en ninguna zona de que no sea de interés porque claramente nunca habrá jugadores en ella.
• La región amarilla translúcida de cada imagen cenital es la proyección de la región de interés del plano
imagen sobre el plano cenital, únicamente usando la matriz de proyección homográfica generada a partir
de las parejas de puntos. Se puede apreciar a simple vista la bondad de las proyecciones calculadas.
Tabla 3-1. Correspondencia de puntos para algunas homografías precalculadas.
Planos imagen Planos cenitales
Cualquier punto interior a las zonas señaladas de los distintos planos imagen (es decir, las zonas en las que se
moverán los jugadores) tendrá su correspondencia en el interior de la zona calculada de los diferentes planos
cenitales, lo cual será fundamental para hacernos una idea del movimiento de los jugadores a medida que
avanzan los fotogramas de las secuencias de vídeo. En el Anexo A (Punto 7) se pueden encontrar más ejemplos
de homografías utilizadas para distintas secuencias.
23 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
3.2.3 Histogramas
Ha quedado establecido que la característica más importante (por no decir la única) que podemos usar a la hora
de clasificar las distintas detecciones de jugadores para otorgarles la pertenencia a un equipo u otro (o árbitros y
porteros si se diera el caso) es el color. Para ello, tras analizar las distintas secuencias de vídeo con las que se ha
trabajado se decidió implementar un clasificador sencillo de histogramas de las distintas siluetas, siguiendo un
modelo similar al empleado en [16]
El espacio de color más habitual es el RGB, pero representando el color así cualquier cambio de iluminación
afecta por igual a las tres componentes de color: rojo, verde y azul. Dado que las condiciones de iluminación
son tan variables en las secuencias estudiadas se decidió utilizar un espacio de color que pudiera inmunizarse un
poco más a la aparición de sombras y reflejos, así como de artefactos propios de la codificación del vídeo debido
a una baja resolución. El espacio elegido es el HSV, pero prescindiendo de la componente de Valor (o intensidad)
que es la que concentra toda la información de luminosidad. Por tanto, al quedarnos solo con las componentes
de matiz y saturación, tenemos representaciones más puras del tono de color exacto que estamos buscando,
mientras que las variaciones del Valor solo implican que el tono se haga “más claro” o “más oscuro”.
Figura 3-4. Cambios de iluminación afectan a todo el RGB, mientras que solo afectan al Valor de HSV.16
Para ello se clasificaron manualmente 10 siluetas al azar de cada una de las categorías de cada una de las
secuencias de vídeo, y se almacenó el valor de sus histogramas bidimensionales HS. En aras de reducir la
intervención humana todo lo posible, el criterio de selección de siluetas fue simplemente almacenar todos los
contornos generados por un detector de movimiento simple, sin ajustar ni modificar, para introducir
voluntariamente cierto nivel de ruido en las muestras de entrenamiento, similar al ruido que luego sería constante
durante la ejecución del procesamiento y la clasificación. Algunos ejemplos automáticamente generados que
fueron clasificados manualmente para una de las secuencias son los siguientes:
Figura 3-5. Contornos típicos de entrenamiento.
Seguidamente durante la ejecución del programa, todas las siluetas que el detector de movimiento y de
restricciones geométricas valida se convierten al espacio de color HSV utilizando OpenCV para realizar las
operaciones matemáticas, se les elimina igualmente la componente V y se comparan con los histogramas de
16 Figuras obtenidas de https://en.wikipedia.org/wiki/HSL_and_HSV
Sistema Implementado
24
entrenamiento almacenados.
En el módulo de clasificación 3.4 se darán más detalles sobre el proceso de decisión de clasificación.
3.3 Detección
Inicialmente se abordó el problema de la detección de los jugadores en cada uno de los fotogramas intentando
clasificar utilizando color y textura para eliminar la zona del terreno de juego. Esta aproximación al problema
se ha utilizado con éxito en la literatura en vídeos seleccionados específicamente para ello, incluso utilizando
histogramas RGB completos para detectar y eliminar todo aquello que fuera clasificado como “verde” [34].
Figura 3-6. Izquierda: fotograma inicial. Derecha: detector de terreno de juego con condiciones ideales según
[34].
En nuestro conjunto de datos, incluso asumiendo que un campo de fútbol tiene el verde como color distintivo
dominante, no se debe olvidar que el clima, la iluminación, las sombras y los propios artefactos del vídeo hacen
que no se pueda fijar de forma invariante un rango de tonalidades que se puedan filtrar para eliminar el fondo
del campo de forma fiable. Se probaron distintas combinaciones de filtrado (tanto fijas como adaptativas [6]) y
no se conseguían resultados satisfactorios.
Figura 3-7. Arriba: fotograma inicial. Abajo: distintos de detectores de terreno sin resultados satisfactorios.
De hecho, intentar hacer el filtrado más agresivo en el rango de colores únicamente acababa perjudicando más
25 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
a aquellos elementos que queríamos detectar, sin conseguir siquiera eliminar los artefactos de ruido indeseables.
Se decidió optar por utilizar técnicas de eliminación de fondo basado en movimiento para centrar los esfuerzos
en encontrar todo aquello que sí fuera jugador sin mermar la eficiencia computacional. El algoritmo utilizado en
este módulo fue un Modelo de Mezcla de Gaussianas con estimación de máxima verosimilitud (EM) para la
inicialización que viene implementado en la librería OpenCV, modificando los valores de los umbrales de
inicialización y del número de gaussianas utilizado para adecuar la carga computacional a las secuencias
procesadas. Consecuencia del uso del algoritmo de EM es que en cada comienzo de procesamiento se tardan un
número de fotogramas en inicializar el modelo durante los cuales no obtenemos ninguna detección.
Tras probar distintas implementaciones y grupos de parámetros de diferentes detectores de movimiento, la
conclusión que se obtiene es que no se ha llegado a ninguna combinación que funcione como una “navaja suiza”
apta para todos los vídeos en todas las condiciones.
A pesar del uso de técnicas ampliamente probadas para esta tarea, las secuencias de vídeo con las que trabajamos
siguen presentando tal cantidad de ruido y sombras moviéndose que es necesario definir conjuntos de
operaciones morfológicas [14] con kernels diagonales u horizontales adaptados a reducir aquellos patrones de
carácter más horizontal que sobresalgan de las siluetas detectadas. Para ilustrar a lo que nos referimos,
observemos la siguiente imagen:
Figura 3-8. Operaciones morfológicas para detectar jugadores en movimiento tras eliminar sombras.
En ella se pueden apreciar varios detalles importantes de los que ya hemos hablado:
• La notable perspectiva afecta críticamente a los modelos, histogramas y geometría de todos los
algoritmos implementados (en concreto, el caso radical del árbitro de la banda del fondo, que es apenas
un punto negro casi imperceptible por ser varios órdenes de magnitud más pequeño que los jugadores
en primer plano)
• La extrema relevancia de las sombras, las cuales muchas veces nuestro cerebro ha aprendido a ignorar
pero que también afectan y cómo las operaciones morfológicas pueden separar incluso sombras muy
notables de los jugadores que las originan sin comprometer a las siluetas más pequeñas de interés.
• Además, se puede apreciar la necesidad de movimiento que impone el sistema para funcionar. Los dos
árbitros (amarillo dentro del área) permanecen muy estáticos mucho tiempo, tienden a desaparecer y
sus detecciones no sobreviven a los filtros morfológicos. Una posible solución es llevar distintos
modelos de detección de movimiento en paralelo e ir refrescándolos cada cierto número de fotogramas
con el fin de tener más control sobre aquellos elementos que se fusionan con el fondo de forma no
deseada.
Junto con las operaciones morfológicas17 básicas y sus derivadas más inmediatas como pueden ser la apertura
17 Redirigimos al lector en este punto a la profusa explicación de operaciones morfológicas que se puede encontrar en [14].
Sistema Implementado
26
(erosión + dilatación, útil para eliminar pequeñas regiones conectadas entre sí) o el cierre (dilatación + erosión,
útil para cerrar pequeños agujeros dentro de siluetas conectadas), en algunas secuencias se han tenido que utilizar
otras más complejas como las denominadas “Top-Hat” y “Black-Hat” para computar en algunos casos las
diferencias entre las máscaras iniciales y su apertura o cierre. Dichos conjuntos de operaciones utilizadas sobre
las máscaras binarias previas a la segmentación de los jugadores y sus parámetros han sido elegidos de forma
empírica para cada una de las secuencias con las que se ha utilizado el entorno de trabajo diseñado. Por norma
general, se intentará siempre romper los huecos relevantes que se encuentren en las siluetas con respecto a algún
criterio de simetría para evitar aumentar el problema de las sombras en vez de reducirlo. Por ejemplo, en la
siguiente imagen se muestra una situación en la que utilizar las operaciones morfológicas en un orden no
adecuado da lugar a acrecentar el problema de las sombras:
Figura 3-9. Empeoramiento del problema de las sombras por mala morfología, causando gran oclusión
innecesaria.
A continuación, para cada una de las secuencias se utilizan las siguientes restricciones geométricas heurísticas
que determinarán si nos encontramos ante una posible detección individual, ante una oclusión o ante una silueta
descartable (estos parámetros se consideran para el primer plano de la imagen y se escalan mediante el modelo
lineal de profundidad explicado en la sección 3.2.1 a medida que cada posible silueta ve aumentada su
coordenada y):
• Para ser considerada un objetivo individual (escalado según su coordenada y):
o Área mínima que ocuparía una persona en el primer plano del plano imagen.
o Alturas mínima y máxima.
o Anchuras mínima y máxima.
o Relación de aspecto entre el alto y el ancho (con el fin de explotar cualquier restricción posible,
los jugadores pasan prácticamente la totalidad del tiempo de las secuencias erguidos, y dada la
naturaleza más o menos “horizontal” de las sombras que hayan podido resistir las operaciones
morfológicas es conveniente descartarlas así).
• Para ser considerada una posible oclusión (escalado según su coordenada y):
o Debe incumplir los requisitos de objetivo individual.
o Debe a su vez satisfacer unas restricciones más laxas pero no ilimitadas de área ocupada y
tamaño.
• Para ser descartada:
o No debe cumplir ninguna condición anterior. En este caso la detección se ignora por ser
demasiado pequeña (es ruido espurio), demasiado grande (es un error grave del detector de
movimiento o una oclusión demasiado inmanejable que debe manejar el sistema de
seguimiento dejando los tracks con la inercia que ya tuvieran) o es “demasiado” horizontal por
lo que casi seguro es una sombra y debe ignorarse.
Tras aplicar estos criterios a todas las siluetas de la máscara resultante, se genera un vector de rectángulos que
circunscriben a las detecciones individuales y otro vector de siluetas que pueden ser oclusiones. Además, en el
caso de las detecciones individuales se computa la posición de cada uno de los puntos medio de la base de los
27 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
rectángulos para estimar lo que sería el punto medio de contacto del jugador con el plano del suelo. Dicho punto
será el que se proyecte sobre el plano cenital utilizando la matriz de homografía para visualizar la posición de
cada objetivo sobre el plano.
3.4 Clasificación
Este bloque es el encargado de obtener los histogramas bidimensionales HS para cada una de las posibles
detecciones individuales tal y como se explicó 3.2.3. Una vez obtenidos, se comparan utilizando la distancia de
Bhattacharyya, que es una métrica estadística simple que mide el parecido entre histogramas y su
superposición. El procedimiento se ilustra a continuación:
Figura 3-10. Comparación de histogramas HS de detecciones individuales con los precalculados. (Figura de
[16])
Usando este criterio, histogramas idénticos obtienen una distancia de 0, mientras que dos completamente
distintos obtendrían un valor 1, obedeciendo a la siguiente métrica tras comparar la nueva muestra con todos los
entrenados:
Donde pv es el histograma de la nueva silueta, qv es uno de los precalculados en la fase de entrenamiento y M es
el número de comparaciones.
Para cada una de las comparaciones se va guardando un valor que idealmente debe tender a 0. Si tras terminar
las comparaciones con todos los histogramas de todas las categorías posibles (dos equipos, dos porteros y
árbitros) no hay ninguno que se aproxime a 0 por debajo de cierto umbral empírico mínimo o no se diferencia
el mínimo absoluto del segundo mínimo entre sí lo suficiente, concluimos que la detección individual no ha
podido asignarse a ninguna categoría y se marca como detección descartada.
donde
𝐷𝑏(𝑦) = √1 − 𝑃[𝑝𝑣(𝑦), 𝑞𝑣]
(3–5)
𝑃[𝑝𝑣(𝑦), 𝑞𝑣] = ∑ √𝑝𝑣(𝑦)𝑞𝑣
𝑀
𝑣=1
(3–6)
Sistema Implementado
28
Este criterio, aunque pueda parecer drástico, es conveniente en el contexto de las grabaciones no profesionales
con las que trabajamos en el presente proyecto. En muchos casos incluso un observador humano tendría serias
dudas al decidirse por alguna categoría de clasificación a pesar de jugar con conocimiento de la evolución de los
objetivos, con más razón si cabe en el caso de un detector y un clasificador sin memoria entrenado a partir de
unas pocas muestras de vídeos ruidosos, con perspectiva muy forzada, objetivos pequeños, iluminación hostil y
tiempos de exposición a veces inadecuados. Por todo ello es preferible no arriesgar emitiendo una clasificación
en caso de duda y dejando que sea el siguiente bloque constructivo de seguimiento el que tome decisiones acerca
de la creación, actualización y destrucción de tracks. Un ejemplo que ilustra este hecho es la aparente similitud
entre las dos siguientes categorías de clasificación de uno de los datasets:
Figura 3-11. Detalle de imagen: Dificultad en la clasificación de equipos de distintas categorías.
Una vez terminada la función del bloque clasificador obtendremos una salida como la siguiente:
Figura 3-12. Salida de la clasificación a partir del bloque detector.
En dicha figura se pueden apreciar los bloques de detección y clasificación trabajando conjuntamente para
detectar el movimiento de la escena, limpiarla de ruido, reducir las sombras al mínimo (aunque en esta secuencia
de vídeo se consigue a costa de penalizar la precisión de las siluetas debido a la altísima perspectiva) y la
clasificación en dos categorías:
• Las siluetas que han podido ser clasificadas con éxito por haber encontrado una distancia de
Bhattacharyya suficientemente pequeña de forma unívoca reciben su categoría en forma de rectángulo
del color asociado a la detección (rojo o verde en esta secuencia de vídeo)
• Aquellas que no cumplen algún requisito del detector directamente ni se admiten al clasificador
(hablamos de los fragmentos de sombras grises o blancos)
• Aquellas que sí han sido admitidas al clasificador pero no arrojan un resultado concluyente son
rechazadas dejando al siguiente bloque de seguimiento la tarea de gestionar qué hacer si hubiera algún
track asociado a ese objetivo.
29 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
3.5 Asignación
Para explicar este apartado supondremos que el conocimiento que actualmente tenemos del sistema de
seguimiento es suficiente: se da por hecho la existencia de un bloque que registra, actualiza, mantiene y destruye
cuando es necesario los identificadores de los jugadores ya clasificados en alguna de las categorías y sus
trayectorias a lo largo del tiempo basado en un modelo de movimiento probabilístico (banco dinámico de filtros
de Kalman). Por tanto es fácil comprender que en cualquier instante temporal t tendremos un conjunto de N
tracks que hayan sido inicializado en instantes anteriores, y otro conjunto de M detecciones confirmadas por
el detector y clasificador sin memoria en ese instante t. Por ello:
Definición de Asignación Multiobjetivo: Proceso de asociar M medidas inciertas a N tracks ya conocidos.
En función de si hay más detecciones que tracks activos (entran jugadores nuevos en escena o hay mucho ruido
de detección) o viceversa (salen jugadores de escena, errores en el detector o clasificador) se abre un abanico de
posibilidades que deberá resolver la lógica que gobierna el banco de filtros de Kalman implementado al
considerar el exceso de trayectorias como un posible criterio para hacerlas desaparecer, o el exceso de medidas
como un posible criterio para originar el seguimiento de nuevas trayectorias.
El problema de la asignación conlleva crear una matriz de pesos que ponderen mediante algún tipo de métrica
(euclídea, Mahalanobis con las covarianzas, etc. [35]) que se pueda reducir a un vector de asignaciones
minimizando los costes. Hay que tener en cuenta que la forma de resolver este problema mediante los vecinos
más cercanos no asegura el mínimo global del vector de costes, por lo que es necesario resolver un problema
más complejo de programación lineal (Algoritmo de Kuhn-Munkres (M ≠ N) o Húngaro (M = N)) [33] que
efectúe la asignación garantizando el mínimo global del sistema. La siguiente figura ilustra esta cuestión:
Figura 3-13. a) Asignación basada en el vecino más cercano. No consigue el mejor mínimo global de la
asignación de costes. b) Programación lineal, M = N, se alcanza el mínimo global de asignación.18
La implementación del Algoritmo de Kuhn-Munkres utilizada para resolver el problema de asignación se realiza
sobre la marcha fotograma a fotograma sin memoria de asignaciones previas. Se ha utilizado una versión en
lenguaje de programación C++ del sistema desarrollado inicialmente para MATLAB que se encuentra
disponible en [36].
18 Figura de Kai Arras, Gian Diego Tipaldi, 2010, transparencias de “Robotics Data Association” – Freiburg University
Sistema Implementado
30
Figura 3-14. Izquierda: Solución de la minimización global de costes en el problema de asignación en el grafo
bipartito. Derecha: Aplicación práctica con dos tracks que se encuentren en la función de densidad de
probabilidad elipsoidal asignados a las detecciones rectangulares correspondientes.
Como particularización de la implementación utilizada y como ya se ha explicado que ocurre en los otros
módulos del sistema de seguimiento multiobjetivo desarrollado, hay que tener en cuenta la aplicación de la
aproximación lineal para compensar la perspectiva en todos los cálculos que se hagan en la asignación de pesos
en la matriz que resuelve el módulo de asignación.
3.6 Seguimiento
Como ya se ha comentado varias veces a lo largo del presente proyecto, el peso del módulo de seguimiento recae
sobre un vector dinámico de filtros de Kalman [19] [37], en el que aprovechando el alcance de la solución
implementada se busca lograr un sistema de seguimiento que sea modular y capaz de operar en tiempo real.
Cuando cada jugador es detectado y clasificado por primera vez se añade un filtro de Kalman dedicado en
exclusiva al seguimiento de dicho jugador. Un jugador individual puede ser modelado gracias a los descriptores
y definición de objetivo utilizados como un estado xk y una medida zk en cierto instante k.
𝑥𝑘 = [𝑥 𝑦 𝑣𝑥 𝑣𝑦]𝑇 (3–7)
𝑧𝑘 = [𝑥 𝑦]𝑇 (3–8)
Donde x e y son las coordenadas en el plano imagen del punto medio la base del jugador, y vx y vy representan la
velocidad del jugador en el plano imagen teniendo en cuenta el efecto de la perspectiva (Apartado 3.2.1).
A partir de aquí el filtro de Kalman modela las siguientes ecuaciones estocásticas diferenciales
𝑥𝑘 = 𝐴𝑥𝑘−1 + 𝑤𝑘−1 (3–9)
𝑥𝑘 = 𝐻𝑥𝑘 + 𝑣𝑘 (3–10)
Donde A es la matriz de estado del modelo (con ∆t el parámetro que indica cada cuánto se realiza la fase de
actualización del filtro de Kalman - habitualmente la inversa de los fotogramas por segundo del vídeo para
actualizar una vez por fotograma el estado del modelo), H es la matriz del modelo de observaciones y las
variables aleatorias wk y vk representan ruido del proceso y de la medida.
31 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
𝐴 = [
1 0 ∆𝑡 00 1 0 ∆𝑡0 0 1 00 0 0 1
]
(3–11)
𝐻 = [1 0 0 00 1 0 0
]
(3–12)
Dado que la velocidad de cada jugador no es en absoluto constante a lo largo del partido, eligiendo ∆t con
cuidado podemos controlar la frecuencia de actualización del filtro de Kalman correspondiente. Este dato es
importante sobre todo para aquellos jugadores que se encuentren bastante al fondo de la escena puesto en esa
región la perspectiva una vez más nos supone problemas adicionales:
• Es la zona más propensa a ruido incontrolable tanto de artefactos de vídeo, como de iluminación, como
de oclusiones que perjudiquen la medida (fuentes de ruido ajenas al sistema).
• Debido a las sombras tan prominentes y necesitar operaciones morfológicas a veces agresivas, la zona
del fondo de la escena es la más propensa a sufrir errores de detección autoprovocado por el propio
sistema.
• En este entorno tan complejo, además los jugadores se mueven a muy baja velocidad en el plano imagen
aunque vayan corriendo muy rápidamente en la proyección del plano cenital. Por tanto hay que
“ralentizar” el modelo cinemático de los tracks a medida que se alejan del primer plano para evitar tener
objetivos muy propensos a saltar entre detecciones a muy alta velocidad relativa. Esto se realiza
utilizando el mismo concepto de proporcionalidad lineal ya explicado previamente, actualizando las
matrices A y H con un ratio escalado por el coeficiente de profundidad. En la siguiente figura podemos
comprender un poco mejor a lo que nos referimos:
Figura 3-15. El jugador más cercano al plano imagen puede recorrer en dirección x el campo de visión en tres
zancadas. Ese mismo jugador en la banda opuesta necesitaría unas diez veces más, aunque fuera a la misma
velocidad. Los tracks del fondo a medida que aumenta la coordenada y deben “ralentizarse”.
Sistema Implementado
32
3.6.1 Lógica de seguimiento de tracks individuales
Un aspecto importante dentro del sistema de seguimiento implementado es la lógica de gestión del vector de
filtros de Kalman, cada uno de los cuales es responsable de idealmente mantener la identidad de un único jugador
a lo largo del tiempo. Dicha gestión es la responsable de los criterios de generación, actualización y destrucción
de los tracks de cada categoría de clasificación de equipos.
Es por tanto un sistema capaz de adaptarse automáticamente al cambio en el número de objetivos en tiempo de
ejecución inicializando tracks cuando entran nuevos jugadores en escena y destruyéndolos cuando salen de
escena o dejan de ser relevantes.
Además del identificador19, de información de posición en el plano imagen y en el plano cenital, información
sobre su modelo cinemático y del equipo al que pertenece, cada track tiene una serie de parámetros adicionales
que condicionan su comportamiento:
• Contador de fotogramas consecutivos para inicializarse: Debido al alto ruido que poseen las secuencias
de vídeo, la fase de entrenamiento del algoritmo EM previo al detector de movimiento y el hecho de
que el detector y el clasificador distan mucho de ser perfectos, no es conveniente crear un track a la
primera detección confirmada de un jugador, sino que antes de ello se exige un cierto número de
fotogramas validados para aumentar la confianza de la creación.
Figura 3-16. Secuencia recién comenzada. Empieza a haber detecciones de los que se han movido (no
todos), pero no hay tracks dado que están esperando confirmación consecutiva.
• Contador de fotogramas consecutivos para destruirse: Cuando un track se queda sin asignar varios
fotogramas consecutivos a ninguna detección de su misma categoría la probabilidad de que ese track se
pierda irremediablemente o le robe la identidad a otro se dispara. A veces forma parte del desarrollo
normal (el jugador ha salido de escena) pero otras veces hay que dar el seguimiento por finalizado.
• Zona de exclusión: es una “peana” elipsoidal imaginaria situada alrededor de cada uno de los tracks
confirmados (afectada por el ratio de profundidad, como prácticamente todos los parámetros
geométricos y cinemáticos del sistema). Cada vez que se va a originar un track nuevo porque se ha
cumplido la condición de varias detecciones confirmadas consecutivas de la misma clase, se
comprueba que dicho punto de generación no pertenece a ninguna zona de exclusión de ningún
otro track. Puede parecer una decisión muy drástica, pero este sistema impide que aparezcan múltiples
“jugadores” de la nada, o que un mismo jugador confirmado de un equipo empezara a generar múltiples
tracks en el mismo punto si el clasificador empieza a fallar. Gracias a ello se consigue que en todo caso
el track que está en esa zona deba ser eliminado si le corresponde antes de inicializar otro perteneciente
a otro equipo. Además, tienen otra implicación muy deseable que se entenderá mejor cuando se hable
de las oclusiones en el siguiente apartado.
• Se estudió la posibilidad de directamente no permitir crear nunca ningún track en amplias zonas del
campo dado que los jugadores no deberían aparecer de la nada pero se desestimó por la frecuencia con
la que jugadores que no se movían desde el principio de la secuencia empezaban a caminar.
19 Etiqueta única y unívoca para cada track de un equipo distinto que se haya creado en la secuencia de vídeo.
33 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Figura 3-17. Izquierda: La zona de exclusión del árbitro (“1 amarillo”) impide que se inicie un track rojo
por una mala clasificación. Derecha: el jugador “4 marrón” no está detectado pero su track aguanta su
identidad cierto número de fotogramas antes de correr peligro.
Con todo eso aclarado, tras resolver el problema de asociación entre N tracks existentes y M detecciones
posibles, se abre un abanico de posibilidades para cada categoría de “equipo” de clasificación:
• No hay tracks y sí detecciones: Se inician tracks si han sido confirmados durante varios fotogramas
consecutivos.
• No hay detecciones pero sí tracks: Ejecutan su predicción de movimiento pero se decrementa su
fiabilidad, aumentando el riesgo de desaparecer.
• Hay más detecciones que tracks: se asigna cada track a su detección válida más cercana (dentro de un
límite, escalado por la profundidad), se comprueba si se pueden iniciar tracks válidos para las
detecciones sin asignar (si las zonas de exclusión y los contadores de validación lo permiten) y si quedan
tracks sin asignar se ejecuta su predicción pero se decrementa su fiabilidad.
• Hay más tracks que detecciones: mismo procedimiento que el caso anterior.
3.6.2 Lógica de seguimiento de oclusiones
Uno de los principales objetivos del presente proyecto es la gestión de oclusiones. Cuando estas son debidas a
un cruce rápido entre varios jugadores sin que crezca la máscara del detector es más que probable que cada uno
de los respectivos filtros de Kalman utilice su inercia para reencontrarse con su detección una vez se separe la
oclusión.
Por el contrario, si dicha oclusión permanece en el tiempo, o si directamente la máscara de la oclusión era
demasiado grande para pertenecer a una única entidad (en función de la profundidad) el detector marca esa
silueta como una silueta “abductora” capaz de retener en su órbita a tracks individuales sin dejar que incrementen
su contador de destrucción.
Idealmente este sistema permitiría mantener pseudoindefinidamente tracks (de distintas categorías o de la
misma) dentro de una oclusión sin permitir que desaparezcan con el tiempo, ni que se creen en su interior (por
ser una silueta abductora no dispara el clasificador para evitar confusiones por la mezcla de colores, ver diagrama
de bloques de 3.1), y por las zonas de exclusión de los tracks abducidos).
Sistema Implementado
34
Es más, una oclusión puede a su vez evolucionar en el tiempo, creciendo, encogiéndose y moviéndose. Por tanto,
e inspirados por el vector dinámico de filtros de Kalman ya explicado para los jugadores individuales se ha
procedido a implementar un vector dinámico de filtros de Kalman para gestionar las siluetas abductoras que
equivalen a oclusiones por ser demasiado grandes.
El algoritmo de gestión de oclusiones se inicializa con cero subgrupos. Cuando el detector de oclusiones estima
que aparece alguna, se inicia de forma similar al gestor de tracks normales, con la salvedad de que las oclusiones
tienden a mutar mucho más rápido: crecen, encogen, se separan, se fusionan con otras, etc. Por ello los
parámetros explicados en 3.6.1 no aplican en el caso de las oclusiones.
No distingue entre la categoría de los tracks individuales que la conforman: las oclusiones pueden producirse
tanto entre jugadores de un mismo equipo, como de ambos, o incluso los árbitros y porteros.
Funciona mejor para oclusiones que duren poco en el tiempo (del orden de decenas de fotogramas consecutivos
o menos). Para órdenes mayores de magnitud temporal, la probabilidad de que la dirección de entrada de un
track individual haya perdido cualquier relación con su dirección de salida se dispara, suponiendo un estrés muy
elevado para el sistema de asignación de tracks, que puede llegar a confundirse cuando quedan libres de la
oclusión.
Debido a la mencionada volatilidad de las oclusiones (los jugadores se unen desde distintas profundidades,
regatean, cambian de velocidad, las sombras de los jugadores se unen, o simplemente ocurre una mala detección
en el paso anterior), una oclusión puede desaparecer repentinamente. En ese caso, si esa oclusión había llegado
a absorber tracks individuales, estos quedarán libres manteniendo la inercia que les hubiera impuesto la silueta
abductora, tras lo cual el paso de asignación los emparejará con las detecciones individuales que por necesidad
habrán de aparecer en esa zona.
Situación similar ocurre si no había llegado a absorber ningún track individual: el track abductor se destruye sin
haber afectado a ninguno de los tracks individuales que seguirán emparejados con su detección correspondiente
sin haber visto modificado su patrón de inercia ni trayectoria
El mecanismo de absorción de tracks individuales dentro de uno colectivo es el siguiente:
• Cuando un track queda cerca de la región de influencia de una oclusión confirmada por el detector,
queda vinculado a esta de forma que respeta la inercia que llevara su patrón de movimiento, pero no se
le permite moverse libremente. En lugar de eso ve su movimiento modificado por la silueta de la
oclusión.
• Se guarda la posición relativa de entrada en la silueta abductora, y se hacen búsquedas en la dirección
y el sentido en el que se estuviera moviendo por si apareciera una detección individual sin asignar
adyacente al otro lado del blob abductor (el jugador ha cruzado la oclusión) o en la zona por la que ha
entrado (el jugador ha regateado y abandona la oclusión por donde entró).
Una peculiaridad de la implementación del seguidor de oclusiones es que no se pueden inicializar tracks
individuales dentro de él. Esta imposición es fácil de asumir dado que para que una oclusión se forme, debe
haber un conjunto de tracks ya existentes que converjan en el mismo espacio (los tracks no deben aparecer de
la nada), y tiene una ventaja doble:
• No tener que decidir el número exacto de detecciones individuales que conforman la detección de la
oclusión. Las situaciones observadas en las distintas secuencias de vídeo son tan variadas que permitir
generar tracks en mitad de una oclusión supone problemas muy graves como no tener una inercia de
movimiento que actualizar y predecir con su filtro de Kalman (todos los tracks aparecerían en un mismo
punto y prácticamente parados, con el consecuente problema de asignación que esto implica por
necesitar una detección individual a la que emparejarse).
• No tener que decidir una categoría de clasificación para cada track recién creado dentro de una oclusión.
El histograma de una oclusión no tiene por qué corresponderse con ninguna de las categorías de
clasificación utilizadas (debido a la posible existencia de sombras en la oclusión), o en caso de sí
corresponderse, tener una puntación de clasificación muy baja. Además, se necesitarían varios
fotogramas consecutivos de validación antes de generar un track nuevo, hecho que haría que se tuvieran
aún más fuentes de error en el seguimiento multiobjetivo.
35 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Tras la extensa explicación de los detalles de implementación del seguidor de oclusiones y cómo afecta a los
tracks individuales a lo largo del tiempo, vamos a analizar el detalle de una secuencia paso a paso para acabar
de comprender el funcionamiento de forma mucho más clara:
Figura 3-18. Caso de uso de detector y seguimiento de oclusiones y cómo afecta a los tracks individuales.
a) Tres jugadores bien detectados y estudiados: “1 azul”, “1 amarillo”, “2 amarillo”. El azul empieza a
provocar una oclusión etiquetada como “1 negra”.
b) El azul y el “1 amarillo” quedan integrados en una oclusión clasificada como tal por conformar una
silueta demasiado grande para poder ser un único jugador (escalado por la profundidad).
c) Los tres jugadores avanzan hacia la derecha, pero el azul se queda rezagado. El track de la oclusión
considera que se han separado y deja libres a los tres individuales respetando su inercia y posiciones
relativas. La oclusión “1 negra” desaparece, pero seguidamente ambos jugadores amarillos crean otra
oclusión y aparece un nuevo track abductor (“3 negro”).
d) El azul sigue atrás, totalmente independiente. Ambos amarillos siguen manteniendo la “oclusión 3” que
avanza lentamente.
e) Los tres jugadores salen corriendo repentinamente hacia la derecha (se aprecia en sus estelas), y el azul
queda englobado en el track abductor.
f) El azul vuelve a quedarse atrás, se asigna correctamente a su detección azul y aunque sigue avanzando
hacia la derecha, su silueta está separada de la “oclusión 3” mientras ambos amarillos siguen unidos
pero gracias al sistema de seguimiento de oclusiones mantienen sus identidades en la secuencia.
(Aunque no tiene nada que ver con el caso de estudio, nótese cómo el jugador al fondo inicialmente
clasificado como “5 amarillo” tras múltiples detecciones azules ha acabado siendo “6 azul”. Este hecho
es perfectamente asumible dado que incluso un observador humano tendría dificultades detectando y
clasificando correctamente a ese jugador tan chico en una imagen de tan poca resolución).
g) Finalmente ambos jugadores amarillos abandonan la escena, se deshace la “oclusión 3” por lo que los
tracks individuales quedan libres y al no haber detecciones que los alimenten ambos tracks inician la
cuenta atrás para ser destruidos.
Aunque el detector y mantenedor de oclusiones mejoran notablemente la estabilidad, fiabilidad y precisión del
sistema de seguimiento global, sigue habiendo muchas situaciones de las que no se puede recuperar (algunas
incluso propias del desarrollo normal del partido, como saques de esquina, celebraciones de gol, jugadas a balón
parado, etc.).
a) b) c) d)
e) f) g) h)
Sistema Implementado
36
3.7 Homografía
Este bloque únicamente se encarga de utilizar las matrices de proyección homográfica que ya estaban
computadas desde el principio (3.2.2) entre el plano imagen y el plano cenital para obtener todas las trayectorias
representadas a la vez en tiempo real sobre un sistema de coordenadas que permite interpretar mucho mejor
todos los datos extraídos por el sistema.
Con el fin de aumentar la comodidad visual de los datos representados sobre la proyección cenital no solo se
proyectan los puntos (x,y) del plano lateral, sino una ventana temporal de cada una de las trayectorias dando
lugar a las estelas por las que ha pasado cada uno de los jugadores:
Figura 3-19. Efecto de la proyección de todos los tracks y sus estelas desde un plano imagen sobre un
plano cenital usando la matriz de proyección calculada desde el principio de la secuencia.
Aprovechamos la figura anterior para poner de manifiesto un nuevo efecto pernicioso de la perspectiva y repasar
las dificultades a las que nos hemos enfrentado durante todo el proyecto. Un jugador al fondo de la imagen puede
ser incluso más de un orden de magnitud más pequeño que otro en primer plano, lo cual tiene las consecuencias
ya analizadas:
• Debilidad a las propias operaciones morfológicas de limpieza de sombras y ruido.
• Necesidad de escalado con la profundidad.
• Menor fiabilidad de la detección, clasificación y seguimiento en el fondo.
Pero es que ahora además se aprecia que las asociaciones de puntos entre plano imagen y plano cenital en el
fondo implican una extrapolación de la proyección, lo que es lo mismo, pequeñas variaciones de incluso píxeles
en el Eje Y implican una proyección prácticamente oscilante en el Eje Y’ del plano cenital en el lado opuesto.
Repetimos la figura anterior realzando estos comportamientos:
37 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Figura 3-20. Efecto pernicioso de la perspectiva sobre la zona de extrapolación de la proyección (el plano
más alejado del plano imagen), a pesar de tener en cuenta el escalado lineal, el Eje Y’ del plano cenital es
muy sensible a las más mínimas perturbaciones del Eje Y del plano imagen.
3.8 Estadísticas deportivas
Dado que éste es un proyecto de ingeniería, es muy satisfactorio poder otorgarle un enfoque práctico con el fin
de ver que el trabajo realizado se materializa en unos resultados concretos. La función de este bloque lógico es
por tanto englobar una serie de ideas y aplicaciones que sirvan de demostración de qué se podría hacer a partir
de la información de posición de cada jugador en los instantes temporales que dura cada una de las secuencias
obtenida por el sistema, así como enseñar implementaciones reales que la industria demanda. Además, podemos
con ello completar uno de los objetivos iniciales del proyecto, que era realizar un entorno de trabajo modular
que pusiera de manifiesto la utilidad práctica de los resultados obtenidos.
3.8.1 Mapas de calor
Sin duda una de las aplicaciones que más fuerza visual aporta a los datos de movimiento sobre un terreno de
juego de cara al espectador son los conocidos como mapas de calor. Mediante ellos se obtiene una representación
de por dónde se ha movido cada jugador o todo el equipo de forma conjunta, y con un gradiente de colores se
representa el porcentaje de tiempo que se ha pasado en cada uno de los puntos.
En el marco del proyecto se ha realizado una implementación partiendo desde cero. Lo interesante es que es
capaz de irse calculando el mapa de calor en tiempo real a medida que se van obteniendo los datos de posición
de cada jugador. Para ello se va generando una máscara binaria con un círculo centrado en la posición cenital de
cada jugador cada fotograma y contabilizando en número de fotogramas total que se está realizando el
procedimiento. Cada círculo se superpone con otros a medida que los jugadores se van moviendo, añadiendo
valores a las medidas ponderadas de ocupación. Finalmente, la máscara binaria resultante se utiliza para colorear
el gradiente de color usando una suma de matrices ponderada para obtener el efecto de transparencia sobre el
plano cenital sobre el que se pintaban las proyecciones homográficas. A continuación, mostramos algunos mapas
de calor de algunas de las secuencias empleadas:
Sistema Implementado
38
Figura 3-21. Ejemplos de mapas de calor con distribución “Colorscale Jet” obtenidos de algunas
secuencias.
3.8.2 Líneas de fuera de juego posicionales
Otro tipo de información derivada de los datos posicionales obtenidos por el sistema de seguimiento una vez
que estamos sobre el plano cenital es la posibilidad de obtener en tiempo real las líneas virtuales de “fuera de
juego posicional”. Para ello hay que encontrar en cada fotograma al jugador de un equipo más cercano a su
propia portería y trazar en su coordenada X’ del plano cenital una línea perpendicular al campo. Cualquier
jugador del otro equipo atacante que esté más cerca de su portería rival que el último defensa contrario incurrirá
en un fuera de juego posicional. No obstante, es más bien un ejercicio teórico, porque en la práctica hay dos
matices importantes que hacen que la implementación tenga poca utilidad real:
• Estamos únicamente usando una cámara en el alcance inicial del proyecto, por lo que “el último jugador
detectado más cercano a su portería” es más que probable que no sea en todo el campo (hecho que sí
tendría utilidad real), sino solo en el campo de visión de la cámara.
• Las líneas de fuera de juego solo tienen sentido si está involucrado el balón. El estudio del balón está
fuera del alcance inicial del proyecto.
Sin embargo, una vez más estamos ante un buen demostrador visual de información práctica el cual implica
establecer relaciones adicionales entre los jugadores y emitir avisos o alertas específicos.
Figura 3-22. Ejemplo de cómo las líneas de fuera de juego posicionales evolucionan con el estado de los
jugadores. En esta secuencia, la línea virtual izquierda queda delimitada por el jugador “marrón” más a la
izquierda, mientras que la línea virtual derecha queda delimitada por el jugador “blanco” más a la derecha.
39 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
3.8.3 “Campogramas”
Un “campograma” es un término relacionado con el mundo del fútbol que implica dividir todo el campo en
cuadrantes virtuales con una numeración concreta para conocer la ocupación de cada uno de ellos en tiempo
real. Esta información es útil para los entrenadores. A partir de los datos de posición de todos los jugadores, y
utilizando las técnicas de ponderación de máscaras para pintar transparencias desarrolladas para los mapas de
calor (3.8.1), se decidió desarrollar este módulo de cara a completar el demostrador del entorno de trabajo. Por
supuesto también es capaz de operar en tiempo real junto con los otros sistemas desarrollados.
Figura 3-23. Ejemplo de campogramas obtenidos en tiempo real a partir de las posiciones de los objetivos
de la escena.
3.8.4 Medir cualquier distancia relativa
Este último punto parece algo obvio conociendo lo que puede hacer el sistema, pero conviene dejarlo
explícitamente dicho para abrir la puerta a toda una rama de estudio de la información y modelado semántico de
la interactuación entre jugadores, pudiendo ser de gran ayuda para estudiar y planificar estrategias. En concreto
y una vez más, aprovechando la comodidad que da tener la representación cenital donde se pueden medir
distancias reales a escala conocida sin perspectiva:
Figura 3-24. Ejemplo de medición de distancia en el plano cenital y reproyección de esa información de
vuelta hacia el plano imagen.
41
4 RESULTADOS
n este capítulo procederemos a presentar la evaluación del sistema implementado al ejecutar los algoritmos
con los parámetros de configuración elegidos para las secuencias de vídeo estudiadas. Se ha procurado
escoger secuencias con peculiaridades muy distintas entre sí para ver cómo se comportaba el sistema final
trabajando en condiciones complicadas y ver si las configuraciones y relaciones entre los subsistemas de
detección, clasificación y seguimiento aportan una mejoría significativa cuando se diseña cada uno de los
bloques con las consideraciones necesarias para que los otros bloques trabajen de forma óptima.
Para evaluar los resultados se han escogido fragmentos de algunas de las secuencias procesadas por el sistema
en los que se producían situaciones complicadas por los siguientes motivos:
• Detección: Problemas de sombras, perspectiva y baja calidad de algunos vídeos provocan muchos
artefactos y ruido. Se han evaluado los resultados de las secuencias con el sistema de eliminación de
sombras tanto activado como desactivado para ver su impacto en la detección y en los posteriores
sistemas.
• Clasificación: Debido a problemas de iluminación, oclusiones y cambio en la pose de los objetivos, las
métricas utilizadas para la clasificación pueden arrojar resultados erróneos de clasificación. Al calcular
la distancia de Bhattacharyya de un objetivo que va a ser clasificado comparando su histograma en el
espacio de color HS(V) con todo el conjunto de entrenamiento, se ha cuantificado cuánto supone
cambiar la distancia relativa mínima exigida para que el clasificador se decida por una u otra categoría.
En secuencias con objetivos de colores muy diferentes entre sí dicha distancia puede ser más elevada y
el clasificador no cometerá tantos errores, pero en secuencias en las que los objetivos se parezcan entre
sí (por tener equipaciones muy similares o directamente por problemas de iluminación que saturen los
colores), habrá que bajar dicha distancia para poder obtener clasificaciones, con el consecuente aumento
de errores debido a la sensibilidad del clasificador.
• Seguimiento: Cuanto más robustos sean los módulos de detección y clasificación, más robusto será el
sistema de seguimiento porque los errores de un sistema se propagan hacia el siguiente. Por ello el
módulo de seguimiento deberá lidiar con los problemas que no solventen los módulos anteriores. Se
evaluará el rendimiento de este módulo de tracking configurando el escalado de parámetros del vector
de filtros de Kalman y activando y desactivando el submódulo de tratamiento de oclusiones descrito en
3.6.2.
4.1 Métricas utilizadas
Para evaluar el rendimiento antes debemos definir los siguientes conceptos:
• Positivos reales (True Positives, TP): son aquellos valores ciertos tanto para la predicción como para la
realidad. En estos casos el sistema ha acertado con su decisión.
• Negativos reales (True Negatives, TN): son aquellos valores no ciertos tanto para la predicción como
para la realidad. En este caso el sistema acierta al no clasificar el elemento como un “positivo”.
E
Resultados
42
• Falsos positivos (False Positives, FP): El sistema comete un error al considerar que lo que está
analizando se corresponde con un positivo cuando en la realidad no lo es.
• Falsos negativos (False Negatives, FN): El sistema se equivoca al no contabilizar un positivo que en la
realidad sí lo debería haber sido.
Aplicados al caso concreto de nuestro detector y nuestro clasificador:
• Detector:
o VP: un jugador real es detectado como tal, y no es etiquetado como tal por el módulo de
clasificación.
o VN: el detector descarta ruido provocado por sombras, códec de vídeo o cualquier otro
elemento que no sea un jugador, y no lo marca como tal. Los sistemas de clasificación y
seguimiento no tendrán que lidiar con este problema porque ya lo ha corregido el detector.
o FP: el detector marca como “jugador” algo que no debería serlo (engañando por tanto al
clasificador como al sistema de seguimiento, que deberán intentar darse cuenta del error y
compensarlo de alguna manera).
o FN: un jugador real no es detectado. El posterior clasificador no puede hacer nada por corregir
este error en este fotograma, recayendo dicha responsabilidad sobre el sistema de seguimiento.
• Clasificador:
o VP: el jugador real es clasificado con la categoría de equipo que le corresponde según el análisis
de su histograma de matiz y saturación (HS).
o VN: el clasificador no emite una clasificación concluyente para un objetivo que en verdad no
era un jugador. Podemos decir que en este caso el clasificador corrige un falso positivo del
detector, dado que un objetivo que en realidad no era un jugador consiguió llegar hasta el
módulo de clasificación, donde allí ha sido descartado.
o FP: el clasificador se equivoca en la categoría de clasificación. Esto puede ser debido a la
similitud en esa circunstancia del histograma HS del objetivo con los histogramas
precalculados.
o FN: el clasificador no es capaz de determinar la categoría del jugador, a pesar de ser un jugador
de verdad y no una mala detección. Esto puede ser debido a similitudes muy altas entre los
colores de las camisetas, cambios en la pose del jugador con respecto a los histogramas HS
precalculados, o problemas de iluminación.
43 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Ilustremos la estrecha relación entre detector y clasificador con un ejemplo práctico concreto:
Figura 4-1. Ejemplos concretos de errores y aciertos de detector y clasificador. Izquierda: Imagen de entrada con
los resultados de ambos bloques. Derecha: figuras detectadas tras el proceso de clasificación rodeadas por un
rectángulo del color elegido, o rellenas de rojo si clasificación no concluyente.
En la imagen anterior se muestra etiquetado un fotograma procesado de una de las secuencias procesadas que
contiene varios casos simultáneos de detección y clasificación. A la izquierda se han etiquetado los casos
(comenzando por “D” si pertenecen al detector y por “C” si pertenecen al clasificador). A la derecha se aprecia
el resultado del criterio de detección y clasificación. De forma práctica se pueden apreciar:
• DFN (Detector - Falso Negativo): hay un entrenador quieto vestido de blanco que ni siquiera ha sido
detectado (su silueta no aparece. El motivo es que no se ha movido y no ha activado el detector de
movimiento siquiera).
• DTP + CTP (Detector y Clasificador - Verdaderos positivos); hay múltiples casos, se puede apreciar
que sus siluetas han sido detectadas y sus colores correctamente clasificados.
• CFP (Clasificador – Falso Positivo): el clasificador se ha equivocado considerando al jugador del peto
verde como del equipo rojo. Esta secuencia es muy sensible a la clasificación del histograma porque
ambos grupos de clasificación tienen elementos comunes (camiseta roja). Por eso es necesario el umbral
de separación mínima entre categorías.
• CFN (Clasificador – Falso Negativo): la silueta rellena de rojo de la parte superior de la imagen derecha
ha sido detectada correctamente por el detector, pero el clasificador no ha sido capaz de establecer la
categoría del jugador y lo rechaza. Vemos que el umbral de clasificación establece una relación de
compromiso entre los FP y los FN del clasificador.
• DFP + CTN (Detector FP, y Clasificador TN): la silueta rellena de rojo del extremo derecho había sido
detectada erróneamente porque se debe a un error del vídeo (realmente no hay jugador ahí todavía). Al
ser presentada esa silueta al clasificador, este la ha rechazado correctamente por no tener una categoría.
• DTN (Detector – Verdadero Negativo): la sombra del extremo derecho es bastante notable pero el
detector ha sido capaz de descartarla antes siquiera de presentársela al clasificador.
A partir de los conceptos anteriores se definen las siguientes métricas habituales para evaluar el rendimiento de
detectores y clasificadores:
• Precisión (Precision, P): es la relación entre las observaciones positivas predichas correctamente y el
total de observaciones positivas. Cuanto más preciso es el sistema, menor tasa de falsos positivos debe
tener.
𝑃 =𝑇𝑃
𝑇𝑃 + 𝐹𝑃
(4–1)
Resultados
44
• Exhaustividad (Recall, R): es la relación entre las observaciones positivas predichas correctamente y el
número de observaciones relevantes.
• Exactitud (Accuracy, A): es la relación entre las observaciones correctamente predichas y el total de
observaciones.
El sistema de seguimiento es algo más complejo de evaluar dado que la casuística que pueden seguir las
trayectorias es mucho mayor, hasta el punto de rozar a veces la subjetividad, dado que requiere tener en cuenta
la evolución temporal antes de decidir si se responde correctamente, considerando que por ejemplo en una misma
secuencia pueden existir trayectorias muy cortas perfectamente seguidas (un jugador entra en escena y sale de
ella al poco tiempo), y trayectorias muy largas sujetas a muchas perturbaciones.
Algunas métricas habituales [31] para evaluar conjuntamente el rendimiento del sistema de seguimiento y la
lógica de gestión adicional de tracks se presentan a continuación:
• MT (Mostly Tracked): Son las trayectorias seguidas satisfactoriamente durante la ventana temporal de
estudio.
• PT (Partially Tracked): Aquellas que sufren algún incidente que hacen que la ventana temporal no
hayan sido seguidas correctamente siempre.
• ML (Mostly Lost): Aquellas que no son capaces de seguir a su objetivo correspondiente y están perdidas
casi en la totalidad de su ventana de actuación.
• IDS (ID Switches): Es el número de cruces de identidad al confundirse dos trayectorias e intercambiar
objetivos.
• FRMT (Fragmentations): Número de trayectorias fragmentadas, es decir, cuyo objetivo se ha perdido
y se ha reiniciado el seguimiento con otro identificador. Aunque este caso no se considera un éxito
completo, existen algoritmos capaces de reconstruir trayectorias de seguimiento fragmentadas.
4.2 Secuencias de vídeo estudiadas
Los fragmentos de vídeo analizados han sido obtenidos con distintas cámaras de baja/media resolución, con una
tasa de entre 20 y 30 fotogramas por segundo obtenidas gracias a la colaboración de algunos clubes de fútbol
con la Fundación Andaluza de la Imagen, el Color y la Óptica - FAICO. Se ha procurado escoger para el
análisis pormenorizado ventanas temporales que presenten situaciones de interés para los sistemas de detección,
clasificación y seguimiento. Para evaluar los distintos módulos se han usado las métricas cambiando las
condiciones de funcionamiento de cada uno de ellos:
• Detector con módulo de eliminación de sombras o sin él. Es de esperar que cuando se desactive la
eliminación de sombras se tienda a obtener muchos más errores en el detector (los cuales implicarán un
aumento de errores en el clasificador) y la aparición de muchas más “falsas oclusiones” en el sistema
de seguimiento al unirse varios jugadores entre sí en la máscara binaria a través de sus sombras.
𝑅 =𝑇𝑃
𝑇𝑃 + 𝐹𝑁
(4–2)
𝐴 =𝑇𝑃 + 𝑇𝑁
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁
(4–3)
45 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
• Clasificador con cambios en la separación mínima entre histogramas HS necesaria para discriminar
categorías de equipos. En secuencias de vídeo en las que cueste distinguir ambos equipos (debido a baja
calidad o a similitud innata de las categorías de clasificación), aumentar la separación mínima exigida
entre los histogramas HS implicará que el clasificador se muestre mucho más indeciso y genere más
falsos negativos. Reducir esta separación mínima exigida hará que el clasificador tome muchos más
riesgos y pueda dar lugar a cambios de categoría de un mismo jugador en sucesivos fotogramas. Ambos
casos supondrán un estrés adicional para el sistema de seguimiento posterior.
• Módulo de seguimiento con tratamiento de oclusiones y sin ellas. Cuando ocurren oclusiones, los tracks
que intervengan en ellas pueden perderse rápidamente u ocurrir intercambios de identidad no deseados.
El número de trayectorias perdidas, cambios de identidad y fragmentaciones debería ser mayor si no se
utiliza el sistema de tratamiento de oclusiones desarrollado en este proyecto, y en general los índices de
las trayectorias de los distintos equipos a medida que avance la secuencia será mucho más alto.
Una consecuencia de utilizar estos criterios es que el detector no cambiará sus estadísticas cuando el criterio
estudiado sea cambiar un parámetro del clasificador (por eso las curvas de Precision, Recall y Accuracy del
detector se solaparán en los criterios de cambio del umbral de histogramas y activación de seguimiento de
oclusiones. Sin embargo, lo contrario sí se cumple porque los cambios en el detector sí que se propagan al
módulo de clasificador y al módulo de seguimiento.
Procedemos a analizar las secuencias.
4.2.1 Mairena - Conil
La secuencia completa dura 3:49s, está grabada a 25 FPS con una atípica resolución de 352x576, y se han
escogido ventanas de 400 fotogramas. Este vídeo presenta un elevado nivel de ruido, equipos difícilmente
distinguibles (amarillo y gris) bajo una iluminación natural intensa que provoca altas sombras. Ruido de
codificación elevado. La baja altura de la cámara sobre una grada cercana introduce una perspectiva importante.
Tabla 4-1.Mairena - Conil. Comparativa para un mismo fotograma de las distintas pruebas.
a)
• Eliminación de sombras
• Mínima separación HS
exigida: 2%
• Seguidor de oclusiones
b)
• Sin eliminación de sombras
Resultados
46
Como resultado llamativo tenemos que, al contrario de lo que podría parecer, reducir la separación mínima
exigida entre los histogramas de clasificación para rechazar o no la decisión parece ser algo positivo para el
clasificador puesto que desaparecen sus falsos negativos (representados como siluetas rellenas de rojo). Sin
embargo, debido al enorme parecido que hay entre ambos tipos de jugadores, en la práctica acaban
produciéndose multitud de cambios consecutivos en la clasificación de un mismo jugador a lo largo del tiempo,
con todo el problema que eso supone para el sistema de seguimiento.
El caso de aumentar la separación mínima cuando las equipaciones son tan similares por las condiciones de
grabación de la secuencia conlleva que el clasificador rechace muchas más decisiones por no estar totalmente
seguro, lo cual se puede traducir si ocurre con mucha frecuencia en que el sistema de seguimiento se queda sin
observaciones y se pierden las trayectorias.
Tabla 4-2. Mairena - Conil. Precision, Recall y Accuracy de detector y de clasificador para los distintos
criterios de medida.
c)
• Mínima separación HS
exigida: 5%
d)
• Mínima separación HS
exigida: 0%
e)
• Sin seguidor de oclusiones
0,60
0,80
1,00
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400
PRECISION (CLASIFICADOR)
NORMAL SOMBRAS C_INSENSIBLE
C_SENSIBLE SIN OCLUSIONES
47 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Se ve que el detector es bastante preciso porque no introduce falsos positivos. Paradójicamente esto puede ser
un síntoma negativo dado que implica que las operaciones geométricas son agresivas con el fin de quitar las
sombras y puede que quiten algún objetivo válido cometiendo por tanto un falso negativo.
También ocurre el efecto de que si el detector empieza a fallar muchísimo (caso de computar todas las sombras),
es probable que el clasificador tenga poco trabajo que hacer porque apenas hay detecciones válidas, entonces
puede llegar a dos casos límites en los que Precision y Recall parecen tender a infinito:
• Se han encontrado “todos los TP existentes”, aunque su número era cero. FN = 0, por lo que
técnicamente Recall = 1 en este caso frontera.
• No se genera ninguna medida espuria al mantener FP = 0, por lo que en este caso límite técnicamente
Precision = 1 (aunque ni siquiera había datos).
No obstante, este efecto se ve empañado en el clasificador por el hecho de existir esa extrema similitud de
histogramas por la mala iluminación (fuerte luz directa solar da en las camisetas blancas y amarillas, y la cámara
tiene los niveles de brillo muy altos) hace que en general el clasificador sea poco fiable. Usar el clasificador más
sensible hace que mejoren un poco las medidas, pero a costa de variar mucho la clasificación de un mismo
objetivo a lo largo de los fotogramas lo cual es muy perjudicial para el seguimiento.
Resultados
48
Con respecto a las métricas de seguimiento hemos obtenido lo siguiente:
Tabla 4-3.Mairena - Conil. Estimadores del módulo de seguimiento de múltiples objetivos.
Caso MT PT ML IDS FRMT
a) 9 5 3 4 3
b) 3 8 6 7 4
c) 9 5 4 6 7
d) 6 6 5 6 7
e) 7 5 6 7 8
De las distintas respuestas se infiere un patrón esperado a priori:
• Desactivar el detector de sombras perjudica a las detecciones y los errores se arrastran a otros módulos
• Hacer menos sensible al clasificador aumenta el número de fragmentaciones.
• Los resultados no son muy llamativos en vídeos con mucha perspectiva y mala iluminación, tiende a
haber mucho caos.
• Desactivar el gestor de oclusiones dispara los robos de identidad, aunque la suposición es que a medida
que la oclusión dure en el tiempo ocurra justo lo contrario.
• El sistema aparentemente más estable es el que tiene todos los módulos activados y utiliza un criterio
de separación de histogramas HS tras haber hecho varias pruebas con el entrenamiento inicial.
4.2.2 Entrenamiento Mairena (Secuencia 04)
Esta secuencia tiene una duración total de 2:35, grabada a 30 FPS con una resolución de 640x480 píxeles y se
han analizado ventanas de 400 fotogramas. A pesar de tener mejor calidad de imagen que la secuencia 4.2.1, la
bajísima altura de la cámara tiene la consecuencia de sufrir una perspectiva extrema lo cual implica lidiar con
objetivos muy grandes en primer plano y objetivos mucho más chicos a solo pocos metros del plano imagen
(esto se aplica igual para sus sombras). Además, los jugadores van vestidos igual. Su única diferencia es un peto
que no cubre otras partes de la camiseta común para todos, lo que supone una fuente de errores para el
clasificador en cuanto cambia la pose de los jugadores.
49 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Tabla 4-4.Entrenamiento Mairena (Secuencia 04). Comparativa para un mismo fotograma de las distintas
pruebas.
Los resultados son los siguientes:
a)
• Eliminación de sombras
• Mínima separación HS
exigida: 2%
• Seguidor de oclusiones
b)
• Sin eliminación de
sombras
c)
• Mínima separación HS
exigida: 7%
d)
• Mínima separación HS
exigida: 0%
e)
• Sin seguidor de oclusiones
Resultados
50
Tabla 4-5. Entrenamiento Mairena (04). Precision, Recall y Accuracy de detector y de clasificador para los
distintos criterios de medida.
A la vista de los resultados del detector, es muy significativo que la versión que no elimina las sombras parezca
mejorar las detecciones. Seguramente sea debido a que al ser una secuencia que necesita unas operaciones
morfológicas muy agresivas para eliminar las poderosas sombras, el hecho de tener siluetas grandes favorezca
que no desaparezcan tan fácilmente pequeñas siluetas de jugadores.
Con respecto al clasificador, una vez más sorprende que la versión más sensible parezca tener mejores
resultados, pero esto es debido a que los histogramas de esta secuencia son extremadamente fáciles de confundir
entre sí al menor cambio en la pose del objetivo (recordemos que todos llevan las mismas camisetas, con
variaciones en los petos). Lo que ocurre es que esa explosión de cambios de color asignado a un mismo objetivo
dificulta mucho la tarea del seguimiento.
0,60
0,80
1,00
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400
PRECISION (CLASIFICADOR)
NORMAL SOMBRAS C_INSENSIBLE
C_SENSIBLE SIN OCLUSIONES
51 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Con respecto a las métricas de seguimiento hemos obtenido lo siguiente:
Tabla 4-6. Entrenamiento Mairena (04). Estimadores del módulo de seguimiento de múltiples objetivos.
Caso MT PT ML IDS FRMT
a) 6 3 3 3 4
b) 3 5 4 7 6
c) 7 5 1 2 4
d) 6 7 3 6 7
e) 6 3 6 5 6
Es muy interesante observar que tanto endurecer como relajar el criterio de separación de histogramas en esta
secuencia rápida con oclusiones breves y proclive a confundir jugadores mejora significativamente el
seguimiento. El motivo puede ser que distinto según a qué caso nos refiramos:
• Si se toman menos riesgos surgen menos tracks y es más fácil emparejarlos bien.
• Si el clasificador es más permisivo pueden existir rachas de buenas predicciones que encuentran
rápidamente un objetivo con el que emparejarse negando la posibilidad a otros tracks de aparecer por
la implementación de zonas de exclusión.
• También desactivar el seguidor de oclusiones hace que los tracks vayan rápidamente a donde necesiten
En todo caso es probable que escogiendo otras ventanas temporales o más largas los resultados fueran mucho
peores debido a la perspectiva, las sombras, la velocidad de los regates y la similitud de los histogramas.
4.2.3 Sevilla - Córdoba (Secuencia 01)
Esta secuencia tiene una duración total de 5:35, grabada a 50 FPS con una resolución de 1280x720 píxeles y se
han analizado ventanas de 400 fotogramas. La calidad de imagen es muy buena, la iluminación más controlada
y la profundidad no es tan crítica porque está grabada la secuencia desde gran altura. La contrapartida es que el
tamaño relativo de los jugadores es muy bajo por estar a gran distancia.
Resultados
52
Tabla 4-7.Sevilla - Córdoba (Secuencia 01). Comparativa para un mismo fotograma de las distintas pruebas.
Se aprecia que los espacios de color HS son más separables que en otras secuencias de vídeo, y el sistema es
más robusto a cambios en dicho umbral mínimo exigido. Solo cuando se sube mucho dicha separación
a)
• Eliminación
de sombras
• Mínima
separación HS
exigida: 5%
• Seguidor de
oclusiones
b)
• Sin
eliminación de
sombras
c)
• Mínima
separación HS
exigida: 8%
d)
• Mínima
separación HS
exigida: 2%
e)
• Sin seguidor
de oclusiones
53 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
obligatoria aparece alguna indecisión del clasificador, y reducirla no conlleva que aparezcan esos “parpadeos”
de clasificaciones en fotogramas consecutivos.
Un ejemplo concreto lo vemos en el fotograma 140 en el que se aprecia que el detector “normal” con separación
del 5% cometió un FP y un solo FN, mientras la versión del clasificador más conservadora que no se arriesga
con menos del 8% de diferencia no cometió ningún FP en ese fotograma, pero por el contrario tuvo tres FN.
Viendo en detalle los datos tenemos que:
Tabla 4-8.Sevilla - Córdoba (Secuencia 01). Precision, Recall y Accuracy de detector y de clasificador para los
distintos criterios de medida.
La sensación es que con conjuntos tan bien separables de histogramas no compensa la versión del clasificador
más conservadora porque su tasa de falsos positivos no ha mejorado pero sí ha crecido la cantidad de falsos
0,60
0,80
1,00
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400
PRECISION (CLASIFICADOR)
NORMAL SOMBRAS C_INSENSIBLE
C_SENSIBLE SIN OCLUSIONES
Resultados
54
negativos motivados por exigir una mayor separación en los histogramas HS aun estando ya bastante lejanos
entre sí en esos espacios de características.
El argumento complementario se aplica al clasificador que asume más riesgo cuando los espacios de color HS
son bien separables. Elimina bastantes dudas del clasificador normal (reduce el número de falsos negativos) a
costa de aumentar muy pocos falsos positivos, como se puede apreciar en el fotograma 40 y el 120.
Esto se aprecia en sus curvas de Recall y Accuracy de clasificación, en las que la versión arriesgada supera
incluso a la que cuando durante el desarrollo se consideró óptima.
Por otra parte, cuando desactivamos la detección de sombras aumentan mucho los verdaderos negativos del
detector (significa que está haciendo un buen trabajo quitando mucho ruido), pero decaen notablemente los
verdaderos positivos y arrastramos algunos errores de clasificación adicionales.
Con respecto a las métricas de seguimiento hemos obtenido lo siguiente:
Tabla 4-9. Sevilla - Córdoba (Secuencia 01). Estimadores del módulo de seguimiento de múltiples objetivos.
Caso MT PT ML IDS FRMT
a) 11 4 3 2 4
b) 7 7 5 4 6
c) 9 6 3 4 4
d) 10 7 4 4 5
e) 7 4 5 5 6
Esta secuencia es bastante robusta gracias a no tener todos los problemas que le achacábamos a las primeras.
Merece la pena mencionar que la categoría que más problemas da es la del árbitro, siendo de suponer que es por
la similitud del árbitro con el césped del terreno de juego.
4.2.4 España - Bolivia
Esta secuencia tiene una duración de únicamente 29 segundos, grabada a 30 FPS con una resolución de
1210x682 píxeles y se han analizado ventanas de 400 fotogramas. La calidad de imagen es buena, la iluminación
controlada y la profundidad, aunque notable, no es muy crítica porque está tomada desde gran altura. La principal
peculiaridad de esta secuencia es que está grabada con una cámara sujeta a mano alzada sin estabilizar. Se utilizó
un algoritmo de estabilización [38] basado en compensar el flujo óptico de la imagen, pero incluso así está sujeta
a permanentes vibraciones que hacen que nuestro detector de movimiento esté siempre dibujando muchas de las
líneas del campo y secciones del césped, y se quería comprobar el funcionamiento del sistema bajo este tipo de
circunstancias.
55 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Tabla 4-10.España - Bolivia. Comparativa para un mismo fotograma de las distintas pruebas.
Uno de los efectos no deseados del hecho de que haya movimiento continuo y el fondo no llegue a integrarse es
el hecho de que en ciertas zonas del campo aparezcan falsos positivos del detector y del clasificador casi
permanentemente, como por ejemplo muchas intersecciones de líneas del campo que acaban colándose:
a)
• Eliminación de sombras
• Mínima separación HS
exigida: 3%
• Seguidor de oclusiones
b)
• Sin eliminación de sombras
c)
• Mínima separación HS
exigida: 6%
d)
• Mínima separación HS
exigida: 1%
e)
• Sin seguidor de oclusiones
Resultados
56
Figura 4-2. Falso jugador mal clasificado debido al constante movimiento de la cámara.
De hecho, según los datos, ni siquiera el clasificador conservador es capaz de notar que esas líneas emborronadas
por el movimiento no son jugadores, dado que acaban siendo manchas blancas con pequeños parches verdes,
justo como los jugadores del equipo blanco con pantalones verdes.
Tabla 4-11.España - Bolivia. Precision, Recall y Accuracy de detector y de clasificador para los distintos
criterios de medida.
0,60
0,80
1,00
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400
PRECISION (CLASIFICADOR)
NORMAL SOMBRAS C_INSENSIBLE
C_SENSIBLE SIN OCLUSIONES
57 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Los resultados son aparentemente decentes porque realmente la tasa de falsos positivos tanto de detector como
de clasificador no son muy altas, pero se aprecia una oscilación muy alta independientemente del criterio
seleccionado (aunque la versión que no detecte sombras es siempre peor que cualquier otra y más en un vídeo
con tanto movimiento de cámara). En realidad no son resultados buenos: casi siempre que un jugador pase por
encima de las líneas del campo ese jugador se perderá o se clasificará mal.
Al habernos basado en detección de movimiento como criterio principal, la clara conclusión es que todo el
entorno de trabajo propuesto es débil una cámara móvil o a un fondo que no se esté quieto con frecuencia. Una
de las líneas de desarrollos futuros debe ser por tanto añadir las bondades de métodos más robustos a estas
circunstancias.
Con respecto a las métricas de seguimiento hemos obtenido lo siguiente:
Tabla 4-12. España - Bolivia. Estimadores del módulo de seguimiento de múltiples objetivos.
Caso MT PT ML IDS FRMT
a) 11 4 7 4 7
b) 7 4 20 9 22
c) 12 7 6 4 8
d) 11 8 8 6 9
e) 7 8 9 7 11
Esta secuencia sería excelente para el sistema de seguimiento de no ser por el nefasto movimiento de la cámara
que no deja de generarnos tracks espurios mal clasificados que no desaparecen (especialmente grave al
desactivar el módulo que elimina sombras). A pesar de ello, en el modo de funcionamiento normal los objetivos
se siguen casi a la perfección dado que son claramente direfenciables y se ha escogido una ventana temporal sin
muchos cruces de jugadores entre sí.
Finalmente y concluyendo el apartado, se puede decir que los resultados cuando todos los algoritmos están
trabajando conjuntamente y se ha encontrado el criterio de separación de los histogramas HS son mejores que
cuando falta alguno de los módulos desarrollados o se fuerza por exceso o defecto al clasificador.
59
5 CONCLUSIONES
l objetivo inicial del presente proyecto era programar prácticamente desde cero un marco de trabajo
modular en el que se experimentara con distintas técnicas de procesado de imagen, vídeo y
configuraciones de una sola cámara para que en varias secuencias de vídeo se pudiera seguir a múltiples
objetivos, a la vez que se investigaban formas de luchar contra las oclusiones inherentes a este tipo de problemas.
Podemos decir por tanto que dicho objetivo se ha cumplido.
Existen muchísimos trabajos centrados en la detección y seguimiento de peatones, multitudes y deportes, y es
curioso que siendo aparentemente tan similares en concepto (estudio de grupos de personas en distintas
actitudes), cada uno de ellos presenten una serie de peculiaridades que pueden acabar convirtiendo el problema
en algo muy distinto a los otros, requiriendo explotar todas y cada una de las posibles restricciones para llegar a
resultados satisfactorios.
La realización de este proyecto ha requerido investigar y profundizar en múltiples conceptos de distintas áreas
de la visión artificial, procesamiento de señales y tratamiento de datos: desde técnicas ópticas, de iluminación y
modelado del color, hasta algoritmos de programación lineal, múltiples técnicas de tracking, pasando por
extracción y clasificación de características, técnicas estadísticas, proyecciones de espacios de estados, etc.
Además, se han podido probar de primera mano las ventajas y los inconvenientes de multitud de métodos,
buscando soluciones híbridas y alternativas a veces incluso poco ortodoxas para resolver los problemas
concretos que iban surgiendo por el camino. De hecho, cuantas más técnicas se conocían, más aumentaba la
sensación de no dejar de sorprenderse uno por lo densos que son las distintas áreas de conocimiento, cómo
colaboran entre sí y cómo no dejan de surgir técnicas, revisiones e implementaciones cada vez más eficientes de
algoritmos y fundamentos que llevan asentados incluso décadas, pero que hoy en día siguen rabiosamente
vigentes.
En el transcurso del proyecto se ha podido comprobar (o sufrir incluso, si se permite la expresión) que hay que
cuidar todos los aspectos dentro del campo de la visión artificial: de poco sirve utilizar algoritmos complejísimos
y costosísimos computacionalmente si el problema principal es una mala elección del hardware, de las
condiciones de iluminación o la perspectiva. También se han desarrollado técnicas prácticas heurísticas capaces
de abordar al menos mínimamente el complejísimo problema de las oclusiones, modelándolas como si fueran
también entidades que aparecen, evolucionan, y desaparecen. No obstante, el problema de seguimiento mediante
procesado de vídeo sigue siendo un problema en desarrollo, y no existe ningún sistema aún que no requiera un
fuerte preprocesado y/o postprocesado supervisado de los datos.
El entorno de trabajo ha sido desarrollado enteramente en C++ y se han acabado teniendo que abordar muchos
problemas prácticos de implementación de cara a conseguir que el sistema funcione en tiempo real al menos
para una cámara. El resultado es un proyecto de muchos miles de líneas de código, con una cantidad ingente de
parámetros y opciones de configuración, capaz de trabajar con unos datasets muy alejados de lo que se
consideraría óptimo habitualmente.
E
61
6 LÍNEAS FUTURAS
omo ya se comentó al principio del proyecto, la duración del trabajo desarrollado ha excedido al alcance
aquí mostrado, con lo que algunas de las líneas propuestas como futuras se han empezado ya a investigar
e incluso a desarrollar gracias al trabajo del autor en el seno de la Fundación Andaluza de la Imagen,
el Color y la Óptica - FAICO. Algunas líneas futuras que sería muy interesante incorporar al proyecto para
seguir mejorando los resultados podrían ser:
• Integrar algoritmos de estabilización óptica para no depender tanto de las cámaras estáticas y el detector
de movimiento y poder probar otras alternativas. Con este aspecto se ganaría una mejor detección de
jugadores que tienden a estar parados.
• Seguimiento del balón: este aspecto es básico para poder modelar y predecir las interacciones entre los
jugadores. Para ello habría que rediseñar todos los conceptos implementados de detección y
seguimiento, y rehacer un aspecto muy importante: habría que replantear el modelo de coplanaridad
más en serio, puesto que el balón puede ir a ras de suelo pero también puede desplazarse volando. Esto
abriría la puerta a estudiar a los jugadores que saltan o se caen.
• Un paso evidente que el sistema implementado ya permite es dar la salto a un sistema multicámara. Con
esto abarcaríamos más terreno de juego (o su totalidad), tendríamos información redundante que puede
servir para luchar contra las oclusiones, y para minimizar el problema de la perspectiva dado que a
medida que una cámara se hace menos confiable por estar lejos de la acción desarrollada, habría otra
cámara que se hiciera más confiable por estar más cerca en el lado opuesto. Además, tendría que ir de
la mano con la fusión de distintos tipos de entradas, y la búsqueda de características comunes en el
espacio de estados de los objetivos, por ejemplo usando PCA.
• Utilizar abiertamente soluciones mixtas con el fin de obtener lo mejor de cada caso, por ejemplo:
o Si el filtro de partículas tiende “pegar saltos” y no ser fluido en la evolución de sus estados,
pero es la solución lógica para distribuciones multimodales complejas, y el filtro de Kalman a
veces peca de no responder correctamente a modelos cinemáticos complejos, se puede probar
a utilizar un filtro de Kalman para suavizar esos saltos del filtro de partículas (si el coste
computacional lo permite).
o Utilizar directamente un detector o clasificador de personas (por ejemplo, HOG entrenado) solo
en las regiones que sepamos que tienen una oclusión. Con esto ganaríamos velocidad con
respecto a usar dichos detectores en toda la imagen, y además reafirmaríamos dentro de las
oclusiones a los tracks individuales, luchando para evitar que se pierdan.
o Utilizar clasificadores más avanzados y robustos para nuestra clasificación de color que una
simple distancia de Bhattacharyya, como pueden ser los SVM o redes neuronales. Con este
paso reduciríamos directamente también la necesidad de intervención humana a la hora de
añadir nuevas secuencias de vídeo, y el sistema sería más práctico dado que mejoraría la gestión
de los histogramas permitiendo afinar las clasificaciones de color si tenemos equipos con
camisetas y pantalones de colores intercambiados, o a rayas, o más similares.
• Añadir otro nuevo tipo de confirmación de tracks: utilizar cámaras independientes cuyo objetivo sea
generar confirmaciones más fiables utilizando OCR en las camisetas que confirmen la identidad, o
detectores de caras. Aunque está claro que no podrían ofrecer una medición continuada, sí podrían
utilizarse para ratificar identidades aunque sea de vez en cuando, mejorando las hipótesis de
C
Líneas futuras
62
62
seguimiento (por ejemplo, si una identidad abandona la escena y vuelve a incorporarse, para que hubiera
una forma de restablecer la identidad perdida).
• En relación con el punto anterior, estudiar cómo se podrían incorporar fuentes de vídeo exterior con
técnicas de PTZ (Pan, Tilt, Zoom) para intentar aprovechar directamente las cámaras de retransmisiones
deportivas ya existentes en la actualidad y cómo afectaría la introducción de nuevas fuentes de vídeo al
tracking.
• Desde un punto de vista más estético, la creación de una interfaz gráfica completa para gestionar todos
los datasets supone una mejoría en el aspecto menos técnico pero sí más lúdico o comercial del
proyecto, es decir, servir como plataforma demostradora de tecnologías impactantes y fácil de recordar.
Además, el hecho de tener que implementar sistemas multihilo para poder operar con la interfaz gráfica
no puede otra cosa más que beneficiar a que se reimplementen y optimicen partes del código
desarrollado.
• Finalmente, y aunque haya sido una parte muy característica de este proyecto, sería interesante tener
acceso a grabaciones mayor calidad (resolución, perspectiva, iluminación, etc.) para poder comprobar
cómo funcionan los algoritmos sin tener la necesidad de mantener un gran conjunto paramétrico de
restricciones para cada secuencia de vídeo actual, y poder utilizar las métricas de evaluación más típicas
de algoritmos de seguimiento con la esperanza de no conseguir siempre resultados muy malos debido
a problemas obvios relacionados con la grabación de los vídeos.
63
7 ANEXO A – OTRAS SECUENCIAS
continuación se presentan algunas de las múltiples secuencias de vídeo para las cuales se han definido
conjuntos de parámetros, extraído y entrenado histogramas, computado homografías, etc., con el objetivo
de conocer algunas de las peculiaridades con las que se ha trabajado. También se muestra una
representación gráfica bidimensional de los histogramas HS utilizados para el entrenamiento de cada una de las
categorías del clasificador para implementar el criterio de selección explicado en 3.4. Dichas representaciones
son útiles para apreciar tanto las similitudes entre objetivos de una misma categoría como sus diferencias entre
sí (por motivos de ruido o pose del jugador) y entre categorías distintas.
7.1 Mairena - Conil
Secuencia de 3:49 minutos, 25 FPS, 5725 fotogramas. Esta secuencia ya ha sido estudiada en el apartado 4.2.1.
Se presentan como información adicional una muestra del cálculo dinámico de las líneas de fuera de juego, la
homografía utilizada y las trayectorias calculadas de ambos equipos durante toda la secuencia representadas
sobre un mapa de calor.
Tabla 7-1.Mairena - Conil. Seguimiento lateral y cenital, relación de homografía, mapas de calor principales
A
Anexo A – Otras secuencias
64
64
Tabla 7-2.Mairena - Conil. Histogramas HS usados de entrenamiento. Equipo 1 (gris – azul), equipo 2
(amarillo – azul), árbitro (rojo – negro).
7.2 Coria - Mairena
Secuencia de 34 segundos, 25 FPS, 850 fotogramas. La calidad de la imagen es algo mejor que la secuencia
anterior, aunque la calidad de la clasificación sufre algo más en este caso porque como era de esperar, al trabajar
con histogramas HS a los que les retiramos la componente “V” perdemos información del cambio de intensidad
y podemos confundir con mucha frecuencia el color “blanco” con el color “gris” de ambos equipos.
Tabla 7-3.Coria-Mairena. Seguimiento lateral y cenital, relación de homografía, mapas de calor principales
65 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Tabla 7-4.Coria - Mairena. Histogramas HS usados de entrenamiento. Equipo 1 (gris – azul), equipo 2
(blanco), árbitro (rojo – negro).
7.3 Mairena (Partido de Entrenamiento 11)
Secuencia de 1:36 minutos, 29 FPS, 2784 fotogramas. Se aprecia una perspectiva crítica que hace apenas
distinguibles los jugadores a partir de pocos metros, mientras que las sombras son mucho más prominentes en
general que los propios jugadores.
Anexo A – Otras secuencias
66
66
Tabla 7-5.Mairena – Entrenamiento 11. Seguimiento lateral y cenital, relación de homografía, mapas de calor
principales
Tabla 7-6.Mairena – Entrenamiento 11. Histogramas HS usados de entrenamiento. Equipo 1 (gris – azul),
portero equipo 1 (rojo), equipo 2 (azul), árbitro (amarillo).
67 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
7.4 Sevilla – Córdoba (Secuencia 01)
Secuencia de 2:04 minutos, de 25 FPS, 3100 fotogramas, ya estudiada en el apartado 4.2.3. Aprovechamos para
presentar una muestra de sus líneas de fuera de juego posicionales, la homografía coplanar utilizada y la
representación de todas las trayectorias.
Tabla 7-7.Sevilla – Córdoba (Secuencia 01). Seguimiento lateral y cenital, relación de homografía, mapas de
calor principales
Anexo A – Otras secuencias
68
68
Tabla 7-8.Sevilla – Córdoba (Secuencia 01). Histogramas HS usados de entrenamiento. Equipo 1 (marrón),
equipo 2 (blanco), portero equipo 2 (rojo), árbitro (verde y negro).
7.5 Sevilla - Córdoba (Secuencia 02)
Secuencia de 57”, 25 FPS, 1653 fotogramas. Su peculiaridad es que se corresponde al mismo partido que la
secuencia anterior, aunque no a los mismos instantes temporales. Aun así su estudio fue interesante para iniciar
los trabajos de fusión de datos y homografías coplanares entre distintas cámaras simultáneamente.
69 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
Tabla 7-9.Sevilla – Córdoba (Secuencia 02). Seguimiento lateral y cenital, relación de homografía, mapas de
calor principales
En este caso se utilizaron exactamente los mismos histogramas HS que se muestran en la Tabla 7-8 dado que
pertenece al mismo partido pero desde otro punto de vista con el fin de aprovechar los resultados.
Anexo A – Otras secuencias
70
70
7.6 España – Bolivia (Movimiento de cámara)
Secuencia de 29”, 30 FPS, 870 fotogramas. Como ya se comentó en 4.2.4, este caso es un poco especial, dado
que el vídeo de entrada no está fijo sino que la cámara se mueve bastante. Se probó un algoritmo de flujo óptico
para intentar compensar el movimiento de la cámara, pero aun así hay momentos en los que el detector de
movimiento genera demasiado ruido.
Tabla 7-10.España – Bolivia (Movimiento de cámara). Seguimiento lateral y cenital, relación de homografía.
Tabla 7-11.España Bolivia. Histogramas HS usados de entrenamiento. Equipo 1 (blanco - verde), portero
equipo 1 y árbitro (gris), equipo 2 (rojo).
71
8 ANEXO B – PARÁMETROS USADOS
continuación se muestran algunos de las parámetros necesarios para hacer flexible al entorno de trabajo
implementado adaptándose a secuencias de vídeo tan distintas entre sí. Algunos son puramente estéticos
(colores de representación, longitud de estelas dibujadas etc.), pero otros afectan a los modelos de
movimiento de los filtros predictivos, al detector geométrico, a la recta para compensar la perspectiva, etc.).
BGSUBTRACTOR_BASICO:
MORPHOPS_BASICAS:
FILTROPREDICTIVO_BASICO: 1
USAR_OCLUSIONES: 1
Y_MINIMA_ABSOLUTA:
Y_MAXIMA_ABSOLUTA:
PROPORCION_YMAX_YMIN:
PARAMETRO_HKALMAN_VELOCIDAD_MINIMA: 0.3
AREA_MIN_ABSOLUTA:
AREA_MIN_BLOB_CERCA:
ANCHO_MIN_BLOB_CERCA:
ANCHO_MAX_BLOB_CERCA:
ALTO_MIN_BLOB_CERCA:
ALTO_MAX_BLOB_CERCA:
PROPORCION_MIN_ALTOANCHO: 1.5
COEF_TAMAÑO_ADICIONAL_PARA_SER_OCLUSION: 9.9999999999999989e-001
RATIO_MIN_PIXELES_BLANCOS_PARA_OCLUSION:
RATIO_MAX_DIMENSIONES_FRAME_RESPECTO_OCLUSION:
POSICION_TRACK_EN_LA_BASE_SEGUN_SOMBRAS:
MAX_SKIPPED_FRAMES_INDIVIDUAL: 25
NUM_MINIMO_FRAMES_CONFIRM_INDIVIDUAL: 1
MAX_DELTATIME_INDIVIDUAL: 7.9999998211860657e-002
MAX_ACCELMAGNIT_INDIVIDUAL: 2.5000000000000000e-001
MAX_LONG_ESTELA_INDIVIDUAL: 100
A
Anexo B – Parámetros usados
72
72
MAX_LONG_ESTELA_INDIVIDUAL_MOSTRADA: 10
MAX_UMBRAL_EUCLIDEO_ASIGNACION_INDIVIDUAL: 120.
MAX_UMBRAL_EUCLIDEO_PEANA_PROHIBIDA_INDIVIDUAL:
MAX_UMBRAL_EUCLIDEO_ABSORCION_A_OCLUSION:
MAX_UMBRAL_EUCLIDEO_LIBERACION_ABSORBIDO:
MAX_SKIPPED_FRAMES_OCLUSION: 10
NUM_MINIMO_FRAMES_CONFIRM_OCLUSION: 0
MAX_DELTATIME_OCLUSION: 5.9999998658895493e-002
MAX_ACCELMAGNIT_OCLUSION: 2.5000000000000000e-001
MAX_LONG_ESTELA_ OCLUSION: 80
MAX_UMBRAL_EUCLIDEO_ASIGNACION_ OCLUSION: 60.
MAX_UMBRAL_EUCLIDEO_PEANA_PROHIBIDA_ OCLUSION:
COEFIC_BLENDING_ABSORBIDOS: 7.5000000000000000e-001
VerticesROILateral:
PuntosHomografiaLateral
PuntosHomografiaCenital:
73
REFERENCIAS
[1] G. Thomas, «Sports TV Applications of Computer Vision,» BBC, 2012, p. 22.
[2] A. Margaryan y M. Gaydovskly, «Report on Video Analytic Software,» p. 16, 2014.
[3] Á.-P. D. B. P. Castellano J, «Evaluation of research using computerised tracking systems (Amisco and
Prozone) to analyse physical performance in elite soccer: a systematic review,» Sports Med, nº 44(5), pp.
701-12, 2014-05.
[4] G. R. J. F. G. J. A. C. J. Ballesta Castells C, «Métodos actuales de análisis del partido de fútbol,» Revista
Internacional de Medicina y Ciencias de la Actividad Física y el Deporte, vol. 15, pp. 785-803, 2015.
[5] O. J. A. Yilmaz, «Object Tracking: A Survey,» ACM Computing Surveys, vol. 38, nº 4, p. 13, 2006.
[6] J. F. A. D. S. B. J R Nuñez, «Soccer video segmentation. Referee and player detection,» de 15th
International Conference on Systems Signals and Image Processing, 2008.
[7] X. T. W. L. T. W. Y. Z. Hongqi Wang Jia Liu, «Automatic player detection, labeling and tracking in
broadcast soccer video,» Patter Recognition Letters, vol. 30, nº 2, pp. 103-113, 2009.
[8] Y. S. H. K. K.-s. H. Sunghoon Choi, «Where are the ball and players? Soccer game analysis with color-
based tracking and image mosaick,» Science And Technology, pp. 1-15, 1997.
[9] P. S. Zhifei Xu, «Segmentation of players and team discrimination in soccer videos,» de Proceedings of
2005 IEEE International Workshop on VLSI Design and Video Technology, 2005.
[10] A. B. W. N. M. Bertini, «Player Identification in Soccer Videos,» de Proc. Seventh ACM SIGMM Int'l
Workshop Multimedia Information Retrieval, 2005.
[11] M. B. A. B. W. N. L. Ballan, «Soccer Players Identification Based on Visual Local Features,» de Proc.
Sixth ACM Int'l Conf. Image and Video Retrieval, 2007.
[12] H. D. V. P. N. R. M. Saric, «Player Number Localization and Recognition in Soccer Video Using HSV
Color Space and Internal Contours,» de Proc. 10th WSEAS Int'l Conf. Automation and Information, 2008.
[13] Q. H. S. J. Y. L. W. G. Q. Ye, «Jersey Number Detection in Sports Video for Athlete Identification,» de
Proc. SPIE, 2005.
[14] R. E. W. Rafael C. González, Digital Image Processing (Third Edition), New Jersey: Pearson Prentice
Hall, 2008.
[15] J.-A. T. J. J. L. K. P. M. Wei-Lwun Lu, «Learning to Track and Identify Players from Broadcast Sports
Videos,» IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 35, nº 7, 2013.
Referencias
74
74
[16] R. K. J. H. I. E. Raffay Hamid, «A visualization framework for team sports captured uing multiple static
cameras,» Computer Vision and Image Understanding, vol. 118, pp. 171-183, 2014.
[17] P. M. D. Comaniciu, «Mean shift: A robust approach toward feature space analysis,» IEEE Trans. Patt.
Analy. Mach. Intell., vol. 24, nº 5, pp. 603-619, 2002.
[18] D. Magee, «Tracking Multiple Vehicles Using Foreground, Background and Motion Models,» Image and
Vision Computing, 2004.
[19] R. E. Kalman, «A New Approach to Linear Filtering and Prediction Problems,» Journal of Basic
Engineering, vol. 82, pp. 35-45, 1960.
[20] V. R. P. M. D. Comaniciu, «Kernel-Based Object Tracking,» IEEE Trans. Pattern Analysis and Machine
Intelligence, vol. 25, nº 5, pp. 564-575, 2003.
[21] J. B. R. L. P. F. François Fleuret, Multi-Camera People Tracking with a Probabilistic Occupancy Map,
Lausanne, 2010.
[22] J. B. F. F. P. F. Horesh Ben Shitrit, «Tracking Multiple People under Global Appearance Constraints,»
Lausanne, 2014.
[23] D. A. M. D. R. P. F. Felzenszwalb, «A discriminatively trained, multiscale, deformable part model,» de
Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2008.
[24] R. B. Derek Magee, Feature Tracking in real world scenes (or How to track a Cow), Leeds.
[25] P. Huang, «Automatic Gait Recognition via Statistical Approaches,» PhD thesis - Department of
Electronics and Computer Science, Southampton, 1999.
[26] P. V. K. Tieu, «Boosting image retrieval,» Int. Journal Computer Vision, vol. 56, nº 1, pp. 75-89, 2004.
[27] HOG, «https://en.wikipedia.org/wiki/Histogram_of_oriented_gradients,» [En línea].
[28] T. C. C. C. S. H. Y. H. Y. Chen, «Efficient hierarchical method for background subtraction,» Pattern
Recognition, vol. 40, nº 10, pp. 2706-2715, 2007.
[29] W. G. C. Stauffer, «Learning patterns of activity using real-time tracking,» IEEE Transactions on Pattern
Analysis and Machine Intelligence, vol. 22, nº 8, pp. 747-757, 2000.
[30] C. S. B. C. L. Andres Sanin, «Shadow Detection: A Survey and Comparative Evaluation of Recent
Methods,» Pattern Recognition, vol. 45, nº 4, pp. 1684-1695, 2012.
[31] H. A. L. L. S. L. Junliang Xing, «Multiple Player Tracking in Sports Video: A Dual-Mode Two-Way
Bayesian Inference Approach With Progressive Observation Modeling,» IEEE Transactions on Image
Processing, vol. 20, nº 6, 2011.
[32] F. A. E. Koller-Meier, «Tracking multiple objects using the condensation algorithm,» Journal of Robotics
and Autonomous Systems, vol. 34, 2001.
[33] «https://en.wikipedia.org/wiki/Hungarian_algorithm,» [En línea].
75 Seguimiento de jugadores en partidos de fútbol mediante procesado de vídeo
[34] J. L. S. B. Y. Huang, «Players and ball detection in soccer videos based on color segmentation and shape
analysis,» de Procedures of ICMCAM, 2007.
[35] J. G. J. J. A. F. M. José Luis Blanco, «An alternative to the Mahalanobis distance for determining optimal
correspondences in data association,» IEEE Transactions on Robotics, vol. 28, nº 4, pp. 980-986, 2012.
[36] M. Buehren, «Functions for the rectangular assignment problem,» [En línea]. Available:
https://www.mathworks.com/matlabcentral/fileexchange/6543-functions-for-the-rectangular-
assignment-problem.
[37] L. G. A. S. L. P. R. M. L. E. Catarina B. Santiago, «Tracking Players in Indoor Sports Using a Vision
System Inspired in Fuzzy and Parallel Processing,» de Cutting Edge Research in New Technologies, Porto,
Intech.
[38] N. Ho, «Nghia Ho's Computer Vision Blog,» [En línea]. Available: http://nghiaho.com/?p=2093.
77
ÍNDICE DE CONCEPTOS
Bhattacharyya ................................. 27
datasets .............................................. 28
homografía ........................................ 21
HSV ................................................. 6, 8
Kalman ................................................ 6
Mezcla de Gaussianas .................... 10
RGB ..................................................... 6
seguimiento ........................................ xi
Tracking ............................................ 13
tracks ................................................. 18
top related