Comparación de Algoritmos de Substracción de Fondo Basados...

11
Comparación de Algoritmos de Substracción de Fondo Basados en Bloques. Alumno: Jesus Miguel Gamboa Aispuro Asesor: Dra. Ruth M. Aguilar Ponce Maestría en Ingeniería Electrónica, Universidad Autónoma de San Luis Potosí Segundo Avance de Tesis 1. Introducción al Proyecto. 1.1. Introducción. Las cámaras digitales se han convertido en un dispositivo presente en casi cualquier lugar, permitiendo la captura de imágenes para su almacenamiento como archivos digitales, su manipulación con software y su distribución electrónicamente [1]. El procesamiento de imágenes ha llegado a ser un área de investigación muy activa en las últimas décadas junto a un rápido incremento en el mercado de tecnología de procesamiento de imágenes y sus aplicaciones. El avance en la tecnología de circuitos integrados ha permitido que se puedan integrar una mayor cantidad de transistores en una área muy pequeña dando lugar a la posibilidad de implementar un gran número de aplicaciones tales como el reconocimiento de rostros, seguimiento de objetos en tiempo real, seguimiento de pupilas para control de dispositivos, etc. En la investigación de procesamiento de imágenes emergen dos tendencias: la computación distribuida y el procesamiento integrado. Ambas tendencias son contenidas en las cámaras inteligentes, las cuales combinan sensado de imágenes, un procesamiento de imagen de alto nivel y comunicación dentro de un dispositivo embebido [2]. Es decir, mientras que las cámaras digitales actuales se limitan a la captura de imágenes, las cámaras inteligentes capturan descripciones de alto nivel de la escena y analizan lo que ven. Estos dispositivos soportan una amplia variedad de aplicaciones incluyendo la detección de objetos, vigilancia, análisis de movimiento, y la identificación facial [1]. Un sistema embebido es un sistema de cómputo que está diseñado para funciones de control específicas y está integrado como parte de un dispositivo completo que puede incluir hardware y partes mecánicas. Así, en contraste con las computadoras de propósito general, un sistema embebido realiza tareas predefinidas, con requisitos muy específicos [3], generando un sistema de bajo costo, de bajo poder con memoria considerable, y portabilidad. El procesamiento de video tiene una gran demanda de rendimiento en tiempo real, por lo que es importante resaltar que el implementar un algoritmo en un sistema embebido presenta ciertos retos, como uso eficiente de memoria y bajo poder de cómputo para lograr el menor consumo de potencia [4]. Wayne Wolf et al. [1] introdujeron el concepto de cámaras inteligentes como sistemas embebidos, desarrollando la primera generación de un sistema de cámaras inteligentes que puede detectar personas y analizar sus movimientos en tiempo real. Los algoritmos empleados en las cámaras inteligentes utilizan procesamiento de bajo y alto nivel. El concepto de una cámara inteligente como sistema embebido, ha permitido solucionar problemas en el área de video vigilancia. Por ejemplo, proporciona opciones para la detección en tiempo real de autos estacionarios (autos en movimiento que paran repentinamente) [5], y proporciona soluciones de problemas en el seguimiento de objetos, la oclusión por ejemplo, utilizando sistemas distribuidos de múltiples cámaras inteligentes [2, 4]. Las cámaras inteligentes, como se mencionó anteriormente, ofrecen una opción viable dentro de la video vigilancia para realizar diversas tareas, tales como la detección de objetos en movimiento, seguimiento de objetos, reconocimiento de actividades, etc. Este proyecto de tesis esta enfocado en la tarea de detección de movimiento. 1.2. Cámaras inteligentes. En [4] Markus Quaritsch et al. mencionan que las cámaras inteligentes son los componentes básicos de los futuros sistemas de video vigilancia. Estos dispositivos no sólo capturan imágenes, si no también, realizan análisis de alto nivel y de compresión de vídeo. Las tareas de análisis de vídeo incluyen detección de movimiento, reconocimiento de objetos, y clasificación. En [2] la arquitectura de una cámara inteligente se divide en tres etapas principales, sensado de imágenes, una unidad de procesamiento y una unidad de comunicación, combinando todas las etapas dentro de un dispositivo embebido. Véase Figura 1. 1

Transcript of Comparación de Algoritmos de Substracción de Fondo Basados...

Page 1: Comparación de Algoritmos de Substracción de Fondo Basados …galia.fc.uaslp.mx/~avancetesis/AvancesMayo2016/Gamboa... · 2016-05-03 · De acuerdo con Varma [12], la mayoría de

Comparación de Algoritmos de Substracción deFondo Basados en Bloques.

Alumno: Jesus Miguel Gamboa AispuroAsesor: Dra. Ruth M. Aguilar Ponce

Maestría en Ingeniería Electrónica, Universidad Autónoma de San Luis PotosíSegundo Avance de Tesis

1. Introducción al Proyecto.

1.1. Introducción.

Las cámaras digitales se han convertido en un dispositivo presente en casi cualquier lugar, permitiendo la captura de imágenes para sualmacenamiento como archivos digitales, su manipulación con software y su distribución electrónicamente [1]. El procesamiento de imágenesha llegado a ser un área de investigación muy activa en las últimas décadas junto a un rápido incremento en el mercado de tecnología deprocesamiento de imágenes y sus aplicaciones. El avance en la tecnología de circuitos integrados ha permitido que se puedan integrar unamayor cantidad de transistores en una área muy pequeña dando lugar a la posibilidad de implementar un gran número de aplicaciones talescomo el reconocimiento de rostros, seguimiento de objetos en tiempo real, seguimiento de pupilas para control de dispositivos, etc.

En la investigación de procesamiento de imágenes emergen dos tendencias: la computación distribuida y el procesamiento integrado. Ambastendencias son contenidas en las cámaras inteligentes, las cuales combinan sensado de imágenes, un procesamiento de imagen de alto nivel ycomunicación dentro de un dispositivo embebido [2]. Es decir, mientras que las cámaras digitales actuales se limitan a la captura de imágenes,las cámaras inteligentes capturan descripciones de alto nivel de la escena y analizan lo que ven. Estos dispositivos soportan una amplia variedadde aplicaciones incluyendo la detección de objetos, vigilancia, análisis de movimiento, y la identificación facial [1].

