reconocimiento de imÁgenes a travÉs de su …de imágenes a color y/o en escalas de grises,...

248
PROYECTO FIN DE CARRERA RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU CONTENIDO AUTOR: Antonio Peralta Sáez MADRID, Junio 2009 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO EN INFORMÁTICA

Upload: others

Post on 02-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

 

PROYECTO FIN DE CARRERA

RECONOCIMIENTO DE IMÁGENES A

TRAVÉS DE SU CONTENIDO

AUTOR: Antonio Peralta Sáez MADRID, Junio 2009

 

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

INGENIERO EN INFORMÁTICA

Page 2: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

 

 

   

Autorizada la entrega del proyecto del alumno/a: Antonio Peralta Sáez

EL DIRECTOR DEL PROYECTO Rafael Palacios Hielscher

Fdo.: …………………… Fecha: ……/ ……/ ……

Vº Bº del Coordinador de Proyectos David Contreras Bárcena

Fdo.: …………………… Fecha: ……/ ……/ ……

Page 3: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

RESUMEN 

Los buscadores de imágenes actuales, como Google images, se basan principalmente en el

nombre del archivo que contiene la imagen, en el nombre del enlace y en el texto que aparece

en la página donde se encuentra la imagen. Es decir que la búsqueda se basa en información

de tipo texto y no en información gráfica.

El objetivo de este proyecto es desarrollar algoritmos de tratamiento digital de imágenes

que permitan clasificar fotografías en base al contenido gráfico.

La idea para el desarrollo de este proyecto se basa en la creación de un conjunto de

imágenes para posteriormente segmentar la imagen, y extraer de ella objetos y fondos

conocidos, y clasificarlas de acuerdo a los elementos localizados.

En este proyecto se ha desarrollado tres algoritmos de alto nivel para el

reconocimiento de los siguientes elementos:

Imágenes con cielo. Imágenes con césped. Imágenes con caras.

Para la identificación de los dos primeros casos, se combina la información de dos

algoritmos de más bajo nivel que identifican el color y la textura. Para la identificación

del color, primero se realiza un estudio de las proyecciones RGB y HSV, en el cual se

analiza cual de los dos métodos es más apropiado.

Para la clasificación de un color se calcula el grado de pertenencia de un punto a

funciones de densidad FDP obtenidas experimentalmente a partir de imágenes reales.

Fig 3-Cielo25

Fig 1- Cesped8

Fig 2- Rostro3

Page 4: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

II 

La detección de las texturas se realiza mediante el análisis del histograma de la imagen

en escala de grises.

Por último, el algoritmo localizador de caras, se basa en la identificación previa de

los ojos, donde se aplican restricciones de tipo geométrico. A continuación se intenta

identificar una boca, en la parte inferior de los ojos centrado entre ambos. En caso de

localizar afirmativamente los ojos y la boca, en la geometría apropiada, la respuesta del

algoritmo será afirmativa.

A continuación se muestra algunos resultados obtenidos con los algoritmos cielos y

rostros, tras un análisis completo de la fotografía.

Todos estos algoritmos se desarrollan en matlab, debido a la gran capacidad de

cálculo matricial que ofrece y a la facilidad de trabajo con imágenes gracias a la Image

Precessing Toolbox.

Todos los algoritmos desarrollados han sido evaluados con una librería de imágenes

formada por fotografías de diversos contenidos, iluminación, ubicación geometría, etc.

Fig 5-Resultados del algoritmo

de cielo (verde indica

clasificado como cielo)

Fig 4- Resultado obtenido tras analizar la

fotografía con el algoritmo rotro.

Page 5: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

III 

ABSTRACT 

The current search engine images, such as Google image, base their search on the

file name that contains the picture, link name, or the text of the website in which the

picture appears. In other words, they base their search on text information, and not on

graphic information.

The objective of this project is to develop digital image processing algorithms to

classify pictures in accordance with the graphic information.

The main idea of this project is to create a set of images, segment them, and extract

the familiar objects and backgrounds from the pictures, in order to classify them.

In this project, three high level algorithms have been developed to recognize the

following elements:

Image with sky Image whith grass Image whith face

The information of two low level algorithms, that indentify the color and the

texture, is combined to identify images with sky, and image with grass. A study of the

RGB and HSV projections is carried out to identify the color; this study analyzes which

method, RGB or HSV, is more appropriated.

The grade of membership of a point to a density function FDP (obtained

experimentally throw real images) is calculated to classify the color.

Fig 3-Cielo25

Fig 2- Cesped8

Fig 1- Rostro3

Page 6: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

IV 

The detection of textures is carried out by means of the analysis of the grey scale

image histogram.

Finally, the algorithm that locates faces applies geometric restrictions to identify the

eyes. After identifying the eyes, the algorithmic tries to identify the mouth under the

eyes, and centered between them. In the case of locating the eyes and mouth in the

correct geometry, the algorithm’s answer will be affirmative.

Next, the results of the sky and face algorithms are shown after a complete analysis

of the pictures.

All of these algorithms were developed in Matlab owing to its high capacity of

matrix calculation, and its facility of working with images due to the Image Processing

Toolbox.

Every one of the algorithms has been evaluated using an image library that consists

of pictures of several contents, illumination, geometric location, etc…

Fig 5- Result of sky algorithm

(green means classified as sky)

Fig 4- Result of the face algorithm.

Page 7: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

 

1  Introducción y estado del arte .................................................................... - 1 - 

1.1  Reconocimiento de caracteres. ............................................................... - 3 - 

1.1.1 Introducción .......................................................................................... - 3 - 

1.1.2 Arquitectura de reconocimiento de caracteres manuscritos ................. - 5 - 

1.1.3 Extracción de características ................................................................ - 7 - 

1.1.4 Comparación......................................................................................... - 8 - 

1.1.5 Conclusiones ........................................................................................ - 9 - 

1.2  Reconocimiento de firmas .................................................................... - 10 - 

1.2.1 Introducción ........................................................................................ - 10 - 

1.2.2 Verificación de firma off-line ............................................................. - 11 - 

1.2.3 Descripción del sistema ...................................................................... - 12 - 

1.2.4 Modelos HMM ................................................................................... - 18 - 

1.2.5 Resultados obtenidos .......................................................................... - 19 - 

1.2.6 Conclusiones ...................................................................................... - 21 - 

1.3  Reconocimiento de rostros y expresiones faciales ............................... - 22 - 

1.3.1 Introducción ........................................................................................ - 22 - 

1.3.2 Descripción del sistema ...................................................................... - 22 - 

1.3.3 Programa............................................................................................. - 30 - 

1.3.4 Resultados .......................................................................................... - 31 - 

2 Identificación de necesidades......................................................................... - 33 - 

2.1 Introducción IDN ...................................................................................... - 33 - 

2.2 Documento de concept del sistema............................................................ - 34 - 

2.2.1 Objetivos del sistema .......................................................................... - 34 - 

2.2.2 Alcance del sistema ............................................................................ - 35 - 

2.2.3 Topología de usuario finales .............................................................. - 36 - 

Page 8: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

VI 

2.2.4 Restricciones....................................................................................... - 36 - 

3  Plan de gestión ............................................................................................ - 38 - 

3.1 Descripción general del proyecto ............................................................. - 38 - 

3.2 Diagrama de actividades a realizar .......................................................... - 39 - 

3.3 Descripción detallada de las actividades .................................................. - 40 - 

3.4 Diagrama del equipo de trabajo ............................................................... - 46 - 

3.5 Descripción de actividades de cada integrante......................................... - 47 - 

3.6 Estimación del esfuerzo de cada integrante .............................................. - 51 - 

3.7 Presupuesto ............................................................................................... - 52 - 

3.8 Planificación de las actividades ................................................................ - 53 - 

4 Estudio de arquitectura ................................................................................. - 55 - 

4.1 Introducción E-ARQ .................................................................................. - 55 - 

4.2 Hardware/software del sistema actual ...................................................... - 57 - 

4.3 Especificaciones de las aternativas. .......................................................... - 59 - 

4.4 Evaluación de las alternativas .................................................................. - 65 - 

4.4.1 Evaluación técnica .............................................................................. - 65 - 

4.4.2 Evaluación económica ........................................................................ - 66 - 

4.5 Selección de la alternativa ........................................................................ - 67 - 

5. Reconocimiento de colores ............................................................................ - 69 - 

5.1 Introducción .............................................................................................. - 69 - 

5.2 Modelo RGB .............................................................................................. - 79 - 

5.3 Modelo HSV .............................................................................................. - 81 - 

5.4 Estudio RGB del Cielo .............................................................................. - 83 - 

5.5 Estudio RGB del césped ............................................................................ - 88 - 

5.6 Estudio RGB: cielo vs césped .................................................................... - 92 - 

5.7 Conclusión RGB ........................................................................................ - 96 - 

5.8 Estudio HSV: Cielo.................................................................................... - 98 - 

Page 9: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

VII 

5.9 Estudio HS Césped .................................................................................. - 100 - 

5.10 HS Cielo y Césped ................................................................................. - 101 - 

5.11 Estudio de conflictos ............................................................................. - 102 - 

5.11.1 Conflictos en RGB: interior ........................................................... - 102 - 

5.11.2 Conflictos en RGB: fondo marino .................................................. - 107 - 

5.11.3 Conflictos en HSV: interior ............................................................ - 111 - 

5.11.4 Conflictos en HSV: fondo marino .................................................. - 112 - 

5.12 Elección RGB o HSV ............................................................................. - 113 - 

5.12.1 RGB ................................................................................................ - 114 - 

5.12.2 HSV ................................................................................................ - 117 - 

5.12.3 Conclusión ...................................................................................... - 119 - 

5.13 Descripción del algoritmo. .................................................................... - 120 - 

5.13.1 Algoritmo azul ................................................................................ - 120 - 

1.13.1 Algoritmo verde ............................................................................. - 122 - 

6. Reconocimiento de texturas ........................................................................ - 124 - 

6.1 Introducción ............................................................................................ - 124 - 

6.2 A través de su histograma ....................................................................... - 127 - 

6.2.1 Textura lisa ....................................................................................... - 127 - 

6.2.2 Textura binaria.................................................................................. - 135 - 

6.2.3 Textura rugosa .................................................................................. - 142 - 

6.3 Descripción del algoritmo textura........................................................... - 149 - 

6.4Texturas a través de la función statxture[F1] ......................................... - 153 - 

6.4.1 Textura lisa ....................................................................................... - 154 - 

6.4.2 Textura binaria.................................................................................. - 155 - 

6.4.3 Textura rugosa .................................................................................. - 156 - 

7. Análisis combinado de color y texturas ..................................................... - 158 - 

7.1 Descripción del algoritmo reconocimiento de cielo ............................... - 159 - 

Page 10: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

VIII 

7.2 Descripción del algoritmo para reconocimiento de césped. ................... - 161 - 

8. Detector caras .............................................................................................. - 163 - 

8.1 Introducción ............................................................................................ - 163 - 

8.2 YCbCr ...................................................................................................... - 164 - 

8.3 Descripción algoritmo implementado ..................................................... - 166 - 

8.3.1 Función rostro. .................................................................................. - 166 - 

8.3.2 Función ojos ..................................................................................... - 167 - 

8.3.3 Función labio .................................................................................... - 170 - 

8.3.4 función Localizador (basado en geometrías) .................................... - 173 - 

9. Pruebas ......................................................................................................... - 179 - 

9.1 Evaluación del algoritmo de detección de cielo...................................... - 179 - 

9.2 Evaluación del algoritmo de césped ....................................................... - 182 - 

9.3 Pruebas del algoritmo de identificación textura ..................................... - 185 - 

9.4 Detalles de evaluación del algoritmo de reconocimiento de cielo .......... - 187 - 

9.5 Pruebas algoritmo reconocimiento ......................................................... - 193 - 

Conclusiones ..................................................................................................... - 198 - 

Algoritmos cielo y césped .............................................................................. - 198 - 

Algoritmo de detección de rostros ................................................................. - 199 - 

Bibliografía ....................................................................................................... - 200 - 

Definiciones e imagenes ................................................................................ - 200 - 

Libros de consulta ......................................................................................... - 202 - 

Anexo A. Biblioteca imágenes cielo. ............................................................... - 203 - 

Anexo B. Biblioteca imágenes césped. ........................................................... - 211 - 

Anexo C. Biblioteca imágenes interior. ......................................................... - 216 - 

Anexo D. Biblioteca imágenes submarinas ................................................... - 220 - 

Anexo E. Biblioteca imágenes rostros. ........................................................... - 222 - 

Anexo F. Código del algoritmo cielo .............................................................. - 228 - 

Page 11: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

IX 

Anexo G. Codigo del algoritmo reconocimiento de caras. ........................... - 233 - 

Page 12: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

1 Introducción y estado del arte 

Los buscadores de imágenes actuales, como Google images, se basan principalmente en el

nombre del archivo que contiene la imagen, en el nombre del enlace y en el texto que aparece

en la página donde se encuentra la imagen. Es decir que la búsqueda se basa en información

de texto y no en información gráfica.

En la actualidad, Google está desarrollando algoritmos basados en el contenido de las

imágenes reconociendo formas y analizando su parecido, para ello centran en un subconjunto

de las imágenes que Google ha catalogado, ya que el análisis y comparación de imágenes

digitales requiere de un coste computacional tremendo. Realizar esta labor para todas las

imágenes indexadas por el buscador sería una tarea casi imposible, a día de hoy.

El campo del procesamiento de imágenes está continuamente evolucionando.

Durante los últimos años ha habido un incremento significativo en el interés en

campos como morfología de imágenes, redes neuronales artificiales, procesamiento

de imágenes a color y/o en escalas de grises, compresión de datos de imágenes,

reconocimiento de imágenes y sistemas de análisis de imágenes basados en

conocimiento.

El reconocimiento es un atributo básico del ser humano, así como de

otros organismos vivos. Este reconocimiento es generado normalmente por medio de

patrones.[D1]

Entre las principales aplicaciones del reconocimiento de formas cabe destacar

las siguientes:

• Reconocimiento de caracteres. [D2]

• Análisis de documentos.

• Reconocimiento de firmas.[D3]

• Reconocimiento de huellas dactilares.

• Reconocimiento de piezas industriales.

• Reconocimiento de texturas.

• Detección de defectos para control de calidad.

Page 13: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

• Reconocimiento de rostros y expresiones faciales.[D4]

A continuación se muestran a modo de introducción y de forma breve algunos

estudios realizado sobre estos temas. Estos mismos estudios sirven para visualizar como

se encuentra el estado del arte sobre estos temas en la actualidad.

Page 14: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

1.1 Reconocimiento de caracteres. 

1.1.1 Introducción  

[D2] En la actualidad el desarrollo de sistemas de reconocimiento de escritura es

realizado casi en su totalidad, por empresas comerciales, quienes proponen el uso de

estilos de escritura predeterminados para que el reconocimiento sea válido, requiriendo

para ello del aprendizaje del estilo por parte del dibujante. Con lo mencionado

anteriormente se pretende hacer notar que los problemas en el área del reconocimiento

de escritura son numerosos, basta con que dos dibujantes distintos escriban la misma

palabra para comprobar que hay varias características que varían y que es preciso

considerar para lograr el reconocimiento. Por esto, el involucrar diversos algoritmos de

segmentación y extracción de características se vuelve necesario, sin embargo esto

mismo ocasiona un incremento considerable en el trabajo y en la experiencia requerida

para darle solución.

El estudio en ésta área no es algo reciente, ya desde los años setenta se han

realizado trabajos al respecto, y alrededor del mundo hay muchas personas dedicadas a

investigar un pequeño aspecto sobre el reconocimiento de caracteres, ya sea sobre

segmentación, reconocimiento de patrones, contexto, semántica, etc., entre muchas otras

áreas, que pueden a su vez dirigirse hacia alfabetos de distintos idiomas. En el idioma

español se han desarrollado pocos trabajos de este tipo, ya que la gran mayoría de las

soluciones comerciales se encuentran en inglés. El tema es extenso, pues comprende

desde la captura de la escritura, el estudio o diseño de los medios electrónicos para

realizarla, el análisis de los datos y la comunicación con el dibujante por medio de la

programación de interfaces, hasta la validación y comprobación de los resultados.

Considerando que existe una gran cantidad de métodos para realizar cada parte del

proceso, según el enfoque dado, se requiere sin duda del trabajo en equipo no sólo de

ingenieros, sino de personas de diversas disciplinas especializadas en áreas

relacionadas.

A continuación se describe un sistema de reconocimiento de caracteres por

regiones, en particular las cinco vocales. La captura se realiza mediante una tableta

Page 15: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

digitalizadora, y los trazos de la escritura se guardan como imágenes en formato bmp. El

algoritmo se basa en una estrategia por regiones en el dominio de la imagen y brinda al

escritor/dibujante una mayor facilidad en la escritura, en cuanto a que se respeta la

personalidad de ella, pues no se requiere del uso de un estilo predeterminado. Los

resultados de la evaluación preliminar del algoritmo propuesto, sobre una pequeña base

de datos, mostraron una alta tasa de reconocimiento para las diferentes vocales. Con la

finalidad de situar el algoritmo propuesto dentro del contexto de la arquitectura general

de un sistema de reconocimiento de caracteres manuscritos. El diseño e implementación

del algoritmo, así como los resultados de la evaluación de su desempeño se presentan a

continuación.

Page 16: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

 

1.1.2 Arquitectura de reconocimiento de caracteres manuscritos 

La arquitectura de un sistema de reconocimiento de escritura manuscrita abarca

desde la captura de la imagen inicial de la escritura, hasta el reconocimiento de la

misma. El sistema se puede dividir de manera general en las secciones de pre-

procesamiento, reconocimiento, y post-procesamiento, tal como se encuentran divididos

la mayoría de los sistemas de reconocimiento de la escritura manuscrita. El diagrama de

la arquitectura para el reconocimiento de la escritura se muestra en la Fig. 1.

Fig 6- Diagrama a bloques del sistema

El proceso inicia con la adquisición de los datos mediante una tableta

digitalizadora. El escritor/dibujante utilizó la pluma incorporada y una interfaz gráfica

hecha en Matlab, con lo cual se obtuvieron trazos de hasta seis pixeles de ancho,

guardados como imágenes en formato bmp. El siguiente paso del proceso es el

preprocesamiento de la señal, que consiste de varias etapas. La señal de información

puede ser amplificada y filtrada para corregir defectos como la atenuación o el ruido. La

siguiente etapa de adecuación, a nivel píxel, puede incluir tratamientos tales como

adelgazamiento (thinning), suavizado (smoothing), esqueletonización (squeletonizing),

vectorización, etc. La aplicación de estos procesos se considera parte del pre-

procesamiento de la escritura, el cual incluye también a la segmentación. En este

sistema propuesto, solo se requirió de adelgazamiento y corrección de inclinación.

Page 17: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

La segmentación de la escritura se realiza antes de la aplicación de los algoritmos

de reconocimiento, y se divide en dos tipos: externa e interna. En la segmentación

externa se realiza la separación de unidades de escritura, tales como caracteres o

palabras. Dado que varias letras pueden escribirse con un solo trazo en la escritura

cursiva, se requiere de algún reconocimiento previo a la separación. A este tipo de

segmentación que requiere reconocimiento se le llama segmentación interna. El sistema,

utiliza tanto segmentación externa, como interna. La segmentación externa, es útil para

separar en caracteres las palabras formadas por la unión de entre dos a seis vocales. El

método consiste en el barrido de la imagen de la palabra, para la determinación de

puntos máximos y mínimos. Además de secuencias de puntos mínimos, que indican la

presencia de un enlace, el cual es analizado para lo obtención del un corte central, que

separa a la vocal anterior de la siguiente. Aquí este tipo de segmentación es requerida,

debido a que la escritura analizada es enlazada y el reconocimiento se realiza carácter

por carácter, con la finalidad de que el diccionario sea reducido (sólo los caracteres del

abecedario).

Page 18: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

 

1.1.3 Extracción de características 

Las características extraídas de la imagen del carácter una vez aislado (después de

la segmentación), se basan en el análisis de la matriz que lo representa. Las primeras

características extraídas son las variaciones que la vocal presenta en las regiones

superior, inferior, izquierda y derecha. Estas variaciones se obtienen de las vocales

prototipo y se guardan como cinco funciones para cada región. Esas veinte funciones

forman parte de la base de datos, con la que posteriormente las funciones que genere la

vocal prueba (vocal desconocida) serán comparadas. Imágenes de vocales prototipo y

las funciones superiores generadas para cada imagen se muestran en la Fig. 2.

Una vez obtenidas todas las funciones para el carácter prueba (desconocido), se

realiza un proceso de normalización, que consiste en un ajuste de estas funciones,

debido a que su tamaño varía, además de que puede posicionarse en cualquier zona del

área de escritura. Es necesario entonces un proceso de escalamiento y alineación. La

alineación obtiene el inicio de la función prueba con lo cual se recorre la función de tal

forma que comience en la misma posición que los caracteres prototipo. El siguiente

paso es el escalamiento, que obtiene la longitud de la función prueba en x y en y, y

calcula los factores de escalamiento fx=drx/dpx y fy=dry/dpy, en donde drx y dry, dpx y

dpy son las máximas longitudes en x y en y de la función prototipo y prueba

respectivamente. Esos factores permitirán el escalamiento de la función prueba al

Fig 7-Imágenes prototipo y funciones superiores.

Page 19: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

tamaño de la función prototipo. Con los procesos anteriores se pretende que la función

que se obtenga de la prueba sea lo más cercano a las características del prototipo

(tamaño y posición), de tal forma que al comparar sea más fácil el reconocimiento. Un

resultado de esa normalización se muestra en la Fig. 3.

Una vez obtenidas las funciones normalizadas, se sigue con la extracción de

características por regiones del carácter, cortes, ancho, puntos máximos, puntos

mínimos, densidad, inclinación, posición de inicio, posición de fin, características con

las que se forman vectores con parámetros ordenados, que se extraen tanto para los

caracteres prototipo, como para los prueba. Todos estos parámetros son obtenidos por

barridos optimizados sobre la imagen.

1.1.4 Comparación

Finalmente la comparación se realiza calculando las distancias geométricas entre el

vector obtenido para el carácter a reconocer y cada uno de los de la base de datos de

prototipos. Al obtener dichas distancias, se observa cual es la mínima y el carácter

prototipo relacionado con esa distancia mínima es asignado como el carácter

reconocido.

Fig 8- Normalización

Page 20: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

 

1.1.5 Conclusiones 

Para un buen reconocimiento de la escritura manuscrita se requiere del estudio de

una gran cantidad de variables. Aquí se ha descrito de manera general las funciones de

los diferentes elementos que conforman a un sistema de reconocimiento de escritura

manuscrita. De manera particular, se aboca a la problemática de reconocimiento de

caracteres manuscritos, y se propone un algoritmo sencillo para el reconocimiento de

vocales. El algoritmo está basado en una estrategia por regiones en el dominio de la

imagen. Los resultados de la evaluación preliminar del algoritmo arrojaron una tasa de

reconocimiento de las vocales superior al 97% lo que hace al algoritmo propuesto un

buen candidato para una aplicación real. Es importante mencionar que el algoritmo se

probo con una pequeña base de datos y que restaría entonces validar los resultados con

una base de datos más grande.

Page 21: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

10 

