Upload
vukhue
View
257
Download
0
Embed Size (px)
Citation preview
PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE
ESCUELA DE INGENIERIA
SISTEMA PARA MEDIR TIEMPOS DE
ESPERA EN COLAS DE SUPERMERCADO
USANDO VISION POR COMPUTADOR Y
METODOS ESTADISTICOS.
PEDRO CORTEZ CARGILL
Tesis presentada a la Direccion de Investigacion 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, PEDRO MANUEL CORTEZ CARGILL
PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE
ESCUELA DE INGENIERIA
SISTEMA PARA MEDIR TIEMPOS DE
ESPERA EN COLAS DE SUPERMERCADO
USANDO VISION POR COMPUTADOR Y
METODOS ESTADISTICOS.
PEDRO CORTEZ CARGILL
Miembros del Comite:
DOMINGO MERY
ALVARO SOTO
PABLO ZEGERS
DIEGO CELENTANO
Tesis presentada a la Direccion de Investigacion 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, PEDRO MANUEL CORTEZ CARGILL
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. Ademas me gustarıa dar las gracias a Hans-Albert Lobel y a Christian
Pieringer, por su ayuda en el desarrollo de la aplicacion y la grabacion de los complejos
videos de prueba. Tambien 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 exito este trabajo.
Tambien 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 investigacion en Mexico. Tambien me gustarıa agrade-
cer a todos los estudiantes, pertenecientes al grupo de robotica, del Instituto Nacional de
Astrofısica, Optica y Electronica, que nos recibieron afectuosamente en Mexico. Ademas
me gustarıa agradecer al profesor Enrique Sucar por su breve pero productiva guıa en el
desarrollo de la aplicacion.
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
exito 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. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Tiempos de espera . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2. Vision por Computador . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Marco Teorico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. DISENO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1. Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3. Metodologıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. METODO PROPUESTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1. Representacion de la Imagen . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2. Modelo de Apariencia: Online Naive Bayes Nearest Neighbor (ONBNN) . 21
3.3. Modelo de Movimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4. Deteccion 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 vision por computador existentes. a) Deteccion y
reconocimiento de comportamientos extranos. b) Deteccion 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 como se construye el descriptor de covarianza de una region, a partir
de una imagen pasando por la creacion de la matriz de caracterısticas. . . . . 9
2.1 Configuracion de las dos camaras de video en una caja de supermercado. La
primera camara 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 Metodo para normalizar los parches. Notar que se crea una nueva imagen, de
esta forma se pueden utilizar ventanas de busquedas con transformaciones afines. 20
3.2 Distribucion 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 Descripcion del modelo de movimiento. El rectangulo verde representa el ultimo
parche seguido Ot−1x,y,w,h, el rectangulo rojo representa el area de busqueda St
x,y,w,h
y los rectangulos azules representan las muestras T tx,y,w,h . . . . . . . . . . . 26
3.5 Diagrama del proceso de deteccion y reconocimiento de rostros entre camaras 28
4.1 Vista superior y lateral de la configuracion de las camaras. . . . . . . . . . . 32
5.1 Error (en pıxeles), cuadro a cuadro, de los centroides para cada secuencia
seleccionada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
vii
5.2 Video Faceocc1; cambios drasticos de apariencia y oclusion parcial. El rectangulo
verde representa el metodo propuesto ONBNN y el rojo representa el metodo
OMB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.3 Video Surfer; movimientos rapidos y cambios drasticos de apariencia. El
rectangulo verde representa el metodo propuesto ONBNN y el rojo representa el
metodo OMB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.4 Video privado; oclusion total y rapidos movimientos. El rectangulo verde
representa el metodo propuesto ONBNN. . . . . . . . . . . . . . . . . . . . 38
5.5 Video Girl; cambios drasticos de apariencia y oclusion parcial. El rectangulo
verde representa el metodo propuesto ONBNN y el rojo representa el metodo
OMB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.6 Video board; donde (a) representa el seguimiento con la ventana inicial corregida
y (b) no. El rectangulo verde representa el metodo propuesto ONBNN. . . . . 40
5.7 Video con una perspectiva superior o top view. El rectangulo verde representa el
metodo propuesto ONBNN. . . . . . . . . . . . . . . . . . . . . . . . . . . 40
viii
INDICE DE TABLAS
5.1 Error promedio de la ubicacion 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 desempenos y los subrayados los
siguientes mejores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Error promedio de la ubicacion del centro (en pıxeles). Los algoritmos comparados
son; OMB (con sus cinco ejecuciones) y ONBNN. Los resultados destacados
indican los mejores desempenos y los subrayados los siguientes mejores. . . . 35
5.3 Error promedio de la ubicacion del centro (en pıxeles). Video con vista superior,
de larga duracion 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 satisfaccion del cliente en niveles aceptables, ya que estas estan directamente rela-
cionada con la fidelidad del cliente. Esto toma especial interes 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 satisfaccion del cliente. Es por esto que, proponemos un sistema
para calcular tiempos de espera en colas de supermercados, a partir de tecnicas de vision
por computador, inteligencia de maquina y multiples vistas. Lo que en definitiva, nos
permitira proporcionar informacion necesaria para estimar la cantidad optima de cajeras
y cajas de atencion abiertas, para un momento especıfico. Para esto proponemos un sis-
tema de seguimiento aplicable a multiples 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 drasticos de apariencia y solo
necesita un parametro de configuracion. El modelo propuesto esta 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 estos el error promedio fue de solo un 2.9%. Ademas, el
sistema es capaz de detectar automaticamente 100% de los casos cuando el sistema falla, lo
que significa en terminos practicos, que podemos entregar mediciones con mayor precision
al momento de calcular los promedios. Con respecto al modelo de apariencia propuesto,
este obtuvo un rendimiento alentador, reduciendo el error promedio (en pıxeles) un 33.1%
comparado con otros metodos de seguimiento, basados en Online Boosting.
Palabras Claves: Vision por Computador, Seguimiento, Naive Bayes, Descriptor de
covarianza; Modelos dinamicos
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. INTRODUCCION
En el contexto de las empresas con ventas al por menor o retail, la satisfaccion al
cliente es uno de los aspectos mas importantes en el proceso del negocio, ya que esta 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 atencion. Esto toma especial interes, en los supermercados o tiendas de auto
servicio, ya que estas 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 satisfaccion del cliente. Es por esto que, proponemos un sistema para calcular tiempos de
espera en colas de supermercados, a partir de tecnicas de vision por computador, inteligen-
cia de maquina y multiples vistas. Lo que en definitiva, nos permitira estimar los tiempos de
espera promedio de los clientes y en consecuencia le proporcionara a los supermercados in-
formacion necesaria para estimar la cantidad optima de cajeras y cajas de atencion abiertas,
para un momento especıfico. Para esto proponemos un sistema de seguimiento aplicable a
multiples vista, sustentado por un nuevo y simple modelo de apariencia propuesto en esta
tesis, llamado Online Naive Bayes Nearest Neighbor.
1.1. Motivacion
A continuacion presentaremos los principales aspectos tecnicos que motivaron el de-
sarrollo de este trabajo. En esta seccion abordaremos los conceptos basicos de la teorıa de
colas relacionado con los tiempos de espera y los principales conceptos del area de vision
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, semaforos, etc. El fenomeno de las colas surge cuando un recurso compartido
necesita ser accedido o dar servicio a un elevado numero 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 relacion 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) Numero 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 patron de
llegada del cliente y la reaccion de los elementos anteriormente descritos determinaran 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 distribucion de Poisson; sin embargo, no todas los procesos de
llegadas se rigen por esta distribucion (Seow, 2000).
Entre todos los elementos relacionados con una cola, el tiempo de espera es el aspecto
mas relevante, ya que influencia profundamente el comportamiento del cliente. Algunos
podran optar por no hacer la cola a la vista de la longitud de esta; otros despues de hacer fila
por un tiempo considerable, optaran por salir de esta y los ultimos permaneceran 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 desee medir el tiempo que un cliente espera en una cola, antes de
ser atendido, simplemente se debe cambiar la configuracion de las camaras, para que solo
capten informacion hasta ese punto.
Los clientes llegan con la intencion de utilizar algun 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 satisfaccion del consumidor es un indicador relevante en las orga-
nizaciones, ya que el principal factor que contribuye a este, es el tiempo de espera. El
2
numero de servidores (ej.: cajero/as) influencian directamente el largo de una cola. A
mayor numero de servidores, menor el tamano de la cola y por lo tanto, menor el tiempo de
espera. Colas cortas y tiempos de espera razonables traen satisfaccion al cliente; el desafıo
es encontrar la forma de predecir el numero optimo de servidores, a partir de la tasa de
llegada de los consumidores.
Ahora, cuando una organizacion tiene una buena gestion, sus objetivos suelen estar
centrados en encontrar una solucion entre dos extremos. Por un lado, contratar una nu-
merosa dotacion de personal de servicio (ej.: cajero/as) y ofrecer muchas instalaciones de
servicio (ej.: cajas de supermercado); lo cual puede resultar en una excelente atencion al
cliente, donde rara vez mas de uno o dos clientes esten en una cola. Los clientes estaran
satisfechos con la rapida respuesta y apreciaran la comodidad. Esto sin embargo, puede
ser muy costoso. Por otra parte, el otro extremo es tener al mınimo numero la dotacion de
personal y servidores (ej.: cajas de supermercado) abiertos. Esto mantiene el costo de los
servicios bajos, pero podran dar lugar a la insatisfaccion 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 esten satisfechos, no abandonen
la cola sin haber sido atendido y esten dispuestos a regresar. Pero al mismo tiempo estan
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 area de vision por
computador podrıa ser un gran complemento a la teorıa de colas; ya que esta puede proveer
informacion en tiempo real a los modelos matematicos, 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 area de vision por computador e inteligencia artificial, y propondremos una aplicacion
respecto a la medicion de tiempos de espera de los clientes.
3
1.1.2. Vision por Computador
Una de las habilidades mas extraordinarias de la vision humana es el reconocimiento
de objetos y rostros. Sin importar el angulo, tamano, luminosidad u oclusion del objeto,
la vision 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 area de vision por computador, se pretende poder disenar maquinas
o sistemas que puedan lograr esta habilidad automaticamente y ası poder utilizarlos, por
ejemplo, en aplicaciones de vigilancia o control de calidad.
En el campo de vision por computador, los objetivos basicos para construir un apli-
cacion 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 ultimos anos se han podido obtener multiples aplicaciones
de deteccion, reconocimiento y seguimiento en muchas areas distintas. Estas incluyen
video juegos, asistencia para conductores, edicion de video, control de calidad, control de
transito, 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 esta
quedando dormido, basandose en reconocimiento de expresiones (Ji, Zhu, & Lan, 2004);
en control de calidad existen aplicaciones las cuales pueden definir si un producto esta en
perfecto estado o no, a partir de las caracterısticas (tamano, forma, color, etc.) de la imagen
obtenida (Pedreschi, Mery, Mendoza, & Aguilera, 2004); por ultimo, en el area de seguri-
dad y vigilancia existen aplicaciones las cuales, a partir del video de seguridad, detectan
objetos o comportamientos extranos, tales como robos, violencia o bombas (Nguyen, Bui,
Venkatsh, & West, 2003).
Actualmente, para lograr estas tareas se utilizan distintas tecnicas, a traves de las cuales
se obtiene informacion relevante de las imagenes o videos, conocidos como descriptores
o caracterısticas (Mikolajczyk & Schmid, 2005). Un descriptor debe ser idealmente dis-
criminativo, robusto y facilmente computable. Existe una gran variedad de descriptores,
4
a) b) c)
FIGURA 1.1. Ejemplos de aplicaciones de vision por computador existentes. a)Deteccion y reconocimiento de comportamientos extranos. b) Deteccion de ex-presiones y reconocimiento de expresiones faciales para detectar somnolencia delconductor. c) Control de calidad de alimentos a partir de caracterısticas visuales deuna imagen.
algunos enfocados a ser calculados rapidamente, mientras que otros, en obtener la mayor
informacion posible. Por otra parte existen algoritmos que detectan regiones relevantes
e invariantes al tamano, luminosidad y perspectiva, de esta forma se calculan las carac-
terısticas solo a estas regiones relevantes y no a toda la imagen, esta tecnologıa se conoce
en ingles como viewpoint invariant segmentation (Kadir, Zisserman, & Brady, 2004; Sivic,
Schaffalitzky, & Zisserman, 2004). Es por esto que, la seleccion de caracterısticas es uno
de los pasos mas importantes en el problema de deteccion, reconocimiento y seguimiento
de objetos; ademas es el punto de partida para construir cualquier aplicacion de vision por
computador.
Ahora, en el area de vision 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 esta el objeto (sustraccion de fondo (Palaio & Batista, 2008)).
En terminos generales, un sistema de seguimiento tiene tres componentes: repre-
sentacion de la imagen, modelo de apariencia y modelo de movimiento. Actualmente existe
5
una variedad de metodos para crear el modelo de apariencia y muchos de estos utilizan in-
formacion estadıstica, la cuales puede ser definida manualmente o entrenada a partir del
primer cuadro (Adam, Rivlin, & Shimshoni, 2006). Estos metodos son simples pero ge-
neralmente tienen grandes dificultades cuando el objeto seguido cambia significativamente
de apariencia en el tiempo. Esto llevo al desarrollo de metodos 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 metodo, donde el modelo de apariencia se rige a partir
de clasificadores debiles entrenados online, que detectan el objeto seguido y/o el fondo.
Este metodo 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 mas desafiante, al momento de actualizar el modelo de apariencia, es la
eleccion de nuevas muestras, tanto positivas como negativas. Babenko et al. (2009) pro-
ponen una metodologıa de muestreo optima, enfocado especıficamente en su modelo de
apariencia basado en clasificadores. Ademas, este modelo utiliza un metodo 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, tambien 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 oclusion parcial prolongada.
1.2. Marco Teorico
A continuacion, se presentara una descripcion completa de los principales algoritmos y
metodos empleados como sustento teorico a lo largo de esta tesis; esta descripcion 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 seran utilizados como base para proponer
6
un nuevo modelo de apariencia dinamico y el modelo de apariencia Online Multiple In-
stance Boosting se empleara principalmente de comparacion.
1.2.1. Descriptor de Covarianza
Tuzel et al. (2006) propusieron una elegante solucion para integrar multiples carac-
terısticas, las cuales son simples y rapidas de calcular; como gradiente, color, posicion o
intensidad, inclusive se pueden utilizar caracterısticas de camaras infrarrojas o termicas.
En comparacion a otros descriptores como Haar (Viola & Jones, 2001) o gradientes de
histograma, este descriptor otorga mucho mas informacion y tiene la ventaja que no esta
sujeto al tamano de la ventana de busqueda. La region 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 mas un clasificador LogitBoost, para la deteccion de peatones; Hu and Qin
(2008) proponen utilizar el filtro partıculas, para el seguimiento de objetos, utilizando como
peso de las partıculas, metricas de la matriz de covarianza; Porikli et al. (2006) proponen
un algoritmo para seguir objetos utilizando la region de covarianza y algebra de Lie para
crear un modelo de actualizacion.
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 numero de sub-caracterısticas utilizadas y φi es la funcion que relaciona la imagen con
la i-esima sub-caracterıstica, es decir la funcion que obtiene la i-esima 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 medicion estadıstica
de la variacion o relacion entre dos variables aleatorias, esta puede ser negativa, cero o
7
positiva, dependiendo de la relacion 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 correlacion entre
las caracterısticas.
Utilizar la matriz de covarianza como descriptor tiene multiples ventajas, primero
unifica informacion tanto espacial como estadıstica del objeto; segundo provee una ele-
gante solucion 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
tamano de ventana constante o fija, ya que no importa el tamano de la region, el descrip-
tor es la matriz de covarianza, que es de tamano constante d × d, y quinto, la matriz de
covarianza puede ser facilmente calculable, para cualquier region o sub-region.
A pesar de todos los beneficios que trae la representacion del descriptor a partir de
la matriz de covarianza, el calculo para cualquier sub-ventana o region dado una imagen,
utilizando los metodos convencionales, la hace computacionalmente prohibitiva. Tuzel et
al. (2006) proponen un metodo computacionalmente superior, para calcular la matriz de
covarianza de cualquier sub-ventana o region (rectangular) de una imagen a partir de la
formulacion de la imagen integral; concepto inicialmente introducido por Viola and Jones
(2001), para el computo rapido de caracterısticas de Haar. A continuacion explicaremos
como se realiza este calculo:
Sea P una matriz de W ×H × d , el tensor de la imagen integral
P (x�, y�, i) =�
x<x�,y<y�
F (x, y, i) i = 1 . . . d (1.2)
Sea Q una matriz de W ×H × d× d, el tensor de segundo orden de la imagen integral
Q(x�, y�, i, j) =�
x<x�,y<y�
F (x, y, i)F (x, y, j) i, j = 1 . . . d (1.3)
Ademas definimos como
Px,y =�P (x, y, 1) . . . P (x, y, d)
�T(1.4)
8
FIGURA 1.2. Ejemplo de como se construye el descriptor de covarianza de unaregion, a partir de una imagen pasando por la creacion de la matriz de carac-terısticas.
Qx,y =
Q(x, y, 1, 1) . . . Q(x, y, 1, d)... . . . ...
Q(x, y, d, 1) . . . Q(x, y, d, d)
(1.5)
De esta forma la covarianza de cualquier region 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)
CR(x�,y�;x��,y��) =1
n− 1[RQ −
1
nRPR
TP ] (1.8)
donde n = (x�� − x�)(y�� − y�). De esta forma, despues de construir el tensor de primer or-
den P y el tensor de segundo orden Q, la covarianza de cualquier region 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 clasicos algoritmos de inteligencia de maquinas, como por
9
ejemplo: vecinos cercanos, distancia de Mahanalobis, etc. Por otra parte, las matrices de
covarianza son simetricas positivas definidas, las cuales estan incluidas dentro de la algebra
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 topologico con metricas Riemanianas, las cuales permiten
generalizar el espacio Euclidiano (Rossmann, 2002).
1.2.2. Naive Bayes Nearest Neighbor
El problema de clasificar imagenes ha acaparado considerablemente la atencion en la
comunidad de Vision por Computador. En los ultimos anos, el esfuerzo combinado de
la comunidad cientıfica dio lugar a nuevos y novedosos enfoques para la clasificacion de
imagenes. Estos metodos pueden dividir aproximadamente en dos grandes familias:
(i) Learning-based Classifiers: clasificadores que requieren una fase intensiva de
aprendizaje/entrenamiento de los parametros internos, como por ejemplo; SVM
(Cortes & Vapnik, 1995), Boosting (Viola & Jones, 2001), arboles de decision,
etc.
(ii) Non-parametric Classifiers: clasificadores que soportan su decision directamente
a traves de los datos y no requieren una fase de entrenamiento/aprendizaje de
parametros. Uno de los clasificadores no parametricos mas comun es el de Veci-
nos mas cercanos o Nearest Neighbor Classifier.
Los clasificadores no parametricos 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 numero clases. Segundo, evitan el sobre entrenamiento de
parametros, 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 area de clasificacion de imagenes, existe una gran
brecha de rendimiento entre los metodos que utilizan el enfoque Nearest Neighbor Classi-
fier y los metodos, en el estado del arte, que utilizan Learning-based Classifiers. Segun
10
Boiman et al. (2008), la degradacion de los metodos no parametricos en la clasificacion de
imagenes, sucede principalmente por dos practicas comunes:
(i) Cuantificacion de Descriptores: las imagenes 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 pequena coleccion de descriptores relevantes
o bag of words, lo cual permite generar una representacion condensada de la
imagen. Esta reduccion, da a lugar a una significativa disminucion a la dimen-
sionalidad, pero tambien, a una importante disminucion al poder discriminativo
del descriptor.
(ii) Distancia Imagen-Imagen: en la clasificacion de imagenes, los metodos basados
en Vecinos mas Cercanos, proveen buenos resultados exclusivamente cuando la
imagen a clasificar es similar a una de las imagenes 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 clasificacion de
imagenes, 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. Ademas demuestran que bajo el supuesto
Naive Bayes, el algoritmo propuesto obtiene el clasificador optimo teorico, para la imagen.
El algoritmo de Naive Bayes Nearest Neighbor es sorprendentemente simple, ya que
gracias al enfoque de vecinos mas cercanos, el supuesto de Naive Bayes y la distribucion
de los descriptores; logra simplificar el clasificador optimo de imagenes definido por la dis-
tribucion probabilıstica p(d|C); donde d representa los descriptores de la imagen a clasi-
ficar y C la clase. Especıficamente, la distribucion de probabilidad de los descriptores es
modelada por la funcion kernel de Parzen, la cual es no parametrica y tiene una distribucion
11
donde casi todos los descriptores son mas 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�n
i=1 ||di − NNC(di)||2, donde NNC(di) representa el descriptor en la
clase C especıfica, mas cercano a di, segun vecinos mas cercanos. El metodo puede ser
resumido por el algoritmo 1.
Algoritmo 1: Naive Bayes Nearest Neighbor (NBNN)Data: imagen a consultar
Result: clase estimada C
Computar los descriptores d1, . . . , dn de la imagen de entrada;
∀di ∀C clasificar di en C a partir de vecinos mas cercanos: NNC(di);
C = argminc
�ni=1 �di −NNC(di)�2;
De esta forma, C 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 funcion de perdida (o ganancia) J especıfica. En este enfoque
los clasificadores debiles son seleccionados secuencialmente para optimizar el siguiente
criterio:
(hk,αk) = argmaxh∈H,α
J(Hk−1 + αh) (1.9)
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 debiles. En los algoritmos de Boost-
ing con aprendizaje previo, la funcion objetivo J es calculada a traves 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. Ademas, 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 interes 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 σ = 11+e−x es la funcion sigmoidal y las probabilidades del conjunto de muestra
p(yi|Xi) son modeladas usando la funcion NOR (1.11).
p(yi|Xi) = 1−�
j
(1− p(yi|xij)) (1.11)
En todo momento el algoritmo mantiene un numero M de clasificadores debiles 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 debiles
de un algoritmo MIL necesitan la clasificacion por instancia, es decir yij . Debido a que
esta informacion no esta disponible, todas las muestras xij son etiquetadas a partir de yi. A
continuacion, se seleccionan K (tal que K < M ) clasificadores debiles h desde el conjunto
disponible M , utilizando el siguiente criterio.
hk = argmaxh∈{h1,...,hM}
logL(Hk−1 + h) (1.12)
logL =�
i
(log(p(yi|Xi))) (1.13)
El metodo puede ser resumido por el algoritmo 2.
13
Algoritmo 2: Online Multiple Instance Boosting (OMB)Data: Conjunto {Xi, yi}Ni=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 debiles del conjunto, con {xij, yi};
Inicializar Hij = 0 para todos los i, j;
for k = 1 to K do
for m = 1 to M dopmij = σ(Hij + hm(xij));
pmi = 1−�
j(1− pmij );
Lm =�
i(yi log(pmi ) + (1− yi)log(1− pmi ));
end
m∗ = argmaxm Lm;
hk(x) ← hm∗(x);
Hij = Hij + hk(x);
end
A partir del marco teorico aquı presentado, podemos concluir que usando tecnicas de
el estado del arte en el area de vision por computador, es posible representar, reconocer
y seguir un objeto presente en una imagen. Esto nos permitira cumplir con los objetivos
planteados en esta tesis.
14
2. DISENO
2.1. Hipotesis
La hipotesis de este trabajo es que a partir de tecnicas de vision por computador, in-
teligencia artificial y multiples 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 traves 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 proporcionara el tiempo de espera del cliente. Debido a que las colas
son recurrentemente largas, nuestra solucion implica un sistema dos camaras sincronizadas,
una a la entrada de la cola y otra a la salida. De esta forma, nuestro sistema debera ser capaz
de asociar la informacion de ambas camaras para obtener mediciones precisas.
Para esto, construiremos un nuevo modelo de apariencia dinamico, 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). Ademas debera 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 solucion incluye dos camaras debido al gran tamano de las
colas; esto quiere decir que a medida que avanza el cliente en la cola, este hace un recorri-
do desde la primera camara hacia la segunda (Figura 2.1). De esta forma, en el momento
que el cliente abandona el campo visual de la primera camara, inmediatamente despues,
en la segunda camara el sistema debera detectar los rostros presentes en la escena y luego
reconocer al cliente.
15
FIGURA 2.1. Configuracion de las dos camaras de video en una caja de superme-rcado. La primera camara controla el ingreso de los clientes a la cola y la segundacontrola la salida del cliente.
Finalmente, como objetivo secundario, deseamos estudiar empıricamente las ventajas
y desventajas de una configuracion lateral de las camaras, en comparacion a una configu-
racion top view o vista superior.
2.3. Metodologıa
Con el fin de cumplir nuestros variados objetivos hemos disenado dos experimentos
independientes (2.2). El primero, esta divido en tres sub-experimentos, estara dirigido es-
pecıficamente a medir la precision y rendimiento del modelo propuesto. De esta forma, el
primer sub-experimento estara enfocado en comparar el modelo de apariencia propuesto
con un metodo en el estado del arte en el Online Boosting; el segundo sub-experimento
tendra 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 tendra como objetivo probar el modelo propuesto en diferentes escenas
16
FIGURA 2.2. Diagrama general del trabajo realizado.
y situaciones extremas. Para esto utilizaremos catorce videos, los cuales, para facilitar la
explicacion, los separaremos en tres grupos.
El primer grupo incluye nueve videos publicos utilizados en los principales y mas mo-
dernos trabajos respecto al seguimiento de objetos, para las pruebas de comparacion. Cada
video tendra la informacion relacionada a la posicion real del objeto seguido para cada
cuadro (ground truth); ademas tendran diferentes resoluciones, frecuencias y podran ser
tanto blanco y negro, como a color. Para la comparacion se utilizaran 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 area de seguimiento. El segundo grupo incluye cuatro videos realizados especıficamente
para esta tesis. Los videos fueron captados en una resolucion de 640×480, a 30 cuadros por
17
segundo, en un supermercado local (Santiago, Chile) con camaras Point Grey y describen
escenas con fondos complejos, peatones y oclusiones extremas. Estos videos no incluyen
informacion respecto a la posicion real del objeto seguido para cada cuadro; ni comparacion
con otros algoritmos. El tercer y ultimo grupo es un video de larga duracion capturado
desde una perspectiva superior (top view)1, el cual describe el transito de peatones. Cada
peaton incluye informacion respecto a su posicion real para cada cuadro, pero al igual que
el segundo conjunto este no tendra comparacion con otros algoritmos.
El segundo experimento estara dirigido a medir la precision 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 duracion con una resolucion de 640 × 480, captados por dos camaras sin-
cronizadas (una escena, multiples vistas) a 30 cuadros por segundo, en un supermercado
local (Santiago, Chile) con camaras Point Grey.
1BIWI Walking Pedestrians Datasets - http://www.vision.ee.ethz.ch/datasets/index.en.html
18
3. METODO PROPUESTO
El sistema de seguimiento propuesto incluye los tres componentes descritos anteri-
ormente, representacion de la imagen, modelo de apariencia y modelo de movimiento.
Tanto la representacion de la imagen, como el modelo de movimiento fueron construidos
a partir de pequenas variaciones de metodos existentes. Sin embargo, el modelo de apari-
encia propuesto, nuestra principal contribucion, es un nuevo modelo llamado Online Naive
Bayes Nearest Neighbor, el cual es robusto a oclusiones parciales prolongadas y cambios
drasticos de apariencia. Adicionalmente incluiremos un cuarto componente, enfocado es-
pecıficamente al calcula de tiempos de espera; el cual nos permitira detectar y reconocer
clientes entre una camara 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. Representacion 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 esta definido por:
F (x, y, i) = [x y R G B |Ix| |Iy|�|Ix|2 + |Iy|2 |Ixx| . . .
|Iyy| tan−1( IxIy ) 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( IxIy ) reprensenta la orientacion 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 ademas agregamos un Saliency Map debido a los excelentes
resultados empıricas obtenidos.
19
FIGURA 3.1. Metodo para normalizar los parches. Notar que se crea una nuevaimagen, de esta forma se pueden utilizar ventanas de busquedas con transforma-ciones afines.
Cabe destacar que en nuestro caso, no calculamos los tensores de toda la imagen, sino
que solo de los parches que nos interesan; en contraste al metodo original propuesto por
Tuzel et al. (2006). De esta forma podemos utilizar ventanas de busqueda 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 tamano fijo de 20 × 20 pıxeles, para objetos simetrico (rostros) y 20 × 40 pıxeles,
para casos asimetricos (peatones). Por otra parte, aunque el descriptor de covarianza tiene
un grado de invariabilidad a cambios de escala, este no es suficiente para casos extremos;
es por esto que al utilizar un tamano fijo para la nueva imagen, anadimos un nivel mas de
normalizacion a cambios de escala (Figure 3.1).
Por ultimo, como lo describimos anteriormente, el descriptor de covarianza no es un
elemento del espacio Euclidiano, ya que es una matriz semi definida positiva (SPD+).
Por lo tanto, los clasicos algoritmos de inteligencia de maquina, como por ejemplo PCA
(Pearson, 1901), LDA (Abdi, 2007), etc., en su forma original no pueden ser utilizados, ya
que utilizan una representacion vectorial y el espacio euclidiano para calcular la separacion
optima de los conjuntos. Las matrices SPD+ estan incluidas en el algebra de Lie o el
espacio de Riemann (Riemannian Manifolds) (Rossmann, 2002), ası que para poder com-
parar dos descriptores de covarianza, utilizamos una metrica 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 esta definido por la de-
scomposicion de valores singulares de la matriz X. Sea la descomposicion 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 deteccion, 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), disenamos un modelo de apariencia que
clasifica el parche de cada nueva muestra gracias un clasificador Naive Bayes Nearest
Neighbor. En el metodo propuesto, el clasificador Naive Bayes Nearest Neighbor es ac-
tualizado en cada iteracion 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 mas cercanos
utilizado por el algoritmo Naive Bayes Nearest Neighbor.
Cada muestra esta 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 numero de la muestra para el cuadrante q especıfico,
mq es el numero 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 estas deben ser menor o igual a N (Figura 3.3).
21
FIGURA 3.2. Distribucion de los cuatro cuadrantes a los cuales se le calcula eldescriptor de covarianza.
FIGURA 3.3. Diagrama del modelo de apariencia
A continuacion 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:
d(M,P ) =4�
q=1
mini�mq
�ρ(M(q, i), P (q)) + λ�ZM(q, i)− ZP (q)�
�(3.4)
22
Donde utilizamos la metrica definida en (3.2), ya que M(q, i) y P (k) son matrices de
covarianza. Ademas agregamos informacion espacial perdida al utilizar los parches y no
la imagen completa, para calcular la matriz de covarianza, donde ZM(q, i) y ZP (q) son
la posicion (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 ultimo
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:
ω(M,P, q) =1
mq
mq�
i=1
ρ(M(q, i), P (q)) (3.5)
Donde q es el cuadrante al cual se le esta calculando la distancia promedio y mq es la
cantidad de muestras para el cuadrante q. Ademas 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 ultimo, el modelo se actualiza de la siguiente manera:
q∗ = argminq
ω(M,P ∗, q) (3.6)
j =
mq∗ + 1 if mq∗ < N
argmaxi�mq∗
R(q∗, i) if mq∗ = N(3.7)
M(q∗, j) = P ∗(q∗) (3.8)
R(q∗, j) = ω(M,P ∗, q∗) (3.9)
Especıficamente, la ecuacion (3.6) busca el cuadrante de P ∗ con menor distancia promedio
al modelo; la ecuacion (3.7) describe como es seleccionado el indice donde se agregara
23
la muestra (del cuadrante q) en el modelo y la ecuacion (3.9) guarda la distancia prome-
dio de la muestra al modelo. Esta informacion es utilizada para definir el protocolo de
actualizacion (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 mas detalle referirse al al-
goritmo 3, el cual recibe un conjunto de parametros que describen un conjunto de ventanas
de busqueda, donde (xk, yk) representa el centro, (wk, hk) representa el ancho y el largo y
θl representa la rotacion, de la ventana. Finalmente, el algoritmo devuelve la configuracion
de los parametros, que obtiene menor distancia al modelo.
24
Algoritmo 3: Online Naive Bayes Nearest NeighborData: {xk, yk, wk, hk, θk}Kk=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); // ecuacion (3.4)
end
k∗ = argmink
dk;
P ∗ = Pk∗ ;
q∗ = argminq
ω(M,P ∗, q) ;
if mq∗ < N thenj = mq + 1
elsej = argmax
i�mq∗R(q∗, i) ;
end
M(q∗, j) = P ∗(q∗);
R(q∗, j) = ω(M,P ∗, q∗);
3.3. Modelo de Movimiento
Para poder destacar la real contribucion del modelo de apariencia propuesto, utilizamos
un modelo de movimiento muy simple, que realiza una busqueda exhaustiva local a multiples
escalas en un area menor incluida en la ultima posicion estimada.
Formalmente, sea Ot−1x,y,w,h sea el parche seguido en el instante t − 1 del video, con
centro x, y y dimensiones w, h. Se define el area de busqueda para el instante t como
Stx,y,w,h; donde:
Stx,y,w,h = Ot−1
x,y,wα , hα(3.10)
25
FIGURA 3.4. Descripcion del modelo de movimiento. El rectangulo verde rep-resenta el ultimo parche seguido O
t−1x,y,w,h, el rectangulo rojo representa el area de
busqueda Stx,y,w,h y los rectangulos azules representan las muestras T t
x,y,w,h
En el area Stx,y,w,h se busca exhaustivamente a partir del parche T t
x,y,w,h; donde los centros
T tx,y,w,h son las coordenadas de cada pıxel, dentro del area de busqueda St
x,y,w,h y βn es una
lista de escalares (Figura 3.4).
T tx,y,w,h = St
xp,yp,wβn,hβn(3.11)
Finalmente, al momento t, se selecciona el parche T txn,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. Deteccion y reconocimiento de clientes
Para poder aplicar el metodo de seguimiento propuesto, en un ambiente de multiples
camaras, es necesario lograr reconocer y detectar el objeto (seguido), entre las camaras
presentes. Especıficamente para el problema de estimar tiempos de espera de clientes;
el sistema consta de dos modulos; 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 implementacion
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 parametros de configuracion:
(i) Factor de escala: 1.1.
(ii) Numero mınimo de vecinos: 3.
(iii) Poda de imagenes: a partir del detector de bordes de Canny.
(iv) Tamano mınimo de ventana: 25× 25 pıxeles.
A continuacion, a partir de los rostros detectados, se debe reconocer al cliente (seguido);
para esto utilizamos el mismo modelo de apariencia propuesto, con toda la informacion
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 camara, el modelo de apariencia es reiniciado con nueva informacion
base del objeto (posicion inicial y se borra la memoria). El algoritmo 4 describe el proceso.
Algoritmo 4: Detector y Reconocedor de RostrosData: M , Frame
Result: xk∗ , yk∗ , wk∗ , hk∗
{xk, yk, wk, hk}Kk=1 = faceDetectionV 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); // ecuacion (3.4)
end
k∗ = argmink dk;
1Open Source Computer Vision Library - http://opencv.willowgarage.com
27
4. EXPERIMENTOS
Para alcanzar los objetivos propuestos en este trabajo, hemos disenado dos experimen-
tos independientes. El primero estara orientado en cuantificar el rendimiento del nuevo
modelo de apariencia. El segundo estara dirigido a medir la precision del calculo 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 precision, el rendimiento y el real aporte del nuevo
modelo de apariencia, se han disenado un conjunto de experimentos. Especıficamente
el nuevo algoritmo sera probado en una serie de desafiantes videos, tanto publicos como
especıficos para esta tesis y en comparacion utilizaremos siete distintos algoritmos. A
continuacion se describiran la configuracion de los siete algoritmos, mas la configuracion
del modelo propuesto.
(i) Online-AdaBoost (OAB): propuesto por Grabner et al. (2006) e implementado
en (Babenko et al., 2009); donde el radio de busqueda se fijo en 35 pıxeles.
(ii) SemiBoost tracker: descrito por Grabner et al. (2008), utiliza informacion eti-
quetada solo 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
estatico 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 debiles fijo en 0.85 y un ponderador
29
para el muestreo de ejemplares negativas fijo en 50. Ademas, debido a que el
algoritmo tiene una fuerte dependencia a la construccion al azar de las carac-
terısticas de Haar utilizaremos cinco intentos con la misma configuracion, 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 arboles de decision
online; ademas incluye un esquema temporal de pesos para descartar algunos
arboles.
(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 mas cercanos, busqueda efi-
ciente de ventanas y un novedoso metodo de seleccion y poda de caracterısticas.
(viii) Online Naive Bayes Nearest Neighbor (ONBNN): para nuestro metodo prop-
uesto, el valor de los parametros 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 publicos1, 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 incluiran cuatro de los videos anteriormente descritos (Occluded Face,
Occluded Face 2, Girl y David ) mas cuatro videos publicos2 adicionales, Lemming, Board,
Liquor y Box; donde comparamos a los siete algoritmos descritos anteriormente, mas el
1Tracking With Online MIL Research Page - http://www.vision.ucsd.edu/∼bbabenko/project miltrack.shtml2PROST 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 informacion de la posicion
real del centro del objeto seguido (ground truth), cada cinco cuadros, sera 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 publicos, sin utilizar algoritmos de com-
paracion. 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 desempeno, utilizamos un error (en pıxeles) promedio de la
ubicacion del centro; la cual calcula para cada cuadro, la norma euclidiana entre el centro
de la posicion estimada y la posicion real del centro del objeto seguido (4.1). Ademas, la
posicion, en el primer cuadro del video, del objeto a seguir sera ingresada manualmente,
por algun usuario.
e =1
n
n�
i=1
�Ox,y −Ogx,y� (4.1)
4.2. Tiempos de espera
Para corroborar nuestra hipotesis, en sıntesis debemos cuantificar la precision 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 duracion, captada
por dos camaras sincronizadas, donde se debe calcular el tiempo de espera de los clientes
que llegan a una caja de servicio especıfica.
Primero disenamos una distribucion especıfica para las camaras situadas en la caja de
servicio (Figura 4.1), de tal forma que cubra el mayor campo visual posible. Esta configu-
racion consta de dos camaras; 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 configuracion de dos camaras permite seguir a traves de la fila, al
cliente, de tal forma que si sale del campo visual de la primera camara, el cliente aparecera
3BIWI Walking Pedestrians Datasets - http://www.vision.ee.ethz.ch/datasets/index.en.html
31
(a) Vista Superior (b) Vista Lateral
FIGURA 4.1. Vista superior y lateral de la configuracion de las camaras.
en la segunda. Por otra parte, se privilegio esta distribucion, ya que disminuye la oclusion
al momento que la cola de espera crece.
Algoritmo 5: Criterio entrada y salida ClienteData: frames, rectEstimado
Result: estado del cliente en la camara
while frames.next ! = NULL do
if frames.next es de la camara 1 then
if rectEstimado.center.x < inLimit thenreturn cliente entro a la cola de espera;
else if rectEstimado.topLeft.x < outLimit thenreturn cliente salio de la camara;
end
else
if rectEstimado.topLeft.x < outLimit thenreturn cliente salio 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 camara, en el espacio 2D de la imagen (Figura 2.1). Esto quiere decir
que en el caso que la posicion estimada del cliente, traspase un umbral (en X o Y ), se
considerara que el cliente entro o salio de la camara. Ademas, en el instante que el sistema
32
estime que un cliente salio de la primera camara, comenzara automaticamente a seguirlo
en la segunda camara, sin embargo si el sistema estima que salio de la segunda camara, se
estimara que el cliente salio 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 posicion estimada del rostro del
cliente, rectEstimado.topLeft.x representa la coordenada x de la esquina superior izquierda
de la posicion estimada del rostro del cliente, inLimit = 190 (pıxeles) y outLimit = 10
(pıxeles).
Tercero, debido a que el sistema de seguimiento utilizara como base el modelo de a-
pariencia propuesto, el sistema debera regirse a partir de las restricciones de este. Por lo
tanto, cada cliente que deba ser seguido por el sistema, se le debera marcar manualmente
su posicion inicial, en la primera camara; no ası en la segunda, ya que sera detectado
automaticamente por el sistema.
Finalmente, para comparar los resultados se hara una medicion 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
terminara el tiempo de espera, inclusive si llegara a devolverse a la caja.
33
5. RESULTADOS
Los resultados de los experimentos, anteriormente descritos, estaran divididos, al igual
que los experimentos, en dos grupos. Primero presentaremos los resultados respecto al
modelo de apariencia propuesto; a continuacion, los relacionados con el calculo 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 siguio 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 desempeno,
porque esta disenado especıficamente para manejar este tipo de oclusiones, ya que utiliza
un parte-base Model. Sin embargo, en videos similares, pero mas 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 mas, 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 oclusion completa; lo cual debido al pobre
modelo de movimiento y busqueda, provoca la perdida del objeto seguido. Ahora, en el
video board el error promedio obtenido, fue considerablemente mayor en comparacion a
los otros metodos; esto se debio a la ventana inicial seleccionada, la cual cubre en pro-
porcion 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 solo utilizan areas relevantes o de
interes. Corrigiendo la ventana inicial (se roto 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 ubicacion 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 desempenos y lossubrayados los siguientes mejores.
Secuencia # Frames OAB ORF OMB SemiBoost Frag PROST NN ONBNNGirl 502 43.3 - 31.6 52.0 25.5 19.0 18.0 13.9David 462 51.0 - 15.6 43.0 46 21.6 15.6 10.8Faceocc1 886 44.0 - 18.4 41.0 6.0 7.0 10.0 11.3Faceocc2 812 21.0 - 14.3 43.0 45 21.6 12.9 12.8Board 698 - 154.5 51.2 - 90.1 37.0 20.0 221.6Box 1161 - 145.4 104.6 - 57.4 12.1 16.9 121.0Lemming 1336 - 166.3 40.5 - 82.8 25.4 79.1 46.7Liquor 1741 - 67.3 165.1 - 30.7 21.6 15.0 85.4
TABLA 5.2. Error promedio de la ubicacion del centro (en pıxeles). Los algorit-mos comparados son; OMB (con sus cinco ejecuciones) y ONBNN. Los resultadosdestacados indican los mejores desempenos y los subrayados los siguientesmejores.
Secuencia # Frames OMB 1 OMB 2 OMB 3 OMB 4 OMB 5 ONBNNSurfer 375 4.9 7.7 13.4 5,5 14.6 4.5Faceocc1 886 18.4 32.4 19.6 31.6 34.4 11.3Faceocc2 812 30.7 22.8 16.7 14.3 16.5 12.8Girl 502 31.6 33.2 33.8 34.9 26.5 13.9David 462 19.6 19.8 23.8 15.6 30.1 10.8
TABLA 5.3. Error promedio de la ubicacion del centro (en pıxeles). Video convista superior, de larga duracion donde se siguieron 100 peatones.
ONBNN# Frames 1193# Peatones 100Error Prom. (pıxel) 5.70Error Max. (pıxel) 188.49
Ahora, comparado con un algoritmo en el estado del arte en el area 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 metodo logra disminuir un 33.1% el error
promedio (en pıxeles), en comparacion a la mejor combinacion de los cinco intentos (para
cada video) del algoritmo Online Multiple Instance Boosting (Babenko et al., 2009).
35
FIGURA 5.1. Error (en pıxeles), cuadro a cuadro, de los centroides para cada se-cuencia seleccionada.
36
FIGURA 5.2. Video Faceocc1; cambios drasticos de apariencia y oclusion parcial.El rectangulo verde representa el metodo propuesto ONBNN y el rojo representa elmetodo 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 erratico por la
poca capacidad de aprender la apariencia del objeto. En nuestros experimentos, cuando
N < 30 el modelo utiliza principalmente la ultima caracterıstica seleccionada para hacer
la clasificacion.
Finalmente los resultados fueron satisfactorios. El modelo Online Naive Bayes Near-
est Neighbor propuesto, obtuvo un buen desempeno en videos con grandes cambios de
apariencia (Figuras 5.2 y 5.5), rapidos movimientos (Figura 5.3) y oclusiones parciales del
objeto. Ademas, obtuvimos excelentes resultados en los videos con vista superior (Figura
5.7), nuestro metodo 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 oclusion inherente a la posicion de la camara. No obstante, obtuvimos
pobres resultados en los casos donde existe completa oclusion y movimientos erraticos
(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 restriccion planteada en la metodologıa), los resultados (Figura 2.1 y Tabla 5.4)
37
FIGURA 5.3. Video Surfer; movimientos rapidos y cambios drasticos de aparien-cia. El rectangulo verde representa el metodo propuesto ONBNN y el rojo repre-senta el metodo OMB.
FIGURA 5.4. Video privado; oclusion total y rapidos movimientos. El rectanguloverde representa el metodo propuesto ONBNN.
FIGURA 5.5. Video Girl; cambios drasticos de apariencia y oclusion parcial. Elrectangulo verde representa el metodo propuesto ONBNN y el rojo representa elmetodo 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 comparacion a los
tiempos reales es un error promedio de 2.25 segundos; lo que nos darıa un error de 2.93%.
Adicionalmente, la desviacion estandar del error es de 0.64 y el error maximo 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)
FIGURA 5.6. Video board; donde (a) representa el seguimiento con la ventanainicial corregida y (b) no. El rectangulo verde representa el metodo propuestoONBNN.
FIGURA 5.7. Video con una perspectiva superior o top view. El rectangulo verderepresenta el metodo propuesto ONBNN.
Ahora, el error de los 14 clientes que no pudieron ser seguidos a traves 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 camara) en todos los casos; esto incluye que el rostro este ocluido, el
cliente este en una posicion extrana (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 estimo un
tiempo de espera igual al tiempo total del video, lo que permitio facilmente distinguirlos en
40
la muestra total de clientes. Es decir, nuestro sistema es capaz de detectar automaticamente
cuando el sistema de seguimiento falla, lo que significa en terminos practicos, que podemos
entregar mediciones 100% confiables. Esto ocurre en 6 de cada 10 personas, lo que para la
estimacion de tiempos de espera en colas de supermercado es mas 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 solo 2.93%. Adi-
cionalmente, a pesar de que solo un 61.11% de los clientes fue seguido correctamente; el
porcentaje restante pudo ser automaticamente 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 tecnicas de vision por
computador, inteligencia artificial y multiples vistas. Para esto, hemos construido un pre-
ciso sistema de seguimiento de rostros, el cual nos permitio estimar el tiempo de espera
del cliente. Este sistema se sustento, en el nuevo modelo de apariencia propuesto; Online
Naive Bayes Nearest, el cual fue el principal aporte de esta tesis. Por otra parte, en terminos
practicos pudimos estudiar extensamente las ventajas y desventajas de la configuracion lat-
eral de las camaras, en comparacion a una configuracion 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 metodo pro-
puesto logra seguir correctamente el objeto seis de los ocho videos utilizados (incluyendo
el video board con ventana inicial corregida). Ademas, nuestro metodo logra superar en
todos los casos, los metodos basados en online Boosting (Tabla 5.2). Especıficamente, el
algoritmo de SemiBoost descarta gran cantidad de informacion relevante al dejar todas las
imagenes 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 rapidas, no ası con oclusiones parciales prolongadas.
El rendimiento superior se debe a la utilizacion de las caracterısticas de covarianza,
las cuales otorgan mayor informacion visual que otras caracterısticas (tales como Haar o
Histogramas) y a la manera optima 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 oclusion y movimientos erraticos; lo cual se debe principalmente al simple
modelo de movimiento utilizado.
42
Cabe destacar que el metodo de apariencia propuesto es muy simple en comparacion
a los cuatro algoritmos anteriores, ya que necesita solo un parametros de configuracion,
ademas 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 metodo obtiene rendimientos
inferiores a los algoritmos utilizados para la comparacion; esto se debe principalmente
al enfoque exhaustivo utilizado en el modelo de movimiento. El modelo de movimiento
debe buscar exhaustivamente en un area menor pero proporcional al tamano de la ventana
estimada en el cuadro anterior; por lo tanto el tiempo de procesamiento esta intrınsecamente
relacionado con el tamano de la ventana estimada, lo cual lo hace poco eficiente. De
esta forma, en el caso de que la ventana sea pequena, 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, ademas de
ser un metodo 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 comparacion a otros modelos, de adaptarse a los cambios de apariencia, del modelo
de apariencia propuesto Online Naive Bayes Nearest; y segundo, el aumento de precision
en el tiempo de espera estimado, proporcionado por la configuracion de multiples vis-
tas (dos camaras y sin calibracion) exitosamente implementada. Ası mismo, gracias a la
combinacion 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 camaras. Ademas, el sistema logro 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 precision al usuario final.
43
6.3. Configuracion de las camaras de video
A partir de informacion empırica acumulada, nos pudimos dar cuenta que distribuir
las camaras desde una perspectiva lateral, en comparacion a una perspectiva superior o top
view, tiene como ventaja la posibilidad de capturar mayor informacion 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 comparacion a una vista superior) de su rostro, lo cual tiene
una gran cantidad de informacion visual; en contraste desde la vista superior, el cliente es
representado por una imagen de baja calidad (ya que esta a una distancia mucho mayor del
cliente), de sus hombros y parte superior de la cabeza, lo cual entrega una cantidad limitada
de informacion visual, haciendo particularmente difıcil la tarea de reconocer (no ası la de
seguir). No obstante la perspectiva superior tiene menor informacion 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 tamano producidos por perspectivas forzadas (cambios drasticos
de tamano por acercarse a la camara).
(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).
Ademas cabe destacar, que para la aplicacion especıfica de tiempos de espera, la dis-
tribucion de las camaras desde una perspectiva lateral, tiene que ser cuidadosamente elegida.
En nuestro caso, la mala posicion de la segunda camara produjo perdidas de informacion
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 algun
sistema mas sofisticado, tal como Filtro de Partıculas o algun algoritmo de busqueda efi-
ciente de sub-ventanas (Lampert, Blaschko, & Hofmann, 2009). Tambien serıa interesante
incluir, tal como lo hace Gu et al. (2010), una penalizacion para cambios drasticos de
tamanos, en la distancia al modelo (3.4); y para aumentar la precision del seguimiento en
situaciones complejas, un sistema para optimizar la seleccion inicial de las ventanas, ya
que el descriptor de covarianza es particularmente sensible a ventanas iniciales que incor-
poren alta proporcion de fondo. Ademas, serıa interesante combinar el metodo propuesto
en este trabajo con el algoritmo propuesto por Babenko et al. (2009), donde, en lugar de
etiquetar todas las muestras dentro de un area, como positiva con el algoritmo de Online
Multiple Instance Boosting, nuestro metodo 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 investigacion desde la perspectiva de multiples
vistas (incluyendo al menos la vista superior y lateral) y calibracion de camaras. Lo
cual serıa de gran utilidad para minimizar el area de busqueda del detector de rostros y
del modelo de movimiento; ya que al tener la matriz de calibracion podemos conocer la
posicion estimada del objeto en las distintas camaras. Adicionalmente, se podrıa realizar
el seguimiento del rostro simultaneamente en las multiples vistas; pero utilizando la matriz
de calibracion y la muestra de la vista que tenga menor distancia al modelo de aparien-
cia, podrıamos optimizar el area de busqueda y aumentar la precision del seguimiento para
casos de oclusion 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