Un sistema embebido es un sistema de cómputo que está diseñado para funciones de control específicas y está integrado como parte de undispositivo completo que puede incluir hardware y partes mecánicas. Así, en contraste con las computadoras de propósito general, un sistemaembebido realiza tareas predefinidas, con requisitos muy específicos [3], generando un sistema de bajo costo, de bajo poder con memoriaconsiderable, y portabilidad. El procesamiento de video tiene una gran demanda de rendimiento en tiempo real, por lo que es importante resaltarque el implementar un algoritmo en un sistema embebido presenta ciertos retos, como uso eficiente de memoria y bajo poder de cómputo paralograr el menor consumo de potencia [4].

Wayne Wolf et al. [1] introdujeron el concepto de cámaras inteligentes como sistemas embebidos, desarrollando la primera generación deun sistema de cámaras inteligentes que puede detectar personas y analizar sus movimientos en tiempo real. Los algoritmos empleados en lascámaras inteligentes utilizan procesamiento de bajo y alto nivel. El concepto de una cámara inteligente como sistema embebido, ha permitidosolucionar problemas en el área de video vigilancia. Por ejemplo, proporciona opciones para la detección en tiempo real de autos estacionarios(autos en movimiento que paran repentinamente) [5], y proporciona soluciones de problemas en el seguimiento de objetos, la oclusión porejemplo, utilizando sistemas distribuidos de múltiples cámaras inteligentes [2, 4].

Las cámaras inteligentes, como se mencionó anteriormente, ofrecen una opción viable dentro de la video vigilancia para realizar diversastareas, tales como la detección de objetos en movimiento, seguimiento de objetos, reconocimiento de actividades, etc. Este proyecto de tesisesta enfocado en la tarea de detección de movimiento.

1.2. Cámaras inteligentes.

En [4] Markus Quaritsch et al. mencionan que las cámaras inteligentes son los componentes básicos de los futuros sistemas de videovigilancia. Estos dispositivos no sólo capturan imágenes, si no también, realizan análisis de alto nivel y de compresión de vídeo. Las tareas deanálisis de vídeo incluyen detección de movimiento, reconocimiento de objetos, y clasificación. En [2] la arquitectura de una cámara inteligentese divide en tres etapas principales, sensado de imágenes, una unidad de procesamiento y una unidad de comunicación, combinando todas lasetapas dentro de un dispositivo embebido. Véase Figura 1.

1

Page 2: Comparación de Algoritmos de Substracción de Fondo Basados …galia.fc.uaslp.mx/~avancetesis/AvancesMayo2016/Gamboa... · 2016-05-03 · De acuerdo con Varma [12], la mayoría de

Figura 1: Arquitectura de una cámara inteligente [2].

La Figura 1 presenta una arquitectura para una cámara inteligente, en la cual, el sensor de vídeo (un sensor CMOS LM-9618 de NationalSemiconductor) está conectado a dos DSPs (dos DSPs TMS320C6415 de Texas Instruments funcionando a 600 MHz) a través de una memoriaFIFO para relajar la temporización entre el sensor y el DSP. La imagen se transfiere a la memoria externa del DSP y a través del bus PCI a losotros DSP y al procesador de red (un procesador Intel XScale IXP425). Sin embargo, existen varias opciones para las plataformas de análisisde video, las cuales incluyen Procesadores de Señales Digitales (DSP), video Procesadores, o Arreglos de Compuertas Programables (FPGA)como la propuesta en [6].

1.3. Detección de objetos en movimiento.

La detección de objetos en movimiento es una tarea ampliamente utilizada en el procesamiento de señales y visión computacional comoprimer paso para alcanzar alguna tarea específica. Por ejemplo, se utiliza para el seguimiento de objetos en movimiento, compresión de videopor objeto, sustitución de fondo, etc.

La detección de objetos en movimiento en aplicaciones de video es usualmente efectuada en base a técnicas de flujo óptico y substracciónde fondo. Las técnicas basadas en flujo óptico utilizan las características de los vectores de flujo de los objetos en movimiento en el tiempo paradetectar las regiones en movimiento en una secuencia de imágenes. Estas técnicas, permiten detectar los objetos en movimiento independien-temente, incluso en presencia de movimiento de la cámara. Los métodos de cálculo de flujo óptico son computacionalmente complejos y muysensibles al ruido, por lo que es difícil aplicarlos a secuencias de video en tiempo real sin hardware especializado. Las técnicas de substracciónde fondo utilizan modelos matemáticos de fondo dinámico y compara cada nuevo cuadro de una secuencia de video con un modelo de fondodinámico [7]. Los métodos de substracción de fondo son computacionalmente menos caros que los métodos basados en flujo óptico, y puedenabsorber cambios en la iluminación y en la escena. Sin embargo, son sensibles a los movimientos de la cámara.

Por lo tanto, el flujo óptico no se ha utilizado en aplicaciones de detección de movimiento en el área de video vigilancia debido a su limitadaimplementación en tiempo real, optando así por la substración de fondo.

1.4. Substracción de fondo.

El método de substracción de fondo utiliza modelos matemáticos de fondo dinámico y compara con cada nuevo cuadro de una secuencia devideo. La mayor parte de la literatura sobre algoritmos de substracción de fondo, consideran en concreto cuatro etapas principales. La Figura 2muestra las componentes principales de un algoritmo de substracción de fondo [8].

Primeramente, las imágenes son pre-procesadas para eliminar ruido o transformarlas hacia un espacio de color que provee las característicasque el método requiere. Una vez realizado este pre-procesamiento, el modelo del fondo es construido en base a un conjunto de imágenes quese utilizan como entrenamiento. Una vez realizado este modelo, este se actualiza para incluir los cambios de iluminación o incorporación deobjetos que han quedado estáticos, etc. Una vez realizado este proceso, el modelo del fondo es substraído del cuadro de video actual, resultandoen una imagen que solo contiene los objetos en movimiento (primer plano o foreground).

Figura 2: Diagrama a bloques de un algoritmo genérico de substracción de fondo.

I. Setitra y S. Larabi en [9], clasifican los métodos de substracción de fondo en dos categorías principales: recursivos y no recursivos. Losmétodos no recursivos requieren el uso de memoria para almacenar un buffer de cuadros de video, el cual es usado para representar el fondo.Entre estos métodos podemos encontrar: el filtro de mediana temporal, el modelo no paramétrico, etc.

2

Page 3: Comparación de Algoritmos de Substracción de Fondo Basados …galia.fc.uaslp.mx/~avancetesis/AvancesMayo2016/Gamboa... · 2016-05-03 · De acuerdo con Varma [12], la mayoría de

