Universidad Polit ´ ecnica de Madrid Escuela T ´ ecnica Superior de Ingenieros de Telecomunicaci ´ on Grado en Ingenier´ ıa de Tecnolog´ ıas y Servicios de Telecomunicaci´on TRABAJO FIN DE GRADO IMPLEMENTACI ´ ON DE UN MODELO DE DETECCI ´ ON Y SEGUIMIENTO DE JUGADORES DE WATERPOLO PARA EL AN ´ ALISIS DE LOS MODELOS DE JUEGO Roc´ ıo ´ Alvarez-Cedr´ on Garc´ ıa-Zarandieta 2020

Universidad Polit ecnica de Madrid Escuela T ecnica

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Universidad Polit ecnica de Madrid Escuela T ecnica

Universidad Politecnica de Madrid

Escuela Tecnica Superior deIngenieros de Telecomunicacion

Grado en Ingenierıa de Tecnologıas y Servicios deTelecomunicacion

TRABAJO FIN DE GRADO

IMPLEMENTACION DE UN MODELO DE

DETECCION Y SEGUIMIENTO DE

JUGADORES DE WATERPOLO PARA EL

ANALISIS DE LOS MODELOS DE JUEGO

Rocıo Alvarez-Cedron Garcıa-Zarandieta

2020

Page 2: Universidad Polit ecnica de Madrid Escuela T ecnica
Page 3: Universidad Polit ecnica de Madrid Escuela T ecnica

GRADO EN INGENIERIA DE TECNOLOGIAS Y SERVICIOS DETELECOMUNICACION

TRABAJO DE FIN DE GRADO

Tıtulo: Implementacion de un modelo de deteccion y seguimiento de jugadores dewaterpolo para el analisis de modelos de juego

Autora: Rocıo Alvarez-Cedron Garcıa-Zarandieta

Tutor: David Jimenez Bermejo

Departamento: Departamento de Electronica Fısica, Ingenierıa Electrica y FısicaAplicada

MIEMBROS DEL TRIBUNAL

Presidente:

Vocal:

Secretario:

Fecha de lectura:

Calificacion:

Page 4: Universidad Polit ecnica de Madrid Escuela T ecnica
Page 5: Universidad Polit ecnica de Madrid Escuela T ecnica

Universidad Politecnica de Madrid

Escuela Tecnica Superior deIngenieros de Telecomunicacion

Grado en Ingenierıa de Tecnologıas y Servicios deTelecomunicacion

TRABAJO FIN DE GRADO

IMPLEMENTACION DE UN MODELO DE

DETECCION Y SEGUIMIENTO DE

JUGADORES DE WATERPOLO PARA EL

ANALISIS DE LOS MODELOS DE JUEGO

Rocıo Alvarez-Cedron Garcıa-Zarandieta

2020

Page 6: Universidad Polit ecnica de Madrid Escuela T ecnica
Page 7: Universidad Polit ecnica de Madrid Escuela T ecnica

Resumen

El proyecto consiste en el desarrollo de un algoritmo para la deteccion y seguimiento dejugadores de waterpolo con el proposito de crear una herramienta para el analisis de losmodelos de juego de este deporte, a partir de imagenes de una camara 360º. El estudio recogeuna comparativa de distintos algoritmos de deteccion de objetos que utilizan tecnicas de DeepLearning que han sido aplicadas al ambito del deporte acuatico, en el que el cuerpo humanose encuentra parcialmente ocluido. Se han implementado redes neuronales convolucionalesconocidas como YOLOv3 y Faster R-CNN que permiten obtener el Bounding Box de laspersonas detectadas. Ademas, para obtener unos mejores resultados, se re-entrenan las redescon el fin de ajustar los resultados de manera mas fiable al problema de deteccion de personasen el agua.

En cuanto a los datos empleados para la implementacion y entrenamiento del algoritmo se hacreado y anotado un Dataset completo de creacion propia. Este Dataset cuenta con vıdeosde los entrenamientos del Club Deportivo Natacion Boadilla en los que se realizan distintosmodelos de juego para evaluar si el algoritmo disenado es capaz de representar correctamentelos distintos movimientos efectuados. El Dataset ha sido grabado con una camara 360º porlo que se ha realizado un procesado previo de la imagen para eliminar las distorsiones que segeneran al representar las imagenes en 2D.

El seguimiento de los jugadores se implementa gracias a algoritmos de Vision Artificial pararealizar un seguimiento simultaneo de multiples objetos. Los algoritmos utilizados son elKernel Correlation Filter (KCF) y el Correlation Filter with Channel and Spatial Reliability(CSRT) que, a partir del analisis de la imagen, predicen la ubicacion del Bounding Box en laproxima imagen, proporcionando una estimacion incluso cuando el algoritmo de deteccion noes capaz de volver a detectar a una persona siendo ya seguida. Para mejorar el seguimientode cada jugador se utilizan tecnicas de re-identificacion ayudando al algoritmo a tomar unadecision final.

Finalmente se implementan diferentes visualizaciones mediante mapas de calor para repre-sentar el movimiento de los jugadores detectados y ası poder analizar las jugadas durante unpartido.

Palabras clave

Waterpolo, deteccion de personas, seguimiento de personas, re-identificacion, AprendizajeProfundo, Vision Artificial, camara 360º, YOLO, Faster R-CNN, KCF, CSRT, OpenCV

Page 8: Universidad Polit ecnica de Madrid Escuela T ecnica
Page 9: Universidad Polit ecnica de Madrid Escuela T ecnica

Summary

The aim of this project is to develop an algorithm for the detection and tracking of waterpoloplayers to analyze the different game setups of this sport by means of processing images from a360º camera. The study includes a comparison of different object detection algorithms, basedon Deep Learning techniques, that have been applied to the field of water sports, where thehuman body is partially occluded. Different convolutional neuronal networks, such as YOLOv3and Faster R-CNN have been implemented to obtain the Bounding Box of the detected people.Furthermore, to obtain better results, the CNN have been re-trained to acquire more reliableresults in the detection of the players in the water.

Regarding the data used for the implementation and re-training of the algorithm, a speciallydesigned dataset has been created and annotated. This dataset has been generated by re-cording the practice sessions of the Club Deportivo Natacion Boadilla, where the team hasperformed different game setups to evaluate whether the designed algorithm is capable ofreproducing the different movements performed. It has been recorded with a 360º camera,therefore, there will be an image processing to eliminate the distortions that are generatedwhen representing the images in 2D has been carried out.

As a means to simultaneously track multiple objects, Computer Vision algorithms have beenused. The algorithms used for tracking are the Kernel Correlation Filter (KCF) and theCorrelation Filter with Channel and Spatial Reliability (CSRT). Both, based on the imageanalysis, predict the location of the Bounding Box in the next image, and provide an estimatelocation even when the detection algorithm is not able to re-detect a person already beingtracked. As to improve the tracking of each player, re-identification techniques are used inorder to help the tracking algorithm to make a final decision.

Finally, to represent the movements of the detected players, heat maps have been built torepresent the positions of players and to analyze the game setups during a game.

Keywords

Waterpolo, detection of people, tracking of people, reidentification, Deep Learning, ComputerVision, camera 360º, YOLO, Faster R-CNN, KCF, CSRT, OpenCV

Page 10: Universidad Polit ecnica de Madrid Escuela T ecnica
Page 11: Universidad Polit ecnica de Madrid Escuela T ecnica

A mi familia y amigos, por su apoyo incondicional y porhaber sacado lo mejor de mı incluso en los momentosmas estresantes.

A todos los integrantes del CDN Boadilla, porinculcarme valores tan importantes como la dedicacion,el trabajo en equipo y la superacion.

A las personas que me han ayudado en el desarrollode este trabajo en todas sus fases, aportando susconocimientos y sugerencias.

Page 12: Universidad Polit ecnica de Madrid Escuela T ecnica
Page 13: Universidad Polit ecnica de Madrid Escuela T ecnica

Indice

1 INTRODUCCION Y OBJETIVOS 1

1.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 ESTADO DEL ARTE 4

2.1 Deporte e Inteligencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Adquisicion de datos con camara 360º . . . . . . . . . . . . . . . . . . . . . . . 6

2.3 Deteccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.4 Seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.5 Re-identificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.6 Combinacion de deteccion y seguimiento . . . . . . . . . . . . . . . . . . . . . . 12

3 DESARROLLO 13

3.1 Herramientas de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1.1 Camara 360º . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1.2 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2 Estructura de un proyecto de Machine Learning o Deep Learning . . . . . . . . 15

3.3 Arquitectura propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3.1 Waterpolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3.2 Adquisicion de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3.3 Algoritmos de deteccion . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.3.4 Algoritmos de seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.4 Combinacion de deteccion, seguimiento y re-identificacion . . . . . . . . . . . . 26

Page 14: Universidad Polit ecnica de Madrid Escuela T ecnica

3.4.1 Deep Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.2 Algoritmo propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4.3 Representacion de los resultados . . . . . . . . . . . . . . . . . . . . . . 30

4 RESULTADOS 32

4.1 Camara 360º . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.2 Deteccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2.1 YOLOv3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2.2 Faster R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.3 Seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.3.1 Deep-Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.3.2 KCF y CSRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.4 Deteccion y seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.5 Entrenamiento Faster R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.6 Re-identificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.7 Analisis de modelos de juegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5 CONCLUSIONES Y LINEAS FUTURAS 49

5.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.2 Lıneas futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Referencias 53

Anexos 57

A ASPECTOS ETICOS, ECONOMICOS, SOCIALES Y AMBIENTALES 57

A.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Page 15: Universidad Polit ecnica de Madrid Escuela T ecnica

A.2 Descripcion de impactos relevantes relacionados con el proyecto . . . . . . . . . 57

A.2.1 Impacto etico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

A.2.2 Impacto economico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

A.2.3 Impacto social . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

A.3 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

B PRESUPUESTO ECONOMICO 59

Page 16: Universidad Polit ecnica de Madrid Escuela T ecnica

Listado de figuras

1 Audiencia deportiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Proceso para obtener el algoritmo propuesto . . . . . . . . . . . . . . . . . . . . 3

3 Estimacion de poses, deteccion de objetos y generacion de caras [1][2][3] . . . . 4

4 Deteccion saltador de trampolın por segmentacion [4] . . . . . . . . . . . . . . 5

5 Deteccion y estimacion de pose de un jugador de baloncesto [5] . . . . . . . . . 6

6 Proyecciones mas comunes de una imagen 360º [6] . . . . . . . . . . . . . . . . 7

7 Representacion de las coordenadas 3D en una representacion Equirectangularen 2D [7] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

8 Representacion de las coordenadas 3D en una representacion Cube-Map en 2D[7] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

9 Resultados del algoritmo POM [8] . . . . . . . . . . . . . . . . . . . . . . . . . 8

10 R-CNN [9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

11 Fast R-CNN [10] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

12 Algoritmo de deteccion YOLO [11] . . . . . . . . . . . . . . . . . . . . . . . . . 10

13 Dataset VIPeR [12] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

14 Imagen ojo de pez Ricoh Theta V . . . . . . . . . . . . . . . . . . . . . . . . . 14

15 Estructura de un proyecto de Deep Learning . . . . . . . . . . . . . . . . . . . 15

16 Vision general del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

17 Ataque generico en waterpolo [13] . . . . . . . . . . . . . . . . . . . . . . . . . 17

18 Proyeccion equirectangualar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

19 Proyeccion azimutal gnomonica [14] . . . . . . . . . . . . . . . . . . . . . . . . 19

20 Proyeccion Equirectangular a NFoV . . . . . . . . . . . . . . . . . . . . . . . . 20

21 Arquitectura de la red YOLOv3 [15] . . . . . . . . . . . . . . . . . . . . . . . . 21

Page 17: Universidad Polit ecnica de Madrid Escuela T ecnica

22 Arquitectura de la red Faster R-CNN [10] . . . . . . . . . . . . . . . . . . . . . 21

23 Anotacion semisupervisada del Dataset . . . . . . . . . . . . . . . . . . . . . . 22

24 Filtro de Kalman [16] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

25 Transformacion de una distribucion de puntos a una dimension superior . . . . 24

26 Algoritmo CSRT [17] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

27 Arquitectura Deep Sort [18] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

28 A la izquierda nuevas detecciones a la derecha tracking antiguo . . . . . . . . . 28

29 Nuevo seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

30 Algoritmo Hungaro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

31 Primera propuesta de re-identificacion . . . . . . . . . . . . . . . . . . . . . . . 29

32 Cambio de perspectiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

33 a) Seleccion de punto para proyeccion de NFoV b) Proyeccion NFoV de lazona de juego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

34 Detecciones usando el algoritmo YOLOv3 . . . . . . . . . . . . . . . . . . . . . 34

35 Detecciones usando el algoritmo MASK R-CNN . . . . . . . . . . . . . . . . . . 35

36 Deteccion, seguimiento y re-identificacion usando el algoritmo Deep-Sort . . . . 37

37 Seguimiento algoritmo KCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

38 Seguimiento algoritmo CSRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

39 Deteccion Mask R-CNN y seguimiento CSRT . . . . . . . . . . . . . . . . . . . 40

40 Deteccion cada 10 frames con Mask R-CNN y seguimiento CSRT . . . . . . . 40

41 Algoritmo propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

42 Cadena de deteccion y seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . 42

43 Entrenamiento Faster R-CNN con distintas iteraciones . . . . . . . . . . . . . . 43

44 Resultados del entrenamiento con 10000 iteraciones . . . . . . . . . . . . . . . . 44

Page 18: Universidad Polit ecnica de Madrid Escuela T ecnica

45 Mejora del seguimiento a) sin re-identificacion b) con re-identificacion . . . . . 46

46 Representacion de las trayectorias para la determinacion del mapa de calor . . 47

47 a) Entrada de posicion 3 a posicion 5 b) Contra-ataque c) Zona por posicion 1d) Contra-ataque e) Zona por todas las posiciones . . . . . . . . . . . . . . . . 48

Page 19: Universidad Polit ecnica de Madrid Escuela T ecnica

Indice de Tablas

1 Emparejamiento tras el algoritmo Hungarian . . . . . . . . . . . . . . . . . . . 28

2 Metricas de los distintos algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . 45

3 Resultados de re-identificacion en base a la deteccion . . . . . . . . . . . . . . . 46

Page 20: Universidad Polit ecnica de Madrid Escuela T ecnica
Page 21: Universidad Polit ecnica de Madrid Escuela T ecnica

Glosario

2D - 2 dimensiones

3D - 3 dimensiones

Array - Vector (informatica)

Bounding Box - Cuadro delimitador

CNN - Redes Neuronales Convolucionales (Convolutional Neural Network)

CPU - Unidad central de procesamiento (Central Processing Unit)

CSD - Consejo Superior de Deportes

CSRT - Channel and Spatial Reliability Tracker

Cube-Map - Reperesentacion plana de un cubo abierto

D&T - Deteccion y seguimiento (Detect and Track)

Dataset - Coleccion de datos para ser manipulada por un ordenador

Deep Learning - Aprendizaje Profundo

Equirectangular - Proyeccion cilındrica equidistante

Features - Caracterısticas

FINA - Federacion Internacional de Natacion

Frameworks - Estructura conceptual y tecnologica de asistencia definida en el desarrollo deSoftware

GB - GigaBytes

GPU - Dispositivos de procesamiento graficos (Graphic Processor Units)

Grayscale - Escala de grises

Hardware - Partes fısicos y tangibles de un sistema informatico

HOG - Histogram Oriented Gradients

ID - Identificador

Page 22: Universidad Polit ecnica de Madrid Escuela T ecnica

IoU - Intersection over Union

JPDAF - Joint Probabilistic Data Association Filters

KCF - Kernelized Correlation Filters

Kernel - Nucleo

Keypoints - Puntos geometricos en una zona visualmente relevante

LBP - Local Binary Patterns

MDNet - Multi-Domain Network

MHT - Multiple Hypothesis Tracking

MLFN - Multi-Level Factorisation Net

MOSSE - Minimum Output Sum of Squared Error

MOT - Multiple Object Tracking

MSE - Minumum Squared Error

NFoV - Campo de vision normal (Near Field of View)

PDAF - Probabilistic Data Association Filter

POM - Probabilistic Occupancy Map

RAM - Memoria de acceso aleatorio (Random Access Memory)

R-CNN - Region Convolutional Neural Network

RGB - Red, Green, Blue

RNN - Redes Neuronales Recurrentes (Recurrent Neural Network)

RoI - Regiones de interes (Region of Interest)

ROLO - YOLO recurrente (Recurrent YOLO)

RPN - Region Proposal Network

SiamFC - Siamese Fully Connected Networks

Software - Soporte logico de un sistema informatico

Page 23: Universidad Polit ecnica de Madrid Escuela T ecnica

SVM - Support Vector Machine

TIC - Tecnologıa Informacion y Comunicacion

Tracker - Seguidor

TTL - Tiempo de vida (Time To Live)

Vector - Vector

VIPeR - VIsual Person detection made Reliable

YOLO - You Only Look Once

Page 24: Universidad Polit ecnica de Madrid Escuela T ecnica
Page 25: Universidad Polit ecnica de Madrid Escuela T ecnica

1

1. INTRODUCCION Y OBJETIVOS

1.1 Introduccion

