Posición de Objetos Con Cámaras Pan & Tilt (Tesis)
Posición de Objetos Con Cámaras Pan & Tilt (Tesis)
Posición de Objetos Con Cámaras Pan & Tilt (Tesis)
TESIS
MECATRÓNICA
PRESENTA:
ASESORES
Con todo mi cariño y mi amor para las personas que hicieron todo en la vida para que yo
pudiera lograr mis sueños, por motivarme y darme la mano cuando sentía que el camino se
terminaba, a ustedes por siempre mi corazón y mi agradecimiento.
Papá y Mamá
i
Agradecimientos
A mis asesores Dr. Hugo Jiménez Hernández, Dr. Leonardo Barriga Rodríguez y revisores
Dra. Diana Margarita Córdova Esparza, MCyT. Juan Manuel García Huerta, por su
paciencia, tiempo y dedicación este proyecto, así como a mi formación académica.
ii
Índice general
1. Introducción. 1
1.1. Antecedentes y estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.2. Objetivos particulares . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6. Alcances y limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.1. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.2. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2. Fundamento teórico. 11
2.1. Visión por computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2. Seguimiento de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Taxonomía de técnicas para seguimiento de objetos . . . . . . . . . . . . . . 13
2.3.1. Correspondencia de puntos . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2. Seguimiento de núcleo . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.3. Seguimiento de contornos o siluetas . . . . . . . . . . . . . . . . . . . 16
iii
2.4. Cámaras Pan & Tilt (PT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5. Sistemas Multicámara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.1. Campo de visión activo . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.2. Factores que afectan a los sistemas multicámara . . . . . . . . . . . . 23
2.6. Detección de movimiento por diferencia de imágenes . . . . . . . . . . . . . . 24
2.7. Proceso de filtrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7.1. Filtrado en el dominio espacial . . . . . . . . . . . . . . . . . . . . . . 27
2.7.2. Filtrado en el dominio de la frecuencia . . . . . . . . . . . . . . . . . 28
2.8. Detección de bordes en una imagen . . . . . . . . . . . . . . . . . . . . . . . 28
2.9. Transformación distancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.10. Contornos activos (Snakes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.11. Método de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.12. Transformación de coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.12.1. Coordenadas polares en el plano . . . . . . . . . . . . . . . . . . . . . 40
2.12.2. Coordenadas cilíndricas en el espacio . . . . . . . . . . . . . . . . . . 42
2.12.3. Coordenadas esféricas en el espacio . . . . . . . . . . . . . . . . . . . 44
2.13. Inversa de una Matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.13.1. Inversas bilaterales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.13.2. Pseudoinversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3. Desarrollo Experimental 49
3.1. Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2. Adquisición de imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3. Detección de movimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4. Pre-procesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.5. Cálculo de centroide del objeto de interés . . . . . . . . . . . . . . . . . . . . 53
3.5.1. Transformada maxima extendida . . . . . . . . . . . . . . . . . . . . 54
3.5.2. Etiquetado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5.3. Algoritmo para cálculo de centroide . . . . . . . . . . . . . . . . . . . 56
iv
3.6. Imposición del contorno activo (snake) . . . . . . . . . . . . . . . . . . . . . 57
3.6.1. Transformada distancia . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.7. Seguimiento de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.7.1. Centrado del objeto en la imagen . . . . . . . . . . . . . . . . . . . . 62
3.8. Estimación de coordenadas bidimensionales del objeto . . . . . . . . . . . . . 65
4. Resultados 69
A. Validación de trayectorias 95
v
Índice de figuras
vi
2.21. Derivada en el eje x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.22. Derivada en el eje y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.23. Operador de Roberts para detección de bordes. . . . . . . . . . . . . . . . . 30
2.24. Operadores de Prewitt, Sobel y Frei-Chen. . . . . . . . . . . . . . . . . . . . 30
2.25. Explicación grafica de la transformada distancia. . . . . . . . . . . . . . . . . 31
2.26. Transformada distancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.27. Centroide de una figura geométrica. . . . . . . . . . . . . . . . . . . . . . . . 33
2.28. Contorno deformable (Snake). . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.29. Minimización de la energía por algoritmo voraz. . . . . . . . . . . . . . . . . 38
2.30. Método de Newton-Raphson. . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.31. Representación de un punto en el plano cartesiano. . . . . . . . . . . . . . . 41
2.32. Representación polar de un punto en el plano cartesiano. . . . . . . . . . . . 41
2.33. Correcta definición de la función arco tangente. . . . . . . . . . . . . . . . . 42
2.34. Coordenadas cilíndricas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.35. Coordenadas esféricas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
vii
4.2. Marco referencia con coordenadas locales. . . . . . . . . . . . . . . . . . . . 70
4.3. Trayectoria en cuadro y en diente de sierra. . . . . . . . . . . . . . . . . . . . 70
4.4. Ejemplo de trayectorias usadas durante la experimentación. . . . . . . . . . . 71
4.5. Trayectoria diagonal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.6. Gráfico de error en el eje X de la trayectoria diagonal. . . . . . . . . . . . . 73
4.7. Gráfico de error en el eje Y de la trayectoria diagonal. . . . . . . . . . . . . . 73
4.8. Desviación estándar del error en el eje X de la trayectoria diagonal. . . . . . 74
4.9. Desviación estándar del error en el eje Y de la trayectoria diagonal. . . . . . 74
4.10. Trayectoria horizontal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.11. Trayectoria en "d". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.12. Trayectoria en "V". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.13. Trayectoria en sin forma geométrica. . . . . . . . . . . . . . . . . . . . . . . 77
4.14. Trayectoria en "m". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.15. Trayectoria escalón. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.16. Dispersión del error en el eje x para las 30 trayectorias. . . . . . . . . . . . . 79
4.17. Dispersión del error en el eje x para las 30 trayectorias. . . . . . . . . . . . . 79
4.18. Distribución de frecuencia del error en x. . . . . . . . . . . . . . . . . . . . . 80
4.19. Distribución de frecuencia del error en y. . . . . . . . . . . . . . . . . . . . . 80
4.20. Dispersión del error por pares de coordenadas. . . . . . . . . . . . . . . . . . 81
4.21. Desviación estándar del error por pares de coordenadas. . . . . . . . . . . . . 81
viii
A.9. Trayectoria en forma de L. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A.10.Medio hexágono. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A.11.Onda cuadrada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A.12.Trayectoria en forma de pentágono. . . . . . . . . . . . . . . . . . . . . . . . 99
A.13.Trayectoria en forma de raíz. . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A.14.Rectángulo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
A.15.Rombo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
A.16.Trayectoria sin forma definida. . . . . . . . . . . . . . . . . . . . . . . . . . . 100
A.17.Trayectoria irregular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
A.18.Ruta de objeto en forma de S. . . . . . . . . . . . . . . . . . . . . . . . . . . 101
A.19.Trapecio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
A.20.Trayectoria con forma de triangulo. . . . . . . . . . . . . . . . . . . . . . . . 102
A.21.Trayectoria A.20 invertida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
A.22.Ruta de objeto en forma de U. . . . . . . . . . . . . . . . . . . . . . . . . . . 102
A.23.Trayectoria en forma de V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
A.24.Linea recta vertical. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
ix
Índice de tablas
3.1. Rotación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.2. Ángulo de giro (θ y φ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
x
Capítulo 1
Introducción.
1
representan la ubicación del objeto en el plano utilizando coordenadas locales. Más allá de
este punto, el proceso se considera como una tarea de optimización cuyo objetivo es reducir
el error de estimación de la distancia entre el arreglo de cámaras-PT (Pan & Tilt) y el
objeto.
Finalmente se realiza un análisis experimental que consiste en la validación de las
trayectorias artificiales creadas con anterioridad, en un escenario controlado, comparando la
posición real del objeto con la estimada por el enfoque propuesto.
1.1.1. Antecedentes
2
1.1.2. Estado del arte
3
basa en contornos activos que se adaptan a las manchas de petroleo para determinar la
forma y la localización del derrame de petróleo, incluso proporcionar una estimación de la
deformación y el desplazamiento que podría sufrir en el tiempo, para rastrear los residuos
vertidos en el mar. De igual manera en 2010, C. Losada, M. y M. Marrón [15] propusieron
un sistema multicámara para segmentación, y localización de múltiples robots en un espacio
controlado, utilizando de forma complementaria múltiples sensores colocados en los robots,
para comparar las trayectorias estimadas. Este sistema, utilizó contornos activos para la
segmentación de la escena, y seguimiento de los robots con cámaras fijas. Finalmente
proporciona la ubicación de los robots en coordenadas de imagen.
En el año 2011, H. L. Paredes [16] implementó un sistema para la detección de objetos en
movimiento en sistemas que usen cámaras móviles alineando las imágenes para
posteriormente detectar las regiones de movimiento mediante el módulo de segmentación
reduciendo el problema de detectar movimiento al de cámara estática. Las regiones de
movimiento detectadas por el segmentador son analizadas por un algoritmo de seguimiento
que trata de establecer una coherencia espacial y temporal de las distintas regiones
detectadas para validarlas como objetos y reducir los errores que puedan aparecer por el
ruido en el alineamiento.
En 2011, A. Utasi y C. Benedek [17] propusieron un enfoque probabilístico para la localización
de múltiples personas utilizando múltiples cámaras calibradas, la característica del enfoque
propuesto a nivel de píxeles se basa en las propiedades físicas del proceso de formación de la
imagen 2-D y puede localizar con precisión la posición de las piernas en el plano de apoyo y
estimar la altura de las personas.
Por su parte, Y. Lee y A. Yilmaz [18] en 2013 aportaron al estado del arte un sistema de
posicionamiento de objetos en tiempo real que combina la detección y seguimiento, con el
posicionamiento 3D en un múltiples cámaras sin movimiento de traslación. Se consideraron
restricciones geométricas definidas entre varias cámaras, para el seguimiento de un objeto
que contiene un marcador para su identificación.
En el año 2014, L. Maddalena, A. Petrosino, y F. Russo [9] desarrollaron un sistema que,
4
basándose en la información recogida por varias cámaras, es capaz de realizar conteo de
personas. Esta información se recopila en una estructura sinérgica, que explota la homografía
asociada a cada vista de la escena, apoyada por un mecanismo para el seguimiento de las
personas y de sus identidades a lo largo del tiempo.
En 2014, S. J. You, P. y H. Truong [19] difundieron un sistema en tiempo real para el
seguimiento de un objeto en movimiento rápido utilizando múltiples cámaras web
adyacentes. En este sistema se utilizaron tres cámaras, que dentro del sistema de
comunicación, desempeñan el rol de clientes, además se tiene un equipo de adquisición de
imágenes, catalogado como servidor, quien a partir de la información de los equipos cliente,
calcula las posiciones relativas del objeto en cada captura de imágenes, obteniendo así la
velocidad de objetos en tiempo real. En 2014, S. Ballesta, G. Reymond, M. Pozzobon, y J.
Duhamel [20] presentaron un sistema de seguimiento a grupos de primates, empleando una
herramienta multicámara para evitar posibles oclusiones, y entregando la posición
tridimensional de los primates, haciendo uso de collares de colores como marcas activas
para detectar el movimiento en la escena; dotando al sistema con la capacidad de realizar el
seguimiento de los primates en tiempo real.
Por su parte en el año 2015, Z. Jin y B. Bhanu, [7] propusieron seguimiento de múltiples
cámaras con simulación de multitudes integrada, con el fin de explorar la posibilidad de
hacer que la información homográfica sea mucho mas útil y para investigar la influencia de
la simulación en el rendimiento de sistemas dedicados al seguimiento de objetos.
Los parámetros Pan & Tilt,de un conjunto de cámaras, proporcionan información que
localmente ayuda en la estimación y ubicación de un objeto, utilizando técnicas de visión
por computadora que trabajen de manera complementaria con dichos parámetros. Este
planteamiento resulta útil si se tiene un método eficiente de seguimiento y detección del
objeto, debido a que estos métodos forman parte esencial, en el proceso de estimación de
5
posición en un escenario.
Por otra parte la precisión y exactitud en la estimación de posición dependerá de las
características físicas de las cámaras, pues tanto la velocidad como el paso mínimo de los
motores; por mencionar algunas características, representan un factor influyente en el
desempeño del procedimiento mencionado.
De acuerdo con la bibliografía consultada en el estado del arte, existen sistemas de visión
que proporcionan información como la ubicación bidimensional del objeto y a su vez la
trayectoria del mismo, pero no utilizan cámaras con movimiento horizontal y vertical, y en
los trabajos en donde se utilizan, solamente se hace uso de una cámara Pan & Tilt dentro
de todo el arreglo de cámaras, descartando la flexibilidad de utilizar un arreglo compuesto
solamente de cámaras Pan & Tilt (PT).
En este trabajo se pretende mostrar un método en donde sólo se empleen estos parámetros
para la estimación de posición en el plano de un objeto. En una primera aproximación el
error de calibración es descartado, pero en situaciones donde se requiera repetibilidad y
exactitud sera necesario este proceso, para éste caso sólo se aborda el problema de estimar
la posición a partir de los parámetros de giro de una cámara PT. El método propuesto
presenta un enfoque que resulta viable en situaciones donde la geometría del escenario es
desconocida y se tiene una referencia global, con lo que se conoce la posición física de cada
una de las cámaras.
1.3. Hipótesis
6
1.4. Objetivos
• Realizar un arreglo de cámaras sobre una mesa óptica graduada, utilizando las
perforaciones de la mesa como un marco de referencia, y determinando el punto de
origen, así como los ejes xey
• Calcular el centroide del objeto por contornos activos adaptables al objeto de interés,
haciendo uso de los puntos del contorno activo para el cálculo de dicho centroide.
• Realizar un modelo matemático, que parte de los parámetros PT del arreglo de cámaras
que observan al objeto, para determinar las coordenadas en 2D del objeto.
7
1.5. Justificación
8
1.6. Alcances y limitaciones
1.6.1. Alcances
• Seguimiento de objetos con más de una cámara, es decir obtener varias perspectivas de
un mismo objeto a partir de un arreglo de cámaras para tolerancia a oclusiones.
1.6.2. Limitaciones
• El sistema de visión solo es capaz de seguir un objeto a la vez, con lo que si se tiene mas
de un objeto en movimiento en el escenario, deberá existir un criterio de discriminación
que determine que objeto tiene mayor relevancia para el sistema propuesto.
• Los parámetros PT garantizan que se puede ver el objeto mientras este se encuentre
dentro del campo de visión dinámico del arreglo de cámaras, es decir la cobertura del
desplazamiento del objeto se ve limitada por el rango de movimiento de cada una de
las cámaras que lo observan.
9
• La latencia en la captura de imágenes, causada por retrasos en el funcionamiento del
software o hadware, puede impedir la fluidez en el seguimiento a un objeto en
movimiento.
10
Capítulo 2
Fundamento teórico.
Por muchos años el ser humano ha inspirado sus avances tecnológicos dentro del campo de
la visión artificial, en las propiedades, habilidades y características que tiene este sentido
tan vital. El término “visión por computadora” dentro del campo de la Inteligencia Artificial
puede considerarse como el conjunto de todas aquellas técnicas y modelos que nos permitan
el procesamiento, análisis y explicación de cualquier tipo de información obtenida a través de
imágenes digitales [22]. El presente trabajo de tesis se enfoca principalmente en la detección
y seguimiento de objetos orientado a vigilancia y seguridad (figura 2.1), por lo que se hace
una breve descripción la importancia y el uso que tiene la visión por computadora en este
rubro.
11
la ascendente necesidad de un análisis automatizado de vídeo ha dado como resultado un
gran interés en los algoritmos de seguimiento de objetos. Existen tres pasos clave en el
análisis de video: detección de objetos de interés en movimiento, el seguimiento de esta
clase de objetos en cada captura, y el examinar estos objetos en un periodo de
desplazamiento con la finalidad de reconocer su comportamiento. De esta forma, el uso de
visión artificial para seguimiento de objetos es pertinente en las tareas de [1]:
12
En su forma más simple, el seguimiento de objetos se puede definir como la estimación de la
trayectoria de un objeto en el plano de la imagen mientras se mueve alrededor de una
escena. En otras palabras, un rastreador asigna etiquetas consistentes a los objetos
localizados en diferentes marcos de un vídeo. Además, dependiendo del dominio de
seguimiento, un rastreador puede proporcionar también información centrada en el objeto,
como la orientación, área, o la forma de un objeto.
Los primeros sistemas de video vigilancia se establecieron en lugares privados como bancos
e instalaciones militares debido a la importancia de la seguridad en las mismas. Sin
embargo lugares como parques, cruces de carreteras, comercios, etc., han incluido este tipo
de sistemas correspondiendo a la preocupación de la sociedad en determinar un cierto grado
de garantía durante su uso. Aunque el nivel de seguridad exigida en estos entornos varía
considerablemente. No se establece la misma escala de riesgo para un parque en las afueras
que en un cruce situado en las cercanías de un colegio [2].
No obstante en los sistemas mencionados anteriormente, aquellos cuya necesidad de
seguridad tiene una gran importancia, siendo crítico el número de cámaras, y por lo tanto
de información que han de procesar estos operadores humanos, es muy grande [2]. A partir
de lo anterior se puede comprender la relevancia del seguimiento de objetos aplicado a el
área de vigilancia y seguridad; ya que es de suma importancia en los sistemas de seguridad
en las empresas, poder detectar a tiempo actividades inusuales en sus instalaciones y dar
continuidad a las mismas (figura 2.3), de manera que se tenga información acerca de la
trayectoria del objeto de interés, para la toma de decisiones.
13
Figura 2.3: Detección y seguimiento de objetos en un sistema multicámara [2].
La figura 2.4 muestra la taxonomía expuesta anteriormente y se tiene que de forma general
14
el seguimiento de objetos está dividido en tres clasificaciones principales:
Los objetos son detectados en imágenes consecutivas, y están representados por puntos como
se muestra en la figura 2.5; la asociación de éstos se basa en el estado previo del objeto,
referente a la posición y el movimiento. Este enfoque requiere un mecanismo externo para
detectar objetos en cada fotograma. El seguimiento se formula como la correspondencia de
los objetos detectados y representados por puntos a través en una secuencia de imágenes,
pero la correspondencia se vuelve complicada en presencia de oclusiones, pues se pierde la
detección de objetos en las imágenes. Los métodos de correspondencia de puntos se dividen
principalmente en dos categorías, deterministas y estadísticos [3].
El termino núcleo se refiere a la forma del objeto y la apariencia, por ejemplo el núcleo
puede ser una plantilla rectangular (figura 2.6), o una forma elíptica, con un histograma, el
seguimiento se realiza mediante el cálculo de movimiento del núcleo, en imágenes consecutivas.
15
Este movimiento generalmente se presenta en forma de una trasformación paramétrica, como
la traslación, rotación y afín.
16
Figura 2.8: Seguimiento de objetos [5]
Seguimiento de objetos(a-b) Correspondencia de puntos, (c-f) Seguimiento de núcleos,
(g-i)Contornos o siluetas .
17
Figura 2.9: Seguimiento de objetos a través de coincidencia de formas [6].
18
consisten en minimizar una energía funcional, utilizando los llamados algoritmos codiciosos, o
por descenso de gradiente. Los métodos de contornos evolutivos por minimización de energía
se pueden dividir en dos enfoques: el enfoque heurístico que consiste en utilizar una serie
de reglas o herramientas para lograr que el contorno deformable se adapte al contorno de
interés y el enfoque variacional que consiste en utilizar la derivada como un espacio funcional
en el que se puedan encontrar los valores que minimizan la energía funcional del contorno
deformable (imagen 2.10), tal que este converge en el contorno de interés [5]. Para el sistema
de visión desarrollado en este trabajo, se utilizan contornos deformables en los que se minimiza
la energía utilizando el enfoque variacional propuesto por Michael Kass, Andrew Witkin y
Dimitri Terzopoulus [23], además de otras herramientas para el procesamiento de imágenes
que permiten la detección del objeto y la actualización de los parámetros Pan & Tilt de cada
una de las cámaras en el arreglo, haciendo posible realizar el seguimiento de objetos.
El sustento teórico de cada uno de los métodos utilizados durante el desarrollo experimental,
desde la detección de movimiento, seguimiento y estimación de la posición en dos dimensiones
del objeto se explican en la siguientes secciones.
19
2.4. Cámaras Pan & Tilt (PT)
Las cámaras Pan & Tilt (figura 2.11), también conocidas como activas o PTZ/IP por su
capacidad de giro horizontal, vertical y zoom, además de tener un protocolo de comunicación
TCP/IP, que permite el control y transferencia de información vía internet. Debido a la
tecnología que gira entorno a ellas, se han vuelto de gran utilidad en el campo de la seguridad y
vigilancia y en sistemas de visión por computadora para el seguimiento de objetos, puesto que
proporcionan un campo de visión mucho más amplio que las cámaras de tipo estáticas. Esta
capacidad la adquieren gracias a que cuentan con tres grados de libertad de los cuales dos son
para movimiento y uno para enfoque. Dentro de los dos grados de libertad que proporcionan
un movimiento semiesférico a estas cámaras se encuentra el Pan o giro horizontal y el Tilt
o giro vertical. No obstante se dice que el espacio cubierto por el giro de Pan & Tilt es
semiesférico porque aun cuando existen cámaras de este tipo que proporcionen un giro de
360◦ en ambos sentidos (horizontal y vertical), cuentan con una zona ciega que depende de
la estructura y diseño de cada una de ellas.
Las cámaras activas cuentan generalmente con un paquete para desarrolladores de software,
disponible para su descarga en la web de la empresa en la que se adquirieron. Este paquete
hace posible crear interfaces distintas de las de fábrica para la intercomunicación Cámara-
PC, además de habilitar la manipulación de estos equipos a través de una lista de comandos
predefinidos por el fabricante, lo que en conjunto con la comunicación a través de IP (imagen
2.12), provee versatilidad para el desarrollo de software aplicado a visión por computadora.
20
Figura 2.12: Cámaras IP/PT en red.
21
Figura 2.13: Campo de visión de un arreglo multicámara.
Como se mencionó anteriormente el aporte de las cámaras Pan & Tilt, es su capacidad de giro
vertical y horizontal. Ahora se aborda esta capacidad desde el punto de vista de un sistema
multicámara debido a que esta característica representa una ventaja importante cuando se
habla de campos de visión solapados de dos o más cámaras.
En la figura 2.13 se puede observar que cada cámara en particular posee un angulo de visión
que proyectado a la distancia indica el área visible para dicha cámara y si se traslapa el
área visible de dos o mas cámaras el campo de visión se amplia, haciendo posible cubrir un
escenario mas grande.
Si a cada cámara se le dota con la capacidad de girar verticalmente sobre su propio eje, la
zona cubierta por el arreglo de cámaras se convierte en un campo de visión activo como se
muestra en la imagen 2.15, denominado así por la variabilidad en cuanto a la zona a cubrir
la cual depende de la dirección en la que se desplaza el objeto observado (figura ??).
22
Figura 2.14: Campo de visión activo de una cámara Pan & Tilt.
Todo lo mencionado anteriormente hace de los sistemas multicámara una de las estrategias
más empleadas en aplicaciones de visión, cuando se trabaja en escenarios en los que se
necesita mantener siempre en cuadro al objeto de interés sin importar la dinámica del
espacio en el que se desplaza dicho objeto, mayormente cuando se trata de sistemas de
vigilancia y seguridad en donde perder de vista a una persona por la falta de información,
puede ocasionar perdidas económicas.
Figura 2.15: Campo de visión activo de un sistema multicámara Pan & Tilt.
23
mas amplia que con un una sola cámara; también pueden presentar ciertos inconvenientes
en su operación en conjunto o de forma individual, puesto que existen factores que afectan
a dichos sistemas, como por ejemplo el medio de comunicación que presenta una velocidad
de transmisión determinada por el fabricante, pero que depende de el hadware utilizado
para intercomunicación Cámaras-Pc.
Otro factor que afecta a los sistemas multicámara es la velocidad de conexión de cada una
de las cámaras con el router, o computadora a la que se encuentran ligadas, así mismo la
velocidad de giro de los motores en el caso de las cámaras PT puede representar una
propiedad influyente en el desempeño de un arreglo multicámara. El protocolo de
comunicación utilizado es un aspecto de suma importancia, pues la configuración de este
determina en gran manera la velocidad de transferencia de información entre los equipos
conectados a una red.
Todos los aspectos mencionados forman parte vital en el funcionamiento de un sistema
multicámara, porque determinan en gran manera el tiempo de latencia existente, lo que es
de suma importancia en el seguimiento de objetos, pues es necesario que dicha tarea se
realice por lo menos en linea y de ser posible en tiempo real.
Las operaciones lógicas y aritméticas que se realizan de forma regular entre imágenes son
la suma, resta, multiplicación, división, AND, OR y NOT; dichas operaciones son utilizadas
como herramientas o preprocesos para diferentes propósitos, por ejemplo: clasificación de
objetos [26], normalización de imágenes [27], segmentación de imágenes [28] etc. En el presente
trabajo se hace uso de la operación resta (también conocida como diferencia) de imágenes,
para la detección de diferencias encontradas en un mismo escenario, es decir la detección de
movimiento en una escena, debido a que los objetos estáticos de un escenario no presentan
cambios en imágenes tomadas desde una misma perspectiva. La detección de movimiento
mediante la diferencia de imágenes como se ilustra en la imagen 2.16 se realiza de la siguiente
24
manera:
Si se tiene una función bidimensional I1 (i, j) que representa una imagen digital de un escenario
con condiciones lumínicas controladas, donde i y j son las coordenadas en el plano digital
capturado,la intensidad o nivel de gris esta identificado como I. Esta función puede restarse
a la función I2 (x, y) con las mismas propiedades, pero con distintos valores de intensidad
o niveles de gris por representar una imágen digital del mismo escenario capturada en un
instante diferente. Por lo tanto si el resultado de la resta o diferencia de estas funciones,
es distinto de cero en cualquier subconjunto de coordenadas i, j del plano digital resultante
I3 (i, j) se dice que existe movimiento en esa zona del escenario.
25
2.7. Proceso de filtrado
El objetivo fundamental del filtrado es obtener imágenes más adecuadas para una aplicación
específica, mejorando ciertas características que permitan efectuar operaciones en ellas con
resultados mucho más favorables que con imágenes sin filtrar [29]. Algunos objetivos que se
persiguen con la aplicación de filtros son:
Eliminar ruido: eliminar aquellos píxeles cuyo nivel de intensidad es muy diferente al de
sus vecinos y cuyo origen puede estar tanto en el proceso de adquisición de la imagen
como en el de transmisión.
Detectar bordes: detectar los píxeles donde se produce un cambio brusco en la función
intensidad.
De manera clara se pude definir el filtrado digital como una convolución de la imagen
original con la función filtro; de este modo como una imágen es una función bidimensional,
la operación de convolución entre el filtro y la imagen se define:
Z ∞
f (t) = f1 (t) ∗ f2 (t) = f1 (x)f2 (t − x)dx (2.1)
−∞
Como en una imagen es una entrada finita y discreta representada por la función de intensidad
de luminancia I(i, j), donde i, j representan las coordenadas bidimensionales de cada píxel
que la compone; se obtendra entonces una imagen de salida I 0 (i, j) alterada por una sistema
de filtrado F , cuya funcion de respuesta es f (m, n) siendo m, n las coordenadas matriciales
de la función de filtrado. El proceso de convolución puede describirse como [30]:
k
X l
X
I 0 (i, j) = f (m, n)I(i, j) = f (m, n)I(i − m, j − n) (2.2)
m=−k n=−1
26
Figura 2.18: filtrado de una imagen.
Los filtros son considerados como operaciones que se aplican a los píxeles de una imagen
digital para optimizarla (figura 2.18), enfatizar cierta información o conseguir un efecto
especial en ella. El proceso de filtrado puede llevarse a cabo en los dominios de frecuencia
y/o espacio.
Esta formado por aquellas técnicas que actúan directamente sobre los valores de los píxeles
de imagen (imagen 2.19), y tienen la siguiente estructura:
S(i, j) = F (I(i, j)) donde S representa la imagen resultante, I la imagen original y F el filtro
o transformación.
Mediana.
27
Realce de bordes por desplazamiento y diferencia.
Filtro de Laplace.
Gradiente direccional.
Pasa bajo.
Pasa alto.
Pasa banda.
Muesca.
Los bordes de una imagen pueden definirse como la transición significativa de niveles de
grises entre dos regiones, éstos representan una fuente de información muy importante sobre
28
las fronteras de los objetos, por lo que puede ser utilizados para la segmentación de
imágenes o reconocimiento de objetos. La mayoría de técnicas para detectar bordes se
basan en operadores locales, o aproximaciones discretas de la primera y segunda derivada
de los niveles de grises en la imagen.
Gradiente de imagen Las variaciones locales de una señal continua se obtienen utilizando
la primera derivada; obteniendo valores mayores si las variaciones aumentan con respecto al
tiempo. En el caso de las imágenes la derivada es un vector que apunta en la dirección de la
máxima variación de niveles de grises, por lo que la derivada tendera valores mayores en los
bordes de un objeto, debido a que es ahí donde varía de forma mas notoria el nivel de
intensidad o de gris. Este vector se denomina gradiente y se define como [32]:
δ(I)
δx
∇I =
(2.3)
δ(I)
δy
Como una imagen es un conjunto de puntos discretos, la derivada o gradiente de imágen debe
de realizarse en el dominio espacial, por lo que los métodos mas comunes utilizan mascaras o
kernels, que recorren la imagen de manera vertical y horizontal, proporcionando las diferencias
entre los niveles de grises. Las máscaras se obtienen a partir de la derivada discreta de una
imagen (figuras 2.21 y 2.22) como se muestra a continuación.
δ(I)
≈ ∇Ix = I(x, y) − I(x − 1, y) (2.4)
δx
δ(I)
≈ ∇Ix = I(x, y) − I(x, y − 1) (2.5)
δx
29
Figura 2.22: Derivada en el eje y
Mascara para obtener la derivada con respecto al eje y de una imágen.
Los operadores mas utilizados, basados en la derivada de una imagen, para la detección de
bordes en una imágen son:
Operador de Roberts
30
2.9. Transformación distancia
31
No obstante, el elemento de estructuración real que se debe utilizar depende de qué métrica
se ha elegido. En resumen la transformada distancia puede ser calculada eficientemente a
través de algoritmos encontrados en la literatura, como el propuesto por Rosenfeld y Pfaltz
en 1968.
Si una imagen A, se expresa como un conjunto y se sabe que A está compuesta por píxeles
con coordenadas (i, j) es posible definir la transformación distancia como una métrica que
cumple con las siguientes propiedades:
Sea A el conjunto de todos los pares de números enteros (i,j). La función f de A × A en los
enteros no negativos es:
32
Figura 2.27: Centroide de una figura geométrica.
más cercano, lo que significa que el píxel con mayor intensidad en la imagen es el que se
encuentra más cercano al centroide de la figura. Existe la posibilidad de que dos píxeles o
más tengan el valor de intensidad más alto de una figura, con lo que se tendría el conflicto de
determinar que píxel tomar como el centroide de la figura, cabe mencionar que hay distintas
opciones para solucionar este problema, no obstante en este trabajo se toma la transformada
máxima extendida como una solución a este problema. Una vez que se tiene el píxel que será
considerado como el centroide del objeto o figura, se obtienen la coordenadas de dicho píxel
en la imagen, para poder proporcionar el centroide del objeto en coordenadas (X, Y ).
33
flexibilidad, la externa se debe a la influencia que ejerce la imagen sobre la que esta
posicionado el contorno. La forma discreta de este se representa por varios puntos llamados
"puntos de control que en conjunto forman una curva spline (figura 2.28) con la cual se
2
La energía interna a su vez también posee dos términos, la primera y la segunda derivada.
La primera describe la distancia entre los puntos (elasticidad) y la segunda la curvatura
(flexibilidad), con lo que busca lograr un equilibrio de mínima energía para el cual la
posición actual del contorno esté sobre la forma u objeto que se busca, además la manera
de serpentear que tiene la curva al momento de buscar este equilibrio es lo que hace que
también sean conocidos como Snakes.
Formulación La energía del contorno activo según el modelo original viene dada por la
fórmula [23]:
Z 1
Econtorno = [Eint (v(x)) + Eext (v(x)) + Erest (v(x))] (2.6)
0
Donde:
34
Energía interna: Dentro de la ecuación que modela los contornos activos el primer término
que interviene es la energía interna, este término se compone de dos expresiones; la primera
es una derivada de primer orden, la cual tiene por objetivo mantener la distancia entre los
puntos de control y la otra es una segunda derivada que mantiene la curvatura del contorno.
Donde vi y vi−1 representan dos puntos del contorno y la distancia entre ellos está
dada por su diferencia al cuadrado. Sin embargo es posible que los puntos del contorno
tiendan a aglomerarse, debido a las características de la imagen, o al algoritmo de
minimización, por lo tanto una solución propuesta por Williams y Shah [47] para este
problema es:
Donde d¯ es la distancia promedio entre los puntos en cuyo caso discreto, la ecuación
queda descrita como sigue:
Pderivada = d¯ −
p
(xi − xi−1 )2 + (yi − yi−1 )2 (2.9)
35
Uniendo los términos la energía interna queda descrita como:
Los valores α y β son los encargados de dar una ponderación dentro de la ecuación a la
elasticidad y flexibilidad de la curva respectivamente. Así para α = 0, β = 0 la fuerza
interna sería nula, con lo cual los puntos del contorno no tendrían nada que los ligue entre
sí y actuarían dentro de la imagen solo como un conjunto de puntos independientes unos de
otros. Por otro lado para α > 0 y β = 0 aparece un factor de estiramiento en la curva es
decir, los puntos tenderían a estar más juntos unos de otros y ya no actuarían por sí solos,
el factor β = 0 ocasiona que no existan restricciones en cuanto a la curvatura del contorno,
apareciendo por ejemplo esquinas pronunciadas a lo largo de la curva. Por ultimo para
α > 0 y β > 0 el contorno será una curva con bordes continuos y curvatura suave [48].
El problema de esta energía es que podría llevar el contorno hacia puntos de ruido que
pueden colapsar la curva hacia un contorno falso.
36
La energía de borde, Eborde , busca atraer el contorno hacia bordes de la imagen. Para
esto Kass propone utilizar una ecuación que lleva el contorno hacia zonas con mayor
nivel de gradiente, con esto el contorno tiene una menor sensibilidad al ruido que la
energía de línea, por lo que la Elinea se describe como:
∂θ
Eterm = (2.17)
∂n
cy
Donde: θ = arctan( ) y n = (− sin(θ), cos(θ))
cx
Métodos estocásticos: permiten encontrar un mínimo global sin caer en mínimos locales,
el método estocástico más utilizado es el enfriamiento simulado o simulated annealing
Métodos de fuerza bruta: dentro de este grupo destacan dos tipos; los de programación
dinámica [49] y los algoritmos voraces [47]. Un ejemplo de minimización de energía por
algoritmo voraz, se muestra en la figura 2.29.
Cada uno de los métodos mencionados anteriormente presenta ventajas que dependen de
la aplicación que se está dando al algoritmo de contornos activos, y de las necesidades del
37
Figura 2.29: Minimización de la energía por algoritmo voraz.
sistema implementado. Por lo tanto, no es posible determinar cual de ellos es el mejor sin
hacerlo de forma parcial, es decir, dependiendo del contexto de aplicación de cada uno de
ellos. En el presente trabajo de tesis, se usa un método de minimización de la energía del
tipo basado en análisis numérico, llamado método de Newton-Raphson. Una de las razones
por las que se usa este método es su relativa facilidad en cuanto a la implementación del
algoritmo en algunos software de programación como MATLAB.
38
Figura 2.30: Método de Newton-Raphson.
se repite comenzando con x1 y así sucesivamente hasta encontrar un valor xi que satisfaga:
x1 = x0 − ∆x
Así que:
f (x0 )
∆x =
f 0 (x0 )
y sustituyendo
f (x0 )
x1 = x0 −
f 0 (x0 )
39
2.12. Transformación de coordenadas
40
Figura 2.31: Representación de un punto en el plano cartesiano.
Esta forma de identificar puntos en el plano cartesiano es conocida como coordenadas polares
(r, t), donde:
r es el modulo de P
t es el argumento de P
x = r cos(t) (2.20)
y = r sin(t)
41
Coordenadas cartesianas a polares.
p
r= x2 + y 2 (2.21)
y
t = arctan
x
Para que la función arco tangente esté bien definida (a un número real le corresponda un único
ángulo), debe escogerse un intervalo de longitud π en el que definir la imagen. Usualmente se
h π πi h π πi
define la función arcotangente de R en el intervalo − , , es decir arctan : R −→ − , .
2 2 2 2
En este caso para un punto P que esté en el segundo o tercer cuadrante del plano la función
y π π
arctan nos dará un ángulo entre − y y el verdadero argumento de P será t = α + π.
x 2 2
Y si P está en el cuarto cuadrante, el argumento de P será α + 2π, es decir:
y
arctan si x ≥ 0 , y ≥ 0
x
y
t = arctan +π si x < 0
x
arctan y + 2π si x ≥ 0 , y < 0
x
Lo anteriormente expresado se observa claramente en la figura 2.33.
42
llamados ejes de coordenadas. De este modo cada punto del espacio está unívocamente
determinado por sus tres coordenadas P (x, y, z). Pero también podemos identificar cada
punto del espacio por otros tres números(figura 2.34): dos números r y t son las
coordenadas polares en el plano horizontal de la proyección de P sobre este plano,
P00 = (x, y, 0), y el tercero es la altura de P sobre el plano horizontal, la coordenada z. La
terna (r, t, z) se denomina coordenadas cilíndricas de P .
x = r cos(t) (2.22)
y = r sin(t)
z=z
p
r= x2 + y 2 (2.23)
y
t = arctan
x
z=z
43
Usando las mismas condiciones para el arco tangente que en las coordenadas polares.
Cada punto del espacio tridimensional se puede identificar también mediante otros tres
números (dos ángulos y una distancia). ϕ es el ángulo que forma el vector P con el plano
horizontal (latitud), θ es el ángulo que forma el vector P con el plano y = 0 (longitud) y ρ
es la distancia de P al origen de coordenadas. La terna (ϕ, θ, ρ) se denomina coordenadas
esféricas de P .
ϕ ∈ [−π/2 , π/2]
θ ∈ [0 , 2π]
ρ≥0
44
Coordenadas esféricas a cartesianas.
z = ρ sin ϕ (2.24)
x = ρ cos ϕ cos θ
y = ρ cos ϕ sin θ
p
ρ= x2 + y 2 + z 2 (2.25)
z
ϕ = arcsin
ρ
y
arctan
si x ≥ 0 , y ≥ 0
x
y
θ = arctan +π si x < 0
x
arctan y + 2π
si x ≥ 0 , y < 0
x
xa = ax = 1
Por cierta analogía con los números y tomando en cuenta que el producto de matrices no es
conmutativo, se puede conceptualizar a la matriz inversa X de una matriz dada A como la
matriz que resuelve:
XA = I
AX = I
a) Cualquier matriz L(n,m) para la cual L(n,m) A(m,n) = I(n,n) se llama inversa izquierda de
A
45
b) Cualquier matriz R(n,m) para la cual A(m,n) R(n,m) = I(m,m) se llama inversa derecha de
A
−1 −1
c) Cualquier matriz A−1
n,m para la cual A(n,m) A(m,n) = I(n,n) y A(m,n) A(n,m) = I(m,m) se
Sea A una matriz si existen una inversa derecha R y una inversa izquierda L de A entonces
son iguales y son una inversa bilateral A−1 . Por lo tanto, cualesquiera dos inversas bilaterales
de A son idénticas.
Demostración: Sean R y L dons inversas de A respectivamente, entonces:
R = IR = (LA)R = L(AR) = LI = L
De esta manera R = L ≡ A−1 , y ésta es una inversa bilateral, luego supongamos que X y Y
son dos inversas bilaterales de A. A partir de:
X = IX = (Y A)X = Y I = Y
Se obtiene la unicidad, es asi que la propiedad de tener inversa bilateral es tan importante
que las matrices cuadradas con tales inversas, reciben el nombre de matrices no singulares,
46
por lo que una matriz singular sería una matriz que no tiene inversa bilateral. A pesar de
que una matriz cuadrada singular A no tenga inversa bilateral, puede obtenerse una inversa
utilizando algunos métodos como:
Gauss-Jordan.
Gauss.
Regla de Cramer.
La inversa de una matriz que no es cuadrada sino rectangular (diferente número de filas
y columnas), no puede calcularse utilizando los métodos mencionados anteriormente, una
alternativa para encontrar la inversa de una matriz rectangular es la pseudoinversa, que se
describe a continuación.
2.13.2. Pseudoinversa
Definimos como pseudoinversa a la matriz inversa por la derecha o por la izquierda (no ambas)
de una matriz A que se denota como A† [55], es decir si una matriz A† que multiplicada por la
derecha por A, da la matriz diagonal I (matriz identidad) con todos los elementos diagonales
iguales a 1, se dice que A† es la pseudo inversa de A [56].
Recordemos que:
A† A = M
47
Si el determinante de M 6= 0, entonces existe M −1 y puede escribirse:
M −1 A† A = M −1 M
o lo que es igual
M −1 A† A = I = LA
de donde se obtiene
L = M −1 A†
R = A† M −1
48
Capítulo 3
Desarrollo Experimental
En este capitulo se explica de manera concisa la metodología utilizada (ver figura 3.1), para
la implementación de un sistema de visión por computadora, capaz de detectar, seguir y
estimar la posición bidimensional de un objeto, también se expone el desarrollo de cada una
de las etapas, las cuales se explican a detalle en las secciones posteriores. La infraestructura
utilizada para el desarrollo del sistema de visión y la experimentación se encuentra descrita
detalladamente en la sección de apéndices.
3.1. Metodología
49
3.2. Adquisición de imágenes
Para realizar la adquisición de imágenes(fig. 3.2) se utiliza el comando CGI con la estructura
que se muestra.
http://ip:puerto/snapshot.cgi?user=usuario&pwd=contraseña
Donde el texto en marcado en color hace referencia a la información que debe sustituir el
usuario, de acuerdo a la configuración que haya definido para cada una de las cámaras.
50
3.3. Detección de movimiento
51
Figura 3.3: Detección de movimiento por diferencia de imágenes
3.4. Pre-procesamiento
52
proyección digital que resulta de la detección de movimiento, debido a que proporciona una
imagen donde el valor máximo aparece en el píxel central y disminuye hacia los extremos,
reduciendo de manera efectiva los valores anómalos de intensidad de imagen a cantidades
muy cercanas a cero, con lo que, lo mas destacado en la imágen sería el objeto de interés.
Se presenta a continuación el algoritmo, para aplicar un filtro gaussiano a la imagen resultante
de la detección de movimiento 2 .
Para calcular el centroide del objeto de interés, después de llevar a cabo los procesos
anteriores, se utiliza la imagen filtrada en escala de grises, y se obtiene su inversa, es decir
calculando la imagen complemento, puesto que lo que se requiere resaltar es el objeto de
interés, asignando así valores intensidad mínimos a los píxeles pertenecientes al fondo, y
2
La imagen 3.5 se encuentra en blanco y negro para resaltar el resultado del filtrado de imagen
53
valores máximos al objeto de interés, además de que prepara a la imágen para utilizar la
transformada máxima extendida en favor del cálculo del centroide.
Para los propósitos de este proyecto, la transformada máxima extendida se utiliza para
segmentar la imágen, es decir separar al objeto que nos interesa del fondo de la escena,
obteniendo como resultado una imagen binaria, cabe señalar que para obtener este
resultado es esencial entregar a la transformada máxima el complemento de la imagen
filtrada. El resultado de la segmentación usando EM AX se observa en la figura 3.6.
54
Figura 3.6: Imagen segmentada utilizando la transformada máxima extendida
3.5.2. Etiquetado
Una vez que se tiene la imagen segmentada, se procede al etiquetado de la misma, para
identificar todos los píxeles pertenecientes a un mismo elemento con un determinado valor
de intensidad. El etiquetado de una imagen se realiza a través una lista de objetos, la cual
se obtiene utilizando la técnica de componentes conexas. Básicamente, las componentes
conexas permiten asociar elementos o partes de imágenes entre sí para luego realizar
operaciones a partir de la composición de cada imagen en partes. Una componente conexa
no es más que un conjunto de puntos o píxeles de las imágenes que se han agrupado a
partir de cierta característica que los identifica.
Esta agrupación permite, por ejemplo, discriminar partes de una imagen, encontrar
relaciones entre los elementos de una misma componente o incluso relaciones entre distintas
componentes. EL numero de objetos en la lista utilizada se determina en base la cantidad
de objetos que se obtienen después de etiquetar la imagen; aunque para este casó particular
existe un solo objeto en la imágen.
Esto no solo nos permite saber si por diversas circunstancias existiera más de un objetivo
en la imágen, además habilita la alternativa de obtener las coordenadas de todos los píxeles
que pertenecen a un objeto particular.
55
3.5.3. Algoritmo para cálculo de centroide
56
3.6. Imposición del contorno activo (snake)
Con el objetivo de determinar de forma automática la distancia (radio) de cada punto del
snake hacia el centro del mismo, se hace uso de la transformada distancia la cual es un
operador que normalmente sólo se aplica a las imágenes binarias. El resultado de la
transformada es una imagen en escala de grises donde las intensidades de cada píxel dentro
de regiones de primer plano se cambian para mostrar la distancia mas corta que existe entre
dicho píxel y el cambio de blanco a negro o viceversa mas cercano en la imagen original
(imagen binaria) [33]. El algoritmo para calcular la transformada distancia es:
57
Algoritmo 4 Transformada distancia
c
Entrada: Imagen binaria complemento Rbin (x, y).
Salida: Transformada distancia Tdist (x, y).
p= píxeles (x,y).
c
Recorrido en orden video de píxeles (p) ∈ Rbin
c
if Rbin (p) == 1 then
(q) : q ∈ NG− (p) .
c
4: Tdist (p) = 1 + M in Rbin
end if
c
Recorrido en orden video inverso de píxeles (p) ∈ Rbin
c
if Rbin (p) 6= 0 then
(q) : q ∈ NG+ (p)
c c
8: Tdist (p) = M in Rbin (p), 1 + M in Rbin
end if
58
Algoritmo 5 Contornos activos
Entrada: Imagen f2 (x, y), número de puntos de contorno.
Salida: Convergencia del contorno deformable hacia el contorno de interés.
Inicializar α, β, ω1 , ω2 , ω3 .
Obtener ∇f2 (x, y) /* Gradiente de imagen o primera derivada*/
Obtener ∇2 f2 (x, y) /* Gradiente de imagen o primera derivada*/
2
Eint = (α ∗ ∇f2 (x, y))2 + (β ∗ ∇2 f2 (x, y))
5: Inicializar σ1 , σ2 , σ3 .
g1 (x, y) x2 + y 2
G1 (x, y) = : g1 = e−
minx,y (g1 (x, y)) 2σ12
g2 (x, y) x2 + y 2
G2 (x, y) = : g2 = e−
minx,y (g2 (x, y)) 2σ22
g3 (x, y) x + y2
2
G3 (x, y) = : g3 = e−
minx,y (g3 (x, y)) 2σ32
GI(x, y) = G1 (x, y) ∗ R(x, y) /*R(x, y) imagen filtrada de detección de movimiento*/
10: GJ(x, y) = G2 (x, y) ∗ ∇f2 (x, y)
Gk(x, y) = G3 (x, y) ∗ ∇f2 (x, y)
Eext = ω1 ∗ GI(x, y) − ω2 ∗ GJ(x, y)2 − ω3 ∗ Gk(x, y) ∗ R(x, y)
Erest = 0
Econtorno = Eint + Eext + Erest
15: c = (x̄, ȳ) /* Centroide */
r = D ∗ E /* radio */
Inicializar puntos p.
K = 0 : 1 : p /* Vector */
f i = (2 ∗ π/p) ∗ K /* radio y angulo */
20: xc = x̄ + r ∗ cos(f i) /* coordenadas del snake en x */
yc = ȳ + r sin(f i) /* coordenadas del snake en y */
Desplegar contorno activo con radio r y centro en (x̄, ȳ)
Convergencia del snake al contorno de interés minimizando energía con el método
Newton-Raphson.
59
Para que el contorno activo se adapte al objeto de interés, se debe minimizar su energía
funcional, es decir encontrar los posición en la imágen donde la diferencia entre cada punto
del snake y el contorno objetivo sea mínima. El método empleado en este proyecto para la
etapa de minimización de energía es el método conocido como Newton-Raphson, que es del
tipo numérico y se caracteriza por tener un bajo coste computacional.
El algoritmo 6 implementado y adaptado a las necesidades de esta tesis se presenta a
continuación.
Algoritmo 6 Newton-Raphson
Entrada: Econtorno , coordenadas (xc , yc ) del snake , No de iteraciones n, ε, l, k.
Salida: coordenadas (xc , yc ) del snake una vez que se adaptó al contorno objetivo.
Obtener ∇f2 (x, y) /* Gradiente de imagen o primera derivada*/
X = (xc , yc ) /* Condición inicial */
εminimo /* Error minimo */
IT /* Contador de iteraciones*/
while ((IT < n) && (kεkl > εminimo )) do
δx
6: X =X −k∗
δy
ε= interpolar (X, Econtorno )
if (kXk =
6 0) then
ε = [1 1]
end if
IT = IT + 1
12: Desplegar en R(x, y) las nuevas coordenadas (xc , yc ) del snake
end while
60
Figura 3.9: Contorno activo en convergencia con el contorno de interés
Es importante señalar que cuando el contorno activo converge hacia el contorno del objeto (fig.
3.9), se vuelve a calcular el centroide del objeto, pero esta ocasión utilizando las coordenadas
de los puntos del contorno activo; ésto se realiza para asegurar que el objeto que se va a
centrar en la imagen es el correcto, evitando así falsos positivos. El centroide obtenido de las
coordenadas de cada elemento del contorno activo se estima como se muestra en la ecuación
3.4.
61
Aunque existen distintas técnicas para el seguimiento de objetos, en el presente trabajo de
tesis, se aprovecha ampliamente que se debe de calcular el centroide del objeto para imponer
el contorno activo siempre cerca del contorno objetivo, para centrar al objeto en la imagen
de manera continua, lo que hace posible el seguimiento de objetos.
62
Las etapas de la metodología desarrolladas hasta el momento, son suficientes para llevar a
cabo el proceso de centrar al objeto en la imágen, o como se menciona en el algoritmo 7,
manipular el movimiento horizontal y vertical de la cámara hasta lograr que la diferencia entre
el centroide del objeto y el centro de imagen sea menor o igual que un error determinado por
el usuario, logrando de esta manera el seguimiento del objeto dentro del rango de rotación
de la cámara. Un ejemplo de esta etapa se muestra en la figura 3.10.
63
Algoritmo 7 Centrado de objeto en la imagen
Entrada: Centroide del snake (x̄c , ȳc ), centro de imagen (x, y), IP de la cámara.
Salida: Objeto de interés centrado en la imagen, ángulos θ y φ.
1: (x̄c , ȳc ) = 0 θ=0 φ=0 i = 0.
2: while (|(x̄c , ȳc ) − (x, y)| > εpredef inido ) do
3: Realizar detección de movimiento, posterior filtrar la imagen. Algoritmos 1 y 2.
4: Calcular centroide ( algoritmo 3).
5: Obtener transformada distancia con algoritmo 4 y radio r con ecuación 3.3.
6: Crear contorno activo (algoritmo 5) e imponerlo con radio r y coordenadas (xc , yc ).
7: Adaptar contorno activo a contorno de interés con el método de Newton-Raphson.
8: (x̄c , ȳc ) = centroide del snake.
9: if (x̄c > x) then
10: Girar cámara a la izquierda con un ángulo ∆θ /* Centrado horizontal*/.
11: ∆θ = −∆θ.
12: else
13: Girar cámara a la derecha con un ángulo ∆θ.
14: end if
15: if (ȳc > y) then
16: Girar cámara hacia abajo con un ángulo ∆φ /* Centrado vertical*/.
17: else
18: Girar cámara hacia arriba con un ángulo ∆φ.
19: ∆φ = −∆φ
20: end if
Pn Pn
21: i=i+1 θ= i=1 ∆θ φ= i=1 ∆φ
22: end while
64
Figura 3.10: Objeto centrado en la imagen, usando algoritmo 7
objeto
Obtener θ y φ al final del algoritmo, como variables de salida es uno de los pasos de suma
importancia para el aporte de este proyecto de tesis, ya que como se plantea en el objetivo
general, se requiere dar seguimiento a un objeto en movimiento con un arreglo de cámaras Pan
& Tilt, sin embargo también se necesita que el sistema propuesto sea capaz de proporcionar
las coordenadas bidimensionales del objeto a partir de los ángulos θ y φ del arreglo de cámaras
que observan al objeto.
Una vez que se tienen las variables de salida mencionadas anteriormente, se puede plantear
la posición espacial relativa del objeto con respecto a cada cámara, utilizando el sistema de
representación esférica como se muestra en la ecuación 3.5.
Coordenadas esf ericas
z }| {
P (x, y, z) = (r, θ, φ) (3.5)
| {z }
coordenadas cartesianas
65
Por lo tanto, la posición en dos dimensiones con respecto a un arreglo de n cámaras, se
expresa:
P2 (x, y) = (r2 , θ2 )
P3 (x, y) = (r3 , θ2 )
..
.
Pn (x, y) = (rn , θn )
P2 (x, y) = (r2 , θ2 )
P3 (x, y) = (r3 , θ2 )
P4 (x, y) = (r4 , θ4 )
66
El planteamiento para estimar la posición del objeto a partir de los pares de coordenadas
dados en la ecuación 3.8 se obtiene como sigue:
Utilizando las formulas descritas en la sección 2.12, se realiza la transformación de
coordenadas polares a cartesianas:
x = r ∗ sin(θ)
y = r ∗ cos(θ) (3.9)
Despejando r:
x
r=
sin(θ)
y
r=
cos(θ)
Igualando:
x y
=
sin(θ) cos(θ)
Despejando
sin(θ)
x=y = y ∗ tan(θ)
cos(θ)
− x + y ∗ tan(θ) = 0
De esta forma obtenemos una ecuación que describe a una recta que parte del origen a un
punto particular, en este caso la ubicación del objeto. No obstante las cámaras no están
ubicadas en el origen del plano (figura 3.11), por lo que esta ecuación debe de adaptarse a la
ecuación de la recta que permite trasladar el origen a un punto dado (x, y). Así tenemos:
tan(θ)(y − Py ) = (x − Px ) (3.10)
Desarrollando:
67
Donde tan(θ) es la pendiente de la recta, Px y Py son la posición en x e y de la cámara
respectivamente y x e y son las coordenadas del objeto.
Realizando el mismo procedimiento para todas las cámaras, se puede formular el sistema de
ecuaciones que se describe en 3.12:
1
− tan(θ1 ) P1x − tan(θ1 )P1y
x 1 − tan(θ2 ) P2x − tan(θ2 )P2y
=
(3.14)
y 1 − tan(θ3 ) P − tan(θ )P
3x 3 3y
1 − tan(θ4 ) P4x − tan(θ4 )P4y
68
Capítulo 4
Resultados
Todas las aplicaciones de visión desarrolladas a pesar de ser diseñadas de manera minuciosa,
o de contar con herramientas que lo ayuden a cumplir mejor con su tarea, cuentan con un
margen de diferencia entre el objetivo real y el alcanzado; evidentemente el enfoque propuesto
en este trabajo no es la excepción.
Por lo anterior, en este capítulo se presenta la adaptación del sistema para el seguimiento
y la estimación de la posición 2D de un objeto a partir de los parámetros Pan & Tilt de
un arreglo de cámaras que lo observan, además se muestran los resultados experimentales
obtenidos durante la implementación de la aplicación, y las conclusiones a las que se llegó
luego de todos los procesos y procedimientos realizados.
Como parte de la implementación del trabajo propuesto, se diseñó un arreglo de cámaras que
permitiera observar al objeto a través del escenario controlado, como se muestra en la figura
4.1.
69
4.2 ), que se utiliza, para conocer la posición de cada cámara en el escenario, sino y diseñar
las trayectorias con las que se valida el enfoque propuesto.
Algunos ejemplos de estas trayectorias se muestran en las figuras 4.3 y 4.4 , en donde los
círculos rojos representan las cámaras y el grid azul el marco de referencia. El proceso de
validación consiste en comparar la posición real del objeto en coordenadas locales, con la
posición estimada.
70
Figura 4.4: Ejemplo de trayectorias usadas durante la experimentación.
Posición física de
la cámara: (6,45)
θ φ
27 0
4 0
5 0
6 0
1 0
71
Figura 4.5: Trayectoria diagonal.
La gráfica 4.5 ejemplifica la ruta diagonal (color negro) del objeto moviéndose a través del
espacio de pruebas, con coordenadas locales establecidas, y la línea color rojo representa la
trayectoria compuesta por las posiciones estimadas, utilizando el enfoque propuesto. Cabe
señalar que las dimensiones de los ejes así como las coordenadas de las trayectorias están
dadas en pulgadas, de esta forma al calcular el error se le asigna esta unidad de medida. El
error para cada trayectoria se calcula usando la ecuación 4.1:
εy = yi real − yi estimada
Una vez calculado el error para todos los puntos de la trayectoria en ambos ejes, se puede
realizar un gráfico (figuras 4.6 y 4.7) que nos permita tener una idea más clara del
comportamiento de este parámetro.
72
Figura 4.6: Gráfico de error en el eje X de la trayectoria diagonal.
De igual manera, se puede obtener la desviación estándar del error en los dos ejes (ver figuras
4.8 y 4.9).
73
Figura 4.8: Desviación estándar del error en el eje X de la trayectoria diagonal.
Calculando el promedio con los datos anteriores, se produce la cifra que representa al error de
la trayectoria estimada en el eje x y en el eje y, así también utilizando un poco de estadística,
se calcula la desviación estándar o RMSE. Estos datos se muestran en la tabla 4.2.
74
ε ECM
x 0.6 0.41
y 0.46 0.33
ε ECM
x 0.6 0.45
y 0.48 0.35
Se observa en la tabla 4.3 que el error entre la trayectoria estimada y la real es pequeño, lo
cual se confirma de manera visual en la figura 4.10, donde la línea color rojo guarda un alto
grado de solapamiento con la línea en color negro.
75
Figura 4.11: Trayectoria en "d".
ε ECM
x 0.63 0.59
y 0.76 1.06
Los resultados que se observan en la imagen 4.11 muestran que existen casos como los de una
ruta que pasa dos veces por un mismo punto donde se obtienen una estimación de posición
ligeramente distinta y esto se debe al error acumulado en las estimaciones anteriores, ya que
el ángulo θ para ese punto se tiene sumando todos los valores anteriores de θ desde el punto
de inicio.
76
ε ECM
x 0.46 0.57
y 0.43 0.50
La diferencia entre la posición estimada y la real según se observa en la figura 4.12 se mantiene
cercana a media pulgada (Tabla 4.5) siendo aceptable, considerando que el objeto no es un
punto en el plano sino un cuerpo, por lo que muy probablemente la magnitud del error se
mantiene dentro del diámetro que ocupa el cuerpo en el plano.
ε ECM
x 0.33 0.44
y 0.41 0.51
Las trayectorias diseñadas, tienen formas variadas (ver imágenes 4.14 y 4.15), e incluso formas
irregulares como la que se muestra en la figura 4.13.
77
Figura 4.14: Trayectoria en "m".
ε ECM
x 0.53 0.65
y 0.50 0.61
ε ECM
x 0.68 0.88
y 0.43 0.53
78
Otro dato interesante que proporciona una idea clara sobre el comportamiento del error en
todas las trayectorias diseñadas es el gráfico de dispersión del error, ya que nos permite
analizar de forma visual el parámetro mencionado.
En los gráficos anteriores se observa que la diferencia entre las trayectorias reales y las
estimadas, es similar no solamente entre trayectorias, además si comparamos las figuras
79
4.16 y 4.17 se tiene que el error es similar en los dos ejes, para la mayoría de los
desplazamientos del objeto a través del escenario.
Eliminando los puntos aberrantes de los gráficos 4.16, 4.17 y realizando una distribución de
frecuencia para ambos ejes (gráficos 4.18 y 4.19), se observa que el error tiene la tendencia
a una distribución normal, o gaussiana, los que permitiría caracterizar al error en futuros
análisis.
80
Figura 4.20: Dispersión del error por pares de coordenadas.
Para finalizar la sección de resultados, se muestran los gráficos de dispersión 4.20 y 4.21 que
describen el error por pares de coordenadas para las 30 trayectorias en conjunto, de esta
forma observamos la fusión de los dos ejes y sus respectivos errores, teniendo un panorama
general de la diferencia entre lo real y los estimado por el enfoque propuesto, con lo cual es
mucho más sencillo determinar la calidad de los resultados.
81
Durante la experimentación se hicieron algunas observaciones por ejemplo, que es importante
considerar una mayor altura para el modelo de fondo neutro (paredes del espacio de pruebas),
para evitar falsas detecciones o intromisiones durante el seguimiento de objetos; esto se debe a
que parte de a región de interés cubierta por alguna cámara de arreglo incluye áreas externas
al entorno controlado, por encontrarse a una distancia lejana de la pared frontal de la misma.
El papel que juega la distancia entre el objeto y la cámara es muy importante, ya que si este
se encuentra demasiado lejos de alguna de las cámaras sale de su campo de visión efectivo; de
igual manera si se encuentra a una distancia muy pequeña es prácticamente imposible centrar
el objeto. Debido a que en su primera aproximación el enfoque propuesto no considera la
calibración de las cámaras utilizadas; los efectos que tiene la distorsión asociada a cada una
de ellas, aumenta de forma proporcional a la distancia que se encuentra el objeto, influyendo
en el error de estimación, por lo que la calibración de cámaras es uno de los primero rubros
mencionados en la sección de trabajos futuros.
De igual manera en la sección de trabajos futuros se incluye la aplicación de la metodología
presentada, para la estimación de posición en tres dimensiones. En esta sección se describen
de manera sencilla algunas consideraciones que se deben realizar para cumplir este objetivo,
como el uso de patrones calibrados en las mismas unidades que se manejan en el entorno
controlado (para este caso pulgadas), con el fin de tener un referencia formal al ubicar al
objeto en una posición tridimensional.
También es necesario colocar las cámaras de tal forma que se puedan tener perspectivas
variadas del objeto, sin alterar el funcionamiento efectivo del sistema propuesto. El diseño
de trayectorias tridimensionales para la experimentación y la validación de resultados es una
consideración importante a realizar para la estimación de posición en tres dimensiones de
un objeto. Finalmente, se hace la observación de la importancia que tiene la velocidad de
motores de las cámaras, debido a que cuanto mayor sea la rapidez con la que giran dichos
motores, menor será el tiempo que tome centrar al objeto en la imagen.
82
Capítulo 5
5.1. Conclusiones
83
parámetros Pan & Tilt de las cámaras para centrar el objeto en el campo de visión del
arreglo de cámaras y se implementa la pseudoinversa como una forma de solucionar el
sistema de ecuaciones generado por los parámetros mencionados anteriormente.
Los datos experimentales son consistentes con respecto a la aseveración inicial, que consiste
en comprobar que es posible estimar la posición bidimensional de un objeto, a partir de los
parámetros Pan & Tilt de un arreglo de cámaras que lo observan desde diferentes
perspectivas en un mismo instante y teniendo conocimiento previo de la ubicación física de
cada una de las cámaras en coordenadas locales.
Por otra parte, uno de los requerimientos mínimos del algoritmo es que el objeto sea
detectado por al menos tres cámaras a fin de estimar con eficacia su ubicación con respecto
al arreglo de cámaras. Esta información se vuelve de suma importancia ya que a partir de
ella y mediante el uso de la metodología descrita en este documento es posible dar
cumplimiento al objetivo principal de este trabajo.
Finalmente, a través de este trabajo se proporcionan las bases para una evolución del
algoritmo, en otras palabras, una vez que se ha probado la hipótesis inicial se puede ahora
proceder a la retroalimentación para obtener mejores resultados y acceder a la aplicación de
esta metodología para la estimación de la posición tridimensional, además de que se abre
paso a la posibilidad de llevar este trabajo a la implementación en escenarios exteriores,
donde existe un mayor número de variables no controladas ante las cuales el sistema debe
de conservar su eficacia sin permitir un aumento en el error de estimación.
Todo esto se traduce en una amplia gama de posibles aplicaciones, por ejemplo: el
seguimiento de objetos y estimación de la posición en robots móviles, la detección y el
seguimiento de objetos en una banda transportadora, estimación de coordenadas en el
mundo real, para superposición de objetos con realidad aumentada, así como fructuosas
aplicaciones en el campo de video vigilancia y seguridad.
84
5.2. Trabajos futuros
El uso de zoom en cada cámara es un factor de gran importancia, que introduce otras
variables al desarrollo de la aplicación, por lo que analizar trabajos en el estado del
arte que cuenten con esta característica es muy importante, así como estudiar sus
implicaciones y verificar sus efectos en el sistema desarrollado.
Por otra parte un trabajo futuro para obtener mayor exactitud al estimar la posición, es
la calibración de cámaras de forma individual, ya que esto permite conocer la relación
entre el giro de la cámara y los píxeles de imagen con mayor precisión.
85
activos, para hacer frente al cambio de forma en la silueta de los seres humanos mientras
se desplazan de un punto a otro, con lo que se reduce el trabajo de cada cámara al
seguimiento del contorno activo.
86
Bibliografía
[1] A. Yilmaz, O. Javed, y M. Shah, “Object tracking: A survey,” Acm computing surveys
(CSUR), vol. 38, no. 4, p. 13, 2006.
[6] Q. Xiaoping, Z. Qiheng, O. Yimin, y M. Jiaguang, “A method for object tracking using
shape matching,” in 2006 IEEE Workshop on Signal Processing Systems Design and
Implementation, Oct 2006, pp. 372–376.
87
[8] M. N. Ali, M. Abdullah-Al-Wadud, y S.-L. Lee, “Multiple object tracking with partial
occlusion handling using salient feature points,” Information Sciences, vol. 278, pp. 448–
465, 2014.
[11] N. Paragios y R. Deriche, “Geodesic active contours and level sets for the detection
and tracking of moving objects,” Pattern Analysis and Machine Intelligence, IEEE
Transactions on, vol. 22, no. 3, pp. 266–280, 2000.
[12] A. K. Mishra, B. Ni, S. Winkler, y A. Kassim, “3d surveillance system using multiple
cameras,” in Electronic Imaging 2007. International Society for Optics and Photonics,
2007, pp. 649 103–649 103.
[14] S. Robla, J. Llata, C. Torre, y E. Sarabia, “An approach for tracking oil slicks by using
active contours on satellite images,” in OCEANS 2009-EUROPE. IEEE, 2009, pp. 1–8.
88
[17] A. Utasi y C. Benedek, “A 3-d marked point process model for multi-view people
detection,” in Computer Vision and Pattern Recognition (CVPR), 2011 IEEE
Conference on. IEEE, 2011, pp. 3385–3392.
[21] C. Benedek, “3d people surveillance on range data sequences of a rotating lidar,” Pattern
Recognition Letters, vol. 50, pp. 149–158, 2014.
89
[26] E. Santillán y C. A. Cruz, “Detección y clasificación de objetos dentro de un salón de
clases empleando técnicas de procesamiento digital de imágenes,” Universidad Autónoma
Metropolitana, México, Tesis de Maestría, 2008.
[36] S. R. Gunn y M. S. Nixon, “Global and local active contours for head boundary
extraction,” International Journal of Computer Vision, vol. 30, no. 1, pp. 43–54, 1998.
90
[37] T. F. Cootes, A. Hill, C. J. Taylor, y J. Haslam, “Use of active shape models for locating
structures in medical images,” Image and vision computing, vol. 12, no. 6, pp. 355–365,
1994.
[38] J. Denzler y H. Niemann, “3d data driven prediction for active contour models with
application to car tracking.” in MVA, 1996, pp. 204–207.
[40] F. Leymarie y M. D. Levine, “Tracking deformable objects in the plane using an active
contour model,” IEEE Transactions on Pattern Analysis and Machine Intelligence,
vol. 15, no. 6, pp. 617–634, 1993.
[43] M. Della Rocca, M. Fiani, A. Fortunato, y P. Pistillo, “Active contour model to detect
linear features in satellite images,” International Archives of Photogrammetry, Remote
Sensing and Spatial Information Sciences, vol. 35, no. B3, pp. 446–450, 2004.
[44] M. Rochery, I. H. Jermyn, y J. Zerubia, “Higher order active contours and their
application to the detection of line networks in satellite imagery,” in Proc. IEEE
Workshop Variational, Geometric and Level Set Methods in Computer Vision, 2003.
91
of a ‘gas of circles’ and its application to tree crown extraction,” Pattern Recognition,
vol. 42, no. 5, pp. 699–709, 2009.
[46] P. Horváth, I. Jermyn, J. Zerubia, y Z. Kato, “A higher-order active contour model for
tree detection,” in 18th International Conference on Pattern Recognition (ICPR’06),
vol. 2. IEEE, 2006, pp. 130–133.
[47] D. J. Williams y M. Shah, “A fast algorithm for active contours,” in Computer Vision,
1990. Proceedings, Third International Conference on. IEEE, 1990, pp. 592–595.
92
[56] C. A. López, “Cátedra de matemática y elementos de matemática,” Universidad nacional
de la Plata, departamento de Matemáticas, Material de clase.
[57] P. Soille, Morphological image analysis: principles and applications. Springer Science
& Business Media, 2013.
93
Apéndices
94
Apéndice A
Validación de trayectorias
95
Figura A.3: Trayectoria en cuadro.
96
Figura A.5: escalones.
97
Figura A.8: Hexágono.
98
Figura A.11: Onda cuadrada.
99
Figura A.14: Rectángulo.
100
Figura A.17: Trayectoria irregular.
101
Figura A.20: Trayectoria con forma de triangulo.
102
Figura A.23: Trayectoria en forma de V.
103
Apéndice B
104
Apéndice C
105
TRAYECTORIA εx εy ECMx ECMy
106
Apéndice D
300K Pixels
Supports Dynamic IP (DDNS) and UPnP LAN and Internet (ADSL, Cable Modem)
107
Supports WPS(Wi-Fi Protected Set-up)
Supports MSN
108