60
SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR UTILIZANDO CORTE DE GRAFOS DAVID ESTEBAN HIDALGO ERAZO TRABAJO DE GRADO PARA OPTAR POR EL TÍTULO DE: INGENIERO ELECTRÓNICO DIRECTOR: ING. JULIÁN ARMANDO QUIROGA SEPÚLVEDA PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRÓNICA SANTAFÉ DE BOGOTÁ 2012

SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR

UTILIZANDO CORTE DE GRAFOS

DAVID ESTEBAN HIDALGO ERAZO

TRABAJO DE GRADO PARA OPTAR POR EL TÍTULO DE: INGENIERO ELECTRÓNICO

DIRECTOR: ING. JULIÁN ARMANDO QUIROGA SEPÚLVEDA

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELECTRÓNICA

SANTAFÉ DE BOGOTÁ

2012

Page 2: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELECTRÓNICA

RECTOR MAGNÍFICO: PADRE JOAQUÍN EMILIO SÁNCHEZ GARCÍA, S.J.

DECANO ACADÉMICO: ING. LUIS DAVID PRIETO MARTÍNEZ

DECANO DEL MEDIO UNIVERSITARIO: PADRE SERGIO BERNAL RESTREPO, S.J.

DIRECTOR DE CARRERA: ING. JAIRO ALBERTO HURTADO LONDOÑO

DIRECTOR DEL TRABAJO: ING. JULIÁN ARMANDO QUIROGA SEPÚLVEDA

Page 3: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

NOTA DE ADVERTENCIA

Artículo 23 de la Resolución No. 13 de Julio de 1946

“La universidad no se hace responsable por los conceptos emitidos por sus alumnos en sus trabajos de

tesis. Solo se velará por que no se publique nada contrario al dogma y a la moral católica y por que las tesis no contengan ataques personales contra persona alguna, antes bien se vea en ellas el anhelo de buscar

la verdad y la justicia.”

Page 4: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

A Julián y a mi familia, no habría sido posible sin ellos

Page 5: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

TABLA DE CONTENIDO

1. INTRODUCCIÓN ........................................................................................................................... 1

2. HERRAMIENTAS TEÓRICAS ....................................................................................................... 3

2.1. DETECTOR DE PUNTOS DE INTERÉS DE HARRIS Y STEPHENS .................................... 3

2.2. CORTE NORMALIZADO DE GRAFOS ................................................................................. 4

2.3. CLUSTERING JERÁRQUICO ................................................................................................. 5

2.4. CORRELACIÓN NORMALIZADA ........................................................................................ 6

2.5. DESCRIPTORES HOG ............................................................................................................ 6

3. ALGORITMO DE SEGMENTACIÓN ............................................................................................ 8

3.1. ARGUMENTOS PARA LA SELECCIÓN DEL ALGORITMO ............................................... 8

3.2. DESCRIPCIÓN DEL ALGORITMO SELECCIONADO ......................................................... 8

3.2.1. CREACIÓN DEL CODEBOOK ....................................................................................... 9

3.2.2. SEGMENTACIÓN DE UNA IMAGEN ......................................................................... 12

4. DESARROLLOS ........................................................................................................................... 18

4.1. CONFORMACIÓN DE LA BASE DE DATOS ..................................................................... 18

4.2. PRUEBAS INICIALES .......................................................................................................... 19

4.3. MODIFICACIONES AL ALGORITMO ORIGINAL ............................................................. 20

4.3.1. MODIFICACIONES ASOCIADAS A LA SEGMENTACIÓN POR COLOR................. 20

4.3.2. MODIFICACIONES ASOCIADAS A LA CREACIÓN DEL CODEBOOK ................... 24

4.4. ALGORITMO DE SEGMENTACIÓN PROPUESTO ............................................................ 26

4.4.1. DESCRIPCIÓN DEL ALGORITMO .............................................................................. 27

5. RESULTADOS Y ANÁLISIS ....................................................................................................... 30

5.1. MEDIDAS DE DESEMPEÑO ............................................................................................... 30

5.2. PRUEBAS CON EL ALGORITMO ORIGINAL .................................................................... 30

5.2.1. VARIACIONES EN EL NÚMERO DE SUPERPÍXELES .............................................. 30

5.2.2. VARIACIONES EN EL UMBRAL DE COLOR ............................................................ 31

5.3. MODIFICACIONES AL ALGORITMO ORIGINAL ............................................................. 33

5.3.1. MODIFICACIONES ASOCIADAS A LA SEGMENTACIÓN POR COLOR................. 33

5.3.2. MODIFICACIONES ASOCIADAS A LA CREACIÓN DEL CODEBOOK ................... 36

5.3.3. ALGORITMO DE SEGMENTACIÓN PROPUESTO .................................................... 38

5.4. COMPARACIÓN ENTRE LOS ALGORITMOS ................................................................... 42

6. CONCLUSIONES Y TRABAJO FUTURO ................................................................................... 43

6.1. CONCLUSIONES .................................................................................................................. 43

6.2. TRABAJO FUTURO ............................................................................................................. 43

Page 6: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

1

1. INTRODUCCIÓN

Se conoce como segmentación a la división de una imagen en regiones de menor tamaño, de tal manera

que los píxeles pertenecientes a una misma región, presenten características semejantes como color, inten-

sidad o textura. Segmentar una imagen permite identificar objetos de interés, es por esto que muchas apli-caciones de visión por computador, requieren de la correcta segmentación de una imagen como parámetro

de entrada, por ejemplo, la implementación de sistemas de seguridad, el reconocimiento de objetos, el

diagnóstico a partir de imágenes médicas, la adquisición de variables de tráfico para el control de la movi-

lidad o prevención de accidentes, y en general, todo tipo de proceso en el que sea necesario obtener infor-mación de uno o más objetos presentes en la imagen.

Trabajos relacionados con la detección y seguimiento de personas [1], [2], y con la adquisición de varia-

bles de tráfico urbano a partir de visión por computador [3], [4], han sido desarrollados por estudiantes de pregrado y postgrado en el Departamento de Electrónica de la Pontificia Universidad Javeriana de Bogotá,

con apoyo del grupo de investigación SIRP. Los algoritmos que han sido implementados en dichos pro-

yectos y que trabajan con peatones o personas en general, requieren de una etapa inicial de segmentación que permita identificar correctamente el objeto de interés, en caso contrario los resultados obtenidos en las

etapas siguientes pueden no ser satisfactorios. En este trabajo de grado se desea explorar y analizar la

segmentación de personas en imágenes a color utilizando un algoritmo de corte de grafos, partiendo del

resultado entregado por un algoritmo de detección de personas.

La segmentación es un proceso que resulta complejo en muchas ocasiones, pues se ve afectado por pará-

metros como el contraste, la iluminación, la resolución y la nitidez de la imagen. Por lo anterior, existen

diferentes técnicas que buscan solucionar, desde diversos enfoques, el problema de segmentación propues-to. Los algoritmos de segmentación pueden ser clasificados en función de la técnica empleada sobre la

imagen, dentro de esta categoría se encuentra la segmentación por umbralización, mediante detección de

bordes, por agrupamiento (clustering), entre muchas otras.

Pese al gran número de técnicas y algoritmos existentes, algunos de los aspectos relacionados con la seg-mentación de objetos en imágenes a color, quedan aún sin una solución adecuada [5]; este es el caso del

prolongado tiempo de cómputo que requieren algunos algoritmos, imposibilitando su uso en ciertas apli-

caciones [6]; la dificultad de capturar en la segmentación resultante, características locales y globales de la imagen al mismo tiempo [6]; la complejidad NP-Hard de algunos algoritmos o problemas de optimización

asociados a estos [5],[6]; la dificultad de describir una clase de objetos de manera precisa, únicamente a

partir de información de color, forma o textura [5],[7]; entre otros inconvenientes. Por lo anterior, es posi-ble afirmar que tanto el estudio de la segmentación de objetos como el desarrollo de nuevas técnicas si-

guen siendo temas de profundo interés.

Una técnica de segmentación que busca solucionar los problemas mencionados anteriormente, es la de-

nominada “segmentación por corte de grafos”. Los algoritmos de segmentación basados en esta técnica

interpretan la imagen como un grafo, los vértices ( ) corresponden a los píxeles de la imagen, y el peso

del arco que conecta dos vértices i y j ( ) es una medida de la disimilitud entre los píxeles correspon-

dientes, así pues, la entrada al algoritmo no es una imagen de dimensión , sino un grafo de la forma

( ). El grafo podrá ser direccionado, no direccionado [5], [6], o híbrido [7], [8].

Ejemplos de algoritmos que emplean esta técnica y han alcanzado interesantes resultados, son descritos en

[5], [6], [7] y [8]. Las segmentaciones obtenidas con dichos algoritmos son cercanas a la segmentación manual de las imágenes, el tiempo de cómputo que emplean es reducido en comparación a otras alternati-

vas –según lo registrado por los autores en la etapa de pruebas [5], [6]- y además, se destacan otras cuali-

dades particulares dependiendo del artículo escogido. Por las características anteriormente descritas, este

Page 7: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

2

trabajo se enfoca en la segmentación de personas en imágenes a color, a partir de un algoritmo basado en

corte de grafos.

En el presente documento se registran las consideraciones, procedimientos y resultados más importantes que se obtuvieron en el desarrollo del trabajo de grado. En el Capítulo 2, se introducen algunos conceptos

de gran importancia para la correcta compresión del documento. En el Capítulo 3, se puntualizan los ar-

gumentos tenidos en cuenta para la selección del algoritmo de segmentación, y además, se describe de manera detallada cada una de las etapas que lo componen. En el Capítulo 4, se describen las pruebas rea-

lizadas, las modificaciones al algoritmo original que se llevaron a cabo y se presenta un algoritmo de seg-

mentación alternativo que tiene como objetivo solventar algunos inconvenientes encontrados en el origi-

nal. En el Capítulo 5, se introducen las medidas de evaluación del algoritmo y se registran los resultados obtenidos en la etapa de pruebas. Finalmente, en el Capítulo 6, se enumeran las conclusiones a las que fue

posible llegar con el desarrollo del presente proyecto y se plantean alternativas para continuar trabajando

con el algoritmo de segmentación propuesto. El documento cuenta con un Anexo 1, en este capítulo se presentan las tablas de resultados ampliados, es decir, los resultados del algoritmo de segmentación para

cada uno de las personas que integran la base de datos.

Page 8: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

3

2. HERRAMIENTAS TEÓRICAS

Para una correcta comprensión del presente trabajo, se requiere de conocimientos previos en álgebra li-

neal, probabilidad y procesamiento digital de imágenes. A continuación, se introducen algunos conceptos

importantes que serán empleados en la descripción del algoritmo seleccionado.

2.1. DETECTOR DE PUNTOS DE INTERÉS DE HARRIS Y STEPHENS

Se denomina punto de interés de una imagen en escala de grises a aquél píxel correspondiente al centro de un vecindario de tamaño determinado, que generalmente se caracteriza por:

- Ser un máximo o mínimo local de un operador aplicado sobre la imagen.

- Presentar una significativa variación de intensidad al hacer un desplazamiento a cualquier píxel contiguo al punto de interés.

- El vecindario al que pertenece es invariante a rotación, cambio de escala o transformación de perspectiva.

Suponiendo que se observa una región de una imagen I a través de una ventana ( ), si se hace un

desplazamiento de la imagen en ( ), la región observada será distinta. Es posible realizar la resta

entre las dos regiones y calcular su energía:

2

,

, , , ,x y

E u v w x y I x u y v I x y

El valor de ( ) es proporcional a los cambios de intensidad entre las dos zonas, por lo tanto, los pun-

tos de interés de la imagen están asociados a grandes valores de ( ).

Con base en lo anterior, el algoritmo de detección de puntos de interés propuesto por Harris y Stepehens

[9], tiene como objetivo localizar los máximos de ( ), con ( ) ( ).

Expandiendo ( ) como una serie de Taylor y llevando a cabo una aproximación bilineal, es posible encontrar una expresión equivalente, en función de las derivadas parciales de la imagen I.

2

2,

, ,x x y

d

x y x y y

I I IM N x y

I I I

Con el fin de obtener altos niveles de energía en cualquier dirección de desplazamiento, es necesario que

los valores propios de la matriz M sean grandes. Sin embargo, una solución a partir de los valores propios

de M resultaría computacionalmente muy costosa, por lo tanto, se plantea una nueva alternativa de análi-sis a partir de dos conceptos del álgebra lineal. Conociendo que:

1 2

1 2

det M

traza M

Page 9: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

4

tanto el determinante como la traza de M brindan información sobre sus valores propios, por ello, es posi-

ble plantear la siguiente expresión:

2

det trazaR M k M

o en función de los elementos de M como:

22

2 2 2 2

x y x y x yR I I I I k I I

R recibe el nombre de cornerness y es una medida de la posibilidad que tiene un píxel de ser un punto de

interés de la imagen I. k es una constante que puede variar entre 0,04 y 0,06.

R puede ser expresado en términos de los valores propios de M como:

2

1 2 1 2R k

Es posible apreciar que un incremento en el valor de R implicará un incremento simultáneo en el valor de

1 y 2 . Por lo anterior, R se consolida efectivamente como una alternativa de solución que disminuye

considerablemente el tiempo de cómputo del algoritmo.

Finalmente, para determinar qué píxeles serán catalogados como puntos de interés de I, se recorre la ma-triz R en busca de los máximos locales, la ventana de búsqueda estará determinada por la cantidad de pun-

tos de interés deseados. Almacenando la componente en x y en y de todos los máximos locales, se habrá

construido la matriz de puntos de interés para la imagen I.

2.2. CORTE NORMALIZADO DE GRAFOS

Se conoce por ‘grafo’ a un conjunto de vértices V que se unen entre sí a partir de arcos. Cada arco tie-

ne un peso numérico que es proporcional a una medida de similitud entre los dos vértices que une. Es importante resaltar que los arcos podrán ser dirigidos o no dirigidos. Si un grafo está compuesto única-

mente por arcos dirigidos, el grafo será dirigido; de la misma manera, si el grafo está compuesto única-

mente por arcos no dirigidos, será un grafo no dirigido; finalmente, si el grafo tiene tanto arcos dirigidos como no dirigidos, recibirá el nombre de grafo híbrido.