La tecnologıa ha contribuido al desarrollo de todos los ambitos de la sociedad, siendo uno deellos el deporte profesional, un area que en los ultimos tiempos se ha visto revolucionada con laaplicacion de la tecnologıa, tanto para la mejora de los metodos de entrenamiento, como paradeterminar las estrategias y las decisiones en el juego. La cada vez mas alta profesionalidad enel deporte requiere herramientas que aporten ventajas competitivas o faciliten la extraccionde informacion que permita un analisis y un conocimiento mas profundo del juego, siemprecon vistas a la mejora del rendimiento individual y colectivo, mejorar la tecnificacion y evitarlesiones. Para ello, los sistemas que capturan imagenes son de gran relevancia y la mayorıa deellos precisa el uso de tecnicas de analisis de imagenes.

Los deportes minoritarios, como es el waterpolo, no tienen tanta trascendencia mediatica ypor ello no se emplean tantos recursos a la hora de realizar el analisis de juego. No obstante,dedicar tiempo a analizar este deporte no deja de ser interesante puesto que, debido a lasnuevas normas establecidas por la FINA [19], ha disminuido el juego estatico ya que losarbitros han comenzado a favorecer el movimiento. Es por ello que, pudiendo adelantarseal movimiento de los jugadores, tanto a nivel ofensivo como defensivo, se podrıa actuar alrespecto. Ademas, permitirıa determinar estadısticas mas concretas de cada jugador como ladistancia nadada o los minutos jugados como se realiza en otros deportes como el futbol.

(a) (b)

Figura 1: Audiencia deportiva a) Deportes masculinos b) Deportes femeninos [20]

El Consejo Audiovisual de Andalucıa [20] recoge una comparativa de la audiencia televisivaentre los deportes masculinos y femeninos. Ademas, analiza cuales son los eventos deportivoscon mas audiencia (Figura 1), en el que se observa que el waterpolo entra dentro de la categorıade otros, correspondiendo a este deporte menos de un 1 % de audiencia, convirtiendolo en un

Page 26: Universidad Polit ecnica de Madrid Escuela T ecnica

2

deporte minoritario, y no por ello deja de ser un deporte interesante a estudiar ya que este,como otros deportes minoritarios, necesitan de soluciones novedosas con una fuerte base TICpara seguir progresando, y mas en deportes de equipo en que las combinaciones y las accionesindividuales posibles son mas ricas.

Gracias a los avances en los sistemas de captacion de imagen, cada vez con mayor resoluciony condiciones de funcionamiento optimo mas amplias, las mejoras en los sistemas de compu-tacion apoyados en procesadores mas potentes y la integracion de tarjetas graficas con cadavez mayores capacidades, se ha posibilitado que las tecnicas en el analisis de imagenes ha-yan experimentado un cambio muy importante. El analisis de las imagenes es un campo querelaciona la fısica, la optica, las matematicas y muchos otros y, gracias a su estudio, es masfacil interpretar la realidad que nos rodea. Una de las herramientas del mundo tecnologicoque mas ha facilitado el crecimiento e importancia del analisis de imagenes es el Deep lear-ning, desarrollando nuevas tecnicas para mejorar aplicaciones como la deteccion de objetosy su seguimiento que, sin necesidad de ser programado explıcitamente, pueda tomar ciertasdecisiones facilitando su analisis. En este trabajo se pretende realizar un sistema de deteccion,seguimiento e identificacion de jugadores de waterpolo, basado en aprendizaje profundo, uti-lizando una camara 360º grados para poder determinar el mapa de calor de la zona de juego.Ademas, recoge una comparativa de distintos algoritmos de deteccion y seguimiento que sehan ido empleando hasta llegar a los optimos.

1.2 Objetivos

Ser capaces de mejorar el rendimiento de los jugadores en los partidos y en los entrenamientoses un factor muy importante que permite el desarrollo y evolucion de muchos deportes. Estamotivacion lleva al proyecto a la busqueda de la manera optima de analizar los diferentesmetodos de juego que propone el waterpolo. El objetivo principal del proyecto, como se hamencionado previamente, es crear un sistema que, a traves de tecnicas de analisis de imagenes,sea capaz de detectar a los jugadores, pudiendo de esta manera realizar un seguimiento lomas preciso posible para poder crear una base de datos con la informacion que se quieraobtener, mejorando de esta manera el juego. Para ello es necesario ir siguiendo una cadenaen la cual el proceso siguiente depende del anterior, por lo que deben ser lo mas precisospara tener el menor error a la hora de sacar conclusiones. Esta cadena de procesos se puededividir en las siguientes partes: primero, una deteccion robusta y, segundo, un seguimientosin equivocaciones para poder identificar correctamente a los jugadores, consiguiendo de estamanera obtener unos datos que serviran para un analisis posterior. Los resultados obtenidostras las detecciones y seguimientos seran almacenados en una base de datos con el objetivode facilitar el acceso a ellos permitiendo, a traves de representaciones analıticas como son losgraficos, proceder a su analisis.

Para lograr unos buenos resultados es necesario conseguir que todas las partes sean lo masfiables posibles, es decir, que exista el mınimo error cuando se realice una deteccion a la cual se

Page 27: Universidad Polit ecnica de Madrid Escuela T ecnica

3

Grabacionentrena-mientos

DeteccionSegui-miento

Analisisdatos

Figura 2: Proceso para obtener el algoritmo propuesto

le aplicara un seguimiento. Por ello, el trabajo se va a dividir en varias secciones, obteniendolos mejores resultados individualmente para que, al combinarlos y realizar las correccionesnecesarias funcionen, al unısono y sean lo mas eficaces posible.

El primer paso que se va a realizar es la grabacion de los vıdeos que se utilizaran para probar elsistema de deteccion y seguimiento evaluado. Para obtener unos resultados lo mas real posiblesse ha decidido grabar los entrenamientos del Club Deportivo Natacion Boadilla realizados enla piscina del Consejo Superior de Deportes, pudiendo capturar distintos modelos de juegopara, posteriormente, verificar el funcionamiento del algoritmo creado.

Conseguir una buena deteccion (Seccion 3.3.3) es primordial para el avance del proyecto, porlo que analizar distintos algoritmos de deteccion es el siguiente paso a realizar. Esta fase sepuede considerar el pilar del sistema pues, sin una previa deteccion, no existira seguimientoy, por lo tanto, no se podran sacar conclusiones de los metodos de juego. De esta manera, elobjetivo principal de esta fase es probar distintos algoritmos de deteccion para conseguir unosresultados fiables y precisos.

El segundo objetivo es el seguimiento de jugadores (Seccion 3.3.4). Despues de la deteccionse realiza el seguimiento para obtener los movimientos que realizan los jugadores en ataquey defensa. Los algoritmos de seguimiento utilizados se basan en las detecciones previas paraactualizar el movimiento del jugador en base a analisis de imagen. De nuevo, para esta fase seutilizaran diferentes algoritmos de seguimiento con el fin de encontrar el que mejor se adaptea la situacion bajo estudio.

El proyecto concluira con una herramienta de almacenamiento y visualizacion (Seccion 3.4.3)que recopilara toda la informacion obtenida en los pasos anteriores y la guardara en una basede datos. El objetivo de este paso es poder acceder a la informacion sin necesidad de volvera realizar la deteccion y el seguimiento para evitar el tiempo de procesado asociado.

Page 28: Universidad Polit ecnica de Madrid Escuela T ecnica

4

2. ESTADO DEL ARTE

El concepto de Deep Learning arranca en la decada de los 80 pero su explosion y aplicacionreal no sucede hasta mucho mas tarde, a causa, principalmente, del insuficiente numero deDatasets y la falta de capacidad de computacion para manipular estos conjuntos de datoseficientemente. No obstante, con el avance de la tecnologıa todos los problemas anterioreshan ido reduciendose, permitiendo evolucionar las aplicaciones de Vision Artificial mediantela reduccion de los tiempos necesarios para procesar imagenes y vıdeos sin un coste excesivoen el Hardware necesario. A partir de 2010, el auge del Deep Learning es evidente gracias, nosolo al avance tecnologico de GPUs sino, ademas, al desarrollo de los primeros Frameworksabiertos de programacion de redes neuronales (Caffe, Tensorflow, Torch).

La Vision Artificial es un campo en el que se adquiere, se procesa y se analiza imagenes osecuencias de imagenes que llevan a un mejor entendimiento de lo que se esta mostrando. Gra-cias a su avance las aplicaciones han progresado, pudiendo obtener mucha informacion, tantode alto como de bajo nivel, de estas secuencias de imagenes. La informacion que se obtienede estas imagenes puede ser tan variada como los siguientes ejemplos: deteccion y reconoci-miento de objetos, analisis de caras y sentimientos (computacion afectiva), interpretacion decomportamientos, deteccion de Keypoints, estimacion de poses, colorimetrıa, segmentacion,entre muchos otros.

Figura 3: Estimacion de poses, deteccion de objetos y generacion de caras [1][2][3]

Una de las areas de la Vision Artificial que mas esta avanzando es la deteccion de objetos,puesto que cada ano aparecen algoritmos nuevos que mejoran considerablemente los que yaexistıan, en terminos de precision, velocidad o ambas. Ademas, una ventaja que tienen muchosde estos algoritmos es que se pueden utilizar pre-entrenados en Datasets ya conocidos, graciasa la gran comunidad cientıfica que hace disponibles estos modelos, por lo que no es necesarioentrenarlos para empezar a usarlos en la deteccion de ciertos objetos. Para otro tipo de tareases posible partir de estos modelos para adaptarlos a la solucion que se pretenda realizar y, asıno comenzar el entrenamiento desde cero, pudiendo reducir los tiempos notablemente.

Page 29: Universidad Polit ecnica de Madrid Escuela T ecnica

5

En cuanto a la deteccion y seguimiento de personas, Malik Souded [21] distingue dos tipos decategorıas para clasificar los distintos metodos que se utilizan. El primer metodo es trainedclassifier ; se entrena extrayendo las caracterısticas significativas de las personas y creandouna clase con estas; una vez aprendidas, con la clase creada, se puede detectar a las personas.En el segundo metodo, template matching, se utiliza unas plantillas con caracterısticas de laspersonas, que se buscan en las imagenes o cuadros y, a partir de esta localizacion, se realizala deteccion.

En este apartado se describira el estado del arte de la deteccion, seguimiento y re-identificacionde personas en imagenes y, mas concretamente, una serie de algoritmos y soluciones que hansido desarrollados hasta el momento. Ademas, se describira como se pueden procesar lasimagenes obtenidas con una camara 360º, tambien conocida como camara omnidireccional,para adquirir representaciones en dos dimensiones de estas en diferentes proyecciones.

2.1 Deporte e Inteligencia Artificial

La aplicacion de la inteligencia artificial en el mundo del deporte se ha convertido en un temaen continuo crecimiento puesto que los resultados ofrecidos en diferentes areas permiten, porejemplo, poder mejorar tanto en los entrenamientos de los deportistas, en las ejecucionesdurante los partidos y son capaces de realizar analisis complejos de las formas de juego. Enlos ultimos anos se ha investigado mucho en las tecnicas sobre deteccion y segmentacionde un objeto movil y sobre las poses del movimiento humano. Los principales objetivos dela investigacion en el mundo deportivo incluyen, principalmente, la deteccion tanto de losatletas como de los elementos significativos en el juego como, por ejemplo en muchos de ellos,la pelota.

Guangjing Li [4] tiene como principal objetivo detectar la rutina de saltos que realiza unsaltador de trampolın (area oficial de natacion) y para ello utiliza la segmentacion, paraconseguir una buena deteccion del atleta. Si el objetivo se puede detectar y segmentar encada imagen, se puede garantizar una buena deteccion y reconocimiento de la pose.

Figura 4: Deteccion saltador de trampolın por segmentacion [4]

Page 30: Universidad Polit ecnica de Madrid Escuela T ecnica

6

Tratando deportes mayoritarios como son el futbol y el baloncesto, existen sistemas para ladeteccion y seguimiento de jugadores durante un partido, permitiendo ademas, estimar lapose del jugador para prevenir lesiones. Estos sistemas se basan en el uso de algoritmos deDeep Learning puesto que existen numerosos Datasets para la deteccion de personas. AdriaArbues-Sanguesa [5] utiliza el Dataset ImageNet como referencia para realizar las deteccionesy realiza una estimacion de las poses para el seguimiento de los jugadores.

(a) (b)

Figura 5: Deteccion y estimacion de pose de un jugador de baloncesto [5]

Fuera del agua son numerosos los sistemas de deteccion que se pueden encontrar, ademasinfluye el factor de que cuanto mayor implantacion tiene un deporte y, generalmente de masrecursos dispone, mas investigacion acerca de el se puede encontrar. En cuanto a los deportesacuaticos es escasa la investigacion que se ha realizado, existen proyectos que se basan en eluso de acelerometros, sensores para determinar la respiracion o contar el numero de brazadas[22] durante una carrera de natacion. Sin embargo, realizar detecciones en imagenes en el queel cuerpo esta sumergido es un reto complejo para abordar mediante analisis de imagen.

2.2 Adquisicion de datos con camara 360º

Tanto las imagenes como los vıdeos 360º se estan convirtiendo en una manera popular ycada vez mas comun a la hora de adquirir datos en imagenes y vıdeos. El contenido de lasimagenes procedentes de una camara 360º se encuentra en una esfera que cubre todo el rangode visualizacion de un observador (360º x 180º). Estas imagenes son muy diferentes a lasimagenes tradicionales de 2D, en las que solo es posible cubrir un plano limitado.

Los ultimos anos han presenciado un avance en las tecnologıas de realidad virtual. Un tipoesencial del contenido de realidad virtual va ligado a las imagenes 360º y es por ello por loque estan creciendo de forma exponencial, atrayendo una gran atencion. Una de las grandesventajas que tiene este tipo de camaras es que el usuario puede escoger que la vista se centrelibremente en el contenido deseado.

No obstante, la deteccion y seguimiento de los objetos tradicionalmente se realiza en imagenesde 2D, por lo que es necesario adaptar la imagen en 360º a un unico plano. Las imagenes de360º se pueden proyectar en diferentes formatos como la proyeccion Equirectangular [23], la

Page 31: Universidad Polit ecnica de Madrid Escuela T ecnica

7

mas utilizada en el ambito de la industria para ver la imagen 360º de forma panoramica. Otraproyeccion conocida es Cube-Map, usada en la industria de los videojuegos ya que no causadistorsion en las caras del cubo, puesto que los pıxeles se redistribuyen en cada una de ellaspor igual.

Figura 6: Proyecciones mas comunes de una imagen 360º [6]

Ikram Hussain evalua las tres formas de proyeccion mas representativas a la hora de re-presentar una imagen de 360º [7]. La proyeccion Equirectangular, tambien conocida comola proyeccion geometrica, transforma las latitudes y las longitudes en los ejes verticales yhorizontales respectivamente, separandolos por igual en el plano bidimensional.

Figura 7: Representacion de las coordenadas 3D en una representacion Equirectangular en2D [7]

La proyeccion Cube-Map esta formada por las seis caras de un cubo en las que la esfera esproyectada. La ventaja que tiene esta proyeccion respecto a la Equirectangular es que no causadistorsion geometrica puesto que cada pıxel se distribuye equitativamente por cada cara.

Figura 8: Representacion de las coordenadas 3D en una representacion Cube-Map en 2D[7]

Page 32: Universidad Polit ecnica de Madrid Escuela T ecnica

8

2.3 Deteccion

La deteccion de personas es una de las modalidades de deteccion mas comun hoy en dıa. Estose debe a los usos variados que se pueden obtener con estos resultados, desde camaras deseguridad para controlar el numero de personas en un lugar o detectar actividades especıficasde ciertas personas que puedan generar una situacion de peligro, hasta para analizar deportes,tanto deteccion e identificacion de jugadores como de elementos claves de los mismos como lapelota.

En cuanto a la deteccion de personas, hay una extensa bibliografıa acerca de los diferentesmetodos de deteccion [24][25][26]. Tradicionalmente se utilizaban metodos como HOG [27],utilizado para extraer el tamano y la forma de los objetos o LBP, util para detectar lasdistintas texturas. No obstante, las imagenes no tienen profundidad y no son capaces dedar una deteccion correcta de una persona, puesto que cada persona viste de una manera uotra e incluso tienen posturas distintas. Por esta razon, se ha comenzado a trabajar con elreconocimiento de personas en vıdeos, puesto que el movimiento del sujeto, proporcionadopor los cuadros del vıdeo, facilita su deteccion y seguimiento [28].

Otro problema importante encontrado a la hora de detectar y realizar el seguimiento de losobjetos son las oclusiones, donde el objetivo desaparece temporalmente por estar oculto porotro(s) objeto(s), para luego reaparecer en la camara. Corregir la problematica de las oclusio-nes es importante sobre todo si se quiere realizar el seguimiento de una determinada deteccion.Antes del surgimiento del Deep Learning se utilizaban metodos como la substraccion del fon-do, sin embargo, cuantos mas individuos habıa en la imagen mas complicado era realizar estasubstraccion. No obstante, para resolver este problema se ha llegado a soluciones interesantes,como propone [8] Computer Vision Laboratory en Suiza. Su propuesta ha sido utilizar variascamaras que graban la misma escena desde distintos puntos de vista y, tras la creacion de sualgoritmo POM, han sido capaces de cruzar las imagenes, obteniendo mejores resultados queotros algoritmos.

