0% encontró este documento útil (0 votos)
83 vistas74 páginas

Seguimiento de Objetos Rígidos Estéreo

Este documento presenta una tesis de maestría que propone un algoritmo para realizar el seguimiento de objetos rígidos mediante visión estéreo. El algoritmo combina el seguimiento de centroide utilizando el método de interlinea con el concepto de usar partículas alrededor de un objeto para predecir su posición. Se comparan los resultados del método propuesto con otros métodos como el seguimiento de centroide, filtro de Kalman y filtro de Kalman extendido. El documento describe los fundamentos teóricos de visión por computadora,
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
83 vistas74 páginas

Seguimiento de Objetos Rígidos Estéreo

Este documento presenta una tesis de maestría que propone un algoritmo para realizar el seguimiento de objetos rígidos mediante visión estéreo. El algoritmo combina el seguimiento de centroide utilizando el método de interlinea con el concepto de usar partículas alrededor de un objeto para predecir su posición. Se comparan los resultados del método propuesto con otros métodos como el seguimiento de centroide, filtro de Kalman y filtro de Kalman extendido. El documento describe los fundamentos teóricos de visión por computadora,
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Seguimiento de un objeto rígido

mediante visión estéreo-Edición Única

Title Seguimiento de un objeto rígido mediante visión estéreo-Edición


Única

Issue Date 2005-11-01

Publisher Instituto Tecnológico y de Estudios Superiores de Monterrey

Item Type Tesis de Maestría

Downloaded 17/03/2018 [Link]

Link to Item [Link]


INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

CAMPUS MONTERREY
DIVISIÓN DE INGENIERÍA Y ARQUITECTURA
PROGRAMA DE GRADUADOS EN INGENIERÍA

Seguimiento de un objeto rı́gido mediante visión estéreo.

TESIS
PRESENTADA COMO REQUISITO PARCIAL PARA OBTENER EL GRADO
ACADEMICO DE:

MAESTRA EN CIENCIAS
ESPECIALIDAD EN SISTEMAS DE MANUFACTURA

POR:

GLORIA ESTELA CHACÓN BARRAGÁN

MONTERREY, N. L. DICIEMBRE 2005


c
°Gloria Estela Chacón Barragán, 2005
Derechos Reservados

ii
INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

CAMPUS MONTERREY

DIVISIÓN DE INGENIERÍA Y ARQUITECTURA


PROGRAMA DE GRADUADOS EN INGENIERÍA

Los miembros del comité de tesis recomendamos que el presente proyecto de tesis presen-
tado por la Ing. Gloria Estela Chacón Barragán sea aceptado como requisito parcial
para obtener el grado académico de:

Maestra en Ciencias en Sistemas de Manufactura


Especialidad en Automatización

Comité de Tesis:

————————————————–
M.C. Federico Guedea Elizalde
Asesor de la tesis

————————————————– ————————————————–
Dr. Rubén Morales Menéndez M.C. Gerardo Arturo Vallejo Moreno
Sinodal Sinodal

Aprobado:

————————————————–
Dr. Federico Viramontes Brown
Director del Programa de Graduados en Ingenierı́a
Diciembre 2005

iii
Reconocimientos

Agradezco a Martı́n mi esposo, por estar conmigo y apoyarme en todo momento.

Gracias a ti, mi hermosa hija, por todo tu amor, paciencia y comprensión, y por brindarme
siempre tu hermosa sonrisa.

Agradezco a mis padres todo su apoyo incondicional. Gracias por ser mis guı́as.

Agradezco a mi asesor, el M.C. Federico Guedea por compartir conmigo sus conocimientos
y por todo el tiempo invertido en la realización de esta tesis.

Agradezco a mis Sinodales, por su tiempo para la revisión de esta tesis.

Gracias. . .

iv
Dedicatoria

A Martı́n mi esposo.

A Daniela, mi hermosa y valiente hija.

A mis padres.

v
Resumen

El seguimiento de objetos para aplicaciones con robots requiere de algoritmos de visión


computacional que respondan a requerimientos de tiempo real. La exigencia es mayor si
se usa un sistema de vision estéreo para obtener la profundidad o distancia a la que se
encuentra el objeto desde un punto de referencia visual para un robot.

El presente trabajo muestra una extensión para algoritmos relacionados con visión
estéreo y el seguimiento de objetos rı́gidos en trayectorias no conocidas con anterioridad.

El algoritmo desarrollado se basa en una combinación de la heurı́stica de seguimiento


de centroide utilizando el método de interlinea, desarrollado por [1], el cual presenta una
excelente eficiencia computacional, y el concepto del uso de partı́culas o puntos que rodean
un objeto para la predicción o estimación de su posición en un tiempo t (imagen actual),
conocida su posición en un tiempo t-1 (imagen anterior) en un par de imágenes estéreo.

Se muestran los resultados obtenidos mediante la comparación de los métodos de


seguimiento de centroide mediante el método de interlinea [1], filtro de Kalman [2], fil-
tro de Kalman extendido (EFK) [3] y algoritmo desarrollado en el presente trabajo de
tesis.

vi
Índice general

1. Introducción 1
1.1. Objetivo y limitantes de la investigación. . . . . . . . . . . . . . . . . . . . 4

2. Marco Teórico 6
2.1. Visión por Computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. Procesamiento de Imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1. Adquisición de la imagen . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2. Preprocesamiento de la imagen . . . . . . . . . . . . . . . . . . . . 9
2.2.3. Segmentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.4. Representación y descripción. . . . . . . . . . . . . . . . . . . . . . 10
2.2.5. Reconocimiento e Interpretación. . . . . . . . . . . . . . . . . . . . 11
2.3. Estéreo Visión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.1. Modelo Ideal Estéreo . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.2. Matriz de Proyección. . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.3. La Visión Estéreo y sus problemas. . . . . . . . . . . . . . . . . . . 15
2.3.4. Algoritmos de correspondencia. . . . . . . . . . . . . . . . . . . . . 16
2.4. Procesamiento de imágenes en tiempo real. . . . . . . . . . . . . . . . . . . 17
2.4.1. Caracterı́sticas de los sistemas en tiempo real. . . . . . . . . . . . . 19
2.4.2. Los sistemas de tiempo real y sus requerimientos. . . . . . . . . . . 20

3. Rastreo de Objetos Rı́gidos 22


3.1. Movimiento en una imagen . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2. Métodos de rastreo de objetos. . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1. Seguimiento en base a diferencias. . . . . . . . . . . . . . . . . . . . 24
3.2.2. Seguimiento en base a centroide. . . . . . . . . . . . . . . . . . . . . 24
3.2.3. Seguimiento por compuerta. . . . . . . . . . . . . . . . . . . . . . . 25
3.2.4. Seguimiento en base a correlación. . . . . . . . . . . . . . . . . . . . 26

vii
3.2.5. Seguimiento de centroide mediante el método de interlinea . . . . . 26
3.2.6. Seguimiento en base al Filtro de Kalman. . . . . . . . . . . . . . . . 28
3.2.7. Filtro de Kalman Extendido . . . . . . . . . . . . . . . . . . . . . . 32
3.2.8. Seguimiento en base a Filtrado de Partı́culas. . . . . . . . . . . . . 33

4. Método Propuesto e Implementacón del Sistema. 35


4.1. Método propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.1.1. Descripción del método propuesto. . . . . . . . . . . . . . . . . . . 37
4.2. Implementación del algoritmo desarrollado. . . . . . . . . . . . . . . . . . . 39
4.2.1. Caracterı́sticas del Sistema. . . . . . . . . . . . . . . . . . . . . . . 39
4.3. Funcionamiento del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5. Experimentación y Resultados. 45
5.1. Experimentación y Resultados. . . . . . . . . . . . . . . . . . . . . . . . . 45
5.1.1. Secuencias utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6. Conclusiones 57

A. Interfaz del Sistema de Seguimiento 61

viii
Índice de figuras

2.1. Etapas fundamentales del procesamiento digital de imágenes. . . . . . . . . 8


2.2. Proceso del modelo ideal estéreo. . . . . . . . . . . . . . . . . . . . . . . . 12
2.3. Geometrı́a estéreo básica. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4. Técnicas de Correspondencia. . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.1. Imagen en escala de grises. . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


3.2. Método de Rastreo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3. Desviación estándar del error . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1. Descripción del método desarrollado . . . . . . . . . . . . . . . . . . . . . . 36


4.2. Secuencia de puntos colocados alrededor del objeto. . . . . . . . . . . . . . 37
4.3. Puntos dentro del objeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.4. Movimientos en el eje Z. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.5. Interface para imágenes estéreo. . . . . . . . . . . . . . . . . . . . . . . . . 40
4.6. Diálogo para aprendizaje de objetos. . . . . . . . . . . . . . . . . . . . . . 41
4.7. Funciones del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.8. Seguimiento de un objeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.9. Rastreo de un objeto en vision estéreo . . . . . . . . . . . . . . . . . . . . 43

5.1. Secuencia lineal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47


5.2. Secuencia con levantamientos del objeto . . . . . . . . . . . . . . . . . . . 47
5.3. Secuencia en forma de parabola. . . . . . . . . . . . . . . . . . . . . . . . . 48
5.4. Seguimiento en base a filtro de Kalman. . . . . . . . . . . . . . . . . . . . 49
5.5. Seguimiento en base a centroide mediante interlinea. . . . . . . . . . . . . . 50
5.6. Seguimiento por medio del algoritmo desarrollado. . . . . . . . . . . . . . . 50
5.7. Comparación de método de seguimiento. . . . . . . . . . . . . . . . . . . . 51
5.8. Rastreo del objeto mediante el método desarrollado. . . . . . . . . . . . . . 52
5.9. Centros reales en trayectoria parabólica. . . . . . . . . . . . . . . . . . . . 53
5.10. Seguimiento en base a centroide mediante interlinea. . . . . . . . . . . . . . 53

ix
5.11. Seguimiento y predicción mediante EFK. . . . . . . . . . . . . . . . . . . . 54
5.12. Seguimiento y predicción mediante algoritmo desarrollado. . . . . . . . . . 54
5.13. Secuencia de seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.14. Secuencia de seguimiento(continuación) . . . . . . . . . . . . . . . . . . . . 56

A.1. Interfaz desarrollada para el sistema de seguimiento. . . . . . . . . . . . . . 61

x
Capı́tulo 1

Introducción

En las últimas décadas la robótica y la automatización han experimentado un desarro-


llo notable en la industria de la manufactura, esto debido al incremento en la demanda de
altos niveles de productividad y calidad en los diferentes tipos de actividades industriales.

Sin embargo y a pesar de estos significativos avances, los niveles de automatización en


las industrias modernas, aún no cumplen con los pronósticos de automatización esperados
para comienzos del siglo XXI. Como es bien sabido una gran cantidad de tareas repetiti-
vas han sido automatizadas en ambientes altamente controlados, donde cada cosa ha sido
diseñada con el fin de simplificar el proceso, pero donde aún, una falla insignificante puede
llevar a un inesperado y costoso paro de toda una lı́nea de producción.

Por otro lado, los continuos avances en robótica e inteligencia artificial aún están lejos
de permitirnos la automatización de muchas tareas, en las cuales la experiencia humana es
aún la fortaleza de los operadores.

Para cambiar este escenario y movernos hacia una verdadera industria automatizada,
es necesario incrementar la flexibilidad y confiabilidad de los sistemas de producción. Es
imposible lograr esto sin dotar a los sistemas de producción con capacidades de sensado
avanzado, las cuales les permitan detectar eventos inesperados o asegurar la calidad de los
productos que se están produciendo.

Entre los sistemas de sensado, los sistemas de percepción visual proveen la mayor can-
tidad de información en el menor tiempo. De ahı́ que los sistemas de visión son candidatos
perfectos para adquirir la mayorı́a de la información necesaria sobre el ambiente de trabajo

1
2

donde las actividades industriales son llevadas a cabo, ası́ como el estado de los productos
que están siendo manufacturados. Además es de suma importancia acoplar la información
obtenida por estos sistemas de percepción a los nuevos retos de robótica y automatización.

Los sistemas de percepción visual o sistemas de visión pueden ser monocular o estéreo.
En el caso de sistemas monoculares se han desarrollado varias aplicaciones [4], donde ca-
racterı́sticas especı́ficas tales como ejes, esquinas y agujeros fueron usadas para estimar la
posición relativa y orientación de un objeto con respecto a la cámara. En todos los casos la
distancia de la profundidad entre el objeto y la cámara fue predefinida y fija. Esto reduce
el problema a un ambiente en dos dimensiones.

La visión estéreo tiene la capacidad sobre los sistemas de visión monocular de obtener
la profundidad o distancia a la cual se encuentran los objetos desde un punto de referencia
visual.

