modelos probabilísticos para el seguimiento de objetos en

129
Modelos Probabil´ ısticos para el Seguimiento de Objetos en V´ ıdeo: AlgoritmosyEvaluaci´on por Omar Guti´ errez Navarro Asesor: Dr. Salvador Ruiz Correa Trabajo de tesis presentado en cumplimiento parcial para obtener el grado de Maestr´ ıa en Ciencias de la Computaci´ on y Matem´ aticas Industriales por el Centro de Investigaci´ on en Matem´ aticas 25 de noviembre de 2010

Upload: others

Post on 23-Jul-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelos Probabilísticos para el Seguimiento de Objetos en

Modelos Probabilısticos para el

Seguimiento de Objetos en Vıdeo:

Algoritmos y Evaluacion

por

Omar Gutierrez Navarro

Asesor: Dr. Salvador Ruiz Correa

Trabajo de tesis presentado en cumplimiento parcial para

obtener el grado de Maestrıa en Ciencias de la Computacion

y Matematicas Industriales

por el

Centro de Investigacion en Matematicas

25 de noviembre de 2010

Page 2: Modelos Probabilísticos para el Seguimiento de Objetos en

“Statistics is the art of never having to say you are wrong. Variance is what any

two staticians are at.”

C. J. Bradfield

Page 3: Modelos Probabilísticos para el Seguimiento de Objetos en

Centro de Investigacion en Matematicas

ResumenComputacion

Centro de Investigacion en Matematicas

Maestria en Ciencias

por Omar Gutierrez Navarro

Motivados por el problema de seguimiento de objetos en video, el principal objetivo

de este trabajo de tesis es conocer las bases teoricas de los algoritmos en el estado

del arte. Dado que estos sistemas de vision computacional deben ser robustos a

diferentes variaciones en la apariencia del objeto, el problema suele ser atacado de

diversas maneras con diferentes definiciones del objeto a buscar ası como metodos

para buscarlo.

En esta tesis se hace un analisis de siete algoritmos de seguimiento de objetos por

video, y a traves de exhaustivas pruebas se busca comparar su rendimiento en

diferentes escenarios. En total se utilizaron 20 secuencias de video con estandar

de oro (ground-truth), en algunos casos este archivo de referencia fue construido.

La informacion de la posicion verdadera del objeto fue contrastada con la predi-

cha por los algoritmos, permitiendonos evaluar el seguimiento. Los resultados de

los experimentos fueron analizados buscando en que situaciones los algoritmos se

desempenan mejor ası como las razones del porque falla el seguimiento.

Se propone un nuevo algoritmo de seguimiento que combina el filtro de partıculas,

como metodo para inferir la posicion del objeto, con el promedio bayesiano que

nos permite aprovechar la inferencia sobre la forma que tendra el descriptor del

objeto.

Page 4: Modelos Probabilísticos para el Seguimiento de Objetos en

Agradecimientos

Este trabajo ha sido resultado de dos anos de mucho trabajo. Aun sigo abrumado

por la cantidad de cosas que conozco gracias a los maestros del CIMAT pero sobre

todo porque me ensenaron que no existe un limite, falta demasiado por aprender.

En especial quiero agradecer a mi asesor el Dr. Salvador Ruiz Correa primero por

toda la paciencia que tuvo para conmigo, ademas del apoyo y guıa sin el cual

difıcilmente estarıa terminada esta obra. Le aprendı lo poco que se de modelos

graficos, pero su influencia me la ha dejado muy en claro al grado de que se ha

convertido en la base del trabajo que voy a continuar.

No puedo dejar de agradecer a mi familia que me ha permitido seguir estudiando

libremente para alcanzar mis metas personales. Este trabajo ha sido fruto de su

incondicional apoyo. Finalmente quiero agradecer a Conacyt por la beca recibida

para realizar mis estudios de posgrado durante estos 2 anos.

iii

Page 5: Modelos Probabilísticos para el Seguimiento de Objetos en

Indice

Abstract II

Agradecimientos III

Lista de Figuras VI

Lista de Tablas IX

1. Introduccion 1

2. Modelos Graficos 7

2.1. Independencia Condicional en Grafos . . . . . . . . . . . . . . . . . 9

2.2. Inferencia en Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3. Sistemas Dinamicos Lineales 17

3.1. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2. Recursiones α . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.3. Recursiones del filtro de Kalman . . . . . . . . . . . . . . . . . . . . 21

4. Metodos de Muestreo y Filtro de Partıculas para Seguimiento deObjectos 26

4.1. Metodos de Muestreo Basicos . . . . . . . . . . . . . . . . . . . . . 26

4.2. Filtro de Partıculas . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5. Algoritmos de Seguimiento 37

5.1. Filtro de partıculas basado en Color . . . . . . . . . . . . . . . . . . 38

5.2. Filtro de Partıculas de Textura . . . . . . . . . . . . . . . . . . . . 42

5.3. Filtro de Partıculas de Movimiento . . . . . . . . . . . . . . . . . . 42

5.4. Algoritmo de Seguimiento Hıbrido . . . . . . . . . . . . . . . . . . 44

5.5. Camshift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.6. Seguimiento de Objetos Basado en Aprendizaje Bayesiano . . . . . 47

5.7. Filtro de Partıculas con Aprendizaje Bayesiano . . . . . . . . . . . 51

iv

Page 6: Modelos Probabilísticos para el Seguimiento de Objetos en

Contenido v

6. Experimentos y Resultados 54

6.1. Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.1.1. Secuencia de video “Ajedrez” . . . . . . . . . . . . . . . . . 56

6.1.2. Secuencia de video “Disco” . . . . . . . . . . . . . . . . . . 58

6.1.3. Secuencia de video “Girl 1” . . . . . . . . . . . . . . . . . . 59

6.1.4. Secuencia de video “Girl2” . . . . . . . . . . . . . . . . . . 61

6.1.5. Secuencia de video “Girl3” . . . . . . . . . . . . . . . . . . 62

6.1.6. Secuencia de video “Motinas Emilio” . . . . . . . . . . . . . 63

6.1.7. Secuencia de video “Motinas Multi-Face” . . . . . . . . . . 65

6.1.8. Secuencia de video “Motinas Toni” . . . . . . . . . . . . . . 66

6.1.9. Secuencia de video “Pelea” . . . . . . . . . . . . . . . . . . 68

6.1.10. Secuencia de video “Floor” . . . . . . . . . . . . . . . . . . 69

6.1.11. Secuencia de video “Shop” . . . . . . . . . . . . . . . . . . 71

6.1.12. Secuencia de video “Chair” . . . . . . . . . . . . . . . . . . 73

6.1.13. Secuencia de video “Camaleon” . . . . . . . . . . . . . . . . 74

6.1.14. Secuencia de video “Carrera” . . . . . . . . . . . . . . . . . 76

6.1.15. Secuencia de video “Ladron” . . . . . . . . . . . . . . . . . 78

6.1.16. Secuencia de video “Hide” . . . . . . . . . . . . . . . . . . . 79

6.1.17. Secuencia de video “Box” . . . . . . . . . . . . . . . . . . . 81

6.1.18. Secuencia de video “Smoke” . . . . . . . . . . . . . . . . . . 82

6.1.19. Secuencia de video “Smoke Car” . . . . . . . . . . . . . . . 84

6.1.20. Secuencia de video “Street” . . . . . . . . . . . . . . . . . . 85

6.1.21. Experimentos FPBL . . . . . . . . . . . . . . . . . . . . . . 88

6.2. Discusion de los Resultados . . . . . . . . . . . . . . . . . . . . . . 92

6.3. Desempeno de los Algoritmos . . . . . . . . . . . . . . . . . . . . . 99

7. Conclusiones 102

A. Modelos Graficos 105

A.1. Propiedades Basicas de los Modelos Graficos . . . . . . . . . . . . . 105

A.2. Campos Aleatorios de Markov . . . . . . . . . . . . . . . . . . . . . 106

A.3. Modelos de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

A.3.1. Hidden Markov Models . . . . . . . . . . . . . . . . . . . . . 109

B. Propiedades de Independencia Condicional para HMM 112

Bibliografıa 114

Page 7: Modelos Probabilísticos para el Seguimiento de Objetos en

Indice de figuras

1.1. Ejemplo del seguimiento de objetos. Se muestran algunos cuadrosde una secuencia donde se hace el seguimiento de una mano. Laposicion predicha por el algoritmo de seguimiento esta acotada poruna elipse verde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Imagen representativa de un escenario para el seguimiento de objetos. 2

1.3. Resumen conceptual del procedimiento hecho en este trabajo de tesis. 5

2.1. Un modelo grafico que representa la descomposicion 2.1 . . . . . . . 8

2.2. Ejemplos de las configuraciones posibles del camino entre 2 conjun-tos de nodos a traves de un nodo C. a) head-to-tail, b) tail-to-taily c) head-to-head . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3. Ejemplo del concepto de separacion-D. Los nodos sombreados perte-necen al conjunto observado. a) El camino del nodo a hacia el nodob no esta bloqueado. b) En este caso el camino sı esta bloqueado ypor lo tanto se cumple a ⊥⊥ b | f . . . . . . . . . . . . . . . . . . . . 11

2.4. El teorema de Bayes ejemplificado con Grafos . . . . . . . . . . . . 12

2.5. Un grafo no-dirigido para ejemplificar la inferencia sobre una cadena 12

2.6. Ilustracion del paso de mensajes en una cadena . . . . . . . . . . . 15

3.1. Modelo Grafico del Filtro de Kalman y que tambien corresponde alHMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2. Ejemplo de Filtro de Kalman utilizado para mejorar el desempenodel algoritmo de seguimiento MeanShift . . . . . . . . . . . . . . . . 24

4.1. Si una variable aleatoria uniformemente distribuida z es transfor-mada usando y = h−1(z), donde h esta definida de acuerdo a laecuacion (4.3(, entonces y tendra la distribucion p(y). En la imagense muestran las ecuaciones necesarias para este muestreo en el casode ser p(y) una distribucion exponencial . . . . . . . . . . . . . . . 29

5.1. El vector A corresponde al borde de magnitud S y orientacion θcalculado en cierto pıxel. Su contribucion a cada bin, en este casoa Θ2 y Θ3 se calcula por medio de interpolacion bilineal. . . . . . . 43

6.1. Algunos cuadros de la secuencia “Ajedrez” . . . . . . . . . . . . . . 56

6.2. Errores de seguimiento en la secuencia “Ajedrez” . . . . . . . . . . 57

6.3. Errores de traslape en la secuencia “Ajedrez” . . . . . . . . . . . . . 57

6.4. Algunos cuadros de la secuencia “Disco” . . . . . . . . . . . . . . . 58

vi

Page 8: Modelos Probabilísticos para el Seguimiento de Objetos en

Indice de Figuras vii

6.5. Errores de seguimiento en la secuencia “Disco” . . . . . . . . . . . . 58

6.6. Errores de traslape en la secuencia “Disco” . . . . . . . . . . . . . . 59

6.7. Algunos cuadros de la secuencia “Girl1” . . . . . . . . . . . . . . . 60

6.8. Errores de seguimiento en la secuencia “Girl1” . . . . . . . . . . . . 60

6.9. Errores de traslape en la secuencia “Girl1” . . . . . . . . . . . . . . 60

6.10. Algunos cuadros de la secuencia “Girl2” . . . . . . . . . . . . . . . 61

6.11. Errores de seguimiento en la secuencia “Girl2” . . . . . . . . . . . . 62

6.12. Errores de traslape en la secuencia “Girl2” . . . . . . . . . . . . . . 62

6.13. Algunos cuadros de la secuencia “Girl3” . . . . . . . . . . . . . . . 63

6.14. Errores de seguimiento en la secuencia “Girl3” . . . . . . . . . . . . 63

6.15. Errores de traslape en la secuencia “Girl3” . . . . . . . . . . . . . . 64

6.16. Algunos cuadros de la secuencia “Motinas Emilio” . . . . . . . . . . 64

6.17. Errores de seguimiento en la secuencia “Motinas Emilio” . . . . . . 65

6.18. Errores de traslape en la secuencia “Motinas Emilio” . . . . . . . . 65

6.19. Algunos cuadros de la secuencia “Motinas Multi-Face” . . . . . . . 66

6.20. Errores de seguimiento en la secuencia “Motinas Multi-face” . . . . 66

6.21. Errores de traslape en la secuencia “Motinas Multi-Face” . . . . . . 67

6.22. Algunos cuadros de la secuencia “Motinas Toni” . . . . . . . . . . . 67

6.23. Errores de seguimiento en la secuencia “Motinas Toni” . . . . . . . 68

6.24. Errores de traslape en la secuencia “Motinas Toni” . . . . . . . . . 68

6.25. Algunos cuadros de la secuencia “Pelea” . . . . . . . . . . . . . . . 69

6.26. Errores de seguimiento en la secuencia “Pelea” . . . . . . . . . . . . 69

6.27. Errores de traslape en la secuencia “Pelea” . . . . . . . . . . . . . . 70

6.28. Algunos cuadros de la secuencia “Floor” . . . . . . . . . . . . . . . 70

6.29. Errores de seguimiento en la secuencia “Floor” . . . . . . . . . . . . 71

6.30. Errores de traslape en la secuencia “Floor” . . . . . . . . . . . . . . 71

6.31. Algunos cuadros de la secuencia “Shop” . . . . . . . . . . . . . . . 72

6.32. Errores de seguimiento en la secuencia “Shop” . . . . . . . . . . . . 72

6.33. Errores de traslape en la secuencia “Shop” . . . . . . . . . . . . . . 72

6.34. Algunos cuadros de la secuencia “Chair” . . . . . . . . . . . . . . . 73

6.35. Errores de seguimiento en la secuencia “Chair” . . . . . . . . . . . . 74

6.36. Errores de traslape en la secuencia “Chair” . . . . . . . . . . . . . . 74

6.37. Algunos cuadros de la secuencia “Camaleon” . . . . . . . . . . . . . 75

6.38. Errores de seguimiento en la secuencia “Camaleon” . . . . . . . . . 75

6.39. Errores de traslape en la secuencia “Camaleon” . . . . . . . . . . . 75

6.40. Algunos cuadros de la secuencia “Carrera” . . . . . . . . . . . . . . 76

6.41. Errores de seguimiento en la secuencia “Carrera” . . . . . . . . . . 77

6.42. Errores de traslape en la secuencia “Carrera” . . . . . . . . . . . . . 77

6.43. Algunos cuadros de la secuencia “Ladron” . . . . . . . . . . . . . . 78

6.44. Errores de seguimiento en la secuencia “Ladron” . . . . . . . . . . . 78

6.45. Errores de traslape en la secuencia “Ladron” . . . . . . . . . . . . . 79

6.46. Algunos cuadros de la secuencia “Hide” . . . . . . . . . . . . . . . . 79

6.47. Errores de seguimiento en la secuencia “Hide” . . . . . . . . . . . . 80

6.48. Errores de traslape en la secuencia “Hide” . . . . . . . . . . . . . . 80

Page 9: Modelos Probabilísticos para el Seguimiento de Objetos en

Indice de Figuras viii

6.49. Algunos cuadros de la secuencia “Box” . . . . . . . . . . . . . . . . 81

6.50. Errores de seguimiento en la secuencia “Box” . . . . . . . . . . . . 82

6.51. Errores de traslape en la secuencia “Box” . . . . . . . . . . . . . . . 82

6.52. Algunos cuadros de la secuencia “Smoke” . . . . . . . . . . . . . . . 83

6.53. Errores de seguimiento en la secuencia “Smoke” . . . . . . . . . . . 83

6.54. Errores de traslape en la secuencia “Smoke” . . . . . . . . . . . . . 83

6.55. Algunos cuadros de la secuencia “Smoke Car” . . . . . . . . . . . . 84

6.56. Errores de seguimiento en la secuencia “Smoke Car” . . . . . . . . . 85

6.57. Errores de traslape en la secuencia “Smoke Car” . . . . . . . . . . . 85

6.58. Algunos cuadros de la secuencia “Street” . . . . . . . . . . . . . . . 86

6.59. Errores de seguimiento en la secuencia “street” . . . . . . . . . . . . 86

6.60. Errores de traslape en la secuencia “Street” . . . . . . . . . . . . . 86

6.61. Errores de seguimiento en la secuencia “Girl1” . . . . . . . . . . . . 88

6.62. Errores de traslape en la secuencia “Girl1” . . . . . . . . . . . . . . 89

6.63. Errores de seguimiento en la secuencia “Motinas Toni” . . . . . . . 90

6.64. Errores de traslape en la secuencia “Motinas Toni” . . . . . . . . . 90

6.65. Errores de seguimiento en la secuencia “Hide” . . . . . . . . . . . . 91

6.66. Errores de traslape en la secuencia “Hide” . . . . . . . . . . . . . . 91

6.67. Algunos cuadros de la secuencia “Hide” mientras se evalua el desem-peno del algoritmo FPC. El ovalo azul indica la prediccion del al-goritmo y el circulo rojo su centro. Los cırculos verdes representanel centro de la posicion de las partıculas. . . . . . . . . . . . . . . . 93

6.68. Desempeno del algoritmo Camshift en la secuencia de video “Girl1”.A) Imagen en escala de grises del objetivo a seguir, El valor de cadapixel depende de la intensidad Hue correspondiente. B) De la mismamanera se aprecian algunos cuadros de la secuencia, su valor huey sus colores reales indicando con una elipse amarilla la predicciondel algoritmo, en verde la verdadera posicion del objetivo segun elarchivo estandar de oro correspondiente. . . . . . . . . . . . . . . . 96

6.69. Experimento con la diferencia entre Vector Promedio y Objetivo . . 98

6.70. Experimento con la diferencia entre Vector Promedio y Objetivo . . 99

A.1. a) Ejemplo sencillo de un grafo dirigido. b) ejemplo de un grafo nodirigido. Los Nodos V se muestran en verde y sus vertices E en azul. 106

A.2. Ejemplo de independencia condicional en un grafo no dirigido. Cual-quier camino de un nodo en F hacia G pasa a traves de un nodo enH , por lo tanto se cumple la propiedad de independencia condicio-nal F ⊥⊥ G | H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

A.3. Cadena de Markov de primer orden. . . . . . . . . . . . . . . . . . . 109

A.4. Modelo grafico dirigido de un Modelo escondido de Markov. . . . . 110

Page 10: Modelos Probabilísticos para el Seguimiento de Objetos en

Indice de cuadros

4.1. Filtro de partıculas SIR generico . . . . . . . . . . . . . . . . . . . . 35

6.1. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Ajedrez” . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.2. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Disco” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6.3. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Girl 1” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6.4. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Girl 2” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6.5. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Girl 3” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.6. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Motinas Emilio” . . . . . . . . . . . . . . . . . . . . . . 64

6.7. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Motinas Multi-Face” . . . . . . . . . . . . . . . . . . . . 66

6.8. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Motinas Toni” . . . . . . . . . . . . . . . . . . . . . . . 67

6.9. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Pelea” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

6.10. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Floor” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.11. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Shop” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6.12. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Chair” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

6.13. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “‘Camaleon” . . . . . . . . . . . . . . . . . . . . . . . . . 74

6.14. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Carrera” . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

6.15. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Ladron” . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6.16. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Hide” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.17. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Box” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

ix

Page 11: Modelos Probabilísticos para el Seguimiento de Objetos en

Indice de Tablas x

6.18. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Smoke” . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.19. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Smoke Car” . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.20. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Street” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.21. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Girl1” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

6.22. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Motinas Toni” . . . . . . . . . . . . . . . . . . . . . . . 90

6.23. Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Hide” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

6.24. Promedio de los cuadros por segundo obtenido por los algoritmosde seguimiento en la secuencia “Carrera” . . . . . . . . . . . . . . . 100

Page 12: Modelos Probabilísticos para el Seguimiento de Objetos en

Dedicado a Ana Lucia, Mariana Aylin y Victor Manuel.

xi

Page 13: Modelos Probabilísticos para el Seguimiento de Objetos en

Capıtulo 1

Introduccion

El seguimiento de objetos es el proceso de localizar un objeto en movimiento a

traves del tiempo utilizando una camara de vıdeo. En cada cuadro de la secuencia

de video el objetivo es predecir la posicion del objeto (Figura 1.1).

Figura 1.1: Ejemplo del seguimiento de objetos. Se muestran algunos cuadrosde una secuencia donde se hace el seguimiento de una mano. La posicion predicha

por el algoritmo de seguimiento esta acotada por una elipse verde.

El objetivo es ubicar al objecto de la manera mas exacta posible a pesar de varios

factores en contra como pueden ser la mala iluminacion y que el objeto este parcial

o totalmente ocluido durante varios cuadros de la secuencia de video. Otras situa-

ciones que pueden afectar el seguimiento de un objeto pueden ser que este presente

movimientos rapidos y repentinos en cuadros consecutivos del video ası como el

poder identificarlo y localizarlo entre varios objetos similares. Un ejemplo comun

en aplicaciones de vision computacional es el de encontrar y localizar el rostro de

una persona en particular dentro de una multitud.

1

Page 14: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 1. Introduccion 2

Algoritmos de seguimiento de vıdeo han sido desarrollados en las ultimas dos deca-

das. Sin embargo, la complejidad del problema es tal, que los algoritmos propuestos

distan de ser robustos en condiciones normales.

Las camaras de vıdeo proporcionan informacion sobre el entorno a traves de un

arreglo de pıxeles, numeros que pueden representar intensidades de colores como

en el caso de la paleta RGB, que representan la cantidad, color de luz y demas fac-

tores presentes en determinado tiempo. Esta informacion puede ser util siempre y

cuando sea posible definir a un objeto en una escena. Sin una descripcion adecuada

y precisa del objeto a seguir no es posible buscarlo utilizando una computadora.

Este es precisamente uno de los problemas fundamentales en el seguimiento de

video, el de definir cuantitativamente como es el objeto a seguir. No existe una

definicion unica para cada objeto lo cual nos puede conducir al error y general-

mente los objetivos son descritos en base a alguna caracterıstica particular como

podran ser el color, textura, contorno entre otras. Por ejemplo veamos la figura 1.2.

Figura 1.2: Imagen representativa de un escenario para el seguimiento deobjetos.

Si nuestra meta fuera hacer el seguimiento de la pelota, una caracterıstica que nos

permite identificarla puede ser el color, tan solo haciendo una busqueda por pıxeles

de color naranja y promediando sus posiciones podrıamos ubicarla en la imagen.

Otras aproximaciones podrıan ser buscarla por su forma, su contorno circular es

distinguible en este escenario y puede localizarse buscando en que posicion de su

imagen de bordes se adapta mejor un elipsoide.

Nuestra definicion del objeto parece ser exitosa en este caso pero ahora suponga-

mos que buscamos localizar al gato en la imagen. La busqueda por color podrıa no

ser tan exacta si notamos que el suelo presenta un tono parecido, nuestro descriptor

debe tener una buena resolucion para poder distinguir entre las dos tonalidades lo

Page 15: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 1. Introduccion 3

cual implicarıa un costo extra en memoria. Otra opcion seria el definir su contorno

en base a un elipsoide pero este tambien podrıa ajustarse a otros objetos indu-

ciendo al error. Nuestro problema se agravarıa aun mas si entran objetos nuevos

a la escena que oculten a nuestro objetivo, o incluso otro gato con caracterısticas

similares.

El problema ya no es tan sencillo de resolver pues ahora nuestra definicion de obje-

to no excluye al objeto de manera univoca del resto del escenario. Esto representa

nuestra primer problematica en el seguimiento de objetos, buscar una definicion

del objeto que nos permita distinguirlo del resto de la escena.

Las imagenes nos pueden presentar escenarios muy complejos, llenos de detalles e

incluso con movimientos erraticos en el caso de una secuencia de video.

Es necesario recurrir a metodos mas eficientes para hacer la busqueda y uno de

los objetivos en este trabajo de tesis es analizar las bases de los algoritmos de

seguimiento en el estado del arte. Existen muchos algoritmos con diferentes pro-

puestas y acercamientos al problema, los hay que hacen la busqueda utilizando un

solo rasgo para caracterizar al objeto ası como aquellos que lo hacen con varias

caracterısticas simultaneamente.

Para este trabajo nos enfocamos en algoritmos en el estado del arte basados en

metodos probabilısticos, que buscan a un solo objetivo y utilizan un solo rasgo

para describirlo, especialmente en variaciones del filtro de partıculas [1] como son

los basados en rasgos de color [2], textura [3], movimiento [4] y el filtro hıbrido de

[5]. Tambien se trabajaron con otras alternativas bien conocidas como CamShift

[6] el cual esta basado en un metodo de optimizacion y otro algoritmo con un muy

buen desempeno basado en aprendizaje Bayesiano [7].

Para conocer los detalles de estos algoritmos, ası como las bases de aquellos en el

estado del arte, se hace una breve revision de la teorıa que los sustenta.

Los Modelos Graficos, ver Apendice A, han probado ser una herramienta poderosa

para el desarrollo de modelos estadısticos en problemas de vision computacional.

