Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

69
Algoritmo de Segmentación Online de Imágenes en Secuencias de Video Tesis de Ingeniería en Informática Leandro Daniel Sardi [email protected] Director Prof. Lic. Ing. Osvaldo Clua Universidad de Buenos Aires Facultad de Ingeniería 18 de Mayo de 2012

Transcript of Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

Page 1: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

Algoritmo de Segmentación Online de Imágenes en Secuencias de Video

Tesis de Ingeniería en Informática

Leandro Daniel Sardi

[email protected]

Director Prof. Lic. Ing. Osvaldo Clua

Universidad de Buenos Aires Facultad de Ingeniería 18 de Mayo de 2012

Page 2: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

2

Resumen Las técnicas de sustracción de fondo son una técnica particular de segmentación de imágenes. Tienen aplicaciones prácticas muy diversas, tales como seguimiento (o tracking) de personas y vehículos através de distintas cámaras, segmentación de las distintas escenas de video y compresión de video, entre otras. El propósito de este trabajo es presentar una algoritmo de sustracción de fondo que obtenga resultados similares a los presentados por [Wren97] y [Lo01], pero alcanzando mejores tiempos de procesamiento.

Page 3: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

3

Índice

ÍNDICE 3

1. INTRODUCCIÓN 5

1.1. SUSTRACCIÓN DE FONDO 6 1.1.1. DEFINICIÓN 6 1.1.2. REQUERIMIENTOS 6 1.1.3. PROBLEMAS FRECUENTES 7 1.1.4. APLICACIONES 8 1.2. VISIÓN ARTIFICIAL 9 1.2.1. GRADOS DE INTERPRETACIÓN 9 1.2.2. ESCENAS 10 1.2.3. IMÁGENES 11 1.2.4. ARQUITECTURA DE REFERENCIA 12 1.2.5. CONCLUSIÓN 13 1.3. ESTRUCTURA DEL TRABAJO 14 1.4. BIBLIOGRAFÍA 14

2. PROCESAMIENTO DE IMÁGENES 16

2.1. SEGMENTACIÓN POR UMBRAL 17 2.1.1. DEFINICIÓN 17 2.1.2. DETERMINACIÓN DEL UMBRAL 17 2.1.3. SEGMENTACIÓN 18 2.1.4. PROBLEMAS FRECUENTES 19 2.2. FILTROS 20 2.2.1 DEFINICIÓN 21 2.2.2. DETECCIÓN DE BORDES 21 2.2.3. ESFUMADO 22 2.2.4. ECUACIÓN GENERAL DE FILTROS 23 2.2.5. COMBINACIÓN DE FILTROS 23 2.3. PIRÁMIDES 25 2.3.1. DEFINICIÓN 25 2.4. FILTRO DE GAUSS 28 2.4.1 DEFINICIÓN 28 2.4.3. APLICACIÓN A MÉTODOS DE SUSTRACCIÓN DE FONDO 33 2.5. COLOR 35 2.5.1. DEFINICIÓN 35 2.5.1. ESPACIO CIE-1931 36 2.5.2. ESPACIOS DE COLOR 37 2.5.3. ESPACIO RGB 37 2.5.4. ESPACIO RGB NORMALIZADO 38 2.5.5. ESPACIO CYM 39 2.5.6. ESPACIO HSI 40 2.5.7. ESPACIOS YIQ Y YUV 41 2.5.8. HISTOGRAMAS EN IMÁGENES A COLOR 42

Page 4: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

4

2.6. ILUMINACIÓN 43 2.6.1. DEFINICIÓN 43 2.6.2. REFLEXIÓN DE LUZ AMBIENTE 44 2.6.3. REFLEXIÓN DE LUZ DIFUSA 45 2.6.4. REFLEXIÓN ESPECULAR 45

3. ALGUNAS AREAS DE APLICACIÓN 48

3.1. SISTEMAS DE VIGILANCIA 48 3.1.1. FACE DATABASE 48 3.1.2. FACE RETRIEVAL 49 3.3. PEOPLE TRACKING 49 3.4. SISTEMAS DE SEGMENTACIÓN DE VIDEO 50

4. ESTADO DEL ARTE 51

4.1. MÉTODOS EXISTENTES 51 4.1.1. PROMEDIO MÓVIL GAUSSIANO 52 4.1.2. FILTRO DE MEDIANA TEMPORAL 53

5. MÉTODO PROPUESTO 55

5.1. EL MÉTODO SFH 55 5.1.2. OPTIMIZACIÓN 57

6. COMPARACIÓN DE LOS MÉTODOS 59

6.1. VELOCIDAD 59 6.2. REQUERIMIENTOS DE MEMORIA 59 6.3. EXACTITUD 60 6.4. IMPLEMENTACIÓN DE CASOS DE PRUEBA 60 6.4.1. EXACTITUD DE LOS MÉTODOS 61 6.4.2. VELOCIDAD DE PROCESAMIENTO 62

7. CONCLUSIONES 63

7.1. VENTAJAS 63 7.1.1. MEJOR VELOCIDAD DE INICIALIZACIÓN 63 7.1.2. MEJOR VELOCIDAD DE PROCESAMIENTO 63 7.1.3. RÁPIDA ADAPTACIÓN A CAMBIOS DE ILUMINACIÓN 64 7.1.4. NO REQUIERE REESTIMACIÓN DEL MODELO 64 7.2. SOFTWARE 64 7.3. ÁREAS DE APLICACIÓN 65

REFERENCIAS 67

Page 5: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

5

1. Introducción

El algoritmo propuesto en este trabajo encuadra dentro del área de "segmentación de regiones en movimiento en secuencias de imágenes" (segmentation of moving objects in image sequence, o simplemente motion segmentation), también denominada "sustracción de fondo" (background substraction).

La siguiente imagen muestra una secuencia de video en la que se ha segmentado el fondo de la escena en cada cuadro.

Ilustración 1: Secuencia de video segmentada por un algoritmo de sustración

de fondo. En la sección 1.1 de este capítulo se explicará el concepto de sustracción de fondo. Se detallarán los requerimientos que debe cumplir un método de sustracción de fondo. Se explicarán los problemas que suelen encontrarse al implementar un método de sustracción de fondo. Finalmente se enumerarán algunas aplicaciones donde suelen utilizarse estas técnicas. La sección 1.2 trata sobre el tema de Visión Artificial y Procesamiento de Imágenes, para luego encuadrar el método de sustracción de fondo dentro de esta disciplina. La sección 1.3 habla sobre la estructura de este trabajo. La sección 1.4 describe la bibliografía utilizada para realizar esta tesis.

Page 6: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

6

1.1. Sustracción de Fondo

1.1.1. Definición

Según [Bowden01], se define un método de sustracción de fondo como aquel capaz de:

• calcular una imagen de referencia que represente el fondo de la escena (modelo de fondo, o background modeling),

• sustraer esta imagen de referencia de cada nueva imagen, y • hacer una segmentación por umbral (o threshold) del resultado.

El concepto de threshold será visto en el capítulo 2.1.

Cuando se habla de modelo de fondo se hace referencia a la capacidad de deducir cuáles pixeles pertenecen al fondo de la escena ([Piccardi04]).

En [Piccardi04] se define un método de sustracción de fondo como aquel capaz de “detectar los objetos en movimiento de una escena haciendo la diferencia entre el cuadro actual y uno que represente al fondo de la escena (background frame)”, tal que fondo de la escena puede ser una imagen conocida a priori o ser estimada a lo largo de diferentes cuadros de la escena.

Para cualquier método de sustracción de fondo, el resultado deberá ser una imagen binaria que represente las regiones no estacionarias (o foreground regions) ([Stauffer99]).

1.1.2. Requerimientos

Un requerimiento a los métdos de sustracción de fondo es la capacidad de adaptarse a cambios de la escena.

Una escena puede variar paulatinamente tal como un amanecer, o puede presentar variaciones repentinas de corta duración como la lluvia.

Los métodos denominados no adaptativos requieren ser inicializados, de modo que conozcan a-priori el fondo de la escena. En [Stauffer99] se aclara que los “métodos no adaptativos (...) son sólo aplicables a procesamientos de corto tiempo y altamente supervisados” ([Stauffer99], Previous work and current shortcomings). En [Wayne02] se los denomina métodos simples de sustracción de fondo (o, simple background substraction methods) y explica que “son computacionalmente óptimos pero fallan en entornos poco controlados”.

Page 7: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

7

1.1.3. Problemas Frecuentes

Algunas de las dificultades presentes en sustracción de fondo son:

• detección de sombras, • variaciones en la iluminación de la escena, • perturbaciones agregadas por los dispositivos de captura, • detección de objetos grandes y lentos, • un fondo no estático, o • movimientos de la cámara ([Bowden01]).

Detección de Sombras

La detección de sombras es un problema frecuente en sistemas de procesamiento de imágenes. Especialmente, en los métodos de sustracción de fondo, ya que el movimiento de un objeto suele ser acompañado por el movimiento de su sombra, deberá implementarse alguna solución para diferenciarlos.

Variaciones de Iluminación

Las variaciones de iluminación en la escena puede deberse, por ejemplo, a un amanecer.

Los métodos de sustracción de fondo suelen adaptar su modelo del fondo constantemente. La dificultad radica en lograr un apareamiento entre la velocidad de adaptación del modelo y la velocidad de la variación de luz.

Un modelo que se adapta demasiado rápido podría interpretar como cambios permanentes a variaciones de luz breves, tales como la luz aplicada por un automóvil que transita. Por el contrario, una adaptación del modelo demasiado lenta podría ocasionar que variaciones permanentes de luz no se asimilen a tiempo, generando un modelo erróneo y, en consecuencia, una segmentación equivocada.

Perturbaciones Agregadas por Dispositivos de Entrada

Todos los dispositivos de captura agregan ruido a la imagen debido a la temperatura del mismo dispositivo.

Una manera de medir el ruido agregado por los dispositivos de captura es calculando el histograma de la diferencia entre dos cuadros consecutivos de una captura de video, para una escena quieta o, mejor todavía, con el lente de la cámara tapado.

Page 8: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

8

Objetos Grandes y Lentos

Los objetos grandes y lentos pueden provocar que se los confunda con el fondo de la escena.

Un método adaptativo puede interpretar un objeto en movimiento lento como parte del fondo de la escena.

Lo mismo ocurre para objetos grandes, en el caso de métodos que no sólo hacen una diferencia entre píxeles de cuadros consecutivos, sino que además relativizan la diferencia según la diferencia global de todo el cuadro. Tal es el caso del algoritmo presentado en esta tesis.

Fondos no Estáticos

Un fondo no estático se presenta típicamente en escenarios exteriores (outdoor) donde se ven, por ejemplo, copas de árboles sacudidas por el viento.

Movimientos de la Cámara

Si la cámara no está fija, y su posición es perturbada por el viento o cualquier acción del entorno, resulta en un problema similar al comentado arriba.

1.1.4. Aplicaciones

Los métodos de sustracción de fondo tienen aplicaciones en disciplinas mas complejas como

• seguimiento de personas (people tracking) ([Wren97]), • seguimiento de vehículos (vehicle tracking) ([Stauffer99], [Bowden01]), • sistemas de vigilancia (visual surveillance systems) ([Zhi07]), • interfaces hombre-máquina (human-machine interface) ([Bowden01]), • sistemas de compresión de video ([Zahng01]), • segmentación de video ([Stauffer00]), y • recuperación de imágenes/video según contenido (content bases image/video

retrieval) ([Lef03]), entre otras.