Tradicionalmente los algoritmos de visión estéreo han sido desarrollados para encontrar
la profundidad de una imagen usando extracción de caracterı́sticas (puntos o esquinas) [5]
o una lı́nea base [6]. La extracción de caracterı́sticas esta basada en operadores diferen-
ciales, como el operador de Canny o el operador de Sobel, y la extracción de esquinas se
basa normalmente en el operador de SUSAN [7]; estos operadores representan una buena
elección, sin embargo son computacionalmente caros y su desempeño en tiempo real puede
ser muy limitado.

Otros de los grandes problemas a los que ha tenido que enfrentarse la visión artificial
es el rastreo de objetos en ambientes densos; además de que el seguimiento de objetos para
aplicaciones con robots requiere de algoritmos de visión computacional que respondan a
requerimientos en tiempo real [8].

En general el problema de rastreo de caracterı́sticas visuales en ambientes complejos


son llevados con incertidumbre; de ahı́ la necesidad de adoptar principios de modelos pro-
babilı́sticos con la capacidad de aprender y detectar los objetos de interés.

En los últimos años ha venido aumentando el uso de un algoritmo llamado “Filtrado de


Partı́culas”(Particle Filter, en inglés), también conocido como “Condensación” o método
secuencial de Monte Carlo. Este algoritmo ha probado ser una herramientas poderosa en
Introducción 3

el rastreo de objetos. La fortaleza de este método radica en su simplicidad, flexibilidad y


tratamiento sistemático de no linealidad y no Gaussianidad [9].

Los filtros de partı́culas permiten resolver los problemas asociados a los filtros de
Kalman, no asumen linealidad ni Gausianidad en los procesos, y su cálculo es computa-
cionalmente eficiente. La idea básica es representar las distribuciones de probabilidad,
asociadas a los parámetros a estimar, mediante partı́culas no uniformemente distribuidas.
En otras palabras, las distribuciones de probabilidad se discretizan en forma no uniforme
y el comportamiento de cada partı́cula se modifica a través del tiempo en forma adaptiva,
utilizando el modelo de movimiento y el modelo observacional.

En un principio el costo computacional del filtro de partı́culas habı́a sido considerado


su principal desventaja, sin embargo con el avance en la velocidad del tiempo de proce-
samiento de las computadoras actuales, este argumento ha comenzado a ser poco relevante.

Hoy en dı́a una cámara de visión estéreo y un sofware adecuado para el rastreo de
objetos o personas, funcionando en tiempo real, puede ser muy útil en la industria, en el
transporte y en otros campos, cuando existen peligros latentes, como el que un objeto se
mueva cerca de otro. Por ejemplo la mano de un trabajador de una fábrica puede moverse
muy cerca de una prensa o un peatón puede caminar detrás de un carro moviéndose en
reversa, en estas situaciones la cámara puede detectar rápidamente tales eventos y mandar
una señal de alerta.

Las bolsas de aire de los automóviles podrı́an ser más inteligentes si tuvieran la capaci-
dad de medir el tamaño y posición de los pasajeros. Una cámara estéreo podrı́a proporcionar
exactamente dicha información y de esta forma la bolsa de aire podrı́a desplegar una pre-
sión mesurada de acuerdo a las caracterı́sticas del pasajero, reduciendo lesiones en gente
pequeña.

El monitoreo remoto de lugares públicos o privados pudiera mejorar su efectividad


sustituyendo una conjunto de cámaras mono por cámaras estéreo y un software de rastreo,
señalando una alarma solo cuando el sistema rastrea un movimiento anormal en el campo
de una de las cámaras; por ejemplo, en un estacionamiento el sistema de monitoreo pudiera
detectar a una persona merodeando alrededor de un carro, el cual es un comportamiento
normal para un ladrón, pero anormal para el dueño del carro, quien generalmente entra
4

directamente al carro. En este ejemplo el sistema de rastreo visual actúa como un filtro
visual inteligente, dando solo condiciones anormales de conducta al personal de monitoreo.

1.1. Objetivo y limitantes de la investigación.


El presente trabajo de tesis muestra el desarrollo de un algoritmo para el seguimiento
de objetos rı́gidos moviéndose en trayectorias aleatorias (no definidas con anterioridad) en
tiempo real, utilizando visión estéreo.

El algoritmo desarrollado integra aspectos de visión, resolución y captura dados por la


óptica empleada y, esta basado en la combinación de la heurı́stica de seguimiento de cen-
troide utilizando el método de interlı́nea [1] y el concepto de partı́culas o puntos alrededor
de un objeto para predecir la posición del mismo.

La heurı́stica de rastreo desarrollada por [1] es eficiente cuando los movimientos del
objeto a seguir son lentos y no existen movimientos bruscos, sin importar la trayectoria del
objeto (lineal o curva). Sin embargo, la heurı́stica presenta problemas de rastreo cuando
el objeto se mueve rápidamente o existen problemas de oclusión; en dichas situaciones la
herurı́stica pierde el centro del objeto y por ende el rastreo del mismo.

Es por eso la necesidad de desarrollar un método con el cual se pueda rastrear un obje-
to en trayectorias curvas y movimientos rápidos. El método propuesto es validado en una
secuencia de imágenes obtenidas en tiempo real mediante una cámara estéreo.

Las limitaciones en el presente trabajo de tesis son: (1) El algoritmo propuesto debe de
ser desarrollado para ser utilizado en una computadora de propósito general, y el equipo
de visión estéreo utilizado no sea un sistema de sensado de capacidad industrial. (2) Los
problemas de oclusión no son tratados en este trabajo de investigación.

La presente tesis se estructura de la siguiente forma, en el capı́tulo 2 se describen


cada uno de las caracterı́sticas que constituyen el sistema como lo son: el procesamiento
de imágenes, la visión estéreo y el procesamiento en tiempo real. En el capı́tulo 3 se
hace una breve descripción de los métodos existentes para el rastreo de imágenes. En el
capı́tulo 4, se describe el método de seguimiento desarrollado en el presente trabajo de tesis.
Posteriormente en el capı́tulo 5 se presenta la experimentación y los resultados obtenidos.
Introducción 5

En el capı́tulo 6 se exponen las conclusiones generadas durante el desarrollo, y en base a


las pruebas realizadas. Finalmente en el apéndice A se detalla la interfaz utilizada.
Capı́tulo 2

Marco Teórico

2.1. Visión por Computadora


La visión por computadora es la ciencia que desarrolla las bases teóricas y los algorit-
mos por medio de los cuales información útil sobre lo que nos rodea puede ser fácilmente
extraı́da y analizada desde una imagen observada, un conjunto de imágenes (estéreo visión)
o una secuencia de imágenes (análisis de movimiento).

La visión por computadora tiene como objetivo duplicar el efecto de la visión humana
percibiendo y entendiendo una imagen por medios electrónicos. Utiliza los resultados y
métodos de las matemáticas, reconocimiento de patrones, inteligencia artificial, ciencias
de la computación, electrónica, neurofisiologı́a, sicologı́a y otras disciplinas cientı́ficas para
conseguir su objetivo.

En visión por computadora se distinguen dos niveles: procesamiento de imágenes de ba-


jo nivel y entendimiento de imágenes de alto nivel [10]. Los métodos de bajo nivel utilizan
muy poco conocimiento del contenido de la imagen. Algunos ejemplos son los métodos de
compresión de imágenes, filtros para eliminar ruido y extracción de bordes.

El procesamiento de bajo nivel recibe y genera como salida datos en matrices que re-
presentan el brillo o color en una posición de la imagen. El procesamiento de alto nivel
está basado en el conocimiento y es común utilizar métodos de Inteligencia Artificial.

La visión por computadora de alto nivel trata de imitar la cognición humana y la toma
de decisiones basada en información contenida en la imagen. La visión de alto nivel comien-

6
Marco Teórico 7

za con un modelo formal del mundo, después, la realidad percibida en forma de imágenes
digitalizadas es comparada con ese modelo. Al hallar diferencias se hacen comparaciones
parciales y se utilizan los métodos de bajo nivel para extraer información. Este proceso es
repetido de forma iterativa y el entendimiento de la imagen es el resultado de la interacción
entre los procesos de alto nivel y de bajo nivel.

El ciclo de retroalimentación toma los resultados parciales del procesamiento de alto


nivel y crea tareas para los métodos de bajo nivel y ası́, eventualmente, se converge a la
meta global.

Visión por computadora y procesamiento de imágenes son dos disciplinas complemen-


tarias las cuales algunas veces son confusas.

Visión por computadora es definida, como se mencionó arriba, como el proceso de ex-
tracción de información del mundo real, obtenida de una imagen por medio del uso de la
computadora, mientras que el procesamiento de imagen puede ser definido como un pro-
ceso que transforma una imagen degradada en una imagen de mucho mejor calidad, con el
fin de facilitar su posterior interpretación.

En la práctica las técnicas de procesamiento de imágenes pueden ser aplicadas para


facilitar la interpretación de imágenes fortalecidas por los algoritmos de computación. En
este contexto el procesamiento de imágenes puede ser considerada como una etapa de pre-
procesamiento para la visión por computadora.

Las tres tareas principales que actualmente se estudian en visión por computadora son:

1. Planeación de caminos y detección de obstáculos.

2. Agarre y manipulación de objetos.

3. Reconocimiento de objetos.

Esta última tarea puede ser considerada como la más importante y es usada para com-
plementar las dos primeras. El reconocimiento de objetos es un subcampo de la visión
computacional cuya meta es el reconocer objetos de una imagen, y frecuentemente, esti-
mar la posición y orientación del objeto reconocido en un mundo 3D.
8

Las imágenes a ser analizadas pueden ser imágenes en dos dimensiones (2D), en es-
calas de grises, imágenes a color o imágenes en tres dimensiones (3D). Las aplicaciones son
muchas y varı́an desde máquinas de visión industrial hasta el análisis de imágenes médicas.

El reconocimiento de objetos es una parte fundamental en el proceso de seguimiento


de objetos, las caracterı́sticas obtenidas del objeto durante esta etapa de reconocimiento,
serán las caracterı́sticas que continuamente se estarán comparando durante el seguimiento,
esto para asegurar que el objeto que se sigue sea el deseado.

2.2. Procesamiento de Imágenes


El tratamiento digital de imágenes comprende un alto rango de hardaware, software
y recursos teóricos. En esta sección se presentan las etapas fundamentales para el proce-
samiento de una imagen.

Representación
Segmentación
y descripción.

Preprocesado Resultado

Dominio del Reconocimiento


Base de conocimiento
problema e interpretación.
Adquisición
de
imágenes

Figura 2.1: Etapas fundamentales del procesamiento digital de imágenes.

2.2.1. Adquisición de la imagen


Tres elementos son necesarios para adquirir imágenes digitales de video. El primero es
un dispositivo fı́sico que sea sensible a la banda visible del espectro electromagnético y
que produzca una señal eléctrica proporcional al nivel de energı́a percibido. El segundo
elemento es un cable por donde la señal eléctrica sea transmitida, y el tercero es un digi-
talizador, encargado de convertir la señal eléctrica del dispositivo fı́sico a una forma digital
[11]. Hoy en dı́a ya existen cámaras que producen una señal digital (IEEE 1394) que puede
Marco Teórico 9

ser transmitida a la computadora sin necesidad de un digitalizador, como es el caso de la


cámara estéreo utilizada en este trabajo de investigación.

Una imagen capturada es un conjunto de valores numéricos. La resolución es la me-


dida básica de cuanta información es visible en una imagen. Generalmente es descrita en
términos de h × v. Donde h es la resolución horizontal y v es la resolución vertical. Entre
más grandes sean éstos números es mejor debido a que la imagen tendrá un mayor de-
talle. Existe una relación que guarda el ancho de la imagen con su altura conocida como
cociente de aspecto, este puede ser 4:3 o 16:9. Es decir, cuando se tiene un cociente de
aspecto de 4:3 significa que la resolución vertical es 3/4 la resolución horizontal. Por ejem-
plo, con una resolución horizontal de 640 la resolución vertical es 3/4 de 640 = 640/4 *
3 = 480. Algunas resoluciones posibles son: 1280 * 960, 640 * 480, 320 * 240, 160 * 120, etc.

Cada imagen esta compuesta de elementos individuales conocidos como pixeles. Si se


tiene una resolución de 640 * 480 en realidad se dice que se tienen 480 lı́neas horizontales
y 640 pixeles por cada lı́nea, entonces, la imagen tendrá un total de 307,200 pixeles.

2.2.2. Preprocesamiento de la imagen


