aplicación del filtro de partículas al seguimiento de un...

71
ESCUELA SUPERIOR DE INGENIERÍA INFORMÁTICA INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Curso Académico 2008 / 2009 Proyecto de Fin de Carrera Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características. -Autor- Efrén Gómez del Casar. -Tutores- Juan José Pantrigo Fernández. Ángel Sánchez Calle Febrero 2009

Upload: others

Post on 30-Aug-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

ESCUELA SUPERIOR DE INGENIERÍA INFORMÁTICA

INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS

Curso Académico 2008 / 2009

Proyecto de Fin de Carrera

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

-Autor-

Efrén Gómez del Casar.

-Tutores-

Juan José Pantrigo Fernández.

Ángel Sánchez Calle

Febrero 2009

Page 2: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo
Page 3: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Agradecimientos

En primer lugar, a mis tutores Ángel Sánchez Calle y Juan José Pantrigo

Fernández por su ayuda y dedicación.

A mi familia, por creer en mí siempre.

A mis amigos, por ayudarme en los malos momentos y hacerme feliz en los

buenos.

A mi compañero Javier Hernández Sánchez, por su colaboración con los videos

sintéticos.

Page 4: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo
Page 5: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Índice general Agradecimientos

Resumen ....................................................................................................................................... 1

1. Capitulo 1 : Introducción ....................................................................... 3

1.1 Seguimiento de objetos en movimiento ................................................................... 5

1.1.1 El problema de la visión dinámica ............................................................................. 5

1.1.2 Objetivos del seguimiento .......................................................................................... 6

1.1.3 Estudio del movimiento ............................................................................................. 6

1.1.3.1 Hipótesis de continuidad ................................................................................. 6

1.1.3.2 Inercia .............................................................................................................. 7

1.1.3.3 Hipótesis o restricciones de suavidad del movimiento .................................... 8

1.1.4 Métodos de detección de movimiento .......................................................................... 8

1.1.5 Técnicas de detección de movimiento: Sustracción de Fondo ..................................... 9

1.1.6 Aplicaciones del seguimiento visual .................................................................... 10

1.2 Filtro de Partículas ................................................................................................... 11

1.2.1 Operaciones ................................................................................................................ 12

1.2.1.1 Multiplicación por una función o cálculo de pesos ........................................ 12

1.2.1.2 Aplicación de un modelo de dinámica ........................................................... 14

1.2.1.3 Remuestreo o Resampling .............................................................................. 15

1.2.2 Descripción del algoritmo ......................................................................................... 16

2. Capítulo 2 : Objetivos ........................................................................... 19

2.1 Objetivos principales ............................................................................................. 19

2.2 Objetivos parciales ................................................................................................. 20

3. Capítulo 3: Descripción Informática .................................................. 23

3.1 Herramientas utilizadas .......................................................................................... 23

3.1.1 El lenguaje de programación MATLAB ................................................................. 23

3.1.2 VideoSyn ................................................................................................................. 24

3.1.3 Open video converter .............................................................................................. 24

3.1.4 Longitech quickcam SDK ....................................................................................... 25

3.2 Requisitos ............................................................................................................... 26

3.2.1 Requisitos funcionales .............................................................................................. 26

3.2.2 Requisitos no funcionales ......................................................................................... 27

Page 6: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

3.3 Modelo de desarrollo software ............................................................................... 28

3.4 Diseño e implementación ....................................................................................... 30

3.4.1 Tratamiento de imágenes: Sustracción de fondo ...................................................... 30

3.4.2 Filtro de partículas para seguimiento de objetos en 2D ........................................... 31

3.4.4 Funcionalidad para extracción de características geométricas de un objeto en 2D .. 36

3.4.5 Diagrama de bloques Filtro de Partículas ................................................................ 43

4. Capítulo 4: Resultados Experimentales .............................................. 45

4.1 Experimento 1: Objeto no deformable ................................................................... 45

4.2 Experimento 2: Objeto deformable ........................................................................ 48

4.3 Experimento 2: Video sintético ............................................................................. 51

4.1.1 Análisis ..................................................................................................................... 53

5. Capítulo 5: Conclusiones ...................................................................... 55

5.1 Objetivos alcanzados ............................................................................................. 55

5.2 Mejoras y futuras líneas de trabajo ........................................................................ 56

Bibliografía ................................................................................................................................ 59

Page 7: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Índice figuras Figura 1.1 Etapas típicas en un sistema de Visión Artificial ............................................ 4

Figura 1.2 Fotogramas de una secuencia de imágenes a través del tiempo ..................... 5

Figura 1.3 Esquema de estimación usado por el Filtro de Partículas ............................. 12

Figura 1.4 Funcionamiento de la multiplicación sobre partículas .................................. 13

Figura 1.5 Funcionamiento del algoritmo de selección con pesos acumulados ............. 16

Figura 1.6 Pseudocódigo del algoritmo Filtro de Partículas ......................................... 17

Figura 3.1 Cámara web Longitech Quickcam 9000 Pro ................................................ 25

Figura 3.2 Modelo de desarrollo en espiral representado gráficamente ......................... 29

Figura 3.3 Ejemplo de sustracción de fondo .................................................................. 30

Figura 3.4 Ejemplo de centroide en una figura geométrica ........................................... 36

Figura 3.5 Representación del perímetro de un objeto cualquiera en 2D ...................... 37

Figura 3.6 Representación de la translación de coordenadas ......................................... 38

Figura 3.7 Ángulo formado entre vector creado y vector (0,1) ...................................... 38

Figura 3.8 Cuadrantes del eje de coordenadas ............................................................... 39

Figura 3.9 Representación cálculo área de un objeto ..................................................... 41

Figura 4.1 Captura 1 de un objeto no deformable en instante t=2s ................................ 46

Figura 4.2 Captura 2 de un objeto no deformable en instante t=5s ................................ 46

Figura 4.3 Captura 3 de un objeto no deformable en instante t=17s .............................. 47

Figura 4.4 Captura 1 de un objeto deformable en instante t=7s ..................................... 49

Figura 4.5 Captura 2 de un objeto deformable en instante t=17s ................................... 49

Figura 4.6 Captura 3 de un objeto deformable en instante t=33s ................................... 50

Figura 4.7 Captura 1 de un video sintético en instante t=20s ........................................ 52

Figura 4.8 Captura 2 de un video sintético en instante t=40s ........................................ 52

Page 8: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo
Page 9: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Índice Fórmulas (1.1). Hipótesis de continuidad del movimiento matemáticamente expresado ................. 6

(1.2). Consideración de la velocidad ................................................................................. 7

(1.3). Consideración de la aceleración............................................................................... 7

(1.4). Imagen diferencia..................................................................................................... 9

(1.5). Definición matemática de una partícula ................................................................ 11

(1.6). Definición matemática conjunto partículas S ....................................................... 11

(1.7). Condiciones nuevo conjunto partículas S tras aplicar un modelo de dinámica 14

(1.8). Condiciones del nuevo conjunto partículas S’ tras aplicar remuestreo .................. 15

(3.1). Ecuación pixel en imagen diferencia .................................................................... 31

(3.2). Fórmula modelo movimiento para las coordenadas (x,y) .................................... 35

(3.3). Fórmula modelo de movimiento para las velocidades en ambas coordenadas ..... 35

(3.4). Ecuaciones para el cálculo del centroide .............................................................. 36

(3.5). Fórmulas para la translación y unicidad de coordenadas ...................................... 38

(3.6). Fórmula para la conversión de radianes a grados ................................................. 39

(3.7). Fórmula de la distancia entre partículas ................................................................ 40

(3.8). Fórmula aplicada para el cálculo del perímetro del objeto ................................... 40

(3.9). Fórmula del área de un triángulo .......................................................................... 41

(4.1). Fórmula error cometido ........................................................................................ 54

Page 10: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo
Page 11: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Índice Tablas

Tabla 3.1 Tabla con ventajas y desventajas del programa Open Video Converter ....... 25

Tabla 3.2 Tabla con información proporcionada por la secuencia ................................ 32

Tabla 4.1 Tabla parámetros objeto no deformable ......................................................... 45

Tabla 4.2 Tabla parámetros objeto deformable .............................................................. 48

Tabla 4.3 Tabla parámetros video sintético .................................................................... 51

Tabla 4.4 Área y perímetro a través del tiempo con un video sintético ......................... 53

Tabla 4.5 Datos estadísticos obtenidos del video sintético............................................. 54

Page 12: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo
Page 13: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

1

Resumen

Este proyecto tiene por objetivo principal realizar el seguimiento y extracción de

características geométricas de objetos en movimiento en secuencias de imágenes.

Para conseguirlo se utiliza la técnica denominada: Filtro de Partículas. La idea de

este filtro es determinar una serie de parámetros que describan un sistema que

evoluciona en el tiempo.

Se ha desarrollado un filtro capaz de seguir un objeto de dos dimensiones en una