Figura 9: Resultados del algoritmo POM [8]

Page 33: Universidad Polit ecnica de Madrid Escuela T ecnica

9

Actualmente, la deteccion de personas se basa, entre otras posibilidades, en el uso de CNNs,un sistema computacional que se inspira en el funcionamiento del sistema nervioso humano.Se trata de un numero de interconexiones entre nodos (neuronas) que trabajan juntas, apren-diendo de la entrada, para optimizar la salida. Este tipo de redes se utiliza especialmentepara el reconocimiento de imagenes [29] y queda demostrada su utilidad mediante diferentesDatasets de codigo abierto como MNIST, CIFAR-10/100 o Image-Net que permiten verificarla eficacia de las redes.

Sin embargo, utilizar una CNN no siempre es lo optimo, ya que, a la hora de detectar yclasificar un objeto no todos tienen el mismo aspecto y, sobre todo, el mismo tamano, pudiendoaparecer ademas en diferentes regiones de la imagen, ası como multiples objetos en una mismaimagen. De esta manera, surgen otro tipo de algoritmos como las R-CNN y YOLO [11]. LasR-CNN se caracterizan por que, como su nombre indica, son capaces de dividir la imagen enregiones de interes y cada una de ellas se inserta en una red neuronal para obtener ciertascaracterısticas. Estas caracterısticas comunes, que se encuentran en las regiones de decision,son pasadas por un SVM que decide si estas corresponden a un objeto y, en caso de hacerlo,a que objeto corresponden.

Este tipo de redes ha ido mejorando, puesto que tenıa un coste computacional muy elevado y,tras la optimizacion de las R-CNN, aparecieron las Fast R-CNN[9], mejorando tanto la clasi-ficacion como la localizacion de la Bounding Box predicha en la deteccion. Estos algoritmosse caracterizan por utilizar una unica etapa de entrenamiento, no obstante, seguıan teniendodesventajas, la creacion de tantas regiones de interes suponıa un coste computacional elevado,sobre todo a la hora del entrenamiento de la red. Para acelerar este proceso de entrenamiento,se propuso la Faster R-CNN [10], capaz de generar mas de una region de interes simultanea-mente. Mask R-CNN es una extension de las Faster R-CNN, la cual extrae una mascara delobjeto que se detecta, ademas de las clases y las Bounding Boxes que ya determinaba la FasterR-CNN.

Figura 10: R-CNN [9] Figura 11: Fast R-CNN [10]

Kaiming He [30] presenta el concepto de funcionamiento de estas redes; en vez de detectar unobjeto por sus Bounding Boxes se realiza un analisis mas profundo de la imagen, localizandolos pıxeles; a esto se le conoce como image segmentation. Sin embargo, cuando se creaba lamascara aparecıa un desajuste con las regiones originales, por lo que tuvo que aplicarse unacorreccion denominada RoI Aligned para poder dibujarlas correctamente.

Page 34: Universidad Polit ecnica de Madrid Escuela T ecnica

10

Los algoritmos de deteccion de objetos mencionados previamente se basan en la proposicionde RoIs para determinar un objeto en una imagen; la red no trabaja con la imagen completa.Otro metodo basado en CNN es YOLO [11], con la gran diferencia de que no utiliza regionessino que predice las Bounding Boxes y la clase de estas probabilidades. Este metodo creaunas Bounding Boxes suficientemente pequenas que permiten la cobertura de la imagen parapoder aplicar, de esta manera, el algoritmo de clasificacion de objetos que actua sobre cadauna de las Bounding Boxes.

Figura 12: Algoritmo de deteccion YOLO [11]

2.4 Seguimiento

Detectar objetos en las imagenes ayuda a caracterizar que objetos se pueden encontrar enellas; sin embargo, no dan mas informacion que esta. En la Vision Artificial es importanteconocer el comportamiento de las detecciones, puesto que pueden ser importantes a la horade tomar ciertas decisiones. MOT [31] tiene como objetivo predecir las trayectorias de losobjetivos en las secuencias de vıdeo. Esto se realiza siguiendo dos pasos: el primero, en el quese detecta donde se encuentra el objeto en los cuadros; el segundo, se encarga de conectar latrayectoria descrita por las trayectorias conocidas de los Datasets. Sin embargo, cuando losobjetos presentes estan cerca, es difıcil asociar y asignar los identificadores de cada objeto,puesto que por las oclusiones y la proximidad de otros puede tender a confundir si se tratadel mismo objeto.

Uno de los metodos mas tradicionales utilizados para el seguimiento de los objetos tras sudeteccion es el uso del filtro Bayesiano, tambien conocido como MHT [32], capaz de calcularlas probabilidades de cada trayectoria que el objeto podrıa tomar. No obstante, dada lacomplejidad y necesidad de una gran memoria no son muy utilizados. Otros filtros que seutilizan son PDAF [33], JPDAF [34] y el filtro de Kalman que presentan una computacion demanera matricial muy rapida. Todos estos algoritmos se basan en el Bounding Box detectadopara realizar el seguimiento y predecir la siguiente posicion del mismo.

Page 35: Universidad Polit ecnica de Madrid Escuela T ecnica

11

Un objeto puede representarse por los pıxeles, por lo cual, identificando el valor de estos,es posible realizar un seguimiento del objeto. Existen multiples algoritmos en el campo de laVision Artificial para seguimiento. Entre los algoritmos que utilizan filtros correladores destacael MOSSE [35], un algoritmo robusto que permite discriminar entre el fondo y el objeto confacilidad, ademas de tratarse de un algoritmo rapido. Es robusto frente a la iluminacion,el tamano y la posicion del objeto, ademas puede seguir realizando el seguimiento tras unaoclusion. Sin embargo, no es del todo preciso, por lo que se propusieron otros algoritmoscomo el KCF [16] que presenta resultados mas precisos que el anterior, no obstante, no realizacorrectamente el seguimiento de un objeto tras una oclusion. Para cada nuevo cuadro de laimagen se realiza el seguimiento sobre el cuadro anterior; la posicion se guarda, extrayendo unaserie de canales (RGB, Grayscale, HoG), y realizando el mismo proceso con el nuevo cuadro,tras la aplicacion de una correlacion entre los datos se puede estimar la nueva posicion. Otroalgoritmo mas preciso, pero menos rapido, es el CSRT [17], que utiliza mapas de confiabilidadpara ajustar el filtro al Bounding Box del objeto del que se va a realizar el seguimiento,pudiendose focalizar mejor en el objeto a seguir.

Los algoritmos mas recientes se centran en el seguimiento utilizando algoritmos de DeepLearning. Entre los mas destacados se pueden encontrar SiamFC [36] y GOTURN [37]. Estasredes aprenden durante el entrenamiento el desplazamiento que sufre el Bounding Box delcuadro previo con el actual. Existen otros algoritmos que proporcionan resultados en tiemporeal como MDNet [38]. Esto se consigue dividiendo la red en dos partes, una primera enla que la red se encarga de extraer las caracterısticas de la imagen y una segunda que seencarga de realizar el seguimiento. No obstante, estas tecnicas basadas en Deep Learninggeneralmente se utilizan para realizar el seguimiento de un unico objeto, lo que hace imposiblesu implementacion para el seguimiento de numerosos objetos en tiempo real.

2.5 Re-identificacion

Debido a la creciente demanda de informacion requerida por aplicaciones de seguridad yforenses, la re-identificacion de personas se ha convertido en un area prioritaria de investigacionde la Vision Artificial. Esta tiene como objetivo volver a identificar a una persona en distintasvistas de camara o, entre otras, tras oclusiones. En las ultimas decadas se ha anadido unnumero muy elevado de Datasets para la re-identificacion. Los Datasets han ido evolucionandodesde los mas pequenos como VIPeR 1 [12], hasta los mas grandes como MSMT17 2 [39], perono son lo suficientemente grandes, por lo que a la hora de entrenar se suele usar mas de unDataset. Puesto que cada Dataset es distinto, se requiere, de manera automatica, ajustar laidentidad, al igual que la imagen de la camara, para evitar un conflicto.

1Descargar Dataset http://vision.soe.ucsc.edu/?q=node/1782Descargar Dataset http://www.pkuvmc.com.

Page 36: Universidad Polit ecnica de Madrid Escuela T ecnica

12

Figura 13: Dataset VIPeR [12]

La re-identificacion se basa en dos pasos, la extraccion de caracterısticas de la imagen quese usa como entrada y la comparacion de estas caracterısticas a lo largo de la secuencia deimagenes. Entre las caracterısticas que se pueden obtener de las imagenes para re-identificara los objetos se encuentran, entre otras, las variaciones de color en los histogramas [40],LBP [41] y las caracterısticas de Gabor [42]. Al contrario que en la deteccion, ahora sı esnecesario que cada una de las detecciones sea distinta, ya sea por su postura o ropa, por loque la extraccion de las caracterısticas es necesaria. A la hora de emparejar las caracterısticasobtenidas en la imagen anterior con las caracterısticas de la nueva imagen, se han ido utilizandodistintas metricas. Entre ellas, cabe destacar la distancia de Mahalanobis, Locally AdaptiveDecsion Functions [42] y Saliency weighted maps [43]. A dıa de hoy se esta investigando paraencontrar una red neuronal que sea capaz, de manera eficaz, de obtener las caracterısticasautomaticamente mediante el aprendizaje y relacionarlas entre las secuencias de imagenes demanera optima [44].

Los metodos de Deep Learning estan mejorando la re-identificacion respecto de los metodosmas antiguos, ya que intentan aprender directamente durante el proceso de entrenamiento elvector de caracterısticas utilizado para estimar la coincidencia entre dos objetos. Los resulta-dos que se estan obteniendo de las investigaciones son prometedores, lo que demuestra que esposible extraer un vector de caracterısticas robusto cuando hay muchos datos disponibles sindefinir previamente unas metricas, posiciones de las camaras, iluminacion, etc. Por ultimo,entre los algoritmos de re-identificacion de personas se puede destacar MLFN [45].

2.6 Combinacion de deteccion y seguimiento

El Deep Learning esta avanzando y, con ello, los esfuerzos para crear nuevas arquitecturasque sean capaces de realizar conjuntamente la deteccion y el seguimiento de multiples objetossimultaneamente. Para ello, algunas soluciones proponen combinar las Redes Neuronales Con-volucionales (CNN) encargadas de la deteccion y las RNN para predecir los estados futurosde las detecciones. Algunos enfoques sobre este nuevo metodo son ROLO [46], Mf-SSD [47],Deep-Sort [18] y D&T [48], este, en su ultima version, estima los puntos clave del esqueletohumano.

Page 37: Universidad Polit ecnica de Madrid Escuela T ecnica

13

3. DESARROLLO

3.1 Herramientas de trabajo

3.1.1 Camara 360º

El elemento primordial en cualquier sistema de analisis de imagenes es el conjunto de conteni-dos a procesar. Obtener vıdeos adecuados en los que probar el sistema desarrollado es crıtico,por lo que se han planteado varias maneras de como realizar las grabaciones y en que posicioncolocar la camara para optimizar y obtener la mejor calidad de imagen con la mayor cantidadde informacion posible, optando ası por la utilizacion de una camara 360º. La razon por la quese ha utilizado este tipo de camara para desarrollar el sistema, que posteriormente realizara unanalisis del tipo de juego, es que esta consigue una vision completa del campo, siendo posibleimplementar el sistema haciendo uso de solamente una de ellas. Ademas, hay que recalcar quela camara utilizada, de la marca Ricoh, tiene una resolucion de imagen 4K por lo que, a lahora de grabar los entrenamientos, se puede escoger cual es la zona de interes que se quiereprocesar, pudiendo hacer zoom en esta zona, sacrificando calidad, pero dado que la resolucionde imagen es elevada, es posible recortar la zona de interes sin perder gran informacion queimposibilite el funcionamiento adecuado de los diferentes modulos del sistema.

La camara utilizada es la camara Ricoh Theta V [49] que tiene una resolucion de ima-gen fija maxima de 5376×2688 pıxeles, ademas permite la emision en vivo tanto en4K (H264: 3840×1920 pıxeles/29.97fps/120Mbps) como en 2K (H264: 1920x960 pıxele-s/29.97fps/42Mbps).

En cuanto al coste, esta camara tiene actualmente un precio de alrededor de 420€ [50] y,como se ha mencionado anteriormente, puede cubrir toda la piscina, que tiene una longitudde 25m en caso de un partido femenino y de 30m para los partidos masculinos. Serıa posibleutilizar otras camaras de NFoV como por ejemplo, Victure AC900 Camara Deportiva 4K [51]pero en este caso para poder grabar los partidos o entrenamientos serıa necesario que esta sedesplazara a lo largo de la piscina, puesto que no tendrıa un campo de vision completo deesta.

Para este trabajo, la camara se colocara en la mitad de la piscina, haciendo posteriormenteun procesado de la imagen para centrarse solamente en la parte de interes, es decir, la zonade la imagen en la que esta la piscina y donde se focaliza la jugada principal. Como se puedeobservar en la Figura 14, al tener un campo de vision completo se graba tambien la parteexterior de la piscina, que no es de interes para el analisis de este trabajo. Puesto que lacamara utilizada tiene una resolucion 4K, como se ha mencionado previamente, la imagengenerada tiene unas dimensiones de 4096x2048 pıxeles, pudiendose recortar diferentes zonasy centrarse en la parte de la piscina que se desee consiguiendo aun resoluciones altas.

Page 38: Universidad Polit ecnica de Madrid Escuela T ecnica

14

Figura 14: Imagen ojo de pez Ricoh Theta V

3.1.2 Python

El lenguaje de programacion que se ha utilizado en este trabajo es Python. Python ofreceestabilidad, flexibilidad y tiene herramientas suficientes para crear un proyecto basado enInteligencia Artificial, por lo que existen muchos proyectos en este lenguaje, convirtiendose enuno de los mas populares. Python ofrece codigo conciso y facil de leer y por lo tanto entender,es decir, muchos programadores coinciden en que se trata de un lenguaje intuitivo.

La implementacion de los algoritmos de Deep Learning puede llegar a ser muy compleja,ademas de requerir mucho tiempo para ello. Para reducir el tiempo de desarrollo, los pro-gramadores hacen uso de entornos de trabajo (Frameworks) y librerıas que se utilizan pararesolver problemas comunes a la hora de programar. Entre las librerıas mas utilizadas enrelacion a procesado de imagen y visualizacion de datos se pueden destacar:

• NumPy, una librerıa basica pero importante para la manipulacion de datos que permitetrabajar con matrices y matrices multidimensionales.

• Open CV, una librerıa, desarrollada por Intel, de vision artificial. Contiene gran cantidadde algoritmos que permiten realizar procesado de imagen en tiempo real de manera opti-mizada. En las ultimas versiones la librerıa ha comenzado a incluir diferentes solucionesDeep Learning para deteccion de objetos entre otras.

• Seaborn, una librerıa que permite generar facilmente graficos y basada en otra librerıacomo es matplotlib.

El Framework de programacion Deep Learning utilizado en este proyecto es Pytorch, esto sedebe principalmente a la forma de manipulacion de las redes neuronales que permite acceder atodas las partes de la misma de manera sencilla e intuitiva comparado con otros Frameworks,como pueden ser Keras y TensorFlow. Ademas, la documentacion que ofrece esta organizaday es de facil acceso [52] para comenzar a realizar los ejemplos mas sencillos.

Page 39: Universidad Polit ecnica de Madrid Escuela T ecnica

15

3.2 Estructura de un proyecto de Machine Learning o Deep Learning

A la hora de entrenar un algoritmo de Deep Learning se puede hacer, bien un aprendizajesupervisado, en el que se tiene una entrada y una salida y el algoritmo aprende a hacer unacorrespondencia entre ellos, o bien un aprendizaje sin supervisar, en el que solo existen losdatos de entrada y a partir de ellos se realiza una reestructuracion de estos para encontrarpatrones que los relacionen.

Figura 15: Estructura de un proyecto de Deep Learning

El primer paso para implementar un proyecto de Deep Learning es la adquisicion de datoscreando tres grupos. El primer grupo se denomina training set y es el que se utiliza paraentrenar, el segundo es el validation set para comprobar la validez del sistema y el tercero,el test set, se utiliza para chequear los resultados. A veces es necesario pre-procesar los datosantes de introducirlos en la red para que el entrenamiento sea mas eficaz. Entre este pre-procesado se encuentra la extraccion de caracterısticas o la aplicacion de la normalizacion dela imagen.

Una vez adquiridos los datos y tras pre-procesarlos, en caso necesario, se pasa a entrenarel modelo, introduciendo el grupo de training set por batches, el numero de muestras conlos que trabajar para poder ajustar los parametros del modelo, minimizando la funcion decoste. Esta funcion mide el rendimiento del modelo al predecir cual es la categorıa a la quepertenecen los datos o realiza otro tipo de tareas como una regresion con el fin de aprendervalores continuos. El ajuste de estos parametros se basa en forward propagation, en el que lasetiquetas de entrada se comparan con las de salida y la diferencia es el error, y en backwardpropagation aplicando la tecnica de gradient descent [53] que calcula la pendiente en cadapunto hasta encontrar el mınimo de la funcion.