Después de que la imagen digital ha sido obtenida, el siguiente paso es el preproce-
samiento. Se le da este nombre a las operaciones en las imágenes al más bajo nivel de
abstracción, es decir, la entrada y salida de este paso son imágenes con valores de intensi-
dad similares a los datos originales capturados por el digitalizador. El pre-procesamiento
de imágenes no incrementa la cantidad de información de una imagen, sin embargo, es muy
útil porque ayuda a suprimir información que no es relevante para los objetivos particulares
de análisis en un caso dado. Su función es mejorar la imagen de manera que se incremente
la oportunidad de éxito de los siguientes procesos. El preprocesamiento tipicamente trata
con técnicas para realizar el contraste y remover el ruido.

2.2.3. Segmentación
El tercer paso del procesamiento digital de imágenes es la segmentación que subdivide a
una imagen en sus partes u objetos constituyentes. El nivel al que se lleva esta subdivisión
depende del problema que se este resolviendo, esto es, la segmentación debe detenerse
cuando los objetos de interés para una aplicación han sido aislados [11]. En general, la
segmentación automática es una de las tareas más difı́ciles en el procesamiento de imágenes.
10

Este paso del proceso determina el eventual éxito o fracaso del análisis de la imagen. Los
algoritmos de segmentación de imágenes tienen tres formas comunes:

métodos basados en bordes,

técnicas basadas en regiones y

técnicas de umbral.

Los métodos basados en bordes se centran en la detección de contornos. Delimitan el


borde de un objeto y segmentan los pixeles dentro del contorno como pertenecientes a ese
objeto. Su debilidad consiste en conectar contornos separados o incompletos, lo que los
hace susceptibles a fallas.

Las técnicas basadas en regiones, usualmente operan de la siguiente forma: la imagen es


dividida en regiones agrupando pixeles vecinos con niveles de intensidad similares. Las re-
giones adyacentes son unidas bajo cierto criterio que involucra la homogeneidad y agudeza
de las fronteras de la región. Un criterio muy estricto provoca fragmentación, un criterio
poco estricto ocasiona uniones indeseadas.

Las técnicas de umbral segmentan la imagen pixel por pixel, es decir, no toman en
consideración el valor de los pı́xeles vecinos para el proceso. Si el valor de un pixel esta
dentro del rango de valores especificado para un objeto el pixel es segmentado. Son efecti-
vas cuando los objetos y el fondo de la imagen tienen rangos de valores diferentes y existe
un contraste marcado entre ellos. Como la información de los pixeles vecinos es ignorada,
las fronteras de regiones borrosas pueden ocasionar problemas.

La elección de una técnica de segmentación está determinada por las caracterı́sticas


particulares del problema a resolver. La salida de esta etapa son los valores de los pixeles
que forman la frontera de una región o bien la región misma.

En este caso el objetivo de la segmentación es extraer las caracterı́sticas necesarias para


seguir a un objeto en movimiento y separarlo de las otras partes de la imagen.

2.2.4. Representación y descripción.


El conocimiento sobre un dominio del problema esta codificado en un sistema de proce-
samiento de imágenes como una base de datos de conocimiento. Este conocimiento puede
Marco Teórico 11

ser tan simple como detallar las regiones de una imagen donde se sabe que se ubica informa-
ción de interés, limitando ası́ la búsqueda que ha de realizarse para hallar tal información.

La descripción llamada también selección de caracterı́sticas, trata con extracción de los


rasgos que resulta en alguna información cuantitativa de interés o caracterı́sticas que son
básicas para diferenciar una clase de objetos de otra.

2.2.5. Reconocimiento e Interpretación.


El procesado de alto nivel comprende el reconocimiento y la interpretación. Estos dos
procesos tienen un gran parecido con lo que normalmente se conoce como conocimiento
inteligente. El reconocimiento es el proceso que etiqueta, o asigna un nombre, a un objeto
basándose en la información que proveen sus descriptores. La interpretación involucra la
asignación de significado a un conjunto de objetos reconocido. La mayorı́a de las técnicas
empleadas por los procesadores de nivel bajo e intermedio utilizan un conjunto de formu-
laciones bien definidas.

La base de conocimientos mantiene todo el conocimiento que se tiene acerca del pro-
blema tratado. Este conocimiento puede ser simple, teniendo solo las regiones de la ima-
gen donde la información de interés se conoce que está localizada, con lo que se limita la
búsqueda que conduce a esa información. La base de conocimiento también puede ser muy
compleja, como una lista interrelacionada de todos los posibles defectos en un problema
de inspección de materiales. La base de conocimiento guı́a la operación de cada modulo de
procesamiento y guı́a la interacción y comunicación entre cada uno de ellos, esta comuni-
cación entre módulos de procesamiento se basa generalmente en el conocimiento previo de
cómo debe ser el resultado [11].

2.3. Estéreo Visión.


La visión estéreo o estereoscópica como se le conoce también, se fundamenta en la evi-
dencia biológica. La visión estéreo se refiere a la habilidad de inferir información sobre
la estructura y la distancia de una escena 3-D desde dos o más imágenes tomadas desde
diferentes puntos de vista [12].
12

2.3.1. Modelo Ideal Estéreo


Para un buen entendimiento del proceso estéreo, es necesario entender más precisamente
los pasos involucrados. En esta sección describiremos la geometrı́a fundamental estéreo, y
en particular la relación de las imágenes con el mundo tridimensional, vı́a la proyección y
la reproyección. El proceso estéreo completo es descrito en dos etapas, como a continuación
se muestra [13].

Imagen Imágenes
Izquierda Disparidad en
Ideales la Imagen
Rectificación Correlación Estéreo.
Imagen
Derecha

Imágenes estéreo
de entrada

Figura 2.2: Proceso del modelo ideal estéreo.

Rectificación. Esta etapa es esencial ya que en el se convierten las imágenes de


entrada en un par de imágenes estéreo ideales, con una muy particular geometrı́a.
Esta geometrı́a hace más fácil que los algoritmos de correlación estéreo encuentren
la correlación correcta (disparidad) para cada pixel. También permite al sistema de
visión estéreo (SVS) reproyectar un pixel a sus coordenadas tridimensionales, dada
la disparidad.

Calibración. Produce la información necesaria para el paso de rectificación, y tam-


bién da los parámetros del par estéreo ideal resultante. Cuando se da la calibración
en un sistema de visión estéreo (SVS), las imágenes de entrada son usualmente con-
vertidas a imágenes ideales antes de que ellas sean desplegadas. En general, el usuario
debe interactuar solo con las imágenes ideales dado que con estas imágenes el pro-
blema de disparidad resulta más sencillo.

La figura (2.3) muestra la relación de dos cámaras estéreo ideales. El sistema de coor-
denadas globales es centrado sobre el punto focal de la cámara izquierda. De esta manera
Marco Teórico 13

u
u’
v CxCy s
v’ s’
CxCy

f
X f

Y Tx

Figura 2.3: Geometrı́a estéreo básica.

el sistema esta basado en la regla de la mano derecha, con Z positive hacia el frente de
la camara, y X positiva hacia la derecha. Las imágenes se alinean, con el v=v ’ para los
coordenadas de cualquier punto de la escena proyectado en las imágenes. La distancia entre
los puntos focales se alinea con el eje de X.

Ambas imágenes son encajadas en un plano común, perpendicular a los rayos princi-
pales. También, los ejes horizontales de la imagen se alinean, de modo que la primera lı́nea
de la imagen izquierda sea igual que la primera lı́nea de la imagen derecha. El rayo prin-
cipal de cada cámara perfora la imagen en las coordenadas (Cx, Cy). Estas coordenadas
no son tı́picamente el centro de la imagen, aunque están cercanas. Estas son normalmente
las mismas coordenadas en ambas imágenes, pero en casos excepcionales para imágenes
orientadas, el valor de Cx puede diferir. Las longitudes focales de ambas imágenes son las
mismas. Cualquier punto tridimensional (S) proyecta a un punto en las imágenes a lo largo
de un rayo a través del punto focal.

Hay que observar que los puntos s y s’ tienen siempre la misma coordenada de v en
las dos imágenes. La diferencia en sus coordenadas de u es la disparidad del punto 3D,
14

que se relaciona con su distancia del punto focal, y de la lı́nea de fondo TX que separa los
puntos focales. Un punto 3D se puede proyectar en la imagen izquierda o derecha por una
multiplicación de la matriz, usando la matriz de la proyección.

2.3.2. Matriz de Proyección.


La matriz de proyección transforma las coordenadas 3D en coordenadas de la imagen
ideal. Las coordenadas 3D están referenciadas en la cámara izquierda como se ve en la figu-
ra 2.3. Hay una matriz de la proyección para la cámara izquierda, y una para la cámara
derecha. La forma de la matriz P de la proyección 3x4 se muestra a continuación.

Un punto en 3D (XY Z)T es representado por los coordenadas homogéneos (XY Z1)T
y la proyección se realiza usando el múltiplo de la matriz.

 
  X
U  
   Y 
 V  = P ∗  
 Z 
W
1

donde (u/w, v/w) son las coordenadas de la imagen ideal. Nótese que esta ecuación se
mantiene solo para imágenes ideales, en las cuales las coordenadas (u,v) son de la imagen
rectificada. Las matrices de proyección contienen toda la geometrı́a esencial del par estéreo
ideal. En particular, ellas tienen el centro de proyección del rayo principal, la longitud focal
y la lı́nea base entre las cámaras. El largo focal y los centros de las imágenes son expresadas
en pı́xeles y la lı́nea base en milı́metros. La lı́nea base es parte del elemento (1,4) de la
matriz de proyección de la imagen derecha. Este elemento es 0 para la imagen izquierda.

 
Fx 0 Cx −Fx Tx
 
 0 Fy Cy 0 
0 0 1 0

La anterior es la matriz de proyección para una cámara sencilla. Fx, Fy es la longitud


focal de la imagen rectificada (pixeles), y Cx, Cy es el centro óptico (pixeles). Tx es la
Marco Teórico 15

traducción de la cámara concerniente a la cámara izquierda (cámara de referencia). Las


longitudes focales son para las imágenes rectificadas, de ahı́ que sean iguales; éstas no son
las longitudes focales f, fy dados explı́citamente en el archivo de los parámetros, que están
para las imágenes originales.

2.3.3. La Visión Estéreo y sus problemas.


Para abordar el problema de la visión estéreo se debe establecer en primer lugar la
correspondencia de puntos individuales del par de imágenes y, a partir de la diferencia de
posición de dichos puntos, calcular la profundidad de cada uno de ellos. Esto conlleva dos
problemas fundamentales:

El problema de la correspondencia (matching), que consiste en determinar que punto


en la imagen del ojo izquierdo corresponde a que otro punto en la imagen del ojo derecho,
es decir, la selección de los puntos y la identificación de éstos en la otra imagen. Este prob-
lema es crı́tico y complicado en la visión estéreo, puesto que algunas partes de la escena
son visibles únicamente por un ojo, y por tanto, están ocultas para el otro. Por ello, un
sistema estéreo también debe permitir determinar las partes de la imagen que no deberı́an
estar emparejadas.

El segundo problema es el de la obtención de la profundidad o lo que es lo mismo el de


la reconstrucción. La percepción 3-D del mundo del sistema de visión biológico se debe a
la interpretación que el cerebro hace del cálculo de la diferencia de la posición en la retina
entre puntos que se corresponden, a esto se le denomina disparidad.

Las disparidades de todos los puntos que constituyen la imagen se denomina mapa
de disparidad, que puede ser visualizado como una imagen. Si se conoce la geometrı́a del
sistema estéreo, el mapa de disparidad puede convertirse en un mapa 3-D de la escena
visualizada (la reconstrucción). Para resolver este problema es imprescindible contar con
una calibración precisa de las cámaras utilizadas.

La percepción de la disparidad es una de las áreas más activas de investigación en visión


computacional y el problema clave aquı́ es la correspondencia estéreo, la cual consiste en
comparar cada caracterı́stica extraı́da de una imagen, con un número, generalmente grande,
de caracterı́sticas extraı́das de otras imágenes con el fin de encontrar su pareja correspon-
16

diente.

Este proceso, el cual es difı́cil de desarrollar requiere de bastante trabajo de com-


putación, ası́ como de una gran cantidad de memoria. Los algoritmos estéreo necesitan de-
terminar el conjunto de correspondencias correctas entre caracterı́sticas de (al menos) dos
imágenes. Aunque la restricción de lı́nea epipolar de estéreo reduce el espacio de búsqueda
a una dimensión (entre lı́neas epipolares), no puede decirse que el problema de la corre-
spondencia en estereovisión esté resuelto, sino que sigue siendo un problema abierto, en el
que las soluciones implementadas suelen ser en gran medida dependientes de la aplicación
concreta.

