Universidad Rey Juan Carlos
TESIS DOCTORAL
Reconocimiento Autom´
atico de Actividades
Humanas Basado en el An´
alisis de Secuencias de
Im´
agenes
Directores:
Juan Jos´
e Pantrigo Fern´
andez
Antonio Sanz Montemayor
Doctorando:
Javier Eduardo Hern´
andez S´
anchez
i
El Dr. D. Juan Jos´e Pantrigo Fern´andez, Profesor Titular de Universidad, en el De-partamento de Ciencias de la Computaci´on, Arquitectura de Computadores, Lenguajes y Sistemas Inform´aticos y Estad´ıstica e Investigaci´on Operativa de la Universidad Rey Juan Carlos, y el Dr. D. Antonio Sanz Montemayor, Profesor Contratado Doctor, en el Departamento de Ciencias de la Computaci´on, Arquitectura de Computadores, Lenguajes y Sistemas Inform´aticos y Estad´ıstica e Investigaci´on Operativa de la Universidad Rey Juan Carlos, directores de la Tesis Doctoral Reconocimiento Autom´atico de Actividades Humanas Basado en el An´alisis de Secuencias de Im´agenes” realizada por el doctorando D. Javier Eduardo Hern´andez S´anchez,
HACEN CONSTAR:
que esta Tesis Doctoral re´une los requisitos necesarios para su defensa y aprobaci´on.
En M´ostoles, a 14 de Mayo de 2015,
iii
Agradecimientos
El presente documento es la culminaci´on de a˜nos de trabajo, estudio y esfuerzo en el que han colaborado directa o indirectamente muchas personas. En primer lugar querr´ıa expresar mi m´as sincera gratitud a mis directores Antonio y Juanjo por su sabidur´ıa, su apoyo y su infinita paciencia, pero sobre todo por haberme transmitido su pasi´on por la investigaci´on y la ense˜nanza.
Tambi´en estoy en deuda con el resto de compa˜neros del departamento, sus ideas y conversaciones me han influido m´as de lo que puedo expresar y guardo con especial cari˜no el tiempo que compartimos.
Mi familia siempre ha sido un pilar en mi vida, sobre todo mi padre que me anim´o a que aprendiese y a que siguiese adelante con mis estudios. Espero que alg´un d´ıa llegue a ser una gran persona como lo fue ´el. Mi madre me ha dedicado m´as tiempo del que ten´ıa y sus esfuerzos y apoyo han sido una inspiraci´on para mi. Mi hermano tambi´en ha sido una poderosa influencia para mi, nuestras charlas me han inspirado y me han hecho reflexionar.
Diana, mi compa˜nera en la vida, a quien le debo tanto. Gracias por los momentos que me das y la alegr´ıa que transmites en todo lo que haces.
Finalmente a mis compa˜neros de laboratorio con los que tantas horas he pasado, en especial a David con el que he compartido muchas aventuras. A mis amigos que siempre est´an ah´ı, a mis compa˜neros de trabajo que me han ofrecido su ayuda y a tanta gente que de una forma u otra me ha ayudado o inspirado para seguir adelante.
´Indice general
1. Introducci´on 1
1.1. Motivaci´on, hip´otesis y objetivos . . . 1
1.1.1. Motivaci´on . . . 1
1.1.2. Hip´otesis . . . 4
1.1.3. Objetivos . . . 4
1.1.4. Estructura del documento . . . 6
2. Reconocimiento de actividades humanas 7 2.1. Clasificaci´on general de m´etodos de reconocimiento de actividades humanas 18 2.2. Preproceso de la imagen . . . 20
2.2.1. Normalizaci´on de la imagen . . . 20
2.2.2. Imagen integral e imagen integral restringida . . . 23
2.3. Optimizaci´on . . . 25
2.3.1. Metaheur´ısticas . . . 26
2.3.2. Algoritmos Mem´eticos . . . 27
2.3.3. Algoritmos de b´usqueda local . . . 29
2.4. Algoritmos de estimaci´on secuencial . . . 31
2.4.1. Espacio de estados . . . 32
2.4.2. El problema de la estimaci´on secuencial . . . 33
2.4.3. M´etodos aproximados . . . 34
2.5. Algoritmos de seguimiento visual . . . 39
2.5.1. Filtro de part´ıculas para el seguimiento visual . . . 39
2.5.2. Filtro de part´ıculas basado en memoria . . . 44
2.5.3. Filtro de part´ıculas con b´usqueda local . . . 47
2.5.4. Filtro de part´ıculas hibridado con algoritmos mem´eticos . . . 49
2.5.5. Seguimiento visual mediante an´alisis del flujo ´optico por el m´etodo de Lucas-Kanade . . . 52
2.6. Extracci´on de caracter´ısticas para el reconocimiento de actividades . . . 56
2.6.1. Posici´on y tama˜no . . . 56
2.6.2. Vectores de desplazamiento de puntos caracter´ısticos . . . 57
2.6.3. Trayectoria . . . 59
2.6.4. Estad´ısticos muestrales . . . 60
2.7. Clasificaci´on de datos . . . 62
2.7.1. M´aquinas de vectores soporte . . . 62
2.7.2. Problema de la correspondencia . . . 66
2.8. Generaci´on de la descripci´on textual de la acci´on . . . 70
2.9. Bases de datos de prueba . . . 71
3. Seguimiento de M´ultiples Objetos Utilizando Filtros de Part´ıculas y Algoritmos Mem´eticos 73 4. A Memory-Based Particle Filter for Visual Tracking through Occlusions 83 5. Multiple and variable target visual tracking for video-surveillance ap-plications 95 6. Differential optical flow applied to automatic facial expression recogni-tion 113 7. Human Action Recognition Based on Tracking Features 127 8. Human Activity Recognition based on Kinematic Features 139 9. Conclusiones y Aportaciones 151 9.1. Conclusiones . . . 151
9.2. Principales aportaciones . . . 152
9.3. Trabajos futuros . . . 153
A. Anexo Pseudoc´odigo 155
´Indice de figuras
2.1. Ejemplo de los estudios de Marey y Muybridge . . . 8
2.2. Esquematizaci´on del experimento de Johansson 1973 . . . 9
2.3. Seguimiento de una pierna humana . . . 10
2.4. Etapas iniciales del sistema presentado por Park y colaboradores . . . 12
2.5. Caracter´ısticas empleadas por Ali y colaboradores . . . 14
2.6. Puntos significativos y par´ametros primarios del modelo de Folgado y co-laboradores . . . 16
2.7. Informaci´on codificada en los descriptores del trabajo de Wang y colabo-radores . . . 16
2.8. Diagrama de etapas de un sistema de reconocimiento de actividades humanas 20 2.9. Normalizaci´on de la imagen . . . 23
2.10. Descripci´on visual de la pir´amide de im´agenes . . . 24
2.11. C´alculo de la suma de los valores contenidos en un ´area rectangular utili-zando una imagen integral . . . 25
2.12. Estructura general del algoritmo mem´etico . . . 27
2.13. Generaci´on de la poblaci´on inicial en un algoritmo mem´etico. . . 29
2.14. Paso generacional b´asico en un algoritmo mem´etico . . . 30
2.15. Un algoritmo posible para el reinicio de la poblaci´on en un algoritmo mem´etico . . . 30
2.16. Ejemplo de b´usqueda local en tres dimensiones . . . 32
2.17. Representaci´on del espacio de estados de dos sistemas . . . 33
2.18. Diagrama algor´ıtmico del muestreo secuencial por importancia . . . 36
2.19. Diagrama algor´ıtmico del filtro de part´ıculas . . . 39
2.20. Etapas del filtro de part´ıculas . . . 40
2.21. Definici´on de una part´ıcula para el seguimiento visual . . . 41
2.22. Etapas del filtro de part´ıculas adaptadas para el seguimiento visual . . . . 43
2.23. Muestreo basado en memoria . . . 45
2.24. Etapas del filtro de part´ıculas basado en memoria . . . 46
2.25. Ejemplo de funcionamiento del filtro de part´ıculas basado en memoria . . . 48
2.26. Etapas del filtro de part´ıculas con b´usqueda local . . . 48
2.27. Ejemplo del funcionamiento del filtro de part´ıculas de part´ıculas con b´ usque-da local . . . 50
2.28. Etapas del filtro de part´ıculas con algoritmos mem´eticos . . . 51
2.29. Problema del registro para dos im´agenes . . . 53
2.30. Problema del registro en una dimensi´on . . . 54
2.31. Formaci´on y divisi´on de grupos . . . 57
2.32. Puntos caracter´ısticos propuestos por el est´andar MPEG4 . . . 58
2.33. Ejemplo de desplazamiento representado como vectores. . . 59
2.34. Estimaci´on de la posici´on de un objeto basado en la memoria . . . 60
2.35. Evoluci´on de anchura y altura durante la acci´on de caminar . . . 61
2.36. Estad´ısticos muestrales usados como caracter´ısticas . . . 63
2.37. Funcionamiento SVM lineal . . . 66
2.38. Ejemplos de estrategias para resolver el problema de la correspondencia . . 67
2.39. Informaci´on de posici´on y de color asociada a los sujetos seguidos . . . 68
2.40. Asignaci´on de identidades a los sujetos . . . 69
3.1. Esquema del sistema “Seguimiento de M´ultiples Objetos Utilizando Filtros de Part´ıculas y Algoritmos Mem´eticos” . . . 73
4.1. Esquema del sistema “A Memory-Based Particle Filter for Visual Tracking through Occlusions” . . . 84
5.1. Esquema del sistema “Multiple and variable target visual tracking for video-surveillance applications” . . . 97
6.1. Esquema del sistema “Differencial optical flow applied to automatic facial expression recognition” . . . 115
7.1. Esquema del sistema “Human Action Recognition Based on Tracking Fea-tures” . . . 128
Cap´ıtulo 1
Introducci´
on
1.1.
Motivaci´
on, hip´
otesis y objetivos
1.1.1.
Motivaci´
on
El seguimiento de personas en secuencias de im´agenes y la interpretaci´on autom´atica de las actividades que desarrollan es una tarea que tiene una gran variedad de aplicaciones en campos como v´ıdeo vigilancia [1], interacci´on persona-ordenador [2], an´alisis de la t´ecnica deportiva [3], etc. El desarrollo de sistemas computacionales capaces de interpretar una secuencia de im´agenes y extraer de ella una informaci´on veraz, ´util, compacta y cercana al lenguaje natural, es un ´area de conocimiento muy activa en la que se a´unan esfuerzos de investigadores de diferentes disciplinas [4].
El presente trabajo de Tesis Doctoral se enmarca en el desarrollo de sistemas para tratar este problema. Las siguientes secciones est´an dedicadas a presentar los conceptos fundamentales de la propuesta.
Seguimiento visual
El seguimiento de objetos en secuencias de im´agenes es un ´area establecida dentro de la visi´on artificial, que consiste en la estimaci´on de la posici´on de uno o varios objetivos (personas, veh´ıculos, etc.) que se mueven en la escena [5]. Hist´oricamente, dentro de los problemas de seguimiento visual se han establecido diferentes categor´ıas en funci´on del enfoque con el que se aborden. As´ı, es usual distinguir entre seguimiento de m´ultiples objetos, seguimiento de objetos deformables, puntos de inter´es, personas, etc., todos ellos de relevancia para esta Tesis Doctoral. La mayor´ıa de las aplicaciones potenciales de esta tarea requieren que los algoritmos de seguimiento sean robustos y eficientes y, por tanto, se han desarrollado gran cantidad de trabajos en la literatura que se enfrentan al
problema, utilizando diferentes t´ecnicas algor´ıtmicas [6, 7]. En este trabajo, el problema del seguimiento visual se ha abordado desde dos puntos de vista. El primero es el de la estimaci´on secuencial, que trata los problemas desde la ´optica del modelado bayesiano secuencial y uno de sus representantes m´as populares es el filtro de part´ıculas (PF), propuesto por Gordon, Salmond y Smith [8]. El segundo punto de vista es el de los m´etodos de optimizaci´on que se especializan en la resoluci´on aproximada de problemas y en la combinaci´on de m´etodos probabil´ısticos y evolutivos [9]. El seguimiento visual obtiene informaci´on que es susceptible de ser tratada con t´ecnicas de aprendizaje autom´atico y conocimiento experto entre otras.
Estimaci´on secuencial
Para inferir acerca del estado de un sistema que evoluciona a lo largo del tiempo, se requieren al menos dos modelos: (i) el modelo del sistema, que describe la evoluci´on del estado del sistema en el tiempo y (ii) el modelo de medida, que describe la relaci´on que existe entre las medidas y el estado del sistema [10]. En el marco de trabajo bayesiano aplicado a la estimaci´on din´amica del estado de un sistema, se intenta construir una es-timaci´on de la funci´on de densidad de probabilidad (pdf) posterior del estado. Una vez conocida la pdf, se puede calcular un estimado del estado del sistema de acuerdo con un criterio determinado, as´ı como una medida de la precisi´on del estimado. Cuando sea necesario calcular un estimado cada vez que se recibe una medida, la soluci´on convenien-te es un filtro recursivo. Tal filtro consisconvenien-te, esencialmenconvenien-te, en las etapas de predicci´on y actualizaci´on. El problema descrito de este modo recibe el nombre de problema del filtra-do bayesiano [11]. Por norma general, es imposible determinar anal´ıticamente estas pdf, exceptuando casos contados. Por esta raz´on, existe un significativo n´umero de trabajos dedicados a la obtenci´on de modelos aproximados y m´etodos de integraci´on num´erica, como el filtro de part´ıculas [8].
Optimizaci´on
1.1. MOTIVACI ´ON, HIP ´OTESIS Y OBJETIVOS 3
un tiempo que pueda asumirse [12]. De entre todos los m´etodos aproximados destacan las metaheur´ısticas por su eficiencia, efectividad y flexibilidad. ´Estas se han aplicado con ´
exito a una gran variedad de problemas de optimizaci´on [13, 14, 15].
Aprendizaje autom´atico
El aprendizaje autom´atico es una disciplina cient´ıfica que se ocupa del dise˜no y desa-rrollo de algoritmos que permiten a los ordenadores aprender comportamientos basados en una serie de ejemplos [16]. Un objetivo importante de estos algoritmos consiste en aprender a reconocer autom´aticamente patrones complejos y tomar decisiones inteligen-tes sobre una base de datos de ejemplos que se usa para entrenar y probar el sistema [17]. La dificultad radica en el hecho de que el conjunto de todos los posibles comportamientos suele ser demasiado grande para ser cubierto por el conjunto de ejemplos observados (da-tos de entrenamiento). Por lo tanto el algoritmo debe generalizar a partir de los ejemplos dados, con el fin de ser capaz de producir una salida ´util en los casos nuevos. Este ´area es interdisciplinar y presenta conexiones en teor´ıa de la probabilidad, estad´ıstica, recono-cimiento de patrones, ciencias de la computaci´on te´orica, entre otras. Los algoritmos de reconocimiento de patrones tienen como uno de sus objetivos relacionar cada uno de los datos de entrada con la clase a la cual pertenecen [18]. En la literatura se puede encon-trar gran cantidad de sistemas que incluyen algoritmos de aprendizaje autom´atico para el reconocimiento de actividades humanas [19, 20, 21], aunque se ha planteado tambi´en la necesidad de incluir en dichos sistemas una cierta cantidad de conocimiento del dominio.
Conocimiento experto
1.1.2.
Hip´
otesis
A continuaci´on se formulan las hip´otesis que se establecen como base de la investigaci´on desarrollada en este trabajo de Tesis:
1. La combinaci´on de estrategias de optimizaci´on y adaptaci´on aumenta la eficiencia en la b´usqueda de soluciones de calidad para el problema del seguimiento visual.
2. Los algoritmos de estimaci´on secuencial permiten aproximar los estados futuros de un sistema din´amico a partir de un estado conocido.
3. Las metaheur´ısticas constituyen un m´etodo para resolver problemas de optimiza-ci´on que posibilita la adaptaci´on mediante la combinaci´on de soluciones entre otras t´ecnicas.
4. La combinaci´on de los m´etodos anteriores proporciona mecanismos para mejorar el rendimiento de un sistema para la resoluci´on de problemas de seguimiento visual.
5. El uso de conocimiento experto sobre las actividades humanas y expresiones facia-les permite definir un conjunto de caracter´ısticas suficientes para discriminar un subconjunto de ´estas en un entorno parcialmente controlado.
6. Haciendo uso de informaci´on procedente de un m´etodo de seguimiento visual, lo suficientemente preciso, es posible definir un conjunto de caracter´ısticas suficientes para discriminar actividades humanas y expresiones faciales.
1.1.3.
Objetivos
El objetivo principal de esta Tesis Doctoral se fundamenta en las hip´otesis y se puede enunciar como sigue:
“Avanzar en el desarrollo de estrategias basadas en informaci´on visual, orientadas al dise˜no y desarrollo de sistemas de visi´on artificial para el reconocimiento de activida-des humanas, haciendo uso de t´ecnicas h´ıbridas de optimizaci´on din´amica y algoritmos heur´ısticos con el objetivo de obtener m´etodos eficientes y eficaces.”
Y haciendo uso de estos m´etodos:
1.1. MOTIVACI ´ON, HIP ´OTESIS Y OBJETIVOS 5
Este objetivo se divide en distintos subobjetivos que se enuncian a continuaci´on:
1. Realizar una revisi´on y estudio de los trabajos publicados en el ´area del reconoci-miento de actividades humanas, el seguireconoci-miento visual y las aplicaciones pr´acticas de las mismas.
2. Desarrollar distintos m´etodos que hibriden estrategias de estimaci´on secuencial y op-timizaci´on heur´ıstica en el ´ambito del seguimiento visual y estudiar su rendimiento, exactitud y precisi´on.
3. Estudiar el rendimiento cualitativo de diferentes caracter´ısticas en el reconocimiento de actividades humanas.
4. Dise˜nar e implementar diferentes sistemas aplicando los m´etodos y algoritmos pro-puestos.
5. Validar los modelos propuestos, aplicando los sistemas desarrollados a la resoluci´on de problemas de reconocimiento de actividades humanas. En concreto, se pretende resolver los siguientes problemas de inter´es pr´actico:
a) Gesti´on de las situaciones de oclusi´on durante el seguimiento visual.
b) Seguimiento de m´ultiples objetos.
c) Seguimiento de personas y grupos (como caso especial del seguimiento de m´ ulti-ples objetos).
d) Reconocimiento de expresiones faciales.
e) Extracci´on de caracter´ısticas a partir del seguimiento visual para su uso en reconocimiento de actividades humanas.
f) Evaluar la adecuaci´on de distintos conjuntos de caracter´ısticas para el recono-cimiento de actividades humanas.
6. Comparar el rendimiento cualitativo de los sistemas desarrollados con otros similares descritos en la literatura.
7. Analizar los resultados obtenidos y extraer conclusiones sobre el trabajo de investi-gaci´on desarrollado.
9. Desarrollar una memoria de investigaci´on que exponga las aportaciones del trabajo realizado.
1.1.4.
Estructura del documento
El presente documento est´a b´asicamente estructurado en dos partes. En la primera se presenta un resumen del estado del arte del reconocimiento de actividades humanas y las distintas etapas que la componen, tales como preproceso de la imagen, seguimiento visual, extracci´on de caracter´ısticas, asociaci´on de datos y generaci´on de la descripci´on textual. Finalmente se presentan las bases de datos est´andar utilizadas en este trabajo (Cap´ıtulo 2).
La segunda parte corresponde a los art´ıculos en los que se basa este trabajo de tesis (Cap´ıtulos 3 al 8) y que se indican a continuaci´on: En el Cap´ıtulo 3 se incluye el art´ıculo
Cap´ıtulo 2
Reconocimiento de actividades
humanas
El objetivo de los sistemas de an´alisis del comportamiento humano consiste en detec-tar, reconocer y realizar seguimiento visual a sujetos de inter´es en secuencias de im´agenes, as´ı como comprender y describir su comportamiento [26, 27, 28]. Se trata de un proble-ma arduo en el que se presentan patrones espacio-temporales generados por un sisteproble-ma din´amico complejo y no lineal: el ser humano. Una descripci´on completa de este siste-ma requiere la enumeraci´on de todas las variables, sus interrelaciones, las ecuaciones que controlan su evoluci´on y un conjunto de condiciones que debe satisfacer el sistema [29].
Hist´oricamente, el reconocimiento de actividades humanas se ha dividido en distin-tas subareas tales como reconocimiento de gestos [30, 31], reconocimiento de expresiones faciales [32], reconocimiento de acciones e interacciones [33] y reconocimiento del com-portamiento [26]. Los m´etodos usados en estas subareas difieren aunque, en general, la aproximaci´on al problema es similar.
Los or´ıgenes de este ´area se remontan a 1860, cuando los fot´ografos Etienne Jules Marey y Eadweard Muybridge empezaron los primeros estudios de los que se tiene noticia relacionados con la descripci´on visual de actividades humanas y animales. Dicho estudio consist´ıa en fotografiar sujetos en movimiento para estudiar principalmente los aspectos art´ısticos de la locomoci´on, y dieron lugar a la publicaci´on del libro “La Machine Ani-male” en 1873 y “Le Mouvement” en 1894, donde se presentan secuencias detalladas de locomoci´on como la que aparece en la Figura 2.1 en la cual se muestra una secuencia de salto.
Los m´etodos de Marey y Muybridge dieron lugar a nuevas investigaciones, donde cabe destacar la presentada por Hubbard y Stetson en 1938 [34]. Se grababan acciones humanas usando un cinemat´ografo y se relacionaba la acci´on con las deformaciones musculares
Figura 2.1: Secuencia de salto parte de los estudios de Marey y Muybridge parte del trabajo “Le Mouvement”.
presentes en el sujeto. En 1958 Barnes publica el libro Motion and Time Study [35] donde se describen mejoras para entornos industriales basadas en el estudio de actividades humanas en cadenas de montaje.
9
reconocimiento autom´atico de actividades humanas.
Figura 2.2: Esquematizaci´on del experimento de Johansson en 1973 [36] donde se presenta a un sujeto caminando (a) y corriendo (b) con las correspondientes configuraciones de puntos luminosos.
En 1977 Cutting y colaboradores presentaron trabajos ampliando las ideas de Johans-son, demostrando que un observador, en las mismas condiciones que en el experimento anterior, pod´ıa reconocer la identidad de la persona o el sexo [37, 38].
Con el paso del tiempo, los trabajos que se pueden encuadrar en ´ambitos art´ısticos o del ´area de la psicolog´ıa dejan paso a otros m´as t´ecnicos, como por ejemplo, el trabajo de Akita [39], publicado en 1984, en el cual se intenta realizar seguimiento visual de partes del cuerpo usando un modelo del mismo. Las partes que se reconocen son: piernas, cabeza, brazos y tronco. En este m´etodo se usa la correlaci´on entre los movimientos de las distintas partes, para estimar la posici´on de cada una con respecto a las dem´as, y por ´ultimo, se realizan simplificaciones tales como asumir que la segmentaci´on se realiza correctamente o que el movimiento realizado se conoce de antemano.
A finales de los a˜nos 90 se presenta una serie de trabajos que sientan las bases necesarias para el reconocimiento de actividades humanas, bien por las t´ecnicas que definen o por los conceptos que presentan. Algunos de los m´as relevantes se reportan a continuaci´on.
proponen considerar la evoluci´on de los par´ametros del sistema como una curva y usar un m´etodo de ajuste de curvas para el reconocimiento de actividades. En la Figura 2.3 se observa el funcionamiento del sistema presentado durante el seguimiento de una pierna en distintas posiciones.
Figura 2.3: Seguimiento de una pierna humana, Ju y colaboradores [40].
En el trabajo de Haritaoglu, Harwood y Davis [41], se emplea una combinaci´on de m´etodos de seguimiento y an´alisis, que incluyen el template matching y la predicci´on de movimiento, para localizar personas y segmentar algunas partes de inter´es (torso, cabeza y extremidades). Se extrae informaci´on global de la silueta del individuo, as´ı como local de las distintas partes del cuerpo, para crear modelos rectangulares de los sujetos y, posteriormente, se aplica el m´etodo de suma de diferencias absolutas para clasificar acciones de personas en categor´ıas conocidas, tales como estar de pie, sentado, gatear o estar tumbado.
11
Olson y Brill [43] describen un sistema de v´ıdeo vigilancia que cuenta con un m´etodo para detectar, seguir y reconocer el comportamiento de un ´unico sujeto. Inicialmente se calcula la velocidad de las regiones m´oviles entre fotogramas y se propaga la regi´on en el fotograma siguiente. A continuaci´on, se aplica el criterio de vecinos m´as cercanos para decidir qu´e posici´on es la m´as veros´ımil para situar la nueva regi´on de inter´es. Las relaciones y movimientos entre regiones de inter´es son las caracter´ısticas usadas para reconocer las distintas acciones. Con este sistema la tasa de detecci´on de eventos es del 95 % y se obtiene un seguimiento plausible del sujeto en el 88 % de las ocasiones.
El ´area ha seguido creciendo y madurando, dando lugar a multitud de trabajos de ca-lidad. Por ejemplo, Ben-Arie y colaboradores [44] proponen un m´etodo de reconocimiento de actividades que hace uso de un conjunto reducido de fotogramas para identificar la ac-ci´on realizada en una secuencia de v´ıdeo. Se plantea que las acciones se pueden representar como conjuntos de poses y vectores de velocidad para las principales partes del cuerpo (manos, piernas y torso). La informaci´on se almacena en tablashash multidimensionales y el reconocimiento se produce indexando los datos adquiridos y compar´andolos con datos protot´ıpicos de cada actividad. El sistema es capaz de identificar entre 8 distintas acciones (saltar, arrodillarse, recoger algo, dejar algo, correr, sentarse, estar de pie y caminar) sin cometer ning´un error en las 40 secuencias estudiadas.
En el trabajo de Efros y colaboradores [45] se detalla un sistema de reconocimiento de acciones humanas a gran distancia, en el que se emplea el an´alisis de flujo ´optico de los objetos seguidos. Para la clasificaci´on se comparan los descriptores obtenidos con una base de datos de secuencias anotadas de acciones, usando una medida de similitud, basada en el marco de los vecinos m´as cercanos. En dicho trabajo, se consideran tres bancos de datos distintos: ballet, tenis y f´utbol; obteni´endose resultados dispares que var´ıan entre un 65 % de reconocimiento, en el caso del tenis, y un 87 % en el caso del ballet.
Robertson y Reid [27] se inspiran en el estudio de Efros y colaboradores y modelan las acciones con vectores de caracter´ısticas que contienen informaci´on cinem´atica y codifican las reglas que definen acciones mediante Modelos Ocultos de Markov [46] (Hidden Markov Models, HMM). El reconocimiento se implementa calculando la similitud entre una acci´on detectada y el conjunto de acciones predefinidas representadas por un HMM. En este trabajo se obtiene un 81 % de acierto en la detecci´on en la secuencia de tenis, lo cual, representa una mejora considerable con respecto al trabajo previamente descrito.
clasificar las acciones realizadas. Las caracter´ısticas propuestas se pueden adaptar al ta-ma˜no, frecuencia y velocidad de los patrones de movimiento y, de esta forma, reconocer patrones de movimiento complejos. Para las acciones consideradas se obtiene un reconoci-miento correcto de un 71 %. El bajo porcentaje se debe, en parte, a que se consideran tres acciones muy similares: caminar, trotar y correr. La importancia de este trabajo no solo radica en el m´etodo propuesto, sino tambi´en en la base de datos que se propone, conocida como KTH1 y de gran relevancia en el ´area de conocimiento.
Park y Aggarwall [49] proponen un m´etodo para el reconocimiento de interacciones entre dos personas usando una red bayesiana jer´arquica. Inicialmente se segmentan las partes del cuerpo y se modelan mediante elipses. Posteriormente, se hace seguimiento visual y, a continuaci´on, la red bayesiana se encarga de estimar la posici´on de las mismas e integrarlo para registrar la posici´on corporal completa. Con esta estrategia se obtiene una tasa de acierto del 78 %, que se considera muy alta debido a que el reconocimiento de interacciones tiene gran complejidad. Las primeras etapas de este sistema se muestran en la Figura 2.4.
Figura 2.4: Extraido de [49] (a) imagen inicial, (b) imagen segmentada y (c) modelado con elipses.
En el art´ıculo de Dollar y colaboradores [50] se demuestra que la extensi´on directa de los puntos caracter´ısticos a tres dimensiones no es adecuada y se propone el uso de cuboides caracter´ısticos 2. Los descriptores de estos cuboides contienen informaci´on espacial (como valores de intensidad) y temporal (como el flujo ´optico). En el trabajo se argumenta que el uso de este tipo de caracter´ısticas ayuda a mejorar la robustez frente al ruido y la variaci´on en la pose. Bas´andose en estas caracter´ısticas, se crea un sistema de reconocimiento de actividades que trata la secuencia de v´ıdeo como un volumen tridimensional, del que se extraen cuboides caracter´ısticos que se clasifican antendiendo a actividades protot´ıpicas mediante dos clasificadores, uno de tipo SVM y otro de vecinos m´as cercanos. El sistema se aplica a un conjunto de datos de expresiones faciales, donde se consigue un 72 % de
13
acierto y, posteriormente, a un conjunto de datos de comportamiento de ratones con una tasa de acierto superior al 80 %.
Kellokumpu [51] presenta un sistema que es capaz de reconocer 15 actividades en tiempo real usando una c´amara fija. El sistema se basa en la descripci´on de las actividades como una secuencia de posturas discretas, las cuales se derivan de descriptores afines invariantes. Esta representaci´on tiene el efecto de hacer el reconocimiento m´as robusto con respecto a los cambios de direcci´on y la distancia obteniendo una tasa de acierto de un 83 % en el conjunto de datos considerado.
M´as recientemente, Ryoo y Aggarwal [52] proponen un m´etodo basado en gram´aticas independientes del contexto para representar y clasificar acciones e interacciones humanas compuestas de acciones simples. Este sistema procesa las secuencias de im´agenes para extraer poses y gestos que permiten reconocer ocho tipos de interacciones de alto nivel entre dos sujetos. Las acciones reconocidas son: acercarse, alejarse, apuntar con el dedo, darse la mano, abrazar, dar un pu˜no, dar una patada y empujar. Los autores reportan un porcentaje de acierto del 91 % mejorando significativamente los resultados obtenidos por los trabajos previos.
En el art´ıculo de Mart´ınez-Tom´as y colaboradores [53] se define una arquitectura de niveles de descripci´on para resolver el problema de relacionar los descriptores a distintos niveles. Se consideran el nivel geom´etrico, de objetos y de actividades. Para ello usan un enfoque constructivista basado en t´ecnicas de inteligencia artificial que pretende establecer una correspondencia entre las ontolog´ıas de los m´ultiples niveles. El sistema se prueba en el contexto de la v´ıdeo vigilancia y, en concreto, de la detecci´on de objetos abandonados. Lu y colaboradores [54] presentan un sistema que permite seguir y reconocer las ac-ciones de m´ultiples jugadores de hockey. El sistema presenta varias contribuciones des-tacables: en primer lugar, se lidia con el movimiento de la c´amara, en segundo lugar se representa a los jugadores con histogramas de gradientes orientados (Histogram of Oriented Gradients, HOG) [55], y usa un filtro de part´ıculas modificado llamado boosted particle filter [56] en el que la distribuci´ona posteriori se aproxima mediante una mezcla de gaussianas y la distribuci´on propuesta se calcula utilizando Adaboost [57]. Finalmente, el reconocimiento de actividades humanas se lleva a cabo usando un clasificador disperso con una medida de similitud de movimiento que trabaja directamente sobre los descripto-res HOG. El sistema obtiene una tasa de aciertos del 76 %, considerada muy alta debido al nivel de complejidad del problema.
acciones cuando existe variaci´on del punto de vista, iluminaci´on, etc. Las caracter´ısticas empleadas son cuboides caracter´ısticos e im´agenes rotadas que representan la posici´on y la deformaci´on percibida del actor. La relaci´on entre las caracter´ısticas se modela como un grafo, y la fortaleza de cada relaci´on entre entidades se expresa mediante el valor del peso de las aristas. El conjunto de caracter´ısticas se convierte en un punto en un espacio k-dimensional y se clasifica por distancia eucl´ıdea con otras posiciones cuya clase es co-nocida. En el trabajo se presentan experimentos con dos bases de datos, Weizzman (89 % de acierto) e IXMAS (78 % de acierto), aunque estos resultados no son comparables entre s´ı debido a las diferencias entre las bases de datos.
Ali y Shah [59] presentan un m´etodo basado en la extracci´on de caracter´ısticas a partir del flujo ´optico. Las caracter´ısticas empleadas incluyen magnitudes propias de la mec´anica de fluidos, tales como la divergencia, vorticidad, simetr´ıa y antisimetr´ıa de los campos de flujo, el segundo y tercer invariante principal de los gradientes de flujo, el tensor de la velocidad de deformaci´on y el tercer invariante del tensor del ratio de rotaci´on. Algunas de estas caracter´ısticas se muestran en la Figura 2.5. Cada caracter´ıstica se computa una vez por cada fotograma generando un patr´on espacio-temporal, que se reduce usando an´alisis de componentes principales para finalmente aplicar un clasificador de tipoMultiple instance learning [60]. El algoritmo se aplica a dos bases de datos distintas: Weizzman con un 96 % de acierto y KTH con un 88 % de acierto.
Figura 2.5: Algunas caracter´ısticas del movimiento de agacharse, tal como se muestran en el art´ıculo de Ali y Shah [59].
15
silueta a lo largo del tiempo en forma de invariantes geom´etricos y momentos de Zernike. Una acci´on se representa como una combinaci´on de las caracter´ısticas extra´ıdas y la clasificaci´on se lleva a cabo usando modelos ocultos de Markov sobre dicho conjunto. Los experimentos se realizan con la base de datos KTHDB y obtienen tasas de reconocimiento de entre 85 % y 90 %.
El algoritmo de SIFT (Scale-invariant feature transform) [62] tiene como objetivo detectar y describir caracter´ısticas locales en im´agenes. Scovanner y colaboradores [63] proponen usar una variaci´on de este algoritmo llamado 3D SIFT para reconocer activi-dades humanas. Tratando el v´ıdeo como un volumen de im´agenes, se localizan puntos de inter´es y sobre ´estos se calcula un descriptor SIFT que codifica informaci´on espacio temporal. Estos descriptores se introducen en una bolsa de palabras (Bag of Words o BoW), donde se agrupan por similitud y, finalmente, se entrena un clasificador SVM para reconocer nuevas acciones que se presenten al sistema. Los autores reportan una tasa de acierto del 83 % con la base de datos de Weizzman, por tanto, la contribuci´on de este trabajo no es tanto obtener un buen rendimiento, sino adaptar los descriptores SIFT a la soluci´on de este problema.
Yeffet y colaboradores [64] presentan un m´etodo que se basa en la combinaci´on de patrones binarios locales (Local Binary Patterns o LBP [65]) con invariantes de apariencia. Las secuencias se dividen en partes de igual duraci´on y se calculan histogramas acumulados para cada parte que servir´an de entrada a un clasificador SVM. Este m´etodo ha probado ser extremadamente eficiente y ha sido probado con gran variedad de bases de datos entre ellas: HOHA donde obtiene tasas de acierto de hasta un 58 % de acierto, UCF (79 % de acierto) y KTH (90 % de acierto).
Usando el marco conceptual definido por Martinez-Tom´as, Folgado y colaboradores [66] presentan un modelo de representaci´on de humanos basado en bloques ideado expl´ıci-tamente para el reconocimiento de actividades humanas. Asociado al modelo se presenta un conjunto de caracter´ısticas que incluyen el punto superior e inferior del blob, los pun-tos extremos del blob en cada uno de los bloques, el centro de masas, el eje de simetr´ıa o los ´angulos que forman brazos y piernas. El mecanismo es capaz de reconocer ciertas situaciones como acarrear un objeto, girar, levantar los brazos o agacharse, presentes en la base de datos CASIA [67] obteniendo tasas de acierto cercanas al 92 %.
Figura 2.6: Puntos significativos y par´ametros primarios del modelo de Folgado y colabo-radores [66].
de flujo ´optico. Adicionalmente, se introduce el uso de un nuevo tipo de descriptores basados en histogramas de frontera de movimiento, los cuales mejoran el comportamiento del sistema en situaciones en que la c´amara no es fija. En la Figura 2.7 se muestra una representaci´on gr´afica de la informaci´on que se codifica en dichos descriptores.
Figura 2.7: Informaci´on codificada en los descriptores del trabajo de Wang y colaboradores [69].
17
obtenidas mediante t´ecnicas de aprendizaje profundo3, como el apilado4 o convoluci´on, se combinan con representaciones jer´arquicas y de esta forma se obtiene un descriptor que permite clasificar actividades incluso en situaciones no controladas. Por otra parte Ji y colaboradores [71] han extendido el modelo de redes neuronales convolucionales ( Convo-lutional Neural Networks, CNN) para trabajar con espacios tridimensionales y obtener caracter´ısticas autom´aticamente a partir de la secuencia de v´ıdeo.
Para mejorar los resultados de enfoques bien establecidos se ha optado por el uso de distintos tipos de sensores, como es el caso de Wang y colaboradores [69], en que se hace uso de sensores de profundidad para construir un modelo de representaci´on de actividades humanas llamadoActionlet Ensemble Model. El modelo de representaci´on descrito incluye dos tipos de caracter´ısticas: la posici´on tridimensional de ciertas articulaciones y patrones de ocupaci´on local del espacio, con las cuales se pretende capturar la variaci´on intraclase de las acciones, as´ı como gestionar el ruido inherente a los sensores utilizados.
El uso de informaci´on de profundidad ha aumentado recientemente, en parte, debido a la comercializaci´on del sensor Kinect [72]. Se han presentado trabajos de relevancia relacionados con el reconocimiento de actividades humanas como el de Shotton y cola-boradores [73], que presenta un sistema de estimaci´on de pose basado en im´agenes con informaci´on de profundidad obtenidas por este sistema. Biswas y colaboradores [74] ex-ploran el reconocimiento de gestos y, posteriormente, Sung y colaboradores [75] se centran en el reconocimiento de actividades humanas.
Las novedades en el campo no se circunscriben ´unicamente a la construcci´on de nuevos algoritmos y t´ecnicas. Como resultado del uso de nuevos sensores, se ha hecho cada vez m´as importante disponer de bases de datos est´andar para comparar los trabajos de distintos investigadores (la Secci´on 2.9 est´a dedicada a la descripci´on de las bases de datos utilizadas en esta Tesis Doctoral). BingBing y colaboradores [76] presentaron una base de datos que combina informaci´on de color y profundidad llamada RGB-HuDaAct que contiene secuencias representando actividades cotidianas. La base de datos contiene adem´as dos conjuntos de descriptores, en el primero se presentan puntos de inter´es espacio-temporales y en el segundo im´agenes que representan el desarrollo del movimiento.
Se han presentando trabajos novedosos en que se emplean sensores ´opticos, entre ellos el de Guha y Ward [77]. Los autores proponen entrenar diccionarios sobrecompletos5
usan-3deep learning 4stacking
do caracter´ısticas espacio temporales extra´ıdas de los v´ıdeos. Estos diccionarios se basan en la idea de que un dato puede ser representado como una combinaci´on de funciones base y se ha demostrado que pueden ser usados como un clasificador [78]. Usando los conceptos anteriores se propone un nuevo tipo de descriptores conocidos como Local Motion Pat-tern Descriptors, que se construyen modelando el v´ıdeo como un volumen y extrayendo regiones que contienen informaci´on significativa. Este dato se puede representar como una combinaci´on lineal de un n´umero reducido de elementos de los diccionarios. Para terminar presentan una nueva contribuci´on que consiste en el uso de proyecciones aleatorias [79] para reducir la dimensionalidad del problema.
El desarrollo de nuevos descriptores es un campo en el que se han presentado muchos avances en los ´ultimos tiempos. Wang y colaboradores [80] basan su sistema en descriptores de trayectoria y de frontera de movimiento para mejorar la representaci´on del fondo de la escena y el contexto. Reddy y Shah [81] prefieren el uso de la informaci´on de p´ıxeles m´oviles y estacionarios en un marco probabilista.
Desde una perspectiva amplia, los sistemas de reconocimiento de actividades humanas, son un componente de sistemas mayores que buscan interpretar actividades, comporta-mientos y situaciones sem´anticamente en un escenario en el cual se cuenta con m´ultiples sensores. Un ejemplo de este tipo de sistemas es el presentado por Rivas-Casado y co-laboradores [82]. El sistema presenta un agente perceptivo que procesa la informaci´on sensorial, entre la que se incluye la informaci´on visual. Un agente de toma de decisio-nes que identifica cambios significativos en las se˜nales de los sensores y los convierte en eventos simples. Finalmente, el agente de composici´on identifica patrones de eventos y los organiza como eventos compuestos. De esta forma, al combinar informaci´on de m´ultiples fuentes, se mejora el comportamiento del sistema en cuanto a la fiabilidad que presenta en entornos cr´ıticos como puede ser la v´ıdeo vigilancia.
2.1.
Clasificaci´
on general de m´
etodos de
reconoci-miento de actividades humanas
En la literatura se pueden encontrar m´ultiples intentos de clasificar los m´etodos de reconocimiento de actividades humanas y crear taxonom´ıas que permitan ordenarlos. Una clasificaci´on posible es aqu´ella que divide los trabajos seg´un su campo de aplicaci´on. A continuaci´on, se describen brevemente algunas de las ´areas en las cuales la aplicaci´on del reconocimiento visual de actividades humanas ha sido m´as intenso:
2.1. CLASIFICACI ´ON GENERAL DE M´ETODOS DE RECONOCIMIENTO DE
ACTIVIDADES HUMANAS 19
permiten el reconocimiento de humanos bas´andose en caracter´ısticas f´ısicas o de su comportamiento. Uno de los m´etodos m´as usados es el an´alisis de la marcha humana (gait analysis) [83].
An´alisis de contenido de v´ıdeo: Tiene por objetivo el procesamiento y etiquetado autom´atico del contenido del v´ıdeo as´ı como la generaci´on de un resumen textual del mismo [84].
V´ıdeo vigilancia: Persigue el reconocimiento de situaciones an´omalas y la continua monitorizaci´on de espacios de inter´es. Estos sistemas pretenden reemplazar a los m´etodos de v´ıdeo vigilancia tradicionales, basados en la supervisi´on humana, que se han demostrado ineficaces cuando el n´umero de c´amaras excede las capacidades de los operadores humanos para monitorizarlas [7].
El estudio de la interacci´on humano-computadora, entendido como el dise˜no, eva-luaci´on e implementaci´on de sistemas computacionales interactivos para el uso de humanos [85], tambi´en es un campo de aplicaci´on del reconocimiento visual de acti-vidades humanas en cuanto que incluye ´areas tales como el reconocimiento de gestos [86], expresiones faciales [87], etc.
de reconocimiento de actividades humanas funcionan siguiendo un enfoque que incluye varias etapas y la comunicaci´on entre ellas. Los sistemas de reconocimiento de actividades humanas se pueden describir atendiendo a las siguientes etapas: (1) preproceso de la imagen, (2) seguimiento visual, (3) extracci´on de caracter´ısticas, (4) clasificaci´on de datos y finalmente (5) generaci´on de la descripci´on textual [90, 24]6. En la Figura 2.8 se muestra
un esquema de las etapas mencionadas y la Tabla 2.1 recoge una relaci´on de los trabajos citados en el estado del arte donde se detallan las etapas de acuerdo al esquema anterior.
Figura 2.8: Diagrama de etapas de un sistema de reconocimiento de actividades humanas.
2.2.
Preproceso de la imagen
Gonzalez y Woods [94] define el preproceso de la imagen como un conjunto de proce-sos de bajo nivel que incluyen operaciones primitivas y cuyo objetivo es reducir el ruido, mejorar el contraste o los bordes de la imagen, etc. En esta secci´on, entenderemos por preproceso, la etapa que incluye los algoritmos que se ejecutan como paso previo al segui-miento visual y que tienen como objetivo mejorar el rendisegui-miento de las etapas posteriores.
2.2.1.
Normalizaci´
on de la imagen
En algunas ocasiones, los datos con los que se trabaja tienen diferentes escalas debido a efectos de la perspectiva, de las condiciones de la adquisici´on o incluso debido a que los objetos representados tienen un tama˜no distinto, tal como puede suceder con los rostros de las personas. Este es el caso presentado en el trabajo “Differential optical flow applied to automatic facial expression recognition” (Cap´ıtulo 6) donde se describe un sistema que busca reconocer las expresiones faciales que realizan distintos individuos.
2.2. PREPROCESO DE LA IMAGEN 23
Utilizando estos puntos caracter´ısticos, se puede calcular el ´angulo de inclinaci´on de la cara con respecto a la vertical y obtener un recuadro que contenga la regi´on central de la cara. Con estos datos es posible alinear y redimensionar la imagen con la transformaci´on af´ın adecuada tal y como se muestra en la Figura 2.9.
En el primer fotograma se selecciona manualmente el punto correspondiente a la nariz del sujeto. Este punto ser´a considerado por el algoritmo de seguimiento y su desplaza-miento se usa para detectar y, en su caso, corregir el movidesplaza-miento de la cabeza aplicando una transformaci´on af´ın. Finalmente, se aplica un reescalado a la imagen haciendo uso de una pir´amide Gaussiana en dos niveles. Esta transformaci´on, descrita originalmente por Burt [95], produce una reducci´on en el tama˜no de la imagen como se muestra en la Figura 2.10. El procesamiento de una imagen de menor tama˜no implica que se deben tener en cuenta un menor n´umero de p´ıxeles y, por tanto, se reduce la carga computacio-nal. Los m´etodos de pir´amide han demostrado ser de gran valor en el reconocimiento de actividades humanas [96] y son la base de trabajos de la literatura [97, 98].
Figura 2.9: La imagen (a) es recortada, redimensionada y girada hasta convertirse en la imagen (b) usando los puntos caracter´ısticos mostrados en rojo.
2.2.2.
Imagen integral e imagen integral restringida
Durante la etapa de seguimiento es com´un que se calcule el valor acumulado de ´areas que por alguna raz´on revisten un inter´es especial. Este c´alculo puede representar una carga considerable para el sistema. La imagen integral, tambi´en conocida como tabla de ´
Figura 2.10: Descripci´on visual de la pir´amide de im´agenes.
seguimiento. Este m´etodo fue originalmente propuesto en el contexto de la generaci´on de gr´aficos por computador [99] y posteriormente fue aplicado por Viola y Jones para acelerar c´omputos sobre regiones en el problema de la detecci´on de objetos [100].
El algoritmo propone generar, a partir de la imagen original, otra imagen donde en cada p´ıxel I(m, n) se almacene la suma de los valores de todos los p´ıxeles anteriores incluyendo al p´ıxel en cuesti´on. Es decir, p´ıxeles p(i, j) tales que cumplan que 1 ≤i≤n y 1≤j ≤m:
I(n, m) = X
1≤i≤n
1≤j≤m p(i, j)
Usando esta imagen integral es posible calcular valor acumulado de un ´area rectangular dada en un tiempo constante. Tomando la nomenclatura de la Figura 2.11, se puede obtener el peso del rect´angulo determinado por los v´ertices (A, B, C, D) de la siguiente forma:
X
Ax≤x≤Bx Ay≤y≤Dy
p(x, y) =I(Dx, Dy) +I(Ax, Ay)−I(Bx, By)−I(Cx, Cy)
2.3. OPTIMIZACI ´ON 25
Adem´as, en el caso del seguimiento visual, se puede mejorar a´un m´as la eficiencia de este algoritmo si el c´alculo de la imagen integral se restringe a una zona de inter´es en lugar de considerar toda la imagen. Esta estrategia fue usada en el trabajo “Human Activity Recognition based on Kinematic Features” (ver Cap´ıtulo 8) consiguiendo realizar el c´alculo de pesos hasta siete veces m´as r´apido que usando el enfoque est´andar. A este nuevo enfoque se le denomina imagen integral restringida (restricted integral image) que se considera una de las aportaciones relevantes y novedosas de este trabajo de Tesis Doctoral.
Figura 2.11: C´alculo de la suma de los valores contenidos en un ´area rectangular utilizando una imagen integral.
2.3.
Optimizaci´
on
Habitualmente, un problema de optimizaci´on se formula de la siguiente manera: (
optimizar f(x)
s.t. x∈F
donde, f : S → R es la funci´on objetivo que asigna a cada punto x en el espacio de soluciones S un valor, yF representa las restricciones aplicadas al problema, es decir, que determina el conjunto de soluciones factibles.
Para resolver un problema de optimizaci´on de forma algor´ıtmica es necesario definir tres elementos b´asicos, (1) Representaci´on: se trata de codificar las soluciones factibles para su tratamiento en el algoritmo; (2) Objetivo: describe la tarea a realizar en forma de predicado matem´atico y (3) Funci´on de evaluaci´on o funci´on objetivo: se encarga de asignar un valor a cada soluci´on representando la calidad de la misma.
2.3.1.
Metaheur´ısticas
Existe gran cantidad de problemas de optimizaci´on para los cuales no se conocen algoritmos que permitan su resoluci´on exacta en tiempos razonables. En algunos casos puede ser suficiente encontrar soluciones “de calidad”, aunque dichas soluciones no sean ´
optimas, siempre que el tiempo invertido en ello sea razonable [12]. Las metaheur´ısticas consituyen una familia de m´etodos para la resoluci´on de problemas de optimizaci´on que siguen esta estrategia.
El t´ermino metaheur´ıstica fue usado por primera vez por Glover en 1986 [103] y hace referencia a un procedimiento gen´erico de alto nivel que gu´ıa a otras heur´ısticas para explorar eficientemente el espacio de soluciones o, en palabras del propio Glover, una metaheur´ıstica define un “procedimiento maestro de alto nivel que gu´ıa y modifica otras heur´ısticas para explorar soluciones mas all´a de la optimalidad local”.
2.3. OPTIMIZACI ´ON 27
2.3.2.
Algoritmos Mem´
eticos
Figura 2.12: Estructura general del algoritmo mem´etico. Tambi´en se puede encontrar la descripci´on del algoritmo en pseodoc´odigo en el Anexo A.
El t´ermino algoritmos mem´eticos (Memetic Algorithm, MA) fue acu˜nado por Pablo Moscato a finales de los a˜nos ochenta para denotar una serie de conceptos pertenecientes a diferentes familias, como por ejemplo, los algoritmos evolutivos o el recocido simulado [110]. Los algoritmos mem´eticos deben su nombre al concepto de “meme”, introducido por R. Dawkins en su libro “El gen ego´ısta” [111], para dar una explicaci´on a la evoluci´on cultural en analog´ıa con la gen´etica. El principio en el que se basa esta metaheur´ıstica es la siguiente:
De la misma forma en que en una poblaci´on se trasmiten los genes de los padres a los hijos, los memes se transmiten de cerebro a cerebro de la poblaci´on.
Los MA son metaheur´ısticas poblacionales, ya que el algoritmo mantiene una po-blaci´on de agentes que representan soluciones tentativas al problema. Los agentes pueden mejorar durante su vida mediante b´usqueda local y establecen relaciones de cooperaci´on y competici´on con otros agentes de la poblaci´on. Este proceso de competici´on y cooperaci´on se asemeja a los patrones de comportamiento de individuos de la misma especie [112].
Sin embargo, aunque se toman las ideas de ambos procedimientos, se introducen tram-bi´en otras nuevas ideas, que permiten considerarlos como diferentes e independientes [113]. Una de las caracter´ısticas diferenciadoras es que los MA incorporan todo el conocimiento del problema que se tenga disponible, en contraposici´on a los algoritmos gen´eticos, que evitan, en lo posible, considerar las caracter´ısticas particulares del problema [113, 110].
Los algoritmos mem´eticos tambi´en est´an ´ıntimamente relacionados con los algoritmos evolutivos, desde el punto de vista estructural, debido a su naturaleza poblacional [110]. Esto se ve reflejado en la similitud de los bloques de selecci´on y mutaci´on, siendo la diferencia su implementaci´on. La competici´on viene determinada por los grandes bloques de selecci´on, con su correspondiente reemplazo de agentes. La cooperaci´on entre agentes puede llegar a sustituir la mutaci´on y cruce en los algoritmos evolutivos. En la Figura 2.12 se muestra la estructura general de MA, que consta de los siguientes elementos:
1. Generaci´on de poblaci´on inicial: En los algoritmos evolutivos es habitual crear un conjunto de soluciones (una poblaci´on) inicial al azar. La diferencia en algoritmos mem´eticos es que dichas soluciones se crean usando mecanismos m´as sofisticados (p. ej., una construcci´on heur´ıstica). Otra posibilidad es aplicar una b´usqueda local a las soluciones iniciales. En la Figura 2.13 se encuentra un esquema que describe esta etapa.
2. Paso generacional: Este componente representa la parte principal del algoritmo en el que las soluciones van evolucionando. Hay tres componentes principales: selecci´on, reproducci´on y actualizaci´on, tal como se aprecia en la Figura 2.14.
Selecci´on: Esta etapa es la responsable de la competici´on entre los individuos de la poblaci´on. Usando la informaci´on proveniente de una funci´on de evaluaci´on dependiente del problema (tambi´en conocida como funci´on defittness) se valora la calidad de las soluciones y se elige una porci´on de las mismas para generar nuevas soluciones. Se considera que la probabilidad de selecci´on de un individuo es proporcional a su calidad, aunque tambi´en se pueden usar funciones no proporcionales basadas en comparaciones cualitativas.
2.3. OPTIMIZACI ´ON 29
modificaciones en la soluci´on y s´olo se mantienen si el resultado presenta una mejora de la calidad.
Actualizaci´on: Este componente se encarga de reemplazar individuos de la po-blaci´on inicial por otros generados en la etapa de reproducci´on. Existen m´ ulti-ples estrategias tales como reemplazar al peor individuo, al m´as antiguo o a uno elegido al azar [114].
3. Reinicio de la poblaci´on: Este componente tambi´en est´a presente en los algoritmos evolutivos, pero su importancia es esencial en los mem´eticos debido a que conver-gen mucho m´as r´apidamente. En el estado en que la mejora de una soluci´on sea improbable debido a que todas las soluciones son muy similares, puede ser m´as con-veniente reiniciar la poblaci´on que mantenerla en una regi´on demasiado restringida del espacio de b´usqueda. La importancia de este paso reside en que el conocimiento a˜nadido al algoritmo acelera la convergencia de la poblaci´on. V´ease la Figura 2.15.
4. Terminaci´on: Una vez que se ha alcanzado el n´umero de iteraciones m´aximo o bien se ha conseguido una soluci´on satisfactoria en t´erminos de calidad, el algoritmo termina y devuelve la mejor soluci´on encontrada.
Figura 2.13: Generaci´on de la poblaci´on inicial en un algoritmo mem´etico.
2.3.3.
Algoritmos de b´
usqueda local
Figura 2.14: Paso generacional b´asico en un algoritmo mem´etico. N´otese el encadenamien-to de operadores reproductivos para crear las nuevas soluciones.
Figura 2.15: Reinicio de la poblaci´on, los mejores m individuos de la poblaci´on se man-tienen, mientras que los otros n−m individuos son creados de nuevo.
un criterio dado. El proceso contin´ua hasta que ya no es posible mejorar la soluci´on. Es decir, hasta que en la vecindad de la soluci´on considerada no se puede encontrar ninguna soluci´on vecina mejor [116].
2.4. ALGORITMOS DE ESTIMACI ´ON SECUENCIAL 31
el problema de la cobertura de v´ertices,k-medias, satisfacibilidad booleana, problema del viajante o la planificaci´on de enfermeras, entre otros.
Un algoritmo de b´usqueda local necesita que se defina la estructura del espacio de b´usqueda, la estructura de vecindad y la funci´on objetivo. El espacio de b´usqueda define el conjunto de las soluciones al problema, tanto factibles como no factibles. La vecindad define el subconjunto de soluciones que son accesibles desde una soluci´on dada y finalmente la funci´on objetivo define la calidad de una soluci´on y est´a generalmente relacionada con el criterio de optimizaci´on.
Normalmente se definen varios vecinos para cada soluci´on y la regla de p´ıvot determina cu´al de ellos reemplazar´a a la soluci´on actual [117]. Los criterios m´as usados son best improvement, donde la soluci´on actual ser´a reemplazada por la mejor entre sus vecinos y
first improvement, donde se elige al primer vecino que mejore el criterio considerado. Una instancia de un problema de optimizaci´on es un par (L, f) dondeL representa al conjunto de todas las soluciones posibles y f :L→ < es una funci´on que asigna un valor a cada soluci´on. As´ı el objetivo de la optimizaci´on es encontrar una soluci´on i ∈ L de tal forma que se cumpla f(i)≥f(u) para todo u∈L. Una descripci´on m´as detallada se encuentra en el libro de Hromkovi [118]. El algoritmo de b´usqueda local se puede describir mediante la siguiente secuencia de pasos:
1. Determina una soluci´on inicial i∈L
2. Define una vecindad de soluciones de la soluci´on inicial i
3. Busca en dicha vecindad o en una parte de ella para determinar si existe una soluci´on mejor que i
4. Si se ha encontrado una soluci´on mejor, ´esta sustituye a la soluci´oni y se contin´ua en el paso 2. En caso contrario se devuelve la soluci´on actual
La naturaleza de una b´usqueda local se determina por estos tres aspectos. C´omo se determina la soluci´on inicial, la estructura de vecindad y cu´ales son las condiciones de ter-minaci´on del algoritmo. La Figura 2.16 muestra un ejemplo donde el espacio de b´usqueda consiste en una malla tridimensional y la vecindad de un elemento est´a constituida por todos los elementos que est´an a una arista de distancia del mismo7.
2.4.
Algoritmos de estimaci´
on secuencial
Una gran cantidad de problemas que se plantean en diferentes ´ambitos cient´ıficos requieren la estimaci´on del estado de un sistema que evoluciona en el tiempo utilizando
7En teor´ıa de grafos se considera lai
Figura 2.16: Representaci´on gr´afica de una iteraci´on en un algoritmo de b´usqueda local. Partiendo de la soluci´on inicial representada por la esfera roja, se define una vecindad representada por las esferas azules y se selecciona la mejor de ellas (esfera verde) seg´un un criterio dado.
una serie de medidas que se realizan sobre el sistema [120]. Se puede considerar que el seguimiento visual en secuencias de im´agenes digitales es un caso particular de este problema donde tanto el espacio de estados como la formulaci´on en el tiempo son discretos [120]. Los algoritmos de seguimiento visual han sido usados tradicionalmente como base de sistemas m´as complejos, en concreto para el reconocimiento de actividades humanas [121, 25]. A continuaci´on, se describen el modelo de espacio de estados y el problema de la estimaci´on secuencial como bases del filtro de part´ıculas y los algoritmos derivados presentados en este trabajo de Tesis Doctoral.
2.4.1.
Espacio de estados
El estado de un sistema se puede definir como la m´ınima informaci´on necesaria pa-ra describir el comportamiento del sistema en un momento dado [122]. La cantidad de informaci´on necesaria var´ıa dependiendo de la complejidad del sistema. Por ejemplo, en la Figura 2.17 se representan gr´aficamente dos sistemas y la informaci´on necesaria para representar su estado en un momento dado. As´ı en (a) se representa la informaci´on ne-cesaria para conocer la posici´on de un tren en la v´ıa: el punto kilom´etrico, la direcci´on y la velocidad. Por otra parte en (b) se representa la informaci´on necesaria para ubicar el barco en el plano bidimensional: sus coordenadas actuales y el vector de velocidad.
-2.4. ALGORITMOS DE ESTIMACI ´ON SECUENCIAL 33
Figura 2.17: Representaci´on del espacio de estados de dos sistemas. En (a) se representa un tren desplaz´andose por una v´ıa como ejemplo de un sistema en una dimensi´on espacial, mientras que en (b) se representa un barco en un plano como ejemplo de un sistema en un espacio bidimensional.
dimensional cuyos ejes coordenados sean x1, x2, . . . , xn. A este espacio se le conoce como espacio de estados o espacio de soluciones en el ´ambito de la optimizaci´on. An´alogamente el vector de observaciones z representa medidas que est´an relacionadas con el vector de estado a trav´es del modelo de medida. Usando las definiciones anteriores, el modelo de espacio de estados es un conjunto determinado por la definici´on de un modelo de medida y un modelo de sistema que, en su formulaci´on probabil´ıstica se puede expresar como:
1. modelo del sistema p(xt|xt−1), que describe la evoluci´on temporal del estado del
sistema
2. modelo de medida p(zt|xt), que cuantifica la relaci´on entre el estado del sistema y las medidas realizadas sobre ´el.
2.4.2.
El problema de la estimaci´
on secuencial
El problema de la estimaci´on secuencial consiste en el c´alculo recursivo, con un cierto grado de confianza, del estado xt del sistema en el instante t, utilizando para ello las observaciones z1 :t = {z1, . . . , zt}. Por tanto, se calcula usando el teorema de Bayes, la funci´on de densidad de probabilidad (en adelante pdf) p(xt|z1 :t), asumiendo que la pdf inicialp(x0|z0)≡p(x0) es conocida, ya que el vector de observaciones en el instante inicial
est´a vac´ıo. Lapdf a posteriori, p(xt|z1 :t), se calcula en dos etapas:
1. Predicci´on: dada lapdf en el instante t−1, la etapa de predicci´on utiliza el modelo del sistema para obtener de manera recursiva lapdf a priori en el siguiente instante de tiempo. Para ello se usa la ecuaci´on de Chapman-Kolmogorov:
p(xt|z1 :t−1) =
Z
2. Actualizaci´on: en el instantet, se dispone de una nueva medidazt que se utiliza en la actualizaci´on del estado del sistema a trav´es del teorema de Bayes:
p(xt|z1 :t) =
p(zt|xt)p(xt|z1:t−1) p(zt|z1 :t−1)
donde la constante normalizadora
p(zt|z1 :t−1) =
Z
p(zt|xt)p(xt|z1 :t−1)dxt
depende dep(zt|xt), que representa la funci´on de verosimilitud definida en el modelo de medida.
Estas ecuaciones recurrentes conforman la base de la soluci´on bayesiana ´optima. Esta propagaci´on recursiva de la densidad a posteriori es un resultado conceptual dado que, en general, no se puede determinar anal´ıticamente [122]. Por esta raz´on, existen en la literatura un n´umero significativo de trabajos que presentan modelos aproximados de estas funciones de distribuci´on, entre los que se encuentra el filtro de part´ıculas.
2.4.3.
M´
etodos aproximados
A continuaci´on se analizan las principales m´etodos que abordan la estimaci´on secuen-cial usando m´etodos aproximados y que son las bases sobre las cuales se desarrolla el filtro de part´ıculas.
Estimaci´on de Montecarlo
El algoritmo de Montecarlo se atribuye a Fermi [123], pero parece tener sus or´ıgenes en el c´alculo de los elementos de una matriz inversa desarrollados por von Neumann y colaboradores [124, 125]. La integraci´on de Montecarlo es la base de todos los algoritmos secuenciales de Montecarlo y por tanto base del filtro de part´ıculas. Sup´ongase que se desea calcular el valor num´erico de una integral multidimensional definida dada:
I = Z
q(x)dx (2.1)
2.4. ALGORITMOS DE ESTIMACI ´ON SECUENCIAL 35
I = Z
f(x)π(x)dx (2.2)
es la media muestreada:
IN = 1 N
N X
i=1
f(xi) (2.3)
Si las muestrasxi son independientes,I
N es un estimado no sesgado, de modo que por la ley de los grandes n´umeros converger´a a I. Si la varianza de f(x) es finita, el error de la estimaci´on converge en la distribuci´on:
l´ım N→∞
√
N(IN −I)∼ N(0, σ2) (2.4)
Este modo de proceder es v´alido para el c´alculo de cualquier momento de una funci´on de distribuci´on. En el contexto de la estimaci´on secuencial,π(x) es la densidada posteriori. En general, no es posible muestrear de forma efectiva la pdf a posteriori cuando no es gaussiana, tiene una alta dimensionalidad y no es lineal. Una posible aproximaci´on es el m´etodo de muestreo por importancia [126].
Muestreo secuencial por importancia
El muestreo secuencial por importancia (Sequential Importance Sampling, SIS), fue propuesto inicialmente por Marshal [127]. Su idea fundamental es enfocar la atenci´on del proceso de muestreo hacia regiones de “importancia”. Se busca con esto disminuir la cantidad de recursos que se usan en evaluar regiones del espacio que no contribuyen significativamente al resultado final. La idea de focalizar el an´alisis en regiones de impor-tancia es esencial para los m´etodos de Montecarlo cuando los modelos presentan una gran dimensionalidad [128].
La estrategia consiste en representar la funci´on de distribuci´ona posteriori utilizando un conjunto de muestras con pesos asociados y estimar la situaci´on del sistema bas´andose en estas muestras y pesos. Cuando el n´umero de muestras es suficiente, esta caracterizaci´on se convierte en una representaci´on equivalente a la descripci´on usual de lapdf a posteriori. En la Figura 2.18 se presenta la descripci´on algor´ıtmica del proceso.
Sup´ongase que se dispone de un conjunto de muestras {xi0:t, wti, i = 1, . . . , N} que caracteriza la pdf a posteriori p(x0:t|z1:t) donde {xit, i = 1, . . . , N} es un conjunto de muestras con pesos asociados {wi
Figura 2.18: Diagrama algor´ıtmico del muestreo secuencial por importancia. V´ease tam-bi´en el Anexo A.
p(x0:t|z1:t)≈ N X
i=1
wtiδ(x0:t−xi0:t) (2.5)
donde δ(·) es la funci´on delta de Dirac. De esta forma se obtiene una aproximaci´on discreta de la pdf a posteriori. Los pesos se obtienen usando el principio del muestreo por importancia. En cada iteraci´on se tienen muestras que son una aproximaci´on de p(x0:t−1|z1:t−1) y se busca aproximar p(x0:t|z1:t) con un nuevo conjunto de muestras. Si la densidad de importancia factoriza de la siguiente forma:
p(x0:t|z1:t) =g(xt|x0:t−1, z1:t)g(x0:t|z1:t−1) (2.6)
se pueden obtener muestras xi0:t∼g(x0:t|z1:t) propagando cada muestra existentex0:t−1 ∼ g(x0:t−1|z1:t−1) con el nuevo estado xti ∼g(xt|x0:t−1, z1:t).
La ecuaci´on de actualizaci´on de los pesos expresap(x0:t|z1:t) en funci´on dep(x0:t−1|z1:t−1), p(zt|xt) y p(xt xt−1). Utilizando la regla de Bayes, se obtiene:
p(x0:t|z1:t) =
p(zt|x0:t|z1:t−1)p(x0:t|z1:t−1) p(zt|z1:t−1) ∝
p(zt|xt)p(xt|xt−1)p(x0:t−1|z1:t−1) (2.7)
Se asume que el estado del sistema solo depende del ´ultimo estado conocido y de la ´
ultima observaci´on, es decir, g(xt|x0:t−1, z1:t) = g(xt|xt−1, zt). En este caso, es suficiente con almacenar xi
t−1 y descartar la trayectoria y el historial de observaciones. De esta
forma, el peso queda definido por:
wit∝wit−1p(zt|x i
t)p(xit|xit−1) g(xi
t|xit−1, zt)
2.4. ALGORITMOS DE ESTIMACI ´ON SECUENCIAL 37
y la densidad a posteriori se aproxima como:
p(xt|z1:t)≈ N X
i=1
wtiδ(xt−xit) (2.9)
Fen´omeno de la degeneraci´on
Para las funciones de importancia, tales como la representada en la ecuaci´on 2.6, se ha probado que la varianza de los pesos solo puede crecer en el tiempo [122, 120]. El incremento de la varianza reduce la precisi´on del m´etodo y conduce al fen´omeno conocido como fen´omeno de la degeneraci´on. Esto implica que, despu´es de un cierto tiempo, se es-pera que todas las muestras tengan pesos despreciables salvo una. Por tanto, la evaluaci´on de muestras que no afectan significativamente al resultado, consume buena parte de los recursos computacionales del sistema. Por otra parte, la representaci´on de la pdf a pos-teriori resulta pobre. Para evaluar la degeneraci´on se usa una medida llamada “tama˜no efectivo de la muestra” o “diagnostico de supervivencia” [5, 129].
N = PN 1
i=1(wit)2
(2.10)
donde wti son los pesos normalizados. La ecuaci´on intenta estimar el n´umero de muestras que contribuyen de forma significativa al c´alculo del estimado. Se cumple que 1≤ N ≤N, de forma que un valor reducido de N indica una degeneraci´on severa.
Filtro de part´ıculas
Los filtros de part´ıculas fueron propuestos originalmente por Gordon, Salmond y Smith en 1993 [5]. Adem´as de por este nombre, son conocidos tambi´en como m´etodo secuencial de Montecarlo [130], filtro autosuficiente [8], algoritmo de propagaci´on de la densidad condicional [131], supervivencia del m´as apto [132] o remuestreo secuencial por importan-cia (Sequential Importance Resampling, SIR) [133]. Dicho conjunto de algoritmos tiene por objetivo la estimaci´on de la densidad de probabilidada posteriori de un sistema que evoluciona en el tiempo de forma din´amica.
El filtro de part´ıculas utiliza el mismo marco de trabajo del muestreo secuencial por importancia incluyendo adem´as una etapa llamada remuestreo cuyo prop´osito es eliminar las part´ıculas con pesos menores para multiplicar aqu´ellas con pesos mayores. Como resul-tado del remuestreo, se parte de una poblaci´on{xi
t, wit} y se obtiene una nueva poblaci´on
proba-bilidad de elegir una part´ıcula en el remuestreo est´e directamente relacionada con el valor de su peso.
Una posible implementaci´on de la etapa de remuestreo consiste en la generaci´on de N variables independientes e id´enticamente distribuidas a partir de una distribuci´on uni-forme, y compararlas con las sumas acumuladas de los pesos normalizados. Este procedi-miento es conocido como m´etodo de la ruleta [134].
Descripci´on algor´ıtmica del filtro de part´ıculas
En este marco de trabajo, se puede describir el filtro de part´ıculas de forma algor´ıtmica tal como sigue:
1. Inicio: se generanN part´ıculas de forma aleatoria (o de acuerdo a unapdf conocida) en el espacio de estados considerado.
2. C´omputo de pesos o actualizaci´on: se define una funci´on de ponderaci´on, encargada de asignar pesos a las part´ıculas usando la observaci´on del instante actual zt y el estado del sistema xt, como se indica en la ecuaci´on 2.8. Adem´as, se estima la pdf a posteriori como se indica en la ecuaci´on 2.9.
3. Estimaci´on: a partir del conjunto de part´ıculas anterior se obtiene una estimaci´on del estado del sistema. Esto se puede hacer de diversas formas, por ejemplo, creando una nueva part´ıcula aplicando la media ponderada de los estados y pesos del conjunto de part´ıculas o tomando como estimado la part´ıcula con mayor peso del sistema.
4. Remuestreo: cuando se ha alcanzado un tama˜no efectivo de la muestra, Nef, dema-siado bajo se genera un nuevo conjunto de part´ıculas, tal y como se mostraba en la Figura 2.18.
5. Difusi´on: con el fin de mantener la variabilidad de la muestra, se aplica una variaci´on aleatoria al estado de las part´ıculas.
6. Predicci´on: si se tiene alg´un tipo de informaci´on sobre la evoluci´on temporal del sistema, se puede aplicar este conocimiento para que las part´ıculas aproximen m´as adecuadamente el estado del sistema en el siguiente instante.