Sea G un grafo no dirigido de la forma ( ), dónde V corresponde al conjunto de vértices y E al

conjunto de pesos, G puede ser dividido en dos sub-grafos disyuntos G1 y G2, de modo que y

. El proceso de subdivisión elimina todo arco que conecte a G1 con G2.

La selección de los arcos que deben ser eliminados depende de una función de costo. Se desea que la

suma de los pesos de los arcos suprimidos sea la menor posible, por lo tanto, la función a minimizar es la

siguiente:

1 2

1 2

,

, ,u G v G

cut G G E u v

Sin embargo, la anterior expresión tiene un inconveniente pues existe una clara tendencia a separar vérti-

ces que se encuentren aislados, este fenómeno es apreciado en la Figura 2.1.

Page 10: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

5

Figura 2.1: Caso de corte erróneo por parte del algoritmo Min-Cut (Tomada de [5])

Con el fin de corregir el error mencionado, Shi y Malik [5] proponen una nueva función objetivo para el

problema de minimización, esta nueva expresión normaliza el costo del corte en función del total de arcos

que se conectan a cada partición, por esta razón, recibe el nombre de “corte normalizado” o Ncuts:

1 2 1 2

1 2

1 2

, ,,

, ,

cut G G cut G GNcut G G

assoc G G assoc G G

donde:

1

1

,

, ,u G t G

assoc G G E u t

2.3. CLUSTERING JERÁRQUICO

Se denomina clustering al proceso de agrupación de los elementos de un conjunto en subgrupos, o

clusters, que comparten una o más características. Ningún elemento del conjunto puede pertenecer a más

de un cluster de manera simultánea.

Existe una gran variedad de algoritmos de clustering. Un ejemplo de este tipo de algoritmos es el cluste-

ring jerárquico, un método de agrupamiento de gran utilidad en el presente trabajo que puede ser explica-

do a través de los siguientes pasos:

i. Cada elemento del conjunto es establecido como un cluster independiente.

ii. Se calcula una medida de similitud para cada pareja de clusters.

iii. La pareja que haya tenido la mayor similitud es reagrupada en un nuevo cluster, siempre y cuando la medida de similitud sea superior a un umbral t. Los clusters originales son eliminados.

iv. Repetir los pasos ii. y iii. mientras la similitud de la pareja seleccionada en el paso iii., sea mayor

al umbral t .

La similitud entre dos clusters está dada por:

1 2,

1 2

1 2

,,

p C q CF p q

similitud C C tC C

Page 11: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

6

donde ( ) es una medida de similitud entre cada pareja de elementos ( ). Dicha medida puede ser,

por ejemplo, la correlación, la covarianza, el inverso de una distancia espacial, entre otras.

2.4. CORRELACIÓN NORMALIZADA

Desde el punto de vista estadístico, la correlación entre dos variables establece de qué manera las va-

riaciones de la primera afectan a la segunda, y viceversa. La correlación está definida por una magnitud y

un signo, la magnitud corresponde a un número real perteneciente al intervalo [0,1] y el signo puede ser positivo o negativo. A medida que la magnitud sea más cercana a 1, mayor será la relación entre los cam-

bios de ambas variables. Por su parte, el signo da información sobre el sentido de cambio, por ejemplo, si

la primera variable crece a medida que la segunda variable decrece, el signo de la correlación será negati-vo, en caso contrario, el signo será positivo.

Para el desarrollo del presente trabajo, es de gran importancia la correlación normalizada en escala de

grises (NGC). Se trata de una medida de similitud visual entre dos imágenes de intensidad, entre más

cercana sea la correlación a +1, la apariencia de las imágenes será mucho más semejante. La figura 3.2 muestra dos parejas de imágenes con distintos valores de correlación:

NGC = 0.8 NGC = -0.3

Figura 3.2: Interpretación gráfica de la correlación normalizada en escala de grises

La correlación normalizada en escala de grises se encuentra definida como:

2 2

,i ii

i ii i

p p q qNGC p q

p p q q

donde:

- i: dominio correspondiente a toda el área de la imagen.

- : i-ésimo elemento perteneciente al cluster C1 y C2, respectivamente.

- ̅ ̅: media de los elementos que pertenecen al cluster C1 y C2, respectivamente.

2.5. DESCRIPTORES HOG

Se conoce como ‘descriptor’ a todo conjunto de información que representa una o más características

de un objeto determinado. Un descriptor HOG tiene como objetivo registrar las orientaciones de los gra-dientes de una imagen, con el fin de adquirir información sobre las formas presentes en ella. Las orienta-

ciones son representadas a partir de histogramas de n bins que se calculan sobre subregiones de la imagen.

Los histogramas son normalizados localmente para disminuir la influencia de cambios de luz o contraste

en la imagen.

Page 12: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

7

El cálculo de los descriptores HOG de una imagen es realizado como se describe a continuación:

i. Calcular las componentes en x y en y ( ) de los gradientes de la imagen. Para ello, se hace

uso de las máscaras de detección de bordes a partir de la primera derivada: [ ] para bordes

verticales y [ ] para bordes horizontales.

ii. Computar la magnitud y dirección del gradiente:

2 2

x yG G G 1tan

y

x

GG

G

iii. Dividir la imagen en Hf y Hc columnas. Se contará con un total de Hf x Hc divisiones, cada una de

las regiones obtenidas recibe el nombre de celda.

iv. Se computa un histograma de 9 bins por cada celda. Las orientaciones de G que se encuentren

entre 0º y 20º aportarán al primer bin, se realizarán incrementos de 20º sucesivamente hasta alcan-

zar los 180º. El peso que aporta cada gradiente al bin al que pertenece está dado por su magnitud.

v. Las celdas son agrupadas en conjuntos más grandes conocidos como bloques. Un bloque está

compuesto por n celdas y una misma celda puede pertenecer simultáneamente a más de un bloque. Cada histograma es normalizado en función de la norma L2 de todos los histogramas que pertene-

cen a un mismo bloque.

vi. El descriptor resultante corresponde al vector de todos los histogramas individuales normalizados.

Page 13: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

8

3. ALGORITMO DE SEGMENTACIÓN

3.1. ARGUMENTOS PARA LA SELECCIÓN DEL ALGORITMO

En la literatura existen varios algoritmos para la segmentación de objetos utilizando corte de grafos [5],

[6], [7], [10], [11], [12], [13], [14]. Después de haber entendido y analizado varias propuestas, se estable-ció un primer criterio de selección: se desea que el algoritmo de segmentación sea automático, es decir,

que el proceso no requiera de la intervención de una persona. Con esta restricción, se eliminaron varias

alternativas que necesitaban de una corrección manual de segmentaciones parciales [13], o el ingreso de semillas del objeto de interés y del fondo [6]. Posteriormente, se compararon las opciones restantes a

partir de los resultados registrados en los artículos y se analizaron las características de los objetos con las

que cada algoritmo fue evaluado.

Tomando como base las anteriores consideraciones, se seleccionó el algoritmo de segmentación titulado:

“Unsupervised Object Segmentation with a Hybrid Graph Model (HGM)” [7]. Se trata de un algoritmo

de segmentación automático que tiene en cuenta características de forma y color para la creación de la

máscara de segmentación. El primer tipo de características es extraído del análisis de un conjunto de imá-genes de entrenamiento, el segundo se basa en la distribución de los colores de la imagen de entrada.

El algoritmo fue implementado tal y como lo registran sus autores en [7], la única modificación que se

realizó fue la inclusión de una nueva etapa, descrita en la Sección 3.2.1.5.

3.2. DESCRIPCIÓN DEL ALGORITMO SELECCIONADO

De manera general, el algoritmo de segmentación escogido se presenta en la Figura 4.1. El algoritmo

tiene por objetivo realizar la segmentación automática de los píxeles que pertenecen a objetos de una clase determinada (e.g. personas, aviones, automóviles), los cuales comparten características similares. Para

realizar la segmentación, el algoritmo utiliza tanto información de forma como de color y textura de los

elementos de cada clase, entregando como resultado una máscara de segmentación que contiene los píxe-les pertenecientes al objeto. Es importante resaltar que el proceso de segmentación requiere ejemplos de

imágenes a color que contengan objetos de la clase de interés, estas imágenes reciben el nombre de imá-

genes de entrenamiento.

Figura 4.1: Diagrama de bloques simplificado del algoritmo de segmentación

Page 14: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

9

Una explicación más detallada del funcionamiento del algoritmo, se muestra la Figura 4.2. A continua-

ción, se describe cada uno de los bloques que componen el algoritmo.

3.2.1. CREACIÓN DEL CODEBOOK

El algoritmo de creación del codebook tiene dos objetivos principales, el primero, identificar y almace-

nar las texturas que más se repiten en las imágenes, y el segundo, calcular la distribución de probabilidad

que sigue la distancia entre cada pareja de texturas.

3.2.1.1. Preparación de las imágenes

De la base de datos se selecciona un conjunto aleatorio de imágenes, dichas imágenes (de entre-

namiento) serán utilizadas en la extracción de información sobre la forma de los objetos de interés. Todas

las imágenes son redimensionadas de tal manera que tengan la misma altura, el ancho de las imágenes podrá ser diferente. Posteriormente, las imágenes son convertidas a escala de grises con el fin de cumplir

los requerimientos del detector de puntos de interés.

3.2.1.2. Detección de puntos de interés

Las regiones de interés serán aquellas que cuenten con variaciones significativas en la intensidad de sus

píxeles. Lo anterior evita que sectores que aporten una mínima información visual -como regiones de

intensidad constante- hagan parte del codebook que describe a la clase.

En el proceso de identificación de dichas regiones se hace uso del detector de puntos de interés de Harris y

Stephens [9]. Con el detector se identifica un total de puntos de interés en cada una de las imágenes

de entrenamiento.

3.2.1.3. Extracción de object parts

Un único píxel no permite capturar la información de textura de una región, por tal motivo, alrededor

de cada punto de interés se extrae una región de mayor área. En este caso, cada región de interés recibe el nombre de object part (OP) y corresponde a un parche o segmento de 25x25 píxeles centrado en un punto

de interés. Al final del proceso de extracción se obtiene un total de object parts.

3.2.1.4. Clustering jerárquico

Si la información almacenada en una OP se repite frecuentemente en las imágenes de entrenamiento, es

posible asegurar que se trata de una característica de textura importante. Por lo anterior, se realiza un pro-ceso de clustering que permita determinar las texturas más comunes en las imágenes de entrenamiento.

El proceso de clustering se lleva a cabo con el algoritmo de clustering jerárquico o aglomerativo, donde la

medida de similitud utilizada es la correlación normalizada en escala de grises (NGC). Dicho algoritmo entrega como resultado el cluster al que pertenece cada OP. Dos clusters se unen siempre y cuando la

medida de similitud entre ambos sea mayor a un umbral .

La similitud entre dos clusters (C1 y C2) está dada por:

1 2,

1 2

1 2

,,

p C q CNGC p q

similitud C CC C

donde p y q son los elementos que pertenecen a C1 y a C2 respectivamente.

Page 15: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

Figura 4.2: Diagrama de bloques ampliado del algoritmo de segmentación

Page 16: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

11

3.2.1.5. Depuración de clusters

Es de esperar que toda OP que no sea visualmente semejante a otra, se convierta en un cluster de un

único elemento. Por lo tanto, es posible afirmar que todo cluster que se encuentre integrado por tan solo una OP, no aporta información útil sobre la forma del objeto que se desea segmentar, y por lo tanto, debe-

ría ser removido del codebook.

Haciendo una extensión a un caso más general, es posible afirmar que todo cluster que cuente con un nú-

mero de elementos inferior a un umbral , puede ser eliminado. Este proceso de depuración tiene como

objetivo preservar dentro del codebook únicamente aquellas regiones de interés que se repiten varias veces

en las imágenes de entrenamiento.

El algoritmo recibe como entrada el vector de pertenencia a los clusters y la matriz de object parts. Como salida, se obtiene la versión depurada de las dos entradas.

3.2.1.6. Cómputo de centros

Cada cluster contiene object parts que son visualmente semejantes, por lo tanto, es posible obtener un elemento que sea un buen representante del conjunto. De esta manera se reduce la cantidad de informa-

ción que describe a la clase y el tiempo de cómputo de las funciones restantes disminuye.

Con el fin de obtener el elemento representativo de cada cluster se calcula el centro del conjunto, que en

este caso corresponde a la media aritmética de los elementos que lo integran.

Cada centro del cluster está definido matemáticamente como:

( ) i iiop C

i

i

opcentro C

C

Los centros obtenidos reciben el nombre de visual words, donde cada visual word (VW) describe una

textura que se repite de manera frecuente en las imágenes de prueba. El total de visual words, , es igual al número de clusters que se obtienen después de la depuración.

Es importante aclarar que si bien existe una etapa de depuración, para eliminar del codebook toda VW que

no tenga intersección con el objeto de interés, esto no siempre es posible. Lo anterior se debe a que algu-

nos elementos del fondo que han sido extraídos como regiones de interés, pueden repetirse en varias imá-genes y por ende ser agrupados en clusters de más elementos que la cantidad limitada por el umbral.

3.2.1.7. Asociación de object parts

Hasta este punto del algoritmo, se cuenta con un conjunto de visual words que representan las texturas más frecuentes en las imágenes de entrenamiento. Como resultado del proceso de clustering, cada VW

está directamente asociada a un conjunto de object parts, sin embargo, es posible que una OP que perte-

nezca a un cluster i, sea semejante a las object parts que integran el cluster j

Por lo anterior, se recorre el codebook en busca de semejanzas visuales entre todas las object parts y las

visual words. Se desea asociar cada OP a toda VW con la que presenta una medida de similitud superior a

cierto umbral. La medida de similitud empleada es la correlación normalizada en escala de grises (NGC).

La información resultante se registra en una matriz de asociación de dimensión , donde cada

posición (i,j) toma uno de dos valores:

Page 17: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

12

- 1: Si la OP i y la VW j cumplen con la condición de similitud.

- 0: En caso contrario

3.2.1.8. Cómputo de medias y varianzas

A continuación, la matriz de asociación, la matriz de object parts y los puntos de interés, ingresan a un último bloque que tiene como objetivo caracterizar la distancia espacial entre cada pareja de visual words.

Para el proceso de caracterización, se interpreta la distancia entre la VW i y la VW j como una variable