Existen muchas razones para pensar esto: (1) la detección de caracterı́sticas no es


perfectamente fiable puesto que se pueden detectar falsas caracterı́sticas en una u otra de
las imágenes; (2) los puntos de una imagen pueden estar ocultos en la otra imagen y (3)
el establecimiento de la similitud entre dos puntos se puede confundir con ruido en las dos
imágenes. También hay que tener en cuenta que la calibración de la cámara es un aspecto
importante de cualquier algoritmo estéreo [12].

2.3.4. Algoritmos de correspondencia.


Los algoritmos de correspondencia pueden clasificarse en dos grandes categorı́as: basa-
dos en caracterı́sticas, que extraen puntos de interés en la imagen (normalmente bordes),
sobre los que se llevan a cabo la correspondencia y basados en área, que llevan a cabo la
correlación de los niveles de gris en ventanas de las distintas imágenes, considerando que
en el entorno de puntos correspondientes los patrones de intensidad deben ser similares.

La gran ventaja de los algoritmos basados en área es, que en la actualidad existen a
precios razonables dispositivos orientados al procesamiento de imagenes, capaces de llevar
a cabo convoluciones y correlaciones en tiempo real, con desempeños muy superiores a los
procesadores de propósito general [14].
Marco Teórico 17

Técnicas de
Basadas Correspondencia Basadas en
en Área Características

Basadas en
Fase

Híbrida Relajación

Programación Espacio del


Dinámica. objeto

Combinación de
medidas
independientes.

Figura 2.4: Técnicas de Correspondencia.

La figura 2.4 provee una taxonomı́a de las técnicas actualmente utilizadas y descritas
en la literatura para enfrentar el problema de correspondencia.

2.4. Procesamiento de imágenes en tiempo real.


Los procedimientos para el procesamiento de imágenes en aplicaciones computacionales
de tiempo real, han presentado un cuello de botella en la computación de grandes canti-
dades de datos de entrada, una vez que estos procedimientos solo tienen una cantidad
reducida de tiempo para proporcionar resultados. La concepción del tiempo real depende
de la latencia de los eventos observados.

Existen muchas definiciones de “Tiempo Real”, muchas de ellas contradictorias. De-


safortunadamente el tema es controversial, y no parece haber algún acuerdo al 100 % sobre
la terminologı́a.
18

La definición canónica de un sistema de tiempo real (de Donald Gillies ) es la siguiente:

“ Un sistema de tiempo real es aquel en el que para que las operaciones computacionales
estén correctas no depende solo de que la lógica e implementación de los programas com-
putacionales sea correcto, sino también en el tiempo en el que dicha operación entregó su
resultado. Si las restricciones de tiempo no son respetadas el sistema se dice que ha fallado.”

Por lo tanto, es esencial que las restricciones de tiempo en los sistemas sean cumplidas.
El garantizar el comportamiento en el tiempo requerido necesita que el sistema sea pre-
decible. Es también deseable que el sistema obtenga un alto grado de utilización a la vez
que cumple con los requerimientos de tiempo.

Un buen ejemplo es el de un robot que necesita tomar una pieza de una banda sinfı́n;
si el robot llega tarde, la pieza ya no estará donde debı́a recogerla. Por lo tanto el trabajo
se llevó acabo incorrectamente, aunque el robot haya llegado al lugar adecuado. Si el robot
llega antes de que la pieza llegue, la pieza aun no estará ahı́ y el robot puede bloquear su
paso. En algunas ocasiones podemos ver referencias sobre sistemas de tiempo real cuando
solo se quiere decir que el sistema es rápido.

Cabe mencionar que “tiempo real”no es sinónimo de rapidez; esto significa que no es
la latencia de la respuesta lo que nos enfoca en un sistema de tiempo real (esta latencia
a veces esta en el orden de los segundos), el enfoque en tiempo real de la latencia es el
asegurarse de que la latencia del sistema es la suficiente para resolver el problema al cual
el sistema está dedicado.

Si el tener una falla en el tiempo de latencia de un proceso del sistema lleva como
consecuencia un error en el sistema entonces esos procesos se consideran de tiempo real
duro. Si el tener una falla en un proceso del sistema no conlleva una falla en el sistema
siempre y cuando esta falla este dentro de ciertos lı́mites establecidos ( es posible fallar en
la latencia una de cada 1000 veces o una de cada 100, o fallar siempre y cuando el error no
exceda el 3 % de la latencia) entonces esos procesos se llaman procesos de tiempo real suave.

Si el funcionamiento incorrecto del sistema puede llevar a la perdida de vidas o catástro-


fes similares entonces el sistema de tiempo real es nombrado como sistema de tiempo real
de misión crı́tica.
Marco Teórico 19

2.4.1. Caracterı́sticas de los sistemas en tiempo real.


1. Determinismo. El determinismo es una cualidad clave en los sistemas de tiempo
real. Es la capacidad de determinar con una alta probabilidad, cuanto es el tiempo
que se toma una tarea en iniciarse. Esto es importante por que los sistemas de tiem-
po real necesitan que ciertas tareas se ejecuten antes de que otras puedan iniciar.
Esta caracterı́stica se refiere al tiempo que tarda el sistema antes de responder a una
interrupción. Este dato es importante saberlo por que casi todas las peticiones de
interrupción se generan por eventos externos al sistema.

2. Responsividad. La Responsividad se enfoca en el tiempo que se tarda una tarea


en ejecutarse una vez que la interrupción ha sido atendida. Los aspectos a los que se
enfoca son:

La cantidad de tiempo que se lleva el iniciar la ejecución de una interrupción.


La cantidad de tiempo que se necesita para realizar las tareas que pidió la
interrupción.
Los efectos de interrupciones anidadas.

Una vez que el resultado del cálculo de determinismo y responsividad es obtenido. Se


convierte en una caracterı́stica del sistema y un requerimiento para las aplicaciones
que correrán en el.

3. Usuarios controladores. En estos sistemas, el usuario (i.e los procesos que corren
en el sistema) tiene un control mucho más amplio del sistema.

El proceso es capaz de especificar su prioridad.


El proceso es capaz de especificar el manejo de memoria que requiere (que parte
estará en caché y que parte en memoria swap y que algoritmos de memoria swap
usar).
El proceso especifı́ca que derechos tiene sobre el sistema.

Esto aunque parece anárquico no lo es, debido a que los sistemas de tiempo real usan
tipos de procesos que ya incluyen estas caracterı́sticas, y usualmente estos tipos de
procesos son mencionados como requerimientos.
20

4. Confiabilidad. La confiabilidad en un sistema de tiempo real es otra caracterı́stica


clave. El sistema no debe de ser solamente libre de fallas pero más aún, la calidad
del servicio que presta no debe de degradarse más allá de un lı́mite determinado. El
sistema debe de seguir en funcionamiento a pesar de catástrofes, o fallas mecánicas.
Usualmente una degradación en el servicio en un sistema de tiempo real lleva conse-
cuencias catastróficas.

5. Operación a prueba de fallas duras. El sistema debe de fallar de manera que:


cuando ocurra una falla, el sistema preserve la mayor parte de los datos y capacidades
del sistema en la máxima medida posible. Que el sistema sea estable, i. e. que si para
el sistema es imposible cumplir con todas las tareas sin exceder sus restricciones de
tiempo, entonces el sistema cumplirá con las tareas más crı́ticas y de más alta prior-
idad.

2.4.2. Los sistemas de tiempo real y sus requerimientos.


Si bien es cierto que los requerimientos referentes al tiempo real se aplican a todo el
sistema, a menudo tenemos que agregar o modificar software, interfaces o hardware para
que estos requerimientos se cumplan, mas aún, el software debe de estar preparado para
que en la eventualidad de que un trabajo no cumpla con sus requerimientos de tiempo,
cancele los demás trabajos relacionados con el (si una petición de entrada/salida toma más
del tiempo establecido y se cancela por el sistema, el software de entrada/salida debe de
informar al usuario del proceso que este evento ocurrió). Esto es claramente parte de la
funcionalidad y de comportamiento del sistema. Por lo que clasificar esta restricción como
requerimiento no funcional es incorrecto.

Si argumentáramos que: al ser parte de todo el sistema se es una caracterı́stica del


sistema más que un requerimiento, estarı́amos diciendo que estas restricciones se cumplen
con el solo hecho de pertenecer al sistema. Una caracterı́stica es algo que ya esta en el
sistema y que no puede ser calificada como errónea o correcta, y una restricción deberá de
ser cumplida siempre y la forma en que estas restricciones se cumplen puede ser validada
como errónea o correcta. Por lo que estas restricciones tampoco son caracterı́sticas del
sistema.
Marco Teórico 21

Hay tres principales formas de lidiar con estas restricciones: (1) usando hardware de
alto desempeño para lidiar con los datos de entrada, (2) reducir por algún método de fil-
trado la cantidad de datos de entrada a procesar y (3) optimizar los procedimientos de
procesamiento de imágenes.

Durante los últimos años, muchas soluciones han sido desarrolladas basadas en hardware
de alto rendimiento. Al comienzo este hardware era de propósito especial lo que lo hacia
muy caro, sin embargo en la actualidad este hardware a comenzado a ser menos especı́fico
y por ende menos caro. Actualmente los sistemas de visión han basado sus diseños en
hardware tal como redes de procesadores de señal digital (DSPs) utilizando comúnmente
bus VME para interconectar el sistema [15].
Capı́tulo 3

Rastreo de Objetos Rı́gidos

Existen muy diversas áreas y tareas dentro del campo de la industria y la ciencia
en donde el seguimiento de un objeto que se encuentra capturado en una secuencia de
imágenes es un problema crucial a resolver, ejemplo de este tipo de sistema son los sis-
temas de búsqueda y vigilancia, sistemas guı́as para robots, navegación autonóma, análisis
sanguı́neo, etc. Esta tarea se lleva a cabo una vez que el sistema de visión identifica el
objeto, y es de suma importancia que se lleve a cabo en tiempo real.

3.1. Movimiento en una imagen


Dentro del procesamiento digital de imágenes, se desarrollan las bases teóricas y al-
gorı́tmicas mediante las cuales se extrae información del mundo real, de manera automática
a partir de una imagen observada, de un conjunto de imágenes o de una secuencia. Tal
información pudiera relacionarse con el reconocimiento de objetos genéricos, descripciones
tridimensionales del mismo, posición y orientación del objeto o la medición de cualquier
propiedad espacial, tal como la distancia entre dos puntos bien definidos o la sección
transversal del objeto.

Cuando se habla de movimiento, la primera idea es asociarlo con cambios. En imágenes


a niveles de gris estos cambios inicialmente se manifiestan como variaciones de las intensi-
dades de una imagen a la siguiente.

El movimiento se manifiesta como cambios temporales en los valores de gris, pero no


se puede afirmar que todo cambio temporal en los niveles de gris, se encuentre asociado a

22
Métodos de Rastreo. 23

movimiento, de aquellos cambios que resultan de la variación del nivel de iluminación. La


estimación del movimiento se encuentra estrechamente relacionada con los cambios tem-
porales y espaciales de los valores de gris.

Figura 3.1: Imagen en escala de grises.

Ambas cantidades pueden ser encontradas con ayuda de operadores locales, los cuales
permiten calcular las derivadas espaciales y temporales. El problema que introduce el uso
de operadores, es que los mismos solamente analizan un pequeño sector de la imagen.
Para resolver estos problemas u otros que podrı́a presentar la estimación de movimientos,
se desarrollan diferentes técnicas y métodos que se basan principalmente en gradiente y
correlación. Aunque estos dos campos son muy usados; también existen otras técnicas
basadas en redes neuronales artificiales y en la obtención de fases utilizando filtros.

3.2. Métodos de rastreo de objetos.


Debido a que el objetivo del presente trabajo es obtener un método de rastreo eficaz y
eficiente sin representar un costo computacional muy alto, se hizo una breve revisión de los
aspectos principales e implementación en algunos casos de los métodos más comúnmente
usados en el seguimiento de objetos rı́gidos.
24

Resolución. Referida al tamaño de la imagen, y al muestreo en ella, es decir, la


cantidad de información disponible por unidad de área en la imagen.

La cuantificación. Escala de los posibles valores que puede tener el pı́xel.

Velocidad de muestreo. Frecuencia a la cual son capturadas y procesadas las


imágenes.

A continuación se describen algunos de los métodos utilizados en el seguimiento de


objetos.

3.2.1. Seguimiento en base a diferencias.


El método consiste principalmente en realizar una diferencia entre la imagen en el tiem-
po ti y la imagen en el tiempo ti−1 para determinar los puntos donde hubo movimiento, de
esta forma se obtiene la imagen diferencial correspondiente al tiempo ti .

