Está en la página 1de 61

PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE

ESCUELA DE INGENIERIA

SISTEMA PARA MEDIR TIEMPOS DE


ESPERA EN COLAS DE SUPERMERCADO
USANDO VISIÓN POR COMPUTADOR Y
MÉTODOS ESTADÍSTICOS.

PEDRO CORTEZ CARGILL

Tesis presentada a la Dirección de Investigación y Postgrado


como parte de los requisitos para optar al grado de
Magister en Ciencias de la Ingenierı́a

Profesor Supervisor:
DOMINGO MERY

Santiago de Chile, Enero 2011

c MMXI, P EDRO M ANUEL C ORTEZ C ARGILL



PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE
ESCUELA DE INGENIERIA

SISTEMA PARA MEDIR TIEMPOS DE


ESPERA EN COLAS DE SUPERMERCADO
USANDO VISIÓN POR COMPUTADOR Y
MÉTODOS ESTADÍSTICOS.

PEDRO CORTEZ CARGILL

Miembros del Comité:


DOMINGO MERY
ALVARO SOTO
PABLO ZEGERS
DIEGO CELENTANO

Tesis presentada a la Dirección de Investigación y Postgrado


como parte de los requisitos para optar al grado de
Magister en Ciencias de la Ingenierı́a

Santiago de Chile, Enero 2011

c MMXI, P EDRO M ANUEL C ORTEZ C ARGILL



A mis padres, familia y amigos,
quienes me apoyaron durante este
trabajo y en todos mis estudios
AGRADECIMIENTOS

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.

También me gustarı́a agradecer a todas las personas que, directa o indirectamente se


involucraron en el desarrollo de los distintos aspectos de este trabajo. En primer lugar
me gustarı́a dar las gracias al Latin American and Caribbean Collaborative ICT Research
por permitirme profundizar esta investigación en México. También me gustarı́a agrade-
cer a todos los estudiantes, pertenecientes al grupo de robótica, del Instituto Nacional de
Astrofı́sica, Óptica y Electrónica, que nos recibieron afectuosamente en México. Además
me gustarı́a agradecer al profesor Enrique Sucar por su breve pero productiva guı́a en el
desarrollo de la aplicación.

Finalmente, me gustarı́a agradecer especialmente a mis padres, familia y amigos por


su valioso apoyo, confianza, ayuda y consejos, tanto durante toda mi carrera, como en el
éxito de este trabajo.

iv
INDICE GENERAL

AGRADECIMIENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

INDICE DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

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

1.1 Ejemplos de aplicaciones de visión por computador existentes. a) Detección y


reconocimiento de comportamientos extraños. b) Detección de expresiones y
reconocimiento de expresiones faciales para detectar somnolencia del conductor.
c) Control de calidad de alimentos a partir de caracterı́sticas visuales de una
imagen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

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 caracterı́sticas. . . . . 9

2.1 Configuración de las dos cámaras de video en una caja de supermercado. La


primera cámara controla el ingreso de los clientes a la cola y la segunda controla
la salida del cliente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2 Diagrama general del trabajo realizado. . . . . . . . . . . . . . . . . . . . . 17

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

3.2 Distribución de los cuatro cuadrantes a los cuales se le calcula el descriptor de


covarianza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3 Diagrama del modelo de apariencia . . . . . . . . . . . . . . . . . . . . . . 22

3.4 Descripción del modelo de movimiento. El rectángulo verde representa el último


parche seguido Ox,y,w,h
t−1
, el rectángulo rojo representa el área de búsqueda Sx,y,w,h
t

y los rectángulos azules representan las muestras Tx,y,w,h


t
. . . . . . . . . . . 26

3.5 Diagrama del proceso de detección y reconocimiento de rostros entre cámaras 28

4.1 Vista superior y lateral de la configuración de las cámaras. . . . . . . . . . . 32

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

5.3 Video Surfer; movimientos rápidos y cambios drásticos de apariencia. El


rectángulo verde representa el método propuesto ONBNN y el rojo representa el
método OMB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.4 Video privado; oclusión total y rápidos movimientos. El rectángulo verde
representa el método propuesto ONBNN. . . . . . . . . . . . . . . . . . . . 38
5.5 Video Girl; 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
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. . . . . 40
5.7 Video con una perspectiva superior o top view. El rectángulo verde representa el
método propuesto ONBNN. . . . . . . . . . . . . . . . . . . . . . . . . . . 40

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.

Palabras Claves: Visión por Computador, Seguimiento, Naive Bayes, Descriptor de


covarianza; Modelos dinámicos

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.

Keywords: Computer vision, Tracking, Naive Bayes, Covariance Descriptors; On-


line Model

xi
1. INTRODUCCIÓN

En el contexto de las empresas con ventas al por menor o retail, la satisfacción al


cliente es uno de los aspectos más importantes en el proceso del negocio, ya que está di-
rectamente relacionada con la fidelidad del cliente con la empresa. Las empresas de retail
gastan gran cantidad recursos en aumentar la calidad de servicio, especialmente al mo-
mento de la atención. Esto toma especial interés, en los supermercados o tiendas de auto
servicio, ya que éstas deben lidiar con los tiempos de espera, generados en largas filas for-
madas 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, inteligen-
cia de máquina y múltiples vistas. Lo que en definitiva, nos permitirá estimar los tiempos de
espera promedio de los clientes y en consecuencia le proporcionará a los supermercados in-
formación necesaria para estimar la cantidad óptima de cajeras y cajas de atención abiertas,
para un momento especı́fico. Para esto proponemos un sistema de seguimiento aplicable a
múltiples vista, sustentado por un nuevo y simple modelo de apariencia propuesto en esta
tesis, llamado Online Naive Bayes Nearest Neighbor.

1.1. Motivación

A continuación presentaremos los principales aspectos técnicos que motivaron el de-


sarrollo de este trabajo. En esta sección abordaremos los conceptos básicos de la teorı́a de
colas relacionado con los tiempos de espera y los principales conceptos del área de visión
por computador.

1.1.1. Tiempos de espera

Hace ya un largo tiempo, la comunidad cientı́fica reconoce la importancia y utilidad


de la teorı́a de colas en situaciones de la vida cotidiana; tales como cajas de supermerca-
dos, bancos, semáforos, etc. El fenómeno de las colas surge cuando un recurso compartido
necesita ser accedido o dar servicio a un elevado número de trabajos o clientes, lo cual

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):

(i) Tasa de llegada de clientes o personal.


(ii) Tiempo operacional o tiempo necesario para atender al cliente.
(iii) Número de servidores (cajeras) disponibles.
(iv) Comportamiento de los clientes en la cola.

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.

Ahora, en el contexto de equilibrar costos y latencia de servicio, el área de visión por


computador podrı́a ser un gran complemento a la teorı́a de colas; ya que ésta puede proveer
información en tiempo real a los modelos matemáticos, con respecto a variables relevantes
relacionadas con el cliente tales como; tiempos de espera, patrones de movimiento, etc. Es
por esto, que en el marco de esta tesis abordaremos en profundidad la teorı́a relacionada con
el área de visión por computador e inteligencia artificial, y propondremos una aplicación
respecto a la medición de tiempos de espera de los clientes.

3
1.1.2. Visión por Computador

Una de las habilidades más extraordinarias de la visión humana es el reconocimiento


de objetos y rostros. Sin importar el ángulo, tamaño, luminosidad u oclusión del objeto,
la visión humana logra en casi todos los casos, reconocer el objeto o persona. Esta habili-
dad es primordial en muchos aspectos de nuestras vidas, por ejemplo, sin la capacidad de
reconocer rostros o expresiones faciales no podrı́amos tener una vida social satisfactoria.
Por otra parte, en el área de visión por computador, se pretende poder diseñar máquinas
o sistemas que puedan lograr esta habilidad automáticamente y ası́ poder utilizarlos, por
ejemplo, en aplicaciones de vigilancia o control de calidad.

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)

F IGURA 1.1. Ejemplos de aplicaciones de visión por computador existentes. a)


Detección y reconocimiento de comportamientos extraños. b) Detección de ex-
presiones y reconocimiento de expresiones faciales para detectar somnolencia del
conductor. c) Control de calidad de alimentos a partir de caracterı́sticas visuales de
una imagen.

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.

Ahora, en el área de visión por computador, el seguimiento (tracking) de peatones,


rostros u objetos en general, ha sido un tema extensamente estudiado por su gran utilidad
en una variedad de aplicaciones. Aunque se han obtenidos buenos resultados (Isard &
MacCormick, 2001; Birchfield, 1998), estos sistemas son altamente estructurados o se
sustentan en estrictas restricciones, las cuales generalmente se relacionan con el tipo de
objeto a seguir (entrenamiento off-line (Stalder, Grabner, & Leuven, 2009)) o el ambiente
en el que está el objeto (sustracción de fondo (Palaio & Batista, 2008)).

En términos generales, un sistema de seguimiento tiene tres componentes: repre-


sentación de la imagen, modelo de apariencia y modelo de movimiento. Actualmente existe

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.

El problema más desafiante, al momento de actualizar el modelo de apariencia, es la


elección de nuevas muestras, tanto positivas como negativas. Babenko et al. (2009) pro-
ponen una metodologı́a de muestreo óptima, enfocado especı́ficamente en su modelo de
apariencia basado en clasificadores. Además, este modelo utiliza un método modificado
de Multiple Instance Learning o MIL (Viola, Platt, & Zhang, 2006) el cual permite se-
leccionar las mejores caracterı́sticas a seguir, incluidas en el objeto. Aunque este sistema
tiene excelentes resultados, también tiene sus limitaciones; al ser un sistema de Tracking
by Detection debe lidiar con el problema de equilibrar entre estabilidad y aprendizaje, lo
cual genera errores en los casos de oclusión parcial prolongada.

1.2. Marco Teórico

A continuación, se presentará una descripción completa de los principales algoritmos y


métodos empleados como sustento teórico a lo largo de esta tesis; esta descripción incluye:
al descriptor de covarianza, al clasificador Naive Bayes Nearest Neighbor y al modelo de
apariencia Online Multiple Instance Boosting. Especı́ficamente, el descriptor de covarianza
y el clasificador Naive Bayes Nearest Neighbor serán utilizados como base para proponer

6
un nuevo modelo de apariencia dinámico y el modelo de apariencia Online Multiple In-
stance Boosting se empleará principalmente de comparación.

1.2.1. Descriptor de Covarianza

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.

De esta forma el, descriptor de covarianza, se define formalmente como:

F (x, y, i) = φi (I, x, y) (1.1)

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.

El objetivo es representar el objeto a partir de la matriz de covarianza de la matriz F ,


construida a partir de estas sub-caracterı́sticas. La covarianza es la medición estadı́stica
de la variación o relación entre dos variables aleatorias, ésta puede ser negativa, cero o

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.

Utilizar la matriz de covarianza como descriptor tiene múltiples ventajas, primero


unifica información tanto espacial como estadı́stica del objeto; segundo provee una ele-
gante solución para fusionar distintas caracterı́sticas y modalidades; tercero tiene una di-
mensionalidad muy baja; cuarto es capaz de comparar regiones, sin estar restringido a un
tamaño de ventana constante o fija, ya que no importa el tamaño de la región, el descrip-
tor es la matriz de covarianza, que es de tamaño constante d × d, y quinto, la matriz de
covarianza puede ser fácilmente calculable, para cualquier región o sub-región.

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:

Sea P una matriz de W × H × d , el tensor de la imagen integral



P (x� , y � , i) = F (x, y, i) i = 1 . . . d (1.2)
x<x� ,y<y �

Sea Q una matriz de W × H × d × d, el tensor de segundo orden de la imagen integral



Q(x� , y � , i, j) = F (x, y, i)F (x, y, j) i, j = 1 . . . d (1.3)
x<x� ,y<y �

Además definimos como


� �T
Px,y = P (x, y, 1) . . . P (x, y, d) (1.4)

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)

RP = Px� ,y� + Px�� ,y�� − Px�� ,y� − Px� ,y�� (1.7)


1 1
CR(x� ,y� ;x�� ,y�� ) = [RQ − RP RPT ] (1.8)
n−1 n
donde n = (x�� − x� )(y �� − y � ). De esta forma, después de construir el tensor de primer or-
den P y el tensor de segundo orden Q, la covarianza de cualquier región se puede computar
en O(d2 ). El proceso anteriormente descrito puede ser resumido por la Figura 1.2. Cabe
destacar que, el descriptor de covarianza no es un elemento del espacio Euclidiano, por lo
tanto no se pueden utilizar los clásicos algoritmos de inteligencia de máquinas, como por

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).

1.2.2. Naive Bayes Nearest Neighbor

El problema de clasificar imágenes ha acaparado considerablemente la atención en la


comunidad de Visión por Computador. En los últimos años, el esfuerzo combinado de
la comunidad cientı́fica dio lugar a nuevos y novedosos enfoques para la clasificación de
imágenes. Estos métodos pueden dividir aproximadamente en dos grandes familias:

(i) Learning-based Classifiers: clasificadores que requieren una fase intensiva de


aprendizaje/entrenamiento de los parámetros internos, como por ejemplo; SVM
(Cortes & Vapnik, 1995), Boosting (Viola & Jones, 2001), árboles de decisión,
etc.
(ii) Non-parametric Classifiers: clasificadores que soportan su decisión directamente
a través de los datos y no requieren una fase de entrenamiento/aprendizaje de
parámetros. Uno de los clasificadores no paramétricos más común es el de Veci-
nos más cercanos o Nearest Neighbor Classifier.

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:

(i) Cuantificación de Descriptores: las imágenes son a frecuentemente represen-


tadas por un conjunto de descriptores locales; tales como SIFT (Lowe, 1999),
HOG (Dalal & Triggs, 2005), etc. Estos son a menudo cuantificados con el obje-
tivo de construir una relativamente pequeña colección de descriptores relevantes
o bag of words, lo cual permite generar una representación condensada de la
imagen. Esta reducción, da a lugar a una significativa disminución a la dimen-
sionalidad, pero también, a una importante disminución al poder discriminativo
del descriptor.
(ii) Distancia Imagen-Imagen: en la clasificación de imágenes, los métodos basados
en Vecinos más Cercanos, proveen buenos resultados exclusivamente cuando la
imagen a clasificar es similar a una de las imágenes incluida en la base de datos
del clasificador. Lo cual no permite generalizar para clase con gran diversidad
de contenido incluido en la imagen.

En defensa de los Nearest Neighbor Classifier, Boiman et al. (2008) proponen un