aleatoria , tal que ( ).

Para obtener el valor de y , se calculan las distancias entre las parejas de object parts que puedan

ser interpretadas respectivamente como las visual words i y j. Las distancias obtenidas son almacenadas

en un vector , el cual se crea para cada pareja (i,j) de visual words.

La distancia entre una pareja de object parts se define como:

2 2

1 2 1 2 1 2, h h v vdist OP OP pi pi pi pi

Dónde:

nhpi : coordenada horizontal del punto de interés asociado a la OP n

nvpi : coordenada vertical del punto de interés asociado a la OP n

Finalmente, se calcula la media de cada uno de los vectores y se le registra en la posición (i,j) de una

nueva matriz cuadrada de dimensión . Un procedimiento análogo es llevado a cabo para las varianzas de las distancias. Las anteriores matrices reciben el nombre de matriz de medias y matriz de varianzas,

respectivamente.

3.2.2. SEGMENTACIÓN DE UNA IMAGEN

La entrada para esta sección del algoritmo es una imagen a color, en dicha imagen debe existir por lo

menos un objeto que pertenece a la clase empleada para la creación del codebook.

3.2.2.1. Redimensión

Se redimensiona la imagen de entrada de tal manera que la altura coincida con la establecida para las imágenes de entrenamiento.

3.2.2.2. Detección de puntos de interés

La imagen es convertida a escala de grises, posteriormente, se detectan los puntos de interés de ésta con ayuda del detector de puntos de interés de Harris y Stephen [9]. El procedimiento de detección es

igual al descrito en el proceso de creación del codebook (Sección 3.2.1.2).

3.2.2.3. Extracción de object parts

Se extraen regiones de 25x25 píxeles alrededor de cada punto de interés detectado. Cada región de in-

terés extraída recibe el nombre de OP.

Page 18: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

13

3.2.2.4. Segmentación en superpíxeles

La imagen es dividida en regiones de color semejante, cada región recibe el nombre de superpíxel (SP)

y está conformada por un conjunto de píxeles contiguos. Ningún píxel podrá pertenecer al mismo tiempo a dos o más regiones distintas. El proceso de subdivisión en superpíxeles toma como base el algoritmo de

corte normalizado (Ncuts) [5], realizando tantos cortes sobre la imagen como cantidad de superpíxeles se

desee obtener a la salida.

El algoritmo de corte normalizado interpreta cada uno de los píxeles de la imagen como un vértice .

Cada par de vértices ( ) se encuentra unido por un arco de peso , el peso de cada arco es inversa-

mente proporcional a una medida de similitud entre el color de los dos píxeles. De esta manera, la imagen

puede ser interpretada como un grafo de la forma ( ).

3.2.2.5. Cómputo de centros

Se calcula la posición del centro de cada SP, esta información es utilizada posteriormente en el cómpu-to de la máscara de segmentación. La coordenada horizontal del centro del SP i se obtiene al sumar la

coordenada horizontal de todos los píxeles que lo componen y dividir sobre la cardinalidad del mismo, la

coordenada vertical se obtiene de manera análoga. Es posible sintetizar el proceso con ayuda de la si-

guiente expresión:

,m i m imh mvp SP p SP

i

i i

p pcentro SP

SP SP

donde representa la coordenada horizontal del píxel , y la coordenada vertical.

3.2.2.6. Segmentación en regiones

La imagen es subdividida en regiones de color similar. Cada nueva región está compuesta por un con-

junto de superpíxeles contiguos que satisfacen una condición de similitud que depende de un umbral

. El proceso de agrupación se desarrolla a partir del algoritmo descrito en [14]. Es importante resal-

tar que ningún SP podrá pertenecer simultáneamente a dos o más regiones distintas.

3.2.2.7. Cálculo de las matrices K1 y K2

La imagen de entrada ha sido subdividida en superpíxeles y en regiones de color semejante, además, se

han extraído sus puntos de interés y las object parts que la describen. A continuación, toda la información

recopilada en pasos anteriores es procesada e interpretada, con el fin de crear la máscara de segmentación

que permitirá separar al objeto de interés del fondo.

La información de color que ha sido extraída de la imagen, se ha representado a través de superpíxeles y

pertenencia a regiones. El paso a seguir es obtener información sobre la forma de los objetos que compo-

nen la imagen. La información de forma es extraída a partir de la distribución espacial de las object parts detectadas y de la semejanza que tienen éstas con la distribución espacial que siguen las visual words.

Con el fin de utilizar de manera simultánea la información de forma y de color, se definen las matrices:

1

i j

i ll n m

SP OPK

SP OP

2

i j

i ll m n

OP SPK

OP SP

Page 19: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

14

Ambas matrices almacenan la intersección entre superpíxeles y object parts y permiten transferir la infor-

mación de forma en función de los superpíxeles.

3.2.2.8. Asociación de object parts

Nuevamente se lleva a cabo un proceso de asociación de object parts, esta vez entre las object parts de-

tectadas en la imagen de entrada y las visual words que integran el codebook. Para ello, se recorre el co-

debook y se calcula una medida de similitud entre la OP i y la VW j, si la similitud es superior a cierto umbral, la OP i se encuentra asociada a dicha VW. La medida de similitud empleada es la correlación

normalizada en escala de grises (NGC). El algoritmo entrega una matriz de asociación con un 1 en todas

las posiciones que satisfacen la condición de similitud y un 0 en las restantes.

3.2.2.9. Cálculo de la matriz F

La matriz F almacena en la posición (i,j) la probabilidad de que la OP i y la OP j pertenezcan simultá-

neamente al objeto, para ello, se define una serie de eventos:

- ie : el centro de la OP i se ubica en la posición (i,j) de la imagen.

- Pr |ij j if e e : probabilidad condicional del evento ie dado que ocurre je .

- , ,ij i j ije O O l : la OP i es observada a una distancia ijl de la OP j.

Por lo tanto:

Pr | Pr ijij j if e e e

Para conocer el valor de , es necesario estimar ( ̃ ). Para el proceso de estimación, se hace uso de la

matriz de asociación obtenida en el paso anterior y se define el evento:

- ' 'i j : La OP i y la OP j pueden ser interpretadas como la VW i y la VW j respectivamente.

Los eventos conformarán el conjunto de interpretaciones . A partir de esto, es posible desarrollar la

expresión planteada para como:

' '

' '

' ' ' '

' ' ' ' ' '

Pr Pr Pr |

Pr Pr Pr , , |

i j ij

i j ij

ij iji

ij

j i j

I

ij i j i j i j

I

e e

e vw v lw

Si se asume que los eventos son independientes y equiprobables, ( ) es igual a

| |.

Por su parte, ' ' ' 'Pr , , |i j i jijlvw vw puede ser calculado como:

2

' '

2

' '' '

1exp

22

ij i j

i ji j

d m

Page 20: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

15

La anterior expresión es la fdp de una distribución normal con parámetros ( ).

Finalmente, normalizando las filas se obtiene:

Pr

Pr

ij

ij

ikk

ef

e

3.2.2.10. Cálculo de la matriz P

La información de la matriz F se encuentra en términos de las object parts detectadas en la imagen y

debe ser transferida en función de los superpíxeles, para ello se hace uso de las matrices 1K y 2K . La

nueva matriz encargada de almacenar la información de forma de la imagen de entrada, es la matriz P:

1 2P K F K

3.2.2.11. Cálculo de la matriz A

La matriz A integra la información de distancia entre superpíxeles y la pertenencia a regiones de color similar. Se desea que aquellos superpíxeles que se encuentran espacialmente cerca o que pertenecen a una

misma región, tengan una probabilidad semejante de pertenecer al objeto de interés. Por lo tanto, cada

elemento de la matriz A está dado por:

2expij ij ija kd s

donde es la distancia euclidiana entre el centro del SP i y el centro del SP j. k es una constante que

pondera la importancia de la separación espacial entre superpíxeles. Finalmente, ijs puede tomar uno de

dos valores, 1 si el SP i y el SP j pertenecen a la misma región de color, 0 en caso contrario.

3.2.2.12. Cálculo del vector de probabilidades

Sea la probabilidad que tiene el SP i de pertenecer al objeto de interés presente en la imagen. Del

grafo dirigido se conoce que la probabilidad del SP i depende de las probabilidades de los superpíxeles

que apuntan a él. Esta dependencia entre las muestras genera una cadena de Markov que resulta en una

distribución estacionaria ⃗ , de modo que:

TP

Que es también la solución al problema de optimización:

2

min TP

Por parte del grafo no dirigido, si dos superpíxeles se encuentran fuertemente relacionados, tienen una significativa tendencia a pertenecer o no al objeto de interés simultáneamente. Por ello, el vector de pro-

babilidades debería también minimizar la función de costo:

2

,

ij i j

i j

a

Page 21: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

16

Uniendo los dos criterios en un único problema de minimización, es posible obtener:

2 2

,

min T

ij i j

i j

P a

Sujeto a 1

T

donde α es un parámetro positivo que tiene como objetivo balancear el efecto de los dos criterios, en las

pruebas realizadas se trabajó con α=1. La solución al anterior problema de minimización es el vector pro-pio asociado al mínimo valor propio de la siguiente matriz:

T

AM I P I P L

dónde y {∑ ∑

}. Es posible analizar que si ⃗ es la solución

óptima al problema, también lo será ⃗ , sin embargo, como ⃗ es la probabilidad que tiene el SP i de

pertenecer al objeto de interés, debe cumplirse que ∑ .

3.2.2.13. Cálculo del umbral de segmentación

Con ayuda del vector de probabilidades es posible clasificar el conjunto de superpíxeles en dos grandes

grupos: aquellos que pertenecen al objeto de interés ( )

y aquellos que no ( ). Para llevar a cabo di-cha tarea, es necesario calcular un umbral t que permita subdividir el vector de probabilidades, la relación

entre el umbral de segmentación y el proceso de clasificación está dada por:

|

|

i i

i i

O SP t

O SP t

Para el cálculo del umbral t, se definen los siguientes valores:

2

1 1

1 1n n

l i h i

i i

t tn n

Posteriormente, haciendo uso del fundamento teórico del algoritmo de corte normalizado (Ncuts), el um-

bral se define entonces como:

,

,

arg min ,

, ,arg min

, ,

l h

l h

t t t

t t t

t Ncut O O

cut O O cut O Ot

assoc O O assoc O O

donde:

,

,

,

,

,

,

i j

i j

i j

ij

SP O SP O

ij

SP O SP O

ij

SP O SP O

cut O O a

assoc O O a

assoc O O a

Page 22: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

17

3.2.2.14. Segmentación final

Finalmente, se genera la máscara de segmentación. Para ello, se crea una matriz de ceros con las mis-

mas dimensiones que la imagen de entrada, posteriormente, se coloca un 1 en todas las posiciones que pertenezcan a SP cuya probabilidad sea mayor o igual que el umbral de segmentación. De esta manera se

tendrá una matriz binaria. Un 0 en la posición (i,j) indicará que aquél píxel no fue identificado como per-

teneciente al objeto de interés, un 1 indicará lo contrario. Esta matriz es la máscara empleada para la seg-mentación final.

Como último paso, se multiplica -componente a componente- la máscara de segmentación con cada uno

de los canales de la imagen de entrada. Los píxeles que no fueron identificados como parte del objeto son

llevados a 0, es decir, se visualizan en negro. Los píxeles restantes son multiplicados por 1, manteniendo

su color original. El proceso de segmentación ha concluido.

Page 23: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

18

4. DESARROLLOS

4.1. CONFORMACIÓN DE LA BASE DE DATOS

Para la evaluación del algoritmo de segmentación, es necesario contar con una base de datos compues-

ta por varias fotografías de personas, bajo diferentes condiciones de luz y en fondos distintos. Todas las fotografías son a color y se registra una única persona por cada foto. Las personas se encuentran de pie,

totalmente frente a la cámara y se ubican en el centro de la imagen.

La base de datos está compuesta por fotografías de 5 personas diferentes, se cuenta con un total de 100 imágenes. Se capturaron 20 fotografías por cada persona, 10 de ellas con un atuendo y las 10 restantes

con uno distinto. Todas las fotografías fueron tomadas con una cámara de 5 megapíxeles tanto en ambien-

tes interiores como exteriores, con compresión JPEG. Las imágenes fueron redimensionadas de tal mane-ra que el alto final de cada una fuese 360 píxeles. Algunas de las fotos que componen la base de datos

pueden ser apreciadas en la Figura 5.1.

Figura 4.1: Ejemplos de imágenes que conforman la base de datos

Es importante aclarar que las personas se encuentran ubicadas en el centro de la imagen debido a que el algoritmo de segmentación propuesto supone que existe una etapa de detección previa. En dicha etapa de

detección, se ha logrado identificar la región de la imagen en la que es posible encontrar a una persona.

La idea del algoritmo de segmentación, es detectar cuáles de los píxeles que integran la región detectada pertenecen al fondo y cuáles realmente hacen parte de la persona.

Posterior a la toma de fotografías y al proceso de redimensión, se llevó a cabo la segmentación manual de

todas las imágenes. Con dicha segmentación manual –o groundtruth-, se evaluarán los resultados obteni-

dos con el algoritmo de segmentación en cada una de las pruebas. Ejemplos de las segmentaciones ma-nuales se observan en la Figura 5.2.

Page 24: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

19

Figura 4.2: Groundtruth de algunas imágenes

4.2. PRUEBAS INICIALES

El algoritmo de segmentación fue programado en MATLAB®, tomando como base la descripción rea-lizada en el capítulo anterior. Tanto el algoritmo de segmentación en regiones de color semejante [14],

como el algoritmo de división en superpíxeles [11], se encuentran a disposición pública en el sitio web de

sus respectivos autores, por lo tanto, para ambas etapas se hizo uso de las versiones disponibles en [15] y [16]. Las primeras pruebas fueron realizadas con el algoritmo original. Todos los umbrales y valores de

constantes se establecieron según lo descrito en [7].

Para la evaluación del algoritmo, la base de datos fue dividida en dos partes, el primer conjunto de imáge-

nes se utiliza en la creación del codebook (entrenamiento del algoritmo), el segundo conjunto es empleado en la realización de pruebas. Por lo anterior, se seleccionaron 14 imágenes por persona para conformar el

conjunto de entrenamiento, las 6 restantes fueron utilizadas en pruebas. Así, un total de 70 fotografías se