Del validation set se obtienen las metricas mas caracterısticas de un proyecto de Deep Lear-ning o Machine Learning. Entre estas metricas se pueden destacar la matriz de confusionque permite la visualizacion del desempeno del algoritmo, la precision que mide el acierto,la metrica de recall que mide la minuciosidad, la cantidad de muestras de una clase que sehan identificado del total de muestras que habıa de esa clase. El accuracy (precision) es otrametrica utilizada en estos proyectos, el porcentaje de las muestras que ha clasificado correcta-

Page 40: Universidad Polit ecnica de Madrid Escuela T ecnica

16

mente como pertenecientes a esa clase. A traves de las metricas se pueden detectar fenomenosfrecuentes como es el overfitting, que se origina cuando el modelo ha conseguido extraer ca-racterısticas tan concretas del training set que al introducir el validation set no consiguegeneralizar bien el modelo en estos nuevos datos, es decir, se produce un sobreaprendizaje.

Finalmente es necesario comprobar la validez del modelo y para ello se utiliza el test set, elcual esta compuesto por nuevos datos nunca vistos en el entrenamiento, que representan elcaso real bajo estudio.

3.3 Arquitectura propuesta

Este proyecto, basado en un estructura de Deep Learning, tiene tres partes principales: laarquitectura de deteccion, la arquitectura de seguimiento y la representacion de los resultados.

Figura 16: Vision general del proyecto

La Figura 16 muestra la relacion que existe entre las tres principales partes, comenzando con laarquitectura de deteccion. Como se ha mencionado previamente, un proyecto de Deep learningconsta de varios pasos para obtener los pesos (la salida de la red), como el entrenamientode una red neuronal es un proceso largo, muchas de ellas se proveen pre-entrenadas paraciertos modelos de datos. El primer paso del proyecto es probar diferentes algoritmos ya pre-entrenados, para ello se van a adquirir los datos a traves de una camara 360º. Al recogeresta camara las imagenes en formato doble ojo de pez, es necesario realizar una serie deproyecciones para focalizar el punto de interes bajo estudio. Ademas de probar los algoritmoscon los pesos pre-entrenados, se va a proceder a entrenar la red nuevamente para que losresultados mejoren; para ello hay que seguir la estructura mencionada previamente: realizarun etiquetado de las personas que aparecen en el cuadro, entrenar la red, testear y, en casonecesario, volver a entrenar; de no serlo, esos pesos son los que se utilizaran en los algoritmos.

Page 41: Universidad Polit ecnica de Madrid Escuela T ecnica

17

La siguiente arquitectura propuesta es la arquitectura de seguimiento. Con los resultadosobtenidos de la parte de deteccion se procede a utilizar su salida, los Bounding Boxes pararealizar el seguimiento de multiples objetos. La salida de esta arquitectura se recopilara enuna base de datos para poder acceder a ella facilmente y representar los resultados en elmomento mas oportuno, ya sea despues de un partido o en una reunion tecnica. Finalmente,se representaran los datos en diferentes graficos que permitan adecuadamente obtener unconocimiento de que esta sucediendo durante el juego.

3.3.1 Waterpolo

El waterpolo es un deporte en el que las transiciones en las jugadas son muy importantes,permite crear nuevos espacios de juego, alejandose del defensor para crear un area en el queel jugador este comodo para poder realizar un lanzamiento a porterıa lo mas solo posible. Apesar de que para ir de un lado a otro de la piscina tambien hay que nadar, las transicionesmas importantes ocurren en el area de la porterıa, un area que va desde la lınea de gol hastaunos 9 metros, en la que los jugadores se colocan en un arco para mover el balon y buscar lamejor opcion de gol.

Por otro lado se encuentra la defensa, que tambien se coloca en un arco; la forma de defenderes ’uno para uno’ (defensa individual), cada jugador defensivo tiene asignado a un jugadorofensivo y los movimientos de unos suelen ir ligados a los de los otros. Por esta razon, losmovimientos se van a analizar conjuntamente en la arquitectura propuesta.

Figura 17: Ataque generico en waterpolo [13]

3.3.2 Adquisicion de datos

Los vıdeos para el proyecto han sido grabados con una camara 360º, Ricoh Theta V [54],situada en la mitad de la piscina. Esta piscina se encuentra en el Consejo Superior de De-portes (CSD), sito en Madrid, y tiene unas dimensiones de 25x12 metros. Se han grabado losentrenamientos de un equipo de Division de Honor Femenino, el CDN Boadilla. Esta camaragraba, como se puede observar en la Figura 14, con dos lentes ojo de pez.

Page 42: Universidad Polit ecnica de Madrid Escuela T ecnica

18

Las camaras ojo de pez tienen un angulo de vision algo mayor a 180º, esto se debe a quesu distancia focal es muy corta entre 4.5 y 17mm. Las imagenes sufren una distorsion muycaracterıstica que les otorga una apariencia convexa no rectilınea. No obstante, esto no es unproblema, ya que gracias a las dos imagenes ojo de pez obtenidas, se va a crear una esferacon el campo de vision de las dos lentes.

3.3.2.1 Proyeccion imagen

Antes de aplicar los algoritmos de deteccion y seguimiento directamente sobre las imagenes,hay que analizar las distorsiones que se generan, debido a las lentes, al representar las imagenesen un plano de 2D. Por esta razon, es necesario guardar los vıdeos con la proyeccion Equirec-tangular, una imagen que cubre 360º en horizontal y 180º en vertical, con una resolucion de4096x2048 pıxeles.

Para poder proyectar una imagen formada por dos imagenes de ojo de pez a Equirectangulares necesario que la apertura sea unos 10º mas grande que 180º para que haya suficiente zonade solape entre las dos imagenes y se puedan combinar correctamente. Se va a detallar pasopor paso los cambios de coordenadas que hay que realizar para obtener esta proyeccion.

El primer paso es convertir las coordenadas de los puntos de las imagenes ojo de pez que estanen 2D a un vector 3D, para ello se va a utilizar las ecuaciones (1).

φ =r · apertura

2θ = atan2(yfisheye, xfisheye) (1)

El vector 3D se convierte posteriormente en latitud y longitud a traves de las ecuaciones (2).

latitud = atan2(yfisheye, xfisheye) longitud = atan2(Pz,√P 2x + P 2

y ) (2)

Finalmente, las coordenadas de la proyeccion Equirectangular se obtienen normalizando lalongitud y la latitud a traves de las siguientes ecuaciones (3), obteniendo la Figura 18 a partirde la Figura 14.

xequirec =longitud

πyequirec =

2 · latitudπ

(3)

Page 43: Universidad Polit ecnica de Madrid Escuela T ecnica

19

Figura 18: Proyeccion equirectangualar

La proyeccion Equirectangular es una representacion directa de la esfera, su longitud y latitudse proyectan en el plano horizontal y vertical respectivamente, a esta proyeccion no se le aplicaninguna escala. Como se observa en la Figura 18 la proyeccion esta distorsionada, los objetosen el centro estan comprimidos y las zonas que estan en la parte superior e inferior de laimagen se estiran.

La proyeccion Rectilinear muestra la imagen como los seres humanos la percibirıan en elmundo real, es decir, sin distorsion, las lıneas rectas se mantienen rectas. Esta proyeccion seobtiene proyectando un rayo de luz desde el centro de la esfera al punto que se desea proyectar,llegando hasta el plano de proyeccion, tangente a la esfera en un punto concreto.

Figura 19: Proyeccion azimutal gnomonica [14]

El punto S en la Figura 19 se encuentra a la vez en el ecuador y en el centro del plano ytiene como latitud y longitud normalizadas λ0, φ1 = (0, 0). La transformacion para obtenerlas coordenadas del plano se realiza a partir de las ecuaciones (4,5).

xNFoV =cosφsin(λ− λ0)

cos c

yNFoV =cosφ1sinφ− sinφ1cosφcos(λ− λ0)

cos c

(4)

Page 44: Universidad Polit ecnica de Madrid Escuela T ecnica

20

Donde c es la distancia angular del punto (x,y) desde el centro de la proyeccion dado por lasiguiente expresion:

cos(c) = sinφ1sinφ+ cosφ1cosφcos(λ− λ0) (5)

A traves de la ecuacion (5), un punto se puede representar en el plano seleccionando losangulos horizontales y verticales y el centro de la zona que se quiere extraer. En la Figura 20se representa la proyeccion Equirectangular a NFoV.

Figura 20: Proyeccion Equirectangular a NFoV

3.3.3 Algoritmos de deteccion

Uno de los principales objetivos del procesamiento de imagenes y la Vision Artificial son ladeteccion y el reconocimiento de objetos. Normalmente, el punto de partida de los sistemas esla necesidad de detectar la ubicacion de algunos objetos en concreto o reconocer que objetosse encuentran en la imagen actual. En este proyecto se han utilizado algunos de los algoritmosmas avanzados hasta la actualidad para la deteccion de personas.

El primer algoritmo utilizado ha sido YOLO [11], un algoritmo que presenta 3 versiones y haido mejorando a lo largo del tiempo con cada una de ellas en diferentes aspectos. La versionque ha sido utilizada es YOLOv3[15], una version que, comparada con la anterior, no es masrapida, pero sı mas eficiente. La razon de esto es la adicion de nuevas capas a la arquitectura.Para una misma imagen de 416x416 pıxeles, YOLOv3 es capaz de predecir 10.647 BoundingBoxes mientras que YOLOv2 [55] solamente predice 845. Las principales ventajas de estaarquitectura es que realiza el reconocimiento de objetos en 3 escalas diferentes en una solapasada de la red que, junto con la funcion de loss propuesta por sus autores, dota a la red degran velocidad en el procesamiento con una precision en la deteccion elevada.

Page 45: Universidad Polit ecnica de Madrid Escuela T ecnica

21

Figura 21: Arquitectura de la red YOLOv3 [15]

La razon por la que se ha escogido este algoritmo es porque es capaz de observar toda laimagen a la vez, por lo que todas las predicciones estan basadas en el contexto de la totalidadde la imagen. Ademas, realiza una unica evaluacion para cada prediccion, convirtiendola enuna red mucho mas rapida que otras, como pueden ser las R-CNN.

El siguiente algoritmo probado ha sido Faster R-CNN, un algoritmo mas lento que el YOLOpero mas preciso. Esta red cambio el concepto de las redes convolucionales (R-CNN), losrecortes de los objetos detectados se hacen directamente sobre los mapas de Features que seextraen de la imagen. Una pequena red neuronal denominada RPN aprende a proporcionaraquellas regiones mas susceptibles de contener objetos y, mediante la aplicacion de la tecnicade RoI Alignment, los mapas de Features son recortados en base a las regiones propuestas.Finalmente, los recortes se convierten a un vector que atraviesa dos capas de neuronas paradesembocar en dos ramas con tareas diferentes. La primera de ellas se encarga de predecirla categorıa o clase a la que pertenece la region y la segunda es la encargada de predecir elBounding Box en la imagen general, ası como la probabilidad de acierto.

Figura 22: Arquitectura de la red Faster R-CNN [10]

Page 46: Universidad Polit ecnica de Madrid Escuela T ecnica

22

Una vez estudiado que algoritmo es el mejor a utilizar para este trabajo, se va a proceder are-entrenar la red para intentar obtener mejores resultados. Se probara a re-entrenar la redcon distintas iteraciones para evaluar los resultados y poder comparar entre ellos. Para elloes necesario crear un Dataset, obtener las imagenes de los vıdeos e ir etiquetando de maneramanual cada una de las detecciones. Para entrenar una red, cuantos mas datos se clasifiquenmejor, sin llegar al overfitting, es decir, querer que la red sea tan perfecta que si encuentrauna pequena diferencia con los objetos detectados no sea capaz de identificarlo. Para creareste Dataset se han utlizado vıdeos grabados de diferentes sesiones de entrenamiento reales,etiquetando un total de unas 3.000 personas.

El numero de etiquetas utilizadas para entrenar una CNN varıa mucho respecto al modeloque se quiera entrenar. Puesto que solo se etiquetan objetos pertenecientes a una clase, eneste trabajo la clase persona, para entrenar la red se han seleccionado tres vıdeos diferen-tes con perspectivas distintas para que la red pueda, posteriormente, detectar los jugadoresindependientemente de la zona de interes de juego. El etiquetado se ha realizado de mane-ra semisupervisada, Figura 23, para agilizar el proceso de anotacion. Los cuadros pasan porla red Faster R-CNN y esta predice los Bounding Boxes (Figura 23a), posteriormente estosBounding Boxes se van dibujando de uno en uno sobre el cuadro que se ha introducido en lared y, manualmente, se debe seleccionar si ese Bounding Box es valido (el Bounding Box semarca de color verde Figura 23a) o no (el Bounding Box se marca de color rojo Figura 23a),si este no fuera valido, se descarta; en caso contrario se almacenarıa como valido. Finalmente,es necesario etiquetar manualmente (Bounding Boxes marcados en azul Figura 23b) aquellaspersonas que no han sido previamente detectadas por el algoritmo Faster R-CNN (se pasanlos Bounding Boxes validos del Faster R-CNN, marcados en blanco Figura 23b, para sabercuales ya estan etiquetados) y seran almacenadas conjuntamente con las validas.

(a) (b)

Figura 23: Anotacion semisupervisada del Dataset

3.3.4 Algoritmos de seguimiento

El seguimiento de un objeto se realiza para conectar la deteccion en un cuadro con el siguiente,pudiendo de esta manera vincular las detecciones en el tiempo. No obstante, puede ser queen un cuadro exista una deteccion y en el siguiente, debido a una oclusion, desaparezca perounos cuadros mas tarde vuelva a aparecer. Este problema puede afectar al rendimiento del

Page 47: Universidad Polit ecnica de Madrid Escuela T ecnica

23

seguimiento del objeto puesto que pueden aparecer falsas estimaciones. Otro problema queaparece a la hora de realizar el seguimiento, como se ha mencionado anteriormente, es que elobjeto puede desaparecer de un cuadro a otro cuadro, siendo posible que vuelva a aparecermas adelante o simplemente desaparezca por completo. Aquı es donde entra en juego el tiempode vida del Tracker, cuando se pierde, el algoritmo comienza a hacer estimaciones sobre laimagen de donde puede encontrarse el objeto, en caso de que vuelva a aparecer; no obstante,pasado un determinado tiempo, el TTL expira y el Tracker es eliminado. Finalmente, elultimo problema esta relacionada con el seguimiento de multiples objetos; cuando dos objetosse encuentran relativamente cerca se puede confundir el Tracker, cambiando uno por otro, oincluso perder uno de ellos, cambiando el resultado.

El primer algoritmo de seguimiento utilizado se basa en el filtro de Kalman, un algoritmorecursivo, ideal para sistemas en continuo cambio. Este filtro realiza un seguimiento del estadoestimado del sistema y la incertidumbre de la estimacion. Esta ultima se actualiza utilizandoun modelo de transicion de estado y mediciones. Este algoritmo tiene dos pasos. En el paso deprediccion, el filtro de Kalman produce estimaciones de las variables de los estados actuales,junto con sus incertidumbres. En el paso de actualizacion, despues de observar el resultado dela siguiente medicion, esta estimacion se actualiza utilizando un promedio ponderado, dandoun mayor peso a las estimaciones correctas.

Figura 24: Filtro de Kalman [16]

El segundo algoritmo que se ha utilizado es el KCF que utiliza un filtro de correlacion basadoen la estimacion de una salida a partir de una entrada. La salida deseada tıpicamente es deuna forma gaussiana centrada en la ubicacion del objeto, por lo cual el valor de esta disminuyecon la distancia. El KCF tiene como entrada la deteccion del cuadro anterior y del actual y,su salida es la distancia entre ambas, que se utiliza para ir desplazando esta deteccion a lolargo del vıdeo para realizar el seguimiento. En el cual, para minimizar la ecuacion se proponela solucion de los mınimos cuadrados con regularizacion, puesto que se trata de un problemade optimizacion de tipo comparacion.

mınw

(||Xw − y||2 + λ||w||2

)(6)

Page 48: Universidad Polit ecnica de Madrid Escuela T ecnica

24

Donde X es una matriz circulante (matriz en la que cada fila rota un elemento respecto a laanterior).

No obstante, la distribucion probabilıstica de la imagen puede tomar formas complejas compli-cadas de modelar, para simplificarlo, es posible transformar funciones no lineales en funcioneslineales pasandolas a una dimension mayor x → ϕ(x). La Figura 25 representa una distri-bucion de puntos (rojos y azules) de dos dimensiones que pueden ser separados por unacircunferencia, pasando esta distribucion a una dimension mayor (3D), esta separacion pasaa ser un plano.

Figura 25: Transformacion de una distribucion de puntos a una dimension superior

Para poder modelar la distribucion probabilıstica de la imagen, a traves del paso a unadimension superior, se utiliza el Teorema de Mercer, pudiendo expresar la solucion como sifuera una combinacion lineal.

mınα

(||Kα− y||2 + λαTKα

)(7)

Donde K es la matriz de kernel formado por los productos escalares ki,j = ϕ(xi)Tϕ(xj). La

ecuacion (7) tiene como solucion

kxz′

= F−1(x∗ � z) α = (K + λI)−1y (8)

α =y

kxx + λr = kxz � α. (9)

Donde r es la salida del filtro dependiente de los parametros que pueden ser extraıdos de lasolucion del problema de optimizacion.

A traves de esta transformacion matematica, la distribucion probabilıstica de los datos setransformara en una gaussiana multidimensional, si por ejemplo, usaramos el kernel conocido