Todas ellas parten de métodos se sustracción de fondo (background substraction) donde se etiqueta cada pixel de una imagen como perteneciente al fondo de la escena (background) o a los objetos en movimiento dentro de ella (foreground). Luego utilizan la imagen segmentada según sus requerimientos en particular.

Page 9: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

9

1.2. Visión Artificial

Visión Artificial intenta imitar la capacidad humana de percibir su entorno mediante el sentido de la vista. En una interpretación mas amplia, el proceso de percepción visual consiste en interpretar una escena tridimensional desde una captura bidimensional. Visión Artificial abarca el campo de procesamiento de imágenes y lo extiende aplicando técnicas que intentan interpretar el contenido de la escena ([Sha00]).

1.2.1. Grados de Interpretación

Interpretar es un concepto demasiado amplio. En algunos casos puede ser deseable diferenciar los distintos objetos de la escena. Luego podrá querese extraer información en cuanto a la forma, color o textura de cada objeto. Un propósito mas ambicioso será que el sistema de visión artificial pueda categorizar cada objeto de la escena, asociándolos a una clase como “persona” o “automóvil” o “animal”.

Los distintos grados de complejidad de un sistema de visión artificial se catalogan como visión cercana, visión media y visión alta (traducidos de early vision, mid-level vision y high-level vision). Las dos primeras están mas ligadas al aparato visual del ser humano, que se encarga de percibir la luz exterior, convertirla en impulsos eléctricos y obtener información relevante en cuanto a la escena. Esta información se limita a la existencia de diferentes objeto y sus características, pero aún carece de cualquier interpretación ([Ade91]).

En base a este modelo, se divide un problema de visión artificial de la siguiente manera [For03]:

Visión cercana, se trata de procesar la señal de entrada para acondicionarla o restaurarla, ya sea eliminando ruido o información irrelevante; también es deseable resaltar ciertas características de importancia, tales como el contorno de los objetos.

Visión media utiliza la imagen procesada anteriormente y hace ciertas distinciones dentro de la imagen. Un caso muy común es el proceso segmentación, que se encarga de agrupas los píxeles de la imagen en diferentes regiones que corresponden a los diferentes objetos de la escena.

Otra posibilidad es la de reconstruir la escena tridimensional en base a dos o mas capturas bidimensionales, triangulando la ubicación de puntos característicos en imágenes obtenidas desde diferentes ángulos; este proceso se llama estereopsis o stereo vision.

Visión alta está mas ligada al aspecto psicológico del ser humano. Toma las características extraidas anteriormente y aplica técnicas de inteligencia artificial para tomar decisiones, tales como clasificar las regiones segmentadas.

Page 10: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

10

1.2.2. Escenas

Cualquiera sea el grado de interpretación que tenga el sistema de visión artificial, siempre se hará sobre una escena.

La esncena puede catalogarse por su cantidad de dimensiones como bidimensional, tridimensional y de 4-dimensiones.

Una escena bidimensional puede ser una radiografía o tomografía. También es muy frecuente aplicar visión artifical sobre imágenes de un entorno tridimencional, pero del que interesan ciertos perfiles (bidimensionales) de algunos objetos, tales como piezas de alguna maquinaria o cortes transversales del cuerpo humano. Sería factible un sistema que monitoree el correcto funcionamiento de una cadena de engranajes, siendo mas económico colocar una cámara y un software a tener que modificar la maquinaria colocando sensores. Una técnica aplicada comunmente en escenas bidimensionales es la de thresholding, que será vista mas adelante.

Una escena tridimensional es tipicamente un cuadro capturado por una cámara. A diferencia de las imágenes bidimensionales, en estas escenas es común contemplar el ángulo de observación, las fuentes de luz y su incidencia en los diferentes objetos.

Una escena de 4-dimensiones es una secuencia de imágenes. Aquí no solo se contempla la existencia de diferentes objetos de la escena sino también sus características, como principalmente posición y forma, a cada instante t. En este tipo de escenas son muy comunes las aplicaciones de seguimiento (o tracking, people tracking o vehicle tracking) que intentan seguir, y en ocaciones predecir, el recorrido de un objeto a lo largo de la escena.

Cabe remarcar que la escena tridimensional se representa en una imagen bidimensional; el término tridimensional se aplica a la cantidad de dimensiones que tiene la escena y no la captura de la escena.

Esta clasificación para una escena es tentativa. Pueden presentarse casos alternativos, como el de una escena bidimensional en el que interese seguir el movimiento de algún objeto.

Una escena puede ser algo relativamente simple, como una radiografía, o puede ser un escenario tan complejo como la imagen de una autopista captada por una cámara de video.

En el caso mas complejo, la escena podría abarcar situaciones como

• existencia de mas de un objeto, • superposición de diferentes objetos, • enfoques de un mismo objeto desde diferentes ángulos, • enfoques de un mismo objeto con diferentes aspectos de iluminación, color y

textura, • reflexión de un objeto en otros, tales como espejos,

Page 11: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

11

• existencia de objetos transparentes, tales como cristales, • objetos emisores de luz; ([Sha00]).

Tanto la complejidad de la escena como el grado de interpretación del sistema están ligados al problema particular que se quiera resolver. Todas las teorías y técnicas estudiadas para esta tesis deberían ser herramientas para resolver de la manera mas práctica y eficiente un problema presentado.

1.2.3. Imágenes

Las escenas se capturan en imágenes bidimensionales. Una imagen es una matriz de R filas por C columnas. Cada elemento de la matriz es un valor muestrado de la escena capturada por algún dispositivo.

Una imagen puede ser binaria, monocromática o color ([Sha00]).

Una imagen binaria es aquella donde cada elemento de la matriz puede valer 0 o 1,

Una imagen monocromática es aquella donde cada elemento toma un valor entero mayor o igual a 0,

Una imagen color es aquella donde cada elemento toma tres coordenadas que forman un color.

Formalmente, una imagen binaria se define como

,

una imagen monocromática se define como

,

y una imagen color se define como

.

El rango [0,255] es el utilizado por el modelo de RGB en algunos dispositivos gráficos. Se verá mas en detalle cuando se trate el tema de colorimetría.

La figura muestra una imagen médica monocromática convertida a una imagen binaria.

Page 12: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

12

Ilustración 2: Imagen monocromática convertida a una imagen binaria.

El proceso de conversión no es trivial, ya que debe establecerse un criterio para seleccionar qué rangos de grises se consideran como 0 y cuáles se consideran como 1. Establecer un umbral no es posible si no se conocen el brillo y contraste que puede tener la imagen monocromática. La conversión desde una imagen color tiene aún mas complicaciones.

Cabe aclarar que una imagen monocromática suele dibujarse con una escala de grises, aunque el tono podría ser azul, rojo o cualquier otra tonalidad. Es indiferente.

Algo similar ocurre con las imágenes binarias. Por convención, un pixel en 0 se dibuja negro y un pixel en 1 se dibuja blanco.

1.2.4. Arquitectura de Referencia

La sección anterior presentó las diferentes variantes que puede presentar un problema en visión artificial. Básicamente, la complejidad del problema se puede dimensionar con 3 ejes:

El grado de interpretación que tendrá el sistema, la complejidad de la escena, y el tipo de imágenes que se deben procesar.

Los dos primeros suelen ser fijados por el requerimiento del sistema. El tipo de imágenes, por el contrario, suele elegirse en consecuencia.

Por ejemplo, en una imágen bidimensional, como un caracter manuscrito, no se contemplarían efectos de color o iluminación. Convertirla a una imagen binaria será el camino mas simple y bastaría para obtener de ella la información necesaria.

Considerando estos aspectos se plantea una arquitectura de referencia sobre la que se diseñará cualquier sistema. Los requerimientos posibles son:

• Capturar la escena con algún dispositivo de entrada; • restaurar y condicionar la imagen capturada, eliminando ruido e información

irrelevante; • extraer características de la escena, tal como el reconocimiento de bordes o

texturas presentes, segmentación o características forma, ubicación y posición de los objetos de la escena; y por último

Page 13: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

13

• clasificación, ya sea de la escena o de los segmentos presentes en ella; ([Sha00]).

Cada uno de estos requerimientos es correlativo con el siguiente e incrementa el grado de interpretación del sistema. La figura muestra la arquitectura,

Ilustración 3: Arquitectura de Referencia.

pudiendo ser que no todas las partes estén presentes.

En una aplicación típica de clasificación de contenido, las imágenes provienen de una base de datos o de Internet, y no hace falta capturarlas con algún dispositivo. Una complicación de este modelo será la poca información respecto a la escena donde fueron obtenidas las imágenes.

Otras aplicaciones no tienen la finalidad de clasificar imágenes, sino tan solo restaurarlas para el consumo humano. En esta caso no se implementará un módulo de clasificación.

Todos los temas descriptos en esta tesis deberán poder ubicarse en esta arquitectura de referencia. Algunas técnicas o teorías podrán aportar parcialmente a un módulo. Otras abarcarán mas de uno.

1.2.5. Conclusión

Al implementar un sistema de visión artificial se debe tener muy presente cual es la información que se tiene a priori. Por ejemplo, si se trabaja sobre una escena tridimensional, conocer a priori la ubicación de la cámara ahorraría un gran costo de procesamiento. En un sistema de reconocimiento sería de gran ventaja saber de antemano qué tipo de objetos se debe esperar.

Page 14: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

14

1.3. Estructura del Trabajo

Como se dijo anteriormente, este trabajo presenta un método de sustracción de fondo que obtiene resultados similares a los de [Wren97] y [Lo01] en cuanto a exactitud, pero logrando menores tiempos de procesamiento.

Para explicar los métodos de sustracción de fondo que se tratan en esta tesis, es necesario desarrollar primero varias técnicas de procesamiento de imágenes. El capítulo 2 tiene ese propósito.

El capítulo 3 describe varias áreas de aplicación de las técnicas explicadas en el capítulo 2.

El capítulo 4 desarrolla el estado del arte respecto a los métodos de sustracción de fondo existentes, y que son comparables al presentado en este trabajo.

El capítulo 5 explica el método de sustracción de fondo presentado.

En el capítulo 6 se realizan comparaciones de los métodos explicados, en cuanto a velocidad, exactitud, requerimientos de memoria; y se implementan casos de prueba para ver cómo los distintos métodos se comportan antes los problemas frecuentes explicados en 1.1.3.

1.4. Bibliografía

[Sha00], [For03], [Sha97], [Jäh00] tienen una visión amplia de toda la materia.

Tanto [Sha00] como [For03] son libros muy completos que abordan los temas con bastante profundidad; explican muchos conceptos de manera coloquial y logran que el lector asimile una idea intuitiva y pragmática del proceso de interpretación de una imagen. Pero tienen la desventaja de no profundizar en el tratamiento matemático de los temas ni en los algoritmos.

En [Sha97] y [Jäh00], por el contrario, se presentan los temas de una manera mucho mas teórica, hacen una explicación formal de los conceptos, y desarrollan su implementación matemática y computacional. Particularmente [Jäh00] es un libro sumamente teórico, mientras que [Sha97] se enfoca mejor la implementación de los algoritmos.

Existen también otros libros que apuntan a temas puntuales de la materia.

[Dau92] y [Opp83] son pura y exclusivamente dedicados al análisis de señales, tanto discretas como analógicas, en una sola dimensión. [Opp83] se orienta mas bien a aplicaciones en electrónica. Y si bien no aplica directamente a procesamiento de imágenes, da un excelente contenido sobre toda la teoría de Fourier. [Dau92] debería leerse como una continuación de [Opp83], donde se explica el procesamiento de señales no estacionarias, y la manera de obtener patrones de frecuencia característicos para diferentes regiones del dominio.