Estos modelos nos permiten evidenciar y aprovechar relaciones de independencia

condicional entre variables aleatorias. Si modelamos el problema de seguimiento

como un Sistema Dinamico Lineal, asumiendo que el error sobre el movimiento

sigue una distribucion Gaussiana, podemos resolverlo eficientemente con un al-

goritmo de paso de mensajes, mejor conocido en la literatura como el filtro de

Kalman. Un metodo mas general, no sujeto a restricciones Gaussianas y eficiente

computacionalmente puede ser logrado utilizando metodos de muestreo que nos

permitiran hacer inferencia aproximada cuando la exacta sea intratable. Es el filtro

Page 16: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 1. Introduccion 4

de partıculas una aplicacion directa de estos metodos y veremos su efectividad en

el problema de seguimiento.

La aportacion de este trabajo de tesis consiste en una evaluacion detallada de los

algoritmos de seguimiento mencionados previamente, el filtro de partıculas con los

rasgos de color, textura y movimiento, ası como el filtro hıbrido, camshift y el al-

goritmo basado en aprendizaje bayesiano. Pretende conocer no solo su desempeno

sino tambien las causas que influyen en sus errores particularmente el descriptor

que utilizan para modelar al objetivo ası como su metodo de busqueda. El desem-

peno de los algoritmos de seguimiento puede ser difıcil de comparar principalmente

por dos razones, complejidad de los datos y complejidad del sistema.

Primero se necesita una base de videos de referencia que cuenten con un estandar

de oro o ”ground-truth”. El estandar de oro se refiere a un archivo con la posi-

cion verdadera de los objetos a seguir en cada imagen del video. Esta solucion

sera utilizada para evaluar la calidad de los algoritmos de seguimiento. Existen

varias bases de video con estandar de oro disponibles, en este trabajo se utilizaron

algunos videos obtenidos de [8],[9] y [10]. Tambien se trabajo con varios videos

disponibles en linea, que ejemplifican situaciones no provistas en los demas videos

pero cuentan con la desventaja de no tener estandar de oro disponible, por lo cual

estos fueron construidos localizando los objetos de interes cuadro por cuadro.

Los algoritmos de seguimiento son sistemas complejos que pueden estar compues-

tos por modelos de apariencia, algoritmos de optimizacion, restricciones espacio-

temporales, etc. Generalmente se ignora la composicion interna de los algoritmos

de seguimiento, considerandolos cajas negras, y se evalua su resultado al dar como

entrada solo un video y datos del objeto a seguir.

Los algoritmos fueron ejecutados en 20 secuencias de video, en el caso de los al-

goritmos con elementos aleatorios se realizaron 100 simulaciones y sus resultados

promediados.

En cada simulacion se evaluaron diversas metricas, recopiladas en [11], que utili-

zan la informacion del estandar de oro para evaluar los algoritmos. Ninguna de

las metricas es concluyente por si sola, pues unas nos indican que tan cerca estuvo

la prediccion de la posicion verdadera, otra su efectividad a lo largo del video o

que tan invariantes resultan a los cambios de dimension presentes en los videos

ası como la ventaja de conocer el instante en que se pierde al objetivo.

Los resultados de los experimentos son presentados con detalle y a partir de ellos

se analizan las ventajas y debilidades de las diferentes propuestas.

Este trabajo nos permite comprender el surgimiento de metodos de seguimiento en

Page 17: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 1. Introduccion 5

el estado del arte, a partir del analisis de los algoritmos evaluados, especialmente

de aquellos basados en el seguimiento de multiples caracterısticas y en metodos de

inferencia no-parametricos basados en paso recursivos de mensajes sobre modelos

graficos, los cuales seran motivo de trabajo futuro. Las ideas principales por las

cuales se guio este trabajo de tesis se muestran en el siguiente diagrama.

La tesis esta organizada como sigue: comenzaremos con el estudio de la teorıa

Figura 1.3: Resumen conceptual del procedimiento hecho en este trabajo detesis.

en el Capitulo 2 viendo como modelar problemas que evolucionan con el tiempo

en el Capitulo 2 hablando sobre Sistemas Dinamicos Lineales y su aplicacion al

problema de seguimiento en el filtro de Kalman. Continuaremos con los Metodos

de muestreo en el Capitulo 3 donde tambien se muestra su aplicacion para la de-

duccion del Filtro de Partıculas. En el Capitulo 4 se examinan los algoritmos a

Page 18: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 1. Introduccion 6

evaluar. La metodologıa de la experimentacion, los resultados obtenidos y la dis-

cusion de estos son el objeto del capitulo 5. Finalmente se daran las conclusiones

y se planteara el trabajo futuro en el Capitulo 6.

Page 19: Modelos Probabilísticos para el Seguimiento de Objetos en

Capıtulo 2

Modelos Graficos

Una forma de plantear el problema de movimiento es en funcion de variables

aleatorias que representen tanto las estimaciones ruidosas ası como las posiciones

verdaderas del objeto a seguir. Los modelos graficos probabilısticos proveen un

marco flexible para atacar problemas utilizando variables aleatorias, lo cual nos

es util en el problema de seguimiento. Para esto utilizan la que es quiza su ca-

racterıstica mas notable, el descomponer familias de distribuciones conjuntas en

una serie de interacciones locales entre un pequeno grupo de variables aleatorias,

llamados pasos de mensajes. Como veremos mas adelante, por medio del ejemplo

del filtro de Kalman 3 , esto nos permite desarrollar algoritmos de inferencia que

implican un gran ahorro en costo computacional.

Los modelos graficos tienen aplicacion en diferentes campos del conocimiento como

son procesamiento de imagenes, inteligencia artificial, procesamiento de voz, fısica

estadıstica y por supuesto vision computacional. Entre sus principales propiedades

se encuentran:

Simplifican visualmente la estructura de un modelo probabilıstico, ademas

pueden ser usados para disenar y motivar nuevos modelos.

Permiten observar relaciones de independencia condicional entre familias de

distribuciones con tan solo inspeccionar el grafo visualmente.

Los calculos complejos que se necesitan para realizar inferencia y aprendizaje

a partir de modelos probabilısticos pueden ser expresados en terminos de ma-

nipulaciones graficas, en las cuales las relaciones matematicas son cumplidas

implıcitamente y reducen la dimension del sistema.

7

Page 20: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 2. Modelos Graficos 8

La teorıa sobre modelos graficos es bastante extensa [12], [13] algunas nociones

basicas pueden ser consultadas en el Apendice A.

Veamos un sencillo ejemplo de como usar un modelo grafico dirigido para repre-

sentar distribuciones de probabilidad.

Considere una distribucion conjunta arbitraria p (A,B,C) sobre tres variables A,

B y C. Estas variables representan familias de distribuciones, lo cual es otra gran

ventaja de los modelos graficos pues nos permiten distinguir relaciones de inde-

pendencia para una gran cantidad de distribuciones.

Aplicando la regla del producto de la probabilidad tenemos

p (A,B,C) = p (C | A,B) p (A,B)

p (A,B,C) = p (C | A,B) p (B | A) p (A) (2.1)

Para representar graficamente esta relacion utilizamos primeramente un nodo por

cada variable A, B, C, y asociamos cada nodo con la distribucion condicional

correspondiente de acuerdo a 2.1. Los vertices deben salir de las variables condi-

cionales hacia las cuales la distribucion esta condicionada, es decir, las variables

condicionales seran los padres.

En el caso del primer termino de 2.1 p (C | A,B) esto corresponderıa a un grafo

donde los nodos A y B son padres de C, ver figura 2.1. De acuerdo al termino

p (B | A) un vertice se dirigira de A hacia B, mientras que el termino p (A) nos

dice que el nodo A no recibe ningun vertice, es decir no tiene padres. De mane-

Figura 2.1: Un modelo grafico que representa la descomposicion 2.1

ra formal, la distribucion conjunta definida por un grafo dirigido esta dada por el

producto, sobre todos los nodos del grafo, de todas las distribuciones condicionales

para cada nodo condicionado sobre las variables padre de dicho nodo. De manera

Page 21: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 2. Modelos Graficos 9

que para un grafo con N nodos, la distribucion conjunta esta dada por

p(x) =

N∏

n=1

p(xn | pan) (2.2)

donde pan se refiere a los padres del nodo xn.

En el caso de los grafos no-dirigidos, las dependencias cuantitativas entre variables

conectadas por medio de vertices son representadas por funciones no negativas

conocidas como funciones potenciales ψ. La distribucion conjunta se escribe como

un producto de estas funciones potenciales sobre los cliques maximales [13] del

grafo1

Z

C

ψC(xC) (2.3)

donde Z es una constante de normalizacion dada por Z =∑

x

∏c ψC(xC) tal que

satisfacen ψC(xC) ≥ 0.

Las funciones potenciales pueden ser interpretadas como dependencias locales o

restricciones. Sin embargo, generalmente ψf(xf ) no corresponde a la distribucion

marginal pf (xf ) debido a las interacciones con otros potenciales del grafo.

2.1. Independencia Condicional en Grafos

Una de las ventajas de los modelos graficos es que nos permiten conocer propieda-

des de independencia condicional tan solo inspeccionando visualmente un grafo.

Esto se puede hacer a traves de la separacion-d ( d-separation donde la letra d

esta en representacion de directed).

Separacion-D

Estas son algunas propiedades generales de la separacion-d para el caso de grafos

dirigidos [12] [13]. Considere un grafo dirigido en el cual A, B y C son conjuntos de

nodos arbitrarios que no tienen interseccion y la union de estos conjuntos no tiene

que ser necesariamente igual al universo. Ademas a, b y c representan a cualquier

nodo que se parte de los conjuntos A, B y C respectivamente Pretendemos saber si

existe una independencia condicional especifica, por ejemplo a ⊥⊥ b | c, es decir lavariable representada por el nodo a es independiente de b dado c, que sea evidente

Page 22: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 2. Modelos Graficos 10

a)

b)

c)

Figura 2.2: Ejemplos de las configuraciones posibles del camino entre 2 con-juntos de nodos a traves de un nodo C. a) head-to-tail, b) tail-to-tail y c)

head-to-head

en el grafo.

Para ello, primero buscamos todos los caminos posibles desde cualquier nodo en

el conjunto A hacia cualquier nodo en B.

Se dice que un camino esta bloqueado si incluye un nodo tal que

Las flechas del camino se conectan en algun nodo perteneciente a C de

manera head-to-tail o tail-to-tail.

Las flechas se conectan de manera head-to-head en algun nodo, y ni dicho

nodo ni alguno de sus descendientes se encuentra en el conjunto C.

Las configuraciones head-to-tail, tail-to-tail y head-to-head se pueden apreciar en

la figura 2.2. Si todos los caminos posibles entre A y B estan bloqueados, se dice

que A esta d-separado de B por C, y la distribucion conjunta sobre todas las va-

riables en el grafo satisface a ⊥⊥ b | c.Para entender mejor el concepto, veamos los ejemplos de la figura 2.3 donde se

muestra un grafo con 5 nodos a, b, c, d y f .

En los dos ejemplos de la imagen 2.3 se trata de determinar si es cierta la relacion

a ⊥⊥ b dado el conjunto condicionante c. En el caso del grafo a), el camino de a a

b implica pasar por c y este nodo tiene una conexion head-to-head sin embargo su

descendiente d se encuentra en el conjunto condicionante, por lo cual c no bloquea

el camino hacia F . Este ultimo tampoco bloquea la ruta hacia B por ser atrave-

sado por un camino head-to-tail sin ser parte del conjunto condicionante. De tal

forma que a ⊥⊥ b|d no se puede afirmar a partir de este grafo.

Page 23: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 2. Modelos Graficos 11

a)

b)

Figura 2.3: Ejemplo del concepto de separacion-D. Los nodos sombreadospertenecen al conjunto observado. a) El camino del nodo a hacia el nodo b noesta bloqueado. b) En este caso el camino sı esta bloqueado y por lo tanto se

cumple a ⊥⊥ b | f

Veamos ahora el ejemplo b) de la figura 2.3. los dos nodos intermedios c y f blo-

quean nuestro camino hacia b. c bloquea el camino pues ni el ni su nodo descen-

diente d pertenecen al conjunto condicionante. f bloquea el camino pues cumple la

primera condicion de bloqueo vista anteriormente. Es en este grafo donde podemos

asegurar que a ⊥⊥ b|f se cumple.

2.2. Inferencia en Grafos

Se puede hacer hacer uso de algoritmos que aprovechan la estructura topologica

del grafo para realizar inferencia, mas especıficamente las propiedades de indepen-

dencia condicional deducidas a partir de la separacion-D. Ademas esta inferencia

puede ser tanto exacta como aproximada y se basan en la propagacion de mensajes

locales entre los nodos del grafo [13]. A continuacion ilustraremos el ejemplo mas

sencillo, consiste en la interpretacion grafica del teorema de Bayes utilizando tan

solo dos variables.

Suponga que descomponemos la distribucion conjunta en el producto de factores

p(x, y) = p(x)p(y | x) ver Figura 2.4 a). Si en algun momento observamos el

valor de y , Figura 2.4 b), podrıamos ver la distribucion marginal p(x) como

la distribucion a priori sobre la variable latente x, nuestro objetivo es inferir la

distribucion posterior p(x | y) . Utilizando las reglas de suma y producto de la

Page 24: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 2. Modelos Graficos 12

a)

b)

c)

Figura 2.4: El teorema de Bayes ejemplificado con Grafos

probabilidad podemos evaluar

p(y) =∑

x′

p(y | x′)p(x′) (2.4)

con lo cual podemos usar en el Teorema de Bayes

p(x | y) = p(y | x)p(x)p(y)

(2.5)

p(x | y)p(y) = p(y | x)p(x) (2.6)

p(x | y)p(y) = p(x, y) (2.7)

Se ha expresado la distribucion conjunta en terminos de p(x | y) y p(y). Desde una

perspectiva grafica, ahora la distribucion conjunta esta representada por la Figura

2.4 c).

Figura 2.5: Un grafo no-dirigido para ejemplificar la inferencia sobre una ca-dena

Consideremos ahora un problema mas difıcil basandonos en el grafo de la Figura

2.5. La distribucion de probabilidad conjunta para este grafo tiene la forma.

p(x) =1

Zψ1,2(x1, x2)ψ2,3(x2, x3) · · ·ψN−1,N(xN−1, xN ) (2.8)

Nuestro problema consistira en encontrar la distribucion marginal p(xn) para un

valor de n situado en alguna lugar alejado de los extremos de la cadena.

Los N nodos representan variables discretas, cada una teniendo K estados, de

Page 25: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 2. Modelos Graficos 13

manera que la funcion de potencial ψn−1,n(xn−1, xn) es una tabla de KxK ele-

mentos y la distribucion conjunta tiene (N − 1)K2 parametros. Pretender obtener

la distribucion marginal p(xn) de manera directa implicarıa sumar la distribucion

conjunta sobre todas las variables excepto xn

p(xn) =∑

x1

· · ·∑

xn−1

xn+1

· · ·∑

xN

p(x) (2.9)

Para realizar esta operacion, primero tendrıamos que evaluar la distribucion con-

junta completa y ademas realizar las sumatorias explıcitamente. Dado que hay N

variables con K estados, habrıa KN valores para x. Dependiendo de la cantidad de

variables y estados, que de hecho es muy comun encontrar problemas donde estos

son grandes, se convierte en todo un problema almacenar tanta informacion de la

distribucion conjunta ası como el costo computacional de evaluarlo pues estos se

elevan exponencialmente dependiendo del valor de N .

Es aquı donde aparecen las ventajas de los modelos graficos, pues podemos obtener

un algoritmo mucho mas eficiente para calcular la marginal si aprovechamos las

propiedades de independencia condicional del modelo grafico.

Veamos la expresion completa para un grafo de cadena dirigido, ver Figura 2.5.

p(xn) =1

Z

x1

· · ·∑

xn−1

xn+1

· · ·∑

xN

ψ1,2(x1, x2) · · ·ψN−1,N(xN−1, xN) (2.10)

Veamos como es posible re-ordenar las sumatorias y productos en la expresion

2.10 para evaluarla mas eficientemente. Por ejemplo tomemos el caso de la su-

matoria sobre xN . Unicamente la funcion potencial ψN−1,N (xN−1, xN) depende de

xN , lo cual nos permite evaluar∑

xNψN−1,N(xN−1, xN). Esto nos permitirıa hacer

lo mismo ahora con xN−1 pues solo estarıa presente en el resultado de la suma

anterior ası como en ψN−2,N−1(xN−2, xN−1). Este procedimiento tambien aplica en

el extremo contrario de la cadena, la sumatoria sobre x1 solo involucra al potencial

ψx1,2(x1, x2).

Si agrupamos los potenciales y sumatorias de esta manera, podrıamos expresar la

Page 26: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 2. Modelos Graficos 14

marginal como

p(xn) =1

Z

[∑

xn−1

ψn−1,n(xn−1, xn) · · ·[∑

x2

ψ2,3(x2, x3)

[∑

x1

ψ1,2(x1, x2)

]]· · ·

]

[∑

xn+1

ψn,n+1(xn, xn+1) · · ·[∑

xN

ψN−1,N (xN−1, xN)

]· · ·

](2.11)

Este re-ordenamiento de la ecuacion es la base de los algoritmos de pase de men-

sajes. La implementacion de este implica realizar N − 1 sumas sobre K estados

donde cada uno involucra a dos variables. Su costo computacional es del orden

O(NK2), lo cual es lineal en la longitud de la cadena y mucho mejor que el costo

exponencial de la aproximacion inicial.

Todo se consiguio aprovechando las propiedades de independencia condicional pa-

ra obtener un calculo eficiente. La ecuacion 2.11 se puede definir en funcion de

mensajes a partir del nodo xn, tan solo notamos las siguientes definiciones

µα(xn) =

[∑

xn−1

ψn−1,n(xn−1, xn) · · ·[∑

x2

ψ2,3(x2, x3)

[∑

x1

ψ1,2(x1, x2)

]]· · ·

](2.12)

µβ(xn) =

[∑

xn+1

ψn,n+1(xn, xn+1) · · ·[∑

xN

ψN−1,N(xN−1, xN )

]· · ·

](2.13)

ahora podemos expresar la marginal p(xn) como el producto de dos factores por

la constante de normalizacion

p(xn) =1

Zµα(xn)µβ(xn). (2.14)

Interpretaremos a µα(xn) como un mensaje que se envıa desde xn hacia el principio

de la cadena, recıprocamente µβ(xn) es un mensaje desde xn hacia el final de la

cadena. Los mensajes pueden ser evaluados recursivamente, veamoslo en el caso

de los mensajes µα

µα(xn) =∑

xn−1

ψn−1,n(xn−1, xn)

[∑

xn−2

· · ·]

=∑

xn−1

ψn−1,n(xn−1, xn)µα(xn−1) (2.15)

Page 27: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 2. Modelos Graficos 15

De igual manera los mensajes µβ(xn) pueden ser evaluados recursivamente

µβ(xn) =∑

xn+1

ψn+1,n(xn+1, xn)

[∑

xn+2

· · ·]

=∑

xn+1

ψn+1,n(xn+1, xn)µβ(xn+1) (2.16)

Cada mensaje implica un conjunto de K valores, uno para cada xn, de manera

que el producto de dos mensajes debe ser visto como una multiplicacion elemento

a elemento de los mensaje, que nos generaran K nuevos valores. Esto nos ha

conducido a un sencillo algoritmo de paso de mensajes, que se puede apreciar en

la Figura, pues la distribucion marginal p(xn) para un nodo xn a lo largo de la

cadena es obtenida multiplicando los mensaje µα(xn) y µβ(xn) y la constante de

normalizacion. Ademas como acabamos de ver, cada uno de estos mensajes puede

ser evaluado recursivamente haciendo un paso de mensajes desde los extremos de

la cadena hacia el nodo xn.

Figura 2.6: Ilustracion del paso de mensajes en una cadena

Page 28: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 2. Modelos Graficos 16

Resumen

Este capitulo trata muy brevemente las bases de la teorıa de modelos graficos,

se dan mas detalles en el Apendice A, pero el tema es tema es tan abundante

que excede los objetivos de este trabajo de tesis. Por esa razon ser recomienda

ampliamente consultar [12] y [13] .

• Se ilustra de manera sencilla los conceptos basicos de la teorıa de modelos

graficos

• La separacion-D nos permite conocer relaciones de independencia condicional

en un grafo sin necesidad de calculos complejos, tan solo inspeccionandolo

visualmente.

• Algoritmos basados en el paso de mensajes nos permiten hacer inferencia

sobre un grafo con un costo computacional menor si aprovechamos las rela-

ciones de independencia condicional

Page 29: Modelos Probabilísticos para el Seguimiento de Objetos en

Capıtulo 3

Sistemas Dinamicos Lineales

Los sistemas dinamicos lineales nos permiten plantear matematicamente el pro-

blema de seguimiento de objetos. Un sistema dinamico describe la evolucion de un

sistema fısico en el tiempo, por ejemplo el movimiento de un conjunto de planetas

bajo la influencia de sus respectivas fuerzas gravitacionales. Usualmente se quiere

conocer el estado del sistema despues de cierto tiempo, si los planetas llegaran a

colisionar o el sistema se mantendra en equilibrio.

Para algunos sistemas es sencillo conocer su destino, como en el caso de un sistema

solar pues sus movimientos pueden ser conocidos determinısticamente. Otros no

son tan regulares, como es el caso del seguimiento de objetos pues generalmente

estos presentan un comportamiento aleatorio en su dinamica.

Los sistemas dinamicos lineales estan compuestos por dos partes, un vector de

estado x ∈ Rn que describe exactamente el estado del sistema real o hipotetico.

Es a traves de este vector donde podemos especificar la posicion y velocidad de

un objeto.

Tambien cuentan con una funcion o regla f : Rn → Rn la cual nos dice, dado el

estado actual del sistema, cual sera la situacion del sistema en el siguiente instante

de tiempo. En el caso del sistema solar, esta funcion describirıa su movimiento.

Para el problema de seguimiento este movimiento tambien tiene que ser especifica-

do proponiendo alguna ecuacion que represente una aproximacion al movimiento.

Existen dos tipos de sistemas dinamicos, discretos y continuos. Para un sistema

dinamico de tiempo discreto, denotamos el tiempo por k, y el sistema esta especi-

ficado por las ecuaciones.

17

Page 30: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 3. Sistemas Dinamicos Lineales 18

x(0) = x0 (3.1)

x(k + 1) = f(x(k)) (3.2)

de lo cual se deduce que x(k) = fk(x0), donde fk una aplicacion recursiva de f

k-veces sobre x0.

Para un sistema dinamico continuo, denotamos el tiempo por t, se especifica por

medio de las siguientes ecuaciones

x(0) = x0 (3.3)

x′ = f(x) (3.4)

donde la funcion donde f especifica que tan rapido cambian los componente del

vector de estado x, i. e. la derivada x′.

Recordemos el modelo HMM, consultar A y figura A.4. Si tanto las variables ob-

servadas como latentes son Gaussianas, es decir existe una dependencia Gaussiana

lineal de las distribuciones condicionales sobre sus padres, entonces el modelo co-

rresponde a un sistema lineal dinamico. Este modelo es mejor conocido como el

filtro de Kalman y resulta ser una gran aplicacion de un algoritmo de paso de

mensajes en un grafo como lo analizaremos en la siguiente seccion. Una breve

introduccion a la teorıa de modelos graficos puede ser vista en el Apendice A.

3.1. Filtro de Kalman

El seguimiento de un objeto implica que de alguna manera tratemos de conocer su

posicion verdadera conforme avance el tiempo, sin embargo el saberla de manera

exacta resulta una tarea casi imposible y tan solo podemos obtener aproximacio-

nes erroneas.

Una buena estrategia para atacar el problema consiste en formularlo como un sis-

tema lineal dinamico, con un modelo grafico correspondiente a un HMM [13]. Esta

da origen a uno de los algoritmos mas usados para problemas secuenciales, el filtro

de Kalman [14].

Existen varias maneras de derivar el filtro de Kalman [15], como un filtro de Wiener

o en un marco Bayesiano entre muchos otros sin embargo veremos su deduccion a

partir de un algoritmo de paso de mensajes.

Page 31: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 3. Sistemas Dinamicos Lineales 19

El algoritmo calcula recursivamente estimaciones de los valores verdaderos, en

nuestro caso la posicion del objeto, utilizando las mediciones hechas en el tiempo,

ademas de un modelo matematico basado en dos sistemas dinamicos, llamados de

prediccion y actualizacion. La fase de prediccion utiliza el ultimo estado estimado

para producir una estimacion del estado actual. En la fase de actualizacion se

combina la estimacion de la fase de prediccion con la observacion actual de los

datos.

Planteemos el filtro de Kalman adecuandolo al problema de seguimiento. Defini-

mos a zi como la variable que representa la posicion exacta del objeto las cuales

son las variables escondidas, mientras que xi es nuestra medicion de esta posicion

en el tiempo i. Nuestro problema consistirıa en estimar zn | x1, · · ·xn, la posicion