IDi = Ii − Ii−1 (3.1)


La imagen IDi contiene los puntos que presentaron movimiento y los que permanecen
estáticos.
Aún y cuando este algoritmo es fácil de implementar, desafortunadamente presenta una
gran susceptibilidad al ruido y vibraciones. Por lo tanto el algoritmo en base a diferencia se
complica y depende de otros procedimientos, haciendo que el tiempo de ejecución aumente.
Otra importante consideración del seguimiento de objetos en base a la diferencia, es que
asume que el objeto a seguir siempre debe de estar en movimiento, es decir si el objeto
se detiene, no hay diferencias en las imagenes actual y anterior y el rastreo y posición del
objeto se pierden.

3.2.2. Seguimiento en base a centroide.


La determinación de la posición de un objeto a lo largo de la secuencia de imágenes
puede ser dada por el centro de dicho objeto, el cual es obtenido mediante un análisis
de agrupamiento, dependiente de operaciones de segmentación y reconocimiento previas.
Métodos de Rastreo. 25

Para que el seguimiento de objetos en base a centroide sea aceptable deben realizarse por
lo general otro tipo de procedimientos previos, como los de umbralización, segmentación y
reconocimiento.

Estos al mismo tiempo que contribuyen en el mejoramiento de la definición de los


objetos y por ende en su seguimiento, aumentan substancialmente su costo computacional.

3.2.3. Seguimiento por compuerta.


Este método es llamado ası́ por haber sido primero desarrollado en hardware analógico.
Su objetivo es procesar picos detectados por ”scanner”donde la compuerta es el nivel del
umbral que indica ya sea la ausencia o la presencia del blanco. La compuerta también es
conocida como ventana de seguimiento, la cual puede variar acorde a los cambios en el
tamaño del objeto a seguir. El algoritmo comienza con la designación del objeto a seguir,
la cual puede ser dada por una búsqueda automática, por el usuario o por alguna otra
fuente externa que suministre las coordenadas de posición del objeto.

Posteriormente a la designación se realiza un barrido de la imagen, el cual puede iniciar


desde la esquina superior derecha, de izquierda a derecha y en orden descendente, o bien
inicial en el centro y en forma circular de adentro hacia fuera de la imagen, o en forma
aleatoria. El seguimiento se realiza en base a la comparación de estadı́sticas del blanco,
en el sentido de maximizar el número de pixeles dentro de la ventana con el mismo tipo
de estadı́stica. Las estadı́sticas a las que se hace referencia pueden ser generadas a par-
tir de valores tan simples como valores binarios o tan complejos como algún conjunto de
caracterı́sticas. Ası́, las estadı́sticas son calculadas para cada pixel dentro de las diferentes
ventanas y comparadas con las estadı́sticas de la imagen anterior.

En base al resultado de las estadı́sticas, la ventana de seguimiento puede ser ajustada


para mantener el mayor número de pı́xeles dentro de ella. Este método requiere de etapas
previas para robustecerlo, esto aunado a la gran cantidad de estadı́stica que por sı́ solo
requiere el algoritmo, implica un mayor costo computacional, además de que el método es
susceptible al ruido y a la obstrucción.
26

3.2.4. Seguimiento en base a correlación.


El seguimiento basado en correlación es la búsqueda de similitud de una imagen con la
imagen siguiente. El seguimiento en base a correlación consiste en estimar los desplazamien-
tos del objeto conforme se mueve dentro del cuadro de la imagen, mediante el cálculo de la
correlación entre la imagen de referencia y la imagen actual. La correlación es una medida
de similitud que guardan dos conjuntos de valores. Los resultados de la correlación se in-
terpretan conforme lo siguiente, correlación de valor cero denota una completa ausencia de
similitud, mientras que en el otro extremo el valor unitario indica una similitud perfecta. El
seguimiento en base a correlación se comporta aceptablemente en ambientes con ruido y es
factible hacer el seguimiento aún y cuando el campo de vista o imagen se expanda o mueva.

3.2.5. Seguimiento de centroide mediante el método de interlinea


El algoritmo utilizado como punto de partida de este trabajo de tesis, es un algoritmo
modificado por [1] y cuyos fundamentos son tomados del método de interlı́nea y del método
de seguimiento en base a centroide.

Una de las principales ventajas del método de interlı́nea es el cálculo del centro de masa
del objeto seleccionado. Este cálculo es realizado en ambas imágenes, imagen izquierda y
derecha de tal forma que hay dos puntos (Xl,Yl) y (Xr,Yr), los cuales representan la mis-
ma información. Asumiendo que ambos puntos están en la misma lı́nea epipolar (Yl=Yr)la
disparidad entre los puntos es dada por d = abs(Xr − Xl). Con esta información se obtiene
la profundidad (Z) en relación a la disparidad obtenida de acuerdo a la siguiente fórmula:


Z(d) = (3.2)
dk
donde f es la distancia focal de la cámara y k es el factor de conversión en unidades por
pixel.

El método de interlı́nea esta basado en el Teorema de Green, el cual menciona que una
doble integración sobre una región (área), puede ser calculada utilizando una integración
lineal sobre el contorno de la región [16]. Este método es muy rápido para calcular los
momentos de Hu para un objeto especı́fico dentro de una imagen binaria. Con el fin de
reducir el tiempo de procesamiento, la imagen es convertida a una imagen binaria, después
Métodos de Rastreo. 27

se obtiene el valor promedio de los pı́xeles que rodean al punto seleccionado por el usuario
o por una etapa previa de reconocimiento. Como referencia vamos a decir que Ca es el
valor de este punto y el rango de busqueda oscila entre los siguientes valores:

Cmin = min(0, Ca − ∆C) (3.3)


Cmax = max(255, Ca + ∆C) (3.4)
donde ∆C = 48 en esta configuración. Usando esta información, el algoritmo busca en
dirección hacia la derecha el siguiente punto de la lı́nea de borde. Este punto es obtenido
cuando su vecino de la derecha (punto Cs ) no cumple con el criterio siguiente:

Cmin ≤ Cs ≤ Cmax (3.5)


Una vez que el punto del borde es obtenido el algoritmo comienza una búsqueda sis-
temática en sentido de las manecillas del reloj del siguiente punto de borde. Una vez que se
obtiene el borde completo del objeto, enseguida se obtiene el centro de masa del mismo, este
centro de masa es el centro del objeto del cual parte de nuevo la búsqueda del borde del ob-
jeto en la imagen siguiente, y esto se convierte en un ciclo repetitivo hasta que la secuencia
de imágenes termina o el objeto se pierde por movimientos rápidos o problemas de oclusión.

Dirección de
búsqueda

t1 t1
t2
t3

Centro de masa t4
en t4 t5 t2

Rastreo eficiente. Problemas de rastreo

Figura 3.2: Método de Rastreo.


28

La figura 3.2 muestra un objeto rı́gido en movimiento en una secuencia de imágenes de


T1 a T5, mientras el movimiento es lento el objeto en el tiempo T2 queda sobre puesto
al objeto T1 y al momento de hacer la umbralización, la búsqueda comienza del centro
del objeto T1 hasta que encuentra un cambio de color y comienza a bordear el objeto en
la imagen T2; pero si el objeto se mueve rápidamente (Lado derecho: Rastreo ineficiente)
de una imagen T1 a otra T2, los objetos no se sobreponen, y al momento de hacer la
umbralización el objeto se pierde.

Como conclusión de esta heurı́stica de seguimiento podemos destacar que presenta un


eficiente cálculo del centro de masa del objeto con lo que obtenemos una fácil y rápida for-
ma de obtener puntos correspondientes en ambas imágenes, además el rastreo del objeto
es eficiente en trayectorias lineales y curvas, siempre y cuando los movimientos sean lentos.

Sin embargo este algoritmo presenta dos problemas fundamentales: (1) En movimientos
rápidos y bruscos el rastreo del objeto se pierde, y (2) presenta problemas de oclusión, es
decir, el rastreo del objeto se pierde una vez que el objeto sale del campo de visión de la
cámara o el objeto a seguir se oculta en otro objeto de la imagen.

3.2.6. Seguimiento en base al Filtro de Kalman.


El empleo de un filtro de Kalman se debe a que es un estimador de estados, esto se lo-
gra empleando el modelo matemático, conociendo su estructura y parámetros previamente
establecidos a partir de algunas mediciones. Con esto se busca determinar las constantes
o variables de un sistema en su desarrollo, todo ello de forma óptima con respecto a un
ı́ndice estadı́stico. Para ello se emplean las mediciones efectuadas al sistema durante el
proceso, es decir las imágenes tomadas se analizaron para el seguimiento del objeto. El
filtro de Kalman es desarrollado dentro de la teorı́a de control moderno. Esta adaptado a
la utilización de computadora. Debido a que es un estimador concurrente fácil de progra-
mar. Además, el filtro puede generalizarse a estimar señales estadı́sticas que varı́an con el
tiempo. El modelo matemático para el filtro de Kalman puede resumirse como:

x(t + T ) = φ(T )x(t) + w(t) Ecuación de estado


y(t) = Hx(t) + v(t) Ecuación de medición
Q(T ) = E[w(t)w(t)T ] Ruido del sistema correlacionado
R(T ) = E[v(t)v(t)T ] Ruido de la medición correlacionado
Métodos de Rastreo. 29

Donde:

x(t) variable de interés del sistema.


x(t + T ) variable del sistema en el tiempo t+T
φ(T ) Matriz de transición del sistema.
w(T ) Ruido del modelo del sistema.
y(t) Medición del sistema.
Hx(t) Matriz de medición.
v(t) Ruido de la medición.

El procesamiento del filtro de Kalman tiene como objetivo la estimación del vector de
estado x(tk ) en el tiempo t = tk , basada en la medición de y(t) para los diferentes tiempos
a medir. Con cada nuevo valor se estima la nueva información de un valor futuro. Dentro
de este proceso se tiene un conjunto de ecuaciones para realizar los cálculos necesarios:

zk = yk − Hk x̃k Innovación.
x̂k = x̃k − Kk zk Estimación.
x̃k+1 = φk x̂k Predicción.
Kk = P̃k Hk [Hk P̃k HkT + Rk ]−1 Ganancia de Kalman.
P̂ = [1 − Kk Hk ]P̃ Estimación de la covarianza.
˜ = φP̂k φT + Qk
Pk+1 Predicción de la covarianza.
k

Donde:

zk Innovación del sistema


yk Medición del sistema
Hk Matriz de medición del sistema
x̃k Predicción del estado del sistema.
x̂k Estimación del estado del sistema.
φk Matriz de transició del sistema.
Kk Ganancia de Kalman.
P̃k Predicción de la covarianza.
P̂k Estimación de la covarianza.
Qk Matriz de ruido del sistema.
30

Una aplicación común del filtro de Kalman es el seguimiento de objetos en el espacio.


Las mediciones son hechas en el espacio cartesiano, los errores se consideran independientes
y normalmente distribuidos y el comportamiento del objeto a seguir se conoce previamente.
Con este tipo de filtro debe establecerse el modelo del sistema para estimar su posición y
velocidad [17].

El filtro de Kalman para el seguimiento de un objeto, se modelo de una forma sim-


ple como el modelo de traslación constante, para esto se selecciona un punto del objeto
que esta en movimiento, y se toma en cuenta que todo el objeto está en movimiento aún y
cuando solo una parte se está monitoreando. En el modelo deben incluirse los componentes
de ruido del sistema y de la medición. El modelo del movimiento del objeto se denota como:

x(t + T ) = φ(T )x(t) + w(t) (3.6)

      
x1 (t + T ) 1 0 t 0 x1 (t) w1 (t)
 x2 (t + T )   0 1 0 t  x2 (t)   w2 (t) 
      
 =  + 
 ẋ1 (t + T )   0 0 1 0  ẋ1 (t)   ẇ1 (t) 
ẋ2 (t + T ) 0 0 0 1 ẋ2 (t) ẇ2 (t)

donde x(t + T ) es el vector de estado con la consideración de velocidad en el tiempo t + T ,


φ(T ) es la matriz de transición de estado para el intervalo T y w(t) es la componente de
ruido aditivo que se asume normalmente distribuido.

Para la medición del sistema de la posición se tiene como vector de la medición del
objeto a:

y(t) = Hx(t) + v(t)t (3.7)

" # " # " # " #


y1 (t) 1 0 0 0 x1 (t) v1 (t)
= ∗ +
y2 (t) 0 1 0 0 x2 (t) v2 (t)
Métodos de Rastreo. 31

En esta expresión H es la matriz de medición y v(t) es la matriz de ruido de la medición,