Page 15: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

15

[Nix02] es un libro que explica en profundidad sólo temas de visión cercana. Explica con bastante detalle el procesamiento de señales aplicado a imágenes e incluso presentando algoritmos que no suelen encontrarse en otras las bibliografías. Explica con profundidad el sistema de visión humano, los dispositivos de captura y salida de imágenes. Presenta algoritmos en MathCad. En la página 25 da una buena enumeración de diferentes fuentes de información.

[Tru98] Aborda exclusivamente temas de reconstrucción de escenas tridimensionales desde la captura de imágenes. Profundiza en todos los pasos relacionados a esta disciplina, comenzando por la captura de la escena, el filtrado de ruido, la detección de características, la calibración de cámaras y la aplicación de stereo vision. Termina con temas mas complejos como detección de movimiento y reconocimiento (capítulo 2.2).

Por último, [Coo04] es un texto dedicado a la determinación de apariencias basadas en modelos matemáticos.

Page 16: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

16

2. Procesamiento de Imágenes

En el capítulo 1 se dio una introducción poco formal sobre Visión Artificial y Procesamiento de Imágenes.

Existen ciertos conceptos elementales que se aplicarán a todos los desarrollos de visión artificial.

El propósito de este capítulo y el siguiente es presentar la mayoría, introduciendo los principios básicos de cada uno.

Posteriormente, en el capítulo 3, se comentan disciplinas más avanzadas de visión artificial que se sirven de las anteriores. Estos dos capítulos abarcan las herramientas con las que se desarrolla cualquier aplicación.

Por otra parte, Visión Artificial tiene más de un propósito. Es aplicada para lograr soluciones en temas tan diversos como asistencia a conductores, fotografía digital, análisis de video, detección de gestos, conteo de objetos, búsqueda de imágenes, automatización industrial, medicina, biométrica, reconstrucción de Modelos 3D, y otros tantos que resulta difícil relevarlos todos.

Para realizar un relevamiento confiable de las áreas de aplicación, se ha recurrido al contenido de los libros [Sha00], [For03], [Sha97], [Jäh00] que tienen una visión amplia de toda la materia. Se han tenido en cuenta las introducciones teóricas en [Tru98] en los capítulos 1.1 y 1.2, y de [For03] en los capítulos 1.2, 1.4 y 1.6.

Cada uno de los temas que aquí se presentan podrían ser profundizados en su teoría y podrían presentarse infinidad de técnicas para implementarlo, algunas más óptimas que otras. Aquí se presenta la justificación teórica de estas técnicas, pero no se profundiza en aspectos de performance ni en la presentación de diferentes algoritmos que puedan mejorar su rendimiento.

Page 17: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

17

2.1. Segmentación por Umbral

La Segmentación por Umbral (o Thresholding) es utilizada por los métodos de sustracción de fondo. Su aplicación es vista en profundidad en el capítulo 4 (Estado del Arte).

En este capítulo se tratarán los conceptos generales aplicables a este trabajo. En las primeras secciones se hará una descripción matemática del método. En la última sección se hablará brevemente de su aplicación a los métodos de sustracción de fondo vistos en este trabajo.

2.1.1. Definición

La Segmentación por Umbral es la detección de ciertos valores de píxeles que son propios de algunos objetos y no del resto. El caso típico ocurre al ver un objeto que contrasta contra un fondo más o menos homogéneo.

El método realiza dos barridos a la imagen. En el primero, establece una valor llamado umbral que separa los pixeles del objeto (o foreground) de los píxeles del fondo (o background) ([Sha00], cap. 3.8, pág. 97). En el segundo barrido se etiqueta cada pixel como perteneciente al fondo de la escena, o al objeto segmentado. El resultado es una imagen binaria.

2.1.2. Determinación del Umbral

El valor de un píxel puede ser su intensidad, matiz u otros atributos que serán vistos en detalle en el capítulo 2.5 (Color).

La determinación del valor umbral (o threshold) suele hacerse tomando decisiones sobre un histograma de la imagen, donde se registra la cantidad de pixeles existentes para cada uno de los posibles valores ([Sha00], cap. 3.8.1, pág. 97).

Page 18: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

18

Por ejemplo, teniendo una imagen ( )crI , monocromática de R filas por C columnas, el histograma H para cada valor de intensidad i se define como,

asumiendo desde luego que los posibles valores de i pertenecen al rango de los números enteros entre [0, N-1].

Ilustración 4: Histograma de una imagen monocromática.

Las decisiones suelen basarse en valores estadísticos como medias, máximos, mínimos, zonas de alta concentración o de baja dispersión. Algunos ejemplos son,

Otro criterio muy utilizado es el algoritmo de Otsu ([Sha00], cap. 3.8.2, pág. 99) que busca dos grandes máximos separados por un valle, o zona de valores mínimos. El criterio asume que uno de los máximos corresponde al fondo de la escena y el otro corresponde al objeto que intenta identificar.

2.1.3. Segmentación

Luego de determinar el valor umbral, debe hacerse un segundo barrido de la imagen, etiquetando cada píxel según la parte del umbral a la que pertenece.

Los diferentes criterios en la determinación de los valores umbrales se traduce en un mejor o peor resultado. Por “mejor resultado” se entiende aquel donde cada pixel es etiquetado en concordancia con la parte de la escena al que representa (foreground o background).

Page 19: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

19

Ilustración 5: Diferentes resultados de aplicar la técnica de thresholding según diferentes umbrales.

2.1.4. Problemas Frecuentes

Thresholding es útil cuando se necesita distinguir un objeto contra un fondo, como una persona contra el horizonte, soldaduras en una plancha de metal, aviones en el cielo o manchas en una hoja de papel.

Un efecto indeseable de esta disciplina es la generación de un efecto llamado granos de sal existentes luego de aplicar el proceso de etiquetado ([For03], cap. 7.2, pág. 186).

Page 20: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

20

Ilustración 6: Efectos de sal, luego de aplicar el método de umbral.

Los granos de sal suelen ser indeseables cuando lo que se busca es obtener una región de la imagen que identifique un objeto propiamente dicho. En ese caso, a la imagen resultante suele aplicársele operaciones de álgebra para imágenes binarias ([Sha00], cap. 3.5.2, pág. 77) o un filtrado ([For03], cap. 7.2, pág. 186). La aplicación de filtros será vista en detalle en el capítulo 2.2 (Filtros). Los conceptos de algebra de imágenes binarias son un caso especial de filtros ([Sha00]) y están fuera del alcance de este trabajo.

Los métodos de Sustracción de Fondo utilizan la técnica de Segmentación por Umbral, difiriendo principalmente en los valores que se analizan y en la determinación del umbral. No todos utilizan histogramas. Y al tratarse de una segmentación sobre secuencias de video, casi todos los métodos realizan comparaciones entre los distintos cuadros (o frames) de la secuencia.

2.2. Filtros

El filtrado (o filtering, o linear filtering) es un proceso que obtiene una descripción de la apariencia de pequeños grupos de píxeles. Se basa en la suma ponderada de los valores de un grupo reducido y conexo de píxeles ([For03], cap. 7, pág. 182). También es utilizado para la restauración de imágenes, eliminación de ruido y escalamiento ([Sha00], cap. 5, pág. 145). Los filtros suelen aplicarse luego del proceso de segmentación por umbral, visto en el capítulo 2.1, con el propósito de eliminar el efecto de granos de sal visto en 2.1.4. En el capítulo 2.4 se explicará cómo combinar este concepto con la función de Gauss y aprovechar sus propiedades en temas de optimización.

La primera sección de este capítulo explica el concepto de filtros aplicados a imágenes. Las secciones 2 y 3 muestran su aplicación para la resolución de dos problemas típicos: detección de bordes (o edge detection) y esfumado (o smoothing). La sección 4 presenta la ecuación general de filtros. La sección 5 explica cómo combinar filtros mediante el producto de convolución.

Page 21: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

21

Finalmente, la sección 6 hace una breve referencia sobre cómo la técnica de filtros es aprovechada en el área de sustracción de fondo.

2.2.1 Definición

La aplicación de filtros suele tener varios propósitos. En [Sha00] (cap. 5.1, pág 145) se enumeran los siguientes,

• Detección de Bordes (o Edge Detection) intenta delimitar el subdominio de una imagen donde termina un objeto de la escena y comienza otro;

• Esfumado (o Smoothing) intenta lograr una homogeneización de los pixeles dentro de un vecindario; tiene diversas aplicaciones, tales como

o restauración de imágenes eliminando ruidos y efectos de granos o o el filtrado de detalles (tales como texturas) para la exaltación de figuras

de mayor tamaño;

• Detección de Objetos Puntuales (o Blob Detection), similar a la detección de bordes, se refiere a objetos pequeños, tales como gotas, ojos o aves en el cielo.

Desde un enfoque teórico, la técnica de filtros tienen su justificación en el análisis de Fourier ([For03], cap. 7.3, pág. 194). Desde la teoría de Fourier puede llegar a deducirse porqué el barrido con filtros exalta o elimina ciertas características, tales como bordes, gotas o manchas. Todo se resume a un filtrado de ciertos patrones de frecuencias.

Desde un enfoque práctico, una imagen se representa como un arreglo en dos dimensiones de valores numéricos escalares, si la imagen es monocromática, o vectoriales, si la imagen es en color. La detección de características suele realizarse mediante la aplicación de un filtro que revele altos diferenciales en los píxeles de un vecindario ([Sha00], cap. 5.6, pág. 157).

2.2.2. Detección de Bordes

La imagen monocromática T ∈ [0,R-1]×[0,C-1]×[0,255] se utiliza para generar una nueva imagen monocromática T’ ∈ [0,R-1]×[0,C-1]×[0,255] aplicando una ecuación de diferencias

El resultado de aplicar esta ecuación se ve en la siguiente figura.

Page 22: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

22

Ilustración 7: Detección de bordes utilizando filtros.

El efecto de esfumado, por el contrario, se logra promediando el valor de los píxeles de un vecindario ([For03], cap 7.1.2, pág. 183).

2.2.3. Esfumado

La imagen monocromática T ∈ [0,R-1]×[0,C-1]×[0,255] se utiliza generar una nueva imagen monocromática T’ ∈ [0,R-1]×[0,C-1]×[0,255] según la ecuación,

donde k es un número entero relativamente pequeño, de modo que cada píxel de T’ es el resultado de promediar el mismo píxel de T con los de su vecindario.

En la siguiente figura se aplica este filtro utilizando k=1,

Ilustración 8: Efecto de esfumado.

Obsérvese como se logra homogeneizar la textura de mar. La imagen T' es mucho mas apta para aplicarle el proceso de thresholding visto en la sección anterior.

Page 23: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

23

2.2.4. Ecuación general de filtros

Existe una forma genérica para definir un filtro lineal, tanto para esfumado como para detección de bordes. Debe plantearse un producto de convolución de la imagen monocromática T por otra imagen M que algunos autores llaman filtro o kernel, de modo que,

2.2.5. Combinación de Filtros

Si definimos M como una matriz de 3x3 con los siguientes valores,

el efecto será resaltar aquellos píxeles donde exista un alto diferencial entre sus vecinos izquierdo y derecho. Estos altos diferenciales suelen coincidir con el borde de un objeto.

Page 24: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

24

Ilustración 9: Detección de bordes utilizando filtros.

Notar que el filtro aplica la suma ponderada a 0.5, lo que conserva en promedio el brillo de la imagen.

Notar también que el filtro no es del todo eficiente, ya que solo detecta altos diferenciales en la dirección horizontal, y donde existe un borde horizontal (los hombros, por ejemplo) este filtro no lo detecta.