secuencia de imágenes, aunque éste presente variaciones en su forma, tamaño, color o

modelo de movimiento. Una vez alcanzado este objetivo, se extraen características del

mismo en cada fotograma tales como: centroide, partícula estimada, coordenadas

máximas y mínimas en las dimensiones X e Y del objeto (xmax, xmin, ymax, ymin), área,

perímetro y funciones de variación del área y perímetro.

Se comprueba mediante diversos experimentos, que el sistema se comporta de

manera eficiente tanto para objetos reales deformables como no deformables, a lo largo

de una secuencia de vídeo. Igualmente se realiza un estudio estadístico de un objeto

generado sintéticamente, pudiendo evidenciar el error cometido por el sistema en el

cálculo del área y perímetro del mismo, siendo éste de: 11,71% y 13,49%

respectivamente, con respecto a la medida real.

Page 14: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

2

Page 15: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

3

Capítulo 1 Introducción

La visión Artificial es una disciplina que tiene como finalidad la extracción de

información del mundo físico a partir de imágenes, utilizando para ello un computador.

Se trata de un campo de conocimiento con un objetivo ambicioso y complejo que en los

últimos años ha evolucionado de manera drástica con el desarrollo de los ordenadores y

sensores de captura de imágenes [1].

La Visión Artificial, también llamada Visión Computacional, pretende con

determinadas restricciones reproducir el sentido de la vista del ser humano. En un

sistema de Visión Artificial se definen las siguientes fases, mostradas en la Figura 1.1:

La primera fase, consiste en la Captura o Adquisición de las imágenes

digitales mediante algún tipo de sensor, fundamentalmente una cámara.

Una imagen que es capturada a través de un sensor, se guarda en la memoria

de la computadora como un arreglo o matriz de puntos, llamados píxeles.

Cada pixel tiene asociados un valor numérico entre 0 y 255. Dependiendo del

tipo de imágenes que se traten, cada punto representará la intensidad o brillo

de la imagen, si se trabaja con imágenes en blanco y negro; o tres matrices de

puntos, uno para rojo, otro para verde y otro para azul si lo hacemos con

imágenes a color; su combinación representa los diferentes colores [2].

La segunda etapa tiene por objeto el tratamiento digital de imágenes para

facilitar las etapas posteriores. En esta fase, conocida como

Preprocesamiento, mediante filtros y transformaciones geométricas se tratan

de eliminar partes indeseables de la imagen y realzar los detalles de interés

para su posterior análisis.

Page 16: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

4

CAPTURA

La Segmentación es la siguiente fase, y consiste en particionar una imagen en

regiones homogéneas con el fin de extraer características de dichas regiones

(color, textura, forma,…) para la posterior etapa de reconocimiento.

Para finalizar, se llega a la etapa denominada de Reconocimiento o

Clasificación. Valiéndose del análisis de ciertas características que se

establecen previamente para diferenciar los objetos segmentados, se pretende

discernir entre unos y otros.

Figura 1.1: Etapas típicas en un sistema de Visión Artificial (adaptado de [1]).

Diferentes aspectos han ayudado a llevar a la Visión Artificial al campo de las

aplicaciones industriales como: el aumento de las prestaciones de los ordenadores,

desarrollo de técnicas algorítmicas eficientes para el abordaje de los problemas, etc.

Estos aspectos han permitido realizar el tratamiento de imágenes en tiempo real [2].

PREPROCESAMIENTO SEGMENTACIÓN RECONOCIMIENTO

Page 17: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

5

1.1 Seguimiento de objetos en movimiento

1.1.1 El problema de la visión dinámica

Una escena dinámica se compone de una secuencia de frames1 o fotogramas

interrelacionados, donde cada fotograma representa la escena en un determinado

instante de tiempo t.

Figura 1.2: Fotogramas de una secuencia de imágenes a través del tiempo.

Debemos entender un sistema de visión dinámica como un conjunto de coordenadas

espaciales (x,y) dentro de cada fotograma y además añadir un tercer parámetro como

sería el tiempo t, permitiéndonos su combinación la descripción de la entrada de un

sistema de visión dinámica como una función F(x,y,t). La entrada en juego del

parámetro t es fácil de entender si se tiene en cuenta los posibles cambios que pueden

darse en la escena, ya sea debido al movimiento de la escena en sí misma, de la

cámara o de ambos. En el trabajo que se trata, ese movimiento de cámara no va a

producirse, debido a que las secuencias de imágenes serán captadas mediante una

cámara estática.

Para procesar información dinámica se podrán aplicar técnicas estáticas a cada

fotograma por separado o analizar una secuencia de forma continua.

1 Imagen particular dentro de una sucesión de imágenes que componen una animación.

x

y

Page 18: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

6

1.1.2 Objetivos del seguimiento

o Estimación del cambio temporal de los parámetros característicos de nuestro

modelo, a partir de observaciones de dichos parámetros realizadas en contextos

de incertidumbre (con ruido).

o El seguimiento espacio-temporal de un móvil a través de la estimación óptima

de su estado.

o Predicción-actualización del estado futuro del modelo a partir de una

secuencia de observaciones: típico de un filtro.

1.1.3 Estudio del movimiento

1.1.3.1 Hipótesis de Continuidad

El primer objetivo será desarrollar un algoritmo, basándose en el Filtro de

Partículas, para llevar a cabo el seguimiento visual. Para ello debemos tener muy en

cuenta la conocida hipótesis de continuidad que permitirá deducir la posición de un

objeto en movimiento en un instante de tiempo. La hipótesis de continuidad puede

enunciarse del modo siguiente:

“Suponemos que la frecuencia de muestreo del sistema es suficiente para que el

movimiento se muestre como continuo, es decir que dadas dos muestras consecutivas en

el tiempo, la posición del objeto en ambas será cercana”.

En términos matemáticos:

(1.1)

donde xti es la posición en el eje x en el instante de tiempo t, yti es la posición en el

eje y en el instante de tiempo t y ǫ es la distancia máxima entre dos mediciones para

que éstas se consideren continuas.

Page 19: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

7

Suponiendo esto, se restringirá la búsqueda del objeto a regiones cercanas a la

posición estimada en un instante de tiempo t, permitiendo limitar el cálculo y ahorrando

coste en computación.

1.1.3.2 Inercia

La inercia se define como la dificultad o resistencia que opone un sistema físico en

ausencia de alteraciones externas, a posibles cambios [3].

La hipótesis de continuidad del movimiento, impone una restricción que hace deducir

que el movimiento conservará en parte, tanto su velocidad como su aceleración en los

instantes siguientes al actual.

Utilizando esta idea se pueden predecir comportamientos en el movimiento de un

objeto durante periodos de corta duración, si la velocidad se mantiene constante en el

tiempo y mientras no se tengan nuevas medidas, es decir:

(1.2)

donde vt+n es la velocidad en el instante de tiempo t+n y vt es la velocidad en el

instante de tiempo t.

Al igual que la velocidad, la aceleración también permanecerá constante hasta que no

obtengamos otro nuevo dato. En términos matemáticos:

(1.3)

Donde at+n es la aceleración en el instante de tiempo t+n y at es la aceleración en el

instante de tiempo t.

A medida que pase el tiempo con respecto al instante de tiempo actual t, se tendrá

una probabilidad p menor de que tanto la velocidad como la aceleración se mantengan

constantes en el tiempo, debido a la incertidumbre que sufrirá la predicción.

vt+n = vt

at+n = at

Page 20: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

8

1.1.3.3 Hipótesis o restricciones de suavidad del movimiento.

Para continuar con el estudio del movimiento se tendrá que tener claro que:

o Una proyección de un movimiento 3D suave sigue siendo suave.

o El movimiento de un objeto en cualquier punto de la imagen en una secuencia

no cambiará abruptamente. En este sentido se tendrá en cuenta que de un

punto dado, las siguientes características, serán relativamente invariantes de un

fotograma al siguiente:

o La posición.

o La velocidad escalar.

o La dirección de movimiento.

1.1.4 Métodos de detección de movimiento

Para realizar la detección del movimiento a través del tiempo en la secuencia de

fotogramas, se tendrá en cuenta lo siguiente: un movimiento perceptible en la escena

provocará cambios (p.ej. nuevas oclusiones) en la secuencia de fotogramas de dicha

escena.

Debemos tener siempre presente, que no solo los cambios producidos en la secuencia

de fotogramas de la escena podrán ser debidos al movimiento de un objeto, sino que

también pueden ser provocados por cambios en la iluminación u otros factores.

La mayoría de las técnicas de análisis dinámicas están basadas en la detección de

cambios en una secuencia de fotogramas, ya sean: fotograma a fotograma, píxel a píxel

o región a región.

Page 21: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

9

1.1.5 Técnica de detección de movimiento: Sustracción

de fondo

Este método requiere tener un fotograma inicial como modelo para obtener las

posteriores diferencias de los fotogramas que conforman la secuencia. Todo cambio con