del objeto en el tiempo actual, en funcion de las posiciones medidas anteriormente.

Lo cual es representado por el grafo de la Figura 3.1. Para ser un modelo lineal, se

Figura 3.1: Modelo Grafico del Filtro de Kalman y que tambien correspondeal HMM

definen las distribuciones de probabilidad de transicion ası como las distribuciones

de probabilidad de emision como distribuciones de probabilidad Gaussianas. Las

distribuciones de probabilidad de transicion son aquellas que van de una variable

escondida a otra, mientras que las de emision son aquellas que van de una variable

observada hacia su variable escondida correspondiente.

Debido a que el modelo esta representado por un grafo dirigido en forma de arbol,

podemos resolver problemas de inferencia eficientemente utilizando un algoritmo

de paso de mensajes, concretamente son las recursiones α las que nos permiten

llegar a las ecuaciones del filtro de Kalman [13]

3.2. Recursiones α

Existe un algoritmo para hacer inferencia sobre el modelo escondido de Markov,

consultar Apendice A, llamado ”forward-backward”[13]. Este se basa en el paso de

Page 32: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 3. Sistemas Dinamicos Lineales 20

mensajes, observaciones y emisiones, para calcular el estado de todas las variables

escondidas en el modelo. En un primer paso se envıan mensajes hacia adelante en

el tiempo para el caso de los modelos secuenciales, de xi a zi para luego de zi a

zi+1. Despues se realiza el mismo pase de mensaje pero en sentido contrario, con

lo cual se obtienen las distribuciones marginales posteriores en solo dos pasos.

Para hacer el seguimiento de un objeto, utilizando el modelo de Markov de la

Figura 3.1, solo necesitamos conocer la ultima variable z. Una vez que ha recibido

los mensajes del resto de los nodos es posible calcular su distribucion marginal, por

lo cual no es necesario hacer el paso de los mensajes restantes. Estas recursiones

hacia adelante en el tiempo son tambien conocidas como recursiones α y veremos

como se pueden deducir las ecuaciones del filtro de Kalman a partir de ellas.

Primero definimos α(zn) como la probabilidad de que haya ocurrido lo observado

hasta el tiempo n, es decir

α(zn) = p (x1, · · · , xn, zn) (3.5)

Esta probabilidad puede ser expresada de manera recursiva, es decir en funcion

de α(zn−1), haciendo uso de las propiedades de independencia condicional para los

HMM, ver Apendice .

α(zn) = p (x1, · · · , xn|zn) p (zn) = p (xn|zn) p (x1, · · · , xn−1|zn) p(zn)= p (xn|zn) p (x1, · · · , xn−1, zn)

= p (xn|zn)∑

zn−1

p (x1, · · · , xn−1, zn−1, zn)

= p (xn|zn)∑

zn−1

p (x1, · · · , xn−1, zn|zn−1) p(zn−1)

= p (xn|zn)∑

zn−1

p (x1, · · · , xn−1|zn−1) p(zn|zn−1)p(zn−1)

= p (xn|zn)∑

zn−1

p (x1, · · · , xn−1, zn−1) p(zn|zn−1)

(3.6)

Usando esto obtenemos

α(zn) = p (xn|zn)∑

zn−1

α(zn−1)p(zn|zn−1) (3.7)

Page 33: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 3. Sistemas Dinamicos Lineales 21

El calculo de α(zn) utilizando 3.7 produce errores numericos pues las probabilida-

des p (xn|zn) y p(zn|zn−1), que multiplican al valor anterior α(zn−1) son frecuente-

mente muy pequenos. Despues de varias recursiones provocarıa que α(zn) tienda

a cero de manera exponencial excediendo el rango dinamico de la computadora y

por ende se produzcan errores numericos en calculos posteriores de α(zn).

Para evitar estas complicaciones se define una version normalizada de las recur-

siones α(zn) dada por

α(zn) = p(zn|x1, · · · , xn) =p(zn, x1, · · · , xn)p(x1, · · · , xn)

=α(zn)

p(x1, · · · , xn)(3.8)

Definiendo los factores de escalamiento cn

cn = p(xn|x1, · · · , xn−1)

A partir de la regla del producto obtenemos

p(x1, · · · , xn) =n∏

m=1

cm

de esta manera ya podemos obtener una equivalencia

α(zn) = p(zn|x1, · · · , xn)p(x1, · · · , xn) = α(zn)

[n∏

m=1

cm

]

y redefinimos 3.7 como:

cnα(zn) = p (xn|zn)∑

zn−1

α(zn−1)p(zn|zn−1) (3.9)

3.3. Recursiones del filtro de Kalman

En el filtro de Kalman se asume un movimiento lineal y las variables aleatorias,

que representan las posiciones reales y estimadas, como distribuidas normales de

la forma:

p(zn|zn−1) = N (zn|Azn−1,Γ)

p(xn|zn) = N (xn|Czn,Σ)

Page 34: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 3. Sistemas Dinamicos Lineales 22

Recordemos que la primera variable latente no tiene variable padre, por lo cual

p(z1) = N (z1 | µ0,V0)

De manera general el sistema esta descrito por los valores medios de estas proba-

bilidades

zn = Azn−1 + wn (Prediccion) (3.10)

xn = Czn + vn (3.11)

z1 = µ0 + u (3.12)

donde

w ∼ N (w|o,Γ)v ∼ N (v|0,Σ)u ∼ N (u|0, V0)

Buscamos inferir los siguientes estados zn, es decir necesitamos calcular p(zn|X)

que denotamos por convencion como

α(zn) = N (zn|µn, Vn)

Esta probabilidad es analoga a la dada por 2.15 para el caso discreto del HMM,

para el caso del filtro de Kalman las recursiones α son

cnα(zn) = p (xn|zn)∫α(zn−1)p(zn|zn−1)

cnα(zn) = N (xn|Czn,Σ)

∫N (zn−1|µn−1, Vn−1)N (zn|Azn−1,Γ) (3.13)

Podemos utilizar B.3, ver apendice B para evaluar esta integral

∫N (zn−1|µn−1, Vn−1)N (zn|Azn−1,Γ) = N (zn|Aµn−1, Pn−1)

donde:

Pn−1 = AVn−1AT + Γ

Page 35: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 3. Sistemas Dinamicos Lineales 23

sustituyendo en 3.13

cnα(zn) = N (xn|Czn,Σ)N (zn|Aµn−1, Pn−1)

cnN (zn|µn, Vn) = N (xn|Czn,Σ)N (zn|Aµn−1, Pn−1)

De esta manera podemos obtener

(Actualizacion)

µn = Aµn−1 +Kn(xn − CAµn−1)

Vn = (I −KnC)Pn−1

cn = N (xn|CAµn−1, CPn−1CT + Σ)

donde hacemos uso de

Kn = Pn−1CT (CPn−1C

T + Σ)

ası como de las formulas para inversion de matrices C.5 y C.6 de [13].

Como asumimos que conocemos las variables en las iteraciones anteriores µn−1 y

Vn−1 ası como las diferentes covarianzas y las matrices A y C, ya podemos evaluar

la marginal para zn.

El filtro de Kalman tiene aplicacion practicamente en cualquier problema secuen-

cial de estimacion de datos, siendo el seguimiento de objetos uno de ellos. En la

Figura 3.2 se puede apreciar algunos cuadros de una secuencia de video donde se

utiliza el filtro de Kalman para mejorar el funcionamiento del algoritmo de se-

guimiento MeanShift [16]. Los cırculos verdes en la imagen representa la posicion

predicha por MeanShift, mientras que los cırculos rojos muestran la correccion he-

cha por el filtro de Kalman y las elipses del mismo color representan la covarianza

de estas predicciones. En azul se muestra el centro de la posicion verdadera del

objeto. En este ejemplo se muestran tan solo unos cuantos cuadros consecutivos

de la secuencia y en esta el seguimiento parece ser bueno, sin embargo se pierde al

objeto en la mayor parte del video. Recordemos que nuestro modelo de movimien-

to es lineal mientras que el objeto en realidad presenta movimientos erraticos.

El asumir distribuciones de emision y transicion Gaussianas nos dan la ventaja de

poder llegar a expresiones cerradas para la inferencia, sin embargo estas suposi-

ciones generalmente no representan al problema real.

Page 36: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 3. Sistemas Dinamicos Lineales 24

Figura 3.2: Ejemplo de Filtro de Kalman utilizado para mejorar el desempenodel algoritmo de seguimiento MeanShift

Page 37: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 3. Sistemas Dinamicos Lineales 25

Resumen

Se estudio como representar sistemas fısicos que evolucionan en el tiempo ademas

de analizar el filtro de Kalman, de gran importancia para el problema de segui-

miento ası como muchos otros, desde el punto de vista de los modelos graficos.

Entre los puntos a destacar de este capitulo se encuentran:

• Los sistema dinamicos son una representacion matematica de las reglas que

describen la dependencia del tiempo de la posicion de un punto en el espacio.

• Los sistemas dinamicos lineales tienen solucion exacta.

• Estan compuesto por un vector de estado, que contiene las variables, y una

funcion que determina el comportamiento del sistema.

• El filtro de Kalman utiliza mediciones ruidosas, acumuladas con el tiempo,

para producir valores cercanos a los valores verdaderos de las mediciones.

• Existen diversas maneras de deducir el filtro de Kalman, una de ellas es con

las recursiones α en un HMM.

• Hay extensiones del filtro de Kalman que nos permiten trabajar con modelos

no lineales como Extended Kalman Filter y Unscented Kalman Filter.

Page 38: Modelos Probabilísticos para el Seguimiento de Objetos en

Capıtulo 4

Metodos de Muestreo y Filtro de

Partıculas para Seguimiento de

Objectos

Para hacer el seguimiento de un objeto nos interesa la distribucion posterior

p(zn | x1, · · · , xn). Recordemos que planteamos el problema de movimiento defi-

niendo a zi como las variables que representa la posicion exacta del objeto, siendo

las variables escondidas, y xi las mediciones de esta posicion en el tiempo i. Esto

se represento por el grafo de la Figura 3.1.

Metodos como el filtro de Kalman y otras tecnicas Monte Carlo secuenciales, nos

permiten inferir la distribucion posterior utilizando recursiones de forma cerrada

para modelos de movimiento/observacion Gaussianos y lineales.

En la practica, los modelos de evolucion utilizados frecuentemente son no-lineales,

no-Gaussianos, multimodales o una combinacion de estos, lo cual hace las recursio-

nes de seguimiento analıticamente intratable. Esto nos obliga a recurrir a tecnicas

de aproximacion.

4.1. Metodos de Muestreo Basicos

En el problema del seguimiento de objetos la distribucion posterior nos es util

para poder evaluar la esperanza de la posicion del objeto. Es por eso que vamos

a repasar algunas tecnicas utiles para encontrar la esperanza de una funcion f(z)

26

Page 39: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 4. Metodos de Muestreo y Filtro de Partıculas para Seguimiento deObjectos 27

con respecto a una distribucion de probabilidad p(z). Para el caso de variables

continuas, buscamos evaluar

E[f ] =

∫f(z)p(z) dz (4.1)

donde f(x) es una funcion integrable en un espacio conmensurable. Asumamos que

es muy difıcil o costoso computacionalmente el evaluar esa esperanza de manera

exacta usando tecnicas analıticas, de manera que tenemos que recurrir a metodos

de inferencia aproximada basada en muestreo numerico, conocidos como metodos

Monte Carlo.

La idea general detras de los metodos de muestreo es obtener un conjunto de

muestras z(l) (donde l = 1, · · · , L) obtenidas de manera independiente desde la

distribucion p(z). Esto nos permite aproximar (4.1) por medio de una suma finita

f =1

L

L∑

l=1

f(z(l))

Si las muestras z(l) se obtienen de la distribucion p(z), entonces E[f ] = E[f ], de

manera que el estimador f nos proporciona la media correcta. La varianza del

estimador esta dada por

var[f ] =1

LE[(f − E[f ])2]

la cual es la varianza de f(z) bajo la distribucion p(z). La presciencia del estima-

dor no depende de la dimensionalidad de z y en principio se podrıa alcanzar gran

precision con un pequeno numero de muestras. En la practica 10 o 20 muestras

independientes pueden ser suficiente para estimar una esperanza con suficiente

precision. El problema de este tipo de estimadores es que las muestras podrıan

no ser independientes y por ende el numero efectivo de muestras podrıa ser mas

pequeno de lo que aparentan la cantidad de muestras.

Algunos algoritmos simples para generar muestras aleatorias a partir de una dis-

tribucion dada seran analizados a continuacion. Debido que las muestras seran

generadas por un algoritmo computacional realmente son pseudo-aleatorias, pues

son calculadas determinısticamente, pero deberan satisfacer ciertos criterios de

aleatoriedad [13].

Page 40: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 4. Metodos de Muestreo y Filtro de Partıculas para Seguimiento deObjectos 28

Distribuciones Estandar

Primero consideramos como generar numeros aleatorios a partir de distribuciones

no uniformes y simples, asumiendo que se cuenta con una fuente disponible de

numeros aleatorios distribuidos uniformemente. Supongamos que z esta unifor-

memente distribuida sobre el intervalo (0,1) y que transformamos los valores de

z utilizando alguna funcion f(·) de manera que y = f(z) . La distribucion de y

estara dada por

p(y) = p(z)|dzdy

| (4.2)

Por tratarse de una distribucion uniforme p(z) = 1. El metodo consiste en escoger

la funcion f(z) de manera que los valores resultantes de y tengan una distribucion

deseada p(y). Si integramos (4.2)

z = h(y) =

∫ y

− ınf

p(y)dy (4.3)

la cual es la integral indefinida de p(y). De modo que y = h−1(z), y solo tenemos

que transformar los numeros aleatorios distribuidos uniformemente con una fun-

cion que sea la inversa de la integral indefinida de la funcion deseada.

Este algoritmo puede ser utilizado para muestrear a partir de otras distribuciones

como la exponencial, ver figura 4.1. Su gran desventaja es que depende de la preci-

sion para calcular e invertir la integral indefinida de la distribucion que deseemos

muestrear. Esto nos limita a poder utilizarlo con distribuciones simples y es ne-

cesario recurrir a otras alternativas para una estrategia mas general. Ejemplos de

estas tecnicas son rejection sampling e importance sampling.

Rejection Sampling

Cuando deseamos muestrear de una distribucion p(z) pero no es sencillo, y en

cambio podemos evaluar p(z) para un valor dado z de manera que

p(z) =1

Zpp(z) (4.4)

donde p(z) puede ser evaluado, pero Zp es desconocido. Rejection sampling hace

uso de una distribucion propuesta q(z) de la cual se puedan obtener muestras.

Ademas de una constante k cuyo valor se elige de manera que kq(z) ≥ p(z) para

Page 41: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 4. Metodos de Muestreo y Filtro de Partıculas para Seguimiento deObjectos 29

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.5

1

1.5

2

2.5

3

y

p(y) =5exp(-3y)

h(y)=1-exp(-3y)

z

Figura 4.1: Si una variable aleatoria uniformemente distribuida z es transfor-mada usando y = h−1(z), donde h esta definida de acuerdo a la ecuacion (4.3(,entonces y tendra la distribucion p(y). En la imagen se muestran las ecuacionesnecesarias para este muestreo en el caso de ser p(y) una distribucion exponencial

cualquier valor de z. Esta funcion kq(z) es llamada la funcion de comparacion.

En un primer paso se generan dos numeros aleatorios, primero z0 desde la dis-

tribucion q(z). Despues se selecciona un numero u0 a partir de la funcion kq(z).

Si u0 > p(z0) se rechaza la muestra. Las muestras que sobreviven tienen una dis-

tribucion uniforme sobre p(z) y por ende sus valores correspondiente de z estan

distribuidos de acuerdo a la distribucion deseada p(z).

Los valores originales de z son generados a partir de la distribucion q(z), estas

muestras son aceptadas con probabilidad p(z)/kq(z) de manera que en el segundo

paso la probabilidad de que las muestras sean aceptadas esta dada por

p(ser aceptada) =

∫p(z)/kq(z)q(z)dz

=1

k

∫p(z)dz. (4.5)

El porcentaje de muestras rechazadas dependen de el area de kq(z) no cubierta

por p(z). Por esta razon la constante k debe ser tan pequena como sea posible pero

siempre restringido a que kq(z) no puede ser menor que p(z) en ningun punto.

Existen diferentes adaptaciones y variantes de este metodo por ejemplo adaptive

rejection sampling que nos sirve cuando es difıcil escoger una distribucion en-

volvente q(z), ademas de extensiones para poder muestrear en espacios de altas

dimensiones, una buena referencia es [13].

Page 42: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 4. Metodos de Muestreo y Filtro de Partıculas para Seguimiento deObjectos 30

Importance Sampling

Este metodo es una alternativa a las aproximaciones Monte Carlo directas, es util

cuando difıcilmente podemos muestrear de la funcion p(z). Supongamos que sin

embargo es posible evaluar p(z) = p(z)/Z hasta cierta constante de normaliza-

cion Z. Sea q(z) una distribucion propuesta la cual debe ser continua con respecto

a p(z) de manera que p(z) = 0 cuando q(z) = 0. La esperanza de la ecuacion (4.1)

puede ser reescrita en funcion de la distribucion propuesta de la siguiente manera

E [f(z)] =

∫f(z)w(z)q(z)dz∫w(z)q(z)dz

(4.6)

donde se ha definido w(z) = p(z)/q(z) conocidos como los pesos de importancia.

Ademas es necesario notar que el denominador de (4.6) define a la constante de

normalizacion desconocida en funcion de los pesos w(z). Dadas L muestras inde-

pendientes[z(l)

]Ll=1

de la densidad propuesta q(z) podemos aproximar la esperanza

como

E [f(z)] ≈L∑

l=1

w(l)f(z(l)) (4.7)

Donde : w(l) ,w(z(l))

∑Lm=1 w(z

(l))

Basicamente lo que hace importance sampling es estimar la esperanza deseada

coleccionando muestras pesadas[(z(l), w(l))

]Ll=1

Al igual que en rejection sampling, la efectividad de este metodo depende crıtica-

mente de la densidad escogida. Cuando q(z) asigne baja probabilidad a regiones

donde p(z) sea significante, predominaran pocos pesos de gran magnitud mientras

el resto sean de valor casi insignificante, lo cual es un desperdicio de poder de

computo, aunque puede ser peor si ningun peso cae sobre las regiones de alta pro-

babilidad. Esta es precisamente la mayor desventaja del metodo, puede producir

resultados que nos conduzcan al error sin ninguna forma de diagnosticarlo.

Importance Sampling y Resampling

Este metodo tambien utiliza una distribucion de muestreo propuesta q(z) y como

indica su nombre es una mejora al metodo de importance sampling ademas de

Page 43: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 4. Metodos de Muestreo y Filtro de Partıculas para Seguimiento deObjectos 31

estar motivado por la tecnica de Bootstrap [17]. La intuicion detras de Bootstrap

es evaluar las propiedades de un estimador a traves de la distribucion acumulativa

de las muestras en lugar de hacerlo a partir de la verdadera funcion de distribucion

acumulativa.

Su funcionamiento se resume en los siguientes pasos:

Tomar L muestras z(1), · · · , z(L) de q(z)

Calcular L pesos w(1), · · · , w(L) utilizando la ecuacion (4.7)

(Re-muestreo) Se toma un segundo conjunto de L muestras a partir de la

distribucion discreta (z(1), · · · , z(L)) pero con las probabilidades de obtener

cada una, dadas por los pesos (w(1), · · · , w(L)).

Las L muestras resultantes son solo una aproximacion a p(z) pero la distribucion

se aproxima en el limite cuando L = ∞ [13].

La intencion del paso de re-muestreo es eliminar aquellas muestras con menor peso

y aumentar aquellas mas significativas. Si recordamos el problema de Importance

sampling, el agregar el paso de re-muestreo cuando los pesos estan mal distribui-

dos nos da la oportunidad de seleccionar muestras importantes y de esa manera

rejuvenecer el conjunto de muestras,

4.2. Filtro de Partıculas

Planteamos el problema de seguimiento definiendo a zn como la variable aleatoria

representativa de la posicion verdadera del objeto a seguir y xn la posicion que

medimos en el tiempo discreto n, ver figura 3.1. El problema de seguimiento con-

siste en conocer la distribucion posterior p(zn | x1:n) , la distribucion que deseamos

filtrar, donde x1:n = (x1, x2, · · · , xn) denota a todas las observaciones de la posi-

cion del objeto hasta el tiempo n.

De acuerdo a la teorıa de estimacion Bayesiana la distribucion posterior puede ser

estimada en dos pasos:

Paso de prediccion p(zn | x1:n) =∫p(zn | zn−1)p(zn−1 | x1:n−1)dxn−1(4.8)

Paso de filtrado p(zn | x1:n) ∝ p(xn | zn)p(zn | x1:n−1)dxn−1 (4.9)

Page 44: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 4. Metodos de Muestreo y Filtro de Partıculas para Seguimiento deObjectos 32

donde el paso de prediccion viene de la marginalizacion de zn−1, y el paso de filtra-

do procede de la aplicacion directa de la regla de Bayes. Como se vio en el capitulo

anterior, esta solucion recursiva implica la especificacion de un modelo dinamico

para describir la evolucion del sistema, representando a p(zn | zn−1), ası como un

modelo que nos de la verosimilitud de cualquier estado candidato a partir de las

observaciones p(xn | zn), y asumiendo la relacion de independencia condicional

zn ⊥⊥ x1:n−1 | zn−1.

La recursion toma la forma del filtro de Kalman ( Capitulo 3) cuando se consideran

modelos Gaussianos lineales. Esto nos permitio resolver las ecuaciones del paso de

mensajes, pero si un modelo considera distribuciones no Gaussianas en la mayorıa

de los casos las ecuaciones de las recursiones se vuelven intratables analıticamente

por lo cual se recurre a metodos de muestreo para hacer la inferencia posible.

Los filtros de partıculas son un filtro recursivo Bayesiano basado en simulaciones

Monte Carlo. Tambien se le conoce como filtro Bootstrap [15] ademas de que com-

parte muchas caracterısticas con otras tecnicas como CONDENSATION [1] .

Su funcionamiento se basa en utilizar partıculas, muestras pesadas repartidas en

el espacio de estado, que se distribuyen aproximadamente como p(zn−1 | x1:n−1).

Mas adelante se generaran nuevas muestras a partir de una distribucion propuesta,

generalmente en funcion de la ultima posicion conocida ası como de las mediciones.

Para deducir el filtro de partıculas volvamos a enfocarnos en las familias de dis-

tribuciones que representa el modelo grafico de la figura 3.1. Las variables zi re-

presentan la posicion verdadera del objeto a seguir en el tiempo i, mientras xi es

nuestra medicion ruidosa de dicha posicion. Nos interesa conocer p(zi | x1:n). Seasume que los estados del objeto siguen un proceso de Markov de primer orden,

es decir p(zn | z1:n−1) = p(zn | zn−1) y las observaciones son independientes de las

variables verdaderas.

Para evitar el problema de resolver integrales intratables, la distribucion posterior

es representada por una suma pesada de Np muestras extraıdas de la distribucion

posterior

p(zn | xn) ≈1

Np

Np∑

n=1

δ(zn − z(i)n ) ≡ p(zn | xn) (4.10)

donde z(i)n se asumen como muestras independiente identicamente distribuidas

(i.i.d.) de p(zn | xn). Cuando Np es suficientemente grande, p(zn | xn) aproxi-

ma la verdadera distribucion posterior p(zn | xn). Utilizando esta aproximacion

Page 45: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 4. Metodos de Muestreo y Filtro de Partıculas para Seguimiento deObjectos 33

podemos estimar la media de la funcion no-linear

E[f(zn)] ≈

∫f(z)p(zn | xn)dzn

=1

Np

Np∑

i=1

∫f(zn)δ(zn − z(i)n dzn)

=1

Np

Np∑

i=1

f(z(i)n ) ≡ fNp(z). (4.11)

Normalmente es imposible muestrear a partir de la verdadera distribucion posterior

y en su lugar se suele muestrear de una distribucion facil de implementar, la

llamada distribucion propuesta, denotada por q(zn | xn) con lo cual

E[f(zn)] =

∫f(zn)

p(zn | x1:n)q(zn | x1:n)

q(zn | x1:n)dzn

=

∫f(zn)

p(zn | x1:n)p(x1:n)q(zn | x1:n)p(x1:n)

q(zn | x1:n)dzn

=

∫f(zn)

p(zn, x1:n)

q(zn | x1:n)p(x1:n)q(zn | x1:n)dzn

=

∫f(zn)

p(x1:n | zn)p(zn)q(zn | x1:n)p(x1:n)

q(zn | x1:n)dzn

=1

p(x1:n)

∫f(zn)Wn(zn)q(zn | x1:n)dzn (4.12)

donde

Wn(zn) =p(x1:n | zn)p(zn)q(zn | x1:n)

(4.13)

Podemos reescribir la ecuacion (4.12) como

E[f(zn)] =

∫f(zn)Wn(zn)q(zn | x1:n)dzn∫

p(x1:n | zn)p(zn)dzn

=

∫f(zn)Wn(zn)q(zn | x1:n)dzn∫Wn(zn)q(zn | x1:n)dzn

=Eq(zn|x1:n) [f(zn)Wn(zn)]

Eq(zn|x1:n) [Wn(zn)](4.14)

Page 46: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 4. Metodos de Muestreo y Filtro de Partıculas para Seguimiento deObjectos 34

De nueva cuenta podemos aproximar (4.14) tomando muestras i.i.d. z(i)n de la

distribucion q(zn | xn)

E[f(zn)] ≈1Np

∑Np

i=1Wn(z(i)n )f(z

(i)n )

1Np

∑Np

i=1Wn(z(i)n )

=

Np∑

i=1

wn(z(i)n )f(z(i)n ) ≡ f(z) (4.15)

donde

wn(z(i)n ) =

Wn(z(i)n )

∑Np

j=1Wn(z(i)n )

. (4.16)

Supongamos que la distribucion propuesta tiene la siguiente factorizacion

q(z1:n | x1:n) = q(zn | z1:n−1, x1:n)q(z1:n−1 | x1:n)

= q(z1)n∏

t=1

q(zt | z1:t−1, x1:t) (4.17)

Ademas la posterior p(x1:n | y1:n) puede ser factorizada [17] como:

p(z1:n | x1:n) = p(z1:n−1 | x1:n−1)p(xn | zn)p(zn | zn−1)

p(xn | x1:n−1)(4.18)

Usando estos resultados podemos expresar los pesos W(i)n recursivamente

W (i)n =

p(z(i)1:n | x1:n)

q(z(i)1:n | x1:n))

=p(z

(i)1:n−1 | x1:n−1)p(xn | z(i)n )p(z

(i)n | z(i)n−1)

q(z(i)n | z(i)1:n−1, x1:n)q(z

(i)1:n−1 | x1:n)p(xn | x1:n−1)

∝ p(xn | z(i)n )p(z(i)n | z(i)n−1)p(z

(i)1:n−1 | x1:n−1)

q(z(i)n | z(i)1:n−1, x1:n)q(z

(i)1:n−1 | x1:n)

= W(i)n−1

p(xn | z(i)n )p(z(i)n | z(i)n−1)

q(z(i)n | z(i)1:n−1, x1:n)

(4.19)

El filtro de partıculas de Gordon et al. [15] esta muy relacionado al metodo de

muestreo Sampling Importance Resampling (SIR)visto anteriormente, y tambien

fue desarrollado independientemente por otros investigadores algunos de los cuales

pueden ser consultados en [17].

Para fines practicos, como en nuestro problema de seguimiento, es mas importante

Page 47: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 4. Metodos de Muestreo y Filtro de Partıculas para Seguimiento deObjectos 35

estimar p(zn | x1:n) en lugar de la posterior p(z1:n | x1:n). Asumiendo que q(z(i)n |

z(i)1:n−1, x1:n) es equivalente a q(z

(i)n | z(i)1:n−1, xn), la formula recursiva de los pesos

puede ser simplificada como

W (i)n = W

(i)n−1

p(xn | z(i)n )p(z(i)n | z(i)n−1)

q(z(i)n | z(i)1:n−1, xn)

(4.20)

Este filtro comparte las desventajas del metodo de muestreo Importance Sampling,

la distribucion de los pesos tiende a ser asimetrica. Por lo cual, despues de algunas

iteraciones, muy pocas partıculas tienen pesos diferentes de cero lo que se conoce

como degeneracion de los pesos [15].

La idea central del filtro SIR es introducir el paso de remuestreo. Si bien en reali-

dad no previene el problema de degeneracion nos sirve para ahorrar tiempo de

calculo al descartar aquellas partıculas con pesos insignificantes. Lo que realmente

hace es atenuar el empobrecimiento de las partıculas, eliminando las insignifican-

tes y sustituyendo las partıculas de gran peso por varias replicas, con lo cual se

introduce una alta correlacion entre las partıculas. Un algoritmo generico del filtro

de partıculas SIR/Bayesian Bootstrap se observa en la tabla 4.1.

Cuadro 4.1: Filtro de partıculas SIR generico

Para n = 1, 2, 3, · · ·1) Inicializacion.- Para i = 1, · · · , Np z