1.2 Reconocimiento de firmas 

1.2.1 Introducción 

[D3] En la sociedad actual, la seguridad se ha convertido en un tema prioritario. A

fin de garantizar la protección de los sistemas frente a una mala utilización voluntaria,

es necesario realizar un proceso de identificación y verificación de la identidad de cada

persona de modo seguro, pero a la vez sencillo y natural.

La Biometría facilita la identificación de cada individuo de forma unívoca mediante

la medición de diferentes características personales e intransferibles. Estas

características individuales pueden clasificarse entre características físicas, como por

ejemplo la huella dactilar, el iris o la retina; y características del comportamiento, como

la forma de hablar, escribir, firma o teclear.

Existe aún cierto reparo en la sociedad frente a los sistemas de identificación

biométrica basados en características físicas como las huellas, el iris o la retina, ya que

son asociados con cuestiones penales. En cambio, los sistemas basados en el

comportamiento, aunque proporcionan menor fiabilidad que los anteriores, son mejor

aceptados socialmente.

La Universidad Politécnica de Madrid, la Universidad Politécnica de Cataluña, la

Universidad de Valladolid y la Universidad del País Vasco participan conjuntamente, a

través de diferentes grupos de investigación en el Proyecto de Investigación titulado

“Aplicación de la Identificación de Personas mediante Multimodalidad Biométrica en

Entornos de Seguridad y Acceso Natural a Servicios de Información”. El primer

resultado de este esfuerzo común ha sido la creación de una Base de Datos Biométricos

Multimodal, que consta de huellas digitales, firmas manuscritas y voz, y que sirve de

base para el resto de tareas de investigación de los grupos participantes. El presente

artículo es consecuencia de los trabajos de investigación posteriores sobre firma

manuscrita a partir de dicha base de datos.

Page 22: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

11 

1.2.2 Verificación de firma off­line 

El uso de la firma manuscrita como modo de identificación está muy arraigado y

goza d una aceptación social: firmamos con frecuencia para mostrar conformidad con el

contenido de documentos o para autorizar transacciones comerciales.

La verificación de las firmas se limita normalmente a una inspección visual, como

si se tratara de la comparación de dos fotos, pero este método no es eficaz frente a

falsificadores y en la mayoría de las ocasiones no se lleva a cabo proceso de

verificación alguno. La autorización de la verificación de firmas manuscritas puede

proporcionar la solución adecuada para evitar posibles fraudes.

La tecnología biométrica de verificación automática de firmas manuscritas se

compone de dos áreas principales de investigación dependiendo del método de

adquisición de los datos. La primera de ellas se refiere a la firma manuscrita on-line o

dinámica, en la que se captura sobre una tableta digitalizadora la ejecución completa de

la firma. La otra área hace referencia a la verificación de firmas off-line o estáticas. De

la firma manuscrita sólo está disponible su forma gráfica en un documento escrito que

es escaneado para obtener la representación digital de la imagen. Los sistemas on-line

cuentan con mayor información que los sistemas off-line, ya que, además de la imagen

2D de la firma, conocen sus parámetros dinámicos con el tiempo de adquisición,

velocidad, presión, inclinación del bolígrafo, etc., lo cual los hace a priori más atractivos

desde el punto de la investigación.

En este artículo se presenta un sistema de verificación de firmas off-line basado en

técnicas dinámicas, con el objetivo de acercar ambas áreas de investigación, probando la

viabilidad de la aplicación a la firma off-line de métodos empleados habitualmente en

sistemas dinámicos.

Page 23: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

12 

1.2.3 Descripción del sistema 

A continuación se hace una descripción de los módulos esenciales del sistema de

verificación off-line: adquisición de firmas, base de datos, preprocesado, entrenamiento

de los modelos, verificación y selección de umbrales.

A. Adquisición de firmas manuscritas

La captura de las firmas manuscritas se realiza de manera dinámica

mediante una tableta digitalizadora Intuos A6 de WACOM y el lápiz Intuos

Inking Pen. El lápiz permite firmar igual que con un bolígrafo convencional,

con lo cual se dispone de una versión en papel de todas las firmas manuscritas

digitalizadas en la base de datos.

El área activa de la tableta posee una resolución de 100 puntos por

milímetro y captura coordenadas x-y, presión, inclinación y acimut a una

frecuencia de 100 muestra por segundo. Todos los datos capturados de la firma,

tanto puntos con presión o pen down, como puntos sin presión o pen ups, son

almacenados en ficheros de la base de datos de firmas manuscritas dinámicas.

Por otro lado, se almacenan las ejecuciones de cada firma en formato papel

para su posterior proceso de escaneado.

Fig 9- Firma propia del usuario9

El proceso de escaneado a 600 puntos por pulgada ópticos, no

interpolados, genera el formato gráfico estático u off-line de las firmas. La

figura 4 representa un ejemplo de una firma propia en formato estático.

Page 24: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

13 

B. Base de datos e firmas

El sistema parte de una base de datos de firmantes, de cada uno de los

cuales se dispone de 25 firmas propias y de 25 falsificaciones de 5 impostores,

ya que cada firmante actúa también de impostores proporcionando 25

falsificaciones, 5 de cada uno de los 5 firmantes inmediatamente anteriores a él

en la base de datos.

Las falsificaciones almacenadas en la base de datos son de tipo entrenadas

o skilled forgery,ya que cada impostor repite varis veces las firmas de la

víctima, hasta considerar su imitación lo suficientemente buena, antes de que

dicha falsificación sea adquirida y almacenada definitivamente. Con el ánimo

de mejorar aún más la calidad de las falsificaciones se ha estimulado a los

participantes con un premio. Todo esto hace que la calidad de las

falsificaciones se alta.

La base de datos de firmas manuscritas se crea con un conjunto de

subcorpora independientes, uno por cada equipo de trabajo participante en el

proyecto de investigación, de 75 firmantes enlazados en una cola circular. El

subcorpus utilizado en este trabajo ha sido adquirido en la Escuela de

Ingenieros de Bilbao.

C. Preprocesado de las firmas

La ejecución de una firma nunca es idéntica a otra previa ya que depende

de muchos factores, como puede ser el tamaño, la zona de la tableta donde se

adquiere, etc. Por ello se realiza un preporcesado para obtener la representación

de la firma independientemente de dichos factores.

La segmentación de cada firma manuscrita requiere extraer la firma

estática y off-line del fondo en la imagen electrónica obtenida tras el

escaneado. Pare ello, es posible utilizar diferentes operaciones morfológicas

[I107], no teniendo en cuenta el factor de la rotación de las firmas.

Este trabajo se centra en los aspectos posteriores a esta etapa de

segmentación, ya que a través de la información capturada con la tableta de

digitalización, se pueden sintetizar la imagen de la firma independiente del

fondo, eliminando cualquier rasgo dinámico de la misma. A partir de la

Page 25: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

14 

información estática de la firma, es decir, los puntos considerados como pen

downs o con tinta de la misma, se genera artificialmente un fichero con la

información gráfica o imagen de la firma manuscrita.

Las imágenes extraídas del fondo de las firmas se normalizan a unas

dimensiones máximas de 512 píxeles de ancho por 256 de alto y son

justificadas al centro de dichas dimensiones. Las firmas con tendencia

horizontal presentan líneas vacías y las de tendencia vertical columnas vacías.

Fig 10-Firmas propias de los usuarios 9 y 28 normalizadas

Cada una de las imágenes así generadas, guarda su propia escala de

conversión de píxeles a milímetros y la relación de aspecto es siempre de 2:1,

véase la figura 5.

Estos ficheros gráficos contienen únicamente la información gráfica 2D

estática de cada firma, ya que se ha eliminado cualquier parámetro temporal, de

inclinación o de presión obtenidos durante la captura.

Partiendo de la imagen de la firma se realiza el último paso del

preporcesado, el relativo al seguimiento del contorno de la imagen de la firma.

A través del estudio de la conectividad se analizan las estructuras blob que

conforman la imagen de la firma. Un blob representa una estructura continua

identificable en una imagen por ser de un color distintivo de su fondo.

El conjunto de blobs, resultado de la conectividad, incluye información de

los ejes de inercia, el centro de gravedad, los puntos del perímetro, etc. de cada

blob. Además de dichos datos es posible conocer la estructura jerárquica que

relaciona cada blob de la imagen con el resto de blobs mediante su ralación de

parentesco.

Page 26: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

15 

Fig 11- Blobs de la firma ejemplo presentada en la Fig. 2

En la figura 6 se incluyen en azul los blobs pieza o hijos del fondo de la

imagen y en rojo los blobs hijo dependientes de los anteriores. En el ejemplo se

observan cuatro blobs pieza, uno principal y otro tres de menor tamaño

correspondientes a las letras “b” e “i” que se representan aisladas en la imagen

de la firma.

Las cadenas de puntos (x, y) del perímetro de blobs, tanto piezas como de

sus hijos, que conforman la imagen constituyen la información biométrica

relevante en este trabajo. Dicha cadena de puntos (x, y) se recorre en sentido

horario partiendo del punto situado más arriba en la imagen.

D. Entrenamiento del sistema

Un sistema de verificación de firmas requiere un proceso de entrenamiento

de modelos representativos de las firmas que se desea verificar. Los modelos

utilizados en este trabajo se denominan modelos ocultos de Markov o HMM

(Hidden Markov Models).

Un modelo HMM es por definición un autómata de estados finitos

estocásticos, a través del cual se representa a una señal estocástica cuyas

características estadísticas varían a lo largo del tiempo, mediante una secuencia

de estados.

Los modelos HMM se utilizan mayoritariamente para el reconocimiento

de la voz, representada como una secuencia de muestras ordenadas en el

tiempo campo en el que han demostrado una alta eficiencia. También

comienzan a usarse en otros campos como es el reconocimiento de imágenes.

Page 27: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

16 

En este trabajo se utiliza como secuencia de muestras para el

entrenamiento de los modelos, la cadena de puntos del perímetro (x, y) de los

blobs que conforman la imagen de las firmas propias listadas anteriormente.

El entrenamiento del modelo HMM de cada firmante se realiza a partir de

las versiones 00, 01, 02, 03, 04, 05, 10, 15, 20 de sus firmas originales, las 5

primeras se utilizan para inicializar el modelo, mientras que el proceso de

reestimación se realiza con el conjunto de las nueve firmas.

La topología del modelo HMM que proporciona un mejor comportamiento

es la denominada como izquierda – derecha o left – right (L-R) de 6 estados, en

el que los estados inicial y final no se comportan como los otros cuatro estados

intermedios del modelo, estados activos del mismo.

E. Verificación y Selección del Umbral

Una vez obtenidos los modelos HMM de cada firmante, el proceso de

verificación consiste en calcular el dato de similitud entre el modelo y firma a

verificar. A partir de dicho valor de similitud es posible determinar si la firma

verificada fue ejecutada por un usuario impostor o por el propio firmante.

La decisión se fundamenta en la utilización de un valor umbral, el cuál se

obtiene a partir de las curvas DET (Detection Error Tradeoff). Esta curva

permite representar los datos relativos a las tasas de error que permiten calibrar

la calidad o nivel de seguridad del sistema de verificación, la tasa FAR (False

Acceptance Rate) y la tasa FRR (False Reject Rate).

Para la obtención del umbral en el que el comportamiento de ambas tasas

es óptimo es posible priorizar una de ellas, lo que implica empeorar la otra,

para ello se utiliza una función coste:

DCF = Cmiss x Pmiss x Ptrue + Cfa x Pfa x Pfalse.

Siendo Cmiss la constant de la ponderación de un falso rechazo, Cfa la

ponderación de una falsa aceptación, Ptrue la probabilidad a priori y Pfalse, su

complementación (1-Ptrue).

Page 28: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

17 

La tasa de error EER (Equal Error Rate) o tasa de equierror

correspondiente al punto en que FAR y FRR coinciden, por lo que permite

conocer el mejor funcionamiento mutuo de ambas tasas de error.

El cálculo de las curvas DET se realiza a través del software de libre

distribución del NIST [I110] y mediante sus coeficientes estándar. Los valores

estándar de los coeficientes se corresponden con los siguientes valores:

Cmiss = 10, Cfa = 1 y Ptrue = 0.01 lo que provoca que se priorice

fuertemente el valor de la tasa FAR frente al de la tasa FRR.

Page 29: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

18 

1.2.4 Modelos HMM 

Para la verificación de las firmas estáticas u off-line se parte de la secuencia de

puntos de los perímetros de los blobs que conforman la imagen de la firma. Dicha

secuencia de puntos aunque no están presentadas en función del tiempo, permiten

aplicar los modelos HMM, técnica dinámica de reconocimientos, a la verificación de

firmas off-line.

Se utilizan dos posibles ordenamientos para las cadenas de puntos del perímetro de

los blobs de una firma, el ordenamiento por tamaño (TAM) y el ordenamiento según la

distribución Izquierda-Derecha (ID) de los blobs de la imagen de la firma. El

ordenamiento ID prioriza a los blobs situados en posición arriba – abajo / izquierda –

derecha, adecuada para la escritura latina en la que se han capturado las firmas. Para el

ordenamiento por tamaño, se prioriza a los blobs de mayor tamaño frente a los menores.

Para ambos ordenamientos la generación de la secuencia de puntos del perímetro, a

utilizar en el entrenamiento de modelos y la verificación de las firmas, se realiza como

la concatenación de las cadenas de puntos de los perímetros de los blobs ordenados. Se

concatenan los puntos del blob pieza que es su padre, tras los cuales se insertan los

puntos del siguiente blob pieza e hijos según el orden utilizado.

Para cada ordenamiento, TAM e ID, se genera un modelo HMM representativo de

las firmas propias de cada firmante según el ordenamiento utilizado.

Fig 12- Ordenamiento según ID (escala x 2)

Una misma imagen de firma proporciona las mismas estructuras blob, por lo que la

diferencia viene representada por la ordenación de los puntos del perímetro de los

Page 30: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

19 

mismos. En la figura 7 se observa la ordenación TAM frente a la ordenación ID que se

presenta en la figura 3. Ambas figuras incluyen una numeración creciente entre los

blobs hijos de la imagen en función del ordenamiento utilizado.

1.2.5 Resultados obtenidos 

Se presentan los resultados de la calidad del sistema de verificación de firmas off-

line a través de las tasas de error medias obtenidas para todos los firmantes de la base de

datos, mediante los dos modelos HMM generados por usuario, el modelo TAM y el

modelo ID.

Tabla 1- Resultados para Tasa de Equierror para Skilled forgeries

El sistema de verificación proporciona un resultado de la tasa de equierror EER

levemente mejor para el ordenamiento ID de los puntos del perímetro de blob. conocida

la naturaleza entrenada de las falsificaciones verificadas una tasa de equierror cercano al

30 % es óptimo.

El valor de la tasa EER se representa por un punto curva DET representada en la

figura 8, el cual corresponde al mejor comportamiento mutuo de las tasas de error FAR

y FRR obtenidas en el proceso de verificación.

Page 31: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

20 

Fig 13-Curva DET firmante 33

Mediante la presentación de la curva DET se puede observar el comportamiento

relativo de las tasas FAR (eje x) y la tas FRR (eje y), en el que cuando una aumenta la

otra disminuye y viceversa. Los valores óptimos de ambas tasas para los ordenamientos

TAM e ID y firmas falsificadas entrenadas se presentan a continuación:

Tabla 2- Resultados para Skilled Forgeries

En la tabla 2 se presentan los valores medios de las tasas de error obtenidas para los

75 firmantes de la base de datos, mediante la utilización de los coeficientes estándar de

NIST. Se obtiene una tasa de falsa aceptación FAR cercana al 0 %. Lo que provoca un

rechazo de todas las falsificaciones, frente a una tasa FRR elevada, lo que proporciona

un rechazo de las firmas propias de los firmantes. En casos particulares de firmas

estables difíciles de falsificar, como en el caso del usuario 13 se observa un valor FAR

igual a 0 y un valor de FRR de 12.5%.

Page 32: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

21 

A partir de otros valores de coeficientes distintos a los estándares de NIST y

conociendo el ERR, que es invariante, FRR ajustándolos a las necesidades de las

aplicación.

El ordenamiento de los puntos del perímetro de los blobs mediante la distribución

ID, es decir, el ordenamiento basado en la escritura latina, proporciona un mejor

rendimiento del sistema.

1.2.6 Conclusiones 

Se ha desarrollado un sistema de verificación de firmas off-line basado en HMM

que ha sido probado sobre una base de datos de skilled forgerys.

Se obtienen mejores resultado con modelos en los cuales los blobs se ordenan de

arriba-abajo e izquierda-derecha que en modelos con blobs ordenado por tamaños, de

mayor a menor.

Page 33: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

22 

1.3 Reconocimiento de rostros y expresiones faciales 

1.3.1 Introducción 

[D4] Desde la percepción del ser humano, la forma más sencilla de reconocer

personas es a través del rostro, ya que este tiene características únicas como distancia

entre los ojos, anchura de la nariz, forma de la barbilla, pómulos, forma de la boca, etc.

El presente apartado describe un sistema computacional de seguridad basado en el

reconocimiento de rostros, que explota las características anteriormente mencionadas.

En el presente proyecto se ha desarrollado un procedimiento de detección de caras

como parte de algoritmos de clasificación de imágenes.

1.3.2 Descripción del sistema 

El sistema estudiado está conformado por un programa desarrollado en MATLAB y

por una parte de hardware. Esta última es conformada por una computadora conectada a

una cámara web para poder capturar las imágenes de los rostros de diferentes personas.

La cámara web estará colocada sobre un soporte, el cual a su vez tendrá una base donde

la persona colocará el rostro para que la cámara web pueda capturar la imagen

respectiva. El diseño consiste en una caja, donde se encontrará la cámara web en un

extremo y en el otro el soporte del rostro. Además se colocará una lámpara fluorescente

en la parte superior para asegurar una adecuada iluminación. El esquema de la base

propuesta se muestra en la Fig. 9.

Page 34: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

23 

Fig 14- Base para la captura de imágenes

En la parte de software, se ha implementado un algoritmo que permite segmentar

las imágenes capturadas para obtener únicamente la imagen del rostro de esa forma se

descarta información de otro tipo que puede ser no relevante para los objetivos del

programa. Posteriormente, se procede con la descomposición de las imágenes para

luego aplicarles la técnica de Análisis de Componentes Principales, con lo cual

finalmente se procede a realizar el reconocimiento. A continuación se explicarán los

temas involucrados para la realización del algoritmo y posteriormente los pasos que se

siguieron para la implementación del programa.

1. Segmentación de imágenes

Una vez que la imagen es capturada con la cámara web, se procede con el algoritmo

de segmentación, el cual está basado en las proyecciones de las derivadas de las filas y

columnas de los valores de la imagen.

Previamente, se le aplica el filtrado de mediana a la imagen, para quitar el ruido y

suavizar la imagen. Luego se procede a recuantizar la imagen a dos bits, para que los

cambios sean más bruscos y de esta manera las derivadas se detecten mejor. Luego, se

obtiene el negativo de la imagen recuantizada para que el fondo y todo elemento no

perteneciente al rostro sea oscuro y facilitar la segmentación (ver Fig. 10).

Page 35: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

24 

Fig 15- (a) Imagen capturada después de aplicar el filtrado de mediana. (b) Imagen recuantizada

a dos bits. (c)

De la imagen negativa, se obtienen los vectores Pv(n) y Ph(n), que son las

proyecciones de las columnas y las filas, respectivamente (ver Fig. 11). Como cada fila

y columna tiene información de los valores de los píxeles, las proyecciones tienen la

información de los píxeles de toda la imagen. A estos vectores se les calcula la derivada

para poder ver los cambios de estos valores, es decir, cambios de tonalidades en la

imagen.

A partir de de Ph(n) y Pv(n), se obtienen las derivadas Ph’(n) y Pv’(n) (ver Fig. 12).

, donde “n” es el índice que corresponde a cada elemento que contienen los vectores.

Fig 16- Proyecciones de filas y columnas

Page 36: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

25 

Fig 17- Derivada de las proyecciones de filas y columnas, respectivamente

Para las columnas, se obtiene el valor máximo, que indica la primera variación de

tonalidad. Este valor se va a usar para segmentar la imagen en el eje vertical. El valor

máximo de Pv’(n) puede ser expresado como :

Pv’max = Pv’(nmax) (1)

donde:

Pv’(nmax) > Pv’(n) para todo n ≠ nmax (2)

El valor “nmax” es el índice del valor máximo del vector. De la misma forma,

“nmin” es el índice del valor mínimo del vector.

Luego se procede a calcular el valor :

Lp = N – nmax (3)

Donde “N” es el número de columnas de la imagen y “Lp” el valor equivalente al

número de columnas posteriores al valor máximo.

Luego se procede a calcular el vector Pv1’(n), el cual contendrá los valores de las

proyecciones posteriores al valor máximo. De manera similar, se calcula el vector

Pv2’(n). Este vector contiene los valores de Pv1’(n) desde la mitad hasta el último

Page 37: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

26 

valor, ya que en este tramo se encuentra el valor mínimo, el cual indica la segunda

variación de tonalidad. Con estos valores, se procede a segmentar la imagen. El

procedimiento matemático se puede expresar como :

Pv1’(n) = Pv’(n + nmax) n = 0, 1, …., Lp - 1 (4)

Pv1’(n) = Pv’(n + nmax) n = 0, 1, …., Lp - 1 (5)

Pv2’(n) = Pv1’(Lp/2 + n) n = 0, 1, …., Lp/2 - 1 (6)

Pv2’min = Pv2’(nmin) (7)

donde:

Pv2’(nmin) < Pv2’(n) para todo n ≠ nmin (8)

Luego se forma el vector con los valores de las proyecciones, desde el índice del

valor máximo hasta el índice del valor mínimo, con lo cual se obtiene las proyecciones

de la imagen segmentada con sus respectivos índices. Estos últimos son utilizados para

indicar las columnas a descartar y finalmente segmentar la imagen en las columnas.

Posteriormente se procede a segmentar la imagen en las filas. A diferencia de las

columnas, en las filas no se utilizará la derivada de las proyecciones debido a que, como

se puede observar en la figura 11, sólo hay un cambio brusco cerca de la fila 50, lo cual

indica que hay cambio de tonalidad. Si se observa la figura 6c, en las primeras filas

tienen valores bajos, lo cual se ve reflejado en las proyecciones, y luego cambia a

valores altos que corresponden al rostro. Pero en las últimas filas, donde termina el

rostro, no hay cambios significativos como en el caso de las columnas, por lo que no se

podría utilizar el mismo tipo de segmentación que en las columnas ya que no

segmentaría bien, para lo cual se requiere que el límite inferior del rostro vaya apoyado

en una base y de esta manera descartar la parte del cuello o los hombros. De las filas, se

obtiene “Ph(m)”, donde m = 0, 1, …., M-1 (M es el número de filas de la imagen).

Luego se calcula el valor máximo del vector “Ph(m)” para segmentar la parte superior

de la imagen :

Ph(mmax) > Ph(m) para todo m ≠ mmax (9)

Luego se obtiene :

Page 38: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

27 

Ph1(m) = Ph(m = 0, 1, …, mmax/2) (10)

Donde “Ph1(m)” contendrá los valores de las proyecciones desde la primera fila

