Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2011 MScPCortez PDF
2011 MScPCortez PDF
ESCUELA DE INGENIERIA
Profesor Supervisor:
DOMINGO MERY
Me gustarı́a agradecer a todas las personas que me ayudaron a realizar este trabajo. En
primer lugar, me gustarı́a especialmente agradecer a Cristobal Undurraga por todo el apoyo,
ayuda y trabajos realizado en conjunto, tanto durante el desarrollo de esta tesis, como a lo
largo de mi carrera. Además me gustarı́a dar las gracias a Hans-Albert Löbel y a Christian
Pieringer, por su ayuda en el desarrollo de la aplicación y la grabación de los complejos
videos de prueba. También me gustarı́a agradecer a mi profesor asesor, Domingo Mery por
su constante guı́a, su interminable paciencia y sus buenos consejos que me han permitido
terminar con éxito este trabajo.
iv
INDICE GENERAL
AGRADECIMIENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
INDICE DE TABLAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
RESUMEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
1. INTRODUCCION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Tiempos de espera . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2. Visión por Computador . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Marco Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1. Descriptor de Covarianza . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.2. Naive Bayes Nearest Neighbor . . . . . . . . . . . . . . . . . . . . . 10
1.2.3. Online Multiple Instance Boosting (OMB) . . . . . . . . . . . . . . . 12
2. DISEÑO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3. Metodologı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. MÉTODO PROPUESTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1. Representación de la Imagen . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2. Modelo de Apariencia: Online Naive Bayes Nearest Neighbor (ONBNN) . 21
3.3. Modelo de Movimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4. Detección y reconocimiento de clientes . . . . . . . . . . . . . . . . . . . 26
4. EXPERIMENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
v
4.1. Modelo de apariencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2. Tiempos de espera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5. RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.1. Modelo de apariencia propuesto: Online Naive Bayes Nearest Neighbor
(ONBNN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2. Tiempos de Espera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6. CONCLUSIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.1. Modelo de apariencia propuesto: Online Naive Bayes Nearest Neighbor
(ONBNN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
vi
INDICE DE FIGURAS
3.1 Método para normalizar los parches. Notar que se crea una nueva imagen, de
esta forma se pueden utilizar ventanas de búsquedas con transformaciones afines. 20
5.1 Error (en pı́xeles), cuadro a cuadro, de los centroides para cada secuencia
seleccionada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
vii
5.2 Video Faceocc1; cambios drásticos de apariencia y oclusión parcial. El rectángulo
verde representa el método propuesto ONBNN y el rojo representa el método
OMB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
viii
INDICE DE TABLAS
5.1 Error promedio de la ubicación del centro (en pı́xeles). Los algoritmos comparados
son: OAB con r = 1, ORF, PROST, NN, FragTrack, SemiBoost, OMB y ONBNN.
Los resultados destacados indican los mejores desempeños y los subrayados los
siguientes mejores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Error promedio de la ubicación del centro (en pı́xeles). Los algoritmos comparados
son; OMB (con sus cinco ejecuciones) y ONBNN. Los resultados destacados
indican los mejores desempeños y los subrayados los siguientes mejores. . . . 35
5.3 Error promedio de la ubicación del centro (en pı́xeles). Video con vista superior,
de larga duración donde se siguieron 100 peatones. . . . . . . . . . . . . . . 35
5.4 Resultados del sistema para estimar tiempos de espera. . . . . . . . . . . . . 39
ix
RESUMEN
Las empresas con ventas al por menor, deben lidiar con diversas variables para man-
tener la satisfacción del cliente en niveles aceptables, ya que estas están directamente rela-
cionada con la fidelidad del cliente. Esto toma especial interés en los supermercados o
tiendas de auto servicio, ya que estas deben lidiar con los tiempos de espera, generados
en largas filas formadas por los clientes al momento de pagar por los productos; lo cual
afecta directamente la satisfacción del cliente. Es por esto que, proponemos un sistema
para calcular tiempos de espera en colas de supermercados, a partir de técnicas de visión
por computador, inteligencia de máquina y múltiples vistas. Lo que en definitiva, nos
permitirá proporcionar información necesaria para estimar la cantidad óptima de cajeras
y cajas de atención abiertas, para un momento especı́fico. Para esto proponemos un sis-
tema de seguimiento aplicable a múltiples vistas, sustentado por un nuevo y simple modelo
de apariencia propuesto en este trabajo, llamado Online Naive Bayes Nearest Neighbor; el
cual es robusto a oclusiones parciales prolongadas, a cambios drásticos de apariencia y sólo
necesita un parámetro de configuración. El modelo propuesto está basada en el descriptor
de covarianza (Tuzel, Porikli, & Meer, 2006) y en un clasificador Naive Bayes Nearest
Neighbor (Boiman, Shechtman, & Irani, 2008). Finalmente el sistema de seguimiento ob-
tuvo resultados prometedores, logrando seguir correctamente un 61.1% de los clientes que
ingresaron a la cola de espera y de éstos el error promedio fue de sólo un 2.9%. Además, el
sistema es capaz de detectar automáticamente 100% de los casos cuando el sistema falla, lo
que significa en términos prácticos, que podemos entregar mediciones con mayor precisión
al momento de calcular los promedios. Con respecto al modelo de apariencia propuesto,
éste obtuvo un rendimiento alentador, reduciendo el error promedio (en pı́xeles) un 33.1%
comparado con otros métodos de seguimiento, basados en Online Boosting.
x
ABSTRACT
Retail companies, must deal with different variables to keep customer satisfaction at
acceptable levels, since these are directly related to customer loyalty. This is specially im-
portant in supermarkets or self-service stores, because they must deal with waiting time
generated by long queues formed by customers paying for goods, which directly affects
customer satisfaction. That is why we propose a system using computer vision techniques,
machine intelligence and multiple views, used to calculate the queue waiting times in su-
permarkets. This calculation ultimately allow us to provide the information needed to es-
timate the optimal number of cashiers and open cash register for a specific time. For this,
we propose a tracking system applicable to multiple views, supported by a new and simple
appearance model proposed in this paper, called Online Nearest Neighbor Naive Bayes,
which is robust to prolonged partial occlusions, drastic appearance changes and just needs
one configuration parameter. The proposed model is based on the covariance descriptor
(Tuzel et al., 2006) and a Nearest Neighbor Naive Bayes classifier (Boiman et al., 2008).
Finally, the tracking system obtained a promising performance and was able to correctly
follow a 61.1% of the customers that joined the queue, where the mean error of these was
only a 2.9%. Furthermore, our system is able to automatically detect 100% of cases when
the system fails, which means in practical terms, that we can deliver more accurate mea-
surements at the moment of calculating the average waiting time. Moreover, the proposed
appearance model results were encouraging, reducing the average error (in pixels) a 33.1%
compared with state of the art tracking methods based on Online Boosting.
xi
1. INTRODUCCIÓN
1.1. Motivación
1
se traduce en un desequilibrio transitorio entre oferta y demanda; este problema se pre-
senta permanentemente en la vida diaria. Es por esto que los estudios han establecido una
significativa relación entre teorı́a y la vida cotidiana; los cuales han permitido encontrar
elementos que definen o influyen el comportamiento de una cola (Seow, 2000):
Los clientes llegan por servicio a diferentes tiempos durante el dı́a y se supone que la
llegada es al azar y extendida en el tiempo. Por lo tanto, el comportamiento del patrón de
llegada del cliente y la reacción de los elementos anteriormente descritos determinarán el
alcance de la cola en el sistema. A menudo se asume que en un cola, la tasa de llegada
de los clientes sigue una distribución de Poisson; sin embargo, no todas los procesos de
llegadas se rigen por esta distribución (Seow, 2000).
Entre todos los elementos relacionados con una cola, el tiempo de espera es el aspecto
más relevante, ya que influencia profundamente el comportamiento del cliente. Algunos
podrán optar por no hacer la cola a la vista de la longitud de ésta; otros después de hacer fila
por un tiempo considerable, optarán por salir de ésta y los últimos permanecerán en la cola
esperando, perdiendo su costo de oportunidad. Especı́ficamente en esta tesis, definimos el
tiempo de espera, como el tiempo que un cliente espera en una cola, hasta salir de la caja de
servicio; en el caso que se deseé medir el tiempo que un cliente espera en una cola, antes de
ser atendido, simplemente se debe cambiar la configuración de las cámaras, para que sólo
capten información hasta ese punto.
Los clientes llegan con la intención de utilizar algún servicio provisto por la empresa.
Sin embargo, debido a largas colas y tiempos de espera extensos, no utilizan el servicio.
Esto provoca que los clientes abandonen el recinto, insatisfechos o disgustados. Es un
hecho conocido que la satisfacción del consumidor es un indicador relevante en las orga-
nizaciones, ya que el principal factor que contribuye a éste, es el tiempo de espera. El
2
número de servidores (ej.: cajero/as) influencian directamente el largo de una cola. A
mayor número de servidores, menor el tamaño de la cola y por lo tanto, menor el tiempo de
espera. Colas cortas y tiempos de espera razonables traen satisfacción al cliente; el desafı́o
es encontrar la forma de predecir el número óptimo de servidores, a partir de la tasa de
llegada de los consumidores.
Ahora, cuando una organización tiene una buena gestión, sus objetivos suelen estar
centrados en encontrar una solución entre dos extremos. Por un lado, contratar una nu-
merosa dotación de personal de servicio (ej.: cajero/as) y ofrecer muchas instalaciones de
servicio (ej.: cajas de supermercado); lo cual puede resultar en una excelente atención al
cliente, donde rara vez más de uno o dos clientes estén en una cola. Los clientes estarán
satisfechos con la rápida respuesta y apreciarán la comodidad. Esto sin embargo, puede
ser muy costoso. Por otra parte, el otro extremo es tener al mı́nimo número la dotación de
personal y servidores (ej.: cajas de supermercado) abiertos. Esto mantiene el costo de los
servicios bajos, pero podrán dar lugar a la insatisfacción de los clientes debido a un mal
servicio.
La mayorı́a de los gerentes reconocen el equilibrio que debe existir entre los costos de
proveer un buen servicio y el costo del tiempo de espera del cliente. Ellos quieren que las
colas sean lo suficientemente cortas, para que los clientes estén satisfechos, no abandonen
la cola sin haber sido atendido y estén dispuestos a regresar. Pero al mismo tiempo están
dispuestos a permitir cierto tiempo de espera, si se compensa con un ahorro significativo
en los costos del servicio.
3
1.1.2. Visión por Computador
En el campo de visión por computador, los objetivos básicos para construir un apli-
cación son; seguir, detectar y reconocer objetos presentes en diversas escenas de la vida
real; lo cual es un desafı́o que todavı́a no se logra solucionar en su totalidad. Gracias a los
avances e investigaciones de los últimos años se han podido obtener múltiples aplicaciones
de detección, reconocimiento y seguimiento en muchas áreas distintas. Éstas incluyen
video juegos, asistencia para conductores, edición de video, control de calidad, control de
tránsito, vigilancia, seguridad, tracking, etc. Por dar algunos ejemplos (Figura 1.1): en
asistencia para conductores existen aplicaciones donde se le advierte al conductor si se está
quedando dormido, basándose en reconocimiento de expresiones (Ji, Zhu, & Lan, 2004);
en control de calidad existen aplicaciones las cuales pueden definir si un producto está en
perfecto estado o no, a partir de las caracterı́sticas (tamaño, forma, color, etc.) de la imagen
obtenida (Pedreschi, Mery, Mendoza, & Aguilera, 2004); por último, en el área de seguri-
dad y vigilancia existen aplicaciones las cuales, a partir del video de seguridad, detectan
objetos o comportamientos extraños, tales como robos, violencia o bombas (Nguyen, Bui,
Venkatsh, & West, 2003).
Actualmente, para lograr estas tareas se utilizan distintas técnicas, a través de las cuales
se obtiene información relevante de las imágenes o videos, conocidos como descriptores
o caracterı́sticas (Mikolajczyk & Schmid, 2005). Un descriptor debe ser idealmente dis-
criminativo, robusto y fácilmente computable. Existe una gran variedad de descriptores,
4
a) b) c)
algunos enfocados a ser calculados rápidamente, mientras que otros, en obtener la mayor
información posible. Por otra parte existen algoritmos que detectan regiones relevantes
e invariantes al tamaño, luminosidad y perspectiva, de esta forma se calculan las carac-
terı́sticas sólo a estas regiones relevantes y no a toda la imagen, esta tecnologı́a se conoce
en inglés como viewpoint invariant segmentation (Kadir, Zisserman, & Brady, 2004; Sivic,
Schaffalitzky, & Zisserman, 2004). Es por esto que, la selección de caracterı́sticas es uno
de los pasos más importantes en el problema de detección, reconocimiento y seguimiento
de objetos; además es el punto de partida para construir cualquier aplicación de visión por
computador.
5
una variedad de métodos para crear el modelo de apariencia y muchos de éstos utilizan in-
formación estadı́stica, la cuales puede ser definida manualmente o entrenada a partir del
primer cuadro (Adam, Rivlin, & Shimshoni, 2006). Estos métodos son simples pero ge-
neralmente tienen grandes dificultades cuando el objeto seguido cambia significativamente
de apariencia en el tiempo. Esto llevó al desarrollo de métodos especı́ficos capaces de
adaptar el modelo a medida que el objeto cambia de apariencia; estos modelos son cono-
cidos como Adaptive Appearance Model (Wu, Cheng, Wang, & Lu, 2009; Porikli, Tuzel,
& Meer, 2006). Existe un tercer método, donde el modelo de apariencia se rige a partir
de clasificadores débiles entrenados online, que detectan el objeto seguido y/o el fondo.
Este método conocido como Tracking by Detection (Babenko, Yang, & Belongie, 2009;
Grabner, Grabner, & Bischof, 2006), debe equilibrar entre la estabilidad del tracking y la
rapidez que aprenden los clasificadores.
6
un nuevo modelo de apariencia dinámico y el modelo de apariencia Online Multiple In-
stance Boosting se empleará principalmente de comparación.
Tuzel et al. (2006) propusieron una elegante solución para integrar múltiples carac-
terı́sticas, las cuales son simples y rápidas de calcular; como gradiente, color, posición o
intensidad, inclusive se pueden utilizar caracterı́sticas de cámaras infrarrojas o térmicas.
En comparación a otros descriptores como Haar (Viola & Jones, 2001) o gradientes de
histograma, este descriptor otorga mucho más información y tiene la ventaja que no está
sujeto al tamaño de la ventana de búsqueda. La región de covarianza se ha utilizado en
distintas aplicaciones y se han propuesto diversas mejoras y complementos, por ejemplo:
Tuzel, Porikli, and Meer (2008) y Yao and Odobez (2008) proponen utilizar el descriptor
de covarianza más un clasificador LogitBoost, para la detección de peatones; Hu and Qin
(2008) proponen utilizar el filtro partı́culas, para el seguimiento de objetos, utilizando como
peso de las partı́culas, métricas de la matriz de covarianza; Porikli et al. (2006) proponen
un algoritmo para seguir objetos utilizando la región de covarianza y álgebra de Lie para
crear un modelo de actualización.
donde I es una imagen (la cual puede estar en RGB, blanco y negro, infrarrojo, etc.), F es
una matriz de W × H × d, donde W es el ancho de la imagen, H el alto de la imagen y d es
el número de sub-caracterı́sticas utilizadas y φi es la función que relaciona la imagen con
la i-ésima sub-caracterı́stica, es decir la función que obtiene la i-ésima sub-caracterı́stica a
partir de la imagen I. Es importante destacar que las sub-caracterı́sticas se obtienen a nivel
del pı́xel.
7
positiva, dependiendo de la relación entre ellas. En nuestro caso las variables aleatorias
representaran las sub-caracterı́sticas. En la matriz de covarianza las diagonales representan
la varianza de cada sub-caracterı́stica, mientras que el resto representa la correlación entre
las caracterı́sticas.
A pesar de todos los beneficios que trae la representación del descriptor a partir de
la matriz de covarianza, el cálculo para cualquier sub-ventana o región dado una imagen,
utilizando los métodos convencionales, la hace computacionalmente prohibitiva. Tuzel et
al. (2006) proponen un método computacionalmente superior, para calcular la matriz de
covarianza de cualquier sub-ventana o región (rectangular) de una imagen a partir de la
formulación de la imagen integral; concepto inicialmente introducido por Viola and Jones
(2001), para el cómputo rápido de caracterı́sticas de Haar. A continuación explicaremos
como se realiza este cálculo:
8
F IGURA 1.2. Ejemplo de cómo se construye el descriptor de covarianza de una
región, a partir de una imagen pasando por la creación de la matriz de carac-
terı́sticas.
Q(x, y, 1, 1) . . . Q(x, y, 1, d)
.. .. ..
Qx,y = . . . (1.5)
Q(x, y, d, 1) . . . Q(x, y, d, d)
De esta forma la covarianza de cualquier región de la imagen se calcula de la siguiente
manera:
RQ = Qx� ,y� + Qx�� ,y�� − Qx�� ,y� − Qx� ,y�� (1.6)
9
ejemplo: vecinos cercanos, distancia de Mahanalobis, etc. Por otra parte, las matrices de
covarianza son simétricas positivas definidas, las cuales están incluidas dentro de la álgebra
de Lie o el espacio de Riemann (Tuzel et al., 2008). En la geometrı́a de Riemann, el es-
pacio de Riemann es un espacio topológico con métricas Riemanianas, las cuales permiten
generalizar el espacio Euclidiano (Rossmann, 2002).
Los clasificadores no paramétricos tienen relevantes ventajas, las cuales no son compartidas
por la mayorı́a de los enfoques que utilizan Learning-based Classifiers. Primero, pueden
manejar naturalmente un gran número clases. Segundo, evitan el sobre entrenamiento de
parámetros, lo cual es uno de los problemas centrales en los Learning-based Classifiers.
Finalmente, no requieren entrenamiento.
A pesar de todas estas ventajas, en el área de clasificación de imágenes, existe una gran
brecha de rendimiento entre los métodos que utilizan el enfoque Nearest Neighbor Classi-
fier y los métodos, en el estado del arte, que utilizan Learning-based Classifiers. Según
10
Boiman et al. (2008), la degradación de los métodos no paramétricos en la clasificación de
imágenes, sucede principalmente por dos prácticas comunes:
11
donde casi todos los descriptores son más bien aislados en el espacio, por tanto, muy lejos
de la mayorı́a de los descriptores en la base de datos. Finalmente el algoritmo, a partir de
un imagen de entrada, calcula todos los descriptores locales d1 ...dn . Luego busca la clase
�
C que minimice ni=1 ||di − N NC (di )||2 , donde N NC (di ) representa el descriptor en la
clase C especı́fica, más cercano a di , según vecinos más cercanos. El método puede ser
resumido por el algoritmo 1.
Babenko et al. (2009) proponen un nuevo algoritmo de Online Boosting para el proble-
ma de Multiple Instance Learning o MIL, el cual utiliza un enfoque estadı́stico de Boosting,
que intenta optimizar una función de pérdida (o ganancia) J especı́fica. En este enfoque
los clasificadores débiles son seleccionados secuencialmente para optimizar el siguiente
criterio:
(hk , αk ) = arg max J(Hk−1 + αh) (1.9)
h∈H,α
Donde Hk−1 es un clasificador fuerte construido a partir de los (k−1) clasificadores debiles
y H es el conjunto de todos los posibles clasificadores débiles. En los algoritmos de Boost-
ing con aprendizaje previo, la función objetivo J es calculada a través de todo el conjunto
de datos de entrenamiento. En este caso, para cada cuadro del video, se utiliza un set de
entrenamiento {(X1 , y1 ), (X2 , y2 ), . . . }, donde Xi = {xi1 , xi2 . . . } es una conjunto (bag)
12
de muestras e yi es la clase o etiqueta. Además, el modelo de apariencia incluye un clasifi-
cador discriminativo, el cual es capaz de resolver p(y = 1|x), donde x es un parche de la
imagen e y es una variable binaria que indica la presencia del objeto de interés en el parche
x. Ahora, para actualizar o estimar p(y = 1|x), se debe maximizar la log verosimilitud de
estos datos. De esta forma, la probabilidad se modela como:
Donde σ = 1
1+e−x
es la función sigmoidal y las probabilidades del conjunto de muestra
p(yi |Xi ) son modeladas usando la función NOR (1.11).
�
p(yi |Xi ) = 1 − (1 − p(yi |xij )) (1.11)
j
�
log L = (log(p(yi |Xi ))) (1.13)
i
El método puede ser resumido por el algoritmo 2.
13
Algoritmo 2: Online Multiple Instance Boosting (OMB)
Data: Conjunto {Xi , yi }N
i=1 , donde Xi = {xi1 , xi2 , . . . }, yi ∈ {0, 1}
�
Result: Clasificador H(x) = k hk (x), donde p(y = 1|x) = σ(H(x))
Actualizar los M clasificadores débiles del conjunto, con {xij , yi };
Inicializar Hij = 0 para todos los i, j;
for k = 1 to K do
for m = 1 to M do
pm
ij = σ(Hij + hm (xij ));
�
pm
i = 1−
m
j (1 − pij );
�
Lm = i (yi log(pm m
i ) + (1 − yi )log(1 − pi ));
end
m∗ = arg maxm Lm ;
hk (x) ← hm∗ (x);
Hij = Hij + hk (x);
end
A partir del marco teórico aquı́ presentado, podemos concluir que usando técnicas de
el estado del arte en el área de visión por computador, es posible representar, reconocer
y seguir un objeto presente en una imagen. Esto nos permitirá cumplir con los objetivos
planteados en esta tesis.
14
2. DISEÑO
2.1. Hipótesis
La hipótesis de este trabajo es que a partir de técnicas de visión por computador, in-
teligencia artificial y múltiples vistas; tales como el descriptor de covarianza y el modelo
de apariencia Naive Bayes Nearest Neighbor, es posible medir tiempos de esperas, en un
cola formada en una caja de servicio de un supermercado.
2.2. Objetivos
El objetivo general de este trabajo es medir tiempos de esperas de los clientes, a me-
dida que avanzan a través de una cola de espera, formada en una caja de servicio de un
supermercado. Especı́ficamente nuestro objetivo es desarrollar un sistema de seguimiento
de rostros suficientemente preciso, tal que nos permita seguir al cliente, a lo largo de la cola
de espera; lo cual nos proporcionará el tiempo de espera del cliente. Debido a que las colas
son recurrentemente largas, nuestra solución implica un sistema dos cámaras sincronizadas,
una a la entrada de la cola y otra a la salida. De esta forma, nuestro sistema deberá ser capaz
de asociar la información de ambas cámaras para obtener mediciones precisas.
15
F IGURA 2.1. Configuración de las dos cámaras de video en una caja de superme-
rcado. La primera cámara controla el ingreso de los clientes a la cola y la segunda
controla la salida del cliente.
2.3. Metodologı́a
Con el fin de cumplir nuestros variados objetivos hemos diseñado dos experimentos
independientes (2.2). El primero, está divido en tres sub-experimentos, estará dirigido es-
pecı́ficamente a medir la precisión y rendimiento del modelo propuesto. De esta forma, el
primer sub-experimento estará enfocado en comparar el modelo de apariencia propuesto
con un método en el estado del arte en el Online Boosting; el segundo sub-experimento
tendrá nuevamente como objetivo comparar modelo de apariencia propuesto, pero con
un conjunto siete algoritmos de seguimiento en el estado del arte; y finalmente el tercer
sub-experimento tendrá como objetivo probar el modelo propuesto en diferentes escenas
16
F IGURA 2.2. Diagrama general del trabajo realizado.
y situaciones extremas. Para esto utilizaremos catorce videos, los cuales, para facilitar la
explicación, los separaremos en tres grupos.
El primer grupo incluye nueve videos públicos utilizados en los principales y más mo-
dernos trabajos respecto al seguimiento de objetos, para las pruebas de comparación. Cada
video tendrá la información relacionada a la posición real del objeto seguido para cada
cuadro (ground truth); además tendrán diferentes resoluciones, frecuencias y podrán ser
tanto blanco y negro, como a color. Para la comparación se utilizarán siete algoritmos, en
el estado del arte (Grabner et al., 2006; Grabner, Leistner, & Bischof, 2008; Adam et al.,
2006; Babenko et al., 2009; Saffari, Leistner, Santner, Godec, & Bischof, 2010; Santner,
Leistner, Saffari, Pock, & Bischof, 2010; Gu, Zheng, & Tomasi, 2010), relacionados con
el área de seguimiento. El segundo grupo incluye cuatro videos realizados especı́ficamente
para esta tesis. Los videos fueron captados en una resolución de 640×480, a 30 cuadros por
17
segundo, en un supermercado local (Santiago, Chile) con cámaras Point Grey y describen
escenas con fondos complejos, peatones y oclusiones extremas. Estos videos no incluyen
información respecto a la posición real del objeto seguido para cada cuadro; ni comparación
con otros algoritmos. El tercer y último grupo es un video de larga duración capturado
desde una perspectiva superior (top view)1 , el cual describe el transito de peatones. Cada
peatón incluye información respecto a su posición real para cada cuadro, pero al igual que
el segundo conjunto éste no tendrá comparación con otros algoritmos.
1
BIWI Walking Pedestrians Datasets - http://www.vision.ee.ethz.ch/datasets/index.en.html
18
3. MÉTODO PROPUESTO
19
F IGURA 3.1. Método para normalizar los parches. Notar que se crea una nueva
imagen, de esta forma se pueden utilizar ventanas de búsquedas con transforma-
ciones afines.
Cabe destacar que en nuestro caso, no calculamos los tensores de toda la imagen, sino
que sólo de los parches que nos interesan; en contraste al método original propuesto por
Tuzel et al. (2006). De esta forma podemos utilizar ventanas de búsqueda rotados o con
transformaciones afines. El proceso incluye extraer el parche deseado (a fin de calcular
el descriptor) desde la imagen original, crear una nueva imagen y transformar la imagen
a un tamaño fijo de 20 × 20 pı́xeles, para objetos simétrico (rostros) y 20 × 40 pı́xeles,
para casos asimétricos (peatones). Por otra parte, aunque el descriptor de covarianza tiene
un grado de invariabilidad a cambios de escala, éste no es suficiente para casos extremos;
es por esto que al utilizar un tamaño fijo para la nueva imagen, añadimos un nivel más de
normalización a cambios de escala (Figure 3.1).
20
como:
ρ(X, Y) = �log(X) − log(Y)� (3.2)
Donde log(X) es el mapa logarı́tmico de la matriz de covarianza, que está definido por la de-
scomposición de valores singulares de la matriz X. Sea la descomposición de valores singu-
lares de X, SV D(X) = UΣUT , donde U es una matriz ortonormal y Σ = Diag(λ1 , ...., λn )
es una matriz diagonal de valores propios. Por lo tanto, el mapa logarı́tmico se define como:
En este trabajo proponemos un nuevo modelo de apariencia conjunto que logra mezclar
tanto los modelos adaptivos como por detección, llamado Online Naive Bayes Nearest
Neighbor; el cual utiliza un clasificador Naive Bayes Nearest Neighbor (Boiman et al.,
2008) y el descriptor de covarianza (Tuzel et al., 2006).
Cada muestra está representada por cuatro caracterı́sticas de covarianza, donde cada
descriptor representa uno de los cuatro cuadrantes de la imagen (Figura 3.2). De esta forma
el modelo de apariencia se define como M (q, i); donde q = 1, 2, 3, 4 representa uno de los
cuatro cuadrantes, i = 1, . . . , mq es el número de la muestra para el cuadrante q especı́fico,
mq es el número de muestras totales almacenadas en modelo para el cuadrante q y M (q, i)
es el descriptor de covarianza del cuadrante q para la muestra i. Notar que las muestras son
especı́ficas para cada cuadrante, pero éstas deben ser menor o igual a N (Figura 3.3).
21
F IGURA 3.2. Distribución de los cuatro cuadrantes a los cuales se le calcula el
descriptor de covarianza.
22
Donde utilizamos la métrica definida en (3.2), ya que M (q, i) y P (k) son matrices de
covarianza. Además agregamos información espacial pérdida al utilizar los parches y no
la imagen completa, para calcular la matriz de covarianza, donde ZM (q, i) y ZP (q) son
la posición (x, y) del centro del parche, con respecto a la imagen original, que representa
M (q, i) y P (q) respectivamente y λ es el factor de relevancia de la distancia euclidiana en
el modelo. De esta forma, agregamos la distancia euclidiana relativa a la imagen (distancia
en pı́xeles), entre los centros de los cuadrantes de la muestra y del modelo.
M (q ∗ , j) = P ∗ (q ∗ ) (3.8)
23
la muestra (del cuadrante q) en el modelo y la ecuación (3.9) guarda la distancia prome-
dio de la muestra al modelo. Esta información es utilizada para definir el protocolo de
actualización (3.7).
Debido a que el modelo debe ser online, no es posible agregar infinitas muestras, por
lo tanto definimos N , como la memoria del modelo; en nuestras pruebas le asignamos un
valor de 30. Con el fin de otorgar cierta flexibilidad, al momento de actualizar un cuadrante
con N muestra en memoria, la muestra con mayor distancia promedio es eliminada y la
nueva muestra es agregada. La distancia que conforma el ranking de muestras es calculado
y almacenado cuando la nueva muestra es agregado al modelo. De esta forma evitamos
que el modelo se confunda en oclusiones parciales prolongadas, pero damos un “umbral de
aprendizaje” que otorga estabilidad.
Al momento de inicializar el modelo, los cuatro cuadrantes del parche inicial son
guardados, con distancia promedio al modelo igual a 0. Para más detalle referirse al al-
goritmo 3, el cual recibe un conjunto de parámetros que describen un conjunto de ventanas
de búsqueda, donde (xk , yk ) representa el centro, (wk , hk ) representa el ancho y el largo y
θl representa la rotación, de la ventana. Finalmente, el algoritmo devuelve la configuración
de los parámetros, que obtiene menor distancia al modelo.
24
Algoritmo 3: Online Naive Bayes Nearest Neighbor
Data: {xk , yk , wk , hk , θk }K
k=1 , M , R
end
M (q ∗ , j) = P ∗ (q ∗ );
R(q ∗ , j) = ω(M, P ∗ , q ∗ );
Para poder destacar la real contribución del modelo de apariencia propuesto, utilizamos
un modelo de movimiento muy simple, que realiza una búsqueda exhaustiva local a múltiples
escalas en un área menor incluida en la última posición estimada.
25
F IGURA 3.4. Descripción del modelo de movimiento. El rectángulo verde rep-
t−1
resenta el último parche seguido Ox,y,w,h , el rectángulo rojo representa el área de
búsqueda Sx,y,w,h y los rectángulos azules representan las muestras Tx,y,w,h
t t
En el área Sx,y,w,h
t
se busca exhaustivamente a partir del parche Tx,y,w,h
t
; donde los centros
t
Tx,y,w,h son las coordenadas de cada pı́xel, dentro del área de búsqueda Sx,y,w,h
t
y βn es una
lista de escalares (Figura 3.4).
t
Tx,y,w,h = Sxt p ,yp ,wβn ,hβn (3.11)
Finalmente, al momento t, se selecciona el parche Txtn ,yn ,wn ,hn con menor distancia al mo-
delo de apariencia. Notar que el modelo de movimiento es totalmente independiente al
modelo de apariencia.
El detector de rostros propuesto por Viola and Jones (2001) utiliza las caracterı́sticas
simples de Haar, la imagen integral y un detector en cascada (Boosting) para detectar
todos los rostros presentes en una imagen. En nuestro caso, utilizamos la implementación
26
provista por OPENCV1 y dos conjuntos de pesos para las cascadas; uno para rostros de
perfil y otro para rostros frontales, con los siguientes parámetros de configuración:
for k = 1 to K do
I = getImage(xk , yk , wk , hk , 0); // Nueva imagen deformada con θ = 0
Pk = getCovarianceDescriptors(I);
dk = d(M, Pk ); // ecuación (3.4)
end
k ∗ = arg mink dk ;
1
Open Source Computer Vision Library - http://opencv.willowgarage.com
27
F IGURA 3.5. Diagrama del proceso de detección y reconocimiento de rostros entre cámaras
28
4. EXPERIMENTOS
Para alcanzar los objetivos propuestos en este trabajo, hemos diseñado dos experimen-
tos independientes. El primero estará orientado en cuantificar el rendimiento del nuevo
modelo de apariencia. El segundo estará dirigido a medir la precisión del cálculo del tiempo
de espera de los clientes, a medida que avanzan en una cola.
29
para el muestreo de ejemplares negativas fijo en 50. Además, debido a que el
algoritmo tiene una fuerte dependencia a la construcción al azar de las carac-
terı́sticas de Haar utilizaremos cinco intentos con la misma configuración, para
cada video.
(v) Online Random Forests (ORF): propuesto por Saffari et al. (2010), es un al-
goritmo que combina las ideas de muestreo online, bosques (forest) extremada-
mente aleatorios y procedimientos para el crecimiento de árboles de decisión
online; además incluye un esquema temporal de pesos para descartar algunos
árboles.
(vi) Parallel Robust Online Simple Tracking (PROST): propuesto por Santner et al.
(2010), es un algoritmo que combina en una cascada, un simple modelo basado
en plantillas, un novedoso sistema de optical flow basado en MeanShift y un
modelo de apariencia basado en un online Random Forest.
(vii) Efficient Visual Object Tracking with Online Nearest Neighbor Classifier (NN):
propuesto por Gu et al. (2010), es un algoritmo, con el enfoque de tracking by
detection, que combina un clasificador de vecinos más cercanos, búsqueda efi-
ciente de ventanas y un novedoso método de selección y poda de caracterı́sticas.
(viii) Online Naive Bayes Nearest Neighbor (ONBNN): para nuestro método prop-
uesto, el valor de los parámetros para todos los experimentos son: λ = 0.05 ,
α = 2.5, βn = {0.8, 1, 1.1, 1.3} y N = 30.
1
Tracking With Online MIL Research Page - http://www.vision.ucsd.edu/∼bbabenko/project miltrack.shtml
2
PROST Research page - http://gpu4vision.icg.tugraz.at/index.php?content=subsites/prost/prost.php
30
mejor intento para cada video especifico, del algoritmo Online Multiple Instance Boost-
ing (obtenida en el primer experimento). Cabe destacar que, la información de la posición
real del centro del objeto seguido (ground truth), cada cinco cuadros, será proveı́da por
Babenko et al. (2009) y por (Santner et al., 2010). Adicionalmente realizaremos un tercer
experimento con un grupo de videos privados y públicos, sin utilizar algoritmos de com-
paración. Este conjunto de videos incluye seguimiento de peatones, escenas con complejos
fondos o background y videos con vista superior o top view3 .
Finalmente, para medir del desempeño, utilizamos un error (en pı́xeles) promedio de la
ubicación del centro; la cual calcula para cada cuadro, la norma euclidiana entre el centro
de la posición estimada y la posición real del centro del objeto seguido (4.1). Además, la
posición, en el primer cuadro del video, del objeto a seguir será ingresada manualmente,
por algún usuario.
n
1�
e= g
�Ox,y − Ox,y � (4.1)
n i=1
Primero diseñamos una distribución especı́fica para las cámaras situadas en la caja de
servicio (Figura 4.1), de tal forma que cubra el mayor campo visual posible. Esta configu-
ración consta de dos cámaras; la primera situada en la parte superior final de la caja y la
segunda situada aproximadamente a un 1.20 metros de altura, justo antes de comenzar la
caja registradora. Esta configuración de dos cámaras permite seguir a través de la fila, al
cliente, de tal forma que si sale del campo visual de la primera cámara, el cliente aparecerá
3
BIWI Walking Pedestrians Datasets - http://www.vision.ee.ethz.ch/datasets/index.en.html
31
(a) Vista Superior (b) Vista Lateral
en la segunda. Por otra parte, se privilegió esta distribución, ya que disminuye la oclusión
al momento que la cola de espera crece.
Algoritmo 5: Criterio entrada y salida Cliente
Data: frames, rectEstimado
Result: estado del cliente en la cámara
while frames.next ! = NULL do
if frames.next es de la cámara 1 then
if rectEstimado.center.x < inLimit then
return cliente entro a la cola de espera;
else if rectEstimado.topLeft.x < outLimit then
return cliente salió de la cámara;
end
else
if rectEstimado.topLeft.x < outLimit then
return cliente salió de la caja;
end
end
end
32
estime que un cliente salió de la primera cámara, comenzara automáticamente a seguirlo
en la segunda cámara, sin embargo si el sistema estima que salió de la segunda cámara, se
estimará que el cliente salió de la fila.
Finalmente, para comparar los resultados se hará una medición manual de los mismos
clientes seguidos por el sistema, utilizando el mismo criterio descrito anteriormente (Al-
goritmo 5). Esto quiere decir que en el caso que un cliente pase el umbral de salida, se le
terminará el tiempo de espera, inclusive si llegara a devolverse a la caja.
33
5. RESULTADOS
5.1. Modelo de apariencia propuesto: Online Naive Bayes Nearest Neighbor (ONBNN)
34
TABLA 5.1. Error promedio de la ubicación del centro (en pı́xeles). Los algorit-
mos comparados son: OAB con r = 1, ORF, PROST, NN, FragTrack, SemiBoost,
OMB y ONBNN. Los resultados destacados indican los mejores desempeños y los
subrayados los siguientes mejores.
TABLA 5.2. Error promedio de la ubicación del centro (en pı́xeles). Los algorit-
mos comparados son; OMB (con sus cinco ejecuciones) y ONBNN. Los resultados
destacados indican los mejores desempeños y los subrayados los siguientes
mejores.
TABLA 5.3. Error promedio de la ubicación del centro (en pı́xeles). Video con
vista superior, de larga duración donde se siguieron 100 peatones.
ONBNN
# Frames 1193
# Peatones 100
Error Prom. (pı́xel) 5.70
Error Máx. (pı́xel) 188.49
Ahora, comparado con un algoritmo en el estado del arte en el área de Online Boosting,
tal como el propuesto por Babenko et al. (2009), nuestro modelo obtuvo mejores resultados
(Tabla 5.2, Figura 5.1). En resumen, nuestro método logra disminuir un 33.1% el error
promedio (en pı́xeles), en comparación a la mejor combinación de los cinco intentos (para
cada video) del algoritmo Online Multiple Instance Boosting (Babenko et al., 2009).
35
F IGURA 5.1. Error (en pı́xeles), cuadro a cuadro, de los centroides para cada se-
cuencia seleccionada.
36
F IGURA 5.2. Video Faceocc1; cambios drásticos de apariencia y oclusión parcial.
El rectángulo verde representa el método propuesto ONBNN y el rojo representa el
método OMB.
Por otra parte, la memoria N del modelo fue seleccionada a partir de pruebas empı́ricas.
El modelo de apariencia con N > 30 tiende a resultados promedios similares al modelo
con N = 30; no ası́ cuando N < 30, el modelo tiene un comportamiento errático por la
poca capacidad de aprender la apariencia del objeto. En nuestros experimentos, cuando
N < 30 el modelo utiliza principalmente la última caracterı́stica seleccionada para hacer
la clasificación.
Finalmente los resultados fueron satisfactorios. El modelo Online Naive Bayes Near-
est Neighbor propuesto, obtuvo un buen desempeño en videos con grandes cambios de
apariencia (Figuras 5.2 y 5.5), rápidos movimientos (Figura 5.3) y oclusiones parciales del
objeto. Además, obtuvimos excelentes resultados en los videos con vista superior (Figura
5.7), nuestro método obtiene un error promedio de 5.70 pı́xeles (Tabla 5.3) y logra seguir
correctamente 99% de los peatones; lo cual se debe principalmente al descriptor de cova-
rianza y a la nula oclusión inherente a la posición de la cámara. No obstante, obtuvimos
pobres resultados en los casos donde existe completa oclusión y movimientos erráticos
(Figura 5.4); lo cual se debe principalmente al simple modelo de movimiento utilizado.
Para ver todos videos de prueba generados dirigirse a http://www.youtube.com/pcortez .
Luego de realizar los experimentos y comparar los tiempos estimados con los reales
(sujeto a la restricción planteada en la metodologı́a), los resultados (Figura 2.1 y Tabla 5.4)
37
F IGURA 5.3. Video Surfer; movimientos rápidos y cambios drásticos de aparien-
cia. El rectángulo verde representa el método propuesto ONBNN y el rojo repre-
senta el método OMB.
son los siguientes: de los 36 clientes seguidos, un 61.11% fue correctamente seguido a
medida que avanzaba en la cola. A partir del 61.11% correctamente seguido, se obtuvo
un tiempo promedio estimado de espera de 75.82 segundos, lo cual en comparación a los
tiempos reales es un error promedio de 2.25 segundos; lo que nos darı́a un error de 2.93%.
Adicionalmente, la desviación estándar del error es de 0.64 y el error máximo es de 11.96
segundos.
38
TABLA 5.4. Resultados del sistema para estimar tiempos de espera.
# Cliente Correcto Tiempo Estimado (seg) Tiempo real (seg) Error (seg)
1 T 51.48 52.0 0.52
2 T 31.84 32.0 0.16
3 T 21.92 22.0 0.08
4 T 18.72 20.0 1.28
5 T 19.21 20.0 0.79
6 T 10.60 11.0 0.40
7 F - - -
8 T 25.64 27.0 1.36
9 F - - -
10 T 44.72 45.0 0.28
11 T 27.00 28.0 1.00
12 F - - -
13 T 208.20 217.2 9.00
14 F - - -
15 F - - -
16 F - - -
17 F - - -
18 F - - -
19 F - - -
20 F - - -
21 T 101.92 104.0 2.08
22 T 44.72 46.0 1.28
23 T 51.24 52.0 0.76
24 T 32.64 33.0 0.36
25 T 82.88 84.0 1.12
26 T 37.68 36.0 1.68
27 T 41.48 43.0 1.52
28 F - - -
29 T 277.96 266.0 11.96
30 F - - -
31 F - - -
32 F - - -
33 T 223.32 230.0 6.68
34 T 49.32 50.0 0.68
35 T 229.32 232.0 2.68
36 T 36.12 40.0 3.88
Promedio T 75.82 76.83 2.25
39
(a)
(b)
F IGURA 5.6. Video board; donde (a) representa el seguimiento con la ventana
inicial corregida y (b) no. El rectángulo verde representa el método propuesto
ONBNN.
F IGURA 5.7. Video con una perspectiva superior o top view. El rectángulo verde
representa el método propuesto ONBNN.
Ahora, el error de los 14 clientes que no pudieron ser seguidos a través de la cola,
se debe principalmente a dos problemas. Primero, el detector de rostros propuesto por
Viola and Jones (2001) no logra detectar el rostro del cliente (en el momento de pasar de la
primera a la segunda cámara) en todos los casos; esto incluye que el rostro esté ocluido, el
cliente esté en una posición extraña (perfil o de espalda) y que el detector simplemente no
detecte el rostro; y segundo, que el cliente salga inesperadamente antes de terminar, de la
cola. Sin embargo, cabe destacar, que en un 100% de estos clientes, el sistema estimó un
tiempo de espera igual al tiempo total del video, lo que permitió fácilmente distinguirlos en
40
la muestra total de clientes. Es decir, nuestro sistema es capaz de detectar automáticamente
cuando el sistema de seguimiento falla, lo que significa en términos prácticos, que podemos
entregar mediciones 100% confiables. Esto ocurre en 6 de cada 10 personas, lo que para la
estimación de tiempos de espera en colas de supermercado es más que suficiente.
Finalmente, los resultados obtenidos fueron satisfactorios a pesar de que los videos
tenı́an una serie de complejas situaciones (clientes con sombrero, personas de espalda,
etc). Los tiempos promedios de espera estimados tuvieron un error de sólo 2.93%. Adi-
cionalmente, a pesar de que sólo un 61.11% de los clientes fue seguido correctamente; el
porcentaje restante pudo ser automáticamente identificado, proporcionando mayor calidad
en las estimaciones.
41
6. CONCLUSIONES
En este trabajo hemos demostrado que es posible medir tiempos de espera, en un cola
formada en una caja de servicio de un supermercado, a partir de técnicas de visión por
computador, inteligencia artificial y múltiples vistas. Para esto, hemos construido un pre-
ciso sistema de seguimiento de rostros, el cual nos permitió estimar el tiempo de espera
del cliente. Este sistema se sustentó, en el nuevo modelo de apariencia propuesto; Online
Naive Bayes Nearest, el cual fue el principal aporte de esta tesis. Por otra parte, en términos
prácticos pudimos estudiar extensamente las ventajas y desventajas de la configuración lat-
eral de las cámaras, en comparación a una configuración top view.
6.1. Modelo de apariencia propuesto: Online Naive Bayes Nearest Neighbor (ONBNN)
Los resultados obtenidos, por parte del algoritmo Online Naive Bayes Nearest Neigh-
bor, fueron muy alentadores, como podemos observar en la Tabla 5.1, nuestro método pro-
puesto logra seguir correctamente el objeto seis de los ocho videos utilizados (incluyendo
el video board con ventana inicial corregida). Además, nuestro método logra superar en
todos los casos, los métodos basados en online Boosting (Tabla 5.2). Especı́ficamente, el
algoritmo de SemiBoost descarta gran cantidad de información relevante al dejar todas las
imágenes extraı́das sin etiquetar, excepto por las del primer cuadro. Esto conduce a malos
resultados en los casos de cambios significativos de apariencia. Ası́ mismo el algoritmo
de Online Multiple Instance Boosting es particularmente bueno en lidiar con oclusiones
parciales rápidas, no ası́ con oclusiones parciales prolongadas.
42
Cabe destacar que el método de apariencia propuesto es muy simple en comparación
a los cuatro algoritmos anteriores, ya que necesita sólo un parámetros de configuración,
además del hecho que el valor es generalmente muy estable a pesar de las diferentes escenas
(λ = 0.05).
43
6.3. Configuración de las cámaras de video
A partir de información empı́rica acumulada, nos pudimos dar cuenta que distribuir
las cámaras desde una perspectiva lateral, en comparación a una perspectiva superior o top
view, tiene como ventaja la posibilidad de capturar mayor información visual del cliente
a seguir. Esto se debe a la poca superficie que ocupa un cliente desde la vista superior;
no ası́ en desde una vista lateral. De esta forma, el cliente puede ser representado por una
imagen de alta calidad (en comparación a una vista superior) de su rostro, lo cual tiene
una gran cantidad de información visual; en contraste desde la vista superior, el cliente es
representado por una imagen de baja calidad (ya que está a una distancia mucho mayor del
cliente), de sus hombros y parte superior de la cabeza, lo cual entrega una cantidad limitada
de información visual, haciendo particularmente difı́cil la tarea de reconocer (no ası́ la de
seguir). No obstante la perspectiva superior tiene menor información visual, esta incluye
una variedad de ventajas, tales como:
(i) Bajo el supuesto de seguir clientes (ergo personas), desde una vista superior es
muy poco probable que se produzcan oclusiones lo cual facilita enormemente el
seguimiento.
(ii) Evita problemas de tamaño producidos por perspectivas forzadas (cambios drásticos
de tamaño por acercarse a la cámara).
(iii) La propiedad de discernimiento de los descriptores de covarianza aumentan,
dado que el fondo o background, en el caso de la vista superior, es muy estable
ya que es suelo (Figura 5.7, Tabla 5.3).
Además cabe destacar, que para la aplicación especı́fica de tiempos de espera, la dis-
tribución de las cámaras desde una perspectiva lateral, tiene que ser cuidadosamente elegida.
En nuestro caso, la mala posición de la segunda cámara produjo perdidas de información
relevante para discernir cuando el cliente abandonaba realmente la caja de servicio.
44
6.4. Trabajos Futuros
Ahora, dado que utilizamos exitosamente dos videos para realizar el seguimiento; ex-
iste una real posibilidad de continuar esta investigación desde la perspectiva de múltiples
vistas (incluyendo al menos la vista superior y lateral) y calibración de cámaras. Lo
cual serı́a de gran utilidad para minimizar el área de búsqueda del detector de rostros y
del modelo de movimiento; ya que al tener la matriz de calibración podemos conocer la
posición estimada del objeto en las distintas cámaras. Adicionalmente, se podrı́a realizar
el seguimiento del rostro simultáneamente en las múltiples vistas; pero utilizando la matriz
de calibración y la muestra de la vista que tenga menor distancia al modelo de aparien-
cia, podrı́amos optimizar el área de búsqueda y aumentar la precisión del seguimiento para
casos de oclusión extremos.
45
References
Adam, A., Rivlin, E., & Shimshoni, I. (2006). Robust fragments-based tracking
using the integral histogram. In 2006 ieee computer society conference on computer
vision and pattern recognition (Vol. 1, pp. 798–805).
Ayache, A., Fillard, P., Pennec, X., & Nicholas, A. (2007). Geometric means in a
novel vector space structure on symmetric positive-definite matrices. Society, 29(1),
328–347.
Babenko, B., Yang, M., & Belongie, S. (2009). Visual tracking with online multi-
ple instance learning. In Ieee computer society conference on computer vision and
pattern recognition workshops, 2009. cvpr workshops 2009 (pp. 983–990).
Birchfield, S. (1998). Elliptical head tracking using intensity gradients and color his-
tograms. In Ieee computer society conference on computer vision and pattern recog-
nition (Vol. pages, pp. 232–237). Citeseer.
Boiman, O., Shechtman, E., & Irani, M. (2008, June). In defense of Nearest-
Neighbor based image classification. 2008 IEEE Conference on Computer Vision
and Pattern Recognition(i), 1–8.
Cortez, P., Undurraga, C., Mery, D., & Soto, A. (2009). Performance Evaluation of
the Covariance Descriptor for Target Detection. In 2009 international conference of
the chilean computer science society (pp. 133–141). IEEE.
46
Dalal, N., & Triggs, B. (2005). Histograms of Oriented Gradients for Human De-
tection. Pattern Recognition.
Grabner, H., Grabner, M., & Bischof, H. (2006). Real-time tracking via on-line
boosting. In Proc. bmvc (Vol. 1, pp. 47–56). Citeseer.
Grabner, H., Leistner, C., & Bischof, H. (2008). Semi-supervised on-line boosting
for robust tracking. In Proc. eccv (Vol. 2, pp. 234–247). Springer.
Gu, S., Zheng, Y., & Tomasi, C. (2010). Efficient Visual Object Tracking with On-
line Nearest Neighbor Classifier. x86.cs.duke.edu.
Hopfield, J. (1982). Neural networks and physical systems with emergent collec-
tive computational abilities. Proceedings of the National Academy of Sciences of the
United States of America, 79(8), 2554.
Hu, H., & Qin, J. (2008, June). Region covariance based probabilistic tracking.
2008 7th World Congress on Intelligent Control and Automation, 575–580.
Ji, Q., Zhu, Z., & Lan, P. (2004). Real-time nonintrusive monitoring and prediction
of driver fatigue. Vehicular Technology, IEEE Transactions on, 53(4), 1052–1068.
Kadir, T., Zisserman, A., & Brady, M. (2004). An affine invariant salient region
detector. Computer Vision-ECCV 2004, 228–241.
Lampert, C., Blaschko, M., & Hofmann, T. (2009). Efficient subwindow search: A
branch and bound framework for object localization. Pattern Analysis and Machine
Intelligence, IEEE Transactions on, 31(12), 2129–2142.
47
Lowe, D. G. (1999). Object Recognition from Local Scale-Invariant Features. Com-
puter.
Montabone, S., & Soto, A. (2010, March). Human detection using a mobile plat-
form and novel features derived from a visual saliency mechanism. Image and Vision
Computing, 28(3), 391–402.
Nguyen, N., Bui, H., Venkatsh, S., & West, G. (2003). Recognizing and monitoring
high-level behaviors in complex spatial environments. 2003 IEEE Computer Society
Conference on Computer Vision and Pattern Recognition, 2003. Proceedings., II–
620–5.
Palaio, H., & Batista, J. (2008). A region covariance embedded in a particle filter
for multi-objects tracking. VS08.
Pearson, K. (1901). LIII. On lines and planes of closest fit to systems of points in
space. Philosophical Magazine Series 6, 2(11), 559–572.
Pedreschi, F., Mery, D., Mendoza, F., & Aguilera, J. (2004). Classification of Potato
Chips Using Pattern Recognition. JOURNAL OF FOOD SCIENCE-CHICAGO-,
69(6), 264–270.
Porikli, F., Tuzel, O., & Meer, P. (2006). Covariance Tracking using Model Update
Based on Lie Algebra. 2006 IEEE Computer Society Conference on Computer Vision
and Pattern Recognition - Volume 1 (CVPR’06), 728–735.
48
Saffari, A., Leistner, C., Santner, J., Godec, M., & Bischof, H. (2010). On-line
random forests. In Computer vision workshops (iccv workshops), 2009 ieee 12th
international conference on (pp. 1393–1400). IEEE.
Santner, J., Leistner, C., Saffari, A., Pock, T., & Bischof, H. (2010). PROST: Parallel
robust online simple tracking. In Computer vision and pattern recognition (cvpr),
2010 ieee conference on (pp. 723–730). IEEE.
Sivic, J., Schaffalitzky, F., & Zisserman, A. (2004). Efficient object retrieval from
videos. In Proc. of the 12th european signal processing conference eusipco 04, vi-
enna, austria (pp. 1737–1740).
Stalder, S., Grabner, H., & Leuven, K. U. (2009). Beyond Semi-Supervised Tracking
: Tracking Should Be as Simple as Detection , but not Simpler than Recognition. In
Iccv.
Tuzel, O., Porikli, F., & Meer, P. (2006). Region Covariance : A Fast Descriptor for
Detection and Classificatio. Lecture Notes in Computer Science, 3952, 589.
Tuzel, O., Porikli, F., & Meer, P. (2008, October). Pedestrian detection via classifica-
tion on Riemannian manifolds. IEEE transactions on pattern analysis and machine
intelligence, 30(10), 1713–27.
Viola, P., & Jones, M. (2001). Rapid Object Detection using a Boosted Cascade of
Simple Features. In Proc. ieee cvpr 2001 (Vol. 00).
Viola, P., Platt, J., & Zhang, C. (2006). Multiple instance boosting for object detec-
tion. Advances in neural information processing systems, 18, 1417.
Wu, Y., Cheng, J., Wang, J., & Lu, H. (2009). Real-time Visual Tracking via Incre-
mental Covariance Tensor Learning. nlpr.labs.gov.cn(Iccv), 1631–1638.
49
Yao, J., & Odobez, J. (2008). Fast human detection from videos using covariance
features. Learning.
50