asumida que es independiente del ruido del sistema y normalmente distribuida [2].

Para este estudio en particular, nosotros obtuvimos el error del sistema mediante el
procedimiento siguiente: Se grabo durante 10 segundos una secuencia de imágenes, en las
cuales los objetos permanecian estáticos. Se obtuvieron 50 imágenes, cada una de 320 ∗ 240
pı́xeles, dichas imágenes se procesaron en matlab en una matriz de 320∗240∗50 obteniendo
el error entre imágenes, la media y la desviación estándar. El error entre imágenes es la
diferencia de cada pı́xel entre la imagen 1 y la imagen 2, la imagen 2 y la 3, y ası́ sucesi-
vamente hasta la imagen 50.

Media del error. Cada uno de los errores obtenidos en cada pı́xel, entre el número de
imágenes (50 para este caso). La media obtenida fue una media que tendı́a a cero, deducien-
do ası́ que existe ruido [Link] valor de desviación estándar del error obtuvimos 1.5
y una varianza de 2.5.

Figura 3.3: Desviación estándar del error


32

3.2.7. Filtro de Kalman Extendido


El filtro de Kalman Extendido (EKF) es un estimador recursivo para estimar el estado
de un sistema no lineal. En nuestra implementacin el estado del sistema viene definido por
un vector x̂Tk = [x, y, ẋ, ẏ], donde x e y especifican el centro del objeto en la imagen, y ẋeẏ
representan su velocidad en cada dirección. Los valores de rango de búsqueda obtenidos por
medio del método de seguimiento de centroide se almacenan en un vector bidimensional zk
y la estimación previa x̄k . La matriz de ganancia del filtro Kk nos proporciona una medida
de la influencia del error entre la medida zk y la estimación previa x̄k . Por tanto, esta
matriz indica cual es el grado de confianza que tiene el filtro en las medidas actuales zk , a
través de las ecuaciones (3.8 y 3.9) de actualizaón del filtro:

Kk = P̄k HkT (Hk P̄k HkT + Vk Rk VkT )−1 (3.8)

x̂k = x̄k + kk (zk − h(x̄k , 0))−1 (3.9)


Podemos observar a partir de la ecuacin (3.8) que la matriz Kk se calcula utilizando
la predicción del error de aquellos componentes del vector de estado que se obtienen de la
imagen. Hk relaciona las medidas efectuadas sobre la imagen y el vector de estado en el
instante tk , y Rk contiene el error de medición. La ecuación (3.9) actualiza la estimación
con la medida. La diferencia entre los parámetros estimados y medidos se puede considerar
el error de predicción. Este error puede ser debido tanto a una medición errónea, como
a una predicción errónea, o a una combinación de ambas. Una proporción del error de
predicción se aade a la estimación previa x̄k para generar el vector de estado actualizado
x̂k , dependiendo de los valores de Kk .

Pk = (I − Kk Hk )P̄k (3.10)
La porción de Kk que está asociada con elementos obtenidos de la imagen (centro del
objeto) se resta de la matriz identidad I , y a continuación se multiplica por la covarianza
del error estimado. Ası́ se obtiene una actualización de la covarianza del error de x̂k , que
refleja la incerteza del sistema sobre el vector de estado actual. Esto implica que cuando
Kk se decrementa, el error estimado que utilizamos para actualizar Pk aumenta propor-
cionalmente.

Las ecuaciones (3.8,3.10) realizan el proceso de actualización del filtro, utilizando la me-
dida actual para refinar la estimación y recalcular la covarianza del error de esta estimación.
Métodos de Rastreo. 33

Las ecuaciones (3.11,3.12) realizan el proceso de propagación, haciéndo una estimación a


priori del estado del sistema y su error [3].

x̂k− = f(x̂k , uk , 0) (3.11)

P̄k+1 = Ak Pk ATk + Wk Qk WkT (3.12)


Normalmente, las ecuaciones de propagación se aplican n veces para obtener una predic-
ción del estado del sistema en los próximos n instantes de tiempo.

Las ecuaciones (3.13-3.16) definen el modelo del sistema utilizando un modelo de ve-
locidad constante para cada iteración del filtro.

xk+1 = xk + ẋk ∗ ∆t (3.13)

yk+1 = yk + ẏk ∗ ∆t (3.14)


ẋk+1 = ẋk (3.15)
ẏk+1 = ẏk (3.16)
Normalmente el filtro de Kalman Extendido alterna una iteración de las ecuaciones de
actualización con varias iteraciones de las ecuaciones de propagación para cada instante de
tiempo. En el caso de que, a causa del ruido, no se produzca ninguna medida fiable en la
imagen, únicamente se calcula la fase de propagación del filtro.

3.2.8. Seguimiento en base a Filtrado de Partı́culas.


El principal objetivo del algoritmo de filtrado de partı́culas es rastrear una variable de
interés. Las bases del método es construir una representación basada en muestras de una
función de densidad entera. Una serie de acciones son tomadas cada una modificando el
estado de la variable de interés de acuerdo a algún modelo.

Por otra parte una observación llega la cual limita el estado de la variable de interés en
el tiempo. Este método utiliza copias múltiples de la variable de interés, cada una asociada
con un peso, el cual significa la calidad de la partı́cula especificada.

El algoritmo de Filtrado de Partı́culas es recursivo y opera en dos fases: predicción y


actualización. Después de cada acción cada partı́cula es modificada de acuerdo al modelo
34

existente (etapa de predicción), incluyendo la adición de ruido aleatorio para simular el


efecto de ruido en la variable de interés, después el peso de cada una de las partı́culas es
re-evaluado basado en la última información disponible censada (etapa de actualización).
Las partı́culas con pequeños pesos son eliminadas y el proceso es llevado al re-muestreo
(agregar nuevas muestras)[18].

Más formalmente la variable de interés, en el tiempo t=k es representada como un


conjunto de M muestras (las partı́culas) Sjk = [xkj , wjk : j = 1.....M ] donde el subı́ndice j
representa la partı́cula, cada una de estas partı́culas consiste de una copia de la variable
de interés y un peso wjk el cual define la contribución de esta partı́cula a la estimación
completa de la variable.

Si en el tiempo t=K se conoce la función de densidad de probabilidad del sistema en


un instante previo (tiempo t=k-1), luego se modela el efecto de la acción para obtener un
antecedente de la función de densidad de probabilidad en el tiempo t=k (predicción). En
otras palabras, la fase de predicción utiliza un modelo para simular el efecto que tiene una
acción sobre un conjunto de partı́culas con un ruido apropiado.

El filtrado de partı́culas puede ser una seria alternativa para aplicaciones de tiempo
real, ya que es eficiente a la hora de hacer predicciones, sin embargo cuando la cantidad
de partı́culas utilizadas es muy grande, el costo computacional se eleva, es por esto que es
recomendable usarlos solo en problemas donde los métodos basados en filtros de Kalman
no produzcan resultados satisfactorios [19].
Capı́tulo 4

Método Propuesto e Implementacón


del Sistema.

La etapa de implementación del sistema comprende todos los conceptos, considera-


ciones y soluciones obtenidas previamente, tratados en los capı́tulos anteriores, por lo que
en este capı́tulo se describe solamente el algoritmo desarrollado en el presente trabajo de
tesis ası́ como su implementación en el sistema, basado en los requerimientos del problema
a resolver, el cual se enuncia a continuación:

“A partir de una secuencia de pares de imágenes estéreo, dentro de las cuales aparece
un objeto en movimiento, el sistema debe ser capaz de detectarlo y rastrearlo en ambas
imágenes, sin importar la trayectoria que realice.”

El sistema de visión por computadora tiene que trabajar con los objetos en movimiento
o cambios de iluminación, esto como resultado de estar inmerso en un ambiente que cambia
continuamente. Todo lo que nos rodea y esta a la vista, forma la escena dinámica.

La entrada al análisis de la escena dinámica es la secuencia de imágenes tomadas del ex-


terior. La cámara que se usa para obtener esta secuencia, también puede estar en movimien-
to. Cada imagen representa la escena en un instante particular del tiempo. Los cambios en
la escena pueden ser debidos al movimiento de la cámara o movimiento del objeto.

35
36

4.1. Método propuesto


En esta sección se describe el método desarrollado para el seguimiento de objetos rı́gi-
dos en trayectorias no conocidas con anterioridad y con movimientos rápidos.

Dado que el problema de correspondencia en las imágenes estéreo queda resuelto al uti-
lizar el método de interlinea, el reto radica en conseguir una mayor eficiencia en el rastreo
de objetos en imágenes estéreo.

Como una de los objetivos de esta tesis es el uso de una computadora de propósito
general, las variables a optimizar son el algoritmo de rastreo, ası́ como el área en la imagen
que rodea al objeto.

El método desarrollado es una combinación de la heurı́stica de seguimiento en base a


centroide utilizando el método de interlinea, desarrollada por [1] y el concepto del uso de
partı́culas o puntos cercanos al objeto para la predicción de la posición del mismo. Como ya
se menciono anteriormente esta heurı́stica [1] muestra gran eficiencia a la hora de obtener
el centro de masa del objeto o forma seleccionada y el concepto de puntos o partı́culas
alrededor del objeto, parte de la consideracion de los posibles vectores de movimiento que
puede tener el objeto.

Tiempo t
Tiempo t-1

Centro Asignan 9 No
Puntos dentro del
del objeto puntos al
objeto
objeto Se
desechan
Si los puntos

Función
borde.

Figura 4.1: Descripción del método desarrollado


Método Propuesto. 37

4.1.1. Descripción del método propuesto.


El método desarrollado en el presente trabajo de tesis se divide en tres etapas (fig. 4.1):

1. El objeto en el tiempo t-1. Consideramos el objeto en el tiempo t−1 como la base para
obtener la predicción de la posición en el tiempo t. Una vez que el objeto a rastrear es
encontrado, se obtiene su borde, centro de masa, perı́metro, radio máximo (Rmax.)
y el radio mı́nimo (Rmin.). Estos radios se obtienen mediante la ecuación 4.1.

q
Radios = (Xp − Xc )2 + (Yp − Yc )2 (4.1)

Rmax + Rmin
Rprom = (4.2)
2
donde Xp es el punto del perı́metro y Xc es el punto del centro. Del radio máximo
y radio mı́nimo obtenos un radio promedio (ecuación 4.2), el cual vamos a utilizar
como radio para distribuir los 8 puntos alrededor del objeto, y el noveno punto en el
centro (figura 4.2).

2
Rmax
Centro
de masa 1 3
Rprom
Rmin
4 5
9
8
6
7

Figura 4.2: Secuencia de puntos colocados alrededor del objeto.

2. El objeto en el estado de transición entre el tiempo t-1 y el tiempo t. Cuando el objeto


comienza a moverse y se encuentra en la transición de secuencias, entre la imagen en
el tiempo t − 1 y la imagen en el tiempo t, se realiza lo siguiente: Mediante la función
borde se analiza cada uno de los puntos que rodean al objeto, este análisis consiste
38

en verficar que el color de los pixeles donde se encuentra el punto sea el mismo al
color del objeto a rastrear, y si el color es el mismo, el punto se guarda y se realiza
la función borde para cada uno de los puntos que cumplieron, pero si el color no es
el mismo, el punto no es considerado como parte del objeto y es desechado (fig. 4.3).

6 8
7

Figura 4.3: Puntos dentro del objeto.

3. El objeto en el tiempo t. Una vez que el objeto llega a la secuencia en el tiempo t,


se actualizan los nueve puntos y el procedimiento vuelve a comenzar.
En secuencias donde el objeto tiene solamente movimiento en el eje Z, es decir se
mueve de atrás hacia adelante y viceversa, el punto en el centro nos va a servir para
asegurar el seguimiento, ya que cuando el movimiento es de atrás hacia adelante los
nueve puntos siempre quedan dentro del objeto debido a que en la imagen el obje-
to crece y no existe ningún problema, pero cuando el objeto se mueve hacia atrás
de la imagen, el objeto disminuye en su tamaño y solo el punto del centro se conserva.

La fig. 4.4 nos muestra como se mantiene el seguimiento de un objeto cuando este se mueve
en el eje Z, en donde la distancia inicial de la cámara al objeto es de aproximadamente 2
metros (profundidad) y la distancia final es de 0.45 metros, además de que el rastreo se
conserva aún y cuando el objeto es girado sobre su centro.
Método Propuesto. 39

Figura 4.4: Movimientos en el eje Z.

4.2. Implementación del algoritmo desarrollado.


Como primer paso en esta sección vamos a definir las caracterı́sticas fisicas del sistema,
para posteriormente describir el funcionamiento del sistema ya con el algoritmo desarrollado
integrado.