emplearon en la creación del codebook y 30 fueron utilizadas como entrada al algoritmo de segmentación.

Las imágenes de entrenamiento fueron recortadas, de tal manera que toda fila y toda columna de la nueva

imagen tuviese una intersección no nula con los píxeles que componen a la persona, esto con el fin de

garantizar que la mayoría de puntos de interés se ubiquen sobre los individuos y no sobre el fondo, con

estas imágenes se procedió a crear el codebook. Ejemplos de las imágenes resultantes de este proceso se presentan en la Figura 5.3.

Figura 4.3: Ejemplos de imágenes empleadas en la creación del codebook

Page 25: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

20

Posteriormente, se ejecutó el algoritmo de segmentación para cada una de las 30 imágenes de prueba, rea-

lizando variaciones en dos parámetros.

- El número de superpíxeles en los que se divide a la imagen de entrada

- El umbral de color del algoritmo de segmentación en regiones

Al final de cada prueba se calculó recall, precision y para cada una de las segmentaciones obtenidas. Con el fin de comparar los resultados obtenidos se calculó el promedio de los valores de recall, precision

y sobre las imágenes de prueba.

4.3. MODIFICACIONES AL ALGORITMO ORIGINAL

Al observar los resultados obtenidos en la primera fase de pruebas, se decidió plantear nuevas alterna-

tivas para mejorar el desempeño del algoritmo en dos etapas: la primera, la segmentación de la imagen en

regiones de color semejante, y la segunda, la creación del codebook. Las modificaciones planteadas y el

porqué de las mismas se describen a continuación.

4.3.1. MODIFICACIONES ASOCIADAS A LA SEGMENTACIÓN POR COLOR

Toda imagen que ingrese al algoritmo de segmentación es subdividida en superpíxeles y posteriormen-

te en regiones semejantes en color. Es de particular importancia que el algoritmo de segmentación por color entregue la menor cantidad posible de regiones, esto con el fin de garantizar una mejor segmentación

final. Por ejemplo, si los brazos de una persona tienen un color uniforme y no presentan texturas sobre las

que se podría generar uno o más puntos de interés, no tendrían posibilidad de pertenecer a la segmentación final, a menos que hagan parte de una región que contenga superpíxeles con mayor probabilidad de hacer

parte del objeto, como las manos. La influencia que tiene el número de regiones en el valor de es anali-

zada detalladamente en [7], ver Figura 5.4. es una medida de similitud empleada en la evaluación de

las segmentaciones resultantes, ésta se describe en la Sección 5.1.

Figura 4.4: Gráfica de F2 en función del número de regiones

En el caso particular de las pruebas anteriormente desarrolladas, fue posible apreciar que la cantidad de regiones obtenidas para algunas imágenes era superior a 30, tal y como se observa en la Figura 5.5.

Page 26: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

21

Figura 4.5: Segmentaciones por color con más de 30 regiones

Por lo anterior, y teniendo en cuenta el comportamiento descrito por la Figura 5.4, se realizaron modifica-

ciones en la representación del color de la imagen de entrada, antes de su ingreso al algoritmo de segmen-

tación por color. Con el fin de disminuir las variaciones de color debido a los cambios de iluminación, se

utilizaron los espacios RGB normalizado y HSV, como se describe a continuación.

4.3.1.1. Normalización RGB

La normalización en RGB de una imagen disminuye las variaciones de intensidad ocasionadas por

sombras o iluminación no homogénea. El proceso de normalización se lleva a cabo a través de los si-guientes pasos:

i. Dividir la imagen en sus tres componentes: R, G y B.

ii. Calcular la norma RGB de la imagen como:

2 2 2Norma R G B

iii. Computar los nuevos componentes:

' /

' /

' /

R R Norma

G G Norma

B B Norma

iv. Reemplazar los componentes de la imagen original por los anteriormente calculados.

Todas las operaciones realizadas para este proceso son píxel a píxel. Es importante destacar que, con el fin de disminuir el tiempo de cómputo, la norma puede ser aproximada como:

APNorma R G B

La anterior aproximación es utilizada en el presente trabajo. Ejemplos de imágenes normalizadas en

RGB se observan en la Figura 5.6.

Page 27: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

22

Figura 4.6: Imágenes normalizadas en RGB

4.3.1.2. HSV

HSV es un modelo cónico de color, resultado de una transformación no lineal de las componentes

RGB de una imagen. Para el desarrollo del presente trabajo, es de particular interés la información que se

registra en la componente H, correspondiente al matiz del píxel. El matiz se encuentra representado me-diante un grado dentro del intervalo [0º,360º], y brinda información sobre el color de cada uno de los píxe-

les que componen a la imagen. Los colores básicos de RGB corresponden respectivamente a 0º, 120º y

240º, los demás colores toman valores intermedios.

La importancia de esta representación radica en que píxeles con colores cercanos entre sí, toman un mis-

mo valor o un valor semejante dentro del intervalo, sin importar que en la imagen presenten algún cambio

en saturación o brillo. A partir de lo anterior, es de esperarse que los cambios de intensidad que se apre-

cian en RGB, se vean significativamente reducidos al hacer uso de la componente H de la imagen trans-formada, de tal manera que los colores de la imagen resultante sean mucho más homogéneos.

El procedimiento que se lleva a cabo para la transformación es el siguiente:

i. La imagen es transformada a HSV.

ii. Se almacena en una nueva matriz la componente H de la imagen transformada.

iii. Se crea el mapa de color HSV de la matriz obtenida en el punto anterior. Este procedimiento con-

siste en asignar el matiz correspondiente a cada elemento de la matriz, dependiendo del valor del mismo.

iv. El mapa obtenido en el punto iii. es convertido a un formato conocido de imagen. Esta será la

nueva entrada al algoritmo de segmentación por color.

El mapa de color de algunas imágenes puede apreciarse en la Figura 5.7.

Page 28: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

23

Figura 4.7: Mapa de color de la componente H de algunas imágenes

4.3.1.3. HSV con corrección de grises

La componente S de una imagen en HSV almacena información sobre la saturación de cada píxel. Es-

to quiere decir que entre menor sea el valor de un elemento en la matriz S, más cercano será el color a una

de las tonalidades que componen la escala de grises. Una de las desventajas que se presentan al trabajar con el mapa de color de la componente H, es que no es posible representar ninguna tonalidad con baja

saturación. A todo píxel que presente valores bajos en la componente S, le será asignado un color aleato-

rio, dando lugar a errores en el mapa de color.

Por lo anterior, se plantea el siguiente procedimiento como alternativa de solución al problema menciona-

do:

i. La imagen es transformada a HSV.

ii. Las componentes H y S de la imagen son almacenadas en dos matrices independientes.

iii. Se crea el mapa de color HSV de la matriz H.

iv. El mapa obtenido en el punto iii. es convertido a un formato conocido de imagen.

v. Se identifican las posiciones de la matriz S que sean inferiores a cierto umbral US.

vi. Todos los píxeles que se ubiquen en las posiciones identificadas, son restablecidos a sus valores

originales en RGB. Esta será la nueva entrada al algoritmo de segmentación por color.

Ejemplos de las imágenes obtenidas con este procedimiento son mostrados a continuación:

Page 29: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

24

Figura 4.8: Mapa de color de la componente H de algunas imágenes - Con corrección de grises

4.3.2. MODIFICACIONES ASOCIADAS A LA CREACIÓN DEL CODEBOOK

Las visual words juegan un papel fundamental en el desempeño del algoritmo, si éstas no logran des-

cribir adecuadamente la forma del objeto, no será posible obtener una segmentación apropiada. Como se

observa en la Figura 5.8, en las pruebas iniciales la gran mayoría de puntos de interés se situaban sobre las manos, pies y cabeza de las personas presentes en las imágenes, por lo tanto, muchas características im-

portantes como la forma de los brazos, piernas, hombros y demás, pueden perderse y no hacer parte del

codebook.

Figura 4.9: Puntos de interés detectados en un conjunto de imágenes

Otro de los inconvenientes encontrados es el descriptor de las object parts que se utiliza para el proceso de

clustering, fundamental para la generación de las visual words. Incluso en el caso en el cual los puntos de

interés se distribuyan adecuadamente sobre la imagen, es posible que el algoritmo de agrupamiento no sea

capaz de hacer una buena selección de los elementos que pertenecen a cada cluster, dando lugar a un co-debook no representativo.

Page 30: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

25

En el algoritmo original, se hace uso de la intensidad de cada píxel de la OP como descriptor, y de la co-

rrelación normalizada en escala de grises como medida de similitud para el proceso de clustering, no obs-

tante, uno de los problemas que presenta esta alternativa es la sensibilidad a desplazamientos horizontales o verticales de las object parts, incluso a pequeños corrimientos.

A continuación se presentan 3 alternativas de solución, las dos primeras buscan mejorar la ubicación espa-

cial de los puntos de interés, y la tercera tiene como objetivo mejorar el proceso de clustering.

4.3.2.1. Distancia mínima entre puntos de interés

El detector de puntos de interés propuesto por Harris y Stephens [9] no restringe la distancia que debe

guardar un punto de interés con respecto a otro, estos pueden ser incluso píxeles contiguos. Es importante

analizar que la información que aportan dos object parts que tienen como centro píxeles contiguos o muy cercanos, es prácticamente la misma. Por esta razón, la primera modificación que se plantea para el algo-

ritmo de detección de puntos de interés, es que la mínima distancia que puede existir entre uno y otro sea

Dpi píxeles. Con este cambio se espera que los puntos de interés se distribuyan mejor sobre la imagen de entrada.

Figura 4.10: Puntos de interés separados por una distancia mínima de 12 píxeles

4.3.2.2. Grilla uniforme

Una propuesta encaminada a mejorar la distribución de puntos sobre la imagen, consiste en eliminar el

detector de puntos de interés de Harris y Stephens, en esta alternativa se crea una grilla uniforme sobre la cual se centran las object parts de la imagen. El procedimiento para la extracción de los puntos de interés

es el siguiente:

i. Establecer la cantidad deseada de puntos, tanto horizontal como verticalmente, los valores escogi-dos serán denominados PIh y PIh respectivamente.

ii. Dividir la imagen en PIh+1 columnas y PIv+1 filas uniformes.

iii. Todas las esquinas de las regiones en las que se dividió la imagen son interpretadas como puntos de interés, exceptuando aquellas que coincidan con los bordes de la imagen.

Dependiendo de los valores escogidos para PIh y PIh, se habría generado una mayor cantidad de puntos de

interés que además cubrirían casi la totalidad del área de la imagen. Si bien se están incluyendo object

parts que no tienen intersección alguna con la persona, se espera que en el proceso de clustering estas sean

Page 31: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

26

eliminadas ya que no son características frecuentes en las imágenes, por lo tanto, no lograrían pertenecer a

clusters con un número de elementos superior al umbral permitido.

Figura 4.11: Puntos de interés obtenidos a partir de una grilla uniforme

4.3.2.3. Descriptores HOG

Con el fin de que object parts de apariencia similar sean agrupadas correctamente en el proceso de

clustering, es necesario que los descriptores utilizados sean poco sensibles a pequeñas variaciones de des-

plazamiento e iluminación, por tal motivo se utilizan descriptores HOG. Este tipo de descriptores ha sido

utilizado efectivamente en la detección de seres humanos dentro de una imagen [17], por esta razón, son considerados como una alternativa para la construcción del codebook.

Hasta el momento, las object parts que se extraen de todas las imágenes de entrenamiento son agrupadas

teniendo en cuenta su semejanza visual, medida por la correlación normalizada en escala de grises. Se propone hacer uso de los descriptores HOG para extraer un vector con información asociada (descriptor) a

cada OP, el proceso de clustering se realizaría para los vectores que describen a las imágenes y no para las

imágenes en sí.

De la misma manera, es necesario implementar el uso de descriptores HOG en la etapa de segmentación,

al momento de asociar las object parts detectadas en la imagen de entrada con las visual words que com-

ponen el codebook. En este caso, nuevamente se computa el descriptor asociado a cada OP y a cada VW,

la similitud será calculada a partir de la información almacenada en los descriptores. La similitud entre dos descriptores es inversamente proporcional a la distancia euclidiana que los separa.

Con este procedimiento se disminuye la dependencia del proceso de clustering a un desplazamiento del

objeto comparado.

4.4. ALGORITMO DE SEGMENTACIÓN PROPUESTO

En las pruebas desarrolladas hasta este punto se observó que una segmentación adecuada utilizando el

algoritmo implementado requiere de una correcta división de la imagen en segmentos de color similar y de un codebook que permita describir la forma de los objetos de interés adecuadamente. Una de las dificul-

tades más importantes al momento de trabajar con personas, es que puede existir una gran variación de

colores y texturas en la ropa que cada individuo utiliza, hecho que dificulta el cómputo de una segmenta-ción por color con pocas regiones. Además, debido a que las prendas de vestir pueden cambiar drástica-

mente de persona a persona, es posible que no se genere ninguna VW sobre estas zonas de la imagen y

Page 32: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

27

que la única opción que tengan de pertenecer a la segmentación final, es que la segmentación por color las

agrupe en regiones con alta probabilidad de pertenencia a la persona.

Debido a la gran cantidad de variaciones que se presentan, el algoritmo de segmentación implementado presenta un desempeño bajo como se ilustra en la Tabla 5.3. Con el fin de mejorar algunas de las debili-

dades del algoritmo y aprovechar sus fortalezas, se propone un algoritmo de segmentación que toma cier-

tas herramientas de la propuesta original, pero que tiene como objetivo corregir los problemas anterior-mente mencionados.

La construcción del nuevo algoritmo de segmentación tiene como base la siguiente hipótesis:

- La persona se encuentra centrada en la imagen: Este hecho permite afirmar que todos los píxeles que componen el borde de la imagen de entrada hacen parte del fondo. Además, el pixel que se

ubica en el centro de la imagen, es necesariamente parte de la persona.

De acuerdo a esto, se asume que todos los superpíxeles que interceptan el borde de la imagen hacen parte

del fondo y pueden ser eliminados. Igualmente, el SP central es parte obligatoria de la segmentación re-sultante. El número de superpíxeles en los que se divide la imagen tiene un papel muy importante, si es

muy alto, los píxeles eliminados al aplicar la hipótesis serán muy pocos, si por el contrario es muy bajo,