El método de filtro de mediana temporal [10], construye el modelo de fondo mediante el cálculo del valor de la media de un buffer conlos últimos n cuadros de video, después, un nuevo pixel es comparado con el modelo de fondo considerándolo como fondo si cae dentro deun cierto umbral. La actualización del modelo de fondo se realiza al añadir el nuevo pixel al buffer, siempre y cuando el tamaño del buffer lopermita.

El modelo no paramétrico [11], realiza la substracción de fondo utilizando toda la historia del píxel y estima el modelo de fondo utilizandouna función Kernel en él. La función Kernel utilizada en [11] es una gaussiana. Para cada observación, si el pixel es probable que provenga de ladistribución gaussiana, es decir, la diferencia del pixel observado está dentro de un cierto umbral, entonces se considera frente, de lo contrario,se considera fondo.

Los métodos recursivos de substracción de fondo son aquellos en los que el modelo del fondo se actualiza con información del cuadro actualsolamente. Estos métodos no requieren del uso de memoria para guardar una serie de cuadros de video. Entre estos métodos podemos encontrarmétodos basados en procesamiento a nivel pixel y bloques [12].

El método de mezcla de gaussianas propuesto por Stauffer and Grimson en [13] es la base para la mayoría de los métodos de substracciónde fondo recursivos. Este método modela cada píxel del modelo de fondo como una mezcla de gaussianas en lugar de una sola gaussiana. Elmétodo crea k distribuciones gaussianas basado en el primer cuadro de video, todas las distribuciones se clasifican basándose en la relaciónentre su amplitud de pico y la desviación estándar, realizando la misma comparación para cada distribución. Una vez que se clasifica un píxel,la mejor distribución de fondo se actualiza con el valor del píxel actual, si este último se considera fondo. De lo contrario, la distribución másdébil se sustituye con una nueva gaussiana basada en el píxel observado.

De acuerdo con Varma [12], la mayoría de los trabajos en la sustracción de fondo se realiza a nivel de píxel, son pocos los que trabajan conbase a bloques. En los métodos de substracción de fondo basados en bloques, las características que representan un bloque se pueden generarutilizando un descriptor de bloque. Los descriptores estándar son: Patrón binario local, Codificación de truncamiento de bloque, Transformadadiscreta de coseno y Vector de distancia normalizado.

Para mejorar la eficiencia en procesamiento y la exactitud, se han desarrollado métodos híbridos de substracción de fondo. Tal es el casodel modelo de dos niveles de libros de código desarrollado por Soumya Varma en [12], en el cual se construyen libros de código basados enbloques y basados en pixeles.

Con el mismo objetivo, de mejorar la eficiencia en procesamiento y la exactitud, en [9] se optó por aplicar técnicas de post procesamientoa la máscara de frente resultante de cualquier método de substracción de fondo. Las técnicas utilizadas, son aquellas que permiten remover elruido, llenar agujeros en objetos parcialmente detectados y remover las sombras.

1.5. Planteamiento del problema.

El establecimiento de redes de cámaras en diversas ciudades ha originado la necesidad de implementar la detección de objetos en cámarasembebidas que pueden establecer una red para lograr realizar la vigilancia de una extensa área.

La tendencia hacia tener una red altamente poblada de cámaras para realizar la detección y seguimiento de objetos ha hecho que los estudiosse enfoquen en substracción de fondo debido a su facilidad de implementación en plataformas con recursos limitados y su facilidad de acción entiempo real [8]. En la substracción de fondo, los modelos de fondo pueden ser generados por procesamiento a nivel de pixel o de bloques. Losmodelos generados a partir del procesamiento a nivel pixel incluyen solamente información temporal, esto es, analizan cada pixel para decidir sipertenece al fondo o al primer plano basado únicamente en el historial de cambios a través de los diversos cuadros tomados en distintos instantesde tiempo [12]. Sin embargo, en el video existe redundancia espacial debido a que las imágenes están conformadas por objetos. Por lo que latendencia actual es incluir información espacial que determine los objetos presentes y hacia donde se mueven, a través de un procesamiento anivel de bloques.

En la literatura, existen propuestas de algoritmos de substración de fondo que incorporan descriptores espaciales, los cuales reportan mejorasconsiderables en la precisión de la detección con respecto a los algoritmos estándar. Sin embargo, no existe ningún trabajo que reporte cuál delos algoritmos existentes que incorporan descriptores espaciales es mejor.

1.6. Objetivos.

1.6.1. Objetivo general.

Implementar, analizar y comparar tres algoritmos de substracción de fondo para la detección de movimiento que incorporan descriptoresespaciales tales como segmentos o bloques: Modelo Jerárquico Incorporando Descriptores de Región y Pixel (HMDRP), Substracción de FondoBasado en Compresión de Bloques (BCS) y un algoritmo propuesto.

1.6.2. Objetivos específicos.

Para cumplir con el objetivo planteado se desarrollarán las siguientes tareas:

Revisión del estado del arte.

Implementación del Modelo Jerárquico Incorporando Descriptores de Región y Pixel (HMDRP).

3

Page 4: Comparación de Algoritmos de Substracción de Fondo Basados …galia.fc.uaslp.mx/~avancetesis/AvancesMayo2016/Gamboa... · 2016-05-03 · De acuerdo con Varma [12], la mayoría de

Implementación del método de Substracción de Fondo Basado en Compresión de Bloques (BCS).

Implementacion de un algoritmo propuesto.

Análisis y caracterización de los tres algoritmos implementados.

Comparación de desempeño basado en medidas de Porcentajes de Clasificación Correcta (PCC), Coeficiente de Jaccard (JC), el Coefi-ciente de Yule (YC), así como razón de alarmas falsas y probabilidad de detección.

2. Implementación del Modelo Jerárquico Incorporando Descriptores de Región y Pixel(HMDRP).

2.1. Descripción general del algoritmo.

El método propuesto por Shengyong Chen en [14] se implementa en dos niveles de procesamiento. El primero es el procesamiento de lasregiones obtenidas de la segmentación por el algoritmo de posición de la media. El segundo es el procesamiento sobre el análisis de pixel basadoen histogramas de gradientes orientado (HOGs). El diagrama de bloques del método se muestra en la Figura 3.

Figura 3: Diagrama a bloques del modelo HMDRP.