4.2.1. Caracterı́sticas del Sistema.


1. Se utiliza una cámara estéreo STHMDCS2-VAR/C de Videre Design ([Link]
[Link]) con las siguientes especificaciones:

Separación de 90 mm entre imágenes (baseline).


Capacidad para cambio de lentes según los requerimientos, con una distancia
focal desde 3.5 mm a 50 mm; en nuestro caso utilizamos una distancia focal de
6mm.
Máxima resolución de 1280 * 960, pero nosotros usamos un tamaño de imagen
de 320 * 240.
Despliegue de la imagen en color o monocromática. La cámara tiene la capaci-
dad de desplegar 30 imágenes monocromaticas por segundo, y 15 imágenes a
color por segundo, usando ambas cámaras. Para este trabajo se utilizo una ca-
pacidad de 10 pares de imágenes por segundo (un par de imágenes cada 100
milisegundos).
La cámara se comunica a la computadora vı́a una interface digital IEEE 1394.
40

2. Se utilizó una computadora de escritorio Hewlett Packard con procesador Pentium


IV a 3 GHz, 512 MB de memoria RAM.

3. La interface fué desarrollada bajo Windows 2000, utilizando Visual C++.

Figura 4.5: Interface para imágenes estéreo.

4.3. Funcionamiento del Sistema


1. Las imágenes capturadas por la estéreo cámara son desplegadas y visualizadas en la
interface creada.

2. Una vez que tenemos las imágenes, el usuario selecciona el objeto que desea rastrear.
Seleccionado el objeto, el sistema entra en un proceso de aprendizaje. El proceso
de aprendizaje es usado para enseñar al sistema que caracterı́sticas del objeto debe
Método Propuesto. 41

aprender. En este proceso el sistema captura la imagen del objeto, su área, perı́metro
y momentos de Hu. Mediante el uso de un cuadro de diálogo, el usuario asigna un
nombre al objeto y con este nombre se almacena la información en una base de datos
del sistema.

Figura 4.6: Diálogo para aprendizaje de objetos.

Para que el proceso de aprendizaje sea útil para procesos posteriores como el rastreo
o manipulación de objetos, se deben cumplir los siguientes requisitos:

El objeto debe ser sólido y rı́gido.


El objeto debe permanecer estático (únicamente para el aprendizaje)
La representación del objeto debe ser suficientemente robusta. En nuestro caso
el objeto debe de estar completo a la vista del usuario, es decir no debe presentar
problemas de oclusión por objetos traslapados en la escena o por oclusión propia,
es decir que debido a una forma compleja del objeto las caracterı́sticas no se
presenten visibles en la imagen.
El objeto debe de tener una representación única, no debe tener múltiples rep-
resentaciones.

3. Una vez que el sistema ha aprendido los objetos seleccionados por el usuario, se puede
llevar a cabo distintas acciones, como lo son: (1) desplegar la información obtenida del
objeto (botón Despliega en la interfaz), (2) encontrar un objeto (botón Encuentra)
y (3) rastrear un objeto (botón Rastrea).
42

Objetos Seleccionados
por el Usuario.

Sistema en modo de
aprendizaje.

Desplegar datos Encontrar objetos Rastrear


del objeto. en la imagen. objeto.

Figura 4.7: Funciones del sistema.

4. Al oprimir el botón Rastrea, en la interface, nos aparece un cuadro de diálogo con una
lista de los nombres de los objetos que el sistema ha aprendido, el usuario selecciona
un nombre de objeto y en seguida se realizan los siguientes pasos:

4.1. Se obtiene la información almacenada del objeto ası́ como su imagen.

4.2. La imagen obtenida del objeto, ası́ como las imágenes capturadas por la cámara
estéreo son transformadas a imágenes en escala de grises, esta conversión se realiza
cuando las imágenes capturadas son a color, si las imágenes son capturadas en blanco
y negro esto no se realiza.

4.3. Para encontrar el objeto seleccionado dentro de las imágenes, primero se ob-
tiene el valor promedio de los pixeles de la imagen del objeto, después se escanean
las imágenes por medio de cuadros del tamaño del la imagen del objeto y se van
obteniendo los valores promedios de los pixeles de cada recuadro. Se obtiene un error
entre imágenes y si este es menor a un mı́nimo error establecido previamente, se dice
que se encontró el objeto y se pinta una cruz en medio del objeto encontrado. La
figura 4.9 muestra como en ambas imágenes, el objeto es encontrado.

5. Encontrado el objeto, se comienza la ejecución del algoritmo desarrollado para el


seguimiento del objeto, esta algoritmo utiliza el búfer que contiene la imagen siendo
actualizada y el punto (X, Y) del centro del objeto encontrado.
Método Propuesto. 43

Rastrear Objeto

Definir objeto a rastrear.

Obtención de la información
almacenada del objeto.

SearchTemplate. Encuentra en 1 o
ambas imágenes.

FilterList. Filtrado de puntos.


Posibles centros.

SelectColor. Búsqueda de cambios


de color. Encuentra borde.

Seguimiento de objeto mediante


algoritmo desarrollado.

Figura 4.8: Seguimiento de un objeto.

Figura 4.9: Rastreo de un objeto en vision estéreo


44

Como se menciono anteriormente, el método desarrollado en el presente trabajo de tesis es


una combinación de la heurı́stica de seguimiento en base a centroide mediante el método de
interlinea, la cual utilizamos para obtener el borde del objeto, ası́ como su centro de masa,
y el concepto de puntos alrededor del objeto, el cual utilizamos para estimar su posición.
Una vez que se esta realizando el seguimiento del objeto este solo se interrumpe si, (1) el
objeto se oculta en otros objetos de la imagen o, (2) el objeto se sale del ángulo de vista
de la cámara.
Capı́tulo 5

Experimentación y Resultados.

En este capı́tulo se describe el método propuesto para el seguimiento de objetos rı́gidos,


ası́ como su implementación y la experimentación requerida para comprobar que el método
propuesto es eficiente.

5.1. Experimentación y Resultados.


En esta sección se describe la experimentación y los resultados obtenidos en el presente
trabajo de tesis.

Con el fin de probar la eficiencia del algoritmo desarrollado, comparamos tres métodos
ya existentes contra el método propuesto en el presente trabajo de tesis. Los métodos exis-
tentes utilizados son: seguimiento de centroide utilizando el método de interlinea, desarro-
llado por [1], un método de seguimiento basado en el filtro de Kalman para trayectorias
lineales, el filtro de Kalman extendido (para trayectorias curvas).

Para llevar a cabo los experimentos se grabaron 3 secuencias de imágenes, durante 10


segundos, obteniendo aproximadamente 100 imágenes, de 320 * 240 pixeles, esto con el fin
de que los métodos de comparación elegidos se probaran en una misma trayectoria, bajo
las mismas condiciones de iluminación y ruido.

Se eligió el tamaño de la imagen de 320 ∗ 240 ya que al tomar imágenes de tamaño


640 ∗ 480 se excede la capacidad del búfer y el programa deja de ejecutarse. Si bien es
cierto que la resolución del tamaño elegido puede ser pobre cuando se requiere controlar
movimientos precisos de un robot o sistema de navegación, hay que recordar que estamos

45
46

capturando y procesando simultáneamente un par de imágenes estéreo, en donde se esta


analizando una matriz cartesiana (bidimensional) de pixeles y no solo una lı́nea de pixeles
(como en algunos sistemas de visión para usos industriales), además de cumplir con uno de
los objetivos de la presente tesis, el cual es utilizar una computadora de propósito general.

Durante la experimentación, uno de los parámetros dı́ficiles de obtener fué la velocidad


de movimiento del objeto debido a que los movimientos del objetos fueron hechos manual-
mente, y representaba una tarea ardua calcular el número de pixeles que el objeto avanzaba
cada 100 milisegundos, es por eso que para el presente estudio nosotros hemos definido la
velocidad del objeto de la siguiente manera:

Velocidad Lenta. En una secuencia de imágenes, el objeto en la imagen en el tiempo t


(imagen actual), quede cuando menos un 15 % de la longitud de su radio traslapado
sobre la imagen en el tiempo t − 1 (imagen anterior). Es decir cada 100 milisegundos
que se toma una nueva imagen el objeto en la imagen actual debe estar sobrepuesto
al mismo objeto en la imagen anterior mı́nimo en un 15 % de su radio.

Velocidad Rápida. La velocidad rápida se rige por lo siguiente: (1) El traslape del objeto
de la imagen en el tiempo t (imagen actual) sobre el objeto en la imagen en el tiempo
t − 1 (imagen anterior) puede ser menor a el 10 % porciento del radio del objeto y
(2) la distancia avanzada entre el objeto en la imagen en el tiempo t y la imagen en
el tiempo t − 1, no debe de ser mayor a el doble del radio del objeto.

5.1.1. Secuencias utilizadas


En la primera secuencia de imágenes (fig. 5.1) el objeto rı́gido se mueve de atrás hacia
adelante en forma diagonal en un plano XZ.

En la segunda secuencia de imágenes (fig. 5.2) el objeto rı́gido se mueve de atrás hacia
adelante (eje Z) en forma diagonal, avanzando en una serie de brincos o levantamientos
(eje XY).

En la tercera secuencia (fig. 5.3) el objeto rı́gido se mueve de atrás hacia adelante (eje
Z) en diagonal, formando una parabola en un plano XYZ.
Experimentación y Resultados. 47

Inicio

Profundidad

Fin

Figura 5.1: Secuencia lineal.

Inicio

Profundidad Fin

Figura 5.2: Secuencia con levantamientos del objeto


48

Inicio

y
Fin
z

Cámara

Figura 5.3: Secuencia en forma de parabola.

En cada una de las imágenes de las secuencias, se obtuvo el centro (punto X,Y) del
objeto rı́gido teniendo como base el algoritmo de seguimiento en base a centro de masa,
este punto X, Y fue considerado el centro real del objeto en cada imagen, y es el que se
utilizó como referencia para estimar el error en los movimientos en el filtro de Kalman,
EFK, y en el método propuesto.

Se agregaron funciones al programa para probar los algoritmos imagen por imagen en
cada una de las secuencias, de esta forma observamos detenidamente cual es el compor-
tamiento de los algoritmos en el rastreo del objeto.

Para la primera trayectoria (trayectoria lineal) los métodos a comparar fueron la heurı́sti-
ca de seguimiento en base a centroide utilizando el método de interlinea, seguimiento y
predicción mediante el filtro de Kalman y el método desarrollado en el presente trabajo.

La gráfica 5.4 muestra una comparación entre la posición real del centro del objeto
(puntos reales) y la posición del objeto obtenida mediante el filtro de Kalman (KF).
Experimentación y Resultados. 49

Secuencia Atras-Adelante
144

143
Puntos reales
142
KF
141

140
Coordenadas Y

139

138

137

136

135

134

133
0 50 100 150 200 250 300
Coordenadas X

Figura 5.4: Seguimiento en base a filtro de Kalman.

La gráfica 5.5 muestra el seguimiento del objeto mediante la heurı́stica de seguimiento


de centroide utilizando el método de interlinea y la gráfica 5.6 muestra el seguimiento del
objeto mediante el algoritmo desarrollado. Como puede verse al momento de rastrear un
objeto en una trayectoria lineal, los tres métodos comparados presentan una gran eficiencia
de rastreo.
50

Secuencia lineal.
144
143
142
141
140
139
y

centroide
138
137
136
135
134
133
0 50 100 150 200 250 300
pixeles en x

Figura 5.5: Seguimiento en base a centroide mediante interlinea.

Secuencia lineal.

144
143
142
141
140
139
y

seg. puntos
138
137
136
135
134
133
0 100 200 300

pixeles en x

Figura 5.6: Seguimiento por medio del algoritmo desarrollado.


Experimentación y Resultados. 51

Como es sabido el filtro de Kalman presenta una muy buena predicción de puntos en
trayectorias lineales, sin embargo a la hora de obtener estas predicciones se requiere un
mayor desarrollo computacional que en la heurı́stica desarrollada por [1], cuyo algoritmo
es fácil de implementar y trabaja con la misma eficiencia que el filtro de Kalman.

En este tipo de trayectorias lineales, el algoritmo desarrollado, resulta eficiente en la


predicción de la posición y rastreo del objeto, sin embargo si los métodos ya existentes son
eficientes, no tiene caso aplicar un método que requiere un mayor desarrollo computacional
y una mayor capacidad de búfer y de memoria para ejecutarse; es por esto que no es
recomendable utilizar este método en este tipo de trayectorias.

En la segunda y tercera trayectoria los métodos a comparar fueron: el filtro de Kalman