Page 49: Universidad Polit ecnica de Madrid Escuela T ecnica

25

como RBF. Esta funcion es derivable y es capaz de describir gran cantidad de distribucionesde datos, ademas, computacionalmente se trata de un proceso sencillo, lo que permite acelerarel procesado dotando a los algoritmos de una gran velocidad.

El tercer algoritmo utilizado es el CSRT, mas preciso que el KCF pero mas lento. Este algo-ritmo se basa, al igual que el KCF, en un filtro correlado pero, ademas, utiliza una mascaraespacial que permite filtrar y centrar el foco de analisis en los pıxeles mas probables en elentorno del Bounding Box.

Figura 26: Algoritmo CSRT [17]

La Figura 38 representa una vision general del funcionamiento del algoritmo para estimar lazona con mayor probabilidad en la que se encontrara un objeto en el siguiente cuadro. Laimagen de superior derecha muestra la mascara espacial en 2D, a partir de ella se sacan loscanales filtrados (imagen superior izquierda). Cada canal representa un color, una escala degrises o un valor de HoG (canales utilizados en la implementacion original), a partir de estoscanales se resuelven las ecuaciones (8)(9). La imagen inferior representa la salida de cadacanal una vez ya se conocen los parametros y, resolviendo el problema de optimizacion, seobtiene la distribucion final donde se puede encontrar la zona con mayor probabilidad en laque el objeto puede situarse en la siguiente posicion.

Una ventaja que tiene el CSRT es que, si comienza a hacer un seguimiento erroneo, es capazde corregirlo si el objeto no se ha movido mucho. Sin embargo, cuando se trata de una perdidadel seguimiento por oclusiones, este algoritmo comete varios fallos a la hora de recuperar elseguimiento del objeto si reaparece desde otro punto de vista.

Page 50: Universidad Polit ecnica de Madrid Escuela T ecnica

26

3.4 Combinacion de deteccion, seguimiento y re-identificacion

En este proyecto se plantea el diseno de un algoritmo capaz de detectar y realizar un se-guimiento, ademas, a partir de estos resultados, poder realizar una re-identificacion de paraobtener un algoritmo lo mas completo posible. En las secciones anteriores se ha escrito porseparado de la deteccion, el seguimiento y la re-identificacion; no obstante, existen algoritmosque los combinan en uno unico. Es importante destacar que estos algoritmos son mas com-plejos que trabajar con los individuales y hacer una combinacion de ellos (pipelining), en losque las salidas de estos son la entrada de los siguientes.

En este proyecto se van a probar dos algoritmos. El conocido como Deep Sort, un algoritmoque combina la deteccion de objetos usando YOLOv3 con el algoritmo SORT que realiza elseguimiento. El otro algoritmo que se va a utilizar es la combinacion de tres de ellos indivi-dualmente. Puesto que es complicado realizar el seguimiento de multiples objetos, en vez deutilizar algoritmos de Deep Learning para realizar el seguimiento, se propone utilizar algorit-mos mas clasicos encuadrados en el campo de la Vision Artificial los cuales se correspondena los presentados en la seccion anterior.

3.4.1 Deep Sort

Realmente Deep Sort [18] no es un algoritmo que trabaja en un unico Framework, es decir,el algoritmo no realiza la deteccion y el seguimiento en el mismo paso. Este algoritmo utilizalos pesos pre-entrenados del YOLOv3 para extraer las Bounding Boxes de las detecciones querealiza; estas son utilizadas como entrada del algoritmo SORT, basado en el Filtro de Kalman,para realizar el seguimiento. Posteriormente, utilizando una Deep Neural Network entrenadapara la re-identificacion, el algoritmo es capaz de asociar los Trackers activos y los que se hanido perdiendo, con los nuevos que se estiman tras las nuevas detecciones con un algoritmo deasociacion de medidas.

Figura 27: Arquitectura Deep Sort [18]

Page 51: Universidad Polit ecnica de Madrid Escuela T ecnica

27

3.4.2 Algoritmo propuesto

El algoritmo final propuesto en este proyecto consiste en utilizar la red Faster R-CNN comodetector y el algoritmo CSRT para el seguimiento. Al igual que en el caso anterior, FasterR-CNN proporciona unas Bounding Boxes que se convierten en la entrada del algoritmode seguimiento. Para realizar el emparejamiento de las detecciones nuevas con los Trackersantiguos se utiliza el IoU.

Todas las Bounding Boxes de las detecciones nuevas se comparan con las Bounding Boxes delas cuales se estaba realizando un seguimiento. El proceso que realiza el algoritmo ejecuta lossiguientes pasos, comprobando si se cumplen ciertas condiciones:

1. El primer paso es obtener, de las nuevas detecciones, sus Bounding Boxes. Del seguimien-to previo tambien hay que obtener sus Bounding Boxes, pero ademas se debe obtenerun Array con el tiempo de vida de los Trackers. El tiempo de vida es un valor que seva incrementando cada vez que un Tracker no es confirmado por una deteccion quecoincida con su seguimiento. Este parametro permite eliminar Trackers que no han sidoasociados tras largos periodos de tiempo.

2. El siguiente paso es la comparacion entre todas las nuevas detecciones con los Trackersobtenidos, como se ha mencionado previamente. Para realizar esta comparacion se utilizael evaluador IoU, devolviendo el porcentaje de similitud que tienen cada una de lasBounding Boxes con las otras, creando de esta manera una matriz de NxM (siendo Nel numero de nuevas detecciones y M el numero de antiguos seguimientos).

3. A la matriz obtenida se le aplica el algoritmo Hungaro [56], de esta manera se asociacada una de las detecciones con un Tracker.

4. La primera condicion que tiene el algoritmo es la validacion del Tracker antiguo. Estoquiere decir que, si tras la asociacion realizada por el algoritmo Hungaro el IoU obtenidopresenta un valor de similitud por encima de un umbral prefijado, la asociacion entrela nueva deteccion y el antiguo seguimiento es valida, por lo que es necesario solamenteguardar el nuevo valor de la deteccion que sera mas preciso que el Tracker ya que elseguimiento se realiza por estimaciones. Estos valores se guardaran en un Array, ademasse les asociara un TTL igual a 0.

5. En caso de que alguna asociacion del paso 3 no supere este umbral, no hay correspon-dencia entre ellas. Por lo cual, todas las nuevas detecciones se anadiran al Array consus correspondientes TTL igual a 0. Los Trackers pasaran a ser evaluados por la ultimacondicion.

6. La condicion que deben cumplir los Trackers tiene que ver con el TTL de estos. Silos Trackers llevan muchos cuadros sin ser verificados, puede que hayan sido estimadosincorrectamente y deben ser eliminados. Si estos Trackers superan el umbral del TTL

Page 52: Universidad Polit ecnica de Madrid Escuela T ecnica

28

son eliminados y no se anadiran al Array, mientras que aquellos que no lo superen seanadiran y, ademas su TTL se incrementara en uno.

7. Finalmente, el Array creado se pasara por el algoritmo CSRT para estimar la posiciondonde estas Bounding Boxes se encontraran en el siguiente cuadro.

Figura 28: A la izquierda nuevas detecciones (D1, D2, D3, D4), a la derecha tracking anti-guo. La tabla representa los TTL asociados a cada Tracker antiguo

D1 D2 D3 D4

T1 0.956 0.00 0.00 0.00

T2 0.00 0.00 0.00 0.00

T3 0.00 0.00 0.867 0.445

T4 0.00 0.00 0.00 0.00

T5 0.00 0.00 0.00 0.00

Tabla 1: Emparejamiento tras el algoritmo Hungarian

Figura 29: Nuevo seguimiento con sus correspondientes TTL para cada asociacion

Page 53: Universidad Polit ecnica de Madrid Escuela T ecnica

29

Figura 30: Algoritmo Hungaro. a) Grafo posibles asociaciones b) Coste entre asociacionesc) emparejamientos[56]

3.4.2.1 Re-identificacion

Para realizar una re-identificacion efectiva de una persona es necesario modelar los factoresdiscriminativos e invariantes de ella, en niveles semanticos, tanto altos como bajos. El DeepLearning enfoca la atencion en toda la imagen, por lo que otros proyectos proponen la ano-tacion de distintas partes de las personas para que las redes aprendan. La red utilizada eneste proyecto es MLFN [57] que factoriza la apariencia visual de una persona en factores dis-criminativos en multiples niveles. Esta red esta compuesta por multiples bloques que extraenlas caracterısticas y se combinan convirtiendose en la entrada de las siguientes capas, dandocomo salida final un vector que intenta describir unıvocamente al objeto bajo estudio.

Una primera propuesta (Figura 31) para realizar re-identificacion de personas es utilizarlaindependientemente del seguimiento utilizando unicamente las detecciones. La red evalua lasimilitud entre los Bounding Boxes obtenidos por la deteccion y los previos de otras detec-ciones y, si estos tienen una similitud alta se asocian con el mismo ID de Tracker que existıaen detecciones previas. Esta propuesta tiene un inconveniente, si el seguimiento funciona co-rrectamente y existe un error en la re-identificacion, puede haber cambios entre IDs de losTrackers si estos nuevos se parecen a otros previos. El resultado final no sera, por tanto, eladecuado ya que no se realimentan ambos algoritmos entre ellos para trabajar conjuntamen-te. Si dos jugadores se parecen, los Feature Vectors seran tambien parecidos, por lo cual laetiqueta de uno cambiara al otro obteniendo un resultado erroneo del seguimiento.

Figura 31: Primera propuesta de re-identificacion

Page 54: Universidad Polit ecnica de Madrid Escuela T ecnica

30

Dado el inconveniente que presenta la primera propuesta, la segunda combinara la re-identificacion con la parte de seguimiento, para no comprobar solo que el Bounding Boxpredicho presenta un IoU alto con algunos de los previamente detectados sino, ademas, quesimilitud existe entre las dos personas en esos Bounding Boxes, favoreciendo el seguimiento.Esta propuesta permite que los dos algoritmos trabajen conjuntamente y la re-identificacionse anade como una ayuda adicional a la decision de si se debe asociar una deteccion previa conlas nuevas. Esta solucion no es lo que se conoce como re-identificacion propiamente dicha pero,queda como mejoras futuras la implementacion completa de un sistema de re-identificacionintegrado en el algoritmo completo.

Para comprobar si las detecciones se parecen entre ellas, estas pasaran a traves de la redneuronal propuesta para extraer los vectores de Features que describiran las detecciones pre-vias y las nuevas. Estos vectores se compararan mediante una metrica de distancia (euclıdea,coseno...) y si la similitud es muy grande y no rebasa un umbral prefijado se asumira que unadeteccion previa coincidira con una deteccion nueva.

3.4.3 Representacion de los resultados

Las representaciones visuales ayudan a entender el analisis de los resultados, toda la informa-cion que se recibe visualmente se procesa de una manera mas eficiente. Una de las funcionesprincipales de una representacion grafica es mostrar los datos, ayudando a obtener una visionadicional de los valores obtenidos.

La tecnica de visualizacion de datos que se ha decidido utilizar para representar las trayectoriasy posiciones de los jugadores ha sido un mapa de calor, que utiliza un sistema de colores pararepresentar distintos valores. Una ventaja que tienen estos graficos es que es facil entenderel comportamiento de los datos que estan siendo representados, pudiendo observar tanto lalocalizacion de los mismos como el nivel de ocurrencia en lugares concretos.

Para realizar la representacion del mapa de calor se ha utilizado la densidad Kernel medianteun Kernel Gaussiano, que calcula la densidad de los puntos que se encuentran en una zonadeterminada. Cada punto representado en una grafica tiene conceptualmente una curva su-perficial, donde el maximo se encuentra en las coordenadas de ese punto. Segun se va alejandode la coordenada, la superficie de la curva va disminuyendo hasta llegar a un valor de cero ala distancia busqueda. Para calcular la densidad de cada celda se anaden los valores de todaslas curvas superficiales, obteniendo de esta manera el mapa de calor.

La importancia de realizar unas buenas detecciones y un buen seguimiento se ve confirmadaen este apartado; la obtencion de las Bounding Boxes lo mas precisas posibles es de vitalimportancia para la representacion del mapa de calor. No obstante, antes de pasar a la expli-cacion de como obtener las coordenadas de los puntos es importante entender como se puedeacceder a un determinado punto en una imagen.

Page 55: Universidad Polit ecnica de Madrid Escuela T ecnica

31

Una imagen esta formada por filas y columnas de pıxeles, pudiendo especificar un pıxel endicha imagen a partir de en que columna y en que fila se encuentra. En terminos de coorde-nadas, un pıxel puede identificarse por un par de enteros que dan el numero de columna yel numero de fila. Convencionalmente, las columnas estan numeradas de izquierda a derecha,comenzando con cero, sin embargo, tambien existen otras formas de enumerar las filas y lascolumnas, por lo que es importante conocer el sistema de coordenadas a la hora de realizarcualquier representacion. En el caso de este proyecto, las columnas se enumeran de izquierdaa derecha y las filas de arriba a abajo, fijando el origen de coordenadas en la esquina superiorizquierda de la imagen.

Las Bounding Boxes vienen determinadas por dos pares de coordenadas que representan lacolumna y la fila del pıxel en el que se encuentran {(xi,yi) i=1,2}. Estos pares de coordenadasforman los vertices opuestos de un rectangulo y el punto que se utiliza para representar elgrafico es el punto intermedio de la recta que une estos dos puntos(x,y).

(x, y) =

(x1 + x2

2,y1 + y2

2

)(10)

No obstante, cuando se graba un vıdeo se puede observar que existe una perspectiva. Losobjetos que estan mas lejos se ven mas pequenos, mientras que los que estan mas cerca se venmas grandes, ademas si un objeto se encuentra justo detras de otro no se podrıa determinarsu posicion. Es por ello por lo que se va realizar una transformacion geometrica denominadahomografıa en la que un punto se convierte en otro. El cambio de coordenadas viene determi-nado por la siguiente expresion, donde los valores Mij (i=1,2,3 j=1,2,3) se calculan resolviendoel sistema lineal.

(xn, yn) =

(M11xa +M12ya +M13

M31xa +M32ya +M33,M21xa +M22ya +M23

M31xa +M32ya +M33

)(11)

Figura 32: Cambio de perspectiva

En el caso de este proyecto se realizara la transformacion para representar la piscina monito-rizada en perspectiva como si fuera un rectangulo y ası poder representar la informacion demanera adecuada.

Page 56: Universidad Polit ecnica de Madrid Escuela T ecnica

32

4. RESULTADOS

En este apartado se muestran los resultados de los algoritmos empleados y del sistema dedeteccion y seguimiento completo, al igual que los resultados finales para la representacionde las detecciones realizadas. La prueba de los algoritmos ha sido realizada en un ordena-dor con las siguientes caracterısticas: RAM 16GB DDR4 2666MT/s, CPU Intel Core [email protected]; es importante recalcar que la evaluacion de los algoritmos se ha realizadosin tarjeta grafica. La ausencia de tarjeta grafica ha conllevado varias limitaciones, la prin-cipal de ella los tiempos de procesado. Debido a no requerir la aplicacion final un procesadoen tiempo real se ha sobrellevado todo el proceso directamente en CPU sin impedir el avanceadecuado del proyecto. No obstante, para realizar entrenamientos la tarjeta grafica es nece-saria para acelerar el proceso, por lo que se ha utilizado un ordenador complementario pararealizar el entrenamiento. La tarjeta grafica empleada ha sido una NVIDIA GTX 2080 Ti con12 GB de memoria. Se iran mostrando los avances que se han ido obteniendo tras la prueba delos distintos algoritmos y como, tras el cambio de algunos parametros propios del algoritmo,los resultados han ido variando.

4.1 Camara 360º

Como se ha mencionado anteriormente, las transiciones del juego mas importantes ocurrenalrededor de la porterıa, gracias a la utilizacion de la camara 360º se puede cambiar el puntode vista de un lado de la piscina al otro para poder analizar los distintos ataques de cadaequipo. La camara 360º permite ver una imagen de muchas maneras posibles realizando dife-rentes proyecciones sobre un plano, fijando ciertos parametros se puede llegar a realizar estastransiciones de campo. Para la evaluacion, la primera proyeccion realizada fue la proyeccionEquirectangular , Figura 18, que se genera directamente tras el procesado de la grabacion.No obstante, como se puede observar, la mitad de la imagen es innecesaria, por lo cual, elprimer resultado que se propuso es pasar de la imagen 4096x2048 a una imagen cuadradade 2048x2048 que solo contenga la piscina, pero debido a las distorsiones generadas por laproyeccion y la lejanıa en la que se encuentra la zona de juego, las detecciones son complejasde realizar en este tipo de imagen. Para poder acercar la imagen y representar la zona dejuego se ha utilizado un proyeccion NFoV, eliminando de esta manera las distorsiones perosacrificando la resolucion de la imagen, que va a ser una de las principales causas que denlugar a fallo en el sistema.

Se observa que, a traves de la seleccion de un punto y el angulo de vision de campo, es posibleeliminar las distorsiones. Este efecto se ve claramente en los objetos que crean una lınea recta,como son por ejemplo las corcheras y la pared, en la Figura 33a aparecen curvadas, mientrasque en la realidad no lo estan, como se puede observar en la Figura 33b.

Page 57: Universidad Polit ecnica de Madrid Escuela T ecnica