(i)1 ∼ p(z1),W

(i)1 = 1

Np

2) Importance Sampling.- Para i = 1, · · · , Np muestrear z(i)n

de acuerdo a nuestra distribucion propuesta.

3) Actualizar los pesos.- Calcular los pesos W(i)n

4) Normalizacion.- wn(z(i)n ) = Wn(z

(i)n )

∑Npj=1 Wn(z

(i)n )

5) Resampling.- Generar Np nuevas partıculas z(i)n a partir del

conjunto z(i)n pero de acuerdo a la importancia dada por los pesos W

(i)n

6)repetir los pasos 2 al 5.

Resumen

El filtro de Kalman solo funciona bajo ciertas restricciones, asumiendo modelos

de evolucion lineales y gaussianos. El hacer seguimiento de objetos bajo estas

suposiciones es impractico, dado que su comportamiento es muy diferente. Para

ajustarnos a modelos mas realistas necesitamos recurrir a metodos de muestreo

Page 48: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 4. Metodos de Muestreo y Filtro de Partıculas para Seguimiento deObjectos 36

que permitan aproximar las distribuciones verdaderas.

En este capitulo se habla sobre los metodos basicos de muestreo y sobre todo de

su aplicacion en el metodo de estimacion Bayesiana llamada Filtro de Partıculas,

el cual es muy utilizado en el seguimiento de objetos por video ası como en toda

clase de problemas secuenciales.

• Para estimar la posicion de un objeto, en base a las muestras anteriores

de su posicion, debemos estimar Ep(z|x)[f(zn)] utilizando algun metodo de

aproximacion.

• Para muestrear a partir una distribucion p(z) de la cual no es facil obtener

muestras se recurre a una distribucion propuesta q(z) la cual sea facil de

evaluar.

• Rejection Sampling utiliza un distribucion propuesta q(z) que envuelva a

p(z), su dificultad consiste en encontrar una distribucion que sea similar a

la original para poder muestrear eficientemente.

• Importance sampling hace la estimacion de la distribucion buscada utilizando

una coleccion de muestras pesadas. El calculo de estos pesos involucra de

nuevo una distribucion propuesta cuya eleccion afectara el desempeno.

• Los pesos calculados tienden a degenerarse, estar mal distribuidos con la

mayor cantidad de muestras con un valor insignificante.

• Para evitar este problema se hace un re-muestreo, lo que da origen al metodo

de Importance Sampling.

• Este re-muestreo se hace muestreando uniformente a partir de la distribucion

discreta formada por los pesos calculados.

• El filtro de partıculas a diferencia del filtro de Kalman no asume modelos

Gaussianos lineales. Consta de un paso de prediccion y otro de filtrado o co-

rreccion. Ademas se agrega el paso de remuestreo para evitar la degeneracion

de las muestras.

Page 49: Modelos Probabilísticos para el Seguimiento de Objetos en

Capıtulo 5

Algoritmos de Seguimiento

La teorıa revisada en los capıtulos anteriores ha tenido como finalidad conocer las

bases de los algoritmos de seguimiento de objetos en el estado del arte. Muchos

algoritmos actuales como [18], [19], [20], [21] y [22] estan basados en el filtro de

Kalman, el filtro de Partıculas ası como en algoritmos de paso de mensajes sobre

modelos graficos.

Con el objetivo de conocer mejor dichas bases teoricas, se implementaron diferentes

algoritmos de seguimiento. Cuatro de ellos estan basados en el filtro de partıculas.

Se diferencian en el rasgo que utilizan para seguir al objetivo y para hacer una

comparacion justa con el fin de conocer sus virtudes y debilidades, se utilizara el

mismo modelo dinamico en las diferentes implementaciones.

Ademas se probaran algoritmos de seguimiento diferentes al filtro de partıculas

como el popular algoritmo CamShift [6] y el algoritmo de Aprendizaje Bayesiano

de [7]. Este ultimo esta basado en una medida de similaridad y busca al objetivo

utilizando un metodo de optimizacion.

Los detalles teoricos de cada uno de estos algoritmos son expuestos en este capitulo

y su desempeno se probo a traves de una serie de experimentos descritos en el

siguiente.

Cabe mencionar que a partir de los resultados obtenidos en las pruebas, surgio la

idea de un algoritmo basado en el filtro de partıculas pero que aprovechara la

principal caracterıstica del algoritmo de Aprendizaje Bayesiano la cual consiste

en utilizar un promedio Bayesiano para aprender la evolucion del objetivo. La

principal desventaja del algoritmo de Aprendizaje Bayesiano es que utiliza un

metodo de optimizacion para buscar al objetivo. En su lugar se busca utilizar el

filtro de partıculas el cual hace inferencia para predecir la ubicacion del objeto,

37

Page 50: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 38

ası como el promedio bayesiano incorporado en la metrica nos permitira aprender

los cambios en la apariencia del objeto. Si el objeto cambia de color o sufre otra

deformacion gradual es informacion que se acumulara en el promedio bayesiano.

Si el objeto es diferente al descriptor inicial que se dio de el, podremos distinguirlo

mas facilmente.

5.1. Filtro de partıculas basado en Color

Este algoritmo propuesto por Nummiaro [23] utiliza distribuciones de color como

objetivos pues son bastante robustos ante cambios afines como rotacion, no-rigidez

ademas de oclusiones parciales. Para describir al objeto hace uso de histogramas

de color en el espacio RGB utilizando 8x8x8 bins. Las distribuciones de color se

calculan dentro de una region elıptica con semiejes Hx y Hy. Ademas se penali-

zan los pıxeles cerca de los bordes asignandoles pesos mas pequenos utilizando la

funcion

k(r) =

1− r2 : r < 1

0 : otro caso(5.1)

donde r es la distancia desde el centro. La distribucion de color py = (p(u)y )u=1,··· ,m

en la posicion y se calcula como

p(u)y = f

I∑

i=1

k

(‖y − xi‖a

)δ [h(xi)− u] (5.2)

donde I es el numero de pıxeles xi en la region, δ es la funcion delta de Kronecker,

a =√H2

x +H2y es un parametro utilizado para adaptar el tamano de la region, y

el factor de normalizacion f = 1∑I

i=1 k

(

‖y−xi‖a

) nos permite cumplir∑m

u=1 p(u)y = 1.

Utiliza como medida de similaridad la distancia de Hellinger

d =√1− ρ [p, q] (5.3)

donde ρ [p, q] =∑m

u=1

√p(u)q(u) es el coeficiente de Bhattacharyya.

El modelo dinamico de este filtro de partıcula contempla un vector de estado

s = x, y, x, y, Hx, Hy, a (5.4)

Page 51: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 39

donde x, y especifican la posicion del centro de la elipse, x, y el movimiento, Hx, Hy

la longitud de los semiejes y a el cambio correspondiente de escala.

Las muestras son propagadas aplicando el modelo dinamico

st = Ast−1 + wt−1 (5.5)

donde A define el componente determinista de modelo y wt−1 es una variable

Gaussiana Multivariada. Generalmente se utiliza un modelo de primer orden para

A de manera que describa una region con velocidades constantes x, y y cambio de

escala a. En el caso de nuestro vector de estado s, A seria una matriz diagonal.

Cada muestra es pesada, de acuerdo al procedimiento de Importance-Sampling

Resampling.

Para favorecer aquellas muestras cuyas distribuciones de color son muy similares

a la del objetivo, pequenas distancias de Bhattacharyya corresponden a grandes

pesos de acuerdo a:

π(n) =1√2πσ

e−d2

2σ2 =1√2πσ

e−(1−ρ[p,q])

2σ2 (5.6)

los cuales son especificados por una Gaussiana con varianza σ, que tambien puede

verse como la aplicacion de un kernel Gaussiano utilizando la distancia de Hellinger

[24], [25].

Este algoritmo de seguimiento incorpora un esquema para actualizar el modelo

del objetivo y ası tratar de adaptarse a los cambios de apariencia que sufra el

objeto a seguir. Primero se descartan imagenes atıpicas, regiones donde el objeto

esta ocluido o existe mucho ruido, de manera que nos aseguremos que el modelo no

se actualiza cuando el algoritmo de seguimiento ha perdido al objetivo. De manera

que se utiliza la condicion de actualizacion

πE[S] > πT (5.7)

donde πE[S] es la probabilidad de observar el estado medio E[S], que se calcula

pesando partıculas generadas a partir del mismo estado medio. πtes un umbral

fijado arbitrariamente. Cuando esta condicion se cumple, la actualizacion se realiza

de la siguiente manera

q(u)t = (1− α) q

(u)t−1 + αp

(u)E[Si]

(5.8)

Page 52: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 40

para cada bin u donde α pesa la contribucion del histograma del estado medio

pE[St]. Esto simula un procedimiento de olvido en el sentido que la contribucion de

un cuadro de video especifico decrece exponencialmente dependiendo de que tan

alejado este del cuadro actual.

El funcionamiento de este filtro de partıculas se resume en el algoritmo 5.1.

Page 53: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 41

Algorithm 5.1: Algoritmo del Filtro de Partıculas de Color (FPC)

Dado el conjunto de muestras St−1y el modelo objetivo

q = f∑l

i=1 k(

‖xi‖a

)δ [h (xi)− u]

Se realizan los siguientes pasos:

1. Seleccionar N muestras del conjunto St−1 con probabilidadπ(n)t−1

a) Calcular las probabilidades acumulativas c′t−1

c(0)t−1 = 0

c(n)t−1 = c

(n−1)t−1 + π

(n)t−1

c′(n)t−1 =

c(n)t−1

c(N)t−1

b) Generar un numero aleatorio, uniformemente distribuido r ∈ [0, 1]

c) Encontrar por busqueda binaria, el numero j mas pequeno para el

cual c′(j)t−1 ≥ r

d) fijar s′(n)t−1 = s

(j)t−1

2. Propagar cada muestra del conjunto S′

t−1 a traves del modelo de

movimiento

s(n)t = As

′(n) + w(n)t−1

donde w(n)t−1 es ruido aleatorio Gaussiano multivariado.

3. Observar las distribuciones de color

a) Calcular las distribuciones de color para cada muestra del conjunto St

utilizando la informacion de los peles x en su vecindad.

p(u)

s(n)t

= f

I∑

i=1

k

∥∥∥s(n)t − xi

∥∥∥a

δ [h(xi)− u]

b) calcular el coeficiente de Bhattacharyya para cada muestra del

conjunta St comparandolo con la distribucion q propuesta como

objetivo.

ρ[ps(n)t

, q]=

m∑

u=1

√p(u)

s(n)t

q(u)

c) pesar cada muestra del conjunto St

π(n)t =

1√2πσ

e−

1−ρ

ps(n)t

,q

2σ2

4. Estimar el estado medio del conjunto St

E [St] =

N∑

n=1

π(n)t s

(n)t (5.9)

Page 54: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 42

5.2. Filtro de Partıculas de Textura

Al igual que la anterior propuesta, esta se basa en el filtro de particular SIR, y

utiliza un kernel Gaussiano para pesar las contribuciones de las partıculas. La di-

ferencia consiste precisamente en el descriptor del objeto a seguir, pues ahora se

utilizara un descriptor de textura llamado histograma de orientacion de bordes [3].

Estos son utilizados para diferenciar objetos cuando en una escena se presentan

objetos similares a nuestro objetivo. Los bordes son detectados utilizando operado-

res de Sobel verticales y horizontales, ademas de las magnitudes de los gradientes

y sus orientaciones.

Para detectar los bordes, primero convertimos las imagenes de color a imagenes

en escala de grises.

Gx(x, y) = Kx ∗ I(x, y) Gy(x, y) = Ky ∗ I(x, y)

donde Kxy Ky son operadores de Sobel verticales y horizontales.

La fuerza y orientacion de los bordes se determina con:

S(x, y) =√G2

x(x, y) +G2y(x, y)

θ = arctan (Gy(x, y)/Gx(x, y))

El histograma esta dividido en 4 bins de acuerdo a las direcciones de los vectores

de borde. La contribucion a cada bin es proporcional a la magnitud S(x, y) la

cual es repartida entre los sectores en los cuales se encuentra el vector utilizando

interpolacion bilineal, ver figura 5.1.

5.3. Filtro de Partıculas de Movimiento

Ademas del color y la textura, la actividad de movimiento instantaneo captura

aspectos importantes en las secuencias de video. Las camaras de video estaticas

nos permiten utilizar la diferencia absoluta entre cuadros de video consecutivos,

este es el rasgo considerado en este algoritmo.

Como se propone en [4], se incorpora la diferencia de cuadros de video en un

modelo de verosimilitud similar al propuesto por [23]. En el articulo original se

utilizan un algoritmo de seguimiento que utiliza multiples rasgos incluido este, sin

Page 55: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 43

Figura 5.1: El vector A corresponde al borde de magnitud S y orientacion θ

calculado en cierto pıxel. Su contribucion a cada bin, en este caso a Θ2 y Θ3 secalcula por medio de interpolacion bilineal.

embargo el objetivo de este trabajo es experimentar con algoritmos que utilicen

un solo rasgo.

Sea yMn la diferencia absoluta entre dos cuadros consecutivos de video en los tiem-

pos n y n − 1. Un histograma hMx =(hM1,x, · · · , hMB,x

)es asociado con la region

especificada por el estado x.

Para el caso de los descriptores de color, la mayorıa de la informacion util se ubi-

cara al centro de la region elıptica Bx, en contraste, la mayorıa de la actividad de

movimiento generada por un objeto se concentrara alrededor de este. Para asegu-

rarse que la silueta de los objetos sea incluida se considera una region mas grande

para las mediciones de movimiento.

La construccion o aprendizaje de un histograma de referencia para las mediciones

de movimiento no es una tarea sencilla. La amplitud de estas mediciones depen-

dera tanto de la apariencia del objeto ( sus bordes) como de su movimiento actual.

Si se examina una region sin movimiento, toda la informacion caera sobre el bin

menor del histograma. Cuando se presente movimiento, lo mas probables es que

las mediciones se repartiran entre todos los bins sin un patron definido. Por esta

razon se utilizan un histograma uniforme hMref como modelo objetivo

hMi,ref =1

B, i = 1, · · · , B (5.10)

Una gran desventaja de esta propuesta es que facilmente pierde al objetivo cuando

este se mantienen estatico, es ocluido parcial o totalmente, por lo que es necesario

Page 56: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 44

reiniciar el seguimiento. Para esto se utiliza un esquema que permite a las medicio-

nes de movimiento saltar en el espacio hacia regiones con actividad de movimiento

significante. Los autores [4] proponen evaluar la similaridad en un conjunto de

posiciones fijas dentro de la imagen, de preferencia como nodos de una malla re-

gular mientras el numero de puntos a evaluar impliquen un costo computacional

aceptable.

Unicamente se toma en cuenta aquellos nodos cuya evaluacion de similitud sobre-

pasen un umbral D2(hM(x,y,1), hMref) > τ

donde D =(1−∑B

i=1

√hi,1hi,2

)1/2

esta basado tambien en el coeficiente de

Bhattacharyya. Utilizando estas posiciones de gran actividad, denotadas por pi =

(xi, yi), se define una mezcla como propuesta de la localizacion del objeto como

qM(xn, yn|xn−1, yn−1,y

Mn

)= βRWN

((xn, yn) | (xn−1, yn−1) ,

(σ2x, σ

2y

))

+(1− βRW )

NM

NM∑

i=1

N((xn, yn) |pi,

(σ2x, σ

2y

))(5.11)

donde el primer componente es una caminata aleatoria Gaussiana alrededor de la

ultima posicion conocida (xn−1, yn−1) y el segundo componente es una mezcla alre-

dedor de las posiciones donde se detecto actividad de movimiento. Para controlar

la contribucion de cada termino se utiliza 0 < βRW < 1, para la implementacion

realizada se utilizo βRW = 0,75. Este esquema nos permite despertar al algoritmo,

en caso de detectarse nuevamente movimiento o detectarlo en otra zona.

Si se detecta movimiento, hecho por otro objeto en movimiento, la propuesta de

[4] no sugiere estrategia alguna para diferenciarlo de nuestro objetivo. Por esta

razon nuevas partıculas seran creadas en esta nueva zona con movimiento y su

presencia afectara el calculo la prediccion de la posicion del objetivo.

5.4. Algoritmo de Seguimiento Hıbrido

Es una propuesta de los autores de [8]. Su algoritmo [5] es un filtro de partıculas

basado en color que en adicion al procedimiento SIR, incluye un paso donde acerca

las partıculas hacia el objetivo utilizando Mean Shift [16].

Hace uso del mismo histograma de color empleado en [23]. De igual utiliza la dis-

tancia de Hellinger, basada en el coeficiente de Bhattacharyya, para calcular la

similitud de los candidatos.

Page 57: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 45

Algorithm 5.2: Algoritmo de Seguimiento Hıbrido (HT)

1. Seleccionara N partıculas de acuerdo a sus pesos.

2. Propagar las partıculas de acuerdo al modelo dinamico.

3. Observar su distribucion de color.

4. Se aplica MeanShift a cada partıcula.

5. Recalcular sus pesos de acuerdo a (5.6).

6. Estimar el estado medio del sistema dinamico.

5.5. Camshift

El algoritmo Continously Adpative Mean Shift [6], como su nombre lo indica esta

basado en el algoritmo Mean Shift [16],[26]. A diferencia de este ultimo, que esta

disenado para objetivos que no cambian su apariencia, Camshift esta disenado

para seguir objetos cuya distribuciones de color cambie constantemente.

Utiliza un descriptor del espacio de color Hue Saturation Value, el cual separa la

tinta (hue) de la saturacion y el brillo. Se crea un histograma unidimensional con

la informacion del canal H de este espacio.

El descriptor de color es utilizado como un modelo de referencia para asignar un va-

lor a los pixeles de las imagenes de entrada, utilizando el metodo de ”backprojection”[27].

Estas intensidades tienen un rango de [0, 255] siendo 0 el valor correspondiente a

la menor probabilidad. En lugar de una ventana de busqueda cuyos parametros

como radio o ancho/altura son fijos, estos se determinan como una funcion del

area de la distribucion de color(zeroth moment) . Se fija una ventana de busqueda

inicial, la cual se posiciona sobre la imagen de ”backprojection”. Se calcula el cen-

tro de masa del distribucion de probabilidad de color ubicada dentro de la region

de busqueda. Se posiciona el centro de la region de busqueda en el centro de masa

y se encuentra el area debajo de esta. al final de la iteracion los parametros de la

region de busqueda se adaptan a la nueva zona encontrada. El algoritmo CamShift

se muestra en 5.3.

Page 58: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 46

Algorithm 5.3: Algoritmo CAMSHIFT (CS)

1. Escoger la posicion inicial de la ventana de busqueda

2. Mean Shift

a) Calcular la posicion media en la ventana de busqueda

b) Centrar la ventana de busqueda en la posicion encontrada en a)

3. Almacenar la probabilidad de la region (zeroth moment)

4. Se utiliza una heurıstica para adaptar las dimensiones de la ventana debusqueda basadas en los valores del zeroth moment.

5. Repetir los pasos 1 al 4 hasta el criterio de convergencia o si eldesplazamiento ha sido muy pequeno.

El mismo autor reconoce en ?? algunos puntos debiles del algoritmo. Camshift

escala su ventana de busqueda al tamano del objetivo, pero esto lo hace prome-

diando la posicion del centro de masa, cuyo calculo es muy susceptible al ruido.

Se ignoran objetos fuera del area de busqueda, si el movimiento es muy rapido

y el objeto escapa de esta, CamShift lo perdera sin tener manera de recuperalo.

Mientras no se pierda de todo al objeto, seguira las regiones mas parecidas de

acuerdo a al distribucion de probabilidad del objeto. De manera general todo el

proceso de seguimiento se basa en la distribucion de probabilidad del color del

objeto, si esta no es calculada adecuadamente los errores se propagaran al resto

del procedimiento.

Para evaluar su desempeno se utilizo la implementacion CAMSHIFT de OpenCV

[28].

Page 59: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 47

5.6. Seguimiento de Objetos Basado en Apren-

dizaje Bayesiano

En este algoritmo [7] se hace inferencia sobre la distribucion que tendra el descrip-

tor del objeto despues de un tiempo. Trata de localizar a un objeto en movimiento

que puede ser no rıgido, con diferentes colores o texturas. Para identificar al objeto

hace uso de un descriptor basado en un histograma definido por la distribucion de

probabilidad de color en el espacio RGB. El espacio de color es divido en n bins,

donde la funcion b asigna el bin correspondiente segun los valores RGB de cada

pıxel de la siguiente manera: b : y → 1, · · · , n donde y denota las coordenada

(x, y) de un pıxel dentro de la imagen. De esta manera, un objeto puede ser re-

presentado por su distribucion de color utilizando un histograma de color.

Para caracterizar un objeto de interes dentro de la escena, definimos A(x) como

el area centrada alrededor de la posicion x. El area A(x) representa el objetivo a