extendido, la heurı́stica de seguimiento de centroide mediante el método de interlinea y el
algoritmo propuesto.

Comparación de métodos.

90
80
70 EFK

60
Centro en Y

Seg. en base a centroide


50 utilizando interlinea.

40
30
20
10
0
55 65 75 85 95
Centro en X

Figura 5.7: Comparación de método de seguimiento.

En la gráfica 5.7 podemos apreciar como la heurı́stica de seguimiento en base a cen-


troide mediante interlinea y el filtro de Kalman extendido pierden el objeto casi al inicio de
la trayectoria; de la primera podemos suponer que al tener el objeto movimientos rápidos,
el centro del mismo se pierde y por ende se pierde el seguimiento del objeto. Del filtro de
Kalman extendido suponemos que el error estimado en la imagen actual no es suficiente
52

Seguimiento mediante algoritmo desarrollado .

160

140

120

100
Centro Y

80
Centros

60

40

20

0
55 65 75 85 95 105 115 125 135 145 155
Centro X

Figura 5.8: Rastreo del objeto mediante el método desarrollado.

para hacer una correcta predicción de la posición del objeto en la imagen siguiente.

La gráfica 5.8 muestra como el algoritmo propuesto nos provee una excelente predicción
de la posición del objeto y por lo tanto obtenemos un rastreo eficiente del objeto hasta el
término de la secuencia.

En la tercera trayectoria en forma de parábola, la heurı́stica de seguimiento de centroide


utilizando interlinea y el seguimiento mediante el filtro de Kalman extendido (gráficas 5.10
y 5.11), resultan ineficientes ya que pierden el objeto cuando este se levanta rápidamente de
la plataforma (primeras imágenes de la secuencia). El método desarrollado en esta trayec-
toria es eficiente y sigue al objeto en toda la secuencia de imágenes (gráfica 5.12). En el
algoritmo desarrollado en la presente tesis, el error en la predicción de la posición del centro
del objeto, es de 1.5 pixeles con respecto a los centros reales.
Experimentación y Resultados. 53

Secuencia parabola

Centros X
0 50 100 150 200 250 300
0
20
40 Centros
Centros Y

60 Reales
80
100
120
140

Figura 5.9: Centros reales en trayectoria parabólica.

Seguimiento de centroide utilizando el metodo de interlinea

Centros en X
40 50 60 70 80 90 100 110
0
20
40
Centros en Y

60
Centros
80
100
120
140

Figura 5.10: Seguimiento en base a centroide mediante interlinea.


54

Seguimiento por EFK


Centros en X

40 60 80 100 120
0
20
40
Centros en Y

60
80 Centros
100 EFK

120
140

Figura 5.11: Seguimiento y predicción mediante EFK.

Seguimiento y predicción mediante el algoritmo desarrollado.

Centros en X

0 50 100 150 200 250 300


0
20
40
Centros en Y

60
Centros
80
100
120
140

Figura 5.12: Seguimiento y predicción mediante algoritmo desarrollado.

En cada una de las secuencias se estimó el tiempo en ejecutarse los algoritmos utiliza-
dos, obteniendo para cada uno de ellos un promedio de 1.6 milisegundos, cabe señalar que
Experimentación y Resultados. 55

para poder obtener este tiempo el procedimiento tuvo que realizarse 100 veces para cada
imagen y luego ser dividido nuevamente entre 100, esto debido a que si se tomaba el tiempo
directamente en una sola corrida, el tick del sistema operativo (llamadas a interrupción),
que es de 10 milisegundos no nos permitı́a obtener el tiempo exacto de ejecución.

La secuencia de imágenes en las gráficas (5.13 y 5.14) muestran como hasta el momento
el algoritmo desarrollado funciona. Los puntos blancos dentro de la figura (triángulo) son los
puntos que se conservan después de cada ciclo y los cuales nos ayudan a la predicción de la
posición del objeto en la siguiente imagen. Para una mayor comprensión de la secuencia solo
se presentan las imágenes obtenidas con el lado izquierdo de la cámara, pero el seguimiento
siempre se hace en ambas imágenes (izquierda y derecha).

1 2 3

4 5 6

7 8 9

10 11 12

Figura 5.13: Secuencia de seguimiento


56

13 14 15

16 17 18

19 20 21

22 23 24

Figura 5.14: Secuencia de seguimiento(continuación)


Capı́tulo 6

Conclusiones

Esta tesis propone un método para el seguimiento de un objeto rı́gido en trayectorias


no conocidas con anterioridad y con movimientos rápidos (de acuerdo a nuestros requer-
imientos) en un par de imágenes estéreo.

El método esta basado en la combinación de la heurı́stica de seguimiento de centroide


mediante el método de interlinea, desarrollada por [1] y la predicción o estimación de la
posición del objeto mediante la dispersión de partı́culas o puntos alrededor del mismo.

Con base en los resultados de los experimentos realizados, se concluye que el método
de seguimiento propuesto en el presente trabajo de tesis se desempeña satisfactoriamente
bajo las condiciones previamente establecidas. Dicho desempeño se disminuye al modificar
algunas condiciones como iluminación, presencia de otros objetos en movimiento, o por
oclusiones. Los problemas de oclusión pueden ser originados por que el objeto este fuera
del área de visualización o este oculta por algún objeto diferente.

El problema de oclusión es de los principales obstáculos que enfrenta un sistema de


visión por computadora; la oclusión es el hecho de que los objetos oculten parte de sı́ mis-
mos o de sus vecinos, es decir que la información que los describe se encuentre incompleta.
Todos los filtros correlacionadores emplean el contorno de los objetos para llevar a cabo
el reconocimiento, sin embargo, existen casos donde el contorno casi ha desaparecido. En
estos casos los filtros clásicos son, una elección poco atractiva para tratar el problema. Con
el fin de atacar dichos problemas se han desarrollados filtros con entrenamiento.

Como trabajo futuro se propone desarrollar métodos que realizen el rastreo de objetos

57
58

que presenten problemas de oclusión, es decir que no se necesite el borde completo del
objeto, sino con solo una parte de él, éste pueda ser reconocido y rastreado por el sistema.
Bibliografı́a

[1] Guedea Federico, Soto Rogelio, Song Insop, and Karray Fakhri, “Real time feature
extraction from artificial marks using interline method,” International Symposium on
intelligent Control, 2003.

[2] Greg Welch and Gary Bishop, “An introduction to the kalman filter,” 2004.

[3] Garcı́a R., Batlle J., Magı́ L., and Pacheco L., “Seguimiento de múltiples objetos: Un
enfoque predictivo,” .

[4] Feddema J. T., George Lee C., and Mitchell R., “Weighted selection of image fea-
tures for resolved rate visual feedback control,” IEEE Transactions on Robotic and
Automation, 1991.

[5] Fiala Mark and Basu Anup, “Feature extraction and calibration for stereo recon-
struction using non-svp optics in a panoramic stereo vision sensor,” IEEE Computer
Society, 2002.

[6] Luo A., Taylor W., and Burkhardt J., “A new multilevel linebased stereo vision
algorithm based on fuzzy techniques,” IEEE International Conference Pattern Recog-
nition, 1996.

[7] Smith Stephen M. and Brady J. Michael, “Susan: A new approach for low-level image
processing,” International journal on Computer Vision, 1997.

[8] Blake A. and Isard M., The Condensation Algorithm: conditional density propagation
and applications to visual tracking, PWC Publishing, 1998.

[9] Okuma Kenji, Taleghani Ali, De Freitas Nando, Little James J., and Lowe David G.,
“A boosted particle filter: Multitarget detection and tracking,” .

[10] Sonka Hlavac and Boyle, Image Processing, Analysis and Machine Vision, PWC
Publishings, 1999.

59
60

[11] Gonzalez Rafael and Woods Richard E., Tratamiento digital de imágenes, Addison-
Wesley/Diaz de Santos, 1993.

[12] Satorre Rossana, Compañ Patricia, Botia Antonio, and Rizo Ramon, “Estimación
de disparidad en visión estereoscópica mediante la integración de diversas técnicas
combinadas con multiresolución,” Tech. Rep., Universidad de Alicante, España, 1995.

[13] Videredesign, STH-MDCS2-Var/-C Stereo Head, November 2004.

[14] Innocent Peter, Hirschmuller Heiko, and Garibaldi Jon, “Real-time correlation-based
stereo vision with reduced border errors,” .

[15] Castrillón-Santana M., Guerra-Artal J., and Henndez-Sosa J., “Real-time tracking
system using c80 dsps and a binocular robotic head,” 1998.

[16] Joaquı́n Salas, Visual Routines for Mobile Robots, Ph.D. thesis, ITESM, 1996.

[17] Méndoza Vazquez Jose R., “Diseño del control de un robot de dos grados de liber-
tad para aplicaciones de seguimiento de objetos,” M.S. thesis, Instituto Nacional de
Astrofı́sica, Óptica y Electrónica, Puebla, 2003.

[18] Rekleites Ioanins M., “A particle filter tutorial for mobile robot localization,” M.S.
thesis, McGill University, Centre for intelligent Machines, 1997.

[19] Ristic Branko, Arulampalam Sanjeev, and Gordon Neil, Beyond the Kalman Filter.
Particle Filters for Tracking Applications, Artech House, 2004.
Apéndice A

Interfaz del Sistema de Seguimiento

Durante el seguimiento, el sistema opera en imágenes capturadas, en tiempo real, direc-


tamente por la estéreo cámara conectada a la computadora o en una secuencia de imágenes
grabadas en un archivo.

A continuación se describen la composición y el funcionamiento de los elementos prin-


cipales de la interfaz.

Figura A.1: Interfaz desarrollada para el sistema de seguimiento.

61
62

Captura. Seleccionando la opción captura se activa la captura de imágenes por


medio de la estéreo cámara conectada a la computadora. En esta modalidad el flujo
de pares de imágenes es continuo y cada una de ellas es desplegada en su ventana
correspondiente (izquierda y derecha) de la interfase. Cada una de las imágenes es
capturada en color con dimensiones de 320*240 pı́xeles. La velocidad de capturada
para los experimentos realizados fue de 10 imágenes por segundo.

Aprende. Una vez que las imágenes se están capturando y siendo mostradas, el
usuario puede elegir cualquier objeto por medio del cursor del Mouse, una vez elegido
el objeto, el sistema realiza una serie de funciones para obtener el área, perı́metro,
momentos de Hu, y vértices del objeto, y esta información es desplegada en un cuadro
de dialogo mostrado enseguida de la selección del objeto, y en el cual el usuario le
pone un nombre al objeto, para luego generar una lista con los nombres de todos los
objetos que el usuario ha seleccionado para aprendizaje del sistema.

Despliega. Al ser seleccionada la función despliega esta nos mostrara la lista de los
objetos que el sistema ha aprendido. Una vez elegido un objeto de la lista, el sistema
nos da los datos obtenidos del objeto en la función aprende.

Encuentra. Se utiliza para encontrar en la imagen, ya sea derecha o izquierda, o en


ambas, el objeto deseado siempre y cuando no este en movimiento.

Rastrea. La función rastrea nos muestra un caja de diálogo con una lista de objetos
que el sistema ha aprendido, de ahı́ el usuario elige que objeto desea seguir en la
imagen. Una vez seleccionado el objeto el rastreo comienza de inmediato. La función
se realiza de manera indistinta sobre la secuencia de imágenes capturadas en tiempo
real, como sobre las imágenes guardadas en archivos.

Grabar. Esta función la utilizamos para grabar una secuencia de imágenes obtenidas
directamente de la estéreo cámara. Estas secuencias de imágenes son tomadas con
el fin de que los algoritmos sean probados bajos las mismas condiciones y tener
trayectorias iguales en cada uno de los experimentos.

Grises. Convierte las imágenes (derecha e izquierda) en escala de grises.

Aristas. Sirve para obtener los bordes de los objetos, siempre y cuando la imagen
este en escala de grises.
Apéndice A 63

Motion. Presenta el rastreo de los objetos en movimiento. Si el objeto deja de


moverse en el recuadro de la imagen no aparece nada. Esta función fue utilizada para
comprobar como funciona el algoritmo de seguimiento en base a diferencias.

Video. Sirve para reproducir los videos que tenemos grabados en archivos y los cuales
fueron utilizados para la experimentación.

Siguiente FK. Esta función se utiliza para obtener los valores de la predicción en
cada una de las imágenes mediante el filtro de Kalman.

Next Manual. Sirve para obtener el centro del objeto deseado en cada una de
las imágenes, en una secuencia de imágenes previamente establecida. Se utilizo esta
función para obtener los centros reales del objeto y de ahı́ comparar los resultados
con el filtro de Kalman y con particle Filter.

También podría gustarte