La solución a este problema es aplicar dos filtros, uno en una dirección horizontal y otro en una dirección vertical, ambos sobre la imagen original y luego superponer los resultados. Esto se explica comprendiendo la propiedad de superposición que tiene el producto de convolución ([For03], cap. 7.2, pág. 186) y que será vista mas adelante.

Existen muchos filtros conocidos, como el Filtro de Sobel o el filtro de Prewitt, especialmente utilizados para la detección de bordes.

Un filtro muy utilizado para smoothing es el de Gauss, debido a sus importantes propiedades. El filtro de Gauss será tratado con detalle en capítulo 2.4.

Por último, es de notar que existen dos grandes grupo de filtros: aquellos que provocan un esfumado de la imagen y aquellos que resaltan los bordes de los objetos. En la figura 2, el esfumado en el relieve del fondo de la imagen ayudaría a lograr una mejor detección de bordes.

La técnica de filtros es utilizada por los métodos de sustracción de fondo de diferentes maneras.

En [PICCARDI04] (sección 3.3) se recomienda utilizarlos para eliminar efectos de ruido sobre las imágenes segmentadas.

El concepto Filtro de Medianas, que se verá en el capítulo 4, es aprovechado para desarrollar el método de Sustracción de Fondo denominado Filtro de Medianas Temporales, que será explicado en el Estado del Arte de este trabajo.

Page 25: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

25

2.3. Pirámides

La técnica de Pirámides (o Pyramids) es utilizada para extraer diferentes representaciones de una misma imagen. Cada representación decrementa el nivel de detalle de la anterior ([For03], cap. 7.5, pág. 204).

Ilustración 10: Imagen de la plaza del obelisco representada a diferentes niveles de detalle.

La técnica de pirámides es utilizada para optimizar la extracción de características buscando características de gran tamaño en las imágenes de poca resolución, lo que tiene un menor costo de procesamiento que rastrearlas en una imagen de alto nivel de detalle ([For03], cap. 7.5.2, pág. 208). Además, el rastreo de características tiene importantes aplicaciones en técnicas más complejas como Stereo Vision y Motion Tracking, que si bien exceden el alcance de esta tesis, es importante tenerlas en cuenta.

Las técnicas de Sustracción de Fondo también pueden aprovechar esta técnica para optimizar sus tiempos de procesamiento.

En este capítulo se explicará el concepto de Pirámides. En el siguiente capítulo se explicará cómo utilizar la función de Gauss, en combinación con la técnica de filtros vista en el capítulo anterior, para optimizar los procesos de segmentación mediante esta técnica.

2.3.1. Definición

Una pirámide se define como una colección de representaciones de una imagen. Partiendo de una imagen de alta definición y alto nivel de detalle, se construye una colección de representaciones de menor resolución y, por lo tanto, con un nivel de detalle menor.

Page 26: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

26

Ilustración 2.3.b. Esquema de una pirámide.

Formalmente, siendo la imagen monocromática [ ] [ ] [ ]255,01,01,0 ×−×−∈ RCT , se

obtiene su imagen de menor nivel de detalle T’ mediante la operación de escalamiento S

tal que

El operador ↓S implica una fuerte pérdida de información, debido a que por cada vecindario de 2x2 píxeles en la imagen T, sólo uno de ellos aparecerá en la imagen T’.

Ilustración 11: Imagen de 2x2 píxeles, escalada al 50%, tomando el pixel superior-izquierdo como referencia.

Nada garantiza que los otros tres píxeles del vecindario sean justamente los que poseían alguna información relevante, tal como un objeto puntual, parte de un borde o características relevantes de una textura. Muchas veces, esta pérdida de información se percibe a simple vista.

La siguiente imagen muestra cómo puede perderse el trazo de una línea al escalarla. Se han remarcado con rojo los grupos de 4 píxeles que serán convertidos a un solo píxel en un proceso de escalamiento al 50%.

Page 27: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

27

Ilustración 12: Imagen de 8x8 píxeles, escalada al 50%, tomando el pixel superior-izquierdo de cada grupo de 2x2 como referencia.

Para evitar esta pérdida de información, el operador ↓S suele aplicarse a la imagen T esfumada mediante algún filtro G, de modo que

Recuérdese que el proceso de esfumado se logra de un promedio de los pixeles de un vecindario. Esto garantiza que todos los píxeles de T asimilarán características de sus vecinos, pudiendo ser cualquiera de ellos el que represente el valor promedio del vecindario.

Ilustración 13: Ejemplo de una imágen esfunada y escalada.

Nuevamente, el filtro por excelencia para esta técnica es el de Gauss, debido a sus importantes propiedades que permiten optimizar el proceso de segmentación. Estas propiedades serán vistas en detalle en el capítulo 2.4.

Page 28: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

28

2.4. Filtro de Gauss La función de Gauss tiene propiedades que son aplicables a la teoría de filtros vista en el capítulo 2.2. En especial, estas propiedades permiten realizar optimizaciones a los algoritmos que Sustracción de Fondo que se verán al final de esta tesis. En este capítulo se presentará la definición del Filtro de Gauss y sus propiedades. Hacia el final se explicará cómo aprovechar estas propiedades para optimizar los algoritmos de Sustracción de Fondo y métodos de segmentación en general.

2.4.1 Definición Se define la función de Gauss en dos dimensiones, para un valor de σ , como

La los valores de la función de Gauss son aplicados a matrices que serán utilizadas como filtros. Ejemplo Aplicando la función de Gauss a matrices de diferentes dimensiones, con un 22 =σ , se obtienen filtros como

o

Page 29: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

29

2.4.2. Propiedades

Los filtros de Gauss tienen importantes propiedades que se aprovechan a la hora de implementar algoritmos ([For03], Cap. 8.3.3 “Why Smooth with a Gaussian?”, pág. 227). En esta sección se enumeran algunas propiedades y sus ventajas. Eficiencia El valor de σ determina hasta qué tan lejos se da importancia a los pixeles del vecindario donde se está aplicando el filtro de Gauss. Notar que los valores de la matriz G decrecen rápidamente desde el centro hacia el extremo de la matriz. Esta velocidad de decrecimiento se aumenta fijando valores de σ mas grandes.

Por otra parte, el 95% del volumen contenido bajo g(r,c) está en un radio σ2 alrededor de la media.

Esto es importante, ya que G4X4, para un 22 =σ , es casi igual a la misma función

( )crg , en todo su dominio infinito. Por lo tanto, podemos afirmar que,

Esta propiedad, aplicada a la técnica de pirámides vista en el capítulo 2.3, garantiza que la pérdida de información resultado de esfumar y escalar una imagen es mínima ([For03], cap. 8.3.3, pág. 228). Convolución Teniendo dos funciones gaussianas ( )crg ,1 y ( )crg ,2

Esta propiedad permite lograr una serie de imágenes {T1, …, Tn}, cada una resultado de aplicar esfumado sobre la anterior,

sin necesidad de aplicar el filtro de Gauss mas de una vez.

Page 30: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

30