De forma general, este método construye el modelo de fondo a partir de m cuadros de vídeo. El primer paso en la construcción del modelode fondo es la determinación de las regiones en la imagen que se analizara. Por lo cual se aplica la segmentación de la imagen. Debido a que laescena bajo estudio tiene regiones en movimiento, estas pueden variar debido a los movimientos o cambios de iluminación. Por lo cual se realizauna fusión de regiones entre los diferentes m cuadros de entrenamiento para formar segmentos uniformes independientes del movimiento. Seconstruye el modelo de región y pixel basado en el histograma por región y en la co-ocurrencia de pixeles. Para la detección de objetos enmovimiento, primero se calculan los histogramas de acuerdo a las regiones uniformes obtenidas en el entrenamiento, luego se detectan lasregiones que contienen objetos en movimiento por un modelo de región correspondiente. Así, cada región que contiene objetos en movimientoes analizada utilizando los modelos de píxeles para determinar qué píxel pertenece a un objeto en movimiento. Después de la detección en cadacuadro de video, los parámetros de los modelos de región y de píxeles son actualizados.

De acuerdo a los resultados experimentales obtenidos por Shengyong Chen en [14], a partir de probar este método con una base de datosde secuencias de imágenes (vídeo) para demostrar la eficacia, y la aplicación de dichas pruebas a escenas tanto estáticas como dinámicas, seobserva fácilmente que el modelo jerárquico entrega los mejores resultados con respecto a algunos métodos bien conocidos de substracción defondo existentes en la literatura.

Luego de entender el algoritmo del Modelo Jerárquico Incorporando Descriptores de Región y Pixel (HMDRP), se procedió a implementarlo.Para la implementación se eligió el lenguaje de programación C++ utilizando las librerías de procesamiento de imágenes de OpenCV, debido ala facilidad que nos otorga este lenguaje al poder alcanzar un rendimiento en tiempo real.

2.2. Segmentación por posición de la media (Mean-shift).

El primer paso en el modelo jerárquico es emplear el algoritmo de posición de la media (Mean-Shift) para segmentar m imágenes deentrenamiento. Este algoritmo de segmentación, divide una imagen en regiones (objetos) con base en dos parámetros (hs, hr), y consistebásicamente en reemplazar cada píxel con la media de los píxeles en un vecindario de rango hr y cuyo valor está dentro de una distancia hs,siendo muy útil para amortiguar el sombreado o, diferencias de tonalidad, en los objetos localizados [15].

De acuerdo con D. Comaniciu en [15], el procedimiento de segmentación de imágenes por posición de la media consiste básicamente en:

1. Transformar la imagen de entrada del espacio de color RGB al espacio Cie-L*a*b.

2. Aplicar un filtrado por posición de la media a la imagen transformada.

4

Page 5: Comparación de Algoritmos de Substracción de Fondo Basados …galia.fc.uaslp.mx/~avancetesis/AvancesMayo2016/Gamboa... · 2016-05-03 · De acuerdo con Varma [12], la mayoría de

3. Generar regiones utilizando técnicas de agrupamiento (clustering) sobre la imagen filtrada.

El filtrado por posición de la media es una técnica de suavizado que preserva discontinuidades, la cual, reduce la cantidad de suavizadocerca de los cambios bruscos en una estructura local, como por ejemplo los bordes.

2.3. Mezclado de regiones.

Los resultados de la segmentación, de las diferentesm imágenes de fondo en el conjunto de entrenamiento, se deben combinar para construirel modelo de segmentación. Es decir, se deben combinar las regiones en las m imágenes segmentadas para obtener una imagen con n regionesunificadas.

Al principio, el algoritmo inicializa las regiones unificadasRk como las regiones en la primera imagen de fondoRNk1 , el pesoW k denota un

píxel perteneciente a una región como 1 y es inicializado a las regiones unificadas Rk. En el primer bloque, el algoritmo calcula la intersecciónIR entre cada región unificada Rk y cada región en otras imágenes de fondo RNk

u (omitiendo la primera imagen de fondo). Si la razón del áreade intersección A(IR) con las regiones correspondientes es mayor que un cierto umbral T , las dos regiones correspondientes se integran comouna región unificada y al mismo tiempo, se ajusta el tamaño del peso correspondiente a la nueva región unificada y los píxeles en el área deintersección W i(IR) se incrementan. Debido a que las áreas de traslape entre regiones adyacentes unificadas pueden ser demasiado grandes,se integran dichas regiones. Entonces, en el segundo bloque el algoritmo calcula las zonas de intersección entre todas las regiones unificadasy si la razón del área de intersección con las regiones correspondientes es mayor que un cierto umbral T se integran. Cuando una región estáintegrada en otra región, esta región se establece en vacío. También, se ajusta el tamaño del peso correspondiente a la nueva región unificada ylos píxeles en el área de intersección se incrementan. Por último, se eliminan todas las regiones vacías y así las regiones son mezcladas.

2.4. Calculo de histogramas de región y coocurrencia de pixeles.

Al realizar el mezclado de regiones, se obtienen las n regiones unificadas y los pesos W de cada región. El peso W de los pixeles en cadaregión significa el número de sus ocurrencias en una región sobre todas las demás en el conjunto de entrenamiento, por lo que al normalizarlo(dividiéndolo entre el número de imágenes en el conjunto de entrenamientoM ) se considera como la probabilidad de que los pixeles pertenezcana la región.

En el modelo de región propuesto en este algoritmo, un pixel no siempre está en la misma región. Por lo tanto, para generar el histogramade cada región en cada imagen M de entrenamiento, la contribución de un pixel al contenedor (bin) correspondiente es su peso normalizado, adiferencia de un histograma en grises donde la contribución es incremental. De esta manera, utilizando la siguiente ecuación se calcula el valordel j-esimo bin en el histograma de la k-esima región:

hk(j) = K∑W k(x, y), ∀p(x, y) ∈ bin(j) (1)

donde p(x, y) es el valor del pixel del punto (x, y), bin(j) significa el rango de los valores de gris del pixel, y K es una constante de normali-zación para que la suma de cada bin en el histograma de cada región sea 1. Así, se obtienen M histogramas para cada región.

2.5. Modelo de región.

Para generar el modelo de región es necesario construir un modelo de mezcla de gaussianas para cada región. Sin embargo, en este algoritmoel número de distribuciones o componentes para cada región es diferente, a diferencia de un modelo de mezcla de gaussianas estándar dondeel número de distribuciones es un parámetro global. El número de componentes por región puede ser establecido manualmente o utilizandométodos de agrupamiento no supervisados.