hasta aquella cuyo índice es la mitad del “mmax” (donde “mmax” es el índice del valor

máximo de las filas). De esta manera se obtiene el rango donde se encuentra el cambio

brusco que indica cambio de tonalidad (de fondo a rostro).

Para que el cambio sea más evidente, se procede con el submuestreo en factor de 3

de “Ph1(m)”, y a este último vector se le calcula la derivada, con lo cual se procede a

segmentar la imagen en las filas. El procedimiento se puede expresar como :

Phd(m) = Ph1(3m) Donde m = 0, 1, …, mmax/6 (11)

Phd’(m1) > Phd’(m) Para todo m ≠ m1 (12)

Donde “m1” es el índice del valor máximo de Phd’(m)

Fig 18-Proyecciones de las filas, proyecciones de las filas hasta la mitad del vector y las

proyecciones

Como el tamaño de las imágenes segmentadas puede variar, se procede a

estandarizarlo con pixeles de la imagen entera o quitándole pixeles sobrantes, según sea

el caso. Luego de esto, se obtiene finalmente la imagen segmentada, como se puede

apreciar en la Fig. 14.

Page 39: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

28 

Fig 19- Imagen segmentada

2. Descomposición Wavelet

La descomposición wavelet es una técnica que se utiliza para descomponer la

imagen de entrada en cuatro sub-imágenes. En el programa se utiliza la descomposición

wavelet para reducir las dimensiones de las imágenes sin perder la información facial

necesaria. El resultado de la descomposición está conformado cuatro sub-imágenes, que

contienen detalles principales, detalles verticales, detalles horizontales y detalles

diagonales. En el presente documento, se descompuso la imagen dos veces, por lo cual

se obtienen cuatro subimágenes cuyas dimensiones son cuatro veces menor que la

imagen original; sin embargo, los detalles principales no se pierden. Para el programa,

se utiliza la sub-imagen con los detalles principales y se le normaliza, a fin de que el

rango de grises, se encuentre entre 0 y 255.

Page 40: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

29 

En la Fig. 15 se observa la descomposición Wavelet de una imagen facial.

Fig 20-Imagen facial y sus respectivas subimágenes. (wavelets)

3. Análisis de Componentes Principales (ACP)

El ACP es un método matemático que da origen al método de “eigenfaces”. El

método consiste en la recolección de imágenes de rostros de varias personas que son

luego combinadas y convertidas en una matriz. Los vectores que conforman esta matriz

son los denominado vectores “eigenfaces”. Estos pueden ser combinados

adecuadamente para reconstruir cualquier imagen facial del conjunto.

Para describir el método, asúmase en primer lugar que se tiene un conjunto de “M”

imágenes, que previamente fueron segmentadas (de P filas y Q columnas), que son

convertidas a vectores “Φi”. Con ello se construye una matriz que contiene a cada vector

como columna. La matriz resultante presenta por tanto “PxQ” filas y “M” columnas.

Page 41: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

30 

 

1.3.3 Programa 

Inicialmente el programa adquiere una imagen de rostro en escala de grises. Luego

se realiza el procedimiento ACP y se obtiene el vector “eigenfaces” de la imagen

adquirida. En seguida el vector es comparado con todos los vectores de las imágenes

proyectadas almacenadas, calculando la distancia euclidiana normalizada entre ellos. La

distancia mínima obtenida será la que indique el usuario registrado con el cual el rostro

de entrada tiene mayor semejanza. Sin embargo, esta distancia mínima puede ser muy

grande, lo que indicaría que ninguno de los usuarios registrados coincide

adecuadamente con el usuario de entrada. Para evitar este tipo de problemas, se

procedió a establecer un umbral, a fin de colocar un límite en la distancia mínima, y

rechazar usuarios que no están verdaderamente registrados. Si la distancia es menor al

umbral, entonces el usuario se considera como identificado, mostrando en pantalla el

nombre respectivo y su foto reconstruida.

El programa ofrece también la opción de modificar la dimensión del espacio y de

esa forma alterar el tiempo de ejecución del mismo. Así mismo se ofrece la opción de

poder registrar un nuevo usuario en cualquier momento.

La interfaz visual de usuario del sistema propuesto es mostrada en la Fig. 16.

Page 42: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

31 

Fig 21-Interfaz visual del sistema propuesto

1.3.4 Resultados 

Con estas adiciones al programa, se procedió al reconocimiento de las imágenes y

después de comparar resultados se obtuvo lo siguiente:

• Verdaderos aciertos: 92.26%

• Verdaderos Rechazos: 89.94%

• Falsos aciertos: 7.04 %

• Falsos Rechazos: 10.06%

Page 43: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

32 

 

2. IDENTIFICACION DE NECESIDADES

Page 44: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

33 

2 Identificación de necesidades

2.1 Introducción IDN 

Esta etapa es el soporte a la petición que el cliente realiza para determinar las

pautas generales de sus necesidades y del contexto del sistema.

El cliente debe establecer sus objetivos y necesidades generales, como

consecuencia del enlace entre los Sistemas de Información de la empresa y los sistemas

Informáticos a desarrollar.

El objetivo es exponer el entorno global del problema en estudio, especificando:

• Objetivos del sistema: objetivos de tipo empresarial.

• Alcance del sistema: funciones de negocio a considerar dentro del alcance del

proyecto.

• Tipología de los usuarios finales: conocer a qué perfil de personas va dirigido el

producto final a obtener.

• Restricciones: se considerarán las restricciones que puedan afectar al plan del

proyecto y su desarrollo.

• Organización y funciones empresariales: conocer bien cómo está organizado el

cliente, para ello se analizará el organigrama de la empresa.

• Antecedentes: información de los motivos que han llevado a la organización del

cliente a realizar el proyecto.

En la realización se obtendrán todos los datos necesarios para una buena

identificación de necesidades, se realizarán entrevistas, obteniendo un conjunto valioso

de información del sistema.

El producto que se obtiene se representara mediante el Documento de

Conceptos del Sistema.

Page 45: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

34 

2.2 Documento de concept del sistema 

PROYECTO

RECONOCIMIENTO

DE IMÁGENES

DOCUMENTO DE CONCEPTOS DEL

SISTEMA

EMPRESA: IIT

2.2.1 Objetivos del sistema 

Hay dos objetivos globales en este proyecto:

1. Reconocimiento de tipos de fondo: cielo, césped.

1.1 Generación de un algoritmo capaza de clasificar las imágenes por su

color. En nuestro caso que contengan azul (cielo) o verde (césped).

1.2 Generación de un algoritmo capaza de diferenciar entre tres posibles

texturas. Las texturas que deberá ser capaz de diferenciar son:

• Lisas

• Binarias

• Rugosas

1.3 A través de la unión de ambos algoritmos, poder diferenciar imágenes

que contengan cielo o césped, con una tasa de error inferior al 10%.

2. Detección de personas.

2.1 Localización de caras de personas en la imagen.

2.2 Si en la imagen se ha localizado alguna cara en base a localizar ojos y

boca. Se concluye que la imagen contiene personas.

Page 46: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

35 

2.2.2 Alcance del sistema 

Reconocimiento de color: Para esta parte, habrá que realizar un análisis de los

modelos de color RGB y HSV.

Para ambos modelos de color, será necesario estudiar si dado un color es posible

identificar dicho color mediante sus coordenadas.

En el caso de RGB, se comprobaran las siguientes proyecciones del espacio:

• R vs G

• R vs B

• G vs B

• R vs G vs B

Tras realizar las evaluaciones pertinentes, se identificara la mejor entre las cuatro

proyecciones para clasificar un color.

En el caso HSV, se comprobaran las siguientes proyecciones del espacio:

• H vs S

• H vs V

• S vs V

• H vs V vs S

Al igual que en modelo RGB, habrá que identificar la mejor entre las cuatro

proyecciones.

Una vez seleccionados las proyecciones, se analizara con cuál de los dos moleos es

más precios a la hora de clasificar el color.

Reconocimiento de texturas: El reconocimiento de texturas, se realizara a través de

histogramas, para ello, será necesario implementar un algoritmo capaz de clasificar las

Page 47: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

36 

texturas como lisas, binarias o rugosas. También será necesario realizar un breve

documento sobre la función statxture.

Detección de caras: Para la detección de caras se crearan dos algoritmos

independientes, uno para la localización de los ojos, y otro para la localización de la

boca. En ambos algoritmos se trabajara con la proyección YCbCr.

 

2.2.3 Topología de usuario finales 

Los usuarios finales serán empresas que por algún motivo necesiten clasificar

imágenes de manera automática en base al contenido.

2.2.4 Restricciones 

Las restricciones a las que está sujeto el proyecto son de tipo temporal, puesto que

el plazo de entrega del proyecto no puede superar la primera semana de junio del 2008.

Además los algoritmos generados, deberán consumir el mínimo número de

recursos.

Al ser un proyecto fundamentalmente de investigación, la optimización del tiempo

de ejecución queda fuera del alcance, pero es necesario que los algoritmos sean

suficientemente rápidos como para permitir correr los procesos de evaluación.

Page 48: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

37 

 

3. PLAN DE GESTION

Page 49: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

38 

 

3 Plan de gestión 

3.1 Descripción general del proyecto 

A continuación se mostrará una visión general del proyecto, el cual consiste en

desarrollar algoritmos capaces de reconocer objetos en imágenes. Para lograr esto se

utilizarán las siguientes técnicas:

1. Reconocimiento de colores: Se estudiará la imagen a través de los colores, para

ello se hará un estudio previo entré dos formas posible de reconocimiento de

colores, RGB y HSV. Esta técnica es válida para reconocimiento de cielos,

nieve, mar, césped, etc, es decir, imágenes donde haya un color predominante.

2. Reconocimiento de textura: Esta técnica es más compleja que el

reconocimiento de colores, se utilizará para validar que una textura es lisa,

binaria o rugosa. Un ejemplo podría ser el reconocer un árbol en distintos

entornos, como uno rural y otro de ciudad, en donde los distintos elementos que

lo rodean son muy distintos. El reconocimiento del árbol se podría hacer

mediante la textura de la madera del tronco.

3. Detección de caras: Para conseguir este objetivo se utilizara la proyección

YCbCr. La detección de caras tendrá que ser efectiva en aquellas imágenes que

contengan a una persona de medio cuerpo para arriba, no teniendo porque ser

efectiva en aquellas imágenes donde las personas salgan de cuerpo entero.

Para el desarrollo de este proyecto se ha decidido utilizar como herramienta Matlab.

Matlab es un leguaje matemático capaz de ejecutar elevados cálculos matriciales

además de poseer unas Toolbox de imágenes, necesarios para este proyecto.

Page 50: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

39 

3.2 Diagrama de actividades a realizar 

A continuación se muestra un diagrama de las distintas actividades de las que se

compone el proyecto. Las actividades se numerarán de la forma WP – XX.YY, donde

XX corresponde a un número consecutivo referente a la tarea principal, e YY a la

subtarea de XX.

Reconocimiento de imágenes a través de su

contenido

WP-01

Construcción Lógica

WP-02

Construcción Física

WP-03

Documentación

WP-00.01

Color

WP-00.02

Textura

WP-04

Dirección de proyecto

WP-00.03

Localizador de rostros

WP-01.01

Estudio de Gaussinas

WP-01.02

Diseño de texturas

WP-02.01

Implantación de Gaussinas

WP-02.02

Algoritmos

WP-02.03

Pruebas de algorimos

Fig 22-Diagrama de actividades

WP-05

Coordinación

WP-00

Investigación

Page 51: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

40 

3.3 Descripción detallada de las actividades 

A continuación, se procederá a describir las actividades finales del proyecto,

estas son aquellas actividades que no se dividan en otras sub-actividades.

Identificador de Actividad

WP-00.01

Nombre Color

Entradas Información sobre los modelos de color RGB y HSV.

Actividades Realizar un documento con los modelos de color RGB y HSV, indicando las propiedades de cada uno, para poder realizar los estudios pertinenetes.

Salidas • Documento RGB • Documento HSV

Gestión

Tabla 3- W-00.01

Identificador de Actividad

WP-00.02

Nombre Textura

Entradas Información sobre texturas

Actividades Realizar un documento con las formas posibles de reconocimiento de textura.

Salidas • Documento sobre texturas

Gestión

Tabla 4-WP-00.02

Page 52: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

41 

Identificador de

Actividad WP-00.03

Nombre Localizador de rostros

Entradas Información sobre localizadores de rostros

Actividades Realizar un documento con los métodos empleados para alcanzar el objetivo.

Salidas • Documento YCbCr • Documento sobre localizador de rostros

Gestión

Tabla 5-WP-00.03

Identificador de Actividad

WP-01.01

Nombre Estudio de Gaussinas

Entradas Conjunto de puntos que definen los colores azul y verde.

Actividades Estudiar la mejor forma a través de gaussianas para clasificar un color como azul o verde.

Salidas Programa elegido para realizar la clasificación.

Gestión

Tabla 6-WP-01.01

Page 53: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

42 

Identificador de Actividad

WP-01.02

Nombre Diseño de texturas

Entradas Histogramas correspondientes a texturas lisas, binarias y rugosas.

Actividades Definir la formar de diferenciar las distintas formas de texturas mediante los histogramas.

Salidas Documento en el que se explica la forma lógica de diferenciar entre las tres texturas definidas.

Gestión

Tabla 7-WP-01.02

Page 54: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

43 

Identificador de

Actividad WP-02.01

Nombre Implantación de Gaussianas

Entradas Programa elegido para la clasificación de un color mediante gaussianas.

Actividades Implantar dentro del algoritmo el programa.

Salidas Algortimo sin terminar.

Gestión

Tabla 8-WP-02.01

Identificador de Actividad

WP-02.02

Nombre Algoritmo

Entradas Resultados de los documentos.

Actividades Mediante la información recibida de los documentos desarrollados anteriormente, generar los algoritmos de color y textura.

Salidas Algoritmos terminados.

Gestión

Tabla 9-WP-02.02

Identificador de Actividad

WP-02.03

Nombre Pruebas de los algoritmos

Entradas Algoritmos.

Actividades Comprobar el grado de acierto de los algoritmos generados.

Salidas Eficiencia de los algoritmos generados.

Gestión

Tabla 10-WP-02.03

Page 55: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

44 

 

Identificador de Actividad

WP-03

Nombre Documentación

Entradas Información sobre los algoritmos

Actividades Desarrollo de un documento final del proyecto.

Salidas Documento final de proyecto.

Gestión

Tabla 11-WP-03

Identificador de Actividad

WP-04

Nombre Dirección del proyecto

Entradas Documento final del proyecto

Algoritmos generados

Actividades Validación del proyecto por parte del director del proyecto.

Salidas Documento firmado por el director de proyecto. Calificación del proyecto por parte del director del proyecto

Gestión

Tabla 12-WP-04

Page 56: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

45 

Identificador de Actividad

WP-05

Nombre Coordinación

Entradas Documento final del proyecto

Algoritmos generados

Actividades Validación del proyecto por parte del coordinador del proyecto.

Salidas Documento firmado por el coordinador del proyecto. Nota final del proyecto.

Gestión

Tabla 13-WP-05

Page 57: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

46 

3.4 Diagrama del equipo de trabajo 

Posteriormente se mostrará el organigrama del proyecto

Como se observa en la ¡Error! No se encuentra el origen de la referencia. 23 ,

existe una colaboración entre el director y el coordinador del proyecto, mientras que la

función de Jefe de Proyecto depende tanto del director como del coordinador, y a su

vez, de éste depende el analista, el programador y el diseñador

Coordinador del proyecto fin de

carrera

Director del proyecto fin de carrera

Jefe del proyecto

Analista Programador Diseñador

Fig 23- Organigrama del proyecto

Page 58: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

47 

3.5 Descripción de actividades de cada integrante 

A continuación se mostrará una relación de tareas de cada integrante del equipo de

trabajo:

Identificador del

integrante

Coordinador

Nombre David Contreras Bárcena

Tareas Concretar la definición del proyecto

Controlar/Supervisar el proyecto, junto con el

director del mismo

Supervisa los plazos de entrega

Homogeniza la calidad de los proyectos

Supervisión final del proyecto

Tabla 14-Coordinador

Page 59: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

48 

Identificador del

integrante

Director

Nombre Rafael Palacios

Tareas Dirigir el proyecto

Facilitar las orientaciones adecuadas ante los

problemas que vayan surgiendo

Proponer una calificación al coordinador del

proyecto

Controlar/Supervisar el proyecto, junto con el

coordinador

Tabla 15-Director

Identificador del

integrante

Jefe de Proyecto

Nombre Antonio Peralta Sáez

Tareas Gestiona el proyecto y es el máximo

responsable del mismo

Verifica el trabajo realizado por sus

subordinados

Tabla 16-Jefe de proyecto

Page 60: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

49 

Identificador del

integrante

Analista

Nombre Antonio Peralta Sáez

Tareas Analiza el contenido del proyecto, marcando

pautas para la realización del mismo

Tabla 17-Analista

Identificador del

integrante

Programador

Nombre Antonio Peralta Sáez

Tareas Lleva a cabo toda la parte de programación

del proyecto

Instala el software necesario para llevar a

cabo el proyecto

Verifica la programación haciendo un banco

de pruebas para comprobar la calidad del proyecto

Tabla 18-Programador

Page 61: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

50 

Identificador del

integrante

Diseñador

Nombre Jaime Martín Talavera

Tareas Analiza y define las interfaces que se deben

llevar a cabo para la realización de la

programación

Tabla 19-Diseñador

Page 62: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

51 

 

3.6 Estimación del esfuerzo de cada integrante 

Para el proyecto, la estimación del esfuerzo de cada integrante es la que se muestra

a continuación (mostrada en horas/hombre):

  COORDINADOR  DIRECTOR  JEFE PROYECTO ANALISTA PROGRAMADOR  DISEÑADOR TOTAL

WP‐00      10 10   20

WP‐01     5  15 30   50

WP‐02     5  30  50 110   40 235

WP‐03     5  15 70   90

WP‐04    10  10 5   25

WP‐05  15      15

TOTAL  15  25  80 165 110  40 435Tabla 20-Estimación del esfuerzo

Page 63: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

52 

 

3.7 Presupuesto 

A continuación se mostrarán dos tablas, la primera con el desglose de las horas

hombre invertidas por cada miembro del equipo y la segunda con la descomposición del

precio por paquetes de trabajo del proyecto:

  DIRECTOR  JEFE PROYECTO ANALISTA PROGRAMADOR  DISEÑADOR

HORAS/HOMBRE  25  80 165 110  40

TARIFA  100,00 €  80,00 € 60,00 € 30,00 €  45,00 €

IMPORTE  2.500,00 €  6.400,00 € 9.900,00 € 3.300,00 €  1.800,00 €

TOTAL          23.900,00 € 

Tabla 21-Horas hombre

Tabla 22-Descomposición del precio por paquetes

  HORAS  TARIFA MEDIA IMPORTE

WP‐00  20  70 € 1.400,00 € 

WP‐01  50  70 € 3.500,00 € 

WP‐02  235  46.81 € 11.000,00 € 

WP‐03  90  65.56 € 5.900,00 € 

WP‐04  25  84 € 2.100,00 € 

WP‐05  15  0 € 0 € 

TOTAL      23.900,00 € 

Page 64: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

53 

 

3.8 Planificación de las actividades 

A continuación se muestra un diagrama de Gantt con la planificación del proyecto

Fig 24-Planificación

Tanto la documentación, dirección del proyecto como la coordinación se realiza en

paralelo desde el inicio de proyecto al fin del mismo.

Page 65: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

54 

4. ESTUDIO DE ARQUITECTURA

Page 66: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

55 

4 Estudio de arquitectura

4.1 Introducción E­ARQ 

En esta etapa se definirán las posibles soluciones de arquitectura técnica que

satisfagan tanto los requisitos como las restricciones de diseño. La arquitectura debe

indicar que componentes básicos de software, hardware y comunicaciones se deben

adquirir o desarrollarse.

Los objetivos entonces serán:

• Definir las posibles soluciones de arquitectura técnica que satisfagan los

requisitos y las restricciones de diseño.

• Elegir una alternativa propuesta, que será la que se implante.

• Obtener la aprobación del cliente o comité informático para la alternativa

elegida.

Para la realización se llevara a cabo funciones tales como:

• Especificar la tecnología hardware, software y de comunicaciones de cada

alternativa.

• Evaluar cada alternativa en sus aspectos: estratégicos, organizativos,

operativos, técnicos y económicos.

• Seleccionar la alternativa a adquirir o desarrollar.

• Elaborar la planificación general del desarrollo y programación del

proyecto.

Los productos que se obtienen son:

• Esquema gráfico de funcionamiento de cada alternativa. Especificación de

los componentes software, hardware y de comunicaciones.

• Matriz de evaluación de las distintas alternativas.

• Planificación general del proyecto: etapas, actividades, hitos importantes,

recursos y calendarios.

Page 67: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

56 

El número de alternativas a considerar depende del tamaño del proyecto a realizar y

de la complejidad del mismo.

Page 68: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

57 

4.2 Hardware/software del sistema actual 

En la lista siguiente se enumeran los elementos hardware y software del los

sistemas utilizado actualmente.

Máquina 1

• Placa base: ASUS P5KPL

o Chipset Intel G31

o CPU Intel LGA775 Pentium 4

o DDR2 de Dual-Channel

o Audio Realtek ALC 662 6-chanel

o Stack Cool™

o AI NOS™

o AI NET2

• Procesador: Intel P4 3.02 Ghz 800 mhz 2Mb Cache Socket 775

o Processor Frequency: 3 GHz

o CPUID String: 0F43h

o Package Type: 775 pin

o Core Voltage: 1.25V-1.388V

o Bus Speed: 800 MHz

o Thermal Guideline: 84.0W

o Core Stepping: N0

o Thermal Spec: 67.7°C

o L2 Cache Size: 2 MB

o Manufacturing Technology: 90 nm

o L2 Cache Speed: 3.00 GHz

o Bus/Core Ratio: 15

• Memoria: CORSAIR DIMM DDR2 800 2 x 1024 MB xms2 CL4

• Tarjeta gráfica: SPARKLE 6600 PCX 256MB TV HDTV

Page 69: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

58 

o Bus de gráficos PCI Express®

o Memoria 256MB

o Interfaz de memoria 128 bits

o Ancho de banda de memoria (GB/s.) 22,4

o Tasa de relleno (miles de millones de píxeles/s) 6,7

o Vértices/s. (millones) 700

o Píxeles por ciclo de reloj (pico) 12

o RAMDAC (MHz) 400

• Disco Duro: SATA 200GB 7200rmp MAXTOR

o Capacidad: 200GB

o Interface: SATA 1.5Gb/s

o Buffer: 8MB

o RPM: 7200

• DVD: AOPEN 16x 48x IDE CAMALEON

• Grabadora DVD: PIONEER 109 16X Doble capa 4X OEM

• Impresora: Hewlett Packard K550

• Scanner: Hewlett Packard ScanJet 3300C

• Aplicaciones: Windows XP, Microsoft Office Excel, Matlab 7.0.1

Page 70: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

59 

4.3 Especificaciones de las aternativas. 

Debido al elevado tamaño de las matrices a tratar y de la complejidad de los

cálculos para resolver las gaussianas, se aconseja la utilización de estaciones de trabajo

con alto rendimiento.

A continuación se detalla los elementos hardware y software de la máquina Sun