33

(a)

(b)

Figura 33: a) Seleccion de punto para proyeccion de NFoV b) Proyeccion NFoV de la zonade juego

Estos cortes de imagen que se ha realizado son los que se utilizaran para la deteccion yposteriormente seguimiento de los jugadores. Cabe recalcar que se ha perdido mucha resolucionde la imagen pero, gracias a que se ha utilizado una camara 4K, esta perdida es asumiblepermitiendo utilizar adecuadamente los vıdeos para pasarlos por los algoritmos y obtener losmejores resultados posibles. La resolucion final de la imagen es 960x480 pıxeles, una cuartaparte de la resolucion inicial y, aun ası hay informacion suficiente para realizar el analisis demanera adecuada por los algoritmos empleados.

4.2 Deteccion

4.2.1 YOLOv3

El primer algoritmo utilizado para la deteccion ha sido YOLOv3, un algoritmo simple yrapido cuya precision no es tan elevada como la que otros presentan a la hora de realizarlas detecciones, esto a priori son ventajas dado que aunque la prediccion tenga un valor bajo(superando un umbral predeterminado), siempre y cuando sea correcta, es suficiente pararealizar el siguiente paso, el seguimiento. Como se puede observar en la Figura 34, la deteccionde un cuadro a otro varıa bastante, incluso realiza detecciones incorrectas prediciendo pajarosen vez de personas. La razon por la que predice pajaros es porque esta red ha sido pre-entrenada con el Dataset COCO que tiene 80 clases, incluyendo personas y pajaros. Puestoque al hacer la prediccion la red contempla la imagen entera, el agua es confundida por elcielo, dado su color, y los jugadores, al moverse, abren los brazos haciendo que la red predigapajaros.

Tras varias pruebas realizadas, la red predice con alta probabilidad pajaros y personas pero,como se trata de imagenes tomadas en una piscina las detecciones que realiza como pajaros,claramente son personas, permitiendo utilizar estas detecciones erroneas para realizar el se-

Page 58: Universidad Polit ecnica de Madrid Escuela T ecnica

34

guimiento. La red no consigue detectar todos los jugadores en la imagen simultaneamente, noobstante, en su conjunto las detecciones que realiza la red, aunque sean incorrectas, puedenser suficientes, puesto que cada deteccion activara posteriormente un Tracker que se man-tendra vivo si la deteccion que realiza posteriormente confirma que el seguimiento que se estarealizando es el correcto.

(a) (b)

(c)

Figura 34: Detecciones usando el algoritmo YOLOv3 a) Pocas detecciones b) Deteccioneserroneas c) Buenas detecciones

La deteccion que propone este algoritmo no es muy robusta y tiende a tener unos porcentajesde precision bajos puesto que el umbral de decision se ha tenido que reducir para poderobtener detecciones. Es importante anotar que normalmente se utiliza un umbral entre el 0.5y el 0.7 para poder asegurar que la deteccion obtenida es fiable, sin embargo, en este caso seha utilizado un umbral de 0.2, un umbral muy bajo, para poder confirmar con exactitud quelas detecciones son correctas. Como se observa en la Figura 34, las precisiones de deteccionque se obtienen son bastante bajas (aparecen valores entre 20 % y 60 %), es decir, el detectorno puede practicamente asegurar que esas detecciones sean correctas ya que muchas de ellasse encuentran por debajo del 50 %. No obstante, como se ha mencionado anteriormente, losresultados podrıan ser suficientes para realizar un seguimiento de los jugadores, teniendo encuenta que existen detecciones incorrectas, detectando pajaros que se estan asumiendo comopersonas.

Page 59: Universidad Polit ecnica de Madrid Escuela T ecnica

35

4.2.2 Faster R-CNN

Existen estudios comparando los distintos algoritmos en funcion del algoritmo utilizado y laimagen utilizada para realizar la deteccion. Belmonte realiza una comparativa de varios algo-ritmos y la perspectiva de las imagenes utilizadas [58], en cuanto a la precision de la BoundingBox, el factor mas importante para este proyecto. Este analisis se utiliza para concluir que eluso de NFoV sin distorsionar, presenta los mejores resultados de las proyecciones de imagenque se pueden obtener con la camara 360º.

Observando esta comparativa, se puede llegar a la conclusion de que Faster R-CNN deberıapresentar mejores resultados en el proyecto en comparacion con otro algoritmo empleado comoYOLOv3. No obstante, es necesario probar este algoritmo con las imagenes de la piscina paracomprobar si los resultados que ofrece este algoritmo son mejores que el YOLOv3.

(a) (b)

(c)

Figura 35: Detecciones usando el algoritmo MASK R-CNN

Al utilizar este algoritmo se obtienen los siguientes resultados: el primero relacionado con eltiempo de ejecucion, a la hora de realizar las detecciones, el algoritmo tarda alrededor de1.5 veces mas en procesar todo los cuadros, el segundo, es la precision de la deteccion (en laFigura 35 se observan precisiones entre el 70 % y 90 %). La precision de la deteccion confirmael estudio presentado previamente, en comparacion con YOLOv3 se obtienen muchas masdetecciones correctas en cada cuadro y ademas las realiza con mucha mas precision. Este

Page 60: Universidad Polit ecnica de Madrid Escuela T ecnica

36

algoritmo presenta mejores resultados a la hora de detectar, en la Figura 35 hay 13 jugadorespor imagen y consigue detectar con una precision media del 75 % a 9 jugadores, ademas seobserva que todas las detecciones son correctas, no hay ninguna deteccion de pajaro u otraclase como ocurrıa con el algoritmo YOLOv3. Sin embargo,a la hora del tiempo de procesadoeste se eleva alrededor de 3 veces mas en comparacion, no obstante, en este trabajo no sepresenta la idea de realizar el analisis en tiempo real, sino que se espera realizar un procesadodespues de los entrenamientos o partidos.

Para poder apreciar mejor los resultados se ha anadido la mascara que utiliza Mask R-CNNpuesto que los hace mas visibles ya que resalta el objeto detectado. Es importante comentarque el algoritmo Mask R-CNN simplemente anade una cadena paralela al algoritmo FasterR-CNN por lo cual las decisiones sobre el Bounding Box son iguales utilizando cualquiera delas dos redes.

La red Faster R-CNN, al igual que YOLOv3, ha sido pre-entrenada con el Dataset COCOen el que las imagenes de las personas que se han utilizado para entrenar se encuentran enposiciones normales, de pie, sentados, andando y ocluidas parcialmente, pero no en el agua.Por esta razon, los resultados que se van a describir a continuacion siguen siendo incorrectospara algunas situaciones.

La Figura 35 muestra tres cuadros distintos en los que se aprecian los buenos resultados deeste algoritmo. Sin embargo, no es perfecto, debido a los reflejos que se producen en el agua yel movimiento de esta provocando olas, se generan formas que el algoritmo detecta como otrosobjetos, como puede ser una tabla de surf como se observa en la Figura 35a. En la Figura35b se percibe que no todos los jugadores estan siendo detectados, no lo son los mas lejanos.Ademas, los mas cercanos, debido a las posturas en las que solo se ve la parte superior delcuerpo, los agrupa como si fuera una unica deteccion. La Figura 35c destaca puesto que 10 delos 13 jugadores estan siendo detectados como personas y no como otro objeto. Este algoritmo,a pesar de la resolucion de la imagen, los reflejos en el agua y la postura de los jugadores enlos que parte del cuerpo esta siendo ocluida por el agua, presenta mejores prestaciones que elYOLOv3 y un porcentaje alto de precision (en torno al 80 % para las detecciones de la clasepersona).

4.3 Seguimiento

4.3.1 Deep-Sort

El amplio numero de redes neuronales que han sido creadas, facilita la posibilidad de elegircual de ellas funciona mejor para la aplicacion deseada. La deteccion de objetos suele irfuertemente ligada al seguimiento de las detecciones en aplicaciones de vıdeo, por lo que laaparicion de algoritmos que funcionan conjuntamente no es inusual. El algoritmo Deep-Sortcombina el algoritmo de deteccion YOLOv3 y el algoritmo de seguimiento SORT. A pesar de

Page 61: Universidad Polit ecnica de Madrid Escuela T ecnica

37

que el algoritmo de deteccion YOLOv3 no presenta tan buenos resultados como el algoritmoFaster R-CNN como se ha reflejado en el apartado anterior, el uso de del Deep-Sort se justificapuesto que no solamente realiza conjuntamente la deteccion y el seguimiento, sino que ademasrealiza una identificacion de los objetos con el fin de lograr tiempo real de procesado utilizandoGPU.

(a) (b)

(c)

Figura 36: Deteccion, seguimiento y re-identificacion usando el algoritmo Deep-Sort

En la Figura 36 se representan los resultados de aplicar el algoritmo Deep-Sort a los vıdeos delos entrenamientos. El seguimiento se caracteriza por dos parametros importantes, el tiempode vida del Tracker y el numero de detecciones previas que se deben realizar antes de iniciar unseguimiento, variando estos parametros se optimizan los resultados obtenidos. La Figura 36arepresenta uno de los primeros cuadros del vıdeo, hay jugadores que estan siendo detectados,sin embargo, no han sido detectados durante 3 cuadros seguidos (umbral que se ha escogidoempıricamente que optimiza el seguimiento, ya que asegura que la deteccion realizada es unadeteccion correcta y no una prediccion que se ha realizado en un cuadro por alguna causa yno se de en el resto de cuadros) y por ello el Tracker no ha sido inicializado. En la Figura36b se observa que para ciertos jugadores existe mas de un Tracker activo, esto se debe a lare-identificacion. Cuando se confirma una deteccion varias veces, se activa el seguimiento yse identifica ese Tracker, sin embargo, debido a las reflexiones del agua y la resolucion de laimagen la re-identificacion falla, por lo cual, cuando en el siguiente cuadro aparece una nuevadeteccion del mismo jugador, el identificador no es capaz de asociarlo con el que ya existıa,considerando que se trata de una deteccion nueva e iniciando el seguimiento de este nuevo

Page 62: Universidad Polit ecnica de Madrid Escuela T ecnica

38

objeto con la nueva identificacion y manteniendo el seguimiento antiguo hasta que el tiempode vida haya vencido. A pesar de que en la Figura 36c se puede apreciar que existen cuadrosen los que el seguimiento se hace correctamente, el resultado global no es muy preciso, larazon por la que otros algoritmos de seguimiento han sido probados.

4.3.2 KCF y CSRT

Mostrados los resultados obtenidos por el algoritmo Deep-Sort, se van a probar otros dosalgoritmos de seguimiento conocidos como KCF y CSRT. Para probar estos algoritmos yestudiar sus resultados, el seguimiento se hace sin previa deteccion, un usuario selecciona elobjeto que decide seguir dibujando una Bounding Box sobre el objeto, de esta manera seasegura que el seguimiento realizado no proviene de una deteccion erronea o de un jugadorque no esta en movimiento.

(a) (b)

(c) (d)

Figura 37: Seguimiento algoritmo KCF

El algoritmo KCF es un algoritmo rapido, sin embargo, como se puede apreciar en la Figura37 no es un algoritmo preciso. En el apartado 3.3.4 se ha comentado el funcionamiento delalgoritmo KCF. Este algoritmo hace uso de toda la imagen, comparando las zonas de la imagenparecidas para poder predecir el movimiento del Bounding Box. No obstante, la imagen esparecida en todas partes (el 85 % de la imagen es agua) por lo que es complicado predecircorrectamente el seguimiento del jugador en las condiciones que se dan en este trabajo.

Page 63: Universidad Polit ecnica de Madrid Escuela T ecnica

39

(a) (b)

(c) (d)

Figura 38: Seguimiento algoritmo CSRT

La gran diferencia del algoritmo CSRT respecto al KCF es que este se centra en la zona deinteres, creando una mascara alrededor del Bounding Box predefinido, facilitando la predicciondel movimiento. Como se observa en la Figura 38 es mas preciso que el KCF, no obstante,esta precision supone sacrificar velocidad de procesado. Como se comento anteriormente, esteanalisis no busca realizarse en tiempo real por lo que la perdida de velocidad es asumible paramejorar el rendimiento de la deteccion. Otro aspecto a tener en cuenta sobre estos algoritmoses que la precision con la que se hace la Bounding Box sobre el objeto es muy importante; si sehace demasiado grande podrıa entrar en ella parte de las reflexiones del agua interviniendo enel seguimiento, en caso de que la Bounding Box sea muy pequena, los detalles caracterısticosdel objeto del que se quiere realizar el seguimiento no seran precisos y se perdera el Tracker.

4.4 Deteccion y seguimiento

Obtenidos los resultados de los algoritmos de deteccion y los algoritmos de seguimiento, sellega a la conclusion de que, individualmente, el algoritmo de deteccion que obtiene los mejoresresultado es el Faster R-CNN y en cuanto al seguimiento es el CSRT. Se han probado enparalelo algoritmos que combinan la deteccion y el seguimiento conjuntamente (Deep-Sort),sin embargo, no han mostrado buenos resultados, por ello se va a utilizar la deteccion delalgoritmo Faster R-CNN y el seguimiento del CSRT unificandolos en un unico algoritmo.

Puesto que el algoritmo CSRT simplemente realiza el seguimiento a partir de los BoundingBoxes de la deteccion, no es capaz de identificar si la deteccion siguiente es del mismo objetoo es de uno nuevo, por lo cual inicializara un nuevo Tracker.

Page 64: Universidad Polit ecnica de Madrid Escuela T ecnica

40

(a) (b)

(c) (d)

Figura 39: Deteccion Mask R-CNN y seguimiento CSRT

Como se observa en la Figura 39 los Trackers, segun pasan los cuadros, van aumentandoen numero, pero muchos de ellos no son detecciones de jugadores distintos; apreciandose elproblema destacado previamente.

Por ello se ha propuesto una primera solucion, en la que en vez de realizar las deteccionescada cuadro, realizarlas cada cierto numero, eliminando los Trackers que previamente estabanactivos y evitando el solapamiento de aquellos que se traten del mismo objeto.

(a) (b)

Figura 40: Deteccion cada 10 frames con Mask R-CNN y seguimiento CSRT

Esta propuesta trae un problema nuevo, el seguimiento se va a llevar a cabo utilizando lasdetecciones que se realicen en este cuadro, sin embargo es posible que justo en el cuadro enel que hay que realizar la deteccion el algoritmo no sea capaz de identificar los jugadores porla resolucion de la imagen, posicion de estos o por las reflexiones del agua. Estos casos sepueden apreciar en la Figura 40, en la Figura 40a hay cinco detecciones de las cuales se hace

Page 65: Universidad Polit ecnica de Madrid Escuela T ecnica

41

el seguimiento correctamente, no obstante, cuando se pasa al cuadro en el que toca realizar lasiguiente deteccion, Figura 40b, se elimina el seguimiento que habıa y se realiza un seguimientode los nuevos objetos detectados, que en este caso son solo tres, en los que solo coincide unade las detecciones con la anterior. La solucion ideal serıa conseguir mantener los Trackersvivos sin solapamiento, es decir, poder identificar sobre que detecciones se esta realizandoel seguimiento para no empezar uno nuevo, mantener los antiguos que no se detectan en elsiguiente cuadro y anadir los nuevos, de los cuales no se estaba realizando un seguimientoprevio.

Este problema se ha abordado en la parte de desarrollo ’Algoritmo propuesto’ y se representacon la Figura 41.

Nuevocuadro

Seguimientoanterior

Seguimientonuevo

FasterR-CNN

AlgoritmoHungaro

Condicion 1

Trackerantiguo

Nuevadeteccion

Condicion 2

CSRT

no no

si

no

Figura 41: Algoritmo propuesto

La condicion 1 indica si las asociaciones entre la nueva deteccion y el seguimiento antiguo soniguales, en caso de serlo, solo proceden las detecciones nuevas mientras que el seguimientoque se realizaba de ese objeto se elimina; si son distintas las nuevas detecciones pasan porel algoritmo de seguimiento CSRT, mientras que los Trackers antiguos pasan por la segundacondicion. La condicion 2 consiste en comprobar el tiempo de vida del Tracker, si supera unumbral es eliminado, mientras que si no lo supera se continua realizando el seguimiento.

En la Figura 42 se pueden apreciar los pasos que va realizando el modelo de deteccion yseguimiento. En el primer cuadro se realizan solamente unas pocas detecciones (Figura 42a),por lo cual, cuando se realiza el seguimiento, el CSRT utiliza las Bounding Boxes de ladeteccion (Figura 42b). En el siguiente cuadro (Figura 42c), las detecciones son mucho masprecisas, en la deteccion que en la Figura 42a habıa identificado como una unica persona,en el siguiente cuadro (Figura 42c) el algoritmo Faster R-CNN es capaz de separar los dosjugadores. Como se observa en la Figura 42d), ya no se esta realizando el seguimiento de ladeteccion erronea, gracias al algoritmo Hungaro y las condiciones establecidas en la cadena, el

Page 66: Universidad Polit ecnica de Madrid Escuela T ecnica

42

seguimiento erroneo que se estaba realizando, pasa a ser un seguimiento correcto. Continuandoel analisis, en el tercer cuadro algunas detecciones se pierden (Figura 42e), como es el casodel portero, sin embargo, como solo ha pasado un cuadro desde la perdida de la deteccion,el tiempo de vida del Tracker no ha llegado a su umbral (el umbral se ha establecido en 20cuadros, puesto que las detecciones en cada cuadro varıan de uno a otro, y para no perderel seguimiento de los jugadores que no se detectan en el siguiente es necesario mantener elTracker vivo durante ese numero) por lo cual el seguimiento se continua realizando como seobserva en la Figura 42f.