clasificador, el cual obtiene rendimientos entre los principales lı́deres en clasificación de
imágenes, llamado Naive Bayes Nearest Neighbor (NBNN). El Algoritmo utiliza una dis-
tancia Nearest Neighbor en el espacio de los descriptores locales y no en el espacio de la
imagen. De esta forma el Naive Bayes Nearest Neighbor, calcula directamente una distan-
cia Imagen-Clase, sin cuantificar los descriptores. Además demuestran que bajo el supuesto
Naive Bayes, el algoritmo propuesto obtiene el clasificador óptimo teórico, para la imagen.

El algoritmo de Naive Bayes Nearest Neighbor es sorprendentemente simple, ya que


gracias al enfoque de vecinos más cercanos, el supuesto de Naive Bayes y la distribución
de los descriptores; logra simplificar el clasificador óptimo de imágenes definido por la dis-
tribución probabilı́stica p(d|C); donde d representa los descriptores de la imagen a clasi-
ficar y C la clase. Especı́ficamente, la distribución de probabilidad de los descriptores es
modelada por la función kernel de Parzen, la cual es no paramétrica y tiene una distribución

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.

Algoritmo 1: Naive Bayes Nearest Neighbor (NBNN)


Data: imagen a consultar
Result: clase estimada Ĉ
Computar los descriptores d1 , . . . , dn de la imagen de entrada;
∀di ∀C clasificar di en C a partir de vecinos más cercanos: N NC (di );

Ĉ = arg minc ni=1 �di − N NC (di )�2 ;
De esta forma, Ĉ representa la clase estimada, a partir de los d1 , . . . , dn descriptores de la
imagen de entrada

1.2.3. Online Multiple Instance Boosting (OMB)

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:

p(y = 1|x) = σ(H(x)) (1.10)

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

En todo momento el algoritmo mantiene un número M de clasificadores débiles candidatos,


los cuales se actualizan todos en paralelo, para actualizar el clasificador. Cabe destacar
que, las muestras a pesar de ser traspasadas en conjuntos (bag), los clasificadores débiles
de un algoritmo MIL necesitan la clasificación por instancia, es decir yij . Debido a que
está información no está disponible, todas las muestras xij son etiquetadas a partir de yi . A
continuación, se seleccionan K (tal que K < M ) clasificadores débiles h desde el conjunto
disponible M , utilizando el siguiente criterio.

hk = arg max log L(Hk−1 + h) (1.12)


h∈{h1 ,...,hM }


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.

Para esto, construiremos un nuevo modelo de apariencia dinámico, robusto a oclu-


siones parciales prolongadas y a cambios de apariencia prolongados; basado en el descrip-
tor de covarianza (Tuzel et al., 2006) y en el clasificador Naive Bayes Nearest Neighbor
(Boiman et al., 2008). Además deberá tener como principal caracterı́stica, la capacidad de
aprender la apariencia del objeto seguido, a medida que pase el tiempo. Como lo expli-
camos anteriormente, nuestra solución incluye dos cámaras debido al gran tamaño de las
colas; esto quiere decir que a medida que avanza el cliente en la cola, éste hace un recorri-
do desde la primera cámara hacia la segunda (Figura 2.1). De esta forma, en el momento
que el cliente abandona el campo visual de la primera cámara, inmediatamente después,
en la segunda cámara el sistema deberá detectar los rostros presentes en la escena y luego
reconocer al cliente.

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.

Finalmente, como objetivo secundario, deseamos estudiar empı́ricamente las ventajas


y desventajas de una configuración lateral de las cámaras, en comparación a una configu-
ración top view o vista superior.

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.

El segundo experimento estará dirigido a medir la precisión del sistema de seguimiento,


con el objetivo de estimar el tiempo de espera de los clientes y compararlos con los tiem-
pos reales medidos. Para esto utilizaremos dos videos, tomados especı́ficamente para esta
tesis, de larga duración con una resolución de 640 × 480, captados por dos cámaras sin-
cronizadas (una escena, múltiples vistas) a 30 cuadros por segundo, en un supermercado
local (Santiago, Chile) con cámaras Point Grey.

1
BIWI Walking Pedestrians Datasets - http://www.vision.ee.ethz.ch/datasets/index.en.html

18
3. MÉTODO PROPUESTO

El sistema de seguimiento propuesto incluye los tres componentes descritos anteri-


ormente, representación de la imagen, modelo de apariencia y modelo de movimiento.
Tanto la representación de la imagen, como el modelo de movimiento fueron construidos
a partir de pequeñas variaciones de métodos existentes. Sin embargo, el modelo de apari-
encia propuesto, nuestra principal contribución, es un nuevo modelo llamado Online Naive
Bayes Nearest Neighbor, el cual es robusto a oclusiones parciales prolongadas y cambios
drásticos de apariencia. Adicionalmente incluiremos un cuarto componente, enfocado es-
pecı́ficamente al calcula de tiempos de espera; el cual nos permitirá detectar y reconocer
clientes entre una cámara y otra, de tal forma que podamos continuar el seguimiento. Este
componente utiliza el detector de rostros propuesto por Viola and Jones (2001) y el modelo
propuesto Online Naive Bayes Nearest Neighbor para reconocer al cliente.

3.1. Representación de la Imagen

Para representar la imagen, utilizamos el descriptor de covarianza (Tuzel et al., 2006)


con un tensor de 12 caracterı́sticas, el cual está definido por:

F (x, y, i) = [x y R G B |Ix | |Iy | |Ix |2 + |Iy |2 |Ixx | . . .

|Iyy | tan−1 ( IIxy ) S]T (3.1)

donde x e y representan las coordenadas 2D de cada pı́xel; R, G, B representa el valor


de rojo, verde y azul de cada pı́xel; |Ix |, |Iy |, |Ixx |, |Iyy | representa la primera y segunda

derivada, en x e y, de la intensidad de la imagen ; |Ix |2 + |Iy |2 representa la magnitud
de la segunda derivada; tan−1 ( IIxy ) reprensenta la orientación de la primera derivada en x
e y (fase) y S representa un Saliency Map (Montabone & Soto, 2010). Cabe destacar que
Cortez, Undurraga, Mery, and Soto (2009) recomiendan utilizar 11 de las 12 caracterı́sticas
utilizadas; en nuestro caso además agregamos un Saliency Map debido a los excelentes
resultados empı́ricas obtenidos.

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).

Por último, como lo describimos anteriormente, el descriptor de covarianza no es un


elemento del espacio Euclidiano, ya que es una matriz semi definida positiva (SP D+ ).
Por lo tanto, los clásicos algoritmos de inteligencia de máquina, como por ejemplo PCA
(Pearson, 1901), LDA (Abdi, 2007), etc., en su forma original no pueden ser utilizados, ya
que utilizan una representación vectorial y el espacio euclidiano para calcular la separación
optima de los conjuntos. Las matrices SP D+ están incluidas en el álgebra de Lie o el
espacio de Riemann (Riemannian Manifolds) (Rossmann, 2002), ası́ que para poder com-
parar dos descriptores de covarianza, utilizamos una métrica para matrices semi definidas
positivas Log-Euclidiana (Ayache, Fillard, Pennec, & Nicholas, 2007), la cual se define

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:

log(X) = U[diag(log(λ1 ), ...., log(λn ))]UT (3.3)

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).

3.2. Modelo de Apariencia: Online Naive Bayes Nearest Neighbor (ONBNN)

A partir de la idea de Boiman et al. (2008), diseñamos un modelo de apariencia que


clasifica el parche de cada nueva muestra gracias un clasificador Naive Bayes Nearest
Neighbor. En el método propuesto, el clasificador Naive Bayes Nearest Neighbor es ac-
tualizado en cada iteración con nuevas muestras positivas; donde cada muestra es repre-
sentada por el descriptor de covarianza del parche. De esta manera, construimos una “base
de datos” del objeto seguido, lo cual es necesario para el enfoque de vecinos más cercanos
utilizado por el algoritmo Naive Bayes Nearest Neighbor.

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.

F IGURA 3.3. Diagrama del modelo de apariencia

A continuación definimos P (q) como una muestra; donde nuevamente q = 1, 2, 3, 4


representa uno de los cuatro cuadrantes y P (q) es el descriptor de covarianza del cuadrante
q, calculado a partir de (1.8). Por lo tanto la distancia de una muestra P al modelo M se
define como:
4
� � �
d(M, P ) = min ρ(M (q, i), P (q)) + λ�ZM (q, i) − ZP (q)� (3.4)
i�mq
q=1

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.

Para actualizar el modelo definimos un protocolo, donde el cuadrante, del último


parche estimado P ∗ (q), con menor distancia promedio al modelo M (q, i) es agregado. La
distancia promedio, entre el cuadrante y las muestras del cuadrante para el modelo M (q, i),
se define como: mq
1 �
ω(M, P, q) = ρ(M (q, i), P (q)) (3.5)
mq i=1
Donde q es el cuadrante al cual se le está calculando la distancia promedio y mq es la
cantidad de muestras para el cuadrante q. Además definimos R(q, j), como una matriz
que almacena la distancia promedio al modelo obtenida, al momento de agregar una nueva
muestra al modelo (3.9).

Por último, el modelo se actualiza de la siguiente manera:

q ∗ = arg min ω(M, P ∗ , q) (3.6)


q


 mq ∗ + 1 if mq∗ < N
j= ∗ (3.7)
 arg max R(q , i) if mq∗ = N

i�mq∗

M (q ∗ , j) = P ∗ (q ∗ ) (3.8)

R(q ∗ , j) = ω(M, P ∗ , q ∗ ) (3.9)

Especı́ficamente, la ecuación (3.6) busca el cuadrante de P ∗ con menor distancia promedio


al modelo; la ecuación (3.7) describe como es seleccionado el indice donde se agregará

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

Result: xk∗ , yk∗ , wk∗ , hk∗ , θk∗


for k = 1 to K do
I = getImage(xk , yk , wk , hk , θk ); // Nueva imagen deformada
Pk = getCovarianceDescriptors(I);
dk = d(M, Pk ); // ecuación (3.4)
end
k ∗ = arg min dk ;
k
P ∗ = Pk ∗ ;
q ∗ = arg min ω(M, P ∗ , q) ;
q

if mq∗ < N then


j = mq + 1
else
j = arg max R(q ∗ , i) ;
i�mq∗

end
M (q ∗ , j) = P ∗ (q ∗ );
R(q ∗ , j) = ω(M, P ∗ , q ∗ );

3.3. Modelo de Movimiento

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.

Formalmente, sea Ox,y,w,h


t−1
sea el parche seguido en el instante t − 1 del video, con
centro x, y y dimensiones w, h. Se define el área de búsqueda para el instante t como
t
Sx,y,w,h ; donde:
t
Sx,y,w,h t−1
= Ox,y, w h
,
(3.10)
α α

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.

3.4. Detección y reconocimiento de clientes

Para poder aplicar el método de seguimiento propuesto, en un ambiente de múltiples


cámaras, es necesario lograr reconocer y detectar el objeto (seguido), entre las cámaras
presentes. Especı́ficamente para el problema de estimar tiempos de espera de clientes;
el sistema consta de dos módulos; un detector de rostros propuesto por Viola and Jones
(2001) y el clasificador Online Naive Bayes Nearest Neighbor para reconocer al cliente
(Figura 3.5).

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:

(i) Factor de escala: 1.1.


(ii) Número mı́nimo de vecinos: 3.
(iii) Poda de imágenes: a partir del detector de bordes de Canny.
(iv) Tamaño mı́nimo de ventana: 25 × 25 pı́xeles.

A continuación, a partir de los rostros detectados, se debe reconocer al cliente (seguido);


para esto utilizamos el mismo modelo de apariencia propuesto, con toda la información
acumulada durante el trascurso del seguimiento. Finalmente se selecciona el rostro detec-
tado con menor distancia al modelo. Cabe destacar que, luego de detectar y reconocer al
cliente en la nueva cámara, el modelo de apariencia es reiniciado con nueva información
base del objeto (posición inicial y se borra la memoria). El algoritmo 4 describe el proceso.

Algoritmo 4: Detector y Reconocedor de Rostros


Data: M , Frame
Result: xk∗ , yk∗ , wk∗ , hk∗
{xk , yk , wk , hk }K
k=1 = f aceDetectionV iolaAndJones(Frame);

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.

4.1. Modelo de apariencia

Debido a la necesidad cuantificar la precisión, el rendimiento y el real aporte del nuevo


modelo de apariencia, se han diseñado un conjunto de experimentos. Especı́ficamente
el nuevo algoritmo será probado en una serie de desafiantes videos, tanto públicos como
especı́ficos para esta tesis y en comparación utilizaremos siete distintos algoritmos. A
continuación se describirán la configuración de los siete algoritmos, más la configuración
del modelo propuesto.

(i) Online-AdaBoost (OAB): propuesto por Grabner et al. (2006) e implementado


en (Babenko et al., 2009); donde el radio de búsqueda se fijo en 35 pı́xeles.
(ii) SemiBoost tracker: descrito por Grabner et al. (2008), utiliza información eti-
quetada sólo del primer cuadro y luego, en los cuadros posteriores, actualiza
el modelo de apariencia vı́a una metodologı́a online semi-supervised learning.
Esto lo hace particularmente robusto a escenarios donde el objeto deja por com-
pleto la escena. Sin embargo, el modelo depende estrictamente del clasificador
entrenado a partir del primer cuadro.
(iii) FragTrack: descrito en (Adam et al., 2006), utiliza un modelo de apariencia
estático basado en Integral Histograms, los cuales han demostrado ser muy efi-
cientes. El modelo de apariencia es Parte-based, lo cual lo hace robusto a oclu-
siones.
(iv) Online Multiple Instance Boosting (OMB): propuesto por Babenko et al. (2009),
es un algoritmo de seguimiento en el estado del arte del Online Boosting, utiliza
una tasa de aprendizaje para clasificadores débiles fijo en 0.85 y un ponderador

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.

Inicialmente, realizaremos un experimento con cinco videos públicos1 , Surfer, Oc-


cluded Face, Occluded Face 2, Girl y David; frente a cinco intentos distintos del algoritmo
Online Multiple Instance Boosting. Luego realizaremos un segundo experimento con ocho
videos, los cuales incluirán cuatro de los videos anteriormente descritos (Occluded Face,
Occluded Face 2, Girl y David ) más cuatro videos públicos2 adicionales, Lemming, Board,
Liquor y Box; donde comparamos a los siete algoritmos descritos anteriormente, más el

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

4.2. Tiempos de espera

Para corroborar nuestra hipótesis, en sı́ntesis debemos cuantificar la precisión y el


rendimiento, de los tiempos de espera estimado, por el sistema de seguimiento propuesto.
Para esto, hemos definido un experimento a partir de una escena de larga duración, captada
por dos cámaras sincronizadas, donde se debe calcular el tiempo de espera de los clientes
que llegan a una caja de servicio especı́fica.

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

F IGURA 4.1. Vista superior y lateral de la configuración de las cámaras.

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

Segundo, para poder medir el tiempo de espera de un cliente, fijamos un umbral de


entrada y salida de la cámara, en el espacio 2D de la imagen (Figura 2.1). Esto quiere decir
que en el caso que la posición estimada del cliente, traspase un umbral (en X ó Y ), se
considerará que el cliente entro o salió de la cámara. Además, en el instante que el sistema

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.

Formalmente el umbral de entrada y salida se define en el Algoritmo 5. Donde rectEs-


timado.center.x representa la coordenada x del centro de la posición estimada del rostro del
cliente, rectEstimado.topLeft.x representa la coordenada x de la esquina superior izquierda
de la posición estimada del rostro del cliente, inLimit = 190 (pı́xeles) y outLimit = 10
(pı́xeles).

Tercero, debido a que el sistema de seguimiento utilizará como base el modelo de a-


pariencia propuesto, el sistema deberá regirse a partir de las restricciones de este. Por lo
tanto, cada cliente que deba ser seguido por el sistema, se le deberá marcar manualmente
su posición inicial, en la primera cámara; no ası́ en la segunda, ya que será detectado
automáticamente por el sistema.

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

Los resultados de los experimentos, anteriormente descritos, estarán divididos, al igual


que los experimentos, en dos grupos. Primero presentaremos los resultados respecto al
modelo de apariencia propuesto; a continuación, los relacionados con el cálculo del tiempos
de espera en una cola.

5.1. Modelo de apariencia propuesto: Online Naive Bayes Nearest Neighbor (ONBNN)

Los resultados obtenido en los experimentos fueron alentadores; nuestro algoritmo


Online Naive Bayes Nearest Neighbor siguió correctamente el objeto, en cinco de los ocho
videos utilizados; donde en tres de ellos obtuvo el menor error promedio en pı́xeles (Tabla
5.1). En el video Occluded Face, el algoritmo FragTrack obtiene el mejor desempeño,
porque está diseñado especı́ficamente para manejar este tipo de oclusiones, ya que utiliza
un parte-base Model. Sin embargo, en videos similares, pero más desafiantes, tal como el
video Occluded Face 2, el algoritmo FragTrack obtuvo pobres resultados, debido a que no
puede manejar adecuadamente el cambio de apariencia del objeto. Esto destaca las ven-
tajas de utilizar Adaptive Appearance Model. Es más, los modelos de Online Boosting y
Semi Boosting tiene problemas con oclusiones parciales prolongadas. Por otra parte, en los
videos board, box, lemming y liquor, el algoritmo propuesto obtuvo mediocres resultados;
esto se debe principalmente a la existencia de oclusión completa; lo cual debido al pobre
modelo de movimiento y búsqueda, provoca la pérdida del objeto seguido. Ahora, en el
video board el error promedio obtenido, fue considerablemente mayor en comparación a
los otros métodos; esto se debió a la ventana inicial seleccionada, la cual cubre en pro-
porción casi la misma cantidad de fondo que de objeto. Esto es especialmente relevante
para el descriptor de covarianza, ya que el algoritmo utiliza todo la ventana para calcular
el descriptor, no ası́ otros descriptores (como SIFT) que sólo utilizan áreas relevantes o de
interés. Corrigiendo la ventana inicial (se rotó 125o ) se obtuvo un error promedio de 16.7
pı́xeles (Figura 5.6), lo cual supera el algoritmo con mejor resultado (error promedio de
20.0 pı́xeles).

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.

Secuencia # Frames OAB ORF OMB SemiBoost Frag PROST NN ONBNN


Girl 502 43.3 - 31.6 52.0 25.5 19.0 18.0 13.9
David 462 51.0 - 15.6 43.0 46 21.6 15.6 10.8
Faceocc1 886 44.0 - 18.4 41.0 6.0 7.0 10.0 11.3
Faceocc2 812 21.0 - 14.3 43.0 45 21.6 12.9 12.8
Board 698 - 154.5 51.2 - 90.1 37.0 20.0 221.6
Box 1161 - 145.4 104.6 - 57.4 12.1 16.9 121.0
Lemming 1336 - 166.3 40.5 - 82.8 25.4 79.1 46.7
Liquor 1741 - 67.3 165.1 - 30.7 21.6 15.0 85.4

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.

Secuencia # Frames OMB 1 OMB 2 OMB 3 OMB 4 OMB 5 ONBNN