existe la posibilidad de eliminar píxeles que hacen parte de la persona.

Por tal motivo, se propone utilizar la segmentación por color. Este algoritmo tiene la ventaja de unir en

una misma región todos aquellos superpíxeles que comparten un color semejante. Por lo tanto, si se esta-

blece un umbral adecuado, es posible dividir a la imagen en un número de zonas mucho menor al total de superpíxeles, pero se sigue respetando los límites de la persona. De esta manera, al eliminar todas las

regiones que intercepten el borde de la imagen, y manteniendo la región central, se puede obtener una

primera segmentación, o segmentación parcial.

Para el cómputo de la segmentación definitiva, se propone hacer uso de un modelo que contenga las carac-terísticas más importantes de la silueta esperada de una persona. Haciendo uso del modelo, de un criterio

de comparación y de la segmentación de la imagen en superpíxeles, es posible determinar qué píxeles

deben ser eliminados de la segmentación parcial y qué píxeles deben ser añadidos. Se plantea el uso del modelo dado que se conoce previamente la pose de las personas en las imágenes de prueba.

Con base en los anteriores argumentos, se da paso a la descripción del algoritmo de segmentación pro-

puesto.

4.4.1. DESCRIPCIÓN DEL ALGORITMO

La entrada al algoritmo de segmentación es una imagen a color en la que se registra una única persona,

de frente, con los brazos estirados verticalmente. La persona se ubica en el centro de la imagen.

4.4.1.1. División de la imagen

Inicialmente la imagen es dividida en NS superpíxeles, posteriormente, es segmentada en regiones de

color semejante.

4.4.1.2. Creación de la máscara de segmentación

Se crea una máscara de segmentación inicial S(i,j) con las mismas dimensiones de la imagen de entra-

da, todos los píxeles de la máscara de segmentación toman el valor 1.

Page 33: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

28

4.4.1.3. Eliminación de regiones fronterizas

Se identifican las regiones de color semejante que tienen intersección no nula con el borde de la ima-

gen. Luego, se registra en una matriz MER la posición de los píxeles que integran las regiones menciona-das. Finalmente, se coloca un 0 en todas las posiciones de S(i,j) que coincidan con las ubicaciones alma-

cenadas en MER. Si la región a la que pertenece el centro de la imagen fue eliminada en el proceso, es

nuevamente incorporada a la máscara de segmentación S(i,j).

4.4.1.4. Eliminación de superpíxeles fronterizos

Debido a similitudes de color entre la persona y el fondo, es posible que la parte central de la imagen

resulte conectada con un segmento de la frontera, por esta razón se realiza una eliminación adicional. Para

ello, se identifican todos los superpíxeles que tengan intersección no nula con el borde de la imagen, des-pués, se almacena en una matriz MES la posición de los píxeles que los integran. Finalmente, se coloca

un 0 en todas las posiciones de S(i,j) que coincidan con los valores registrados en MES.

4.4.1.5. Creación del modelo

Para la creación del modelo M(i,j) se hace uso de Nmod imágenes. Se trabaja con el groundtruth de las

imágenes escogidas. El modelo es igual al promedio de los Nmod groundtruth, alineados a partir del centro

del bounding box de cada uno. Como resultado se obtiene una imagen que toma Nmod +1 posibles valores

entre 0 y 1. El valor de cada píxel puede ser interpretado como la probabilidad que tiene éste de hacer parte de una persona. Un posible modelo puede ser observado en la Figura 4.12.

Figura 4.12: Modelo de una persona

4.4.1.6. Ubicación del modelo en la imagen

Para utilizar el modelo en el proceso de segmentación, es necesario alinearlo adecuadamente con res-pecto a la máscara de segmentación, para ello, se centra el modelo en todos los píxeles de S(i,j) que le

permitan estar totalmente contenido en la máscara. Para cada ubicación se calcula una medida de simili-

tud entre M(i,j) y S(i,j), descrita por:

,

, , ,, , ,

, ' ,

i jS i j S i j M i j

SM M i j S i jS i j M i j

Page 34: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

29

donde

1, si , 0' ,

0, si , 0

M i jM i j

M i j

A : cardinalidad de A.

Posteriormente, se repite el mismo procedimiento dos veces más, la primera para M(i,j) ampliado en un

5%, y la segunda para M(i,j) reducido en un 5%.

Se identifica el modelo para el cual se presentó la máxima similitud. En aquella posición donde se registre

el máximo, se fija el respectivo modelo para el desarrollo de los procedimientos posteriores.

4.4.1.7. Eliminación de superpíxeles a partir del modelo

Se crea una versión umbralizada M(i,j)UE del modelo, a partir de un umbral ME, como sigue:

1, si ,,

0, si ,

E

UEE

M i j MM i j

M i j M

Posteriormente se calcula:

, , ,EL UEP i j S i j M i j

Las posiciones (i,j) en las que PEL toma el valor 1, son candidatas a ser eliminadas de la máscara de seg-

mentación, sin embargo, se desea eliminar superpíxeles, no píxeles individuales. La condición que debe cumplir un SP para ser eliminado de la máscara de segmentación S(i,j), es que al menos la mitad de los

píxeles que lo componen deben haber sido identificados como posibles candidatos. Todos los superpíxe-

les que satisfagan esta medida son eliminados de S(i,j), es decir, S(i,j) es llevado a 0 en las posiciones ocu-

padas por el SP.

4.4.1.8. Adición de superpíxeles a partir del modelo

Se crea una nueva versión umbralizada M(i,j)UA del modelo, a partir de un umbral MA, con MA <ME, de

tal manera que:

1, si ,,

0, si ,

A

UAA

M i j MM i j

M i j M

Posteriormente se calcula:

, , ,AD UAP i j M i j S i j

Las posiciones (i,j) en las que PAD toma el valor 1, son candidatas a ser añadidas a la máscara de segmen-

tación, sin embargo, se desea añadir superpíxeles, no píxeles individuales. La condición que debe cumplir

un SP para ser añadido a la máscara de segmentación S(i,j), es que al menos la mitad de los píxeles que lo componen deben haber sido identificados como posibles candidatos. Todos los superpíxeles que satisfa-

gan esta medida son agregados a S(i,j), es decir, S(i,j) es llevado a 1 en las posiciones ocupadas por el SP.

Para obtener la segmentación resultante, se multiplica punto a punto la imagen de entrada al algoritmo con la máscara de segmentación S(i,j). En las pruebas realizadas se analiza el comportamiento del algoritmo

ante variaciones en los umbrales MA y ME.

Page 35: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

30

5. RESULTADOS Y ANÁLISIS

5.1. MEDIDAS DE DESEMPEÑO

La similitud entre la máscara de segmentación obtenida (Seg) y el groundtruth de la imagen (GT) pue-

de ser evaluada a partir de las medidas recall y precision, definidas de acuerdo a:

GT Seg GT Segrecall precision

GT Seg

La medida recall establece la relación entre la cantidad de píxeles segmentados correctamente por el algo-

ritmo y la totalidad de píxeles que componen al objeto de interés, es decir, el porcentaje de píxeles del

objeto que pudieron ser detectados. Por su parte, precision establece la relación entre la cantidad de píxe-les segmentados correctamente y la totalidad de píxeles que componen la máscara de segmentación, en

otras palabras, el porcentaje de píxeles de la máscara de segmentación que realmente pertenecen al objeto

de interés.

Tanto recall como precision pueden tomar valores en el intervalo ( ], sin embargo, analizar cada medi-

da de manera independiente no permite extraer conclusiones sobre la segmentación obtenida. Un ejemplo

de lo anterior es suponer una máscara de segmentación con un 1 en todas las posiciones, a pesar de ser

claramente un resultado erróneo, recall sería igual a 1, lo cual podría dar lugar a falsas interpretaciones sobre la segmentación resultante. Para garantizar que una segmentación es cercana al groundtruth de la

imagen, es necesario que recall y precision se aproximen simultáneamente a 1.

Con el fin de emplear una única medida de similitud para la evaluación de las segmentaciones, se hace uso

de la función , definida como:

1 precision recallF

precision recall

La anterior expresión se encarga de integrar los valores de precision y recall, de manera que se penalice

tanto los píxeles faltantes como los píxeles sobrantes, respecto al groundtruth de la imagen. La medida

toma valores en el intervalo ( ]. El valor más comúnmente utilizado para es 2 [7].

En cada prueba se computa las 3 medidas para cada una de las máscaras de segmentación obtenidas, pos-

teriormente se calcula el promedio de cada medida.

5.2. PRUEBAS CON EL ALGORITMO ORIGINAL

Para las pruebas de esta sección se hace uso del algoritmo original. Los umbrales y constantes son es-

tablecidos según lo descrito en [7]. Se ejecuta el algoritmo para las 30 imágenes de prueba.

5.2.1. VARIACIONES EN EL NÚMERO DE SUPERPÍXELES

En este conjunto de pruebas únicamente se modifica la cantidad de superpíxeles en los que se divide a

la imagen de entrada.

Page 36: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

31

Prueba 1: Algoritmo original. Umbral de color ( ) = 0.3. La cantidad de superpíxeles varía desde

100 hasta 300, con incrementos de 50. Los resultados obtenidos fueron los siguientes:

Superpíxeles Recall Precision F2

100 0,6546 0,6693 0,6487

150 0,6597 0,6861 0,6581

200 0,6513 0,6922 0,6560

250 0,6500 0,6936 0,6543

300 0,6450 0,6782 0,6448

Tabla 5.1: Resultados Prueba 1

De la Tabla 5.3 se concluye que el valor máximo de se alcanza con 150 superpíxeles. La segunda simi-

litud más alta se da con 200 superpíxeles. Ambos valores son utilizados en el desarrollo de la siguiente

prueba. Es importante destacar que, a pesar de ser el máximo de para esta prueba, 0.6581 es un valor

que dista bastante del esperado para una segmentación adecuada. Los valores de recall y precision obte-nidos para 150 píxeles fueron 0.6597 y 0.6861, esto quiere decir que en promedio únicamente fue posible

identificar un 66% de los píxeles que componen a cada persona, y además, que de todos los píxeles detec-

tados en las máscaras de segmentación, tan solo un 68.6% hacen parte de los individuos. Ejemplos de las segmentaciones obtenidas bajo estas condiciones se muestran en la Figura 5.1.

Figura 5.1: Segmentaciones obtenidas en la Prueba 1 para 150 superpíxeles

5.2.2. VARIACIONES EN EL UMBRAL DE COLOR

Se llevan a cabo dos pruebas, la primera de ellas con 150 superpíxeles, la segunda con 200. En ambas

se varía el umbral desde 0.2 hasta 0.4, con incrementos de 0.05.

Prueba 2: Algoritmo original. La imagen es subdividida en 150 superpíxeles. Umbral variable.

Los resultados obtenidos se registran a continuación:

Page 37: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

32

Umbral Color Recall Precision F2

0.2 0,6737 0,6703 0,6658

0.25 0,6750 0,6776 0,6661

0.3 0,6597 0,6861 0,6581

0.35 0,6579 0,6688 0,6506

0.4 0,6450 0,6711 0,6421

Tabla 5.2: Resultados Prueba 2

Prueba 3: Algoritmo original. La imagen es subdividida en 200 superpíxeles. Umbral variable.

Los resultados para esta prueba se registran en la Tabla 5.3.

Umbral Color Recall Precision F2

0.2 0,6500 0,6762 0,6535

0.25 0,6613 0,6830 0,6640

0.3 0,6513 0,6922 0,6560

0.35 0,6571 0,6664 0,6497

0.4 0,6411 0,6465 0,6260

Tabla 5.3: Resultados Prueba 3

El valor de es mayor con 150 superpíxeles para todos los valores de , por lo tanto, las pruebas que se llevan a cabo a continuación son ejecutadas con esta cantidad. La similitud máxima se alcanza cuando

el umbral de color es igual a 0.25, el valor obtenido es 0.6661, superior al máximo registrado en la Prueba

1.

En la Figura 5.2 se muestran las segmentaciones por color de 5 imágenes diferentes, las segmentaciones

de la fila superior se obtienen con un umbral de color igual a 0.2 y las de la fila inferior con 0.4. Se apre-

cia que entre más bajo sea el valor de este umbral, más semejantes deberán ser los colores de dos superpí-

xeles para que se unan en una misma región. Por lo anterior, la cantidad de regiones que componen la segmentación por color de la imagen incrementa a medida que disminuye el umbral de color.

La selección del umbral de color supone un compromiso entre la cantidad de regiones y la pérdida de for-

ma de la persona. Si bien un número menor de regiones favorece el correcto desempeño del algoritmo, la selección de un umbral muy elevado hará que los límites del cuerpo de la persona se pierdan, como se

aprecia en la fila inferior de la Figura 5.2.

Page 38: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

33

Figura 5.2: Segmentaciones por color de la Prueba 2 (tcolor fila superior: 0.2 – tcolor fila inferior: 0.4)

5.3. MODIFICACIONES AL ALGORITMO ORIGINAL

5.3.1. MODIFICACIONES ASOCIADAS A LA SEGMENTACIÓN POR COLOR

Hasta el momento, se conoce tanto el número de superpíxeles como el umbral de color que maximizan

la función . Haciendo uso de estos valores, se desea modificar las características de la imagen que in-gresa al algoritmo de segmentación por color. Con el fin de ampliar los casos de análisis, las pruebas se

realizan para los 3 umbrales que obtuvieron una máxima similitud en la Prueba 3.

5.3.1.1. RGB normalizado

Prueba 4: Algoritmo original con modificación en la segmentación por color. La imagen de entrada al algoritmo de segmentación por color es previamente normalizada en sus componentes RGB. El número

de superpíxeles e igual a 150 y el umbral de color toma tres diferentes valores: 0.2, 0.25, 0.3. Los resulta-

dos obtenidos fueron:

Umbral Color Recall Precision F2

0.2 0,6960 0,6959 0,6784

0.25 0,6769 0,6840 0,6666

0.3 0,6778 0,6545 0,6517

Tabla 5.4: Resultados Prueba 4

Page 39: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

34

El umbral que maximiza la función de similitud es 0.2. El máximo de obtenido en esta prueba es supe-

rior al resultante en la Prueba 3, con lo cual se comprueba que normalizar la imagen disminuye las varia-