Ultra 40 Workstation

• P

rocesador:

o Processor: two AMD Opteron dual-core 2.6 GHz 285 with

three 8-GBps HyperTransport interconnects per CPU.

o Secondary cache (Level 2): 1 MB per CPU.

• Memoria:

o 16GB maximum; up to four registered DIMMs per CPU.

• Interfaz estandar:

o Network: Two on-board 10/100/1000 Base-T Gigabit

Ethernet interfaces.

o I/O

Fig 25-Estación de trabajo Sun Ultra 40 Workstation

Page 71: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

60 

Eight USB 2.0 ports.

Two IEEE 1394a (FireWire) ports

o Audio I/O

One line-in Two front ports and eight back ports

o Expansion bus

Two PCI Express x16 graphics slots (x8 logically)

One PCI-Express x8 expansion slot (x4 logically)

Two conventional 32-bit PCI slots operating at

33MHz

• Memoria de almacenamiento

o Internal disk:

Up to four Serial ATA drives 500 GB

2 TB maximum RAID 0 and RAID 1 support Optical

drive: One slim dual DVD-RW/CD-RW drive.

o Optical drive:

DVD Dual (DVD-ROM and CD-RW combo)

• Gráficos y imágenes

o High-end 3-D: NVIDIA Quadro FX 540 (PCIe)

• Sotfware

o Operating System: Operating Systems supported by Sun

Solaris OS, Red Hat Enterprise Linux, SUSE Linux

Enterprise Server, and Microsoft Windows.

o Free Software: Preloaded Development Tools. Includes fully-

licensed versions of the following:

Sun Java Studio Creator 2 - 90-day installation support

+ 1-year support via Sun Developer Network (SDN)

Sun Java Studio Enterprise 8 - 90-day installation

support + 1-year support via SDN.

Sun Java Studio Enterprise 8 - 90-day installation

support + 1-year support via SDN.

Sun Studio 11ML - 90-day installation support.

NetBeans 5.0 open source IDE

Grid Software:

Page 72: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

61 

N1 Grid Engine 6 software license.

Other:

Matlab 7.0.1

• Monitor

o 24.1-inch Sun wide-screen TFT color flat-panel LCD

Equivalent to 27.5-inch CRT display.

0.27-mm dot pitch.

Up to 1920 x 1200 at 60 Hz (16:10 aspect ratio).

• Entorno

o Acoustics:

Operating Noise: 4.9 Bels.

Idle Noise: 4.7 Bels.

o Power supply: 1000 watts.

o Operating temperature:

2° C to 35° C (41° F to 95° F).

7-93 percent relative humidity, noncondensing

o Nonoperating temperature:

-40° C to 68° C (-40° F to 158° F);

93 percent relative humidity, noncondensing.

• Regulación

o Safety: UL/CSA-60950-1, EN 60950-1, IEC 60950-1 CB.

o Ergonomics: EK1-1TB-2000.

o RFI/EMC: EN 55022/CISPR22 Class B, FCC CFR47 Part 15

Class B, EN 61000-3-2, EN 61000-3-3.

o Immunity: EN55024.

o Regulatory markings UL/cUL, TUV-GS, CE, FCC, ICES-

003, C-Tick, VCCI, GOST-R, BSMI, CCC, S-Mark, Korean

(MIC) Mark, WEEE.

• Dimensiones y peso

o Height 445mm (17.5 in.).

o Width 205 mm (8.1 in.).

Page 73: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

62 

o Depth 569 mm (22.4 in.).

o Weight 26.31 kg (58 lbs) fully configured, depending on

configuration.

• Precio:

o 2,295.00 $

Page 74: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

63 

A continuación se detalla los elementos hardware IBM IntelliStation A Pro.

• Procesador:

o Dual-core AMD Opteron™ processors Dual-capable Opteron

200 Series processors up to 2.8 GHz.

o 1MB L2 cache per processor core

• Memoria:

o 16GB max, PC3200 ECC DDR SDRAM, 128-bit controller; 8

DIMM slots total.

• Interfaz estandar:

o Network: Integrated high-bandwidth Gigabit Ethernet with

Wake on LAN®.

o I/O:

USB 2.0 (2 front, 3 back).

2 IEEE 1394 (1 front, 1 back).

2 serial.

1 parallel.

o Audio I/O

AC-97 audio.

Microphone in (front and back).

Line in.

Fig 26-Estación de trabajo IBM IntelliStation A Pro

Page 75: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

64 

Line out.

Integrated speaker.

o Expansion bus:

(1/0) PCI Express x16.

(1/1) 64-bit/133MHz PCI-X.

(4/4) 64-bit/100MHz PCI-X.

• Memoria de almacenamiento

o Internal disk:

80GB/7,200rpm.

160GB/7,200rpm.

250GB/7,200rpm (optional).

o Optical drive: IBM MultiBurner Plus CD-R, CD-RW, DVD-

RAM, DVD-ROM, DVD-R, DVD-RW, DVD+R, DVD+RW.

• Gráficos y imágenes

o Extreme 3D NVIDIA® Quadro® FX 4500, 512MB GDDR3

SDRAM, 470 MHz GPU core.

• Sotfware:

o Microsoft® Windows® XP Professional (32-bit)

and XP Professional x64 Edition available preinstalled.

o Matlab 7.0.1

• Entorno:

o 530W.

o 3 temperature-controlled fans.

• Precio:

o 5,219.00 $

Page 76: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

65 

4.4 Evaluación de las alternativas 

4.4.1 Evaluación técnica 

En la tabla 23 podemos ver una comparación entre las dos máquinas propuestas.

Tabla 23-Comparativa máquinas

Page 77: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

66 

Como podemos observar en la mayoría de los elementos es superior Sun Ultra 40

Workstation a la máquina IBM IntelliStation A Pro.

En este aspecto apostaremos por la máquina Sun Ultra 40 Workstation al ser esta

mas potente.

4.4.2 Evaluación económica 

En el análisis de los costes de adquisición tecnológica se pondrá especial énfasis en:

• Costes hardware: costes del equipo para el nuevo sistema.

• Costes software: licencias de productos ya desarrollados y comercializados

a adquirir como hojas de cálculo (estas son necesarias para poder salvar los

datos calculados), sistemas operativos, matlab (para poder correr la

aplicación).

ALTERNATIVA 1 2

Costes del hardware $2,295.00 $5,219.00

Costes software * *

Tabla 24-Alternativas

* En cuanto a los costes software en ambos casos serán los mismos ya que en

ambas máquinas vienen instalados sistemas operativos, los únicos costes serian los de la

adquisición de la licencia de Matlab 7.0.1 y un programa de hojas de cálculo, de este

ultimo hay software de libre distribución.

En cuanto al ámbito económico optaríamos por la alternativa 1 ya que esta es más

económica.

Page 78: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

67 

 

4.5 Selección de la alternativa 

La alternativa elegida será la ALTERNATIVA 1 (Sun Ultra 40 Workstation),

puesto que es la que más se acerca a los requisitos y necesidades del software.

La implantación de esta máquina permitirá a las empresas que obtengan este

software un mayor rendimiento, debido a la disminución de los tiempos de los cálculos,

está disminución de tiempo supone un ahorro económico.

Page 79: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

68 

5. RECONOCIMIENTO DE COLORES

Page 80: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

69 

5. Reconocimiento de colores 

5.1 Introducción 

¿Qué es el color?, antes de explicar en qué consisten los modelos RGB y HSV, hay

que tener claro, porque vemos los objetos en color. Esto es debido hay una serie de

variables que inciden directamente en la percepción que tenemos de los colores y que

pueden diferenciarse en tres categorías:

La fuente luminosa: De más está decir que gracias a la presencia de la luz

percibimos no sólo los objetos sino también su cromaticidad. De las diferencias e

intensidades lumínicas que inciden sobre el objeto resultan variaciones en la percepción

de un mismo color. Existe, por ejemplo, diferencia entre luz solar y luz artificial; y

dentro de la luz natural, las diferentes posiciones del Sol a lo largo del día hacen que la

incidencia de luz provoque variaciones en el color del objeto. Esto fue apuntado por

Leonardo da Vinci (1452-1519) en su Tratado de la pintura, donde hace referencia a la

coloración azulada que asumen las sombras por la mañana hasta irse tiñendo de matices

cada vez más rojizos a medida que avanza la tarde. Ni qué hablar de las variaciones de

intensidad durante el transcurso de las estaciones del año. Por todos es sabido que los

rayos solares inciden de forma más oblicua en el solsticio de invierno y más

perpendicular en el de verano.

En relación con la luz artificial, e independientemente de los diferentes tipos que se

ofrecen en el mercado, hay que señalar dos ejemplos cotidianos. La lámpara de

filamento (el tradicional foco) genera una luz de coloración amarillenta que incide

directamente sobre el color particular de los objetos, y la llamada ‘luz blanca’ de los

tubos fluorescentes tiñe los objetos con una coloración azulada.

Podemos concluir que la fuente luminosa o de emisión de energía electromagnética

ejerce una influencia cualitativa y cuantitativa en la percepción cromática.

El objeto: Las características texturales de los objetos como transparencia, opacidad

y brillo, entre otras, así como la forma y el tamaño, inciden en la percepción del color.

Page 81: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

70 

Si pintáramos, por ejemplo, dos superficies con un mismo pigmento, pero una de ellas

fuera mate y la otra brillante, la percepción sería de un color menos intenso en el primer

caso y más luminoso en el segundo.

Es importante aclarar que no es la materia la que posee el color, sino que éste es

una percepción sensorial. La constitución molecular del objeto permite que absorba y

refleje determinadas longitudes de onda. Cuando observamos que una manzana es roja,

lo que sucede es que su superficie absorbe todas las longitudes de onda, menos la que

corresponde a lo que vemos como rojo; de ahí que percibamos ese color.

El sujeto: En este punto se hace referencia al tipo de observador. No todos los

animales perciben los colores como lo hace el ser humano. Es creencia popular, por

ejemplo, que el toro se enfurece y excita con el rojo de la capa del torero. Esto es

erróneo ya que los vacunos no distinguen la longitud de onda para ese color. Lo que

capta la atención del animal es el movimiento de la capa del torero, no su color.

En el ojo se encuentra una serie de terminaciones nerviosas conocidas como conos

y bastones que por su cualidad fotorreceptora hacen posible la visión. Los conos

permiten la visión diurna y cromática por la conversión de las distintas longitudes de

onda en sensaciones de color; los bastones permiten la visión nocturna, acromática.

Cabe recordar que la sensación de color producida por el estímulo existe sólo en el

cerebro del sujeto.

En conclusión, no sólo la luz es una condición necesaria para percibir los colores; la

presencia de los otros dos componentes es también imprescindible. Se puede tener luz y

objeto que recoja ésta, pero si no hay observador no habrá percepción; puede haber luz

y observador, pero si no hay objeto no hay color.

Color luz y color pigmento

Un aspecto importante de la teoría del color es la diferencia entre el color luz (el

que proviene de una fuente luminosa coloreada) y el color pigmento o color materia

(óleo, témpera, lápices de color, etcétera).

Color luz. Síntesis aditiva

Page 82: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

71 

Gracias a Newton (1642-1727) sabemos que la luz blanca al descomponerse origina

los siete colores del espectro visible: rojo, anaranjado, amarillo, verde, azul cian, azul y

violeta. La suma de todos los colores del espectro luminoso recompone la luz blanca

(fig. 22).

Fig 28-Representacion espectral.

Es importante señalar que del amplio espectro electromagnético, sólo una pequeña

parte puede ser percibida por el ojo humano. Por debajo del violeta se encuentran

longitudes de onda más bajas como los rayos ultravioleta y por encima del rojo se hallan

longitudes de onda más altas como los rayos infrarrojos (fig. 23).

Para el color luz se utiliza un criterio de orden aditivo o, mejor dicho, de síntesis

aditiva. Esto significa que a medida que sumamos color luz se restituye gradualmente el

blanco.

De la serie de colores que componen el espectro luminoso podemos diferenciar tres

colores fundamentales o primarios. Ellos dan origen a los otros colores y son: rojo,

verde y violeta. De las respectivas mezclas de estos colores derivan los llamados colores

secundarios o complementarios, que son (fig. 24).

Fig 27-Espectro visible

Page 83: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

72 

verde + violeta = azul cian

violeta + rojo = rojo magenta

verde + rojo = amarillo

Fig 29-Representacion primaria de los colores

De lo dicho más arriba podemos inferir que dos colores se llaman complementarios

cuando combinados en una cierta proporción equitativa recomponen la luz blanca o,

dicho de otro modo, un color es complementario de otro cuando para su mezcla no

participa el color del que es complementario. Podemos decir también que es aquel color

que dentro de una ordenación circular se encuentra en el radio opuesto; de ahí el nombre

de colores opuestos. Por lo tanto, la relación de luces complementarias quedaría

definida de la siguiente manera:

rojo + cian

azul + amarillo

verde + magenta

El principio de síntesis aditiva lo vemos aplicado en los televisores, monitores y

programas de diseño y retoque fotográfico orientados a la creación de imágenes y

gráficos cuyo destino sea la publicación en la Web o sobre una pantalla de proyección,

ya sea otro monitor o un televisor. En el caso de los televisores y monitores, cada uno

de los fósforos que componen la pantalla contiene un impulso de uno de los colores

primarios de la luz. Los programas de diseño y fotografía optan por el modo de

coloración en R (red, rojo), G (green, verde) y B (blue, azul).

El manejo de las luces coloreadas es ampliamente utilizado por físicos,

escenógrafos, decoradores, escaparatistas, cromatólogos y psicólogos, entre otros.

Page 84: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

73 

Color pigmento. Síntesis sustractiva

Al utilizar colores pigmentarios, las mezclas que se hacen involucran un tipo

distinto de síntesis: la sustractiva. A medida que incorporamos color materia,

restituimos gradualmente el negro.

De la misma forma que para el color luz existen tres colores fundamentales o

primarios, también los hay en el caso del color pigmento y ellos originan al resto de los

colores. Se llaman primarios porque no pueden obtenerse por mezcla y son: el rojo

magenta, el azul cian y el amarillo.

Es interesante destacar que los colores primarios para el color pigmento son

secundarios para el color luz.

Los colores secundarios, de igual forma que para el color luz, se obtienen de la

mezcla de los primarios, y son (fig. 25):

rojo magenta + azul cian = violeta

amarillo + rojo magenta = rojo bermellón

azul cian + amarillo = verde

Fig 30-Obtencion de los

colores primarios.

El concepto de color complementario es el mismo utilizado para el color luz, con la

diferencia de que la suma de dos colores complementarios u opuestos recomponen el

negro. Las parejas de complementarios son las siguientes:

rojo magenta + verde

azul cian + anaranjado

amarillo + violeta

Page 85: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

74 

Como ya señalamos, las mezcla de dos colores primarios origina un secundario; de

la misma forma, podemos decir que la mezcla de un primario con un secundario origina

un color terciario. Si aplicamos esto a los seis colores obtenidos tenemos:

amarillo + rojo bermellón = naranja

rojo magenta + rojo bermellón = rojo

violeta + rojo magenta = violeta rojizo

azul cian + violeta = azul violáceo

verde + azul cian = azul verdoso

amarillo + verde = verde amarillento

Ya hemos visto cómo se obtienen los 12 colores (3 primarios, 3 secundaros y 6

terciarios).

A lo largo de la historia, diversos investigadores han intentado ordenar el color de

varias maneras, ya sea en forma bidimensional o tridimensional, tomando en cuenta las

distintas variables. Una de las formas de organización en el plano más conocida es la

utilización de un círculo llamado círculo cromático (fig. 5).

Fig 31- Circulo cromático

Page 86: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

75 

Variables del color

El matiz, el tono, el valor o luminosidad y la saturación son las cuatro variables

básicas de un color y operan siempre simultáneamente.

Matiz

Es el croma de un color y depende de la longitud de onda dominante. Es la cualidad

que permite clasificar a los colores como amarillo, rojo, violeta, etc. El matiz se mide de

acuerdo con la proximidad que tiene un color con relación a otro que se halle próximo

en el círculo cromático; por ejemplo: verde amarillento, naranja rojizo, azul violáceo,

etcétera (fig. 27).

Fig 32- Representación del matiz.

Valor o luminosidad

Indica las luminancias de un color; es decir, el grado de claridad u oscuridad que

posee como cualidad intrínseca. Dentro del círculo cromático, el amarillo es el color de

mayor luminancia y el violeta el de menor.

Independientemente de los valores propios de los colores, éstos se pueden alterar

mediante la adición de blanco que lleva el color a claves o valores de luminancia más

altos, o de negro que los disminuye.

Page 87: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

76 

Tono

Es la resultante de la mezcla de los colores con blanco o negro y tiene referencia de

valor y de matiz. Por ejemplo, el amarillo mezclado con negro modifica su matiz hacia

el verde y se oscurece (fig. 28).

Fig 33 – Representación del tono.

Saturación

Se refiere al grado de pureza de un color y se mide con relación al gris. Los colores

muy saturados poseen mayor grado de pureza y se presentan con más intensidad

luminosa en relación con su valor. Los colores con menor saturación se muestran más

agrisados, con mayor cantidad de impurezas y con menor intensidad luminosa (fig. 29).

Fig 34- Representación de la saturación.

En relación directa con la saturación se encuentra la diferencia proporcional entre el

pigmento y el vehículo (medio solvente). A mayor cantidad de vehículo corresponde

menor saturación y a mayor cantidad de pigmento con relación al medio, mayor

saturación.

Page 88: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

77 

Contraste simultáneo

Éste también puede incluirse dentro de las variables del color. Alude a la influencia

recíproca de un color con relación a otro, a la capacidad que tiene un color de modificar

a otro que se encuentra en su proximidad hacia su complementario.

Un mismo color situado sobre dos campos de color distintos se ve modificado en

dos de sus variables, matiz y valor. Por ejemplo, un naranja situado sobre un campo

verde se hace notoriamente más rojizo y por lo tanto más oscuro, ya que de su ubicación

original dentro del círculo cromático se ve desplazado hacia el rojo. Si colocamos ese

mismo color sobre un campo azul violáceo, observamos que se hace más amarillento y,

por lo tanto, más luminoso, ya que dentro del orden determinado por el círculo

cromático se desplazó hacia los amarillos (fig. 40).

Fig 35- Contraste.

Si colocamos un gris sobre un fondo anaranjado se oscurece, a diferencia de cuando

lo colocamos sobre un rojo, donde se aclara (fig. 41).

Page 89: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

78 

Fig 36- Contraste

Este cambio en la percepción se debe a un fenómeno fisiológico. Nuestra vista se

satura del color que posee mayor área dentro del espacio y, en consecuencia, tiñe del

complementario al color o colores que se encuentran en su proximidad. Así, en el

primer ejemplo el campo verde tiñe de rojo al anaranjado y el azul violáceo de naranja

amarillento (esto se puede corroborar si observamos la relación diametral de un color

con respecto a otro dentro en el círculo cromático). En el segundo ejemplo el campo

anaranjado tiñe de azul al gris y el rojo de verde (fenómeno que es apenas perceptible

con relación a las variantes de valor).[D5]

Page 90: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

79 

 

5.2 Modelo RGB 

La descripción RGB (del inglés Red, Green, Blue; "rojo, verde, azul") de un color

hace referencia a la composición del color en términos de la intensidad de los colores

primarios con que se forma: el rojo, el verde y el azul. Es un modelo de color basado en

la síntesis aditiva, con el que es posible representar un color mediante la mezcla por

adición de los tres colores luz primarios. Indicar que el modelo de color RGB no define

por sí mismo lo que significa exactamente rojo, verde o azul, razón por la cual los

mismos valores RGB pueden mostrar colores notablemente diferentes en distintos

dispositivos que usen este modelo de color. Aunque utilicen un mismo modelo de color,

sus espacios de color pueden variar considerablemente.

Para indicar con qué proporción mezclamos cada color, se asigna un valor a cada

uno de los colores primarios, de manera, por ejemplo, que el valor 0 significa que no

interviene en la mezcla y, a medida que ese valor aumenta, se entiende que aporta más

intensidad a la mezcla. Aunque el intervalo de valores podría ser cualquiera (valores

reales entre 0 y 1, valores enteros entre 0 y 37, etc.), es frecuente que cada color

primario se codifique con un byte (8 bits). Así, de manera usual, la intensidad de cada

una de las componentes se mide según una escala que va del 0 al 255.

Fig 37-Cubo RGB Fig 38-Mezcla aditiva de colores

Page 91: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

80 

Por lo tanto, el rojo se obtiene con (255,0,0), el verde con (0,255,0) y el azul con

(0,0,255), obteniendo, en cada caso un color resultante monocromático. La ausencia de

color —lo que nosotros conocemos como color negro— se obtiene cuando las tres

componentes son 0, (0,0,0).

La combinación de dos colores a nivel 255 con un tercero en nivel 0 da lugar a tres

colores intermedios. De esta forma el amarillo es (255,255,0), el cyan (0,255,255) y el

magenta (255,0,255).

Obviamente, el color blanco se forma con los tres colores primarios a su máximo

nivel (255,255,255).

El conjunto de todos los colores se puede representar en forma de cubo. Cada color

es un punto de la superficie o del interior de éste. La escala de grises estaría situada en

la diagonal que une al color blanco con el negro.[D6]

 

Fig 39-Cubo de color RGB

Page 92: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

81 

5.3 Modelo HSV 

 El modelo HSV (del inglés Hue, Saturation, Value – Tonalidad, Saturación, Valor),

también llamado HSB (Hue, Saturation, Brightness – Tonalidad, Saturación, Brillo),

define un modelo de color en términos de sus componentes constituyentes en

coordenadas cilíndricas:

Tonalidad, el tipo de color (como rojo, azul o amarillo). Se representa como un

grado de ángulo cuyos valores posibles van de 0 a 360° (aunque para algunas

aplicaciones se normalizan del 0 al 100%). Cada valor corresponde a un color.

Ejemplos: 0 es rojo, 60 es amarillo y 120 es verde.

Saturación, se representa como la distancia al eje de brillo negro-blanco. Los

valores posibles van del 0 al 100%. A este parámetro también se le suele llamar

"pureza" por la analogía con la pureza de excitación y la pureza colorimétrica de la

colorimetría. Cuanto menor sea la saturación de un color, mayor tonalidad grisácea

habrá y más decolorado estará. Por eso es útil definir la insaturación como la inversa

cualitativa de la saturación.

Valor del color, el brillo del color. Representa la altura en el eje blanco-negro. Los

valores posibles van del 0 al 100%. 0 siempre es negro. Dependiendo de la saturación,

100 podría ser blanco o un color más o menos saturado.

El modelo HSV fue creado en 1978 por Alvy Ray Smith. Se trata de una

transformación no lineal del espacio de color RGB, y se puede usar en progresiones de

color. Nótese que HSV es lo mismo que HSB pero no que HSL o HSI.

Es común, que deseemos elegir un color adecuado para alguna de nuestras

aplicaciones, cuando es así resulta muy útil usar la ruleta de color HSV. En ella la

tonalidad se representa por una región circular; una región triangular separada, puede

ser usada para representar la saturación y el valor del color. Normalmente, el eje vertical

del triángulo denota la saturación, mientras que el eje horizontal corresponde al valor