seguir en el cuadro de video actual.

Es ası como la distribucion de probabilidad de color del objeto a seguir se define

como:

px(u) =∑

y∈A(x)

δ (b(y)− u) (5.12)

donde δ es la funcion delta de Kronecker y u = 1, · · · , n.Este algoritmo se basa en el hecho de que el descriptor del objeto a seguir, ira

cambiando con el paso del tiempo por lo que se asume un conjunto de histogramas

independientes

X(t) =q(1)x , q(2)x , · · · , q(t−1)

x

(5.13)

esta dado en el tiempo t, donde cada vector q(i)x representa el objetivo localizado en

la posicion x en el i-esimo cuadro. Cada elemento de ese conjunto es una muestra

de cierta distribucion desconocida p(q(i)x ) que representa al objetivo buscado en

cada cuadro. Dado el vector q(t)x , el objetivo encontrado en el cuadro anterior,

buscamos estimar la posicion del vector objetivo q(t+1)x en el cuadro actual (t+1).

A pesar de que la distribucion de p(q(t+1)x ) es desconocida, asumimos que tiene

una forma parametrica p(q(t+1)x , θ|X(t)) la cual si es conocida aunque asumiendo el

vector de parametros θ como desconocido. La funcion de distribucion condicional

puede ser escrita como:

p(q(t+1)x |q(t)x , X(t)

)∝ p

(q(t)x |q(t+1)

x

)p(q(t+1)x |X(t)

)(5.14)

Page 60: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 48

donde p(q(t)x |q(t+1)

x

)es una funcion de verosimilitud. Buscamos encontrar la posi-

cion actual en base a las muestras observadas, es decir p(q(t+1)x |q(t)x , X(t)), la cual

seria nuestra mejor aproximacion a la distribucion desconocida q(t+1)x . Para esto

integramos la distribucion conjunta p(q(t+1)x |q(t)x , X(t)) sobre θ:

p(q(t+1)x |X(t)

)=

Ω0

p(q(t+1)x , θ|X(t)

)dθ (5.15)

El termino dentro de la integral puede ser reescrito como:

p(q(t+1)x , θ | X(t)

)=p(q(t+1)x , θ, X(t)

)

p (X(t))

=p(q(t+1)x | θ,X(t)

)p(θ,X(t)

)

p (X(t))

= p(q(t+1)x | θ,X(t)

)p(θ | X(t)

)(5.16)

Gracias a que la seleccion de q(t+1)x y las muestras en el conjunto X(t) son in-

dependientes, cumpliendose p(q(t+1)x | θ,X(t)) = p(q

(t+1)x | θ) podemos reescribir

como:

p(q(t+1)x |X(t)

)=

Ω0

p(q(t+1)x , θ

)p(θ|X(t)

)dθ (5.17)

Para calcular la densidad posterior p(θ|X(t)) y la densidad de probabilidad p(q(t+1)x |X(t))

se hace uso de una tecnica de estimacion de parametros Bayesiana [29]. Se asume

que la distribucion p(θ|X(t)) es normal con un vector de parametros θ = µ de

modo que

p(q(t+1)x | µ) ∼ N (µ, σ2) (5.18)

donde µ es el unico parametro desconocido. Se asume que cualquier conocimiento

a priori que se pudiera tener acerca de µ puede ser expresado por una densidad a

priori p(µ) de la cual tambien se asume

p(µ) ∼ N (µ0, σ20) (5.19)

Page 61: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 49

donde µ0 y σ20 son conocidos. Utilizando la regla de Bayes, el termino p

(θ|X(t)

)

puede ser reescrito como

p(µ|X(t)

)=

p(X(t)|µ

)p (µ)∫

Ωµp (X(t)|µ) p (µ) dµ ∝

t−1∏

i=1

p(q(i)x |µ)p(µ) (5.20)

Utilizando las ecuaciones 5.18 y 5.19 se puede demostrar [29] que

p(µ|X(t)

)∼ N

(µt, σ

2t

)(5.21)

µt =(t− 1)σ2

(t− 1)σ20

mt +σ2

(t− 1)σ20 + σ2

µ0 (5.22)

σ20 =

σ20σ

2

(t− 1)σ0 + σ2(5.23)

mt =1

t− 1

t−1∑

i=1

q(i)x (5.24)

por lo tanto

p(q(t+1)x |X(t)) ∼ N(µt, σ

2 + σ2t ) (5.25)

Ademas, si

p(q(t)x |q(t+1)x ) =

1

σ0√2π

exp

−1

2

∥∥∥q(t)x − q(t+1)x

∥∥∥2

σ2v

(5.26)

donde σv es la varianza del ruido en el termino de verosimilitud, entonces la funcion

de distribucion condicional puede expresarse como

p(q(t+1)x |q(t)x , X(t)

)∝ exp

−1

2

∥∥∥q(t)x − q(t+1)x

∥∥∥2

σ2v

exp

−1

2

∥∥∥q(t+1)x − µt

∥∥∥2

σ2 + σ2t

(5.27)

Dada esta ecuacion, el problema se reduce a buscar q(t+1)x que maximiza la distri-

bucion condicional a posteriori, el estimador MAP, o equivalentemente

arg mınq(t+1)x

[−log

(p(q(t+1)x |q(t)x , X(t)

))](5.28)

El primer termino de 5.27 es proporcional a la norma Euclidiana entre dos vectores

pero tiene el problema de penalizar gravemente los componentes cero en el vector,

que en el caso de los histogramas de color son muy comunes. En su lugar se utiliza

Page 62: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 50

una medida de similitud basada en una proyeccion normalizada

p(px|q(t+1)x ) =

1

γexp

1−

⟨px, q

(t+1)x

‖px‖∥∥∥q(t+1)

x

∥∥∥

(5.29)

donde γ es una constante de normalizacion y 〈x, y〉 = xTy. El argumento de

esta ultima funcion esta acotado entre [0,1], no depende de la magnitud de los

vectores y los componentes que son cero no son penalizados gravemente debido al

producto interno entre los vectores. En [7] se demuestra que esta metrica produce

superficies con una pendiente pronunciada hacia regiones con valores mınimos,

haciendo posible aplicar algoritmos de optimizacion rapidos y sencillos.

Con base en las ecuaciones (5.27) y (5.28) se define a la distancia estimadora MAP

como

D(px, q

(t+1)x ;mt, σ

2, σ2t

)=

1−

⟨px, q

(t+1)x

‖px‖∥∥∥q(t+1)

x

∥∥∥

+

∥∥∥q(t+1)x −mt

∥∥∥2

σ2 + σ2t

(5.30)

Dado que µT tiende a mT y σ2T tiende a 0 conforme el numero de cuadros aumenta,

se aproxima la metrica como

D(px, q

(t+1)x ;mt, σ

2, σ2T

)=

1−

⟨px, q

(t+1)x

‖px‖∥∥∥q(t+1)

x

∥∥∥

+

∥∥∥q(t+1)x −mt

∥∥∥2

σ2(5.31)

Resolver el problema de seguimiento con esta propuesta implicarıa encontrar el

mınimo global en la superficie generada por la metrica sobre la imagen. Esto sig-

nificarıa un alto costo computacional y el hacer optimizacion analıtica tambien

resulta demasiado complejo. Por esta razon se recurre a un metodo de optimiza-

cion, el de Nelder-Mead [30]. Este metodo no garantiza alcanzar el mınimo, pero

puede generar una solucion muy cercana a la optima rapidamente, lo cual sirve

para una aplicacion rapida y simple. El metodo NM trata de minimizar una fun-

cion escalar no lineal utilizando unicamente evaluaciones de la funcion. Para ello

hace uso de un simplejo , una figura geometrica de n dimensiones. Cada vertice

del simplejo son puntos de evaluacion de la funcion y estos se reorientan tratando

de alcanzar cada vez un valor menor. Para mas detalles consultar [30].

Los pasos del algoritmo BL se describen en el cuadro 5.4.

Page 63: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 51

Algorithm 5.4: Algoritmo de Seguimiento basado en Aprendizaje Bayesiano (BL)

Dado el histograma del objetivo px, y fijando q(0)x = px

Para t = 1, 2, 3, · · ·

1. Usar las coordenadas del vector q(t−1)x para definir los vertices del simplejo

en las posiciones x0 = x, x0 − (0, d)T , x0 + (d, 0)T donde d es un

desplazamiento fijado a 10 pixeles.

2. Calcular el promedio mt ec. (5.24) . Iterar el algoritmo NM iniciando con

los vertices del simplejo en las posiciones definidas en el paso 1, y utilizar la

funcion de distancia 5.31. Cuando termine el proceso iterativo, fijar q(t+1)x

en la posicion del vertice del simplejo con menor evaluacion de la funcion

de distancia.

3. Agregar q(t)x a X(t). Obtener el siguiente cuadro de video y t = t + 1.

5.7. Filtro de Partıculas con Aprendizaje Baye-

siano

El algoritmo Aprendizaje Bayesiano tiene un buen desempeno y quiza su principal

virtud sea el que no solo busca algo parecido al objetivo inicial, si no que tam-

bien busca candidatos parecidos al vector promedio, que es calculado con todas

las muestras del objeto encontradas anteriormente. Esto le permite buscar a su

objetivo a pesar de que sufra considerables cambios en su apariencia.

Su principal desventaja es el uso del metodo de optimizacion Nelder-Mead, que

esta basado en puntos de prueba cuyas posiciones son calculadas determinıstica-

mente. Como lo veremos en el siguiente capitulo donde se analizan experimentos y

sus resultados, bajo ciertas condiciones algunos movimientos junto con escenarios

distractores pueden lograr que el objeto se escape.

Un metodo para buscar al objetivo mas eficientemente es el propio mecanismo del

filtro de partıculas, donde incluso se puede incluir informacion a priori sobre el

tipo de movimiento del objeto especificando un modelo de movimiento adecuado.

Aprendizaje Bayesiano hace inferencia para conocer la forma que tendra el des-

criptor del objetivo despues de cierto tiempo, mientras el filtro de partıculas infiere

Page 64: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 52

la posicion que este tendra. Tal vez combinar estas estrategias resulte en un buen

algoritmo.

Basados en esta idea se propone un filtro de partıculas SIR donde los pesos de las

partıculas esten dados por

w(t+1)n =

1√2πσ

[e−

(1−ρ[px,q(t+1)x ])

2σ2 e−(1−ρ[mt,q

(t+1)x ])

2σ2

](5.32)

donde basicamente se utiliza un kernel Gaussiano [24], [25] generado a partir de

otros dos. El primero seria el mismo utilizado por Nummiaro en [23] que nos per-

mitirıa evaluar la similitud entre nuestro objetivo px y algun candidato q(t)x . El

segundo kernel de este componente mide la similitud del promedio bayesiano mt

(5.24) contra el candidato.

Resumen

En este trabajo de tesis se pretende aprender mas sobre las tecnicas en el estado

del arte, para seguimiento de objetos por video. Con esa finalidad se trabajo con

los algoritmos fundamentales, como el filtro de partıculas.

Se implementaron seis algoritmos diferentes, con diferentes descriptores del objeto

y diferentes tecnicas para predecir la ubicacion del objeto. Evaluarlos exhaustiva-

mente nos permitira conocer las ventajas y debilidades de las diferentes aproxima-

ciones.

Las caracterısticas principales de los algoritmos de seguimiento implementados

son:

• El filtro de Partıculas basado en Color (FPC) [23] utiliza un descriptor de

color en el espacio RGB. La busqueda del objetivo la realiza con el esquema

del filtro de partıculas SIR visto en el capitulo anterior.

• El filtro de partıculas de Textura (FPT)[3] tambien se basa en el filtro de

partıculas SIR pero su descriptor trata identificar al objeto por medio de sus

bordes, los cuales se calculan utilizando el operador de Sobel.

• La aproximacion de [4] (FPM) se basa en la diferencias absolutas entre cua-

dros de video consecutivos. Crea un descriptor con el histograma de dichas

Page 65: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 5. Algoritmos de Seguimiento 53

diferencias, argumentando que el movimiento de un objeto producira un

histograma uniforme, es decir cambios de intensidad en casi todos los bins.

Debido a que pierde el objeto si este se queda estatico, o relativamente estati-

co si la camara esta en movimiento, utiliza partıculas fijas en la escena para

detectar cualquier movimiento que pase por ellas, aunque eso nos arriesga a

detectar movimiento de otros objetos distintos al buscado.

• El algoritmo de seguimiento hıbrido [5] (HT) propone mejorar el filtro de

partıculas SIR incluyendo una etapa de aproximacion, anterior al remuestreo,

en la cual las partıculas son desplazadas hacia el objetivo utilizando Mean

Shift [16]. Utiliza un descriptor de color RGB y su mejora promete mejores

resultandos utilizando un menor numero de partıculas que las utilizadas

normalmente.

• Camshift (CS) [6] es un popular algoritmo de seguimiento. Utiliza un des-

criptor de color en el espacio de color HSV de acuerdo a la propuesta original

sin embargo esto no fue muy bueno. Con base en el histograma del objetivo,

crea una imagen de la escena, donde la intensidad de los pixeles esta dada

por la distribucion de la similitud con el objeto. Esta basado en Meanshift

y propone mejorarlo cambiando las dimensiones del area de busqueda en

funcion de la distribucion en el cuadro anterior.

• Aprendizaje Bayesiano (BL) [7] propone utilizar una medida de similitud,

que incluye un promedio bayesiano el cual va registrando como cambia la

apariencia del objetivo con el paso del tiempo. Esta medida de similitud fue

calculada haciendo inferencia precisamente sobre la forma que tendra el des-

criptor del objetivo despues de cierto tiempo, en lugar de inferir su posicion.

El objetivo es localizado utilizando el metodo de optimizacion del simplejo

de Nelder-Mead [30].

• Se propone un algoritmo de seguimiento nuevo (FPBL), un filtro de partıcu-

las que utilice el promedio bayesiano empleado por [7] en la metrica utilizada

para pesar las contribuciones de las partıculas. Esto fue inspirado en los bue-

nos resultados obtenidos con los algoritmos FPC y BL, como se vera en el

siguiente capitulo.

Page 66: Modelos Probabilísticos para el Seguimiento de Objetos en

Capıtulo 6

Experimentos y Resultados

En el capitulo anterior se describieron los diferentes algoritmos utilizados en este

trabajo de tesis, ahora se detallara el marco experimental empleado para evaluar su

desempeno. Con el fin de garantizar una evaluacion justa se probara la efectividad

de cada uno de los algoritmos de seguimiento en diversas situaciones. Para ello se

emplea un conjunto de videos, algunos provenientes de bases de datos reconocidas

como [9],[8], [10] ya que cuentan con archivos que detallan la posicion del objeto,

la cual debe ser estimada por los algoritmos de seguimiento, en cada cuadro de las

secuencias de video. Estos registros de la posicion y dimensiones verdaderas de los

objetivos reciben el nombre de estandar de oro o ”ground-truth”por su nombre en

ingles.

Para diversificar aun mas los diferentes escenarios en la evaluacion se tomaron

otras secuencias de videos, algunas tomadas de Internet, los archivos de estandar

de oro correspondientes a estos videos fueron elaborados detalladamente cuadro

por cuadro.

La importancia de estos registros es que nos permiten utilizar los datos verdaderos

para comparar las predicciones hechas por los algoritmos.

En total se emplearon 20 secuencias de video que ejemplifican diversos escena-

rios, algunas muestran un solo objeto en movimiento con la intencion de presentar

una prueba sencilla para los algoritmos, otras presentan movimientos rapidos y

complejos ası como oclusiones y/o deformaciones. Algunos videos presentan varios

objetos en movimiento ası como el seguimiento de rostros. Esto genera compli-

caciones cuando el objetivo es oculto totalmente de la vista de la camara, por

ejemplo cuando alguna persona se coloque entre el objetivo y la camara o el rostro

54

Page 67: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 55

de una persona se pierda cuando el sujeto de la espalda.

Para efectuar un analisis cualitativo de un algoritmo de seguimiento se debe tomar

en cuenta tanto la precision de la localizacion, el que tan cerca se aproximo el algo-

ritmo a la verdadera posicion, ası como el area de predicion la cual es importante

si se busca que los algoritmos sean robustos a cambios de escala del objeto. Las

siguiente metricas, propuestas en [11], se utilizaron para evaluar los experimentos.

Error de seguimiento (OTE).-, el cual esta dado por la distancia euclidiana

del centro del objeto, segun el estandar de oro, hacia el centro del objeto predicho

por el algoritmo de seguimiento

OTE =1

Nrg

i

√(xgi − xri)

2 + (ygi − yri)2

donde (xgi, ygi) son las coordenada del objeto segun el archivo de estandar de oro

en el i-esimo cuadro de video y (xri, yri) es la posicion predicha por el algoritmo

de seguimiento en ese mismo instante.

Tasa de deteccion de seguimiento (TDR).- Es un indice en funcion de la

cantidad de positivos verdaderos logrados por el algoritmo, que nos caracteriza el

desempeno de algoritmo de seguimiento. Un positivo verdadero se logra cuando

un punto del estandar de oro esta localizado dentro de la zona predicha por el

algoritmo de seguimiento.

TDR =Numero de positivos verdaderos obtenidos del objeto

Numero total de puntos de estandar de oro para el objeto

Error de traslape (OE).- Los objetos a seguir pueden cambiar de escala, alejando-

se o acercandose a la camara, incluso por deformaciones. Esta metrica nos permite

saber que tan robusto es el algoritmo de seguimiento a estos cambios afines. Esta

definido como

OE = 1− T ∩GT ∪G

donde G es el area descrita en el estandar de oro y T es la region predicha por el

algoritmo de seguimiento. Ademas esta medida nos permite saber si el algoritmo

de seguimiento ha perdido al objeto, lo cual sucede cuando el error de traslape es

igual a 1.

Page 68: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 56

Todos los algoritmos se ejecutaron sobre las veinte secuencias de video disponibles.

En el caso de los filtros de partıculas que cuentan con elementos aleatorios razon

por la cual una sola muestra no es suficiente para conocer su desempeno , se

realizaron 100 iteraciones por video y algoritmo. El promedio de estas iteraciones

para cada una de las metrica fueron los datos a evaluar.

Los algoritmos basados en el filtro de partıculas utilizaron 30 partıculas en el caso

de FPC y FPT, mientras FPM utilizo 20 partıculas mas las 16 estaticas. HT utilizo

8 partıculas. A continuacion se hace una descripcion del escenario presentado por

cada video y una discusion de los resultados obtenidos por cada algoritmo de

seguimiento.

6.1. Experimentos

6.1.1. Secuencia de video “Ajedrez”

En esta secuencia de video, un tablero de ajedrez es desplazado sobre un fondo

blanco. Los resultados obtenidos se resumen en la Tabla 6.1

Figura 6.1: Algunos cuadros de la secuencia “Ajedrez”

BL FPC FPT FPM CS HTError de seguimiento 77.8628 72.5904 54.6662 33.5920 144.6258 72.7821Tasa de deteccion 0.8517 0.3470 0.2650 1.0000 0.7287 0.3754Error de traslape 0.5639 0.7420 0.8646 0.3538 0.9003 0.7125

Cuadro 6.1: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Ajedrez”

Revisando las resultados, ver Figura 6.3, los algoritmos pudieron seguir el tablero

durante casi toda la secuencia, salvo por un instante donde BL se perdio y el filtro

Page 69: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 57

0 50 100 150 200 250 3000

50

100

150

200

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Ajedrez

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.2: Errores de seguimiento en la secuencia “Ajedrez”

0 50 100 150 200 250 3000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Ajedrez

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.3: Errores de traslape en la secuencia “Ajedrez”

de partıculas de textura hizo lo mismo hacia el final del video. FPM tiene el menor

error de traslape.

El error de seguimiento, Figura 6.2, y la tasa de deteccion de movimiento en la

Tabla 6.1, nos confirman que en este caso el mejor desempeno es logrado por el filtro

de partıculas de movimiento, esto gracias a que el objeto nunca estuvo estatico

durante la secuencia y es de tamano considerable. Si ponemos atencion a la tabla

de promedio, los algoritmos FPC, FPT y HT obtuvieron un bajo desempeno en

la tasa de deteccion, lo cual nos indica que estos algoritmos siguieron regiones

cercanas mas no al objetivo.

Page 70: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 58

6.1.2. Secuencia de video “Disco”

El objeto a seguir es una caja de cd de tonos oscuros aunque su superficie es

reflejante. Incluso durante un instante del video el objeto refleja luz con lo cual

afecta el comportamiento de los algoritmos al alterar enormemente su apariencia.

Los resultados obtenidos se aprecian a continuacion:

Figura 6.4: Algunos cuadros de la secuencia “Disco”

BL FPC FPT FPM CS HTError de seguimiento 78.9028 87.1633 191.4013 106.1021 145.2309 148.0145Tasa de deteccion 0.1471 0.1206 0.0971 0.2118 0.2118 0.1059Error de traslape 0.8455 0.9165 0.9576 0.8673 0.8673 0.9342

Cuadro 6.2: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Disco”

0 50 100 150 200 250 3000

50

100

150

200

250

300

350

400

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Disco

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.5: Errores de seguimiento en la secuencia “Disco”

En esta ocasion se busco seguir un objeto relativamente pequeno, sobretodo si lo

comparamos con el caso del tablero de ajedrez en el video anterior. De acuerdo a

Page 71: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 59

0 50 100 150 200 250 3000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Disco

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.6: Errores de traslape en la secuencia “Disco”

los resultados en la Tabla 6.2, el FPM no es tan efectivo en este caso. Cuando se

ejecuta el algoritmo se puede observar como el brazo que mueve al objeto desvıa

la atencion del algoritmo.

Los algoritmos basados en color aparentan hacer un mejor trabajo obteniendo

un menor error de seguimiento, ver Figura 6.5 , sin embargo todos presentan un

alto error de traslape. Cuando este alcanza el valor 1 significa que se ha perdido

al objeto, esto sucedio frecuentemente como podemos apreciar en la Figura 6.6.

Analizando la salida se aprecia que otros objetos de similar color distrajeron a los

algoritmos.

6.1.3. Secuencia de video “Girl 1”

Esta secuencia se pretende seguir el rostro de una persona y salvo algunos pequenos

movimientos bruscos y obstruccion casi no hay cambio. Este escenario deberıa ser

sencillo para los algoritmos de seguimiento.

BL FPC FPT FPM CS HTError de seguimiento 23.5797 45.3349 195.5700 122.0507 43.7143 65.5071Tasa de deteccion 0.9330 0.7821 0.0084 0.5279 0.9553 0.2346Error de traslape 0.2488 0.6937 0.9921 0.8974 0.8177 0.7231

Cuadro 6.3: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Girl 1”

Page 72: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 60

Figura 6.7: Algunos cuadros de la secuencia “Girl1”

0 50 100 150 200 250 300 3500

50

100

150

200

250

300

350

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Girl1

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.8: Errores de seguimiento en la secuencia “Girl1”

0 50 100 150 200 250 300 3500

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Girl1

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.9: Errores de traslape en la secuencia “Girl1”

Page 73: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 61

Los algoritmos CS y FPT se equivocan y terminan siguiendo otras regiones dife-

rentes al rostro como lo indica la informacion de la Figura 6.9. Los algoritmos con

descriptores de color se muestran mas robustos, ver Figura 6.8, aunque tomando

en cuenta la tasa de deteccion ası como el error de traslape como se muestran

en la Tabla 6.3, el algoritmo de BL fue mas efectivo aunque FPC y HT tambien

muestran un buen funcionamiento.

6.1.4. Secuencia de video “Girl2”

De nueva cuenta se intenta seguir un rostro, en esta ocasion la persona realiza

mayor cantidad de movimientos e incluso durante un instale el rostro es ocluido

casi totalmente.

Figura 6.10: Algunos cuadros de la secuencia “Girl2”

BL FPC FPT FPM CS HTError de seguimiento 23.4009 56.9699 157.5216 132.0969 48.3643 108.6927Tasa de deteccion 0.9775 0.1557 0.0273 0.1734 0.8828 0.0851Error de traslape 0.3024 0.8618 0.9941 0.9109 0.8260 0.8852

Cuadro 6.4: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Girl 2”

BL funciona mejor que el resto de los algoritmos en las tres metricas evaluadas,

ver 6.4. FPC y HT igual logran buenos resultados aunque se pierden hacia el final

del video, ver Figuras 6.11 y 6.12. CS presento un comportamiento bueno aunque

tambien termino por perderse.

Page 74: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 62

0 100 200 300 400 500 6000

50

100

150

200

250

300

350

400

450

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Girl2

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.11: Errores de seguimiento en la secuencia “Girl2”

0 100 200 300 400 500 6000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Girl2

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.12: Errores de traslape en la secuencia “Girl2”

6.1.5. Secuencia de video “Girl3”

Este es un video del proyecto [9] utilizado tambien en PETS. Se muestran escenas

de una camara de vigilancia en el pasillo de un centro comercial. El objetivo en

este experimento es seguir a una persona que se aleja de la camara y estos fueron

los resultados obtenidos:

En este video FPT logra un bajo error de seguimiento en la segunda mitad de la

secuencia de video, ver Figura 6.14 , pero resulta enganoso pues como se aprecia

en la Figura 6.15, el algoritmo no estaba siguiendo al objeto. CS tienen una alta

tasa de deteccion, Tabla 6.5, pero es porque tiende a predecir que el objeto se

encuentra en una gran area de la imagen con lo cual cubre la region verdadera.

Page 75: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 63

Figura 6.13: Algunos cuadros de la secuencia “Girl3”

BL FPC FPT FPM CS HTError de seguimiento 136.3421 99.3028 79.1431 113.1228 72.3945 108.3529Tasa de deteccion 0.1954 0.2089 0.0503 0.2012 1.0000 0.0135Error de traslape 0.8884 0.8812 0.9922 0.9891 0.9721 0.9684

Cuadro 6.5: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Girl 3”

0 50 100 150 200 250 300 350 400 450 5000

50

100

150

200

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Girl3

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.14: Errores de seguimiento en la secuencia “Girl3”

FPC y BL siguen al objetivo durante un corto tiempo, pero una vez que se ale-

ja bastante de la camara lo pierden, lo cual es entendible pues los pixeles que

representan al objeto no son muchos y son necesarios para el descriptor de color.

6.1.6. Secuencia de video “Motinas Emilio”

Es un video sencillo tomado desde una webcam, forma parte de la base de [8].

La resolucion de la camara resulta un gran problema sumado a las oclusiones y

Page 76: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 64

0 50 100 150 200 250 300 350 400 450 5000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Girl3

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.15: Errores de traslape en la secuencia “Girl3”

movimientos rapidos presentados durante la secuencia. Se persigue el rostro de

una persona, movimientos rapidos y oclusiones estan presentes.

Este resulta un escenario difıcil pues se pierden todos los algoritmos, recuperando

Figura 6.16: Algunos cuadros de la secuencia “Motinas Emilio”

BL FPC FPT FPM CS HTError de seguimiento 97.1275 95.7133 87.6851 99.9893 97.8464 133.0949Tasa de deteccion 0.0697 0.0697 0.0090 0.0270 0.3730 0.0449Error de traslape 0.9438 0.9563 0.9875 0.9827 0.9708 0.9676

Cuadro 6.6: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Motinas Emilio”

el objetivo a momentos y esto se refleja tanto en las Figuras 6.23 y 6.24 ası como

en la Tabla 6.6 donde se aprecian grandes errores de seguimiento, bajo traslape y

una baja tasa de deteccion. El desempeno de los algoritmos BL, FPC y HT es muy

similar entre ellos y mejor al resto, sin embargo el error de seguimiento y traslape

Page 77: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 65

0 50 100 150 200 250 300 350 4000

50

100

150

200

250

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Motinas Emilio

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.17: Errores de seguimiento en la secuencia “Motinas Emilio”

0 50 100 150 200 250 300 350 4000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Motinas Emilio

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.18: Errores de traslape en la secuencia “Motinas Emilio”

son en general grandes pero aceptables pues siguieron muy de cerca al objeto a

pesar de sus movimientos rapidos y demas condiciones adversas.

6.1.7. Secuencia de video “Motinas Multi-Face”

En esta secuencia se persigue el rostro de una persona entre un grupo de cuatro.

El objetivo esta en constante movimiento provocando severas oclusiones lo cual

supone un escenario bastante difıcil para hacer el seguimiento. Es parte de la base

de videos [8].

De acuerdo a los que observa en la Figura 6.21 los algoritmos no obtienen buenos

resultados, los mejores segun la informacion en la Tabla 6.7 son FPC y BL aunque

es natural que lo pierdan durante las oclusiones totales. El error de seguimiento,

Page 78: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 66

Figura 6.19: Algunos cuadros de la secuencia “Motinas Multi-Face”

BL FPC FPT FPM CS HTError de seguimiento 144.6546 115.1192 83.6874 245.3144 205.1241 149.1141Tasa de deteccion 0.1852 0.0471 0.0101 0.0067 0.8384 0.0269Error de traslape 0.8870 0.9032 0.9920 0.9977 0.9759 0.9687

Cuadro 6.7: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Motinas Multi-Face”

0 50 100 150 200 2500

50

100

150

200

250

300

350

400

450

500

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Motinas Multi−Face

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.20: Errores de seguimiento en la secuencia “Motinas Multi-face”

Figura 6.20, es de nueva cuenta enganoso pues nos dice que el mejor desempeno

fue logrado por el FPT, sin embargo al observar el Error de Traslape en el cual

podemos notar que este tracker perdio al objetivo desde los primeros cuadros.

6.1.8. Secuencia de video “Motinas Toni”

La secuencia de video muestra a una persona de la cual se pretende seguir su rostro.

Esto no es sencillo pues la persona esta en constante movimiento, incluso voltea

Page 79: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 67

0 50 100 150 200 2500

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Motinas Multi−Face

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.21: Errores de traslape en la secuencia “Motinas Multi-Face”

dando la espalda a la camara, evidentemente durante estos instantes el objetivo se

encuentra totalmente ocluido y se espera que los algoritmos fallen. Tambien forma

parte de la base de video [8].

Figura 6.22: Algunos cuadros de la secuencia “Motinas Toni”

BL FPC FPT FPM CS HTError de seguimiento 68.9185 38.0659 129.6360 117.1712 314.8701 88.5345Tasa de deteccion 0.7150 0.5234 0.0164 0.0584 0.1425 0.3014Error de traslape 0.6954 0.6815 0.9910 0.9662 0.9862 0.8086

Cuadro 6.8: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Motinas Toni”

Los algoritmos FPC y BL logran un mejor desempeno, ver Tabla 6.8, incluyendo

un bajo error de seguimiento, seguidos por HT. Sin embargo cuando se presenta

la mayor oclusion, poco despues del cuadro 200 en el video como se aprecia en la

Page 80: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 68

0 50 100 150 200 250 300 350 4000

50

100

150

200

250

300

350

400

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Motinas Toni

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.23: Errores de seguimiento en la secuencia “Motinas Toni”

0 50 100 150 200 250 300 350 4000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Motinas Toni

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.24: Errores de traslape en la secuencia “Motinas Toni”

Figura 6.24, el objetivo da la espalda a la camara durante un instante, es HT el

que mejor logra reconocer el objetivo a pesar de su cambio.

En general FPC consiguio el mejor resultado tanto en error de seguimiento como

de traslape, sin embargo BL presenta una tasa de deteccion mayor.

6.1.9. Secuencia de video “Pelea”

Este video proviene de la base de videos [9] y corresponde a una camara de segu-

ridad que registra una pelea entre dos individuos. Se busca hacer el seguimiento

del agresor. Este ultimo llega a alejarse demasiado de la camara.

Con la excepcion del FPC, todos los algoritmos de seguimiento se pierden en

los primeros cuadros de video, Figura 6.27. Solo FPC mantiene el seguimiento del

Page 81: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 69

Figura 6.25: Algunos cuadros de la secuencia “Pelea”

BL FPC FPT FPM CS HTError de seguimiento 101.1120 17.1193 135.1525 69.1761 96.3901 140.6793Tasa de deteccion 0.0048 0.6202 0.0048 0.0144 0.9952 0.0096Error de traslape 0.9915 0.7724 0.9998 0.9939 0.9996 0.9831

Cuadro 6.9: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Pelea”

0 20 40 60 80 100 120 140 160 180 2000

20

40

60

80

100

120

140

160

180

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Pelea

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.26: Errores de seguimiento en la secuencia “Pelea”

objetivo durante casi toda la secuencia. HT y BL perdieron el objetivo alrededor

del cuadro de video numero 20. En la parte final del video FPC tambien pierde al

objetivo aunque en este momento se encuentra muy alejado de la camara por lo

que muy pocos pixeles lo representan.

6.1.10. Secuencia de video “Floor”

Se observa a una persona que camina y de repente cae al suelo, manteniendose

estatico durante un tiempo. Forma parte de la base de videos [9] . Salvo los pocos

Page 82: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 70

0 20 40 60 80 100 120 140 160 180 2000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Pelea

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.27: Errores de traslape en la secuencia “Pelea”

pixeles que representan al objetivo debido a su tamano y posicion con respecto a

la camara, no deberıa ser gran problema para los algoritmos de seguimiento.

Figura 6.28: Algunos cuadros de la secuencia “Floor”

BL FPC FPT FPM CS HTError de seguimiento 26.3826 15.6084 144.2248 131.2490 66.6640 143.0745Tasa de deteccion 0.4784 0.4529 0.0025 0.0076 0.0992 0.0051Error de traslape 0.7433 0.7059 0.9999 0.9995 0.9912 0.9900

Cuadro 6.10: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Floor”

De nueva cuenta los algoritmos basados en color, salvo HT, funcionan mejor si-

guiendo al objetivo muy de cerca, Figura 6.30, mientras el resto lo pierden como

podemos apreciar de acuerdo al error de traslape, ver Figura 6.30. BL pierde al

objetivo cuando este es muy pequeno por estar alejado de la camara. En general

BL y FPC tuvieron un desempeno similar como consta en los datos de la Tabla

6.10.

Page 83: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 71

0 50 100 150 200 250 300 3500

50

100

150

200

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Floor

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.29: Errores de seguimiento en la secuencia “Floor”

0 50 100 150 200 250 300 3500

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Floor

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.30: Errores de traslape en la secuencia “Floor”

6.1.11. Secuencia de video “Shop”

Esta es otra toma de una camara de seguridad perteneciente a [9]. Se graba la

entrada de una tienda y se observa a una persona entrar y salir. Al no haber otros

objetos en movimiento FPM deberıa ser favorecido.

BL FPC FPT FPM CS HTError de seguimiento 25.5351 31.2350 167.1295 107.7132 147.2371 161.6361Tasa de deteccion 0.8800 0.3160 0.0440 0.2800 0.0320 0.0200Error de traslape 0.4626 0.8073 0.9991 0.9758 0.9951 0.9674

Cuadro 6.11: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Shop”

Page 84: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 72

Figura 6.31: Algunos cuadros de la secuencia “Shop”

0 50 100 150 200 2500

50

100

150

200

250

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Shop

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.32: Errores de seguimiento en la secuencia “Shop”

0 50 100 150 200 2500

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Shop

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.33: Errores de traslape en la secuencia “Shop”

Page 85: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 73

FPT, FPM, CS y HT pierden al objetivo despues de unos cuadros. El objetivo

continuamente se mantiene estatico perdiendo al filtro de partıculas basado en

movimiento. BL y FPC logran seguir a la persona eficientemente, ver Figuras 6.32

y 6.33. El algoritmo BL se comporta mejor, sobre todo poniendo atencion al error

de traslape y la tasa de deteccion, ver la Tabla 6.11. Aunque hay que mencionar

que BL hace una busqueda explicita por las dimensiones de la region elıptica

que mejor se adapten al objetivo despues de localizarlos, en cambio el filtro de

partıculas las determina como parte del estado medio de las partıculas.

6.1.12. Secuencia de video “Chair”

Esta es otra de las secuencias de video difıciles, pertenecientes a [9] . Una persona

recorre un pasillo hasta sentarse en una silla durante un tiempo, despues regresa.

La persona se aleja demasiado de la camara siendo representado por pocos pixeles,

ademas la presencia de colores similares a la ropa del objetivo agrega oclusion.

Figura 6.34: Algunos cuadros de la secuencia “Chair”

BL FPC FPT FPM CS HTError de seguimiento 197.3017 123.4095 85.8771 100.9951 212.8287 136.1810Tasa de deteccion 0.0072 0.0895 0 0.0058 1.0000 0.0043Error de traslape 0.9966 0.9655 0.9992 0.9856 0.9995 0.9880

Cuadro 6.12: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Chair”

Todos los algoritmos de seguimiento se perdieron antes de llegar al cuadro numero

100 del video, siendo FPC el cual siguio al objetivo durante un poco mas, ver Fi-

gura 6.36. Las condiciones de este video aparentan ser difıciles para los algoritmos,

principalmente por que el objeto es muy pequeno.

Page 86: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 74

0 100 200 300 400 500 6000

50

100

150

200

250

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Chair

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.35: Errores de seguimiento en la secuencia “Chair”

0 100 200 300 400 500 6000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Chair

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.36: Errores de traslape en la secuencia “Chair”

6.1.13. Secuencia de video “Camaleon”

El objetivo a seguir es un camaleon que en principio se muestra con texturas color

verde y cafe, pero lentamente va cambiando su color a tonalidades rojas y ama-

rillas. Servira para probar la adaptabilidad de los algoritmos basados en color a

cambios en la apariencia del objetivo.

BL FPC FPT FPM CS HTError de seguimiento 102.1867 53.3410 155.8361 85.6656 168.2283 123.4569Tasa de deteccion 0.6016 0.0951 0.0344 0.2918 0.7393 0.0754Error de traslape 0.7177 0.9242 0.9863 0.7919 0.9697 0.9245

Cuadro 6.13: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “‘Camaleon”

Page 87: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 75

Figura 6.37: Algunos cuadros de la secuencia “Camaleon”

0 100 200 300 400 500 6000

50

100

150

200

250

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Camaleon

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.38: Errores de seguimiento en la secuencia “Camaleon”

0 100 200 300 400 500 6000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Camaleon

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.39: Errores de traslape en la secuencia “Camaleon”

Page 88: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 76

A pesar de contar con mecanismos para la actualizacion del histograma, los algo-

ritmos basados en descriptores de color no pudieron adaptarse tan bien al cambio.

Analicemos los datos de la Tabla 6.13 y las Figuras 6.38 y 6.38. En cuanto a error

de seguimiento FPC tiene el mejor desempeno seguido por FPM y BL. Como en

los experimentos anteriores sabemos que este dato no es definitivo pues si ponemos

atencion a la tasa de deteccion, el porcentaje de veces que la prediccion incluye

al centro del objeto, vemos que para FPC es muy baja, siendo mejor el algoritmo

BL, CS tiene una mejor tasa, pero es porque presenta una tendencia abarcar una

gran area con su prediccion. El error de traslape vuelve a favorecer a BL, con FPM

muy cercano. FPM pareciera ser la mejor opcion en este caso, pero en el escena-

rio no habıa otros objetos en movimiento a parte del objetivo que distrajeran al

algoritmo.

6.1.14. Secuencia de video “Carrera”

Se muestran escenas de una carrera de autos, con la camara ubicada en el para-

brisas de un carro. El objeto a seguir es otro vehıculo posicionado enfrente y que

trata de bloquear el paso.

Figura 6.40: Algunos cuadros de la secuencia “Carrera”

BL FPC FPT FPM CS HTError de seguimiento 19.5769 19.5943 43.0907 60.9414 10.3791 79.4638Tasa de deteccion 0.9503 0.7330 0.0157 0.1911 1.0000 0.2382Error de traslape 0.4130 0.6597 0.9365 0.8369 0.7653 0.8034

Cuadro 6.14: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Carrera”

Page 89: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 77

0 50 100 150 200 250 300 3500

20

40

60

80

100

120

140

160

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Carrera

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.41: Errores de seguimiento en la secuencia “Carrera”

0 50 100 150 200 250 300 3500

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Carrera

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.42: Errores de traslape en la secuencia “Carrera”

BL y FPC tuvieron un excelente funcionamiento como se aprecia en las Figuras

6.41 y 6.42, aunque hay que tomar en cuenta que el escenario no es muy compli-

cado, incluso BL logro un error de traslape bajo, ver Tabla 6.14. Los algoritmos

FPT, FPM y CS no tuvieron un desempeno tan malo como en los anteriores ex-

perimentos, cabe resaltar que FPM se comporto mejor de lo esperado pues en este

escenario la camara esta en movimiento y sin embargo el objetivo presento un

movimiento relativo mayor al resto de los objetos observados lo cual ayudo a su

identificacion.

Page 90: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 78

6.1.15. Secuencia de video “Ladron”

Este video presenta el obstaculo de tener poca resolucion. Hay varios objetos en

movimiento ademas del objetivo y por si fuera poco hacia el final de la secuencia

el objetivo, un ladron, se aleja demasiado siendo casi imperceptible.

Figura 6.43: Algunos cuadros de la secuencia “Ladron”

BL FPC FPT FPM CS HTError de seguimiento 124.0535 46.0770 86.7658 58.1911 40.2049 106.3954Tasa de deteccion 0.1383 0.3344 0.0225 0.5756 1.0000 0.0161Error de traslape 0.9198 0.8301 0.9906 0.8799 0.8672 0.9509

Cuadro 6.15: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Ladron”

0 50 100 150 200 250 3000

50

100

150

200

250

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Ladron

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.44: Errores de seguimiento en la secuencia “Ladron”

Observando el error de traslape en la Figura 6.45 vemos que difıcilmente los algo-

ritmos fueron capaces de seguir al objetivo. BL y HT no funcionaron bien en este

escenario, al igual que la mayorıa de los algoritmos se perdieron despues de pocos

Page 91: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 79

0 50 100 150 200 250 3000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Ladron

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.45: Errores de traslape en la secuencia “Ladron”

cuadros, ver Tabla 6.15. FPC presenta el mejor resultado sin embargo su error de

traslape es grande, FPM pudo seguir al objetivo solo intermitentemente.

6.1.16. Secuencia de video “Hide”

Se sigue a una persona que camina alrededor de una caja, la cual llega a ocultarlo

totalmente en varias ocasiones aunque el objetivo vuelve a aparecer en escena. Fue

tomado de la base de videos [10].

Figura 6.46: Algunos cuadros de la secuencia “Hide”

El algoritmo BL logro un mejor seguimiento que el resto, obteniendo una mayor

tasa de deteccion ası como un menor error de traslape y seguimiento segun consta

en las Figuras 6.48 y 6.47. La metrica utilizada por FPC y HT falla, pierde al

objetivo en una situacion aparentemente sencilla cuando la persona se coloca sobre

un fondo diferente. Con excepcion de Bl, todos los algoritmos pierden al objetivo

Page 92: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 80

BL FPC FPT FPM CS HTError de seguimiento 26.9580 52.0740 52.7746 67.8350 52.7623 95.3669Tasa de deteccion 0.8506 0.5086 0.1897 0.9856 0.7557 0.2902Error de traslape 0.4631 0.7213 0.9591 0.8564 0.8404 0.8391

Cuadro 6.16: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Hide”

0 50 100 150 200 250 3000

20

40

60

80

100

120

140

160

180

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Hide

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.47: Errores de seguimiento en la secuencia “Hide”

0 50 100 150 200 250 3000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Hide

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.48: Errores de traslape en la secuencia “Hide”

Page 93: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 81

al pasar por enfrente de la caja, pero aun contrastando con este. De nueva cuenta

son los algoritmos con descriptor de color los mas robustos, ver Tabla 6.16.

6.1.17. Secuencia de video “Box”

Se hace el seguimiento de una persona que en un principio lleva cargando una caja,

para despues abandonarla sobre el pasillo. Tomado de [9] . Es de esperar que los

algoritmos fallen pues el descriptor a seguir tomado al principio del video, cuando

una persona carga una caja, difiere mucho de la persona una vez que ha dejado la

carga.

Figura 6.49: Algunos cuadros de la secuencia “Box”

BL FPC FPT FPM CS HTError de seguimiento 71.9429 79.0932 72.2985 102.9829 64.0538 116.4507Tasa de deteccion 0.1333 0.0812 0.0058 0.0377 0.4870 0.0058Error de traslape 0.9555 0.9630 0.9999 0.9981 0.9914 0.9930

Cuadro 6.17: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Box”

Todos los algoritmos fallaron al seguir al objetivo en esta escena, ver Figura 6.51.

La mayorıa lo pierde desde el inicio por la poca informacion, pues el objetivo es

muy pequeno. FPC y BL logran seguir a la persona durante algunos cuadros pero

fallan cuando esta deja la caja. Aparentemente el cambio fue mucho y muy rapido

lo cual impidio a los algoritmos adaptarse.

Page 94: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 82

0 50 100 150 200 250 3000

20

40

60

80

100

120

140

160

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Box

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.50: Errores de seguimiento en la secuencia “Box”

0 50 100 150 200 250 3000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Box

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.51: Errores de traslape en la secuencia “Box”

6.1.18. Secuencia de video “Smoke”

Se trata de seguir a una persona en una secuencia donde es cubierta por humo,

pertenece a la base de videos [10]. Hay otra persona en movimiento y el humo

llega a cubrir totalmente al objetivo durante un instante ademas de que sale par-

cialmente de la toma.

BL FPC FPT FPM CS HTError de seguimiento 82.4071 27.7702 124.5047 71.8863 92.8492 78.5076Tasa de deteccion 0.2864 0.7060 0.0854 0.4372 1.0000 0.2563Error de traslape 0.8975 0.6839 0.9885 0.8990 0.9638 0.8555

Cuadro 6.18: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Smoke”

Page 95: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 83

Figura 6.52: Algunos cuadros de la secuencia “Smoke”

0 50 100 150 200 250 300 3500

50

100

150

200

250

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Smoke

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.53: Errores de seguimiento en la secuencia “Smoke”

0 50 100 150 200 250 300 3500

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Smoke

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.54: Errores de traslape en la secuencia “Smoke”

Page 96: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 84

En este experimento FPC se desempeno mejor que el resto de los algoritmos, con

una diferencia bastante notable en las tres metricas utilizadas, ver Tabla 6.18. BL

y HT funcionan bien solo por algunos instantes, lo cual se aprecia muy bien en

la Figura 6.54. Durante un instante del video, parte del objetivo sale del cuadro,

con lo cual BL se pierde. Cuando la persona es totalmente cubierta por humo,

alrededor del cuadro 240, todos los algoritmos fallan como era de esperarse.

6.1.19. Secuencia de video “Smoke Car”

Se pretende seguir a un vehıculo mientras se acerca a la camara, tambien parte de

[10]. Durante la secuencia de video el vehıculo pasa por detras de un arbol y una

nube densa de humo.

Figura 6.55: Algunos cuadros de la secuencia “Smoke Car”

BL FPC FPT FPM CS HTError de seguimiento 92.0452 37.5235 125.5765 86.1127 95.2721 117.0375Tasa de deteccion 0.3241 0.3492 0 0 0.6834 0.0126Error de traslape 0.7397 0.7856 0.9997 0.9956 0.9885 0.9484

Cuadro 6.19: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Smoke Car”

Todos los algoritmos presentaron una tasa de deteccion baja, Tabla 6.19, ignoran-

do a CS pues como ya se ha dicho tiende a predecir la posicion del objeto en una

zona muy grande cubriendo al objetivo ademas de otras cosas. FPC supera a los

demas con error de seguimiento promedio mayor a 37 pixeles durante la secuencia.

Bl perdio al objetivo cuando este quedo oculto por un arbol y no pudo recuperarlo.

Page 97: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 85

0 50 100 150 200 250 300 3500

50

100

150

200

250

300

350

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Smoke Car

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.56: Errores de seguimiento en la secuencia “Smoke Car”

0 50 100 150 200 250 300 3500

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Smoke Car

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.57: Errores de traslape en la secuencia “Smoke Car”

6.1.20. Secuencia de video “Street”

Otro ejemplo de seguimiento de vehıculos con una camara montada sobre el para-

brisas. Esta vez se trata de un video en las calles de una ciudad ademas de trafico

real.

BL FPC FPT FPM CS HTError de seguimiento 23.1957 25.1670 87.8051 189.9281 102.3463 73.1506Tasa de deteccion 0.9967 0.9148 0.0098 0.0049 1.0000 0.3918Error de traslape 0.6988 0.6740 0.9808 0.9944 0.9981 0.8130

Cuadro 6.20: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Street”

Page 98: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 86

Figura 6.58: Algunos cuadros de la secuencia “Street”

0 100 200 300 400 500 6000

50

100

150

200

250

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Street

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid Tracker

Figura 6.59: Errores de seguimiento en la secuencia “street”

0 100 200 300 400 500 6000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Street

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

Figura 6.60: Errores de traslape en la secuencia “Street”

Page 99: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 87

Demasiados objetos en movimiento vuelven muy inestable al FPM, ver Figuras

6.59 y 6.60. De igual manera la gran cantidad de textura hace perderse al FPT.

Camshift obtuvo buenos resultados aunque su area de prediccion cubrio gran parte

de la imagen, lo que le ayudo a obtener una gran tasa de deteccion por abarcar el

area alrededor del centro del objetivo, mas no toda su superficie lo que implico un

alto error de solapamiento como se observa en la Tabla 6.20.

Los algoritmos con descriptor de color siguen muy bien al vehıculo objetivo, in-

cluyendo a HT, pero son BL y FPC los que dan mejor resultado.

Page 100: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 88

6.1.21. Experimentos FPBL

A partir de los resultados obtenidos es claro que los mejores algoritmos, entre los

evaluados, son Aprendizaje Bayesiano y el Filtro de Partıculas de color. Como se

explico en el capitulo anterior, la propuesta de un filtro de partıculas que incluyera

la influencia del promedio bayesiano surgio a partir de estos resultados.

Se realizaron las mismas pruebas pero los resultados no indicaron una mejora sig-

nificativa con respecto a los otros dos, el comportamiento de este nuevo algoritmo

no se diferencia mucho en su desempeno al del filtro de partıculas basado en color.

A continuacion se muestran los resultados obtenidos con esta propuesta para tres

secuencias de video particulares.

Secuencia de video Girl 1

BL FPC FPT FPM CS HT FPBLOTE 23.5797 45.3349 195.5700 122.0507 43.7143 65.5071 49.4664TDR 0.9330 0.7821 0.0084 0.5279 0.9553 0.2346 0.3575OE 0.2488 0.6937 0.9921 0.8974 0.8177 0.7231 0.7684

Cuadro 6.21: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Girl1”

0 50 100 150 200 250 300 3500

50

100

150

200

250

300

350

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Girl 1

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

FP−BL

Figura 6.61: Errores de seguimiento en la secuencia “Girl1”

Page 101: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 89

0 50 100 150 200 250 300 3500

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Girl 1

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

FP−BL

Figura 6.62: Errores de traslape en la secuencia “Girl1”

Page 102: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 90

Secuencia de video Motinas Toni

BL FPC FPT FPM CS HT FPBLOTE 68.9185 38.0659 129.6360 117.1712 314.8701 88.5345 33.0399TDR 0.7150 0.5234 0.0164 0.0584 0.1425 0.3014 0.8925OE 0.6954 0.6815 0.9910 0.9662 0.9862 0.8086 0.5628

Cuadro 6.22: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Motinas Toni”

0 50 100 150 200 250 300 350 4000

50

100

150

200

250

300

350

400

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Motinas Toni

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

FP−BL

Figura 6.63: Errores de seguimiento en la secuencia “Motinas Toni”

0 50 100 150 200 250 300 350 4000

0.2

0.4

0.6

0.8

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Motinas Toni

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

FP−BL

Figura 6.64: Errores de traslape en la secuencia “Motinas Toni”

Page 103: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 91

Secuencia de video Hide

BL FPC FPT FPM CS HT FPBLOTE 26.9580 52.0740 52.7746 67.8350 52.7623 95.3669 54.1549TDR 0.8506 0.5086 0.1897 0.9856 0.7557 0.2902 0.4713OE 0.4631 0.7213 0.9591 0.8564 0.8404 0.8391 0.7354

Cuadro 6.23: Promedio del desempeno de los algoritmos de seguimiento en lasecuencia “Hide”

0 50 100 150 200 250 3000

20

40

60

80

100

120

140

160

180

Cuadros de la secuencia de video

OT

E (

Err

or d

e S

egui

mie

nto

del O

bjet

o)

Video Hide

Bayesian LearningFP ColorFP TexturaFP MovimientoCamShiftHybrid TrackerFP−BL

Figura 6.65: Errores de seguimiento en la secuencia “Hide”

Si analizamos las graficas anteriores es claro que tiene un comportamiento muy

similar al filtro de partıculas basado en color, y si existen diferencias pero no

significativas. Se esperaba por ejemplo, poder evitar el problema que se encontro en

la secuencia de video Hide. En esta se sigue a una persona pero al pasar frente a

una caja, cambiando el fondo que lo rodea, FPC perdıa al objetivo mientras BL

0 50 100 150 200 250 3000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Cuadros de la secuencia de video

OE

(E

rror

de

Tra

slap

e)

Video Hide

Bayesian Learning

FP Color

FP Textura

FP Movimiento

CamShift

Hybrid Tracker

FP−BL

Figura 6.66: Errores de traslape en la secuencia “Hide”

Page 104: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 92

no lo hacia. FPBL presento el mismo problema como consta en la figura 6.66.

En el siguiente analisis, se discuten a detalle los problemas que presento cada

algoritmo y en especial se revisa la propuesta hecha.

6.2. Discusion de los Resultados

La teorıa detras de cada algoritmo ası como los resultados obtenidos en los expe-

rimentos de este capitulo, fueron analizados cuidadosamente con la intencion de

entender mejor el funcionamiento los algoritmos y bajo que circunstancias pueden

trabajar optimamente ası como saber la razon de sus fallas.

Filtro de Partıculas de Color

Este algoritmo fue de los mejores durante las pruebas. Generalmente fallo en si-

tuaciones donde se tenia poca informacion sobre el objetivo, pues este era pequeno

dentro la imagen lo cual implica ser representado por muy pocos pixeles. Ejemplo

de esto se puede apreciar el en el video “Chair”. El objetivo tambien fallo cuando

el objeto cambiaba drasticamente en apariencia como en el caso de las secuencias

de video “Camaleon” y “Box”.

Un caso curioso se presento en los experimentos con la secuencia de video “Hide”,

en el cual se trato de hacer seguimiento de una persona que pasa alrededor de

una caja. El algoritmo falla cuando el objetivo pasa frente a la caja, ver Figura

6.67. En todas las iteraciones del experimentos, 100 repeticiones, FPC presento el

mismo comportamiento como puede verificarse en las Figuras 6.47 y 6.48.

La influencia de cada pıxel sobre los histogramas esta pesada de acuerdo a su cer-

canıa con el centro del area de la partıcula [2], de manera que el cambio de fondo

no deberıa afectar mucho los histogramas. Ejemplo de esto es el hecho de que el

mismo esquema, utilizar una Gaussiana para pesar pixeles lejanos del centro, es

utilizado en el algoritmo BL y sin embargo este no se pierde.

La causa del error parece ser una falla en la distancia utilizada por FPC, se

esta asignando pesos grandes a partıculas en posiciones que no corresponden al ob-

jeto. Incluso en la figura 6.67 podemos ver algunas partıculas que sı estan siguiendo

al objetivo pero son minorıa. En este error tambien podrıa influir el esquema que

utilizan Nummiaro et al en [2] para actualizar el histograma de referencia.

Page 105: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 93

Figura 6.67: Algunos cuadros de la secuencia “Hide” mientras se evalua eldesempeno del algoritmo FPC. El ovalo azul indica la prediccion del algoritmoy el circulo rojo su centro. Los cırculos verdes representan el centro de la posicion

de las partıculas.

Filtro de Partıculas de Textura

Este algoritmo no presento buenos resultados en las pruebas. Solo obtuvo un com-

portamiento aceptable en el experimento de la secuencia “Ajedrez”. Es necesario

decir que el descriptor utilizado no es muy bueno, es un histograma de orientacio-

nes de gradientes de tan solo 4 bins. Es facil de calcular pero no es un descriptor

de textura robusto. Existen descriptores de textura mas confiables aunque involu-

cran un mayor costo computacional por ejemplo [31]. En general este algoritmo es

usado en modelos que implican su combinacion con otros rasgos, por ejemplo [3]

y [32].

Filtro de Partıculas de Movimiento

Para hacer seguimiento de un solo objeto, este tracker es una buena opcion. Siem-

pre y cuando el objeto a seguir sea el unico en movimiento dentro de la escena.

Esta propuesta de [4] es computacionalmente barata y da buenos resultados solo

bajo las condiciones ya mencionadas, pues no incluye mecanismo alguno para dife-

renciar entre varios objetos en movimiento. Facilmente puede perder a los objetos

si estos se quedan inmoviles durante un tiempo.

Algunos algoritmos incorporan detectores de movimiento basados en la diferencia

de cuadros consecutivos o utilizando un cuadro de referencia, por ejemplo [33], en el

cual se hace una clasificacion de los diferentes objetos como objetos en movimiento

o parte de un fondo.

Page 106: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 94

Hybrid tracker

En [5] los autores de este algoritmo hacen una pequena comparacion, utilizando

tan solo 3 videos relativamente sencillos, del desempeno de su algoritmo contra

el filtro del partıculas basado en color de Nummiario [23] ası como Mean shift de

Comaniciu [26]. Sus resultados reportan que HT es mas eficiente que los otros dos,

lo cual contrasta con los resultados obtenidos en este trabajo. Hay que senalar

que en [5] se utiliza un modelo de movimiento adaptivo. Este va aprendiendo la

razon de cambio de la velocidad del objeto a seguir. No especifican que modelo de

movimiento utilizo la version del filtro de partıculas de color que emplearon.

Para las pruebas realizadas en esta tesis, con los 4 diferentes filtros de partıculas

se considero el uso de un modelo de movimiento lineal, esto para efecto de una

comparacion mas justa. Bajo estas condiciones HT fue menos efectivo que el filtro

de partıculas basado en color.

Es cierto lo que senalan los autores de HT al decir que se necesita una menor

cantidad de partıculas pues mean shift las acerca a casi todas hacia la misma zona.

En los experimentos se utilizaron 30 partıculas en todos los filtros de partıculas,

salvo en HT donde se usaron tan solo 8. Sin embargo el calculo requerido en el

paso de Mean Shift es muy costoso, depende en gran medida del tamano de la

ventana de muestreo. En escenarios complejos y con objetos de fondo diferentes

al objetivo, MeanShift lleva las partıculas hacia un mınimo optimo, el problema

es que frecuentemente se presentan mınimos locales lo cual produce la perdida de

HT.

CamShift

De acuerdo a la propuesta original de Bradski [6], se utilizo un descriptor de color

basado en el canal Hue del espacio de color Hue Saturation Value (HSV). Este es-

pacio tiene la caracterıstica de ser mas robusto a cambios en la iluminacion. Para

los experimentos se utilizaron histogramas de 32 bins del canal Hue. Sin embargo

el mismo Bradski senala [6] que en la practica el espacio HSV genera problemas

cuando en el canal V (el brillo) se tienen valores cercanos a cero, porque la sa-

turacion tambien tiende a cero y provoca que el dominio del canal Hue (el color)

sea muy pequeno. Muy pocos bins discretos son insuficientes para representar los

cambios de color fielmente.

Para evitar esta problematica simplemente se filtran aquellos pixeles con muy poco

Page 107: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 95

brillo. Esto implica tener que ajustar un limite para los valores de saturacion y

brillo no solo para diferentes cameras, si no tambien diferentes condiciones del luz.

Camshift es muy sensible a estos parametros, y debido a que las pruebas se hicie-

ron con video tomados de diferentes camaras y muy diferentes escenarios es difıcil

definir valores que produzcan el mejor resultado siempre. Esta es la principal cau-

sa del mal desempeno del algoritmo y serıa muy aconsejable usar un descriptor

diferente.

Otro problema de Camshift se produce al hacer la busqueda de pixeles muy pare-

cidos al histograma Hue de referencia y centrar su zona de prediccion. Para esto

se calcula el valor Hue de cada pixel de la imagen, y cuando se presentan varias

zonas con pixeles semejantes al objetivo, el algoritmo trata de incluirlas, ver Figu-

ra 6.68. Este efecto muchas veces produce la perdida del objeto al inclinar la zona

de prediccion hacia distractores, pero tambien puede generar tasas de deteccion

muy altas puesto que suele abarcar una gran parte de la imagen.

Aprendizaje Bayesiano

Este algoritmo utiliza una funcion para distinguir entre funciones de probabilida-

des de densidad, buscando aquellas que se parezcan a la distribucion de referencia

obtenida del objetivo inicial. Dicha funcion es en realidad una pseudo-metrica [7]

, pues no cumple con la desigualdad del triangulo [34]. Debido a esto, la metrica

podrıa fallar y clasificar como distribuciones parecidas al objetivo algunas que no

lo sean.

Por otra parte, el metodo de optimizacion Nelder-Mead no nos garantiza llegar al

mınimo global [30]. Su metodologıa para buscar el mınimo, por medio de puntos

de prueba en posiciones calculadas deterministicamente, evita que algunas posi-

ciones en la imagen sean evaluadas. En el caso de movimientos rapidos sobre un

escenario con objetos similares a nuestro objetivo (clutter), el algoritmo puede

perder facilmente al objetivo. Una ventaja de este metodo de optimizacion es que

generalmente realiza pocas evaluaciones de la funcion, dado que cada una implica

evaluar el histograma de un nuevo candidato q el metodo nos ayuda a mantener

un bajo costo computacional.

En los experimentos logro el menor error de traslape en casi todas las pruebas,

esto se debe a que hace una busqueda para adaptarse a las dimensiones del mejor

candidato, una vez que lo ha encontrado al finalizar el metodo Nelder-Mead. En

Page 108: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 96

A)

B)

Figura 6.68: Desempeno del algoritmo Camshift en la secuencia de video“Girl1”. A) Imagen en escala de grises del objetivo a seguir, El valor de ca-da pixel depende de la intensidad Hue correspondiente. B) De la misma manerase aprecian algunos cuadros de la secuencia, su valor hue y sus colores realesindicando con una elipse amarilla la prediccion del algoritmo, en verde la ver-dadera posicion del objetivo segun el archivo estandar de oro correspondiente.

Page 109: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 97

cambio, los filtros de partıculas obtienen las dimensiones en base a la estimacion

del estado medio del objeto, implica menor costo computacional pero es menos

eficiente.

A pesar de estas desventajas, el algoritmo BL se comporto bastante bien durante

las pruebas, y junto con FPC fueron los algoritmos mas acertados.

Filtro de Partıculas combinado con Aprendizaje Bayesiano

El comportamiento de este algoritmo resulto muy similar al del Filtro de Partıcu-

las de color. En algunas secuencias de video se obtuvo un menor error de traslape

sin embargo no se puede garantizar que esto siempre ocurra.

Una forma de mejorar el desempeno de este algoritmo es cambiar la forma en que

contribuye el vector promedio sobre el peso de las partıculas. Tal vez el uso de

otros kernels podrıan ayudar a poder filtrar mejor las partıculas de acuerdo a sus

pesos.

El vector promedio es un registro de como va cambiando el objetivo. Por ejem-

plo si este fuera el rostro de una persona, puede ser que nuestro descriptor solo

incluya informacion sobre su piel, pelo facial, lentes, etc. Al voltear el rostro u

ocultarlo parcialmente, el algoritmo puede ir almacenando en el vector promedio

informacion sobre nuevos detalles por ejemplo el cabello, ropa entre otros, que no

fueron registrados en un principio. De igual manera si la persona es totalmente

ocluida, el algoritmo seguira dando un candidato pero probablemente este tenga

un descriptor muy diferente al buscado.

Este razonamiento nos llevo a pensar que tal vez es posible utilizar la informacion

del vector promedio para poder predecir en que momento el algoritmo ha perdido

al objetivo.

Todos los algoritmos evaluados en este trabajo evaluan la diferencia entre una dis-

tribucion objetivo contra cierto candidato y gracias a esa diferencia discriminan

puntos de prueba. Esta diferencia no nos puede decir si hemos perdido al objetivo,

pues a pesar de que se incremente demasiado puede ser que se deba a un cambio

de iluminacion, deformacion, etc.

Si el cambio o deformacion del objetivo es gradual, esta informacion se estarıa

registrando en el vector promedio y la diferencia no cambiarıa tan rapidamente,

salvo en el caso de un cambio muy drastico.

Para probar si es posible utilizar el vector promedio para determinar la perdida

del objetivo se hizo experimento con la secuencia de video “Motinas Toni”, ver

Page 110: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 98

0 50 100 150 200 250 300 350 4000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Distancias de Hellinger − Video Motinas Toni − Actualizacion de t cada 50 cuadros

0 50 100 150 200 250 300 350 4000

0.1

0.2

0.3

Razon de cambio de la diferencia entre las distribuciones del Vector promedio vs Objetivo

Vector Promedio vs ObjetivoError de Solapamiento

Figura 6.69: Experimento con la diferencia entre Vector Promedio y Objetivo

figura 6.69.

Gracias al archivo estandar de oro podemos saber en que momento se pierde al

objetivo.

Particularmente en el caso del video “Motinas Toni”, hay un cambio subito poco

despues del cuadro numero 200. Durante este instante la persona a seguir se voltea

totalmente y podemos ver en la figura 6.69 como esta perdida es registrada por el

error de traslape al llegar al valor maximo de 1.

En la parte inferior de la grafica se muestra la razon de cambio absoluta de la

diferencia, en base a la distancia de Hellinger, entre las distribuciones del vector

promedio y el descriptor del objetivo. Es notable la presencia de picos en la razon

de cambio particularmente despues del cuadro 250 cuando gracias al error de

traslape sabemos que se recupero el objetivo. De igual manera despues del cuadro

200 hay un pico importante justo en el momento donde perdemos al objeto.

Tambien es evidente la presencia de cierto saltos periodicos, esto se debe a la

forma en como se calcula el vector promedio. En la practica seria muy costoso el

almacenar todo el conjunto de muestras del objeto para poder construir el vector

promedio de acuerdo a la ecuacion (5.24). En lugar de eso se calcula utilizando:

mt =1

t− 1

[(t− 2)mt−1 + q(t−1)

x

]. (6.1)

con lo cual solo se va actualizando el vector despues de haber hecho la prediccion

del objetivo. Conforme avanza el tiempo la contribucion hecha por q(t−1)x es cada

Page 111: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 99

0 50 100 150 200 250 300 350 4000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Distancias de Hellinger − Video Motinas Toni − Actualizacion de t cada 25 cuadros

0 50 100 150 200 250 300 350 4000

0.1

0.2

0.3

Razon de cambio de la diferencia entre las distribuciones del Vector promedio vs Objetivo

Vector Promedio vs ObjetivoError de Solapamiento

Figura 6.70: Experimento con la diferencia entre Vector Promedio y Objetivo

vez menor, por lo que es importante reiniciar el valor de t a cero despues de cierto

tiempo.

En los experimentos se reinicio este contador cada 50 cuadros de video. Justa-

mente cuando t = 0 es el momento donde q(t−1)x provoca un mayor cambio sobre

el promedio. Si analizamos la imagen 6.69 podemos ver que cada 50 cuadros, el

tiempo que toma a t reiniciar, se presenta un sobresalto en la diferencia de las

distribuciones.

Esto nos afecta para poder utilizar la diferencia para predecir la perdida del ob-

jetivo, incluso si hacemos la actualizacion de t mas frecuente, ver figura 6.70, este

efecto sigue siendo una fuente importante de ruido. No es una mala idea utilizar

la diferencia del vector promedio, el problema es el metodo con el cual se calcula.

Definitivamente es parte del trabajo futuro encontrar un mejor metodo para ello,

una propuesta consiste en utilizar un filtro de partıculas donde cada partıcula se

una muestra del objetivo encontrado en diferentes cuadros del video. Se estimarıa

el vector promedio filtrando las partıculas utiles de este conjunto, sin embargo aun

no se ha llegado a un criterio y metrica para poder pesar las partıculas adecuada-

mente.

6.3. Desempeno de los Algoritmos

Para probar que tan practicos son los algoritmos al utilizarlos en tiempo real se

hicieron pruebas sobre la secuencia de video “Carrera”. Se escogio este video pues

Page 112: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 100

fue en el los algoritmos presentaron un mejor comportamiento general. De esta

manera se probara su desempeno cuando funcionan correctamente. Las pruebas

consistieron en calcular el numero de cuadros por segundo que procesa cada algo-

ritmo sobre dicha secuencia de video. Para esto se midio el tiempo que le tardo

a cada algoritmo de seguimiento el procesar 30 cuadros de videos, acumulando

en total 1000 muestras por algoritmo para despues promediarlos. Los resultados

obtenidos fueron:

Evaluacion de Desempeno

BL FPC FPT FPM CS HT FPBLCps 9.4253 25.3039 28.0050 14.6665 36.6152 18.2886 23.5959

Cuadro 6.24: Promedio de los cuadros por segundo obtenido por los algoritmosde seguimiento en la secuencia “Carrera”

Es necesario mencionar las condiciones en que se realizaron las pruebas. Todos lo

algoritmos fueron implementados en C++, utilizando la librerıa OpenCV para la

adquisicion de las imagenes. No se utilizaron tecnicas como la programacion en

hilos o computo paralelo a traves de una PU para acelerar el procesamiento. Ahora

hagamos un pequeno analisis de los resultados.

El algoritmo de seguimiento basado en aprendizaje bayesiano utilizo un histograma

de 8x8x8 bins, haciendo uso de los 3 canales del espacio RGB. Otra caracterıstica

relevante para las pruebas fue que este se programo para ejecutar solo 5 ciclos del

metodo de optimizacion Nelder-Mead. Este algoritmo obtuvo el menor desempeno

pudiendo procesar alrededor de 9 cuadros por segundo. Sin embargo fue el algo-

ritmo con menor error de traslape, esto indica que generalmente proceso un area

mayor en cada punto de prueba pudiendo cubrir bien al objeto a seguir.

El filtro de partıculas basado en color tambien utiliza un histograma de 8x8x8 bins,

mientras aquellos filtros de partıculas que utilizan rasgos de textura y movimiento

utilizaron solo 8 bins pues trabajan con un solo canal de color. El procesar menos

pixeles igual influye en el desempeno de estos algoritmos, que como se aprecia en

la Tabla 6.24, la cantidad de cuadros por segundo que arrojan es muy buena. Las

partıculas utilizadas por estos algoritmos tienen area de muestreo pequena lo cual

implica un costo computacional bajo.

Tanto FPC como FPT utilizaron 30 partıculas en los experimentos. En el caso del

FPM se utilizaron 30 partıculas para hacer el rastreo ademas de 16 partıculas fijas

utilizadas por el algoritmo para recuperarse si se deja de detectar movimiento.

Page 113: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 6. Experimentos y Resultados 101

Camshift hace la busqueda dentro de una region, cuyas dimensiones va ajustando,

y puede llegar a ser muy grande con lo cual su procesamiento llega a ser muy

pesado, ver Figura 6.68. Esto no sucedio en esta secuencia de video, para la cual

registro la mayor cantidad de cuadros por segundo.

El algoritmo de seguimiento hıbrido HT utilizo 8 partıculas, tambien calcula sus

descriptores con base en histogramas de 8x8x8 bins en el plano RGB. A diferen-

cia del resto de los filtros de partıculas empleados, aplica el metodo de Meanshift

sobre cada partıcula para acercarla al objetivo. Este metodo de optimizacion im-

plica calcular pesos sobre una ventana de manera iterativa, con lo cual su costo

computacional aumenta pero reduce la necesidad de tener tantas partıculas.

El algoritmo FPBL de igual manera se implemento con 30 partıculas con descrip-

tores de 8x8x8 bins. Como era de esperar, el numero de cuadros por segundo que

procesa es similar al del FPC.

Sin duda alguno los filtros de partıculas logran los mejores tiempos de procesa-

miento, tomando en cuenta que CS no es tan preciso.

Page 114: Modelos Probabilísticos para el Seguimiento de Objetos en

Capıtulo 7

Conclusiones

En este trabajo de tesis se han analizado y trabajado con diferentes propuestas,

algoritmos con distintos rasgos a seguir, a traves de una serie de experimentos

exhaustivos con el fin de aprender las bases de los algoritmos de seguimiento en el

estado del arte.

Para esto fue necesario conocer diferentes aproximaciones al problema de segui-

miento. Entre ellos destacan aquellos basados en metodos de Optimizacion como

Meanshift y CamShift [6]. Se implemento un algoritmo [7] que utiliza una medida

de similitud para distinguir al objetivo y por medio del metodo de optimizacion

Nelder-Mead lo busca evaluando diferentes puntos de prueba en la imagen.

Otras propuestas actuales estan basadas en modelos graficos como [35], [20] y [18],

lo cual nos obliga a estudiar sus bases para una mejor comprension de los metodos

de inferencia basados en pase de mensajes.

Uno de los principales problemas del seguimiento de objetos ha sido como definir

al objetivo, como describirlo de manera que pueda ser identificado frecuentemente

conforme pase el tiempo y sufra algunas alteraciones.

El filtro de partıculas es un popular metodo de inferencia, basado en las tecnicas

de muestreo que fueron estudiadas, utilizado en todo tipo de problemas secuen-

ciales. En este trabajo se implementaron diferentes propuestas basadas en el filtro

de partıculas, como fueron color, textura y movimiento. Cada una describiendo

al objetivo a seguir utilizando diferentes rasgos. En el caso del filtro hıbrido se

utilizo un descriptor de color igual que en la propuesta de Nummiaro [23] pero

incorporando el metodo Meanshift para acelerar la convergencia de las partıculas.

102

Page 115: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 7. Conclusiones 103

Cada propuesta hace una descripcion diferente del objetivo o bien ataca el pro-

blema de otra manera, ninguna es perfecta por lo cual se debe saber bajo que

condiciones nos permiten identificar al objeto sin problemas.

Existen diferentes propuestas para evaluar el desempeno de los algoritmos, para las

pruebas hechas en este trabajo se utilizaron las propuestas por [11]. Estas metri-

cas nos permiten conocer que tan frecuentemente la prediccion de los algoritmos

incluyo realmente al objeto, en que proporcion, ası como que tan de cerca. Estas

tres medidas complementan nuestra informacion sobre la calidad del seguimiento.

Se creo una base de videos con archivos de referencia, o estandares de oro, pues fue

necesario utilizar diferentes videos para tratar de representar diversos escenarios y

condiciones para probar el desempeno de los algoritmos en diferentes condiciones.