ciones de intensidad y textura, permitiendo así la obtención de una mejor segmentación por color.

Una de las diferencias más importantes entre hacer uso de la imagen original y emplear la imagen norma-

lizada, se aprecia en la segmentación por color resultante. En la Figura 5.3, se observa una imagen de la

base de datos, la segmentación por color de la misma y la segmentación resultante, para el caso de la

Prueba 3 (izquierda) y de la Prueba 4 (derecha). Se aprecia que la segmentación por color de la derecha tiene muchas regiones menos que la de la izquierda, por esta razón, es más sencillo para el algoritmo en-

tregar una segmentación final más cercana al groundtruth de la imagen.

Figura 5.3: Diferencias en el proceso de segmentación de la Prueba 3 (izquierda) y la Prueba 4 (derecha)

5.3.1.2. HSV

Prueba 5: Algoritmo original con modificación en la segmentación por color. 150 superpíxeles. La

entrada al algoritmo de segmentación por color es el mapa de color HSV de la imagen original. El umbral de color toma 3 valores diferentes: 0.2, 0.25 y 0.3. Los resultados obtenidos se registran a continuación:

Umbral Color Recall Precision F2

0.2 0,7262 0,5947 0,6702

0.25 0,6923 0,6127 0,6553

0.3 0,7308 0,6062 0,6751

Tabla 5.5: Resultados Prueba 5

El máximo valor de se obtiene con . Es importante resaltar que la máxima similitud de esta prueba no logra superar el valor obtenido en la prueba anterior. Una de las posibles causas es la incorrecta

asignación de colores a los tonos con baja saturación, descrita en la Sección 4.3.1.3.

En la Figura 5.4 se muestra, de izquierda a derecha, una de las imágenes que conforman la base de datos, el mapa de color HSV de la imagen y la segmentación por color resultante. Se observa que en el mapa de

color, el fondo gris es interpretado como un conjunto aleatorio de colores, por lo tanto, se presenta un

significativo deterioro en la segmentación por color obtenida.

Page 40: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

35

Figura 5.4: Segmentación por color de la Prueba 5

5.3.1.3. HSV con corrección de grises

Prueba 6: Algoritmo original con modificación en la segmentación por color. Se repite la prueba ante-

rior, pero esta vez se presenta una variación en el mapa de color, todos aquellos píxeles con una saturación

menor a 0.1 (umbral de saturación US) toman el color de la imagen original en RGB. Los resultados obte-

nidos se registran a continuación:

Umbral Color Recall Precision F2

0.2 0,7005 0,6606 0,6821

0.25 0,7131 0,6584 0,6883

0.3 0,7050 0,6547 0,6817

Tabla 5.6: Resultados Prueba 6

El valor máximo de se alcanza con 0.25. Se procede a analizar la influencia del umbral de saturación

en el desempeño del algoritmo.

Prueba 7: Algoritmo original con modificación en la segmentación por color. Se repite la Prueba 6, pero

esta vez se deja fijo el umbral de color en 0.25 y el umbral de saturación varía entre 0.05, 0.1 y 0.15. Los

resultados obtenidos para esta prueba fueron:

US Recall Precision F2

0.05 0,7020 0,6592 0,6815

0.1 0,7131 0,6584 0,6883

0.15 0,7271 0,6384 0,6845

Tabla 5.7: Resultados Prueba 7

Page 41: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

36

Los resultados muestran que el mejor umbral de saturación es 0.1. La máxima similitud alcanzada en el

desarrollo de la Prueba 7 es 0.6883, valor que supera el registrado en las Pruebas 4 y 5. Se demuestra que

la corrección de grises tiene un efecto positivo en el desempeño del algoritmo, y que incluso es una mejor alternativa que la normalización en RGB de la imagen.

En la Figura 5.5 se registra la segmentación por color obtenida para la imagen de la Figura 5.4, se observa

un resultado más homogéneo y una disminución en el número de regiones.

Figura 5.5: Segmentación por color de la Prueba 7

5.3.2. MODIFICACIONES ASOCIADAS A LA CREACIÓN DEL CODEBOOK

Este conjunto de pruebas tiene como objetivo mejorar la información registrada en las visual words de la clase, de tal manera que describan adecuadamente las texturas presentes en la mayoría de imágenes de

entrenamiento. Debido a que no es posible obtener conclusiones a partir de la visualización del codebook,

nuevamente se evalúa el desempeño de cada prueba en función del máximo valor que alcanzan recall,

precision y . Las tres pruebas que se registran a continuación fueron realizadas para las dos configura-

ciones que presentaron los máximos valores de similitud en las pruebas pasadas, es decir: i) Normaliza-

ción RGB con 150 píxeles y umbral de color fijo en 0.2. ii) HSV con corrección de grises, 150 píxeles y

umbral de color fijo en 0.25.

5.3.2.1. Distancia mínima entre puntos de interés

Prueba 8: Algoritmo original con modificación en la segmentación por color y en la creación del co-

debook. Se establece una distancia mínima de 12 píxeles entre cada par de puntos de interés, lo cual su-pone un máximo traslape de media OP. La prueba se ejecuta para dos espacios de color. Los resultados

obtenidos fueron:

Método Recall Precision F2

HSV-G 0,7357 0,6199 0,6891

RGB - N 0,7038 0,7130 0,6886

Tabla 5.8: Resultados Prueba 8

Page 42: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

37

Imponer una distancia mínima entre cada pareja de puntos de interés, genera un pequeño incremento en el

valor máximo de , en comparación al obtenido en la Prueba 7. En esta prueba se registran un total de 83

visual words, contrario a las 92 existentes en las pruebas anteriores.

5.3.2.2. Grilla uniforme

A continuación, se deja de lado el descriptor de puntos de interés de Harris y Stephens, para dar lugar a

una extracción uniforme de puntos de interés.

Prueba 9: Algoritmo original con modificación en la segmentación por color y en la creación del co-debook. Los puntos de interés se obtienen de una grilla uniforme, para ello, se generan 12 filas y 6 co-

lumnas de puntos uniformemente distribuidos sobre la imagen. La prueba se ejecuta para dos espacios de

color. Los resultados obtenidos se presentan a continuación:

Método Recall Precision F2

HSV-G 0,8213 0,5929 0,7214

RGB - N 0,8216 0,6491 0,7323

Tabla 5.9: Resultados Prueba 9

Se observa un importante incremento en el valor de , el máximo alcanzado en esta prueba es 0.7323 con

la técnica de normalización en RGB. Debido al aumento en los puntos de interés, se registra un significa-

tivo incremento en el total de visual words -167-. Se comprueba que con una mayor cantidad de object parts distribuidas uniformemente sobre la imagen, el desempeño del algoritmo mejora.

5.3.2.3. Descriptores HOG

Prueba 10: Algoritmo original con modificación en la segmentación por color y en la creación del co-

debook. El proceso de clustering se realiza con los descriptores HOG de las objetc parts. Para el cálculo de los descriptores se divide cada OP en 3 bloques horizontales y 3 bloques verticales. Los histogramas

son computados en 9 bins. Los resultados obtenidos fueron:

Método Recall Precision F2

HSV-G 0,8314 0,6056 0,7395

RGB - N 0,7995 0,6714 0,7517

Tabla 5.10: Resultados Prueba 10

El uso de descriptores HOG tiene un efecto positivo en el desempeño del algoritmo, la medida de simili-tud máxima es 0.7497, valor que supera el obtenido en la Prueba 9. La prueba 10 concluye el conjunto de

modificaciones realizadas al algoritmo original.

En la Figura 5.6 se registran las segmentaciones finales para 5 imágenes de entrada. Para facilitar la com-

paración, las personas seleccionadas son las mismas que se presentan en la Figura 5.1.

Page 43: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

38

Figura 5.6: Segmentaciones obtenidas en la Prueba 10 para RGB normalizado

Si bien se observa un incremento en el porcentaje de detección de píxeles de la persona (83.1%), la canti-

dad de píxeles detectados equívocamente como positivos sigue siendo alta, pues solo un 60.5% de los

píxeles que componen la máscara de segmentación pertenecen realmente a la persona.

5.3.3. ALGORITMO DE SEGMENTACIÓN PROPUESTO

A continuación se evalúa el algoritmo propuesto, se desea analizar el comportamiento del algoritmo en

función de los umbrales ME y MA. Para el desarrollo de las siguientes pruebas se hace uso del espacio de

color que entregó los mejores resultados en la Prueba 10, es decir, RGB normalizado. El modelo fue ela-borado con el groundtruth de 25 imágenes de la base de datos, 5 imágenes por cada persona.

5.3.3.1. Variaciones en el umbral ME

En este primer conjunto de pruebas se varía el umbral ME desde 0.6 hasta 0.8, con incrementos de 0.05. El umbral MA se deja constante. A medida que el umbral ME crece, mayor cantidad de superpíxeles son

eliminados de la segmentación parcial de la imagen.

Prueba 11: Algoritmo propuesto. Umbral ME variable. Umbral MA fijo en 0.5. Espacio de color RGB normalizado. Umbral de color: 0.2. Los resultados obtenidos para esta prueba fueron:

Umbral ME Recall Precision F2

0,6 0,9080 0,9009 0,9046

0,65 0,9084 0,9003 0,9047

0,7 0,9080 0,9014 0,9049

0,75 0,9073 0,8989 0,9036

0,8 0,9075 0,8961 0,9028

Tabla 5.11: Resultados Prueba 11

Page 44: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

39

En general, se evidencia un importante incremento en el valor máximo de similitud, en comparación con

el obtenido en la Prueba 10. Uno de los aspectos que más se resalta, es la mejora en el valor promedio de

precision. En la Prueba 10 se registró un valor máximo de 0.6714, lo que implica que únicamente un 67.1% de los píxeles que componen la máscara de segmentación hacen parte del objeto de interés. Por su

parte, en esta prueba se alcanza un valor de 0.9014, es decir, tan solo existe un 9,9% de error en los píxe-

les detectados como pertenecientes a la persona.

En la Figura 5.7 se observa el proceso de segmentación con el algoritmo propuesto para una de las imáge-

nes que integran la base de datos. De izquierda a derecha se registra: la imagen de entrada al algoritmo, la

imagen después de la etapa de eliminación de regiones y superpíxeles fronterizos, el modelo centrado

sobre la imagen, los píxeles que deberían ser eliminados según la información del modelo, los píxeles que deberían ser añadidos, y finalmente, la segmentación resultante después de haber tenido en cuenta ambos

criterios y la información entregada por los superpíxeles de la imagen.

Figura 5.7: Etapas del algoritmo de segmentación propuesto

5.3.3.2. Variaciones en el umbral MA

A continuación, se repite la Prueba 11 pero esta vez se deja fijo el umbral ME en 0,7, valor que generó

la máxima similitud. El umbral MA varía entre 0.35 y 0.55, con incrementos de 0.05.

Prueba 12: Algoritmo propuesto. Umbral MA variable. Umbral ME fijo en 0.7. Espacio de color RGB

normalizado. Umbral de color: 0.2. Los resultados obtenidos se registran a continuación:

Umbral MA Recall Precision F2

0,35 0,9344 0,8602 0,9069

0,4 0,9285 0,8735 0,9081

0,45 0,9249 0,8816 0,9089

0,5 0,9080 0,9014 0,9049

0,55 0,9011 0,9077 0,9024

Tabla 5.12: Resultados Prueba 12

Page 45: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

40

alcanza un máximo de 0.9089, valor que supera considerablemente el máximo obtenido con el algorit-

mo original (0.7497). Tanto precision como recall presentan un incremento en comparación a la Prueba

10, por lo cual, el algoritmo propuesto tiene en general un mejor desempeño que el algoritmo original. El umbral de adición (MA) que maximiza la función de similitud es 0.45. En conclusión, se logró detectar un

92,5% de los píxeles que integran al conjunto de personas, y de todos los píxeles detectados como perte-

necientes al objeto, un 88% es correcto.

En la Figura 5.8 se registran las segmentaciones finales para 5 imágenes diferentes.

Figura 5.8: Segmentaciones obtenidas en la Prueba 12 para MA=0.45

5.3.3.3. Comparación entre el algoritmo propuesto y un recorte simple

Se llevó a cabo una última prueba con el fin de validar la importancia de las etapas de eliminación y

adición de superpíxeles. Una posible hipótesis es que el modelo umbralizado y centrado sobre la imagen puede ser utilizado como un molde de eliminación, sin necesidad de hacer un análisis de los superpíxeles

de la imagen. Con “molde de eliminación”, se hace referencia a que todos aquellos píxeles de la segmen-

tación parcial que tienen intersección nula con el modelo umbralizado y centrado sobre la imagen, son eliminados de la segmentación definitiva. El proceso se ilustra en la Figura 5.9, en ella se registra de iz-

quierda a derecha: la segmentación parcial –imagen de entrada de la que se ha eliminado todas las regio-

nes y superpíxeles fronterizos-, el modelo umbralizado y centrado sobre la imagen, y la segmentación

resultante –multiplicación punto a punto entre la segmentación parcial y el modelo-.

Figura 5.9: Recorte simple

Page 46: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

41

Prueba 13: Eliminación de píxeles a partir de un recorte simple con el modelo umbralizado. Umbral de

eliminación ME variable, desde 0.3 hasta 0.5 con incrementos de 0.05. Espacio de color RGB normaliza-

do. Umbral de color: 0.2. Los resultados obtenidos fueron:

Umbral ME Recall Precision F2

0,3 0,8224 0,9230 0,8518

0,35 0,8262 0,9355 0,8584

0,4 0,8158 0,9477 0,8540

0,45 0,8083 0,9418 0,8464

0,5 0,7862 0,9461 0,8316

Tabla 5.13: Resultados Prueba 13

El máximo valor de es mayor que el obtenido en la Prueba 10, lo cual permite concluir que el recorte

simple tiene un mejor desempeño que el del algoritmo original. Sin embargo, la máxima similitud de esta

prueba no logra superar la registrada en la Prueba 12, por lo tanto, se confirma que el proceso de adición y eliminación a partir de los superpíxeles de la imagen mejora el desempeño del algoritmo.

En la Figura 5.10 se registran las segmentaciones resultantes de una misma imagen, la segmentación de la

derecha se obtuvo en la Prueba 13, y la segmentación de la izquierda en la Prueba 12. Se observa una importante diferencia entre los dos algoritmos: si la segmentación parcial de la imagen elimina píxeles