del color. De este modo, un color puede ser elegido al tomar primero la tonalidad de una

región circular, y después seleccionar la saturación y el valor del color deseados de la

región triangular.[D7]

Page 93: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

82 

Fig 40-Cono de colores del espacio HSV

 

Fig 41-Espacio de color HSV como una rueda de color.

Page 94: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

83 

 

5.4 Estudio RGB del Cielo 

Para el estudio del sistema RGB del color del cielo, se ha decidido estudiar una

librería de fotografía que consta de 28 imágenes las cuales contienen partes de cielo.

Estás imágenes han sido tomadas en distintos lugares del mundo a distintas horas y en

distintas épocas del año, esto ha sido necesario por lo explicado anteriormente, la

intensidad de la luz varia a lo largo del día aunque la mayor variación de la intensidad

se observa en las distintas estaciones del año.

El proceso seguido para la obtención de la nube de puntos, ha consistido en

seleccionar en cada una de estas 28 imágenes aproximadamente 100 puntos del cielo,

para representar las gráficas de RGB. Tras seleccionar los puntos de las 28 imágenes, la

nube de puntos finalmente está formada por un total de 2814 puntos.

En las siguientes gráficas se muestra la nueve de puntos que representan al color del

cielo en las distintas proyecciones del espacio RGB.

Page 95: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

84 

Fig 42-Representación RGB de las muestras del cielo

Page 96: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

85 

Fig 43-Muestras de color cielo proyectadas en el plano RG

Page 97: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

86 

Fig 44-Muestras de color cielo proyectadas en el plano RB

Page 98: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

87 

Fig 45-Muestras de color cielo proyectadas en el plano GB

Page 99: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

88 

5.5 Estudio RGB del césped 

Para el estudio del sistema RGB del color del césped, se ha decidido estudiar una

librería de fotografía que consta de 15 imágenes las cuales contienen partes de césped.

Estás imágenes han sido tomadas en distintos lugares del mundo con luz natural y luz

artificial. Se ha decidido utilizar fotografías con luz natural y luz artificial ya que esta

última cambia la percepción cromática.

En la obtención de puntos de estas 15 imágenes, se han seguido los mismos pasos

descritos en el punto anterior. Tras seleccionar los puntos de las 15 imágenes, la nube de

puntos finalmente está formada por un total de 1504 puntos.

En las siguientes gráficas se muestra la nueve de puntos que representan al color del

cielo en las distintas proyecciones del espacio RGB.

Fig 46- Representación RGB de las muestras del cielo

Page 100: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

89 

Fig 47-Muestras de color cielo proyectadas en el plano RG

Page 101: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

90 

Fig 48-Muestras de color cielo proyectadas en el plano RB

Page 102: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

91 

Fig 49-Muestras de color cielo proyectadas en el plano GB

Page 103: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

92 

5.6 Estudio RGB: cielo vs césped 

Ahora para ver las posiciones que ocupan las dos nubes de puntos en las distintas

proyecciones del espacio RGB, se van a confrontar estas, y así poder estudiar cual sería

la forma más sencilla y exacta de diferenciar el color del cielo del color del césped.

En las siguientes gráficas se pude ver la nueve de puntos que representan al cielo y

la nube de puntos que representan al césped, en las distintas proyecciones del espacio

RGB.

Fig 50- Representación RGB de las muestras del cielo y césped

Se puede observar en la como los puntos del cielo y el césped no coinciden en

ningún caso, esto hace posible separar los puntos del cielo y del césped utilizando

RGB.

Page 104: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

93 

Fig 51-Muestras del color del cielo y del color del césped proyectadas en el plano RG

Se pude observar como el cielo y el césped coinciden en muchos puntos, esto

hace imposible separar los puntos del cielo y del césped utilizando solo RG. Por lo que

se descarta la posibilidad de estudiar la pertenencia de un punto en RG.

Page 105: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

94 

Fig 52-Muestras del color del cielo y del color del césped proyectadas en el plano RB

Se pude observar como los puntos del color del cielo y del color del césped no

coinciden en ningún caso, esto hace posible separar los puntos del cielo y del césped

utilizando solo RG.

Page 106: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

95 

Fig 53-Muestras del color del cielo y del color del césped proyectadas en el plano GB

Se pude observar como los puntos del cielo y el césped no coinciden en ningún

caso, esto hace posible separar los puntos del cielo y del césped utilizando solo GB.

Page 107: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

96 

5.7 Conclusión RGB 

Para un buen reconocimiento de los colores se ha observado, tras analizar los

resultados obtenidos en las distintas proyecciones realizadas en los puntos anteriores

que hay dos posibilidades a la hora de desarrollar el algoritmo, aunque ambas tienen

algún inconveniente.

1. Utilización de la proyección RGB: como se puede ver en las figuras 37 – 41,

los colores del cielo y la tierra quedan claramente definidos usando esta

proyección, el único problema que se podría producir es la coincidencia de

puntos de los colores del cielo y del césped. En la figura 45 queda demostrado

que no se produce ningún tipo de coincidencia, esto es obvio ya que los colores

del cielo corresponde a la gama de azules, mientras que los colores del césped

corresponden a la gama del verde.

El inconveniente de utilizar una proyección RGB radica en la creación de

una gaussiana que sea capaz de definir una forma en 3D, esta gaussina será más

compleja que la necesaria para definir una forma en 2D.

2. Utilización combinada de las proyecciones RB y GB: mediante la utilización

única de las proyecciones de RG o GB no es posible clasificar un color, ya que

estas por separado no dan la suficiente información, pero la utilización

combinada de ambas definen claramente las tres dimensiones de RGB. Como se

puede apreciar en las figuras 47 – 48, es posible diferenciar claramente los

puntos pertenecientes a los colores del cielo y del césped.

El inconveniente de utilizar la proyección combinada de RG y GB es claro,

en lugar de tener que utilizar una gaussiana hay que utilizar dos, una para definir

los puntos de RG y la otra para definir los puntos de GB.

Finalmente se ha optado por desarrollar un algoritmo utilizando la proyección

RGB, ya que se considera que es más efectiva y además se utiliza una sola gaussiana,

Page 108: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

97 

aun siendo esta más complicada, está necesitara menos cálculos que el tener que usar

dos gaussianas una para cada proyección RG y GB.

Page 109: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

98 

5.8 Estudio HSV: Cielo 

Para el estudio del sistema HSV del color del cielo, se utiliza la misma biblioteca de

imágenes que en RGB, se utiliza la misma selección de punto, los cuales se han

convertido de RGB a HSV. La conversión de puntos de RGB a HSV se realiza de la

siguiente manera:

Sea MAX el valor máximo de los componentes (R, G, B), y MIN el valor mínimo de

esos mismo valores, los componentes del espacio HSV se pueden calcular como: [D7]

Fig 54-Conversión de RGB a HSV

En este proyecto la conversión de RGB a HSV se ha realizado mediante la función

‘RGB2HSV’ ya implementada en matlab.

En el modelo HSV se va a descartar la proyección V, esto es debido a los explicado

anteriormente, el brillo es la cantidad de luminosidad que tiene un color, por ejemplo el

verde del césped podrá variar entre un verde claro hasta un verde oliva, llegando al

negro, si se diera el caso del negro cambiaria de color, por lo que no afectaría.

Page 110: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

99 

En la siguiente gráfica se puede observar la nube de puntos que representan al cielo,

recordamos que la V se desprecia.

Fig 55-Muestras del color del cielo proyectadas en el plano HS

Page 111: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

100 

5.9 Estudio HS Césped 

Para el estudio del sistema HSV del color del césped, se utiliza la misma biblioteca

que en el análisis basado en RGB, también se utilizan los mismos punto, los cuales se

han convertido de RGB a HSV, utilizando el método explicado anteriormente.

En la siguiente gráfica se puede observar la nube de puntos que representan al cielo.

Fig 56-Muestras del color del césped proyectadas en el plano HS

Page 112: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

101 

5.10 HS Cielo y Césped 

Para analizar la capacidad de diferenciar muestras de color azul cielo de las

muestras de color verde césped, se pueden representar todas las muestras sobre el

mismo plano. Se obtiene una figura que aporta cierta información visual sobre la

posibilidad de reconocer cada categoria

En las siguiente gráfica se puede observar la nube de puntos que representan al

cielo y la nube de puntos que representan al césped.

Fig 57-Muestras del color del cielo y del color del césped proyectadas en el plano HS

Se puede ver claramente que el cielo y el césped están definidos por colores

completamente diferentes, y que la dispersión de cada uno no es muy grande. Al usar

solo dos dimensiones es más fácil de acotar el intervalo.

Page 113: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

102 

5.11 Estudio de conflictos 

5.11.1 Conflictos en RGB: interior 

Una vez analizada la posibilidad de diferenciar muestras de color azul cielo y verde

césped en la proyección HS del mapa de colores, se analiza en este apartado la

incidencia de falsos positivos. Al ajustar la técnica de clasificación descrita

anteriormente con colores que no corresponden a cielo o césped, se debería de obtener

rechazo sin embargo puede ocurrir que estas muestras se clasifiquen como cielo o como

césped dando lugar a un falso positivo. Para analizar estos conflictos se han tomado 50

puntos aleatorios de una biblioteca de fotografías de interior, que no contienen imágenes

del cielo ni del césped.

Aunque anteriormente se ha dicho que para la identificación de colores en RGB se

utilizará la proyección RGB, en este y en los siguientes apartados se seguirá mostrando

las nubes de puntos en todas las posibles proyecciones del plano RGB, para de estar

forma tener una visión más precisa de la posición que ocupan estas nubes en el modelo

RGB.

En las siguientes gráficas se puede observar la nube de puntos formada en las

distintas variables de RGB.

Page 114: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

103 

Fig 58-Muestras del color del cielo, del color del césped y de color de interior, proyectadas en

el plano RGB

Se puede observar como al representar RGB en 3D, se forman tres nubes de puntos

claramente distinguibles, donde no se producen conflictos.

Page 115: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

104 

Fig 59- Muestras del color del cielo, del color del césped y de color de interior, proyectadas en

el plano RG

Se puede observar como no se producen conflictos con la nube de puntos de las

fotos del interior.

Page 116: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

105 

Fig 60- Muestras del color del cielo, del color del césped y de color de interior, proyectadas en

el plano RB

En este caso, se aprecia un conflicto entre los puntos del césped y los puntos del

interior.

Page 117: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

106 

Fig 61- Muestras del color del cielo, del color del césped y de color de interior, proyectadas en

el plano GB

Se puede apreciar un pequeño conflicto con algunos puntos del césped y en menor

medida un conflicto con los puntos del cielo.

Page 118: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

107 

5.11.2 Conflictos en RGB: fondo marino 

El mismo tipo de análisis se puede realizar para la colección de imágenes de fondo

marino donde tampoco hay zonas de cielo o césped.

Fig 62-Muestras del color del cielo, del color del césped y de color de fondo marino,

proyectadas en el plano RGB

Se puede apreciar cómo se forman tres nubes de puntos claramente distinguibles,

donde no se producen conflictos.

Page 119: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

108 

Fig 63-Muestras del color del cielo, del color del césped y de color del fondo marino,

proyectadas en el plano RG

Se pueden ver conflictos dispersos, tanto en el césped como en el cielo.

Page 120: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

109 

Fig 64-Muestras del color del cielo, del color del césped y de color del fondo marino,

proyectadas en el plano RB

Como en el caso de RG, podemos ver conflictos dispersos, aunque en este caso, los

conflictos son mayores en el cielo que en el césped.

Page 121: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

110 

Fig 65-Muestras del color del cielo, del color del césped y de color del fondo marino,

proyectadas en el plano GB

Al igual que en RB, en este caso se producen mayor cantidad de conflictos en el

cielo que en el césped.

Page 122: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

111 

5.11.3 Conflictos en HSV: interior 

Al igual que en RGB, se pueden comprobar los conflictos producidos al tomar una

muestra de 50 puntos de la biblioteca de fotos de interior, e intentar clasificarlos en el

plano HS, se recuerda que la proyección V ha sido descartada por las razones explicadas

anteriormente.

Se puede apreciar como de los 500 puntos aleatorios pocos coinciden con los

puntos del césped o del cielo, y aunque algunos coinciden es muy difícil que al analizar

un sector de la fotografía este diera como resultado que todos ellos estuvieran dentro del

intervalo del cielo y más difícil todavía que fuera del césped.

Fig 66-Muestras del color del cielo, del color del césped y de color de interior, proyectadas

en el plano HS

Page 123: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

112 

5.11.4 Conflictos en HSV: fondo marino 

De los 500 puntos, pocos coinciden con los valores del césped y como en el caso

anterior es muy difícil que al analizar un sector de una fotografía todos los puntos

estuvieran contenidos dentro de los valores del césped. En cuanto a los puntos

coincidentes con el cielo, estos son mayores y la probabilidad de confusión con el cielo

aumenta debido a las razones obvias de que tanto el cielo como el fondo marino

contienen tonalidades azules, por lo tanto para evitar que sean confundidas será

necesario aplicar otros parámetros de clasificación además del color.

Fig 67-Muestras del color del cielo, del color del césped y de color del fondo marino,

proyectadas en el plano HS

Page 124: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

113 

5.12 Elección RGB o HSV 

En este apartado se realiza un estudio de la capacidad de clasificación de colores

utilizando la información en formato RGB y haciendo la transformación de coordenadas

a HSV, la forma de transformar RGB a HSV se explico en apartados anteriores.

El proceso de análisis consiste en realizar el ajuste de funciones de densidad de

probabilidad utilizando un conjunto de muestras de entrenamiento y posteriormente

realizar una evaluación utilizando un conjunto de muestras de test.

Para el entrenamiento y su posterior validación se ha utilizado el programa

prbfnii_w_fdp.exe el cuál ha sido desarrollada por Antonio Muñoz San Roque de la

universidad Pontificia Comillas.

Page 125: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

114 

5.12.1 RGB 

Como se ha visto en los puntos anteriores, la mejor forma de distinguir los colores

en el espacio RGB, es utilizando todas las componentes del espacio RGB, como se ha

explicado anteriormente la utilización combinada de las componentes de RB y GB, hace

más complicado el validar un punto, y con la utilización de la componente RG se

producen colisiones. Por estos motivos solo se estudia RGB, ya que se definen nubes de

puntos claramente separables.

RGB

Fig 68-Representación de los puntos de entrenamiento y de validación en RGB

Page 126: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

115 

Para el análisis de RGB se ha probado con diferentes configuraciones del número

de unidades ocultas, esto ha sido necesario por la complejidad de la nube de puntos al

estar esta en 3D.

Primera configuración:

Número de unidades ocultas = 4

Número de ciclos de entrenamiento = 1000

Grado de pertenencia > 0.95

Número de puntos de entrenamiento = 1500

Número de puntos de validación = 1500

Una vez entrenado se realiza la validación, de los 1500 puntos, solo 12 no están

dentro del conjunto de entrenamiento, es decir, el grado de acierto es del 99,20%.

Segunda configuración:

Número de unidades ocultas = 6

Número de ciclos de entrenamiento = 1000

Grado de pertenencia > 0.95

Número de puntos de entrenamiento = 1500

Número de puntos de validación = 1500

Una vez entrenado se realiza la validación, de los 1500 puntos, solo 10 puntos no

están dentro del conjunto de entrenamiento, es decir, el grado de acierto es del 99,33%.

Page 127: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

116 

Tercera configuración:

Número de unidades ocultas = 8

Número de ciclos de entrenamiento = 1000

Grado de pertenencia > 0.95

Número de puntos de entrenamiento = 1500

Número de puntos de validación = 1500

Una vez entrenado se realiza la validación, de los 1500 puntos, solo 13 no están

dentro del conjunto de entrenamiento, es decir, el grado de acierto es del 99.13%.

Page 128: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

117 

5.12.2 HSV 

Fig 69-Representación de los puntos de entrenamiento y de validación en HSV

Para el análisis de HSV se ha probado con diferentes configuraciones del número

de unidades ocultas.

Page 129: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

118 

Primera configuración:

Número de unidades ocultas = 2

Número de ciclos de entrenamiento = 1000

Grado de pertenencia > 0.95

Número de puntos de entrenamiento = 1500

Número de puntos de validación = 1500

Una vez entrenado se realiza la validación, de los 1500 puntos solo 12 no están

dentro del conjunto de entrenamiento, es decir, el grado de acierto es del 99.20 %.

Segunda configuración:

Número de unidades ocultas = 4

Número de ciclos de entrenamiento = 1000

Grado de pertenencia > 0.95

Número de puntos de entrenamiento = 1500

Número de puntos de validación = 1500

Una vez entrenado se realiza la validación, de los 1500 puntos solo 10 no están

dentro del conjunto de entrenamiento, es decir, el grado de acierto es del 99.33%.

Page 130: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

119 

Tercera configuración:

Número de unidades ocultas = 6

Número de ciclos de entrenamiento = 1000

Grado de pertenencia > 0.95

Número de puntos de entrenamiento = 1500

Número de puntos de validación = 1500

Una vez entrenado se realiza la validación, de los 1500 puntos solo 13 no están

dentro del conjunto de entrenamiento, es decir, el grado de acierto es del 99.13%.

5.12.3 Conclusión 

A partir de los resultados obtenidos en los puntos 5.11.1 y 5.11.3, se ha decidido

usar el modelo HSV mediante la proyección del plano HS, de este modelo se ha optado

por la segunda configuración. Realmente se obtiene una mejor clasificación mediante la

tercera opción, está opción al tener un mayor número de gaussianas define mejor la

forma de la nube de puntos y es por esto que excluye puntos que han sido aceptados por

la segunda opción. Sin embargo se opta por la segunda opción debido a que no hay una

gran mejora de clasificación entre la segunda y tercera opción, pero sí que es apreciable

la disminución de los cálculos al ser esta segunda opción más sencilla.

Page 131: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

120 

5.13 Descripción del algoritmo. 

5.13.1 Algoritmo azul 

En este apartado, se va a describir el funcionamiento del algoritmo que reconoce el

color por el cual está formado el cielo.

respuesta = cielohsv(imagen) 

Donde imagen es la imagen a analizar y respuesta es el resultado tras realizar el

análisis.

Una vez recibida la imagen esta se convierte a RGB y posteriormente ha HSV.

Después de convertir la imagen a HSV se determina el tamaño de las muestras de la

imagen recibida, este tamaño será del 5% del ancho y largo. Tras saber el tamaño de la

muestra se analizaran 20 muestras, estas muestras son seleccionadas aleatoriamente

pero solo del tercio superior de la imagen, para que se considere que la imagen tiene

color del azul 2 de las 20 han tenido que dar positivo como azul.

Page 132: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

121 

Fig 70-Evaluación fotografía cielo1

El resultado que devolvió el algoritmo fue que la imagen contenía color azul cielo,

de las 20 muestras las 20 dieron como resultado azul.

El funcionamiento seguido para evaluar cada una de las 20 muestras ha sido el

siguiente:

Se crea un fichero ‘vali.dat‘ el cual contiene el valor de los pixeles de las muestras

en formato HSV, se recuerda que solo se almacenan los valores de HS. Mediante el

programa prbfnii_w_fdp.exe  se evalúa el fichero vali.dat con una red que ya ha sido

creada anteriormente con un conjunto de entrenamiento el cual contenía los valores de

la nube de puntos que definía al color del cielo, esta evaluación crea un fichero llamado

‘cielo.out’. Tras la evaluación se carga el fichero ‘cielo.out’ en una matriz, recorremos

los valores de la segunda columna de dicha matriz, estos valores corresponden al grado

de pertenencia, si el grado de pertenencia es mayor al 95% se aumenta un contador

creado para saber cuántos puntos ha sido mayor al 95%. Por último, para considerar que

esa muestra como cielo, el contador tiene que tener el 95% de los puntos, es decir, el

95% de los puntos han tenido que dar un grado de pertenencia mayor al 95%.

Page 133: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

122 

1.13.1 Algoritmo verde 

El funcionamiento de este algoritmo es el mismo que el del color azul, pero en este

caso, las muestras son tomadas del tercio inferior de la imagen. La evaluación con el

programa prbfnii_w_fdp.exe se realiza con una red que ya ha sido creada anteriormente

con un conjunto de entrenamiento el cual contenía los valores de la nube de puntos que

definía al color del césped.

Fig 71-Evaluación fotografía césped7

El resultado que devolvió el algoritmo fue que la imagen contenía color verde, de

las 20 muestras las 20 dieron como resultado positivo.

Page 134: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

123 

6. RECONOCIMIENTO DE TEXTURAS

Page 135: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

124 

6. Reconocimiento de texturas 

6.1 Introducción 

La segunda fase después de analizar el color de una fotografía, es analizar su

textura. La definición de textura presenta ambigüedades, debido a que tenemos un fuerte

concepto intuitivo del término, pero la podríamos definir como:

La disposición de las características de los elementos constituyentes de algo,

especialmente los relacionados con la apariencia superficial o la calidad al tacto.

Hay diversos métodos de análisis de texturas, que se dividen en los grupos que se

presentan aquí.

• Estadísticos

• Espectrales

• Estructurales

Estadísticos:

Los métodos estadísticos emplean medidas obtenidas a partir del histograma. El

histograma es la distribución de niveles de gris en la imagen. A partir de él se podrán

caracterizar texturas con distribuciones de intensidad concretas. Una vez obtenido el

histograma podemos obtener, entre otros, los parámetros descritos. La media, los

momentos del histograma y la entropía.

Page 136: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

125 

Espectrales:

Este método utiliza las transformadas de Fourier 2D que también permite

caracterizar texturas, ya que, la frecuencia de los niveles de gris es una de las

características de una textura. A partir de la transformada de Fourier de la región que

posee la textura se calculan dos parámetros: La suma de valores a lo largo de un círculo

o a lo largo de un cierto ángulo.

Fig 72-(a) Representación de la suma de los valores a lo largo de un círculo, (b) representación

de la suma de los valores a lo largo de un cierto ángulo.

Estructurales:

Los métodos estructurales suponen que la textura está formada por una estructura

que se repite, denominada primitiva. Se intenta detectar esa primitiva y estudiar su

distribución.

[D8]

En este proyecto para analizar las texturas se han estudiado dos métodos.

A través de su histograma.

Mediante la función statxture (también basado en el histograma).

Page 137: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

126 

Estos métodos, clasifican las texturas con tres valores posibles.

Lisa: Es aquella en las que hay un color predominante y no se producen

cambios bruscos de color, como por ejemplo el cielo.

Binaria: Hay dos o más colores predominantes en la imagen, además estos

colores son claramente diferentes, el ejemplo más claro podría ser un tablero de

ajedrez.

Rugosa: Se producen cambios bruscos de color sin seguir un patrón, como

por ejemplo el mármol travertino.

Page 138: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

127 

 

6.2 A través de su histograma 

Este método es sencillo y rápido, consiste en generar un histograma agrupando los

256 valores que un pixel puede tomar en 16 tramos. Una vez generado el histograma se

estudia que proporción de los pixeles hay en cada tramo. De esta manera se pude

clasificar una textura como lisa, binaria o rugosa. Según el criterio que se explica más

adelante.

A continuación se explica cómo se ha obtenido el corte para clasificar la textura

como lisa, binaria o rugosa.

6.2.1 Textura lisa 

Se han analizado las diez primeras imágenes de la biblioteca de fotografías de cielo.