En total se utilizaron veinte videos, la mitad de ellos provenientes de [9], [8] y

[10]. De estos, diez de ellos se tomaron ıntegramente, incluyendo su archivo de

estandar de oro. El resto fueron tomados de Internet, seleccionandolos tratando

de ejemplificar escenarios especıficos, por ejemplo situaciones sencillas donde no

deberıan fallar o tratando de inducir el error. De estos diez videos, cuatro fueron

obtenidos de las bases de video [8] y [10] pero no tienen estandar de oro disponi-

ble. Los archivos de referencia correspondiente fueron hechos creando un pequeno

programa para poder etiquetar los objetos a seguir, cuadro por cuadro, detallando

su posicion y dimensiones.

Los algoritmos se probaron iterativamente en cada una de las secuencias dispo-

nibles y sus resultados fueron analizados. Esto nos sirvio para distinguir a los

algoritmos mas robustos y sobretodo conocer el porque fallan y bajo que ocasiones.

Con base en estos resultados se propuso un nuevo algoritmo de seguimiento, el filtro

de partıculas con promedio Bayesiano. Esta modesta contribucion no mejoro no-

tablemente el desempeno del filtro de partıculas basado en color, pero como se

vio en el capitulo anterior, aun puede ser mejorado ya que se ha identificado el

problema en el calculo del promedio.

Los resultados de los experimentos no arrojaron un ganador definitivo, todas las

propuestas fallan bajo ciertas condiciones. Ningun rasgo es predominante, aunque

es cierto que los descriptores de color resultaron bastante robusto aun falta por

probar muchos otros, como es el caso de SIFT [36], SURF [37] y GLOH [38] entre

otros, que si bien implican un mayor costo computacional pudieran compensar con

Page 116: Modelos Probabilísticos para el Seguimiento de Objetos en

Capitulo 7. Conclusiones 104

precision.

En [39] se hace una comparacion de 33 diferentes descriptores invariantes a trans-

formaciones afines, se prueban en el reconocimiento de categorıas de imagenes

utilizando un algoritmo del tipo Bolsa de palabras, de una gran base de datos. Sus

resultados muestran que los descriptores basados en histogramas de orientacion-

posicion de gradientes y los de color, son los mejores.

Los diferentes filtros de partıculas utilizados en este trabajo emplearon un modelo

de estado de transicion lineal, lo cual podrıa ser una desventaja en muchas apli-

caciones. Muchas implementaciones practicas aprenden el modelo a partir de un

conjunto de entrenamiento o basados en los movimientos en cuadros anteriores.

Suelen ser implementadas utilizando modelos de primero o segundo orden [23] y

suelen dan buenos resultados cuando las partıculas se concentran en un area pe-

quena. Sin embargo, si la concentracion de las partıculas es alta en la misma zona,

puede perderse al objetivo si este presenta movimientos rapidos y espontaneos.

Algunas estrategias actuales para lidiar con este problema es hacer uso de un mo-

delo de movimiento adaptivo como en [40].

Algoritmos en el estado del arte hacen uso de esquemas mas elaborados, como

utilizar multiples rasgos para describir al objeto, o estan basados en algoritmos de

paso de mensajes sobre un grafo con ciclos.

Este trabajo de tesis ha proporcionado una base solida para comenzar a trabajar

con las propuestas mas recientes.

Page 117: Modelos Probabilísticos para el Seguimiento de Objetos en

Apendice A

Modelos Graficos

A.1. Propiedades Basicas de los Modelos Grafi-

cos

Existen varios tipos de grafos, los dirigidos y no-dirigidos, y otros mas complejos

como son los grafos de cadena que son una mezcla de grafos dirigidos y no dirigidos,

o los hiper-grafos son grafos que se distinguen por contar con mas de un vertice

conectando a algunos grafos, propiamente llamados hiper-vertices. Incluso existen

otras representaciones como por ejemplo los grafos de factores [13].

En esta breve introduccion al tema nos concentraremos en los grafos dirigidos y

no-dirigidos.

Un grafo G = (V, E) esta compuesto por un conjunto de nodos V y vertices E , verfigura A.1 a). Cada vertice (i, j) ∈ E conecta a los nodos i, j ∈ V. Existen 2 tipos

basicos de grafos, dirigidos y no dirigidos. En el caso de los grafos dirigidos, figura

A.1 a), un vertice (i, j) conecta un nodo padre i con su hijo j y esta relacion se

representa graficamente con una flecha. El conjunto de todos los padres Γ(j) del

nodo j esta dado por Γ(j) , i ∈ V | (i, j) ∈ E. A los hijos de un nodo, y sus

hijos correspondientes, se les conoce como descendientes.

Para los grafos no dirigidos un vertice (i, j) ∈ E si y solo si (j, i) ∈ E , lo cual es

representado graficamente por una linea sin direccion, ver figura A.1 b).

Dentro de un grafo, se define a un clique como un grupo de nodos los cuales estan

105

Page 118: Modelos Probabilísticos para el Seguimiento de Objetos en

Apendice A. Modelos Graficos 106

totalmente inter-conectados por un vertice, si todo el grafo es un clique entonces

se le llama grafo completo.

Un camino entre nodos i0 6= iN es una secuencia de nodos distintos (io, i1, · · · , iN)tal que (in−1, in) ∈ E para n = 0, 1, · · · , N . Un ciclo se define como un camino

que inicia y termina en el mismo nodo i0 = iN , con todos los nodos intermedios

diferentes. Si existe un camino entre todos los pares posibles de nodos, se dice que

el grafo esta conectado.

Un grafo conectado, pero con todos sus vertices no dirigidos, y que no presenta

ciclos se dice que tiene una estructura de arbol.

El diametro de un grafo esta definido como el numero de vertices que se atraviesan

recorriendo el camino mas largo entre dos nodos.

a) b)

Figura A.1: a) Ejemplo sencillo de un grafo dirigido. b) ejemplo de un grafono dirigido. Los Nodos V se muestran en verde y sus vertices E en azul.

Se pueden consultar casos mas complicados de inferencia en [13] o [35], y vere-

mos mas adelante la aplicacion de un algoritmo de pasos de mensaje para hacer

seguimientos de objetos.

A.2. Campos Aleatorios de Markov

Los Campos Aleatorios de Markov, MRF por sus siglas en ingles, se encuentran

dentro del grupo de los grafos no dirigidos. Caracterizan a una familia de distribu-

ciones p(x) por medio de un conjunto de independencias condicionales implıcitas.

La separacion-D no puede aplicarse en estos grafos para definir independencia

condicional, pues no hay direccion definida, sin embargo sı existe un criterio equi-

valente.

Dado un grafo no dirigido G = (V, E), sean F , G y H tres conjuntos disjuntos de

V. Se dice que el conjunto h bloquea, o separa, los conjuntos F y G si todos los

Page 119: Modelos Probabilísticos para el Seguimiento de Objetos en

Apendice A. Modelos Graficos 107

Figura A.2: Ejemplo de independencia condicional en un grafo no dirigido.Cualquier camino de un nodo en F hacia G pasa a traves de un nodo en H, por

lo tanto se cumple la propiedad de independencia condicional F ⊥⊥ G | H

caminos posibles entre F y G para por algun nodo dentro de H , ver figura A.2.

Un proceso estocastico x es globalmente Markoviano con respecto a G si xF y xG

son condicionalmente independientes condicionados sobre las variables xH , si estas

ultimas se encuentran dentro de cualquier conjunto separador de F y G.

p(xF , xG | xH) = p(xF | xH)p(xG | xH) (A.1)

Los procesos Markovianos temporales se caracterizan por el hecho de que el pre-

sente y el futuro son independientes condicionados sobre el presente.

Theorem A.1. (Hammersley −Clifford). Sea C un conjunto de cliques de un

grafo dirigido G. Una distribucion de probabilidad definida como un producto nor-

malizado de funciones potenciales no negativas sobre dichos cliques siempre es

Markoviana con respecto a G si y solamente si:

p(x)α∏

c∈C

ψc(xc) (A.2)

De igual manera, cualquier densidad estrictamente positiva, p(x) > 0 para toda

x, que sea Markoviana con respecto a G puede ser representada en esta forma

factorizada.

La demostracion de este teorema se puede encontrar en [41], [42] y [43].

En la practica, las propiedades de los procesos Markovianos son usados de dos

maneras complementarias. Si se sabe de un proceso estocastico que satisface cier-

tas propiedades de independencia condicional, el teorema Hammersley-Clifford nos

permite proponer modelos parametrizados por variables locales. De igual forma,

Page 120: Modelos Probabilísticos para el Seguimiento de Objetos en

Apendice A. Modelos Graficos 108

dado cualquier modelo grafico, las propiedades Markovianas implıcitas pueden ser

explotadas para disenar algoritmos mas eficientes de aprendizaje e inferencia.

A.3. Modelos de Markov

En el problema de seguimiento generalmente se cuenta con una medicion de la

posicion del objetivo a seguir, esta no es exacta y queremos desarrollar un modelo

que nos permita predecir las siguientes posiciones. Una forma de hacer eso es ig-

norar el hecho de que son datos secuenciales y tratar las observaciones como i.i.d.

(datos independientes e identicamente distribuidos, por sus siglas en ingles). Esto

nos impedirıa aprovechar la correlacion entre observaciones cercanas, por ejemplo

si nuestras mediciones arrojan datos que no varıan mucho o incluso estaticos du-

rante algun tiempo. En estos casos conocer la tendencia de las muestras podrıa

ser de gran ayuda para predecir los valores siguientes.

La manera mas sencilla de modelar un fenomeno de este tipo es usando un modelo

de Markov, en los cuales asumimos que las predicciones futuras son independien-

tes de todas salvo las mas recientes y ademas tienen como representacion grafos

dirigidos.

Podemos usar la regla del producto para expresar la distribucion conjunta para

una secuencia de observaciones xi como

p(x1, · · · , xN) =N∏

n=1

p(xn | x1, · · · , xn−1) (A.3)

De acuerdo al criterio de los procesos Markovianos, podemos asumir que las dis-

tribuciones condicionales son independientes de todas las observaciones anteriores

salvo las mas recientes. Si consideramos una cadena de Markov de primer or-

den, ver figura A.3 , la distribucion conjunta para una secuencia de observaciones

tendrıa ahora la siguiente forma

p(x1, · · · , xN ) = p(x1)N∏

n=2

p(xn | xn−1) (A.4)

Page 121: Modelos Probabilísticos para el Seguimiento de Objetos en

Apendice A. Modelos Graficos 109

Figura A.3: Cadena de Markov de primer orden.

Podemos verificar en este grafo por simple inspeccion visual utilizando separacion-

d, que la distribucion condicional para la observacion xn dado todas las observa-

ciones anteriores, esta dada por

p(xn | x1, · · · , xn−1) = p(xn | xn−1) (A.5)

lo cual tambien se puede verificar utilizando la regla del producto a partir de (A.4).

En la mayorıa de las aplicaciones de este tipo de modelos, las distribuciones con-

dicionales p(xn | xn−1) que definen el modelo son definidas iguales, lo cual equivale

a asumir una serie estacionaria en el tiempo. Esto puede ser una gran desventaja,

por ejemplo si las distribuciones condicionales dependen de parametros ajustables,

ya que todas las distribuciones condicionales en la cadena compartiran exactamen-

te los mismos parametros limitando gravemente nuestra capacidad de prediccion.

Aun cuando este es un modelo mas general que el simplemente asumir indepen-

dencia entre las muestras sigue siendo muy restrictivo.

Para muchas observaciones secuenciales podrıamos anticipar tendencias en los da-

tos despues de varias muestras sucesivas y ası poder predecir mas acertadamente

el siguiente valor. Una manera de permitir que las observaciones anteriores tengan

influencia en nuestras predicciones el usar modelo un de Markov de mayor orden,

lo cual se consigue haciendo que las distribuciones condicionales de xn dependan

de las observaciones anteriores xn−l, · · · , xn−1.

A.3.1. Hidden Markov Models

Si deseamos construir modelos que no esten limitados por las asumpciones Marko-

vianas de ningun orden, pero que puedan ser utilizados con un numero limitado de

parametros libres, se puede lograr introduciendo variables escondidas adicionales

para permitir clases de modelos mas complejos, construidos a partir de componen-

tes simples.

Para cada observacion xn introducimos una variable correspondiente zn, la cual

puede ser de diferente tipo o dimension que la variable observada. Ahora asumimos

Page 122: Modelos Probabilísticos para el Seguimiento de Objetos en

Apendice A. Modelos Graficos 110

que son estas variables latentes las que forman una cadena de Markov, su grafo

correspondiente esta en la Figura A.4. Se satisface la propiedad de independencia

condicional

zn−1 ⊥⊥ zn+1 | zn (A.6)

La distribucion conjunta de este modelo esta entonces dado por

p (x1, · · · ,xN, z1, · · · , zN) = p(z1)

[N∏

n=2

p(zn|zn−1)

]N∏

n=1

p(xn|zn) (A.7)

Por medio de la separacion-d podemos comprobar que siempre existe un camino

entre cuales quiera variables observadas xn y xm y que ademas dicho camino jamas

estara bloqueado. Esto implica que p(xn+1 | x1, · · · , xN) dado todas las observa-

ciones anteriores, y no exhibe ninguna independencia condicional de manera que

nuestras predicciones xn dependen de todas las observaciones anteriores. Los mode-

Figura A.4: Modelo grafico dirigido de un Modelo escondido de Markov.

los HMM tienen la forma de la figura A.4 . Representa una mezcla de distribuciones

donde zn son variables latentes y describen al componente de la mezcla responsable

de generar la observacion xn. Este modelo describe procesos donde la distribucion

de probabilidad zn depende unicamente del estado de la variable latente anterior

zn−1. La probabilidad condicional p(zn|zn−1, A) donde A es una matriz de tran-

sicion y cada uno de sus elementos esta dado por Aij = p(zn = 1|zn−1 = 1) son

llamadas probabilidades de transicion . La probabilidad condicional de las varia-

bles observadas p(xn|zn, φ) en funcion de los parametros φ, son conocidas como las

probabilidades de emision. Observemos que la variable z1 presenta una situacion

particular pues no cuenta con un nodo padre y su probabilidad esta dada por un

vector de probabilidades π con elementos πk = p(z1,k = 1).

Page 123: Modelos Probabilísticos para el Seguimiento de Objetos en

Apendice A. Modelos Graficos 111

La distribucion de probabilidad conjunta descrita por el modelo HMM es

p (X,Z|θ) = p(z1|π)[

N∏

n=2

p(zn|zn−1, A)

]N∏

n=1

p(xn|zn, φ) (A.8)

Mas adelante se utilizara este modelo para explicar algunos algoritmos de segui-

miento de objetos.

Historicamente, modelos equivalentes a HMM fueron desarrollados independien-

temente en diferentes disciplinas como reconocimiento de voz o teorıa de control,

los modelos graficos unificaron los diferentes acercamientos y permitieron que los

avances en metodos aprendizaje e inferencia sean transferidos entre las distintas

disciplinas.

Page 124: Modelos Probabilísticos para el Seguimiento de Objetos en

Apendice B

Propiedades de Independencia

Condicional para HMM

En un grafo correspondiente a HMM, y de acuerdo a las reglas de independencia

condicional para grafos, se cumplen las siguientes reglas.

p(X|zn) = p(x1, ..., xn−1|zn)p(xn+1, ..., xN |zn)p(x1, ..., xn−1|xn, zn) = p(x1, ..., xn−1|zn) (13,25)

p(x1, ..., xn−1|zn−1, zn) = p(x1, ..., xn−1|zn−1)

p(xn+1, ..., xN |zn, zn+1) = p(xn+1, ..., xN |zn+1)

p(xn+2, ..., xN |zn+1, xn+1) = p(xn+2, ..., xN |zn+1)

p(X|zn−1, zn) = p(x1, ..., xn−1|zn−1)p(xn|zn)p(xn+1, ..., xN |zn)p(xN+1|X, zN+1) = p(xN+1|zN+1)

p(zN+1|zn,X) = p(zN+1|zN)(B.1)

donde X = x1, x2, ..., xN

112

Page 125: Modelos Probabilísticos para el Seguimiento de Objetos en

Apendice B. Propiedades de Independencia Condicional para HMM 113

Gaussianas Marginales y Condicionales

Dada una distribucion Gaussiana marginal para x y una Gaussiana condicional

para y dado x de la forma

p(x) = N (x|µ,Λ−1)p(y|x) = N (y|Ax+ b, L−1) (B.2)

la distribucion marginal de y y la distribucion condicional de x dado y estan dadas

por

p(y) = N(y|Aµ+ b, L−1 + AΛ−1AT

)(B.3)

p(x|y) = N(x|Σ

ATL(y − b) + Λµ

)(B.4)

Page 126: Modelos Probabilísticos para el Seguimiento de Objetos en

Bibliografıa

[1] Michael Isard and A. Blake. Condensation - conditional density propagation

for visual tracking. International Journal of Computer Vision, 29:5–28, 1998.

[2] Katja Nummiaro, Esther Koller-Meier, and Luc Van Gool. Object tracking

with an adaptive color-based particle filter. In Symposium for Pattern Recog-

nition of the DAGM, 2002.

[3] Changjiang Yang, Ramani Duraiswami, and Larry Davis. Fast multiple object

tracking via a hierarchical particle filter. In International Conference on

Computer Vision, pages 212–219, 2005.

[4] Patrick Perez, Jaco Vermaak, and A. Blake. Data fusion for visual tracking

with particles. In Proceedings of the IEEE. VOL XX NO XX. IEEE, 2004.

[5] E. Maggio and A. Cavallaro. Hybrid particle filter and mean shift tracker with

adaptive transition model. In in Proc. of IEEE Int. Conference on Acoustics,

Speech and Signal Processing (ICASSP 2005), pages 221–224, 2005.

[6] Gary R. Bradski. Computer vision face tracking for use in a perceptual user

interface, 1998.

[7] Edgar Arce-Santana, Jose Luna-Rivera, Daniel Campos-Delgado, and Omar

Gutierrez-Navarro. An object tracking algorithm based on bayesian learning.

In IEEE International Symposium on Industrial Electronics, ISIE 2007. IEEE

Industrial electronics Society, 2007.

[8] Surveillance performance evaluation initiative. URL

http://www.elec.qmul.ac.uk/staffinfo/andrea/spevi.html. Base

de Videos de un solo objetivo y multiobjetivo, varios cuentan con “Ground-

truth”.

114

Page 127: Modelos Probabilísticos para el Seguimiento de Objetos en

Bibliografia 115

[9] Context aware vision using image-based active recognition. URL

http://homepages.inf.ed.ac.uk/rbf/CAVIAR/. EU funded project, IST

2001 37540.

[10] Video surveillance online repository (visor). URL

http://imagelab.ing.unimore.it/visor/video_categories.asp.

[11] James Black, Tim Ellis, and Paul Rosin. A novel method for video tracking

performance evaluation. In In Joint IEEE Int. Workshop on Visual Survei-

llance and Performance Evaluation of Tracking and Surveillance (VS-PETS,

pages 125–132, 2003.

[12] Pearl J. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible

Inference. Morgan Kauffman, San Mateo, CA, 1988.

[13] Christopher M. Bishop. Pattern Recognition and Machine Learning. Springer

Science+Business Media, LLC, 2006.

[14] Rudolph Emil Kalman. A new approach to linear filtering and prediction

problems. Transactions of the ASME–Journal of Basic Engineering, 82(Series

D):35–45, 1960.

[15] Novel approach to nonlinear/non-Gaussian Bayesian state estimation, volume

Vol. 140, No. 2, 1993. IEE Proceedings F .

[16] Yizong Cheng. Mean shift, mode seeking, and clustering. IEEE Trans.

Pattern Anal. Mach. Intell., 17(8):790–799, 1995. ISSN 0162-8828. doi:

http://dx.doi.org/10.1109/34.400568.

[17] Z. Chen. Bayesian filtering: From kalman filters to particle filters, and beyond.

Technical report, Adaptive Systems Lab, McMaster University, 2003.

[18] Jeremy Schiff, Erik B. Sudderth, and Ken Goldberg. Nonparametric be-

lief propagation for distributed tracking of robot networks with noisy inter-

distance measurements.

[19] Vitaly Ablavsky, Ashwin Thangali, and Stan Sclaroff. Layered graphical mo-

dels for tracking partially-occluded objects.

[20] Wei Du and Justus Piater. A probabilistic approach to integrating multi-

ple cues in visual tracking. In ECCV ’08: Proceedings of the 10th European

Conference on Computer Vision, pages 225–238, Berlin, Heidelberg, 2008.

Page 128: Modelos Probabilísticos para el Seguimiento de Objetos en

Bibliografia 116

Springer-Verlag. ISBN 978-3-540-88685-3. doi: http://dx.doi.org/10.1007/

978-3-540-88688-4 17.

[21] Proc. of the British Machine Vision Conference (BMVC), editor. Multi-person

tracking with overlapping cameras in complex, dynamic environments, 2009.

[22] Kyungnam Kim and Larry Davis. Multi-camera tracking and segmentation

of occluded people on ground plane using search-guided particle filtering.

In Springer-Verlag Berlin Heidelberg, editor, ECCV 2006, pages pp. 98–109,

2006.

[23] Katja Nummiaro, Esther Koller-Meier, and Luc Van Gool. An adaptive color-

based particle filter. IVS, 2002.

[24] Bernhard Scholkopf and Alexander J. Smola. Learning with Kernels: Sup-

port Vector Machines, Regularization, Optimization, and Beyond. MIT Press,

Cambridge, MA, USA, 2001. ISBN 0262194759.

[25] John Shawe-Taylor and Nello Cristianini. Kernel Methods for Pattern

Analysis. Cambridge University Press, New York, NY, USA, 2004. ISBN

0521813972.

[26] Dorin Comaniciu, Peter Meer, and Senior Member. Mean shift: A robust ap-

proach toward feature space analysis. IEEE Transactions on Pattern Analysis

and Machine Intelligence, 24:603–619, 2002.

[27] Michael J. Swain and Dana H. Ballard. Color indexing. International Journal

of Computer Vision, 7:11–32, 1991.

[28] Open source computer vision. URL http://opencv.willowgarage.com/wiki/.

[29] Richard O. Duda and Peter E. Hart. Pattern Classification and Scene Analy-

sis. A Wiley-Interscience Publication, New York, 1973., 1973.

[30] Nelder J. A. and Mead R. A simplex method for function minimization.

Computer Journal, Volume 7, Issue 4:308–313, 1965.

[31] Svetlana Lazebnik, Cordelia Schmid, and Jean Ponce. A sparse texture repre-

sentation using affine-invariant regions. In In Proc. CVPR, pages 319–324,

2003.

Page 129: Modelos Probabilísticos para el Seguimiento de Objetos en

Bibliografia 117

[32] Luigi Bagnato, Matteo Sorci, Gianluca Antonini, Giuseppe Baruffa, Andrea

Maier, Peter Leathwood, and Jean-Philippe Thiran. Robust infants face trac-

king using active appearance models: a mixed-state CONDENSATION ap-

proach, 2007. URL http://www.isvc.net/.

[33] Liyuan Li, Weimin Huang, Irene Y. H. Gu, and Qi Tian. Foreground object

detection from videos containing complex background. In In MULTIMEDIA

’03: Proceedings of the eleventh ACM international conference on Multimedia,

pages 2–10. ACM Press, 2003.

[34] Arch W. Naylor and George R. Sell. Linear Operator Theory in Engineering

and Science. Springer-Verlag New York Inc., 1982.

[35] Erik B. Sudderth. Graphical Models for Visual Object Recognition and Trac-

king. PhD thesis, Massachusetts Institute of Technology, May 2006.

[36] David Lowe. Object recognition from local scale-invariant features. pages

1150–1157, 1999.

[37] Herbert Bay, Tinne Tuytelaars, and Luc Van Gool. Surf: Speeded up robust

features. In In ECCV, pages 404–417, 2006.

[38] Krystian Mikolajczyk and Cordelia Schmid. A performance eva-

luation of local descriptors. IEEE Transactions on Pattern

Analysis & Machine Intelligence, 27(10):1615–1630, 2005. URL

http://lear.inrialpes.fr/pubs/2005/MS05.

[39] K. Mikolajczyk, M. Barnard, J. Matas, and T. Tuytelaars. Feature detectors

and descriptors: The state of the art and beyond. Technical report, 2009.

[40] Shaohua Zhou, Rama Chellappa, Shaohua Kevin Zhou, Baback Moghaddam,

and Baback Moghaddam. Appearance tracking using adaptive models in

a particle filter. In in Proc. of 6th Asian Conference on Computer Vision

(ACCV, 2004.

[41] P. Clifford. Markov Random fields in statistics, pages 19–32. Oxford Univer-

sity Press, 1981.

[42] P. Bremand. Markov Chains: Gibbs Fields, Monte Carlo Simulation and

Queues. Springer-Verlag, 1999.

[43] S. L. Lauritzen. Graphical Models. Oxford University Press, Oxford, 1996.