pertenecientes a la persona, no hay forma alguna de recuperarlos con el algoritmo de recorte simple; por

su parte, el algoritmo de segmentación propuesto recupera la mayoría de los superpíxeles faltantes, mejo-

rando considerablemente la segmentación final. Además, el algoritmo de segmentación propuesto podría ser utilizado en la segmentación de personas en diferentes poses y en distintas escalas, si se incluye los

modelos respectivos en el momento de hacer la comparación.

Figura 5.10: Comparación entre dos segmentaciones (Izquierda: Prueba 12 – Derecha: Prueba 13)

Page 47: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

42

5.4. COMPARACIÓN ENTRE LOS ALGORITMOS

En la Tabla 5.14 se resumen los resultados obtenidos en las pruebas anteriores, para aquellas configu-

raciones que maximizan el valor de en cada uno de los casos evaluados.

Configuración Recall Precision F2

Algoritmo Original 0,6750 0,6776 0,6661

RGB Normalizado 0,6960 0,6959 0,6784

HSV 0,7308 0,6062 0,6751

HSV Corrección Grises 0,7131 0,6584 0,6883

Puntos de Interés Distanciados 0,7357 0,6199 0,6891

Grilla Uniforme 0,8216 0,6491 0,7323

HOG 0,7995 0,6714 0,7517

Recorte Simple 0,8262 0,9355 0,8584

Algoritmo Propuesto 0,9249 0,8816 0,9089

Tabla 5.14: Comparación entre las diferentes configuraciones evaluadas

Los máximos valores de y recall se obtuvieron con el algoritmo propuesto. El máximo valor de preci-

sion se alcanzó con el recorte simple. De manera general, el algoritmo propuesto es el que presenta un

mejor desempeño en la segmentación de personas en imágenes a color.

Page 48: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

43

6. CONCLUSIONES Y TRABAJO FUTURO

6.1. CONCLUSIONES

Con el desarrollo del presente trabajo de grado fue posible comprobar que el corte de grafos es una

técnica útil para la segmentación de personas en imágenes a color.

En relación al algoritmo de segmentación seleccionado, se evidenció que el desempeño del mismo depen-

de fundamentalmente de dos factores: la segmentación por color de la imagen de entrada y el codebook

que describe a la clase.

Respecto a la segmentación por color, es conveniente que la imagen sea dividida en la menor cantidad

posible de regiones, sin llegar a perder los límites del objeto de interés. La cantidad de regiones en las que

se divide a la imagen depende del umbral de color ( ). La selección de un umbral muy elevado hará que los límites del cuerpo de la persona se pierdan, mientras que un umbral muy bajo impedirá que varios

píxeles de la persona hagan parte de la segmentación final. Una alternativa para mejorar la segmentación

por color de la imagen, es utilizar los espacios HSV y RGB normalizado, con el fin de disminuir las varia-

ciones de color debido a cambios de iluminación. Se comprobó que ambas opciones mejoran el desempe-ño del algoritmo.

Respecto a la creación del codebook, a medida que se incrementa la cantidad de imágenes de entrenamien-

to, es posible capturar con mayor exactitud las texturas que describen a la clase, desechando aquellas que únicamente hacen parte del fondo. Sin embargo, a mayor número de imágenes utilizadas, mayor tiempo

de cómputo del algoritmo, por lo tanto, se requiere de un balance entre los dos criterios para seleccionar

un número adecuado de imágenes. Igualmente, fue posible comprobar que la distribución uniforme de

puntos de interés sobre las imágenes de entrenamiento genera mejores resultados que hacer uso del detec-tor de Harris y Stephens [9]. Finalmente, el proceso de clustering mejora si se emplean descriptores que

sean poco sensibles a variaciones de desplazamiento e iluminación, como los descriptores HOG.

En relación al algoritmo de segmentación propuesto, se observó que la eliminación de regiones y superpí-xeles cuya intersección con los bordes de la imagen sea no nula, reduce significativamente la cantidad de

píxeles de fondo y permite obtener una segmentación parcial del objeto de interés. El anterior resultado

puede ser efectivamente mejorado con ayuda de un modelo que describa la silueta esperada de la persona. Si bien se podría emplear el modelo para hacer un recorte directo de la segmentación parcial, se demostró

que respetar las divisiones entregadas por el algoritmo de superpíxeles incrementa el valor de de mane-

ra significativa, además, permite extender el algoritmo a la segmentación de personas en diferentes poses

y escalas, si se cuenta con los modelos correspondientes.

Debido a la gran cantidad de variaciones de color y textura que se presentan entre las imágenes de entre-

namiento, el algoritmo de segmentación original presenta en general un bajo desempeño. La similitud

máxima que se alcanzó con el algoritmo original fue 0.7517. Por su parte, con el algoritmo propuesto fue posible obtener una similitud de 0.9089.

6.2. TRABAJO FUTURO

El algoritmo de segmentación propuesto en la Sección 4.4 presentó el mejor desempeño en la etapa de pruebas, en comparación con las diferentes configuraciones del algoritmo de segmentación seleccionado.

Por lo anterior, se plantea seguir trabajando con el algoritmo propuesto, en busca de mejoras o comple-

mentos. Un camino de investigación puede estar orientado a la evaluación del algoritmo con diferentes

Page 49: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

44

modelos, de esta manera, sería posible segmentar imágenes de personas en diversas poses (e.g. brazos

abiertos, piernas flexionadas). Si se crean nuevos modelos de la silueta esperada de una persona, sería

posible comparar cada uno con la segmentación parcial de la imagen, aquél que presente la máxima simili-tud es seleccionado como el modelo que mejor representa el objeto de interés, el proceso de segmentación

continuaría como se describe en la Sección 4.4. Este desarrollo permitiría que el algoritmo sea menos

restringido y pueda segmentar adecuadamente imágenes de personas en nuevas posturas y en diversas escalas.

Page 50: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

BIBLIOGRAFÍA

[1] P. Buitrago y N. Cano, Sistema de Identificación de Personas, Bogotá: Trabajo de Grado,

Departamento de Electrónica, Pontificia Universidad Javeriana, 2010.

[2] E. Ávila, Seguimiento de Personas Basado en Descriptores HOG, Bogotá: Trabajo de Grado,

Departamento de Electrónica, Pontificia Universidad Javeriana, 2011.

[3] A. Mayorga, Detección de Vehículos y Peatones en Secuencias de Video, Bogotá: Trabajo de Grado,

Departamento de Electrónica, Pontificia Universidad Javeriana, 2011.

[4] N. Romero y C. García, Detección y Seguimiento de Personas en un Cruce Peatonal, Bogotá: Trabajo de Grado, Departamento de Electrónica, Pontificia Universidad Javeriana, 2009.

[5] J. Shi and J. Malik, "Normalized Cuts and Image Segmentation," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 22, no. 8, pp. 888-905, 2000.

[6] P. F. Felzenszwalb y D. P. Huttenlocher, «Efficient Graph-Based Image Segmentation,»

International Journal of Computer Vision, vol. 59, nº 2, 2004.

[7] G. Liu, Z. Lin, Y. Yu and X. Tang, "Unsupervised Object Segmentation with a Hybrid Graph Model

(HGM)," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 32, no. 5, pp. 910-

924, 2010.

[8] G. Liu, Z. Lin, Y. Yu y X. Tang, «A Hybrid Graph Model for Unsupervised Object Segmentation,»

de International Conference on Computer Vision and Pattern Recognition, Minneapolis, 2007.

[9] C. Harris y M. Stephens, «A Combined Corner and Edge Detector,» de Proceedings of The Fourth Alvey Vision, Manchester, 1988.

[10] J. Carrerira y C. Sminchisescu, «CPMC: Automatic Object Segmentation Using Constrained Parametric Min-Cuts,» IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 34,

2012.

[11] G. Mori, «Guiding Model Search Using Segmentation,» de International Conference on Computer

Vision and Pattern Recognition, Beijing, 2005.

[12] B. Leibe, A. Leonardis y B. Schiele, «Combined Object Categorization and Segmentation with an

Implicit Shape Model,» de Workshop on Statistical Learning in Computer Vision, Prague, 2004.

[13] Y. Li, J. Sun, C.-K. Tang y H.-Y. Shum, «Lazzy Snapping,» Microsoft Research, 2004.

[14] W. Hong y J. Wright, «Segmentation of Multivariate Mixed Data via Lossy Data Coding and

Page 51: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

Compression,» IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 29, nº 9, pp. 1-

17, 2007.

[15] A. Yang, J. Wright, Y. Ma y S. Sastry, «Unsupervised Segmentation of Natural Images via Lossy

Data Compression,» [En línea]. Available:

http://www.eecs.berkeley.edu/~yang/software/lossy_segmentation/. [Último acceso: 15 Diciembre 2011].

[16] G. Mori, «Sample MATLAB code for computing superpixels,» [En línea]. Available: http://www.cs.sfu.ca/%CB%9Cmori/research/superpixels. [Último acceso: 15 Diciembre 2011].

[17] N. Dalal y B. Triggs, «Histograms of Oriented Gradients for Human Detection,» de International

Conference on Computer Vision and Pattern Recognition, San Diego, 2005.

[18] J. Carrerira, F. Li y C. Sminchisescu, «Object Recognition by Sequential Figure-Ground Ranking,»

International Journal of Computer Vision, 19 Noviembre 2011.

[19] D. Martin, C. Fowlkes y J. Malik, «Learning to Detect Natural Image Boundaries Using Local

Brightness, Color, and Texture Cues,» IEEE Transactions on Pattern Analysis and Machine

Intelligence, vol. 26, nº 5, pp. 530-549, 2004.

[20] D. G. Lowe, «Distinctive Image Features from Scale-Invariant Keypoints,» International Journal of Computer Vision, vol. 60, nº 2, pp. 91-110, 2004.

[21] D. G. Lowe, «Object Recognition From Local Scale-Invariant Features,» de International Conference on Computer Vision, Corfu, 1999.

[22] G. Mori, X. Ren, A. A. Efros y J. Malik, «Recovering Human Body Configurations: Combining

Segmentation and Recognition,» de Computer Society Conference on Computer Vision and Pattern

Recognition , Washington D.C., 2004.

[23] R. Fergus, P. Perona y A. Zisserman, «A Sparse Object Category Model for Efficient Learning and

Exhaustive Recognition,» de International Conference on Computer Vision and Pattern Recognition, San Diego, 2005.

[24] S. Agarwal y D. Roth, «Learning a Sparse Representation for Object Detection,» de European Conference on Computer Vision, Copenhagen, 2002.

Page 52: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

A1. TABLAS DE RESULTADOS AMPLIADOS

A continuación se registran las tablas de resultados ampliados para cada una de las pruebas descritas en

el Capítulo 5. En cada tabla se presentan los resultados para una única medida de similitud. Se muestra

tanto el promedio general de la medida como el promedio para cada persona.

Prueba 1: Algoritmo original. Umbral de color ( ) = 0.3. La cantidad de superpíxeles varía desde

100 hasta 300, con incrementos de 50.

Superpíxeles Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

100 0,8246 0,3425 0,8107 0,6853 0,6099 0,6546

150 0,8372 0,3167 0,8300 0,6519 0,6626 0,6597

200 0,8372 0,3425 0,8113 0,6438 0,6217 0,6513

250 0,8351 0,3450 0,7511 0,6944 0,6247 0,6500

300 0,8386 0,3420 0,7695 0,6094 0,6652 0,6450

Tabla A1.1: Resultados Recall – Prueba 1

Superpíxeles Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

100 0,8823 0,4324 0,7452 0,6019 0,6848 0,6693

150 0,7725 0,4587 0,7805 0,7082 0,7105 0,6861

200 0,8752 0,4247 0,7638 0,7081 0,6891 0,6922

250 0,8250 0,4806 0,7659 0,7215 0,6749 0,6936

300 0,8755 0,4367 0,6986 0,7430 0,6371 0,6782

Tabla A1.2: Resultados Precision – Prueba 1

Superpíxeles Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

100 0,8381 0,3536 0,7801 0,6436 0,6282 0,6487

150 0,8095 0,3478 0,8052 0,6640 0,6639 0,6581

200 0,8451 0,3504 0,7887 0,6578 0,6379 0,6560

250 0,8209 0,3789 0,7400 0,6980 0,6339 0,6543

300 0,8438 0,3486 0,7418 0,6404 0,6492 0,6448

Tabla A1.3: Resultados F2 – Prueba 1

Page 53: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

Prueba 2: Algoritmo original. La imagen es subdividida en 150 superpíxeles. Umbral variable.

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,8434 0,4719 0,7552 0,6406 0,6577 0,6737

0.25 0,8770 0,3985 0,7698 0,6528 0,6767 0,6750

0.3 0,8372 0,3167 0,8300 0,6519 0,6626 0,6597

0.35 0,8784 0,3886 0,6989 0,6507 0,6728 0,6579

0.4 0,8494 0,3861 0,6837 0,6032 0,7027 0,6450

Tabla A1.4: Resultados Recall – Prueba 2

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,7589 0,5505 0,7253 0,6854 0,6312 0,6703

0.25 0,7547 0,5158 0,7351 0,7130 0,6695 0,6776

0.3 0,7725 0,4587 0,7805 0,7082 0,7105 0,6861

0.35 0,7860 0,4705 0,7370 0,6671 0,6832 0,6688

0.4 0,7768 0,4570 0,7376 0,6834 0,7005 0,6711

Tabla A1.5: Resultados Precision – Prueba 2

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,8062 0,4851 0,7393 0,6508 0,6476 0,6658

0.25 0,8231 0,4218 0,7516 0,6663 0,6675 0,6661

0.3 0,8095 0,3478 0,8052 0,6640 0,6639 0,6581

0.35 0,8364 0,4007 0,7015 0,6503 0,6643 0,6506

0.4 0,8160 0,3939 0,6909 0,6194 0,6903 0,6421

Tabla A1.6: Resultados F2 – Prueba 2

Prueba 3: Algoritmo original. La imagen es subdividida en 200 superpíxeles. Umbral variable.

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,7785 0,4824 0,7315 0,6356 0,6219 0,6500

0.25 0,8155 0,4497 0,7466 0,6531 0,6416 0,6613