El proceso para analizar las fotografías ha sido el siguiente.

Se ha convertido la imagen a escala de grises, esto es necesario para poder emplear

el comando imhist.

A continuación se ha extraído un fragmento de la fotografía de 190x190 pixeles.

Posteriormente se ha creado el histograma representando los 256 valores en 16

intervalos y se ha almacenado en un vector los valores de los 16 intervalos del

histograma, para posteriormente poder analizarlo.

A continuación se muestra paso a paso, el proceso empleado en la obtención de los

datos de las 10 fotografías.

Page 139: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

128 

Cielo 1

Fig 73-Cielo1, marcado en un cuadrado rojo esta el fragmento seleccionado de 190x190

pixeles.

Fig 74-Fragmento del cielo de la fotografía cielo 1.

Page 140: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

129 

Fig 75-Histograma del fragmento de cielo de la fotografía cielo1.

Page 141: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

130 

Cielo2

Fig 76- Cielo2, marcado en un cuadrado rojo esta el fragmento seleccionado de 190x190

pixeles.

Page 142: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

131 

Fig 77- Fragmento del cielo de la fotografía cielo 2.

Fig 78-Histograma del fragmento de cielo de la fotografía cielo2.

Page 143: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

132 

Cielo3

Fig 79- Cielo3, marcado en un cuadrado rojo esta el fragmento seleccionado de 190x190

pixeles.

Fig 80- Fragmento del cielo de la fotografía cielo 2.

Page 144: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

133 

Fig 81-Histograma del fragmento de cielo de la fotografía cielo3.

Se puede observar en los histogramas de las tres fotografías que los valores de los

pixeles se encuentran repartidos entre dos intervalos. Esto es lógico al ser una imagen

lisa, ya que todos sus valores estarán próximos entre sí.

Page 145: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

134 

Se muestra en la siguiente tabla cuál ha sido el reparto de los valores de los pixeles

en los 16 intervalos posibles, de las 10 fotografías.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Cielo1 0 0 4 30934 5542 1 0 0 0 0 0 0 0 0 0 0Cielo2 0 0 0 0 0 0 0 0 0 18816 17665 0 0 0 0 0Cielo3 0 0 0 0 0 0 0 0 24065 12416 0 0 0 0 0 0Cielo4 0 0 0 0 0 0 4 24999 11478 0 0 0 0 0 0 0Cielo5 0 0 0 81 35982 418 0 0 0 0 0 0 0 0 0 0Cielo6 0 0 0 0 0 0 0 0 2 15177 21110 192 0 0 0 0Cielo7 0 0 0 0 0 0 0 0 0 0 0 0 7389 29092 0 0Cielo8 0 0 0 0 0 0 0 0 0 0 0 0 1 36478 2 0Cielo9 0 0 0 0 0 0 0 0 10522 25959 0 0 0 0 0 0Cielo10 0 0 0 0 0 0 0 0 6365 27810 2306 0 0 0 0 0

Tabla 25-Reparto de los valores de los pixeles.

En esta tabla se puede ver cómo la mayoría de los puntos de cada fotografía recaen

sobre dos intervalos del histograma. Esto se produce por lo explicado anteriormente, al

ser una imagen lisa los colores están muy cerca unos de otros, ya que sólo se producen

pequeñas variaciones de tonalidad en al región.

Page 146: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

135 

6.2.2 Textura binaria 

Se han analizado diez fragmentos de fotografías de la biblioteca de cielo, estos

fragmentos están compuestos por colores binarios.

El proceso empleado ha sido el mismo que para la textura lisa.

A continuación se muestra algunos ejemplos de la obtención de los puntos y sus

respectivos histogramas.

Cielo1

Fig 82- Cielo1, marcado en un cuadrado rojo esta el fragmento seleccionado de 190x190

pixeles.

Page 147: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

136 

Fig 83-Fragmento con textura binaria, de la fotografía cielo1.

Fig 84- Histograma del fragmento de la fotografía cielo1.

Cielo3

Page 148: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

137 

Fig 85- Cielo3, marcado en un cuadrado rojo esta el fragmento seleccionado de 190x190

pixeles.

Fig 86-Fragmento con textura binaria, de la fotografía cielo3.

Page 149: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

138 

Fig 87- Histograma del fragmento de la fotografía cielo3.

Page 150: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

139 

Cielo4

Fig 88-Cielo4, marcado en un cuadrado rojo esta el fragmento seleccionado de 190x190

pixeles.

Fig 89-Fragmento con textura binaria, de la fotografía cielo4.

Page 151: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

140 

Fig 90- Histograma del fragmento de la fotografía cielo4.

Page 152: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

141 

Se muestra en la siguiente tabla cual ha sido el reparto de los valores de los pixeles

en los 16 intervalos posibles, de las 10 fotografías.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Cielo1 1 265 8576 5845 414 105 70 70 83 10074 10973 5 0 0 0 0Cielo3 0 0 1 40 4764 13735 545 223 17072 101 0 0 0 0 0 0Cielo4 0 0 0 0 0 302 3776 5549 2045 15380 7542 575 484 649 179 0Cielo5 2 3041 11753 225 529 4516 2374 789 1129 1254 1551 3466 5791 61 0 0Cielo11 8 352 2070 6910 8047 1034 1385 10341 6185 133 8 4 2 1 1 0Cielo13 2 946 24483 1906 245 67 64 60 91 435 3302 4613 196 50 21 0Cielo14 0 0 0 1 12 4631 7533 1387 752 413 514 21237 1 0 0 0Cielo18 130 1129 1767 14776 2791 1117 859 1750 11853 234 12 17 19 8 5 14Cielo24 0 0 999 11778 8109 210 113 5659 9613 0 0 0 0 0 0 0Cielo27 0 4 89 2168 9251 2311 206 1523 9896 9041 453 511 1009 19 0 0

Tabla 26- Reparto de los valores de los pixeles

En esta tabla se puede ver cómo la mayoría de los puntos se reparten en dos

intervalos separados. Esto se produce, porque se está analizando dos colores diferentes,

por lo que la mayoría de los puntos caerán en dos intervalos. El grado de dispersión de

cada intervalo depende de lo uniforme que sea la subregión correspondiente a cada

color.

Análogamente si se detectan más zonas de concentración de barras, se concluye que

la imágen está tormada por tantos tonos como zonas de concentración.

Page 153: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

142 

6.2.3 Textura rugosa 

Se han analizado fragmentos de siete fotografías de la biblioteca de cielo, las cuales

contenían ciertos fragmentos de textura rugosa. Esto es, fragmentos de imágenes donde

conviven pixeles de muy variada luminosidad, más claros y otros oscuros.

El proceso empleado ha sido el mismo que para la textura lisa.

A continuación se muestra algunos ejemplos de la obtención de los puntos y sus

respectivos histogramas.

Cielo6

Fig 91- Cielo6, marcado en un cuadrado rojo esta el fragmento seleccionado de 190x190

pixeles.

Page 154: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

143 

Fig 92- Fragmento con textura rugosa, de la fotografía cielo6.

Fig 93-Histograma del fragmento de la fotografía cielo6.

Page 155: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

144 

Cielo7

Fig 94- Cielo7, marcado en un cuadrado rojo esta el fragmento seleccionado de 190x190

pixeles.

Fig 95- Fragmento de la fotografía cielo6.

Page 156: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

145 

Fig 96-Histograma del fragmento de la fotografía cielo7.

Page 157: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

146 

Cielo9

Fig 97- Cielo9, marcado en un cuadrado rojo esta el fragmento seleccionado de 190x190

pixeles.

Fig 98- Fragmento de la fotografía cielo9.

Page 158: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

147 

Fig 99-Histograma del fragmento de la fotografía cielo9.

Se puede observar en los histogramas de las tres fotografías que contienen texturas

rugosas, como los valores de los pixeles se encuentran repartidos por el histograma.

Esto es normal al contener el fragmento de la imagen distintos colores que se traducen

en valores de luminosidad.

Page 159: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

148 

Se muestra en la siguiente tabla cual ha sido el reparto de los valores de los pixeles

en los 16 intervalos posibles, de las 10 fotografías.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Cielo4 2 16 296 1466 4779 5941 5964 6329 3993 2487 3000 999 724 257 60 168Cielo6 9 115 1774 5754 7830 5158 2816 6242 1761 1601 1422 1047 776 151 24 1Cielo7 0 2 101 6996 17494 8559 2604 415 149 67 39 25 17 6 3 4Cielo9 0 0 0 212 3139 6973 9099 9182 5980 1721 158 16 1 0 0 0Cielo11 4 338 2592 13838 14937 4397 357 18 0 0 0 0 0 0 0 0Cielo14 81 1000 3858 6191 6925 6810 3744 1717 1379 1290 1372 769 694 400 229 22Cielo17 11 9401 13530 6035 3550 2004 942 488 243 104 67 34 22 12 12 26Cielo20 0 175 2123 4146 4709 4464 3434 2678 2885 4408 3118 1619 1428 739 462 93Cielo24 0 25 792 1748 2292 3388 5424 9936 11185 1657 22 5 5 2 0 0Cielo26 54 298 2540 6737 6189 3153 2680 2344 1973 1879 1995 2456 1791 920 1015 527

Tabla 27-Reparto de los valores de los pixeles

En esta tabla se puede ver cómo puntos recaen sobre varios intervalos del

histograma. Esto se produce por lo explicado anteriormente, al ser una imagen rugosa

los colores son diversos, por lo que muchos intervalos del histograma tendrán puntos.

Page 160: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

149 

6.3 Descripción del algoritmo textura 

A continuación se describe el funcionamiento del algoritmo implementado para la

clasificación de las texturas.

tipo = textura(imagen) 

El algoritmo recibe como entrada la variable ‘imagen’, que es una matriz

tridimensional “RGB”, es decir, una matriz 2D por cada uno de los colores básicos, de

una imagen o sub-imagen.

Devuelve ‘tipo’, que es un vector de cuatro posiciones, a continuación se describe

los posibles valores que puede tomar este vector y el significado de cada uno de ellos.

• Tipo(1): Puede tomar los valores 0 o 1, el valor 0 significa que la imagen no

está formada por una textura lisa, mientras que si toma el valor 1 significa

que la imagen si está formada por una textura lisa. 

• Tipo(2): Puede tomar los valores 0 o 1, si toma valor 0 esto significa que la

imagen no está formada por una textura binaria, mientras que si toma el

valor 1 significa que la imagen está formada por una textura binaria. 

• Tipo(3): Al igual que en los casos anteriores, solo puede tomar los valores 0

o 1, si toma valor 0 esto significa que la imagen no está formada por una

imagen rugosa, mientras que si toma el valor 1 esto quiere decir que la

imagen está formada por una textura rugosa. 

• Tipo(4): Indica el número de colores por los que está formado una imagen

binaria, por lo que los valores que puede tomar son los siguientes, 0 que

significa que no es una imagen binaria (por lo tanto el valor de tipo(2)

también será 0), ≥ 2 indicando que es una imagen binaria por lo que el valor

de tipo(2) será 1. Por ejemplo si toma valor 3 indica que la imagen binaria

está formada por 3 colores.

Page 161: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

150 

Cuando se realiza una llamada a textura, este algoritmo lo primero que hace es

convertir la imagen o sub-imagen, a una imagen en escala de grises. Una vez convertida

a escala de grises, se genera un histograma (mediante la función imhist) de 16

intervalos. Este histograma es almacenado en un vector (vector1) al cual se le resta a

todas sus posiciones el entero por debajo del 5.75% del total de la suma de puntos, es

decir, si la suma de las 16 posiciones del vector es de 36000 a cada posición del vector

habría que restarle 36022*0.0578 = 2071. Esto elimina todas las tonalidades poco

representativas, que se pueden considerar ruido.

El siguiente paso es almacenar en un nuevo vector (vector2), los valores que

contiene el vector1, pero teniendo en cuenta, que si este tiene un valor mayor a 0 se

almacena el valor que contenga el vector1, pero si el valor del vector1 es 0 o inferior en

el vector2 se almacenara el valor 0.

A continuación se recorre el vector2, guardando cuantas barras del histograma han

tendido un valor superior a 0 y el número de barras coninuas, de esta forma

posteriormente se podrá analizar el tipo de textura. Por ejemplo en el siguiente

histograma:

Page 162: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

151 

Fig 100-Histograma de una imagen binaria.

La línea discontinua roja, representa el corte de los 2071 puntos, por lo que solo se

tendrá en cuenta los valores que estén por encima, por lo tanto, el valor de tramo = 2,

mientras que el de continuas toma los valores de continua(1) = 2 y continua(2) = 1.

Por último se analiza las variable tramo y el vector de continua. Se pueden dar tres

posibilidades.

1. Lisa: para ser textura lisa, tiene que cumplir que el número de tramos sea

uno y el valor de continua tiene que ser menor o igual a tres.

2. Binaria: para ser textura binaria, tiene que cumplir que el número de tramos

sea mayor o igual a dos y que el valor del contador para cada tramos se

menor o igual a tres.

3. Rugosa: para ser textura rugosa, tiene que cumplir que el valor del contador

de un tramo sea mayor a tres, mientras que el número de tramos puede

tomar cualquier valor.

Page 163: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

152 

Idealmente una imagen sólo debería ser lisa, binaria ó rugosa y por lo tanto en las

tres primeras componentes del vector de resultado solo debería haber un uno. Sin

embargo se deja abierta la posibilidad de ser clasificada por varios criterios, lo cual

aporta flexibilidad y permite evaluar mejor los algoritmos.

Page 164: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

153 

 

6.4Texturas a  través de la función statxture[F1] 

Esta función se ha obtenido del libro Digital Image Processing, a continuación se

hace una breve descripción de su funcionamiento.

t = statxture(f, scale); 

Donde f es una imagen de entrada (o subimagen) y t es un vector fila de 6

elementos cuyos componentes son los descriptores, que se definen a continuación

ordenados en el mismo orden. El parámetro scale también es un vector fila de 6

elementos, cuyos componentes multiplican los elementos correspondientes de t para

propósitos escalares. Si el valor scale es omitido, se le asigna un vector por de defecto

de 6 elementos cuyos valores serán 1.

• Mean: Una medida del término medio de la intensidad.

• Standard deviation: Una medida del término medio del contraste.

• Smothness: Mide la suavidad relativa de la intensidad de una región, R es 0 para

una región de intensidad constante y se aproxima a 1 para regiones con

excursiones más largas en los valores de sus niveles de intensidad. En la

práctica, la varianza utilizada en esta medida es normalizada al rango [0,1].

• Third moment: Significa la asimetría de un histograma. Esta medida es 0 para

histogramas simétricos, positivo para histogramas asimétricos a la derecha

(sobre el significado) y negativo para histogramas asimétricos a la izquierda.

• Uniformity: Mide la uniformidad. Esta medida es máxima cuando todos los

niveles grises son iguales y desciende desde allí.

• Entropy: Una medida de aleatoriedad.

Page 165: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

154 

6.4.1 Textura lisa 

En tabla 4 se muestran los valores obtenidos en las diez fotografías analizadas

anteriormente, pero ahora con la función statxture.

Mean Standard deviation Smothness Third moment Uniformity EntropyCielo1 56,418 3,1403 0,0002 0 0,0927 3,6875Cielo2 161,3194 3,9099 0,0002 0 0,0697 3,9988Cielo3 143,8766 1,7296 0 0 0,1765 2,8054Cielo4 125,9209 3,0456 0,0001 0 0,0942 3,6344Cielo5 69,9853 2,8048 0,0001 0 0,1057 3,5046Cielo6 162,2645 5,5885 0,0005 0,0012 0,0573 4,4088Cielo7 214,7608 2,6152 0,0001 0 0,1208 3,2833Cielo8 222,2894 2,1562 0,0001 0 0,1405 3,0332Cielo9 145,8803 2,7522 0,0001 ‐0,0001 0,104 3,4832Cielo10 151,3778 6,49616 0,0006 0,0004 0,0419 4,6748

Tabla 28

Las características de las texturas lisas, respecto a estos 5 valores (la media no es

significativa) son las siguientes.

• Standard deviation: valor bajo, comprendido entre 2−6.5.

• Smothness: valor bajo, comprendido entre 0−0.0006.

• Third momento: valor bajo, comprendido entre -0.0001−0.0004.

• Uniformity: valor alto, comprendido entre 0.05−0.15.

• Entropy: valor bajo, comprendido entre 3−4.5.

Page 166: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

155 

6.4.2 Textura binaria 

En tabla 4 se muestran los valores obtenidos en las diez fotografías analizadas

anteriormente, pero ahora con la función statxture.

Mean andard deviati Smothness Third momen Uniformity EntropyCielo1 111,5 59,4168 0,0515 ‐1,1361 0,0387 5,2934Cielo3 108,2 29,4892 0,0132 0,0100 0,0456 5,0091Cielo4 148,4 26,3332 0,0106 ‐0,0207 0,0463 5,5129Cielo5 100,3 70,1094 0,0703 1,8158 0,0136 6,7850Cielo11 90,3 34,9466 0,0184 ‐0,0680 0,0138 6,4830Cielo13 69,6 61,9229 0,0557 4,4206 0,0346 5,5471Cielo14 153,6 44,1013 0,0290 ‐0,6478 0,0631 4,9845Cielo18 84,4 42,4865 0,0270 0,3421 0,0224 6,1453Cielo24 85,17 37,3890 0,0210 0,1629 0,0407 5,0397Cielo27 116,6 40,9523 0,0251 ‐0,1409 0,0138 6,4890

Tabla 29

Las características de las texturas lisas, respecto a estos 5 valores (la media no es

significativa) son las siguientes.

• Standard deviation: valor bajo, comprendido entre 26−70.

• Smothness: valor bajo, comprendido entre 0.01−0.07.

• Third momento: valor bajo, comprendido entre -1.9−4.5.

• Uniformity: valor alto, comprendido entre 0.01−0.05.

• Entropy: valor bajo, comprendido entre 5−6.8.

Page 167: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

156 

6.4.3 Textura rugosa 

En tabla 4 se muestran los valores obtenidos en las diez fotografías analizadas

anteriormente, pero ahora con la función statxture.

Mean andard deviati Smothness Third moment Uniformity EntropyCielo4 114,0791 39,5144 0,0234 0,5803 0,0077 7,2417Cielo6 95,2019 42,1775 0,0266 0,9175 0,0084 7,1876Cielo7 72,3611 16,1822 0,004 0,1277 0,0214 5,841Cielo9 108,14 22,7251 0,0079 0,0062 0,012 6,5258Cielo11 61,0878 13,9308 0,003 ‐0,0016 0,0207 5,8369Cielo14 86,4696 45,9491 0,0314 1,667 0,0079 7,3088Cielo17 43,4333 26,7221 0,0109 0,6251 0,0175 6,2711Cielo20 113,5912 52,5547 0,0407 0,7753 0,0057 7,6017Cielo24 111,7108 27,6927 0,0117 ‐0,3165 0,0128 6,5802Cielo26 108,6495 60,5981 0,0535 2,279 0,0063 7,6003

Tabla 30

Las características de las texturas rugosa, respecto a estos 5 valores (la media no es

significativa) son las siguientes.

• Standard deviation: valor alto, comprendido entre 14−60.

• Smothness: valor alto, comprendido entre 0.003−0.05.

• Third momento: valor alto, comprendido entre -0.3−02.

• Uniformity: valor bajo, comprendido entre 0.008−0.02.

• Entropy: valor alto, comprendido entre 5.8−7.6.

Page 168: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

157 

7. ANALISIS COMBINADO DE COLOR Y

TEXTURA

Page 169: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

158 

7. Análisis combinado de color y texturas 

 

En este apartado se realizara un último análisis que combina los conceptos de los

puntos anteriores, es decir, se creará un algoritmo el cuál analiza el color y las texturas

con objeto de detectar elementos concretos. Para ello es necesario realizar pequeñas

modificaciones en los algoritmos creados anteriormente. Ahora estos algoritmos no

reciben la imagen completa sino que reciben una subimagen, esta subimagen es la

muestra a analizar.

Fig 101-Representación de las llamadas a funciones

A continuación, se explicara el funcionamiento de la función reconocimiento. No se

explicará el resto de funciones ya que han sido explicadas anteriormente, solo se han

modificado los datos de entrada (subimagen en lugar de imagen completa).

Funcion:

Reconocimiento

Funcion:

Color

Funcion:

Textura

Funcion:

Continuas

Page 170: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

159 

7.1 Descripción del algoritmo reconocimiento de cielo 

En este se toman 20 muestras o subimagen. Estas muestras tienen un tamaño del

5% del ancho y largo de la imagen (ver figura Ilustración 1). Tras obtener la muestra,

esta se guarda en una matriz, seguidamente se llama a la función color, ha esta función

se le pasa la matriz convertida a HSV. Si la función color nos devuelve que la imagen

contenía cielo llamamos a la función textura. A esta última función se le pasa la matriz

convertida a escala de grises.

Si la función textura ha devuelto como resultado que es una textura lisa, es decir, la

primera posición del vector que devuelve vale 1 y el color es azul, se contabiliza el

fragmento como cielo y se incrementa un contador. Si tras evaluar las 20 muestras al

menos 2 de ellas son de color azul y textura lisa (el contador vale 2 o más), entonces la

imagen contendrá cielo.

Ilustración 1-Evaluación fotografía cielo1

Page 171: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

160 

El resultado que devolvió el algoritmo fue que la imagen contenía cielo, de las 20

muestras las 19 dieron como resultado cielo, como se verá en el capítulo de resultados.

Page 172: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

161 

7.2 Descripción del algoritmo para reconocimiento de césped. 

La segunda característica que se ha querido extraer para clasificar imágenes es

detectar si la imagen contiene césped (por ejemplo imágenes de futbol y golf).

Análogamente el reconocimiento de cielo, en el reconocimiento de césped se toman

20 muestras o subimagen. Estas muestras tienen un tamaño del 5% del ancho y largo de

la imagen . Tras obtener la muestra, esta se guarda en una matriz, seguidamente se llama

a la función color, ha esta función se le pasa la matriz convertida a HSV. Si la función

color nos devuelve que la imagen contenía césped llamamos a la función textura. A esta

última función se le pasa la matriz convertida a escala de grises.

Si la función textura ha devuelto como resultado que es una textura lisa, es decir, la

primera posición del vector que devuelve vale 1 y el color es azul, se contabiliza el

fragmento como césped y se incrementa un contador. Si tras evaluar las 20 muestras al

menos 2 de ellas son de color verde y textura lisa (el contador vale 2 o más), entonces la

imagen contendrá cielo.

Page 173: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

162 

8. DETECTOR CARAS

Page 174: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

163 

8. Detector caras 

8.1 Introducción 

Aunque se ha localizado un algoritmo desarrollado en Matlab para detección de

caras llamado Face Detection Toolbox [D11], el programa de ejemplo tiene algunos

problemas que impiden su ejecución en versiones actuales de Matlab. Por lo tanto en

este apartado se van a explicar los pasos seguidos a la hora de diseñar el algoritmo de

detención de caras. El diseño de este algoritmo se ha basado en el documento Face

Detección in Color Images IEEE TRANSACTION ON PATTERN ANALYSIS AND

MACHINE INTELLIGENCE, VOL. 24, NO.5 MAY 2002 [D9].

Para la localización de la cara dentro de una imagen, el método más sencillo y