Se verá en la sección 2.4.3 (Aplicación a Métodos de Sustracción de Fondo) que puede obtenerse la imagen Tn sin necesidad de procesar todas las imágenes anteriores ([For03, cap. 8.3.3, pag. 227).

Esta propiedad resulta de importancia en la construcción pirámides comenzando por la imagen de menor resolución, para luego ir tomando mayores resoluciones sólo de la porción de la imagen que contiene información relevante.

Al final de este capítulo se explicará cómo se aplica esta propiedad para la optimización de procesos que involucran técnicas de Sustracción de Fondo.

Transformada de la función de Gauss

La transformada de Fourier aplicada a una función de Gauss da como resultado otra función de Gauss. Por lo tanto, realizar una convolución de la imagen T con la función g en el dominio espacial reduce las tendencias a altas frecuencias. Esto se deduce fácilmente si pensamos en que,

y que la función g decrece rápidamente cuando se aleja de la media. Esta propiedad resulta especialmente importante si se considera que las altas frecuencias representan detalles de la escena, mientras que las frecuencias bajas corresponden mas bien a las grandes objetos. La silueta de una persona o de un edificio suele identificarse por un patrón de bajas frecuencia. Por el contrario, las texturas de estos objetos suelen estar determinadas por patrones de altas frecuencias que se repiten en el dominio del objeto. Esta propiedad también explica porqué el efecto de aplicar un filtro de Gauss se conoce como smoothing ([For03], cap. 7.3.1 “Smoothing with a Gaussian”, pág. 185). Smoothing es el efecto de esfumar la imagen, eliminando detalles puntuales como la rugosidad de una superficie, el ruido en la señal capturada u objetos pequeños y sin relevancia que predominan en la escena.

Page 31: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

31

Gracias a este efecto de smoothing, el Filtro de Gauss pueda aplicarse en pirámides. Y el procesamiento de pirámides puede optimizarse si se aprovechan las propiedades de la función gaussiana que se están viendo en este capítulo. Teorema Central del Límite Para una gran cantidad de funciones ocurre que al aplicarse un producto de convolución consigo misma repetidas veces, se obtiene como resultado una función gaussiana. Por lo tanto, si se desea aplicar un efecto de esfumado repetidas veces sobre una imagen, con un filtro cualquiera, es casi seguro que se obtendrá el mismo resultado que al aplicar un solo filtro gaussiano. Esto es evidente si se piensa en la propiedad asociativa del producto de convolución, donde

y

Separabilidad Una función guassiana de dos variables puede ser expresada como,

A esta propiedad se la denomina producto tensor ([Sha00], cap. 8.3.3, pág. 227). El cálculo de tensores tiene un uso muy frecuente en la física y en la matemática (http://es.wikipedia.org/wiki/Cálculo_tensorial a la fecha del 20-05-09). En visión artificial, el uso de tensores es útil para optimizar los cálculos de convolución. Derivada La derivada de la función una función gaussiana resulta ser función de la misma función gaussiana,

Page 32: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

32

y la derivada segunda tiene la forma,

Page 33: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

33

2.4.3. Aplicación a Métodos de Sustracción de Fondo

En cualquier método de segmentación, incluyendo los métodos de Sustracción de Fondo, es posible que se quiera obtener información sobre el objeto segmentado y, por el contrario, no se tenga ningún interés en el resto de la escena. Un ejemplo típico de esta necesidad son los sistemas de seguimiento (o tracking), donde se extraen características de cada objeto segmentado para luego etiquetarlo y reconocerlo en escenas posteriores. Pero segmentar toda una escena para luego interesarse en una pequeña porción de ella puede es un desperdicio de recursos. Trabajar en una imagen de alta resolución donde sólo interesa analizar en detalle una pequeña porción de la misma no es un enfoque práctico. En este trabajo, además de presentar una técnica de Sustracción de Fondo, también se recomienda aplicar la técnica de Pirámides para realizar el proceso de segmentación sobre una representación de la escena en baja resolución, para trabajar luego en el área de la escena original donde se encuentra el objeto segmentado. Este enfoque fue propuesto en [Burt81] y desde entonces han surgido un gran número de métodos que utilizan la técnica de pirámides en procesos de segmentación ([Luc01], 4.1. Split-and-merge techniques) Implementación de Primer Orden

Teniendo una imagen I de dimensiones CR × , puede escalarse a ( )IGSI ∗= ↓' , de

modo que,

( ) ( )( )crIGcrI 2,2,' ∗= .

Para realizar el proceso de segmentación sobre una representación en menor resolución. Esta operación puede implementarse de tal forma que no sea necesario realizar el procesamiento de la imagen completa. Funcion Escalar_Y_Obtener_Pixel (I: Imagen, r: Entero, c: Entero) Valor_1 = I(2r, 2c) Valor_2 = I(2r+1, 2c)

Valor_3 = I(2r, 2c+1) Valor_4 = I(2r+1, 2c+1)

Resultado = G[0,0]*Valor_1 + G[1,0]*Valor_2 + G[0,1]*Valor_3 + G[1,1]*Valor_4 Fin Funcion

Page 34: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

34

Implementado de este modo, el uso de pirámides no agrega costos de procesamiento a la los algoritmos de segmentación, pues no es necesario barrer toda la imagen para generar el resultado de su producto de convolución. Implementación de Orden Superior Si se necesita obtener una representación de orden mayor a uno, deberá escalarse la I más de una vez,

( ) ( )( )IGSGSIGSI ∗∗=∗= ↓↓↓ ''' .

Esta ecuación también puede escribirse de la siguiente forma,

( ) ( )( )crIGGcrI 4,4,'' ∗∗= ,

y la ecuación general se escribe como,

( )( ) ( )( )crIGGGcrI nnn 2,2..., ∗∗∗∗= ,

donde el filtro G se aplica n veces. Y aprovechando las propiedades de convolución y eficiencia de la función de Gauss, es posible definir,

( )( ) ( )( )( )crIGcrI nnnn 2,2, ∗= ,

donde,

( ) ( )crgGGGGn

n ,...σ

≅∗∗∗= .

Gracias a esta última ecuación, puede aplicarse un proceso de segmentación sobre una representación de cualquier orden sin aumentar el orden del algoritmo. La manera propuesta en este trabajo es obtener los píxeles de la imagen ( )nI extendiendo el algoritmo anterior.

Page 35: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

35

2.5. Color

Los procesos de sustracción de fondo se basan por lo general en la diferencia de un cuadro de la escena contra el modelo del fondo de la escena.

Cuando se trabaja con imágenes monocromáticas, cada píxel está compuesto de un valor escalar, y sólo existe un valor para comparar.

En las imágenes a color, cada pixel tiene varios atributos, donde cada uno aporta información distinta.

Este capítulo desarrolla el concepto de color y sus distintos sistemas de medición. Por último, explica el significado de cada uno de sus atributos, con el propósito de tener en claro qué característica de la imagen se está comparando cuando se decide hacer la diferencia de dos imágenes respecto a cierto atributo en particular.

2.5.1. Definición

Hasta aquí, todos los ejemplos citados han sido aplicados a imágenes monocromáticas. En esta sección se introduce al color como una nueva característica de las imágenes.

El color es un factor importante a la hora de obtener información sobre una escena ([Sha00], cap. 6.3.4).

Para el sistema de visión humano, el color es una sensación (http://es.wikipedia.org/wiki/Sensación, a la fecha del 2011-08-14). Depende de las propiedades físicas de la luz y un complejo procesamiento del aparato visual ([Sha00], cap. 6, pág. 209) y psicológico ([Sha00], cap. 6.1.2, pág. 211).

Respecto a los receptores de la luz, tanto cámaras como el propio aparato visual humano, responden sólo a ciertos rangos dentro del espectro electromagnético. El ojo humano es capaz de percibir el espectro que abarca de los 400 a 750 nanómetros de período (http://es.wikipedia.org/wiki/Ojo_humano, a la fecha del 2011-08-14).

Ilustración 14: Espectro electromagnético. Tomado de Wikipedia.

Page 36: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

36

Existen además una variedad de dispositivos capaces de detectar radiación fuera del espectro visible. Las cámaras infrarrojas o las máquinas de rayos-X tienen la capacidad de traducir radiación invisible en imágenes perceptibles por el ojo humano.

El aparato visual humano, en particular, está compuesto por tres tipos diferentes de células denominadas conos L, M y S, dedicados a reaccionar a los colores rojo, verde y azul respectivamente, mas otro tipo de células denominadas bastones encargadas de percibir la luz acromática. (http://es.wikipedia.org/wiki/Cono_(célula), a la fecha de 08-Jun-2009; http://es.wikipedia.org/wiki/Bastón_(célula), a la fecha de 08-Jun-2009).

Ilustración 15: Sensitividad de los tres tipos de bastones y conos a diferentes frecuencias. Tomado de Wikipedia.

2.5.1. Espacio CIE-1931

El modelo CIE-1931 fue uno de los primeros modelo matemáticos acerca de la percepción del color, creado por la International Commission on Illumination (http://en.wikipedia.org/wiki/International_Commission_on_Illumination, a la fecha de 12-07-2009).

Page 37: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

37

Ilustración 16: Espacio CIE-1931. Tomado de Wikipedia.

El modelo del estándar CIE-1931 se basa en que la sensación de color percibida por el ojo humano se genera por la percepción de ondas de longitud corta, media y larga. Cada uno de estos tres rangos se corresponden a lo que se denominan colores primarios en sistema de coordenadas donde los componentes se adicionan para formar otros colores (http://en.wikipedia.org/wiki/CIE_1931_color_space, a la fecha de 12-07.2009).

2.5.2. Espacios de Color

Cualquier modelo que asocie un valor triestímulo con un color es denominado un espacio de color.

2.5.3. Espacio RGB

El espacio RGB (red-green-blue) es una manera de codificar colores en tres bytes, lo que da una variedad de 16 millones de códigos diferentes. Se utiliza un byte para representar el componente rojo, otro para el verde y otro para el azul.

[Sha00] sugiere utilizar el término código en lugar de color, puesto que el color es una percepción y, por lo tanto, puede ser particularmente distinta para cada individuo.

Los dispositivos de visualización denominados true-color, son aquellos que hacen coincidir cada código del modelo RGB con el color percibido por el promedio de los seres humanos (http://es.wikipedia.org/wiki/Profundidad_de_color, sección Color Real o True Color, a la fecha del 2011-08-14).

Cada componente RGB se determina con un número entero del 0 al 255.

Page 38: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

38

Ilustración 17: Espacio de coordenadas RGB.

La intensidad del color queda determinada por qué tan altos son los valores de estas coordenadas. Mas formalmente, la intensidad se define como,

Aquellas coordenadas donde los tres componentes tengan el mismo valor corresponden a la escala de grises. El color negro corresponde a la coordenada (0,0,0) y el color blanco a la coordenada (255,255,255).

El sistema RGB también es considerado un modelo aditivo ya que los diferentes colores suelen lograrse adicionando componentes al negro (http://es.wikipedia.org/wiki/Síntesis_aditiva_de_color, a la fecha de 2011-08-14).

Quizá el dispositivo más conocido que utiliza este sistema de coordenadas es el monitor, que representa cada pixel con un pequeño agrupamiento de tres foto-emisores, uno para cada coordenada. En un monitor, cada componente se adiciona a la pantalla negra del monitor.

2.5.4. Espacio RGB Normalizado

El espacio RGB normalizado se define como,

Page 39: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

39

Como resultado de esta definición, se obtiene que,

y cada valor puede representarse en un espacio de dos dimensiones,

Ilustración 18: Espacio RGB Normalizado superpuesto al espacio CIE-1931. Tomado de Wikipedia.

Notar que los ejes de coordenadas corresponden a los componentes r y g. El valor de b se obtiene deducido de la ecuación anterior. El color blanco se logra cuando los tres componentes logran ser iguales y con un valor máximo de 1/3.

2.5.5. Espacio CYM

El espacio CYM es el inverso al RGB. Sus coordenadas se obtienen mediante las ecuaciones,

Page 40: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

40

A diferencia de RGB, CYM es un modelo sustractivo, ya que cada color se logra quitando componentes al blanco, ubicado en las coordenadas (0,0,0).

Quizá los dispositivos más conocidos que utiliza este sistema de coordenadas son las impresoras, que utilizan los tintes de colores cyan, amarillo y magenta para sustraer frecuencias de luz reflejadas por la superficie blanca del papel (http://es.wikipedia.org/wiki/Síntesis_sustractiva, a la fecha del 2011-08-14).

2.5.6. Espacio HSI

Imaginar un color a partir de sus coordenadas RGB no es algo sencillo. Las coordenadas RGB son eficientes desde un punto de vista computacional, pero resulta difícil imaginar un color partiendo de sus coordenadas RGB.

El espacio HSI (Hue-Saturation-Intensity, o Matiz-Saturación-Intensidad), es capaz de expresar un color en valores mucho mas intuitivos para el entendimiento humano ([Sha00]).

El espacio HSI se logra proyectando el espacio RGB a través de su diagonal, lo que da como resultado el exágono de la figura,

Ilustración 19: Espacio HSI. Tomado de Wikipedia.

El matiz puede entenderse como la tonalidad del color que estamos representando.

Page 41: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

41

La saturación indica qué tan puro es ese color. Un color es mas puro cuanto menos agregado de luz blanca tenga. De esta manera, los colores pastel se encuentran cerca del eje I; y un azul marino está mucho mas saturado que un celeste.

La intensidad es la percepción del brillo por parte del ojo humano (Wikipedia, http://en.wikipedia.org/wiki/Lightness_(color) al 17-05-2009).

La conversión matemática entre ambos modelos se explica en detalle en Wikipedia, http://en.wikipedia.org/wiki/HSI_color_space, a la fecha del 17-05-09.

2.5.7. Espacios YIQ y YUV

YIQ y YUV son dos espacios utilizados especialmente para señales de video.

Ambos tienen dos ventajas importantes ([Sha00]):

• separan la luminiscencia (Y) de los valores propios de la cromaticidad (IQ y UV, respectivamente); y además

• ofrecen una conversión aproximada lineal al sistema RGB, que resulta más fácil de implementar que la transformación entre RGB y HSI.

La primera ventaja es de particular importancia, dado que el sistema visual humano presta mayor importancia a la luminiscencia de los colores que a su cromaticidad. Poder representar la luminiscencia como una variable independiente de las otras permite implementaciones donde la cantidad de bits es mayor para esta variable y así lograr una mejor calidad de imagen.

Expresar la luminiscencia y la cromaticidad con diferentes cantidades de bits cada una permite también un mayor potencial de compresión. Esto se debe a que en una escena donde predomina la luz ambiente, la luminiscencia de los colores suele ser la misma para todos los objetos.

El esquema YIQ es particularmente utilizado en la norma de televisión NTSC. Si bien su conversión desde el modelo RGB no es lineal, la siguiente transformación resulta una aproximación suficiente,

La transformación detallada del espacio RGB a YIQ puede encontrarse en Wikipedia, http://es.wikipedia.org/wiki/YIQ, a la fecha de 17-05-09.

El sistema YUV es particularmente utilizado en compresión JPEG y MPEG para video. La transformación a RGB es,

Page 42: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

42

La transformación detallada del espacio RGB a YUV puede encontrarse en Wikipedia, http://es.wikipedia.org/wiki/YUV, a la fecha de 17-05-09.

2.5.8. Histogramas en Imágenes a Color

Dada una imagen a color I, el histograma se realiza sobre cada una de los componentes del color en un espacio dado, ya sea RGB, YUV o cualquier otro. Dependiendo de la aplicación que se esté desarrollando, puede ser interesante realizar un histograma del componente rojo de la imágen según sus valores RGB, o quizá se prefiera utilizar el matiz como parte de un criterio de segmentación.

Así se tendrán generalmente tres histogramas para cada imagen, uno por cada componente de color. Adicionalmente, suele hacerse otro histograma para la intensidad.

Page 43: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

43

2.6. Iluminación

En la sección anterior, se definió la reflectancia una superficie y el espectro de la luz ambiente como los principales factores que determinan el color con que un objeto es percibido.

El color percibido depende principalmente de las propiedades de la superficie del objeto que se observa, la tonalidad de la luz ambiente ([Sha00]) y otros menos frecuentes como visibilidad climática y la temperatura de la atmósfera.

En este capítulo completa los conceptos del anterior, explicando cómo las fuentes de luz y la superficie de los objetos influyen en el valor de los píxeles que resultan en la imagen capturada.

2.6.1. Definición

En un modelo simplificado de la realidad, se utilzan sólo algunos aspectos que determinan las propiedades de la luz percibida:

• la especularidad de una superficie, que determina qué tanto se comporta como un espejo;

• la traslucidez de una superficie, que provoca que un objeto no sólo absorba y refleje diferentes partes del espectro, sino que además pueda ser atravesado por otra parte de él;

• la ubicación y dirección de una fuente de luz; y

• la disminución de la intensidad de la luz con la distancia.

Existen tres modelos de iluminación elementales, que modelizan la reflexión de la luz en diferentes tipos de superficies. Se denominan,

• modelo de reflexión de luz ambiente,

• modelo de reflexión de luz difusa, y

• modelo de reflexión de luz especular.

Los tres son surgidos de observaciones empíricas de la realidad. Simplifican en gran medida los fundamentos la física que explican la reflexión de luz en diferentes tipos de superficies.

Estos modelos son especialmente utilizados en computación gráfica, donde dada la maya de un objeto tridimensional, de un cierto color, se determina la intensidad de luz que debe ser percibida por cada punto de ella, en base a la ubicación de las fuentes de luz y propiedades del material. Esto es lo que da al espectador la sensación de que el

Page 44: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

44

objeto dibujado en un dispositivo bidimensional (típicamente una pantalla) sea tridimensional.

Ilustración 20: Simulación de un objeto tridimensional.

2.6.2. Reflexión de Luz Ambiente

La luz amiente se define como la intensidad de luz presente en cada punto de la escena ([Sha00], capítulo 6.6.5), resultado de varias e incontables fuentes de luz, la fuentes de luz no puntuales (p.e., una ventana) y de la reflexión mutua entre los objetos de la escena.

La luz ambiente es en realidad un modelo simplificado de una realidad sumamente compleja. Por ejemplo, la luz que entra por una ventana no puede modelizarse como una fuente de luz puntual,

Ilustración 21: Efecto de luz ambiente.

y modelizar una suma elevada de fuentes puntuales es computacionalmente costoso, al igual que reflexión mutua entre objetos de la escena.

El modelo de luz ambiente establece una intensidad promedio de luz Ia que se origina en cada punto de la escena. La luz ambiente reflejada por el objeto depende del índice de reflexión ka propio de la superficie,

Page 45: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

45

2.6.3. Reflexión de Luz Difusa

La reflexión difusa es originada por superficies opacas. Depende especialmente de la orientación de la superficie respecto a la fuente de luz, tal como lo muestra la figura de más abajo.

Ilustración 22: Modelo de reflexión difusa.

Notar que

• la intensidad percibida no depende de la posición del observador, y que

• la máxima intensidad de produce cuando el foco de luz está alineado con la normal de la superficie.

Para entender estas dos propiedades, puede pensarse en el sol posado a medio día sobre una llanura, donde la intensidad reflejada sobre el suelo es máxima; muy distinta a la producida durante el ocaso.

La intensidad percibida por la reflexión difusa se expresa en la siguiente ecuación vectorial,

que también puede expresarse como,

2.6.4. Reflexión especular

La reflexión especular es producida sobre superficies espejadas.

Page 46: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

46

Ilustración 23: Modelo de reflexión especular.

Formalmente, la reflexón especular se expresa vectorialmente como

donde n es el índice de especularidad de la superficie.

Reemplazando el producto escalar,

La reflexión especular tiene las siguientes propiedades,

• depende de la posición del observador, y

• cuanto mayor sea el índice de especularidad de la superficie, más se comportará ésta a un espejo.

La primera propiedad es fácil de entender si se observa que un observador frente a un espejo se verá distinto según la ubicación que tenga delante del espejo.

La segunda propiedad surge del término coseno en la ecuación anterior. Obsérvese que el término tendrá siempre un máximo de valor 1 cuando alfa sea igual a 0, pero el ancho de la sinusoide se irá volviendo mas angosto cuánto mas grande sea el valor de n;

Ilustración 24: Efecto de reflexión especular simulado por computadora.

Page 47: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

47

esto hará que la especularidad aumente y la superficie asimile el comportamiento de un espejo.

Page 48: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

48

3. Algunas Areas de Aplicación

Los conceptos de visión artificial explicados se aplican en un gran número de soluciones. En esta sección se presentarán dos problemas reales en los que se aplican los conseptos vistos hasta ahora:

• sistemas de vigilancia y seguridad, y • sistemas de segmentación de video.

3.1. Sistemas de Vigilancia

Dentro mismo del área de vigilancia y seguridad, existe un gran número de aplicaciones como por ejemplo:

• bases de datos de rostros (face database), • reconocimiento de rostros (face retrieval), • seguimiento de vehículos (vehicle tracking), y • seguimiento de personas (people tracking), entre otros.

Para todos los casos existen una serie de problemas que deben salvarse, tales como la oclusión entre diferentes objetos de la escena ([Flauret08]) o la detección de sombras para no malinterpetar la geometría real de los objetos de la escena ([Prati03]).

3.1.1. Face Database

El trabajo presentado en [Zagreb06] es un buen ejemplo de las consideraciones que deben tenerse para crear una base de datos de rostros. En particular, [Zagreb06] obtiene un registro de base de datos por cada individuo, donde se almacenan fotografías de su rostro tomadas desde diferentes ángulos, distancias y condiciones de luz.

El objetivo de este trabajo es simplemente la obtención de una base de datos única y completa, disponible para cualquier proyecto posterior donde se necesite.

Obtener una colección de fotografías tomadas desde diferentes ángulos, distancias y condiciones de luz para todos los participantes por igual, requiere que sea montado un escenario con múltiples cámaras ubicadas en diferentes posiciones y condiciones de luz bien definidas.

De ninguna manera podría hacerse sobre fotografías tomadas con anterioridad y de las que no se sabe a priori las condiciones en que se tomaron.

Page 49: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

49

Otra consideración que se debe tener en cuenta es cómo recortar el rostro de la fotografía tomada, ya que es la porción de la escena que interesa almacenar. Este paso previo podría clasificarse como la detección de un rostro humano (face detection) dentro de una escena.

3.1.2. Face Retrieval

Tomando ahora la fotografía de un rostro humano bajo condiciones desconocidas o no controladas, debería ser posible vincular esa escena con un registro de base de datos. Sobre este tema abordan los artículos [Bach93] y [Shu05].

Face Database Retrieval se refiere mas ampliamente a la obtención de un set de resultados según una consulta a la base de datos. El punto en cuestión radica en definir cuáles son los parámetros involucra la consulta.

Como parámetros pueden usarse medidas antropométricas (separación de los ojos, distancia de la nariz a la boca, etc.), tonalidad en el color de la piel o color del cabello. Estos parámetros pueden ser ingresados por el usuario en forma manual, o pueden ser resultado de una imagen tomada recientemente. Este último caso es lo que se conoce como QBE (Query by Example).

Un completo sistema capaz de almacenar una colección de rostros, parametrizarlos y generar un set de resultados en base a una consulta es lo que se conoce como VIMS (Visual Information Management System).

3.3. People Tracking

[Flauret08] hace una breve reseña sobre el estado del arte en el área de people tracking, clasificando los métodos existentes en dos grandes ramas: capturas monocular y captura multi-cámara. Los primeros obviamente son mas simples de implementar. Los segundos proveen además información respecto a la ubicación tridimensional de los objetos.

Para ambas ramas de desarrollo, las técnicas de detección son principalmente las basadas en detección de objetos puntuales y las basadas en análisis del color que complementan a la primera.

Los métodos multi-cámara suelen utilizar también mapas de ocupación (occupancy maps), que registran la posición de cada individuo en el espacio tridimensional.

En particular, [Fleuret08] presenta un modelo para atacar el problema de oclusión entre diferentes individuos de la escena y su seguimiento a través de diferentes cuadros tomados de una filmación de la escena. La oclusión se resuelve utilizando un sistema multi-camara. El seguimiento se optimiza mediante un modelo probabilístico que intenta predecir la posición de cada individuo en el siguiente cuadro.

Page 50: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

50

3.4. Sistemas de Segmentación de Video

Esta disciplina intenta reconocer las distinas escenas dentro de un video. En [Lef03] se presenta una revisión de los algoritmos presentes para segmentación en secuencia de video (uncompressed video segmentation methods). Hace especial incapié en la detección de cambio de escena (shot change detection). También hace un estudio complejidad y velocidad de procesamiento de diferentes métodos según distintos tipos de mediciones. Sin embargo, no estudia el margen de error de cada uno.

Según [Lef03] un cambio de escena se define como el cuadro de una escena de video que se captura con una cámara distinta a la del cuadro anterior. Se denomina corte (cut) al cambio de escana que se produce brúscamente de una cuadro al otro. En otros casos mas complejos, los cambios de escena pueden darse através de varios cuadros siguiendo efectos como el disolución de una escena a la otra (dissolve), el desvanecimiento (fade) o el barrido (wipe).

La performance de un método de puede basarse en dos criterios diferentes:

• según el porcentaje de error que tenga el método, o

• según la complejidad de procesamiento, que influye en sus tiempos de respuesta.

Los cambios de iluminación en una misma escena suele se una causa de error. También los son los fondos similares en dos escenas distintas, movimiento de la cámara o movimiento de grandes objetos.

La complejidad de un algoritmo, y por lo tanto su tiempo de respuesta, son relevantes cuando se debe elegir un método que trabaje en forma on-line.

Page 51: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

51

4. Estado del Arte

En este capítulo se desarrolla el estado del arte de los métodos de sustracción de fondo. En la primea sección se hará un repaso por varios métodos representativos de la disciplina, y se profundizarán en aquellos dos que son comparables con el método propuesto en este trabajo (Promedio Móvil Gaussiano y Filtro de Mediana Tempoal).

4.1. Métodos Existentes

Considerando que se trabaja sobre una secuencia de video, [PICCARDI04] explica 7 métodos representativos para la sustracción de fondo, ordenados en complejidad,

• promedio móvil gaussiano (running gaussian average o GA), propuesto en [Wren97];

• filtro de mediana temporales (temporal median filter o TMF), propuesto en [Lo01], [Cucchiara03] y otros;

• mezcla de gaussianas (mixture of gaussians o MOG), propuesto en [Stauffer99];

• estimación de densidad (kernel density estimation o KDE), propuesto en [Elgammal00];

• estimación de densidad secuencial (sequential kernel denisty approximation o SKDE), propuesto en [Han04];

• variaciones de imágenes coocurrentes (cooccurence of image variations o CIV), y

• eigen-fondos (eigenbackgrounds o EBG).

GA y TMF son los dos métodos más cercanos al propuesto en este trabajo. Se basan en un estudio estadístico de un único atributo de cada píxel del modelo. Ambos se adaptan a cambios paulatinos en la iluminación global.

Los demás métodos son mas robustos a la hora de detectar cambios abruptos en la escena, tales como fenómenos climáticos (lluvia, nueve), ruido agregado por los dispositivos de entrada o variaciones abruptas de iluminación. Sin embargo representan mayores tiempos de procesamiento, algoritmos complejos y de mayor orden, y mayores requerimientos de memoria.

El trabajo presentado en esta tesis intenta proponer un método sencillo, con tiempos de procesamiento reducidos, mejor a los de GA y TMF; y con mayor robustez para detectar cambios de iluminación ambiente.

Page 52: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

52

El propósito de esta sección es explicar los métodos GA y TMF en forma matemática. En la sección siguiente se presentará el método de Sustracción de Fondo por Histogramas ( SFH, o Histogram Background Substraction) propuesto en este trabajo.

4.1.1. Promedio Móvil Gaussiano

El método GA decide en cada cuadro (o frame) cuáles pixeles pertenecen al fondo de la escena y cuáles no. Se basa en la hipótesis de que los pixeles del fondo de la escena no deberán variar significativamente sus propiedades (intensidad, matiz, etc.) entre dos cuadros consecutivos t y t+1.

El método GA consta de dos etapas. La primera de inicialización y la segunda de procesamiento. En la etapa de inicialización se construye el modelo utilizando una secuencia de cuadros en las que no aparecen objetos frente al fondo de la escena. En la etapa de procesamiento ocurren dos cosas: se segmenta el fondo de la escena de los objetos que aparezcan en ella, y se actualiza el modelo, para adaptarlo a posibles variaciones.

Para la construcción del modelo, en GA se determina un único atributo que será representativo del estado de los píxeles. Puede ser intensidad, matiz, saturación, etc. En esta sección se optará por al intensidad.

Luego se asigna a cada píxel una función de probabilidad gaussiana de parámetros µ

y σ . Ambos parámetros deben ser estimados mediante los estadísticos X y S , calculados según un lote de imágenes del fondo de la escena.

Para cada cuadro t, un píxel de intensidad I pertenecerá al fondo de la escena si cumple

ttt kSXI <− ,

donde k es un parámetro de tolerancia ajustable. De este modo se segmentará el fondo de la escena de los objetos en movimiento que generan una diferencia de intensidad significativa contra el fondo de la escena.

Page 53: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

53

Los parámetros X y S , para cada píxel, se actualizan a lo largo de cada cuadro t de la forma

( ) ( )( )11 11 −− −+−+= tttt XIMXMX αα , y

( ) ( ) ( )( )121 11 −− −+−−+= ttttt SXIMSMS αα ,

donde α establece la velocidad de adaptación a cambios de la escena o learning constant ([Stauffer99]), tales como cambios de iluminación.

El parámetro M, propuesto por [Koller94], toma un valor binario que indica si el pixel pertenece o no al fondo de la escena según el criterio visto mas arriba. De modo que,

<−

≥−=

ttt

ttt

kSXI

kSXIM

0

1

Según [Stauffer99], este método funciona bien en ambientes cerrados y luego de una prolongada inicialización observando la habitación vacía ([Stauffer99], Previous work and current shortcomings).

4.1.2. Filtro de Mediana Temporal

La técnica de Filtro de Mediana Temporal (o TMF) es una variación de la técnica de GA. Utiliza la mediana en lugar de la media.

El filtro de medianas tiene buenos resultados en presencia de fluctuaciones aleatorias.

Especialmente, en el área de Sustracción de Fondo, las fluctuaciones aleatorias suelen deberse a fenómenos climáticos y al ruido inherente agregado por los dispositivos de entrada.

Page 54: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

54

Dado que la mediana no puede re-estimarse utilizando una ecuación móvil como la que

calcula tX en el método GA, TMF debe estimarla procesando los últimos N frames anteriores en memoria. La estimación agrega un ciclo adicional al algoritmo, agrega un costo adicional de memoria y aumenta el orden del algoritmo.

El filtro de medianas es óptimo para la recuperación de la tendencia subyacente de la serie de tiempo cuando las fluctuaciones sobre la tendencia se distribuyen normalmente. De modo que permite filtrar una imagen a la vez que elimina el ruido en la misma (http://en.wikipedia.org/wiki/Median_filter a la fecha del 14-Feb-2012, http://en.wikipedia.org/wiki/Moving_average#Moving_median a la fecha del 14-Feb-2012).

Page 55: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

55

5. Método Propuesto

Cómo se explicó en el capítulo anterior, el método SFH presentado en esta tesis intenta proponer un método sencillo, con tiempos de procesamiento reducidos, similares a los de GA y TMF; pero con mayor robustez a la de éstos.

Este capítulo explicará el método matemático y su algoritmo.

5.1. El método SFH

Sean B la imágen monocromática del fondo de la escena, y sea I la imagen monocromática de la escena en un instante dado. La sustracción del fondo de la escena se obtiene calculando el error entre ambas imágenes:

Para determinar cuáles píxeles en D representan el fondo de la escena y cuáles representan objetos en movimiento, se trabajará con el histograma

,

donde v pertenece todos los posibles valores de intensidad que puede tomar un pixel (desde 0 hasta 255).

Por tratarse de la diferencia entre dos imágenes similares, la imagen D suele contener píxeles de baja intensidad en su mayoría, y unos pocos píxeles de intensidad más alta. Los píxeles de intensidad alta suelen corresponder a la presencia de un objeto en movimiento, o foreground.

El histograma H suele tener una forma exponencial negativa,

Page 56: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

56

El problema radica en determinar el valor de intensidad T que separa a aquellos píxeles del fondo de la escena (background) de aquellos que representan a los objetos en movimiento (foreground).

El método SFH propone determinar T como el valor medio del histograma,

El valor T es utilizado como umbral en un proceso de thresholding.

La siguiente figura muestra el proceso de thresholding aplicado a un cuadro de la escena sin objetos en movimiento (imagen B), y luego aplicado a un cuado de la escena con objetos en movimiento (imagen I).

La imagen I se calcula como,

Page 57: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

57

5.1.2. Optimización

El método SFH explicado hasta ahora requiere que se hagan dos barridas a cada frame t de la secuencia: uno para armar el histograma y otro para realizar la segmentación.

// creación del histograma for (i=0; i<input.GetWidth(); i++) for (j=0; j<input.GetHeight(); j++) hi[abs(ci.intensity-cb.intensity)]++ ; // calculo la parámetros del histograma mi = media(hi, 256) ; vi = varianza(hi, mi, 256) ; // segmentación for (i=0; i<input.GetWidth(); i++) for (j=0; j<input.GetHeight(); j++) { CColor ci(input.GetPixel(i,j)) ; CColor cb(background_model.GetPixel(i,j)) ; if (abs(ci.intensity-cb.intensity)>mi-mi*vi*k) { output.SetPixel(i,j,RGB(255,255,255)) ; } else { output.SetPixel(i,j,RGB(0,0,0)) ; } }

La necesidad de realizar dos barridos a cada frame deteriora notablemente la performance del algoritmo SFH en comparación a GA, que sólo debe hacer uno.

Para reducir la cantidad de barridos a uno, se propone calcular el histograma dentro de la misma iteración que realiza la segmentación, y utilizarlo recién para la segmentación del frame siguiente. De este modo, la segmentación de cada frame utiliza el histograma del frame anterior.

// segmentación for (i=0; i<input.GetWidth(); i++) for (j=0; j<input.GetHeight(); j++) { CColor ci(input.GetPixel(i,j)) ; CColor cb(background_model.GetPixel(i,j)) ; if (abs(ci.intensity-cb.intensity)>mi-mi*vi*k) { output.SetPixel(i,j,RGB(255,255,255)) ; } else {

Page 58: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

58

output.SetPixel(i,j,RGB(0,0,0)) ; } // creación del histograma hi[abs(ci.intensity-cb.intensity)]++ ; } // calculo la parámetros del histograma mi = media(hi, 256) ; vi = varianza(hi, mi, 256) ;

Si bien esta técnica le quita exactitud al método, los resultados empíricos demuestran que no afecta significativamente y los beneficios en performance son considerables.

Page 59: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

59

6. Comparación de los Métodos

En esta sección se comparán los métodos Gaussian Average (GA), Temporal Median Filter (TMF) y el presentado en esta tesis: Sustracción de Fondo por Histogramas, o SFH.

En la primera sección de este capítulo se hará una comparación teórica de los tres métodos. Tal como hace [PICCARDI04], se analizarán el orden de cada algoritmo, sus requerimientos de memoria y su exactitud.

En la segunda sección se agregarán datos empíricos propios de este trabajo. Se implementarán y ejecutarán cada uno de los métodos para un lote de prueba. Se medirán tiempos y se comparará exactitud.

6.1. Velocidad

En [PICCARDI04], la velocidad de cada método se compara en base al orden del algoritmo. El método GA es el más rápido puesto que realiza sólo un cálculo matemático simple por cada pixel. [PICCARDI04] define la velocidad de GA como O(1), indicando que hace una sola barrida de imagen por cada frame. En este trabajo se prefiere indicar el orden de GA como O(k) donde

crk ⋅= ,

tal que r y c son la cantidad de filas y columnas que cada frame de la secuencia.

El método TMF, por el contrario, realiza un cálculo similar, por cada píxel, mas un cálculo de reestimación para cada uno de los n fames que se almacenan en el buffer. [PICCARDI04] define el orden del algoritmo como O(n) indicando a una barrida del frame se le suman las n iteraciones del buffer. En este trabajo se indicará el orden de TMF como O(nk), siguiendo el criterio aplicado para GA. Este orden no tiene en cuenta la demora agregada por el algoritmo de ordenamiento del vector, necesario para calcular la mediana, y que depende del algoritmo de ordenamiento utilizado.

En el método SFH, cada frame se recorre una primera vez para armar el histograma y una segunda vez para segmentar cada píxel según la media del histograma. El orden del método SFH debería ser O(2k), puesto que itera dos veces cada frame de la secuencia. Pero aplicando la optimización descripta en mas arriba, el orden del algoritmo se reduce a O(k).

6.2. Requerimientos de Memoria En los métodos implementados en esta tesis, el orden de complejidad respecto a los requerimientos de memoria coincide con el criterio de velocidad utilizado por [PICCARDI04] ([PICCARDI04], sección 3.2).

Page 60: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

60

El requerimiento de memoria para GA es de O(1) que sólo almacena un frame para representar el modelo. Para TMF el orden el requerimiento de memoria es de O(n) ya que almacena n frames para representar el modelo.

El criterio de [PICCARDI04] no es válido para comparar GA y TMF con SFH, ya que mientras en los casos de la bibliografía se habla de la cantidad de veces que un arreglo del tamaño de la imagen se almacena en memoria, en el análisis de SFH se debe hablar de la cantidad de bolsillos (o bins) del histograma.

6.3. Exactitud El estudio de exactitud sólo puede hacerse en forma experimental o mediante un estudio teórico complejo ([PICCARDO04], sección 3.3). [PICCARDI04] se limita a clasificar la exactitud en alta, media o baja (H, M, L).

Los métodos GA y TMF son clasificados con la menos exactitud, L/M, debido a que modelan el background de la escena con una distribución simple que sólo se adapta a cambios paulatinos de iluminación, pero no reconocen cambios abruptos y esporádicos.

Cómo se explicará mas adelante, SFH se adapta a cambios de iluminación ambiente, ya sean abruptos a paulatinos. Esto lo hace mas robusto que GA y TMF.

6.4. Implementación de Casos de Prueba

En la sección anterior se presentaron los criterios de comparación aplicados en [PICCARDI04]. Como se explicó, estos criterios se basan en el estudio de los algoritmos.

En esta sección, por el contrario, se tomarán mediciones empíricas de los algoritmos GA, TMF y SFH; tales como:

• Exactitud a simple vista. • Velocidad de procesamiento.

Además, se someterán los algoritmos a distintas situaciones, teles como:

• Variaciones lentas de luminocidad global, • Variaciones rápidas de luminocidad global, • Objetos en movimiento lento, • Objetos en movimiento rápido.

El lote de prueba es una secuencia de video de 286 cuadros. La escena transcurre sobre fondo estático hasta que una persona aparece caminando frente a la cámara.

Page 61: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

61

6.4.1. Exactitud de los Métodos

Ilustración 25: Tres cuadros característicos de la secuencia de video: 1) El fondo de la escena. 2) Una persona detenida frente a la cámara. 3) Una persona en movimiento.

Los tres métodos obtuvieron resultados diferentes a simple vista.

Ilustración 26: Los tres cuadros anteriores, segmentados con el método GA, utilizando K=6 y Alfa=0.01.

Ilustración 27: Los tres cuadros anteriores, segmentados con el método TMF, utilizando K=20 y 30 frames.

Page 62: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

62

Ilustración 28: Los tres cuadros anteriores, segmentado con el método SFH, utilizando K=1 y Alfa=0.1.

El método TMF es el más exacto de los tres. El método SFH es le sigue en exactitud pero, como se verá en la siguiente sección, con tiempos de procesamiento mucho menores.

6.4.2. Velocidad de Procesamiento

Los tres procesamientos tuvieron un tiempo de respuesta promedio de,

• 23,63 segundos, para GA; • 45,93 segundos, para TMF; y • 14,4 segundos, para SFH.

Los tres valores se obtuvieron, cada uno, de una muestra de 60 corridas del proceso sobre el mismo lote de imágenes.

Page 63: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

63

7. Conclusiones

Tanto GA cómo TMF sólo comparan cada píxel de la escena contra su correspondiente píxel del modelo. Pero SFH relativiza esta diferencia respecto a las diferencias de todos los demás píxeles del cuadro.

Gracias a estas características, el método SFH tiene varias ventajas respecto a los métodos GA y SFH.

• mejor velocidad de inicialización, • mejor velocidad de procesamiento, • rápida adaptación a cambios de iluminación (graduales y abruptos), y • no requiere reestimación del modelo de la escena, o background model.

En la primera sección de este capítulo se explicará la causa de cada una de estas ventajas.

En la segunda sección se presentará un software desarrollado en este trabajo que aplica los métodos de sustracción de fondo analizados y los aplica sobre un archivo de video.

Por último, en la tercera sección se plantearán posibles campos de aplicación del método de sustracción de fondo desarrollado en esta tesis.

7.1. Ventajas

Algunas de estas ventajas fueron demostradas en el capítulo anterior con mediciones empíricas. En esta sección se las explicarán brevemente.

7.1.1. Mejor velocidad de inicialización

El método SFH requiere solamente un cuadro del fondo de la escena para construir su modelo, mientras que GA y TMS requieren una cantidad elevada (por lo menos 30) para obtener buenas estadísticas.

7.1.2. Mejor velocidad de procesamiento

Page 64: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

64

GA y TMS colectan grandes lotes de imágenes inicializar el modelo. En TMF, este proceso de estimación continúa durante el procesamiento para adaptar el modelo a cambios de iluminación en el ambiente.

Cómo se verá en el siguiente punto, SFH no necesita re-adaptar su modelo (o background-model) a cambios globales en la escena.

Esta ventaja influye también en los tiempos de procesamiento.

7.1.3. Rápida adaptación a cambios de iluminación

Tanto GA cómo TMF sólo comparan cada píxel de la escena contra su correspondiente píxel del modelo. Pero SFH relativiza esta diferencia respecto a las diferencias de todos los demás píxeles del cuadro.

Una variación de la iluminación de la escena incrementará la diferencia de intensidad de todos los píxeles del cuadro contra la de su correspondiente píxel en el modelo.

Esta estrategia es la que hace que el método propuesto se adapte a cualquier cambio de iluminación, ya sea abrupto a paulatino.

7.1.4. No requiere reestimación del modelo

Ya que SFH no procesa cada píxel de manera aislada, sino que lo compara su diferencia con la diferencia promedio, un cambio de iluminación en la escena no requiere una readaptación de su modelo.

7.2. Software

El software presentado en esta sección toma un archivo de video y le aplica cualquiera de los tres métodos de sustracción de fondo vistos en este trabajo. Permite configurar los parámetros del algoritmo para poder hacer distintas pruebas.

Page 65: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

65

Ilustración 29: Captura de Pantalla del Software Desarrollado.

Como resultado del procesamiento se visualizan, en simultáneo, la secuencia de video original y segmentado.

Para cada cuadro del video se obtienen valores característicos del objeto segmentado (dispersión en ambos ejes, ancho y alto).

7.3. Áreas de Aplicación

Como se explicó en un capítulo anterior, los métodos de sustracción de fondo tienen aplicaciones en campos como:

• seguimiento de personas, • seguimiento de vehículos, • sistemas de vigilancia,

entre otros.

Para el caso de los sistemas de seguimiento, tanto de personas como vehículos, la extracción de características es fundamental. Las aplicaciones de seguimiento se encargan de etiquetar los distintos objetos segmentados dentro de un cuadro y poder identificarlos en cada cuadro posterior de la escena.

En un nivel de complejidad mayor, una aplicación de seguimiento debería ser capaz de detectar cada objeto en distintas escenas capturadas incluso con diferentes cámaras en ambientes diferentes.

Page 66: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

66

Una aplicación de seguimiento como esta última tendría importantes aplicaciones en áreas como seguridad o buscadores en video.

Page 67: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

67

Referencias

[Ade91] “The Plenoptic Function and the Elements of Early Vision”. Edward H. Adelson and James R. Bergen. Computational Models of Visual Processing (pp. 3-20). Cambridge, MA: MIT Press (1991). [Bach93] “A Visual Information Management System for the Interactive Retrieval of Faces”. Jeffrey R. Bach, Santanu Paul and Ramesh Jain. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 5, NO. 4, AUGUST 1993. [Bowden01] "An Improved Adaptive Background Mixture Model for Realtime Tracking with Shadow Detection". P. Kaew Tra Kul Pong and R. Bowden. Vision and Virtual Reality group, Department of Systems Engineering, Brunel University. [Burt81] "Segmentation and Estimation of Image Region Properties Through Cooperative Hierarchical Computation", P.J. Burt, T.-H. Hong, and A. Rosenfeld, IEEE Trans. on Systems, Man, and Cybernetics, Vol. SMC-11, No. 12, pp. 802-809, Dec. 1981. [Coo04] “Statistical Models of Appearance for Computer Vision”, T.F. Cootes and C.J.Taylor. Imaging Science and Biomedical Engineering. University of Manchester. Manchester M13 PT, U.K, 2004. [Cucchiara03] "Detecting moving objects, ghosts, and hadows in video streams", R. Cucchiara, C. Grana, M. Piccardi, and A. Prati, ZEEE Tramon Paftem Anal. and Machine Infell, vol. 25, no. 10, pp. 1337-1442,2003. [Dau92] “Ten Lectures on Wavelets”. Ingrid Daubichies. AT&T Laboratories and Routgers University, 1992. [Elgammal00] “Non-parametric model for background subtraction”, A. Elgammal, D. Hanvood, and L.S. Davis, Proc. ECCV 2000, pp. 751-767, June 2000. [Flauret08] "Multicamera People Tracking with a Probabilistic Occupancy Map", Francois Fleuret, Jerome Berclaz, Richard Lengagne, and Pascal Fua. IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE,VOL. 30, NO. 2, FEBRUARY 2008. [For03] “Computer Vision. A Modern Aproach”. David Forsyth, Jean Ponce. Ed. Prentice Hall, 2003. [Han04] “Sequential kemel density approximation through mode propagation: applications to background modeling”, B. Han, D. Comaniciu, and L.S. Davis, Proc. Asian Conf. on Computer Vision, Jan. 2004. [Jäh00] “Computer Vision and Applications – A Guide for Students and Practitioners”. Bernd Jähne, Horst Haubecker. Academic Press, 2000. [Koller94] “Towards Robust Automatic Traffic Scene Analysis in Real-time”, D. Koller, J. Weber, T. Huang, J. Ma14 G. Ogasawara, B. Rao, and S. Russell, Proc. ICPR’94, pp. 126-131,Nov. 1994.

Page 68: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

68

[Lef03] "A Review of Real-time Segmentation of Uncompressed Video Sequences for Content-Based Search and Retrieval". Sébastien Lefèvre, Jérôme Holler, Nicole Vincent. Laboratoire d’Informatique. Université de Tours. Febrero-2003. [Lo01] "Automatic congestion detection system for underground platforms", B.P.L. Lo and S.A. Velastin, Proc. ISIMP2001, pp. 158-161, May2001. [Luc01] "Color Image Segmentation: A State-of-the-Art Survey". L. Luccheseyz, Dept. of Electrical and Computer Eng., University of California, Santa Barbara; and S.K. Mitray, Dept. of Electronics and Informatics, University of Padua, Italy. 2001. [Nix02] “Feature Extraction and Image Processing”. Mark S. Nixon, Alberto S. Aguado. British Library Cataloguing in Publication Data, 2002. [Opp83] “Signal and Systems”. Alan V. Oppenheim, Alan S. Willsky, Ian T. Young. Ed. Prentice-Hall, 1983 [PICCARDI04] "Background substraction techniques: a review". Massimo Piccardi. Computer Vision Group. Faculty of Information Technology. University of Technology, Sydney (UTS), Australia. 2004 IEEE International Conference on Systems, Man and Cybernetics. [Prati03] “Detecting Moving Shadows: Algorithms and Evaluation”. Andrea Prati, Ivana Mikic, Mohan M. Trivedi, Rita Cucchiara. IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 25, NO. 7, JULY 2003. [Sha00] “Computer Vision”. Linda Shapiro, George Stockman. Ed. Prentice Hall, 2000. [Sha97] “Fundaments of Computer Vision”. Mubarak Shah. Computer Science Department. University of Central Florida. December 7, 1997. [Shu05] “IBM Smart Surveillance System (S3): A Open and Extensible Framework for Event Based Surveillance”. Chiao-Fe Shu, Arun Hampapur, Max Lu, Lisa Brown, Jonathan Connell, Andrew Senior, Yingli Tian. IBM T.J. Watson Research Center. [Stauffer99] "Adaptive background mixture models for real-time tracking", C. Stauffer and W.E.L. Grimson, Proc. IEEE CVPR 1999, pp. 24&252, June 1999. [Tru98] “Introductory Techniques for 3-D Computer Vision”. Emanuele Trucco, Alessandro Verri. Editorial Prentice Hall, 1998. [Wayne02] "Understanding background mixture models for foreground segmentation", P. Wayne Power and J. A. Schoonees, Proc. of IVCNZ 2002, pp. 267-271, Nov. 2002. [Wren97] "Pfinder: real-time tracking of the human body", C. Wren, A. Azarhayejani, T. Darrell, and A.P. Pentland, IEEE Trans. on Patfern Anal. and Machine Infell., vol. 19, no. 7, pp. 78g785, 1997. [Zagreb06] “Adcquisition of a Face Database for Video Surveillance Research”. Bozidar Klimpak, Mislav Grgic, Kresimir Delac. 48th International Symposium ELMAR-2006, 07-09 June 2006, Zadar, Croatia.

Page 69: Algoritmo de Segmentación Online de Imágenes en Secuencias de ...

69

[Zahng01] "Segmentation of Moving Objects in Image Sequence: A Review", Dengsheng Zhang and Guojun Lu, Gippsland School of Computing and Information Technology Monash University, Churchill, Vic 3842, Australia. [Zhi07] “A Real-time Vision-based Vehicle Tracking and Traffic Surveillance”. LIU Zhi-fang, YOU Zhisheng. Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing.