cenídet - cenidet - centro nacional de investigación y ... · la visión por computadora es un...

119
SEP SElT DGIT CENTRO NACIONAL DE INVESTIGACI~N Y DESARROLLO TECNOL~GICO cenídet MODELADO DE OBJETOS DEFORMABLES, UTILIZANDO COLOR Y TEXTURA T E S I S PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS EN CIENCIAS COMPUTACIONALES PRESENTA ISAÍAS MAY CANCHÉ CUERNAVACA, MORELOS. DICIEMBRE DE 2004

Upload: others

Post on 08-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

SEP SElT DGIT

CENTRO NACIONAL DE INVESTIGACI~N Y DESARROLLO TECNOL~GICO

c e n í d e t

MODELADO DE OBJETOS DEFORMABLES, UTILIZANDO COLOR Y TEXTURA

T E S I S PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS EN CIENCIAS COMPUTACIONALES

PRESENTA ISAÍAS MAY CANCHÉ

CUERNAVACA, MORELOS. DICIEMBRE DE 2004

Centro Nacional de Investigación cenidet y Desarrollo Tecnológico Sistema Nacional de Institutos Tecnológicos

M í 0 ACEPTACI~N DEL DOCUMENTO DE TESIS

Cuemavaca, Mor., a 19 de Noviembre del 2004

Dr. Gerardo Reyes Salgado Jefe del Departamento de Ciencias de la Computación Presente.

At’n Dr. René Santaolaya Salgado Presidente de la Academia de Ciencias de la Computación

Nos es grato comunicarle, que conforme a 10s heamientos para la obtención del grado de Maestro eii Ciencias de este Centro, y después de haber sometido a revisión académica la tesis titulada: blodelado de Objetos Deformables, Utilizando Color y Textura, realizada por el C. Isaias May Canche, y dirigida por el Dr. Raúl Pinto Elías y la M.C. Andrea Magadán Salazar , y habiendo realizado las correcciones que le fueron indicadas, acordamos ACEPTAR el documento final de tesis, así mismo le solicitamos tenga a bien extender el correspondiente oficio de autorización de impresión.

Atentamente La Comisión de Revisión de Tesis

Revisor Revisor

. C.C.P. Subdirección Académica

Departamento de Servicios Escolares Directores de tesis Estudiante

Centro Naclonal de Investigacibn cenidet y Desarrollo Tecnolbgiw Sistema Nacional de Institutos Tecnol6gicos

M l i AUTORIZACI~N DE IMPRESI~N DE TESIS

Cuernavaca, Mor., a Olde Diciembre del 2004

C. Isaias May Canche Candidato al grado de Maestro en Ciencias en Ciencias de la Computación Presente.

Después de haber atendido las indicaciones sugeridas por la Comisión Revisora de la Academia de Ciencias de la Computación en relación a su trabajo de tesis cuyo titulo es: Modelado de Objetos Deformables, Utilmndo Color y Textura, me es grato comunicarle que conforme a los heamientos establecidos para la obtención del grado de Maestro en Ciencias en este centro se le concede la autorización para que proceda con la impresión de su tesis.

Atentamente

la Computación

C.C.P. Subdirección Académica Presidente de la Academia de Ciencias de la Computación Departamento de Servicios Escolares Expediente

2 mi esposa Tere quien depositó en mí GI confinza y me apoyó para cuiminar 157

maestná, y sofire todo por aÁme un tesoro de un valor sin qua^( nuestro pequeño Z/útor isaúrr (9tipofito).

3 b persona que me Lw GI A, mi &re Euflacia y a mi padre Daniel‘ por eweñanne que trafiajando duro se @an úzs cosas.

2 mis hennanos Diego Kek (@‘obro) y Daniel (Gringo), por su apoyo, cariño y por todas úzs travesuras cuando niños.

3 mis suegros 9 t a h y Vútorpor cuiciar de m i s g r a d s amores (%re y Pofito).

3 todas aqueüh personas que me ahntaron a continuar con mis estudios.

NO me ahanzan Iaspala6rmpara agrahcer toa5 10 que me tía rlario GI VI& ...

p mi familia por su apoyo incondiuwtdy cariño.

Alcentro %hcwnaCdc investigación y Desarroh Tecnokgico QENIDE% y a todo eC personalque h60ra en esta institución por permitimie por un tiempo formar parte de este centro de invest9ación.

p[cosmTy a h SU ayuda no hu6iera d o posi6h h tenninación de este proyecto.

p mi director de tesis, ar. QúCfinto CI%&IS, y mi codirectora de tesis, w.C. Andrea Nagadán Sahzar, por compartir conmigo sus cQen&ias, consejos y conocimientos.

pccomité revltoraz Gerard0 w e s s a & d o , M.C. Matiliie Vehzco Soniy alDr. José Luis Lifián $arch, por su vafiosa d q o k i ó n en h revisión de este tra6ajo dc tesis, y por sus comentarios y sugerencias que contri6uyeron a mejorarh.

p mis maestros qaúl; Andrea, Azucena, Matiiííi, Manuel; ~q c+n, pkántara, Miriam, Fefipe, Pazos, Vzi~des y Patricia. Gracias por sus enseñanzas y compartir eqeriencias.

3 m.is compar?zros degeneración y amigos: Paco, isuíro, Manuel; Vega, Fhnhs, ISUC,

Jorge, Osshn, Viay, Erika, al^, P d i , Shih, pepe, L U ~ , Fre4, Xochitl; (y~drigo, Emilio, Nu.6ia y por 6rindanne su. amistady apoyo durante mi estancia en GEMmT

por 6rináarme su apoyo económico como 6ecari0, ya que sin

p pdefina Torres y a Raaúlqezza, porsu amlstady sus consejos.

Crac2as a todos

La visión por computadora es un área de la Inteligencia Artificial que tiene como objetivo la interpretación del mundo real a través de imágenes.

parar realizar la percepción y análisis de una imagen es indispensable el localizar los objetos y describirlos de la mejor manera El conjunto de características que describen de manera precisa un objeto o Cenómeno, constituye un modelo de representación adecuado de tal objeto.

Tradicionalmente la descripción de un objeto se realiza a traves de relaciones geometricas; sin embargo, cuando se trabaja con objetos deformables (como es el caso que compete a este trabajo de investigación), estas relaciones dificilmente se mantienen, siendo necesario el considerar otros atributos que permitan describir a este tipo de objetos como lo son el color y la tex3ura.

i;

El trabajo que se presenla consiste básicamente en modelar un objeto deiormable !

utili7mdo las caracteristicas de color y textura Para llevar a cabo dicha tarea es necesario realizar varios procesos de acuerdo al esquema de un sistema de visión presentado por [González 20021, los cuales se describen brevemente a continuación.

En la etapa de procesado se toma una imagen RGB (24 bits) para converiirla a una imagen a 256 niveles de intensidad, para lo cual se hace uso del modelo de color YIQ. A esta imagen resultante se le aplica la técnica de mapa de escalas locales para homogeneizar los niveles de intensidad presentes en la imagen.

Un objeto puede estar integrado de varias regiones y para caracterizado es necesario el considerarlas a todas ellas; sin embargo, se requiere aislar el objeto del fondo de la

medias, para la segunda etapa se implementó la técnica de crecimiento de regiones.

UM vez delimitado el objeto, éste es caracteri7ado a través de 42 variables de color y textura Para el aspecto de la forma se realiza un análisis de los cambios de posición de los movimientos presentes en el objeto..

Para verificar el cumplimiento del objetivo planteado se llevaron a cabo diversas pruebas sobre secuencias de imágenes generadas por la herramienta GrafO3D[Dím 20041. En dicha experimentación se evalúan las etapas de segmentación y caracterización, finali7ado con la reconstrucción del objeto utilizando la información del análisis de la forma (proceso inicialmente no considerado en este proyecto).

En resumen, el modelar un objeto deformable tiene una alta complejidad ya que &e puede presentar cambios en su forma, además, de la rotación, iranslación, escala; lo cual hace más dificil este proceso.

imagen. Para la primera etapa de este proceso se aplicó el algoritmo de agnipación k- 1

Computer vision is an area of Artificial lntelligence that has the objective of interpreting the red world through images.

To perform the perception and analysis of an image it is essential to locate its objects !I

and describe them in the best possible way. The set of characteristics, which describe an object or phenomenon in a precise way, constitute a suitable representation model for that object.

Traditionally, the description of an object is performed through geometric relationships; however, when deformable objects are dealt with (as is the case of this research work), these relationships are hardly maintained, so it is necessary to consider other attributes that allow the description of this find of objects, such as color and texture.

Basically, the work presented here consists of modeling a deformable object using the color and texZure characteristics. In accordance with a known vision system, to carry on this task it is necessary to perform several processes, which are briefly described next.

In the processing stage an RGB image (24 biís) is taken, with the objective or converting it into an image of 256 intensity levels, and this is done using the YlQ color model. To h s resulting image the local scales mapping technique is applied, for homogenizing the intensity levels within the image.

An object can be composed oC several regions and, to characterize it, it is necessary to consider them all; however, it is essential to isolate the object from the image background. For the first stage of this process the k-means grouping algorithm was applied, for the second stage the regions growth technique was implemented.

Once the object is delimitated, it is characteri7Rd through 42 color and texture variables. For the shape aspect, an analysis of position changes of the existing movements in the object is performed.

Several tests over sequences of images generated by the Graf03D tool were performed to verify the fulfillment of the proposed objective. in this expenmentarion the stages of segmentation and characterization are evaluated, finalizing with the rebuilding of the object using the dormation from the shape analysis (this process was not initially considered in this project).

In short, it is highly complex to model a deformable object, because the object can present changes in its shape; moreover, the existence of rotation, passage and scale, only makes this process harder.

i!

Tabla de contenido. ..................... ................................................. iv

....................

CApiTULO 1 Iniroducción.. ........

1.1.1 Tipos de objeíos .......... 1.1 Antecedentes.. .................... ............................................................ 2

1.1.2 Visión por computadora ........ ............................................................. 4

..........................................

1.2.1 Snakes Crecientes, un Método Robusto de Contornos Activos Paramétricos. 6 1.2.2 Uso de ainbutos Geométricos para la Segmentación de Imágenes Teaturizad as ............................................... ..... 8 1.2.3 Clasificación de Texturas Contenidas en Áreas con Forma Irregular Utilizando el Modelo Booleano Unidimensional ................................................... 9 1.2.4 Clasificación de Texturas Naturales Mediante K-Means ................... 1.2.5 Formas a partir de X ......................... 1.2.6 Forma a través de la textura. .............

I .3 Descnpcion del problema ........................

....................... 11 ................................ 12 ................................ 14

1.4 Propuesta de solución ........................................................................................ 15

. .,

1.4.1 Objetivo ............

1.4.3 Alcances y limit 1.4.4 Beneficios y JustificaciÓn

1.4.2 Complejidad ......

1.4.5 Metodologia de soluc¡Ón ...................................................... I .5 Organización del documento de tesis ..............................................

................................ 16 I1

....................................................... CAPITULO 2 Marco t ~ n c o 2.1 introducción ............

.................... 18

.............................. 19 .................. 20

............................... 21 ........................................ 22

............................... 22 ......... 2.4.2. I Modelos de color 2.5 Segmentación ......................................................................

2.5.1 Mapa de escalas .......................................................... 2.5. I . I Esiimación lorn1 de la es cala... ............................. 2.5. I . 2 Longitud de descripción para una imagen filtrada.. .........

2.5.1.4 Longitud de descripción total 2.5.1.5 Segmentacion de lex iuras ...................................... .................. 30

2.5.2 Histograma .................... 31 2.5.3 Método ord

.................................................................

2.5.3. I Ordenación por el mkiodo quicksort ..................... .................. 32

2.6 Caractenzación .................. ....................................... 36 ......................................... 37

2.6. I . I Estadisti 2.6.1.2Momenros ...........................................

2.6.2 Obtención del ........................................... 41 2.6.2. I Análisis del movimiento basado en la detección de puntos de interés ... 42

2.6.3 Selección de variables ................................................................................ 42 2.6.3. I Algoritmo RT .......... ......................................... 42 .........

................... CAPITULO 3 Análisis, diseño y desarrollo del sistema 44 3.1 introduccion ............................................................. .............................. 44 3.2 Adquisición de i

. ,

........................................................... 3.3 Preprocesado. .............................. 46 3.4 Segrnentacion .... ..................... 47 . I

3.4.2 Determinaci

3.4.4 Obtención de los limites del objeto ........................ ........................... 56 3.4.5 Delirnitac¡Ón de regiones de textura en sus partes constituyentes ................ 57

3.5 Caracterización ................................. 3.5.1 Caracterizar la textura ............................ 3.5.2 Inicialización de la malla (Fi

3.5.2. I Cálculo del centro de mas 3.5.2.2 Calculo de lospunto de la

3.5.3 Ajuste y registro de los cambios 3.6 Procesamiento de los datos obtenidos 3.7 Comentarios ..................................

.........................

CAPITULO 4 Experimentación y resultados .......... 4.1 Introducción. ..............

........................... 14

CAPITULO 5 Conclusiones ............ ......................... .......................

........................... ..................... ......................... 96

.............................. ........................... ....................

... 111

Lista de figuras ~i~~~ 1.1, Estructura de los proyectos del grupo de Visión Artificial del CENIDET. ... 2 ~i~~~ 1.2, Ejemplo de objetos: a) rígido, b) articulado y c) deformable ... ~i~~~ 1.3. Estructura de un sistema de visión por WmpUhdOra .................. Figura 1.4. Ejemplo de una: a) texturadetermini.~tica y b) textura esfodstica. Figura 1.5. Principio de base para la generación de la matriz de.co-ocurrencias con

.............. 6

............................................................. de 4x4 sobre 4 niveles de grises. A la

una muestra de una texhira en niveles de grises. A la derecha, la matriz de co-ocurrencias para el vector 8- (A x=l, A y=O). ......................................... 9

Tabla 1. 1. Taxonomiade forma a través de la textura Figura 1.7. Ejemplo de segmentación en el cual el fo

Figura 2. I . Convención de ejes para la representación de imágenes digitales..

Figura 2.3. Permite ver la evolución de una imagen a diferentes escalas de Figura 2.2. Cubo de colores RGB ............................................................................... 23

Figura2.4. Ilusiración de un histogama en escala de gris. ...................... emborronamiento. ................................................................

Figura 2.5. Representación simbólica de un algoritmo de agrupación Figura2.6. Características visudes.presentes en las texturas. ._

Figura 3.1. Estructura de un sistema de visión .......................................... 44

artificial. .................................................................. ..................... 45 ..................... 41

Figura 3.2. Diseño especifico del sistema y su

Figura 3.3. Modelo conceptual de la etapade segmentación. ....

n con un sistema de visión . .

Figura 3.4. Fases para obtener el número de clases utilizadas por el algoritmo de K . I ............................ agrupacion. .......................

Figura 3.5. Representación gráíica de la función de densidad gaussiana .. Figura 3.6. Modelo conceptual de la etapa de detección y registro de los

forma del objeto en términos del color y textura y su relación con la etapa de ........................... ................... 59 araderizar la textura ......................... 61

I Figura 3.8. Diagrama de bloques a d d l e de la etapa de inicialización de la malla, de los ajustes y del registro de los cambios en la forma. ............

Figura 3.9. Casos para cuando el pixel se encuentra ubicado fuera del o Figura 3.10. Casos para cuando el pixel esta dentro del objeto. .............. Figura 3.1 1. Distribución de la pantalla en OpenGL.. ...........................

Figura 4.1. Diagrama que muestra como se encuentran relacionados entre si los cosas

Figura 4.2. Imágenes de prueba, a) Textura

Figura 4.4. Archivo de texto que contiene la ruta y el nombre d

Figura45 Resultado de s e p a Figura 4.6. Archivo de

......... ..................... de prueba i ........................... y c) Texturas artifi

Figura 4.3. Resultado de segmentar en regiones la figura 4.2 a.. ................... 12

figura 4.2. ................. ...................................

'f tihe la ruta y el nombre de las imágenes de la ... .............................. ................. 73

iv

~i~~~ 4.7, Resultado de segmentar en regiones la figura 4.1 b .......................... ~i~~~ 4.8. Archivo de texto que contiene la ruta y el nombre de las imágenes de la

........................ ..... 74 F , ~ ~ ~ ~ 4.9, Imágenes de prueba; tomados del primer cuadro de la secuencia: a) Una

esfera, b) Un cono y c) Un gusano; se selecciona un área dentro del objeto.75 Figura 4.10. Imágenes formadas a partir de la selección hecha por el usuar¡o en la figura

........................................... 75 4.8 ...... ......................... Figura4.11. Mapa de &calas de cada imagen que conforman a la figura 4.9. 76 Figura 4.12. Mapa de escalas de la región SeleCCiO mi&.... Figura4.13. Resultado de la agrupación usando el K-medi

Figura 4.14. La imagen de la figura 4.12a, es dividida en 7 clases Figura 4.15. La imagen de la figura 4.126, es dividido en 6 clases Figura 4.16. La imagen de la figura 4. 12c, es dividido en 5 clases Figura 4. 17. Resultado del proceso de delimitación los objetos de la figura 4.8. ._. Figura 4.1 8. Resultado de fijar 20 puntos a la esfera del primer cuadro de la secuencia,

..........................

..............

clases, b) Se detectaron seis clases y c) Se detectaron cinco clases ............. 76

................

a) Imagen original y b) Imagen modifi.cadaparapoder apreciar los puntos en los bordes del objeto. .... .............................. 81

Figura 4-19. Figura de un cono con 16 puntos especificado por el usuario a la secuencia, a) Imagen original v b) Imagen modificada para poder apreciar los puntos en los bordes del objeto .......................................................

Figura 4.20. Figura de una gusano, con 12 puntos fijados en los limites, a) Imagen original y b) Imagen modificada para poder apreciar los puntos en los bordes

............................... tos de búsqueda v

en rojo indican las nuevas posiciones del los límites del objeto en el segundo ..................... 82

Figura 4.22. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto cuadro de la secuencia y forman lanueva malla de puntos

en rojo indican las nuevas posiciones del los límites del objeto en el tercer cuadro de la secuencia y forman la nueva malla de puntos.

Figura 4.23. Los puntos a) en color verde indican los puntos de búsqu en rojo indican las nuevas posiciones del los limites del objeto en el cuarto cuadro de la secuencia ......................

en rojo indican las nuevas posiciones del los limites del objeto en el sexto cuadro de la secuencia .................

en rojo indican las nuevas posiciones del los limites del objet, en d octavo .. .................................................................... cuadro de la secuencia.

salida, se pueden observar las coo&&= de la mallade puntos quefueron extraídos de laim agen .......

de la malla de puntos que fueron extraídos de la imagen y que han sido

Figura 4.24. Los puntos a) en color verde indic s de búsqueda y b) 10s punto I ........................................

Figura4.25. Los puntos a) en color verde indican los puntos de búsqueda y b)

Figura 4.26. Ejemplo de un archivo

Figura 4.27. Ejemplo de un archivo de salid% se pueden observar las coordenadas (x, Y)

a

convertidos a coordenadas de Opengl. ..................... Figura 4.28. Los puntos a) en color verde indican

en rojo indican las nuevas posiciones del los limites del objeto en el segundo cuadro de la secuencia y forman la nueva malla de puntos. ........................ 84

Figura 4.29. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indican las nuevas posiciones del los límites del objeto end tercer cuadro de la secuencia. ................................... ......... 85 I/

V '1

Figura 4.30. LOS puntos a) en color verde indica 10s puntos de búsqueda Y b) 10s Punto en rojo indican laS nuevas posiciones del los límites del objeto en el cuarto cuadro de la secuenci ............................ .... 85

de indican los puntos de búsqueda y b) los punto en rojo indican las nuevas posiciones del los limites del objeto en el octavo cuadro de la secuencia. ................... 85

Figura 4.32. Ejemplo de un archivo de salida d observar las coordenadas (x, y) de la malla de puntos que fueron extraidos de

Figura 4.33. Ejemplo de un archivo de salid& se pueden observar las coordenadas (x, y) de la malla de puntos que fueron extraidos de la imagen y que han sido convertidos a coordenadas de Opengl. .... 86

Figura 4.34. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indican las nuevas posiciones del los limites del objeto en el segundo

Figura4.35. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto

Figura4.31. puntos a) en co

............................................... ....

...

cuadro de la secuencia y forman la nueva malla de puntos. ........................ 86

cuadro de la secuencia y forman la nueva malla de puntos. ........................ 87 en rojo indican las nuevas posiciones del los limites del objeto en el tercer

Figura4.36. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indican las nuevas posiciones del los limites del objeto en el cuarto cuadro de la secuenc' ........................................

puntos de búsqueda y b) I en rojo indican las nuevas posiciones del los límites del objeto en el sexto cuadro de la secuencia. .................. 87

Figura 4.38. Los puntos a) en color verde indicañ los puntos de búsqueda y b) los punto en rojo indican las nuevas posiciones del los límites del objeto en e f sexto octavo de la secuencia. ..................................... 88

observar las coordenadas (x, y) de la malla de puntos que fueron mtraidos de

coordenadas (x, y)

........................... 88 Tabla 4. 6 Veinte puntos en píxeles del primer cuadro de la secuencia de una esfera ._ 89 Tabla4. 7.Centroide del primer cuadro de la secuencia de UM esfera que decrece. ..... 90 Tabla 4. 8.Distancia distancias radiales del primer cuadro de la secuencia de una esfera

Figura 4.41. Archivo de salida de la secu esfera; contiem 1% coordffiadas (x, y) del centroide y las respectivas distancias del centroide con respecto a los

...................... 91 punto de la malla .... Figura 4.42. Archivo de salida de la secuencia del cono; contiene las coordenadas (7 y)

del centroide y las respectivas distancias del centroide con respecto a los punto de la malla ................ 91

rdenadas (x, y) del centroide y las respectivas distancias del centroide con respecto a los

Figura4.37. Los puntos a) en co

................................................

............................ Figura 4.39. Ejemplo de un archivo de salida de la secuencia del gusano, se pueden

........... ................................ la imagen .......................... 88

convertidos a coordenadas de Opengl. ........................

Figura 4.40. Ejemplo de un a, se pueden observ de la malla de puntos que fueron extraidos de la imagen y que han sido

............................. ....................... que decrece ......................... 90

.....................................

.................... .................... Figura4.43. Archivo de salida de la secuencia del gusano; contien

....................... punto de la malla ................

y) del centroide y las respectivas distancias minimas y máximas. . Figura4.44. &chivo de salida de la secuenc

Figura 4.45. Archivo de salida de la secuencia del cono, contiene las morda .91 Y)

del centroide y las respectivas distancias minimas y máximas

vi

!!"

Lista de tablas Tabla 1. 1. Taxonomía de forma a traves de la textura ................................................. 13

Tabla4. 1 . Momentos normales ....................................................................... 79 ....................................................................... 79

Tabla 4. 3 Momentos Hu ....... ......... 79 Tabla 4. 4. Momentos Maitra ................................. 80 Tabla 4. 5 . Media, varianza y ..................... 80 Tabla 4. 6 Veinte puntos en p una esfera.. 89 Tabla 4. 7.Centroide del primer cuadro de la secuencia de una esfera que decrece. ..... 90 Tabla 4. 8.Distancia distancias radiales del primer cuadro de la secuencia de una esfera

Tabla 4. 2. Momentos centrales

.................................................................. que decrece. .......................... 90

... VI11

I Modelado de objetos defomablcs, utilizando color y textura

I

CAPÍTULQ 1

Introducción

L~ visión es uno de 10s mecanismos sensoriales de percepción más importanles que posee el ser humano aunque evidentemente no es exclusivo, ya que una incapacidad

no impide en absoluto el desarrollo de ciertas actividades mentales, como Pensar, resolver problemas, caminar etc. [pajares 20021.

En el intento por dotar a las máquinas de un sistema de visión aparece el concepto de Visión Arlijiciai.

El interés de los' métodos de procesamiento digital de imágenes y visión artificial se fundamenta en dos áreas principales de aplicación:

a) Mejora de la calidad de la imagen para la interpretación humana

b) Procesamiento de los datos de la escena para la percepción de las máquinas de forma autónoma.

Desde 1964 hasta nuestros días, el campo de procesamiento de imágenes ha crecido enormemente y sus técnicas se usan ahora para resolver una gran variedad de problemas [Pajares 20021. Aunque a menudo dichos problemas no están relacionados, requieren comúnmente métodos capaces de realzar y extraer la información contenida en las imágenes para su interpretación y análisis.

De lo anterior y desde una perspectiva general, la visión por computadora, busca resolver problemas relacionados con la percepción del mundo real a tra& de imágenes digitals. Es dear, lo importante dada una imagq es su posible interpretación, para lo cual es necesario identificar o reconocer correctamente los objetos que se encuentran en ella [Nalwa 19931.

Para poder proporcionar una interpretación de una imagen, la visión por computadora, se auxilia de diferentes técnicas que permiten la representación de UM =cena a partir del análisis de imágenes. Dos de esas técnicas son el análisis de la textura y el análisis del color, las cuales son dos de las seilales de percepción visual más importantes que dan información acerca de las superficies de una escena. Aunque históricamente y visualmente comparten un papel común en las escenas, han sido estudiadas separadamente en la visión por computadora, debido a la dificultad que ambas presentan.

En una imagen, la información visual percibida es procesada en distintas formas con base en las características particulares de la tarea a reaii7a, de tal forma que se obtenga una descripción y representación de los objetos a partir del análisis de las ¡-enes tratadas. La calidad del modelo y la descripción de los objetos que integran UM imagen

1

Capitulo i Introducción

tienen enorme influencia en &I éxito o' .fracaso en etapas posteriores como el reconocimiento. Por tal motivo es recomendable trabajar con aquellas características que s e i las más discriminantes y que .mejor describan a un objeto. Estas descripciones pueden estar basadas en modelos, apariencia, o una combinación de ambos [Vergara 20021.

Dentro del procesamiento digital de imiígenes, de acuerdo con [Gonzalez 20021, un !'

patrón o un modelo es una descripción estructural o cuantitativa de un objeto, donde un objeto es un concepto con el cual se representan las instancias sujetas a estudio.

'1

1.1 Antecedentes 'I

It Actualmente en el Centro Nacional de Investigación y Desarrollo Tecnológico (cenidet) se cuenta con una herramienta que permite caracterizar objetos deformables, dicha herramienta toma en c,uenta el contomo del objeto [Orbe 20031. Cuando el contorno no

los límites del objeto, como es el color y la textura. puede establecerse y utilizarse, es necesario recurrir a otras características para definir

I:

La figura 1.1 muestra los proyectos relacionados con el presente trabajo de investigación, cabe mencionar que esto no significa que sea necesario conocer o abarcar todos los temas anteriores, especificamente el trabajo de investigación toma algunos conceptos o se apoya en las dos últimas tesis desarrolladas recientemente (Modelado de objetos al/üj7exibles, [Orbe 20031 y Reconocimiento de texturas artificiales, [Vergara 20031).

MTEGRACION DE PROYECTOS

Localiwcibn & Remnmiriento de Rcmnocimicnio de mnra

........................

eStadiaica I '..

I ............... .... : L.. i cumh<nsuale. ' .; 4

Módulo de conocimiento iutddigcrúe

Figura 1.1. E-ctura de los proyectos del grupo de Visión Artificial del CENIDET.

2 I!

Modelado de objetos deformables, utilizando color y iextwa

En las siguientes secciones se exponen los temas básicos usados para la realización de este proyecto: sistema de visión por computadora; definición y tipos de texturas que existen en el área de procesamiento de imágenes, conceptos sobre color, así mismo se presenta el concepto de objeto deformable, rígido y articulado.

1.1.1 Tipos de objetos

En el mundo real es posible enconirar diferentes tipos de objetos: nidos, &culadOS y no rígidos (alfafiexibles o deformables), los cuales se describen a continuación [Herrera 20041.

14

a) Objetos rígidos: Son aquellos que presentan las mismas características en un lapso determinado, siempre muestran las mismas relaciones geoméWicas. Por I,

ejemplo un lápiz, una mesa, un libro, etc. (ver figura 1.2(a)).

b) Objetos articulados: Presentan algunos cambios, en un lapso determinado, pero sin embargo, estos cambios son con respecto a uno o varios ,puntos de articulación o de desplazamiento. Ejemplo de este tipo de objetos son: las tijeras, las pinzas eléctricas, el brazo de un robot, etc. (ver figura i.2(b)).

c) Objetos defombles: Este tipo de objetos presentan una gran capacidad de transformaciones, en un lapso determinado, generando una gran cantidad de instancias del objeto que lo describen de manera distinta en cada cuadro, debido a lo anterior se vuelve más complicado obtener una descripción única. Ejemplos de este tipo de objetos son: la bocq la mano de un ser humano, una lombrii: elc., (ver figura i.2(c)).

a) b) C)

Figura 1.2. Ejemplo de objetos: a) rígido. b) articulado y c) deformable.

Es importante remarcar que en la presente investigación se trabajó con objetos deformables, que como se mencionó anteriormente son capaces de presentar deformaciones en un lapso determinado, esto incrementa la complejidad y al mismo tiempo surge la necesidad de trabajar con secuencias de imágenes, ya que de otra manera no se podna observar y caracterizar sus deformaciones.

1

3

Capitulo 1 lntr»ducción

1.1.2 Visiónpor computadora

El temino “Visión por Computadora” deniro del campo de la Inteligencia Artificial puede considerarse como: “La descripción de la deducción automática de la estructura y propiedades de un mundo hidimensional posiblemente dinámico a partir de una o varias imágenes bidimensionales de ese mundo” [Nalwa 19931.

Las etapas de un sistema de visión por computadora de acuerdo con [González ZOOZ] son: la adquisición de la imagen, el preprocesado, la segmentación, la representación y la descripción, y por último el reconocimiento e interpretación Sin embargo, no en todo sistema de visión artificial es necesario contar con todas las etapas, esto dependerá mucho del tipo de aplicación que se pretenda desarrollar; para el caso que compete a esta investigación sólo se consideraron los dos primeros niveles de los tres que contiene el sistema de visión artificial, esto es debido a que sólo se obtiene el modelo de los objetos, es decir, como resultado de está investigación se tiene ai fml una descripción del objeto sujeto a eshidio, al cual se le denomina modelo. En la figura 1.3 se puede observar cómo es que se encuentran relacionadas las etapas antes mencionadas.

I Entrada

Sdida

Figura 1.3. Estructura de un sistema de visi6n por computadora de acuerdo con [Godlez ZOOZ].

A continuación se dan los conceptos de cada una de las etapas fundamentales que comprende un sistema para el procesamiento digital de imágenes:

Adquisición de la imagen: Consiste en obtener una imagen digital. Se necesita un sensor de imágenes y la posibilidad de digitalizar la señal producida por el sensor (cámara, escáner, etc.). .

Preprocesado: Consiste en transformar la imagen de forma que se aumente las probabilidades de éxito en los procesos posteriores. Para lo cual se usan técnicas de cambio del contraste o eliminación del ruido.

Segmenración: Es el proceso de dividir la imagen de entrada en sus partes constituyentes u objetos. Es una de las etapas más dificiles del tratamiento digital de imágenes, ya que un proceso de segmentación a la ligera retrasa la solución satisfactoria de un problema de reconocimiento de los objetos en las imágenes. Como resultado de este proceso se tienen lo datos de los pixeles en bruto que constituyen el contorno de una región o todos los puntos de un objeto determinado.

4

Modelado de objetos defmables, utilizando color y textura

. Representacion y Descripción: Esta etapa da la solución para transformar 10s datos del pixel en bruto a una forma adecuada para ser tratad0 posteriormente por un algoritmo de reconocimiento de patrones. En esta fase se procede a la especificación de métodos para la desaipción de los datos de forma que resalten los rasgos de interés. La desaipción que se rediza, es para extraer rasgos con alguna información cuantitativa de interés o que sean fundamentales para diferenciar un objeto de otro.

Reconocimiento e Interpretación: El primero es el proceso que asigna una etiqueta a un objeto basándose en la información proporcionada por sus descriptores. El segundo, implica asignar significado a un conjunto de objetos reconocidos.

Base de conocimienfos: El conocimiento sobre algún dominio del problema se encuentra codificado en un sistema de procesamiento de imágenes como una base de conocimientos. Esta base de conocimientos puede ser tan sencilla como detal1.w las regiones de una imagen, donde se sabe que se ubica la información de interés, l i t a n d o así la bisqueda que ha de realizarse para hallar tal información.

1.1.3. Texturns

La textura es un concepto que se encuentra íntimamente ligado al trabajo desarrollado, ya que es parte del nombre de la tesis, el cual es tratado brevemente en el siguiente apartado.

Desde hace ya algunas décadas se ha observado un desarrollo acelerado en el estudio de las texturas (reconocimiento, caracterización, síntesis, etc.). Aunque no existe una definición formal de textura, este descriptor proporciona intuitivamente medidas de propiedades tales como suavizado, rugosidad y regularidad.

Una aproximación de cómo se define una te>rtura es: “Las texturas están compuestas de un pequeño número de tipos similares de átomos, conocidos como textones, que se repiten en posiciones y orientaci6n casi regulares al azar”, [Verpara ZOOz].

Las texhiras frecuentemente se han clasificado en ‘dos categorías: Texturas deterministicus o artificiales y Texturas estocásticas o naturales.

Textura, determinísfica: es caracterizada por un conjunto de primitivas y. una regia de colocaci6n (por ejemplo, un mosaico del piso). Estas son creadas por el hombre por medio de patrones repetitivos, en otras palabras tiene una distribución uniforme de sus unidades básicas (texton), ver figura 1.4(a).

Texturas estocástims: no se tienen primitivas facilmente identificables. Ejemplo de estas son las creadas por la nahiraeza, las cuales están integradas por patrones irregulares (la corteza, el pasto, etc.). La unidad básica de una tortura natural es el fractal, haciendo más complejo su tratamiento, ver figura 1.4(b).

::

5

capiíuio 1 Introducción

Figura 1.4. Ejemplo de una: a) textura dererminisfim y b) textura esiocártica

I.1.4. Color

El color es otro concepto íntimamente relacionado con el tema tratado el cual es definido a continuación y que junto con la textura ayudaran a entender de una manera miis fácil los planteamientos posteriores, desarrollados en el presente documento.

El color es una sensación fisiológica producida por la acción .de ondas electromagnéticas específicas en los receptores nerviosos de la retina. Es decir, su origen primario es una distribución de energía electromagnética en el espectro visible.

Las imágenes están originalmente en formato de color Red-Green-Blue (RGB). Esta caractenstica se expresa en la primera ley de Grassman: cualquier color puede representarse como la combinación de tres atributos primarios. Estos atributos pueden ser distintos (como distintas bases en un espacio vectorial), siendo los más comunes en computación gráfica los tres niveles de los colores'primarios (RGB) [Pajares 20021.

1.2 Estado del Arte

Los trabajos realizados en visión son complejos y en cada etapa de un sistema de visión tienen inmersos muchos aigoritmos, lo cual refleja lo dificil de las tareas de visión, en este apartado, se comentarán algunos trabajos relacionados con la segmentación y caracterización de objetos presentes en las imágenes, esto con la finalidad de dar un panorama general de la literatura entorno a el trabajo desarroiiado.

I.2.I Snakes Crecientes, un MeMeMeMeMeMeMeMeMeMeMeMeMeMeMeMeMeMeMeMe Robusto de Contornos Ad»tos Paramétricos [Marroquin 19991

Los autores desarrollaron un método que permite la detección de varios contornos simultáneamente y resuelven el problema de la bifurcación, así mismo, se ajustan a cualquier topologia que presenten los bordes del objeto en estudio, generando descripciones complejas, las cuales son resueltas en post-proceso. Adicionaimente, en los métodos hasta ahora conocidos la posición de inicio del snake es proporcionada por el usuario, para evitar esta dependencia, en el trabajo reportado se presenta un método automatico de iniciaiización. Los snakes o contornos activos param&ncos, son curvas

6

Modelado de objetos defmabies, uWizando color y textura

asociadas a un potencial, con una dinámica particular. Estos snake (serpientes), inician como una curva abierta en las zonas donde se presentan valores altos de la magnitud del gradiente, el cual crece por los extremos del contorno de los objetos contenidos en una imagen, esto lo hace mientras minimiza la función de energía asociada. El uso de estos snakes se ha extendido a las áreas de la ciencia donde la segmentación y el reconocimiento es una importante área Los contornos activos se pueden clasificar en dos grandes gnipos:

1. Los contornos paramétricos (conocidos mejor como snakes). 2. Los geométricos (a base de curvas geodésicas).

Los snakes se introdujeron como splines (curvas) miadas por fuerzas externas e influenciadas por fuerzas internas; a estas curvas se les asocia a una función de energía, cuya minimización permite encontrar contornos suaves, que se encuentran cerca de los bordes de los objetos contenidos en las imágenes. Con todo esto los snakes permiten describir topologías complejas, incluyendo el caso de objetos no conectados o con bifurcaciones en los contornos, permiten el trabajo con imágens que contienen altos niveles de ruido.

Los pasos generales para implementar un algoritmo de este tipo son los que se describen a continuación:

1. 2.

3.

4.

Se plantan semillas en los lugares de dx i rna magnitud del gradiente. Las semillas constan de dos parüculas. Estas comienzan a alejarse a lo largo de las regiones con el gradiente mhximo, y a medida que se alejan, se insertan más partículas. Cuando un snake se'encuentra con otro, ésta se funden, ya sea formando curvas cerradas o uniones tipo T. Las uniones tipo T se analizan en un post-proceso, con la finalidad de escoger la configuración de menor energía

En conclusión la técnica presentada en el artículo, da una solución alternativa a los problemas que hasta el momento con estas técnicas no se habían resuelto, dando con esto descripciones muy satisfactorias en imágenes con ruido impulsivo, con ruido gaussiano y con ruido de moteado. Con esta técnica obtener topologías complejas, no es una limitante, y permite además, trabajar simultaneamente maS de un contorno. La posición inicial se realiza en forma automática, un filtrado por épocas permite tener ai usuario un control visual del desarrollo del contorno. La bifurcación es resuelta y el post-proceso permite encontrar las configuraciones más económicas. Demostró en general tener un comportamiento muy bueno en la solución de los problemas mác comunes que se presentan en la determinación de contornos con esta técnica

Comen tanos

La técnica analizada tiene un comportamiento robusto, los snakes fueron aplicados en un proyecto de investigación en el CENIDET [Orbe 20031 en el cual se reporta que los snakes presentan deficiencias en imágenes cuyos objetos se confunden con el fondo, por este motivo el uso de esta técnica queda descartado para el tema que se pretende trabajar, adicionalmente no permite trabajar con las caracteristicas de color y textura las cuales son la que se usaron para el desarrollo de el trabajo planteado.

Capítulo I introducción

1.2.2 uso & atributos Geoméiricos para la Segmentación de Im&geiies Te-k-htriZdU [Olivares 19991

El problema del analisis, clasificación y segmentación de imágenes texturindas es amplio, Los campos de interés van desde el control de calidad, segmentación de escenas, imágenes satelitales, pasando por las aplicaciones biomédicas, entre otros. Las texturas se catalogan en dos grupos, por un lado las macro - texturas o texturas de grano grueso y por otro lado las micro-texturas o texturas de grano fino. Para la caracterización y segmentación del primer grupo, se utilizan los métodos estructurales, para el segundo se aplican métodos estadísticos. Este trabajo concretamente se basa en el análisis y clasificación de texturas naturales de grano fino.

A partir de una matriz de co-ocurrenciq se realiza Una descomposición en valores y vector6 propios. Esta matriz será utilizada para describir la forma geométrica de la textura, los tributos utilizados son el volumen, la forma y el bguio [Olivares 19971.

La matriz de co-ocurrencia (Mcooc), ha sido objeto de gran utiiidad en la clasificación y segmentación de micro-texturas. La Mcooc representa la dependencia espacial entre dos niveles de gris; formada por un vector dado, definiendo la separación espacial entre dos pixeles sobre los cuales se calcula la dependencia de niveles de gris. Concretamente, la matriz de co-ocurrencias es una mahiz cuadrada de talla menor o igual al número de niveles de gris, donde la intersección de la linea i, de la columna j representa el número de P a r i a s de Puntos separados por 6 tal que el primero tenga el nivel i y el s e w d o el nivelj. Todos los componentes son divididos por el número total de parejas analizadas (Figura 1.5 y 1.6).

111\.21 di.

Figura 1.5. Principio de base pan la generación de la matriz de coocurrencias con 6 fijo

8

Modelado de objeios defmables, utilizando color y textura

hl,,,,

Figura 1.6. Ejemplo para una imagen de 4x4 sobre 4 niveles de gtises. A la izquierda, una muestra de una texiura en niveles de g i s e s . A la derecha, la matriz de co-ocurrencias para el vector 6- (A x=l, A y=O).

A partir de la matriz de co-ocurrencias, se extraen parámetros como: el contraste, el momento angular de segundo orden, entropía, etc. Estos parámetros permiten caracterizar la matriz y a través de ella, la textura misma. El parhetro de contraste mide la repartición de los coeficientes de la mabiz, con respecto a la diagonal principal; el momento angular de segundo orden da una idea de la homogeneidad de la textura, es sensible a los valores grandes de la matriz de co-ocurrencia La elección del parámetro se encuentra estrechamente ligada a la granularidad y orientación de la textura

Comentarios

El articulo presenta una técnica para segmentax imágenes conformadas por texturas naturales, así mismo presenta una clasificación de los tipos de texturas, con lo que se avala lo mencionado en la sección 1.1.3, donde se menciona la existencia de dos tipos de texturas las artificiales y las texturas naturales, adicionaimente la literatura reporta que las matrices de co-ocurrencia tienen un alto costo computacional; como dato se tiene que [Vergara 20031, reportó que para obtener tales matrices, el sistema proporciona resultados en 1.5 minutos para una imagen de 50xSO. Adicionalmente eSta técnica presenta deficiencias en zonas de transición, en las cuales los descnptores geometncos necesitan ser evaluados con maS precisión, llevando esto a trabajar con ventanas más pequeñas en las zonas de bordes. Adicionalmente se tiene la dependencia del usuario y lo que se busca es que sea un poco más robusto y que sea lo miis automático posible.

1.2.3 Clasificación de Texturas Contenidns en Áreas con Fonna Irregular Utilizando el Modelo Booleano Unidimensional [Olivares 19971

El modelo booleano unidimensional ha sido empleado con éxito para la caracterización y clasificación tanto de texturas binarias como de texturas en niveles de gris, se ha usado por lo general en áreas rectangulares. El articulo plantea la posibilidad de caracterizar áreas de formas irregulares, para lo que se realiza un estudio sistematico en función del tamaño e irregularidad de las muestras a clasificar.

9

Capitulo i Introducción

En l a =tudidad, existe m a gran variedad de métodos Para la Caracterización (Obtener los modelos) de texturas que, en tünción del enfoque utilizado, suelen clasificarse en 4 grupos principales:

1. Estadísticos. , 2. Estructurales. 3. Basado en modelos. 4. Basado en Filtros.

La mayoría se han empleado para caracterizar imágenes nXtangdares e inchso algunas veces se 1% imágenes deben ser en potencias de dos Para que la exh-acción de características sea eficiente.

El modelo booleano combina varias pasadas (ciclos) a una imagen con la finalidad de obtener cadenas de puntos, permite identificar satisfactoriamente tanto imágenes binarias como de niveles de gris. El objetivo que se persigue en el trabajo, es el de determinar si el modelo booleano es adecuado para describir y clasificar regiones texturizadas con forma irregular, para construir cadenas de puntos; dicha caracteriza6ión de la tex3ura vendrá dada por los parámetros calculados a partir de 1% cadenas obtenidas.

El modelo se compone de dos procesos estadísticos independientes: a) un proceso de forma, que establece la forma de las primitivas, y b) un proceso de marca, que determina la ubicación de dichas primitivas. En un proceso tipico booleano, las primitivas aparecen solapadas unas sobre otras; en el caso unidimensional, las primitivas son simplemente segmentos lineales y, por lo tanto, quedan definidas por la longitud del segmento y por la posición de origen.

El proceso de marca se caracteriza por la probabilidad de marcado de p , que es uno de los parámetros del modelo booleano. El otro parámetro describe la longitud de los segmentos, que debe seguir alguna función de distribución de probabilidad discreta C(k). Esta función representa la probabilidad de que un segmento tenga longitud menor o igual a k [Dougherty 19951. La probabilidad de marcadop junto con la distribución de longitudes de segmentos C(k) forman el modelo booleano unidimensional.

Para poder anaii7a imágenes binarias, se transforma cada imagen en una serie de cadenas de puntos, donde para cada cadena se estiman los parámetros del modelo booleano. Estos se utilizarh como características para describir dicha imagen. Con la finalidad de mejorar la caracterización de imágenes, se utilizan simultáneamente varios modelos booleanos, que se obtienen combinando varios reconidos de la imagen (horizontal, vertical y las cuatro curvas de Hilbert en dos dimensiones) con dos asignaciones de color (video directo y video. inverso) y con varias distribuciones de probabilidad (se consideran: la distribución Normal, Gamma, Beta, Rayleigh, Mavwell y Poisson).

Comentarios

El articulo analizado presenta diferentes métodos que se pueden aplicar con la finalidad de caracterizar una textura,:lo cud proporciona un panorama general de la problemática de trabajar imágenes textwidas, particularmente el artículo menciona que son

10

Modelado de &Jetos defomiables, utilizando color y textura

necesarias la aplicación varios procesos cíclicos a la imagen con la finalidad de poder realizar la extracción de la información de interés, lo que repercute directamente en el costo computacional, éste se incrementaria sí se intenta aplicarlo en una secuencia de imágenes como es plateado en el presente trabajo (sección 1,3), adicionalmente la técnica es aplicada a imágenes binatias. Sin embargo, de la clasificación presentada y para efectos de la realización del proyecto métodos estadísticos son usados para caracterizar texturas, lo cual ks presentado en capitulos posteriores.

1.2.4 Clasifimcidn de Texturas Naturales Mediante K-Means [Pajares 2002bl

Los autores de este articulo mencionan que en ciertas aplicaciones basadas en imhgenes procedentes de entornos naturales puede resultar &¡I distinguir entre los diferentes tipos de texturas subyacentes de dichas .imágenes. Dada la ~ a h d e z a aleatoria e irregular de este tipo de texturas, a veces sucede que un pixel o gnipo de píxeles, en función de sus propiedades, puede pertaiecer a más de una clase de textura con un cierto grado de pertenencia a cada clase o bien a una Única clase de forma indiscutible, La versión difusa del método de agrupamiento conocido como k-medias trata muy bien el primer caso y la versión no difusa del mismo método el segundo. Motivo por el cual los autores del presente articulo analizan el comporthiento de ambas versiones del k-medias, además de incluir el análisis comparativo de ambos métodos con respecto a otros métodos clásicos de clasificación, como son: el Perceptrón Multicapa y el Learning Vecfor Quuntizution. El número de texturas que se estudiaron fueron nueve y se hace énfasis en que estas se encuentran en 22 imágenes naturales.

Las técnicas de procesamiento de imágenes y los medios cada vez más abundantes y precisos para su obtención (vuelos aéreos, imhgenes de satélite), asi como los métodos y recursos disponibles hacen que las técnicas de clasificación sean una herramienta útil para la identificación de texturas.

Comentarios

A pesar de ser eficiente, tiene la desventaja de que se deben especificar patrones de texturas y pues eso no es conveniente por que cada vez que se cambie el tipo de escena es necesario especificarle parámetros de texturas, pero la idea de usar el k-medius en el proceso de segmentación es tomada y usada en el presente trabajo, ya que además de ser sencillo de usar e implementar es muy eficiente.

1.2.5 Formas apartikdeX [Pajares 20021

El objetivo que se persigue con este articulo consiste en conseguir la f o m de los objetos, esto es, las superficies y su orientación 3D. Para tal propósito, existe una familia de técnicas denominadas formas a partir de X, donde X representa un cierto número de opciones. Marr intento de determinar los criterios por los que el sistema de visión humano obtiene la forma de los objetos [Man 19821, Warr 19851. En la teoría de Marr, esas opciones son aquellas que los h u m o s usan para obtener la profundidad de los objetos a partir de imágenes de la retina Por tal motivo son varios los métodos para obtener una representación de la escena 3D, a saber, formas a parfir de sombras, formas

iJ

11

I1

Capitulo i Intreducci6n

a a

Tomando lo antenor como refmencia y en partidar ia t k n i c a f o m s a partir de texturas, la cual se basa en la distorsión de los textones, se puede de considerar dos metodos:

de movimiento, formas a partir de texturas, forma a Partir de contornos, forma del enfoque y formas a partir de la visión estereoscópica

a) Proyección de perspectiva b) Proyección ortográfica

En la literatura se menciona que Gibson fue el primero en tratar el problema de la obtención de la forma a partir de la textura [Gibson 19501. La idea se presenta derivada del hecho de que la percepción de la forma proviene tanto de la observación de la uniformidad como del gradiente de la textura

En lo sucesivo se considera exclusivamente la proyección de perspectiva, tomado de Nalwa [Nalwa 19931, donde tambih por cierto se puede encontrar el enfoque de proyección ortográíica Donde, se supone que una superficie espacial contiene textones no solapados individuales, cada uno de ellos con un área idéntica que es suficientemente pequeña, de forma que se pueden cumplir dos condiciones:

a) El textón puede considerarse plano, esto es, la orieniacibn de la normal a la superficie sobre el área del textón puede considerarse constante.

b) Se puede utilizar proyección de paraperspectiva para aproximar la geometría de la imagen del textón.

Comentarios

El trabajo presentado se limita al uso de textones no solapados y que son fiiciles de identificar, el problema es que por lo general la mayona de las texturas no tienen esta propiedad y se puede decir que se enfocan a texturas deterministas. La forma a partir de la textura, es una técnica en la cud se tienen que conocer a priori los textones (que son la unidad bbica de las texturas), conocer las propiedades de la cámara, tipo de Proyección que se maneja, etc. Esto no es conveniente si se quiere lograr, que el modelado de objetos, no dependa de conocimiento a priori.

1.2.6 Fornia a través de la latura [Tomita 19901

Cuando una imagen es una proyección tridimiensional (3D) de una escena, una forma 3D en la escena puede ser estimada de la extracción de caracteristicas 2D en la imagen. Horn (Horn 19771 fue el primero en proponer un método para estimar la orientación de la superficie a travks de la sombra en la imagen, esta técnica se conoce con el nombre de forma a través de la sombra (Shape from Shading). Cuando se observa una superficie texturizada, se puede percibir la inclinación de la superficie porque la textura en la superficie da la apariencia de distorsión conforme la inclinación El rol de la textura como base para la recuperación de la orientación de la superficie fue investigada por primera vez por Gibson [Gibson 19501 el método para la estimación de la orientación de la superficie de la aparente distorsión de la textura es llamado forma a través de la textura (Shape from Texture).

12

Modelado &objetos defomiables, utilizando color y textura

La distorsión de la texiura bajo la proyección en perspectiva es c d a por la superficie del gradiente, el ángulo entre la línea de Visión, el plano de la imgen y la distancia del punto de Visión de la superficie. Entonces, el problem es: ¿cómo determinar esos factores en la imagen?, ya que el problema es restringido b4o algunas suposiciones necesarias. Por lo tanto, varios algoritmos han sido propuestos para tratar de resolver este problema La tabla 1.1 contiene una clasificación de dichos algoritmos, los cuales son presentados basándose la seiíal del gradiente de la superficie, en las líneas convergentes, propieddes de mapa de texturas normalizados, o distorsión de la forma, tipo de superficie plana o curva, conocimiento u priori acerca de la textura original, el tipo de proyección ortográfica, perspectiva o esférica, el nivel de análisis de la textura estadística o estructural, la unidad de análisis de la textura, y la propiedad de la unidad.

La suposición común en todos los algoritmos es que la superficie es suave y está cubierta con texturas homogéneas.

Tabla 1. 1. Tsxonomia & forma a tmv& & la textura

I Comentarios

Como se mencionó en los párrafos anteriores es necesario hacer ciertas suposiciones para poder determinar la forma del objeto, como ejemplo de ello, es necesario conocer el tipo de cámara, la longitud focal, tipo de superficie, pasando por darle el tipo del texton (conocimiento a priori ), los algoritmos presentados en la tabla 1, determinan el ángulo de inclinación de la imagen global, la densidad, pero estas características .no proporcionan la forma del objeto, más aún cuando este es capaz de sufnr transformaciones como lo hacen los objetos deformables, un aigoritmo que se apega a este contexto es el presentado por Walter, el cual intenta obtener el esqueleto de un objeto rígido, pero se le tiene que proporcionar el tipo de texton, con todo lo anterior refleja lo dificil que es tratar de modelar u obtener la forma de un objeto utilizando la textura y esto se complica ai agregar el color.

13

1.3 Descripción del problema

En visión artificial al trabajar con imágenes en dos dimensiones a partir de imágenes reales en tres dimensiones, se encuentfa un gran problema como es la pérdida de información (por ejemplo la perspectiva del objeto), y si a esto se le agrega que 10s objetos presentes en la imagen pueden sufrir deformaciones, el problema adquiere una mayor complejidad.

Cuando el sistema visual humano reconoce un objeto, tiene de alguna manera un conocimiento previo del mismo, para poder lograr lo anterior se deben extraer de la imagen los objetos de interés (segmentación) y posteriorniente obtener las características que lo describen (caracterización).

La problemática de la segmentación y caracterización de objeto utilizando el color y la textura, surge debido a que, los algoritmos existentes que realizan esta tarea presentan deficiencias al aislar y caracterizar los objetos que se encuentran en una imagen y más aún cuando la imagen representa un escenario complejo como el que se muestra en la figura 1.7.

~

Figura 1.7. Ejemplo de segmentaci6n en el cual el fondo se confunde con el objeto.

Por lo tanto el problema que se resolvió, consiste en determinar los límites de un objeto de manera eficiente aun cuando el borde del mismo presente discontinuidades, lo anterior es posible tanto en imágenes estáticas así como en una secuencia de imágenes, aún cuando en la escena se observe la existencia de objetos deformables.

El presente trabajo, se ubica en las fases de segmentacibn, representación y descripción, el cual representa el nivel intermedio de un sistema de visión artificial presentado en la figura 3. Se consideraron las características de color y textura de manera conjunta, ya que son de gran utilidad y complementan a las características de la forma del objeto. ,

Esta investigación contribuye a la solución del problema de segmentar y caracterizar un objeto, mediante una metodología para generar u obtener de manera automática una descripción o caracterizaci6n del objeto deseado; obiallendo los cambios que presenta el objeto en un tiempo determinado.

Tomando como base lo expuesto con anterioridad, se formuló la siguiente hipótesis: &s posible describir un objeto deformable considerando únicamente su color y textura, en urn secuencia de imágenes para obtener un modelo que lo represente?

14

Modelado de objetas defmables, utilizando color y textura

1.4 Propuesta de solucidn

1.4.1 Objetivo

El objetivo planteado en este trabajo, es crear o desarrollar una herramienta que sea capaz de obtener, en términos de color y textura, un modelo o descripción de la forma de los objetos flexibles presentes en una imagen.

1.4.2 Compi&iad

El problema es tan complejo que para su solución es necesario explicar más a detalle los factores que deben considerarse. Estos factores son:

a) Los objetos a considerarse en el presente trabajo son deformables y como ya se mencionó estos tienen la capacidad de sufir transformaciones en su.forma, por lo que no es posible contar con un prototipo único o patrón estático del mismo que se pueda utilizar como referencia

b) El tratar de caracterizar objetos que se deforman, provoca que sea necesario el analizar o estudiar a l p o s de los posibles cambios que puede tener en un tiempo determinado, es decir, es necesario trabajar con secuencias de imágenes y no con imágenes estaticas.

c) Es importante recordar que el problema es "describir" a un objeto que además de ser deformable está constituido por combinaciones de colores que generan una textura Cuando un objeto se describe en términos de texturas, los bordes o la forma del mismo no se pueden determinar con facilidad, por lo nial las variaciones en la forb son dificiles de detectar y de describir.

d) La segmentación automática o semiautomábca de texturas es un problema abierto [Olivares 19991 y, en este caso, debe realizarse para poder describir a los objetos de interés.

e) Adiaonalmente se deben considerar los aspectos de rotación y escala, ya que estos pueden presentarse como parte de los cambios de los objetos.

El presente trabajo no intenta dar una solución a todos los problemas del modelado de objetos deformables, más bien se intenta mostrar con este trabajo que sí es posible obtener modelos de objetos deformable, utilizaido las características de color y textura.

15

Capitulo 1 Introducción

1.4.3 Alcances y lintifachm

La herramienta para el modelado de objetos ulfqjlexibles trabajará con Secuencias de imágenes de objetos que cumplan con las siguientes características:

Se usaron sólo texturas artificiales. Secuencias de imágenes de 24 bits y de hasta 30 cuadros por segundo (en archivos tipo AVI). El tamaño máximo de cada cuadro fue de 200 x 200 píxeles. El usuario selecciona un área dentro del objeto (solo se hace en el primer cuadro de la secuencia) el cual sirvió para especificar la región de interés. A partir de esto el sistema fue capaz de registrar los cambios que el objeto presente. Los cambios en deformaciones o translaciones fueron pequdios. La información que se genero de la extracción de caractensticas de la deformación del objeto fue almacenada en una base conocimientos. Para el desarrollo de la herramienta se utiiizb el lenguaje de programación C++ Builder (versión S), por que es un lenguaje que brinda herramientas y componentes para la manipulación de imágenes a nivel de plxeles y por la potencia que brinda el lenguaje C++ y las ventajas que ofrece como un lenguaje orientado a objetos.

1.4.4 Heneficioos y jusrifieacidn

Todo sistema de reconocimiento de objetos, que se pretenda usar en la inspección visual, en la industria, para el reconocimiento automático de personas, para el desarrollo de sistemas en medicina, etc., en general en cualquier sistema que involucre como finalidad el reconocimiento, es indispensable contar con una buena descripción del objeto o fen6meno a tratar en dicho sistema En general, esta descripción la realiza un experto en el tema, de acuerdo a su experiencia e información, sin embargo, en algunos casos es importante realizar un estudio más detallado para realmente determinar cuáies son los mejores atributos del objeto bajo estudio, por ejemplo, si se tuviera que describir el comportamiento de una d u l a san% ¿Cuáles serian las característica a considerarse?, por lo tanto se busca generar información que permita hacer tareas de reconocimiento, no con ello eliminando el factor humano, sino más bien, haciendo más fácil sus tareas.

Los beneficios obtenidos con el proyecto de investigacion fueron los siguientes:

1. Se cuenta con una herramienta que obtiene el modelo de un objeto deformable en términos del color y de la textura, es decir se obtiene una descripción de la forma que este tenga en cada cuadro de una secuencia de imágenes.

2. Se obtiene la caracterización de las partes homogdneas de la textura presente en el objeto; una de las aplicaciones podría ser la inspección de la calidad en frutas.

3. Se cuenta con un proceso de segmentación, el cual puede ser ajustado a diferentes tipos de problemas; ya que esta es una de las etapas mSs complejas en los sistemas de visión [Gonziilez 20021.

16

Modelado de objetos deformable$ utilizando color y textura

1.4.5 Metodobgfa de solucidn

Para resolver el problema planteado anteriomaite se realizaron las siguientes actividades:

Revisión del estado del arte con la finalidad de seleccionar aquellas técnicas que permitan trabajar codas características de color y la textura Análisis, diseño e :implementación de algontmos para poder realizar la segmentación del objeto utilizando color y textura, para cumplir con este punto se utilizaron algoritmos genéricos, con la finalidad de no requerir conocimiento apriori de las propiedades del objeto sujeto a estudio. Análisis, diseíío e implementación de t h i c a s para la caracterización (modelado) del objeto sujeto a estudio y de la textura presente en él. El modelado consistió en realizar el seguimiento con el objetivo de ajustarse a los cambios de forma y posición que el objeto de inter& puede presentar en un tiempo determinado. Así mismo se obtienen 42 características de la textura Experimentación. Reporte de la investigación.

1.5 Organización del documento de tesis

En el capitulo 2 se dan los fundamentos que fueron usados en la elaboración del trabajo de investigación, como son: la noción del modelado, preprocesado, segmentación y finalmente la caracterización El análisis, diseno e implementación del sistema de cada una de las secciones presentadas en capítulo 2 son explicados en el capitulo 3. El capítulo 4 muestra las pruebas del sistema con lo que se valida el cumplimiento del objetivo para el trabajo planteado. Las concllisiones, así como los trabajos futuros son presentados en el capítulo 5.

17

Modelado de objetos defmables, utilizando color y texiura

CAPÍTULO 2

Marco teórico

2. I Introducción

Se considera como modelado, al proceso que trata de idenflicar el conjunto de rasgos O Características que mejor describen a un objeto u objetos.

En visión por computadora, una escena tridimensional es captada por una o más cha ra s para producir imágenes monocromáticas o en color. Las imágenes adquiridas pueden ser segmentadas para obtener de ellas rasgos de interés tales como: bordes O regiones. Posteriormente, de las caraciedsticas se obtienen las propiedades subyacentes mediante el correspondiente proceso de descripción; consiguiendo con esto una descripción de la escena tridimensional requerida por la aplicación de interés.

En las siguientes secciones se dará un panorama general y conceptos relacionados con los algoritmos aplicados en este trabajo, en los capítulos siguientes, se tratan aspectos teóricos necesarios que fundamentan los algoritmos implementados, la sección 2.2 se enfoca básicamente a conceptos de modelado y descripción, seguidamente en la sección 2.3 se describe el tema de la adquisición de imágenes, en el apartado 2.4 se detalla el preprocesado de imágenes, la segmentaci6n se presenta en la s 4 6 n 2.5, para finalizar con la caracterización de imágenes abarcado por la sección 2.6. Cabe mencionar que las etapas 2.3 y 2.4 forman parte del nivel bajo y la 2.5 y 2.6 representan el nivel intermedio de un sistema de visi6n artificial (figura 1.3).

2.2 Descripción de objetos

El reconocimiento de objetos es un problema importante en el campo de la visión por computadora Es un paso necesario en muchas aplicaciones; tales como la identificación de piezas industriales o mecánicas, la automatización de procesos o la identificación de objetos para la navegación en robótica [Pajares 20021, etc.

Se fundamenta en la usociucion de un objeto, en la escena en relación, con un modelo o descripción, de manera que se pueda establecer una correspondencia entre el objeto y el modelo en base a información obtenida de la imagen.

El proceso de reconocimiento es condicionado por dos factores importantes. El primero es el método usado para describir ha los objetos y los modelos y el segundo es el método usado para establecer las correspondencias entre objetos y modelos. Estos dos factores se ponen de manifiesto si se intenta responder a las siguientes preguntas:

18

Capitulo 1 Marco Tdrico

Descripción, ¿cómo representar los objetos?, ¿qué caracferisticas deben extraerse de la escena para describir las propiedades fisicas de los objetos y Sus rt?hcioneS espaciales?

Correspondencia, jcómo establecer las correspondencias entre las caractensticas de la escena y los modelos para el reconocimiento de objetos en una escena compleja?

Cabe distinguir entre los siguientes tipos de desniptores:

a) De superficie donde los objetos se describen en función de las superficies que

b) De curvas y rectas donde los objetos se describen con base a los contornos O

c) De volumen, los objetos son representados en términos de sólidos tales como

presentan.

discontinuidades de las superficies y sus uniones.

cilindros generalizados, cubos y bloques.

Los descnptores de volumen aunque proporcionan una completa descripción de los objetos, siempre y cuando se puedan aplicar, son muy di5ciles de obtener e implementar. Los descriptores de líneas son fáciles de obtener, pero son los que menos información proporcionan siendo además muy sensibles al ruido y a las oclusiones. Muchos de los desniptores de líneas constituyen un paso intermedio para obtener descriptores de un nivel superior porque se fundamentan en bordes fisicos existentes en la escena Los descnptores de superficie son desCnptores de ese nivel superior; ésta es la razón por la que se eligen los descnptores de superficie como los de mayor interés.

2.3 Adqukkión de imágenes

Para la adquisición de imágenes digitales se requieren dos elementos básicos:

1. Se necesita un dispositivo que sea sensible a una determinada bandadel espectro de energía electromagnético (tal como rayos X, ultravioleta, visible, infrarrojo, sonar, escáner) y que produzca una &al e l W c a de salida proporcional al nivel de energía incidente en cualquier instante de tiempo.

2. Se necesita de un digifalimdor, el cual es un dispositivo para convertir la señal eléctrica de salida continua del primer dispositivo fisico a una forma digital.

En definitiva, la imagen que ha de ser tratada por los algoritmos computaconales se presenta digitalizada espacialmente en forma de makiz con una resolución de A4 x N elementos. Donde cada elemento de la matriz denominadopixel ípichtre elemnr) tendrá un valor asignado, el cual corresponde al nivel de luminosidad del punto correspondiente a la escena muestreada, dicho valor es el resultado de la cuantizacióa del nivel de gris.

Para acceder a un nivel de gris en la imagen digital, es necesario indicar su posición, para ello, una imagen puede ser vista como una representación en un sistema coordenado X, y, con lo cual podremos acceder a cada uno de los píxeles de la imagen digitalizada, en la figura 2.1 se presenta un ejemplo de la representación antes mencionada

19

Modelado de objetos defomiables, utilizando color y textura

o

Figura 2. 1. Convención de ejes para la representación de imágenes digitales.

2.4 Preprocesado (modelos de color)

Como se ha mencionado en los apartados anteriores, este proceso ésta dirigida a mejorar la calidad de las imkenes digitales y facilitar, por tanto, las etapas sucesivas orientadas al reconocimiento.

El tratamiento computacional de imhgenes digitales puede dividirse, en dos grandes heas [Maravall 19931:

1. Procesamiento con observador humano. 2. Procesamiento sin observador humano.

Aunque bien diferenciadas, ambas poseen métodos comunes:

En primer lugar, la adquisición de imágenes digitales no cambia, exista o no un observador humano. En segundo lugar, los procedimientos para mejorar la calidad de las imágenes digitales que se deseen trabajar son similares, aunque los objetivos sean diferentes: aumentar la calidad subjetiva de UM imagen dada por un'usuario humano, de una parte, y facilitar el reconocimiento automático de la imagen, de otra parte.

A partir del preprocesado, ambas áreas divergen radicalmente. De hecho, UM de ellas, la que presupone la existencia de un observador humano, acaba precisamente ahí, ya que es el observador quien deberá anaiizar la imagen, mientras que por el contrario es en la otra área donde comienzan realmente los problemas ai buscarse la sustituci6n del observador humano por una configuración computacional totalmente aut6noma

20

Capitulo 2 Mnrco Tebnco

2.4.1 TQnicas de preprocesado

Entre las operaciones que se pueden realizar en la fase de PrePrOCesado son las siguientes:

1. Conversión de los niveles de gris: El cud Consiste en una transformación adecuada de los niveles de color a niveles de gris para hacer más fiid 10s procesos de segmentación. Estas técnicas se han desarrollado empleando teorías de psicología visual humana e información de otros modelos de color. Este punto es importante resaltado ya que fue la técnica usada en el presente trabajo, en secciones posteriores se introducirá al lector los fundamentos de color que se trabajaron para cubrir este apartado.

2. Transformaciones geométricus: cuenta con dos objetivos básicos: Corrección de la prespectiva Reconstrucción tridimensional de los objetos de una escena

3. Transformación del hisiograma: Es una herramienta importante en t r h e n t o de imbgenes. El histograma de una imagen consiste en un diagrama de barras de la información de los píxeles de la imagen sujeta a estudio, utilizándose como abscisas los niveles de gris de la imagen y como ordenadas (la altura de las barras) el número de píxeles de la imagen en cada nivel de gris. Como la utilización directa del número de píxeles de un determinado nivel de gris puede ser elevado (miles de pixeles) es frecuente realizar la normalización del histograma entre O y 1 y emplear, por tanto, la frecuencia relativa de cada nivel de gris. El histograma, además de ser usado para preprocesado, también, es usado como una herramienta útil en la segmentación de imágenes, como se podrá observar en la etapa de segmentación, que se presenta en este capítulo 3.

4. Filtrado jecuencial y espacial: El sistema matriciai de coordenadas de una imagen es lo que se denomina dominio espacial. Sin embargo, la misma imagen puede ser considerada como una función no peri6dica y definirse en otro espacio bidimensional, cuyos ejes vengan determinados por la amplitud y la frecuencia para cada dirección de la unagen Este nuevo espacio de referencia para la descripción de la. imagen se conoce como dominio de la frecuencia [PinilIa1997]. El principal inconveniente del filtrado frecutncial, radica en una carga compuiacional costosa, motivo por el que es frecuente utilizar filtros espaciales, denominados así por actuar directamente en el dominio espacial de las señales filtradas, que son aproximaciones de los filtros frecuenciales.

La temática de la aplicación del filtrado a la mejora de la calidad de las idgenes se centra básicamente en la eliminación'del ruido; es decir, de las interferencia y adulteraciones que aparecen en un sistema de adquisici6n y tratamiento de imágenes digitales. El ruido se puede caracterizar casi siempre como una señal de alta frmenciq ya que se trata de cambios bruscos y elevados de las intensidades luminosas en deteminados píxeles de UNI imagen.

21 CENTRO DE INFORMACION SEP CENIDET I

Modelado de objetos defmables, utilizando calor y textura

2.4.2 Fundamentos del Color

El uso del color en este rubro está motivado por dos factores bhsicos [Pajares 20021:

1. En an&lisis de idgenes el color es un componente descriptor que a .menudo

2. El ojo humano puede distinguir una amplia gama de colores. simplifica la identificación y extracción de objetos de una escena

El proceso seguido por el cerebro humano para percibir el color es un fenómeno psicofisiológico que todavía no se ha llegado a entender por completo. La naturaleza fisica del color se puede expresar en una base formal corroborada por resultados experimentales y tdricos. El color según [González 20021 se define como: "UM sensación que se produce en respuesta a la estimulación del ojo y de sus mecanismos nerviosos, por la energia luminosa de ciertas longitudes de onda ". El color es un hecho de la visión que resulta de l a diferencias de percepciones del ojo a distintas longitudes de onda que componen lo que se denomina el "espectro" de luz blanca reflejada en una hoja de papel [González 20021.

Los colores que los seres humanos perciben en un objeto están determinados por la naturaleza de la luz reflejada por dicho objeto, este fenómeno fue descubierto en 1666 por Isaac Newton [González 20021, que observó que cuando un haz de luz blanca traspasaba un prisma de cristal, dicho haz se dividía en un espectro de colores idéntico al del arco ins: rojo, anaranjado, amarillo, verde, azul, aM y violeta

Las características utilizadas para distinguir un color de oúo son el brillo, el tono y la saturación; el brillo se relaciona con la noción cromática de intensidad, el tono es el atributo asociado a la longitud de onda dominante en una mezcla de ondas luminosas. Así, el tono representa el color dominante tal como lo percibe un observador; cuando se dice que un objeto es rojo, naranja o amarillo se ésta especificando su tono, la saturación se refiere a la pureza relativa o cantidad de luz blanca mezclada con un tono; el tono y la saturación considerados conjuntamente constituyen la cromaticidad.

2.4.2.1 Modelos de color

Un modelo de color puede ser defindo como el conjunto base de colores que servirán para componer otros colores, en esencia consiste en especificar un modelo de coordenadas tridimensional y de un sub-espacio de este sistema en el que cada color quede representado por un Único punto. En este punto cabe comentar que aquí se encuentra otro de los problemas con las texturas que es, que para los colores existen diferentes modelos para representarlos, mientras que para las texturas no existe un modelo lo cual sena muy importante para el tratamiento de las mismas. En la siguiente sección se da una breve descripción de los modelos de color utilizados para este trabajo de investigación.

Modelo RGB

El espacio de representacibn del color RGB, se encuentra integrado fundamentalmente por los colores Rojo, Verde y Azul. Su construwión se basa en dos teorías: la de

22

Capitulo 2 Marco Tebnco

Maxwell menciona que la composicion de cualquier color a partir de tres elementos primarios, y la teoría tricromática que se basa en la existencia de tres neuro-receptores del color, los conos rojos, veides y azules. La composición del color a partir de estos componentes es mediante la suma de ellos, por ,eso mismo también se le llama sistema aditivo [Vergara 20031.

Todos los colores que se visualizan en las idgenes a color están en función de las cantidades de rojo, verde y azul utilizadas. A cada color se le asigna un valor entre O y 255. Los valores más altos de RGB corresponden a UM cantidad mayor de luz blanca. Por consiguiente, mientras más altos son los valores RGB, más claros son los colores. La figura 2.2 muestra el ejemplo del cubo de color del modelo RGB y muestra como se encuentran distribuidos los colores pnncipaies.

S I

Figura 2.2. Cubo de colores RGB [GoniAiez 20021.

Modelo YIQ

En el modelo YIQ, la Y corresponde a la reflectancia, los elementos I y Q del modelo son dos componentes cromáticas llamadas infase y cuadraturn respectivamente, Este modelo se usa en las transmisiones de televisión comercial. Es una combinación de los valores RGB, cuya conversión es la siguiente:

[l'] r . 2 9 9 0.587 0 .114 ] r ] I = 0.596 -0.275 -0.321 G

0.212 -0.523 0.311 B

Para obtener los valores RGB a partir de los YIQ simplemente se realiza la operación de la inversa de la matriz, mostrada en la ecuación 2.2. [d] . 0.956 0 . 6 2 1 r ]

G = 1 -0.272 -0.647 I 1 -1.105 1.702 Q

El modelo fue diseñado para obtener la ventaja del sistema visual humano, que es más sensible a cambios en la reflectancia que a cambios en el matiz o saturación. Para más detalles de esta propiedad, el lector puede consultar a [Pntchard 19771 y [Smith 19781. Además de lo anterior, la principal ventaja del modelo en el procesamiento de imágenes

Modelado de objetos defmables, utilizando color y textura

es que la reflectancia Cy) y la información de color (I y Q) se pueden tratar por separado. Recordando que la reflectancia es proporcional a la cantidad de luz percibida por el ojo humano, La importancia de esta separación es que la componente Y de una imagen puede ser procesada sin afectar a su contenido de color. Por ejemplo se puede aplicar una ecualización del histograma a la componente Y sin afectar las demás componentes de color.

2.5 Segmentación

El primer paso para poder analizar una imagen consiste generalmente en segmentar la imagen. La segmentación puede definirse como el proceso orientado a particionar la imagen digital en zonas disjuntas con significado propio [Maravall 19931, [González 20021. Este significado dependerá de la imagen, así como de los objetivos que se persigan con su interpretación.

En general, la segmentación autónoma es una de las tareas más dificiles de procesamiento de imágenes. Esta etapa del proceso determina el eventual éxito o fracaso de anáiisis. De hecho, la segmentación rara vez llega a alcanzar una solución satisfactoria [González 20021.

En la práctica suelen distinguirse dos tipos de segmentación: a) de regiones o zonas y b) de objetos. La operación es común, lo que baria es aquello que se desea segmentar. En el primer caso, mnas; en el segundo, ya dentro de una región concreta, objetos individuales. Este último se aplica en el trabajo, en esta sección sólo se presentarán los conceptos y algoritmos que se aplicaron, en capítulos posteriores, se cubrirá, la manera de la implementación y las adaptaciones al problema plateado. Básicamente, se presenta el mapa de escalas, acto seguido el concepto de histogram, seguido de la definición del método de ordenamiento quichorl, método de agrupación, para temiinar con el crecimiento de regiones.

25.1 Mapa de escalas

La percepción que tiene todo ser humano de los objetos en la naturaleza tiene asociado un rango finito de escalas, dicho de otra manera, si se observa un árbol o sus hojas, o alguien se interesa en ver el rostro o los ojos de X persona enfoca su vista hacia ese objeto de interés. El sistema de visión de todo ser vivo, tiene la facultad de dirigir su mirada hacia unfoco de atención [Itti 19981, piebur 1998).

El área de visión artificial cubre de alguna manera la escala, por lo cuai no es posible librarse de ella al procesar idgenes. En ocasiones es necesario extraer i n f o m i ó n especial con escalas finas y en ocasiones es de interés extraer información de la forma del objeto sin detalles. Tomando en cuenta la bidOgf8, el proceso perceptual de los seres humanos ajusta una región del sistema visual para enfocar la atención hacia un objeto o región de interés. Por este motivo surgió la idea de calcular e l f ¿ de atención, el cual a dado pie a diversas líneas de investigación en el área de visión que tienen que ver con la

24

Capítulo 2 Marco Teórico

escala [Witkin 19831, [Lindeberg 19941, [Koenderink 19841 y otras con relación a la atención visual [Jagersand 19951.

~i filtro comúnmente utilizado en procesamiento de imágenes para modificar la escala es el filtro gausciano. Una propiedad interesante es reducir de manera progresiva, incrementando la varianza (a) de la distribución, los detalles en la imagen resultante. Además, es conocido [Babaud 19861 que la distribución gaussiana es la que proporciona el mejor compromiso entre localización en la fiecuencia y en el espacio.

La distribución gaussiana continua en dos dimensiones, G, , se expresa como:

Existe un rango finito de escalas útiles, desde la imagen inicial I, con escala O, a la imagen con una escala mayor, I, , es decir con un número menor de detalles.

La importancia de la escala.fue reconocida en los inicios de visión [Rosenfeld 19711, pero no fue sino hasta la dkada de los ochenta ([Witkin 19831 [Koendennk 19841) cuando se realizaron los primeros trabajos para el tratamiento de la escala. Witkin [Witkin 19831 fue quien introdujo el concepto de escalas, donde una señal es convolucionada por un banco de filtros gaussianos con diferentes o (figura 2.3).

- I ,

01 I0L Won) - I

Figura 2.3 Pemte ver la evolución de una unagen a diferentes escalas de embaronamrenio

La mejor escala debe capturar todas las estructuras significativas de la imagen; sin embargo, en la mayoda de los casos no hay una sola escala que pueda ser considerada como la mejor para toda la imagen, sino que es necesario construir un mapa de escala óptima local. A la estimación de la mejor a para cada punto x, y se le llammh mapa de

escalas locales a'(x,y) [Gómez 20001. n

25

Modelado de objetos deformables, utilizando color y textura

2.5.1.1 Estimadón beal la e s d a

El problema de la selección de la eSCaia fue en SUS inicios @&ajado de que se encontraba la escala que mejor represente a toda la imagen, dicho de otra manera, se buscaba la escala global [Hoffman 19931, [Rosin 19931. La elección de una sola escala en el filtro gaussiano, para toda la imagen, no es conveniente usarla al mismo tiemPo con la finalidad de remover ruido y guardar una buena l o c d a i ó n , 10 anterior ocasiona que las m c t u r a s relevantes se emborronen o se pierdan por completo, Ya que en una imagen normalmente se necesita de varias escalas, por este motivo se hace uso de un banco de filtros gaussiano con diferenteo.

La representación de cada imagen dentro del espacio de escalas está dada por una imagen de pasa bajas (se obtiene al filtrarla con.una gaussiana) con cierta Q , a la que se denota como I, = I , * G(a) . Esta representación tiene asociado un error o residuo E,

en cadanivel des espacio o, de modo que la imagen puede escribirse como:

.

I (x , Y ) = I , (4 Y ) + E, (x, Y ) (2.4)

Donde: I, (x, y ) = parte filtrada y E, (x, y ) = Residuo

La longitud de descripción [Rissanen 19831 [Rissanen 19871 es una herramienta matemática para modelar y hacer inferencia estadísticas; su unidad de medida son los bits. Esta longitud de descripción, desde un punto de vista simple, consiste en obtener el número de bits de todos los parámetros involucrados en la representación a modelar. El objetivo de la estadística es el de condensar o reducir los datos que se le presenten con la finalidad de hacerlos más Útiles. Para ello, es necesario describir el sistema, para io cud se toma el modelo más sencillo de usar, el que menor número de parhetros tenga, que maximice la verosimilitud. La longitud de descripción minima, MDL, es el compromiso entre verosimilitud y complejidad paramétrica Rissanen commta [Bmon 19981, “simple y natural, así es el principio de MDL”.

La idea de seleccionar la longitud de descripción mínima se ha aplicado en visión [Koaiderink 19841 [Lindeberg 19941 para hacer el balance entre exactitud para reproducir las observaciones en presencia de eventos estocásticos (mido) y por la simplicidad computacional de representar algo con el menor número de bits.

Estas ideas fueron aplicadas para estimar la escala local para cada punto x, y de una imagen. Si se requiere describir una imagen Z se debe codificar tanto la parte filtrada como el error (2.4). Por lo tanto, la ecuación (2.4) se escribirá de la siguiente manera.

m X , Y ) ) = m , ( x , Y ) ) + I d ( E , (&Y)) (2.5)

Dicho de otra manera, para tener una correcta codificación del problema, se debe tomar tanto la parte filtrada I, como el error E,. Es interesante comentar que en los esquemas de espacios de escalas no se le confiere importancia ai error, sólo se trabaja con la parte filtrada El primer el elemento de la ecuación (2.5), el cual se encarga de modelar el comportamiento teórico del filtro gaussiano, se describe en la siguiente sección.

26

Capitulo 2 Marco Teórico

2.5.1.2 Longiiud de desdpcidn para una tnagenflltrada

Con la finalidad de describir la imagen filtrada, kf(Iu(x,y)) , en bits se puede hacer USO

de algunas relaciones importantes de la varianza de la dismbución gaussiana en el espacio (Go, ) y en la frecuencia ( G , ). Por el principio del teorema de escala, una señal de escala a en e1 espacio, s(x), se comporta en la frecuencia, So), de la siguiente manera:

(2.6)

Específicamente, lo que se busca es relacionar la amplitud espaQal de una distribución gaussiana de varianza a: con amplitud en la frecuencia de una distribución gaussiana de varianza u:. La varianza espacial y la frecuencial se relacionan como se muestra a continuación:

Donde la constante A representa la altura de las dos distribuciones. Llevando ambas ecuaciones (2.6) y (2.7) a la forma canónica de la gaussiana discreta

G, =- e y excluyendo de ella la constante de normalización 2, se tiene que la

distribución espacial toma la siguiente forma:

I) 1 -3 z

2 .__

(2.8) e i&)

y en la frecuencia:

buscando la relación entre ambas distribuciones, se tiene que:

(2.10)

De las ecuaciones (2.7) y (2.10) se observa que la relación entre la varianza de una gaussiana en el espacio y en la frecuencia es inversamente proporcional a:

I \

(2.11)

La ecuación (2.1 I ) concuerda con el principio de la escala-incertidumbre. De la misma manera, se sabe que el ancho de banda v) de una señal filtrada por una gaussiana'de ancho a: es directamente ,proporcional a a: ; con esta relación es posible calcular el número de muestras m, que son necesaxias [Nyquist 19241 con la finalidad de reconstniir la señal sin pérdida:

2 f =uw m 2 2 f (2.12) m > b l

27

' Modelado de objetos defmables, utilizando color y textum

Utilizando la relación de la ecuación (2.11) se tiene que el número de muestras viene dado de la siguiente manera:

Agrupando los términos restantes de la ecuación (2.11) en c se tiene entonces: C 1 m P -;c 2 -

u: 2

(2.13)

(2.14)

Ya que se conoce que el número de muestras (m) es proporcional al número de bits de la parte filtrada, es posible decir que Zd,- zs in. Por lo que, fuiaimente, la longitud de descripción de 1,queda de la siguiente manera:

CP ld,r FS- 0:

(2.15)

Donde p es la precisión fija necesar¡a para representar cada muestra y como se vio

anterior mente c 2 - , Esta longitud de descripción mide el número de bits de la imagen

I , (la imagen de entrada) al ser convolucionada con un filtro gaussiano G, . En el apartado siguiente se presenta cbmo es que el error del filtrado es cuantizado y medido.

1 2

2.5.1.3 Longitud de lo descripción del error

Por otro lado, aun cuando no se conoce a priori el tipo de distribución del error, es posible asumir, partiendo del Teorema del Límite Central, que en general la probabilidad del error E se aproxima a la forma de una distribución gaussiana:

(2.16)

Donde o: es la varianza del error que se ésta modelando y E' es el error cuadratico medible en un vecindario de nivel uno [Gonzaiez 20021 (el 4 vecino). Se sabe de [Rissanen 19831, [Shannon 19481, que el logaritmo de una probabilidad se encuentra asociado ai número de bits o a la cantidad de informaci6n presente en ella Por lo que, para saber o conocer el número de bits del error, es necesario tomar el logaritmo base dos de la distribución de probabilidad del error (sin tomar el factor de normalización), presentado en la ecuación (2.16). En consecuencia, la descripción del error en bits queda de la siguiente manerx

Id, = (6) (2.17)

Donde la constante k = log, e i+: 1.442.

28

Capitulo 2 Marco Te6ncO

2.5.1.4 Imgiiud de descripridn btal

Teniendo las ecuaciones para calcular longitud de desa’¡pciÓn en bits de la imagen filtrada (2.16) y el error (2.17), se puede ya calcular la longitud de descripción total del proceso de filtrado pasabajas, el cual se realizaaplicando:

(2.18)

2E: Multiplicando ambos lados de la ecuación por - y agrupando las constantes

k ..

multiplicativas de la ecuación (2.18) en A. se tiene que la long¡tud del descriptor es: (2.19)

1 Donde A. = <r y c 2-, esto último permite adecuar la ecuación (2.19) a la

proporción de Nido en el filtro, que puede ser utilizado para distintos procesos, por ejemplo:

(Y’) 2

1. Para la segmentación de texturas, la varianza del error, ai, se supone pequeña, ya que no debe considerar los pequeiios detalles como ruido, sino como parte de una región texturizada

2. Para la detección de orillas y filtrado gaussiano adaptable, por lo cual se debe considerar la varianza del error, con valores más grandes. Es decir, no se quiere preservar detalles mínimos que pueden ser considerados como mido, se quiere que presione m k el filtrado en las regiones homogéneas y que no filtre sobre las orillas.

En la practica, se decidió determinar el limite inicial del rango A. de manera

experimental, de modo que las escalas óptimas (a’ ) queden en un rango útil que es de anun = 0.5 a a,, = 2.5. Esta determinación experimental se debió a que no se conoce a priori la varianza del error, pero sí se conoce que existe un punto de inicio en el rango de las A. Útiles. En las pruebas realizadas un valor de A. 2 800 es adecuada en la detección de orillas y una A. = 250 para segmentación de texturas [Gómez 20001.

La a‘ (x ,y ) que corresponde ai minim0 de la longitud de descripción Id(a,x,y) dada por la ecuación (2.19), representa el Compromiso de filtrar con la a más grande posible que genere el mínimo error. Esto representa la mejor escala donde las orillas son bien

discriminadas del ruido o textura La imagen resultante, a * ( x , y ) , es el mapa de las “mejores escalas” de la imagen, es decir, el conjunto de escalas propias con que deberían de filtrarse naturalmente los puntos.

n

n

n

1;

I1

!I

II

II

Y

29

Modelado de objetos deformables, utilizando color y textura

2.5.1.5 Segmentación de texturas

E] kea de segmentación de texturas tienes d .5 de treinta &OS en Visión Por computadora y actualmente existen una gran cantidad de técnicas que miden en mayor O menor grado la similitud de las texturas en las idgenes. Existe una clasificación comúnmente aceptada, en la’cual se dice que las técnicas de tratamiento de texturas son de dos tipos:

1. Obtener localmente propiedades estadísticas. 2. Encontrar los elementos estructurales de la textura

El mapa de escalas óptimas locales presenta numerosas escalas y utdizar ese mapa como un atributo para la segmentación probablemente no seria muy útil; ya que existe información a priori que puede ser útil para mejorar este mapa de escalas para texturas. La incorporación de conocimiento apriori es debido a que se sabe que las regiones de textura son homogéneas o coherentes espacialmente a pedazos. Una técnica para implementar esta restricción es la estimación Bayesian& utilizando modelos de Campos Aleatonos Markovianos [Gema] para implementar este conocimiento apriori.

La longitud de descripción esta íntimamente ligada a la estimación bayesiana [Rissanen 19831, por lo que la longitud de descripción puede rescribirse:

ki(f, iU)=Id(f,)+ld(E,)=2+&~ a a

Lo que se expresa en el desarrollo anterior: “la longitud de la descripción de la imagen dada o es igual a la longitud de descripción de la parte filtrada miis el error”. Así mismo, el mapa de escalas que se busca es la probabilidad a posteriori de la u dada la

imagen, esto se escribe como u’ = Pr(u 1 I,,). La anterior probabilidad a posteriori puede estimarse utilizando el modelo de Ishg [Marroquin 19971 [Marroquin 19981. El modelo de king se expresa:

n

(2.20)

Donde el primer término cuantifica la información del dominio medido en un vecindario, es decir, la variación local debe ser suave a través de la leitice. El segundo término cuantifica que los nuevos estados deben apegarse, en un vecindario, a las observaciones, se debe suavizar pero no ai grado de perder la imagen original. La variable p controla el peso relativo entre información del dominio y observaciones.

Para poder aplicar este modelo es necesario reescribir Pr(Io 1 o) como potencial

de Gibss. Es decir, -e(-’d(’a’u). Esto es cierto debido a que la longitud de descripción

puede ser vista como el logaritmo de una probabilidad, por lo que se tiene.

1 Z

Pr(1, I u) = e’qW’-la) (2.21) Por lo que el mapa de escalas locales regularizadas es una consecuencia natural

de buscar el estimado aposteriori de la u dada una imagen

II

I/

30

Capitulo 2 Marco Teórico

25.2 Histograma

El hisfogrum de una imagen es una función discreta que representa el número de pixeles en la imagen en función de los niveles de intensidad [Pajares 2002], g. La probabilidad Píg) de ocurrencia de un determinado nivel g se define de la siguiente manera:

(2.22) _.-

Donde M en el número de pixeles en la imagen y NCg) es el número de pixels en el nivel de intensidad g. Como sucede con cualquier distnbuci6n de probabilidad todos los valores de Píg) son menores o iguales a la unidad y la suma de todos los valores de Píg) es igual a uno (figura2.4).

2 3 4 ........................... !? ................................. Niveles de gr is

Figura 2.4. Ilustración de un hisiograma ni c d a de g i s .

253 Método ordenación (QuickSort)

Ordenar significa reagrupar o reorganizar un conjunto de datos (por histograma) u objetos en una secuencia Los procesos de ordenación y hasta los de búsqueda se pueden

desarrollado, automatizado, acelerado, donde la infomiaci6n representa un elemento de mucha importancia Ya que la sociedad se debe mantener informada y por lo tanto'.el buscar y recuperar información es actualmente una necesidad prioritaria [Cair6 19961.

La operación de búsqueda con fines de recuperación de información, frecuentemente se efectúa sobre elementos previamente ordenados. Con lo que se demuestra, que en general, donde se tenga la necesidad de buscar y recuperar datos, el proceso de ordenamiento estará presente. Los seres humanos en su vida cotidiana se encuentran con idomiación ordenada, como ejemplo de ello se tienen, los directorios telefónicos, registro de pacientes hospitalizados, registro de ocupantes en un hotel, 10s libros de las bibliotecas, etc.

31

li

encontrar frecuentemente en la vida cotidiana Actualmente se vive en un mundo '!

Modelado de objetos defmables, utilizando color y texiura

La ordenación es una actividad fundamental en la vida Por ejemplo imagine lo que pasaría si desea encontrar un libro en una biblioteca, el cual contenga una colecci6n de más de 10,000 ejemplares y que estos no son clasificados (ordenados).

La definición formal de ordenación consiste en: Sea A una lista de N elementos A,, A, ,. . . , A, ; ordenar significa permutar estos elementos de tal forma que los mismos queden de acuerdo con un orden preestablecido; puede ser bkicamente de dos formas:

Ascendente: A, I A, < A3 5.. . I A, Descendente: A, 2 A, 2 A3 2 . .. 2 A,

Los métodos de ordenación se clasifican en dos categorías

Ordenación de arreglos Ordenación de archivos

La primera clasificación recibe el nombre de ordemcidn interna, ya que los elementos o componentes del arreglo se encuentran en la memoria principal de la computadora, el trabajo hace uso de un algoritmo de esté tipo, el cual será presentado mas adelante. La segunda clasificación recibe el nombre de ordenación exrerm, ya que los elementos se encuentran en archivos los cuales son almacenados en dispositivos de almacenamiento secundario, discos, cintas, etc.

Existen en la literatura una gran variedad de a¡goritmos enfocados a tratar con el problema de ordenación, para efectos del proyecto sólo se expondrán los fundamentos del algoritmo llamado Quicksort, que es un algoritmo que se puede aplicar a las dos categorías antes mencionadas, pero que frecuentemente se usa en la ordenación interna.

2.5.3.1 Ordenacidn por el método quicksorl

El método de ordenación quicksort es actualmente el más eficiente y veloz de los métodos de ordenación interna Es también conocido con el nombre de método rápido y de ordenación por partición,' en el mundo del habla hispana Este método es una mejora sustancial del método de intercambio director, recibe el nombre de Quicksort (rápido) por la velocidad con que ordena los elementos del arreglo. Su autor C. A. Hoare lo bautizó de esta manera

La idea central de este algoritmo consiste en lo siguiente:

1. Se toma un elemento X de una posición cualquiera del arreglo. 2. Se trata de ubicar a X en la posición correcta del arreglo, de tal forma que todos

los elementos que se. encuentren a su izquierda son menor o iguai a X y todos los elementos que se encuentren a su derecha son mayor o igual a X.

3. Se repiten los pasos anteriores pero ahora para los conjuntos de datos que se encuentran a la izquierda y a la derecha de la posición correcta de X en el arreglo.

32

Capitulo 2 Marco Teórico

4. El proceso termina cuando todos Los elementos se encuenfran en su posición

Debe seleccionarse entonces un elemento X cualquiera Se comienza a recorrer el arreglo de derecha a izquierda comparando si los elementos son mayor o igual a X. si algún elemento no cumple la condición, se intercambian los mismos y se almacena en una variable la posición del elemento intercambiado (se acota el arreglo por la derecha). Se inicia de nuevo el recorrido, pero ahora se hace izquierda a derecha, comparando si los elementos son menor o igual a X. Si un elemento no cumple, entonces se intercambian y se almacena en otra variable la posición de elemento intercambiado (se acota el arreglo por la izquierda). Se repite los pasos anteriores hasta que el elemento X encuentra su posición correcta dentro del arreglo.

correcta del arreglo.

25.4 Agrupamiento (K-Medias)

Los algoritmos de agrupación o clustering, el cual es el nombre común tanto en español como en inglés y que se refiere a la capacidad de creaci6n. de clusters; dicho de otra manera, agrupamientos, clases o patrones.

La única información que requieren los algoritmos de agrupación es la definición previa del vector de características. Algunos de estos algontmos, necesitan a lo más, conocer también el número de clases, como el caso del aigoritmo k-medias que es explicado en esta sección.

Una vez establecido el vector de caractedsticas, los procedimientos de agrupacibn de clases reciben como datos de entrada a los objetos (los cuales necesariamente deben ser numéricos) a clasificar, de modo que a partir de estos datos de entrada el algoritmo, sin supervisión de ningún tipo y, de forma autbnoma, agrupa esos objetos en clases. Por esta razón se les conoce como algoritmos de clasificación autoorganizada [Maravall 19931. La figura 2.5 representa la cualidad mencionada con anterioridad.

Figura 2.9. Representación simbólica de un algoritmo de agntpación.

Los algoritmos más usados en este rubro son:

Algoritmo de las distancias encadenadas (chain map). Algoritmo maw-min. Algoritmo K-medias (en la literatura inglesa llamado K-means) Algoritmo ISODATA y su variante llamado K-ISODATA.

Las definiciones básicas necesarias para cualquiera de los algoritmos anteriores [Pajares ZOOZ], se describen a continuación:

33

Modelado de objetos defomables, utilizando color y textura

Sea X={XiX2 .. _ &}un conjunto de muestras o datos. Se define un agrupamiento R con ni p p o s de X, como la partición de X en m conjuntos R1, R2, . , . , R, deberh cumplir tres condiciones:

1. Ri#@, i = l , ..., m. 2. u:, Ri = X . 3. R i n R j = @ , i # j , i , j = l , ..., m .

Las tknicas de agrupación se utilizan cuando no existe un cononmiento suficiente acerca de las clases en que' se pueden distribuir los objetos de interés. Esto puede suceder en aplicaciones de bio1ogí;s medicina, sociología, etc., en donde no se tienen las clases bien definidas.

Además de las mencionada en el párrafo anterior, también son de @an interés en otras tireas (análisis automático de voz, visión artificial, clasificacibn de'seiíales, etc.) en las que existe un conocimiento completo de las clases.

Los algoritmos de agrupación varían entre sí por el mayor o menor grado de reglas heurísticas que utilizan e, inversamente, por el nivel de procedimientos formales involucrados. Todos ellos se basan en el empleo sistemático de las distancias entre los vectores (los objetos a agrupar) así como entre los clusters o grupos que se van integrando y desintegrando a lo largo del proceso de agrupación del algoritmo concreto [Maravall 19931. Generalmente se emplea la distancia euclídea entre vectores, el cual es representado por la ecuación (2.23):

(2.23)

2.5.4.1 Algoriímo K-Medins

EL nombre de este algoritmo está ya consagrado en la literatura especializada y hace referencia a que existen K clases o patrones, siendo necesario, por tanto, conocer a priori el número de clases existentes.

Es un algoritmo sencillo, pero muy eficiente, siempre que el número de clases se conozcan apriori con exactitud. Por su sencillez y robustez; ha sido muy utilizado.

Partiendo de un conjunto de objetos a dasificar X , , X 2 , ..., X p , el algoritmo de Ias~K- medias realiza los siguientes pasos.

Paso 1. Establecido previamente el número de clases existentes, por ejemplo K; se escogen al azar entre los elementos a agrupar K vectores, de forma que van a constituir los centroides (al ser los Únicos elementos) de las K clases. Es decir:

en donde se ha introducido entre paréntesis el indice iterativo de este algoritmo. a, : Z , (l);a2 : Z,(i);...;a, : Z,(i) (2.24)

'!

34

Capitulo 2 Marco Teórico

Puso 2. Como se traía de un proceso recursivo con un contador n, en la iteración generica n se distribuyen todas las muestías entre las K clases, de acuerdo con la regla:

x ~ a , . ( n ) si; I I x - z ~ < ~ ) ~ ~ <II~-z , (n)l l

V i = i , 2 ,..., K / i # j (2.25)

Donde se han organizado las clases (que son dinamicas) y sus correspondientes centroides.

Puso 3. Una vez redistribuidos los elementos a agrupar entre las diferentes clases, es preciso recalcular o actualizar los centroides de las clases. El objetivo en el cáiculo de los nuevos centroides es minimizar el índice de rendimiento siguiente:

Este índice se minimiza utilizando la media muestral o aritmética de ai (n) :

(2.26)

(2.27)

Siendo N i @ ) el número de elementos de la clase a, en la iteración n

Puso 4. Se comprueba si el algoritmo ha alcanzado una posición estable. Dicho en otras palabras, si se cumple lo siguiente:

Z,(n+i)=Z,(n) Vi=i,2;..,K (2.28)

Si se cumple, el algoritmo finaliza En caso contrario, ir ai paso 2,

Si el lector desea profundizar miis en este tema, se presenta un pequeño resumen de algunos trabajos que se ocupan de la agrupación, la cud es tratada con profundidad en [Theodoridis 19991 encontrando un n h e r o considerable de métodos básicos y sus variantes. [Bishop 19951 y [Patterson 19961 también traían este tema de manera general. EL procedimiento del k-medias como ha mencionado es muy útil por su sim&idad (pig 2000], [Hattori 2OOOJ).

2.5.5 Crecimiento de regiones

En el siguiente apartado se exponen las nociones básicas para poder entender’ el crecimiento de regiones.

Como su nombre lo indica, el crecimiento de regiones es un procedimiento que agrupa píxeles o subregiones dentro de regiones miis grandes. La sencillez de este método radica en la agregación de píxeles,, que comienza con un conjunto de puntos “generadores” a partir de 10s que van creciendo las regiones ai agregar a cada uno de estos puntos los píxeles prbximos que tienen propiedades similares (como nivel de gris, textura, color).

35

Modelado de objetos defomables. utilizando mlor y iexhira

Aunque es@ i k i c a a sencilla conlleva dos problemas serios. El prlniero es la selección de los generadores iniciales que representen correctamente las regiones de inter& y el segundo consiste en la selección de las propiedades adecuadas para la inclusión de puntos en las diversas regiones durante el proceso de crecimiento. La selección de un conjunto de uno o más puntos de salida normalmente se basa en la naturale7a del problema. Como e,jemplo, en las aplicaciones militares de imágenes infrarrojas, los objetos de interés esten generalmente más calientes (por lo que tienen colores más brillantes) que el fondo. Por lo tanto en una aplicación de este tipo los puntos de mayor intensidad serán utilizados para el crecimiento de redones. Cuando no se dispone de información a priori el procedimiento consiste en calcular para cada píxel el mismo conjunto de propiedades que se utilizarán para asignar pixeles a las regiones durante el proceso de crecimiento.

Un tercer problema que esconde este lip0 de operaciones es la formulación de UM regla de paro. Básicamente, el crecimiento de una región debe detenerse cuando no hay más pixeles que cumplan con el criterio de inclusión en esa región Los criterios tales como, la intensidad. la textura v el color. son locales por naturaleza y no tienen en cuenta el "hisiorial" del crecimiento de la región Otros criterios que incrementan la potencia del algoflmio de crecimiento utilizan el concepto de tamaño, de la semeianza entre un píxel candidato y los pixeles de crecimiento anlerior (como puede ser la comparación entre la intensidad de un candidato v la intensidad media de la región), y de la forma de la región que está en lase de crecimiento. El empleo de este lip0 de descnptores se encuentra basado en la suposición de que se puede disponer por lo menos de resultados esperados.

2.6 Caraeteriracicin

Siguiendo con el paradigma de un sisíema de visión arlúíciai, una ved segmenlada la escena digital en regiones, el conlunto resultante de pixeles segmentados se representa y describe normalmente en una forma adecuada para su oosterior Drocesado oor

~ r - - computadora Básicamente, el representar una región implica dos posibilidades Iuodez 20021:

I . Hacerlo en términos de sus características externas (su contorno). 2. En términos de sus características internas (por regiones).

La elección de un esquema de representación es, sin duda, tan solo una parte de la tarea de hacer los datos Útiles para una computadora El siguiente paso consiste en describir la zona de representación elegida

Generalmente, se elige una representación extema cuando el objetivo principal se centra en las características de forma, que en este caso sea de interés en el presente trab&o (observar los cambios de un objeto deformable); y una representación interna cuando el interés se centra en las propiedades de rdectividad, tales como color y textura, esta representación fue tomada también para el presente desarrollo, el cual le da un p lus a la herramienta implementada En cualquier caso, las características seleccionadas como descriptores deberían ser tan insensibles como fuera posible a vanaciones tales como cambio de tamaño, trmlación y rotación.

36

1

Capitulo 2 Marco 'Teórico

Antes de exponer los conceptos básicos usados para este f i ~ es conveniente hacer algunas aclaraciones sobre el, problema de extraer una figura a p d r de una imagen arbitraria La cuestión sobre cómo resuelven este problema las personas, ha intrigado durante muchos años a los psidlogos, particularmente a los de la escuela conocida como la Gestalt [Pajares 20021. Sin embargo, no ha aparecido una teoría clara sobre dichos esfuerzos; además; hay ilusiones ópticas en las cuales la figura y el fondo aparece alternado. Por io tanto, no existe un algoritmo aplicable con carácter general para extraer las figuras de las imágenes. Por el contrario, existe una variedad de técnicas que son útiles en situaciones particulares, entre ellas, la extracción de bordes o las técnicas de binarización donde cualquier punto que excede un determinado umbral se declara como perteneciente a las figuras subyacentes en la imagen [Cheng 19991.

Las siguientes secciones de este apartado, comienzan con algo que no esta dentro del objetivo del proyecto de investigación, sin embargo se logró caracterizar la textura de la imagen, ademb de mencionar que en [Vergara 20031 se trabajó con la caracterización de texturas pero para determinar su calidad, este no es el caso. Sin embargo, la caracterización de la textura, presentadas más adelante, fueron reportadas por el autor y hacen que esté sea invariante a rotación translación y escala; después se presentan conceptos de seguimiento, esto con la fuialidad de obtener las deformaciones del objeto en un instante dado; en el siguiente capítulo se presenta el c6mo se aplicó para este trabajo.

2.6.1 Caracterización de textura

En una imagen, la información visual percibida es procesada en distintas formas con base en las características particulares de la tarea a realizar, de tal forma que se obtenga una descripción y representación de los objetos a partir del análisis de las imágenes tratadas La calidad del modelo o descripción de los objetos que integran una imagen tiene una enorme influencia en el éxito o fracaso del reconocimiento. Por lo cual es recomendable trabajar con aquellas características que sean las mhs discriminantes.

La figura 2.6 muestra un ejemplo de las características que se pueden observar en una textura para su discriminación, debe tenerse en cuenta que esas características sólo son visuales y sólo son un ejemplo, y que estas características no son utilizadas en el presente trabajo. Tal figura esta compuesta de 10 texturas divididas en dos columnas de 5 , la descripción que se da después de las flechas indim el orden de la primera y segunda columna respectivamente [Vergara 20021. -.

31

Modelado de objetos deformables, utilizando wlor y textura

Col 1 Col 2

-Fina i Gruesa

II ' -Contrastada i Poco contrastada

!l

-Rugosa i Lisa

-Orientada i No orientada

-Semejanza a iínea i semejanza a mancha

-Regular I Irregular

Figura 2.6. Características visuales presentes en las texturas.

11

11

I) En la siguiente sección se muestran y describen las principales formas de extracción de características de textura divididas en estadísticos de primer.

1)

1 2.6.1. I Estadistiws deprimer orden

Miden la probabilidad de observar un valor de gris en un sitio elegido aieatoriamente en

promedio en una imagen es un ejemplo de estadística de primer orden [Hawkins 19691.

I,

la imagen. Pueden ser calculados a través del histograma de una imagen. La intensidad I/

Media

Es la suma de todos los posibles valores de intensidad divida por las frecuencias de los mismos.

1 ' .u = -E x,n ,

n

Donde:

n = Número total de píxeies. xi = Número de nivel de intensidad. n, = Número de píxeles en el nivel i . i = 1 ,. . . , k = número de niveles de intensidad

Variatiza

(2.29)

Se define como la media de las diferencias cuadráticas den puntuaciones con respecto a su media aritmética

38

Capítulo 2 Marco Teórico

(2.30)

Donde:

n =Número total de pixeles. xi = Número de nivel de intensidad p = media i = 1 ,_ . . , n = número de niveles de intensidad

Desvlacidn estándar

Se utilijra para que la media de dispersión sea de la misma dimensionalidad.

Donde: (2.31) r2 n = d a

d = vananza.

2.4.1.2 Momentos

Los momentos son una medida de la distribución de valores a lo largo de los ejes de simetría de un objeto. En UM imagen se utilizan momentos bidimensionales para describir la distribución de los valores en escala de gris. Los momentos frecuentemente son utilizados para el análisis o propósitos de reconocimiento [Saivatella 2001, Dada una distribución de intensidad j (x , y) de una imagen bidimensional se puede estar interesado en encontrar descriptores que sean invariantes a traslación, rotación, escala y cambios de contraste, los descnptores son funciones de los momentos mp4 definidos por:

(2.32)

Los momentos centrales que tienen la propiedad de ser invariantes a la traslación están dados por:

Las siguientes funciones #(I) ........ #7), son invariantes a traslación y rotación:

#I= p20 + M Z (2.35)

(2.33)

(2.34)

39

Donde:

(2.42)

(2.43)

Las fórmulas anteriores son conocidas como los momentos de Hu [Heeger 1995). Sidharta Maitra [Beck 19871 propone unos nuevos momentos a partir de los momentos de Hu los cuales estiui definidos como:

(2.44)

(2.45)

(2.46)

(2.47)

(2.48)

(2.49)

U

40

Capitulo 2 Marco Teórico

Los momentos de Maitra son invanantes a cambios en escala, traslación, rotación y contraste.

2.6.2 Obtención del modelo

~1 seguimiento visual de objetos ha llevado al CENIDET ha desarrollar temas de tesis [villamil 20021 [Henera 20031 cubriendo este rubro, pero con diferentes tipos de objetos (ver capimlo I), con esto es fácil suponer IO dificil que es esta tarea.

En el campo de la visión por computadora, el seguimiento visual (Rucláng) de un objeto en una secuencia de imágenes es importante, ya que pretende analizar el problema que consiste en no perder a un objeto de interés en los diferentes cuadros que forman la secuencia de la imagen [villamil 2002]. Uno de los objetivos del seguimiento es el analizar el movimiento de un objeto (rigido, articulado, deformable) en las secuencias de imhgenes. Las aplicaciones del seguimiento visual son muy diversas, como lo muestran los siguientes ejemplos: vigilancia y seguridad, análisis del rendimiento en los atletas, sistemas médicos (ultrasonidos, segiilmiento de moléculas) e , interfaces inteligentes, reconocimiento' visual de fonemas, aplicaciones militares (guiado de misiles y dispositivos de rastreo o vigilancia autónomos), control de caiidad,mediante un sistema de inspección.

Las aplicaciones orientadas a la visibn artificial frecuentemente se limitan a percepciones visuales a través de imágenes estaticas. Sin embargo, a veces aparecen situaciones (como en este caso) en las que o bien la cámara se esta moviendo con respecto a la escena o la escena lo hace con respecto a la cámara [Pajares 20021.

Existen tres grandes grupos de problemas relacionados con el movimiento desde un punto de vista práctico, los cuales son los siguientes:

1. La detección del movimiento, el cual es el problema m6s simple. Consiste en registrar cualquier movimiento detectado. Es Útil en el campo de la seguridad. Se suele utilizar una simple cámara estática

2. La detección y locali7aciÓn de los objetos en movimiento. En la cud una cámara se sitúa en una posición estática y los objetos se mueven en la escena, o la &ara se mueve y los objetos son estaticos o ambas cosas al mismo tiempo. El problema caracteristico comiste en la detección del objeto, la detección de la trayectoria de su movimiento y la predicción de su futura trayectoria. Algunos ejemplos de interés, en este campo son: la evolución de una masa nubosa mediante secuencias de imágenes por satélite incluyendo la predicción de .su movimiento; también se encuentra el control y predicción del trafico de vehículos en una ciudad, etc.

3. Por ultimo el tercer problema se encuentra relacionado con la obtención de las propiedades tndimensionales (3D) de los objetos a partir de un conjunto de proyecciones 2D adquiridas en distintos instantes de tiempo del movimiento del los objetos

41

L

Modelado de objetos deformables, utilizando color y textura

2.6.2.1 Análisis del movitniento basado en la detección depuntos de interés

En este método es vital la detección de correspondencia entre los puntos de los objetos en las imkenes sucesivas ya que en este caso los campos de velocidad pueden obtenerse fácilmente.

El primer paso del método es encontrar puntos significativos en todas las imágenes de las secuencia (puntos de borde, esquinas, etc.). Tras la detección de dichos puntos se aplica un procedimiento de ajuste, el cual busca las correspondencias entre dichos puntos de la secuencia de imágenes. El resultado final es la construcción de un campo de velocidad más o menos denso dependiendo del número de puntos de interés.

!

2.63 Selección de variables

AI describir el objeto en términos de rasgos o variables es posible observar que muchas veces no son necesarios todos ellos para diferenciar unas clases de otras y poder clasificar correctamente. Siendo necesario encontrar qué subconjuntos de ellos son suficientes para caracterizar las clases. Sin embargo, no es fiicil determinar cuáles rasgos son los que conforman el subconjunto suficiente y necesario para realizar la clasificación de nuevos objetos considerando que aún cuando se reduzca la dimensionaiidad no cambia la pertenencia a la clase. En este caso el algoritmo que se aplico para la selección de variables es conocido como BT y se basa el los conceptos de testor y testor iipico

El concepto de resior se puede entender como un “subconjunto de rasgos de n-uplo informacional X , , ..., X s ( s < n 1 que cumple la condición de que no existen descriptores (parciales) semejantes de objetos en clases diferentes” [Ruiz 19951. Su longitud s es menor o igual a la cantidad de rasgos que describían ai objeto antes de la selección.

Análogamente, se denomina testor iipico a la “combinación mínima de rasgos que tipifican o caracterizan una clase de objetos, diferenciándola de las demás clases” [Ruiz 19951; la eliminación de cualqdier rasgo del testor elimina su condición de tipicidad; es decir, la propiedad que distingue a los testores típicos de los testores es que cada rasgo resulta imprescindible para mantener las diferencias entre las clases.

1

2.6.3.1 Algoritmo BT

El algoritmo para el cáiculo de testores típicos (selección de rasgos) se ‘conoce corno algoritmo BT. Este algoritmo utiliza un n-uplo booleano auxiliar de la forma a(i) =a, ,a2,...,an en donde n indica el número de variables en términos de las cuales se describen los objetos.

El algoritmo BT se basa en la idea de ir generando a(i) a partir de a(i) = O,O,. . .,I hasta a(2)” = i,i, ..., 1, siguiendo el orden generado por los números naturales en su notación

I!

42

Capitulo 2 Marco Teórico

binaria. Cada aj = O ( j = 0,l; . . ,n) significa que el rasgo j no se considera en la descripción del objeto y viceversa, cada a, = 1 indica que el rasgo j se toma en cuenta para evaluar su influencia o capacidad para diferenciar un objeto’ perteneciente a una clase de otro objeto que pertenece a otra clase (en combinación con los otros rasgos en cada a(i)); esto se hace definiendo un criterio de comparación adecuado para dada rasgo. Para cada a(i) generado, se yerifica si tal a(i) es o no un testor típico.

A fin de perfeccionar esta búsqueda exhaustiva existen ciertas reglas o proposiciones que permiten “saltar” todas aquellas combinaciones de a(i) cuyos valores aj = 1 se puede asegurar que no son restores típicos. Por ejemplo, para el caso de 5 caracteristicas, si el n-uplo a(i) = O1 100 resulta ser testor típico, se puede afirmar que a(i + 1) = O1 lo!, y a(i + 3) = O1 1iJ no serán testores tipicos ya que sólo están ailadiendo rasgos innecesarios y, por lo tanto, estos tres n-uplos no son evaluados sino que se “saltan” y en vez de ellos se evaiúa el n-uplo a(i + 4) =10000; así continúa hasta llegar ai a@*) = 11 11 1

a(i + 2) = O1 l!O

43

Modelado de objetos d e f o d l e s , utilizando color y textura

CAPÍTULO 3

Análisis, diseño y desarrollo del sistema

3.1 Introducción En este capítulo se presenta, de manera general, el análisis, el diseño y la implementación del sistema para la solución planteada en este trabajo, para ello se muestran las principales etapas del sistema y la explicación de cada una de ellas.

Las etapas, de un sistema de visión artificial [ G o d e z 20021, utilizadas en este trabajo son las mostradas en gris en la figura 3.1.

La figura 3.2 muestra el diseño específico del sistema propuesto en esta investigación, esto acorde con el modelo sugerido por [González 20021 y mostrado en la figura 3.1. Estos procesos serán descritos en detalle más adelante

Base de Conocimientos

...............................................................................

_ _ -r- Salida

Figura 3.1. Estructura de un sistema de visión por computadora de acuerdo con [González 20021

44

Capítulo 3 Análisis, Diseño y Desarrollo del sistema

3.2 Adquisicidn de imágenes

La adquisición de las secuencias de imágenes se simuló utilizando las herramienta desarrollada en el trabajo de tesis “Entorno de graficación y generación de modelos 2D y 3D para aplicaciones de Visión Artificial” desarrollado en cenidet [Día 20041, cuyo sistema genera secuencias de video en formato AVi a partir de la especificación de los cuadros base, del tiempo requerido, movimiento deseado, etc. En este caso, se crearon tres secuencias que cumplen con las características especificadas en la sección 1.4.3.

Modelado de obietos deformables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Obtener el primer niadro de la secuencia

1 AdquiPlrlAn I

Fin de proceso

Figura 3.2. Diseno específico del sistema y sn relación con un sistema de visión artifícial.

45

Modelado de objetos deformables, uiiiizando color y textura

Las secuencias de video en formato AVI, se integran de un número determinado de cuadros (/iarnes). En este caso, el sistema de manera automática obtiene cada uno de los cuadros de la secuencia y los convierte al formato BMP (mapa de bits), para después procesarlos como si se tratara de vistas estáticas de la escena. Por ejemplo, dada una secuencia de 5 segundos, el sistema la abriría y al leerla, guardaría cada cuadro como una imagen con formato bmp, entonces, al finalizar el proceso se tendrán 150 imágenes (asumiendo que el estándar NTSC almacena 30 frames por cada segundo de la secuencia). Las ventajas de realizar de esta manera el proceso de lectura del archivo de video AVi son:

Es posible realizar todo el proceso de modelado tanto para imágenes estáticas como para secuencias de imágenes. Es posible ajustar el tamaño de la imagen dada como entrada, para que cumpla con el tamaño especificado para este trabajo.

3.3 Preprocesado

Una vez que se tiene el primer cuadro de la secuencia se realiza una conversión de modelos de color, con la finalidad de cambiar una imagen a color (RGB) a una imagen con un rango de 256 tonos de g i s . Este proceso se realiza con el fin de utilizar tales imágenes en el proceso de segmentación, ya que la técnica utilizada para este fin trabaja con imágenes en ese rango de 256 tonos.

El modelo de color seleccionado fue el YiQ, las razones de su elección así como la información teórica sobre el mismo se presentan en la sección 2.4.

El algoritmo para realizar tal conversión, sólo necesita de dos ciclos uno para recorrer las filas y otro para recorrer las columnas de la imagen; paca cada pixel se procesan los componentes de cada plano de color, los cuales son R (rojo), G (verde), B (azul), como se puede apreciar en la ecuación 3 .1 .

Y =(I¿ * 29) +(G *60) + (B* 1 1 ) (3.1)

A continuación se muestra un algoritmo para realizar la conversión descrita

46

Capítulo 3 Adisis, Diseño y Desarrollo del sistema

//conversión de una imagen en color a 256 tonos de gris

/ / x,, +Alto de la imagen;

/ / Y , ~ , ~ ~ - Largo de la imagen: //Toma los valores de los pixeles de la imagen for (x=O; x< xske; Xtt)

f o r (y=O; y< ysh; y++) //Se toma el pixel y se almacena en una variable

valpix=imgdesal [XI [ y ] ;

aux=IntToHex (ColorToRGB (valpixJ ,8J ; //Se convierte el pixel a su valor hexadecimal

// Se extrae cada componente del modelo RGB R-StrTO In t (AnsiString ("$ ") taux [ 71 taux [SI) ; G=S trToIn t (AnsiString ( " $ ' I ) twx[5] taux [ 61) ; BSStrToInt (AnsiStriny ("$ ' I ) taux[3Itaux[41) ; //Se aplica l a ecuacion 3.2 ColGris=((R*0.29) t (G*O. 60) t (B*O.11)) ;

// Se almacena el resultado en una imagen de

3.4 Segmentación

Después del preprocesamiento se lleva a cabo una localización del objeto de interés para lo cual se realiza la segmentación, que es el proceso de dividir una imagen de entrada en sus partes constituyentes (regiones) u objetos [González 2000].

El proceso de segmentación específico para este trabajo está integrado de varias etapas, como se puede apreciar en la figura 3.3.

; Especificarunasección I ! dentro del objeto i ! -

I

.c 1 Delimitación de regiones de textura en sus partes

constituyentes

Figura 3.3. Modelo conceptual de la etapa de segmentación

47

Modelado de objetos deformables, utilizando color y textura

3.4.1 Mapa de escalas

Todos los objetos que se perciben por medio del sistema de visión humano tienen una escala. La facultad de apreciar ciertas estructuras a costa de no darles importancia a otras es una característica importante de la visión biológica. El procesamiento de imágenes a multiescala es el área que estudia la extracción de atributos a diferentes escalas

En procesamiento digital de imágenes existen diversas técnicas para realizar el proceso de segmentación, Para este trabajo, se determinó utilizar la técnica conocida como mapa de escalas @timas locales (sección 2.5.1) a m o apoyo al proceso.

El algoritmo para implementar la selección de la escala a través de la longitud de descripción mínima es pequeño. internamente se necesita tres constantes que son necesarias para delimitar el espacio de escalas, o,, , o,, y o,,ep . La imagen de entrada se llama I, y sus dimensiones x, y ydxe.

U- = 0.4 ; 0- = 2.5 i

//Escala minima a procesar

//Escala máxima

= 0.1 i //Incremento de la escala

I,+ Imagen de entrada;

X , t ? i l t o de la imagen;

.Ynrs\ Largo de la imagen;

El procedimiento consiste en hacer pasar I,, por un banco de filtros gaussianos G, variando los valores de la varianza, esto se realiza mediante un proceso de convolución normalizada [Granlund 19951 para minimizar el efecto de bordes. Las dimensiones de la matriz de unos deben ser las mismas que las de la imagen de entrada. La salida de este algoritmo es el conjunto de imágenes filtradas. Dado un rango om, omax de variación de la varianza, una imagen I,, la matriz de unos I,, el proceso descrito previamente puede aplicarse como se muestra a continuación.

/ / Creación del espacio de escalas con convolución normalizada

I , = 1 1 ... ;

for (0=<3,,; crcum; o++ ) [' : ::]

48

Capítulo 3 Análisis, Diseño y Desarrollo del sistema

La longinid de descripción es calcula de acuerdo con la ecuación (2.19) (sección 2.5.1.4, ia cual consiste en una codificación de la imagen filtrada; I,, más el error. La variable A (ecuación 2.19) permite, la estimación del ruido en la imagen. De acuerdo con [Gómez 20001, ésta variable se ajusta a A = 250. Sin embargo, como una aportación a este algoritmo se decidió calcular automáticamente el valor de A . Para los casos en los que no es posible calcular la A de manera automática, se considera por default el valor reportado en [Gómez 20001.

La salida (Longiiud,(x,y)) del algoritmo es la longitud de descripción para cada punto en la imagen de entrada y para cada nivel de escala. A continuación se muestra el proceso descrito.

/ / C a l c u l a l a l o n g i t u d d e d e s c r i p c i ó n f o r (x-1; XCXsirs; x t t )

f o r i y - 1 ; y<y,,,.; y + + ) forla=o,,; ala-; u+=o,,){

error. = (I, ( X J ) - I , (x, y))” ; error+ =(I,(. + i , y ) - I , ( X + 1,~))” ; error+ = (I, (x - i, y ) - I , (x - 1, y))” ; error+ = (I , (x, y + I) - I , (x, y + I)Y ; e r r o r + = ( ~ , ( x , y - l ) - ~ , ( x , y - ~ ) ) ” ;

2 = ((2 *(.SI* ( V a n m a error))/l.442)

Longitud, (x, y ) = 7 + error ; a a

I

Teniendo la longitud de descripción, es necesario seleccionar la codificación que represente la mejor escala, es decir, que tenga el menor número de bits. La salida de este proceso es la

estimación de la escala local, u*(x,y) . A continuación se muestras el código para llevar a cob0 esta tarea

n

//Se s e l e c c i o n a l a l o n g i t u d d e d e s c r i p c i ó n menor (MDL) for (x= l i x<x,Lze; X t t )

for í ~ = l ; y<y,i,.; y + + ) I menor=-;

f o r ( U = 0,- i 0 C Omax ; U+ = Ogre, ) {

menor=a; i f (Longitud, (x, y ) < menor )

I n

u*&, y ) = menor ; I

49

Modelado de objetos deformables, utilizando color y textura

3.4.1 Mapa de escalas

Todos los objetos que se perciben por medio del sistema de visión humano tienen una escala. La facultad de apreciar ciertas estructuras a costa de no darles importancia a otras es una característica importante de la visión biológica. El procesamiento de imágenes a multiescala es el área que estudia la'extracción de atributos a diferentes escalas

En procesamiento digital de imágenes existen diversas técnicas para realizar el proceso de segmentación. Para este trabajo, se determinó utilizar la técnica conocida como mapa de escalas óptimas locales (sección 2.5.1) como apoyo al proceso.

El algoritmo para implementar la selección de la escala a través de la longitud de descripción mínima es pequeño. Internamente se necesita tres constantes que son necesarias para delimitar el espacio de escalas, 6, , u,, y grisp. La imagen de entrada se llama I, y sus dimensiones x, y y , ,

a, =0.4; 6- = 2.5 i OSap =0.1 i

1,- Imagen de entrada;

X,+Alto de la imagen;

Y,+ Largo de la imagen;

//Escala mínima a procesar

//Escala máxima

//Incremento de la escala

El procedimiento consiste en hacer pasar I,, por un banco de filtros gaussianos G, variando los valores de la varianza, esto se realiza mediante un proceso de convolución normalizada [Granlund 19951 para minimizar el efecto de bordes. Las dimensiones de la matriz de unos deben ser las mismas que las de la imagen de entrada. La salida de este algoritmo es el conjunto de imágenes filtradas. Dado un rango urn, a- de variación de la varianza, una imagen I,, la matriz de unos I,, el proceso descrito previamente puede aplicarse como se muestra a continuación.

/ / Creación del espacio de escalas con convolución normalizada

I , = Io*G, . Unos * G, '

48

Modelado de objetos deformables, utilizando color y textura

Como resultado de la aplicación del algoritmo del mapa de escalas locales se tiene una imagen homogénea, pero no segmentada.

3.4.2 Determinacwn del número de clases para h agmpmión

Una vez que se tiene el mapa de escales, es necesario realizar la segmentación, para IO cual se hace uso del algoritmo K-medias.

La figura 3.4 muestra el diagrama especifico para obtener el número de clases que necesita el algoritmo K-medias (ver sección 2.5.4.1) para realizar ia segmentación.

El poder determinar el número de clases de manera automática permite aplicar reglas y/o métodos para organizar los datos en grupos con semejanzas que pudieran no ser evidentes para el usuario.

Por esta razón se hace uso de la información del histograma de la imagen, ya que este contiene las frecuencias de aparición de los niveles de.gris presentes en una imagen. Frecuencias que forman valles y crestas en la forma del histograma, que pueden considerarse para realizar la estimación del número de grupos o regiones que confoman la imagen.

! !

I

j Segmezdaclbn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Figura 3.4. Fases para obtener el número de clases utilizadas por el algoritmo de agnipación

Para obtener un mejor resultado en la determinación de los rangos de tonos o grupos, se procede a ordenar la información del histograma (en forma descendente), por lo cual se tendrá un vector con las mayores frecuencias al final del mismo, que sirve como base para la determinación del número de clases y sus respectivos centroides que serán usados por el algoritmo de agrupación K-medias. Entonces el numero inicial de clases para el algoritmo k-medias es el número de crestas.

50

Capimio 3 Análisis, Disefio y Desanollo del sistema

Para facilitar el proceso de segmentación se requiere que el usuario especifique una sección dentro del objeto.

El proceso para determinar el número de clases, se describe en las siguientes secciones

3.4.2.1 Obtencidn del Histogram

La obtención del histograma (sección 2.5.2), el cual básicamente consiste en obtener de todos los niveles de intensidad (de O a 255 niveles de intensidad) presentes en la parte de la imagen seleccionada por el usuario.

El proceso para la obtención del histograma correspondiente a la parte que el usuario seleccionó en la imagen; a la cual se le aplico el algoritmo de mapa de escalas, se presenta a continuación:

//Proceso para obtener el histograma de la parte seleccionada //después de haber aplicado el mapa de escalas //inicio - x ===> valor del inicio en x de la ventana selecciona por el usuario //inicio - y ===> valor del inicio en y de la ventana selecciona por el usuario //fin-x ===> valor del final en x de la ventana selecciona por el usuario //fin y ===> valor del final en y de la ventana selecciona por el usuario

-

for (int x=iniciox; x<tam-x; x++){ for (int y=inicio-y; y<tam y; y++) -

( //Se obtiene el pixel y se convierte a hexadecimal valpix= imgdesal-> Pixels[xl[yl; aux=IntToHex(ColorToRGB(valpix),ü); //Se extrae cada componente por separado R=StrToInt (AnsiString ( " $ " ) +aux['l] +aux[8] ) ; G=StrToInt (AnsiString("$") +aux[5] +aux[6] ) ; E=StrToInt ~AnsiString~"S"~taux[3I+aux[41 ) ; / / Se hace el calculo para saber a que nivel de gris

corresponde el pixel ColGris= ( (R*0.29) +(G*O. 60) + (E*O. 11) ) ;

/ / Se al macenen los el color observado y se incrementa l a

/ / de aparición del pixel frecuencia

51

Modelado de objetos deformables, utilizando color y textura

3.4.2.2 Ordenación del Histogram

Una vez que el histogama es obtenido; se procede a aplicarle un método de ordenamiento. Esto con la finalidad de obtener de menor a mayor las frecuencias de aparición de 10s niveles de intensidad.

Para realizar dicha labor, se hace uso del algoritmo conocido en la literatura como el QuickSorf, el cual, es uno de los algoritmos más eficientes [Cairó 19961 (sección 2.5.3). El algoritmo implementado en este apartado trabaja con la información del histogama. A continuación se plantea el algoritmo para este proceso:

//Impiementación del algoritmo Quicisort ,

izq=ini; / / ini ===> Representa el extremo izquierdo del conjunto a ordenar

ordenar der=fin; //fin ===> Representa el extremo derecho del conjunto a

pos=ini; bandera=true; aux=0, auxcolor; whiie(bandera==true) ( bandera=false;

whileiiHisto [pos].Pixeles<=Histo[der].Pixeles)&&(pos!=derl) der--;

if (pos!=der) ( aux= Histo lpos1.Pixeles; auxcolor= Histo [pos].Color; Histo [posl.Pixeles= Histo [derl.Pixeles; HlSto ípOs].color= Histo [der].Color; Histo [derl.Pixeles=aux; Histo iderl.Coior=auxcolor; Dos=der: while((Hist0 [posl.Pixeles>= Histo[izql.Pixeles)&&(pos!=izq)) izatt;

if (pos!=izq) I bandera=true; aux= Histo [pos] .Pixeles; auxcolor= Histo Ipos1.Color; Histo [posl.Pixeles= Histo [izq].Pixeles; Histo [posl .Color= Histo [izql .Color; Histo [izql .Pixeles=aux;

Histo Iizql.Color=pos; pos=izq;

Histo [iZql.cOlOK=aUXCOlOK;

)//fin de si (pos!=izq) )//fin de si (pos!=der)

)//fin del while banderaztrue; if ((pos-l)>ini)

if (fin>ípostl)) quickSort(Histo,ini, (pos-1));

quicksort (Histo, (postl) ,fin);

Este algoritmo es una versión del Quichorf recursivo [Cairo 19961, la cual contiene la información del histograma, este ordenamiento se realiza usando la información de las

52

frecuencias de aparición de cada nivel de gris encontrado en la imagen; con esta información se procede a realizar el calculo del número de clases y sus respectivos centroides, el proceso es descrito en la siguiente sección.

3.4.2.3 Obtención del número de clases y los centroides

Una vez que se tiene el histograma ordenado; es factible hacer el conteo de los principales niveles de intensidad obtenidos es fácil obtener el valor de mayor frecuencia, ya que este se encuentra al final del vector de datos ordenados.

Por simplicidad se asume que los datos o los valores de intensidad de los objetos en la imagen tienen una distribución normal, idealmente existiría una media, y sus datos asociados (una campana de Gauss), para cada objeto.

La distribución normal o gaussiuna [Yamane 19791 de un conjunto de datos está completamente determinada por dos parámetros, su media p y su desviación estándar CT, figura 3.5.

Figura 3.5. Representacibn gráfica de la funci6n de densidad gaussiana

La distribución normal posee ciertas propiedades importantes, conviene destacar una de ellas que dice, “El área bajo la curva comprendida entre los valores situados aproximadamente a dos desviaciones estándar de la media es igual a 0.95. En concreto, existe un 95% de posibilidades de observar un valor comprendido en el intervalo”.

Considerando esta propiedad y considerando que los datos siguen una distribución normal se determinó como rango de utilidad el 95% de la informaci6n y el restante 5% es considerado como basura o ruido. Para esto se toma la frecuencia más alta, la cual representa la media dentro la distribución, y su valor es multiplicado por un 0.05, el resultado obtenido de este proceso indicará el valor mínimo útil, es decir, con esta multiplicación se determina el rango de niveles de intensidad útiles para el cálculo del número de clases.

53

Modelado de objetos deformables, utilizando color y textura

Un comentario adicional en este punto, es que, se le da al usuario la oportunidad de modificar este porcentaje, lo cual permite en un momento dado ajustar el parámetro cuando los resultados no le sean de su completa satisfacción.

A continuación se muestra el proceso realizado para realizar este cálculo:

~os=255;//Poscision donde se encuentra la mayor frecuencia posi=O; vector<Histoarama> Clases(1); //Contiene la5 clases . . ~ ~~ ~ - Valor=StrToFloat(EPorcentaje->Text);// Porcentaje por defualt

porcen=Valor/lOO; Tope=Histo[255].Pixeles*Porcen;//Contiene el rango a utilizar

es de 5%

para calcular el número de clases

//Se obtiene los colores desde el valor mayor hasta el tope while (Histo[posl.Pixeles>=Tope)(

Clases[posil.Pixeles=Histo[posl.Color; posi+t; pos--; Clases.resize(posit1);

1

El segmento de código mostrado a continuación ilustra el proceso con el cual se obtienen tanto el número de clases como sus respectivos centroides, los cuales son almacenados en las variables Clas y Topes respectivamente.

RanPix=StrToInt(EPixel->Text); //Rango por omisibn de 20 de color pos=Clases.sizeO-2;//Posici6n del primer centroide //Rango de colores para cada clase Tope=Clases [Clases . s i zeo-2 l .P ixe les -RanPix; Topes(l,O);//Contiene los centroides iniciales para el K-Medias Topes~Ol=Clases~Clases.size~~-2l.Pixeles;//Primer centroide Clas=l;//Se inicializa el numero de clases que serán los que use //el K-Medias indice=l ; //Proceso que obtiene los centroides utilizando el rango de colores //así

//El calculo del número de clases restante while (pos>O) (

como

if (Clases [pos] .Pixeles<Tope) ( Clas++; Topes.resize(indice+l]; Tope=Clases[posl.Pixeles-RanPix; Topeslindicel=Clases~posl.Pixeles; indice++;

) pos--;

I

54

Capitulo 3 M i s i 5 , Diseño y Desanollo del sistema

3.4.3 Agriipación (Algoritmo K-medias)

corno se mencionó, el mapa de escalas locales es un algoritmo usado a m o apoyo con la finalidad de realizar la segmentación, por IO que es necesario a p p w 10s píxeles en clusters o gnipos, para conocer cómo están formadas las regiones en la imagen.

Aún cumdo se sabe que la imagen de entrada es homogénea (se le aplicó el mapa de escalas), se conoce el número de clases, sus centroides y cómo se encuentran distribuidos lo niveles de intensidad con respecto a las clases, no se tiene la certeza de que esta distribución de valores sea la mejor, es en este punto donde el K-medias se aplicó para reducir el error en la distribución de los niveles de intensidad en las clases.

A continuación se muestra el algoritmo utilizado para el K-medias.

/ I < * * * * Algoritmo K-medias ****> //Obtiene el número total de elementos //en este caso es de 256

TE=HistoZ.sizeO ;

/ * Se obtiene el número de clases; el número de clases lo calculo en un proceso usando el histograma, ver sección 3.3.2.3 TC=Clas;

/*Asignación de los centroides calculados, paso 1 ver sección 2.5.4.1 para más detalle * / Centroide=Topes;

//Ciclo que realiza ia clasificación do i

/'se realiza el cálculo de las distancias entre los elementos y los centroides, paso 2 ver más detalle en sección 2.5.4.1 + /

for iint j = O ; j<TE; jtt)( for (int i=O; i<TC; it+) [

~ ~ ~ ~ ~ ~ ~ ~ e N u ~ i l = a b s ( H i s t 0 2 [ j J . c 0 ~ ~ ~ - Centroide[i] ) ;

1 //Se asigna cada objeto a la clase que pertenece Menor=327670.0; for (int k=O; k<TC; ktt) (

if (CentroideNu[kl<Menor)[ Menor=CentroideNu[kl;

~ .~ ClaseP[jl=k; / / Variable que contiene la el resultado de

//la clasificación 1

) CentroideNu.clear0;

I / * Se almacenan los centroides anteriores, para posteriormente determinar la estabilidad del algoritmo, a s í como para la detención del mismo * /

CentroideNu=Centroide; Centroide.clear0;

/ / Se calculan los nuevos centroides, ver paso 3 en la sección 2.5.4.1 for (int i=O; i<TC; it+) (

Div=O;

Modelado de objetos deformables, utilizando color y textura

Centroide[il=O; for (int 1=0; 1<TE: 1++) 1

if (ClaseP[ll==i) í Centroide[i]=Centroide[i]tHisto2[1].Colo~; Divtt;

1 1 if (Div!=O)(

1 Centroide [i]=Centroide[il/Div;

1 /*Se comparan los centroides anteriores con los actuales, si son iguales se termina el algoritmo de lo contrario se continua ejecutando, paso 4 sección 2.5.4.1 para mayor información */

Fin=O: for (int i=O: i<TC; it+)(

if ((int) (CentroideNu[i] ) !=(int) (Centroide[il ) ) 1 Fin=l: CentroideNu.clear0; break:

I 1

]while (Fin==l): //Fin de proceso de el K-Medias

Tradicionalmente el algoritmo K-medias, al darle el número de clases en los que se quiere queden agrupados los datos, calcula o más bien asigna los centros de cada clase de manera aleatoria o lo hace tomando los primero elementos del conjunto (que es lo clásico), y posteriormente de manera iterativa recalcula los centroides en términos de la media hasta cumplir con ciertos parámetros.

Ai calcular de manera automática el número de clases y el valor de sus respectivos centroides, se le proporciona una ayuda al algoritmo, se reduce el número de iteraciones que el K-medias requiere para generación de los clusters.

3.4.4 Obtención de los límites del objeto

Una vez que se ha realizado el agrupamiento de píxeles (con el K-medias), se aplica un algoritmo de crecimiento de regiones (sección 2.5.5) con la finalidad de delimitar el objeto, usando como semilla la sección que el usuario ha seleccionado previamente.

Cuando el usuario especifica una sección dentro del objeto, la selección en general, no cubre completamente al objeto de interés, por lo que es necesario llegar a los límites del mismo, esto se realiza con el algoritmo de crecimiento de regiones. Cabe aclarar que aún cuando el objeto quede incluido completamente en la selección realizada por el usuario el algoritmo de crecimiento de regiones ajustará estos límites para que correspondan con los del objeto en la imagen.

El proceso delimitación del objeto, se muestra en el siguiente código:

56

Capitulo 3 AnáiliSs, Diseño y Dcsarrollo del sistema

//proceso de delimitación del objeto sujeto a estudio x size ====> indica el tamaño en columnas de la imagen completa yzsize ====> indica el tamaño en fila de la imagen completa for (int x=O ; x<x-size; x++) i

for (int y=O; y<y-size; ytt) 1 //se determina el color de gris

//se extrae la clase al cual pertenece el pixel observado

/ / Se verifica que la media sea mayor de ceco y que el pixel //observado se tenga una frecuencia de aparicion mayor a cero

ColGris= ( (R*O. 29) + (G*O. 60) + (B*O. 11) ) ;

Pertenencia=ClaseP[ColGrisl;

if~~Centro[Pertenencial>O)&&(Histo2IColGris].Pixeles>O~~~ / / Todo lo que es parte que no pertenece a el queda en su color original Imagen->Canvas->Pixels [XI [y]= (TColor)RGB(255,255,255) ;

del objeto se pinta de blanco, //lo

I

Con este proceso se está en condiciones de saber qué píxeles pertenecen al objeto por lo tanto es posible conocer sus bordes y con esto establecer la malla de puntos iniciales que permitirán determinar y registrar los cambios que presenten estos limites a lo largo de una secuencia, ya que este proceso se aplica de manera iterativa a cada cuadro de la secuencia.

3.45 Delimitación de regiones de textura en sus partes constituyentes

El proceso de agrupación (sección 3.3.3), permite asociar los pixeles pertenecientes a sus respectivas clases en términos de la asociación de los niveles de intensidad entorno a una media, con esta información se procesa la imagen original con la finalidad de delimitar las regiones homogéneas.

El proceso de delimitación es realizado de la siguiente manera:

1. Obtener el número de clases (sección 3.3.2.3) 2. Determinar la pertenencia del pixel observado a una clase y se obtiene las

AI final del proceso se tienen las regiones que integran la sección especificada por el usuario, con lo cual se ha delimitado ai objeto de interés. Cabe mencionar que idealmente, el objeto de interés estará integrado sólo por una región homogénea, sin embargo, es frecuente que se presenten varias regiones homogéneas como parte del objeto. Todas estas regiones se consideraran como una sola para efectos de representar al objeto en proceso posteriores. La implementación es presentada en el siguiente código:

componentes RGB a partir de la imagen original. I

/ * Proceso de separación de la clases encontradas

el usuario ancho ====> indica el tamaño en columnas de la parte seleccionada por

57

Modelado de objetos deformables, utilizando color y textura

alto usuario * / / / se verifica que existan clases en la agrupación

==== > indica el tamatio en fila de la parte seleccionada por el

if (TotClases>O) 1 / / Se realiza el proceso tan veces como clases existan for(int Cla=O;Cla<TotClases;Cla++)

i valcentroide=Centro[Clal ; for (int x=O; x<ancho; x++) (

for (int y=O; ycalto; Y++) { / / Se determina el valor del pixel

ColGris= ( (R+O. 2 9 ) + (G*O. 60) + ( B * O . l l ) ) i //se extrae ia clase ai que pertence el pixel

Pertenencia=ClaseP[C~lG~isI; / / se verifica la pertenencia y si este esta contemplado en histograma

//Si se encuentra se extrae de la imagen original el color real if(Pertenencia==Cla &&(Histo2[ColGris].Pixeles>O)) [

ImaSalTex->Canvas->Pixels [XI [y] =ImaTexton->Canvas->Pixels [XI [y] ;

/ / Si no se encuentra esta pocision es pintada de color blanco ImaSalTe~->Canvas->Pixels [x l [y l=(TColor lRGB[Z55,Z55,Z55~;

1 else

)//Fin de la columnas de la imagen )//Fin de las filas

/ * Ya que se extrajo la información para una clase especifica el resultado es almacenado en disco * /

if (Centro[Clal>O ) ( //Asegura que el formato de salida sea RGB ImaSaiTex->Picture->Bitmap->PixeiFormat=pf24bit; ImaSalTex->Picture->SaveToFile(Nombre);

/ / Tada la informacion de las clases y los nombres son almacenado en un archivo

Creaimgarchs->arch->Lines->Add(Nombre); Totclass++; ]//Fin de si el centroide tiene valor mayor que cero

)//Fin del ciclo del total de las clases 1 //Se guarda los datos generados Creaimgarchs->arch->Lines->SaveToFile(Nombre); A partir de este punto se cuenta con una descripción del objeto de interés en téminos de una o vanas regiones homogéneas.

3.5 Caracterización

A partir de este punto se puede describir la imagen para efectos de reconocimiento de patrones (RP), o registrar los cambios que el objeto presente en su forma para efectos de modelado.

El proceso para llevar a cabo esta etapa, consta de dos partes:

1. Obtener para cada una de las regiones homogéneas, 42 características de textura.

58

2. Trabajar con la información de los límites del objeto con la finalidad de obtener los cambios en la forma del mismo, por lo que es necesario ubicar una malla de puntos sobre el borde del objeto para posteriormente, durante su movimiento, hacer los ajustes y el registro de los cambios de posición de los puntos que integran la malla.

La figura 3.6 muestra el diagrama específico del proceso de caracterización y las relaciones con la etapa de segmentación.

.-------------_--___---- . _____________L-____ - - - - . . . . . . . . . . . . . . . . . . . . . . . . . I I

c

Fiyra 3.6. Modelo conceptual de la etapa de detección y registro de los cambios de la forma del objeto en términos del color y textura y su relación con la etapa de segmentación.

3.5.1 Caracterizar la textura

La caracterización de la textura, consiste en definir cuáles son los descriptores que se pueden obtener de una textura, para ello, se emplean las propuestas en Vergara 2002: 10 momentos normales, 10 momentos centrales, 7 momentos de Hu, 6 momentos de Sidharta Maitra (ver sección 2.6.1.2), media, varianza y desviación estándar (ver sección 2.6.1 .l) de cada componente del RGB (rojo, verde y azul). Que pueden ser utilizadas para optimizar el proceso de segmentación y/u optimim las forma en que se describen los objetos en términos de las texturas. La figura 3.7 muestra el antecesor de esta etapa.

59

Modelado de objetos deformables, utilizando color y textura

El algoritmo realizado para llevar acabo esta tarea es el siguiente:

//Proceso que realiza el cálculo de las 42 características //Se obtiene el número de imágenes a procesar numeroimags=StrToInt(arch->Lines->Strings[O]); //Ciclo que realiza el cálculo de las imágenes especificadas en número de imags for(i=l;i<=numeroimags;i++)

1 Archnomb=arch->Lines->Strings[i];//Obtiene la ruta de la primera

imagen //Abre la imagen y es colocada en un componente tipo imagen

//Se obtiene las filas y columnas de la imagen imagfuent->LoadFromFile(Archnomb);

alto=imagfuent->Height; ancho=imagfuent->Width;

//Llamada al algoritmo que se encarga de calcular los momentos sección 2.6.1.2

//Llama al algoritmo que calcula los estadisticos de primer orden sección 2.6.1.1

estadisprimord(media,varianza,desviacion,alto,ancho);

//Proceso que se encarga de almacenar la información para cada imagen imprimestats(suma,moment,humom,betimb,media,varianza,desviacion,SaveDialo gl->FileName.c strO,selplano,mediai);

)//Fin de proceso de caracterización

-

60

Capítuio 3 Análisis, Diseño y Desarrollo del sistema

, _______________________________________- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Determinar el número de clases para la agnipación

i Mapa de Escalas Locales

Obtener el siguiente

Detección y registro de las cambios

+ Fin de Procesamiento proceso de datos

Figura 3.7. ilustra el antecesor del proceso de Caracterizar la textura

Con este procese se obtienen 42 características para cada una de las regiones homogéneas de la imagen.

3.5.2 Inicialización de la malla (Firma)

Este proceso se realiza cuando el objeto ha sido delimitado (sección 3.3.4) y básicamente consta de las siguientes fases (figura 3.7):

1. Cálculo del centro de masa (descrito más adelante en esta misma sección). 2. Cálculo de los puntos que formaran la malla (el número de puntos que serán fijados

a los límites del objeto son proporcionados por el usuario, entre 4 y 50 puntos). 3 . Ajuste de los puntos al límite del objeto.

La figura 3.8 muestra la relación entre cada una de las etapas mencionada anteriormente, la cuales son explicadas más adelante dentro de este apartado.

61

Modelado de objetos deformables, utilizando color y textura

._ .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I- - I

Ajuste y rcgistro de los *I cambiosdeforma

; Detecrl4n y m&tm de lacl cambias (Caracteriuicih) , _______________________________________- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Figura 33. Diagrama de bloques a detalle de la etapa de inicialización de la malla, de los ajustes y del

regism de los cambios en la forma.

3.5.2.1 Calculo del centro de masa

El concepto físico de centro de masa, se refiere al punto en un objeto que tiene la misma cantidad de masa alrededor de él en cualquier dirección [Parker 19941. Para un objeto, como un lápiz, el centro de masa, es el punto en el cual el objeto puede ser balanceado; por esta razón, algunas veces este punto también es llamado centro de gravedad [González 20021.

El cdculo del centro de masa se realiza con las ecuaciones siguientes:

(3.2)

Donde C, corresponde a la coordenada en y, y C, Corresponde a la coordenada en x del centro de masa.

Dado que se conoce qué píxeles forman parte de los límites del objeto se puede hacer el cálculo de C, y C, con el siguiente código:

//Segmento d e código que r e a l i z a e l cálculo del c e n t r o d e masa d e un o b j e t o f o r l i = O ; i<x-s ize; i++)[

f o r ( j = O ; j<y s i z e ; j + + ) ( if (imagen-%anvas->Pixeis [ i I [ j I == (,TColor) RGB (255,255,255) )

I r += i; c += j ; n++;

1 I

Cr = ROUND((float)r/(float)n); Cc = ROUND ( ( f l o a t ) c/ ( f l o a t ) n ) ;

62

Capítulo 3 Miss, Diseflo y Desarrollo del sistema

Este punto es importante ya que se tomará como referencia para trabajar con la malla de punto y registrar los cambios o deformaciones del objeto sujeto a estudio.

3.5.2.2 Cdlculo de lospunto de In malhs

Con el centro de masa calculado, se procede a realizar el cálculo de los puntos que conformaran la malla que envolverá al objeto, para lo cual se hace uso de la firma [González 20021.

Es importante señalar que el usuario es quien determina el número de puntos que serán utilizados en la malla (entre 4 y 50 puntos).

El proceso realizado para determinar la ubicación de los puntos de la malla es como sigue:

1. 2.

3 .

4.

Obtener el número de puntos (dado por el usuario). Se realiza una distribución uniforme de los puntos sobre una circunferencia imaginaria. Para io cual se hace uso de la ecuación 3.3:

Se determina el radio mayor en términos de borde del objeto previamente delimitado. Calcular la posición en (x, y) de cada punto sobre la circunferencia imaginaria con el radio mayor.

ángulo =#Puntos 1360 (3.3)

A continuación se muestra el algoritmo de lo expuesto con anterioridad:

/ * Se obtiene el número de puntos los cuales coformaran la malla,

TotPun=StrToInt (EPuntos->Text);// Por default el sistema considera son lo que el usuario indique*/

4 puntos vector<Punto> Puntos(TotPun); / / Se determina el angulo para cada punto Angulo=360/TotPun; AngAux=Angulo; /+Calculo del radio, crnr representa la ultima columna tocada en el

Rad= ( j -crnr) ; //Proceso el cálculo de los puntos, los cuales no son ajustados aun for(int ini=O;ini<TotPun;ini++)(

//Puntos en X

calculo del centro de gravedad del objeto*/

Puntos[inil.X = ROUND(Rad*cos((Angulo*PI)/180)); //Puntos en Y Puntos[inil .Y = ROUND(Rad*sin( (Angulo*PI)/180))*(-1);

Angulo=AngulotAngAux; 1

En este punto se tiene la malla inicial formando una circunferencia, en la cual está inscrito el objeto de interés, por lo que es necesario revisar la malla con la finalidad de ajustar cada punto para que se encuentre realmente en el limite del objeto. Después de este proceso, la

63

Modelado de objetos deformables, utilizando color y textura

forma de la malla no necesariamente es circular ya que se ajusta y toma la forma del borde del objeto.

3.5.3 Ajuste y registro de los cambios de forma

Todos los puntos calculados por el proceso descrito en la sección 3.4.2.2 deben ser ajustados para que coincidan con el borde del objeto. Para esto es necesario saber si el punto calculado de la malla corresponde a los bordes del objeto para lo cual se realiza lo siguiente:

Si el píxel inicialmente calculado es de fondo, el radio se reducirá para calcular nuevamente el valor del punto, este proceso se detiene cuando exista una transición de píxeles de fondo a píxel de objeto. El valor final para este punto de la malla será el primer píxel del objeto en el que se dio la transición. Si el píxel inicialmente calculado es del objeto el radio se incrementará para calcular nuevamente el valor del punto, este proceso se detiene cuando exista una transición de pixeles de objeto a píxel de fondo. El valor final para este punto de la malla será el último pixel del objeto en el que se dio la transición.

Este proceso se realiza para cada punto de la malla y garantiza que en los cuadros postenores de la secuencia se puede delimitar al objeto independientemente de que este incremente o reduzca su tamaño.

Para mayor detalle, la figura 3.9 muestra el proceso cuando el píxel es de fondo y la figura 3.1 O muestra cuando el píxel esta dentro del objeto.

Figura 3.9. Casos para cuando el pixel se encuentra ubicado fuera del objeto

64

Capitulo 3 Anblisis, Diseño y Desarrollo del sistema

Imagen

I Figura 3.1ü. Casos para cuando el pixel esta dentro del objeto.

A continuación se presenta el código encargado de realizar los ajustes para cada punto de la malla.

//Proceso para hacer ajustes de los limites //Totpun ===> Total de puntos definidos por el usuario for( ini=O;ini<TotPun;inittl[

ajustado=true; //Ontención de la posicibn del punto calculado X= Puntos[inil .X; Y= Puntos[inil .Y; do(//Checar si el punto esta dentro del objeto

if(Irnagen->PixeislYl [X]==(TColor)RGB(255,255,255,255)){ X1=XtAjustes[ini].Color; Yl=YtAjustes[inil .Pixeles;

//Checar si el nuevo punto sique dentro del objeto if (Imagen->Pixels[Yll [X1l==(TColorlRGB(255,255,255,255) ) [

x=x1: Y=Y 1 ;

)else[ Puntos[inil.Pixeles=X; Puntos[inil.Color=Y; punAux.x=y; punAux.y=x; ajustado=false;)

)else( X l = X t A j u s t e s [ i n i l . C o l o r f ( - 1 ) ; Yl=Y+Ajustes [inil .Pixeles* (-1) ;

if(Imagen->Canvas-Pixels[Y1] [Xl]==(TColor) ) (

Puntos[ini].Pixeles=X1; Puntos [inil .Color=Yl; PunAuX.x=Yl; PunAuX.Y=xl; ajustado=false;

)else[

RGB ( 2 5 5 , 2 55,255)

65

Modelado de objetos deformables, utilizando color y textura

x=x1; Y=Y1;

1 )

)while (ajustado) i

Hasta este punto se cuenta con la malla ajustada a los límites del objeto de interés y con ello se realiza el registro de los valores (posición XJ) de cada punto de la malla sobre el borde. Este proceso debe llevarse a cabo para cada cuadro de la secuencia, el ajuste de la malla entre cuadros se realiza mediante el proceso indicado considerando el cuadro en el tiempo f como el inicial para el cuadro en el tiempo t+l , para posteriormente, al final de la secuencia contar con la información de los cambios que el objeto presentó.

3.6 Procesamiento de los datas obtenidos

Ya que se tiene la información de los puntos de la malla sobre los bordes, el paso siguiente es procesar la información con la finalidad de determinar la distancia radial de cada punto de la malla con respecto ai centroide del objeto, ya que se tiene esta información se procede a determinar los rango mínimos y máximos de variación radial para cada punto de la malla.

Para efectos de visualización, esta información se normalizó para un espacio vimial en OpenGI.

Otro proceso llevado a cabo es la reducción del número inicial de 42 caractensticas obtenidas en la sección 3.4.1 a una cantidad menor y que aún sean Útiles para procesos de reconocimiento de patrones, para ello se aplicó el algoritmo conocido como de testores

:tipicos [Ruiz 19951.

En resumen, el proceso de tratamiento de los datos es el siguiente:

1. Calcular el centroide del objeto partiendo de la malla 2. Obtener las distancias radiales. 3. Determinar los rangos de variación radial. 4. Convertir datos para representación en OpenGL. 5 . Obtener los testores tipicos de las 42 características de textura.

A continuación se muestra el código implementado para cubrir el proceso de tratamiento de datos.

//Proceso de procesado de la información for(ima=Z;ima<TotFrames;ima++) 1

//Se hará el ajuste tantas veces como número de puntos sean f o r (x=O;x<TotPuntos;x++) {

//Suma de los puntos x.y TotX+=PuntosReales [ X I .X; TotY+=PuntosReales[xl.Y;

]//Fin del for de la Puntos

66

Capitulo 3 Análisis, Diseño y Desarrollo del sistema

//Calculo del centroide Para el cuadro CenX=TotX/Total_PUntOS; CenY=TotY/Totai-PUntOS;

//Búsqueda de menor y mayor en X del centroide MenMay = BuscaMayor(CenX,CenMin.x~ i

//Búsqueda de menor y mayor en Y del centroide MenMay = BuscaMayor(CenY,CenMin.y);

//Almacenar el centroide de cada cuadro salDistanXY<<CenX; salDistanXY<<' ' ; salDistanXY<<CenY; salDistanXY<<' ';

//Cálculo de las distancias de cada punto x , y con respecto al centroide for(int Pos=D;PosTotal-Puntos;Pos+t) 1

//Almacerar l o s puntos reales salmoment<<PuntosReales[Posl .X; salmoment<<' ' ; salmoment<<PuntosReales[Posl.Y; salmoment<<' '; //Al macerar los puntos OpenGL salglpuntos<<ConverGlX(PuntosReales[Pos].X,x - size); salglpuntos<<' '; salglpuntos~<ConverG1Y~PuntosReales[PosJ.Y,y~size); salglpuntos<<' ; //Calculo de las distancias Distancia - - sqrt~pow~~CenX-PuntosReales[Posl.X~,2)+pow((CenY-

P~ntosReales[Posl.Y),2) ) ; salDistanXY<< Distancia; salDistanXY<<' ';

//Determinar la distancia menor y mayor MenMay = BuscaMayor(Distancia,Minimo[Pos));

]//Fin para calcular el centroide de cada cuadro )//Fin del for de las imágenes //Muestra la ruta donde se almacenan los archivos de salida Nombre=Archnomb; Nombre.Delete(Nombre.Length()-4,5) ; Nombre+="Puntos . txt"; ShowMessage ("Archivo de salida "tNombre) ;

//Valores Mínimos salMaxMin<<CenMin.x; salMaxMin<<' ' ; SalMaxMin<<CenMin.y; salMaxMin<<' '; for(int z=O;z<(int)Minimo.size() ;zt+) (

//Almacenar los valores Máximos y Minimos en el archivo de salida

salMaxMin<<Minirno(z]; salMaxMin<<' ';

I //Valores Máximos salMaxMin<<CenMax.x;

67

Modelado de objetos d e f o d l e s , utilizando color y textura

Y

Pantalla OpenGL

4 -4

salMaxMin<<' ' ; salMaxMin<<CenMax.y; salMaxMin<<' ' i for(int z=O;z<(int)Maximo.sizeO;Zt+)(

salMaxMin<<Maximo[zl; salMaxMin<<' ' ;

I

A continuación se muestra el proceso de conversión de los de los datos para SU visualización en un entorno virtual OpenGI. Esto para utilizar la herramienta denominada Grqf03D [Díaz 20041 desarrollada en el cenidet, la cual permite visualizar en un espacio virtual 3D la información obtenida. Este proceso se hace para dibujar y obtener la forma del objeto; mientras más puntos se consideren en la malla mejor será el registro de los cambios en la forma del objeto y mayor será el detalle mostrado por GrujoO3D.

4

4 I

Centro (O 0,o O )

Las ecuaciones para convertir un punto de la malla a un punto en el espacio OpenGl son: X,,, = (8ícolumna máxima) * (X -((columna máximd2)) y

YopniGI = @/fila máxima) *(-Y + (fila máximd2)) (3.4)

Estas ecuaciones se pueden generalizar para permitir ventanas de cualquier tamaño que dando como sigue.

Xm,,,, = (C/columna máxima) * (X -((columna máximd2)) y Y*.,, = (C/fila máxima) *(-Y + (fila máxima/2)) (2.5)

68

-4

v

Capitulo 3 Adisis , Diseño y Desarrollo del sistema

Donde C es el tamaño de la ventana OpenGL

En esta etapa se mostró de manera general el procesamiento de los datos, no sin antes haber realizado los correspondientes ajustes y registros en la secuencia (sección 3.5). Como resultado del tratamiento de los datos es posible conocer las distancias radiales, los rangos de movimiento radiales mínimos y máximos observados en la secuencia, y se generó información que puede ser manipulada por OpenGl a través del uso de la herramienta Graf03D.

3.7 Comentarios

El presente trabajo muestra la integración y la mejora de varios métodos (pertenecientes a diferentes etapas de un sistema de Visión Artificial) con la finalidad de dar cumplimiento al objetivo de este trabajo de investigación.

En cada etapa de un sistema de Visión Artificial se puede profundizar su estudio e investigación debido a su alta complejidad y por lo tanto existir problemas aún no cubiertos en los cuales existe la posibilidad de realizar aportaciones.

69

Modelado de objetos defomables, utilizando color y textura

CAPÍTULO 4

ExDerimentaciÓn v resultados

4.1 Introducción

En este capítulo se presentan los casos de prueba utilizados para verificar tanto el cumplimiento del objetivo general como de los alcances del tema de tesis; así como la funcionalidad del sistema, la figura 4.1 muestra los sucesores y antecesores de cada prueba.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~

1 Seleccionar un área dentro del objeto

i

:i I: Mapa de Escalas Locales :I

/: Realizar la agrupación

en sus partes constituyentes

I:

CasoA

Obtener los límites (Crecimiento de regiones)

: CasoB ,------_______-_____________________ _ _ _ _ _ _ _ _ _ _ _ _ _

Ajuste y registro de la 11 Inicialización de la malla I

Capítulo 4 ExpimrntaCión y resultados

4.2 Especifxación de casos de prueba

Caso A: Veri@caci&n delpmcao de segmedcidn en una imgen &mildo mior y t&ra

ObjeiiwJ: Evaluar el proceso de segmentación, es decir, la correcta agrupación de las partes de un objeto considerando el color y la textura presentes en una imagen.

Datos de entra&: La prueba se realizó considerando texturas nahirales y artificiales. Para lo cual, se trabaja con la imagen de una h t a (manzana) y sobre dos imhgenes creadas artificialmente, las imágenes usadas para esta prueba se muestran en la figura 4.2

Figura 4.2. Imágenes de pmeba, a) Textura natural, b) y c) Texturas artificiales.

Dependencias entre cusos: En esta prueba no existe dependencia entre procesos, debido a que sólo se muestra la etapa de segmentación como un módulo independiente.

Datos de salida: La salida de este caso de prueba es el conjunto de todas las partes que constituyen al objeto en la imagen, es decir, las distintas regiones que integran al objeto. Por ejemplo, el resultado de segmentar la imagen de la manzana (figura 4.2 a), es la obtención de cinco regiones. La primera muestra una sección de la manzana (se puede considerar como la parte en buen estado), en la segunda imagen se pueden observar los colores más obscuros como son el tallo y la parte dañada de la manzana; la tercera imagen muestra el fondo, en la cuarta se observa el contorno del objeto y en la quinta se puede observar la zona más brillante (donde se refleja más luz) y por io tanto el algoritmo lo considera otra región (y lo es, considerando lo valores de niveles de gris presentes).

71

Modelado de objetos deformables, utilizando mlor y textura

Q

k üi

%-

Figura 4.3. Resultado de segmentar en regiones la t i p a 4.2 a

De cada regibn se forma una imagen tipo BMP, dichas imágenes se listan en un archivo tipo texto, que almacena la información relacionada (como lo son, la ruta y el nombre de los archivos), figura 4.4.

12

Capilulo 4 Experimentación y resultados

I. . _: ...

Figura 4.4. Archivo de íexío que contiene la ruta y el nombre de las imágenes de la figura 4.2.

Para el caso de la imagen de la figura 4.2b, el sistema reporta la existencia de cuatro regiones (figura 4.5). Es importante hacer notar que dos de éstas son similares, sin embargo, si se realiza un análisis detallado de la imagen original se puede observar que esta región está conformada por dos tonos de color, que el algoritmo etiqueta eficientemente como regiones diferentes. La figura 4.6 muestra la informaci6n de estas imágenes.

11 1V

Figura 4.5. Resultado de segmentar en regiones la figure 4.4 b

I I Figura 4.6. Archivo de texto que contiene la ~ i a y el nombre de las idgenes de la figura 4.5

73

PL

Capitulo 4 Expaúnentación y resuliados

Primern Paríe: D d m ' n a r las regwnes que integran al objeío de inter&

Datos de enimdn: La prueba se realiz.6 considerando imágenes con texturas dficiales. Se trabaja con secuencias de imágenes de una esfera, un cono y un gusano, figura 4.9; las cual& fueron creadas por la herramienta desarrollada en el grupo de Visión Artificial [Maz 20041.

a) b) C)

Figura 4.9. imágenes de p b a ; tomados del primer cuadro de la secuencia: a) Una esfera, b) Un cono y c) Un gusano; se selecciona un &ea dentro del objeto.

DependencMs entre casos: En esta prueba no existen dependencias entre procesos, ya que esta etapa es la inicial con miras a probar la capacidad del sistema para el modelado.

Datos de salida: La salida de esta prueba es el conjunto de las distintas regiones que integran el área del objeto seleccionado por el usuario. En otras palabras se obtiene la muestra de la textura o color de este objeto. De cada región se forma una imagen tipo BMP, las cuales se listan en archivo tipo texto (como ya se explicó).

El sistema presenta una imagen del recuadro que el usuario seleccionó de la imagen original, figura 4.10.

Figura 4.10. imágenes formadas a partir de la selección hecha por el usuario en la figura 4.8

Es importante recordar que un proceso previo a la selección del área por parte del usuario, es la aplicación del proceso de mapa de escalas a la imagen completa; por ejemplo, la figura 4.1 1 muestra el resultado de calcular el mapa de escalas locales de las imágenes mostradas en la figura 4.9, y la figura 4.12 muestra el resultado del mapa de escalas de la región seleccionada

Modelado de objetos defmables, utilizando ah y textura

a) b) C) Figura 4.1 1 Mapa de escalas de cada imagen que coíiforman a la figura 4.9.

Figura 4.12. Mapa de escalas de la región seleccionada

Con el resultado de aplicar el mapa de escalas y utilizando sólo el recuadro especificado por el usuario, se realiza la agrupación @or medio del algoritmo K-medias, sección 3.3.3) obtenikndose como resultado el número de regiones (clases) que integran este objeto; visualmente es posible observarlas en UM imagen en la cual cada color representa una región diferente, figura4.13.

Figura 4.13. Resultado de la agrupación usando el K-medias, caso a) Se detectaron siete clases, b) Se detectaron seis clases y c) Se detectaron cinco clases

Al conocer cuántas y cuáles son las regiones que integran el objeto bajo estudio, se procede a descomponer la imagen en sus partes homoggieas (partes homogéneas de la imagen), que denominaran homopartes (sección 3.3.5). En las figuras 4.14,415 y 416 se pueden observar las distintas clases obtenidas para cada una de las imágenes mostradas enlafigura4.13.

Nota: Para efectos de distinción entre cada imagen se le puso un marco

76

Capítulo 4 Experimentación y resultados

.... v vi

Figura 4.14. La imagen de la figura 4.12% es dividida en 7 clases

Figura 4.15. Le imagen de la figura 4. lZd, es dividido en 6 clam

... ii 111

iv V

Figura 4.16. La imagen de la figura 4.12c, es dividido en 5 clases

Segundo Parte: iocniizaieión de bordes deJ &jeto de interés

Objaiw: Evaluar el crecimiento de regiones, es decir, cuando el usuario selecciona una región dentro del objeto, esta no cubre completamente los límites del mismo, por lo que se realiza una segmentación, con la finalidad de encontrar los bordes del objeto sujeto a estudio.

Datos de entrada: La prueba se realizó considerando secuencias con texturas artificiales. Para lo cual, se trabaja con la primera imagen de cada secuencia de imágenes, en estos casos contienen respectivamente una esfera, un cono, y un gusano (figura 4.9). La entrada para este proceso es el resultado de la agrupación mostrado en la figura 4.13.

Dependmtdns entre casos: Para esta prueba es necesario cubrir la primera parte del caso B, es decir contar con el número de clases (regiones) que integran al objeto de interés.

Datos de salidn: La salida de esta prueba, es la localización del borde del objeto a través de la técnica de crecimiento de regiones (sección 3.3.4). Con esto se logra separar el

77

Modelado de objetos defonnables, utilizando color y textura

resto de la información que contiene la imagen completa El resultado se muestra en una imagen tipo BMP, ver figura.4.17. Es importante hacer notar que todo el proceso de segmentación se realiza sobre la imagen en la cual se calculó el mapa de escalas, es decir, la primera de la secuencia En el siguiente proceso, que consiste en la extracción de características, se trabaja con la imagen original en el plano RGB pero sólo en la región que conforma el objeto (por eso resulta importante contar con una eficiente etapa de segmentación).

- .- L _ ~ ~ ~ . ~- .

C)

Figura 4. 17. Resultado del proceso de delimitación los objetos de la figma 4.8.

&o c: lzxtmad . n de lar 42 ~ ~ e r i s t i c n s a la parte seieccionaáa

ObjjefNo: Evaluar el proceso de extracción de las 42 características en el plano RGB de la imagen, especificadas en la sección 3.4.1. Estas 42 caracterlsticas se obtienen para cada una de las regiones que conforman el objeto que el usuario seleccionó.

Datos de enfnufa: Se hace uso del archivo de texto generado en el proceso de determinar el número de regiones homogéneas (sección 3.3.5), que integran al objeto, El archivo contiene el número de imágenes (regiones) existentes, así como la ruta y nombre del archivo BMP de cada una de estas regiones.

Dependencias entre casos: Esta prueba se encuaitra intimamente ligada a la primera parte del caso B, ya que es en esa etapa en donde se crea el archivo usado en la presente

18

Capituio 4 Exprimentación y resultados

prueba Se podna utilizar el archivo generado en el caso de prueba A si se deseara caracterizar a toda la imagen y no solamente a

Dalos de saüdu: Como salida se tiene, un archivo tipo texto que contiene la información de las 42 características (formadas por los estadísticos de primer orden y los momentos), para cada una de las regiones especificadas. Cada linea del archivo corresponde a las características de cada homoparre, el archivo contiene tantas líneas como imágenes se hayan reportado en el proceso de separación de la parte seleccionada (sección 3.3.5), es importante recordar, que este proceso es realizado únicamente con el primer cuadro de la secuencia, y que, estas características, proporcionan invarianzas a: rotación, translación y escala [vergara 20021.

Ejemplo de los valores obtenidos. Las tablas 4.1 a la 4.5 presentan la información de las 42 caractensticas, obtenidas de la imagen de la parte daAada de la manzana figura 4.3ii.

objeto.

Tabla 4. 1. Momentos nmaies.

Momentos nonnolps

Tabla 4. 2. Momentos centrales

Tabla 4.3 Momentos Hu.

Momentos Hu I 0.258769 I

79

~ -

Modelado de objetos deformables, utilizando color y textura

Rojo (R) V e d (G) Azul (B)

Tabla 4. 4. Momentos Mafira.

Me& VdfllW? Desviación Están& 1241 500 1.05749e300 2.63494e-308

2012633247 1.30692~309 1.41144e+269 12413% 9.93173e315 1.42574et269

Caso D: Verif?uu?idn delproceso de ajuste y registro de ha malla a los Iímües del obj&

Objettivo: Evaluar el proceso de seguimiento del objeto. Uno de los objetivos del trabajo es realizar el modelado de un objeto en movimiento, es decir, registrar los cambios que pueda tener el objeto aún cuando éste presente cambios de perspectiva (rotación, translación y escala).

Datos de entrada: Como dato de entrada se tiene la primera imagen de la secuencia, ya delimitada como se puede observar en la figura 4.17.

Dependencias entre cosos: Para el cumplimiento de &a prueba es necesario cubrir la primera y segunda parte del caso B, ya que como resultado de esta prueba se obtiene UM correcta delimitación del objeto.

Datos de salida: Como resultado del proceso, se tienen como salidas, dos archivos tipo texto, los cuales contienen las coordenadas (r y) de los puntos que delimitan los bordes del objeto, recordando que uno contiene los puntos originales (coordenadas de la imagen) y el otro los puntos convertidos a coordenadas del OpenGL. Para efectos de ilustrar el proceso de seguimiento en esta sección se presentan las imágenes de cómo se realiza este proceso.

Para dar cumplimiento al objetivo planteado para este caso, lo primero que se hace para cada una de las secuencias es el proceso de inicialización de la malla de puntos y consistente en: dado un número de puntos, hacerlos coincidir con los limites del objeto; recordando que el usuario es quien indica el número de puntos que son ubicados en los límites del objeto. Las figuras 4.18, 4.19 y 4.20 muestran el resultado del proceso descrito.

80

Capítuio 4 Experimeitación y resultados

Figum 4.18. Resultado de fijar 20 puntos a la esfera del @mer cuadro de la secuencia, a) imagen original y b) imagen modificada pam poder apreciar los puntos en los bordes del objeto.

a) b) Figura 4.19. Figura de un cono con 16 puntos especificado el d o a la secuencia, a) imagen

Onginai y b) imagen modficada para poder apreciar los puntos en los bordes del objeto.

a) b) Figura 4.20. Figura de una gusano, con 12 puntos fijados en los Iúnites, a) imagen originai y b) Imagen

modificada para poder apreciar los puntos en los bordes del objeto.

Posteriormente se toman las posiciones de los puntos sobre el borde de los objetos figura 4.18, 4,19 y 4,20, los cuales son considerados como el punto de partida (inicialización) en el siguiente cuadro de la secuencia Estos puntos, de acuerdo a sus

81

Modelado de objetos defmables, utilizando color y textura

características de color y textura, son ajustados en la nueva imagen (siguiente cuadro de la secuencia) sobre los limites del objeto, este proceso es mostrado en las figuras de la 4.21a4.38a

Antes de mostrar el archivo de salidas se mostrarán las imágenes en las cuales se observan los ajustes de los puntos desde la malla inicial (figuras 4.18, 4.19 y 4.20), hasta un cierto número de cuadros.

Es importante remarcar que todas las imágenes mostradas en las figuras 4.20b-4.37b, contienen puntos de color rojo, indicando cbmo se han registrado los ajustes de cada elemento de la malla de puntos original.

A continuación se presenta el proceso para el caso de una esfera cuyo tamafío decrece (imagen dada en la figura 4.8a), dicho de otra manera sufre cambios en su escala

a) h) Figura 4.21. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indican las nuevas posiciones del los limites del objeto en el segundo cuadro de la secuencia y forman la nueva

malla de puntos.

Figura 4.22. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indican las nuem posiciones del los limites del objeto en el tercer cuadro de la -cia y forman la nueva

malla de puntos

82

a) b) Figura 4.23. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indican

las nuevas posiciones del los límites del objeto en el cuarto cuadro de la Secnencia

a) b) Figura 4.24. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indica

las nuevas posiciones del los límites del objeto en el sexto cuadro de la secuencia.

a) b) Figura 4.25. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indican

las nuevas posiciones del los límites del objeto en el octavo cuadro de la secuencia.

83

Modelado de objetos deformables, utilizando color y iexiura

lsl 13 164 49 110 13 126 18 1M U 73 17 IO 10 31 49 19 13 11 99 19 121 3l U 9 I O 168 74 180 1OC 181 126 180 110 lbs :C9 ld % 180 72 168 49 149 30 124 18 99 11 73 18 12 IO 3i 1 3 20 71 16 93 20 121 32 149 1i 16f 76 180 101 181 li8 !EO 111 167 169 la8 178 73 167 49 147 30 123 19 98 I1 7l 20 13 30 3 3 49 ?I 73 I7 99 21 121 33 149 53 16e I7 180 102 181 130 178 111 1 W 169 1': 176 68 1% 49 141 13 120 19 97 16 73 20 Y 30 34 49 22 73 18 99 22 121 35 1L9 5 I 166 78 180 103 181 132 176 111 16! 169 Ir. 174 66 161 49 143 13 U 9 20 91 18 7 l 22 16 10 15 4 9 21 73 19 99 23 U1 31 111 16 168 79 180 lo( 182 134 174 111 163 169 14s 2 172 M 161 49 141 10 U8 21 97 18 71 22 I8 30 36 43 2a 71 20 99 24 121 38 117 17 168 80 179 10) 181 136 172 151 162 169 142 171 63 162 49 139 30 U5 n 91 20 II 24 60 IO 37 43 21 71 21 99 21 125 39 147 18 165 U 178 106 180 138 17C 111 161 169 140 - I Figura 4.26. Ejemplo de un archivo de salida, se pueden observar las coordenadas (x, y) de la malla de

pnnios que fueron extraidos de la imagen

í.am cuadros 9 Rimmi0

v .. Kt ... .. .. : -<-%----~-d F ~ . 2

Figura 4.27. Ejemplo de un archivo de salida, se pueden observar las coordenadas (x, y) de la malla de puntos que &on extraidos de la imagen y que han sido unvertidos a coordenadas de opengl.

Continuando con la experimentación se muestra el seguimiento de un cono como el de la figura 4.8 b, el cual sólo presenta una translación.

Figura 4.28. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indican las nuens posiciones del los limites del objeto en el segundo cuadro de la secuencia y forman la nueva

malla de puntos.

84

Capihilo 4 Experimentación y resultados

F p r a 4.29. Los puntos a) en color verde indican los puntos de búsqueda y b) los pmto en rojo indican las nuevBs posiciones del los ümites del objeto en el tercer cuadro de la muencia.

a) b) Figura 4.30. Los puntos a) en color verde indican los puntos de búspueaa y b) los punto en rojo indican

las nuevas posiciones del los limites del objeto en el cuarto cuadro de la seniencia

Figura 4.31. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indican las nuew posiciones del los límites del objeto en el octavo cuadro de la secuencia.

85

Modelado de objetos defmables, utilizando MIM y textura

ingr\Iraias M y C m c h e W s do<memor\~na enesrerir\cano60~ano. avi A 41 81 34 94 24 U 2 l3 126 29 129 50 128 69 128 18 128 77 127 97 126 102 U2

82 81 71 70 68 59 52 A 42 81 35 94 25 102 15 126 30 129 I1 129 70 128 59 128 78 127 98 126 103 U 2

90 PI 87 81 76 70 70 57 55 7l 16 81 37 94 27 101 19 126 38 129 53 129 72 128 6l 128 80 127 100 126 105 U2

92 95 ü9 81 78 70 72 55 58 A 49 81 I 0 94 29 102 23 126 44 127 74 128 63 128 82 127 102 126 107 U 2 93 95 90 80 79 70 R 53 60 A 51 81 42 94 30 102 26 126 45 127 75 128 M 128 83 127 103 126 108 1l2

95 95 92 80 81 70 75 54 63 A 54 81 4 5 94 32 102 32 126 47 127 77 128 66 128 85 127 105 126 U 0 112

89 95 85 81 75 m 69 58 54 A 4 1 81 36 94 26 102 17 126 34 129 51 129 A 128 60 128 79 127 99 126 IM u2 QI PI 88 81 77 m n 56 16 A 47 81 38 94 28 102 20 126 42 129 54 129 n 128 62 128 81 127 im 126 1 ~ 6 u2

94 95 PI 80 80 70 74 55 62 A 53 81 43 94 31 102 29 126 46 127 51 128 m 128 61 128 BP 127 IM 126 io9 u 2

Figura 4.32. Ejemplo de un archivo de salida de la secuencia del cono, se pueden obsavar las coordenadas (x, y) de la malla de puntos que fueron extniidos de la imagen

I- ,<.::--.__-. -. ~. ! [Z,l

Figura 4.33. Ejemplo de un archivo de salida, se pueden observar las coordenadas (x, y) de la malla de puntos que fueron extraídos de la imagen y que haui sido convertidos a coordenadas de Opengl.

A continuación se presenta una secuencia en la que interviene un gusano, el cual es un objeto que cambia de forma durante el experimento.

Figura 4.34. LOS puntos a) en MIM Verde indican 10s puntos de búsqueda y b) 10s punto en rojo kdican las nuevas posiciones del los b i t e s del objeto en el segundo cuadro de la semeacia y forman la nueva

malla de puntos.

86

Capitulo 4 Expallnentaeión y resultados

Figura 4.35. Los puntos a) en color verde indican los puntos de kqueda y b) los punto en rojo indican las nuevas posiciones del los h i t e s del objeto en el tercer cuadro de la secuencia y forman la nneva

malla de puntos.

~ ~~ ~~~ ~~ ~ ~~~~ ~ ~ ~ ~~~ ~~

a) b) Figura 4.36. Los puntos a) en color verde indican los puntos de búqueda y b) los punto en rojo indican

las nuevas posiciones del los limites del objeto en el cuarto cuadro de la secuencia

Figura 4.37. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indican las nueyBs posiciones del los Lúnites del objeto en el sexto cuadro de la secuencia.

87

Modelado de objetos deformables, utilizando color y texiura

a) b) Figura 4.38. Los puntos a) en color verde indican los puntos de búsqueda y b) los punto en rojo indican

las nuevas posiciones del los limites del objeto en el sexto octavo de la secuencia.

puta c:\oocunems and serrlngs\Isaiar May canchewis docMemor\lmagenerTes1r\Gusanito\GuraniTo.avl 132 90 96 90 113 88 18 90 23 101 57 1 1 3 110 110 96 107 79 109 131112 161 100 131 90 99 87 61 90 26 101 59 113 113 107 99 IM 82 106 132 112 165 101

131 90 78 90 93 93 110 91 15 90 20 io1 54 113 io7 113 93 110 77 rn 130 112 16s i m

133 90 100 87 62 90 27 io1 60 113 114 io7 100 104 83 io6 133 u2 136 90 79 89 io1 8) 1 1 5 88 63 90 28 101 19 u3 112 109 100 io7 86 io8 134 112 139 90 102 87 66 90 28 100 60 113 110 109 103 U 0 83 105 131 112 161 100 140 90 103 87 114 88 68 90 31100 62 113 lll 109 106 107 86 102 136 112 162 100

Figura 4.39. Ejemplo de un archivo de salida de la secmcia del guano, se pueden observar las coordenadas (x, y) de la malla de puntos que fueron exhiúdos de la imagen

Figura 4.40. Ejemplo de un archivo de salida, se pueden observar las coordenadas (x, y) de la malla de puntos que fueron extraidos de la imagen y que han sido mvertidos a coordenadas de opaigl.

Caso E: Venyiación d e l p m c ~ de modelado

O b j h : Evaluar el proceso de modelado, es decir obtener información de las variaciones que el objeto presentó durante su estudio en la secuencia, al mismo tiempo analizar el rango de movimiento cada punto considerado (se mide la distancia de cada punto de la maüa con respecto al centroide del objeto), a esto se le denominara disrancia radial; además de reconstruir el objeto utilizando la información de la etapa de seguimiento.

Duros de enha&: Como dato de entrada se tiene la información del archivo de movimiento.

Capííulo 4 Experimentación y resultados

Dependen& entre cusos: Para el cumplimiento de ésta prueba se necesita la información del seguimiento del caso D.

Dams de sa&: Como resultado del proceso, se tienen como salidas dos archivos tipo texto, el primer archivo contiene los centroides del objeto en cada cuadro, así como las distancias de los mismos a cada uno de los puntos de la malla El segundo archivo consta básicamente de dos líneas, la primera contiene los valores mínimos registrados tanto del centroide (x, y) del objeto como de las distancias radiales, la segunda línea contiene los valores maximos resgistrados tanto del mtroide (x, y ) como de las distancias radiales.

Para c o r n e m con los resultados de este caso, es importante comentar que las dos primeras columnas de ambos archivos de salida forman el centro de gravedad del objeto sujeto a estudio, la primera columna representa el punto en la coordenada x, y la segunda representa la coordenada y del centroide, a partir de la tercera columna se presentan la distancias calculadas, tomando en cuenta los puntos de la malla La distancia utilizada es la éuclidia como lo muestra la ecuación 4.1.

d , = ,/(Cz -P,)” +(Cy -Pyy (4.1)

Donde: Cx = posición en x del centro de gravedad. Cy = posición en y del centro de gravedad. Px = posición en x del punto real de la imagen. F‘y = posición en y del punto real de la imagen.

A continuación se describe con mayor detalle para generar el primero de los archivos de salida; se procederá a analizar el primer cuadro de la secuencia de la esfera (ver figuras de la 4.20 a la 4.24), a continuación se presenta la información del primer cuadro.

Tabla A 6 Veinte puntos en pixeles del primer cuadro de la secuencia de uaa esfera.

89

Modelado de objetos defmables, utilizando color y textura

A partir de los n puntos especificados por el usuario (caso D), se calcula el centro de gravedad del objeto para cada cuadro (para este ejemplo el primero), el ciilculo, para cada columna se realiza sumando cada columna y dividiendo cada uno entre el número de puntos especificados, con lo que se obtiene lo valores en (x, y) del centro de gravedad. Por el ejemplo si se tienen los valores siguientes

Tabla 4. 7.Centmide del primer cuadro de la secuencia de una esfera que decrece.

Centroide X I Centroide Y

Ya que se tiene el centro de i a v d a d , para cada cuadro se procede a calcular las distancias de cada punto de la malla sobre la imagen con respecto al centroide, el resultado se presenta en la tabla 4.8.

99.85 98.8 I

Tabla 4. %Distancia radiales del primer aiadro de la secuencia de una esfera que decrece.

84.9262

84.0652

Los pasos expuestos con anterioridad se realizan para cada cuadro de la secuencia, el resultado de todo el proceso es almacenado en un archivo tipo texto; a continuación se presentan los archivos de salidas para las tres secuencias. En la figura 4.41 se muestran los resultados obtenidos para la esfera, en la figura 4.42 los correspondientes para.el cono y por último en la figura 4.43 los correspondientes al gusano.

Capihdo 4 Exp.?ximeniación y resultados

I .I . . 21 ._ - ~. 1 I usal.<dnral A

Figura 4.41. Archivo de salida de la secuencia de la esfera; contiene las coordenadas (x, y) del centroide y las respectivas distancias del ceníroide con respecto a los punto de la malla.

32.67 30.80 37 .31 31.18 30.60 37.48 28.49 30.79 37.40 28.42 31.13 37.17 27.86 31.11 37 .16 27 .21 30.63 36 7l 17.01 3 0 . 3 7 36 4 6 15.8) 30.35 3 e . 5 1 M.92 3 0 . 1 3 3 6 . 7 l

4 5 . n 33.93 45.94 33.15 46 .70 32.81 49 .28 32.37 49 .11 32.13 48.91 31.83 4 9 . 7 0 31.54

43 .27 31.81 67.14 31.61

9 .67 27 .86 3 8 .88 26 .89 28.32 25 .38 27.11 24.36 27.38 23 .29 26.92 22.79 26.29 22.89 26.03 22.33 26.28 21.56

36.16 36 .21 31.70 31.69 35.57 36.12 36 .31

36.69 36.02

12.14 40 .11 11.40 38 .01 n.14 37.89 12.15 37.38 52.98 35.88 50.86 36.48 50.20 37.12 49.50 35.40 48.15 33.81

27.26 21.88 21.33 29.23 26.09 21.19 29.27 26.16 21.88 29.97 26.79 2 b . U 30.98 26.89 26.19 30.66 26.W 26.46 ?9.?, ?7.05 ?< 61 10.38 m.18 25 .48 3 0 . 7 7 26.52 21 24

30.17 43.10 30.34 43.17 30.88 43.76 31.09 41.89 31.a 44.03 31.08 43.69 31.13 43.63 30.80 43.27 30.56 43 .08

43 .87 42 .49 42.01 41.12 40.27 41.23 a0.m 38.75 37.67

92.87 94.00 96.00 96.62 96.25 91.62 96. 10 98.37 I.,

i m . 2 5 15.82

098.62 11 .99

~ 9 . 5 0 14.30 098.50 12 .41

100.12 u : 1 2 W8.U 16.32

099.12 14.15 099.10 14.83

08.25 11 .64 10.32 1 1 . 7 0 12.W 16.44 12 .10 1 6 . 9 7 13.02 16 .92 14.03 1 6 . 6 1 14 .08 17.33 15.03 18.14

Y

I ~~~~~ ~~ ~~~~~~ ~~~~ I & k a L . d m a l k ~~

Figura 4.43. Archivo de salida de la secuencia del gusano, contiene las coordenadas (x, y) del centroide y las respectivas distancias del centroide con respecto a los punto de la malla.

Ya que se tienen las distancias de cada cuadro, se realiza un análisis de los valores para la búsqueda de los valores máximos y mínimos, y con ello conocer el rango de movimiento que presento el objeto analizado. Estos datos son almacenados en el segundo archivo de texto, en las figuras 4.44,4.45 y la 4.46 se presentan los resultados obtenidos.

. . . . ..

-0 Ed& Forlr&o yor nvudo ~IPUrnOS 20 , -

95 75 74 73 74 74 73 75 77 77 78 79 76 82 a2 81 77 79 78 77 75 valores nlnlmos m 96 76 75 75 75 76 77 76 77 78 79 80 76 82 83 82 70 81 79 78 77 volores ydxinos

Figura 4.44. Archivo de salida de la secuencia de la esfera; contiene las coordenadas (x, y) del centmide y las respectivas distancias mínimas y mkximas.

91

Modelado de objetos defmmables, utilizando color y te-

60 102 24 30 36 43 31 26 21 35 48 33 27 25 25 30 43 37 valores mínimos 68 102 21 30 36 41 31 26 22 36 49 31 30 26 25 30 43 38 Valores tlaxlinosl I

Figura 4.45. Archivo de salida de la secuencia del cono. contiene las coordenadas (x, y) del centrode y las respectivas distancias minimas y máximas.

98 12 14 18 66 11 16 12 68 Valores Máximos

Figura 4.46. Archivo de salida de la secuencia del gusano; contiene las coordenadas (x, y) del cenúicde y las respectivas distncias mínimas y mkximas

Para finalizar con el caso de prueba, se muestra la reconstrucción del objeto, para lo cual se usa el archivo de salida que contiene la información de las coordenadas OpenGL generado en el caso D. Para hacer esta tarea se hace uso de la herramienta GrujD3D [Dim 20041 desarrollada en el grupo de Visión Artificial de CENIDET. Para efectos de esta prueba sólo se presenta la reconstnicción de la secuencia de la esfera, el resultado se puede observar en las figuras 4.47 a la 4.20.

I Figura 4.47. Reconstrucción del primer cuadro de la secuencia de la esfera.

92

Capituio 4 Expimentación y resultados

Figura 4.48. Reconstrucción del tercer cuadro de la secuencia de la esfera

Figura 4.49. Reconstnicción del sexto cuadro de la secuencia de la esfera.

Figura 4.50. Reoonstnicción del Octavo cuadro de la secuencia de la esfera.

93

Modelado de objetos defmables, utilizando color y textura

4.3 Comentarios

Cada uno de los casos de prueba presentados tiene un objetivo bien definido para evaluar el funcionamiento de las diferentes operaciones del sistema

Los casos de prueba se desarrollaron siguiendo el modelo propuesto por [Gonzáiez 20021 para un Sistema de Visión Artificial (sección 1.1.2), en aquellas etapas necesarias para determinar las variaciones en la forma de un objeto en una secuencia de imágenes. Cada una de estas fases tiene su complejidad; sin embargo, la más importante y de la que depende el éxito del modelado es la segmentación, presentada en los casos A y B.

La metodología propuesta para la segmentación tiene un buen desempdo ante diferentes tipos de imágenes, es decir, ante objetos que presentan texturas naturales o artificiales, con fondos complejos o sencillos; aún cuando inicialmente para el caso que compete a este proyecto de investigación sólo se comprometi6 a los casos con texturas artiñciales.

Para poder generar los casos de prueba fue necesario contar con una herramienta que permitiera generar secuencias con objetos deformable y texturas artificiales; razón por la cual se optó por generarlas mediante el prototipo GruP3D [Díaz 20041.

Con respecto a la caracterización del objeto, se extraen 42 características de su textura, en otras palabras se analiza a detalle la composición de la misma Información necesaria para una buena segmentación de objeto y con ello contar también con un buen proceso de seguimiento. Además, se consideró determinar las distancia entre el centroide y cada punto fijado ai borde del objeto sujeto a estudio, así mismo se determina los rangos de movimiento del objeto con los valores máximos y mínimos, todo ello para realizar un historial del los cambios en la forma del objeto; la información que se usará para reconstruir la forma del objeto y10 para la obtención de un modelo útil para procesos de reconocimiento de patrones.

La reconstrucción del objeto presentado se realizó con la finalidad de mostrar que el proceso de registro y detección de los cambios corresponden al objeto que se describi6, además de probar una herramienta-desarrollado en el grupo de visión artificial [Díaz 20041; y de acuerdo con los resultados mostrados es posible hacerlo.

De acuerdo a los resultados obtenidos es posible notar la utüidad del sistema y su adaptabilidad a diferentes formas de objetos, es decir tiene un desempdo robusto.

94

Modelado de objetos deformables, utilizando color y textura

CAPÍTULO 5

Conclusiones

5.1 Introduccidn

En este capítulo se presentan las conclusiones y las aportaciones de este proyecto de investigación, así como los trabajos futuros que pueden ser desarrollados a partir de los resultados obtenidos en este trabajo.

5.2 Conclusiones

Este reporte presenta el desarrollo de una herramienta robusta que realiza de manera automática el modelado de un objeto. La razón de enfocarse a esta etapa sin llegar a un reconocimiento del objeto se debe a que la etapa de modelado o descripción de un objeto es indispensable en todo sistema de visión artificial; sin embargo, después de realizar un análisis del estado del arte en el área de visión, se encontró que generalmente la selección de variables se realiza de manera empirica, por parte del usuario del sistema o programador y que pocos trabajos se detienen a evaluar si el conjunto de variables utilizadas es el correcto para ese tipo de objetos, sin verificar si las variables tienen redundacia de información o cuentan con las variables realmente discriminantes, todo esto logrado a traves de la aplicación de un algoritmo de selección de variables.

De acuerdo con la hipótesis planteada inicialmente es posible afirmar que es viable el desarrolló de una herramienta que es capaz de obtener, en términos de color y textura, un modelo o descripción de la forma de los objetos flexibles presentes en una imagen. La información generada por esta herramienta permite extraer 42 características relacionadas con la textura y genera información que permite reconstruir el objeto analizado por medio de las distancias de movimiento con respecto al centroide y al mismo tiempo conocer los rangos de movimiento.

El realizar la caracterización de un objeto deformable no es posible llevarse a cabo a traves de distancias geométricas o características que consideren valores del borde, ya que con los cambios que este puede tener, estos valores cambian constantemente, por lo cual se considero el color y la textura. Variables que además de almacenar los cambios en las posiciones de los objetos permite extender el modelado de un objeto rígido a una reconstmcción del mismo.

95

Capítulo 5 Conclusiones

El objetivo inicial planteado en este proyecto de investigación se cumplió de manera satisfactoria a través del desarrollo de un sistema de modelado de objetos deformables el cual esta formado por las siguientes etapas:

a) Preprocesado de una imagen. b) Segmentación la cual representa la parte más importante del sistema de

visión, ya que permite garantizar el éxito de los procesos posteriores. c) Caracterización del objeto a través de 42 características de textura y

obtención de información de la forma y comportamiento del objeto. Esta información es almacenada en los siguientes archivos:

a Puntos: contiene las coordenadas (x, y) de las secuencias. b. GIPuntos: contiene las coordenadas OpenGL obtenidas de la

información de los puntos. c. Distancias: contiene información de las distancias de cada punto con

respecto al centroide. d. M d n : contiene los rangos de movimiento del objeto en la

secuencia

Además de lo anterior, se puede concluir lo siguiente: En la etapa de segmentación, el contar con un método para obtener de manera automática el valor de 1 (necesario para el mapa de escalas locales) es io ideal para conseguir mejores resultados. El método propuesto para determinar el número de clases y sus respectivos centroides, hace que el algoritmo de agrupación (k-medias) disminuya el número de ciclos necesarios para su convergencia El seguimiento de objetos es un proceso muy costoso y arduo desde el punto de vista computacionai. Es más dificil trabajar con objetos deformables que con objetos rígidos, ya que se tienen que analizar cambios en el objeto no conocidos y por lo tanto no esperados, además de los cambios tradicionales como lo son la traslación, la rotación y la escala El contar con UM buena descripción de los objetos es básico para el éxito de otros procesos de Visión Artificial tales como el seguimiento de objetos, reconocimiento de patrones, descripción de las imágenes, etc. El trabajo presentado es tan solo una pequeña muestra del potencial de la visión por computadora, así como del procesamiento digital de imágenes; que junto con el advenimiento de nuevas y poderosas tecnologías en un momento dado se podría buscar la optimización de este trabajo.

5.3 Aportaciones

De manera puntual, las aportaciones realizadas con este trabajo de investigación se listan a continuación:

1. Propuesta de UM metodología para modelado de objetos deformables. 1. Proceso de segmentación aplicable a imágenes naturales y no sólo a imágenes

artificiales como inicialmente se habla considerado. 2. Determinación automática de la granularidad de la textura en el mapa de escalas. 3. Proceso automático para la determinación del número de clases y centroides

para el algoritmo de agrupación K-medias (K-means).

96

Modeltido de objetos deformables, utilizando color y textura

4. Generar información que puede ser usada por otras herramientas como el caso de GgO3D [Día 20041.

5. AnAiisis del comportamiento de las deformaciones del objeto. 6. Desarrollo de una herramienta que puede usarse para caracterizar imágenes

estáticas como para secuencias de imágenes.

1. Esta metodología se puede implementar en aplicaciones de diferentes áreas como:

Seguimiento e identificación de personas (bancos u otro tipo de empresas). Verificación de trafico en calles de ciudades. Crecimiento de células, tumores. Modelado de los movimientos del corazbn. Comportamiento sospechoso de personas. Tareas relacionadas con el reconocimiento visual del habla

2. La herramienta presenta la implementación de la metodologla la cual: Cuenta con una interfaz grafica Presenta resultado con tan solo usar el mouse. Permite observar de manera visual los resultados.

3. La experimentación realizada con la herramienta. Demuestra que el algoritmo de segmentación pueden ser usado para diferentes tipos de imágenes. Demuestra que el seguimiento es eficiente, no importando el comportamiento que el objeto sujeto a estudio tenga Demuestra que es posible analizar el comportamiento de un objeto, determinando las distancias de movimiento, así como los rangos de movimiento del mismo. Se demuestra que la información generada en coordenadas OpenGL es útil para la reconstrucción.

4. Se realizaron tres publicaciones durante el desarrollo de este proyecto de investigación:

a Reconocimiento objetos utiiizando textura, articulo aceptado en el 1" Congreso Nacional de Sistemas y Computación, celebrado, del 24 8i 26 de marzo de 2004, en el Instituto Tecnolbgico de la Costa Grande, ubicado en Ixtapa-Zihuatanejo, Guerrero.

b. Modelado de procesos de manufactura utilizando gramaticas visuales, articulo aceptado en 3' Conferencia Iberoamericana en Sistemas, Cibemktica e Infodt ica (CISCI 2004), celebrado, del 21 al 25 de julio de 2004, en Orlando, Florida, EE.UU.

c. Quality Verification and Object Recognition Using Textures, articulo aceptado en el 11"' Congreso internacional de investigación en Ciencias Computacionales, celebrado, los dias 29, 30 de septiembre y 1' de octubre de 2004, en el Instituto Tecnológico de Tlalnepantla.

Participación en el XLYConcurso Nacional de Creatividad, con el proyecto: 5 . a Modelado de objetos deformables, utilizando color y textura, realizado

en el Centro Nacional de Investigación y Desarrollo Tecnológico,

91

Capitulo 5 Conclusiones

celebrado del 15 al 18 20 de iunio de 2004; se obtuvo el tercer lugar en - la fase local.

b. Modelado de objetos deformables, utilizando color y textura, realizado en el Instituto Ticnológico de Orizaba, celebrado &día 20 de mayo de 2004 en su fase regional zona V.

5.4 Trabajos futuros

El trabajo presentado tiene aun mucho camino que recorrer, por lo que se pueden plantear proyectos enfocados a fortalecer o tomar ideas del mismo.

0 Realizar las adecuaciones para poder modelar más de un objeto al mismo tiempo.

0 Hacer un sistema que permita usarse en tiempo real, aplicándola al área industrial como puede ser la inspección de calidad en frutas (manzanas, melones, etc.). Realizar una herramienta para segmentar y caracterizar las texturas de un banco de imágenes haciendo uso del método de segmentación y caracterización de textura. Determinar la dimensión fractal para mejorar el proceso de modelado. Complementar el trabajo agregándole un modulo de reconocimiento de patrones.

0

98

Modelado de objetos deformables, utilizando color y textura

c

Referencias [Babaud 19861 J. Babaud, A.P. Witkin, M. Baudin y R O. Duda, Uniquenses of the Gaussian kernel for spacespace filtering, IEEE Transaction on PAMI, vol 8(1), pp. 26-33, enero 1986.

[Barron 19981 A. Barron, J . Rissanen y B. Y y The Minimum Description Length Principle in coding and modelling, iEEE Transaction on information Theory, vol 44(6), pp, 2743-2760, Octubre 1998.

[Beck 19871 J. Beck, A. Sutter y R. IT, Spatiplfiequency elrunnels andperceptual grouping in terture segregation, Computer Vision, Graphics and Iimage Processing (CVGIP), vol. 37, pp 299 - 325,1987.

[Bishop 19951 C. M. Bishop, Neural Nehuork for Paltern Recognition, Ciarendon Press, New York, 1995.

[Cairó 19961 O. Cairó y S . Gardati Buemo, Estructura de datos, McGraw-Hill, 1996, pp. 310-318.

[Cheng 19991 H.D. Cheng y Y.H. Chen, Fuzzy partition of two-dimensional histogram and its application to thersholding, Paltern Recognition, 32(5), pp. 825-83, 1999.

[Díaz 20041 Díaz Barrita k J., Entorno de graficación y generación de modelos 2D y 3D para aplicaciones de Visión Artificial, Tesis de maestría, Dpto. de Ciencias Computacionales, Centro Nacional de Investigación y Daarrollo Tecnológico, Cuemavaca, Morelos., Agosto 2004.

[Dougherty 19951 E.R Dougherty y J.C. Handley, Recursive maximum-likelihood estimation in the onedimensional discrete Boolean random set model, Journal of Signal Processing, 43(1), 1995, pp. 1-15.

[Gibson 19501 3. J. Gibson, The Perception of the Visual Word, Reverside Press, Cambridge, 1950.

[Gómez 20001 G. G5mez Estrada, Selección de la escaia4ocal en procesamiento de imagines, Tesis de maestna, instituto Tecnol6gico y de Estudios Superiores de Monterrey (ITESM) campus Morelos, 2000.

[González 20021 R.C. Gonzáiez y E.R. Woods, Tratamiento Digital de Imágenes, Segunda Edición, Prentice Hall, 2002.

[Granlund 19951 G. Graniund y H. Knutsson, Signal processing for computer vision, Netherlands: Kluwer Academic Press, 1995.

[Hatton 20001 K. Hattori y M. Takahashi, A new edited k-nearest neighbour rule in the pattern classification problem, Pattem Recognition, 33(3), pp. 521-528,2000.

99

Referencias

[Hawkins 19691 J . K Hawkins, TeáuralproperiieS forpaltern recognilion, In Picture Processing and Psychopictoncs, B. Lipkin and A. Rosenfeld (editors), Academic Press, NuevaYork, 1969.

[Heeger 19951 D J. Heeger y R Bergen James, @ramid based texture anaIpWsynihesls, Proceedings of the 22nd annual conference on computer graphics and interactive techniques, pp 229 - 238, 1995.

[Herrera 20031 A. Herrera Peral@ Seguimiento de objetos alfaflexibles en secuencias de imágenes, tesis de maestna, Tesis de maestría, Dpto. de Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuemavaca, Morelos, 2003.

[Hoffman 19931 D. Hoffman, Repmenting shapes for visual recognition, Tesis de Doctorado, Departamento de Psicología, MIT, 1993.

[Hom 19771 K. P. Horn B., Understanding image intensities, Artificial1 intelligence, 8, 1977, pp. 201-231.

[Itti 19981 L. Itti, C. Koch y E. Niebur, A model of saliency-based visual attention for rapid scene analysis, IEEE Transaction on PAMI, vol 20(1 I), Nov. 1998

[Jagersand 19951 M. Jagersand, Saliency maps and attention selection in scale and spatial coordinates: an information theoretic approach, Roc. of the ICCV, pp. 195- 202,1995.

[Koendennk 19841 J. J. Koendennk, The structure of images, Biological Cybernetics, vol. 50, pp. 363-370, 1984.

[Lindeberg 19941 T. Lindeberg, B. M. Ter, Linear scale-space I: Basic theory, Ed. B. M. ter Haar Romeny, Geometry-driven difusión in computer vision, pp. 1-38, Dordrech: Kluwer Academic Publishers, 1994.

[Maravall 19931 D. Maravall Gomez-Allende, Reconocimiento de formas y visión artificial, Ed. RA-MA, mayo 1993, pp176-181.

[Man 19821 D. Marr, Vision, W.H. Freeman & Co., San Francisco, 1982.

[Marr 19851 D. Marr, La Gidn, AlianzaEditonal, Madrid,’1985

[Marroquin 19971 J. L. Marroquin Z., F. Velasco, S. Gutiérrez y M. Rivera, Gauss- Markov Measure Fields models for image processing, Technical Report No. 1-97-16, CIMAT, 1997.

[Marroquin 19981 J. L. Marroquín Z., Adaptive quantization and fíltering using Gauss Markov Measure Fields models, SPIE Bayesian Inference for inverse Problems, pp, 238-249,1998.

1 o0

Modelado de objetos deformable& utilizando color y textura

[Marroquin 19991 J. L. Marroquin Z., Serpiente Creciente, un Método Robusto de Contornos Activos Paramétncas, Centro de investigación en Matemáticas, Guanajuato, Gto., México, pp. 1-7.

[Nalwa 19931 V.S. Nalwa, A Guided Tour to Computer Vision, Addison Wesley, 1993.

[Ng 20001 M. K Ng, A note on constrained k-means algorithm, Pattern Recognition, 33(3), pp 515-520,2000.

[Niebur 19981 E. Niebur y C. Koch, Computational architectures for attention, Ed. R. Parasuraman, The attentive Brain, pp. 163-186, Cambridge: MIT Press, 1998.

[Nyquist 19241 H. Nyquist, Certain factors affecting telegraph speed, Bell System Technical Journal, vol. 3, pp. 324-346, abril 1924.

[Olivares 19971 S. Olivares Ortiz y Avilés Cruz C., Clasificación de imágenes por descripciones geométricas de la matriz de co-ocurrencia, Tercer Taller Iberoamericano de reconocimiento de patrones, M&ico D.F., marzo 1997, pp. 23-27.

[Olivares 19991 S. Olivares O., y C. C. Avilés, Uso de atributos Geométricos para la segmentación de imágenes Terturizadas, Universidad Metropolitana-Azcapotzalco, Depariamento de Electrónica, México D. F., 1999, pp. 1-10,

[Orbe 20031 E. Orbe C., Desarrollo de una herramienta para el modelado automático de objetos aifaflexibles, tesis de maestría, Dpto. de Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Mor.,2003.

[Pajares 20021 G. Pajares y J. M. de la Cruz, Visión por Computadora Imágenes Digitales y Aplicaciones, Editorial Alfa-Omega, 20.02.

[Pajares 2002bI G, Pajares y JesUs Manuel de la Cruz, Clasificación de texturas naturales mediante k-Means, Dpto. Arquitectura de Computadores y Automática, Facultad de Ciencias Físicas, Universidad Complutense, Revista electrónica de visión por computadora, número 6, Madrid, España, Marzo 2002, pp. 1-19.

[Panilla 19971 C. Panilla, A. Alcalá y F. J. Ariza, Filtrado de imágenes en el dominio de la frecuencia, Departamento de Ingenieria Cartografca,’Geodesica y Fotogramairía, Universidad de Jaén, Revista de Teledetección, No. 8, Diciembre de 1997, pp 1-5.

[Papoulis 19861 A. Papoulis, Sistemas Digitales y Anaiógiws, Transformadas ’de Fourier, Estimación Espectral. Ed. Marcombo Boixareu, Barcelona 1986.

[Parker 19941 R. J. Parker, Practical Computer Vision using C, Ed. Wilet, 1994

[Patterson 19961 D. W. Paltason, Artifioall Neural Networks, Singapure, Prentie- Hall, Englewood Cliffs, 1996.

101

Referencias

[Pritchard 19771 D. H. Pritchard, U.S. Color Television Fundamentals-A Review, IEEE Transactions Consumer Electronics, vol. 23(4), pp. 467-478,1977.

[Rissanen 19871 J. Rissanen, Minimum Description Length principle, Encyclopedia of Statistical Sciences, vol. 5, pp. 523-527, 1987.

[Rissanen 19831 I. Rissanen, A universal prior for integres and estimation by estimation by Minimum Description Length, Annals of Statistics, vol. 11(2), pp. 416- 431,1983. Academin Press, New York. 1982.

[Rosenfeld 19711 A. Rosenfeld y M. Thurston, Edge and curve detection for visual scene analysis, IEEE Transactions on Computers, vol. 20(5), pp. 562-569, 1971.

[Rosenfeld 19821 A. Rosenfeld y A. C. Kak, Digital Picture Processing, vols 1 y 2,

[Rosin 19931 P. Rosin y S. Venkatesh, Extracting natural scale using Fourier descriptors, Pattern Recognition, vol. 26, pp. 1383-1393,1993,

[Ruiz 19951 J. Ruiz Shulcloper, E. Alba Cabrera, L. Cortés Manuel y Grupo de reconocimiento de patrones Cuba - México, Zntroduccidn al reconocimiemb de patrones (enfoque Iógico combinalorio)), Departamento de hgeniena eléctrica CMVESTAV - IPN México D.F. Noviembre 1995.

[Rumbaugh 19911 J. Rumbaugh, M. Blaha, W. Premerlani, F. Hedi, y W . Lorensen W., Modelo y dlseilo orientado a objetos, Prentice Hail, 199 1.

[Salvatella 20011 G. A. Salvatella, On lerlure descripiion, Reporte técnico del centro de visión por computadora departamento de informática, Universidad autónoma de Barcelona. Barcelona España, septiembre 2001.

[Shannon 19481 C. E. Shannon, A mathematical theory of communication, Bell System Technical Journal, vol. 27, pp. 379423 y 623-656, 1948.

[Smith 19781 A. R Smith, Color Gamut Transform Pairs, Computer Graphics, 12 (3), 12-19, 1978.

[Theodoridis 19991 S. Theodoris y K Koutroumbas, Pattern Recognition, Academic Press, New York.

[Tomita 19901 F. Tomita y S. Tsuji, Computer Analysis of Visual Textures, d. Kluwer Academic Publisher, 1990, pp. 137-162.

[Vergara 20021 0.0. Vergara V., R. Pinto E. y A. Magadán S., Estudio sobre la caracterización automática de texturas para su reconocimiento, Centro nacional de investigación y desarrollo tecnológico (cenidet), 2002.

[Vergara 20031 0.0. Vergara V., Reconocimiento de texturas artificiales, aplicaci6n a la inspecci6n visual, tesis de maestría, Dpto. de Ciencias Computacionales, Centro Nacional de investigación y Desarrollo Tecnológico, Cuemavaca, Morelos, Abril 2003.

1 02

Modelado de objetos defcomables, utilizando color y textura

[Villamil 20021 J. M. Villamil Brito, Seguimiento de objetos rígidos en secuencias de imágenes, tesis de maestría, Dpto. de Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuemavaca, Mororelos, 2002.

[Vision 20041 --, Computer Vision Test Image, available [ON LINE] ht t~ : / /wwv- 2 cs. Cmu.edU/a~S/CS/DrOieCt/Ci~/Ro/htmVv-ima~eS.h~~, Jdio 2004.

[Witkin 19831 A. P. Witkin, Scalespace filtering, Proc. of the ITCAI, vol 2, pp, 1019- 1022, agosto 1983.

[yamane 19791 T. Yamane, Estadística, Ed. Harla, 1979.

103