lógico es en primer lugar la detención de los ojos y posteriormente localizar la boca en

una posición predeterminada, es decir, supondremos que la imagen estará bien ajustada

y nunca invertida o girada. La boca se buscara por debajo de los ojos centrado entre

ambos y a una distancia equivalente a la separación de los ojos.

Este algoritmo sólo es capaz de detectar si existe un rostro dentro de una imagen y

si cumple las siguientes condiciones:

• Sólo puede haber un rostro en la imagen.

• En la imagen la persona debe estar centrada de cintura para arriba.

Estas limitaciones son debidas, a la cantidad de puntos que forma un ojo en una

imagen de cuerpo entero o de medio cuerpo. Lógicamente en las de medio cuerpo el ojo

será más grande y por lo tanto el ojo estará formado por más puntos. Además la

distancia entre los ojos será mayor en la imagen de medio cuerpo que en la de cuerpo

entero. Con estas restricciones se simplifica el proceso y aumenta la fiabilidad de la

clasificación.

Antes de explicar el funcionamiento de dicho algoritmo, se explicara el modelo de

color YCBCR, utilizado tanto en la detención de los ojos como de los labios.

Page 175: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

164 

8.2 YCbCr  

[D11] YPbPr (también denominado "Y/Pb/Pr", "YPrPb", "PrPbY", "B-Y R-Y Y" o

"PbPrY") es el acrónimo que designa las componentes del espacio de color RGB

utilizadas en el tratamiento de la señal de vídeo; en particular, referidas a los cables de

video compuesto. YPbPr es la versión de señal analógica del espacio de color YCbCr;

ambas son numéricamente equivalentes, pero mientras que YPbPr se utiliza en

electrónica analógica, YCBCR está pensada para vídeo digital.

Y transporta la información de luminancia (brillo).

Pb transporta la diferencia entre la componente azul y la de luminancia (B - Y).

Pr transporta la diferencia entre la componente roja y la de luminancia (R - Y).

Fig 102-Cubo YCbCr 1 [I1]

Page 176: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

165 

 Fig 103-Cubo YCbCr II [I1]

Page 177: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

166 

8.3 Descripción algoritmo implementado 

En este apartado, se va a describir el funcionamiento del algoritmo que reconoce si

en una imagen hay una cara. Como se ha comentado, realmente detecta un retrato. Este

algoritmo está formado por cuatro funciones.

• rostro: Recibe la imagen y la convierte a YCbCr, realiza la llamada a ojos y

localizador.

• localizador: Recibe desde rostro la imagen YCbCr y el resultado del los

posibles ojos. Analiza los posibles ojos, una vez localizado los dos ojos,

llama a labios y comprueba si existe un labio en la parte inferior de los ojos

a la distancia apropiada.

• ojos: Localiza los posibles ojos y los almacena en una imagen binaria.

• labios: Localiza los posibles labios y los almacena en una imagen binaria.

A continuación se describe la lógica de cada una de las fuciones.

8.3.1 Función rostro. 

Recibe la imagen a analizar y la convierte a YCbCr.

Fig 104-Imagen recibida por la funcion rostro

Page 178: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

167 

Fig 105- Imagen convertida a YCbCr

Una vez que la imagen ha sido convertida a YCbCr, se realiza la llamada a ojos

pasándole la imagen convertida. Posteriormente, se realiza la llamada a localizador, al

cual le pasa la mitad superior de la matriz formada por los posibles ojos, ya que

suponemos que si la foto es de medio cuerpo los ojos estarán en la parte superior. Antes

de llamar a localizador se realiza un filtrado de la matriz devuelta por la función ojos. El

filtro utilizado en la matriz de los posibles ojos, consiste en eliminar todos aquellos

candidatos que estén formados por más de 5000 puntos y menos de 150.

8.3.2 Función ojos 

Recibe la imagen convertida en YCbCr y devuelve una matriz binaria en la cual el

uno son los posibles ojos.

Su lógica según se propone en [D9] es la siguiente:

Page 179: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

168 

Fig 108-Y Fig 107-Cr2 Fig 106-Cb2

Fig 110-EyeMapL Fig 109-EyeMapC

AND

Fig 111-EyeMap

Page 180: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

169 

Una vez obtenida la matriz EyeMap, se realiza una operación de dilatación sobre

esta, para obtener unos ojos mejor definidos.

Fig 112-Dilatacion

La matriz dilatada es la respuesta proporcionada por la función ojos.

Posteriormente la función rostro filtra los posibles ojos con criterios de tamaño máximo

y mínimo. El resultado obtenido para esta imagen seria:

Page 181: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

170 

Fig 113-Respuesta filtrada

8.3.3 Función labio 

 Al igual que la función ojos, recibe la imagen convertida en YCbCr y devuelve una

matriz binaria en la cual el uno son los posibles labios.

Su lógica según se propone en [D9] es la siguiente:

Page 182: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

171 

Fig 115-Cr/Cb Fig 114-Cr2

XOR

Fig 117-Diferencia

A

N

D

Fig 116-MouthMap

Page 183: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

172 

Una vez obtenida la matriz MouthMap, se realiza una operación de dilatación sobre

esta, para obtener un labio mejor definidos.

Fig 118-Imagen dilatada

La matriz dilatada es la respuesta proporcionada de la función labios.

Posteriormente la función localizador filtra los posibles labios. El resultado obtenido

para esta imagen seria:

Page 184: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

173 

Fig 119-Respuesta filtrada

8.3.4 función Localizador (basado en geometrías) 

 Esta función es la encargada de una vez localizado un ojo, comprobar si en un

región a su derecha existe otro posible ojo, este intervalo es igual a:

- Ymin = la coordenada Y del centro del primer ojo menos la altura de la

subimagen que contiene los ojos por 0.08.

- Ymax = la coordenada Y del centro del primer ojo mas la altura de la

subimagen que contiene los ojos por 0.08.

- Xmin = la coordenada X del centro del primer ojo mas el ancho de la

subimagen que contiene los ojos por 0.1.

- Xmax = la coordenada X del centro del primer ojo mas el acho de la

subimagen que contiene los ojos por 0.3.

Se trata por lo tanto de comprobaciones geométricas que asumen un valor típico de

distancias entre ojos con cierta tolerancia.

Page 185: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

174 

En el ejemplo anterior los procesos seguidos por esta función generarían los

siguientes resultados para la obtención de los ojos

Fig 120-Imagen recibida por la funcion localizador, donde se encuentran los posibles ojos

Una vez que localizado el posible ojo que se encuentra dentro del círculo rojo,

obtiene la subimagen (en esta caso, sería el cuadrado azul), la cual es analizada

posteriormente en busca de otro ojo. La subimagen obtenida en este caso sería:

Fig 121-Subimagen a analizar en busca de un posible ojo

Tras obtener los dos ojos, se intenta localizar los labios, estos deberían encontrase

en la parte inferior de los ojos centrado entre ambos, la distancia en el eje Y entre los

ojos y la boca, es aproximadamente igual a la distancia en X entre ambos ojos. Es decir:

Page 186: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

175 

Fig 122- Relaciones geométricas en Rostro2

Distancia entre ojos Distancia vertical entre los ojos y los labios

Por lo que el intervalo de búsqueda de los labios seria:

- Ymin = la coordenada Y del centro del primer ojo mas la distancia X entre ojos por 0.6

- Ymax = la coordenada Y del centro del primer ojo mas la distancia X entre ojos por 1.2

- Xmin = la coordenada X del punto medio de la distancia entre los dos ojos menos la distancia entre ojos partido de cuatro.

- Xmax = la coordenada X del punto medio de la distancia entre los dos ojos mas la distancia entre ojos partido de cuatro.

En nuestro ejemplo los resultados obtenidos serian los siguientes:

Page 187: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

176 

Fig 123-Imagen filtrada de los posibles labios

Por lo que la subimagen creada a partir de los dos posibles ojos seria.

Fig 124-Subimagen donde se deberia encontrar el labio

Una vez obtenido acierto tanto en los ojos como en los labios, la respuesta del

algoritmo seria positiva.

Page 188: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

177 

Fig 125-Resultado obtenido tras la ejecución de los algoritmos

Page 189: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

178 

9. PRUEBAS DE VALIDACION

Page 190: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

179 

9. Pruebas 

9.1 Evaluación del algoritmo de detección de cielo. 

Para ver el comportamiento del algoritmo, se han analizado todas las fotografías de

las distintas bibliotecas, distinguiendo entre los siguientes posibles resultados.

Caso1:

La fotografía analizada contiene cielo El resultado es positivo (acierto).

Caso2:

La fotografía analizada no contiene cielo El resultado es negativo (acierto).

Caso3:

La fotografía analizada no contiene cielo El resultado es positivo (fallo).

Caso4:

La fotografía analizada contiene cielo El resultado es negativo (fallo).

Page 191: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

180 

CASO 1 

Nombre  Aciertos de los 20 posibles  Resultado Cielo1  20  Acierto Cielo2  18  Acierto Cielo3  20  Acierto Cielo4  19  Acierto Cielo5  12  Acierto Cielo6  20  Acierto Cielo7  17  Acierto Cielo8  20  Acierto Cielo9  20  Acierto Cielo10  20  Acierto Cielo11  5  Acierto Cielo12  20  Acierto Cielo13  16  Acierto Cielo14  17  Acierto Cielo15  20  Acierto Cielo16  17  Acierto Cielo17  20  Acierto Cielo18  17  Acierto Cielo19  20  Acierto Cielo21  18  Acierto Cielo22  20  Acierto Cielo23  17  Acierto Cielo24  16  Acierto Cielo25  10  Acierto Cielo28  12  Acierto Césped7  2  Acierto Césped9  6  Acierto 

Tabla 31- Imágenes que contienen cielo y han sido clasificadas como cielo.

CASO 2 Nombre  Aciertos de los 20 posibles  Resultado Cielo20  0  Acierto Cielo26  0  Acierto Cielo27  0  Acierto Césped1  0  Acierto Césped2  0  Acierto Césped3  1  Acierto Césped4  0  Acierto Césped5  0  Acierto Césped6  0  Acierto Césped10  1  Acierto Césped11  0  Acierto Césped12  0  Acierto Césped14  0  Acierto 

Page 192: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

181 

Interior1  0  Acierto Interior2  0  Acierto Interior3  0  Acierto Interior4  0  Acierto Interior5  0  Acierto Interior6  0  Acierto Interior7  0  Acierto Interior8  0  Acierto Interior9  0  Acierto Interior10  0  Acierto Submarina1  0  Acierto Submarina2  0  Acierto Submarina3  0  Acierto Submarina4  1  Acierto Submarian5  0  Acierto Submarina6  0  Acierto Submarina7  0  Acierto Submarina8  0  Acierto Submarina10  0  Acierto 

Tabla 32- Imágenes que no contienen cielo y no han sido clasificadas como cielo.

CASO 3 Nombre  Aciertos  Resultado Césped13  4  Fallo Césped15  2  Fallo Submarina9  7  Fallo 

Tabla 33- Imágenes que no contienen cielo y han sido clasificadas como cielo.

CASO 4 Nombre  Aciertos  Resultado Césped8  1  Fallo 

Tabla 34- Imágenes que contienen cielo y no han sido clasificadas como cielo.

Después de analizar un total de 60 fotografías, 56 han dado un resultado positivo, y

solo 4 resultado negativo, es decir, 93.33% han sido acierto.

Page 193: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

182 

 

9.2 Evaluación del algoritmo de césped 

Para ver el comportamiento del algoritmo, se han analizado todas las fotografías de

las distintas bibliotecas, distinguiendo entre los siguientes posibles resultados.

Caso1:

La fotografía analizada contiene césped El resultado es positivo (acierto).

Caso2:

La fotografía analizada no contiene césped El resultado es negativo (acierto).

Caso3:

La fotografía analizada no contiene césped El resultado es positivo (fallo).

Caso4:

La fotografía analizada contiene césped El resultado es negativo (fallo).

Page 194: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

183 

CASO 1 

Nombre  Aciertos  Resultado Césped1  11  Acierto Césped2  13  Acierto Césped3  9  Acierto Césped4  8  Acierto Césped5  4  Acierto Césped6  7  Acierto Césped7  20  Acierto Césped8  15  Acierto Césped9  5  Acierto Césped10  14  Acierto Césped11  7  Acierto Césped12  15  Acierto Césped13  16  Acierto Césped14  6  Acierto Césped15  14  Acierto Cielo27  4  Acierto 

Tabla 35- Imágenes que contienen césped y han sido clasificadas como césped.

CASO 2 Nombre  Aciertos  Respuesta Cielo1  0  Acierto Cielo2  0  Acierto Cielo3  0  Acierto Cielo4  0  Acierto Cielo5  0  Acierto Cielo6  0  Acierto Cielo7  0  Acierto Cielo9  0  Acierto Cielo10  0  Acierto Cielo11  1  Acierto Cielo12  0  Acierto Cielo13  0  Acierto Cielo14  0  Acierto Cielo15  0  Acierto Cielo16  0  Acierto Cielo17  0  Acierto Cielo18  0  Acierto Cielo19  0  Acierto Cielo21  0  Acierto Cielo22  0  Acierto Cielo23  0  Acierto Cielo24  0  Acierto Cielo25  0  Acierto Cielo26  1  Acierto 

Page 195: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

184 

Cielo28  0  Acierto Interior1  0  Acierto Interior2  0  Acierto Interior3  0  Acierto Interior4  0  Acierto Interior5  0  Acierto Interior6  0  Acierto Interior7  0  Acierto Interior8  0  Acierto Interior9  0  Acierto Interior10  0  Acierto Submarina1  0  Acierto Submarina2  0  Acierto Submarina3  0  Acierto Submarina4  0  Acierto Submarina5  0  Acierto Submarina6  0  Acierto Submarina7  0  Acierto Submarina8  0  Acierto Submarina9  0  Acierto Submarina10  0  Acierto 

Tabla 36-Imágenes que no contienen césped y no han sido clasificadas como césped.

CASO 3 Nombre  Aciertos  Resultado Cielo27  4  Fallo 

Tabla 37-Imágenes que no contienen césped y han sido clasificadas como césped.

CASO 4 Nombre  Aciertos  Resultado Cielo8  0  Fallo Ceilo20  0  Fallo 

Tabla 38-Imágenes que contienen césped y no han sido clasificadas como césped.

Después de analizar un total de 60 fotografías, 58 han dado un resultado positivo, y

solo 4 resultado negativo, es decir, 96.67% han sido acierto.

Page 196: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

185 

9.3 Pruebas del algoritmo de identificación textura 

Se han estudiado 30 fragmentos de fotografías para ver la eficiencia del algoritmo

generado. A continuación se muestra en una tabla los resultados obtenidos y los

deseados.

Nº Fragmento  Resutado Obtenido  Resultado Deseado Acierto 1  1     0     0     0  1     0     0     0  si 2  1     0     0     0  1     0     0     0  si 3  1     0     0     0  1     0     0     0  si 4  1     0     0     0  1     0     0     0  si 5  1     0     0     0  1     0     0     0  si 6  1     0     0     0  1     0     0     0  si 7  1     0     0     0  1     0     0     0  si 8  1     0     0     0  1     0     0     0  si 9  1     0     0     0  1     0     0     0  si 10  1     0     0     0  1     0     0     0  si 11  0     1     0     2  0     1     0     2  si 12  0     1     0     2  0     1     0     2  si 13  0     1     0     2  0     1     0     2  si 14  0     1     0     3  0     1     0     3  si 15  0     1     0     2  0     1     0     2  si 16  0     1     0     2  0     1     0     2  si 17  0     1     0     2  0     1     0     2  si 18  0     1     0     2  0     1     0     2  si 19  0     1     0     2  0     1     0     2  si 20  0     1     0     2  0     1     0     2  si 21  0     0     1     0  0     0     1     0  si 22  0     0     1     0  0     0     1     0  si 23  0     0     1     0  0     0     1     0  si 24  0     0     1     0  0     0     1     0  si 25  0     0     1     0  0     0     1     0  si 26  0     0     1     0  0     0     1     0  si 27  0     0     1     0  0     0     1     0  si 28  0     0     1     0  0     0     1     0  si 29  0     0     1     0  0     0     1     0  si 30  0     0     1     0  0     0     1     0  si 

Tabla 39-Resultados obtenidos con el algoritmo de texturas

Page 197: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

186 

Después de ver los resultados obtenidos tras analizar los 30 segmentos de

fotografías con el algoritmo generado, podemos decir que la eficiencia del este es del

100% al no producirse ningún error en la clasificación.

Page 198: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

187 

9.4 Detalles de evaluación del algoritmo de reconocimiento de cielo 

Para ver si el algoritmo funciona correctamente, se ha realizado una prueba la cual

consistía en analizar una imagen completa y marcar en un recuadro aquellas secciones

de la foto que dieron como resultado cielo. El tamaño del recuadro será igual que en los

casos anteriores del 5% del ancho y largo de la imagen.

A continuación se muestran algunos resultados obtenidos.

Imagen cielo1

Fig 126-Imagen a analizar

Se puede observar en la figura 121 como muchas partes pertenecientes a la nieve

han sido confundidas con el cielo, esto es debido a que la nieve tiene textura lisa y tonos

Page 199: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

188 

azulados debido al reflejo del cielo. Un problema más importante ha surgido en sólo

siete muestras de tierra confundidas por cielo.

Fig 127- Resultado del análisis

Page 200: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

189 

Imagen cielo5: Es otro ejemplo de imagen completa donde se ha realizado 400

evaluaciones de la función de detección de cielo

Fig 128-Imagen a analizar

En la figura 129, se puede ver cómo no se ha producido ninguna confusión y

todas las partes pertenecientes al cielo han sido reconocidas como tal. Las partes de la

derecha pertenecientes al cielo no han sido clasificadas como tal debido a que no poseen

el tamaño suficiente para formar una muestra.

Page 201: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

190 

Fig 129-Resultados del análisis

Page 202: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

191 

Imagen submarina9: Se trata de una imagen submarina con textura lisa y tonos

azules.

Fig 130-Imagen a analizar

Se pude observar en la fig 131, como el algoritmo ha confundido la mayor parte

de la imagen con cielo, la parte de inferior y derecha de la imagen, no han sido

analizadas debido a que el tamaño de la muestra era mayor que el espacio sobrante.

Posiblemente si estas secciones hubieran sido analizadas, hubieran dado como resultado

cielo. Algunas partes de la raya no han sido confundidas por cielo, esto se debe a que se

observan dos colores que aunque pertenecen al cielo, al analizar la textura esta ha dado

como resultado binaria, por lo que el algoritmo no lo ha macado como cielo, ya que este

tiene textura lisa.

Page 203: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

192 

Fig 131-Resultado del análisis

Para poder clasificar correctamente esta imagen, el algoritmo de detección de color

debería ser capaza de diferenciar la tonalidad azul-cielo de azul-mar.

Page 204: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

193 

9.5 Pruebas algoritmo reconocimiento 

 

Para realizar las pruebas, se ha obtenido una base de datos con 15 fotografías, a

continuación se describe los posibles resultados.

Caso1:

La fotografía analizada contiene rostro 14/16 Aciertos.

Caso2:

La fotografía analizada no contiene rostro El Acierta en 10 de 14.

  CASO 1 Nombre  Respuesta  Resultado Rostro1  Positivo  Acierto Rostro2  Positivo  Acierto Rostro3  Positivo  Acierto Rostro4  Positivo  Acierto Rostro5  Positivo  Acierto Rostro6  Positivo  Acierto Rostro7  Positivo  Acierto Rostro8  Positivo  Acierto Rostro9  Positivo  Acierto Rostro10  Positivo  Acierto Rostro11  Positivo  Acierto Rostro12  Positivo  Acierto Rostro13  Positivo  Acierto Rostro14  Negativa  Fallo Rostro15  Negativa  Fallo Cesped3  Positivo  Acierto 

Tabla 40-Resultados obtenidos con el algoritmo rostro, analizando imágenes con rostros.

Page 205: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

194 

  CASO 2 Nombre  Respuesta  Resultado Cesped7  Negativo  Acierto Cesped8  Positivo  Fallo Cesped9  Positivo  Fallo Cesped10  Negativo  Acierto Cesped13  Positivo  Fallo Cielo3  Negativo  Acierto Cielo4  Negativo  Acierto Cielo15  Negativo  Acierto Cielo16  Negativo  Acierto Cielo18  Negativo  Acierto Cielo20  Negativo  Acierto Cielo23  Positivo  Fallo 

Submarina1  Negativo  Acierto Submarian10  Negativo  Acierto 

Tabla 41-Resultados obtenidos con el algoritmo rostro, analizando imágenes sin rostro.

De las 16 fotografías analizadas que contenían rostro han dado positivo 14 por lo

que el grado de acierto ha sido del 87.5%.

De las 14 fotografías analizadas que no contenían rostro han dado positivo 4 por lo

que el grado de acierto ha sido del 71.43%.

A continuación se muestran tres ejemplos de acierto señalando las identificaciones

que hace de ojo y boca.

Page 206: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

195 

Fig 132-Analisis rostro 4 Positivo Acierto

Se puede observar como en esta fotografía el algoritmo es capaz de identificar

perfectamente tanto los ojos como la boca, aunque en este caso solo ha identificado el

labio inferior.

Page 207: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

196 

Fig 133-Analisis rostro 3

En este caso podemos observar, que ha identificado incorrectamente los ojos y la

boca, aunque el algoritmo devolvió como resultado “positivo” y se ha contabilizado

como “acierto”. La mala ubicación de los ojos y boca es debido, a que los posibles ojos

son numerados por columnas, y el análisis se realiza por orden de los posibles ojos, y en

este caso localizo unos falsos ojos y boca antes de poder analizar los verdaderos ojos y

boca.

En un segundo paso si habría encontrado los ojos y la boca, el ojo verdadero se

encuentra entre los ojos falsos y como hemos dicho anteriormente los posibles ojos son

numerados por columnas.

Page 208: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

197 

Estimación económica

A continuación se mostrarán dos tablas, la primera con el desglose de las horas

hombre invertidas por cada miembro del equipo y la segunda con la descomposición del

precio por paquetes de trabajo del proyecto:

  DIRECTOR  JEFE PROYECTO ANALISTA PROGRAMADOR  DISEÑADOR

HORAS/HOMBRE  25  80 165 110  40

TARIFA  100,00 €  80,00 € 60,00 € 30,00 €  45,00 €

IMPORTE  2.500,00 €  6.400,00 € 9.900,00 € 3.300,00 €  1.800,00 €

TOTAL          23.900,00 € 

Tabla 42-Horas hombre

Tabla 43-Descomposición del precio por paquetes

  HORAS  TARIFA MEDIA IMPORTE

WP‐00  20 70 € 1.400,00 € 

WP‐01  50 70 € 3.500,00 € 

WP‐02  235 46.81 € 11.000,00 € 

WP‐03  90 65.56 € 5.900,00 € 

WP‐04  25 84 € 2.100,00 € 

WP‐05  15 0 € 0 € 

TOTAL      23.900,00 € 

Page 209: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

198 

Conclusiones 

Las conclusiones de un proyecto es una de las partes más esenciales del mismo,

pues en estas se culmina el trabajo de todo un año.

A continuación se explica las conclusiones obtenidas en cada uno de los

algoritmos.

Algoritmos cielo y césped 

A lo largo del proyecto se ha demostrado, que el reconocimiento de características

como pueden ser el cielo, césped, nieve, mar, etc. donde hay un color predominante y

además se pude aplicar el concepto de textura, es viable, puesto que los resultados

obtenidos así lo demuestran.

Los algoritmos desarrollados para estas dos características han obtenido un grado

de acierto del 95% aproximadamente.

El principal inconveniente que se ha observado, es la elevada carga computacional,

aunque esta solo es apreciable en fotografías con elevada resolución, debido a que se

aumenta el tamaño de las matrices. Por lo tanto, la implantación de estos algoritmos en

buscadores es posible, siempre y cuando los buscadores estén en sistemas clusterizados

o en grid.

Page 210: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

199 

Algoritmo de detección de rostros 

Las pruebas realizadas con la biblioteca de imágenes creada para este proyecto, han

sido satisfactorias, así lo demuestra el grado de acierto obtenido, este ha sido del 85%

aproximadamente.

Al igual que sucede con los algoritmos cielo y césped, el principal inconveniente ha

sido la elevada carga computacional. Aunque la implantación de este en un buscador es

posible siempre y cuando, se realicen en sistemas clusterizados o grid, no siendo posible

la localización de rostros en tiempo real, es decir, no es posible aplicarlo para sistemas

de video vigilancia, cámaras fotográficas, etc.

La realización de este algoritmo ha resultado mucho más compleja que en los

anteriores casos. Los principales inconvenientes encontrados a la hora del desarrollo de

este algoritmo han sido:

• Determinar los cortes, para la creación de las matrices binarias. Tanto para

la localización de los labios como para los ojos.

• Determinar el corte de la luminosidad de los labios.

• Determinar el corte de la luminosidad de los ojos.

• Lógica desarrollada para determinar si en la fotografía hay un rostro.

Page 211: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

200 

 Bibliografía 

 Definiciones e imagenes 

[D1]

http://catarina.udlap.mx/u_dl_a/tales/documentos/msp/zenteno_t_fa/capitulo1.pdf

[D2] www.cio.mx/3_enc_mujer/files/extensos/Sesion%204/S4-ING12.doc

[D3]

http://w3.iec.csic.es/URSI/articulos_coruna_2003/actas_pdf/SESION%208/S8.%20Aul

a%202.4/1355-SISTEMA.PDF

[D4]

http://www.upc.edu.pe/RepositorioAPS/0/13/JER/PARTICIPACIONENCONGRESOS/

Reconocimiento-Rostros.PDF

[D5]

http://www.correodelmaestro.com/anteriores/2002/noviembre/1anteaula78.htm

[D6] http://es.wikipedia.org/wiki/Modelo_de_color_RGB

[D7] http://es.wikipedia.org/wiki/Modelo_de_color_HSV

[D8]

http://www.dfmf.uned.es/actividades/no_reglada/laboratorio/segmentacion3.pdf

[D9]

http://ieeexplore.ieee.org/Xplore/login.jsp?url=http%3A%2F%2Fieeexplore.ieee.org%2

Fiel5%2F34%2F21601%2F01000242.pdf%3Farnumber%3D1000242&authDecision=-

203

[D10] http://es.wikipedia.org/wiki/YPBPR

[D11] http://www.mathworks.com/matlabcentral/fileexchange/24092

Page 212: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

201 

[I1]

http://cannes.itam.mx/Alfredo/Espaniol/Cursos/Robotica/Material/VisionAIBO.pdf

Page 213: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

202 

 

 Libros de consulta 

[F1] Rafael C.Gonzalez, Richarcd E.Woods, Steven L. Eddins “Digital Image

Processing” Pearson Prentice Hall (2004)

[AREB01] Barranco, J., “Metodología del análisis estructurado de sistemas” ,

Universidad Pontificia Comillas, Madrid 2001.

[GARC05] García, J., Rodríguez J., “Aprenda Matlab 7.0 como si estuviera en

primero”, Escuela Técnica de Ingenieros Industriales Universidad

Politécnica de Madrid, Madrid 2005.

Page 214: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

203 

Anexo A. Biblioteca imágenes cielo. 

Cielo 1

Cielo 2

Cielo 3

Cielo 4

Page 215: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

204 

Cielo 5

Cielo 6

Cielo 7

Cielo 8

Cielo 9

Cielo 10

Page 216: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

205 

Cielo 11

Cielo 12

Cielo 13

Cielo 14

Cielo 15

Cielo 16

Page 217: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

206 

Cielo 17

Cielo 18

Cielo 19

Cielo 20

Cielo 21

Cielo 22

Page 218: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

207 

Cielo 23

Cielo 24

Cielo 25

Cielo 26

Page 219: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

208 

Cielo 27

Cielo 28

Cielo1.jpg: Tignes-Francia.

Resolución: 2560x1920.

Cielo2.jpg: Seattle –Estados unidos.

Resolución: 1920x2560.

Cielo3.jpg: China.

Resolución: 2560x1920.

Cielo4.jpg: Tailandia.

Resolución: 1534x2048.

Cielo5.jpg: Cuba.

Resolución: 2048x1536.

Cielo6.jpg: Palma de Mallorca-España.

Resolución: 1600x1200.

Cielo7.jpg: Ibiza-España.

Resolución: 2048x1536.

Page 220: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

209 

Cielo8.jpg: Rivera Maya-México.

Resolución: 2048x1536.

Cielo9.jpg: Egipto.

Resolución: 2048x1536.

Cielo10.jpg: Vigo-España.

Resolución: 2048x1536.

Cielo11.jpg: Asturias-España.

Resolución: 2048x1536.

Cielo12.jpg: Comillas-España.

Resolución: 2048x1536.

Cielo13.jpg: La Rioja-España.

Resolución: 2560x1920.

Cielo14.jpg: Praga-República-Checa.

Resolución: 2560x1920.

Cielo15.jpg: Madrid-España.

Resolución: 2560x1920.

Cielo16.jpg: Cáceres-España.

Resolución: 2048x1536.

Cielo17.jpg: Lisboa-Portugal.

Resolución: 2048x1536.

Cielo18.jpg: Londres-Inglaterra.

Page 221: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

210 

Resolución: 3072x2304.

Ceilo19.jpg: Lanzarote-España.

Resolución: 3072x2304.

Cielo20.jpg: Bournemouth-Inglaterra.

Resolución: 3072x2304.

Cielo21.jpg: Segovia-España.

Resolución: 3072x2304.

Cielo22.jpg: Vancouver-Canadá.

Resolución: 2048x1536.

Cielo23.jpg: Paris-Francia.

Resolución: 2048x1536.

Cielo24.jpg: Cádiz-España.

Resolución: 2816x2112.

Cielo25.jpg: Ámsterdam-Holanda.

Resolución: 2112x2816.

Cielo26.jpg: Victoria-Canadá.

Resolución: 2048x1536.

Cielo27.jpg: Sidney-Canadá.

Resolución: 1536x2048.

Cielo28: Whistter-Canadá.

Resolución: 2560x1920.

Page 222: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

211 

Anexo B. Biblioteca imágenes césped. 

Cesped 1

Cesped 2

Cesped 3

Cesped 4

Page 223: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

212 

Cesped 5 Cesped 6

Cesped 7

Cesped 8

Cesped 9

Cesped 10

Page 224: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

213 

Cesped 11

Cesped 12

Cesped 13

Cesped 14

Cesped 15

Césped1: Campo Zaragoza (www.as.com).

Resolución: 663x489.

Page 225: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

214 

Césped2.: Campo Razing (www.as.com).

Resolución: 489x489.

Césped3.: Campo Atlético (www.as.com).

Resolución: 489x489.

Césped4: Campo Murcia (www.as.com).

Resolución: 663x489.

Césped5: Campo Barcelona (www.as.com).

Resolución: 663x489.

Césped6: Campo Sevilla (www.as.com).

Resolución: 663x489.

Césped7: (http://www.manzanillo.com.mx/2005/images/stories/media/13golf2.jpg).

Resolución: 1000x798.

Césped8: (http://lestartit.net/FotosActivitats/GolfEmporda2.JPG).

Resolución: 600x394.

Césped9:

(http://www.mondial.at/content/newsdoc/Golf%20c%20Son%20Antem%20Golf%20Cl

ub.jpg).

Resolución: 1772x1186.

Césped10: Campo Deportivo (www.as.com).

Resolución: 489x489.

Page 226: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

215 

Césped11: Campo Almería (www.as.com).

Resolución: 489x489.

Césped12: Campo Recreativo (www.as.com).

Resolución: 663x489.

Césped13: Campo Getafe (www.as.com).

Resolución: 489x489.

Césped14: Campo Villareal (www.as.com).

Resolución: 663x489.

Césped15: Campo Lokomotiv (www.as.com).

Resolución: 489x489.

Page 227: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

216 

Anexo C. Biblioteca imágenes interior. 

Interior 1

Interior 2

Interior 3

Interior 4

Page 228: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

217 

Interior 5

Interior 6

Interior 7

Interior 8

Page 229: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

218 

Interior 9

Interior 10

Interior1: (www.idealista.com).

Resolución: 300x300.

Interior2: (www.idealista.com).

Resolución: 300x300.

Interior3: (www.idealista.com).

Resolución: 650x487.

Interior4: (www.idealista.com).

Resolución: 300x300.

Interior5: (www.idealista.com).

Resolución: 650x487.

Interior6: (www.idealista.com).

Resolución: 650x867.

Interior7: (www.idealista.com).

Resolución: 650x487.

Interior8: (www.idealista.com).

Page 230: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

219 

Resolución: 600x800.

Interior9: (www.idealista.com).

Resolución: 650x487.

Interior10: (www.idealista.com).

Resolución: 650x487.

Page 231: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

220 

Anexo D. Biblioteca imágenes submarinas 

 

 Submarina 1

 Submarina 2

Submarina 3

Submarina 4

Page 232: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

221 

Submarina 5

Submarina 6

Submarina 7

Submarina 8

Submarina 9

Submarina 10

Page 233: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

222 

Anexo E. Biblioteca imágenes rostros. 

Rostro 1

Rostro 2

Rostro 3

Rostro 4

Page 234: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

223 

Rostro 5

Rostro 6

Rostro 7

Rostro 8

Page 235: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

224 

Rostro 9

Rostro 10

Rostro 11

Rostro 12

Page 236: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

225 

Rostro 13

Rostro 14

Rostro 15

Page 237: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

226 

Rostro 1: ().

Resolución: 300x300.

Rostro 2:().

Resolución: 300x300.

Rostro 3: ().

Resolución: 650x487.

Rostro 4:

(http://www.mkt.com.mx/spdominios/get_imagen_adds.php?id_archivo=10289).

Resolución: 300x300.

Rostro 5:

(http://images.google.es/imgres?imgurl=http://farm4.static.flickr.com/3642/334408

3138_32abc2bafb.jpg%3Fv%3D0&imgrefurl=http://flickr.com/photos/fernandodenogu

era/3344083138/&usg=__LcB1v4W1E6ezair9h6bdTvToSIM=&h=850&w=1272&sz=1

36&hl=es&start=630&tbnid=L7vENQOmhJ5tpM:&tbnh=87&tbnw=130&prev=/image

s%3Fq%3Dmodelos%2Bmujeres%26imgsz%3Dxxlarge%26gbv%3D2%26ndsp%3D20

%26hl%3Des%26sa%3DN%26start%3D620).

Resolución: 650x487.

Rostro 6: ().

Resolución: 650x867.

Rostro 7: (http://www.promotorasymodelos.com/galeria_ver.php?id=1682).

Resolución: 650x487.

Rostro 8: (http://www.promotorasymodelos.com/galeria.php?pag=3).

Resolución: 600x800.

Rostro 9: (http://www.promotorasymodelos.com/galeria_ver.php?id=1451).

Page 238: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

227 

Resolución: 650x487.

Rostro 10: (http://www.promotorasymodelos.com/galeria_ver.php?id=435).

Resolución: 650x487.

Rostro 11: (http://www.promotorasymodelos.com/galeria_ver.php?id=604).

Resolución: 300x300.

Rostro 12: (http://www.promotorasymodelos.com.ar/fotos/ramos_308_1.jpg).

Resolución: 300x300.

Rostro 13:

(http://www.grupoexclusive.es/castingonline/plantillamodelos.asp?Id=47480&Page

=1&Id_Tipo=10&id_subtipo=&pais=0&IdiomaWeb=1).

Resolución: 650x487.

Rostro 14: (http://eka.espacioblog.com/myfiles/eka/IMG_3398.jpg).

Resolución: 300x300.

Rostro 15: (http://farm2.static.flickr.com/1344/830109372_61352da94a_o.jpg).

Resolución: 650x487.

Page 239: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

228 

Anexo F. Código del algoritmo cielo 

**********************************************************************

function respuesta = FotoTieneCielo(imagen); rgb = imread(imagen); %muestra1 determina el tamaño de la ventana en x, mientras que muestra2 %determina el tamañan de la ventan en y tamano = size(rgb); muestra1= 0.05*tamano(1); muestra2= 0.05*tamano(2); rechazo = 0; iteracion = 0; cont = 0; while iteracion ~= 20 % seleccionamos al azar la posicion x e y x=0; y=0; while(x<=0 || x>1/3*tamano(1)) x = fix(rand()*10000); end while(y<= 0 || y>tamano(2)-muestra2) y = fix(rand()*10000); end subimagen = rgb(x:x+muestra1, y:y+muestra2, :); respuesta = EsSegmentoCielo(subimagen); if respuesta == 0 || respuesta == 1 iteracion = iteracion + 1; if respuesta == 1 cont = cont + 1; end else rechazo = rechazo + 1; end if rechazo == 40 iteracion = 20; end

Page 240: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

229 

end if cont >= 2 respuesta = 1; elseif cont < 2 && rechazo >= 4 respuesta = 2; else respuesta = 0; end respuesta = [respuesta, rechazo, cont];

**********************************************************************

function respuesta = EsSegmentoCielo(subimagen) azul = EsSegmentoAzul(subimagen); textura = TexturaSegmento(subimagen); if azul == 1 && textura(1) == 1 respuesta = 1; elseif azul == 2 && textura(1) == 1 respuesta = 2; else respuesta = 0; end **********************************************************************

function respuesta = EsSegmentoAzul(subimagen) mydir= pwd; mover= [mydir, filesep, 'azul']; cd(mover); imageHSV= rgb2hsv(subimagen); imageH = imageHSV(:,:,1); tamano = size(imageH); imageS = imageHSV(:,:,2); respuesta = 0; contsector = 0; rechazo = 0; cont2=0; cont = 0; p1=0; for i= 1 : tamano(1) for j= 1 : tamano(2) p1= p1+1;

Page 241: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

230 

vali(p1,1)= imageH(i,j); vali(p1,2)= imageS(i,j); end end save('vali.dat', 'vali', '-ascii'); % ejecuto el programa para ver el grado de pertenencia !prbfnii_w_fdp.exe azul 2 4 0 1000 0 - - vali.dat % cargo el fichero creado para comprobar ahora el grado de pertenencia % de los puntos out = load('azul.out'); tout= size(out); %miramos cuantos puntos pertenecen al cielo, si el grado de pertenencia %es mayor al 95% se aumenta el contador 1, esto quiere decir que el %punto pertenece al color azul. %Si el grado de pertenecía está entre el 0.9 y 0.95 aumentamos el %contador 2, esto quiere decir que se produce un rechazo for k=1 : tout(1); if out(k, 2)> 0.95 cont =cont+1; end if out(k,2)>= 0.90 && out(k,2)<= 0.95 cont2 = cont2+1; end end if cont/tout(1) > 0.95 contsector= 1; end if cont2/tout(1) > 0.1 rechazo = 1; end %1 contiene cielo, 0 no contiene cielo if contsector == 1 respuesta = 1; else if rechazo == 1 && respuesta ~= 1 respuesta = 2; else respuesta = 0; end end %respuesta = [respuesta, rechazo]; cd(mydir);

**********************************************************************

function tipo=TexturaSegmento(subimagen) imagenGris = rgb2gray(subimagen); histograma = imhist(imagenGris, 16);

Page 242: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

231 

suma = sum(histograma); histograma = histograma-suma*0.0575; for i=1:16 if histograma(i) > 0 num(i) = histograma(i); else num(i) = 0; end end %se recorre el vector de histograma guardando cuantos tramos han tendido %un valor superior a 0 y el número de tramos continuos, de esta forma %posteriormente se podrá analizar el tipo de textura. i = 0; j = 0; tramos = 0; while i < 16 i = i + 1; if histograma(i) > 0 j = j + 1; aux = continuas(i, histograma); cont(j) = aux(1); i = aux(2); tramos = tramos + 1; end end %para ser textura lisa, tiene que cumplir que el número de tramos sea uno y %el valor de cont tiene que ser menor o igual a cuatro. tipo(1) = 0; if tramos == 1 && cont(1) <= 4 tipo(1) = 1; end %para ser textura binaria, tiene que cumplir que el número de tramos sea %mayor o igual a dos y que el valor del contador para cada tramos se menor %o igual a tres tipo(4) = 0; if tramos >= 2 tipo(2) = 1; for i = 1:tramos tipo(4) = tipo(4) + 1; if cont(i) > 3 tipo(2) = 0; tipo(4) = 0; break; end end end %para ser textura rugosa, tiene que cumplir que el valor del contador sea

Page 243: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

232 

%mayor a cuatro, y el número de tramos es independiente. tipo(3) = 0; for i=1:tramos if cont(i) > 4 tipo(3) = 1; end end ********************************************************************** function respuesta=continuas(pos, his) cont = 0; %recorremos el vector his hasta que encontremos una posición con valor 0 while pos <= length(his) && his(pos) > 0 cont = cont +1; pos = pos +1; end respuesta= [cont, pos]; **********************************************************************

Page 244: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

233 

Anexo G. Codigo del algoritmo reconocimiento de caras. 

********************************************************************** function respuesta = rostro(imagen); foto = imread(imagen); foto = imresize(foto, 1024/max(size(foto, 2))); tamano = size(foto); imshow(foto); hold on z = rgb2ycbcr(foto); cl = 0.54; %corte labio o = ojos(z); j=1; o2 = o(1:size(o, 1)/2, 1:size(o, 2)); %paso la parte superior de la imagen, si los ojos estuvieran abajo no entraría la boca for i=1:max(o2(:)) suma=sum(sum(o2==i)); if suma<300 | suma>5000 o2(find(o2==i))=0; else o2(find(o2==i))=j; j=j+1; end end respuesta = 0; intentos=0; while intentos ~= 2 respuesta = localizador(z, o2, cl); if respuesta == 1 intentos=2; else cl=0.8 intentos=intentos+1; end end hold off

**********************************************************************

function respuesta = ojos(z)

Page 245: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

234 

y = z(:,:,1); cb = double(z(:,:,2)); cr = double(z(:,:,3)); cb2 = cb.*cb; cr_2 = (255-cr).*(255-cr); e = 1/3*(cb2+cr_2+cb./cr); en = e-min(e(:)); en = en/max(en(:)); x =sum(en(:))/(size(en, 1) * size(en, 2))*1.25; if x<0.54 x=0.54; end EyeMapC = en>x; yd = strel('ball', 5, size(en, 1)*0.12); ydd= imdilate(y, yd); yee = imerode(y, yd)+1; EML = (ydd./yee); EML1 = EML-min(EML(:)); EML1 = EML1/max(EML1(:)); EyeMapL = EML1>x; EyeMap = and(EyeMapC, EyeMapL); se = strel('disk',round(max(size(en))/300)); respuesta = bwlabel(imdilate(EyeMap, se, 'full'));

**********************************************************************

function respuesta = localizador(z, o2, cl) respuesta = 0; l = labio(z, cl); tamano = size(o2); tamano2 = size(z); j=1; for i=1:max(l(:)) suma=sum(sum(l==i)); if suma<150 | suma>5000 l(find(l==i))=0; else l(find(l==i))=j; j=j+1; end end s = regionprops(o2, 'Centroid'); %centro de todos los posibles ojos

Page 246: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

235 

i=1; while i<=max(o2(:)) centro = s(i).Centroid; %centro del ojo i x = round(centro(1)); y = round(centro(2)); ymin = round(y-tamano(2)*.08); ymax =round(y+tamano(2)*.08); xmin = round(x+tamano(2)*.1); xmax = round(x+tamano(2)*.3); %tamaño de la ventana if ymin <= 0 ymin = 1; end if ymax > tamano(1) ymax = tamano(1); end if xmin > tamano(2) xmin = tamano(2); end if xmax > tamano(2) xmax = tamano(2); end subimagen=o2(ymin:ymax, xmin:xmax); %posible ojo k=1; %recorremos los valores superiores a i, los valores de la derecha %son mayores siempre valorojos=0; for j=i+1:max(o2(:)) if find(subimagen(:)==j) valorojos=j; j=max(o2(:))+1; end end if valorojos>0 centro2 = s(valorojos(1)).Centroid; %centro del ojo2, cojo la primera posicion posible distanciaojos = centro2(1)-centro(1); puntomedio = x + round(distanciaojos/2); ymin2 = round(y+distanciaojos*.6); ymax2 = round(y+distanciaojos*1.2); xmin2 = puntomedio-round(distanciaojos/4); xmax2 = puntomedio+round(distanciaojos/4); if ymin2 <= 0 ymin2 = 1; end if ymax2 > tamano2(1) ymax2 = tamano2(1); end if xmin2 <= 0 xmin2 = 1; end if xmax2 > tamano2(2) xmax2 = tamano2(2);

Page 247: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

236 

end subimagen2=l(ymin2:ymax2, xmin2:xmax2); %posible labio valorlabio=0; for h=1:max(subimagen2(:)) if find(subimagen2(:)==h) valorlabio=h; h=max(subimagen2(:)); end end if h>0 %hay una cara respuesta = 1; [x0, y0] = find(o2 == i); [x1, y1] = find(o2 == valorojos); [x3, y3] = find(l == valorlabio); plot(y0, x0, 'r.'); plot(y1, x1, 'r.'); plot(y3, x3, 'b.'); i=max(o2(:))+5; end end i=i+1; end

**********************************************************************

function respuesta = labio(z, cl); cb= double(z(:,:,2)); cr = double(z(:,:,3)); cr2 = cr.*cr; cr2n = cr2-min(cr2(:)); cr2n = cr2n/max(cr2n(:)); uno = cr2n>0.53; co = sum(sum(cr2))/(size(cr, 2)*size(cr, 1)); di = (sum(sum(cr))/sum(sum(cb))*1/(size(cr, 2)*size(cr, 1))); n=0.95*co/di; a = cr2; an = a -min(a(:)); an = an/max(an(:)); za = an>0.8; b = n*cr./cb; bn = b-min(b(:)); bn = bn/max(bn(:)); zb = bn>0.55;

Page 248: RECONOCIMIENTO DE IMÁGENES A TRAVÉS DE SU …de imágenes a color y/o en escalas de grises, compresión de datos de imágenes, reconocimiento de imágenes y sistemas de análisis

Reconocimiento de imágenes a través de su contenido 

237 

dos = xor(za, zb); MountMapn= and(uno, dos); se = strel('disk',round(max(size(z))/300)); respuesta = bwlabel(imdilate(MountMapn, se, 'full'));

**********************************************************************