respecto al fotograma inicial será considerado como no perteneciente al background 2.

En nuestro caso, aplicado al movimiento de objetos, todo cambio detectado será

interpretado como presencia del objeto a seguir [4].

El algoritmo pretende, dada una imagen B, definida como de background, obtener los

cambios que se producen a lo largo del tiempo t en la secuencia de fotogramas It,

representando éste cada uno de los fotogramas de la secuencia a través del tiempo.

En términos matemáticos:

(1.4)

donde B es la imagen tomada como background, It es el fotograma en el instante de

tiempo t , Id es la imagen diferencia en valor absoluto entre It y B, y T es el tiempo

total.

La sustracción de fondo estática es una técnica fácil de implementar pero de escasa

aplicación en entornos realistas, donde se requiere que la imagen usada como fondo

pueda variar dinámicamente teniendo en cuenta, entre otros factores, los cambios de

iluminación producidos en la escena.

2 Referido al fondo de una imagen o fotograma

Id = | It - B | ∀t=1,…,T

Page 22: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

10

1.1.6 Aplicaciones del seguimiento visual

Existen en la literatura múltiples aplicaciones para el seguimiento visual mediante

técnicas de visión artificial. Muchas de ellas están inspiradas en lo que los seres

humanos hacen con el sistema de seguimiento biológico [5].

- Navegación: De la misma manera que las personas utilizan marcas visuales para

caminar o evitar objetos, un robot puede hacer uso de ellas para obtener su

posición y orientación relativa a ellas durante su trayecto.

- Reconocimiento de caras: El reconocimiento de caras es un problema

complicado. Existen numerosos trabajos sobre este tema, los cuales tratan de

identificar personas en entornos controlados y con vistas frontales de las caras. El

problema se hace más difícil cuando la persona a reconocer no se encuentra

inmóvil, sino que se mueve de forma natural delante de las cámaras.

- Realimentación visual para brazos de robots: Controlar los brazos de robot por

medio de seguimiento visual es una técnica útil para interactuar con entornos

dinámicos.

- Vigilancia: Ésta ha sido de las primeras aplicaciones útiles para algoritmos de

seguimiento. Normalmente, los sistemas de vigilancia típicos constan de cámaras

estáticas con módulos de detección que activan la grabación de secuencias.

- Seguimiento del movimiento de las personas: En este tipo de aplicaciones se

pretende reconocer los gestos del cuerpo. Por ejemplo, manos y dedos pueden ser

usados como ratones o teclados para interactuar con un ordenador.

- Control del tráfico: La monitorización de vehículos en carreteras y autopistas es

otra de las aplicaciones prácticas del seguimiento. La detección de colisiones y

maniobras peligrosas de los conductores pueden ser detectadas.

Page 23: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

11

1.2 Filtro de Partículas

Un Filtro de Partículas es un método para estimar el estado de un sistema que

cambia de forma dinámica. Fue propuesto por Gordon, Salmond y Smith en 1993 [6]. El

filtro se compone de un conjunto de muestras en el espacio del problema a los cuales se

les asigna un peso de acuerdo con ciertas características medidas. Una partícula se

define como una dupla formada por un estado y un peso .

(1.5)

donde es un estado del espacio de estados , y es el peso o verosimilitud

asociada al estado y normalizado entre [0,1]. La idea es usar conjuntos de estas

partículas para aproximar distribuciones de probabilidad, por lo que se obtiene:

(1.6)

Si el conjunto de muestras es suficientemente grande, se puede demostrar que la

función de densidad de probabilidad (pdf) estimada por dichas muestras se aproxima de

forma muy fiel a la pdf real de la distribución. En concreto, para un conjunto infinito de

muestras, la pdf estimada coincidiría exactamente con la pdf real. Usando únicamente la

suposición de continuidad del movimiento la pdf esperada es una distribución uniforme,

por lo que el peso de cada partícula debe ser y estar uniformemente distribuido en el

espacio.

Page 24: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

12

La Figura 1.3 muestra el esquema de estimación utilizado por el Filtro de

Partículas.

Figura 1.3: Esquema de estimación usado por el Filtro de Partículas

1.2.1 Operaciones

Sobre un conjunto de partículas se pueden realizar ciertas operaciones. Las que se

utilizan normalmente para implementar el Filtro de Partículas son [7]:

Multiplicación por una función

Aplicación de un modelo de dinámica

Remuestreo (resampling).

1.2.1.1 Multiplicación por una función o cálculo de pesos

La multiplicación es la más simple de las funciones utilizadas sobre un conjunto de

partículas. Consigue el efecto de mantener la situación de las partículas dentro del

espacio de estados pero modifica su peso para que sea proporcional a la función por la

que se multiplica.

pdf

Page 25: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

13

Sea un conjunto de partículas S definido sobre el espacio de trabajo X:

y h(x) una función continua, no negativa y acotada lejos de 0.

En el nuevo conjunto, las partículas tendrán la misma posición que en el original

pero su peso habrá cambiado para ser proporcional a la función que se ha aplicado,

h(x).

Una representación gráfica del funcionamiento de la multiplicación sobre partículas

puede apreciarse en la Figura 1.4:

Figura 1.4: Funcionamiento de la multiplicación sobre partículas

Representación discreta de

la pdf a priori

Representación discreta de

la pdf a posteriori

Page 26: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

14

1.2.1.2 Aplicación de un modelo de dinámica

Con la operación de aplicación del modelo de dinámica se busca representar el

conocimiento que tenemos acerca del movimiento. Es decir, si se conoce la posición de

un objeto en el instante t se tiene alguna información acerca de su posible posición en el

instante t+1. Esto se expresa como una distribución de probabilidades. Es decir, que

dado un conjunto de partículas y una distribución de probabilidades como la siguiente:

al aplicar la función se obtiene otro conjunto de partículas que cumple lo siguiente:

(1.7)

siendo N el número total de partículas.

La idea de aplicar esta función es que las partículas se dispersen conforme a la

función, así que ésta debe representar el conocimiento acerca del movimiento. Si se

desconoce el modelo de movimiento, la función propuesta será una distribución

uniforme. Sin embargo, si se basa en la hipótesis de continuidad, al menos se conoce

que la siguiente posición estará en las inmediaciones de la anterior. Esto se puede

representar mediante una distribución normal.

Page 27: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

15

1.2.1.3 Remuestreo o Resampling

Una distribución de probabilidad p(x) se puede representar de muchas formas. Sin

embargo, algunas son mejores que otras según el uso que se le dé. El cálculo

computacional se hace más liviano si la mayoría de las partículas tienen pesos iguales.

Este es el propósito de la etapa de resampling.

Supóngase que se tiene un conjunto de partículas S:

Después de aplicar el resampling se obtiene otro conjunto de partículas S que

cumplirá lo siguiente:

(1.8)

donde la operación de escoger es independiente en cada paso. También existe la

posibilidad de que el resampling sea determinista, por ejemplo directamente

proporcional al peso de las antiguas partículas.

Page 28: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

16

1.2.2 Descripción del algoritmo

El algoritmo tiene una serie de etapas en las cuales se usan las operaciones

explicadas anteriormente:

1. Inicio: Se lanzan N partículas de forma aleatoria en el espacio de

búsqueda.

2. Actualización: se define una función que sea proporcional a la porción

de la partícula que ha caído sobre el objeto que se está buscando, de modo que al

realizar la multiplicación, se obtengan partículas con pesos altos en aquellas

posiciones del espacio que tienen una situación cercana al objeto.

3. Selección: a partir del conjunto de partículas anterior, se crea uno nuevo

con el mismo número de partículas en el que éstas serán seleccionadas entre las

anteriores de forma proporcional a su peso. Así, las partículas con un peso alto se

replicarán muchas veces y aquellas que tuviesen un peso bajo se replicarán pocas.

En la Figura 1.5 se puede apreciar el funcionamiento del algoritmo de selección

con pesos acumulados.

Figura 1.5: Funcionamiento del algoritmo de selección con pesos acumulados

Page 29: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

17

4. Predicción: las partículas sufren leves cambios de estado (posición en

nuestro caso) que representa lo que se conoce del movimiento. Por la hipótesis de

continuidad y puesto que el objeto tiene un movimiento continuo, la difusión se

hace desde el último estimado como centro y se dispersa con una distribución

normal en las proximidades dentro de un radio r.

La Figura 1.6 muestra un pseudocódigo del algoritmo:

VAR

P, P‟: conjunto de partículas;

M´: medida;

BEGIN

Inicialización (P);

t=1;

WHILE t<TMAX DO

Actualización (P,M(t));

Selección (P,P´);

Predicción (P´,P);

t=t+1;

END;

END.

Figura 1.6: Pseudocódigo del algoritmo Filtro de Partículas.

Page 30: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

18

Page 31: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

19

Capítulo 2 Objetivos

El objetivo principal de este proyecto puede enunciarse del siguiente modo:

“Seguimiento y extracción de características geométricas de un objeto en

movimiento a través de un Filtro de Partículas”.

Este objetivo se articula en los objetivos operativos que se enumeran a continuación.

2.1 Objetivos principales

1. Realizar un estudio del método Filtro de Partículas para obtener una visión

general del problema.

2. Implementar un Filtro de Partículas adaptándolo a la funcionalidad requerida

tras el conocimiento del filtro básico.

3. Experimentar con el Filtro de Partículas para un mejor entendimiento de sus

objetivos, ventajas y desventajas.

4. Desarrollar funcionalidad que permita la extracción de características relevantes

de un objeto basándonos siempre en la información proporcionada por las

partículas. Estas características serán:

o Centroide.

o Partícula estimada

o Perímetro.

o Área.

o Coordenadas máximas y

mínimas en las dimensiones

X e Y del objeto estimado

por el conjunto de partículas

(xmax, xmin, ymax, ymin).

5. Estudio de las características extraídas a través del tiempo, así como su

representación en los diferentes fotogramas de la secuencia de vídeo.

6. Obtener una buena respuesta, en cuanto a tiempo se refiere, del algoritmo.

7. Obtener las restricciones del sistema, es decir, casos en los que se comporta de

modo satisfactorio y en los que no lo hace.

8. Coleccionar un conjunto de datos de prueba.

Page 32: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

20

2.2 Objetivos Parciales

Análisis

- Utilizar el Filtro de Partículas para la posterior extracción de características

geométricas de un objeto.

- Decidir los casos de prueba que serán utilizados para ejecutar el Filtro de

Partículas y extraer las características de los objetos.

- Probar el Filtro de Partículas ante diferentes situaciones: cambio de fondo,

objetos diversos en: tamaño, forma, color y modelo de movimiento.

- Obtener conclusiones acerca de las características obtenidas, así como proponer

futuras mejoras.

Diseño

- Entender y mejorar el funcionamiento del Filtro de Partículas Básico,

adaptándolo a nuestras necesidades.

- Decidir el modo de llevar a cabo el cálculo de las diferentes características,

haciendo uso únicamente de la información proporcionada por las partículas.

- Decidir cómo se va a realizar el seguimiento de objetos, es decir, cuáles serán las

directrices a seguir.

Implementación

- Familiarizarse con el entorno de programación MATLAB.

- Aprender y utilizar la TOOLBOX que ofrece MATLAB.

- Escribir un Filtro de Partículas Básico

- Modificar el Filtro de Partículas con las características necesarias para que

cumpla los objetivos.

Page 33: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

21

- Implementar funcionalidad, que centrada en la información aportada por las

partículas, consiga extraer las características de un objeto tales como:

o Centroide.

o Partícula estimada

o Perímetro.

o Área.

o Coordenadas máximas y

mínimas en las dimensiones

X e Y del objeto estimado

por el conjunto de partículas

(xmax, xmin, ymax, ymin).

- Tras la extracción de características geométricas del objeto, realizar una

representación de su variación en el tiempo mediante funciones.

Pruebas

- Ejecutar el Filtro de Partículas en distintas secuencias de video, en las que se

ofrecen objetos diversos en tamaño, color, forma y modelo de movimiento.

- Estudio de las características geométricas de objetos deformables y no

deformables.

- Análisis de la eficiencia en tiempo de nuestro sistema, en el cálculo de las

características geométricas consideradas.

Page 34: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

22

Page 35: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

23

Capítulo 3 Descripción informática

En este capítulo se describen los diferentes aspectos que componen la especificación

del sistema desarrollado.

3.1 Herramientas utilizadas

3.1.1 El lenguaje programación MATLAB.

MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un

software matemático que ofrece un entorno de desarrollo integrado (IDE) con un

lenguaje de programación propio (lenguaje M). Está disponible para las plataformas

Unix, Windows y Apple Mac OS X.

Fue creado por The MathWorks en 1984, surgiendo la primera versión con la idea de

emplear paquetes de subrutinas escritas en Fortran en los cursos de álgebra lineal y

análisis numérico, sin necesidad de escribir programas en dicho lenguaje. El lenguaje de

programación M fue creado en 1970 para proporcionar un sencillo acceso al software de

matrices LINPACK y EISPACK sin tener que usar Fortran.

En 2004, se estimaba que MATLAB era empleado por más de un millón de personas

en ámbitos académicos y empresariales.

Entre sus prestaciones básicas se hallan:

La manipulación de matrices

La representación de datos y funciones.

La implementación de algoritmos, la creación de interfaces de usuario (GUI).

La comunicación con programas en otros lenguajes y con otros dispositivos

hardware.

Page 36: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

24

El paquete MATLAB dispone de dos herramientas adicionales que expanden sus

prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE

(editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de

MATLAB con las cajas de herramientas (toolboxes). Estas Toolboxes cubren las áreas

principales en el mundo de la ingeniería y la simulación, destacando entre ellas la de

proceso de imágenes, que han sido imprescindibles para este proyecto.

3.1.2 VideoSyn

VideoSyn es un generador de vídeo sintético [7]. El vídeo generado es una secuencia

simple en la que es posible generar un número variable de objetos rectangulares de

diferente tamaño que se mueven siguiendo un modelo de movimiento.

Permite añadir la funcionalidad de cambio de color. El cambio de color a uno

diferente del inicial, puede ser usado a modo de oclusión si el filtro es incapaz de

reconocer dicho color con la ventaja de que el observador humano puede supervisar el

funcionamiento y la corrección del filtro.

3.1.3 Open Video Converter

Conversor de video sencillo desarrollado por DigiByte Studio, sin grandes

pretensiones pero funcional y con los ajustes mínimos que todo conversor debe tener.

Es compatible con muchos formatos, entre otros MPEG, AVI, ASF, WMV o AVI, y

es su punto fuerte.

Puede convertir diferentes tipos de ficheros de video a AVI. Antes de proceder a la

conversión se puede fijar un punto de inicio y final al fichero convertido.

De este modo se puede fragmentar un vídeo y adquirir la escena que sea necesaria.

Entre algunos de los ajustes que permite realizar están: ajustar la resolución, escoger

el códec de vídeo, optar o no por la compresión de audio y ajustar la velocidad de salida

en función del soporte de destino.

Page 37: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

25

Como requisitos imprescindibles para el uso de este programa ya sea en su versión

completa o de evaluación están los siguientes:

Sistema Operativo : Win98/98SE/Me/2000/NT/XP/2003.

DirectX 9.0.

Este sencillo conversor de vídeo, posee una serie de ventajas y desventajas que se

recogen en la siguiente tabla de la Figura 3.1:

VENTAJAS DESVENTAJAS

Sencillo de usar Interfaz poco intuitiva

Compatible con múltiples formatos de video Versión de prueba muy limitada

Ajustes básicos

Tabla 3.1: Ventajas y desventajas del programa Open Video Converter.

3.1.4 Longitech QuickCam SDK

Para llevar a cabo la grabación de los videos utilizados en las diferentes pruebas del

Filtro de partículas, se hará uso de una cámara web Longitech QuickCam 9000 Pro.

Esta cámara permite obtener imágenes con detalles perfectos y nítidos, gracias a sus

componentes ópticos Carl Zeiss® y enfoque automático, incluso en primeros planos. En

la Figura 3.1se puede apreciar el aspecto de esta cámara web.

Figura 3.1: Cámara web Longitech QuickCam 9000 Pro.

Page 38: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

26

3.2 Requisitos

3.2.1 Requisitos Funcionales

Los requisitos funcionales son aquellos que proponen qué debe realizar la aplicación,

los servicios que ofrece, cómo debe reaccionar, estados que no se deben dar, etc. Estos

requisitos están enfocados a describir como se llevarían a la práctica los casos de uso.

Los requisitos funcionales de nuestra aplicación son:

Mediante un Filtro de Partículas básico, conseguir un seguimiento óptimo de

objetos en movimiento.

Modelizar el seguimiento, sin usar otras características que las de un Filtro de

Partículas básico.

Extracción de características geométricas de un objeto en movimiento para cada

fotograma de una secuencia de vídeo, haciendo uso únicamente de la

información proporcionada por las partículas:

o Centroide.

o Partícula estimada

o Perímetro.

o Área.

o Coordenadas máximas y

mínimas en las dimensiones

X e Y del objeto estimado

por el conjunto de partículas

(xmax, xmin, ymax, ymin).

Dar una visión completa del cambio producido en las características extraídas

del objeto en movimiento a través de los diferentes fotogramas de la secuencia

de vídeo.

Apreciar que dependiendo del número de partículas utilizado, los resultados

obtenidos acerca de la extracción de características geométricas puede variar.

Determinar el número de partículas adecuado que permita realizar una buena

extracción de las características geométricas y a la vez tenga un eficiente

comportamiento en cuanto a la complejidad.

El filtro debe ser capaz de recuperarse lo más rápidamente posible de la pérdida

de un objeto en un instante de tiempo.

Page 39: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

27

3.2.2 Requisitos no Funcionales

Los requisitos no funcionales aseguran que se disponga de un sistema manejable y

gestionable que ofrezca la funcionalidad requerida de manera fiable, ininterrumpida o

con el tiempo mínimo de interrupción, incluso ante situaciones inusuales.

Los requisitos no funcionales de nuestro sistema serán los siguientes:

Captura de secuencias de imágenes con una webcam para seguir objetos y

extraer las características geométricas del mismo.

En un primer lugar se realizarán pruebas siguiendo un objeto de un determinado

color para comprobar el funcionamiento del Filtro de Partículas, para más tarde

capturar secuencias de diferentes objetos con diversidad de tamaños, formas,

colores, modelos de movimiento.

En la captura de vídeos no puede producirse el movimiento de la webcam. En

caso de producirse, no será válida la secuencia de video.

La captura de la secuencia de vídeo debe ofrecer las suficientes imágenes por

segundo como para poder seguir al objeto en tiempo real.

Necesitaremos hacer uso de técnicas para el tratamiento de imágenes tales como:

la sustracción de fondo, para identificar el objeto en la imagen. Para ello

tendremos como requisito disponer de una imagen denominada de background,

que represente el fondo de la escena.

Los objetos a seguir no tienen que cumplir ninguna característica especial salvo

la de distinguirse con facilidad del fondo, es decir, no tienen que tener un color,

forma, tamaño o modelo de movimiento específicos, ya que en ello radica el

objeto del estudio.

No hacer ninguna suposición del movimiento del objeto salvo de su

continuidad.

Tratar implementar un algoritmo rápido y eficiente para acercarnos a tiempo

real.

Page 40: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

28

3.3 Modelo de desarrollo del software

El modelo de desarrollo software es una descripción simplificada de un proceso

software (actividades, productos, roles,…) [3]. Se empleará para el desarrollo de este

proyecto un modelo de desarrollo en espiral.

El modelo de desarrollo en espiral fue propuesto por Boehm, quien lo describe así:

“El modelo de desarrollo en espiral es un generador de modelo de proceso guiado

por el riesgo que se emplea para conducir sistemas intensivos de ingeniería de software

concurrente y a la vez con muchos usuarios”.

Se caracteriza principalmente por:

Un enfoque cíclico para el crecimiento incremental del grado de definición e

implementación de un sistema, mientras que disminuye su grado de riesgo.

Un conjunto de puntos de fijación para asegurar el compromiso del usuario

con soluciones de sistema que sean factibles y mutuamente satisfactorias.

Los principios básicos de esta metodología son los siguientes:

o Decidir qué problema se quiere resolver antes de proceder a

resolverlo.

o Examinar las múltiples alternativas de acción y elegir una de las más

convenientes.

o Evaluar qué se tiene hecho y qué se tiene que haber aprendido

después de hacer algo.

o No creer que el sistema que se construye será "EL" sistema que el

cliente necesita.

o Conocer (comprender) los niveles de riesgo, que tendrán que

tolerarse.

Page 41: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

29

A continuación se ilustra un resumen gráfico del modelo de desarrollo en espiral,

mediante la Figura 3.2:

Figura 3.2: Modelo de desarrollo en espiral representado gráficamente.

El modelo de desarrollo en espiral, ilustrado en la Figura 3.2, consiste en una serie

de ciclos que se repiten en forma de espiral, comenzando desde el centro.

En cada ciclo se tiene en cuenta:

o Los Objetivos: Qué necesidad debe envolver el programa.

o Análisis: Los varios métodos de alcanzar los objetivos de manera

exitosa, a través de diferentes puntos como son:

1. Características: experiencia del personal, exigencias a efectuar.

2. Formas de gestión del programa.

3. Riesgo tomado con cada alternativa.

o Desarrollar y Verificar: Programar y probar el programa.

Page 42: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

30

o Se planificarán los siguientes pasos y se volverá a comenzar otro ciclo.

La espiral tiene una forma de caracola y se dice que mantiene dos

dimensiones la radial y la angular:

1. Angular=Avance del proyecto Software, dentro de un ciclo.

2. Radial=Aumento del coste del proyecto, ya que con cada nueva

iteración se pasa más tiempo desarrollando.

Este sistema es muy utilizado en proyectos largos y que requieren constantes

cambios, por ejemplo la creación de un Sistema Operativo. Al ser un modelo de Ciclo

de Vida orientado al riesgo, se dice que uno de los aspectos fundamentales de su éxito

radica en que el equipo que lo aplique sea capaz de detectar y catalogar correctamente

dichos riesgos.

3.4 Diseño e implementación

3.4.1 Tratamiento imágenes: Sustracción de fondo

Las técnicas básicas consisten en el estudio de la imagen resultante de la diferencia

de una imagen con su fondo. Los objetos que se diferencian entre ambas imágenes

producen en la imagen diferencia un conjunto de píxeles con valores distintos a cero.

En la Figura 3.3 se muestra la imagen de background de la secuencia, un fotograma

con el objeto en movimiento y su posterior conversión a una imagen binaria, donde los

píxeles pertenecientes al objeto en movimiento aparecen en la imagen binaria en color

blanco (valor „1‟) y los pertenecientes al fondo, a color negro (valor „0‟).

Figura 3.3: Ejemplo de sustracción de fondo

Page 43: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

31

Así, partiendo de dos imágenes It (imagen en el instante t) e If (imagen de fondo) los

objetos tras esta segmentación serían los píxeles a uno de la imagen Id. Siendo U un

valor umbral que depende de la variación de la iluminación entre ambas imágenes.

1, si |It (x,y) – If (x,y) |> U Id =

0, en otro caso

(3.1)

3.4.2 Filtro de Partículas para seguimiento de objetos

en 2D

Para seguir objetos en 2D en una secuencia de vídeo además de aplicar técnicas para

el tratamiento de imágenes que ayudarán a su detección, será necesaria la funcionalidad

del Filtro de Partículas básico con alguna diferencia. A continuación, procedemos a

detallar el mismo y dividiremos su explicación en dos partes: Generación de datos y

Funcionamiento del Filtro de Partículas.

Generación de datos:

Pedir parámetros

La aplicación requiere que el usuario indique una serie de parámetros para

posteriormente llevar a cabo la ejecución del Filtro de partículas y el seguimiento del

objeto en 2D. Esto parámetros son los siguientes:

1. Nombre (y ruta si procede) del archivo *.avi.

2. Número del primer fotograma del análisis. Siempre el primer fotograma será

considerado como el de background.

3. Nº último fotograma del análisis.

4. Número de partículas.

Page 44: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

32

5. Umbral para la condición que conforma la imagen diferencia, es decir, nuevo

fotograma que recoge las diferencias entre los dos fotogramas comparados

(imagen binaria donde se recoge la diferencia del fotograma actual con

respecto al considerado de background).

6. Umbral para consideración objeto en el cálculo de las (x,y) máximas y

mínimas.

7. Umbral para consideración partículas correspondientes al perímetro. Vector

con umbral mínimo y máximo correspondientemente.

8. Umbral para consideración partículas correspondientes al área.

9. Tamaño de la ventana de la imagen que inspecciona cada partícula.

10. Rango utilizado en la etapa de difusión.

11. Rango utilizado en la etapa de predicción.

Obtener datos:

Dada una secuencia de vídeo indicada mediante la ruta anteriormente mencionada,

será necesario obtener una serie de datos de interés como la secuencia de vídeo e

información de interés de la misma, como la que se muestra en la Tabla 3.2:

Nombre Fichero Tipo compresión de la imagen.

Fecha de modificación Tipo compresión del video

Número de frames Número de entradas mapa de color

Frames por segundo Formato de audio

Ancho frame Ratio del audio

Alto frame Número de canales de audio

Tamaño del fichero

Tabla 3.2: Tabla con información proporcionada por la secuencia

Estos parámetros informativos acerca de la secuencia de vídeo serán de gran validez

en el desarrollo de funcionalidad futura.

Page 45: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

33

Funcionamiento del Filtro de Partículas:

Generar población inicial

Lo primero que haremos será:

o Generar aleatoriamente las coordenadas (x,y) de todas las partículas dentro de

las dimensiones del fotograma de la secuencia de vídeo.

o Inicializar la velocidad de mencionadas partículas a cero (vx, vy).

Sustracción de Fondo

Dada una imagen RBG, se compara canal por canal con una imagen previa definida

como de background (imagen sin objeto) dando lugar a un nuevo tipo de imagen

denominada binaria, es decir, aquélla definida por 0 ó 1 dependiendo de si se encuentra

o no diferencia respectivamente.

Actualización

Se asigna un peso a las partículas del conjunto generado, para ello se dibuja una

pequeña ventana o región de interés asociada a la posición de la partícula y se suma el

número de píxeles a „1‟ (aquellos en los que existe diferencia con respecto a la imagen

de background) que se encuentran dentro de ella. Resultará de gran utilidad para futuros

cálculos.

Construir ruleta

Crea un vector denominado ruleta normalizado a 1. Para ello suma todos los pesos

normalizados de las partículas, creando abstractamente un gráfico de sectores,

consiguiendo así reservar en el vector ruleta un mayor espacio para aquellas partículas

de mayor peso, que dispondrán por tanto de mayor probabilidad de caer dentro de esa

región.

Page 46: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

34

Tirar ruleta

Esta funcionalidad del Filtro de Partículas permite generar las nuevas partículas

para el instante siguiente. Para ello se tirará durante N veces (tantas como partículas

haya) la ruleta previamente construida y se guardará el índice de la partícula que se

elige en cada momento. Debemos entender que aquellas partículas con mayor peso

serán aquellas que tendrán mayor probabilidad de ser elegidas.

Elegir

Con anterioridad se obtienen los índices de las partículas tras tirar N veces la ruleta.

Ahora el conjunto partículas se generará con una posición, una velocidad y unos

pesos, pero con las partículas nuevas generadas tras tirar la ruleta y gracias a los índices

obtenidos. En resumen, generará un nuevo conjunto de partículas como el inicial, pero

ya no de modo aleatorio, sino haciendo uso de los índices obtenidos tras tirar la ruleta.

Se aprovechará igualmente para inicializar los pesos de todas las partículas a 1, porque

luego serán de nuevo actualizados.

Difundir

Debido a que se controla la generación de partículas parcialmente, es decir, no se

impone ninguna condición por la que dos partículas que ocupen las mismas

coordenadas no puedan existir, se aplicará un modelo de difusión con respecto a las

coordenadas (x,y) previas de cada partícula, para evitar la coincidencia en posición de

muchas partículas en la imagen. Esta difusión consiste en sumar a las coordenadas

(x,y) de cada partícula, un número introducido por el usuario. Cuanto mayor sea esta

función de separación entre partículas, mayor será la separación de éstas. Este

parámetro tendrá que ser tenido muy en cuenta en circunstancias en las que los objetos

aparecen muy dispersos por la imagen.

Page 47: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

35

De nada serviría disponer de 100 partículas si 50 de ellas ocupan la misma posición

en la imagen, solo 1 me aportaría información y 49 sobrarían, con el coste en ejecución

para nuestro algoritmo que ello supondría.

Movimiento

Una vez realizada la difusión de las partículas, para evitar solapamientos entre ellas,

se aplica el modelo de movimiento de las mismas. Ahora debemos aplicar el modelo de

movimiento tanto al cálculo de las coordenadas (x,y) de las partículas :

(3.2)

como a sus correspondientes velocidades (vx, vy):

(3.3)

vx (t + Δt)= vx(t) +F

vy (t + Δt)= vy (t) +F

Δt: incremento del tiempo

F : factor incremento

velocidad

x(t + Δt)= x(t) + G

y(t + Δt)= y(t)+G

Δt: incremento del

tiempo

G : factor incremento

posición

Page 48: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

36

3.4.3 Funcionalidad para extracción de características

geométricas de un objeto en 2D

Dividiremos este apartado en dos bloques, tratando de dar una visión más particular

de la funcionalidad implementada. Esta división se corresponde con: operaciones y

dibujar o representar.

Operaciones:

Calcular Centroide del objeto

El centroide es un punto que define el centro geométrico de un objeto.

Figura 3.4: Ejemplo de centroide en una figura geométrica.

Esta definición formal no es más, aplicada a nuestro Filtro de Partículas, que el

promedio de todas los coordenadas de las partículas que se encuentran en el objeto.

Matemáticamente se define como:

(3.4)

Debido a esta definición, al no aportar nada las partículas que no se encuentran en el

objeto en cuanto al peso, no debemos preocuparnos de ellas a la hora de calcular el

centroide.

Peso de la partícula

(xi,yi) Coordenadas de las partículas

Page 49: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

37

Calcular las coordenadas máximas y mínimas en las dimensiones X e Y del objeto

seguido por el conjunto de partículas (xmax, xmin, ymax, ymin).

En primer lugar seleccionaremos todas aquellas partículas que se encuentren dentro

del objeto, descartando aquellas que no lo están. Sólo las partículas con peso, es decir,

las que solapan parcial o totalmente el objeto pueden competir por convertirse en las

coordenadas máximas y mínimas en las dimensiones X e Y del objeto estimado por el

conjunto de partículas (xmax, xmin, ymax, ymin). El cálculo de estos puntos de interés

proporcionará un rectángulo o cuadrado que seguirá al objeto durante la secuencia de

video.

Cálculo de las partículas que definen el perímetro

Se define el perímetro como el contorno de la superficie de una figura u objeto y

podemos apreciar un ejemplo de su representación gráfica mediante la Figura 3.5. El

objetivo será realizar el cálculo del perímetro, pero haciendo uso de la información

proporcionada por las partículas. Para ello se diferenciará entre aquellas partículas que

se encuentren en los bordes del objeto y el resto, mediante unos umbrales que

introducirá el usuario. El sistema se quedará únicamente con aquellas que se encuentren

en el contorno del objeto en movimiento y obviará el resto de partículas del conjunto

generado.

Figura 3.5: Representación del perímetro de un objeto cualquiera en 2D

Ordenar perímetro

Una vez obtenido un conjunto de partículas que pertenecen al borde del objeto a

seguir, se llevará a cabo una ordenación del mismo en orden creciente a su ángulo, para

su posterior representación. Dicho cometido se consigue en tres pasos:

Page 50: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

38

1. Trasladar las coordenadas de las partículas que forman parte del

perímetro del objeto, con respecto al centroide del mismo y hacerlas unitarias,

como se muestra en la Figura 3.6.

Figura 3.6: Representación de la translación de coordenadas

Para ello se aplican las siguientes fórmulas:

(3.5)

2. Obtener el ángulo formado por el vector que surge de unir mediante una

recta las coordenadas ya trasladadas y hechas unitarias con el centroide del

objeto, con respecto al vector (0,1), como se muestra en la Figura 3.7:

Figura 3.7: Ángulo formado entre vector creado y vector (0,1).

Centroide del objeto

xtransladada= xcoordenada-xcentroide ytransladada= ycoordenada-ycentroide

Centroide del

objeto

Ángulo formado

Page 51: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

39

El ángulo debe ser clasificado atendiendo al cuadrante al que pertenece. Para

una mayor claridad se muestra en la Figura 3.8 una representación gráfica de ello:

Figura 3.8: Cuadrantes del eje de coordenadas.

Por último se convierte de radianes a grados los ángulos mediante la fórmula

(3.6):

(3.6)

3. Aplicar un algoritmo de ordenación burbuja3 que ordena las

coordenadas de las partículas del perímetro en orden creciente a su ángulo,

expresado en grados.

3 Algoritmo de ordenación que funciona revisando cada elemento de la lista que va a ser ordenada con

el siguiente, intercambiándolos de posición si están en el orden equivocado

Grados = Radianes * 180 /

Page 52: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

40

Cálcular perímetro

Para calcular el perímetro, se hará uso del conjunto de partículas pertenecientes al

perímetro y ordenadas en orden creciente a su ángulo. Se hallará la distancia entre

todas y cada una de ellas, aplicando la fórmula (3.7), y acumulando el valor resultante

de las mismas, siendo éste el valor del perímetro del objeto seguido como se expresa

matemáticamente mediante la fórmula (3.8).

(3.7)

donde serán las partículas y , las coordenadas correspondientes

a las partículas.

(3.8)

donde se corresponde con una de las partículas pertenecientes al perímetro y

con la partícula final. Np será el número de partículas del conjunto.

Se considerará que una partícula pertenece al perímetro del objeto cuando su peso

sea distinto de 0 y del máximo peso posible.

Cálculo de las partículas que definen el área

Es la extensión o superficie comprendida dentro de una figura. Con la información

proporcionada por las partículas, se generará un subconjunto de las partículas que

forman parte del objeto en su totalidad, es decir, aquéllas que tengan un peso cercano al

máximo.

Page 53: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

41

Calcular Área

Una vez obtenido el subconjunto de partículas pertenecientes al área del objeto, se

procederá a calcular el área del mismo. Para ello no se utilizará este subconjunto de

partículas, sino el conjunto ordenado de partículas pertenecientes al perímetro. Se

desarrollará una técnica, que atendiendo a la información ofrecida por las partículas,

permitirá el cálculo del área con el menor error posible. Para ello haremos sucesivos

cálculos del área de un triángulo.

A continuación se muestra el modo de calcular el área de un triángulo:

(3.9)

La suma de todos los triángulos formados por el centroide y dos partículas

consecutivas del perímetro del objeto conformará el área de nuestro objeto a seguir,

como se describe gráficamente en la Figura 3.9:

Figura 3.9: Representación del cálculo del área de un objeto

Área triángulos que conforman

el área del objeto

Page 54: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

42

Estimación

Calcular el estimado del sistema para el fotograma actual, consiste en el cálculo de la

partícula con mayor peso dentro del conjunto de N partículas.

Dibujar o representar:

Representaremos las siguientes características geométricas y cinemáticas del objeto:

o Centroide

o Partícula estimada (la de mayor peso).

o Coordenadas máximas y mínimas en las dimensiones X e Y del

objeto estimado por el conjunto de partículas (xmax, xmin, ymax,

ymin).

o Perímetro

o Área

o Funciones con respecto al tiempo:

o Perímetro

o Área

Page 55: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

43

3.4.4 Diagrama de bloques del Filtro de Partículas

INICIALIZACIÓN

Pedir Parámetros.

Obtener Parámetros.

Generación población

inicial.

ACTUALIZACIÓN

Sustracción de fondo.

Actualización (cálculo

de pesos)

SELECCIÓN

Construir ruleta.

Tirar ruleta.

Elegir.

PREDICCIÓN

Difusión

Movimiento

CÁLCULO DE PARAMETROS

GEOMÉTRICOS

Calcular centroide del objeto.

Calcular las coordenadas

máximas y mínimas en las

dimensiones X e Y del objeto

seguido (xmax, xmin, ymax, ymin).

Cálculo de las partículas que

definen el perímetro.

Ordenar perímetro

Calcular perímetro

Cálculo de las partículas que

definen el área

Calcular el área

Estimación

ANÁLISIS DE

CARACTERÍSTICAS

GEOMÉTRICAS

FILTRO DE PARTÍCULAS

Page 56: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

44

Page 57: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

45

Capítulo 4 Resultados Experimentales

1.1 Experimento 1: Objeto no deformable

Para la realización de esta prueba se ha elegido una pelota blanca de béisbol sobre un

fondo verde. El objeto realiza un movimiento rectilíneo uniformemente decelerado. Los

parámetros empleados para el seguimiento y extracción de características son los que se

muestran en la Tabla 4.1:

Tabla 4.1: Parámetros calculados para un objeto no deformable

Al ser un objeto de escaso tamaño, el número de partículas utilizadas es pequeño:

150 partículas.

El tamaño de ventana de la partícula es reducido, ya que queremos que la ventana

para las partículas sea más pequeña que el propio cuerpo. De lo contrario, la

información dada acerca de sus características sería poco realista.

Los rangos en la etapa de difusión y en la etapa de dispersión no son muy grandes.

PARÁMETRO VALOR NUMÉRICO

Primer Frame de la secuencia 1

Último Frame de la secuencia 71

Número de partículas a generar 150

Umbral para formar imagen diferencia 0.20

Umbral partículas xmax, xmin, ymax, ymin 0.75

Umbral partículas del perímetro [0.10, 0.65]

Umbral partículas área 0.40

Tamaño ventana de las partículas [10,10]

Rango etapa difusión [15,15]

Rango etapa dispersión [20,20]

Page 58: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

46

Figura 4.1: Captura 1 de un objeto no deformable en instante t=2s.

El sistema al detectar el objeto por primera vez, presenta una idea muy poco

aproximada del área y perímetro real del cuerpo, como se puede ver en la Figura 4.1.

Podemos apreciar con la imagen binaria, una forma indeterminada del objeto debido

al movimiento decelerado, que tendrá su mayor velocidad en estos primeros instantes de

tiempo.

Figura 4.2: Captura 2 de un objeto no deformable en instante t=5s.

Page 59: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

47

Sobre el instante de tiempo t=5s, se produce un hecho relevante, y es que tanto el

perímetro como el área del objeto son maximizados de un modo que no se

corresponde con la realidad, como refleja la Figura 4.2. El objeto al encontrarse en

movimiento deja una estela que el sistema interpreta como perteneciente al objeto.

Figura 4.3: Captura 3 de un objeto no deformable en instante t=17s.

En la Figura 4.3 se puede apreciar como una vez asentado el movimiento del objeto,

obtenemos valores de área y perímetro constantes a lo largo del tiempo, lo que supone

que en los rangos de tiempo comprendidos entre t=10s y t=17s, la extracción de

características del objeto se realiza de manera satisfactoria otorgando valores al

perímetro, área, centroide, xmax, xmin, ymax, ymin de buena precisión.

Los valores negativos en la gráfica del perímetro o área en el transcurso del tiempo,

se deben a instantes en los que el Filtro de Partículas no tiene éxito en el seguimiento

del objeto.

Page 60: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

48

1.2 Experimento2: Objeto deformable

En esta ocasión se tira un pañuelo rojo desde una cierta altura y es acelerado por la

acción de la gravedad. El objeto cambia de forma a lo largo del tiempo por lo que

resulta de mayor complejidad la detección de sus características. Esta vez se producirán

cambios en el área y perímetro, no únicamente por el movimiento, sino por las

deformaciones producidas en el objeto. La Tabla 4.2 muestra los parámetros empleados

para el seguimiento y extracción de características del objeto deformable.

PARÁMETRO VALOR NUMÉRICO Primer Frame de la secuencia 1

Último Frame de la secuencia 71

Número de partículas a generar 1000

Umbral para formar imagen diferencia 0.3

Umbral partículas xmax, xmin, ymax, ymin 0.75

Umbral partículas del perímetro [0.10, 0.65]

Umbral partículas área 0.40

Tamaño ventana de las partículas [6,6]

Rango etapa difusión [25,25]

Rango etapa dispersión [25,25]

Tabla 4.2: Tabla parámetros objeto no deformable.

Los parámetros utilizados en este experimento son diferentes a los del experimento

previo. El número de partículas generado es superior al anterior, debido a que el cuerpo

a detectar posee mayor superficie. También varían medidas como el umbral para la

imagen diferencia, evitando así cualquier tipo de ruido que pudiera hacer pensar en

puntos erróneos como pertenecientes al objeto.

Igualmente la ventana del tamaño de las partículas se ha reducido para obtener una

mayor precisión en las medidas, puesto que el objeto seguido presenta mayor

irregularidad que el anterior.

Los rangos de difusión y dispersión son superiores a los empleados en la primera

prueba, puesto que el movimiento realizado por el objeto en esta ocasión presenta

mayor incertidumbre.

Page 61: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

49

Figura 4.4: Captura 1 de un objeto deformable en instante t=7s.

En el instante t=7s la aplicación captura el objeto. Observando la Figura 4.4 se

aprecia una buena detección de área pero no de perímetro, sobre todo en cuanto a su

representación se refiere, probablemente debido al movimiento acelerado que presenta

el objeto.

Figura 4.5: Captura 2 de un objeto deformable en instante t=17s.

Page 62: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

50

En el instante de tiempo t=17s, vemos en la Figura 4.5 como el sistema es capaz de

detectar, a pesar de la rapidez, el cambio en la forma del cuerpo seguido, reflejándolo en

una buena extracción de las características del mismo.

Figura 4.6: Captura 3 de un objeto deformable en instante t=33s.

Una vez el objeto deja de tener movimiento, como se muestra en la Figura 4.6, se

obtiene para los instantes de tiempo comprendidos entre t=22s y t=33s valores

homogéneos tanto del área como del perímetro, pudiendo corroborar la buena

extracción de características que realiza el sistema cuando los cambios en el objeto son

moderados.

Page 63: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

51

1.3 Prueba 3: Video sintético

El video que a continuación se pasa a describir es generado sintéticamente por una

aplicación denominada VydeoSyn. A través del mismo pretendemos realizar una

comprobación realista de la eficiencia de nuestra aplicación. Conociendo las medidas

del objeto, podremos comparar los resultados obtenidos en la extracción del área y

perímetro por parte de nuestro sistema, con respecto a la realidad. La Tabla 4.3

muestra los parámetros empleados para extraer las características y seguir al objeto

generado sintéticamente.

Tabla 4.3: Tabla parámetros video sintético

El rango en la etapa de difusión se mantiene con respecto al utilizado anteriormente

con un objeto deformable, ya que se pretende concentrar las partículas (1500) sobre el

objeto de forma que se vea solapado por ellas. La etapa de dispersión es la de mayor

rango empleado hasta el momento, debido a que hemos eliminado fotogramas del video

sintético por resultar éste demasiado lento. Esto no debería ser así y nuestros vídeos

deberían ser capaces de procesarse en tiempo real, pero el entorno de programación

utilizado hace muy pesado todo el procesamiento.

La ventana de la partícula es lo suficientemente ajustada como para dar una

información precisa que permita comprobar la eficiencia de nuestro sistema a la hora de

calcular el área y el perímetro del cuerpo.

Igualmente se han modificado y ampliado los umbrales pertenecientes a cada una de

las características a extraer. Se pretende conseguir mayor exactitud en la información

extraída en detrimento de la eficiencia en tiempo.

PARÁMETRO VALOR NUMÉRICO

Primer Frame de la secuencia 330

Último Frame de la secuencia 930

Número de partículas a generar 1500

Umbral para formar imagen diferencia 0.20

Umbral partículas xmax, xmin, ymax, ymin 0.10

Umbral partículas del perímetro [0.05, 0.95]

Umbral partículas área 0.45

Tamaño ventana de las partículas [7,7]

Rango etapa difusión [25,25]

Rango etapa dispersión [50,50]

Page 64: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

52

Figura 4.7: Captura 1 video sintético en instante t=20s.

La Figura 4.7 muestra la primera detección del objeto y cálculo de área y

perímetro. Esta detección se realiza sobre el instante t=20s debido a que existirán

muchos fotogramas anteriores en los que el objeto no se detecte. Se pretende conseguir

la mínima variación posible entre los valores de área y perímetro para llevar a cabo la

comparación de las medidas obtenidas con la realidad.

Figura 4.8: Captura 2 video sintético en instante t=40s.

Page 65: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

53

La Figura 4.8 muestra una captura final del video sintético. Como se puede apreciar

los valores obtenidos de perímetro y área se mantienen constantes a lo largo del

tiempo, pero se quiere comprobar esto estadísticamente.

4.3.1 Análisis

En la Tabla 4.4 se muestran los valores obtenidos de área y perímetro a lo largo

del tiempo:

ÁREA PERÍMETRO TIEMPO (seg) 2482,7 166,8578 16.7190

3505,6 239,8959 18.5000

3791,8 269,8049 19.4220

2999,5 202,7565 20.3910

3854,5 282,4795 24.5470

3372,3 249,4015 25.5160

3306,6 275,9958 26.4690

3546,7 245,7728 27.3910

3362,4 248,8099 28.2820

3316,7 221,6771 29.1250

3490,4 250,1135 30.0000

3896,5 279,7270 30.9070

3118,7 216,0172 32.9540

3217,6 225,2385 33.8290

3505,8 249,8963 34.7040

3524,3 261,5050 35.6100

3637,4 247,1458 36.6250

3487,7 255,2701 37.6410

3814,6 273,2881 38.5940

3457,7 253,6086 39.5160

Tabla 4.4: Área y perímetro a través del tiempo con video sintético.

Page 66: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

54

CARACTERÍSTICAS

Media

aritmética

Valor

Máximo

Valor Mínimo Error

cometido

respecto

realidad (%)

ÁREA 3433,25263 3896,5 2482,7 13,4% PERÍMETRO 245,76309 282,4795 166,8578 11,36 %

Tabla 4.5: Datos estadísticos obtenidos del video sintético.

La Tabla 4.5 nos permite comprobar la eficiencia y aproximación a la realidad de

nuestro sistema en el cálculo del área y perímetro de un objeto.

El sistema realizó el seguimiento de un objeto cuadrado de 55x55 píxeles generado

sintéticamente sobre un fotograma de 400x400 píxeles. Con ello debiéramos obtener

valores de área y perímetro de: 3025y 220 respectivamente.

Se muestran en la Tabla 4.5 los valores obtenidos por la aplicación tras realizar el

seguimiento. Se especifica en ella la media aritmética de todas las mediciones de área

y perímetro a lo largo del tiempo, así como el valor máximo y mínimo alcanzado. En

la última columna se muestra el valor del error cometido en el cálculo del perímetro y

área utilizando la media aritmética como medida obtenida por el sistema. Las fórmulas

utilizadas para realizar este cálculo son las siguientes:

(4.1)

11,71 % 13,49 %

Page 67: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

55

Capítulo 5 Conclusiones

Presentamos con este proyecto la implementación del método Filtro de Partículas

para el seguimiento de objetos en 2D, así como la extracción y estudio de características

relevantes del cuerpo seguido mediante la información proporcionada por las partículas,

tales como:

o Centroide.

o Partícula estimada

o Perímetro.

o Área.

o Coordenadas máximas y

mínimas en las dimensiones

X e Y del objeto estimado

por el conjunto de partículas

(xmax, xmin, ymax, ymin).

Para llevar a cabo el desarrollo de la aplicación, se ha hecho uso del entorno de

programación MATLAB. Previamente se ha realizado un estudio general de las áreas de

la Visión Artificial cuyo conocimiento era necesario para el buen desarrollo del

proyecto. Más tarde se desarrolló el Filtro de Partículas, alcanzando así uno de los

objetivos de este proyecto, el seguimiento de objetos en 2D.

Una vez alcanzado ese primer objetivo, dotamos a nuestro sistema de la

funcionalidad suficiente para realizar la extracción de las características relevantes para

obtener valores de las mismas eficientes y que puedan servir en futuros trabajos.

5.1 Objetivos alcanzados

Tras el desarrollo de la aplicación se ha realizado un estudio detallado que se

muestra en el Capítulo 4 de esta memoria. Se ha aplicado el sistema a diversas

secuencias de vídeo con distintos objetos en cuanto a forma, tamaño, color, modelo de

movimiento y hemos obtenido resultados satisfactorios en la extracción de sus

características. Para llevar a cabo un análisis estadístico de la eficiencia de nuestro

trabajo, sometimos al mismo al seguimiento de un cuadrado de 55x55 pixeles sobre un

frame de 400x400 pixeles, obteniendo pequeños errores de detección de perímetro y

área: 11,71% y 13,49% respectivamente, con respecto a las características geométricas

reales.

Page 68: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

56

Es muy importante tener en cuenta para una correcta obtención de resultados, los

parámetros a introducir. Estos parámetros, al ser la primera vez que el autor del

proyecto tomaba contacto con problemas de esta índole no tenía conocimiento alguno

de las consecuencias que podría tener la modificación de sus valores sobre el

seguimiento del objeto y la extracción de sus características. Por ello se toma especial

cuidado en cada secuencia de video de detallar los mismos. De este modo se pretende

clarificar al lector la metodología del seguimiento visual a través del Filtro de

Partículas.

El único objetivo pendiente y que debe ser motivo de mejora para futuros trabajos

radica en la eficiencia del sistema, fundamentalmente provocada por el entorno de

programación MATLAB. Debemos conseguir una mayor velocidad de procesamiento

de la aplicación, para poder llevar a cabo el seguimiento de objetos en tiempo real y en

un futuro dar un uso más realista de nuestro sistema.

5.2 Mejoras y futuras líneas de trabajo

Se pretende desarrollar el siguiente trabajo futuro, relacionado con el proyecto:

o Dotar al sistema de un método de tratamiento de imágenes adaptativo para su

futura aplicación en secuencias realistas.

o Mejorar la eficiencia de la aplicación haciendo uso de otros entornos de

programación diferentes a MATLAB, que resulta fácil, intuitivo y de gran poder

didáctico pero que carece de un rendimiento óptimo en cuanto a tiempo de

ejecución se refiere.

o Obtener un conjunto adicional de medidas de forma (p.ej: forma global del objeto,

ejes menor y mayor, …).

o Generalizar el método para la extracción de medidas de un conjunto de objetos

presentes en la escena

o Mejorar la estimación de la medida del área aplicando otros métodos con menor

porcentaje de error.

Page 69: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

57

Page 70: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

58

Page 71: Aplicación del filtro de partículas al seguimiento de un ...caporesearch.es/jjpantrigo/PFCs/pfc_efren.pdf · Índice figuras Figura 1.1 Etapas ... Este proyecto tiene por objetivo

Aplicación del filtro de partículas al seguimiento de un objeto en 2D y extracción de características.

59

Bibliografía

[1] J.F Vélez, A.B Moreno, Á. Sánchez y J.L Esteban, “Visión por Computador”,

Universidad Rey Juan Carlos, 2003.

[2] L. Enrique Sucar, “Vision computacional y sus aplicaciones”, Biblios:

Periodico La Jornada de Oriente [On line]. [consultado el 6.12.08]. Disponible en:

http://www.lajornadadeoriente.com.mx/2008/10/06/puebla/arroba14.php

[3] http://es.wikipedia.org

[4] D.Hall1, J. Nascimento

2, E.Andrade, et al, “Comparison of target detection

algorithms using adaptative background models”, INRIA Rhône-Alpes, France1, IST

Lisbon, Portugal2, University of Edinburgh, UK

3.

[5] L. Guerra Artal, “Seguimiento visual artificial”, Biblios. [consultado el

7.12.08]. Disponible en:

http://www.fulp.ulpgc.es/files/webfm/File/web/publicaciones/vectorplus/articulos/vp22

_05_articulo02.pdf

[6] J. MacCormick, “Stochastic Algorithms for Visual Tracking”, pringer-Verlag,

London, 2002.

[7] J.Hernández Sánchez, “Filtros de Partículas con Realimentación basada en

Memoria”, Proyecto Fin Carrera Universidad Rey Juan Carlos, Junio 2007.