Surfer 375 4.9 7.7 13.4 5,5 14.6 4.5
Faceocc1 886 18.4 32.4 19.6 31.6 34.4 11.3
Faceocc2 812 30.7 22.8 16.7 14.3 16.5 12.8
Girl 502 31.6 33.2 33.8 34.9 26.5 13.9
David 462 19.6 19.8 23.8 15.6 30.1 10.8

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 .

5.2. Tiempos de Espera

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.

F IGURA 5.4. Video privado; oclusión total y rápidos movimientos. El rectángulo


verde representa el método propuesto ONBNN.

F IGURA 5.5. Video Girl; 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.

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

# Clientes Clientes Correctos Clientes Incorrectos % Clientes Correctos


36 22 14 61.11%

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.

El rendimiento superior se debe a la utilización de las caracterı́sticas de covarianza,


las cuales otorgan mayor información visual que otras caracterı́sticas (tales como Haar o
Histogramas) y a la manera óptima de actualizar el modelo de apariencia usando un umbral
de aprendizaje. Por otra parte, nuestro sistema tiene bajos rendimientos en los casos donde
existe completa oclusión y movimientos erráticos; lo cual se debe principalmente al simple
modelo de movimiento utilizado.

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).

Con respecto a los tiempos de procesamientos, nuestro método obtiene rendimientos


inferiores a los algoritmos utilizados para la comparación; esto se debe principalmente
al enfoque exhaustivo utilizado en el modelo de movimiento. El modelo de movimiento
debe buscar exhaustivamente en un área menor pero proporcional al tamaño de la ventana
estimada en el cuadro anterior; por lo tanto el tiempo de procesamiento está intrı́nsecamente
relacionado con el tamaño de la ventana estimada, lo cual lo hace poco eficiente. De
esta forma, en el caso de que la ventana sea pequeña, como en los videos con perspectiva
superior o top view, los tiempos de procesamiento son aceptables.

6.2. Tiempos de Espera

El sistema para estimar tiempos de espera en una cola de supermercado, además de


ser un método novedoso, obtuvo resultados interesantes y alentadores, como podemos ob-
servar en la Tabla 5.4. Esto se debe principalmente a dos razones: la capacidad superior,
en comparación a otros modelos, de adaptarse a los cambios de apariencia, del modelo
de apariencia propuesto Online Naive Bayes Nearest; y segundo, el aumento de precisión
en el tiempo de espera estimado, proporcionado por la configuración de múltiples vis-
tas (dos cámaras y sin calibración) exitosamente implementada. Ası́ mismo, gracias a la
combinación del detector de rostros propuesto por (Viola & Jones, 2001) y el modelo de
apariencia propuesto en este trabajo, pudimos reconocer efectivamente al cliente entre las
distintas cámaras. Además, el sistema logró identificar precisamente a los clientes que no
pudieron ser correctamente seguidos, lo cual es especialmente relevante, al momento de
tomar decisiones, ya que otorga un nivel de seguridad y precisión al usuario final.

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

Finalmente, existen varias maneras de continuar y mejorar el trabajo realizado. Primero,


el modelo de movimiento utilizado es bastante simple y podrı́a ser remplazado por algún
sistema más sofisticado, tal como Filtro de Partı́culas o algún algoritmo de búsqueda efi-
ciente de sub-ventanas (Lampert, Blaschko, & Hofmann, 2009). También serı́a interesante
incluir, tal como lo hace Gu et al. (2010), una penalización para cambios drásticos de
tamaños, en la distancia al modelo (3.4); y para aumentar la precisión del seguimiento en
situaciones complejas, un sistema para optimizar la selección inicial de las ventanas, ya
que el descriptor de covarianza es particularmente sensible a ventanas iniciales que incor-
poren alta proporción de fondo. Además, serı́a interesante combinar el método propuesto
en este trabajo con el algoritmo propuesto por Babenko et al. (2009), donde, en lugar de
etiquetar todas las muestras dentro de un área, como positiva con el algoritmo de Online
Multiple Instance Boosting, nuestro método podrı́a proveer una probabilidad proporcional
a la distancia entre el modelo Online Naive Bayes Nearest Neighbor y la muestra.

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

Abdi, H. (2007). Discriminant correspondence analysis. Encyclopedia of measure-


ment and statistics, 270–275.

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.

Cortes, C., & Vapnik, V. (1995). SUPPORT-VECTOR NETWORKS 1 Introduction.


ReCALL(973).

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.

Isard, M., & MacCormick, J. (2001). BraMBLe: A Bayesian multiple-blob tracker.


In Eighth ieee international conference on computer vision, 2001. iccv 2001. proceed-
ings (Vol. 2, pp. 34–41).

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.

Mikolajczyk, K., & Schmid, C. (2005). A performance evaluation of local descrip-


tors. IEEE transactions on pattern analysis and machine intelligence, 1615–1630.

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.

Rossmann, W. (2002). Lie Groups: An Introduction Through Linear Groups. Ox-


ford Press.

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.

Seow, H. (2000). Decisions on Additional Counters in the Banking Industry and


Applications of the Queuing Theory.

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

También podría gustarte