(a) (b)

(c) (d)

(e) (f)

Figura 42: Cadena de deteccion y seguimiento

Page 67: Universidad Polit ecnica de Madrid Escuela T ecnica

43

Utilizar este procedimiento para realizar un seguimiento de multiples objetos lleva un tiempode procesado bastante elevado, ya que en cada cuadro hay que realizar una serie de compara-ciones entre este y el anterior, ademas de anadir el retardo que conlleva utilizar el algoritmode deteccion Faster R-CNN. No obstante, como se ha podido apreciar en la Figura 42 es unmodelo bastante preciso, aunque no perfecto, ya que se basa en un algoritmo de deteccion quecomete fallos pues la red no esta entrenada para trabajar con imagenes en el agua, el DatasetCOCO contiene un numero ınfimo de imagenes en el que las personas se encuentren en estemedio.

4.5 Entrenamiento Faster R-CNN

Dado que los resultados obtenidos tras la deteccion y el seguimiento no son optimos, el entre-namiento de la red se realiza para conseguir mejorarlos. Pese a que los resultados anterioreshan sido mostrados con el Mask R-CNN (para hacerlos mas visuales puesto que la cadena dedecision del Bounding Box es la misma) a la hora de crear el Dataset, solo se etiquetan losobjetos detectados a traves de su Bounding Box puesto que son los datos que se utilizan paraun posterior seguimiento.

(a) (b)

(c)

Figura 43: Entrenamiento Faster R-CNN con distintas iteraciones

Como se puede observar en la Figura 47, el entrenamiento de la red se ha realizado prede-finiendo un numero maximo de iteraciones y se ha ido comprobando si con este maximo secumplıan las expectativas de precision. La Figura 43a corresponde a 300 iteraciones, se ob-

Page 68: Universidad Polit ecnica de Madrid Escuela T ecnica

44

serva que con este numero de iteraciones la red no es capaz de aprender las detecciones. LaFigura 43b corresponde a 5.000 iteraciones y las detecciones, como se puede observar, sonmuy precisas, la red es capaz de detectar los 13 jugadores que se encuentran en la imagen.La Figura 43c corresponde a un entrenamiento con 10.000 iteraciones, se observa que las de-tecciones son igual de precisas que en la Figura 43b por lo que, tras analizar los resultadosde la Figura 44 se observa que no existe overfitting, se podrıa aumentar incluso el numero deiteraciones para una mejor resultado.

En la Figura 44 se representan tres resultados: los parametros loss (la suma de los errorescometidos) de la clasificacion que utiliza binary cross y de la regresion del Bounding Boxdonde se usa MSE. Otra metrica representada es el accuracy, se observa que segun avanzan lasiteraciones, la red aprende como detectar correctamente los objetos, ya que la curva convergea 1.

Figura 44: Resultados del entrenamiento con 10000 iteraciones

Se ha realizado una comparativa de los resultados obtenidos de la deteccion de los algoritmosYolov3 y Faster R-CNN pre-entrenados en el Dataset COCO y Faster R-CNN re-entrenadoen el Dataset creado. Para ello se han utilizado distintos valores de IoU, 0.2, 0.5 y 0.7. Lonormal es que el conjunto de test set tenga un 20 % de las anotaciones utilizadas para entrenarcuando el numero de datos se encuentra en el rango de 1.000 a 50.000, esto da un total deunas 600 personas, estimando por cada cuadro un numero aproximado de 10 personas paraetiquetar. El total de anotaciones realizadas son 654 personas ya que en algunos cuadros hayhasta 13 detecciones.

La tabla 2 recoge las metricas de las detecciones correctas y las imprecisas. Ademas recogeel porcentaje de accuracy del Bounding Box de todas las detecciones correctas como el valormedio del IoU. Las detecciones correctas son aquellas detecciones, cuyo IoU con las anotacionesdel test set, es mayor o igual al umbral (0.2, 0.5, 0.7), cuanto mayor es el umbral mas precisa esla deteccion. El YOLOv3 presenta el menor numero de detecciones totales y segun aumenta elIoU como umbral se realizan menos detecciones correctas y mas imprecisas, es decir, se exigeal algoritmo que proporcione aquellas detecciones de las cuales este practicamente seguro quese trate de una persona. En cuanto al Faster R-CNN pre-entenado con el Dataset COCO,presenta mejores detecciones, sin embargo, a la hora de realizar la deteccion de todas las

Page 69: Universidad Polit ecnica de Madrid Escuela T ecnica

45

personas sigue fallando. Tras el entrenamiento de la Faster R-CNN, aportando imagenes dejugadores en el agua, el numero de detecciones aumenta considerablemente.

En cuanto a los distintos umbrales de IoU fijados, segun se aumenta este valor, YOLOv3presenta peores resultados, al igual que el Faster R-CNN pre-entrenado; no obstante, en esteultimo, el numero de detecciones es mucho mayor y por lo tanto las detecciones imprecisastambien. Fijandose en la columna de accuracy, se proporcionan los datos de la precision delBounding Box media, siendo mejor para el Faster R-CNN pre-entrenado que para el YOLOv3,mientras que la Faster R-CNN re-entrenada presenta una mejor precision que las anteriores.

Deteccionescorrectas

Deteccionesimprecisas

Accuracy

0.2 0.5 0.7 0.2 0.5 0.7 0.2 0.5 0.7

Yolov3 253 153 76 72 160 226 0.567 0.714 0.795

Faster R-CNNpre-entrenada

348 258 148 134 233 322 0.764 0.764 0.854

Faster R-CNNre-entrenada

629 605 498 5 35 153 0.791 0.801 0.868

Tabla 2: Metricas de los distintos algoritmos

4.6 Re-identificacion

Para poder diferenciar entre los jugadores que aparecen en las imagenes se aplica un procesode re-identificacion. La primera propuesta se basa en buscar la correspondencia entre lasdetecciones precedentes con las actuales, sin hacer uso del algoritmo de seguimiento, es decir,no presenta una mejora integrada al algoritmo, sino un anadido para poder diferenciar de quejugador se trata.

Puesto que no se dispone de un vıdeo anotado con las identificaciones de cada jugador en cadacuadro, los resultados se basan en obtener el numero de identificaciones totales al final de cadavıdeo. En el caso de no usar re-identificacion, se obtienen tantos identificadores como la sumade las detecciones nuevas que haya en el cuadro respecto al anterior. Usando re-identificacion,el numero de identificadores es mucho menor ya que a traves del algoritmo MLFN es posiblerealizar una correspondencia entre las detecciones nuevas y las antiguas. No obstante, no esposible determinar cuantos valores, tras aplicar el algoritmo de re-identificacion, son correctoso incorrectos puesto que, como se ha comentado previamente, no se dispone de un vıdeoetiquetado con los identificadores. La Tabla 3 recoge la comparativa entre el uso de la deteccioncon o sin re-identificacion en diferentes vıdeos de test, en la que se puede observar una grandiferencia entre las asociaciones. No obstante, es necesario comentar que pese a conseguirasociaciones entre las detecciones, no son completamente correctas, ya que en un vıdeo noaparecen mas de 13 jugadores distintos.

Page 70: Universidad Polit ecnica de Madrid Escuela T ecnica

46

IdentificadoresSin re-identificacion Con re-identificacion

Vıdeo1 87 52

Vıdeo2 66 39

Vıdeo3 73 48

Tabla 3: Resultados de re-identificacion en base a la deteccion

La otra propuesta del uso de re-identificacion que se propone es una mejora anadida al al-goritmo de seguimiento. Existen casos en los que dos o mas jugadores estan proximos y susBounding Boxes se solapan, pudiendo en este caso intercambiarse entre ellas, realizando unseguimiento erroneo de cada una o, incluso, eliminar uno de ellos si el IoU supera el umbralestablecido. De esta manera, los resultados no presentan una identificacion de los jugadorespudiendo determinar si las detecciones corresponden a los mismos jugadores, sin embargo semejora el seguimiento.

En la Figura 45 se muestra el seguimiento que se esta realizando de dos jugadores, segun semueven, los Bounding Boxes llegan a solaparse superando el umbral de 0.7 establecido porel IoU. En el caso de no usar la re-identificacion, tras la deteccion de los dos jugadores elalgoritmo supone que es la misma, eliminando una de ellas, por lo que se implementarıa elseguimiento de un unico jugador (Bounding Box rojo de la Figura 45a) perdiendo al otro.Sin embargo, al anadir la re-identificacion, el algoritmo MLFN extrae el vector caracterısticasde ambas detecciones y comprueba que son distintos, logrando ası el seguimiento de ambos(Bounding Boxes rojos de la Figura 45b).

(a) (b)

Figura 45: Mejora del seguimiento a) sin re-identificacion b) con re-identificacion

4.7 Analisis de modelos de juegos

Una de las aplicaciones mas visuales a la hora de representar los datos de seguimiento de losjugadores son los mapas de calor, que permiten estudiar los diferentes modelos de juego que seutilizan en el waterpolo. Estos mapas de calor representan con un punto negro las posicionespor donde los jugadores han ido pasando, de esta manera, cuanto mas veces se haya pasadopor esa zona, mas calido sera el color.

Page 71: Universidad Polit ecnica de Madrid Escuela T ecnica

47

En waterpolo, al igual que en otros deportes, cada jugador tiene una posicion asignada, perono siempre que se llega a porterıa para atacar se acaba en esa posicion. Esta situacion se da,por ejemplo, cuando un jugador ha tenido que quedarse defendiendo y ha tardado mas enllegar a la otra mitad de la piscina. Otro caso que tambien ocurre en este deporte es que,a pesar de que cada jugador tenga una posicion determinada, a veces hay que realizar unaentrada hacia otra posicion para dejar un hueco libre o para atraer a la defensa y que otrojugador tenga una mejor opcion de gol.

En la Figura 47a se puede intuir como el jugador en la posicion 5 (las posiciones estannumeradas en la Figura 17) va moviendose de su posicion, abriendo hueco para que puedahaber una entrada del jugador que llega a la posicion 3, por ello se ve una especie de cırculomarcado en azul claro, ya que se trata de un movimiento. Se pueden distinguir otras posicionesclaramente, como es la del portero, donde su zona esta marcada en rojo ya que es una posicionbastante estatica.

En la Figura 46 se representan las trayectorias que siguen los jugadores a partir de las cualesse determina el mapa de calor. Los puntos negros marcan la posicion de los jugadores a lolargo de la jugada, a partir de la concentracion de estos se presenta el mapa de calor. Cuantamas concentracion exista, mas vivo es el color con el que se representa, por lo cual es facildeterminar las posiciones mas estaticas en el waterpolo, la boya y su cubre y el portero.

Figura 46: Representacion de las trayectorias para la determinacion del mapa de calor

La Figura 47b representa un contra-ataque, los jugadores se desplazan al otro lado de lapiscina lo mas rapido posible para llegar a una posicion de lanzamiento con el menor numerode defensores. Se puede apreciar un jugador en la zona superior que es el jugador pasador aljugador mas adelantado, ademas se observa la trayectoria que realizan los jugadores, hay unjugador que se acerca a porterıa mientras que otro decide separarse para que el defensor tengaque escoger a quien defender. Otro dato importante que se observa es la posicion del portero,al contrario que en la Figura 47a, no es estatico, el portero sale hacia el jugador para intentarreducir el campo de vision de este, que va con ventaja, y ası intentar detener el lanzamiento.

Los mapas de calor tambien pueden ser utiles a la hora de analizar la defensa. Una defensade zona por posiciones se realiza por donde el rival es mas debil, dejando a este mas espaciopara que se mueva y ayudando a defender en otras posiciones. Esta defensa se utiliza mucho

Page 72: Universidad Polit ecnica de Madrid Escuela T ecnica

48

cuando la boya es un jugador fuerte y necesita mas de un jugador pendiente de el para poderdefender sin obtener expulsiones o que marque gol. En la Figura 47c el defensor del jugadoren la posicion 1 esta defendiendo en zona, esta entre medias del jugador en la posicion 1 y dela boya, para que en cuanto haya un pase a la boya poder robarlo. Ademas, se observa quenuevamente el portero no tiene una posicion del todo fija, esta pendiente de la boya, saliendohacia ella, defendiendo un poco, para que el defensor de la boya pueda tener mas movilidady robar los balones que le pasen a esta.

(a) (b)

(c) (d)

(e)

Figura 47: a) Entrada de posicion 3 a posicion 5 b) Contra-ataque c) Zona por posicion 1d) Contra-ataque e) Zona por todas las posiciones

La Figura 47d representa otro contra-ataque, por posicion 5 aparece una estela debida a unatrayectoria de los jugadores. Sin embargo, a diferencia de la Figura 47b, ciertos jugadores llegana defender, colocandose en sus posiciones habituales, observandose las distintas posicionesestaticas. En cuanto a la Figura 47e existe una zona por todas las posiciones, los jugadorespendientes de la boya se acercan a ella para robar el balon. Claramente se ve la existencia dela zona por el area de influencia de posicion 1 puesto que la defensora esta lejos de la atacantey cerca de la boya.

Page 73: Universidad Polit ecnica de Madrid Escuela T ecnica

49

5. CONCLUSIONES Y LINEAS FUTURAS

5.1 Conclusiones

A la vista de los resultados obtenidos tras el desarrollo del trabajo estas son las conclusionesextraıdas. Los contenidos disponibles en las bases de datos de entrenamiento resultan clave enel funcionamiento de los algoritmos, los Datasets abiertos empleados no disponen de image-nes similares que contienen al objeto de estudio en este trabajo, jugadas de waterpolo, porlo que es imprescindible incorporar, adquiriendo con la mayor calidad posible, imagenes dewaterpolo para la construccion de un Dataset propio. El Dataset se ha construido a partir deunas grabaciones con camara 360º, cuya resolucion de imagen es 4K pero, para eliminar lasdistorsiones se han reducido un 25 % la resolucion, obteniendo una imagen de 960x480 pıxeles.A pesar de la perdida causada por el procesado de la proyeccion Equirectangular para obteneruna zona de la piscina con NFoV, los algoritmos propuestos obtienen buenos resultados.

En cuanto a los algoritmos de deteccion, el primero probado ha sido el YOLOv3, un algoritmorapido pero impreciso, con detecciones inferiores a un 40 % para un IoU igual a 0.2, de loscuales un 50 % los detecta como pajaros en vez de personas. Aumentando este IoU a 0.5 paraobtener detecciones mas precisas, YOLOv3 detecta un 23 % del total. El segundo algoritmoanalizado ha sido el Faster R-CNN cuyas detecciones han ascendido a un 55 % para un IoUigual a 0.2 y del 42 % si se incrementa el IoU a 0.5. El incremento de detecciones mas precisases considerablemente alto pero, ademas, Faster R-CNN no detecta erroneamente a los juga-dores confundiendolos con pajaros como ocurre con el YOLOv3. Para mejorar el numero dedetecciones se ha procedido a entrenar la red consiguiendo un 97 % de detecciones correctaspara un IoU igual a 0.2 y, exigiendo una precision mas elevada, IoU igual a 0.7 el algoritmodetecta correctamente el 77 % de los jugadores. El comportamiento de los algoritmos es cohe-rente a nivel de precision y velocidad con lo analizado en el estado del arte. El entrenamientocon las imagenes adecuadas se confirma como el factor mas importante para la mejora en lasdetecciones correctas.

En cuanto al seguimiento, los dos algoritmos de Vision Artificial probados han sido el KCFy el CSRT. El uso del CSRT respecto del KCF tiene una mejora en el seguimiento del 15 %apoyandose en el analisis de la zona de interes y la similitud de las imagenes. Ademas, paramejorar el seguimiento se propone utilizar algoritmos de re-identificacion que, tras la compa-racion del Features Vector comprueba sobre que jugador, de los que se encuentran muy cerca,se esta realizando el seguimiento, mejorandolo en un 5 %.

Finalmente, tras las analizar las representaciones de los mapas de calor logrados, los cualesrepresentan correctamente las trayectorias de los jugadores, se puede concluir que es posibleanalizar los distintos modelos de juego.

Page 74: Universidad Polit ecnica de Madrid Escuela T ecnica

50

5.2 Lıneas futuras

Para finalizar, se comentaran posibles futuras mejoras o modificaciones de este proyecto. Serıaposible complementar los datos adquiridos por la camara 360º con otros tipos de camarascomo las termicas, ya que el cuerpo humano se encuentra siempre por encima de los 35ºC(en caso de encontrarse por debajo se considera hipotermia), mientras que el agua de unapiscina de entrenamiento no supera los 27ºC, por lo que proporcionarıa informacion anadidasobre la posicion del jugador en el agua. Ademas, se pueden utilizar otras camaras comolas de profundidad. El analisis del juego se centra en una zona seleccionada previamente.Serıa posible automatizar el movimiento de la zona de interes en base al movimiento de lasdetecciones. Como ejemplo, una tecnica que podrıa aplicarse para automatizar el movimientode la camara es el centro de masas basado en las detecciones.

