SEGMENTACION DE FORMAS USANDO MODELOS DEFORMABLES MEMORIA...
Transcript of SEGMENTACION DE FORMAS USANDO MODELOS DEFORMABLES MEMORIA...
!"#$%#&!'%( ! )*!')*#+ ! ,# )(&"-%#)*.'! *'%!,*/!')*# #$%*0*)*#,
!1%1+1 ! *'/!'*!$2# *'0($&3%*)# -'*4!$+* # ! /$#'# #
SEGMENTACION DE FORMAS USANDO MODELOS DEFORMABLES
MEMORIA QUE PRESENTAANTONIO GARRIDO CARRILLO
1996
DIRECTORNICOLAS PEREZ DE LA BLANCA CAPILLA
Indice general
1. Introduccion 1
1.1. El problema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Planteamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1. Segmentacion: aproximaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2. Modelizacion de deformaciones: aproximaciones. . . . . . . . . . . . . . . . . . . . 5
1.2.2.1. Metodos sin informacion a priori. . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2.2. Metodos con informacion a priori. . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3. Fusion de informacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.3.1. Informacion de las aristas de una imagen. . . . . . . . . . . . . . . . . . . 8
1.2.4. Deteccion de formas: representacion. . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.4.1. Descripcion de un contorno: Modelo propuesto. . . . . . . . . . . . . . . . 9
1.2.4.2. Ejemplo ilustrativo: Un enfoque simbolico. . . . . . . . . . . . . . . . . . 10
1.3. Objetivo y estructura del trabajo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.1. Objetivo General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.2. Organizacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.3. Imagenes test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2. El espacio de escalas. 15
2.1. Representacion multiescala de las imagenes. . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2. Obteniendo informacion multiescala. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3. El espacio de escalas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1. Definicion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.2. Derivacion en el espacio de escalas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4. Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5. Estructura a traves del parametro de escala. . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.1. Comportamiento de los puntos crıticos en el esp. de esc. . . . . . . . . . . . . . . . 22
3. Contornos: Descripcion y aproximacion 25
3.1. El contorno y su alisamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.1. Contraccion del contorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2. Curvatura y espacio de escalas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1. Curvatura: Definicion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.2. Aplicacion del espacio de escalas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3. Representacion multiescala del contorno 2D. . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.1. Calculo del valor absoluto de las curvas de curvaturas. . . . . . . . . . . . . . . . . 32
3.3.2. Construccion de las trayectorias de los maximos. . . . . . . . . . . . . . . . . . . . 32
3.3.3. Localizacion de los maximos en el contorno original. . . . . . . . . . . . . . . . . . 33
3.4. Algoritmo de deteccion de puntos dominantes. . . . . . . . . . . . . . . . . . . . . . . . . 34
i
pag.ii INDICE GENERAL
3.4.1. Idea basica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4.2. Formulacion general del algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4.3. Algoritmo detallado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4.3.1. Algoritmo Ap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4.3.2. Algoritmo Af . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.3.3. Valor U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.3.4. Minimalidad del resultado. . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.4. Discusion y resultados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.4.1. Discusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.4.2. Resultados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4. Fronteras y Preprocesamiento de Aristas. 51
4.1. Deteccion de fronteras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.1. Seleccionando un detector de aristas. . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.2. Mejorando los resultados desde la interpretacion multiescala. . . . . . . . . . . . . 52
4.1.2.1. Movimiento de las fronteras a traves de la escala. . . . . . . . . . . . . . 53
4.1.2.2. Relacionando aristas: Multihisteresis. . . . . . . . . . . . . . . . . . . . . 54
4.1.3. Algoritmo multiescala de deteccion de fronteras. . . . . . . . . . . . . . . . . . . . 56
4.1.3.1. Proyeccion sobre una imagen con maxima precision. . . . . . . . . . . . . 59
4.2. Preprocesamiento y extraccion de cadenas. . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2.1. Deteccion de Puntos Multiples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2.1.1. Algoritmo para puntos multiples. . . . . . . . . . . . . . . . . . . . . . . 61
4.2.2. Busqueda, corte y orientacion de cadenas. . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.2.1. Busqueda y extraccion de una cadena. . . . . . . . . . . . . . . . . . . . . 62
4.2.2.2. Corte y Orientacion de las cadenas. . . . . . . . . . . . . . . . . . . . . . 62
4.2.2.3. Criterio para orientacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3. Ejemplos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5. Modelizacion de deformaciones 69
5.1. Aproximacion propuesta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.1.1. Planteamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.1.2. Derivacion de las ecuaciones de equilibrio del elemento finito. . . . . . . . . . . . . 71
5.1.2.1. Notacion y relaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.1.2.2. El elemento finito en equilibrio. . . . . . . . . . . . . . . . . . . . . . . . 72
5.1.3. Solucionando la ecuacion de equilibrio: Analisis modal. . . . . . . . . . . . . . . . . 73
5.1.3.1. Transformacion de la ecuacion de equilibrio. . . . . . . . . . . . . . . . . 73
5.1.3.2. Modos de vibracion libre. . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.1.4. Calculo de los modos naturales de deformacion. . . . . . . . . . . . . . . . . . . . . 75
5.1.4.1. Calculo de la matriz de masas. . . . . . . . . . . . . . . . . . . . . . . . . 76
5.1.4.2. Calculo de la matriz de rigidez. . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2. Seleccion de deformaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2.1. Deformaciones modales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2.2. Componentes principales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6. Localizacion inicial de contornos deformables 81
6.1. La transformada de Hough generalizada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.1.1. Formulacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.1.2. El caso mas simple: deformaciones rıgidas. . . . . . . . . . . . . . . . . . . . . . . . 82
6.1.3. Caso general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
ii
INDICE GENERAL pag.iii
6.2. Manejo de ruido y pequenas deformaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.2.1. Cambio en la votacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.2.1.1. Zona de incertidumbre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.2.1.2. T. Hough modificada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.2.2. Uso de otro tipo de informacion desde el template. . . . . . . . . . . . . . . . . . . 86
6.2.2.1. Niveles de informacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.2.2.2. Construccion de informacion de nivel superior. . . . . . . . . . . . . . . . 87
6.2.3. Reformulacion de la Transformada de Hough. . . . . . . . . . . . . . . . . . . . . . 88
6.2.3.1. Un ejemplo ilustrativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.3. Disminucion del tamano del acumulador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.3.1. Muestreo del espacio de parametros. . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.4. Integracion de informacion multicanal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.4.1. Una solucion directa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.4.2. Integracion por medio de la transformada de Hough modificada. . . . . . . . . . . 96
6.5. Resultados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.5.1. Ejemplos sobre citologıas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.5.2. Ejemplos sobre nematodos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.5.3. Ejemplos sobre manos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7. Optimizacion de la localizacion 111
7.1. Mejora de la localizacion inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.1. Incremento de la precision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.2. Extraccion de la informacion para cada objeto. . . . . . . . . . . . . . . . . . . . . 112
7.1.3. Uso de un modelo geometrico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.1.4. Un algoritmo de enfoque. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.1.4.1. Un ejemplo ilustrativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2. Optimizacion final de la solucion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.2.1. Definicion de las funciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.2.2. Funcion de energıa externa desde las fronteras. . . . . . . . . . . . . . . . . . . . . 117
7.2.2.1. Energıa desde las aristas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.2.2.2. Mejora a partir de la direccion del gradiente. . . . . . . . . . . . . . . . . 119
7.2.3. Funcion de energıa externa desde otras fuentes. . . . . . . . . . . . . . . . . . . . . 121
7.2.4. Delimitando el espacio de deformacion. . . . . . . . . . . . . . . . . . . . . . . . . 122
7.2.5. Un problema de regularizacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2.6. Un modelo probabilıstico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.3. Resultados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.3.1. Ejemplos sobre citologıas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.3.2. Ejemplos sobre nematodos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.3.3. Ejemplos sobre manos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Conclusiones y trabajos futuros 139
Discusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Desarrollos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
A. Calculo de los modos naturales de vibracion. 143
B. Vibraciones naturales de un nematodo. 147
iii
pag.iv INDICE GENERAL
C. Aproximacion elıptica de una nube de puntos. 151
D. Modelo de Grenander: Distribucion a priori. 153
Bibliografıa 159
Indice de Materias 165
iv
Indice de figuras
1.1. Ejemplo de imagen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Descripcion cualitativa de distintos patrones. . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3. Imagenes test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1. Funcion gaussiana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2. Derivadas de gaussiana 1D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3. Derivadas de gaussiana 2D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1. Contornos: Imagenes test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2. Contorno geografico con distintos grado de alisamiento. . . . . . . . . . . . . . . . . . . . 27
3.3. Correccion global de la contraccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4. Angulo de contingencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.5. Curva de curvaturas con sigma 16 y 45.25. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.6. Espacio de escalas de la curvatura para el contorno de Espana. . . . . . . . . . . . . . . . 31
3.7. Contorno cuasi-triangular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.8. Curvatura del contorno cuasi-triangular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.9. Optimalidad de dos puntos y una curva. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.10. Trayectorias de maximos de Espana, italia y G. Bretana. . . . . . . . . . . . . . . . . . . . 40
3.11. Trayectorias de maximos del Grupo celular, mano y hoja. . . . . . . . . . . . . . . . . . . 41
3.12. Puntos obtenidos de contorno celular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.13. Puntos obtenidos en el contorno de Espana. . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.14. Puntos obtenidos de una mano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.15. Puntos obtenidos en el contorno de Italia. . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.16. Puntos obtenidos de la hoja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.17. Puntos obtenidos de Inglaterra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.18. Minimizacion del numero de puntos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.19. Interpolacion desde el numero de puntos minimal. . . . . . . . . . . . . . . . . . . . . . . 49
4.1. Funcion laplaciana de gaussiana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2. Histeresis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.3. Multihisteresis (ver texto). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.4. Proyeccion en una imagen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.5. Eliminacion de Puntos triples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.6. Imagen sin puntos multiples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.7. Corte y Orientacion de cadenas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.8. Criterio de Orientacion de cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.9. Fronteras(Ejemplo 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.10. Fronteras(Ejemplo 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
v
pag.vi INDICE DE FIGURAS
4.11. Fronteras(Ejemplo 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.1. Deformaciones modales de un cuadrado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.1. Zona de incertidumbre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.2. Niveles informacionales de un contorno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.3. Descripcion de un objeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.4. Rachas de una circunferencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.5. Resultados de la localizacion de celulas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.6. Nematodos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.7. Localizacion de nematodos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.8. Resultados multi-histeresis de la localizacion de celulas. . . . . . . . . . . . . . . . . . . . 95
6.9. Cooperacion entre escalas en la deteccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.10. Integracion de informacion multicanal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.11. Citologıas(Ejemplo 1): original y parametros . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.12. Citologıas(Ejemplo 1): Celulas detectadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.13. Citologıas(Ejemplo 1): Situacion de las celulas detectadas . . . . . . . . . . . . . . . . . . 101
6.14. Citologıas(Ejemplo 1): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.15. Citologıas(Ejemplo 2): original y parametros . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.16. Citologıas(Ejemplo 2): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.17. Nematodos(Ejemplo 1): original y parametros . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.18. Nematodos(Ejemplo 1): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.19. Nematodos(Ejemplo 2): original y parametros . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.20. Nematodos(Ejemplo 2): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.21. Manos(Ejemplo 1): original y fronteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.22. Manos(Ejemplo 1): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.23. Manos(Ejemplo 2): original y fronteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.24. Manos(Ejemplo 2): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.25. Manos(Ejemplo 3): original y fronteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.26. Manos(Ejemplo 3): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.27. Manos(Ejemplo 4): original y fronteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.28. Manos(Ejemplo 4): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.29. Manos(Ejemplo 5): original y fronteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.30. Manos(Ejemplo 5): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.31. Manos(Ejemplo 6): original y fronteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.32. Manos(Ejemplo 6): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.1. Extraccion de informacion para cada objeto. . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.2. Estimacion elıptica de la localizacion de celulas. . . . . . . . . . . . . . . . . . . . . . . . . 113
7.3. Aristas y espacio de parametros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.4. Histograma y umbralizacion del espacio de parametros. . . . . . . . . . . . . . . . . . . . 116
7.5. Distancia a la arista mas cercana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.6. Uso de la direccion del Gradiente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.7. Ejemplo de funcion h(x, θ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.8. Deformaciones locales sobre un modelo elıptico. . . . . . . . . . . . . . . . . . . . . . . . . 125
7.9. Citologıas(Ejemplo 1): original y parametros . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.10. Citologıas(Ejemplo 1): Celulas detectadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.11. Citologıas(Ejemplo 2): original y parametros . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.12. Citologıas(Ejemplo 2): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
vi
INDICE DE FIGURAS pag.vii
7.13. Nematodos(Ejemplo 1): parametros y objeto detectado . . . . . . . . . . . . . . . . . . . . 130
7.14. Nematodos(Ejemplo 1): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.15. Nematodos(Ejemplo 2): original y localizacion inicial . . . . . . . . . . . . . . . . . . . . 131
7.16. Nematodos(Ejemplo 2): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.17. Manos(Ejemplo 1): original y localizacion inicial . . . . . . . . . . . . . . . . . . . . . . . 132
7.18. Manos(Ejemplo 1): Resultado usando fronteras . . . . . . . . . . . . . . . . . . . . . . . . 132
7.19. Manos(Ejemplo 1): original y fronteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.20. Manos(Ejemplo 1): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.21. Manos(Ejemplo 2): original y fronteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.22. Manos(Ejemplo 2): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.23. Manos(Ejemplo 3): original y fronteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.24. Manos(Ejemplo 3): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.25. Manos(Ejemplo 4): original y fronteras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
7.26. Manos(Ejemplo 4): Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
7.27. Manos(Ejemplo 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
vii
Capıtulo 1
Introduccion
1.1. El problema.
LA deteccion y extraccion automatica de los objetos presentes en una escena es un problema cuya
complejidad si se plantea en sus terminos mas generales hace muy difıcil el estudio de soluciones
globales para todo tipo de imagenes, no habiendose obtenido hasta ahora mas que soluciones parciales para
determinadas aplicaciones y/o condiciones de las imagenes. Los problemas mas importantes asociados a
la segmentacion de imagenes que son objeto de nuestro estudio, son debidos en primer lugar al ruido y a
la aparacion de multiples objetos en la imagen.
Entenderemos por ruido cualquier proceso que haga crecer la incertidumbre sobre los posibles objetos
presentes en la imagen. Existen por tanto distintos tipos de ruidos que pueden afectar al analisis de la
informacion presente en una imagen:
Un tipo de ruido aparece en el proceso de captacion de la imagen, que introduce sobre esta un ruido
de tipo estocastico que es usualmente modelizado por una distribucion Gaussiana o de Poisson.
Aunque este ruido puede ser importante en algunos tipos de detectores y alterar considerablemente
los valores de los pixeles, los sistemas de captacion que hemos usado, basados en sensores de tipo
CCD, producen imagenes con una calidad razonable en terminos de S/N .
Otro tipo de ruido que afecta aun de forma mas considerable es el que denominaremos de tipo no
estocastico y se caracteriza por la falta de contraste entre los valores de gris de los pıxeles exteriores
e interiores a un objeto junto con un rango corto de niveles de gris de la imagen. Este tipo de ruido
viene dado por el tipo de material u objetos que estamos analizando y es por tanto muy difıcil
de modelizar matematicamente. La unica solucion factible para paliar la falta de informacion que
este segundo tipo de ruido introduce en la imagen es el uso de hipotesis sobre el comportamiento y
formas de los objetos presentes en la imagen.
Un tercer tipo proviene de la multiplicidad de objetos en la imagen. Ademas de la confusion que
ocasiona el considerar que existe mas de un objeto en la imagen, debemos considerar problemas tales
como el solapamiento (dificulta la segmentacion al hacer que la informacion con la que segmentar
la imagen sea unicamente parcial).
Ademas del proceso de ruido existe otro mecanismo natural que hace aumentar la incertidumbre: las
variaciones geometricas de la forma1. Estas hacen imposible la aplicacion de metodos de deteccion de
objetos que superando problemas de ruido se limitan a la deteccion de contornos rıgidos sin contemplar
posibles deformaciones. Un ejemplo de imagen con este tipo de problematica se puede ver en la figura 1.1.
1Un problema que afecta especialmente a objetos en la naturaleza.
1
pag.2 Introduccion
Figura 1.1: Ejemplo de imagen.
Cuando se pretende resolver el problema de segmentacion de objetos, es decir, ir desde la captacion
de una imagen hasta la clasificacion de los objetos que se encuentran en ella, la metodologıa a seguir es
ir realizando cada una de las etapas necesarias desde las de mas bajo nivel semantico e ir subiendo hasta
la comprension de la imagen de manera que en cada una de ellas fijamos los siguientes pasos:
Una informacion a procesar: procedente de la etapa anterior.
Una tecnica para el proceso.
Una informacion procesada: destinada a la siguiente etapa.
Bajo el paradigma de Marr ([Marr y Nishahara 78]), cada uno de estos pasos han sido convencional-
mente tratados de forma independiente provocando un estudio separado en muchos campos tal y como
muestra la literatura ([Gonzalez y Woods 92], [Jain 89], [Sonka et al. 93]). Un enfoque clasico de detec-
cion de contornos (boundary detection) para resolver nuestro problema en analisis de imagenes podrıa
ser el siguiente: captacion de la imagen, preprocesamiento, extraccion de fronteras, union de fronteras,
deteccion del contorno y clasificacion del contorno. Es claro que el flujo unidireccional de esta informacion
perjudica a los resultados obtenidos por dos razones:
La informacion que se pierde en un nivel ya no puede ser utilizada en los niveles semanticamente
superiores.
El error cometido en un nivel es arrastrado y posiblemente amplificado en posteriores tareas.
Estos dos puntos son contrapuestos ya que evitar arrastrar errores implica una perdida mayor de
informacion y el intentar pasar de una etapa a otra un volumen superior de informacion implica cometer
mas errores.
Para resolver este problema, podemos plantear como solucion un estudio mas profundo y detallado
de cada una de las etapas intentando obtener en cada una de ellas una informacion mayor y mas exacta.
Para este planteamiento existe amplia bibliografıa que trata cada uno de estos puntos en gran detalle
([Gonzalez y Woods 92], [Jain 89], [Sonka et al. 93]). Estos estudios aunque de gran ayuda aportando
soluciones a muchos problemas tienen la clara desventaja de no combinar las informaciones de distintas
fuentes a la vez que no aprovechan la posibilidad de recuperar nueva informacion de bajo nivel una vez
que se conocen nuevos hechos en un nivel superior. Considerese el hecho de reconocer objetos unicamente
Capıtulo 1
Planteamiento. pag.3
usando la informacion de una imagen gradiente (la informacion debe provenir de distintos canales) o
el hecho de determinar la existencia de bordes en una zona de bajo gradiente una vez que ha intuido
la familia de objetos a la que posiblemente pertenecera el objeto en estudio (reafirma informacion de
bajo nivel una vez concluidos ciertos hechos a nivel superior). Es por ello por lo que es necesario el
replanteamiento de una metodologıa para llevar a cabo esta segmentacion intentando recoger los aspectos
positivos de los trabajos realizados hasta ahora e intentando evitar los aspectos negativos que se han
resaltado.
El presente trabajo esta organizado de forma que describe una metodologıa de resolucion de problemas
de segmentacion basada en las fronteras de una forma que recuerda la division del problema realizada
en las teorıas de Marr([Marr 82]) en el sentido de que obtenemos informacion a nivel mas bajo (pixel) y
subimos a partir de ella hacia la interpretacion de la imagen. Por otro lado, el enfoque realizado puede ser
clasificado dentro de la vision basada en el modelo ya que asumimos la presencia de objetos particulares
e intentamos localizarlos en la imagen.
1.2. Planteamiento.
Como es de esperar, y tal como muestra la literatura, el exito de muchas tecnicas y algoritmos se basa
en gran medida en el tipo de informacion y la forma eficiente en que se maneja. Si pretendemos resolver
un problema es recomendable considerar que:
Un incremento en la informacion usada debe traducirse en mejores resultados. Un algoritmo sera mas
eficaz si favorecemos el uso de una mayor cantidad de informacion.
Es conveniente usar la informacion de forma correcta, es decir, se deben disenar sistemas que sepan
relacionar informacion de distinto tipo e incluso sepan ponderar informaciones mas o menos seguras.
En este sentido es necesario tener en cuenta la informacion que nos ofrece la imagen y la forma en
que podemos relacionarla con las caracterısticas que describen el objeto a segmentar.
Adicionalmente, es necesario obtener metodos eficientes que permitan disenar algoritmos que resuel-
van el problema en un tiempo aceptable. En este sentido resultan muy convenientes metodos que per-
mitan incorporar caracterısticas tales como un planteamiento multiresolucion, facil pararelizacion,
etc.
1.2.1. Segmentacion: aproximaciones.
Existen distintas aproximaciones para intentar resolver el problema de segmentacion de imagenes. A
partir de los trabajos realizados hasta el momento podemos distinguir tres grandes lıneas:
Basadas en deteccion de contornos desde la informacion de gradiente. En este caso podemos distin-
guir varias alternativas. La solucion mas inmediata que podemos plantear si usamos este tipo de
tecnicas es realizar un proceso de deteccion de fronteras mas un proceso de union de estas.
• Deteccion de fronteras. En esta etapa cobra especial interes las condiciones de las imagenes de
que disponemos puesto que un alto nivel de ruido hace necesaria una tecnica o deteccion de
aristas de baja sensibilidad a este.
Por otro lado, los algoritmos tradicionales usan una unica escala o nivel de resolucion para
extraer las aristas por lo que solo tienen en cuenta las caracterısticas que se ven realzadas en
ellas obviando otras que hubieran sido obtenidas si el nivel de escala cambia. Para conseguir
mejores resultados necesitaremos obtener un nivel de informacion alto de la imagen y por
tanto hara falta considerar una interpretacion multiresolucion de la imagen([Lindeberg 94a],
[Rosenfeld 84]).
Seccion 1.2
pag.4 Introduccion
• Union de fronteras. Este tipo de operacion se puede realizar a dos niveles distintos:
Bajo nivel o de forma no supervisada: Corresponde a metodos para unir las fronteras
sin ningun tipo de informacion acerca del contorno que se busca. Por lo tanto se pre-
sentan como metodos recomendables para un postprocesamiento de las fronteras desde
algun tipo de detector. Ejemplos pueden ser la histeresis que es usada en el algoritmo de
Canny([Canny 86]), metodos de relajacion([Hancock y Kittler 90a], [Hancock et al. 92],
[Hancock y Kittler 90b], [Kittler y Hancock 89]) o de busqueda en el entorno ([Farag y
Delp 95]).
Alto nivel o de forma supervisada: Usan informacion del contorno a buscar. Este tipo de
union es la que realmente nos permite la deteccion del objeto buscado. En la literatura
existe una amplia variedad de tecnicas entre las que podemos destacar tecnicas basadas
en una descripcion sintactica del objeto([Bunke 92], [Fu 82], [Garrido et al. 95]) o tecnicas
basadas en la transformada de Hough ([Ballard 81], [Illingworth y Kittler 88], [Kalvianen
et al. 94]), la cual nos permite la localizacion de contornos rıgidos y es relativamente
insensible a la fluctuacion por el ruido y partes ocultas de los objetos.
Es necesario destacar que la estimacion de contornos desde imagenes ruidosas sin un modelo de
objeto es un problema ill-posed([Poggio y Torre 84]), es decir, mal condicionado y cuyas soluciones
no son unicas. De esta forma, nos centraremos en los metodos que combinan deteccion y modelado
del contorno.2.
Basadas en deteccion de regiones. En este tipo podemos englobar un amplio repertorio de tecnicas,
entre las que podemos destacar segmentacion por crecimiento de regiones, por division y union de
regiones ([Pavlidis 80], [Sonka et al. 93]) o tecnicas derivadas a partir de la Morfologıa Matematica
propuesta por Serra ([Serra 82]) que han sido y son de amplio uso en aplicaciones de tipo biomedi-
co. Sin embargo, dichas tecnicas son muy exigentes con la calidad de las imagenes en terminos
de alto contraste de los objetos sobre el fondo de la imagen. El uso de estas tecnicas sobre este
tipo de imagenes y otros con problemas (tales como solapamiento, abundancia de objetos, etc.)
obtiene un grado de exito parcial (vease por ejemplo [Fdez-Valdivia et al. 95c]) dado que consiguen
segmentaciones en las que pueden aparecer algunas regiones que contienen uno o mas objetos3.
Modelos deformables: Es necesario separar del resto las tecnicas que se basan en el uso de modelos
deformables dada por un lado la gran importancia que han tomado estas tecnicas en la deteccion
de objetos con deformaciones y por otro lado dada la difıcil clasificacion en las tecnicas descritas
anteriormente si consideramos los template deformables como un modelo de objeto que puede sufrir
de mas o menos deformacion. Es importante destacar que con el uso de modelos deformables no
podemos en absoluto obviar las tecnicas concernientes a la deteccion de fronteras o regiones dado
que los contornos deben ser deformados segun la informacion que se obtenga de la imagen (ya sea
proveniente de las fronteras [Cohen y Cohen 93], [Garrido et al. 95], [Kass et al. 87a], [Kass et
al. 87b], o basada en regiones [Grenander et al. 91], [Ronfard 94]) ası como otras como colores,
texturas, etc que pueden ser usadas para determinar el grado de acoplamiento del template a la
imagen. Los modelos deformables seran de especial interes en nuestro trabajo ya que los contornos
de los objetos son especialmente sensibles a presentar caracterısticas de deformacion.
Teniendo en cuenta las cualidades y defectos que podemos observar en los metodos anteriores y dado
que algunas imagenes son especialmente difıciles de segmentar por:
2Un claro ejemplo de esta tecnica es la transformada de Hough generalizada.3Considerese por ejemplo que dos objetos se encuentran solapados (a este tipo de tecnicas les resultara practicamente
imposible la separacion).
Capıtulo 1
Planteamiento. pag.5
Falta de homogeneidad (ruidos de tipo no aleatorio).
Objetos solapados.
Formas muy variables debido a deformaciones naturales.
Multiples objetos con caracterısticas a distintas escalas.
Sera deseable, si queremos obtener informacion segura y estable, resolver este problema haciendo uso
de tecnicas o ideando alguna tecnica con caracterısticas tales como:
Incorporar un modelo de contorno a buscar.
Reconstruir o inferir informacion inexistente a partir de informacion parcial.
Manejar casos de deformacion del contorno buscado.
Manejar la informacion a distintas escalas.
1.2.2. Modelizacion de deformaciones: aproximaciones.
En la literatura existen muchas y distintas formas de tratar la localizacion de contornos deformados.
Podrıamos realizar una primera clasificacion de estos metodos en:
Metodos SIN informacion a priori o no supervisados. No se posee ninguna informacion acerca del
modelo de contorno que se intenta localizar. Referencias a metodos de este tipo son por ejemplo
[Cohen y Cohen 93], [Kass et al. 87b], [Ronfard 94].
Metodos CON informacion a priori o supervisados.Se posee un modelo de objeto que contrastar
con la imagen para obtener su posible localizacion. Referencias a metodos de este tipo son por
ejemplo [Amit y Kong 96], [Cootes et al. 95], [Dubuisson et al. 96], [Grenander et al. 91], [Jain y
Lakshmanan 96], [Knoerr 88], [Yuille et al. 92].
1.2.2.1. Metodos sin informacion a priori.
Este tipo de metodos comienzan a tener un gran auge a partir de [Kass et al. 87a] donde se proponen
los modelos de contornos activos o snakes al problema de deteccion de contornos planteandolo como un
problema de regularizacion.
Desde un punto de vista continuo, un Snake puede considerarse una funcion:
f : [0, 1] ⇒ ℜ2 (1.1)
que puede implementarse como un conjunto de puntos ordenados (llamados snaxels)
S = p1, p2, · · · , pn (1.2)
definidos sobre el grid rectangular.
Sobre esta funcion se define una funcion de energıa que se compone de dos partes:
Energıa interna: Hace referencia a la curva que define el contorno. Cuanto mas “suave” sea, tanta
menos energıa tiene. Se puede implementar algun criterio de suavidad y continuidad para medir
esta energıa.
Seccion 1.2
pag.6 Introduccion
Energıa externa: Hace referencia a las fuerzas externas desde la imagen. Cuanto mas cerca este la
curva del contorno que determina la localizacion en la imagen, tanta menos energıa externa tiene.
Un criterio para ello puede ser considerar el gradiente para medir la optimalidad del snake en cuanto
a energıa externa se refiere.
Como es de esperar, el problema consiste en encontrar un equilibrio entre ambas energıas (problema
de regularizacion) definiendo un punto de energıa mınima global que determina la solucion al problema
de segmentacion.
Aunque constituye una aproximacion muy potente debido a su gran eficacia, especialmente en con-
tornos que sufren de deformaciones difıciles de controlar como son los contornos biomedicos, e incluso en
problemas de seguimiento de formas en imagenes en movimiento (por ejemplo, Kalman Snakes en [Blake
y Yuille 92]), sufre de varios inconvenientes entre los que conviene destacar:
Requieren de un proceso previo de localizacion aproximada del contorno, que en muchos casos se
soluciona mediante un posicionamiento manual por parte del usuario.
El no tener mas que una restriccion referente a caracterısticas como suavidad y continuidad en lo que
al contorno buscado se refiere, provoca que problemas como falta de homogeneidad, solapamientos,
etc. compliquen el proceso de deteccion.
1.2.2.2. Metodos con informacion a priori.
En estos metodos englobamos aquellos que definen un tipo particular de forma a localizar, es decir,
un modelo a priori de lo que se busca. Al contrario que el caso discutido en el punto anterior en el que
las condiciones que definen un posible contorno se refieren a propiedades de suavidad, continuidad, etc.
en este caso se posee la informacion que define una familia de posibles deformaciones del contorno a
segmentar.
El metodo mas basico y obviamente mas limitado de deteccion de una forma puede ser formulado como
una convolucion de una plantilla con una imagen (mediante una operacion de correlacion) que obtiene
los puntos de mayor correspondencia, los cuales si poseen un valor suficientemente alto determinan la
existencia de esta plantilla (vease por ejemplo [Ballard y Brown 82], pag. 65). Obviamente, este metodo
aunque trabaja con un modelo a priori no contempla el problema de las deformaciones.
El uso de modelos deformables propiamente dichos intentan resolver este problema definiendo un
modelo a priori mediante un template4 y un conjunto de deformaciones sobre el. La solucion del problema
se plantea de manera muy similar al caso anterior:
Tenemos un modelo de forma parametrizado y por tanto una forma de decidir si un contorno
corresponde al conjunto de posibilidades que pretendemos manejar. Una manera de definirlo, serıa
por ejemplo fijar una probabilidad a priori sobre los posibles contornos.
Tenemos una forma de medir el grado de fijacion de ese contorno a la imagen. Para definirlo,
podemos especificar una funcion de energıa o una probabilidad correspondiente a esta.
La localizacion en la imagen del objeto deseado se realiza por tanto sin mas que anadir un algoritmo
que use esas dos informaciones y localice el optimo.
Aunque estos metodos presentan un enfoque mucho mas rico que el anterior, siguen existiendo difi-
cultades en su aplicacion:
4En principio, aunque el caso mas sencillo es la definicion de un contorno, no es necesario definir esta plantilla en base a
este sino que podrıamos definirla en base a otro tipo de informaciones, por ejemplo, referentes a regiones con determinados
contrastes de gris.
Capıtulo 1
Planteamiento. pag.7
Aun no se ha resuelto de forma general el problema de la localizacion automatica de la posicion
inicial del objeto sobre la que aplicar el algoritmo de optimizacion (por ej. [Cootes et al. 95], [Jain
y Lakshmanan 96], [Knoerr 88], [Grenander et al. 91], [Kass et al. 87b], etc...).
En algunos trabajos se han conseguido resultados muy buenos que resuelven el problema de la
localizacion inicial y la optimizacion pero que a cambio, han necesitado un modelo de objeto muy
especıfico (por ej. [Yuille et al. 92]).
No resuelven el problema de que existan varias instanciaciones de la forma que buscamos que pueden
presentar dificultades adicionales como solapamientos y ruido no aleatorio.
Existen algunas aproximaciones que pretenden resolver estos problemas, como los g-snakes o snakes
basados en el modelo que se definen a partir de los snakes([Kass et al. 87a]) mediante la adicion de
un modelo de contorno y la definicion de un problema de estimacion de MAP([Lai y Chin 95]). En
ellos se consiguen buenos resultados pero careciendo de una forma de manejar fuertes deformaciones y
proponiendo como metodo de inicializacion la transformada de Hough generalizada.
Existen algunas aproximaciones que pretenden resolver estos problemas, como la generalizacion de
los snakes, es decir, los g-snakes o snakes basados en el modelo fruto de anadir un modelo de contorno
y definir un problema de estimacion de MAP([Lai y Chin 95]). En ellos se consiguen buenos resultados
proponiendo como metodo de inicializacion la transformada de Hough generalizada pero careciendo de
una forma de manejar fuertes deformaciones y altos niveles de ruido.
1.2.3. Fusion de informacion.
Si intentamos clasificar el tipo de informacion que se usa en los algoritmos de segmentacion de objetos
podrıamos determinar dos grandes grupos:
Basada en regiones: Utiliza caracterısticas referentes a la homogeneidad de zonas en la imagen.
Los interiores de las regiones de un objeto se caracterizan por ser homogeneos ya sea en niveles de
gris, en la presencia de una estructura que determina el tipo de textura, el color, etc. Es decir, si
consideramos una imagen f en la que f(x, y) = g indica que el pixel en la posicion (x, y) tiene un
valor g (p.e. nivel de gris, una tupla RGB indicando el color, un vector que mide las componenentes
de una imagen multibanda, etc.) detectar zonas homogeneas no es mas que localizar las regiones
de valor constante en alguna imagen o funcion T (x, y) que se evalua en funcion del valor de f en la
posicion (x, y) y su entorno.
Basada en fronteras: Utiliza la informacion de gradiente para determinar los bordes del objeto. Al
contrario que las anteriores, en este caso se usa la informacion de las zonas de mayor variacion
para delimitar el contorno del objeto. A pesar de ello, no podemos considerar esta informacion
independiente de la anterior pues son dos caras de un mismo problema, tengase en cuenta que la
deteccion de aristas no es mas que realzar los puntos de separacion entre regiones.
En el tipo de problemas que intentamos resolver el uso de tecnicas basadas unicamente en regiones
plantea mayores dificultades. Considerese por ejemplo que dos objetos se encuentran solapados, la homo-
geneidad de la union de ambos puede producir una unica region y por consiguiente un resultado erroneo
o la existencia de ruido no aleatorio que introduce falta de homogeneidad en la imagen puede determinar
que un objeto quede dividido en varias regiones. Por ello, en este trabajo nos vamos a centrar principal-
mente en la deteccion de objetos basandonos en informaciones de gradiente aunque sin descartar que el
modelo puede enriquecerse con la incorporacion de nuevas informaciones a partir de regiones, texturas u
otras caracterısticas como veremos mas adelante.
Seccion 1.2
pag.8 Introduccion
Una forma de llevar a cabo el uso de informaciones de distintas fuentes es plantear un enfoque
multiresolucion de la imagen. Efectivamente, si consideramos dos escalas distintas de una misma imagen,
la informacion gradiente de ambas difiere de tal forma que considerar distintas escalas nos da mayores
garantıas de exito.
Ahora bien, si usamos la informacion de las aristas de una imagen, debemos de plantearnos la forma en
que vamos a obtener a partir de estas la localizacion de los objetos. Para ello es necesario que consideremos
la informacion que de estos nos dan las aristas. Es en base a ella como definiremos una modelizacion del
objeto orientada a su localizacion.
1.2.3.1. Informacion de las aristas de una imagen.
Desde un punto de vista semantico podemos distinguir varios niveles de informacion en una imagen
de aristas. En nuestro trabajo vamos a presentar un determinado enfoque de esta idea a fin de modelizar
los objetos. Nuestro objetivo por tanto en este punto es determinar el tipo de informacion que se puede
obtener desde el gradiente de la imagen.
Una posible division de estos niveles podrıa ser la siguiente:
El nivel mas basico es el del pixel. Es posible construir metodos que utilizando la informacion a este
nivel consigan determinar la localizacion de los objetos. Dado que la informacion es pobre (dado
su nivel), estos metodos deberan de compensar con un aporte fuerte acerca del contorno que se
pretende detectar. Ası, podemos distinguir la transformada de Hough ([Illingworth y Kittler 88],
[Kalvianen et al. 94]) como una tecnica eficiente que usa la informacion del pixel independientemente
de su entorno.
Por encima del pixel podemos distinguir un nivel informacionalmente mas relevante, compuesto por
el pixel y su entorno. En este caso tenemos mas informacion acerca de la frontera del objeto. En
este punto por tanto podemos aplicar metodos que sepan explotar este contenido. Ası, podemos
distinguir los metodos de relajacion (por ej. [Hancock y Kittler 90b]) como una tecnica que intenta
la deteccion o realce de los contornos en base a este tipo de informacion.
Finalmente, el nivel superior viene determinado por las cadenas, es decir, la concatenacion de pıxeles
adyacentes segun el 8-entorno del grid rectangular. En este punto estamos englobando un amplio
conjunto de posibilidades, desde pequenas cadenas de dos o tres pıxeles descritas en el punto anterior
hasta un contorno completo describiendo la forma y localizacion de un objeto. Es por ello por lo
que se hace necesario una subdivision:
• La forma mas simple de una cadena viene determinada por un segmento rectilıneo. En este
caso, se posee una informacion contextual muy superior considerando la localizacion relativa
de unos pıxeles respecto de otros a lo largo de toda la cadena. Obviamente, debido al ruıdo y
la discretizacion, los puntos no se encuentran sobre una lınea ideal sino que pueden sufrir de
perturbaciones aunque en general y dentro de ciertos lımites definan una tendencia.
• Subiendo en la escala informacional que estamos definiendo, el siguiente nivel viene deter-
minado por la yuxtaposicion de cadenas rectilıneas, es decir, por una multilınea. Es intere-
sante destacar aquı la importancia de los metodos de deteccion basados en puntos domi-
nantes([Douglas y Peucker 73], [Fdez-Valdivia et al. 95a], [Teh y Chin 89], etc...) que podemos
considerar coincidentes con los puntos de union de dos cadenas rectilıneas y especialmente los
que clasifican estos mediante algun criterio de importancia ([Perez de la Blanca et al. 93]).
• Obviamente, el ultimo punto hace referencia a una multilınea cerrada que define el contorno
del objeto, es decir a un polıgono que determina aproximadamente la localizacion y forma de
las fronteras del objeto.
Capıtulo 1
Planteamiento. pag.9
1.2.4. Deteccion de formas: representacion.
Los algoritmos de reconocimiento clasicos se basan fundamentalmente en la distincion de algun tipo
de caracterısticas sobre el objeto a detectar que son comparadas con las obtenidas a partir de un conjunto
de posibles candidatos (de un posible conjunto de formas previamente almacenadas en una base de datos)
o con las detectadas en una imagen (si queremos segmentar los objetos que contiene) mediante alguna
funcion de distancia para dar lugar a una determinada clasificacion o localizacion. Obviamente, la forma
de resolver este problema varıa mucho de unas soluciones a otras en:
La caracterizacion del objeto. Existen muchas posibilidades para registrar esta caracterizacion us-
ando informacion de texturas, colores, contornos, etc.
La funcion de distancia, es decir, el grado de correspondencia entre el objeto que queremos detectar
y las distintas posibilidades de clasificacion o localizacion. Por ejemplo, si deseamos clasificar un
contorno para reconocer la familia de objetos a la que pertenece, esta funcion nos indica la distancia
a cada una de las clases que se posean o, si deseamos localizar un objeto en una imagen, nos indica
la bondad de cada una de las posibles localizaciones.
El metodo para resolver el problema de obtener el optimo en esta funcion de distancia.
La deteccion de una forma en una imagen no es mas que determinar un punto en un espacio de
localizaciones que contendra ejes tales como desplazamientos, rotaciones, homotecias y otros ejes de
deformacion no rıgida en el caso de sean objetos deformables.
Han sido muchos los trabajos que han estudiado el problema de la caracterizacion de formas con el ob-
jetivo de construir algoritmos que fueran eficaces en el reconocimiento de estas. Para ello, se han disenado
multitud de caracterizaciones que se destacan por sus buenas propiedades como: dar lugar a algoritmos
de reconocimiento muy eficientes como los algoritmos de parsing de deteccion sintactica ([Bunke 92],[Fu
82], etc), invariancia frente a grupos de transformaciones ([Wood 96]), simplificacion en gran medida del
numero de datos que procesar manteniendo un grado de significacion muy alto(caracterizacion por puntos
dominantes), facilidad de calculo desde la imagen, etc. Por otro lado, muchas de ellas tambien sufren de
varios inconvenientes como son: sensibilidad al ruido, variacion limitada a deformaciones rıgidas, imposi-
bilidad de obtener resultados a partir de informacion parcial, aplicabilidad en un conjunto limitado de
problemas, algoritmos de deteccion dedicados a familias de objetos con caracterısticas especiales, etc.
1.2.4.1. Descripcion de un contorno: Modelo propuesto.
Si consideramos la descripcion anterior acerca de los distintos niveles que podemos distinguir en la
informacion de aristas de una imagen unida a la descripcion de una forma por medio de una cadena
cerrada, podremos distinguir varios niveles similares a la hora de modelizar un objeto. Efectivamente,
una forma puede ser descrita usando desde la especificacion de la posicion de cada uno de los puntos
que componen su contorno (considerese la transformada de Hough que usa esta descripcion) hasta la
descripcion lineal a trozos, es decir, mediante un polıgono5.
Un metodo que pretenda obtener conclusiones a partir de las aristas de una imagen debera recibir
unas entradas a partir de estas y obtener unos resultados que seran tanto mejores como la informacion
de entrada que se le proporcione. Es de esperar que sera mas sencillo concluir un hecho semanticamente
relevante cuanto mayor sea el contenido semantico de las entradas.
En el presente trabajo necesitaremos una modelizacion de los objetos a un nivel lo suficientemente
relevante como para que los metodos que se van a proponer sean capaces de obtener salidas bastante
5Tengase en cuenta que aunque simple, la descripcion es completa, es decir, cualquier forma puede ser descrita mediante
la aproximacion de un polıgono con una calidad que dependera del numero de lados de este. En el caso concreto de una
cadena, podemos describir la cadena de forma exacta mediante una enumeracion de los codigos Freeman que la componen.
Seccion 1.2
pag.10 Introduccion
seguras acerca de la localizacion de las formas. Esta forma de enfocar el problema conlleva dos problemas
asociados a los dos pasos subyacentes respectivamente:
Debemos desarrollar un algoritmo para obtener, a partir de la informacion de fronteras del detector
propuesto, la descripcion de estas a un nivel informacional superior.
Debemos desarrollar un metodo que sepa concluir hechos referentes a la localizacion de las formas
a partir de la descripcion obtenida en el paso anterior.
Ahora bien, ¿Que tipo de informacion podemos obtener a partir de las aristas para que nuestro metodo
sea eficaz?. En este trabajo, los resultados se presentaran a partir de algoritmos que trabajaran sobre una
descripcion en base a las distintas subcadenas (“aproximadamente” lineales) en que se puede describir el
contorno de la forma buscada (tendencias o rachas de la forma), es decir, en base a una aproximacion
poligonal. De todas formas aquı y mas adelante insistiremos en la posibilidad de adaptar el metodo (de
una forma directa) al uso de informacion de distinto nivel e incluso al uso simultaneo de informaciones
de distintos niveles que se obtienen de forma natural al considerar distintas formas de describir nuestro
contorno como son:
Informacion de pıxeles aislados.
Informacion de tendencias o rachas.
Informacion de concatenacion de distintas tendencias6.
1.2.4.2. Ejemplo ilustrativo: Un enfoque simbolico.
Si construimos una descripcion en base a las tendencias de un objeto, tendremos que:
Hacer una particion en subcadenas del contorno original de forma que cada una de estas cumpla
algun criterio de linealidad.
Asignar a cada subcadena obtenida un valor de tendencia.
Para un ejemplo simple de un cuadrado, en el primer punto podrıamos ocuparnos de detectar que
esta compuesto de 4 subcadenas correspondientes a cada uno de los 4 lados. En el segundo, debemos
asignar una tendencia a cada lado, por ejemplo, tendencias correspondientes a los angulos 0, π/2, π y
3π/2 o considerando un modelo invariante frente a rotaciones asignando las diferencias entre tendencias
consecutivas de π/2,π/2,π/2 y π/2. Obviamente estamos considerando el caso continuo, es decir, la
diferencia entre tendencias consecutivas puede tomar cualquier valor en el intervalo [−π, π].
Un ejemplo ilustrativo es el que se presenta en la figura 1.2 en la que se considera una discretizacion
de las tendencias en 8 valores distintos correspondientes a los 8 codigos Freeman. Para modelizar las
formas, se consideran las diferencias entre codigos Freeman consecutivos (modulo 8) obteniendose valores
enteros del intervalo [−3,+4].
1.3. Objetivo y estructura del trabajo.
1.3.1. Objetivo General.
El presente trabajo desarrolla un procedimiento de segmentacion automatica de objetos en imagenes
que presentan la problematica anteriormente expuesta mediante la localizacion de los contornos cerrados
que separan la zona interior y exterior del objeto.
Para poder conseguir este objetivo:
6Los puntos dominantes pueden considerarse un caso particular de este tipo ya que pueden hacerse corresponder con los
puntos de union de distintas tendencias.
Capıtulo 1
Objetivo y estructura del trabajo. pag.11
Tendencias:
4,5,6,7,0,1,2,3,4
Modelo:
+1,+1,+1,+1,+1,+1,+1,+1
Tendencias:
Modelo:
5,6,5,4,3,2,3,4,5,6,7,0,1,2,3,4
+1,-1,-1,-1,-1,+1,+1,+1,+1,+1,+1,+1,+1,+1,+1
Tendencias:
Modelo:
6,5,3,2,3,4,7,6,5,0,1,2,1,7,6,7,0,3,2,1,4
-1,-2,-1,+1,+1,+3,-1,-1,+3,+1,+1,-1,-2,-1,+1,+1,+3,-1,-1,+3,+2
Códigos
Freeman
4
5
3
6
2
0
7
1
(A)
(B)
(C)
Figura 1.2: Descripcion cualitativa de distintos patrones.
Es necesario realizar una busqueda supervisada. Debemos de conocer un modelo de la forma que
se desea localizar (por ejemplo, un modelo de contorno) de manera que necesitamos metodos de
descripcion y aproximacion de dichos contornos con el fin de introducir dicha informacion en
un formato util para nuestros algoritmos, es decir, en un formato que facilite la busqueda en un
espacio de localizaciones.
Para conseguir la localizacion de los contornos debemos de disponer de un modelo que nos pueda
fijar el contorno estimado sobre la frontera exacta aunque el objeto que deseamos detectar pueda
sufrir de variaciones geometricas o de algun tipo de deformacion. Necesitaremos por tanto definir
un espacio de localizaciones posibles sobre el que poder aplicar un modelo de objeto deformable.
Debido a los problemas que se presentan, es especialmente recomendable realizar un estudio mul-
tiescala para obtener informacion de mas de una escala ya que centrandonos solo en una de ellas,
la informacion que podemos obtener es menor.
Debemos de desarrollar una solucion que nos permita la fusion de informacion, ya sea desde
distintas escalas o desde distintas fuentes, facilitando ası la generalizacion del metodo a distintos
problemas.
Las tecnicas que se disenan para obtener informacion desde la imagen pueden ofrecer unicamente
Seccion 1.3
pag.12 Introduccion
parte de esta (por ejemplo, trozos de frontera). Para llevar a cabo una estimacion del contorno a
localizar, debemos de construir un modelo de descripcion de objetos orientado a la reconstruccion
a partir de informacion parcial.
Es necesario saber distinguir la informacion mas relevante para que los resultados sean correctos.
Habra de formularse un metodo robusto frente a informacion ruidosa.
1.3.2. Organizacion.
Organizaremos esta tesis de la siguiente forma:
En el capıtulo dos introducimos el espacio de escalas como un concepto fundamental en el proce-
samiento de imagenes tal y como describio Marr en sus trabajos ya que nos permitira obtener informa-
cion a distintas escalas (recordemos que los objetos en una imagen pueden aparecer a distintas escalas e
incluso como veremos, distintos segmentos de la frontera del objeto son captados de una forma optima
en distintas escalas). Deberemos tener en cuenta este concepto en el estudio de cualquier senal, ya sea
2-D (por ejemplo: imagenes de grises, gradientes, etc...) como en 1-D (por ejemplo: estudio de contornos
y su curvatura).
El objetivo principal en este trabajo es localizar los objetos presentes en una imagen disponiendo de
una descripcion del contorno que lo determina. Por lo tanto deberemos caracterizar la curva que describe
dicho objeto a partir del estudio de este con el objetivo de obtener una descripcion que pueda ser usada en
una posterior etapa de reconocimiento. Es en el capıtulo tres donde se presenta una discusion y estudio de
la forma en que pueden caracterizarse y aproximarse los contornos desde una representacion multiescala
de estos.
En el capıtulo cuatro nos centraremos en el procesamiento a mas bajo nivel, es decir, en la forma
en que vamos a obtener las fronteras y que es lo que pretendemos obtener a partir de ellas. Para esta
discusion plantearemos dos objetivos: en primer lugar obtener un conjunto de aristas completo en el
sentido de que deben de representar la mayor parte de la informacion en la imagen (en lo que a fronteras
se refiere) y robusto en el sentido de que no deben ser especialmente sensibles a ruido, y en segundo lugar
debemos determinar el preprocesamiento que aplicaremos sobre estas aristas para que puedan ser usadas
en los algoritmos de posterior localizacion.
En el capıtulo cinco se presenta la metodologıa general de modelizacion de deformaciones. Dado
que nuestros contornos pueden presentarse con deformaciones, deberemos disponer de un metodo para
caracterizar tales deformaciones de forma que podamos localizar un objeto a pesar de que se presente
deformado, como es natural en la deteccion a partir de imagenes de tipo biomedico. Como resultado de
esta parte deberemos disponer de un sistema de ejes coordenados que parametrizen las deformaciones
que pueden presentar los objetos a localizar.
En el capıtulo seis nos centraremos en la primera gran etapa de la deteccion de contornos deformables:
la localizacion aproximada del objeto a detectar, problema que intentaremos abordar en un marco tan
general como sea posible intentando de esta forma ampliar el conjunto de casos en los que es posible
aplicar esta metodologıa. Deberemos considerar dicha localizacion a partir de informacion de aristas
teniendo especial interes en la importancia de un estudio multiescala de la imagen que permite disponer
de una cantidad mucho mayor de informacion garantizandonos por consiguiente resultados mas completos
a partir de algoritmos mas robustos.
En el capıtulo siete completaremos la deteccion del contorno optimizando los resultados obtenidos
desde la aproximacion inicial. Para ello, se propondra un metodo de fijacion de la curva que tenga en cuenta
las posibles deformaciones locales del contorno pero que a la vez sea capaz de preservar la informacion
a priori que se posee sobre la forma de este. Un problema que se resolvera se refiere a la definicion
de funciones de potencial planteando una solucion que permitira el uso simultaneo de informaciones de
gradiente y de regiones a fin de dotar de mayor robustez al metodo frente a la variedad de problemas que
Capıtulo 1
Objetivo y estructura del trabajo. pag.13
se pueden presentar (considerese la falta de homogeneidad, solapamiento, informacion parcial, ruido no
aleatorio, etc).
Por ultimo se realizara una breve discusion junto con la exposicion de las conclusiones y lıneas futuras
que se establecen a partir de este trabajo.
1.3.3. Imagenes test.
En el estudio que se realiza en este trabajo las imagenes biomedicas son de especial relevancia ya
que presentan muchos de los problemas que hemos comentado. Ya que las imagenes que usaremos en
este trabajo estan orientadas a ilustrar el comportamiento de la metodologıa que se propone sobre los
distintos problemas, nos centraremos principalmente en este tipo de imagenes. El rango de niveles de gris
de las estas es de 256 y sus tamanos 256x256 pıxeles.
De especial interes son las imagenes de citologıas de mama captadas a traves de microscopios opticos
con una camara de vıdeo de tipo CCD adosada a su tubo. El principal problema que se presenta para
la segmentacion automatica de las celulas presentes en dichas imagenes es la ausencia de contraste y
homogeneidad en muchas regiones de la imagen ası como la abundancia y solapamiento de celulas. El
problema se ve agravado especialmente ya que las imagenes han sido tomadas a partir de preparaciones
tenidas con la tecnica de Papanicolau, que ofrece poca calidad provocando ruido no aleatorio debido a la
falta de homogeneidad en la absorcion o fijacion de la tincion.
Por otro lado se usaran otras imagenes que permitan manejar casos de objetos mas complejos como son
los nematodos que tienen una alta variabilidad geometrica, o casos de manos que constituyen una forma
muy interesante desde el punto de vista de los trabajos previos que lo usan como ejemplo ilustrativo.
Ademas, se usaran puntualmente otras imagenes a fin de destacar la generalidad del modelo que
se propone y permitir la comparacion de metodos. Una muestra de dichas imagenes se presenta en la
figura 1.3. Como podemos ver, usaremos imagenes de citologıas, otras imagenes biologicas e incluso
contornos cartograficos.
Seccion 1.3
Capıtulo 2
El espacio de escalas.
MUCHAS tecnicas de procesamiento de imagenes trabajan a nivel local considerando la relacion
entre los pıxeles y su entorno1. El concepto que subyace debajo de este tamano de entorno es el
de escala. Nosotros usaremos este concepto mediante el llamado espacio de escalas, una teorıa con fuerte
sustento matematico que nos va a permitir manejar con mayor facilidad senales a diferentes escalas.
En este capıtulo nos limitaremos a realizar un estudio centrandonos en los distintos puntos que
tendremos en cuenta en los siguientes capıtulos:
1. Que es el espacio de escalas y como podemos usarlo.
2. Definicion formal.
3. Propiedades basicas que nos permitiran un manejo mas sencillo y eficaz de las senales a distintas
escalas.
4. Estructura a traves de la escala destacando el comportamiento de los puntos crıticos como puntos
destacados que luego usaremos en distintos algoritmos.
2.1. Representacion multiescala de las imagenes.
Los objetos en el mundo real presentan caracterısticas que son observables a distintas escalas. En el
sistema visual humano, el reconocimiento de objetos se realiza a distintas escalas utilizando solo algunas
de ellas donde estan las caracterısticas mas relevantes o mezclando la informacion que proviene de distintas
escalas para describir completamente la forma. El aspecto multiescala tiene especial interes en el caso en
que para obtener cierta caracterıstica de un objeto haya que obtener informacion de distintas escalas.
Aunque en los ultimos anos se estan estudiando en profundidad estas tecnicas, los primeros trabajos
que podemos relacionar con algun tipo de representacion multiescala son los quad tree , introducidos por
Klinger[Klinger 71]2(para mas informacion, consultar [Rosenfeld 84], [Samet 90a], [Samet 90b], [Tanimo-
to y Klinger 80]). Otros trabajos que comenzaron posteriormente son las representaciones piramidales
(introducidas por Burt[Burt 81] y Crowley[Crowley 81]) de rapida aceptacion por las posibilidades de
mejora en eficiencia de muchos algoritmos (vease por ej. [Ng et al. 93]). En esta representacion, el primer
nivel consiste en la imagen original, y cada nivel se obtiene del inmediatamente inferior con una operacion
1Es abundante la literatura donde aparecen los conceptos de 4-entorno, 8-entorno, etc...2En este caso, se divide de forma recursiva la imagen en zonas o regiones cada vez mas pequenas (cada zona que se
decide a dividir queda dividida en 4 subregiones) obteniendose una informacion de nivel mas fino cuanto mas se desciende
en la estructura de arbol asociada
15
pag.16 El espacio de escalas.
de muestreo (numero de pıxeles inferior) mediante la union de la informacion en varios pıxeles vecinos
del nivel inferior a traves de una operacion de alisamiento.
Un tipo especial de representacion multiescala (en el que fundamentalmente nos centraremos) con
un parametro de escala continuo y preservando en todas las escalas un muestreo espacial identico es la
representacion en el espacio de escalas introducida por Witkin([Witkin 83]) y Koenderink([Koenderink
84], [Koenderink y Van Doorn 86]) con la que podemos obtener estructuras dentro de la imagen que
suceden a diferentes escalas, generarando a partir de la senal original (en nuestro caso, la imagen a
estudiar) una familia de senales derivadas en las que se van eliminando sucesivamente caracterısticas
desde las escalas mas finas hasta las menos finas.
2.2. Obteniendo informacion multiescala.
Dada una senal n-dimensional, disponemos de varias formas de realizar un estudio basado en la
informacion de las distintas escalas:
Trabajar con una escala solamente. Es muy comun determinar un valor de un parametro para
realizar alguna operacion sobre la imagen (usar una tecnica de alisamiento con un determinado
tamano de entorno, usar un tamano de operador, etc), es decir, seleccionar una determinada escala.
En algunos casos se puede estimar el valor del parametro de forma automatica pero para otros no
es posible o no se conoce la manera de hacerlo. El objetivo de esta forma de trabajo es localizar
la informacion que aparece en la escala definida por el tamano del parametro a partir de la que
obtenemos los resultados que se desean eliminando la informacion de las demas (lo que indica que
las caracterısticas buscadas aparecen en una sola escala); un problema clasico que se ha tratado
de esta forma es la eliminacion de ruido, el cual aparece a las escalas mas finas y que puede ser
eliminado con filtros de paso bajo alisando la senal (vease por ejemplo [Canny 86]). En esta forma
de trabajo cobra especial interes el problema de calcular el parametro correspondiente a la escala
cuando se desconoce la escala interna (es decir, la correspondiente a la resolucion del pıxel) de la
imagen a procesar(vease [Lindeberg 93a],[Rosin 92]).
Trabajar con varias escalas independientes y a partir de ellas unir los resultados dado que las
estructuras en la imagen pueden aparecer en distintas escalas. Pero aparece un problema adicional:
hay que estudiar la forma en que se deben de mezclar los resultados de las distintas escalas, los
cuales pueden ser distintos e incluso pueden dar lugar a una aparente contradiccion puesto que es
posible realizar distintas interpretaciones.
Trabajar con la representacion multiescala (por ejemplo, espacio de escalas como una senal n+ 1-
dimensional considerando la funcion continua a lo largo del parametro de escala). En este caso,
podemos no solo utilizar la informacion de distintas escalas sino que podemos utilizar la relacion
entre ellas a traves del parametro de la escala. (Vease por ejemplo [Asada y Brady 86],[Lindeberg
93b], [Mokhtarian y Mackworth 86],[Rattarangsi y Chin 92]). En este punto es interesante hacer
referencia a trabajos que tratan a la senal particionada en partes que deben ser tratadas a distintas
escalas (Vease por ejemplo [Garcıa et al. 94],[Garcıa et al. 95],[Fdez-Valdivia et al. 95a]) resultado
de una discretizacion de los valores de las escalas que aparecen en cada uno de los puntos de la
senal.
2.3. El espacio de escalas.
Como se ha mencionado, la representacion en el espacio de escalas no es mas que un tipo de repre-
sentacion multiescala en el que a una funcion n-dimensional se le anade un nuevo parametro (parametro
Capıtulo 2
El espacio de escalas. pag.17
de escala) generando de esa forma una nueva funcion n+1-dimensional. Veamos a continuacion como se
define.
2.3.1. Definicion.
Supongamos una funcion:
f : ℜn → ℜ (2.1)
La representacion en el espacio de escalas de dicha funcion E(x, t) : ℜn ×ℜ+ → ℜ se define como:
E(x, t) =
f(x)⊗ g(x, t) t > 0
f(x) t = 0(2.2)
donde x ∈ ℜn, t es el parametro de escala, ⊗ denota la operacion de convolucion y g(x, t) es un nucleo
gaussiano de dimension n y desviacion estandar σ =√t(ver figura 2.1), es decir
g(x, t) =1
(2πt)n2
exp
(−xTx
2t
)(2.3)
σ=1.0σ=1.0
Figura 2.1: Funcion gaussiana.
Como podemos observar en la figura 2.1 la funcion alcanza un maximo en el punto (0, 0) y cae conforme
nos alejamos del centro.
De esta forma, para valores t > 0 la funcion E(x, t) se define exactamente como
E(x, t) =
∫f(τ)g(x − τ, t)dτ =
∫f(x− τ)g(τ, t)dτ (2.4)
es decir,
E(x, t) =1
(2πt)n2
∫f(x− τ) exp
(−τT τ
2t
)dτ (2.5)
donde τ ∈ ℜn.
Seccion 2.3
pag.18 El espacio de escalas.
Igualmente, si queremos darle un sentido fısico a la definicion anterior podemos usar la ecuacion de
difusion del calor:
∂E
∂t=
1
22 E (2.6)
para la cual, la temperatura a tiempo cero es E(x, 0) = f(x).
2.3.2. Derivacion en el espacio de escalas.
El hecho de que la representacion en el espacio de escalas de una funcion pueda ser definida como la
convolucion con un nucleo gaussiano, y basandonos en la conocida propiedad de la conmutatividad de
las operaciones de derivacion y de convolucion
∂nf(x)⊗ g(x, σ)
∂xn= f(x)⊗ ∂ng(x, σ)
∂xn(2.7)
al ser la funcion gaussiana infinitamente diferenciable, podemos tratar a la funcion E(x, t) igualmente
de clase C∞ 3. Por consiguiente, cuando deseemos conocer la derivada de cierto orden y cierta direccion
de la funcion vista en un valor de escala t = σ2 no tendremos mas que convolucionar la funcion original
con el nucleo resultado de la derivacion de la funcion gaussiana. Por ejemplo, en caso 1-Dimensional,
resultan nucleos (ver figura 2.2)
De orden cero:
g(x, σ) =1√2πσ
exp
(−x2
2σ2
)(2.8)
Con primera, segunda y tercera derivadas:
g′(x, σ) = 1√2πσ3
− x exp
(−x2
2σ2
)= g1(x, σ) (2.9)
g′′(x, σ) = 1√2πσ3
exp
(−x2
2σ2
) (x2
σ2− 1
)= g2(x, σ) (2.10)
g′′′(x, σ) = 1√2πσ5
exp
(−x2
2σ2
) (3x− x3
σ2
)= g3(x, σ) (2.11)
En el caso 2-Dimensional, las derivadas que aparecen obviamente son parciales a partir de la siguiente
igualdad
G(x, y, σ) =1
2πσ2exp
−(x2 + y2)
2σ2(2.12)
que como podemos comprobar son resultado del producto de 2 funciones gaussianas 1-Dimensionales
evaluadas en las variables x e y respectivamente, por lo tanto, podemos englobar el calculo de sus derivadas
en la igualdad
∂nG
∂xp∂yn−p= gp(x, σ) gn−p(y, σ) (2.13)
Representaciones graficas de algunas de estas derivadas parciales pueden observarse en la figura 2.3,
las cuales corresponden a:
∂G
∂x
∂2G
∂x∂y
∂2G
∂y2
Capıtulo 2
Propiedades pag.19
Figura 2.2: Derivadas de gaussiana 1D.
Debido a que cualquier derivada de orden n satisface la ecuacion de difusion (ecuacion 2.6), es decir,
la igualdad
∂(∂nE∂xn
)
∂t=
1
22 ∂nE
∂xn(2.14)
las propiedades y resultados que se apliquen a E(x, t) tambien son igualmente validos para dichas
derivadas.
2.4. Propiedades
El espacio de escalas ha sido ampliamente estudiado y no es nuestra intencion realizar un exahustivo
estudio de sus propiedades (vease por ejemplo [Lindeberg 94a] para un amplio y profundo estudio). En
esta seccion veremos unicamente una rapida formulacion de las propiedades basicas que necesitaremos
tener en cuenta en el resto de esta memoria.
Semigrupo conmutativo.
La representacion del espacio de escalas tiene una estructura de semigrupo conmutativo con respecto
al parametro de escala. Esto indica que si consideramos dos nucleos gaussianos de parametros t1 y
3Obviamente las derivadas que nos aparecen con respecto a la variable x deben ser entendidas como derivadas parciales
que pueden estar mezcladas, es decir con respecto a posiblemente distintas dimensiones de la variable.
Seccion 2.4
pag.20 El espacio de escalas.
Figura 2.3: Derivadas de gaussiana 2D.
t2 y los convolucionamos, obtenemos otro nucleo gaussiano de parametro t = t1+ t2. Es decir, dado
que el conjunto ℜ+0 ; + es un semigrupo conmutativo isomorfico al que corresponde a la operacion
de escalado de la senal original, dispondremos de las propiedades asociativa, elemento neutro y
conmutativa cuando trabajemos con el espacio de escalas. El hecho de imponer este isomorfismo
limita la forma de los posibles nucleos de convolucion. En [Florack et al. 92] podemos encontrar un
estudio mas profundo de este tema, y en esta y otras referencias([Babaud et al. 86]) una demostracion
en base a distintos argumentos de la unicidad del nucleo gaussiano.
Logicamente, la igualdad
g(x, t1 + t2) = g(x, t1)⊗ g(x, t2) (2.15)
puede ser generalizada teniendo en cuenta la derivacion de manera que podemos establecer:
∂m+ng(x, t1 + t2)
∂xm+n=
∂mg(x, t1)
∂xm⊗ ∂ng(x, t1)
∂xn(2.16)
Capıtulo 2
Propiedades pag.21
Causalidad.
Koenderink ([Koenderink 84]) introdujo el concepto de causalidad que nos dice que cualquier car-
acterıstica que se encuentre en un nivel de escala alto, debe poseer una o varias causas en un nivel
de escala inferior4.
Este concepto de causalidad puede ser reescrito para dimensiones concretas:
• En el caso 1-dimensional no pueden ser creados nuevos maximos en la representacion del
espacio de escalas cuando el parametro de escala se incrementa.
• En el caso 2-dimensional no pueden ser creados nuevos niveles de superficie en la representacion
del espacio de escalas cuando el parametro de escala se incrementa5.
Como podemos ver, en el caso 1-dimensional no es posible la creacion de nuevos maximos a traves
del espacio de escalas. Igualmente en base a dicho concepto, el hecho de que exista un maximo a un
nivel de escala implica que debe al menos existir uno en las escalas mas finas que haya dado lugar
al primero. El que existan varios maximos a un nivel de escala inferior nos lleva a la conclusion
de que los maximos pueden tanto desaparecer como unirse en uno solo. Este hecho hace incorrecta
la operacion de recorrido de un camino descrito por un maximo a traves del espacio de escalas
desde un nivel alto a un nivel bajo ya que dicho camino se encontrara con bifurcaciones([Witkin
83],[Asada y Brady 86]). La estructura que se refleja en ese recorrido es una estructura jerarquica
uno-a-muchos, lo que indica que puede ser representada por una estructura de arbol, hecho que ha
sido utilizado por algunos autores como una forma de caracterizar la funcion representada en el
espacio de escalas (ver [Asada y Brady 86], [Witkin 83], [Rattarangsi y Chin 92]).
Muestreo del espacio de escalas. Funcion de escala efectiva.
En un caso practico no podemos trabajar con un parametro de escala que es continuo, es decir, si
queremos estudiar el espacio de escalas generado en base a la teorıa que se presenta, tendremos que
muestrear distintos valores de escala.
Intuitivamente, ya podemos sospechar que las caracterısticas que se presentan a altos niveles de
escala desapareceran mas lentamente que en bajas escalas. En este sentido, un muestreo uniforme
en el parametro t de escala parece no recomendable. A lo largo de los ultimos anos hay una amplia
bibliografıa([Florack et al. 92], [Koenderink 84], [Lindeberg y Eklundh 92a],etc...) que muestra la
necesidad de un muestreo no uniforme.
Definimos la funcion de escala efectiva τ(t) como una funcion de t de forma que la seleccion no
uniforme de escalas en este parametro, se convierte en un muestreo uniforme sobre τ . Estudios sobre
la invarianza en el espacio de escalas, nos indican que la forma de la funcion es:
τ(t) = A+B log t (2.17)
Puede verse el uso de esta forma de muestreo del espacio de escala en distintos trabajos ([Lowe
88], [Garcıa et al. 94], [Rosin 92], etc...) donde se observa la conveniencia de esta ası como otros
argumentos que la apoyan.
Ası por ejemplo, Lindeberg realiza un estudio para senales discretas desde la densidad de estructuras
y la probabilidad de que desaparezcan llegando a resultados que en base condiciones generales
se ajustan a esta expresion. Es de destacar que Lindeberg apunta que para senales discretas, el
4Tengase en cuenta que no ocurre al contrario ya que hay caracterısticas que existen en un nivel bajo y desaparecen en
los niveles altos5Notese que no se hace referencia a nuevos maximos. De hecho en dimensiones 2 o superiores, pueden crearse nuevos
maximos.
Seccion 2.4
pag.22 El espacio de escalas.
comportamiento de τ(t) es aproximadamente lineal para escalas finas y se aproxima asintoticamente
al comportamiento logarıtmico cuando la escala aumenta.
Dicha funcion logarıtmica hace conveniente realizar un muestreo uniforme sobre un eje logarıt-
micamente escalado o equivalentemente, realizar el muestreo sobre t de valores que aumentan de
forma exponencial.
2.5. Estructura a traves del parametro de escala.
El estudio del comportamiento de la senal a traves del parametro de escalas, es decir, la relacion
entre las estructuras a diferentes niveles de escala que podemos llamar estructura en profundidad (del
termino deep structure acunado por Koenderink en [Koenderink 84]) es muy importante para un estudio
completo del espacio de escalas. Ya en los trabajos de Witkin ([Witkin 83]) se destaca la importancia de
esta relacion cuando observa experimentalmente que los intervalos definidos sobre el arbol de intervalos6
son tanto mas perceptualmente detectables cuanto mayor es su estabilidad, es decir, las estructuras mas
estables a lo largo de la escala son detectadas por el ojo humano. Desde entonces en la literatura se pueden
encontrar distintos trabajos que tratan sobre este tema ([Koenderink y Van Doorn 86]), [Bergholm 87],
[Lindeberg 94a], etc...).
El comportamiento de las estructuras en el espacio 2-dimensional es mas complejo que en el caso
1-dimensional. Koenderink y Van Doorn ([Koenderink y Van Doorn 86]) y mas profundamente Lindeberg
([Lindeberg 92b]) destacan que en el caso 2-D existen nuevos fenomenos a tener en cuenta. Los llamados
blobs (regiones de la imagen mas oscuras o mas claras asociadas con al menos un extremo local7) pueden
unirse, separarse y desaparecer. Estos sucesos (usalmente llamados bifurcaciones) ocurren de forma similar
para fronteras, cruces por cero de la laplaciana, etc.
2.5.1. Comportamiento de los puntos crıticos en el esp. de esc.
Un punto x0 ∈ ℜn es un punto crıtico de una funcion f : ℜn → ℜ si el gradiente en este punto es
cero. Si la matriz Hessiana en este punto es no singular entonces este punto es no degenerado.
Con un un estudio formal de la trayectoria de los puntos crıticos a traves del espacio de escalas podemos
deducir su comportamiento y en particular como pueden variar las fronteras8. Mas concretamente, la
derivada con respecto al parametro de escala de la trayectoria r(t) que sigue un punto crıtico no degenerado
(x0,y0) en la escala t0 viene dada por la siguiente expresion:
dr
dt(t0) = −1
2(HE)(x0)
−1(∇2(∇E))(x0) (2.18)
es decir,
dr
dt(t0) = −1
2
(∂2E∂x2
∂2E∂y∂x
∂2E∂x∂y
∂2E∂y2
)−1
(x0,y0)
[(∂2
∂x2+
∂2
∂y2
)(∂E∂x∂E∂y
)]
(x0,y0)
(2.19)
Si eliminamos las referencias a 2 dimensiones (eliminamos y) podemos obtener la derivada en caso
1-D:
dr
dt(t0) = −1
2
∂3E∂x3 (x0; t0)∂2E∂x2 (x0; t0)
(2.20)
6Obtenido a partir de las trayectorias y uniones de los maximos a traves del espacio de escalas de una senal 1-Dimensional.7Para una definicion precisa puede consultarse [Lindeberg 93b].8Consultense los trabajos de Lindeberg acerca del comportamiento a traves del espacio de escalas para mas detalles del
desarrollo matematico y una ampliacion de este estudio.
Capıtulo 2
Estructura a traves del parametro de escala. pag.23
Por lo tanto, la velocidad de un punto crıtico corresponde a la expresion 2.19 en el caso de 2 dimensiones
y a la expresion 2.20 en el caso de 1 dimension.
Seccion 2.5
Capıtulo 3
Contornos: Descripcion y
aproximacion
UNA consecuencia directa del uso de informacion de aristas para la localizacion de objetos es el estudio
de los contornos que los definen. Como se ha indicado anteriormente, el procesamiento de las aristas
de la imagen nos llevara a estructurar la informacion en distintos niveles. Dado que nuestro planteamiento
es realizar una localizacion supervisada, si nuestro objetivo es localizar un determinado contorno en la
imagen usando cierto tipo de caracterısticas, deberemos disponer de un metodo para extraerlas a partir de
dicho contorno. Por tanto es necesario obtener una descripcion y caracterizacion de estos. Obviamente, el
enfoque multiescala que usamos en el tratamiento de la informacion a lo largo de este trabajo se traduce
en algoritmos que estudian la curva que describe el contorno a distintas escalas.
Para ilustrar el funcionamiento de los algoritmos que se describen en este capıtulo usaremos tanto
contornos de tipo biologico como geografico a fin de mostrarlos sobre formas muy variables. Dichos
contornos se muestran en la figura 3.1 y corresponden a los contornos de un grupo de celulas, Espana,
una mano, italia, una hoja y Gran Bretana.
3.1. El contorno y su alisamiento.
El contorno de la imagen esta compuesto por una serie de n pıxeles (xi, yi) con i = 0 · · ·n − 11.
Expresaremos la curva C a estudiar de forma parametrica:
C = x(s), y(s) (3.1)
donde s es un parametro continuo que se mueve a lo largo de la longitud de la curva2(s ∈ [0, L]). En
nuestro caso, la curva que estudiamos la tenemos descrita con una serie de puntos y por tanto disponemos
a efectos practicos de un muestreo de ambas funciones, x(s) e y(s)3.
El representar el contorno a distintas escalas no es mas que convolucionar las funciones x(s) e y(s)
con un nucleo gaussiano 1-Dimensional (ecuacion 2.8) con σ acorde con la escala requerida. Es decir, el
contorno a una escala σ viene dado por
Cσ = C ⊗ gσ = (x(s) ⊗ g(s, σ), y(s)⊗ g(s, σ)) (3.2)
1El contorno suponemos cerrado y por tanto el primer y ultimo punto estan a distancia maxima√2.
2Como el contorno es cerrado, estas dos funciones en el parametro s son periodicas3Considerese la posibilidad de interpretar la curva de forma continua sin mas que interpolar por ejemplo mediante rectas.
25
pag.26 Contornos: Descripcion y aproximacion
Figura 3.1: Contornos: Imagenes test.
Un ejemplo de dicha operacion se muestra en la figura 3.2, en la que vemos un mismo contorno
geografico con distintos grados de alisamiento (σ = 0,σ = 5,7,σ = 16,σ = 45,25).
3.1.1. Contraccion del contorno
Como es de esperar, al realizar un alisamiento sobre el contorno, dicho contorno se contrae. [Lowe 88]
estudia este problema suponiendo una circunferencia centrada en el punto (r, 0) de radio r (pasa por el
origen). En este caso la funcion x(s) es
x(s) = r(1− cos
s
r
)(3.3)
y determina que la contraccion en un punto viene dada por
r
(1− e−
σ2
2r2
)(3.4)
donde el valor de r se determina a partir de la segunda derivada de la funcion x(s)
x′′(s) = e−σ2
2r2
r(3.5)
Capıtulo 3
El contorno y su alisamiento. pag.27
Figura 3.2: Contorno geografico con distintos grado de alisamiento.
El metodo por lo tanto consiste en a partir de la segunda derivada, determinar el radio de la circun-
ferencia correspondiente y a partir de este calcular la contraccion sustrayendo tal valor a la coordenada
alisada, para obtener ası el valor corregido.
Es una tecnica efectiva aunque el valor de correccion es local, es decir, es distinto para cada uno
de los valores de la curva dependiendo de la derivada segunda. Este hecho lo hace poco recomendable
en el caso de que queremos mantener no solo una localizacion espacial cercana a la original sin alisar
sino tambien otros valores (como valores de derivadas) relacionados con los originales de la curva alisada
(por ejemplo, derivadas proporcionales a las originales). Si no es de esta forma, el realizar una correccion
espacial puede dar como resultado una curva que presenta por ejemplo un punto de inflexion mientras
que en las derivadas no encontramos ese punto.
Otra forma simple aunque interesante es realizar una medida del tamano global de la forma y hacer que
la forma alisada aumente hasta dicho tamano. Ejemplos de esta correccion se presentan en la figura 3.3.
En la fila superior se observan los alisamientos sin correccion y en la inferior con correcion. La forma de
representacion de cada imagen consiste en dibujar cada curva con un gris proporcional al logaritmo de la
escala. La curva original se presenta en negro, y conforme aumenta la escala, aumenta el valor de gris.
Si al igual que Lowe ([Lowe 88]) suponemos una circunferencia, la operacion de alisamiento im-
plicara una disminucion del radio de dicha circunferencia. Es obvio que si medimos el radio de la original
sin alisar y realizamos un escalado de la alisada hasta dicho radio, el efecto de contraccion se habra elim-
inado. Se define el punto medio de la curva como:
pmedio(C) = (px, py) =1
L
(∫ L
0
x(s)ds,
∫ L
0
y(s)ds
)(3.6)
y a partir de este punto medio el radio medio de la curva
Rmedio(C) =1
L
∫ L
0
√(x(s) − px)2 + (y(s)− py)2ds (3.7)
Seccion 3.1
pag.28 Contornos: Descripcion y aproximacion
Figura 3.3: Correccion global de la contraccion.
La correccion por consiguiente consistira en escalar la curva alisada por un factor correspondiente al
cociente del radio medio de la curva original y la alisada, logicamente con respecto al punto medio de la
curva alisada. Es decir
xcorregida(s) = px + (x(s)− px)Rmedio(C)
Rmedio(Cσ)(3.8)
ycorregida(s) = py + (x(s) − py)Rmedio(C)
Rmedio(Cσ)
3.2. Curvatura y espacio de escalas.
3.2.1. Curvatura: Definicion.
Uno de los elementos que caracterizan la forma de una curva es el grado de curvatura. Supongamos que
tenemos una curva en la que tomamos dos puntos arbitrarios, p y q. Se define el angulo de contingencia
del arco pq como el angulo de giro de la tangente a la curva cuando pasa del punto p al punto q(ver
figura 3.4).
La curvatura media del arco pq se define como la razon del angulo de contingencia α respecto a la
longitud del arco
Kmed =α
pq(3.9)
Capıtulo 3
Curvatura y espacio de escalas. pag.29
p
α q
Figura 3.4: Angulo de contingencia.
La curvatura en un punto p se define como el lımite de la curvatura media cuando q tiende a p o dicho
de otra forma, cuando la longitud del arco tiende a cero.
Kp = lımq→p
Kmed (3.10)
La curvatura de una curva puede ser definida
K(x,y) =∂2y∂x2√[
1 +(
∂y∂x
)2]3(3.11)
Si denotamos
x =∂x
∂sy =
∂y
∂sx =
∂2x
∂s2y =
∂2y
∂s2
entonces
∂y
∂x=
y
x
∂2y
∂x2=
xy − yx
x3
y por lo tanto nos resulta la igualdad siguiente
K(x,y) =xy − yx√(x2 + y2)
3(3.12)
que sera la que usaremos en el calculo de la curvatura.
3.2.2. Aplicacion del espacio de escalas.
Volviendo a los contornos, disponemos de dos funciones discretas x(s) e y(s), de un metodo de al-
isamiento (convolucion con gaussiana) y queremos calcular la curvatura de la curva Cσ, es decir, la
curvatura de la curva alisada con una gaussiana de parametro t = σ2. Como vimos (pagina 18) para cal-
cular las derivadas necesarias para el calculo de la curvatura, solo necesitamos convolucionar directamente
con las derivadas primera y segunda de la funcion gaussiana (ecuaciones 2.9 y 2.10).
Usando esta tecnica, se obtienen curvas como las presentadas en la figura 3.5 que corresponden al
contorno y alisamientos presentados en la figura 3.2.
Seccion 3.2
pag.30 Contornos: Descripcion y aproximacion
Figura 3.5: Curva de curvaturas con sigma 16 y 45.25.
Una vez que tenemos representado el contorno a distintas escalas, podemos realizar el estudio a traves
del espacio de escalas de la curva de curvaturas. Como es de esperar, la curva sera mas suave cuanto mayor
sea el alisamiento, es decir, a escala superior. Si hacemos una representacion 3D de la forma en que la
curvatura se va suavizando conforme va en aumento la escala, obtenemos una grafica como la presentada
en la figura 3.6 que corresponde a alisamientos del contorno geografico presentado en la figura 3.2.
Asada y Brady ([Asada y Brady 86]) propusieron el curvature primal sketch para representar los
cambios en la curvatura del contorno conforme se incrementa la escala. Basicamente consiste en estudiar
a distintas escalas la curva de curvaturas detectando ciertas discontinuidades. La forma de construccion
de esta representacion multiescala consiste en ir alisando la curva de curvaturas con un nucleo gaussiano
de distinta anchura como se ha visto anteriormente.
Ademas de esta representacion multiescala, podemos estudiar el espacio de escalas del contorno 2D
que se genera convolucionando una gaussiana de escala variable con las funciones del contorno x(t), y(t)
de forma separada. El resultado de este sucesivo alisamiento del contorno se llama el espacio de escalas
de la curvatura que ha sido usado en [Mokhtarian y Mackworth 86] para el reconocimiento y en otros
trabajos (vease por ejemplo [Rattarangsi y Chin 92]).
3.3. Representacion multiescala del contorno 2D.
Dado que nuestro interes se centra inicialmente sobre los puntos dominantes, y estos los relacionamos
directamente con los puntos de maxima curvatura, aplicaremos el algoritmo desarrollado en este trabajo
Capıtulo 3
Representacion multiescala del contorno 2D. pag.31
Vis
ta fr
onta
l
Vista posterior
Figura 3.6: Espacio de escalas de la curvatura para el contorno de Espana.
sobre el espacio de escalas de la curvatura aunque su formulacion permite aplicar exactamente los mis-
mos pasos sobre cualquier tipo de representacion multiescala en la que podamos establecer una relacion
de causalidad (ver pagina 21) y podamos realizar un seguimiento de los puntos relevantes en cada es-
cala a traves del espacio de escalas. De esta forma podemos obtener a partir del contorno la funcion
correspondiente a la curva de curvaturas, calcular su valor absoluto y realizar dicho seguimiento de los
maximos.
Por lo tanto, si deseamos construir esta representacion multiescala del contorno, deberemos resolver:
1. Calculo de las funciones fα1, fα2
, · · · , fαd correspondientes al valor absoluto de las curvas de
curvaturas.
2. Determinar los maximos en cada funcion fαiy enlazarlos, es decir, determinar la trayectoria de
estos a traves de los distintos alisamientos de la curva.
3. Para cada uno de los maximos en cada una de las escalas, localizar su situacion en la curva original.
Seccion 3.3
pag.32 Contornos: Descripcion y aproximacion
3.3.1. Calculo del valor absoluto de las curvas de curvaturas.
En primer lugar, debemos determinar los valores de αi correspondientes a cada una de las escalas
que se van a considerar. Obviamente, para distintas curvas C = (x(s), y(s)) habra una localizacion de
caracterısticas en distintas escalas, e incluso para una misma curva dependiendo de la escala interna
(pagina 16). Este hecho no implica ningun parametro adicional ya que es una cuestion de muestreo del
espacio de escalas asegurando simplemente que el valor mınimo α1 es suficientemente pequeno y el valor
maximo αd es suficientemente alto. Es los experimentos disenados el valor mınimo ha sido de 2 (un valor
que solo alisa el ruido consecuencia de la discretizacion, es decir, por encima de la escala interna)4 y
el valor maximo aquel que nos garantiza que el contorno ha sido suficientemente alisado (por ejemplo,
considerando la escala externa de la senal). Obviamente disminuir el valor mınimo o aumentar el valor
maximo no influye en los resultados y por tanto estas cotas se determinan facilmente. Por otra parte, el
muestreo se ha realizado con valores equidistantes en una escala logarıtmica (ver pagina 21).
Los valores que se han usado para el muestreo de las curvas de curvaturas a distintas escalas son:
2, 2√2, 4, · · · , 64
√2
Que a efectos practicos se hacen independientes del contorno a estudiar. Una vez determinados estos
valores, el calculo de las funciones fαino es mas que aplicar el metodo descrito en la pagina 29. Dado
que para realizar dicho calculo es necesario realizar sucesivos alisamientos a valores de escala crecientes,
es interesante destacar en este punto que en base a las propiedades de semigrupo conmutativo y mas
concretamente usando la ecuacion 2.16 obtener una curva mas alisada (por ejemplo a valor σ2 = kσ1) del
mismo orden puede llevarse a cabo mediante un nuevo alisamiento sobre la curva obtenida a nivel σ1.
Es facil ver que para obtener una curva alisada a valor σ2 = kσ1 disponiendo de la curva a valor σ1
basta alisar esta con un nucleo gaussiano de valor
σ =√k2 − 1σ1 (3.13)
3.3.2. Construccion de las trayectorias de los maximos.
Para determinar los puntos mas importantes del contorno, debemos realizar un seguimiento de los
maximos del valor absoluto de la curva de curvaturas a traves del parametro de escala. Esta operacion
por tanto requiere de las trayectorias de estos teniendo en cuenta que:
Los maximos pueden desaparecer a medida que aumentamos el valor de la escala.
Varios maximos pueden unirse en uno al incrementar el valor de escala.
Como se ha mencionado anteriormente, el algoritmo dispondra de un muestreo del espacio de escalas
sobre un conjunto finito de valores de escala. El problema por tanto radica en que un maximo a una
determinada escala puede estar desplazado en la siguiente escala o incluso puede no existir. El algorit-
mo de construccion de trayectorias que necesitamos consistira en determinar para cada valor de escala
muestreado αi la correspondencia entre los maximos a dicha escala y los maximos a escala αi+1.
El problema del camino de un maximo cuando cambiamos de escala ha sido estudiado por distinto
autores ([Bergholm 87], [Lindeberg 94a]). En este trabajo se presenta un algoritmo sencillo y eficiente
que a efectos practicos resulta suficiente. Nos basamos en la idea de que los efectos de un alisamiento
gaussiano con valor de desviacion estandar σ pretende5 suprimir o unir las caracterısticas (lease para
nuestro problema, maximos) en la senal que distan menos de σ.
4De hecho, a efectos practicos se ha interpretado esta curva alisada (y reescalada hasta el radio medio inicial) como la
curva original.5Usamos la palabra “pretende” ya que esta propiedad realmente no se cumple siempre como puede verse por ejemplo en
[Lindeberg 94a] o como podremos observar en los resultados que obtendremos en este trabajo.
Capıtulo 3
Representacion multiescala del contorno 2D. pag.33
Sea Mαiel conjunto de los maximos a nivel αi
Mαi= pαi
| pαimaximo fαi
∪ −1 (3.14)
donde pαi∈ [0, L] y el valor −1 sera usado para indicar que un maximo no tiene continuidad.
El problema de enlazar los maximos no es mas que determinar las aplicaciones:
ξ : Mαi−→ Mαi+1
(3.15)
Donde los conjuntos origen y final se definen segun la igualdad 3.14 y la funcion ξ se define como:
ξ(pαi) =
pαi+1
dist(pαi, pαi+1
) < αi+1
−1 en otro caso(3.16)
definiendo la funcion dist(p, q) considerando que el contorno es cerrado, es decir
dist(p, q) =
minq − p, p+ L− q p ≤ q
dist(q, p) p > q(3.17)
En el caso de que haya varios puntos que cumplen la condicion de que la distancia sea menor que
αi+1 logicamente se seleccionara el de menor distancia.
3.3.3. Localizacion de los maximos en el contorno original.
Debido al desplazamiento que sufre la localizacion de los maximos despues de aplicar un alisamiento,
no serıa correcta una operacion en la que usaramos el punto donde hemos encontrado un maximo a
una escala alta para localizar un punto en la curva. Es decir, si tenemos una curva C = (x(t), y(t)) y
localizamos un maximo de curvatura en el punto t = d en una escala alta σ, tendremos un punto de
maxima curvatura de la curva Cσ = (xσ(t), yσ(t)) en (xσ(d), yσ(d)) pero no es correcto inferir que dicha
caracterıstica se situa en (x(d), y(d)) en la curva original C ya que dicho maximo a podido sufrir una
desviacion que habra que corregir para localizarlo en C.
Por otro lado, podemos pensar que el problema esta ya resuelto dado que hemos construido las
trayectorias de los maximos a traves del parametro de escala. Efectivamente, estos caminos nos ayudan a
resolver el problema pero no de forma directa ya que recordemos que un maximo puede producirse como
union de varios, es decir, a una escala alta distinguimos un punto dominante que a escalas inferiores se
traduce en varios maximos. De esta forma, no es correcto usar un algoritmo que siga un maximo a traves
del parametro de escala hasta la localizacion en la curva original. Obviamente, si el maximo no surge
como union de varios maximos no hay problema pues su localizacion no tiene ninguna ambiguedad.
Para ilustrar este problema, consideremos la figura 3.7 en la que aparece un polıgono de 4 lados y
por tanto con cuatro puntos destacados si consideramos una escala cercana a cero. En la figura tambien
aparecen dos perfiles aproximados de las funciones correspondientes a las curvas de curvaturas con dos
alisamientos distintos (una representacion 3-D de las curvaturas a traves del espacio de escalas se puede
observar en la figura 3.8). Como hemos mencionado a un valor de parametro de escala bajo se distinguen
los 4 puntos del polıgono, en cambio a un valor alto solo se distinguen 3 puntos.
En una aplicacion real, si necesitaramos localizar contornos triangulares, este serıa un buen candidato
dandose por valido si el pequeno segmento puede obviarse, es decir, si la figura es considerada a una
escala superior. Ahora bien, si queremos aproximar la curva mediante un triangulo, es decir, si queremos
determinar sobre el contorno original 3 puntos que indican la localizacion del triangulo, dos de ellos
quedan claros pero el tercero no tiene una localizacion clara. Desde un punto de vista intuitivo, parece
conveniente que la eleccion sea el punto medio del segmento pequeno aunque si uno de los dos puntos
tuviese un valor de curvatura mayor parece mas interesante que el punto elegido se encuentre mas cerca
Seccion 3.3
pag.34 Contornos: Descripcion y aproximacion
0 L0
Curvatura a escala baja.
Contorno original
0 L
Curvatura a escala alta
Figura 3.7: Contorno cuasi-triangular.
de este. En el algoritmo que se presenta la localizacion considerada corresponde a una media ponderada
por el valor de curvatura, es decir, la localizacion de un punto pαi+1∈ Mαi+1
es
Loc(pαi+1) =
∑
pαi∈O
fαi(pαi
)Loc(pαi)
∑
pαi∈O
fαi(pαi
)(3.18)
Donde el conjunto O se define como
O = pαi| ξ(pαi
) = pαi+1 (3.19)
Logicamente esta recurrencia se aplicara siempre que queramos recuperar la localizacion del maximo
a una escala mas pequena. Si αi+1 es suficientemente pequeno como para obviar la desviacion, definimos
Loc(pαi+1) = pαi+1
.
3.4. Algoritmo de deteccion de puntos dominantes.
3.4.1. Idea basica.
El algoritmo de deteccion de puntos dominantes que se propone a continuacion se basa en una vision
multiescala del contorno. La idea consiste en detectar las caracterısticas mas relevantes a una escala
superior y si no es suficiente para describir el contorno (usando por ejemplo una medida de error residual),
ir disminuyendo el valor de escala y por tanto ir detectando las caracterısticas mas finas en una operacion
de enfocado. El enfocado a traves del espacio de escalas no es novedoso en lo que se refiere a seguimiento
de los maximos a traves del parametro de escala. En [Bergholm 87] se estudia la localizacion de los
maximos del gradiente a un valor de escala alto para mediante una operacion de enfocado localizarlos
Capıtulo 3
Algoritmo de deteccion de puntos dominantes. pag.35
Dos máximos se unenen uno a escala superior
Vista posterior de las curvas de curvaturas
Figura 3.8: Curvatura del contorno cuasi-triangular.
a un valor de escala bajo. Esta operacion nos permite seleccionar fronteras de alta relevancia en una
escala alta y evitar el problema de la localizacion de estas fronteras (recordemos que los maximos tienen
una localizacion mas exacta a escalas mas bajas). Aunque el trabajo se presenta muy util para ciertas
aplicaciones que requieren una mejor localizacion de las fronteras, se presenta el problema de determinar
mediante dos parametros cuales seran las fronteras a enfocar por lo que los resultados solo nos permiten
obtener las mismas fronteras que otros operadores aunque con un nivel de localizacion mas exacto. Por
otro lado, la operacion de enfocado que se presenta en este trabajo es bastante distinta ya que se pretende
no solo localizar los maximos a una escala baja (vease apartado anterior) sino que el enfocado que se
realiza es local (en unas regiones se enfoca mas que en otras) ademas de que debemos tener en cuenta que
un maximo a un nivel de escala alta puede provenir de la union de varios maximos a una escala inferior.
Basicamente, el enfocado consiste en que a partir de un conjunto de puntos que describen el contorno
evaluar si son suficientes de manera que si lo son no es necesario un mejor enfoque y en caso contrario
evaluar la zona del contorno que no queda bien descrita y en ella enfocar, es decir, obtener los puntos
dominantes a un nivel de escala mas bajo que contiene las mismas o mas caracterısticas de las que
disponıamos en el nivel superior (recuerdese el concepto de causalidad, pagina 21).
Es importante destacar la necesidad de una representacion multiescala del contorno de manera que
habra partes que seran bien caracterizadas a una escala alta mientras otras necesitaran de una escala
inferior. Este hecho nos lleva a la construccion de un algoritmo en el que los puntos detectados son
hallados a distintas escalas segun las necesidades de representacion.
Seccion 3.4
pag.36 Contornos: Descripcion y aproximacion
3.4.2. Formulacion general del algoritmo.
En esta seccion vamos a formular el algoritmo mas general de manera que aunque se concreta el
algoritmo de forma unica en las siguientes secciones donde se exponen distintas variantes, pueda ser
considerado cualquier otro criterio de calculo en base a otras funciones de ajuste (vease Af mas adelante)
y de caracterizacion (vease Ap mas adelante) siempre recogiendo la misma filosofıa en cuanto a la vision
multiescala de la funcion a estudiar. A continuacion se describen los distintos pasos en una version
recursiva del algoritmo propuesto.
Los datos previos a la ejecucion del algoritmo son:
1. Sea C el contorno a estudiar, y a partir del cual debemos localizar un conjunto P de puntos en el
contorno que nos permitan caracterizarlo.
2. Sean Ap y Af dos algoritmos que resuelven respectivamente:
Ap obtiene un conjunto de puntos dominantes a partir de un contorno C′ representado a una
escala α.
Af a partir de un contorno C′ y un conjunto de puntos P ′ devuelve una medida de ajuste de
P ′ para describir C′ en funcion de algun error residual.
3. Obtener una representacion multiescala del contornoC a valores de escala crecientes α1, α2, · · · , αd.
El ALGORITMO recursivo Puntos(C,α1, · · · , αd, U) es:
1. Obtener un conjunto PC = Ap(C,αd) = p1, p2, · · · , pn.
2. temp = ∅
3. Para i = 1 hasta i = n
a) Si (Af (C(pi,pi+1), pi, pi+1) > U)
temp = temp⋃
Puntos(C(pi,pi+1), α1, · · · , αd−1, U).
4. Devolver (PC ∪ temp).
Donde C(pi,pi+1) denota el contorno que recorre C desde el punto pi al punto pi+16. Y el valor U es
un umbral que indica un valor de error residual maximo para el conjunto de puntos final.
3.4.3. Algoritmo detallado.
Una vez descrito el algoritmo general, es interesante destacar que la instanciacion a un algoritmo
concreto de este puede tener distintas soluciones. Veamos una de sus posibilidades determinando Ap, Af ,
y U .
3.4.3.1. Algoritmo Ap.
Recordemos que uno de los pasos del algoritmo general consiste en la localizacion de una serie de
puntos dominantes a una escala αd mediante el algoritmo Ap. La eleccion de un metodo para resolverlo
tiene una amplia gama de posibilidades considerando que la literatura contiene una extensa coleccion
de ellos(vease por ejemplo [Teh y Chin 89] que contiene un breve resumen de varios algoritmos y otras
referencias como [Ansari y Huang 91], [Fdez-Valdivia et al. 95b], [Perez de la Blanca et al. 93], etc.).
Obviamente, el algoritmo a aplicar debe de obtener los puntos de una unica escala (αd) con lo cual el
6Los subındices se entienden modulo n.
Capıtulo 3
Algoritmo de deteccion de puntos dominantes. pag.37
problema quedarıa directamente resuelto, o bien, deberıa ser un algoritmo que obtenga los puntos de
forma directa desde el contorno (a la escala en que este representado dicho contorno) de manera que Ap
no serıa mas que representar a escala αd el contorno y aplicar dicho metodo. Notemos que algoritmos
como el de Teh y Chin que son muy sensibles al ruido aumentan en interes cuando se plantea la posibilidad
de aplicarlos habiendolo suprimido (ver por ejemplo [Ansari y Huang 91]). Esta eliminacion del ruido se
garantiza en niveles suficientemente altos de escala.
En los experimentos disenados, la eleccion para dicho algoritmo ha sido la mas natural, es decir, el
calculo de los puntos dominantes a escala αd no es mas que determinar los maximos del valor absoluto
de la curva de curvaturas del contorno alisado a dicha escala.
Por consiguiente, la representacion multiescala del contorno que hemos usado viene dada por d fun-
ciones 1D fα1, fα2
, · · · , fαd correspondientes al valor absoluto de las curvas de curvaturas generadas
mediante los d alisamientos del contorno.
3.4.3.2. Algoritmo Af .
Recordemos que Af consiste en un algoritmo que tomando una curva y un conjunto de 2 o mas puntos
en ella, devuelve un valor indicando la optimalidad de dichos puntos para la representacion de la curva.
En nuestro caso intentamos decidir si dos puntos (p1 y p2) aproximan correctamente un segmento de
curva, de esta forma usaremos como medida la mayor distancia d de cada punto de la curva a la recta que
interpola los puntos([Fdez-Valdivia et al. 95b]) , es decir, si aplicamos Af a una curva C(s) = (x(s), y(s))
donde 0 ≤ s ≤ L el valor devuelto sera
Af (C, p1, p2) = max0≤s≤L
| C(s), p1, p2 | (3.20)
donde | p, r(x) | denote la distancia del punto p a la recta r(x) dicha medida puede verse representada
graficamente en la figura 3.9.
p1
p2d
Figura 3.9: Optimalidad de dos puntos y una curva.
Logicamente esta eleccion no es unica y pueden considerarse multitud de variantes como puede ser la
medida del area entre la recta y la curva, la distancia del punto mas distante a la cuerda normalizado
por la longitud de esta([Perez de la Blanca et al. 93]), u otras mas complejas como la distancia maxima
entre la curva y una interpolacion de los puntos dominantes usando metodos como splines([Fdez-Valdivia
et al. 95b]).
3.4.3.3. Valor U .
El valor umbral U para determinar el error maximo en la aproximacion es un parametro del algoritmo.
Para las curvas que tratamos, vendra dado por un valor de 0 a 1 indicando un factor del radio medio de la
curva(ecuacion 3.7) a fin de que el algoritmo sea independiente del tamano del contorno. Es posible que
Seccion 3.4
pag.38 Contornos: Descripcion y aproximacion
en algunas aplicaciones, este valor sea directamente determinado por las necesidades de representacion,
como por ejemplo, en aplicaciones donde se intenta aproximar un contorno con un mınimo de puntos
usando un criterio de distancia maxima.
3.4.3.4. Minimalidad del resultado.
Una vez obtenido un conjunto de puntos que representan un contorno determinado, tal vez sea in-
teresante la eliminacion de algunos de ellos con respecto al algoritmo Af . Uno de los motivos por los
que esta posibilidad surge se debe a que cuando se realiza un enfoque de un segmento de la curva, es
posible que se creen varios puntos dominantes(tengase en cuenta que cuando bajamos el parametro de
escala lo hacemos segun el muestreo realizado y por tanto si de un nivel a otro desaparecen varios puntos,
cuando se enfoque a ese nivel surgen varios simultaneamente). En aplicaciones como la aproximacion de
un contorno con un mınimo numero de puntos puede ser interesante afinar el algoritmo para obtener un
conjunto de puntos menor.Una forma de realizar este afinamiento es realizar un enfoque de manera que
se obtenga un punto en cada paso del enfoque.
Aunque se realice un enfoque punto a punto no se garantiza que el conjunto de puntos resultante sea
minimal aunque si es una muy buena aproximacion en lo que respecta a calidad dado que todos los puntos
que aparecen intentan representar una estructura significativa del contorno. El motivo de ello proviene de
que puntos que son maximos a una escala alta son obtenidos a pesar de que tienen curvatura cercana a
cero. Obviamente, siempre podremos replantear el algoritmo para considerar unicamente puntos maximos
por encima de un umbral mınimo de curvatura.
Una solucion muy sencilla para evitar este conjunto sobrante de puntos es considerar la posibilidad
de tras obtener los puntos dominantes poder eliminar el maximo numero posible de ellos sin perder
logicamente la calidad de la aproximacion. Es claro que podemos seleccionar distintas formas de realizar
esta eliminacion para llegar al valor minimal deseado, por ejemplo intentando realizar una eliminacion
segun el valor de curvatura (de menor a mayor) o usando alguna otra funcion que nos permita seleccionar
los puntos segun su importancia (vease por ejemplo el criterio de optimo definido en [Perez de la Blanca
et al. 93] y usado en [Fdez-Valdivia et al. 95b]). En los resultados que se presentan se ha optado por
la solucion mas coherente con el algoritmo presentado, es decir, la importancia de un punto pi viene
determinada por Af (C(pi−1,pi+1), pi−1, pi+1). Mas concretamente, el Algoritmo Minimo(C,P ) es el
siguiente:
1. Seleccionar pi desde P con minimo Af (C(pi−1,pi+1), pi−1, pi+1).
2. Si Af (C(pi−1,pi+1), pi−1, pi+1) ≤ U
a) P = P − pib) Ir a 1.
3. Devolver P.
Se puede comprobar que considerando criterios como la eliminacion de maximos con valores cercanos a
cero o refinamiento del algoritmo presentado se obtienen resultados similares a la aplicacion del algoritmo
Minimo(C,P ).
3.4.4. Discusion y resultados.
3.4.4.1. Discusion.
Aunque la formulacion del algoritmo puede sugerir al lector que el objetivo de este es la aproximacion
mediante una polilınea del contorno en estudio con una cantidad de puntos minimal, es necesario destacar
Capıtulo 3
Algoritmo de deteccion de puntos dominantes. pag.39
que a partir del algoritmo propuesto obtenemos principalmente dos ventajas frente a algoritmos que
simplemente aproximan poligonalmente el contorno (vease por ejemplo [Douglas y Peucker 73]):
Los puntos obtenidos son de maxima curvatura, es decir, correspondientes a puntos dominantes
en alguna de las escalas y por tanto perceptualmente de alta relevancia. Es por ello por lo que la
ganancia no viene unicamente determinada en terminos cuantitativos (numero de puntos menor
para caracterizar el contorno) sino tambien en terminos cualitativos (un conjunto de puntos que
recogen las caracterısticas mas relevantes del contorno). Considerese por ejemplo una aplicacion
en la que se desea almacenar una serie de contornos con un mınimo de informacion y ademas se
pretende reconocer posteriormente contornos que se encuentran almacenados de esta forma.
El metodo de interpolacion es escogido a priori y puede ser usado en el calculo de los puntos dom-
inantes. Este posibilidad hace al algoritmo mas eficaz en el momento de seleccionar un numero
mınimo de puntos. Si el metodo de interpolacion es suficientemente bueno, la cantidad de infor-
macion necesaria para realizar la aproximacion puede reducirse considerablemente, teniendo obvi-
amente en cuenta siempre que los puntos de mayor relevancia deben ser escogidos en primer lugar.
Ademas, debemos tener en cuenta que el algoritmo puede ser modificado mas profundamente segun
las necesidades de nuestra aplicacion determinando una forma de construir una curva de corte sobre
los graficas de las trayectorias de los maximos (veanse figuras 3.10 y 3.11)7. Considerese por ejemplo
una seleccion de puntos guiada por un criterio de duracion o estabilidad a traves del parametro
de escala en la que se obtendrıa un conjunto de puntos de alta relevancia tal como indican las
observaciones de Witkin en sus trabajos (vease pagina 22).
3.4.4.2. Resultados.
En esta seccion vamos a presentar los resultados y datos intermedios que se producen para varios
casos concretos de imagenes. Los contornos sobre los que se aplicara el algoritmo son los que se presentan
en la figura 1.3. Las curvas estan parametrizadas desde cero al valor de la longitud de la curva, es decir,
en el intervalo [0, L] localizando el punto (x(0), y(0)) recorriendo las columnas de la imagen de arriba
hacia abajo y de izquierda a derecha. Una vez localizado ese punto se recorre la curva cerrada en el
sentido contrario a las agujas del reloj. El punto de comienzo se encuentra senalizado con una flecha en
los contornos que se muestran.
En las siguientes figuras se presenta:
Las 2 primeras (la figura 3.10 y la figura 3.11) representan las trayectorias de los maximos del valor
absoluto de la curvatura a lo largo del espacio de escalas.
Las 6 siguientes (desde la figura 3.12 a la figura 3.17) representan los puntos que se han obtenido
al enfocar para conseguir una buena descripcion. En la parte superior encontramos de nuevo las
trayectorias de los maximos a las que se ha anadido una lınea quebrada que une los puntos local-
izados en la imagen inferior a la altura de escala en la que han sido fijados, es decir, el resultado
final de la operacion de enfoque.
Finalmente, en las figuras 3.18 y 3.19 se representan los 6 ejemplos desarrollados con los puntos que
representan el contorno como conjunto minimal, es decir, la seleccion de puntos final eliminando
parte de los puntos dominantes obtenidos en nuestro algoritmo ası como la interpolacion lineal
desde estos puntos.
7En este trabajo, obviamente se ha propuesto una forma simple y eficaz que es suficiente para nuestros objetivos.
Seccion 3.4
pag.40 Contornos: Descripcion y aproximacion
45.25
2
2.82
4
5.65
8
11.31
16
22.62
32
64
90.5
0 968.6
45.25
2
2.82
4
5.65
8
11.31
16
22.62
32
64
90.5
0 918
45.25
2
2.82
4
5.65
8
11.31
16
22.62
32
64
90.5
0 1238.97
(A)
(B)
(C)
Figura 3.10: Trayectorias de maximos de Espana, italia y G. Bretana.
Capıtulo 3
Algoritmo de deteccion de puntos dominantes. pag.41
45.25
2
2.82
4
5.65
8
11.31
16
22.62
32
64
90.5
845.3490
45.25
2
2.82
4
5.65
8
11.31
16
22.62
32
64
90.5
0 1378.71
45.25
2
2.82
4
5.65
8
11.31
16
22.62
32
64
90.5
0 1044.38
(A)
(B)
(C)
Figura 3.11: Trayectorias de maximos del Grupo celular, mano y hoja.
Seccion 3.4
pag.42 Contornos: Descripcion y aproximacion
0 845.349
Figura 3.12: Puntos obtenidos de contorno celular.
Capıtulo 3
Algoritmo de deteccion de puntos dominantes. pag.43
0 968.603
Figura 3.13: Puntos obtenidos en el contorno de Espana.
Seccion 3.4
pag.44 Contornos: Descripcion y aproximacion
0 1378.71
Figura 3.14: Puntos obtenidos de una mano.
Capıtulo 3
Algoritmo de deteccion de puntos dominantes. pag.45
0 918
Figura 3.15: Puntos obtenidos en el contorno de Italia.
Seccion 3.4
pag.46 Contornos: Descripcion y aproximacion
0 1044.38
Figura 3.16: Puntos obtenidos de la hoja.
Capıtulo 3
Algoritmo de deteccion de puntos dominantes. pag.47
0 1238.97
Figura 3.17: Puntos obtenidos de Inglaterra.
Seccion 3.4
pag.48 Contornos: Descripcion y aproximacion
Figura 3.18: Minimizacion del numero de puntos.
Capıtulo 3
Algoritmo de deteccion de puntos dominantes. pag.49
Figura 3.19: Interpolacion desde el numero de puntos minimal.
Seccion 3.4
Capıtulo 4
Fronteras y Preprocesamiento de
Aristas.
MARR propone en sus teorıas la creacion o deteccion del llamado primal sketch que nos es mas que
el primer paso desde la informacion mas basica (las aristas) hacia la interpretacion de la imagen,
distinguiendo entes de mayor contenido semantico. Si hemos distinguido varios niveles informacionales
provenientes de las fronteras para realizar la modelizacion de nuestros objetos, necesitamos elegir un
algoritmo para la deteccion de estas aristas ası como un preprocesamiento de estas a fin de prepararlas
para que puedan ser usadas en el algoritmo de localizacion de contornos. Obviamente, las imagenes
de aristas, resultado de la deteccion de fronteras no pueden ser consideradas como resultados de la
segmentacion sino como indicios indicadores de las posibles localizaciones de los objetos.
4.1. Deteccion de fronteras.
4.1.1. Seleccionando un detector de aristas.
Existe una gran variedad de algoritmos de deteccion de fronteras ([Sonka et al. 93]) desde los mas
simples que consisten en pequenos nucleos de convolucion (2x2, 3x3) como son los operadores de Roberts,
Laplace, Prewitt, Sobel, Robinson o Kirsch hasta los mas complejos en los que los nucleos se complican
llegando a variar dependiendo de la zona de la imagen ([Garcıa et al. 95]) o el algoritmo es completado
con una etapa de postprocesamiento para mejorar las aristas obtenidas desde el operador ([Canny 86],
[Kittler y Hancock 89], [Hancock y Kittler 90b]).
Podrıa plantearse la conveniencia de metodos que tras una primera deteccion de fronteras intentaran
unir en lo posible las aristas resultantes en vistas de unos resultados de mas calidad para etapas pos-
teriores. Como podemos comprobar, estos metodos resultan difıciles de aplicar si consideramos la gran
cantidad de ruido que contienen las imagenes, y especialmente la naturaleza de este ruido que lo hace
imposible de tratar con ningun modelo aleatorio. Un ejemplo de estas tecnicas puede ser la relajacion,
con la que podemos comprobar la inoperancia de esta solucion.
La razon de que los resultados obtenidos sea pobre se debe especialmente a dos razones:
Tal y como se ha indicado, el ruido confunde al metodo y es recomendable metodos que se comporten
mejor frente a este. Si se realiza alguna etapa de mejora de las aristas debe ser con mayor seguridad
(por ejemplo, solo donde haya gradientes altos) y en ultima instancia en base al modelo de objeto
que se quiere localizar.
51
pag.52 Fronteras y Preprocesamiento de Aristas.
Es necesaria una interpretacion multiescala de la imagen. En gran medida el ruido aparece en unas
escalas distintas a los objetos y por otro lado es posible que distintas evidencias que se intentan
localizar se pongan de relieve solo en caso de eliminar otras caracterısticas menos relevantes.
De los primeros filtros que tratan formalmente el problema de detectar fronteras a distintas escalas
son los basados en Laplaciana de Gaussiana1, es decir, la laplaciana de una imagen previamente alisada
por una gaussiana:
∇2(G(x, y, σ) ⊗ f(x, y)) (4.1)
O equivalentemente la convolucion con un filtro laplaciana de gaussiana (ver figura 4.1)
∇2(G(x, y, σ)) ⊗ f(x, y) (4.2)
Laplaciana de Gausiana (invertida)Laplaciana de Gausiana
Figura 4.1: Funcion laplaciana de gaussiana.
Aunque en la lınea del tipo de operador que deseamos, esta opcion tiene la desventaja de que nos
da una respuesta sin ninguna referencia al vector gradiente, es decir, a la magnitud y la direccion de la
frontera detectada que como veremos seran fundamentales para la interpretacion de las aristas.
De una forma similar a este operador, podemos realizar la convolucion de la imagen con una funcion
gaussiana y en lugar de aplicar un operador de segundo orden como es el laplaciano aplicar operadores de
primer orden para obtener la orientacion de la frontera. Si estudiamos la derivada parcial en la direccion del
eje de abcisas y en el eje de ordenadas obtendremos efectivamente una estimacion del vector gradiente.
Estas observaciones nos llevan al filtro de Canny ([Canny 86]) como una excelente opcion ya que nos
permiten una interpretacion multiescala de la imagen y por otro lado nos ofrece un excelente metodo de
umbralizacion de la imagen gradiente, como es la histeresis, a fin de obtener las fronteras de la imagen.
4.1.2. Mejorando los resultados desde la interpretacion multiescala.
Es conveniente tener en cuenta que si asumimos un enfoque segun el espacio de escalas la informacion
de fronteras desde la que pretendemos obtener informacion acerca de los objetos en la imagen es una
1Abreviado como LoG por algunos autores
Capıtulo 4
Deteccion de fronteras. pag.53
senal que esta definida sobre 3 dimensiones: las correspondientes a las dos dimensiones del plano mas la
correspondiente a la escala (ver pagina 17). Por tanto nuestro sistema dispone de un nuevo eje a traves
del cual podemos relacionar y transmitir informacion.
4.1.2.1. Movimiento de las fronteras a traves de la escala.
Como hemos visto anteriormente (pag. 22), es posible determinar el camino que seguira un punto
crıtico cuando la escala cambia2. Serıa optimo que pudieramos determinar el movimiento que pueden
sufrir las fronteras entre dos niveles adyacentes de un muestreo del espacio de escalas o al menos poder
acotar dicho movimiento a fin de construir algoritmos que hagan corresponder las estructuras de las
imagenes a nivel de las aristas. La teorıa nos indica que no es posible.
Efectivamente si consideramos el caso en que tenemos un punto frontera (x0, y0) sobre una larga linea
recta y asumimos que el sistema de coordenadas esta alineado con la frontera de forma que el eje de abcisas
es perpendicular a esta y que la derivada tercera con respecto a x es distinta de cero, la ecuacion 2.20 nos
indica que la velocidad de este punto frontera cuando el parametro de escala cambia viene dado por:
dr
dt(t0) = −1
2
∂4E∂x4 (x0; t0)∂3E∂x3 (x0; t0)
(4.3)
simplemente cambiando E por ∂E∂x
que corresponde al gradiente de la imagen y por tanto, sus maximos
a las fronteras.
De esta expresion podemos derivar que no es posible ninguna acotacion acerca de la velocidad de
las aristas. Si consideramos dos fronteras paralelas adyacentes, cuando se acercan para unirse en una al
incrementar el parametro de escala, la velocidad tiende a infinito ya que la derivada tercera tiende a cero
([Lindeberg 92b], [Griffin y Colchester 95]).
Bergholm construye un algoritmo de enfoque de fronteras ([Bergholm 87]) en el que hace un seguimien-
to de las aristas a traves del espacio de escalas (hasta las escalas mas finas). Desde los resultados teoricos
que hemos planteado, esta operacion no es totalmente satisfactoria si, como hace Bergholm, nos basamos
en acotar el maximo movimiento que puede sufrir una frontera al movernos de un nivel al adyacente en
el muestreo de las escalas. A pesar de ello, relacionar estos niveles adyacentes mediante un criterio de
cercanıa de las fronteras es una operacion recomendable por varias razones:
Bergholm demuestra para un conjunto aceptable de casos que la operacion de enfocado funciona
correctamente.
Los resultados obtenidos indican que el metodo en la practica tiene un buen comportamiento.
El no poder relacionar estructuras de dos escalas ocurre solo en casos muy concretos (ver [Lindeberg
92b]) por lo que el comportamiento general del metodo es bueno.
Si nuestra intencion es relacionar una a una las fronteras, los casos de bifurcacion pueden ser
obviados.
El metodo es simple y por lo tanto muy eficiente.
Es de destacar el trabajo desarrollado en [Goshtasby 94] en el que se desarrolla un algoritmo de
seguimiento de fronteras obtenidas a partir del operador Laplaciana de Gaussiana estudiando de forma
local el valor del incremento en el parametro de escala para asegurar un desplazamiento maximo. Como
veremos mas adelante, el algoritmo propuesto se usara para obtener una informacion mas completa
de las aristas en una imagen. Es posible plantearse la posibilidad de un estudio profundo acerca del
2Obviamente cuando el punto sea no degenerado.
Seccion 4.1
pag.54 Fronteras y Preprocesamiento de Aristas.
comportamiento de las fronteras a fin de optimizar aun mas los resultados pero no es recomendable
debido a que:
La cantidad de informacion es bastante grande y estando en una etapa temprana del metodo
podemos esperar a obtener informacion de mas alto nivel para volver a afinar en las aristas que
intervienen en el contorno del objeto buscado.
El intentar obtener mayor numero de fronteras sin un modelo de contorno y especialmente en las
imagenes que manejamos se traduce en una cantidad mayor de ruido.
4.1.2.2. Relacionando aristas: Multihisteresis.
La doble umbralizacion de la imagen gradiente es un procedimiento muy eficaz para obtener una
imagen de aristas. Garantiza por un lado la obtencion de fronteras muy seguras y por otro ayuda a
la union de fronteras a traves de aristas con un nivel de gradiente no demasiado elevado. Por este
motivo, se presenta como un procedimiento ideal para la umbralizacion. Canny, propone que tras la
obtencion del gradiente y la supresion de no maximos, sea aplicada la histeresis o doble umbralizacion a
la imagen obtenida. Nuestro caso es distinto pues no manejamos un unico canal de informacion sino que
nuestra imagen gradiente esta definida sobre 3 dimensiones, dos correspondientes al plano XY sobre el
que esta definida la imagen original y una a la escala.
En la histeresis tradicional, es decir, con un solo tamano de gaussiana, se determinan dos umbrales:
El umbral alto: Cualquier punto en la imagen con un gradiente por encima de este valor es un punto
frontera con un grado de seguridad muy alto.
El umbral bajo: De forma similar, cualquier punto en la imagen con un gradiente por debajo de
este valor no es un punto frontera.
Cualquier punto con un gradiente entre el umbral bajo y el alto sera o no un punto frontera en funcion
de que este conectado (en un 8-entorno) a un punto frontera o no lo este, respectivamente.
En la figura 4.2 se representa graficamente esta idea. En esta grafica, aparece en la parte superior una
imagen de celulas para la cual se ha calculado el gradiente. Para la zona delimitada por un cuadrado se
ha representado de forma ampliada la magnitud del gradiente y una representacion 3D de esta. Como
se puede observar en la figura existen dos zonas con un gradiente muy alto y que por consiguiente seran
marcadas como fronteras directamente al sobrepasar el umbral alto en la primera fase de la histeresis.
La zona intermedia, es decir, la cresta que une estas fronteras seguras tiene un nivel de gradiente que se
situa entre el umbral bajo y el alto y sera marcada como frontera en la segunda fase de la histeresis.
En nuestro algoritmo, dado que la entrada en una senal 3-dimensional, ya no tiene sentido hablar de
un 8-entorno sino de un 26-entorno. Es decir, dado un pıxel debemos de tener en cuenta su 8-entorno en
el mismo nivel, y sus 9-entornos en el nivel superior e inferior.
Una cuestion importante que hay que considerar es la referente a los umbrales que se seleccionan para
la multihisteresis. Canny propone como umbral alto la magnitud de gradiente correspondiente al 90 por
ciento del histograma acumulado y el umbral bajo como la mitad del alto. Si realizamos una histeresis
multinivel hara falta seleccionar umbrales para cada nivel. Cada umbral de nuestro algoritmo sera una
n-tupla si consideramos un muestreo de n niveles3. Como puede intuir el lector, se abre un amplio abanico
de posibilidades a la hora de determinar estos valores: desde calcular umbrales independientemente para
cada nivel hasta en base a alguna medida de relevancia de las escalas ponderar las mas importantes
ası como una umbralizacion adaptativa en cada zona de un determinado nivel.
Antes de comentar el metodo y resultados que se han usado en este trabajo es muy interesante
considerar el calculo de un unico umbral doble para todas las escalas. El problema de hacer un calculo a
3En el caso continuo, la n-tupla se traduce en una funcion definida sobre ℜ+, es decir, para cualquier valor de escala.
Capıtulo 4
Deteccion de fronteras. pag.55
Frontera inicalmente dudosa
de fronteras seguras
hecha segura por la unión
del área seleccionada
Magnitud del gradiente
Magnitud del gradiente del área seleccionada
Imagen Original
segurasFronteras
Figura 4.2: Histeresis.
partir de todas las escalas surge dado que los valores de distintas escalas deben ser comparables. Para ello
podemos normalizar a fin de conseguir la invarianza en la escala ([Florack et al. 92]). Aun ası, considerar
un umbral comun para todo el espacio ocasionarıa una preferencia en las escalas mas altas. Efectivamente,
considerando la respuesta a la senal ([Lindeberg 93a])
f(x′) =∫ x
−∞
g(x, t0) dx (4.4)
la magnitud del gradiente normalizado incrementa con la escala (como era de esperar ya que conforme
la escala tiende a infinito la frontera tiende a un salto ideal).
En los resultados que se presentan en este trabajo, la umbralizacion ha sido la mas obvia, es decir, el
calculo para cada uno de los niveles de los umbrales propuestos en el algoritmo de Canny (de esta forma
no se determina ninguna preferencia por ninguna de las escalas) que como veremos ofrece resultados
bastante buenos. Otra posibilidad interesante puede ser determinar valores que decrecen conforme la
escala aumenta debido a que la informacion de escalas superiores sufre de menos ruido y tiene mayor
estabilidad.
Seccion 4.1
pag.56 Fronteras y Preprocesamiento de Aristas.
4.1.3. Algoritmo multiescala de deteccion de fronteras.
Una vez discutidos los distintos aspectos acerca de la construccion de un algoritmo de deteccion de
aristas desde un enfoque multiescala de la imagen, veamos concretamente cuales serıan los distintos pasos
que en definitiva se proponen.
Supongamos que se desean detectar las fronteras considerando el intervalo [σmin, σmax] del espacio de
escalas con una muestra de n canales. Tengase en cuenta que el numero de muestras debe ser obtenido
a partir de la amplitud del intervalo para considerar un ancho entre dos muestras consecutivas suficien-
temente pequeno (recordemos por ejemplo que en [Bergholm 87] se recomienda un ancho de 12 ). En este
trabajo se ha usado la expresion:
n = 4(σmax − σmin) + 1 (4.5)
para determinar el numero de muestras a tratar. Ademas supongamos los valores para el calculo de
los umbrales en la multihisteresis pb y pa (0 ≤ pb, pa ≤ 1) que como anteriormente se comento, Canny
propone valores aproximados de 0,5 y 0,9. Los pasos del algoritmo son los siguientes:
1.- Obtencion de la imagen gradiente para cada escala σi (1 ≤ i ≤ n) desde la imagen original f(x, y),
es decir, para cada i hacer:
1.1.- Obtener la componente X de la imagen gradiente como (ver pag. 18)
Gxi(x, y) =∂(f(x, y)⊗ gσi
(x, y))
∂x= f(x, y)⊗ ∂gσi
(x, y)
∂x(4.6)
1.2.- Obtener la componente Y de la imagen gradiente como (ver pag. 18)
Gyi(x, y) =∂(f(x, y)⊗ gσi
(x, y))
∂y= f(x, y)⊗ ∂gσi
(x, y)
∂y(4.7)
1.3.- Obviamente la magnitud y direccion del gradiente para cada imagen vienen determinados por:
Mi(x, y) =√Gx2
i (x, y) +Gy2i (x, y) (4.8)
Di(x, y) = arctanGyi(x, y)
Gxi(x, y)(4.9)
2.- Calcular las tuplas correspondientes a los umbrales bajos (Ub1 · · ·Ubn) y umbrales altos (Ua1 · · ·Uan),
es decir, para cada i hacer:
2.1.- Calcular el histogramaHi(x) de la imagen magnitudMi(x, y) normalizado en el intervalo [0, 1].
2.2.- Hacer Uai = H−1i (pa).
2.3.- Hacer Ubi = pb · Uai.
3.- Inicializar las etiquetas de las imagenes resultado Eti(x, y), es decir, para cada valor i y cada pareja
(x, y) hacer:
3.1.- SiMi(x, y) NO ES un maximo en la direccionDi(x, y), entoncesEti(x, y) = NO FRONTERA.
3.2.- En caso contrario:
3.2.1.- Si Mi(x, y) < Ubi entonces Eti(x, y) = NO FRONTERA.
3.2.2.- en caso contrario Eti(x, y) = POSIBLE FRONTERA.
4.- Aplicar multihisteresis sobre las imagenes Eti(x, y), es decir, para cada valor de i y cada pareja
(x, y) hacer:
Capıtulo 4
Deteccion de fronteras. pag.57
4.1.- Si Mi(x, y) ≥ Uai y Eti(x, y) = POSIBLE FRONTERA entonces
4.1.1.- Eti(x, y) = FRONTERA.
4.1.2.- Seguir asignando la etiqueta FRONTERA recursivamente por cada uno de los vecinos
del punto (x, y) del canal i mientras esten etiquetados como POSIBLE FRONTERA y
la magnitud del gradiente sea mayor que el umbral bajo.
Los resultados de este algoritmo se pueden ver para un ejemplo ilustrativo en la figura 4.3.
Seccion 4.1
pag.58 Fronteras y Preprocesamiento de Aristas.
Um
bral
alto
Um
bral
sim
ple
His
tére
sis
Mul
tihis
tére
sis
Figura 4.3: Multihisteresis (ver texto).
Capıtulo 4
Deteccion de fronteras. pag.59
En esta figura se presentan en cada fila los resultados obtenidos en los canales σ = 1, σ = 1,5 y σ = 2
para una misma imagen. Cada una de las columnas contiene:
En la primera columna se presenta una umbralizacion simple usando como umbral la media del
umbral bajo y el alto. En ella se observan algunas fronteras importantes pero tambien se detecta
un incremento de ruido, es decir, de fronteras incorrectas. Un decremento del umbral usado aunque
mejorarıa las fronteras buscadas empeorarıa el resultado con la introduccion de incorrecciones.
En la segunda columna se ilustra la eficacia de usar doble umbral. Se presentan unicamente las
fronteras que estan por encima del valor alto. Como se puede observar, estas son un subconjunto
suficientemente pequeno como para asegurar un nivel de seguridad muy alto.
En la tercera columna se presentan los resultados de la histeresis. En este caso vemos como las
cadenas que han empezado a detectarse por encima del umbral alto se ven alargadas y unidas en
gran medida.
En la cuarta columna se observan los resultados del algoritmo propuesto. Como podemos ver,
en los 3 canales presentados se ha mejorado sustanciamente la informacion dado que cadenas que
presentaban ambiguedad para la segmentacion ahora si consiguen delimitar el contorno de la celula.
Es interesante destacar que los umbrales que se estan usando para la multihisteresis son identicos
que los que se presentan para el algoritmo de Canny por lo que la existencia de nuevas cadenas
no esta asociada con la modificacion de estos sino con la introduccion adicional de informacion de
contexto a traves del parametro de escala.
4.1.3.1. Proyeccion sobre una imagen con maxima precision.
Como hemos visto anteriormente, un problema asociado a la deteccion de fronteras usando valores
altos de escala es el desplazamiento de su posicion real. En [Bergholm 87] y [Goshtasby 94] se desarrollan
algoritmos para solventar este problema obteniendose buenos resultados. Se abre por tanto la posibilidad
de integrar la informacion obtenidas en las distintas escalas mediante el seguimiento de las fronteras
de cada una de ellas hasta la escala mas baja. Es necesario destacar varios comentarios acerca de esta
operacion:
En los citados trabajos, los algoritmos se desarrollan a fin de optimizar la localizacion de las aristas
detectadas a un valor alto de escala. En nuestro caso, deseamos obtener la informacion conjunta de
todas las escalas.
Es posible construir un algoritmo para representar en una sola imagen y con alta precision la cadenas
obtenidas en todos los canales uniendo los distintos resultados.
En imagenes con alto nivel de ruido y especialmente en el caso de que sea de tipo no estocastico, es
conveniente considerar las aristas obtenidas a una escala alta debido a que se ven menos afectadas
por estos problemas y facilitando por tanto el proceso de segmentacion.
Para poder ilustar este “enfocado” de fronteras se ha implementado el siguiente algoritmo:
1.- Obtencion del conjunto de aristas Ai para cada escala σi (1 ≤ i ≤ n).
2.- Inicializar R = ∅.
3.- Desde i = n hasta i = 1
2.1.- R = R− Ai ∪ E(Ai)
Seccion 4.1
pag.60 Fronteras y Preprocesamiento de Aristas.
2.2.- R = R ∪ Ai
donde E(Ai) son el conjunto de puntos en la imagen que tienen al menos un vecino (considerando el
8-entorno) en el conjunto Ai. Un ejemplo de la aplicacion de este se puede ver en la figura 4.4.
ba
Figura 4.4: Proyeccion en una imagen.
Como se puede observar, aunque se obtiene un grado muy alto de fronteras y con una buena precision,
el nivel de ruido ocasiona distorsiones en las aristas que pueden dificultar el proceso de segmentacion. Mas
adelante desarrollaremos por tanto un metodo en base al modelo de objeto a localizar para integrar las
distintas cadenas obtenidas a partir de cada uno de los canales considerados que pueda ser generalizado
para la integracion de informacion de distintas fuentes. Antes deberemos describir como procesar cada
imagen de aristas a fin de obtener una lista de las cadenas presentes.
4.2. Preprocesamiento y extraccion de cadenas.
Los resultados obtenidos mediante el detector de fronteras no pueden ser usados de forma directa.
Para poder ser usados deberemos de transformarlos a una descripcion en base a cadenas de puntos
consecutivos. Para poder hacerlo, necesitamos resolver dos problemas:
Procesar los puntos multiples en la imagen.
Buscar las cadenas y orientarlas apropiadamente segun la descripcion del objeto a localizar.
4.2.1. Deteccion de Puntos Multiples.
La informacion de la imagen de aristas que debemos obtener consiste inicialmente en un conjunto de
cadenas en las que cada punto tiene como maximo 2 vecinos. Logicamente, antes de extraer las cadenas
de la imagen, se presenta el primer problema: los puntos que tienen mas de dos vecinos. Estos puntos son
los que llamamos puntos multiples.
Para borrarlos de la imagen seguimos el siguiente proceso:
Recorremos la imagen de forma secuencial buscando los puntos multiples. Cuando detectamos uno de
ellos, si el punto se encuentra en la primera fila (columna) o ultima fila(columna) se elimina directamente
(borrando el entorno) y en caso contrario se realiza una busqueda recursiva a traves de las distintas
ramas que se unen en el punto multiple que se esta tratando, para obtener su longitud. En caso de que
Capıtulo 4
Preprocesamiento y extraccion de cadenas. pag.61
la longitud llegue a un determinado valor Max Recursivo (umbral previamente fijado), se devuelve este
y termina la recursividad. Debido a que las ramas pueden ampliarse en forma de arbol (por existencia
de mas puntos multiples), la longitud devuelta sera la longitud de la rama mas larga. Una vez que se
conocen las longitudes de las ramas se borra el entorno del punto y se restablece este junto con las dos
ramas mas largas. Su efecto por tanto es el que se muestra en la figura 4.5.
Figura 4.5: Eliminacion de Puntos triples
En el caso de que las ramas sean de tamanos grandes no se tiene informacion (en este punto del
proceso) para indicar la rama optima a eliminar. Se cortan todas y se deja el problema de realizar la
eleccion correcta para una etapa posterior en la que se dispondra de mas informacion del modelo.
4.2.1.1. Algoritmo para puntos multiples.
Para todo punto (k,l) dentro de la imagen hacer
1. Si el punto (k,l) tiene mas de dos vecinos hacer
1.1 Para todo (i,j) del 8-entorno de P
1.1.1 Si (i,j) es frontera hacer
longitud(i,j) = 1 + computar((k, l) → (i, j))
1.1.2 en caso contrario
longitud(i,j) = 0
1.2 Eliminar el 8-entorno de P
1.3 Si 2 puntos del 8-entorno tienen longitud estrict. mayor que las demas
Recuperar los dos puntos (i,j) del 8-entorno con longitud(i,j) maximo.
Donde el algoritmo computar((k, l) → (i, j)) consiste en:
1. Inicializar max= 0
2. Marcar como visitado (i,j)
3. Para d=-1 hasta 1 hacer
3.1 Para e=-1 hasta 1 hacer
3.1.1 Si No esta marcado (i+d,j+e) y
Seccion 4.2
pag.62 Fronteras y Preprocesamiento de Aristas.
(i + d− k)2 + (j + e− l)2 > 2 y
(d 6= 0 o e 6= 0)
3.1.1.1 aux= 1 + computar((i, j) → (i+ d, j + e))
3.1.1.2 max= (max > aux?)max:aux
4. Devolver max
4.2.2. Busqueda, corte y orientacion de cadenas.
Una vez eliminados los puntos multiples, las cadenas que quedan en la imagen son:
Cadenas cerradas: Todos sus puntos tienen 2 vecinos.
Cadenas abiertas: Todos sus puntos tienen 2 vecinos excepto los extremos que solamente tienen
uno.
En la figura 4.6 se presenta un ejemplo de imagen fronteras a la que se le han eliminado los puntos
multiples.
Con puntos triples Sin puntos triples
Figura 4.6: Imagen sin puntos multiples.
4.2.2.1. Busqueda y extraccion de una cadena.
El algoritmo consiste en recorrer la imagen hasta encontrar un pıxel frontera en ella, tras lo cual se
recorre la imagen en busca del extremo de la cadena o en su caso del punto de comienzo de esta (cadena
cerrada).
Una vez localizado el extremo de la cadena se recorre almacenando los codigos en un array.
4.2.2.2. Corte y Orientacion de las cadenas.
Las cadenas de la imagen son orientadas (recorridas) en el sentido contrario a las agujas del reloj
asumiendo que los objetos que queremos segmentar son de un nivel de grıs mas oscuro que el fondo.
Graficamente la operacion a realizar en esta fase es solucionar los problemas de la figura 4.7(la flecha
indica sentido del recorrido) donde podemos observar:
Capıtulo 4
Preprocesamiento y extraccion de cadenas. pag.63
1
2
3
Caso 1
1 1
2
P
3
4
5
Caso 3
2
4
5
3.1
3.2
Solución Caso 3
1
2
3
Caso 2
Figura 4.7: Corte y Orientacion de cadenas.
Caso 1.- La celula es recorrida correctamente por lo tanto no es necesaria ninguna operacion. Las 3
cadenas permanecen igual.
Caso 2.- Las cadenas 1 y 2 son correctas. La cadena 3 debe ser invertida para quedar en la situacion del
caso 1.
Caso 3.- Las cadenas 1,2,4 y 5 son correctas pero la cadena 3 es la union de dos cadenas:
La superior antes del punto P la cual pertenece a la celula de la derecha (cadena 3.1).
La inferior despues del punto P la cual pertenece a la celula de la izquierda (cadena 3.2).
El resultado del algoritmo en el caso 3 es mostrado en la parte inferior derecha de la figura,
el cual implica cortar la cadena 3 por el punto P, e invertir la 3.2 para hacer el sentido
conforme a las agujas del reloj.
4.2.2.3. Criterio para orientacion.
El criterio para determinar que una cadena (cada punto P) esta bien orientada se realiza de la siguiente
forma:
Seccion 4.2
pag.64 Fronteras y Preprocesamiento de Aristas.
Se obtiene una estimacion de la recta tangente a cada punto P usando la recta tangente a P ( 4.8 A)
y el vector gradiente en P ( 4.8 B).
1
2
3
1
2
3
PP
(A) (B)
Figura 4.8: Criterio de Orientacion de cadenas
Salvo precision y ruido, el vector gradiente en P y la recta tangente a la cadena y con sentido identico
forman aproximadamente un angulo recto.
Decidiremos que el punto P esta bien orientado si el producto vectorial del vector gradiente y el vector
que determina la recta tangente tiene un signo determinado (negativo o positivo dependiendo del orden
de los factores).
En la orientacion, dado que el modulo del producto vectorial no es importante y nos podemos permitir
el lujo de que los vectores implicados sean poco precisos, el vector tangente se aproxima con el vector
delimitado por dos puntos:
El primero de ellos, Alcance codigos Freeman antes del punto P y
El segundo Alcance codigos Freeman posteriores a P.
donde Alcance es un parametro que se ha fijado a 2. Logicamente esto provoca que los puntos de los
extremos no sean tratados y se consideren de igual orientacion que los de su entorno.
De esta forma, la cadena tiene el siguiente tratamiento:
La cadena es correcta si todos sus puntos tienen el signo predeterminado como correcto.
Una cadena hay que invertirla si todos sus puntos tienen el signo predeterminado como incorrecto.
Una cadena hay que dividirla si esta constituida por rachas de puntos con distinto signo de forma
que cada una de esas subcadenas debera ser orientada segun los dos puntos anteriores.
4.3. Ejemplos.
En este apartado ilustramos con 3 ejemplos la deteccion de fronteras sobre imagenes de citologıas
que, como destacamos anteriormente, sufren de un nivel de ruido muy alto que dificulta la obtencion de
aristas. Para cada uno de ellos, se presentan las siguientes imagenes:
Imagen original.
Capıtulo 4
Ejemplos. pag.65
Fronteras obtenidas en los canales σ = 1, σ = 1,5, σ = 2, σ = 2,5 tras realizar la multihisteresis.
Union de los canales. El resultado de realizar la operacion logica OR con las imagenes de fronteras.
Esta imagen nos da una idea de la cantidad de informacion total que podemos obtener a partir de
las distintas escalas consideradas.
Seccion 4.3
pag.66 Fronteras y Preprocesamiento de Aristas.
Ejemplo 1
(f)(e)
(d)
(b)(a)
(c)
Figura 4.9: (a) Original. (b) σ = 1. (c) σ = 1,5. (d) σ = 2. (e) σ =
2,5. (f) Union de los distintos canales.
Capıtulo 4
Ejemplos. pag.67
Ejemplo 2
(f)(e)
(d)
(b)(a)
(c)
Figura 4.10: (a) Original. (b) σ = 1. (c) σ = 1,5. (d) σ = 2.
(e) σ = 2,5. (f) Union de los distintos canales.
Seccion 4.3
pag.68 Fronteras y Preprocesamiento de Aristas.
Ejemplo 3
(f)(e)
(d)
(b)(a)
(c)
Figura 4.11: (a) Original. (b) σ = 1. (c) σ = 1,5. (d) σ = 2.
(e) σ = 2,5. (f) Union de los distintos canales.
Capıtulo 4
Capıtulo 5
Modelizacion de deformaciones
EL tipo de contornos que pretendemos localizar tienen la particularidad de que pueden sufrir de un
alto grado de deformacion. Este hecho obliga a que cualquier tecnica desarrollada a fin de segmentar
nuestras imagenes debe de contemplar la existencia de estas deformaciones.
En nuestro caso, si consideramos la necesidad de ofrecer una informacion a priori desde el contorno
que se busca junto con la posibilidad de que este contorno sufra de deformaciones, deberemos de proponer
una modelizacion de estas a fin de poder parametrizar y de esta manera considerar las deformaciones que
se pueden presentar.
Existen distintas formas de realizar la modelizacion de deformaciones (vease pagina 5). Si consider-
amos las caracterısticas positivas y negativas de los metodos descritos en la literatura podemos exponer
brevemente cuales son los aspectos que pretendemos contemplar con nuestro modelo:
Debemos de presentar un modelo que maneje informacion a priori acerca del contorno a detectar.
El metodo debe ser capaz de localizar las posiciones iniciales del objeto a localizar.
Debemos poder parametrizar las distintas deformaciones procurando que dicha parametrizacion sea
generalizable a otras formas.
Una vez detectada la posicion inicial del objeto, debemos definir un potencial que guıe al template
mediante un metodo de optimizacion considerando el tipo de imagenes que tenemos, es decir, con
abundancia de objetos, solapamiento, etc.
Por lo tanto para ello, en primer lugar, es necesario contar con alguna tecnica que nos permita manejar
las distintas deformaciones que puede presentar nuestro contorno, y que sera presentada a lo largo de
este capıtulo.
5.1. Aproximacion propuesta.
El sistema de descomposicion de deformaciones que se va a presentar corresponde al analisis modal
usado en ingenierıa para la simulacion del comportamiento dinamico de un objeto a fin de estudiar sus
movimientos y deformaciones. Una introduccion a estas tecnicas puede encontrarse en [Livesley 88] y un
amplio y profundo estudio en [Bathe 82] aunque nosotros obviamente solo usaremos parte de ello en una
adaptacion a nuestro problema.
Esta modelizacion ha sido propuesta por Pentland y Sclaroff ([Pentland y Sclaroff 91], [Sclaroff y
Pentland 95]) aunque a fin de resolver un problema muy distinto: Realizar una correspondencia de un
contorno con otro de entre una base de datos de posibilidades, considerando los contornos ya segmentados.
Este modelo que se propone tiene las siguientes ventajas:
69
pag.70 Modelizacion de deformaciones
1. Puede ser aplicado a un conjunto amplio de contornos, es decir, no es especıfico para ninguna forma
ni aplicacion.
2. Como otros metodos en la literatura se basa en deformar una forma estandar pero con la ventaja
de que los distintos ejes de deformacion pueden obtenerse desde su geometrıa en base a propiedades
fısicas.
3. Permite una clasificacion de las deformaciones desde las mas globales a las mas locales.
4. Esta basada en una interpretacion fısica de la forma que nos permite:
Entender y manejar el metodo con mayor facilidad.
Incluir nuevas mejoras considerando nuevos aspectos fısicos en la forma como son: distinta
densidad de masa, rigidez variable a lo largo de la forma, etc...
5. Nos ofrece la posibilidad de aplicar algoritmos muy potentes para disenar procedimientos de apren-
dizaje como son: determinar correspondencias entre contornos, alineamiento de formas, etc ([Sclaroff
y Pentland 95]).
6. Modelizamos en base a un metodo de elementos finitos(FEM) que nos permite disponer de una
caracterizacion mas estable numericamente que los metodos de diferencias finitas y ademas con
funciones continuas a pesar de trabajar con el grid rectangular posibilitando por tanto el obtener
medidas en cualquier punto del plano y no solamente en los puntos discretos que manejarıan metodos
de diferencias finitas.
5.1.1. Planteamiento.
Consideremos una forma descrita por medio de un vector X:
X =
x1
...
xn
y1...
yn
(5.1)
que esta compuesto por los n puntos (xi, yi) que provienen de un muestreo a lo largo del contorno
estandar, es decir, del prototipo de contorno que sufrira las deformaciones1. Consideraremos un contorno
deformado Xd:
Xd = X +Φv (5.2)
donde Φ es una matriz compuesta por 2n vectores de longitud 2n correspondientes a los 2n grados de
libertad de deformacion de la forma X . Como es obvio, v corresponde a los pesos de cada uno de esos
vectores, es decir, es el vector que determina la deformacion en el espacio vectorial definido por la base
de 2n vectores:
φ1 · · ·φ2n (5.3)
Ahora bien, ¿Que matriz Φ es la mas util para caracterizar las deformaciones?. El caso mas sencillo
es la base ortonormal canonica, es decir, con cada vector i compuesto por valores cero excepto el valor
1El contorno estandar corresponde a aquel que resulta de aplicar una deformacion nula a la forma que se intenta localizar.
Capıtulo 5
Aproximacion propuesta. pag.71
unidad de la posicion i-esima. En este caso, los vectores de deformacion son poco informativos. Serıa
mucho mas interesante una descomposicion de forma que pudieramos clasificar cada eje de manera que
distinguieramos caracterısticas tales como globalidad o no de la deformacion, si es una deformacion
afectada de ruidos y las componentes rıgidas de dicha deformacion.
El analisis modal desde una interpretacion fısica de la forma nos da las herramientas para esta descom-
posicion en una base definida como los modos de vibracion libre de la forma que surgen de la geometrıa
y la asignacion de propiedades fısicas tales como masa y rigidez a cada uno de los puntos.
5.1.2. Derivacion de las ecuaciones de equilibrio del elemento finito.
El problema que resuelve la ingenierıa consiste en dada la geometrıa, de un cuerpo, las fuerzas o
cargas que se aplican a este, las condiciones de soporte, la ley de tension deformacion del material y las
tensiones iniciales calcular los desplazamientos, tensiones y deformaciones que sufre dicho cuerpo. Para
poder realizar este calculo sobre un objeto arbitrario es necesario un analisis basado en elementos finitos.
Nuestro objetivo en esta seccion sera formular las ecuaciones del elemento finito obviando los problemas
adicionales como el posterior ensamblaje de las matrices de los elementos dado que interpretaremos
nuestro contorno como un unico elemento finito. La mayor parte de esta seccion se ha obtenido de [Bathe
82] por lo que se remite al lector a esta referencia para una ampliacion de cualquier punto de esta breve
introduccion.
5.1.2.1. Notacion y relaciones.
Supongamos un elemento finito con n puntos nodales definidos sobre un sistema coordenado XY Z.
Denotamos:
Desplazamiento sufrido por un punto (x, y, z) como u(x, y, z) = (UVW )t.
El tensor de deformacion correspondiente a un desplazamiento u(x, y, z) como
ǫ =
ǫXX
ǫY Y
ǫZZ
ǫXY
ǫY Z
ǫZX
=
∂U∂X∂V∂Y∂W∂Z
∂U∂Y
+ ∂V∂X
∂V∂Z
+ ∂W∂Y
∂W∂X
+ ∂U∂Z
(5.4)
Las tensiones correspondientes a las deformaciones ǫ como
τ =
τXX
τY Y
τZZ
τXY
τY Z
τZX
= Cǫ+ τI (5.5)
donde C es la matriz de tension deformacion o matriz de elasticidad y τI denota tensiones ini-
ciales. El valor de C depende del problema. Para un material elastico isotropico en condiciones de
deformacion plana se puede establecer:
C =E(1 − ν)
(1 + v)(1− 2ν)
1 ν1−ν
0ν
1−ν1 0
0 0 1−2ν2(1−ν)
(5.6)
Seccion 5.1
pag.72 Modelizacion de deformaciones
donde E es el modulo de Young y ν el ratio de Poisson (para mayor profundidad ver [Bathe 82]
pagina 193 y siguientes).
Para interpolar los desplazamientos en cualquier punto del objeto, dispondremos de una matriz
H(x, y, z) de dimensiones 3x3n, es decir
u(x, y, z) = H(x, y, z)U (5.7)
donde U denota una matriz de 3nx1 correspondiente a los desplazamientos de los n nodos definidos
en el elemento finito.
Una vez definida la matriz H podemos determinar la relacion que hay entre los desplazamientos U
y el tensor deformacion ǫ
ǫ(x, y, z) = B(x, y, z)U (5.8)
donde B es la matriz de desplazamiento deformacion y sus filas se obtienen por diferenciacion y
combinacion de las de H .
Denotaremos R al conjunto total de fuerzas aplicadas sobre el objeto.
5.1.2.2. El elemento finito en equilibrio.
La situacion mas sencilla de equilibrio de un elemento corresponde al equilibrio estatico y se formula:
K · U = R (5.9)
Donde U corresponde a los desplazamientos nodales, R son las fuerzas sobre el cuerpo y K es la matriz
de rigidez que se define de la siguiente forma
K =
∫
V
BtCBdV (5.10)
Ahora bien, las fuerzas pueden variar con el tiempo y la igualdad KU = R es valida como ecuacion de
equilibrio en cada punto a lo largo del tiempo. El problema surge si estas variaciones son suficientemente
rapidas como para tener en cuenta las fuerzas de inercia. Entonces la ecuacion de equilibrio debe de
formularse
MU +KU = R (5.11)
donde U es el vector aceleracion y M es la matriz de masas definida
M =
∫
V
ρHtHdV (5.12)
siendo ρ la densidad de masa.
Por ultimo, si el objeto se encuentra en movimiento tambien hay una disipacion de energıa que se
incluye en el analisis mediante la introduccion de un termino dependiente de la velocidad, es decir, la
ecuacion de equilibrio finalmente viene determinada por:
MU +DU +KU = R (5.13)
donde U es el vector velocidad y D puede denotarse como la matriz de amortiguacion definida como
D =
∫
V
κHtHdV (5.14)
Capıtulo 5
Aproximacion propuesta. pag.73
En general es practicamente imposible calcular D y se suele construir a partir de las matrices M y
K. Una solucion usual es la asuncion de Rayleigh
D = αM + βK (5.15)
es decir, D es una combinacion lineal de la matriz de masas y de rigidez (para mas detalles, vease
[Bathe 82] pagina 796)
5.1.3. Solucionando la ecuacion de equilibrio: Analisis modal.
Una solucion a la ecuacion de equilibrio formulada en el apartado anterior es realizar un cambio de
base. La idea de la superposicion modal consiste en cambiar la base de forma que la nueva base permita
estudiar los efectos de las fuerzas en cada eje de forma independiente de manera que la solucion al sistema
venga determinada por la suma de estas respuestas.
5.1.3.1. Transformacion de la ecuacion de equilibrio.
Para transformar la ecuacion de equilibrio, usamos la siguiente transformacion desde los desplaza-
mientos U(t) a los desplazamientos generalizados X(t)
U(t) = PX(t) (5.16)
Si aplicamos esta transformacion a la ecuacion 5.13 y premultiplicamos por P t obtenemos
P tMPX + P tDPX + P tKPX = P tR (5.17)
que cambiando de notacion se transforma en
MX + DX + KX = R (5.18)
con las correspondencias obvias
M = P tMP
D = P tDP
K = P tKP
R = P tR
En esencia se ha realizado un cambio de base desde los desplazamientos generalizados para obtener
nuevas matrices K, M y C que simplifiquen el problema expresandose los desplazamientos de los elementos
en funcion de los desplazamientos generalizados como
u(x, y, z, t) = HPX(t) (5.19)
5.1.3.2. Modos de vibracion libre.
Una transformacion efectiva en la practica se consigue usando las soluciones de la ecuacion de equilibrio
suponiendo desplazamientos de libre vibracion con R = 0. Obviamente, si el sistema debe estabilizarse,
deberemos hacer D = 0 para que no haya perdida de energıa y la ecuacion resulta
MU +KU = 0 (5.20)
con una solucion en forma de
Seccion 5.1
pag.74 Modelizacion de deformaciones
U = φ sinw(t− t0) (5.21)
en la que podemos distinguir que φ es un vector que indica la amplitud de la vibracion y w es su
frecuencia (radianes/seg).
Si sustituimos la solucion en forma de armonico en la ecuacion expuesta, obtenemos como resultado
un autoproblema generalizado a partir del que se debe de determinar φ y w
Kφ = w2Mφ (5.22)
La solucion a este problema([Press et al. 92]) esta compuesta por 3n autosoluciones:
(w21 , φ1), (w
22 , φ2) · · · (w2
3n, φ3n) (5.23)
donde los autovectores son M-ortonormalizados, es decir,
φtiMφj =
1 Si i = j
0 Si i 6= j(5.24)
y los autovalores estan ordenados de menor a mayor
0 ≤ w21 ≤ · · · ≤ w2
3n
El vector φi se denomina el vector del i-esimo modo de la forma y wi es la correspondiente frecuencia
de vibracion.
Si definimos una matriz Φ cuyas columnas son los autovectores φi y una matriz diagonal Ω2 que tiene
los autovalores w2i como su diagonal, es decir:
Φ = [φ1|φ2| · · · |φ3n] Ω2 =
w21
. . .
w23n
(5.25)
las 3n soluciones se pueden escribir
KΦ = MΦΩ2 (5.26)
y como los autovectores son M-ortonormales, se cumplen las siguientes igualdades
ΦtKΦ = Ω2 ΦtMΦ = I (5.27)
Por lo tanto, la matriz Φ sera una buena matriz de transformacion (anteriormente denotada P )
U(t) = ΦX(t) (5.28)
Obteniendose ecuaciones de equilibrio correspondientes a desplazamientos generalizados modales
X(t) + ΦtDΦX(t) + Ω2X(t) = ΦtR(t) (5.29)
con condiciones iniciales
X(0) = ΦtMU(0) X(0) = ΦtMU(0) (5.30)
Por ultimo, es necesaria la diagonalizacion de la matriz D para lo que debe de ser de una forma
especial. Lo normal es restringir su forma suponiendo que se construye a partir de las series de Caughey
Capıtulo 5
Aproximacion propuesta. pag.75
D = M
r−1∑
k=0
ak[M−1K]k (5.31)
Lo que es equivalente a suponer que la amortiguacion que describe la disipacion de energıa es pro-
porcional a la respuesta del sistema. Si tomamos r = 2 se reduce a la forma de Rayleigh comentada
anteriormente
D = ΦtDΦ = a0I + a1Ω2 (5.32)
obteniendose 3n ecuaciones independientes:
Xi(t) + diXi(t) + w2i xi(t) = ri(t) (5.33)
en las que di es el parametro de amortiguacion modal.
5.1.4. Calculo de los modos naturales de deformacion.
Como hemos visto en los apartados anteriores, podemos caracterizar las distintas deformaciones de un
objeto de una forma natural mediante los ejes definidos por cada modo de vibracion libre. Ahora bien, es
aun necesario detallar el metodo concreto de analisis definiendo el tipo de funciones que usaremos para
interpolar en todos los puntos de la forma. En esta seccion veremos un metodo concreto (que sera usado
en esta memoria) propuesto en [Sclaroff y Pentland 95] detallando la forma en que pueden calcularse los
modos de vibracion aunque, como el lector puede intuir, pueden usarse otros metodos y/o variaciones
([Bathe 82], [Pentland y Sclaroff 91]).
Necesitamos definir un conjunto de funciones de interpolacion o funciones de forma a fin de obtener la
matriz H de la ecuacion 5.7 pero en 2-D, es decir, de dimensiones 2x2n siendo n el numero de elementos
nodales denotados (xi, yi) con 1 ≤ i ≤ n. La matriz H(x, y) por tanto tendra la forma:
H(x, y) =
(h1(x, y) · · · hn(x, y) 0 · · · 0
0 · · · 0 h1(x, y) · · · hn(x, y)
)(5.34)
Donde hi son las funciones de forma que definen nuestro elemento finito isoparametrico y que deben
de cumplir:
El valor en cada nodo del elemento finito debe cumplir
hi(x, y) =
1 Si (x, y) = (xi, yi)
0 Si (x, y) 6= (xi, yi)(5.35)
El cualquier otro punto (x, y) del objeto debe de cumplirse
n∑
i=1
hi(x, y) = 1 (5.36)
Es decir, al interpolar el valor de una medida en un punto que coincide con un nodo se debe de obtener
el mismo valor de ese nodo y si no coincide, el valor puede obtenerse a partir de todos normalizando como
es obvio la suma de los pesos a 1.
Usaremos como funciones de interpolacion las propuestas en [Sclaroff y Pentland 95] basadas en la
suma ponderada de n gaussianas,
hi(x, y) =n∑
k=1
aikgk(x, y) (5.37)
Seccion 5.1
pag.76 Modelizacion de deformaciones
donde gk es una gaussiana 2-D de desviacion σ y centrada en el punto (xk, yk).
Para poder garantizar la igualdad 5.35 en cada punto (x, y) correspondiente a un nodo, los pesos aikpueden ser obtenidos desde la matriz A, inversa de la matriz
G =
g1(x1, y1) · · · g1(xn, yn)...
...
gn(x1, y1) · · · gn(xn, yn)
(5.38)
y si queremos que se cumpla la igualdad 5.36 para cualquier punto que no sea un punto nodal,
deberıamos normalizar
hi(x, y) =
∑n
k=1 aikgk(x, y)∑m
j=1
∑n
k=1 ajkgk(x, y)(5.39)
aunque para los objetivos de este trabajo, no sera necesario tenerlo en cuenta simplificando de esta
manera el calculo de la matrices de masas y rigidez.
5.1.4.1. Calculo de la matriz de masas.
La matriz de masas de dimensiones 2n por 2n se calcula a partir de:
M =
∫
V
ρHtHdV =
(Maa 0
0 Mbb
)(5.40)
donde Maa = Mbb y cada elemento (i, j) de estas matrices se calcula planteando una doble integral
que podemos resolver haciendo uso de las igualdades de [Gradshteyn y Ryzhik 88] (pag. 337) referentes
a la solucion de integrales infinitas de exponenciales. Como resultado obtenemos:
Maa = Mbb = ρπσ2G−1RGG−1 (5.41)
donde los elementos de la matriz RG son las raıces cuadradas de los elementos de G.
5.1.4.2. Calculo de la matriz de rigidez.
La matriz de rigidez de dimensiones 2n por 2n se calcula a partir de:
K =
∫
V
BtCBdV =
(Kaa Kab
Kba Kbb
)(5.42)
con Kba = Kab y donde la matriz C esta definida en la ecuacion 5.6 y la matriz B es
B(x, y) =
∂∂x
h1(x, y) · · · ∂∂x
hn(x, y) 0 · · · 0
0 · · · 0 ∂∂y
h1(x, y) · · · ∂∂y
hn(x, y)∂∂y
h1(x, y) · · · ∂∂y
hn(x, y)∂∂x
h1(x, y) · · · ∂∂x
hn(x, y)
(5.43)
si notamos α, β y ξ a las expresiones
α =ν
1− ν, β =
E(1− ν)
(1 + v)(1 − 2ν), ξ =
1− 2ν
2(1− ν)(5.44)
cada elemento (i, j) de estas matrices se resuelve de una forma similar al calculo de la matriz de masas
obteniendose
kaaij= πβ
∑
k,l
aikajl
[1 + ξ
2− (xk − xl)
2 + ξ(yk − yl)2
4σ2
]rGkl
(5.45)
Capıtulo 5
Seleccion de deformaciones. pag.77
kbbij = πβ∑
k,l
aikajl
[1 + ξ
2− (yk − yl)
2 + ξ(xk − xl)2
4σ2
]rGkl
(5.46)
kabij = kbaij= −πβ(α+ ξ)
4σ2
∑
k,l
aikajl(xk − xl)(yk − yl)rGkl(5.47)
5.2. Seleccion de deformaciones.
Una vez que las deformaciones las expresamos en funcion de los modos de vibracion libre vamos a
estudiar la forma en que vamos a seleccionar las principales deformaciones que presenta nuestro objeto.
Para ello, en primer lugar veremos las caracterısticas de nuestra nueva base y como a partir de ella
podemos directamente obtener los primeros resultados.
5.2.1. Deformaciones modales.
En nuestro caso 2-D la nueva base de deformaciones esta compuesta por 2n vectores φi correspondi-
entes a 2n frecuencias de vibracion wi (vease 5.23) que supongamos estan ordenadas de menor a mayor.
Un ejemplo simple de esta nueva base se presenta en la figura 5.1.
vector 5
vector 1 vector 2 vector 3 vector 4
vector 8vector 7vector 6
Figura 5.1: Deformaciones modales de un cuadrado.
En esta figura se presentan graficamente las 8 deformaciones correspondientes a los modos de vi-
bracion libre ordenadas de menor frecuencia a mayor2. Como se puede observar en ella, este sistema de
representacion nos permite distinguir:
Los 3 primeros modos corresponden a los movimientos rıgidos, es decir, traslacion y rotacion.
Los 2n−3 ultimos modos son deformaciones no rıgidas. Este conjunto de deformaciones se presenta
desde las mas globales correspondientes a las frecuencias de vibracion mas bajas hasta las mas
locales y sensibles al ruido en las frecuencias altas.
2En la pagina 147 se puede observar un ejemplo mas complejo.
Seccion 5.2
pag.78 Modelizacion de deformaciones
De este primer paso podemos obtener descartando tanto los 3 primeros modos que no deforman el
objeto hasta los ultimos que corresponden a deformaciones locales, las principales deformaciones que
puede llegar a sufrir nuestro contorno. La eliminacion de los ultimos modos nos facilita:
Evitar los efectos del ruido y las deformaciones locales. Es esta etapa de la segmentacion nos interesa
especialmente encontrar los objetos en la imagen sin atender a los detalles o cambios locales.
Eliminar la sobre-dimensionalidad del problema ocasionada por un excesivo muestreo de los puntos
que caracterizan al contorno. Si al modelizar el objeto se han seleccionado un numero excesivo de
puntos, el tipo de deformaciones que se obtienen se veran afectadas especialmente a las correspon-
dientes a cambios locales3.
5.2.2. Componentes principales.
La forma mas sencilla y efectiva de delimitar el conjunto de vectores significativos para nuestro modelo
es en base a un conjunto de ejemplos que ilustren cuales son las posibilidades de deformacion de nuestro
contorno. En este sentido se plantea la posibilidad de obtencion de componentes principales. Este estudio
nos beneficiara en varios sentidos:
Podremos determinar facilmente los vectores de alta vibracion a eliminar.
Puede ocurrir que aunque desde el punto de vista fısico sea natural una determinada deformacion
de nuestro contorno correspondiente a una frecuencia baja, en la practica no nos la encontremos
para nuestro objeto en particular (al igual que una descomposicion Fourier no tiene por que tener
contribuciones en todas las frecuencias). El disponer de un conjunto de posibilidades nos puede
permitar realizar las correspondientes simplificaciones.
Por ultimo, no solo es posible eliminar vectores que no se presenten en nuestra aplicacion sino que
podemos realizar un estudio de posibles correlaciones entre los valores reales de manera que registrar
dichas variaciones puede realizarse de una forma mas optima.
Supongamos que disponemos de un conjunto de m ejemplos Ei (1 ≤ i ≤ m) correspondientes a m
posibilidades de deformacion de un contorno. Supongamos T el contorno de deformacion cero. El proceso
puede ser el siguiente:
1. Alinear cada contorno Ei con el contorno T , es decir, realizar la correspondencia de puntos desde
Ei a T calculando para ello la traslacion, rotacion y deformaciones no rıgidas correspondientes.
Un metodo eficaz de realizar esta alineacion esta descrito en [Sclaroff y Pentland 95] en base a la
descripcion modal del contorno. Aunque no entraremos a detallar este proceso, si conviene destacar
que se realiza en dos fases:
a) Calculo de las transformaciones rıgidas. En este punto, la problematica viene planteada por
el calculo de la rotacion necesaria en la alineacion. Aunque el tercer vector obtenido en la
descomposicion modal corresponde a un movimiento rotativo, no podemos olvidar que es una
trasformacion lineal y por tanto no es posible resolverla de esta forma. Pese a ello, la transfor-
macion es necesaria unicamente cuando se debe realizar una rotacion grande para la alineacion
y basta una rotacion aproximada pues la descripcion modal permite recoger pequenas defor-
maciones.
b) Una vez determinadas de forma aproximada las transformaciones rıgidas, se usan las deforma-
ciones modales para determinar la forma definitiva de alineacion de los contornos (incluyendo
la correccion de las traslaciones y de la rotacion).
3En caso de que el numero de puntos sea cercano al optimo sera recomendable obviar la eliminacion.
Capıtulo 5
Seleccion de deformaciones. pag.79
2. De esta forma, si T y cada muestra estan descritos en base a n puntos y disponemos de m muestras
X1, X2 · · · , Xm
donde Xi tiene la forma de la ecuacion 5.1, la alineacion de cada una de ellas con T nos permite
calcular los m vectores Ui correspondientes a los desplazamientos nodales que llevan desde T a cada
ejemplo:
Ui = Xi − T (5.48)
y si consideramos que
Ui = ΦUi ΦtMΦ = I
donde Ui son los desplazamientos generalizados modales, la transformacion a coordenadas modales
es
Ui = Φ−1Ui = ΦtMUi (5.49)
y cada ejemplo puede ser descrito
Xi = ΦUi + T (5.50)
de manera que Ui1 ,Ui2 y Ui3 corresponden a las traslaciones y la rotacion cuyos valores son nulos a
causa de la alineacion previa.
3. A partir de las m muestras podemos calcular la media y matriz de covarianzas de los vectores Vi
mV =1
m
m∑
j=1
Vi CV =1
m
m∑
j=1
VkVtk −mV m
t
V(5.51)
donde Vi = (Ui3 , · · · , Ui2n)t. La matriz CV es real y simetrica por lo que pueden calcularse 2n− 3
autovectores ortonormales y 2n− 3 autovalores correspondientes al autoproblema
CV ei = λiei
Si denotamos A a la matriz
A = (e1, e2, · · · , e2n−3)t (5.52)
la transformacion Vi = A(Vi −mV ) se denomina la transformada de Hotelling y se caracteriza por
tener una media y matriz de covarianzas
mV = 0 CV =
λ1 0. . .
0 λ2n−3
(5.53)
Seccion 5.2
pag.80 Modelizacion de deformaciones
4. Los nuevos vectores Vi definidos por la transformada de Hotelling se caracterizan por tener ele-
mentos no correlados y ademas, las varianzas de dichos elementos coinciden con los autovalores λi.
Basta con seleccionar los elementos correspondientes a los valores mas altos de estos autovalores
para seleccionar las coordenadas de mayor variacion y por lo tanto las de mayor informacion. Los
vectores Vi correspondientes a este nuevo sistema simplificado se pueden obtener haciendo uso de
la transformacion
Vi = AtVi +mV (5.54)
y por tanto, cada ejemplo Xi puede escribirse
Xi = Φ ·((0, 0, 0) | (AtVi +mV )
t)t
+ T (5.55)
Capıtulo 5
Capıtulo 6
Localizacion inicial de contornos
deformables
SE pueden distinguir muchos y variados modelos de objetos deformables a lo largo de la literatura.
Estos modelos pueden variar en distintos aspectos:
Aproximacion de los contornos.
Definicion de potenciales y funciones de energıa.
Tecnicas de optimizacion.
Pero todos comparten un mismo aspecto: no poseen una etapa previa que permita determinar de forma
automatica las localizaciones iniciales de las soluciones. Existen algunas aproximaciones al problema,
ası en [Lai y Chin 95] se propone la transformada de Hough como un metodo de inicializacion aunque con
la unica garantıa de que es un caso particular de la metodologıa propuesta que como es obvio sufrira de
una disminucion en la calidad de los resultados conforme aumenta el grado de deformacion llegando a ser
de difıcil utilizacion en imagenes tales como las presentadas aquı. En otros casos, si el modelo se desarrolla
para una aplicacion especıfica permite desarrollar algoritmos de inicializacion pero que son difıcilmente
generalizables, ası por ejemplo en [Yuille et al. 92] se utiliza informacion de picos, valles y fronteras para
localizar los objetos aunque, a pesar de ser muy eficaz, si trasladamos el problema a otros objetos y/o
imagenes resulta una tecnica de difıcil aplicacion(si no imposible)1.
En este capıtulo se propone un metodo para la localizacion de contornos en imagenes que pueden
sufrir de los siguientes problemas:
Multitud de objetos.
Solapamientos.
Informacion parcial.
Ruido no aleatorio.
obteniendose resultados validos para la inicializacion de contornos deformables que contemplan un
conjunto de deformaciones muy grande.
1Aunque no debemos de olvidar la eficacia de combinar distintas informaciones de la imagen para optimizar los resultados
como ilustra la aplicacion de Yuille en la deteccion de contornos desde caras.
81
pag.82 Localizacion inicial de contornos deformables
En este capıtulo vamos a desarrollar un metodo para la localizacion aproximada de objetos en la
imagen como un metodo de inicializacion. Nuestra intencion sera obtener un conjunto de valores para
los parametros que definen la localizacion (traslacion, rotacion y deformaciones no rıgidas) del contorno
buscado lo que nos sugiere el uso de la transformada de Hough. El hecho de que la dimensionalidad del
problema y el ruido en los datos de entrada sean altos nos obliga a una reformulacion de esta.
6.1. La transformada de Hough generalizada.
6.1.1. Formulacion.
Supongamos la curva
C(t) = (fx(t), fy(t)) (6.1)
donde el parametro t se mueve en el intervalo 0 ≤ t ≤ L y la curva C esta centrada en el punto (0, 0),
es decir,
∫ L
0
fx(t)dt =
∫ L
0
fy(t)dt = 0 (6.2)
Supongamos ademas un conjunto de ejes de deformacion
D = ex, ey, er, ed1, · · · , edn
(6.3)
correspondientes a traslaciones (ex en abcisas y ey en ordenadas), rotaciones (er) y un numero inde-
terminado n (variando segun el objeto a localizar) de deformaciones no rıgidas.
El conjunto de posibles localizaciones de la curva C(t) sobre el conjunto de deformaciones D viene
determinada por (3 + n)-tuplas de valores. La transformada de Hough construye un espacio discreto de
dimension 3 + n asignando a cada uno de los puntos de este el numero de pıxeles frontera que aparecen
en la imagen de aristas y que corresponden a dicha localizacion del contorno.
6.1.2. El caso mas simple: deformaciones rıgidas.
Tradicionalmente la transformada de Hough generalizada se ha formulado para formas que sufrıan
unicamente de traslaciones y de rotaciones debido a la inmanejabilidad del espacio de parametros que
resulta de un aumento del numero de dimensiones.
Si consideramos una curva C(t) que puede sufrir de deformaciones rıgidas, una localizacion de dicha
forma en una imagen viene determinada por 3 valores:
(x,y,r)
con x ∈ [xmin, xmax], y ∈ [ymin, ymax] e r ∈ [0, 2π] que corresponden a la curva:
C′(t) = (x+ fx(t) cosr − fy(t) sinr,y + fx(t) sinr + fy(t) cosr) (6.4)
Construir la transformada de Hough de una imagen I sobre un espacio de parametros discreto
E(x,y,r) (es decir, sobre una matriz de acumulacion) consiste en2:
1. Calcular el conjunto de aristas A de I.
2. Para toda tupla (px, py,r, t), tal que (px, py) ∈ A, r ∈ [0, 2π], t ∈ [0, L] hacer
2Obviamente haciendo uso de una conveniente discretizacion de los parametros que aparecen.
Capıtulo 6
La transformada de Hough generalizada. pag.83
a) x = px − (fx(t) cosr − fy(t) sinr)
b) y = py − (fx(t) sinr + fy(t) cosr)
c) Incrementar en un voto la posicion E(x,y,r).
Una mejora obvia de este procedimiento consiste en tener en cuenta el gradiente del punto (px, py)
de manera que los valores de t que se necesitan muestrear se ven disminuidos en gran medida ya que
solo sera necesario usar aquellos puntos de la curva tales que tras la rotacion pudieran resultar con un
gradiente aproximado al del punto[Ballard 81].
El problema mas importante para la aplicacion de esta tecnica surge de su ineficiencia debida al
tamano del espacio de parametros por dos razones:
Espacio: El tamano de la matriz de votos crece exponencialmente con el numero de ejes, es decir,
con el numero de parametros necesarios para describir la forma.
Tiempo: El numero de posiciones que hay que recorrer por cada uno de los pıxeles frontera crece
de la misma forma.
A lo largo de la literatura han aparecido muchas variaciones del algoritmo que han derivado en mejoras
de tiempo y espacio. No es nuestra intencion presentar aquı las posibles variaciones (para ello, el lector
se puede remitir por ejemplo a [Davies 90], [Illingworth y Kittler 88] y [Kalvianen et al. 94], donde
aparece un rapido repaso de las diversas aportaciones). A pesar de ello, no se ha formulado el algoritmo
para manejar casos de formas como las estudiadas en este trabajo. Dado que la T.H. es una tecnica
muy potente para manejar condiciones de ruido, solapamiento e informacion parcial, a lo largo de este
capıtulo propondremos distintas aportaciones sobre el algoritmo general que nos permitiran reducir la
impracticabilidad de este. Para ello, antes formularemos el caso general.
6.1.3. Caso general.
En el caso general consideraremos ademas de las traslaciones y rotaciones, las deformaciones no
rıgidas que modelizaremos segun la ecuacion 5.1 y siguientes. Segun esta aproximacion nuestro contorno
sera manejado usando solo los puntos nodales mientras que las deformaciones en los demas puntos podran
ser obtenidas por interpolacion.
Si consideramos n vectores de deformacion no rıgida (φd1, · · · , φdn
), denotaremos
Cd(t) = (fdx (t), f
dy (t)) (6.5)
a la curva resultado de aplicar una deformacion d = (d1, · · · ,dn) a la curva original C(t) (d
perteneciente a un conjunto D de posibles deformaciones del contorno).
De esta manera, la localizacion de una curva viene determinada por una (3 + n)-tupla
(x,y,r,d1, · · · ,dn)
que consideraremos durante lo que resta de capıtulo, esta compuesta por
Deformaciones rıgidas: traslacion y rotacion.
Deformaciones no rıgidas: ordenadas desde las mas globales a las mas locales, es decir, desde las que
pueden provocar una mayor variacion en la forma hasta las que provocan pequenas perturbaciones.
de una forma similar al caso de la deformaciones rıgidas, construir la transformada de Hough de una
imagen I sobre una matriz de acumulacion E(x,y,r,d) consiste en:
Seccion 6.1
pag.84 Localizacion inicial de contornos deformables
1. Calcular el conjunto de aristas A de I.
2. Para toda tupla (px, py,r,d, t), tal que (px, py) ∈ A, r ∈ [0, 2π], d ∈ D, t ∈ [0, L], hacer
a) x = px − (fdx (t) cosr − fd
y (t) sinr)
b) y = py − (fdx (t) sinr + fd
y (t) cosr)
c) Incrementar en un voto la posicion (x,y,r,d1, · · · ,dn) del acumulador E.
6.2. Manejo de ruido y pequenas deformaciones.
La existencia de ruido en la imagen provoca un desplazamiento en las aristas que se obtienen desde el
detector de fronteras. Por otro lado, el uso de filtros paso-bajo (como es nuestro caso) aunque evita hasta
cierto nivel parte del ruido, provoca una desviacion en la localizacion exacta de la frontera ([Bergholm
87], [Lindeberg 92b]).
La transformada de Hough inicialmente se formulo para la localizacion de contornos de los que se
disponıa de una precisa descripcion. A lo largo de la literatura se ha mantenido en general esta formu-
lacion. Es interesante distinguir la transformada de Hough difusa (fuzzy Hough transform) que permite
la deteccion de contornos que no se conocen de forma exacta aunque se ha desarrollado unicamente como
una etapa de postprocesamiento (despues de la aplicacion de la transformada de Hough generalizada) en
la que solo se realiza una correccion del contorno localizado en funcion del gradiente del entorno(vease
[Sonka et al. 93], pag. 159).
Por consiguiente, es necesario describir un procedimiento mas estable para poder procesar informacion
de aristas que pueden haberse desplazado de su localizacion real. Para poder conseguirlo planteamos dos
contribuciones:
Si las aristas se encuentran desplazadas de su posicion real, la votacion de la T.H. tradicional se
realizara en posiciones incorrectas del acumulador. Esta situacion sugiere una adaptacion de la
forma de votacion al problema.
En imagenes con una cantidad de ruido muy alta, no solo nos encontramos con aristas desplazadas
sino que ademas existen muchas aristas que no corresponden a estructuras que nos interesen. Para
eliminar los efectos de estas ası como estabilizar la informacion de las aristas de nuestro contorno
podemos hacer que los datos de entrada a la transformada de Hough sean de mayor contenido
semantico.
6.2.1. Cambio en la votacion.
6.2.1.1. Zona de incertidumbre.
Si consideramos la formulacion de la transformada de Hough presentada en los apartados anteriores,
la votacion en el acumulador se realiza mediante el calculo del punto correspondiente al centro de la
curva3. Esta operacion no es mas que solucionar un sistema de ecuaciones, es decir, la votacion desde un
pıxel frontera corresponde a resolver el problema de encontrar todas las tuplas de deformacion tal que
un punto de la curva resulte en la posicion de la arista. Ası, para una determinada arista y un punto en
la curva, se calcula el desplazamiento sufrido por este punto a causa de todas las deformaciones excepto
las traslaciones calculandose el desplazamiento en funcion de la posicion de esta arista y la variacion de
este punto.
3Este punto central corresponde al punto situado en la posicion (0,0) del un objeto con desplazamiento y deformacion
cero. Obviamente, es un punto arbitrario que se escoge a priori y que en nuestro caso se hace coincidir con el punto central
calculado a partir del contorno segun se expuso en el capıtulo de contornos.
Capıtulo 6
Manejo de ruido y pequenas deformaciones. pag.85
Consideremos la figura 6.1(A). En ella podemos distinguir el punto C (centro de la curva) y el punto
p (un punto en la curva).
C
pp’
C’ C
p
x
y
(A) (B)
Figura 6.1: Zona de incertidumbre.
Si el punto p esta sujeto a desviaciones (por ejemplo, desde p a p′), un desplazamiento de este induce
un desplazamiento en el calculo del posible centro de la forma (desde C a C′). Si estudiamos los posibles
desplazamientos que puede sufrir un punto p, obtenemos como resultado una zona alrededor de este en
la que podra situarse; zona que inducira igualmente una zona de incertidumbre4 acerca de la posicion del
centro (vease figura 6.1(B)).
6.2.1.2. T. Hough modificada.
En la T.H. que se formulo anteriormente, para cada posible deformacion y punto en la curva se
calculaba un posible centro de esta. Si incluimos la variacion del punto, realmente calcularemos la posicion
de una zona de incertidumbre. La T.H. puede ser modificada para incluir esta posibilidad, es decir, en
lugar de realizar un incremento de un voto en el posible centro, incrementar en un voto todos los posibles
valores determinados por dicha zona.
Es conveniente destacar algunos aspectos de esta aproximacion:
Aunque la zona de incertidumbre de un punto sea desconocida, basta con considerar una zona que
la contenga. De esta manera garantizamos que el centro real es votado. Logicamente, es posible
construir algoritmos que aproximen (por exceso) dicha zona. Un ejemplo de estos podrıa ser el
calculo de la capsula convexa que contiene un conjunto de puntos de posibles centros obtenidos a
partir de una muestra.
Un aumento en el tamano de la zona de incertidumbre redunda en una disminucion de la precision.
Podrıa considerarse la posibilidad de realizar una votacion ponderada, es decir, votar en unas
posiciones con un valor de 1 voto mientras que en las menos probables anadir un valor menor a fin
de considerar las probabilidades de deformacion. Es este trabajo, se realizara una votacion uniforme
que como veremos es suficiente para localizar las formas de manera aproximada.
4En la literatura referente a la transformada de Hough se puede distinguir el concepto de PSF para indicar el conjunto
de puntos a votar a partir de la localizacion de una arista (vease por ejemplo [Davies 90], [Jeng y Tsai 91]).
Seccion 6.2
pag.86 Localizacion inicial de contornos deformables
La zona de incertidumbre puede variar dependiendo del punto del contorno que se intenta localizar.
Por ejemplo, en un determinado objeto, es posible que unas zonas puedan varias mas que otras, ya
sea por problemas de captacion o por la propia naturaleza del objeto a detectar. Se puede definir
una zona de incertidumbre para cada punto o para cada zona del objeto de manera que se obtenga
una informacion mas estable.
6.2.2. Uso de otro tipo de informacion desde el template.
6.2.2.1. Niveles de informacion.
Como se ha visto anteriormente, podemos distinguir distintos niveles informacionales en las aristas
de una imagen (vease pag. 8). De la misma forma podemos clasificar los distintos tipos de informacion
que definen un contorno. Una posible division de estos se presenta en la figura 6.2
Objeto Mayor contenido semántico
Relación 1 a muchos
Relación 1 a muchos
Relación 1 a muchos
Píxel Menor contenido semántico
Tendencia (Freeman)
Racha
Relación 1 a muchos
Relación 1 a muchos
Estructura
Punto dominante Incremento del nivelinformacional
Figura 6.2: Niveles informacionales de un contorno.
En dicha figura podemos distinguir los niveles:
1. Pıxel: Es el nivel inferior y constituye la unidad basica informacional sobre la que se construye
cualquier contorno.
2. Tendencia (Freeman): Constituye el nivel generado por la tendencia o codigo Freeman desde 2
pıxeles adyacentes. Es de mayor nivel informacional que el pıxel5.
3. Racha: Corresponde a la generalizacion del punto anterior. Definiremos una racha como un segmento
de curva que cumple condiciones de linealidad dentro de un rango de posible variacion.
5Por ejemplo, en condiciones de ausencia de ruido, determina una aproximacion a la perpendicular del gradiente.
Capıtulo 6
Manejo de ruido y pequenas deformaciones. pag.87
4. Punto Dominante: La union de dos rachas determina un punto de alta variacion que podemos hacer
corresponder a los puntos de maxima curvatura muy usados a lo largo de la literatura (vease el
capıtulo dedicado a los contornos).
5. Estructura: Esta compuesta por la yuxtaposicion de varias rachas en una misma curva. La deteccion
de estructuras en una imagen puede resultar un metodo de localizacion importante especialmente
en casos en que la curva a localizar posea alguna estructura significativa que la distinga.
6. Objeto: Descrito por la curva cerrada. Su localizacion es, obviamente, nuestro objetivo.
Logicamente, aunque no entra dentro de nuestros objetivos el desarrollarlas, las distintas caracteri-
zaciones y representaciones de las formas que se han desarrollado hasta el momento abren un conjunto
mucho mas amplio de posibilidades. En este trabajo, destacamos las mas relevantes con respecto a la
representacion e informacion que estamos usando.
6.2.2.2. Construccion de informacion de nivel superior.
Si pretendemos usar informacion mas estable en nuestros algoritmos, el problema mas complejo e
inmediato surge de la necesidad de definir un metodo para construirla.
Considerando los niveles anteriormente expuestos, los tipos de informacion que pueden ser usados
son: Tendencias(Freeman), Rachas, Puntos dominantes y Estructuras. Es interesante destacar algunas
soluciones:
Racha.
Podemos usar un amplio numero de algoritmos que a lo largo de la literatura se han propuesto
para la aproximacion de una curva por una polilınea. Ası podrıamos usar un detector de fronteras para
localizar las curvas de nuestra imagen y procesar estas para obtener la localizacion de estas tendencias
generalizadas.
Es interesante destacar la solucion presentada en [Garrido et al. 95] donde se usa la informacion de
los codigos Freeman que componen la cadena para determinar una racha de entre un conjunto discreto
de posibilidades.
Puntos dominantes.
En los trabajos que se han realizado en referencia a este tipo de informacion, los esfuerzos se han
centrado en el problema de la obtencion de los puntos de una curva determinada, es decir, segmentada.
Una forma de obtenerla por consiguiente es con el estudio de las cadenas de aristas en la imagen (vease
el capıtulo de contornos).
Otra forma con la que podemos localizar en la imagen posibles candidatos es mediante el estudio de
los puntos de union correspondientes a maximos en la curvatura de curvas de nivel. Usando el espacio
de escalas introducido en los capıtulos anteriores, la curvatura de curvas de nivel puede ser obtenida
mediante la expresion([Koenderink 84], [Florack et al. 92])
κ =E2
yExx − 2ExEyExy + E2xEyy
(E2x + E2
y)32
(6.6)
donde denotamos
Ex =∂E
∂xEy =
∂E
∂yExx =
∂2E
∂x2Eyy =
∂2E
∂y2(6.7)
Obviamente, es posible que puntos de bajo gradiente y que por tanto no corresponden a contornos
de los objetos obtengan un nivel de curvatura muy destacado. Para poder seleccionar los puntos que
Seccion 6.2
pag.88 Localizacion inicial de contornos deformables
nos interesan, una tecnica usual es multiplicar por la magnitud del gradiente elevada a alguna poten-
cia([Lindeberg 93a]). Si la potencia es 3 resulta
κ = E2yExx − 2ExEyExy + E2
xEyy (6.8)
Por otro lado, es de destacar la deteccion de este tipo de puntos en base a la transformada de Hough
(vease [Davies 90], pag. 323).
Estructura.
Si usamos informacion de un detector de aristas, la forma mas natural es aplicar un metodo de
matching de las cadenas de puntos con zonas de nuestro contorno. Para hacerlo:
Podemos usar informacion de menor nivel tal como puntos dominantes o rachas y determinar alguna
tecnica para combinarla formando estructuras.
Aplicar un metodo directo. Por ej. Podemos usar la funcion de la curva de curvaturas de la cadena
detectada a fin de realizar una correspondencia con alguna zona de la funcion de curvaturas de
nuestra curva o caracterizar las curvas que describen los objetos en base a un conjunto de primitivas
(arcos, zonas de concavidad y convexidad, etc.).
6.2.3. Reformulacion de la Transformada de Hough.
Una vez que disponemos de una forma de manejar las deformaciones y de informacion estable podemos
reformular el algoritmo para la deteccion de posibles localizaciones. Aunque para nuestras imagenes
bastara con una version mas simple basada unicamente en la deteccion de rachas, aquı formularemos el
algoritmo en su forma mas general.
Característica 1.1 Característica 1.m
Característica 1 Característica 2
Objeto
Característica n
Figura 6.3: Descripcion de un objeto.
Supongamos un objeto a detectar descrito segun se observa en la figura 6.3. En esta figura, el objeto se
describe por medio de una jerarquıa determinada por los distintos niveles informacionales que se observan
para las distintas caracterısticas desde las de mas alto nivel hasta las de mas bajo nivel. Ası por ejemplo,
la primera caracterıstica puede hacer referencia a informacion de contornos, la segunda de texturas, la
Capıtulo 6
Manejo de ruido y pequenas deformaciones. pag.89
tercera de color, etc. Obviamente dentro de cada una de estas se podran distinguir otras de manera
recurrente6.
Como se ha comentado anteriormente, todas las posibles localizaciones de nuestra forma vienen de-
scritas por una (3 + n) − tupla. Para poder evaluar la posicion donde se encuentra el objeto, podemos
construir un acumulador de evidencias E de dimension 3 + n abarcando todas las posibles localizaciones
y que es evaluado una forma similar a la transformada de Hough, teniendo en cuenta que:
Cada posicion en el acumulador no corresponde al numero de evidencias detectadas en la imagen.
Debera construirse un metodo que acumule las evidencias y sea capaz de comparar dos valores
acumulados para determinar el que indica de forma mas probable la existencia del objeto contemp-
lando si es necesario la mezcla de evidencias de distinto tipo (ej. colores con fronteras). El metodo
de acumulacion permite tener en cuenta aspectos como:
• Ponderar unas evidencias frente a otras. Por ej. unas evidencias pueden ser mas significativas
que otras.
• Tener en cuenta el grado de fiabilidad en la deteccion de la evidencia. Por ej. podemos encontrar
en una zona de la imagen la existencia de una evidencia con una baja probabilidad.
• etc.
Habra de determinarse para cada caracterıstica en el objeto la zona de incertidumbre producida por
las posibles desviaciones que a causa del ruido y deformaciones puedan producirse de manera que
el acumulador sera modificado en todas las posiciones de esta zona para cada evidencia detectada
en la imagen.
6.2.3.1. Un ejemplo ilustrativo.
Consideremos la localizacion de contornos celulares en una imagen de citologıas. El contorno a localizar
puede ser modelizado como una circunferencia que puede sufrir de deformaciones.
(B)
Racha 2
detectada
r
R
(A)
l 6
5 3
2
10
7
R
4
Figura 6.4: Rachas de una circunferencia.
6Tengase en cuenta que no es un objetivo en este trabajo el determinar una estructura de representacion de un objeto.
Son muchos los trabajos que se pueden encontrar acerca de esta. El objetivo de esta representacion no es mas que destacar
la importancia de dos cosas: existen distintas informaciones para poder determinar la localizacion de un objeto y estas se
presentan ordenadas segun su contenido semantico
Seccion 6.2
pag.90 Localizacion inicial de contornos deformables
En la figura 6.4 se puede observar:
(A) La circunferencia puede ser modelizada mediante 8 rachas consecutivas que corresponden a los lados
de un octogono. Supongamos que R determina el radio del contorno celular y l la longitud de la
racha.
(B) Detectar una racha en la imagen implica determinar una posible localizacion del centro. En esta
localizacion podemos aplicar una zona de incertidumbre que asumiremos de forma circular con radio
r.
Ahora bien, ¿Como podemos definir el acumulador de evidencias?. Supongamos una forma con n
rachas ri de longitudes li (1 ≤ i ≤ n). Supongamos ademas que se han detectado en la imagen mi rachas
de longitudes Lij (1 ≤ j ≤ mi) evidenciando la existencia de la racha ri para una determinada posicion
p del acumulador. El valor para esta posicion puede ser calculado de una forma natural como:
E(p) =n∑
i=1
ai max1≤j≤mi
mınLij , li
li
(6.9)
donde
n∑
i=1
ai = 1 (6.10)
de forma que ai pondera cada una de las rachas considerando por tanto la importancia de detectar
una zona u otra del contorno. El resultado de la evaluacion es un valor en el intervalo [0, 1] que representa
la fraccion de curva localizada.
En el ejemplo que nos ocupa, realizaremos la ponderacion obvia
ai =1
n∀i (6.11)
para evaluar un acumulador definido sobre 2 dimensiones correspondientes a las traslaciones. Una
vez calculado, habra de escogerse el conjunto de puntos con valores superiores correspondientes a las
posiciones de mayor probabilidad y por tanto a las posiciones de los objetos a localizar. Como es de
esperar, la zona de incertidumbre provoca que estos maximos no se encuentren aislados sino que pueden
situarse en mesetas. La forma de escoger una aproximacion a la localizacion sera:
1. Seleccionar el punto central de la meseta. Es una operacion sencilla que se puede realizar mediante
una media de los puntos que pertenecen a esta.
2. Eliminar todos los puntos que se situen dentro del objeto detectado como puntos candidatos a
una nueva localizacion. Es una operacion necesaria pues el ruido, las deformaciones, y la forma de
votacion provocan una dispersion de votos a lo largo de las posiciones cercanas a las localizaciones
de los objetos.
Para ilustrar el proceso, consideremos los resultados ofrecidos en la figura 6.5. Cada una de las imagenes
consiste en:
(a) Imagen original.
(b) Imagen de aristas obtenida desde la imagen original a traves del filtro de Canny7 con σ = 1,0 y
valores de histeresis 0,5 y 0,9.
7Las aristas no se han obtenido con ningun enfoque multiescala. En este resultado solo se usa la informacion procedente
de una escala aunque como veremos mas adelante los resultados pueden ser mejorados.
Capıtulo 6
Disminucion del tamano del acumulador. pag.91
a c
d
b
e f
Figura 6.5: Resultados de la localizacion de celulas.
(c) Espacio de parametros. Resultado del calculo de E(p) superpuesto al conjunto de aristas. Como
se puede observar, los valores mas altos corresponden a situaciones cercanas a los centros de las
celulas.
(d) Umbralizacion del espacio de parametros. El valor umbral usado corresponde al 50% del valor
maximo (0,5 en el rango de posibles valores [0, 1]). Para este valor, todos los puntos obtenidos
corresponden a celulas en la imagen.
(e) Localizaciones. Posiciones de las celulas obtenidas en la imagen.
(f) Localizaciones sobre original. El lector puede observar como existen celulas que no han sido obtenidas
a causa de la falta de informacion desde la imagen de aristas. Como veremos posteriormente, us-
ar varias escalas permitira un manejo de mayor informacion que repercute en una mejora de los
resultados.
6.3. Disminucion del tamano del acumulador.
El problema mas importante en la solucion que se presenta procede del tamano tan grande que puede
llegar a tener el acumulador en caso de que el objeto a localizar pueda presentar grandes y variadas
deformaciones. Por ejemplo, considerese el caso de que en las imagenes de citologıas presentadas hasta
ahora pudieran encontrarse celulas muy achatadas, es decir, facilmente modelizables con una elipse pero
muy difıciles de representar con un contorno circular. En estos casos sera necesario contemplar estas
deformaciones pero para ello, deberemos aumentar la dimensionalidad del espacio de parametros (En el
Seccion 6.3
pag.92 Localizacion inicial de contornos deformables
caso de contornos celulares la nueva dimension del espacio es 5). Ahora bien, ¿Como podrıamos eliminar
este problema?. Podemos plantear dos soluciones8:
1. Eliminar los modos de deformacion local.
2. Muestrear el espacio de parametros de forma mas gruesa.
Como puede intuir el lector, el primer punto hace referencia a eliminar los modos de deformacion
menos importantes, es decir, aquellos que provocan una variacion menor en la localizacion del contorno
y que por tanto pueden ser asimilados por la zona de incertidumbre. En gran medida, esta solucion se
ha presentado en los resultados hasta ahora expuestos. Tengase en cuenta por ejemplo que las celulas
de la figura 6.5 pueden presentar cierto nivel de deformacion sin que los resultados se vean afectados.
Es claro, que esta solucion es solo parcial puesto que cuanto mayor sea esta zona, mayor ambiguedad se
presenta en la solucion y mayor sensibilidad al ruido (estructuras ruidosas en la imagen pueden localizarse
como contornos detectados). Por consiguiente, habra siempre un conjunto de modos de deformacion
que no podran ser eliminados puesto que provoca la creacion de una zona de incertidumbre de tamano
inaceptable. A pesar de ello, estos ejes de deformacion podran ser muestreados para obtener la disminucion
deseada.
6.3.1. Muestreo del espacio de parametros.
Para ilustrar el funcionamiento del metodo propuesto, consideraremos un contorno de mayor dificultad
que las formas elıpticas: El contorno de un nematodo. Determinaremos 14 nodos para la modelizacion de
deformaciones que induciran 28 ejes de deformacion (en la pagina 147 y siguientes se muestran los modos
de vibracion naturales) calculados segun se presento en el capıtulo anterior.
ba
Figura 6.6: Nematodos.
Para ilustrar la robustez del metodo a problemas tales como solapamientos, ruidos no aleatorios, etc.,
se detectaran dichas formas en imagenes construidas a tal efecto (vease figura 6.6)
Para conseguir un numero de posibles deformaciones manejable, consideraremos que disponemos de
una clasificacion de estas desde las mas globales a las mas locales denotadas segun la ecuacion 6.3. La
reduccion en el espacio de los parametros viene determinada por:
8Por supuesto, aplicar ambas soluciones permite el grado maximo de simplificacion del espacio de parametros.
Capıtulo 6
Disminucion del tamano del acumulador. pag.93
Eliminacion de los n−m ejes de deformacion menor.
Muestreo de los 3 +m ejes restantes.
En funcion del tamano de la zona de incertidumbre deseada. Podrıamos seleccionar muchas formas
de realizar este muestreo. Por ejemplo, un metodo muy simple de realizar este muestreo a partir de un
conjunto de muestras del objeto a localizar consiste en:
Determinar un tamano maximo de la zona de incertidumbre.
Eliminar ejes de deformacion comenzando desde el menos relevante hasta el mas importante mien-
tras la variacion de las muestras reconstruidas sin estos ejes sea menor que dicho valor maximo.
Muestrear los ejes restantes.
Bajar el nivel de muestreo de los ejes seleccionados mientras la variacion en las nuevas muestras
reconstruidas se encuentre dentro del rango permitido.
El resultado de esta operacion es un diccionario de posibles deformaciones base que pueden sufrir de
traslaciones y rotaciones. En el problema que nos ilustra el funcionamiento se ha llegado a determinar 7
ejes de deformacion:
Las 3 primeras correspondientes a las deformaciones rıgidas, es decir, a traslaciones y rotaciones.
Las 4 restantes a deformaciones no rıgidas. El muestreo realizado para conseguir un buen diccionario
de deformaciones base ha sido de (7, 3, 3, 3) respectivamente, es decir, desde el eje principal se han
obtenido 7 muestras equidistantes en el rango de posibles valores, del segundo eje, 3 muestras, etc.
Es conveniente resaltar la manejabilidad de este diccionario. Efectivamente, es sencillo una vez con-
struido realizar modificaciones tales como eliminacion o inclusion de nuevas posibilidades.
Los resultados obtenidos para las imagenes presentadas en la figura 6.6 se pueden ver en la figura 6.7.
En esta podemos distinguir:
Primera columna: Las imagenes de aristas. Para ilustrar el funcionamiento de estos algoritmos se
usara unicamente una escala. En esta columna se presenta el resultado del algoritmo de Canny
sobre una escala σ = 1,0 y umbrales de histeresis 0,5 y 0,9. Como puede verse, el resultado es un
conjunto de cadenas con una cantidad de ruido muy alta a partir de las cuales es muy difıcil obtener
buenos resultados si usamos algun algoritmo tradicional.
Segunda columna: Es difıcil si no imposible mostrar todo el espacio de parametros. Es necesario co-
mentar que, debido a la dimensionalidad, las imagenes correspondientes al espacio de los parametros
han sido construidas asignando a cada punto un nivel de gris g(x, y) proporcional al valor maximo
a lo largo de los ejes de rotacion y deformacion no rıgida, es decir,
g(x, y) ∝ maxr,d1,···,dn
E(x, y,r,d1, · · · ,dn) (6.12)
Tercera columna: Se representan los contornos solucion (maximos del espacio de parametros) sobre
la imagen original. Es de destacar como en la primera imagen (c), se ha detectado el contorno a
pesar de que el tamano de este no es correcto.
Es interesante observar, que al igual que se puede definir una zona de incertidumbre para cada pun-
to o zona del contorno, en general es posible definirla para cada deformacion base. Ademas, una vez
seleccionada la localizacion, es posible recuperar las cadenas que han votado en favor de esta.
Seccion 6.4
pag.94 Localizacion inicial de contornos deformables
a c
d
b
e f
Figura 6.7: Localizacion de nematodos.
6.4. Integracion de informacion multicanal.
En primer lugar, la forma de comunicacion entre canales mas inmediata ya ha sido comentada anterior-
mente: usar un espacio de escalas para la deteccion de aristas. Efectivamente, solo con los resultados de la
multihisteresis obtenemos mejores localizaciones (figura 6.8) que estudiando una unica escala (figura 6.5).
Es de destacar en los resultados que se presentan sobre la multihisteresis que:
1. Se han usado exactamente los mismos parametros. El incremento de las aristas de la imagen no es
debido a un cambio en los parametros(por ejemplo, los umbrales) sino a una mejora del metodo
de obtencion de aristas y por tanto garantiza mayor informacion sin tener que incluir una gran
cantidad de ruido.
2. Como se puede observar en los resultados, se han obtenido mejoras en:
a) Se han detectado dos nuevas celulas.
b) La informacion del espacio de los parametros es mas estable. Como podemos ver en la imagen
umbralizada (tambien al 50% al igual que en la figura 6.5) los puntos obtenidos localizan mejor
los centros de las celulas.
3. No se han detectado todas las celulas. Efectivamente, una de ellas no se ha localizado a pesar de
que parece ser muy clara. Si el lector comprueba las aristas que se han obtenido, se puede observar
que no son en absoluto suficientes aunque en estos ultimos resultados se posee mayor informacion.
Ademas una de las nuevas celulas se ha localizado con informacion bastante inestable (compruebese
que solo uno o dos pıxeles se han obtenido en la umbralizacion). Estas limitaciones se deben a:
Capıtulo 6
Integracion de informacion multicanal. pag.95
ed
cba
f
Figura 6.8: Resultados multi-histeresis de la localizacion de celulas.
a) La informacion no es suficiente. Sera conveniente estudiar la forma en que podemos manejar
un nivel superior de esta sin introducir una cantidad excesiva de ruido.
b) El contorno del objeto a localizar esta excesivamente deformado. Es posible que la zona de
incertidumbre sea demasiado pequena o sea necesario contemplar algun eje mas de deformacion.
Logicamente, una forma de mejorar la informacion que se posee consiste en usar varios canales si-
multaneamente para lo que debemos de plantear alguna solucion al problema de la integracion de infor-
macion.
6.4.1. Una solucion directa.
Una vez obtenidos los resultados del detector de aristas la forma mas simple de obtener las localiza-
ciones deseadas es aplicar los algoritmos anteriores a cada una de las escalas. El resultado por tanto es
un conjunto de posibles localizaciones para cada escala cada una de ellas provocada por un determinado
conjunto de aristas de la imagen.
Ahora bien, ¿Como podemos integrar la informacion del conjunto de canales?. Una forma inmediata
consiste en los siguiente pasos:
Particion del conjunto total de contornos localizados. Consiste en clasificar los subconjuntos de
contornos que se refieren a un mismo objeto a partir del conjunto total de contornos localizados en
todos los canales. Este paso no es de gran dificultad y para resolverlo existen diversos metodos que
funcionaran sin problema dado que la distancia entre los contornos que delimitan un mismo objeto
es pequena en relacion con la distancia de contornos que delimitan distintos objetos.
Seccion 6.4
pag.96 Localizacion inicial de contornos deformables
Para cada subconjunto de contornos que delimitan un mismo objeto hay que calcular una unica
curva que integre dicha informacion. Como el lector puede intuir, la forma mas obvia para obtener
esta es a traves de una media de los contornos. Para ello podemos realizar un alineamiento punto
a punto de los objetos y calcular la media o podemos establecer una correspondencia de los puntos
dominantes, realizar la media de estos e interpolar el conjunto resultante.
Aunque este solucion es simple y eficiente tiene la desventaja de que no es mas que obtener una
aproximacion que resume las distintas soluciones obtenidas a lo largo de las escalas. Es conveniente que
la informacion desde distintas fuentes coopere para obtener un resultado mejor.
6.4.2. Integracion por medio de la transformada de Hough modificada.
En el apartado anterior hemos visto una solucion simple al problema de combinar informacion desde
distintos canales. Ahora bien, la integracion de informacion se ha realizado con posterioridad a la deteccion
de los contornos. Esta forma de actuacion provoca que si en un determinado canal no se consigue detectar
cierto objeto, aunque se posea informacion parcial de dicha localizacion, esta informacion se perdera con
la posibilidad incluso de no localizar la curva.
Escala 2 Escala 3Escala 1
Localización de la formaUnión de información
Figura 6.9: Cooperacion entre escalas en la deteccion.
Efectivamente, considerese la situacion de la figura 6.9.En esta se muestra un caso ilustrativo de las
limitaciones de la metodologıa anterior. Como se observa, el intento de localizacion de la elipse en cada
uno de los 3 canales fallarıa debido a la falta de informacion. En cambio, como vemos en la union de los
tres canales, hay suficientes cadenas si se realiza un estudio de las 3 escalas simultaneamente localizando
la elipse como se muestra en la figura.
El algoritmo que proponemos en este trabajo usa los distintos canales a la vez resolviendo la co-
operacion entre escalas. El metodo consiste en tratarlas conjuntamente, es decir, en lugar de considerar
Capıtulo 6
Integracion de informacion multicanal. pag.97
todas las cadenas de una escala para la votacion en un determinado espacio de parametros, consideraremos
todas las cadenas de todas las escalas para esta votacion.
ed
cba
f
Figura 6.10: Integracion de informacion multicanal.
El resultado obtenido con este metodo se puede observar en la figura 6.10. En ella podemos distinguir
las siguientes imagenes:
(a) Imagen original sobre la que aplicar el metodo.
(b) Resultado de la union a traves de la proyeccion en una imagen de maxima precision de las distintas
imagenes de aristas de cada uno de los canales(vease capıtulo de obtencion de fronteras). Como
podemos ver, se posee informacion de todas las celulas completas que aparecen en la imagen.
(c) Union de las imagenes de aristas con el espacio de parametros. Efectivamente, tal como se observa
en la imagen, la mayor acumulacion de votos se localiza aproximadamente en los centros de las
celulas.
(d) Espacio de parametros sobre el que se realiza la busqueda de las localizaciones de las celulas.
(e) Resultado de la umbralizacion de la imagen (d) al valor correspondiente al 75% (0,75 en el rango
[0, 1] de posibles valores). Como el lector puede observar, directamente con este umbral bastante
alto obtenemos donde se encuentran las celulas menos deformadas (mas circulares) y con mayor
informacion (cadenas mas completas).
(f) Resultado de la umbralizacion de la imagen (d) al valor correspondiente al 50%(0,5 en el rango [0, 1]
de posibles valores). En este umbral se localizan todas las celulas de las que se posee informacion
suficiente como para delimitar su posicion y deformacion.
Seccion 6.4
pag.98 Localizacion inicial de contornos deformables
Por ultimo, es necesario destacar que aunque en este trabajo se ha realizado una integracion de infor-
macion a partir de las distintas imagenes gradiente obtenidas en cada escala considerada, los algoritmos
desarrollados pueden ser perfectamente aplicables a casos en que la informacion proceda de otras fuentes
(nivel de gris, texturas, color, etc.).
6.5. Resultados.
A continuacion se presentan los resultados obtenidos en la inicializacion de distintos contornos. Las
distintas imagenes que se presentan son:
Tipo I. Ejemplos sobre citologıas.
Ej.1.- Presenta un caso de multiples objetos donde su cercanıa puede ocasionar confusion en
el espacio de parametros.
En la primera figura (6.11) se observa la imagen original junto con el espacio de paramet-
ros que se obtiene desde la aproximacion octogonal del contorno elıptico. En el espacio
de parametros podemos observar como se han podido segmentar las multiples celulas
sin ningun tipo de ambiguedad.
En la siguiente figura (6.12) se presentan en primer lugar (imagen a) el resultado de
operar el espacio de parametros normalizado al rango [0−255] con la imagen original por
medio de la operacion maximo confirmando ası la correcta localizacion de los maximos
detectados, y en segundo lugar las celulas localizadas a partir de los maximos que se
extraen considerando una umbralizacion en 0,5 (de un rango posible [0, 1]).
Por ultimo, en las figuras 6.13 y 6.14 podemos ver la correspondencia entre la localizacion
de cada celula y las zonas de maximo ası como la situacion sobre la imagen original de
los contornos detectados (desde los 10 primeros maximos correspondientes a las celulas
mas seguras, hasta las 30 celulas que se obtienen con la umbralizacion de 0,5).
Ej.2.- Corresponde a una imagen con varias celulas, aunque en este caso de una variabilidad
mayor. Podemos observar como aunque el contorno a localizar es de un tamano fijo, la
localizacion de las celulas se determina correctamente a pesar de que alguna de ellas
corresponde a un tamano considerablemente distinto. Es interesante destacar (vease
el espacio de parametros, figura 6.15.a) que hemos tenido que incrementar el radio de
la zona de incertidumbre para contemplar una mayor variabilidad del contorno que,
como podemos ver en la figura 6.16, ahora corresponde a un polıgono de ocho lados con
algunas deformaciones (se ha incorporado un eje de deformacion no rıgida).
Tipo II. Ejemplos sobre nematodos. En esta forma es necesario contemplar varios ejes de deformacion
no rıgida9. Las imagenes que se muestran han sido construidas a partir de dos imagenes: una
de celulas para introducir ruido y la imagen del nematodo a detectar10.
Ej.1.- En este ejemplo se segmenta un nematodo que a pesar de que se encuentra parcialmente
oculto, se obtiene si ningun tipo de ambiguedad como se puede observar en el espacio
de parametros umbralizado (figura 6.18.a) con un valor de 0.75.
Ej.2.- En este caso, mostramos un ejemplo interesante en el que el contorno a detectar tiene un
grado de correspondencia muy alto a pesar de que pueda estar desviado de su localizacion
real mediante una rotacion de 180 grados. Si se observa en la figura 6.20, en la imagen
9Se han considerado 4 ejes de deformacion no rıgida con un muestreo de 7,3,3,3 respectivamente10El procedimiento ha consistido en primero dibujar el nematodo sobre la imagen de celulas y segundo dibujar de nuevo
los puntos por debajo de un umbral de la imagen de celulas sobre ese resultado.
Capıtulo 6
Resultados. pag.99
(a) podemos ver el resultado de umbralizar al valor de 0.75 el espacio de parametros;
se obtienen 2 localizaciones que corresponden a la real (parte inferior) y a otra desde
un contorno similar rotado. Obviamente, la de mayor valor establece la segmentacion
correcta como se puede ver en la ultima imagen.
Tipo III. Ejemplos sobre manos.
Ej.1.- En este ejemplo (y siguientes) se muestra como el metodo consigue realizar una primera
aproximacion a la solucion a pesar de que se dispone unicamente de informacion parcial.
Como veremos mas adelante en la parte de optimizacion, en esta imagen se dispone
realmente de muy poca informacion para localizar los dos dedos que se encuentran casi
ocultos. Es interesante observar que la mano en el primer plano se ha aproximado en
gran medida y que la segunda, aunque no tan perfectamente, posee una localizacion
bastante cercana a la deseada.
Ej.2.- Este caso es similar al anterior aunque con un solapamiento en una direccion distinta.
Ahora, en la mano posterior, la informacion en uno de los dedos es nula, y las dos manos
se situan paralelamente de forma que pueden provocarse confusiones. A pesar de ello,
el metodo consigue una buena aproximacion para ambas manos.
Ej.3.- Un ultimo ejemplo de este tipo de problematica refleja un comportamiento similar a
los dos anteriores. La localizacion aproximada es buena aunque necesitara de una opti-
mizacion final para localizar definitivamente la forma.
Ej.4.- En este ejemplo se han cambiado las condiciones de la imagen. Ahora contemplamos
no solo problemas de solapamiento sino que anadimos una fuerte componente ruidosa.
La imagen ha sido generada mediante la adicion de ruido de sal y pimienta de forma
aleatoria en un 50% de los puntos de la imagen produciendo una relacion senal-ruido
R =S
S +N= 0,4996 ≈ 0,5 (6.13)
Como podemos ver en la figura 6.27 (imagen b), el mapa de aristas se ve fuertemente
degradado de forma que pocas aristas quedan estables lo que obviamente afecta al espa-
cio de parametros que refleja una situacion de mayor ruido que en los casos anteriores.
Sin embargo, la inicializacion que refleja la figura 6.28 (imagen b) es bastante buena.
Ej.5.- De nuevo ilustramos una situacion ruidosa en las mismas condiciones que el ejemplo
anterior para concluir que efectivamente, el metodo obtiene unos resultados igualmente
bastante buenos a pesar de que la imagen se vea afectada por un nivel de ruido bastante
alto (relacion senal-ruido R = 0,5024 ≈ 0,5).
Ej.6.- Por ultimo se muestra un ejemplo mas complejo en lo que a solapamiento y falta de
informacion se refiere, considerando una imagen que contiene 3 manos.
Seccion 6.5
pag.100 Localizacion inicial de contornos deformables
6.5.1. Ejemplos sobre citologıas.
Ejemplo 1
(b)(a)
Figura 6.11: (a) Original. (b) Espacio de parametros.
(b)(a)
Figura 6.12: (a) Situacion de los maximos. (b) Celulas detectadas.
Capıtulo 6
Resultados. pag.101
Ejemplo 1 (continuacion)
(b)(a)
Figura 6.13: (a) Celulas detectadas. (b) Las 10 primeras celulas.
(b)(a)
Figura 6.14: (a) Las 20 primeras celulas. (b) Celulas detectadas.
Seccion 6.5
pag.102 Localizacion inicial de contornos deformables
Ejemplo 2
(b)(a)
Figura 6.15: (a) Original. (b) Espacio de parametros.
(b)(a)
Figura 6.16: (a) Celulas detectadas. (b) Celulas detectadas sobre la imagen original.
Capıtulo 6
Resultados. pag.103
6.5.2. Ejemplos sobre nematodos.
Ejemplo 1
(b)(a)
Figura 6.17: (a) Original. (b) Espacio de parametros.
(b)(a)
Figura 6.18: (a) Esp. de parametros umbralizado a 0.75. (b) Resultado.
Seccion 6.5
pag.104 Localizacion inicial de contornos deformables
Ejemplo 2
(b)(a)
Figura 6.19: (a) Original. (b) Espacio de parametros.
(b)(a)
Figura 6.20: (a) Espacio de parametros umbralizado a 0.75. (b) Resultado.
Capıtulo 6
Resultados. pag.105
6.5.3. Ejemplos sobre manos.
Ejemplo 1
(b)(a)
Figura 6.21: (a) Original. (b) Fronteras.
(b)(a)
Figura 6.22: (a) Espacio de parametros. (b) Resultado sobre la imagen original.
Seccion 6.5
pag.106 Localizacion inicial de contornos deformables
Ejemplo 2
(b)(a)
Figura 6.23: (a) Original. (b) Fronteras.
(b)(a)
Figura 6.24: (a) Espacio de parametros. (b) Resultado sobre la imagen original.
Capıtulo 6
Resultados. pag.107
Ejemplo 3
(b)(a)
Figura 6.25: (a) Original. (b) Fronteras.
(b)(a)
Figura 6.26: (a) Espacio de parametros. (b) Resultado sobre la imagen original.
Seccion 6.5
pag.108 Localizacion inicial de contornos deformables
Ejemplo 4
(b)(a)
Figura 6.27: (a) Original. (b) Fronteras.
(b)(a)
Figura 6.28: (a) Espacio de parametros. (b) Resultado sobre la imagen original.
Capıtulo 6
Resultados. pag.109
Ejemplo 5
(b)(a)
Figura 6.29: (a) Original. (b) Fronteras.
(b)(a)
Figura 6.30: (a) Espacio de parametros. (b) Resultado sobre la imagen original.
Seccion 6.5
pag.110 Localizacion inicial de contornos deformables
Ejemplo 6
(b)(a)
Figura 6.31: (a) Original. (b) Fronteras.
(b)(a)
Figura 6.32: (a) Espacio de parametros. (b) Resultado sobre la imagen original.
Capıtulo 6
Capıtulo 7
Optimizacion de la localizacion
PARA obtener la localizacion exacta de un objeto en la imagen necesitamos un metodo adicional que
ajuste las aproximaciones obtenidas segun los algoritmos propuestos en el tema anterior sobre los
maximos de la imagen gradiente, es decir, en la posicion de las aristas de la imagen.
Este problema se traduce en la determinacion de un metodo de optimizacion de las aproximaciones.
Existen multitud de tecnicas en la literatura que tratan este problema considerando tanto informacion del
modelo (vease pag. 5) como restricciones acerca de la forma del contorno; ası como distintos algoritmos
de optimizacion: ascension de colinas, algoritmos geneticos, simulate annealing, modelizaciones fısicas,
etc. Logicamente, en estos trabajos ha sido necesario definir algun tipo de funcion de energıa o funcion de
potencial sobre las distintas realizaciones del contorno buscado que junto con un posible modelo a priori
nos determine la superficie de optimizacion.
En este capıtulo vamos a tratar de resolver el problema de optimizar la solucion inicial obtenida
planteando distintas posibilidades sobre alguna funcion de energıa que se adapte al tipo de informacion
que nos proporciona una imagen de aristas, sin descartar (como mas adelante veremos) que sea enriquecida
con informacion adicional desde un planteamiento basado en regiones. Ademas se propondra una algoritmo
de optimizacion que generaliza el metodo de deteccion expuesto en el tema anterior a fin de obtener una
localizacion mucho mas exacta y cercana a la solucion que se desea encontrar.
7.1. Mejora de la localizacion inicial.
Uno de los mayores problemas del uso de modelos deformables para la deteccion de objetos en una
imagen es realizar una inicializacion incorrecta. Efectivamente, la funciones de potencial que son usadas
en estos algoritmos no son convexas y el exito en la deteccion de optimos depende de forma directa
del punto inicial usado en el algoritmo de optimizacion. Debido a su gran importancia, es necesario
replantearse si la localizacion inicial de la forma puede ser mejorada de manera que se pueda garantizar
un resultado correcto en la optimizacion sin necesidad de recurrir a algoritmos de un coste computacional
excesivamente alto, y en el caso de que esto sea necesario, partir de una localizacion suficientemente
buena como para que estos algoritmos requieran pocos pasos.
7.1.1. Incremento de la precision.
La solucion mas inmediata y mas exigente con las condiciones del problema a resolver consiste en
contemplar una mayor precision en el algoritmo de inicializacion por medio de un incremento en el
numero de ejes de deformacion y/o muestreo de estos.
Como hemos visto anteriormente, la gran dimensionalidad del espacio de parametros ası como una
111
pag.112 Optimizacion de la localizacion
amplitud grande en el rango de posibles valores en cada una de estas dimensiones nos obligaba ha
realizar una simplificacion en el dominio de la solucion que se traducıa en una mayor eficiencia hasta
niveles aceptables al calcular la primera aproximacion del contorno a la solucion.
Consideremos por ejemplo la localizacion de la formas circulares de las celulas. Como hemos visto,
ha sido posible resolver el problema simplificando el espacio de los parametros hasta las dos dimensiones
correspondientes al desplazamiento. Esta simplificacion hace el metodo de deteccion muy simple y efi-
ciente pero por otro lado ofrece resultados en los que la solucion final se encuentra bastante lejana a la
inicializacion y a pesar de que no existe ambiguedad con la celula detectada, un metodo de optimizacion
que opere con una funcion de potencial sensible al ruido en la imagen (considerese por ejemplo la imagen
gradiente con un valor de escala bajo) puede estancarse en un mınimo local. La solucion mas inmediata
que nos ocupa sera la inclusion de mas ejes de deformacion en esta inicializacion.
Obviamente, si incrementamos la precision en el algoritmo de inicializacion nos aproximamos a la
solucion mediante la transformada de Hough clasica aplicada sobre los ejes de deformacion determinados.
Con ello, haremos el algoritmo cada vez mas ineficiente ya que nos encontraremos con las dificultades
propias de la transformada de Hough y por tanto las condiciones que deberan ser exigidas al problema
llegaran a ser inaceptables para muchas aplicaciones.
7.1.2. Extraccion de la informacion para cada objeto.
Un primer paso para poder mejorar los resultados desde la informacion de aristas es seleccionar aque-
llas que estan directamente involucradas en la localizacion del objeto, es decir,si intentamos aplicar una
segunda fase de mejora de la localizacion inicial, una forma de simplificarla sera considerando unicamente
las cadenas de aristas que han votado en la seleccion de una determinada posicion.
ed
cba
f
Figura 7.1: Extraccion de informacion para cada objeto.
Capıtulo 7
Mejora de la localizacion inicial. pag.113
Una forma de realizar este procedimiento es almacenar para cada posicion del espacio de los parametros
las cadenas que van afectando a dicha posicion. Obviamente, este algoritmo sufre de una alta ineficiencia
respecto al espacio requerido. Por ello, es necesario realizar una segunda iteracion sobre las cadenas
(tengase en cuenta que es posible simplificar el numero de cadenas de esta vuelta ya que teniendo la
posicion del objeto muchas de ellas son directamente descartables) de forma que la eficiencia del algoritmo
no se ve afectada.
En la figura 7.1 se presenta un ejemplo de esta operacion. En las posiciones a y b se pueden observar
la imagen original y una imagen de aristas. En las restantes (c a f) se muestran las imagenes de aristas
que se han extraıdo para las 4 primeras celulas obtenidas.
7.1.3. Uso de un modelo geometrico.
Una vez que hemos determinado las cadenas que votan por una determinada localizacion, es posible
construir un algoritmo de mejora en la aproximacion si consideramos un posible modelo geometrico de
nuestro objeto (considerese por ejemplo que se dispone de un algoritmo de aproximacion del contorno
desde una nube de puntos mediante un enfoque por mınimos cuadrados).
Un ejemplo sencillo de esta opcion viene dado por las imagenes de citologıas. En este caso podemos
aproximar el contorno por medio de una elipse. El algoritmo de aproximacion consta de dos fases:
1. Obtencion de una primera estimacion
2. Minimizacion del error cometido.
Obteniendose un resultado como el mostrado en la figura 7.2
Figura 7.2: Estimacion elıptica de la localizacion de celulas.
Las expresiones que han sido usadas en esta estimacion se presentan en los apendices de esta memoria
(vease pagina 151) con las que se han estimado los parametros de la expresion
(r − a
c− b
)t(A B
B C
)(r − a
r − b
)= 1 (7.1)
Seccion 7.1
pag.114 Optimizacion de la localizacion
7.1.4. Un algoritmo de enfoque.
El tamano potencialmente alto del espacio de parametros nos sugiere el uso de un algoritmo que maneje
informacion multiresolucion. En la literatura podemos encontrar diversos algoritmos que representan el
espacio de parametros por medio de una estructura jerarquica (vease [Kalvianen et al. 94]) pero que
registran algunos inconvenientes:
El metodo tiene problemas si el maximo en el espacio de parametros esta cerca de la frontera de
un hipercubo a una baja resolucion.
Hay que determinar un metodo para seleccionar los hipercubos sobre los que hay que iterar a
mas baja resolucion. Si usamos un umbral, es posible que en un hipercubo haya pocos votos pero
corresponden a un unico punto del espacio de parametros a mas alta resolucion. En cambio, si hay
muchos votos es posible que esten dispersos a mayor resolucion.
Extraen las curvas una a una, repitiendo el proceso cada vez que se quiere obtener una nueva.
Algunos algoritmos estan disenados para un tipo particular de curvas. (Por ej. rectas).
La reformulacion de la transformada de Hough presentada en este trabajo nos permite formular un
algoritmo de enfoque que aprovecha una resolucion cada vez mas alta en cada iteracion para obtener la
localizacion de contornos sin sufrir los inconvenientes anteriormente expuestos.
Cada uno de los l niveles de resolucion se situan entre:
El nivel de menor resolucion(nivel 1). Contiene un muestreo grueso de los ejes de deformacion y
contempla incluso la eliminacion de los menos relevantes (es decir, un muestreo de 0 puntos). Cal-
cular la localizacion de los contornos buscados en este nivel implica usar una zona de incertidumbre
de tamano maximo que dependera del problema y la resolucion seleccionada. Obtener un valor alto
en el espacio de parametros de este nivel corresponde a una localizacion aproximada de la forma.
El nivel de mayor resolucion(nivel l). Se construye en base a un muestreo fino de los ejes de defor-
macion que puede incluso incluir los ejes de deformacion local en el caso extremo. Obviamente, la
zona de incertidumbre que se crea a este nivel es de menor tamano que en los anteriores y permite
la localizacion mas exacta.
El algoritmo por tanto consiste en iterar desde el nivel 1 hasta el nivel l estudiando en cada iteracion
solo las zonas del nivel anterior que han sobrepasado cierto umbral (en el nivel 1 la zona a estudiar
abarca todas las posibilidades). Obviamente, en los primeros niveles se obtendran muchos puntos que no
corresponden a localizaciones del contorno pero a su vez se eliminaran muchos otros en los que tendremos
garantıa de que no existe el contorno a localizar y muchas aristas que no participan en la votacion de las
zonas seleccionadas para la siguiente iteracion.
Este algoritmo no solo nos permite localizar un objeto con posibles deformaciones de una manera
eficiente sino que ademas, puede obtener formas con un grado de desviacion asociado. Efectivamente,
supongamos la deteccion de elipses en una imagen. Podemos seleccionar varios niveles de resolucion,
desde el mas grueso que podrıa consistir en el algoritmo mostrado para obtener los resultados de la
figura 6.5 hasta el mas fino que determina traslacion, eje mayor, eje menor y rotacion. Una vez localizado
una zona de posible localizacion en el nivel i, puede ocurrir:
El contorno tambien es detectado en una localizacion mas fina en el nivel i + 1. En este caso nos
interesa esta nueva posicion pues es mas exacta.
El contorno no se localiza en el nivel i+ 1 y por tanto su mejor localizacion esta situada a nivel i.
Capıtulo 7
Mejora de la localizacion inicial. pag.115
La situacion de la mejor localizacion determina el grado de desviacion asociado al contorno. Si es
el nivel l la desviacion al contorno teorico es mınima. Cuanto menor sea el nivel, mayor desviacion del
contorno teorico poseera.
7.1.4.1. Un ejemplo ilustrativo.
Veamos un ejemplo sencillo aplicado a las formas elıpticas que aparecen en una imagen de celulas. La
imagen test que se propone se caracteriza por una gran cantidad de ruido, solapamiento y variabilidad
de formas (particularmente en lo que respecta a tamano de las celulas).
cba
Figura 7.3: Aristas y espacio de parametros.
En la figura 7.3 se puede ver la imagen original junto con un posible mapa de aristas (que corresponde
a un nivel de escala σ = 2) y el espacio de parametros, resultado de aplicar el algoritmo descrito en el
capıtulo anterior considerando solo desplazamientos de un contorno a localizar de deformacion cero.
El hecho de usar unicamente dos ejes de deformacion hace necesaria una zona de incertidumbre de un
tamano considerable a fin de que los valores que se obtienen en el espacio de parametros para localizaciones
correctas de celulas sean suficientemente altos como para que se obtengan en la umbralizacion(vease
figura 7.4). Obviamente, si usamos estos resultados para plantear las posibles posiciones iniciales de
nuestros contornos deformables, las celulas son fijadas en unas posiciones bastante inexactas.
Ahora bien, estos resultados pueden ser mejorados mediante el algoritmo de enfoque, es decir, usando
las zonas de posible localizacion que se obtienen de la umbralizacion del espacio de parametros en una
segunda iteracion, en la que el numero de ejes de deformacion se aumenta a fin de mejorar los resultados.
Las principales ventajas que obtenemos en esta segunda vuelta son:
Se puede aplicar el algoritmo de forma independiente a cada una de las zonas(o hipercubos si ası se
delimitan) que se han obtenido en el primer paso favoreciendo por tanto la implementacion paralela.
El numero de puntos en los que hay que realizar la busqueda se ve enormemente disminuido y por
tanto permite la incorporacion de nuevos ejes de deformacion sin degradar la eficiencia del sistema
(vease la figura 7.4 en la que se observa que la gran mayorıa de puntos en el espacio de parametros
se concentran en los valores mas bajos del histograma).
Ademas, los datos a usar tambien disminuye si hacemos una seleccion de las aristas que han con-
tribuido a cada una de las regiones.
Seccion 7.2
pag.116 Optimizacion de la localizacion
Umbralización del espacio
de parámetros
de parámetros.
Histograma del espacio
Figura 7.4: Histograma y umbralizacion del espacio de parametros.
7.2. Optimizacion final de la solucion.
Una vez que se posee una buena aproximacion de la solucion sera necesario optimizarla hasta recoger
las deformaciones locales que ha sufrido el contorno. Obviamente, la bondad de este ajuste viene direc-
tamente influenciada desde la aproximacion inicial de manera que una mala aproximacion requerira de
un algoritmo de optimacion mas complejo y costoso.
Existe una amplia variedad de metodos en la literatura ([Cohen y Cohen 93],[Kass et al. 87b], [Grenan-
der et al. 91], [Leymarie y Levine 93], etc.) que tratan el problema de optimizar una solucion inicial
considerando deformaciones, si bien todas ellas parten de un template situado manualmente. En nue-
stro caso usaremos la aproximacion obtenida anteriormente por el algoritmo de inicializacion o (si se ha
optimizado la aproximacion inicial) el algoritmo de enfoque. Ademas en esta seccion vamos a plantear
algunos enfoques en la solucion de este problema aportando nuevas soluciones a:
Funcion de energıa externa. Hace referencia a la aportacion desde la informacion de la imagen a la
funcion de potencial sobre la que evaluar la optimalidad de una solucion.
Funcion de energıa interna. En este caso nos referimos a la energıa interna del template, es decir, a
la plausibilidad de una determinada realizacion del template.
7.2.1. Definicion de las funciones.
El dominio de estas funciones de energıa es el conjunto de posibles realizaciones del contorno solucion.
Definimos una realizacion como una curva definida de forma parametrica
C = (X(s), Y (s)) (0 ≤ s ≤ L) (7.2)
Capıtulo 7
Optimizacion final de la solucion. pag.117
La definicion de estas funciones sera:
Para la funcion de energıa externa Eext(C) construiremos una funcion de potencial P (x, y) que
asocia a cada punto de la imagen una valor que sera tanto mas pequeno cuanto mas probable sea
su pertenencia al conjunto de puntos que describen la solucion optima. Como consecuencia de ello,
la funcion de energıa externa se puede definir en terminos del valor acumulado de energıa en todos
los puntos de la curva C normalizado por la longitud de esta, es decir:
Eext(C) =1
L
∫ L
0
P (X(s), Y (s))ds (7.3)
Logicamente es posible anadir nuevos terminos correspondientes a aportaciones que provienen de
distintas fuentes:
Eext(C) =
n∑
i=1
kiEiext(C) (7.4)
O en general como
Eext(C) = H(E1ext(C), · · · , En
ext(C)) (7.5)
donde H es una funcion que integra la informacion desde las n fuentes que deseamos tener en
cuenta.
Para definir la funcion de energıa interna Eint(C) debemos de establecer un criterio que nos mida
el grado de pertenencia del contorno C a la familia de objetos deformados que modelizamos, y que
podemos formular en terminos de una distancia entre la realizacion concreta C y esta familia (o
una curva media que la represente).
7.2.2. Funcion de energıa externa desde las fronteras.
Dado que el enfoque realizado en este trabajo esta centrado en el uso de informacion proporcionada
por las aristas para obtener la localizacion del objeto, la primera opcion que podrıamos considerar para
definir la funcion de energıa externa es la magnitud del gradiente, es decir,
P (x, y) = −‖∇g(x, y)‖ (7.6)
Una solucion mas robusta frente al ruido que esta consiste en determinar una familia de funciones de
potencial ordenadas por la escala de forma que se realiza una optimizacion desde las escalas mas altas
hasta las mas finas ([Burt 81], [Leymarie y Levine 93]).
Los problemas de esta solucion son:
La funcion correspondiente a la magnitud del gradiente puede tener un nivel muy alto de ruido.
Efectivamente, en ella apareceran nuevos maximos locales en direccion del gradiente que puede
confundir al metodo por lo que es mas recomendable usar este tipo de informacion cuando queramos
realizar un ultimo ajuste una vez asegurada la cercanıa a la solucion.
No se usa toda la informacion que nos ofrece el gradiente ya que obviamos la componente de
direccion.
Desperdiciamos la informacion obtenida en las etapas anteriores referente a las principales aristas
que determinan la localizacion del objeto.
Seccion 7.2
pag.118 Optimizacion de la localizacion
Veamos la forma en que podemos resolver estos problemas formulando una funcion de energıa que sea
robusta al ruido y que facilite el problema al algoritmo de optimizacion.
7.2.2.1. Energıa desde las aristas.
Una forma de construir un potencial desde las aristas obtenidas en la deteccion de fronteras es estable-
cer que los puntos correspondientes a estas tengan un potencial mınimo (p. e. cero) y vaya aumentando
en los puntos conforme se alejan de estas aristas.
Una forma muy eficiente de construir esta funcion es obteniendo la funcion d(x, y) correspondiente a
la distancia entre el punto (x, y) y el punto frontera(del conjunto de aristas A) mas cercano a el1(vease
figura 7.5):
d(x, y) = mın(r,s)∈A
‖(x, y)− (r, s)‖ (7.7)
Aristas Distancia a la arista más cercana
Figura 7.5: Distancia a la arista mas cercana.
A partir de ella, el potencial en un punto (x, y) se puede definir como dicha distancia, determinando
de esta forma un potencial 0 en los aristas y creciente conforme nos alejamos de estas. Obviamente, se
pueden construir un conjunto infinito de funciones ([Cohen y Cohen 93]) a partir de esta estableciendo:
P (x, y) = f(d(x, y)) (7.8)
donde f(x) es una funcion creciente que determina la forma en que varıa el potencial con respecto a
la distancia al punto frontera mas cercano y por lo tanto la forma del gradiente de la funcion potencial
(∇P = f ′(d(x, y))∇d(x, y)).
La desventaja en el uso de este potencial es que no se pondera la importancia de las cadenas dado
que cualquiera de ellas determina igualmente puntos de energıa mınima (de valor cero). Una forma de
tener en cuenta este aspecto consiste en ponderarlas con la magnitud del gradiente de cada punto. En
este caso la funcion P (x, y) viene dada por la expresion:
P (x, y) = mın(r,s)∈A
I(r, s) + f(‖(x, y)− (r, s)‖) (7.9)
donde la funcion I es la funcion de ponderacion que en el caso que nos ocupa se define como
I(r, s) = −‖∇g(r, s)‖ (7.10)
1Esta operacion se puede implementar eficientemente realizando unicamente 4 pasadas sobre la imagen binaria.
Capıtulo 7
Optimizacion final de la solucion. pag.119
.
Notese que la funcion P (x, y) = f(d(x, y)) es un caso particular de esta en la que la funcion de
ponderacion es la funcion constante cero.
Es interesante destacar dos comentarios acerca de esta nueva funcion:
Un punto (x, y) que es arista no tiene que permanecer con un nivel de potencial −‖∇g(x, y)‖ ya
que si se situa suficientemente cerca de un punto con mucho menor potencial el valor resultante en
(x, y) se vera disminuido. Esta consecuencia es muy razonable ya que la funcion de energıa debe de
guiar el contorno que se esta fijando hacia los puntos arista de mayor relevancia.
La funcion f(x) cobra especial relevancia en este caso ya que puede ser usada para ponderar
la importancia de la magnitud del gradiente en relacion con la distancia al punto frontera. Si
consideramos una funcion f(x) que crece muy rapidamente (por ej, f(x) = mx con m muy alto)
las aristas de la imagen seran muy independientes ya que dos puntos frontera cercanos podran
permanecer con un potencial correspondiente a la magnitud de su gradiente. Si por el contrario el
valor de m es muy pequeno el radio de accion de una arista sera mucho mas amplio de manera que
una arista puede sobrevalorarse frente a otra a pesar de que esten distantes.
7.2.2.2. Mejora a partir de la direccion del gradiente.
Aunque usar la magnitud del gradiente permite introducir nueva informacion en la funcion de energıa,
todavıa es posible mejorar los resultados mediante el uso de la direccion del gradiente2. El sistema se
vera mejorado en dos aspectos:
Si la imagen de aristas contiene diferentes cadenas cercanas (ya sea de un mismo objeto, de objetos
cercanos o incluso solapados) la informacion de la direccion del gradiente puede evitar que la
solucion se acerque hacia cadenas que serıas erroneas ya que la curva que describe el objeto se
vera influenciada de igual forma por cadenas de una direccion como de otra. Por ejemplo, en la
parte superior de la figura 7.6 se observa un caso en el que el punto p se vera atraıdo hacia los
puntos a, b, c si no se usa la direccion del gradiente (en cuyo caso unicamente sera atraıdo por el
punto a).
La funcion de energıa se ve modificada de manera que la solucion se dirige de forma mas directa
hacia la solucion mejorando su comportamiento en situaciones que hasta ahora eran mucho mejor
tratadas en un enfoque basado en regiones([Ronfard 94]). Por ejemplo, en la parte inferior de la
figura 7.6 se observa un caso en el que el punto p de la curva a optimizar se vera atraıdo hacia los
lados. En caso de que contemplemos la direccion del gradiente o un enfoque orientado a regiones
las fuerzas que actuaran sobre el contorno seran las reflejadas en la parte derecha.
Debemos por tanto definir una funcion que tenga en cuenta este aspecto. La solucion que se ha
adoptado en este trabajo ha sido anadir una nuevo eje a la funcion de potencial P que se mueve en el
intervalo [−π, π]:
P (x, y, θ) = mın(r,s)
I(r, s) + h(‖(x, y)− (r, s)‖, θ) (7.11)
de forma que la funcion de energıa establecida en la ecuacion 7.3 queda como sigue:
Eext(C) =1
L
∫ L
0
P (X(s), Y (s), θ(s))ds (7.12)
2Recordemos que los resultados en el procesamiento de las cadenas a lo largo de los capıtulos anteriores ha sido mucho
mas fructıfero considerando esta informacion (tanto en la etapa de preprocesamiento como en la etapa de inicializacion)
Seccion 7.2
pag.120 Optimizacion de la localizacion
Imagen original Aristas Curva a fijar
a b c p
p
Localización inicial Fuerzas de atracción
Figura 7.6: Uso de la direccion del Gradiente.
donde θ(t) se define como el angulo formado por los vectores:
∇g(X(t), Y (t)) y
(−dy
ds(t),
dx
ds(t)
)(7.13)
La definicion mas sencilla para la funcion h(x, θ) y que solucionarıa los casos expuestos en la figura 7.6
es:
h(x, θ) =
f(x) Si −π
2 ≤ θ ≤ π2
+∞ en caso contrario(7.14)
En la figura 7.7 se muestran los resultados para esta funcion h(x, θ) usando las funciones f(x) = x e
I(r, s) = 0. En esta figura se representa la imagen de aristas obtenida desde un circulo y las proyecciones
sobre dos valores concretos del angulo θ (el blanco corresponde a valores cero y el negro a valores positivos).
Capıtulo 7
Optimizacion final de la solucion. pag.121
Aristas Angulo .π/2Angulo 0
Figura 7.7: Ejemplo de funcion h(x, θ).
7.2.3. Funcion de energıa externa desde otras fuentes.
En la seccion anterior nos hemos centrado en proponer una funcion de energıa que se base en la
informacion obtenida a partir de un detector de aristas. Obviamente, el tipo de informacion que podemos
usar para medir la optimalidad de la fijacion de nuestro contorno puede provenir de muchas y muy distintas
fuentes. Supongamos por ejemplo que manejamos imagenes de niveles de gris, es deseable que el nivel
en el interior del objeto que estamos segmentando sea lo mas homogeneo posible, o si usamos imagenes
en color (con tres bandas RGB o su equivalente HSV) sera una aproximacion aun mejor cuanto menos
heterogeneidad de colores exista. Un razonamiento similar puede ser aplicado a otro tipo de caracterısticas
tales como imagenes multibanda, texturas, etc. Ası, es interesante destacar la posibilidad de usar otro
tipo de informacion que de forma mas natural se incorpora desde un planteamiento basado en regiones.
Tradicionalmente, la naturaleza de la aplicacion a disenar ha determinado el tipo de funcion de energıa
que se podrıa usar para optener una solucion mas eficaz, ya sea basada en gradientes o en regiones. Ası por
ejemplo, en aplicaciones donde existe una distorsion alta del gradiente (por ejemplo, provocada por el
ruido), los metodos basados en regiones se presentan mas convenientes. Por otro lado, si se presentan otros
problemas tales como solapamientos, los metodos basados en fronteras pueden resultar mas efectivos.
Considerando la lınea que hemos seguido a lo largo de esta memoria, es interesante tener en cuenta una
colaboracion entre la informacion de fronteras y regiones a fin de conseguir un metodo de optimizacion
mas eficaz. Para ello consideremos primero que tipo de medidas podemos realizar sobre las imagenes que
nos ocupan para obtener el grado de optimalidad (en lo que a regiones se refiere) de una determinada
realizacion del contorno a fijar.
Si planteamos la homogeneidad del interior del contorno como la medida que nos indica si la region
contenida en el objeto es mas o menos optima, el calculo mas sencillo para considerar este tipo de
informacion es una medida de dispersion de los datos en la region interior (Rin). Por ejemplo, el cuadrado
de las desviaciones de los niveles de gris I(x, y)
V =
∫
Rin
(I(x, y)− µ)2
∫
Rin
dxdy
µ =
∫
Rin
I(x, y)dxdy
∫
Rin
dxdy
(7.15)
que determina la region optima como la de valor constante (varianza nula), aunque se pueden plantear
situaciones mas complejas como por ejemplo considerar que la regıon optima puede contener valores que
varıan conforme un plano3([Beaulieu y Goildberg 89]) de manera que la energıa puede ser medida como
los cuadrados de los errores (distancia al plano) o en esta misma lınea, calcular
3Pensemos en una escena donde la iluminacion se va degradando de un punto a otro de forma que un mismo objeto
puede presentar zonas brillantes y oscuras simultaneamente
Seccion 7.2
pag.122 Optimizacion de la localizacion
V =
∫
Rin
∇2I(x, y)dxdy (7.16)
El problema de usar estas medidas en un metodo de optimizacion de objetos deformables se plantea
cuando consideramos que los contornos tienden a contraerse ya que cuanto menor sea la superficie que
recoja la curva, mayor homogeneidad presenta. Esto nos lleva a considerar que la optimalidad de una
region no viene determinada unicamente por su interior, sino tambien por su exterior ([Grenander et al.
91], [Ronfard 94]) de forma que la contraccion del contorno redundara en una degradacion de la medida
exterior. Ası por ejemplo, en [Grenander et al. 91] se define la energıa como la suma de las varianzas
interna y externa al objeto para segmentar imagenes ruidosas de manos. Tambien es interesante destacar
el trabajo presentado en [Ronfard 94] en el que plantea una solucion para el uso de informacion de regiones
sobre contornos activos (inicialmente formulados usando imagenes gradiente) mediante el estudio de la
distancia de Ward([Ward 63]) entre dos regiones Rin y Rout
D(Rin, Rout) = W region(Rin +Rout)−W region(Rin)−W region(Rout) (7.17)
donde W region(R) se define como la funcion de energıa sobre una region.
Otra solucion muy interesante para usar informacion de regiones es construir una funcion de energıa
Eext(C) = H(EFext(C), ER
ext(C)) (7.18)
que simultaneamente use las fronteras (EFext(C)) y regiones(ER
ext) de manera que el procedimiento
sea capaz de optimizar la solucion inicial correctamente a pesar de que alguna de estas informaciones
sea pobre. El problema de esta solucion es determinar la forma en que pueden integrarse en una unica
funcion varias medidas de distinta naturaleza. Para solventar este problema, es necesario realizar una
normalizacion de las funciones de forma que las haga comparables.
Como veremos mas adelante en la parte de resultados, en algunas aplicaciones sera recomendable el
uso de informacion de fronteras, el uso de informacion de regiones o el de ambos simultaneamente. Para
ilustrar el funcionamiento de un algoritmo que maneje ambos tipos a la vez, la solucion seleccionada para
evitar el problema de mezclar medidas de distinta naturaleza ha sido normalizar los vectores gradiente
de ambas funciones de forma que un procedimiento de optimizacion que seleccione una direccion para
buscar el optimo avanzara hacia la solucion del problema usando para ello una suma ponderada de las
direcciones indicadas por cada una de las fuentes. Es decir, la direccion viene determinada por:
−(λ
∇EFext(C)
‖∇EFext(C)‖ + (1 − λ)
∇ERext(C)
‖∇ERext(C)‖
)(7.19)
donde λ indica la relevancia asignada a cada una de las funciones usadas en la optimizacion.
7.2.4. Delimitando el espacio de deformacion.
Si aplicamos un contorno sobre una imagen en una posicion inicial y dejamos que se mueva con com-
pleta libertad en direccion de maximo gradiente hacia un optimo, es decir, sin ningun tipo de informacion
acerca de las posibilidades de deformacion del objeto, en el caso de que la funcion de energıa que se define
desde la imagen no sea suficientemente buena (considerese por ejemplo la existencia de optimos locales
producidos por ruido, falta de informacion en la imagen, etc.) o en el caso de que la inicializacion no
este suficientemente cerca del punto que buscamos, el resultado de la optimizacion no sera el deseado
o incluso peor aun recogera unas deformaciones que no son posibles para la familia de objetos que de-
seamos segmentar. La solucion mas sencilla a este problema es determinar un hipercubo en el espacio de
deformacion que delimita el conjunto de posibilidades de variacion.
Capıtulo 7
Optimizacion final de la solucion. pag.123
Podemos obtener una solucion al problema realizando un estudio estadıstico ([Cootes et al. 95]) sobre
la variacion de las muestras en cada una de las componentes de deformacion y determinar un subespacio
a partir de la media y la varianza en cada uno de ellos. Por ejemplo, si hemos realizado un estudio de
componentes principales (ecuaciones de 5.51 a 5.54), tenemos los valores de las varianzas (autovalores) y
valores medios para cada una de estas. El subespacio puede ser delimitado por la variacion maxima de 3
veces la desviacion estandar alrededor de la media.
Tambien es posible seguir la interpretacion fısica que se realizo en la modelizacion de deformaciones.
Para ello, podemos calcular la energıa de deformacion como ([Sclaroff y Pentland 95]):
Edefor =1
2U tΩ2U (7.20)
que determina mayor energıa cuanto mayor sea la frecuencia de vibracion. Obviamente, podemos
introducir informacion del modelo aplicando pesos a cada uno de los ejes de deformacion.
En definitiva, todas estas soluciones nos ofrecen formas sencillas y comodas de delimitar el conjunto
de posibles formas del contorno sin mas que acotar la cantidad de energıa maxima que puede ser utilizada
para optimizar la solucion.
Independientemente de la solucion adoptada, es conveniente no acotar la posibilidad de variacion en
lo que respecta a traslacion, rotacion y escala a fin de que los resultados obtenidos sean invariantes frente
a estas transformaciones.
7.2.5. Un problema de regularizacion.
En muchas situaciones aunque el objeto no aparezca de forma natural con ciertas deformaciones, es
posible que sea conveniente admitir una gran variacion a causa de las fuertes evidencias que ofrece la
imagen. Este hecho sugiere una solucion que admita un equilibrio entre la informacion desde el contorno
y la informacion desde la imagen. Una forma de introducir informacion del modelo de esta forma es
plantear un problema de regularizacion para la busqueda del optimo. Para ello es necesario definir las
funciones de energıa interna y externa para plantear la ecuacion de energıa total (la funcion sobre la que
buscar el optimo) de la siguiente forma:
Etotal(C) = λEint(C) + (1− λ)Eext(C) = Eint(C) +1− λ
λEext(C) (7.21)
En el modelo de snakes([Kass et al. 87a]), la energıa interna se define en terminos de la primera y
segunda derivadas de la curva como:
Eint(C) = w1(s)
∣∣∣∣∂C
∂s
∣∣∣∣2
+ w2(s)
∣∣∣∣∂2C
∂s2
∣∣∣∣2
(7.22)
que impone condiciones locales de tension y rigidez que no informan acerca de la variabilidad del
modelo y aunque permiten modelizar eficazmente muchas situaciones con la variacion de las funciones
de peso wi, no son suficientes para incluir la informacion que podemos poseer del contorno. Por ello, es
conveniente definir la funcion de energıa interna en otros terminos (sin descartar obviamente el introducir
informacion del tipo de la ecuacion 7.22). Usar una funcion de distancia entre el contorno de deformacion
cero y el deformado o usar una funcion de energıa de deformacion en una interpretacion fısica (ecuacion
7.20) son distintas posibilidades para definir la solucion.
7.2.6. Un modelo probabilıstico.
Otra solucion al problema de conseguir un equilibrio entre la informacion de la imagen y la del objeto
es definir un modelo probabilıstico ([Yuille et al. 92]) para el que debemos de establecer:
Seccion 7.2
pag.124 Optimizacion de la localizacion
Una probabilidad a priori: Corresponde a la funcion de energıa interna definida anteriormente y
establece la probabilidad de cada una de las realizaciones de nuestro modelo.
Un modelo de ruido: establece la probabilidad de las observaciones de forma que junto con la
probabilidad a priori podemos establecer la probabilidad a posteriori.
Es razonable determinar que si hemos obtenido una aproximacion a la solucion del problema de
segmentacion en una etapa anterior, la localizacion exacta se situa con mayor probabilidad en las cercanıas
de esta primera aproximacion.
Por otro lado, las deformaciones locales no son normalmente contempladas en el modelo de objeto
que se maneja ya que son resultado de algun tipo de ruido en la imagen (recuerdese la eliminacion
de los ejes modales de mayor vibracion o los ejes de menor desviacion tıpica de la transformada de
hotelling). A pesar de ello, es posible que sea conveniente contemplar en el reconocimiento una ultima
etapa de determinacion de pequenas variaciones en la cadena de puntos que define el contorno del objeto
manteniendo un equilibrio entre la informacion global que se ha obtenido y la informacion que la imagen
nos ofrece.
Un modelo de objeto deformable que se ajusta al enfoque que realizamos es el propuesto por Grenan-
der, Chow y Keenan ([Grenander et al. 91]). Los elementos basicos de la aproximacion de Grenander
son:
un espacio de generadores (G=segmentos sobre el plano).
un grafo conector (σ=grafo cıclico).
condiciones de regularidad sobre σ (R=poligonos cerrados).
un grupo de transformaciones (T , T :G → G, T=Grupo Euclıdeo x Escala).
Sea C el espacio de configuraciones, es decir
C = c|c = σ(g0, g1, · · · , gn−1), (g0, g1, · · · , gn−1) ∈ Gn (7.23)
donde gi denota los generadores, n es el numero de generadores usados para definir una figura par-
ticular y σ es el grafo que define las conexiones entre los generadores. Si C(R) denota el conjunto de
configuraciones que verifican la condiciones de regularidad (R), el objetivo es conocer que subconjunto
de C(R) representa la forma que esta siendo considerada. Para generar los elementos de C(R) que define
la forma de interes, comenzamos desde un template S ∈ Gn y aplicamos transformaciones Tj ∈ T a sus
generadores bajo la condicion de que las configuraciones resultantes caigan dentro de C(R),
E(S) = c|c = σ(T0g0, T1g
1, · · · , Tn−1gn−1) ∈ C(R), (T0, T1, · · · , Tn−1) ∈ T n (7.24)
Se observa que no todos los vectores (T0, T1, · · ·-, Tn−1) ∈ T n generan configuraciones que representan
bien la forma. Para restringir el conjunto de posibles configuraciones desde un template, Grenander
([Grenander y Keenan 89]) introduce una medida de probabilidad sobre el espacio T de valores que
definen el grupo de transformaciones. En nuestro caso tan solo consideraremos transformaciones del
tipo homotecias y giros. Se usa un proceso de Markov valuado en T sobre el grafo frontera tal que los
componentes de las matrices T0, T1, ..., Tn−1
Ti =
(1 + t0i t1i−t1i 1 + t0i
)(7.25)
son un proceso de Markov independiente de primer orden (vease [Grenander et al. 91], [Knoerr 88])
donde t0i esta asociado a la homotecia y t1i esta asociado al angulo de giro (vease [Knoerr 88]). Dado
Capıtulo 7
Optimizacion final de la solucion. pag.125
que nosotros estamos interesados solamente en pequenas deformaciones, asumimos que (t0i, t1i) son
conjuntamente una gaussiana. En este caso, la distribucion sobre las deformaciones locales del template
es una distribucion gaussiana 2n-variante.
Por otro lado, podemos definir una distribucion a posteriori anadiendo el factor p(I | C) si disponemos
de una funcion de energıa E(C) definida sobre cada posible realizacion C que mide la bondad de la esta
curva para segmentar el objeto de la imagen I. Esta funcion puede ser definida como una distribucion de
Gibbs
p(I | C) =1
ctee−E(C) (7.26)
Un ejemplo del posible resultado obtenido en esta etapa de postprocesamiento puede observarse en la
figura 7.8, la cual se ha obtenido a partir de la deformacion de las curvas correspondientes a las elipses
que se muestran en la figura 7.2.
Figura 7.8: Deformaciones locales sobre un modelo elıptico.
Es interesante realizar varios comentarios sobre este modelo:
La division de la curva que define el contorno del objeto en segmentos rectilıneos debe hacerse
suficientemente fina como para aceptar la hipotesis de la dependencia markoviana de primer orden
([Knoerr 88]). Como es de esperar, si los segmentos definidos son demasiado grandes, es posible que
las variaciones de uno de ellos no dependa unicamente de los adyacentes (considerese por ejemplo,
la existencia de simetrıas en la forma).
Es necesario aplicar un algoritmo de optimizacion sobre la funcion de probabilidad a posteriori.
Considerando que la funcion a optimizar no es convexa y si deseamos obtener un optimo global,
no tendremos mas remedio que recurrir a un costoso algoritmo como el simulate annealing4. Un
intento de mejorar esta situacion pudiera ser definir un conjunto de posibles divisiones de la curva
(desde la mas gruesa hasta la mas fina). Esta solucion es unicamente parcial ya que no podemos
obviar el punto anterior.
Para que el metodo tenga exito, es necesario disponer de una aproximacion suficientemente buena
a la solucion del problema ([Grenander et al. 91]).
4Es necesario destacar que Grenander propone el muestreo de la probabilidad a posteriori determinando como solucion
al problema la media de las ultimas realizaciones.
Seccion 7.2
pag.126 Optimizacion de la localizacion
Dado la limitacion de este modelo como solucion global al problema de localizar un objeto deformado
y por otro lado la complejidad matematica para su exposicion en este trabajo, no daremos mas detalles
teoricos.
7.3. Resultados.
A continuacion se presentan los resultados obtenidos en la optimizacion final de algunos contornos.
Los localizaciones iniciales que se muestran para la aplicacion del proceso de optimizacion, corresponden
a ejemplos presentados en el capıtulo de inicializacion. El metodo de optimizacion sobre las funciones de
energıa usado ha sido el de ascension de colinas.
Las distintas imagenes que se presentan son:
Tipo I. Ejemplos sobre citologıas.
Ej.1.- Presenta una imagen de celulas que aparecio en el capıtulo de inicializacion. En este
caso, se ha realizado un muestreo mas fino de los ejes de deformacion de manera que la
zona de incertidumbre usada en la deteccion es menor y por consiguiente el resultado
es mas exacto.
Ej.2.- Este ejemplo es similar al anterior. De igual forma se ha optimizado el resultado mediante
un muestreo mas fino del espacio de parametros. Es interesante observar en esta imagen
como el metodo consigue segmentar objetos que se situan con un grado de solapamiento
bastante alto.
Tipo II. Ejemplos sobre nematodos.
Ej.1.- En este caso se presenta la imagen del ejemplo anterior en la que se localiza el nematodo
que aparece en ella. En la imagen b de la figura 7.13 se puede ver la localizacion inicial
que se optimiza hasta la imagen a de la figura 7.14 despues de 30 iteraciones usando
informacion de fronteras. Son de destacar los resultados presentados en la ultima imagen
que corresponden a la segmentacion tanto del nematodo como de las celulas presentes.
Ej.2.- Este ejemplo es similar al anterior. Ilustramos la optimizacion de la localizacion de un
nematodo presentando la inicializacion, el resultado tras 10 iteraciones, y el resultado
final despues de 30 iteraciones.
Tipo III. Ejemplos sobre manos.
Ej.1.- En este ejemplo se muestra la necesidad de integrar informacion de fronteras y regiones.
En la figura 7.17 se muestra la inicializacion obtenida a partir de las cadenas que apare-
cen en la figura 7.18 y que son las usadas para la optimizacion que da lugar al resultado
que se presenta en esta. Como podemos observar, la informacion de la que se dispone no
es suficiente para llegar a una buena localizacion. Una primera solucion para resolverlo
es usar informacion de regiones y obviar las fronteras que delimitan el objeto. A fin
de garantizar un metodo mas robusto y tal como explicamos anteriormente (vease pag.
122) se han usado las fronteras (de la misma forma que en los ejemplos anteriores) junto
con las regiones (minimizando el valor de la varianza) haciendo uso de la ecuacion 7.19
(el valor usado para λ es 0,5). Los resultados se pueden ver en las figuras 7.19 y 7.20 en
las que podemos ver que tras 30 iteraciones la fijacion final es claramente mejor.
Ej.2.- En este caso, la localizacion inicial esta mucho mas lejos de la solucion que en el caso
anterior. Por ello el numero de iteraciones debe ser superior y como podemos observar,
tras 75 iteraciones, el algoritmo encuentra igualmente la solucion.
Capıtulo 7
Resultados. pag.127
Ej.3.- En este ejemplo se introduce la distorsion provocada por el ruido de tipo sal y pimienta
que afecta aproximadamente a un 50% de los puntos de la imagen (recordemos que
posee una relacion senal-ruido aproximadamente de 0,5). En esta imagen se presenta
mas clara la necesidad de introducir informacion de regiones (se ha usado un valor
de λ de 0,4.) dado que las fronteras obtenidas (figura 7.23, imagen b) estan aun mas
deterioradas.
Ej.4.- De nuevo planteamos una inicializacion mas distante unida al ruido del mismo tipo que
en el ejemplo anterior. Ahora, al igual que en el caso anterior, con solo 50 iteraciones
obtenemos la solucion.
Ej.5.- Por ultimo, presentamos la segmentacion de dos manos (figura 7.3.3). Es interesante
destacar que en la mano inferior (imagenes e y f) la informacion de regiones es mas
problematica ya que el exterior de la mano no corresponde a fondo. En caso de que
en las imagenes a segmentar podamos encontrar este tipo de problemas, es necesario
ponderar favoreciendo a la informacion de tipo fronteras (se ha usado un valor de λ de
0,6).
Seccion 7.3
pag.128 Optimizacion de la localizacion
7.3.1. Ejemplos sobre citologıas.
Ejemplo 1
(b)(a)
Figura 7.9: (a) Original. (b) Espacio de parametros.
(b)(a)
Figura 7.10: Celulas detectadas.
Capıtulo 7
Resultados. pag.129
Ejemplo 2
(b)(a)
Figura 7.11: (a) Original. (b) Espacio de parametros.
(b)(a)
Figura 7.12: Resultado final.
Seccion 7.3
pag.130 Optimizacion de la localizacion
7.3.2. Ejemplos sobre nematodos.
Ejemplo 1
(b)(a)
Figura 7.13: (a) Original. (b) Localizacion inicial.
(b)(a)
Figura 7.14: (a) Resultado (30 iteraciones). (b) Resultado conjunto.
Capıtulo 7
Resultados. pag.131
Ejemplo 2
(b)(a)
Figura 7.15: (a) Original. (b) Localizacion inicial.
(b)(a)
Figura 7.16: (a) Resultado tras 10 iteraciones. (b) Resultado (30 iteraciones).
Seccion 7.3
pag.132 Optimizacion de la localizacion
7.3.3. Ejemplos sobre manos.
Ejemplo 1
(b)(a)
Figura 7.17: (a) Original. (b) Localizacion inicial.
(b)(a)
Figura 7.18: (a) Fronteras usadas en la optimizacion. (b) Resultado tras 50 iteraciones.
Capıtulo 7
Resultados. pag.133
Ejemplo 1(continuacion)
(b)(a)
Figura 7.19: (a) Original. (b) Fronteras.
(b)(a)
Figura 7.20: (a) Resultado tras 10 iteraciones. (b) Resultado final (30 iteraciones).
Seccion 7.3
pag.134 Optimizacion de la localizacion
Ejemplo 2
(b)(a)
Figura 7.21: (a) Original. (b) Fronteras.
(b)(a)
Figura 7.22: (a) Localizacion inicial. (b) Resultado final (75 iteraciones).
Capıtulo 7
Resultados. pag.135
Ejemplo 3
(b)(a)
Figura 7.23: (a) Original. (b) Fronteras.
(b)(a)
Figura 7.24: (a) Localizacion inicial. (b) Resultado final (50 iteraciones).
Seccion 7.3
pag.136 Optimizacion de la localizacion
Ejemplo 4
(b)(a)
Figura 7.25: (a) Original. (b) Fronteras.
(b)(a)
Figura 7.26: (a) Localizacion inicial. (b) Resultado final (50 iteraciones).
Capıtulo 7
Resultados. pag.137
Ejemplo 5
(f)(e)
(d)
(b)(a)
(c)
Figura 7.27: (a) Original. (b) Fronteras. (c) Localizacion inicial. (d) Resultado
(50 iteraciones). (e) Localizacion inicial. (f) Resultado (50 iteraciones).
Seccion 7.3
Discusion, conclusiones y trabajos
futuros.
Discusion.
Es esta memoria se ha expuesto una metodologıa de trabajo para solucionar el problema de la seg-
mentacion supervisada de objetos deformables. Para conseguirlo, hemos establecido varios principios
(vease el capıtulo de introduccion) a partir de los cuales se han desarrollado una serie de algoritmos que
han dado lugar a excelentes resultados en diferentes aplicaciones. Para poder construirlos, hemos tenido
que resolver varios puntos:
1. Estudiar la caracterizacion del objeto. Fundamentalmente nos hemos centrado en la descricion de
formas 2D a traves de su contorno. Para estudiar dicho contorno se ha usado el espacio de escalas
de la curvatura, proponiendo un algoritmo para la construccion de las trayectorias de maximos y
permitiendo por tanto manejar una representacion multiescala del contorno que puede ser usada
para una amplia variedad de problemas. Como un ejemplo de ello, se ha considerado una aplicacion
sencilla a la deteccion de puntos relevantes en un contorno a partir de un valor maximo de error U
que da lugar a una aproximacion poligonal.
2. Estudiar un modelo deformable de objeto. Para resolverlo se ha usado la descomposicion en base a
los modos de vibracion libre del objeto. Desde ellos e incorporando informacion desde ejemplos se
han obtenido las componentes principales que dan lugar a los ejes de deformacion que se usan en
la localizacion.
3. Estudiar un algoritmo que nos permite obtener la localizacion inicial del objeto a partir de la
informacion de la imagen y del modelo de deformacion.
La informacion de la imagen puede provenir desde distintos canales tal como hemos podido com-
probar en la interpretacion multiescala que daba lugar a varios mapas de aristas. Es de destacar
dos comentarios acerca de esta:
a) Se pueden distinguir varios niveles semanticos. En los algoritmos desarrollados se ha usado un
nivel superior al del pıxel, lo que provoca una mayor estabilidad y eficacia del metodo.
b) La integracion de informacion se ve facilitada desde la coherencia de esta. Una solucion mas
compleja y que permitirıa una ampliacion del metodo se plantea si consideramos informaciones
de distinta naturaleza (aristas mas colores mas texturas, etc...).
Por otro lado, la informacion que se posee del modelo de deformacion plantea un sistema de ejes
que parametrizan las distintas instancias del contorno a localizar.
Para obtener las localizaciones deseadas se plantea un sistema de votacion en el espacio de de-
formaciones desde las caracterısticas detectadas en la imagen. Logicamente, la construccion de un
139
pag.140 Optimizacion de la localizacion
sistema generico que use distintas fuentes de informacion (de igual o distinta naturaleza) se centra
en la definicion de una funcion de integracion que sepa unir los distintos indicios de localizacion en
el espacio de localizaciones, es decir, que sepa acumular los votos teniendo en cuenta la naturaleza
de las informaciones.
Este proceso de votacion es el mas costoso en tiempo dada la cantidad de informacion que se procesa
y el tamano de los acumuladores. En esta memoria se ha resuelto este problema pasando desde
una solucion impracticable hasta algoritmos que garantizan la aplicabilidad del metodo. A pesar
de ello, las implementaciones actuales requieren aun una cantidad alta de recursos para algunas
aplicaciones5. Si deseamos algoritmos mas rapidos debemos tener en cuenta que:
a) Existen multitud de aportaciones referentes a la mejora en tiempo y espacio de la transformada
de Hough (vease mas adelante desarrollos futuros).
b) Los algoritmos formulados son altamente paralelizables.
c) Se han establecido aportaciones para acelerar el proceso (vease el algoritmo de enfoque).
d) La formulacion presentada sobre el tratamiento de la informacion a distinto nivel permite una
simplificacion muy alta en el numero de datos de entrada al algoritmo6.
de forma que se pueden construir sistemas eficaces desde un punto de vista practico.
4. Estudiar un metodo de optimizacion para fijar la solucion final. Para resolverlo hemos usado un
algoritmo de ascension de colinas sobre una funcion de energıa coherente con las informaciones
usadas en la localizacion y el modelo deformable que se ha establecido. La fijacion correcta de
la solucion final a pesar de usar un algoritmo simple de optimizacion muestra la bondad de las
funciones definidas. Ademas se ha mostrado como el uso de distintas informaciones (fronteras y
regiones) enriquece el metodo dando lugar a mejores resultados. Por ultimo se ha propuesto un
metodo probabilıstico como refinamiento final a fin de fijar, si procede, las deformaciones locales7.
Conclusiones.
1. El flujo de informacion hacia la interpretacion de la imagen debe ser bidireccional:
En una direccion concluimos nuevos hechos desde la informacion que poseemos.
En otro usamos los hechos concluidos para descartar o rescatar nueva informacion.
2. La segmentacion de imagenes con una fuerte componente ruidosa requiere de un modelo de objeto
que en caso de que pueda sufrir variaciones geometricas debera ser un modelo deformable.
3. Es conveniente el estudio multiescala de la senal mediante el que podemos:
Considerar una cantidad superior de informacion. Efectivamente, como hemos podido com-
probar, realizar un estudio multiescala de la senal, facilita el manejo de informaciones que se
localizan a distintas escalas.
Concluir nuevos hechos desde el establecimiento de relaciones entre las informaciones que se
obtienen en distintas escalas.
5Por ejemplo, en la localizacion de las manos se ha usado un muestreo de (5,4,3) en los ejes de deformacion no rıgida
que da lugar a un tiempo requerido del orden de 60 veces la ejecucion de la transformada de Hough generalizada.6Recordemos que en la transformada de Hough tradicional el numero de entradas es del orden del numero de pıxeles
obtenidos por el detector de aristas.7Una aplicacion muy interesante de este modelo es la segmentacion de citologıas de mama en las que se mide si el
contorno (la membrana celular) esta bien definido (las celulas cancerıgenas rompen la membrana celular)
Conclusiones y trabajos futuros
Resultados. pag.141
4. La descomposicion en los modos naturales de deformacion es una excelente opcion para la parametrizacion
de las deformaciones de un objeto en imagenes biomedicas. Con esta, conseguimos un sistema de
ejes coordenados que clasifican las deformaciones y nos permiten un estudio eficaz y jerarquico de
la deformacion de un contorno.
5. La trasformada de Hough puede ser usada como inicializacion para modelos deformables a pesar
de que los objetos posean un alto grado de variacion. Obviamente, la T.H. clasica no es capaz de
manejar dichas situaciones aunque la reformulacion presentada en este trabajo permite la construc-
cion de algoritmos que junto con tecnicas de optimizacion basadas en modelos deformables consigue
una correcta localizacion.
6. Existen diferentes fuentes de informacion que colaboran en la determinacion de la localizacion del
objeto. El uso simultaneo de estas nos permite obtener un metodo mas robusto y eficaz especialmente
en casos de fuerte inestabilidad (ruido no estocastico, solapamiento, multiples objetos).
7. El espacio de localizaciones definido por los principales ejes de deformacion establece una superficie
de optimizacion muy robusta frente a problemas de ruidos e informacion parcial.
Desarrollos Futuros.
Estudio de contornos 2D. Una vez que disponemos de un algoritmo que nos ofrece una repre-
sentacion multiescala del contorno, se ha abierto la posibilidad de construccion de otros algoritmos.
Considerese por ejemplo la generacion de una familia de polıgonos multiresolucion que puede ser
obtenida variando el valor de U desde un valor maximo de alta resolucion hasta un valor mınimo
de mas baja resolucion y que pueden ser usados en problemas de alineamiento de formas.
Aprendizaje.
• De los puntos nodales que representan la aproximacion poligonal (algoritmo de puntos dom-
inantes desde una muestra). En este trabajo se ha presentando un algoritmo que obtiene los
puntos principales desde un contorno representativo. Para objetos deformables puede ser mas
interesante describir dichos puntos desde varias curvas para las que una misma zona se presenta
con distintas curvaturas.
• De la zona de incertidumbre. En los ejemplos desarrollados en esta memoria se ha fijado una
zona de incertidumbre circular y por exceso. Si se desea desarrollar un mecanismo totalmente
automatico para el reconocimiento de formas, es necesario determinar un modulo de apren-
dizaje que sea capaz de inferir que parametros son los mas optimos.
Eficiencia.
• Estudio de la aplicacion de metodos jerarquicos que consideran distintas resoluciones (vease
por ejemplo [Ben Yacoub y Jolion 95], [Meer et al. 90], [Jain y Lakshmanan 96]).
• Integracion multicanal previa a la localizacion. En este punto es interesante destacar la posibil-
idad de localizar la mejor escala para cada zona de la imagen (vease por ejemplo [Brunnstrom y
otros 90], [Garcıa et al. 95], [Lindeberg 93a]) aunque resulta mas efectivo para nuestro problema
localizar varias escalas significativas y limitarnos a la eliminacion de informacion redundante
([Garcıa-Silvente et al. 96]). Un planteamiento interesante es el estudio de algoritmos para
reducir el conjunto de aristas original eliminando las cadenas redundantes obtenidas desde
distintas escalas.
Conclusiones y trabajos futuros
pag.142 Optimizacion de la localizacion
• Mejora con aportaciones realizadas para la T.H. clasica. (vease por ejemplo [Davies 90], [Jeng
y Tsai 91], [Kalvianen et al. 94], [Ser y Siu 95], [Yip et al. 95], etc.). Este punto resulta de
los de mayor interes ya que un amplio conjunto de estudios realizados sobre la T.H. clasica
consiguen una mejora muy importante en eficiencia y el estudio de la aplicacion de estos sobre
el enfoque desarrollado en este trabajo puede dar lugar a tiempos aceptables incluso para
problemas complejos.
Informacion desde el objeto: Introduccion de informacion a priori sobre el espacio de deformacion
(por ejemplo, una probabilidad). Soluciona casos como falta de informacion (veanse los ejemplos
sobre manos).
Informacion desde la imagen: Mezcla de informaciones.
• Otro tipo de informacion. La metodologıa que se ha desarrollado esta abierta a la incorporacion
de otro tipo de informacion para determinar la localizacion de un objeto. Para ello habra que
estudiar como se define la funcion que integra dicha informacion para actualizar una posicion
del espacio de parametros. Logicamente, en este punto pueden considerarse distintas tecni-
cas de Inteligencia Artificial (Redes neuronales, redes causales, tecnicas de propagacion de la
incertidumbre,...).
• Otras funciones. (Incluye por ejemplo dar peso a las cadenas con criterios como nivel de ruido
en el contorno, estabilidad a traves del espacio de escalas, etc).
Generalizacion mediante la aplicacion a otros problemas. Podemos considerar por ejemplo:
• Objetos compuestos. El considerar que el objeto no se define a partir de una unica curva que
lo delimita cae fuera de los objetivos de este trabajo. A pesar de ello, es posible desarrollar
algoritmos que segmenten objetos complejos definidos a partir de subobjetos o subestructuras
([Yuille et al. 92]).
• Caracteres escritos. Este campo es muy interesante ya que aunque en principio parece un
problema que puede estar distante de los desarrollos en esta memoria, no podemos olvidar que
en esencia no es mas que un objeto deformable aunque las funciones que se deban definir sean
de distinta naturaleza ([Lai y Chin 95]).
• Registrado de imagenes ([Amit y Kong 96]).
• Movimiento (seguimiento de un objeto que varıa en posicion y deformacion en una secuencia
de imagenes).
Aplicacion a 3D.
Conclusiones y trabajos futuros
Apendice A
Calculo de los modos naturales de
vibracion.
En este apendice se presenta la parte mas relevante del codigo utilizado para el calculo de los modos
naturales de vibracion (vease pagina 75). En primer lugar se ofrece el listado completo del fichero principal
con la funcion main. Aunque existen funciones que se usan y no se presentan, el codigo esta escrito en
C++ y es facilmente legible sin necesidad de informacion adicional.
El fichero principal es:
#include <general.hh>
#include <stream.h>
#include <math.h>
#include <stdio.h>
#include <matriz.hh>
#include <modal.hh>
#include <parametros.hh>
/∗ ∗/
/∗ —————— Estructura de los parametros ——————- ∗/
const char ∗plantilla= ’’i?Sk?Sm?Sv.SV.S’’;
const char ∗descripcion[]= ’’poligono: Nombre del fichero con la matriz nx2’’,
’’f Rigidez: nombre del fichero para almacenar la matriz K’’,
’’f Masa: nombre del fichero para almacenar la matriz M’’,
’’f Valores: nombre del fichero para almacenar los autovalores’’,
’’f Vectores: nombre del fichero para almacenar los autovalores’’
;
/∗ ∗/
int main(int argc, char ∗argv[])
143
pag.144 Calculo de los modos naturales de vibracion.
double SIGMA;
char nom[250]=’’-’’,nomk[250]=’’’’, nomm[250]=’’’’, nomv[250]=’’’’, nomV[250]=’’’’;
Matriz p,K,M,val,vec;
double alfa,beta,xi;
buscar parametros(argc,argv,plantilla,descripcion,nom,
nomk,nomm,nomv,nomV);
p.leer matriz(nom);
if (p.columnas()!=2)
ErrorFin(’’main->La matriz entrada tiene que tener 2 columnas’’);
SIGMA= CalculaSigmaDistanciaMedia(p);
cerr ≪ ’’Puntos: \n’’≪ p.t();
cerr ≪ ’’\nSigma: ’’ ≪ SIGMA ≪ ’’\n’’;cerr ≪ ’’Calculamos las matrices K,M\n’’;
alfa= POISSON RATIO/(1-POISSON RATIO);
beta= STIFFNESS∗(1-POISSON RATIO)/
((1+POISSON RATIO)∗(1-2∗POISSON RATIO));
xi= (1-2∗POISSON RATIO)/(2∗(1-POISSON RATIO));
mass stiffness(M, K, p, SIGMA, DENSIDAD, alfa, beta, xi);
if (nomk[0]!=’\0’)K.grabar matriz(nomk);
if (nomm[0]!=’\0’)M.grabar matriz(nomm);
cerr ≪ ’’Calculamos los autovectores y autovalores.\n’’;
vec=M;
K.generalizado autoV(val,vec);
val.grabar matriz(nomv);
vec.grabar matriz(nomV);
return 0;
Es necesario detallar el calculo de la matriz de masas y de rigidez que se obtienen por medio de la
siguiente funcion:
/∗∗∗ Function name : mass stiffness
∗∗∗∗ Description : Calcula M,K como propone Sclaroff
Apendice A
Calculo de los modos naturales de vibracion. pag.145
∗∗ Input : puntos=(x1,x2,....,xm,y1,y2,...,ym)∧t∗∗ Output : Matriz M y K
∗/void mass stiffness(Matriz& M, Matriz& K, const Matriz& p, const double sig,
const double ro, const double alfa, const double beta,
const double xi)
register i,j,k,l;
double sig cuad,sumaa,sumab,sumbb,aikjlg;
double xi12= (xi+1)/2,xkl,ykl;
int m=p.filas();
Matriz G(m,m),invG(m,m),Kaa(m,m),Kbb(m,m),Kab(m,m);
/∗ ————————– Construimos G ————————– ∗/
sig cuad=2∗sig∗sig;for (i=1;i<=m;i++)
for (j=1;j<=m;j++) //en i,j ponemos funcion g sub i del punto j
xkl= p[j][1]-p[i][1]; // (vx,vy)= xj-xi;
ykl= p[j][2]-p[i][2];
G[i][j]= exp(-(xkl∗xkl+ykl∗ykl)/sig cuad);
invG= G. 1();
G= G.aplica funcion(sqrt); // G contiene las raices cuadradas
/∗ ————————- Matriz de masas ————————- ∗/
M= (ro∗M PI∗sig∗sig)∗(invG∗G∗invG);
M= ( M | Matriz(m,m,0))/
(Matriz(m,m,0) | M );
/∗ ———————— Matriz de rigidez ———————— ∗/
sig cuad= 4∗sig∗sig;
for (i=1;i<=m;i++)
for (j=1;j<=m;j++) sumaa=sumab=sumbb=0;
for (k=1;k<=m;k++)
for (l=1;l<=m;l++) xkl= p[k][1]-p[l][1]; // xkl= xk-xl;
ykl= p[k][2]-p[l][2]; // ykl= yk-yl
aikjlg= invG[i][k]∗invG[j][l]∗G[k][l];
sumab+=aikjlg∗xkl∗ykl;
Apendice A
pag.146 Calculo de los modos naturales de vibracion.
sumaa+=aikjlg∗(xi12-(xkl∗xkl+xi∗ykl∗ykl)/sig cuad);
sumbb+=aikjlg∗(xi12-(xi∗xkl∗xkl+ykl∗ykl)/sig cuad);
Kaa[i][j]=sumaa;
Kab[i][j]=sumab;
Kbb[i][j]=sumbb;
Kaa∗ =M PI∗beta;Kbb∗ =M PI∗beta;Kab∗ =(-M PI∗beta∗(alfa+xi)/sig cuad);
K= ( Kaa | Kab )/
( Kab | Kbb );
Y por ultimo, el autoproblema generalizado se ha resuelto de la siguiente forma:
/∗ ∗/
//
// Method name : generalizado autoV
//
// Description : Resuelve Ax=Lambda B x. Recipes pg 462;
// Input : A es ∗this y B es vec
// Output : En val los autovalores y en vec los autovectores
//
void Matriz::generalizado autoV(Matriz& val, Matriz& vec, int ord) const
Matriz L,L 1,C;
L= vec.cholesky(); // L∗Lt=B
L 1= L. 1(); // L 1 es la inversa de L
L= L 1.t(); // L ahora contiene L∧(-1)∧t == L∧t∧(-1)C=L 1∗(∗this)∗L; // C=L∧(-1)∗a∗(L∧(-1))∧tC.autoV(val,vec); // Calcula los autovalores y autovectores de C
vec= L∗vec; // vec= L∧t∧(-1)∗ vec
if (ord)
vec.ordena autoV(val);
Para mayor informacion acerca de los calculos realizados puede ser consultada la referencia [Press et
al. 92].
Apendice A
Apendice B
Vibraciones naturales de un
nematodo.
En este apendice se presenta un ejemplo de las deformaciones naturales correspondientes a los modos
naturales de vibracion de una forma de nematodo. Se han muestreado un total de 14 nodos en el contorno
que se traducen en un total de 28 vectores de deformacion cada uno de ellos presentados con una lınea
continua sobre el contorno de deformacion cero (lınea discontinua). El lector puede observar como se
pueden distinguir:
Los vectores 1 y 2 reflejan traslaciones en el eje Y y en el eje X respectivamente.
El vector 3 representa una rotacion. Aunque pueda parecer que puede modelizarse una rotacion
grande, recuerdese que estos vectores deforman por medio de una operacion lineal.
Los vectores 4-28 son deformaciones rıgidas. Como podemos ver, las deformaciones se clasifican
desde las mas globales a las mas locales.
Por ultimo, destacar que aunque algunas parezcan poco reales (vease por ejemplo, la numero 14), el
modulo del vector de deformacion no es el de la figura ya que se ha escalado para que el lector pueda
observar de una forma mas clara las deformaciones. Estas deformaciones se presentan a continuacion.
147
pag.148 Vibraciones naturales de un nematodo.
vector 1 vector 2 vector 3
vector 4 vector 5 vector 6
vector 7 vector 8 vector 9
vector 10 vector 11 vector 12
Apendice B
Vibraciones naturales de un nematodo. pag.149
vector 13 vector 14 vector 15
vector 16 vector 17 vector 18
vector 19 vector 20 vector 21
vector 22 vector 23 vector 24
Apendice B
Apendice C
Aproximacion elıptica de una nube
de puntos.
En este apendice se presentan las expresiones consideradas en la aproximacion mediante una elipse de
una nube de puntos. Supongamos (r1, c1) · · · (rN , cN ) el conjunto de puntos a los que aproximar la elipse.
Representamos la elipse mediante los parametros a, b, A,B,C en la ecuacion:
(r − a
c− b
)t(A B
B C
)(r − a
r − b
)= 1
La primera estimacion que se realiza es:
a =1
N
n∑
n=1
rn
b =1
N
n∑
n=1
cn
(A B
B C
)=
1
2(µrrµcc − µ2rc)
(µcc −µrc
−µrc µrr
)
donde:
µrr =1
N
N∑
n=1
(rn − a)2
µrc =1
N
N∑
n=1
(rn − a)(cn − b)
µrc =1
N
N∑
n=1
(cn − b)2
Y el error a minimizar es:
ǫ2 =
N∑
n=1
[d2(rn − a)2 + 2de(rn − a)(cn − b) + (e2 + f2)(cn − b)2 − 1
]2
151
pag.152 Aproximacion elıptica de una nube de puntos.
donde:
d =√A e =
B
df =
√c− e2
Y la derivada del error utilizada en la optimizacion es:
∂ǫ2
∂a= 4
N∑
n=1
(fn − 1)[−d2(rn − a)− de(cn − b)
]
∂ǫ2
∂b= 4
N∑
n=1
(fn − 1)[−de(rn − a)− (e2 + f2)(cn − b)
]
∂ǫ2
∂d= 4
N∑
n=1
(fn − 1)[d(rn − a)2 + e(rn − a)(cn − b)
]
∂ǫ2
∂e= 4
N∑
n=1
(fn − 1)[d(rn − a)(cn − b) + e(cn − b)2
]
∂ǫ2
∂f= 4
N∑
n=1
(fn − 1)[f(cn − b)2
]
Apendice C
Apendice D
Modelo de Grenander: Distribucion
a priori.
En este apendice se presenta la parte mas relevante del codigo utilizado para la simulacion de la
distribucion a priori del modelo probabilıstico de deformacion de Grenander. La funcion principal es
DeformarTemplate y el codigo es:
#include <math.h>
#include <stdlib.h>
#include <LEDA/list.h>
#include <fdiscreta1D.hh>
#include <deform.hh>
/∗ ———————– Variables globales ———————— ∗/
const int nr= 2; // Numero de restricciones
Matriz beta(1000,2,0.0); // 1000 es el maximo de vectores de un template
/∗ ∗/
static void ConstruirQ1Q2 (Matriz& Q1, Matriz& Q2, Matriz& abond, Matriz& sig,
int kiter, int nvectors)
register i,j,k;
int n= Q1.filas();
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j) k=kiter+i-1;
k=(k>nvectors)?k-nvectors:k;
Q1[i][i] = abond[1][k]+abond[1][(k==nvectors)?1:k+1]+1/sig[1][k];
Q2[i][i] = abond[2][k]+abond[2][(k==nvectors)?1:k+1]+1/sig[2][k];
else if (i==j+1)
153
pag.154 Modelo de Grenander: Distribucion a priori.
k=kiter+i-1;
k=(k>nvectors)?k-nvectors:k;
Q1[i][j]= -abond[1][k];
Q2[i][j]= -abond[2][k];
else if (j==i+1)
k=kiter+j-1;
k=(k>nvectors)?k-nvectors:k;
Q1[i][j]= -abond[1][k];
Q2[i][j]= -abond[2][k];
else Q1[i][j]=Q2[i][j]=0;
/∗ ∗/
/∗∗∗ Function name : DeformarTemplate
∗∗∗∗ Description : Realiza una iteracion de la a priori de grenander
∗∗ Input : Antiguo template old, parametros abond y sig, numero de
∗∗ segmentos que deformar y situacion de estos en old(1..nvector).
∗∗ Output : Nuevo template deformado.
∗/Matriz DeformarTemplate (Matriz& parent, Matriz& oldchild,
Matriz& abond, Matriz& sig,
int n, int kiter)
register i,j;
Matriz parent relativo(parent.filas(),parent.columnas());
Matriz child relativo(oldchild.filas(),oldchild.columnas());
int n2= 2∗n;int index,index 1;
int nvectors= parent.filas();
/∗ ————— Preparamos los vectores parent y child ————— ∗/
Matriz child= oldchild;
for (i=2;i<=parent.filas();i++) parent relativo[i][1]= parent[i][1]-parent[i-1][1];
parent relativo[i][2]= parent[i][2]-parent[i-1][2];
parent relativo[1][1]= parent[1][1]-parent[parent.filas()][1];
parent relativo[1][2]= parent[1][2]-parent[parent.filas()][2];
for (i=2;i<=child.filas();i++)
Apendice D
Modelo de Grenander: Distribucion a priori. pag.155
child relativo[i][1]= child[i][1]-child[i-1][1];
child relativo[i][2]= child[i][2]-child[i-1][2];
child relativo[1][1]= child[1][1]-child[parent.filas()][1];
child relativo[1][2]= child[1][2]-child[parent.filas()][2];
Matriz L(nr,n2,0.0);
for(i=1;i<=n2;i+=2) // L= |1 0 1 ... 0 |L[1][i]=1; // |0 1 0 ... 1 |L[2][i+1]=1;
Matriz // H = / 1 0 0 ... 0 | 0 0 0 ... 0\H(n2,n2,0.0); // | 0 0 0 ... 0 | 1 0 0 ... 0|
for(i=1;i<=n;i++) // | 0 1 0 ... 0 | 0 0 0 ... 0|H[2∗i-1][i]=1.0; // | 0 0 0 ... 0 | 0 1 0 ... 0
H[2∗i][i+n]=1.0; // ...
Matriz subparent(n2,1,0.0);
for (index=kiter,i=1;i<n2;i+=2) subparent[i][1]=parent relativo[index][1];
subparent[i+1][1]=parent relativo[index][2];
index= (index==nvectors)?1:index+1;
Matriz Gamma(n2,n2,0.0);
for(i=1;i<n2;i+=2) Gamma[i][i]=subparent[i][1];
Gamma[i][i+1]=-subparent[i+1][1];
Gamma[i+1][i+1]=subparent[i][1];
Gamma[i+1][i]=subparent[i+1][1];
Matriz G;
G= Gamma∗H;
Matriz Q1(n,n,0.0),Q2(n,n,0.0);
ConstruirQ1Q2 (Q1, Q2, abond, sig, kiter, nvectors);
Q1= Q1. 1();
Q2= Q2. 1();
Apendice D
pag.156 Modelo de Grenander: Distribucion a priori.
Matriz Cov;
Cov = ( Q1 | Matriz(n,n,0)) /
(Matriz(n,n,0) | Q2 );
Matriz mb(n2,1,0.0),Gmb;
i= (kiter==1)?nvectors:kiter-1;
j= kiter+n;
j= (j>nvectors)?j-nvectors:j;
mb[1][1]= Q1[1][1]∗beta[i][1]/abond[1][(i==nvectors)?1:i+1];
mb[n][1]= Q1[1][n]∗beta[j][1]/abond[1][j];mb[n+1][1]= Q2[1][1]∗beta[i][2]/abond[2][(i==nvectors)?1:i+1];
mb[n2][1]= Q2[1][n]∗beta[j][2]/abond[2][j];
Gmb= G ∗ mb;
Matriz muz(n2,1), w(n2,1);
for (index=kiter,i=1;i<n2;i+=2) muz[i][1]=Gmb[i][1]+parent relativo[index][1];
muz[i+1][1]=Gmb[i+1][1]+parent relativo[index][2];
w[i][1]=child relativo[index][1];
w[i+1][1]=child relativo[index][2];
index= (index==nvectors)?1:index+1;
Matriz LLRL,z,Rz;
Matriz D,C,identidad(n2,n2),Gzt, X;
Rz= G ∗ Cov ∗ G.t();
LLRL= L.t() ∗ (L ∗ Rz ∗ L.t()). 1();
z= muz+ Rz ∗ LLRL ∗ (L∗w - L∗ muz);
D= Rz.cholesky();
identidad.identidad();
C= D∗ (identidad - D.t() ∗ LLRL ∗ L ∗ D );
X= Normal(n2);
z= z+C∗X;
Gzt= H.t()∗Gamma. 1()∗(z-subparent);
for(index=kiter,i=1;i<=n;i++) beta[index][1]=Gzt[i][1];
beta[index][2]=Gzt[n+i][1];
index= (index==nvectors)?1:index+1;
Apendice D
Modelo de Grenander: Distribucion a priori. pag.157
index=kiter;
index 1=(kiter==1)?nvectors:kiter-1;
for(i=1;i<=n-1;i++)child relativo[index][1]=z[2∗i-1][1];child relativo[index][2]=z[2∗i][1];child[index][1]=child relativo[index][1]+child[index 1][1];
child[index][2]=child relativo[index][2]+child[index 1][2];
index= (index==nvectors)?1:index+1;
index 1= (index 1==nvectors)?1:index 1+1;
child relativo[index][1]=child[index][1]-child[index 1][1];
child relativo[index][2]=child[index][2]-child[index 1][2];
return child;
donde la funcion Normal(n) genera un vector n-dimensional de una N(0,I). Para mayor informacion
acerca de los calculos realizados se pueden consultar las referencias [Grenander et al. 91] y [Knoerr 88].
Apendice D
Bibliografıa
[Amit y Kong 96] Y. Amit y Augustine Kong, Graphical Templates for Model Registration, IEEE Trans.
Pattern Analysis and Machine Intell., vol. 18, no. 3, pp. 225-236, 1996.
[Ansari y Huang 91] N. Ansari y Kuo-Wei Huang, Non-Parametric Dominant Point Detection, Pattern
Recognition. Vol. 24. N. 9, pp 849-862. 1991.
[Asada y Brady 86] H. Asada y M. Brady, The curvature Primal Sketch, IEEE Trans. Pattern Analysis
and Machine Intell., vol. 8, n. 1, pp 2-14, 1986.
[Babaud et al. 86] J. Babaud, A. P. Witkin, M. Baudin, y R.O. Duda, Uniqueness of the Gaussian kernel
for scale-space filtering, IEEE Trans. Pattern Analysis and Machine Intell., vol.8, no. 1, pp. 26-33,
1986.
[Baddeley y Van Lieshout 92] A. Baddeley y M.N. Van Lieshout, Object recognition using markov spatial
processes, 11th IAPR International Conference on Pattern Recognition, vol B, pp. 136-139. 1992.
[Ballard 81] D.H. Ballard, Generalizing the Hough Transform to Detect Arbitrary Shapes, Pattern Recog-
nition, vol. 13, pp. 111-122, 1981.
[Ballard y Brown 82] D.H. Ballard y C.M. Brown, Computer Vision, Prentice Hall, 1982.
[Bathe 82] K. Bathe. Finite Element Procedures, Prentice-Hall, 1996.
[Beaulieu y Goildberg 89] J.M. Beaulieu y M. Goldberg, Hierarchy in Picture Segmentation: A Stepwise
Optimization Approach, IEEE Trans. Pattern Analysis and Machine Intell., vol. 11, n. 2, pp
150-163, 1989.
[Bengtsson y Eklundh 91] A. Bengtsson y J, Eklundh, Shape representation by multiscale contour aprox-
imation, IEEE Trans. Pattern Analysis and Machine Intell., vol. 13, no. 1, pp. 85-93, 1991.
[Ben Yacoub y Jolion 95] S. Ben Yacoub y J.M. Jolion, Characterizing the hierarchical Hough transform
through a polygonal approximation algorithm, Pattern Recognition Letters, vol. 16, pp. 389-397,
1995.
[Bergholm 87] Fredrik Bergholm, Edge Focusing, IEEE Trans. Pattern Analysis and Machine Intell., vol.
9, n. 6, pp 726-741, 1987.
[Blake y Yuille 92] A. Blake y Alan Yuille, Active Vision. MIT Press (1992).
[Bookstein 78] F. L. Bookstein, The Measurement of Biological Shape and Shape Change. Lectures Notes
in Biomathematics n.24, Springer-Verlag, 1978.
[Brunnstrom y otros 90] K. Brunnstrom, J.O. Eklundh y T. Lindeberg, On scale and resolution in active
analysis of local image structure, Imagen and Vision Computing, vol. 8, no. 4, pp. 289-296, 1990.
159
pag.160 BIBLIOGRAFIA
[Bunke 92] H. Bunke, Advances in structural and syntactic pattern recognition, World Scientific, 1992.
[Burt 81] J. Burt, Fast filter transforms for image processing, Computer Vision, Graphics, and Image
Processing, vol. 16, pp. 20-51, 1981.
[Canny 86] J. Canny,A computacional approach to edge detection, IEEE Trans. Pattern Analysis and
Machine Intell., vol. 8, n. 6, pp 679-698, 1986.
[Carmo 76] Manfredo Perdigao do Carmo, Differential geometry of curves and surfaces, Prentice-Hall
1976.
[Cohen y Cohen 93] L. D. Cohen y I. Cohen, Finite-Element Methods for Active Contour Models and
Balloons for 2-D and 3-D Images, IEEE Trans. Pattern Analysis and Machine Intell., vol. 15, no.
11, pp 1131-1147, 1993.
[Cootes et al. 95] T.F. Cootes, C.J. Taylor, D.H. Cooper y J. Graham,Active shape models - their training
and application, Computer vision and image understanding, vol. 61(1), 38-59, 1995.
[Crowley 81] J.L. Crowley, A Representation for Visual Information PhD thesis, Carnegie-Mellon Uni-
versity, Robotics Institute, Pittsburgh, Pennsylvania, 1981.
[Davies 90] E. Davies, Machine Vision: Theory, Algorithms, Practicalities, Academic Press, 1990.
[Douglas y Peucker 73] D.H. Douglas y T.K. Peucker, Algorithms for the reductions of the number of
points required to represent a digitised line or its caricature. Canadian Cartographer 10(2),pp.
112-122, 1973.
[Dubuisson et al. 96] M. P. Dubuisson, S. Lakshmanan y A.K. Jain, Vehicle segmentation and Classifi-
cation using Deformable templates, IEEE Trans. Pattern Analysis and Machine Intell., vol. 18,
no. 3, pp. 293-308, 1996.
[Farag y Delp 95] Aly A. Farag y Edward J. Delp, Edge linking by sequential search. Pattern Recognition,
Vol. 28, N. 5, pp 611-633, 1995.
[Fdez-Valdivia et al. 91] J. Fdez-Valdivia, N. Perez de la Blanca, Characterization of shapes in micro-
scopical digital images 7th. SCIA Procc, 701-708, 1991.
[Fdez-Valdivia et al. 95a] J. Fdez-Valdivia, J.A. Garcıa, M. Gcia-Silvente, A. Garrido y N. Perez de
la Blanca, A new edge-oriented approach to segment 2-D shapes VI Simposium Nacional de
Reconocimiento de Formas y Analisis de Imagenes, pp. 97-104, 1995.
[Fdez-Valdivia et al. 95b] J. Fdez-Valdivia, J.A. Garcıa, N. Perez de la Blanca, A. Garrido y J.M. Fuertes,
A new methodology to solve the problem of characterizing 2-D biomedical shapes, Computers
Methods and Programs in Biomedicine 46, pp. 187-205, 1995.
[Fdez-Valdivia et al. 95c] J. Fdez-Valdivia, J. Chamorro, J.A. Garcia, A. Garrido y E. Lozano, A
watershed-based algorithm to segment digital images, Actas del VI Simposium Nacional de Re-
conocimiento de formas y analisis de imagenes, pp. 105-111, 1995.
[Florack et al. 92] L.M.J. Florack, B.M. ter Haar Romeny, J.J. Koenderink, y M.A. Viergever, Scale and
the differential structure of images, Image and Vision Computing, vol. 10, pp. 376-388, 1992.
[Fu 82] K.S. Fu, Syntactic Pattern Recognition and Applications, Prentice Hall 1982.
[Garcıa et al. 94] J.A. Garcıa y J. Fdez-Valdivia, Representing planar curves by using a scale vector,
Pattern Recognition Letters. Vol 15 pp. 937-942, 1994.
BIBLIOGRAFIA pag.161
[Garcıa et al. 95] J.A. Garcıa, J. Fdez-Valdivia y A. Garrido, A scale-vector approach for edge detection,
Pattern Recognition Letters. Vol 16 pp. 637-646, 1995.
[Garcıa-Silvente et al. 96] M. Garcıa-Silvente, J.A. Garcıa y J. Fdez-Valdivia, The novel scale-spectrum
space for representing gray-level shape. Aceptado en Pattern Recognition.
[Garrido et al. 95] A. Garrido, N. Perez de la Blanca, J. Fdez-Valdivia y J.M. Fuertes, Segmenting non-
random noise biomedical images. Actas del VI Simposium Nacional de Reconocimiento de formas
y analisis de imagenes, pp. 434-442, 1995.
[Geman y Geman 84] D. Geman y S. Geman, Stochastic Relaxation, Gibbs Distributions, and the
Bayesian Restoration of Images, IEEE Trans. Pattern Analysis and Machine Intell., vol. 6,
721-741, 1984.
[Gonzalez y Woods 92] R. C. Gonzalez y R. E. Woods, Digital Image Processing, Addison-Wesley, 1992.
[Goshtasby 94] Ardeshir Goshtasby, On edge focusing, Image and Vision Computing, vol. 12, no. 4, 1994.
[Gradshteyn y Ryzhik 88] I.S. Gradshteyn y I.M. Ryzhik, Table of integrals, series, and products, Aca-
demic press, San Diego, 1988.
[Grenander 76] U. Grenander, Pattern Synthesis. Lectures in Pattern Theory Vol. 1. Applied Mathemat-
ical Sciences, vol. 18, Springer Verlag, 1976.
[Grenander y Keenan 89] U. Grenander y D.M. Keenan, Towards automated image understanding. Jour-
nal of Applied Probability, vol. 16, n.2, 207-221, 1989.
[Grenander et al. 91] U. Grenander, Y. Chow y D. M. Keenan, Hands: A Pattern Theoretic Study of
Biological Shapes, Springer Verlag, 1991.
[Griffin y Colchester 95] L.D. Griffin y A.C.F. Colchester, Superficial and deep structure in linear diffu-
sion scale space: isophotes, critical points and separatrices, Image and Vision Computing, vol.
13, no. 7, pp. 534-557, 1995.
[Hancock y Kittler 90a] E.R. Hancock y J. Kittler, Edge-labelling using dictionary-based relaxation, IEEE
Trans. Pattern Analysis and Machine Intell., vol. 12, 165-181, 1990.
[Hancock y Kittler 90b] E.R.Hancock y J. Kittler. Discrete Relaxation. Pattern Recognition, Vol. 23, No
7, pp . 711-733, 1990
[Hancock et al. 92] E.R. Hancock, M. Haindl y J. Kittler, Multiresolution edge labelling using hierarchical
relaxation, 11th IAPR International Conference on Pattern Recognition, vol B, 140-144, 1992.
[Haralick y Shapiro 92] R. Haralick y L. Shapiro, Computer and Robot Vision, vol-I, Addison-Wesley,
1992.
[Illingworth y Kittler 88] J. Illingworth, y J. Kittler, A Survey of the Hough transform, Comput. Vision,
Graph & Image Process., Vol 44, pp 87-116, 1988.
[Jain y Lakshmanan 96] A.K. Jain y Sridhar Lakshmanan, Objetc Matching Using Deformable Tem-
plates, IEEE Trans. Pattern Analysis and Machine Intell., vol. 18, no. 3, pp. 267-278, 1996.
[Jain 89] A.K. Jain, Fundamentals of digital image processing, Prentice-Hall, 1989.
[Jeng y Tsai 91] S.C. Jeng y W.H. Tsai, Scale and orientation invariant generalized hough transform- A
new approach, Pattern Recognition, vol. 24, No. 11, pp. 1037-1051, 1991.
pag.162 BIBLIOGRAFIA
[Kalvianen et al. 94] H. Kalvianen, P. Hirvonen, Lei Xu y Erkki Oja, Probabilistic and non-probabilistic
Hough transforms: overview and comparisons, Image and Vision Computing, Vol. 13 n. 4, May
1995.
[Kass et al. 87a] M. Kass, A. Witkin, y D. Terzopoulos.Snakes:Active contour models. In Proc. 1st Int.
Conf. on Computer Vision, 259-268, London, 1987.
[Kass et al. 87b] M. Kass, A. Witkin, y D. Terzopoulos.Snakes:Active contour models. Int. Journal of
Computer Vision, vol. 1, no. 4, 321-331, 1987.
[Kittler y Hancock 89] J.Kittler y E.R.Hancock. Combining evidence in probabilistic relaxation. Int. J.
Pattern Recognition Artif. Intell. 3. pp. 29-52, 1989.
[Klinger 71] A. Klinger, Pattern and search statistics. Optimizing Methods in Statistics (J.S. Rustagi,
ed.),(New York), Academic Press, 1971.
[Knoerr 88] A. Knoerr, Globals Models of Natural Boundaries: Theory and Applications. Report in Pat-
tern Theory 148. Brown University, 1988.
[Koenderink 84] J.J. Koenderink ,The structure of images Biological cybernetics 50:363-370, 1984
[Koenderink y Van Doorn 86] J.J. Koenderink y A.J. Van Doorn,Dynamic Shape Biological cybernetics
53:383-396, 1986
[Koenderink y Richards 88] J.J. Koenderink y W. Richards, Two-dimensional curvature operators, Jour-
nal of the Optical Society of America, vol.5, N. 7, pp. 1136-1141, Julio 1988.
[Lai y Chin 95] K.F. Lai y R.T. Chin, Deformable Contours: Modelling and Extraction. IEEE Trans.
Pattern Analysis and Machine Intell., vol. 17, N. 11, pp. 1084-1090, Noviembre 1995.
[Leavers 92] V.F. Leavers, Use of the radon transform as a methos of extracting information about shape
in two dimensions, Image and Vision Computing, vol 10, no. 2, 1992.
[Leymarie y Levine 93] F. Leymarie y M.D. Levine, Tracking Deformable Objects in the Plane Using
and Active Contour Model, IEEE Trans. Pattern Analysis and Machine Intell., vol. 15, N. 6, pp.
617-634, Junio 1993.
[Lindeberg 90] T. Lindeberg, Scale Space for Discrete Signalsm IEEE Trans. Pattern Analysis and Ma-
chine Intell., vol. 12, N. 3, pp. 234-254, Marzo 1990.
[Lindeberg y Eklundh 92a] T. Lindeberg y J.O. Eklundh, The scale-space primal sketch: Construction
and experiments, Image and Vision Computing, vol. 10, pp. 3-18, 1992.
[Lindeberg 92b] T. Lindeberg, Scale-space behaviour of local extrema and blobs, J. of Mathematical Imag-
ing and Vision, vol. 1, pp. 65-99, Mar 1992
[Lindeberg 93a] T. Lindeberg, On scale selection for differential operators., en Proc. 8th Scandinavian
Conf. on Image Analysis, pp. 857-866, Mayo 1993.
[Lindeberg 93b] T. Lindeberg, Detecting salient blob-like image strctures and their scales with a scale-
space primal sketch: A method for focus-of-attention, Int. J. of Computer Vision, vol.11, no. 3,
pp. 283-318, 1993.
[Lindeberg 93d] T. Lindeberg, Effective Scale: A Natural Unit for Measuring Scale-Space Lifetime, IEEE
Trans. Pattern Analysis and Machine Intell., vol. 15, N. 10, pp. 1068-1074, 1993.
BIBLIOGRAFIA pag.163
[Lindeberg 94a] T. Lindeberg, Scale-space theory in computer vision, Kluwer Academic Publishers. Dor-
drecht, Netherlands, 1994.
[Livesley 88] R. K. Livesley, Elementos finitos: introduccion para ingenieros, Limusa, Mexico, D.F., 1988.
[Lowe 88] D.G. Lowe, Organization of smoot image curves at multiple scales. Proc. 2nd International
Journal of Computer Vision, pp. 558-567, 1988.
[Marr y Nishahara 78] D.Marr y H.K. Nishahara, Visual Information Processing: Artificial Intelligence
and the Sensorium of Sight. Technology Review, V81 (1), pp 2-23, 1978.
[Marr 82] D. Marr. Vision - A Computational Investigation into the Human Representation and Process-
ing of Visual Information. W.H. Freeman and Co., San Francisco, 1982.
[Meer et al. 90] P. Meer, C.A. Sher y A. Rosenfeld, The chain pyramid: hierarchical contour processing,
IEEE Trans. Pattern Analysis and Machine Intell., vol. 12, 363-376, 1990.
[Mokhtarian y Mackworth 86] F. Mokhtarian y A. Mackworth, Scale-Based Description and Recognition
of Planar Curves and Two-Dimensional Shapes. IEEE Trans. Pattern Analysis and Machine
Intell., vol. 8, n. 1, pp 34-43, 1986.
[Ng et al. 93] I. Ng, J. Kittler y J. Illingworth, Supervised segmentation using a multiresolucion data
representation, Signal Processing vol. 31 no. 2, pp. 133-163, 1993.
[Pao et al. 92] Derek C. W. Pao, Hon F. Li, y R. Jayakumar, Shapes Recognition Using the Straight Line
Hough transform: Theory and Generalization, IEEE Trans. Pattern Analysis and Machine Intell.,
vol. 14, no. 11, noviembre 1992.
[Pavlidis 80] T. Pavlidis. Structural Pattern Recognition. Springer Series in Electrophysics. vol. 1.
Springer-Verlag, 1980.
[Pei y Horng 95] Soo-Chang Pei y Ji-Hwei Horng. Circular arc detection based on Hough transform,
Pattern Recognition Letters, vol. 16, pp. 615-625, 1995.
[Pentland y Sclaroff 91] A. Pentland y S. Sclaroff. Closed-form solutions for physically-based shape mod-
eling and recognition. IEEE Trans. Pattern Analysis and Machine Intell., 13(7), pp. 715-729, Julio
1991.
[Perez de la Blanca et al. 92] N. Perez de la Blanca y J. Fdez-Valdivia Building up templates for non-
rigid plane outlines. Proceedings ICPR-92, vol.3, pp. 575-578, 1992.
[Perez de la Blanca et al. 93] N. Perez de la Blanca, J. Fdez-Valdivia y J.A. Garcia Characterizing planar
outlines Pattern Recognition Letters. Vol 14. pp. 489-497. 1993.
[Perona y Malik 90] P. Perona y J. Malik, Scale-Space and Edge detection using anisotropic diffusion,
IEEE Trans. Pattern Analysis and Machine Intell., vol. 12, n. 7, pp. 629-639, Julio 1990.
[Poggio y Torre 84] T. Poggio y V. Torre, Ill-posed Problems and Regularization Analysis in Early Vision,
Proceedings of AARPA Image Understanding Workshop, pp. 257-263, 1984.
[Press et al. 92] W. Press, S. Teukolsky, W. Vetterling y B. Flannery, Numerical recipes in C, Cambridge
U.P., 1992.
[Rattarangsi y Chin 92] A. Rattarangsi y R.T. Chin, Scale-Based Detection of Corners of Planar Curves.
IEEE Trans. Pattern Analysis and Machine Intell., vol. 14, n. 4, abril 1992.
pag.164 BIBLIOGRAFIA
[Ronfard 94] R. Ronfard, Region-Based Strategies for Active Contour Models, International Journal of
Computer Vision, 13:2, 229-251, 1994.
[Rosenfeld 84] A.Rosenfeld,Multiresolution Image Processing and Analysis, Springer Series in Information
Sciences. vol. 12. Springer-Verlag, 1984.
[Rosin 92] P.L. Rosin, Representing curves at their natural scales. Pattern Recognition, Vol. 25, no. 11,
pp.1315-1325. 1992.
[Samet 90a] H. Samet, The design and analysis of spatial data structures. Addison Wesley, 1990.
[Samet 90b] H. Samet, Applications of spatial data structures. Addison Wesley, 1990.
[Sclaroff y Pentland 95] S. Sclaroff y A. Pentland. Modal Matching for Correspondence and Recognition,
IEEE Trans. Pattern Analysis and Machine Intell., vol 17, no. 6, pp 545-561, 1995.
[Sclaroff 95] S. Sclaroff.Modal Matching: A Method for Describing, Comparing, and Manipulating Digital
Signals. PhD Dissertation, MIT Media Laboratory, 1995.
[Ser y Siu 95] P.K. Ser y W.C. Siu, A new Generalized Hough Transform for the detection of irregular
objects. Journal of visual communication and image representation, Vol. 6, No. 3, pp 256-264,
Septiembre 1995.
[Serra 82] J. Serra, Image Analysis and Mathematical Morphology, Academic Press 1982.
[Sonka et al. 93] M. Sonka, V. Hlavac y R. Boyle, Image, processing, analysis and machine vision, Chap-
man & Hall, 1993.
[Staib y Duncan 92] L.H. Staib y J.S. Duncan, Boundary Finding with Parametrically Deformable Mod-
els, IEEE Trans. Pattern Analysis and Machine Intell., vol. 14, 1061-1075, 1992.
[Szeliski 89] Szeliski, R. Bayesian Modeling of Uncertainty in Low-Level Vision. Kluwer Academic Pub-
lishers, Boston. MA, 1989.
[Tanimoto y Klinger 80] Tanimoto y A. Klinger, eds, Structured Computer Vision. New York: Academic
Press, 1980.
[Teh y Chin 89] C.H. Teh y R. T. Chin, On the detection of dominant points on digital curves. IEEE
Trans. Pattern Analysis and Machine Intell., vol. 11, n. 8, pp 859-872, 1989.
[Ward 63] J.H. Ward, Hierarchical grouping to optimize and objective function, J. Amer. Stat. Ass., vol.
58, pp. 236-245, 1963.
[William y Shah 90] D.J William. y M. Shah, Edge contours using multiple scale, Computer Vision
Graphics and Image Processing,vol. 51, pp. 256-274, 1990.
[Witkin 83] A.P. Witkin, Scale-space filtering. Proc. 8th Intern. Joint Conf. Artif. Intell., Karlsruhe, West
Germany, pp. 1019-1022, 1983.
[Wood 96] J. Wood, Invariant pattern recognition: a review. Pattern Recognition, Vol. 29, no. 1, pp. 1-17,
1996.
[Yip et al. 95] R.K.K. Yip, P.K.S. Tam y D.N.K. Leung, Modification of Hough Transform for object
recognition using a 2-dimensional array. Pattern Recognition. vol 28, no. 11, pp. 1733-1744,
1995.
[Yuille et al. 92] A.L. Yuille, P.W. Hallinan y D.S. Cohen, Feature Extraction from faces using de-
formables templates, Int. Jour. Computer Vision, vol. 8, no. 2, 99-111, 1992.
Indice alfabetico
Aa posteriori, probabilidad, 124, 125
a priori
informacion, 5, 69
probabilidad, 124
aceleracion, vector de, 72
activo, contorno, 5
acumulador, 82, 83
de evidencias, 89
disminucion del tamanno, 91
representacion grafica del, 93
ajuste, funcion de, 36
algoritmo
Af , 37
Ap, 36
de enfocado de fronteras, 59
de enfoque, 114
de minimizacion de puntos, 38
de puntos dominantes, 34
multiescala detector de fronteras, 56
para puntos multiples, 61
alisamiento de contornos, 25, 29
amortiguacion, 75
matriz de, 72
parametro de, 75
analisis modal, 69, 73
angulo de contingencia, 28
aproximacion
elıptica, 151
aproximaciones
elıpticas, 113
modelos deformables, 5
no supervisados, 5
supervisados, 6
segmentacion, 3
aristas, vease fronteras
autoproblema
generalizado, 74
T. Hotelling, 79
Bbifurcaciones, 22, 53
blobs, 22
Ccadenas
corte y orientacion, 62
criterio para orientacion, 63
extraccion de, 60
informacion de, 8, 86
calor, difusion del, 18
Canny
filtro de, 52
caracterizacion, funcion de, 36
Caughey, series de, 74
causalidad, 21, 31
citologıas de mama, 13
codigos Freeman, 10, 86
contorno, 25
activo, 5
alisamiento de, 25, 29
contraccion del, 26
geografico alisado, 26
localizacion, 81
representacion multiescala de un, 30
representacion de un, 9
contraccion
correccion de la, 27
correccion global de la, 27
del contorno, 26
correlacion, 78
cota de error, 36, 37
curva
forma parametrica, 25, 116
punto medio, 27
radio medio de, 27
curvatura, 28
calculo de la, 32
curvas de nivel, 87
espacio de escalas de la, 30
165
pag.166 INDICE ALFABETICO
puntos de maxima, vease puntos dominantes
curvatura media, 28
curvature primal sketch, 30
Ddeformacion
base, 93
ejes (en T.H.) de, 82
global y local, 70, 77, 83, 124
limitacion de la, 122
modal, 77
no rıgida, 77, 83
plana
condiciones de, 71
principal, 78
rıgida, 77, 82, 83
seleccion, 77
tensor, 71
densidad de masa, 72
derivacion, espacio de escalas, 18
desplazamiento-deformacion
matriz de, 72
desplazamientos generalizados, 73
modales, 74
desviacion
de los maximos(correccion), 33
diccionario de deformaciones, 93
difusion del calor, 18
dimension
del espacio de localizaciones, 82, 83, 91, 111
dinamico, comportamiento, 69
distancia de Ward, 122
Eelasticidad, matriz, 71
elastico, material, 71
elemento finito
ecuaciones, 71
elemento finito en equilibrio, 72
eliminacion
de deformaciones, 78
de la zona de incertidumbre, 90
de modos de deformacion local, 92
de puntos multiples, 60
energıa
de deformacion, 123
disipacion, 72, 75
externa, 6, 116
desde fronteras, 117
desde regiones, 121
interna, 5, 116, 123
enfocado
algoritmo de, 114
de fronteras, 53, 59
operacion de, 34
entorno, informacion del, 8
equilibrio
ecuacion de, 71
transformacion de la, 73
elemento finito en, 72
estatico, 72
error mınimo, 36, 37
escala
efectiva, 21
espacio de, vease espacio de escalas
estructura a traves de la, 22
interna, 16, 32
seleccion de una, 16
espacio de escalas, 15
curvatura y, 29
de la curvatura, 30
definicion, 17
derivacion, 18
muestreo, 21, 32
normalizacion, 55
propiedades, 19
causalidad, 21
muestreo, 21
semigrupo conmutativo, 19
estatico, equilibrio, 72
estocastico
ruido, 1
ruido no, 1
estructura
en profundidad, 22
informacion de una, 87, 88
evidencias
acumulador de, 89
de cada cobjeto, 112
ponderacion de, 90
FFEM, 70
filtro de Canny, 52
fısica
energıa, 123
propiedad, 70
forma
INDICE ALFABETICO pag.167
alineamiento de una, 69, 78
deteccion de una, 9
funciones de, 75
modos de la, 74
representacion de una, 9, 89
propiedades de la, 9
codigos, 10, 86
fronteras
caminos de las, 53
de cada objeto, 112
deteccion de, 51, 56
energıa desde, 117
informacion basada en, 7
optimizacion desde, 111
proyeccion multiescala de, 59
segmentacion desde, 3
union de, 4
no supervisada, 4
supervisada, 4
Ggaussiana
2-D(derivadas), 18
derivadas de, 18, 29
distribucion, 125
graficas de, 19, 20
nucleo de, 17
para interpolacion, 75
Gibbs, distribucion de, 125
global, deformacion, vease deformacion global y lo-
cal
g-snakes, 7
Hhisteresis, 52, 54
homogeneidad
problema de, 1
regiones y, 121
Hotelling, transformada de, 79
Hough
transformada de
generalizada, 82
modificada, 85, 88
Iimagenes test, 13, 25
incertidumbre
zona de, vease zona de incertidumbre
inercia, fuerzas de, 72
informacion
de aristas, 8, 86
de cada objeto, 112
fusion de, 7
multicanal
integracion, 94, 117, 121, 122
multiescala, 16
niveles de la, 8, 86, 88
construccion, 87
tipos de, 7
interpolacion, 37, 96
matriz de, 72, 75
invarianza en la escala, 55
isotropico, material, 71
Llaplaciana de gaussiana, 52, 53
ley de tension-deformacion, 71
libre
modos de vibracion, vease vibracion libre
local, deformacion, vease deformacion global y local
LoG, 52
logarıtmico, muestreo, 22, 32
MMarkov, proceso de, 124
Marr
paradigma de, 2
primal sketch de, 51
masa, 71
calculo de la matriz de, 76
densidad de, 72
matriz de, vease matriz,masas
material elastico, 71
matriz
amortiguacion, vease amortiguacion
covarianzas, 79
de acumulacion, 82
de transformacion, 73, 74
desplazamiento-deformacion, 72
elasticidad, 71
fuerzas, 72
interpolacion, 72, 75
masas, 72
calculo, 76
rigidez, 72
calculo, 76
maximos
caminos de los, 21, 31
pag.168 INDICE ALFABETICO
construccion, 32
del acumulador de evidencias, 90
del valor absoluto, 32, 37
localizacion de los, 33
mesetas, en la acumulacion, 90
minimizacion
del conjunto de puntos, 38
del error cometido, 113, 151
mınimos cuadrados, 113
modal
analisis, 69, 73
coordenada, 79
deformacion, 77
desplazamiento generalizado, 74, 79
superposicion, 73
modelo
de ruido, 124
deformable
probabilıstico, 123
segmentacion con un, 4
geometrico, uso de un, 113
modulo de Young, 72
morfologıa, 4
M-ortonormalidad, 74
movimientos
no rıgidos, 77
rıgidos, 77
muestreo
de una curva, 25
del contorno, 70
del espacio de escalas, 32
del espacio de parametros, 92
en representacion piramidal, 16
espacio de escalas, 21
multicanal
informacion, vease informacion, multicanal
multiescala
informacion, 16
union de, 94
representacion, 15, 16, 52
multihisteresis, 54, 94
umbrales, 54
multiplicidad, ruido por, 1
multiresolucion
espacio de parametros, 114
imagen, 8
Nniveles
de la informacion, 8, 86
de resolucion, 114
Ooptimizacion
de la localizacion
de fronteras, 59
de objetos, 111
final de la solucion, 116
PPapanicolau, tecnica de, 13
parametro de escala, 17
particion de contornos localizados, 95
piramidal, representacion, 15
pıxel, informacion del, 8, 86
Poisson
distribucion de, 1
ratio de, 72
potencial, 116–122
precision, incremento de la, 111
preprocesamiento de aristas, 60
primal sketch, 51
principales, deformaciones, 78
profundidad, estructura en, 22
punto crıtico, 22
trayectoria, 22
velocidad, 23, 53
punto medio, 27
puntos dominantes, 30, 36, 87
deteccion de, 34
informacion basada en, 87
puntos multiples, 60
eliminacion, 62
Qquad-tree, 15
Rrachas, 10, 86, 87, 90
radio medio, 27, 37
ratio de Poisson, 72
Rayleigh, asuncion de, 73
regiones
caracterizacion de, 121
energıa desde, 121
informacion basada en, 7, 119
segmentacion por, 4
varianza interior de, 121
INDICE ALFABETICO pag.169
regularizacion, 123
relajacion, metodos de, 8, 51
representacion
de formas, 9, 89
de un contorno, 9
multiescala, 15
multiescala de un contorno 2D, 30
rigidez, 71
calculo de la matriz de, 76
matriz, 72
condiciones locales de, 123
rıgidos, movimientos, 77
ruido, 1
no aleatorio, 1, 13
por multiplicidad, 1
sal y pimienta, 99
tipos, 1
estocastico, 1
Ssegmentacion, 10
aproximaciones, 3
desde fronteras, 3
desde modelos deformables, 4
desde regiones, 4
semigrupo conmutativo, 19
senal-ruido, relacion, 99
series de Caughey, 74
snakes, 5, 123
snaxels, 5
solapamiento, ruido por, 1
soporte, condiciones de, 71
superposicion modal, 73
supervisados, metodos, 5
Ttamano global, medida de, 27
template deformables, segmentacion por, 4
tendencias, 10
discretizacion, 10, 87
generalizadas, 87
tension, 71
condiciones locales de, 123
tension-deformacion
ley, 71
matriz, 71
tensor de deformacion, 71
transformada
de Hotelling, 79
de Hough, 82
difusa, 84
modificada, 85, 88
trayectorias
de los maximos, vease maximos,caminos...
Uumbralizacion
usando histeresis, 52, 54
usando multihisteresis, 54
unicidad del nucleo gaussiano, 20
union
de informacion multicanal, 16, 94
usando la T.H., 96
de rachas, 87
fronteras, 4, 51
puntos de, 87
Vvelocidad, vector, 72
vibracion libre, modos de, 71, 73, 77
votacion, 85
WWard, distancia de, 122
YYoung, modulo de, 72
Zzona de incertidumbre, 84–86, 90, 114