En este algoritmo, se utilizó el método de agrupamiento AP [16] (AP Cluster en inglés) para calcular el número de componentes por región.Al ajustar el parámetro de “preferencia”, el método AP Cluster calcula el número apropiado de componentes. La distancia Bhattacharyya esusada como parámetros de entrada para el método AP Cluster, debido a que mide la similitud entre histogramas. Esto es, se calcula la distanciaBhattacharyya entre el n-esimo y el m-esimo histograma de la región k-esima utilizando la siguiente ecuación:

dknm =

L∑i=1

√hn

i hmi (2)

donde L es el número de contenedores (bins). Luego, se calcula la media de las distancias Bhattacharyya de todos los histogramas de la mismaregión, denotada como dk, la cual es usada como parámetro de “preferencia” para el método AP Cluster para obtener el número de componentesCk de la región k-esima.

Posteriormente, se usan las distancias Bhattacharyya entre todas las entradas para construir un modelo de mezcla de gaussianas Gki µ

ki , σ

ki )

donde i = 1, · · · , Ck y su media y covarianza es denotada como µki , σ

ki respectivamente, la construcción del modelo de mezclas de gaussianas

se genera de acuerdo al modelo expuesto en [17], añadiendo el histograma promedio por región a cada componente, es decir, se inicializa elhistograma de referencia de cada componente j (j = 1, . . . , Ck) para la región k, denotado Hk,ref

j , al histograma promedio por región. Alconstruir el modelo de mezcla de gaussianas para todas las regiones se obtiene el modelo de región.

5

Page 6: Comparación de Algoritmos de Substracción de Fondo Basados …galia.fc.uaslp.mx/~avancetesis/AvancesMayo2016/Gamboa... · 2016-05-03 · De acuerdo con Varma [12], la mayoría de

2.5.1. Detección de regiones en movimiento.

Para detectar las regiones que contienen objetos en movimiento, se calcula el histograma para cada región unifica en el cuadro de videoactual utilizando los pesos y regiones obtenidas en el modelo de segmentación. El valor de cada conjunto (bin) en el histograma es calculadode acuerdo a la Ecuación 1. Después, se calcula la distancia Bhattacharyya entre el histograma de cada una de las regiones del cuadro de videoactual y el histograma promedio de cada región. También, se calculan las distancias entre el histograma actual y el histograma de referenciadel i-esimo componente de la region k-esima, denotadas como dk

i , si estas distancias son cercanas a la distancia media del componente es másprobable pertenezca al fondo. Por lo tanto, la siguiente ecuación es usada para medir la probabilidad de que la región pertenezca al fondo:

pkreg =

Ck∑i=1

ωki

√F (dk

i , Gki )[1− F (dk

i , Gki )] (3)

donde ωki son los pesos del modelo de mezclas de gaussianas, F (dk

i , Gki ) es la función de distribución acumulativa normal de dk

i correspondientea Gk

i (µki , σ

ki ).

Así, la detección de movimiento en la región k se realiza de acuerdo a:

Frk ={

1, pkreg ≤ Tr

0, pkreg > Tr

(4)

donde el valor “1” significa que la región contiene objetos en movimiento y el valor “0” significa que la región pertenece al fondo. Mientras queTr es un umbral uniforme para todas las regiones, el cual puede ser inicializado a 0.22 de acuerdo al análisis de [14].

2.5.2. Actualización de parámetros del modelo de región.

La actualización de los parámetros del modelo de región, los cuales corresponden a los parámetros del modelo de mezcla de gaussianaspor región, se realiza de acuerdo a los términos establecidos en el algoritmo propuesto en [17], realizando algunos cambios a las ecuaciones decada parámetro. La actualización de parámetros se realiza para cada región k y ∀i = 1, · · · , Ck, solo cuando se encuentran coincidencias degaussianas utilizando las siguientes ecuaciones:

cki = ck

i + qki (5)

ηki = qk

i ·(

1− αk

cki

+ αk

)(6)

Hk,refi (t) = (1− ηk

i )Hk,refi (t− 1) + ηk

i Hk,curri (7)

µki (t) = (1− ηk

i )µki (t− 1) + ηk

i dk,curri (8)

(σk

i (t))2 = (1− ηk

i )(σk

i (t− 1))2 + ηk

i

(dk,curr

i − µki (t− 1)

)2(9)

En Ecuación 5, se actualiza cki , este es un contador que acumula el número de coincidencias para la i-esima componente del modelo de

mezcla de gaussianas de la k-esima región. En Ecuación 6, se actualiza la tasa de actualización ηki para la i-esima componente de la k-esima

región. En Ecuación 7, se actualiza el histograma de referencia Hk,refi de cada componente i para la región k utilizando la tasa de actualización

ηki y el histograma de la región k del cuadro de video actual. En Ecuación 8 y Ecuación 9 se actualizan los parámetros de la i-esima componente

del modelo de mezcla de gaussianas de la k-esima región, la media µki y la covarianza σk

i respectivamente, utilizando la tasa de actualizaciónηk

i y la distancia Bhattacharyya entre el histograma de referencia y el histograma actual dk,curri .

Por otro lado, cuando no se encuentran coincidencias de gaussianas, se reemplaza un viejo componente siguiendo los pasos a continuación:

1. ∀j = 1, · · · , Ck. ωkj (t) = (1− αk)ωk

j (t− 1).

2. i = arg mı́nj

{ωk

j

}, ωk

i = αk, cki = 1.

3. Los parámetros µki y σk

i se establecen acorde a la inicialización de un nuevo componente de [17]. Resaltando que se reemplaza el valordel pixel x por el valor de la distancia Bhattacharyya promedio por región.

6

Page 7: Comparación de Algoritmos de Substracción de Fondo Basados …galia.fc.uaslp.mx/~avancetesis/AvancesMayo2016/Gamboa... · 2016-05-03 · De acuerdo con Varma [12], la mayoría de

2.6. Modelo de pixel.

Para generar el modelo de pixel, se utiliza la correlación espacial entre los pixeles vecinos para describir un pixel. En específico, el modelode pixel es representado por histogramas de orientación de gradiente (HOG), el cual se ilustra en la Figura 4.

Para calcular el descriptor de un pixel son usados sus 80 pixeles colindantes, los cuales son divididos en nueve bloques donde cada bloqueconsiste de nueve pixeles. En cada bloque, se calcula la dirección del gradiente para todos los pixeles (como se muestra en el gráfico de laderecha de la Figura 4), dicha orientación (de −π a π) se divide en cuatro contenedores {[−π,−π/2), [−π/2, 0), [0, π/2), [π/2, π)}. De estamanera, se forma un histograma de cuatro contenedores para cada bloque (como se observa en el gráfico de la izquierda de la Figura 4).Posteriormente, los histogramas de todos los nueve bloques se combinan para formar un vector de 36 elementos para describir el pixel.

Figura 4: Ejemplo de los HOG’s de un pixel. (Tomado de [14])

Cuando las imágenes del conjunto de entrenamiento son segmentadas se establece un peso W que representa la probabilidad de pertenecera una región, por lo que es necesario tomarlo en cuenta al calcular el descriptor de un pixel. Entonces, cada contenedor del histograma de cadabloque es calculado de acuerdo a:

hki (j) = Kk

i

∑W k(x, y)m(x, y) (10)

donde las coordenadas (x, y) ∈ {(x, y)|θ(x, y) ∈ bin(j)}, θ(x, y) y m(x, y) representan la orientación y magnitud del punto en (x, y), irepresenta el i-esimo pixel en la k-esima región, bin(j) es el rango de la orientación del j-esimo contenedor, W k es el peso del pixel en laregión k y Kk

i es un factor de normalización que causa que la suma del valor de todos los contenedores en el histograma sea uno.Después de obtener los descriptores de pixel de las M imágenes de entrenamiento, el modelo de pixel es construido usando una gaussiana

unificada. Primero, dado que se tienen M descriptores para un pixel debido a las M imágenes de entrenamiento, se calcula la media de losdescriptores de cada pixel, el cual se denota como gk

i (el descriptor medio del i-esimo pixel de la región k-esima). Enseguida, se calcula lasdistancias Bhattacharyya entre los M descriptores del pixel y el descriptor medio gk

i . Así, para un pixel (x, y) se ajusta la gaussiana unificada,la cual se denota como PGk

i

(µk

i (x, y), σki (x, y)

), inicializando la media y la covarianza de la misma manera que en el modelo de región. Por

lo tanto, el modelo de pixel contiene tres parámetros: gki , µk

i y σki .

2.6.1. Detección de pixeles en movimiento.

De acuerdo a la Figura 3, el modelo de pixel se usa solamente sobre los pixeles que pertenecen a las regiones en movimiento detectadas porel modelo de región. Primero, se calcula el descriptor de un pixel en la imagen actual hk

i . Luego, se calcula la distancia Bhattacharyya entre eldescriptor actual hk

i y el descriptor medio del modelo de pixel correspondiente gki .

La probabilidad pki (x, y) de que el i-esimo pixel (x, y) en la k-esima región pertenezca al fondo en un nuevo cuadro de video puede ser

calculada como:

pki (x, y) =

√F (1− F ) (11)

donde F es una función de distribución acumulativa normal definida como F(hk

i (x, y), PGki

(µk

i (x, y), σki (x, y)

)). Por lo tanto, la clasificación

del pixel (x, y) se realiza de acuerdo a:

Fr(x, y) ={

1, pki ≤ Tp

0, pki > Tp

(12)

donde el valor “1” significa que el pixel está en movimiento y el valor “0” significa que el pixel pertenece al fondo. Mientras que Tp es unumbral uniforme, el cual también es inicializado a 0.22 de acuerdo al análisis de [14].

2.6.2. Actualización de parámetros del modelo de pixel.

Debido a que el modelo de pixel consiste solamente de 3 parámetros, el actualizar dichos parámetros es más simple que en el modelo deregión. La actualización se realiza por estas reglas:

gk,refi (t) = (1− δk

i )gk,refi (t− 1) + δk

i gk,curri (13)

µki (t) = (1− δk

i )µki (t− 1) + δk

i hk,curri (14)

7

Page 8: Comparación de Algoritmos de Substracción de Fondo Basados …galia.fc.uaslp.mx/~avancetesis/AvancesMayo2016/Gamboa... · 2016-05-03 · De acuerdo con Varma [12], la mayoría de

(σk

i (t))2 = (1− δk

i )(σk

i (t− 1))2 + δk

i

(hk,curr

i − µki (t− 1)

)2(15)

donde δki = βkPGk

i

(hk,curr

i |µki (x, y), σk

i (x, y))

es la tasa de actualización controlada por βki que es un valor constante para toda la región k.

Se debe considerar que si un pixel ha sido continuamente clasificado como pixel en movimiento por un cierto tiempo, el pixel necesita sertratado como fondo. Por lo tanto, los siguientes pasos son empleados para compensar lo anterior mencionado:

1. Cuando un pixel es detectado como pixel en movimiento, se guarda el descriptor de dicho pixel. Y si el pixel fue detectado como pixel enmovimiento en el cuadro de video anterior, se incrementa un contador para recordar cuantas veces seguidas este pixel ha sido clasificadocomo pixel en movimiento, este contador será reiniciado a cero cuando el pixel es clasificado como fondo de nuevo.

2. Si el valor del contador es mayor que un umbral TNO, los parámetros del modelo de pixel son reconstruidos como se planteó al principiode esta sección.

3. El contador es reiniciado a cero y el nuevo modelo de pixel es usado para detectar el movimiento en los siguientes cuadros de video hastaque otro cambio de fondo ocurra.

3. Resultados.

Para evaluar la implementación del Modelo Jerárquico Incorporando Descriptores de Región y Pixel, primeramente se caracterizo el algo-ritmo para seleccionar los valores de los parámetros que realicen la mejor detección de objetos en movimiento. Para esta caracterización, elalgoritmo evaluó siete secuencias de vídeo pertenecientes al conjunto de datos WallFlower, las cuales presentan diversos retos para un algoritmode substracción de fondo como multitudes (Bootstrap), camuflaje, movimientos parciales (Apertura en primer plano), cambios de iluminaciónabruptos y graduales (Interruptor de luz y Tiempo del día), cambios en el fondo (Objeto movido) y fondo con movimiento (Arboles ondeando).Cada una de estas secuencias tienen un tamaño de 160x120 píxeles muestreadas a 4 Hz, y contiene una mascara de primer plano marcada amano llamada Ground Truth. El resultado obtenido al evaluar cada secuencia con el algoritmo se compara con su Ground Truth correspondienteutilizando medidas de comparación como porcentajes de clasificación correcta (Ecuación 16), coeficiente de Jaccard (Ecuación 17), coeficientede Yule (Ecuación 18), y medidas estadísticas de razón de alarmas falsas y probabilidad de detección como Recall (Ecuación 19) y precisión(Ecuación 20).

PCC = TP + TN

TP + FP + TN + FN(16)

JC = TP

TP + FP + FN(17)

Y C =∣∣∣∣ TP

TP + FP+ TN

TN + FN− 1∣∣∣∣ (18)

Recall = TP

TP + TN(19)

Precisión = TP

TP + FP(20)

Estas métricas están basadas en el número de verdaderos positivos TP (pixeles de primer plano clasificados correctamente), verdaderosnegativos TN (pixeles de fondo clasificados correctamente), falsos negativos FN (píxeles de primer plano clasificados como fondo) y falsospositivos FP (píxeles de fondo clasificados como primer plano). Todas las métricas están en el rango de 0 a 1, donde 1 es el mejor resultado.Los resultados de la caracterización se muestran en la Figura 5.

Cada una de las gráficas de la Figura 5 reportan el promedio de las métricas mencionadas en las Ecuaciones 16 a 20 sobre las siete secuenciasde prueba al variar los parámetros del Algoritmo HMDRP. También se calcula el promedio de las cinco métricas (color magenta en cada una delas gráficas) para seleccionar el valor para cada parámetro, con el cual se alcanzan los mejores resultados. Los valores seleccionados se muestranen la Tabla 1. El número de cuadros de vídeo utilizados para generar el modelo del fondo, M , es igual a 30 como se propone en [14].

Al realizar la caracterización del Modelo Jerárquico Incorporando Descriptores de Región y Pixel (HMDRP), la detección fue nula en todaslas secuencias sin importar el valor de los parámetros del algoritmo. Por lo tanto, se opto por cambiar las métricas de detección de los modelosde región y de pixel (Ecuaciones 4 y 12) por la métrica de detección del algoritmo de mezcla de gaussianas (MoG) [13] debido a que el algoritmoHDMRP esta basado en MoG.

Una vez que el algoritmo ha sido caracterizado, los resultados de la evaluación se comparan con el algoritmo tradicional de substracción defondo mezcla de gaussianas (MoG) [13], es decir, se comparan los resultados de cada una de las métricas sobre las siete secuencias de prueba ysu promedio (Vease Tabla 2).

De igual manera, en la Tabla 3 se muestran los resultados de la detección de movimiento obtenidos al evaluar cada secuencia de prueba conel Modelo Jerárquico Incorporando Descriptores de Región y Pixel, y la Mezcla de Gaussianas.

8

Page 9: Comparación de Algoritmos de Substracción de Fondo Basados …galia.fc.uaslp.mx/~avancetesis/AvancesMayo2016/Gamboa... · 2016-05-03 · De acuerdo con Varma [12], la mayoría de

(a) Umbral de clasificación T .

0 0.05 0.1 0.15 0.2 0.250

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Umbral T

Pro

med

io d

e M

étric

as s

obre

toda

s la

s se

cuen

cias

Wal

lFlo

wer

Variacion de Umbral T

PCCCJCYRecallPresiciónPromedio

(b) Umbral de desviación estándar UD.

0 0.5 1 1.5 2 2.5 30

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Umbral UD

Pro

med

io d

e M

étric

as s

obre

toda

s la

s se

cuen

cias

Wal

lFlo

wer

Variacion de Umbral UD

PCCCJCYRecallPresiciónPromedio

(c) Parámetro alpha α.

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.20

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Alpha

Pro

med

io d

e M

étric

as s

obre

toda

s la

s se

cuen

cias

Wal

lFlo

wer

Variacion de Alpha

PCCCJCYRecallPresiciónPromedio

(d) Parámetro espacial hs para segmentación.

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

hs

Pro

med

io d

e M

étric

as s

obre

toda

s la

s se

cuen

cias

Wal

lFlo

wer

Variacion de hs

PCCCJCYRecallPresiciónPromedio

(e) Parámetro de distancia hr para segmentación.

4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

hr

Pro

med

io d

e M

étric

as s

obre

toda

s la

s se

cuen

cias

Wal

lFlo

wer

Variacion de hr

PCCCJCYRecallPresiciónPromedio

Figura 5: Caracterización de parámetros para el Algoritmo HMDRP.

Tabla 1: Valores resultantes de la caracterización para los parámetros del algoritmo HMDRP.

Parámetro Notación ValorUmbral de clasificación T 0.025Umbral de desviación estándar UD 1.3Parámetro alpha α 0.05Parámetro espacial para segmentación hs 8Parámetro de distancia para segmentación hr 11Tamaño de conjunto de entrenamiento M 30

Tabla 2: Comparación de desempeño entre el Modelo Jerárquico Incorporando Descriptores de Región y Pixel (HMDRP) y la Mezcla deGaussianas (MoG).

MétricaSecuencia PCC JC YC Recall Precisión

HMDRP MoG HMDRP MoG HMDRP MoG HMDRP MoG HMDRP MoGBootstrap 0.8484 0.8618 0.2795 0.0681 0.3809 0.7514 0.3998 0.0687 0.4814 0.8899Camuflaje 0.7894 0.7017 0.6709 0.4778 0.5759 0.5190 0.7910 0.5030 0.8155 0.9052Apertura de primer plano 0.8460 0.6784 0.5526 0.2656 0.5940 0.1912 0.7381 0.4513 0.6874 0.3922Interruptor de luz 0.4086 0.6250 0.1822 0.1095 0.0829 0.0181 0.7968 0.2787 0.1911 0.1527Objeto movido 0.9511 0.9997 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000Tiempo del día 0.9126 0.9295 0.2338 0.1208 0.3570 0.6095 0.3529 0.1282 0.4093 0.6764Arboles ondeando 0.8268 0.7689 0.5816 0.2568 0.5903 0.6951 0.7866 0.2609 0.6906 0.9422

Promedio 0.9404 0.9378 0.5001 0.3283 0.5115 0.5406 0.6950 0.3844 0.6107 0.7083

4. Conclusiones.

El Modelo Jerárquico Incorporando Descriptores de Región y Pixel (HMDRP) supera en porcentaje de clasificación correcta (PCC), coefi-ciente de Jaccard (JC) y Recall al algoritmo tradicional de mezcla de gaussianas (MoG). Como lo demuestran los resultados reportados en laTabla 2.

Dicho lo anterior, el algoritmo HMDRP sacrifica precisión y correlación (YC) para ser mas robusto al ruido debido a que incluye informaciónespacial, esto se comprueba al ver los resultados de la Tabla 3. Sin embargo, los descriptores de región y de pixel propuestos para este algoritmoproducen que la complejidad computacional aumente considerablemente por lo que dificulta su aplicación en sistemas de tiempo real y sistemasembebidos. Es decir, no existe una mejora considerable en el desempeño del algoritmo HMDRP que pueda justificar el aumento de complejidady tiempo de ejecución sobre el algoritmo tradicional MoG.

Es importante mencionar el hecho de que las métricas de detección propuestas en [14] fueron cambiadas debido a que los resultados dedetección de movimiento eran nulos en todas las secuencias aun cambiando los valores de los parámetros del algoritmo. Por otro lado, losresultados visuales (Tabla 3) obtenidos en este trabajo no corresponden a los reportados en [14], mientras que los resultados numéricos (Tabla2) no pueden ser comparados porque las métricas utilizadas no están presentes.

9

Page 10: Comparación de Algoritmos de Substracción de Fondo Basados …galia.fc.uaslp.mx/~avancetesis/AvancesMayo2016/Gamboa... · 2016-05-03 · De acuerdo con Varma [12], la mayoría de

Tabla 3: Resultados de la detección de movimiento, en las siete secuencias de prueba, por el Modelo Jerárquico Incorporando Descriptores deRegión y Pixel (HMDRP) y la Mezcla de Gaussianas (MoG).

Secuencia Imagen de Prueba Ground Truth HMDRP MoG

Bootstrap

Camuflaje

Apertura de primer plano

Interruptor de luz

Objeto movido

Tiempo del día

Arboles ondeando

5. Cronograma y trabajo a futuro.

De acuerdo al cronograma de trabajo mostrado en la Tabla 4, el color verde representa las actividades realizadas hasta el momento, lascuales son reportadas en este documento. Por otro lado, el color rojo representa las actividades a realizar, las cuales consisten en implementarel algoritmo de Substracción de Fondo Basado en Compresión de Bloques (BCS) y el algoritmo propuesto, realizar el análisis y caracterizaciónde estos los algoritmos junto terminar a la escritura de la tesis.

Tabla 4: Cronograma de Actividades.

Referencias

[1] W. Wolf, B. Ozer, and T. Lv, “Smart cameras as embedded systems,” Computer, vol. 35, no. 9, pp. 48–53, Sep 2002.

[2] B. Rinner, M. Jovanovic, and M. Quaritsch, “Embedded middleware on distributed smart cameras,” in 2007 IEEE International Conferenceon Acoustics, Speech and Signal Processing - ICASSP ’07, vol. 4, April 2007, pp. IV–1381–IV–1384.

[3] S. Mittal, “A survey of techniques for improving energy efficiency in embedded computing systems,” International Journal of ComputerAided Engineering and Technology, vol. 6, no. 4, pp. 440–459, 2014.

[4] M. Quaritsch, M. Kreuzthaler, B. Rinner, H. Bischof, and B. Strobl, “Autonomous multicamera tracking on embedded smart cameras,”EURASIP Journal on Embedded Systems, vol. 2007, no. 1, pp. 1–10, 2007.

10

Page 11: Comparación de Algoritmos de Substracción de Fondo Basados …galia.fc.uaslp.mx/~avancetesis/AvancesMayo2016/Gamboa... · 2016-05-03 · De acuerdo con Varma [12], la mayoría de

[5] M. Bramberger, J. Brunner, B. Rinner, and H. Schwabach, “Real-time video analysis on an embedded smart camera for traffic surveillance,”in Real-Time and Embedded Technology and Applications Symposium, 2004. Proceedings. RTAS 2004. 10th IEEE, May 2004, pp. 174–181.

[6] S. M. Chai, N. Bellas, G. Kujawa, T. Ziomek, L. Dawson, T. Scaminaci, M. Dwyer, and D. Linzmeier, “Reconfigurable streaming archi-tectures for embedded smart cameras,” in 2006 Conference on Computer Vision and Pattern Recognition Workshop (CVPRW’06), June2006, pp. 122–122.

[7] F. C. Cheng, S. C. Huang, and S. J. Ruan, “Scene analysis for object detection in advanced surveillance systems using laplacian distributionmodel,” IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), vol. 41, no. 5, pp. 589–598, Sept 2011.

[8] O. E. Harrouss, D. Moujahid, and H. Tairi, “Motion detection based on the combining of the background subtraction and spatial colorinformation,” in Intelligent Systems and Computer Vision (ISCV), 2015, March 2015, pp. 1–4.

[9] I. Setitra and S. Larabi, “Background subtraction algorithms with post-processing: A review,” in Pattern Recognition (ICPR), 2014 22ndInternational Conference on, Aug 2014, pp. 2436–2441.

[10] B. P. L. Lo and S. A. Velastin, “Automatic congestion detection system for underground platforms,” in Intelligent Multimedia, Video andSpeech Processing, 2001. Proceedings of 2001 International Symposium on, 2001, pp. 158–161.

[11] A. M. Elgammal, D. Harwood, and L. S. Davis, “Non-parametric model for background subtraction,” in Proceedings of the 6th EuropeanConference on Computer Vision-Part II, ser. ECCV ’00. London, UK, UK: Springer-Verlag, 2000, pp. 751–767. [Online]. Available:http://dl.acm.org/citation.cfm?id=645314.649432

[12] S. Varma and M. Sreeraj, “Hybrid background subtraction in video using bi-level codebook model,” in Applications of Digital Informationand Web Technologies (ICADIWT), 2014 Fifth International Conference on the, Feb 2014, pp. 124–130.

[13] C. Stauffer and W. E. L. Grimson, “Adaptive background mixture models for real-time tracking,” in Computer Vision and Pattern Recog-nition, 1999. IEEE Computer Society Conference on., vol. 2, 1999, p. 252 Vol. 2.

[14] S. Chen, J. Zhang, Y. Li, and J. Zhang, “A hierarchical model incorporating segmented regions and pixel descriptors for video backgroundsubtraction,” IEEE Transactions on Industrial Informatics, vol. 8, no. 1, pp. 118–127, Feb 2012.

[15] D. Comaniciu and P. Meer, “Mean shift: a robust approach toward feature space analysis,” IEEE Transactions on Pattern Analysis andMachine Intelligence, vol. 24, no. 5, pp. 603–619, May 2002.

[16] B. J. Frey and D. Dueck, “Clustering by passing messages between data points,” Science, vol. 315, pp. 972–976, 2007.

[17] D.-S. Lee, “Effective gaussian mixture learning for video background subtraction,” IEEE Transactions on Pattern Analysis and MachineIntelligence, vol. 27, no. 5, pp. 827–832, May 2005.

11