En este proyecto tambien se realiza una comparativa de distintos algoritmos de deteccion deobjetos basados en Deep Learning, sin embargo, solo se analizan dos de ellos, uno de los cualeses considerado uno de los mas rapidos y el otro de los mas precisos. El estado del arte de losdetectores de objetos es muy amplio hoy en dıa, por lo que se podrıa ampliar la comparativapara la situacion descrita en este proyecto, ya que el agua es uno de los entornos que no sesuelen contemplar a la hora de etiquetar los Datasets y entrenar las redes. Otro punto anadidoa la deteccion de objetos es utilizar la deteccion de esqueletos re-entrenada para la piscina(la unica parte visible es la zona superior del cuerpo). A traves de la deteccion del esqueletose podrıan sacar metricas y estudiar las posturas de los jugadores para poder mejorar en elanalisis de las situaciones y movimientos realizados.

El seguimiento se ha realizado con algoritmos de Vision Artificial por lo que una lınea futuraserıa utilizar algoritmos de seguimiento con Deep Learning en los que se predice el movimientoen base al aprendizaje de la red, pudiendo re-entrenarla y por lo tanto mejorarla. La re-identificacion es otro aspecto en el que se debe trabajar, probando distintas redes para realizaruna comparativa y ademas entrenarla para obtener mejores resultados. Otro tipo de algoritmosmas complejos podrıan combinar en una sola red la tarea de deteccion y seguimiento pararealizarlas conjuntamente con un modelo de aprendizaje.

El principal objetivo de este trabajo es la implementacion de algoritmos de deteccion y se-guimiento para el analisis de modelos de juego del waterpolo, por ello se podrıa continuartrabajando para analizar los patrones con Time Series Analysis, una tecnica estadıstica utili-zada para analizar una serie de datos tomados en el pasado para predecir el futuro. Ademas,para facilitar el acceso a los resultados se puede crear una aplicacion final con Dashboard,habiendo analizado previamente una mayor cantidad de jugadas y situaciones de juego.

Finalmente, este proyecto no ofrece un analisis de tiempo real, por lo que se podrıan acelerarlos algoritmos para ofrecerlo. Ası mismo, es posible generalizar el analisis para poder aplicareste algoritmo a otros deportes o entornos.

Page 75: Universidad Polit ecnica de Madrid Escuela T ecnica
Page 76: Universidad Polit ecnica de Madrid Escuela T ecnica
Page 77: Universidad Polit ecnica de Madrid Escuela T ecnica

53

Referencias

[1] H. shu Fang, S. Xie, Y.-W. Tai, and C. Lu, “Rmpe: Regional multi-person pose estima-tion,” 2017 IEEE International Conference on Computer Vision (ICCV), pp. 2353–2362,2017.

[2] A. Pumarola, A. Agudo, A. M. Martınez, A. Sanfeliu, and F. Moreno-Noguer, “Ganima-tion: Anatomically-aware facial animation from a single image,” Computer vision - ECCV... : ... European Conference on Computer Vision : proceedings. European Conference onComputer Vision, vol. 11214, pp. 835–851, 2018.

[3] J. Redmon, “Darknet github repo.” ”[Web, accessed 2020-02-14]”.

[4] G. Li and C. Zhang, “Automatic detection technology of sports athletes based on imagerecognition technology,” EURASIP Journal on Image and Video Processing, vol. 2019,pp. 1–9, 2019.

[5] A. A. Sanguesa, C. Ballester, and G. Haro, “Single-camera basketball tracker throughpose and semantic feature fusion,” ArXiv, vol. abs/1906.02042, 2019.

[6] Sizima, “Converting movies taken with ricoh theta s”to various formats.” ”[Web, accessed2020-03-09]”.

[7] I. Hussain, O.-J. Kwon, and S. Choi, “An evaluation of three representative 360-degreeimage projection formats in terms of jpeg2000 coding efficiency,” in ICIIT ’19, 2019.

[8] P. Baque, F. Fleuret, and P. Fua, “Deep occlusion reasoning for multi-camera multi-target detection,” 2017 IEEE International Conference on Computer Vision (ICCV),pp. 271–279, 2017.

[9] R. B. Girshick, “Fast r-cnn,” 2015 IEEE International Conference on Computer Vision(ICCV), pp. 1440–1448, 2015.

[10] S. Ren, K. He, R. B. Girshick, and J. Sun, “Faster r-cnn: Towards real-time objectdetection with region proposal networks,” IEEE Transactions on Pattern Analysis andMachine Intelligence, vol. 39, pp. 1137–1149, 2015.

[11] J. Redmon, S. K. Divvala, R. B. Girshick, and A. Farhadi, “You only look once: Unified,real-time object detection,” 2016 IEEE Conference on Computer Vision and PatternRecognition (CVPR), pp. 779–788, 2015.

[12] D. Gray, S. Brennan, and H. Tao, “Evaluating appearance models for recognition, reac-quisition, and tracking,” 2007.

[13] Houter, “A diagram of the offensive numbering system in water polo..” ”[Web, accessed2020-02-14]”.

Page 78: Universidad Polit ecnica de Madrid Escuela T ecnica

54

[14] N. Mutha, “How to map equirectangular projection to rectilinear projection.” ”[Web,accessed 2020-03-29]”.

[15] J. Redmon and A. Farhadi, “Yolov3: An incremental improvement,” ArXiv, vol. ab-s/1804.02767, 2018.

[16] J. F. Henriques, R. Caseiro, P. Martins, and J. Batista, “High-speed tracking with kerneli-zed correlation filters,” IEEE Transactions on Pattern Analysis and Machine Intelligence,vol. 37, pp. 583–596, 2015.

[17] A. Lukezic, T. Vojır, L. C. Zajc, J. Matas, and M. Kristan, “Discriminative correlationfilter with channel and spatial reliability,” ArXiv, vol. abs/1611.08461, 2017.

[18] N. Wojke, A. Bewley, and D. Paulus, “Simple online and realtime tracking with a deepassociation metric,” 2017 IEEE International Conference on Image Processing (ICIP),pp. 3645–3649, 2017.

[19] F. LLC, “Finarules,” 2019. ”[Web, accessed 2020-02-15]”.

[20] S. Mesa Villalba, “Estudio sobre genero y deporte en television,” Consejo Audiovisual,2008.

[21] M. Souded, “People detection, tracking and re-identification through a video cameranetwork. (detection, suivi et re-identification de personnes a travers un reseau de cameravideo),” 2013.

[22] R. Mooney, G. Corley, A. Godfrey, L. R. Quinlan, and G. OLaighin, “Inertial sensor tech-nology for elite swimming performance analysis: A systematic review,” Sensors (Basel,Switzerland), vol. 16, 2015.

[23] N. Greene, “Environment mapping and other applications of world projections,” IEEEComputer Graphics and Applications, vol. 6, pp. 21–29, 1986.

[24] C. Papageorgiou, “A trainable system for object detection in images and video sequen-ces,” 2000.

[25] A. Mohan, C. Papageorgiou, and T. A. Poggio, “Example-based object detection inimages by components,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 23, pp. 349–361,2001.

[26] H. Schneiderman and T. Kanade, “Object detection using the statistics of parts,” Inter-national Journal of Computer Vision, vol. 56, pp. 151–177, 2004.

[27] N. Dalal and B. Triggs, “Histograms of oriented gradients for human detection,”2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR’05), vol. 1, pp. 886–893 vol. 1, 2005.

Page 79: Universidad Polit ecnica de Madrid Escuela T ecnica

55

[28] H. Xue, Y. Liu, D. Cai, and X. He, “Tracking people in rgbd videos using deep learningand motion clues,” Neurocomputing, vol. 204, pp. 70–76, 2016.

[29] R. Chauhan, K. K. Ghanshala, and R. C. Joshi, “Convolutional neural network (cnn) forimage detection and recognition,” 2018 First International Conference on Secure CyberComputing and Communication (ICSCCC), pp. 278–282, 2018.

[30] K. He, G. Gkioxari, P. Dollar, and R. B. Girshick, “Mask r-cnn,” 2017 IEEE InternationalConference on Computer Vision (ICCV), pp. 2980–2988, 2017.

[31] A. Milan, L. Leal-Taixe, I. D. Reid, S. Roth, and K. Schindler, “Mot16: A benchmarkfor multi-object tracking,” ArXiv, vol. abs/1603.00831, 2016.

[32] D. B. Reid, “An algorithm for tracking multiple targets,” 1978.

[33] C.-M. Huang, D. Liu, and L.-C. Fu, “Visual tracking in cluttered environments usingthe visual probabilistic data association filter,” IEEE Transactions on Robotics, vol. 22,pp. 1292–1297, 2006.

[34] T. E. Fortmann, Y. Bar-Shalom, and M. Scheffe, “Sonar tracking of multiple targetsusing joint probabilistic data association,” 1983.

[35] D. S. Bolme, J. R. Beveridge, B. A. Draper, and Y. M. Lui, “Visual object trackingusing adaptive correlation filters,” 2010 IEEE Computer Society Conference on ComputerVision and Pattern Recognition, pp. 2544–2550, 2010.

[36] L. Bertinetto, J. Valmadre, J. F. Henriques, A. Vedaldi, and P. H. S. Torr, “Fully-convolutional siamese networks for object tracking,” ArXiv, vol. abs/1606.09549, 2016.

[37] D. Held, S. Thrun, and S. Savarese, “Learning to track at 100 fps with deep regressionnetworks,” ArXiv, vol. abs/1604.01802, 2016.

[38] H. Nam and B. Han, “Learning multi-domain convolutional neural networks for visualtracking,” 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),pp. 4293–4302, 2016.

[39] L. Wei, S. Zhang, W. Gao, and Q. Tian, “Person transfer gan to bridge domain gap forperson re-identification,” 2018 IEEE/CVF Conference on Computer Vision and PatternRecognition, pp. 79–88, 2017.

[40] R. Zhao, W. Ouyang, and X. Wang, “Person re-identification by salience matching,” 2013IEEE International Conference on Computer Vision, pp. 2528–2535, 2013.

[41] S. Khamis, C.-H. Kuo, V. K. Singh, V. D. Shet, and L. S. Davis, “Joint learning forattribute-consistent person re-identification,” in ECCV Workshops, 2014.

[42] W. Li and X. Wang, “Locally aligned feature transforms across views,” 2013 IEEE Con-ference on Computer Vision and Pattern Recognition, pp. 3594–3601, 2013.

Page 80: Universidad Polit ecnica de Madrid Escuela T ecnica

56

[43] E. Mohedano, K. McGuinness, X. Giro, and N. E. O’Connor, “Saliency weighted convo-lutional features for instance search,” 2018 International Conference on Content-BasedMultimedia Indexing (CBMI), pp. 1–6, 2017.

[44] E. Ahmed, M. Jones, and T. K. Marks, “An improved deep learning architecture forperson re-identification,” 2015 IEEE Conference on Computer Vision and Pattern Re-cognition (CVPR), pp. 3908–3916, 2015.

[45] X. Chang, T. M. Hospedales, and T. Xiang, “Multi-level factorisation net for personre-identification,” 2018 IEEE/CVF Conference on Computer Vision and Pattern Recog-nition, pp. 2109–2118, 2018.

[46] G. Ning, Z. Zhang, C. Huang, X. Ren, H. Wang, C. Cai, and Z. He, “Spatially super-vised recurrent convolutional neural networks for visual object tracking,” 2017 IEEEInternational Symposium on Circuits and Systems (ISCAS), pp. 1–4, 2017.

[47] A. Broad, M. Jones, and T.-Y. Lee, “Recurrent multi-frame single shot detector for videoobject detection,” in BMVC, 2018.

[48] C. Feichtenhofer, A. Pinz, and A. Zisserman, “Detect to track and track to detect,” 2017IEEE International Conference on Computer Vision (ICCV), pp. 3057–3065, 2017.

[49] Theta, “Theta.” ”[Web, accessed 2020-01-22]”.

[50] Amazon, “Amazon,” 2018. ”[Web, accessed 2020-01-29]”.

[51] Amazon, “Amazon,” 2018. ”[Web, accessed 2020-01-29]”.

[52] Pytorch, “Pytorch documentation,” 2018. ”[Web, accessed 2020-02-22]”.

[53] S. Ruder, “An overview of gradient descent optimization algorithms,” ArXiv, vol. ab-s/1609.04747, 2016.

[54] Ricoh, “Theta ricoh,” 2018.

[55] S. Shetty, A. Sharma, A. Singh, T. Sawaji, and D. Dhangar, “Detection and recognitionof objects and providing purchase links using apis,” 2017.

[56] G. A. Mills-Tettey, A. Stentz, and M. B. Dias, “The dynamic hungarian algorithm forthe assignment problem with changing costs,” 2007.

[57] L. Ljung, “System identification: Theory for the user,” 1987.

[58] A. B. Hernandez, “Accurate indoor positioning and tracking based on data fusion frominertial sensors, wireless signals and image devices using deep learning techniques.” 2019.

Page 81: Universidad Polit ecnica de Madrid Escuela T ecnica

57

Anexos

A. ASPECTOS ETICOS, ECONOMICOS,SOCIALES Y AMBIENTALES

A.1 Introduccion

En este trabajo se propone un algoritmo basado en tecnicas de Deep Learning y VisionArtificial para realizar detecciones y seguimiento de jugadores de waterpolo para desarrollarun sistema de analisis de jugadas. La digitalizacion del deporte requiere herramientas quefaciliten la extraccion de informacion que permita un analisis y un conocimiento mas profundodel juego para mejorar el rendimiento de este y aportar ventajas competitivas.

A.2 Descripcion de impactos relevantes relacionados con el proyecto

En las secciones siguientes se procedera a analizar el impacto que tiene el proyecto desarro-llado, a excepcion del medioambiental, puesto que este trabajo no genera impacto alguno eneste aspecto.

A.2.1 Impacto etico

Una de las principales conflictos que puede generar un sistema de deteccion es la privacidadde las personas. Hay que tener en cuenta que se esta grabando a individuos mediante unacamara, esto supone tener informacion personal y privada de los deportistas.

Es importante destacar que los jugadores pueden sentirse incomodos a la hora de ser grabados.Sin embargo, el deporte a dıa de hoy es grabado y televisado, por lo cual siempre que serespeten las leyes establecidas, el impacto etico que se tiene no es muy elevado.

Puesto que se trata de un algoritmo que utiliza la deteccion de personas, se puede extrapolara otros ambitos como, por ejemplo, la vigilancia. Por ello, otro aspecto etico importantea recalcar es que los algoritmos aprenden a base de unos Datasets, por lo que si estos estancondicionados, los resultados tambien lo estaran. Por ejemplo, limitar simplemente la deteccionde personas de una raza cuando se cometen delitos.

Page 82: Universidad Polit ecnica de Madrid Escuela T ecnica

58

A.2.2 Impacto economico

En cuanto al impacto economico, este proyecto no tiene un coste muy elevado, ya que sim-plemente es necesario el uso de una camara 360º (precio de 420€) y de un ordenador paraprocesar.

Al colocar esta camara en las piscinas, ademas de usarla para analizar los modelos de juego sepuede servir tambien para retransmitir los partidos de manera remota, disminuyendo el gastoen personal y camaras para la retransmision.

A.2.3 Impacto social

Los impactos sociales de este proyecto son diversos ya que se basa en un sistema de deteccionde personas y por lo tanto es extrapolable a otro campos. En cuanto al ambito del proyecto,el deporte, es muy importante a la hora de analizar los movimientos de los jugadores paragestionar mejor la estrategia. Por otro lado, un impacto importante de proporcionar estosanalisis puede hacer mas atractivo el seguimiento de los mismos, incrementando la audienciade estos.

A.3 Conclusiones

Este proyecto tiene unos impactos eticos, economicos y sociales positivos. El uso de estealgoritmo a traves de camaras 360º permite analizar las jugadas de los equipos a traves deluso de una tecnologıa de coste reducido mejorando, ası el rendimiento de los jugadores.

Page 83: Universidad Polit ecnica de Madrid Escuela T ecnica

59

B. PRESUPUESTO ECONOMICO

CO

ST

ED

EM

AN

OD

EO

BR

A(c

ost

ed

irecto

)H

ora

sP

recio

/h

ora

Tota

l

300

15€

4.5

00

CO

ST

ED

ER

EC

UR

SO

SM

AT

ER

IAL

ES

(cost

ed

irecto

)P

recio

de

com

pra

Uso

en

mese

sA

mort

izacio

n(e

nan

os)

Tota

l

Ord

enad

orp

erso

nal

(Sof

tware

incl

uid

o)

1000

,00

€6

510

0,00

€C

amar

a36

420

€6

542

,00

€E

qu

ipo

con

GP

Up

ara

entr

enam

iento

de

red

esn

euro

nal

es15

00,0

0€

25

50,0

0€

CO

ST

ET

OT

AL

DE

RE

CU

RS

OS

MA

TE

RIA

LE

S192,0

0€

GA

ST

OS

GE

NE

RA

LE

S(c

ost

es

ind

irecto

s)15

%so

bre

CD

703,8

0€

BE

NE

FIC

IOIN

DU

ST

RIA

L8

%so

bre

CD

+C

I431,6

6€

SU

BT

OT

AL

PR

ES

UP

UE

ST

O5.8

27,4

6€

IVA

AP

LIC

AB

LE

21%

1.2

23,7

6€

TO

TA

LP

RE

SU

PU

ES

TO

7.0

51,2

2€