0.3 0,8372 0,3425 0,8113 0,6438 0,6217 0,6513

0.35 0,8206 0,3425 0,8116 0,6847 0,6263 0,6571

0.4 0,8353 0,3170 0,8438 0,5966 0,6131 0,6411

Tabla A1.7: Resultados Recall – Prueba 3

Page 54: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,8524 0,4897 0,7104 0,6800 0,6487 0,6762

0.25 0,8788 0,4532 0,7357 0,6993 0,6478 0,6830

0.3 0,8752 0,4247 0,7638 0,7081 0,6891 0,6922

0.35 0,8821 0,4324 0,7480 0,6019 0,6678 0,6664

0.4 0,8451 0,4061 0,6697 0,6191 0,6923 0,6465

Tabla A1.8: Resultados Precision – Prueba 3

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,7975 0,4787 0,7179 0,6452 0,6283 0,6535

0.25 0,8335 0,4439 0,7368 0,6628 0,6430 0,6640

0.3 0,8451 0,3504 0,7887 0,6578 0,6379 0,6560

0.35 0,8352 0,3536 0,7818 0,6432 0,6345 0,6497

0.4 0,8271 0,3260 0,7673 0,5767 0,6329 0,6260

Tabla A1.9: Resultados F2 – Prueba 3

Prueba 4: Algoritmo original con modificación en la segmentación por color. La imagen de entrada al

algoritmo de segmentación por color es previamente normalizada en sus componentes RGB. El número

de superpíxeles e igual a 150 y el umbral de color toma tres diferentes valores: 0.2, 0.25, 0.3.

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,8454 0,4662 0,8372 0,7353 0,5961 0,6960

0.25 0,8455 0,4233 0,7584 0,7383 0,6192 0,6769

0.3 0,8822 0,3826 0,7679 0,6406 0,7156 0,6778

Tabla A1.10: Resultados Recall – Prueba 4

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,8870 0,4684 0,7815 0,7229 0,6197 0,6959

0.25 0,8927 0,4433 0,7507 0,7029 0,6302 0,6840

0.3 0,8279 0,4274 0,7579 0,6579 0,6016 0,6545

Tabla A1.11: Resultados Precision – Prueba 4

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,8511 0,4155 0,8123 0,7228 0,5903 0,6784

0.25 0,8528 0,4049 0,7479 0,7167 0,6110 0,6666

0.3 0,8500 0,3769 0,7563 0,6364 0,6390 0,6517

Tabla A1.12: Resultados F2 – Prueba 4

Page 55: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

Prueba 5: Algoritmo original con modificación en la segmentación por color. 150 superpíxeles. La en-

trada al algoritmo de segmentación por color es el mapa de color HSV de la imagen original. El umbral

de color toma 3 valores diferentes: 0.2, 0.25 y 0.3.

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,9002 0,4853 0,7958 0,7406 0,7089 0,7262

0.25 0,8004 0,4300 0,7898 0,7458 0,6954 0,6923

0.3 0,8518 0,4486 0,8387 0,7521 0,7630 0,7308

Tabla A1.13: Resultados Recall – Prueba 5

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,7157 0,4473 0,6742 0,5697 0,5665 0,5947

0.25 0,7005 0,4346 0,7192 0,5825 0,6268 0,6127

0.3 0,7119 0,4232 0,6989 0,5657 0,6311 0,6062

Tabla A1.14: Resultados Precision – Prueba 5

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,8279 0,4716 0,7428 0,6689 0,6399 0,6702

0.25 0,7633 0,4173 0,7512 0,6769 0,6680 0,6553

0.3 0,7992 0,4291 0,7735 0,6679 0,7059 0,6751

Tabla A1.15: Resultados F2 – Prueba 5

Prueba 6: Algoritmo original con modificación en la segmentación por color. Se repite la prueba anterior,

pero esta vez se presenta una variación en el mapa de color, todos aquellos píxeles con una saturación

menor a 0.1 (umbral de saturación US) toman el color de la imagen original en RGB.

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,8803 0,4061 0,7773 0,7461 0,6925 0,7005

0.25 0,8530 0,5365 0,7603 0,7462 0,6696 0,7131

0.3 0,8558 0,5133 0,7652 0,7280 0,6628 0,7050

Tabla A1.16: Resultados Recall – Prueba 6

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,8209 0,4850 0,7005 0,6920 0,6046 0,6606

0.25 0,7439 0,5276 0,7183 0,6903 0,6118 0,6584

0.3 0,7461 0,5212 0,7208 0,6737 0,6120 0,6547

Tabla A1.17: Resultados Precision – Prueba 6

Page 56: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

Umbral Color Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.2 0,8554 0,4286 0,7441 0,7241 0,6582 0,6821

0.25 0,8113 0,5228 0,7380 0,7233 0,6461 0,6883

0.3 0,8141 0,5071 0,7394 0,7057 0,6420 0,6817

Tabla A1.18: Resultados F2 – Prueba 6

Prueba 7: Algoritmo original con modificación en la segmentación por color. Se repite la Prueba 6, pero

esta vez se deja fijo el umbral de color en 0.25 y el umbral de saturación varía entre 0.05, 0.1 y 0.15.

Umbral S Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.05 0,8247 0,5302 0,7500 0,7391 0,6659 0,7020

0.1 0,8530 0,5365 0,7603 0,7462 0,6696 0,7131

0.15 0,9124 0,5511 0,8525 0,7002 0,6194 0,7271

Tabla A1.19: Resultados Recall – Prueba 7

Umbral S Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.05 0,7386 0,5236 0,7347 0,6876 0,6115 0,6592

0.1 0,7439 0,5276 0,7183 0,6903 0,6118 0,6584

0.15 0,7115 0,5596 0,6574 0,6470 0,6164 0,6384

Tabla A1.20: Resultados Precision – Prueba 7

Umbral S Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0.05 0,7912 0,5172 0,7377 0,7178 0,6436 0,6815

0.1 0,8113 0,5228 0,7380 0,7233 0,6461 0,6883

0.15 0,8263 0,5425 0,7648 0,6788 0,6101 0,6845

Tabla A1.21: Resultados F2 – Prueba 7

Prueba 8: Algoritmo original con modificación en la segmentación por color y en la creación del code-

book. Se establece una distancia mínima de 12 píxeles entre cada par de puntos de interés, lo cual supone

un máximo traslape de media OP.

Método Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

HSV-G 0,9071 0,5640 0,7898 0,6918 0,7260 0,7357

RGB-N 0,9094 0,3792 0,8327 0,7318 0,6658 0,7038

Tabla A1.22: Resultados Recall – Prueba 8

Page 57: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

Método Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

HSV-G 0,7474 0,4864 0,6781 0,5753 0,6122 0,6199

RGB-N 0,9538 0,5477 0,7487 0,6872 0,6276 0,7130

Tabla A1.23: Resultados Precision – Prueba 8

Método Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

HSV-G 0,8453 0,5337 0,7439 0,6452 0,6771 0,6891

RGB-N 0,9236 0,3836 0,7997 0,7002 0,6361 0,6886

Tabla A1.24: Resultados F2 – Prueba 8

Prueba 9: Algoritmo original con modificación en la segmentación por color y en la creación del code-

book. Los puntos de interés se obtienen de una grilla uniforme, para ello, se generan 12 filas y 6 columnas de puntos uniformemente distribuidos sobre la imagen. La prueba se ejecuta para dos espacios de color.

Método Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

HSV-G 0,8832 0,8021 0,8317 0,7759 0,8137 0,8213

RGB-N 0,8532 0,8336 0,8499 0,7649 0,8062 0,8216

Tabla A1.25: Resultados Recall – Prueba 9

Método Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

HSV-G 0,5570 0,6180 0,5515 0,5773 0,6610 0,5929

RGB-N 0,7816 0,5462 0,6172 0,6841 0,6165 0,6491

Tabla A1.26: Resultados Precision – Prueba 9

Método Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

HSV-G 0,7379 0,7250 0,6982 0,6945 0,7516 0,7214

RGB-N 0,7967 0,6915 0,7385 0,7293 0,7056 0,7323

Tabla A1.27: Resultados F2 – Prueba 9

Prueba 10: Algoritmo original con modificación en la segmentación por color y en la creación del code-

book. El proceso de clustering se realiza con los descriptores HOG de las objetc parts. Para el cálculo de los descriptores se divide cada OP en 3 bloques horizontales y 3 bloques verticales. Los histogramas son

computados en 9 bins.

Page 58: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

Método Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

HSV-G 0,9194 0,7630 0,8688 0,8008 0,8050 0,8314

RGB - N 0,9217 0,5782 0,9117 0,8408 0,7448 0,7995

Tabla A1.28: Resultados Recall – Prueba 10

Método Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

HSV-G 0,5697 0,6307 0,5642 0,5900 0,6737 0,6056

RGB - N 0,8039 0,5685 0,6395 0,7064 0,6388 0,6714

Tabla A1.29: Resultados Precision – Prueba 10

Método Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

HSV-G 0,7632 0,7131 0,7363 0,7156 0,7559 0,7395

RGB - N 0,8788 0,5749 0,7984 0,7906 0,7058 0,7517

Tabla A1.30: Resultados F2 – Prueba 10

Prueba 11: Algoritmo propuesto. Umbral ME variable. Umbral MA fijo en 0.5. Espacio de color RGB

normalizado. Umbral de color: 0.2.

Umbral ME Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0,6 0,9526 0,8849 0,9487 0,9187 0,8351 0,9080

0,65 0,9535 0,8849 0,9493 0,9185 0,8357 0,9084

0,7 0,9543 0,8740 0,9482 0,9190 0,8446 0,9080

0,75 0,9519 0,8764 0,9480 0,9157 0,8446 0,9073

0,8 0,9487 0,8794 0,9470 0,9160 0,8465 0,9075

Tabla A1.31: Resultados Recall – Prueba 11

Umbral ME Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0,6 0,8984 0,8896 0,9159 0,8907 0,9099 0,9009

0,65 0,8927 0,8893 0,9199 0,8909 0,9089 0,9003

0,7 0,8933 0,8920 0,9160 0,8952 0,9107 0,9014

0,75 0,9046 0,8891 0,9137 0,8764 0,9106 0,8989

0,8 0,8956 0,8880 0,9110 0,8766 0,9094 0,8961

Tabla A1.32: Resultados Precision – Prueba 11

Page 59: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

Umbral ME Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0,6 0,9331 0,8861 0,9371 0,9089 0,8579 0,9046

0,65 0,9316 0,8860 0,9391 0,9089 0,8579 0,9047

0,7 0,9324 0,8793 0,9371 0,9106 0,8649 0,9049

0,75 0,9351 0,8800 0,9361 0,9021 0,8649 0,9036

0,8 0,9297 0,8817 0,9345 0,9023 0,8658 0,9028

Tabla A1.33: Resultados F2 – Prueba 11

Prueba 12: Algoritmo propuesto. Umbral MA variable. Umbral ME fijo en 0.7. Espacio de color RGB

normalizado. Umbral de color: 0.2.

Umbral MA Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0,35 0,9721 0,9182 0,9602 0,9476 0,8741 0,9344

0,4 0,9688 0,9083 0,9583 0,9437 0,8634 0,9285

0,45 0,9662 0,9050 0,9556 0,9374 0,8606 0,9249

0,5 0,9543 0,8740 0,9482 0,9190 0,8446 0,9080

0,55 0,9468 0,8715 0,9427 0,9101 0,8342 0,9011

Tabla A1.34: Resultados Recall – Prueba 12

Umbral MA Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0,35 0,8277 0,8645 0,8600 0,8448 0,9042 0,8602

0,4 0,8477 0,8724 0,8743 0,8654 0,9077 0,8735

0,45 0,8662 0,8731 0,8819 0,8778 0,9087 0,8816

0,5 0,8933 0,8920 0,9160 0,8952 0,9107 0,9014

0,55 0,9062 0,8920 0,9262 0,9034 0,9105 0,9077

Tabla A1.35: Resultados Precision – Prueba 12

Umbral MA Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0,35 0,9180 0,8992 0,9237 0,9103 0,8834 0,9069

0,4 0,9240 0,8957 0,9282 0,9155 0,8773 0,9081

0,45 0,9298 0,8938 0,9294 0,9160 0,8756 0,9089

0,5 0,9324 0,8793 0,9371 0,9106 0,8649 0,9049

0,55 0,9324 0,8775 0,9369 0,9075 0,8575 0,9024

Tabla A1.36: Resultados F2 – Prueba 12

Prueba 13: Eliminación de píxeles a partir de un recorte simple con el modelo umbralizado. Umbral de

eliminación ME variable, desde 0.3 hasta 0.5 con incrementos de 0.05. Espacio de color RGB normaliza-do. Umbral de color: 0.2.

Page 60: SEGMENTACIÓN DE PERSONAS EN IMÁGENES A COLOR …

Umbral ME Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0,3 0,9165 0,7134 0,9007 0,7993 0,7822 0,8224

0,35 0,9130 0,7066 0,9142 0,8112 0,7862 0,8262

0,4 0,9045 0,6972 0,9057 0,8027 0,7690 0,8158

0,45 0,8975 0,6899 0,8998 0,7956 0,7588 0,8083

0,5 0,8774 0,6703 0,8778 0,7743 0,7311 0,7862

Tabla A1.37: Resultados Recall – Prueba 13

Umbral ME Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0,3 0,9358 0,9289 0,9090 0,9037 0,9377 0,9230

0,35 0,9532 0,9150 0,9460 0,9080 0,9554 0,9355

0,4 0,9731 0,9385 0,9525 0,9159 0,9583 0,9477

0,45 0,9582 0,9434 0,9238 0,9224 0,9611 0,9418

0,5 0,9469 0,9092 0,9655 0,9398 0,9692 0,9461

Tabla A1.38: Resultados Precision – Prueba 13

Umbral ME Persona 1 Persona 2 Persona 3 Persona 4 Persona 5 Promedio

0,3 0,9228 0,7732 0,9034 0,8314 0,8280 0,8518

0,35 0,9260 0,7647 0,9246 0,8411 0,8355 0,8584

0,4 0,9263 0,7625 0,9208 0,8372 0,8232 0,8540

0,45 0,9169 0,7578 0,9077 0,8338 0,8161 0,8464

0,5 0,8994 0,7347 0,9052 0,8226 0,7963 0,8316

Tabla A1.39: Resultados F2 – Prueba 13