Você está na página 1de 238

Sistemas de Percepcin y o Visin por Computador o

Prof. Alberto Ruiz Garc a


Dpto. Informtica y Sistemas a Facultad de Informtica a http://dis.um.es/~alberto

EN CONSTRUCCION. Versin del 13 de febrero de 2012 o Se agradecer cualquier sugerencia y la noticacin de errores. a o
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Resumen de cambios
20111102 Esquema de Procesos Gaussianos 20111017 Filtro de Kalman 20110223 Guin de las clases de visin. o o 20111218 Aclaraciones y correccin de erratas en la transformada de Fourier de polil o nea. 20101213 Criterio MDL para la seleccin del nmero de componentes en las mezclas de o u gaussianas. 20101211 Representacin grca del Teorema de Bayes en el caso ms simple. o a a 20101208 Forma alternativa en C.5. 20101204 Conjunta de normal y funcin lineal (C.5). o 20101117 Condicionamiento y marginalizacin en una densidad normal (C.5). o 20101117 Comentario sobre Teorema de Green y sentido de giro, y correccin de la o transformada de Fourier de una polil nea. 20101117 Comentario sobre componentes independientes. 20070528 Alineamiento af de siluetas en B.15 (en construccin). n o 20070528 Recticacin simplicada de planos en 5.5. o 20070523 Ejemplo detallado de reconstruccin estreo en la seccin 7.5 o e o 20070204 Interpretacin geomtrica de ei2t en el apndice B o e e 20070130 Aadido cap n tulo de Mquinas de aprendizaje. a Aadimos apndice de optimizacin. n e o Ahora el documento se puede imprimir mejor por las dos caras. 20040923 Un par de aclaraciones menores. 20040615 Errata. 20040610 En Formacin de las Imgenes: guras y bibliograf aadidas, cambio de o a a n estructura, cambios en Rayo dado un pixel. Empezamos Reconstruccin 3D y llevamos o autocalibracin a este cap o tulo. En Organizacin Matricial aadimos algo sobre transformaciones lineales, cambiamos o n un pco la Pseudoinversa Las herramientas matemticas se estructuran en apndices. Muchas correcciones menoa e res.

ii

Indice general
I Sistemas de Percepcin o
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
3 3 4 5 8 11 13 15 17 19 19 21 21 22 24 24 24 27 28 31 31 33 34 36 37 38 39 39 40 43 44 45 46 48

1. Introduccin a la Percepcin Articial o o 1.1. Sistemas Autnomos Articiales . . . o 1.2. La Percepcin . . . . . . . . . . . . o 1.3. Percepcin de Bajo y Alto Nivel . . . o 1.4. Reconocimiento de Modelos . . . . . 1.5. Ejemplo: anlisis de voz . . . . . . . a 1.6. Espacio de Propiedades . . . . . . . 1.7. Aprendizaje Automtico . . . . . . . a 1.8. Aplicaciones . . . . . . . . . . . . .

2. Preprocesamiento y Extraccin de Propiedades o 2.1. Seleccin de Propiedades . . . . . . . . . . . . . o 2.2. Extraccin de Propiedades Lineales . . . . . . . . o 2.2.1. Propiedades Ms Expresivas (MEF) (PCA) a 2.2.2. Propiedades Ms Discriminantes (MDF) . a 2.2.3. Componentes Independientes . . . . . . . 2.2.4. Compressed Sensing . . . . . . . . . . . . 2.3. Reconocimiento de Formas . . . . . . . . . . . . 2.4. Reconocimiento de Caracteres Impresos . . . . . . 2.5. Introduccin al Reconocimiento del Habla . . . . . o 3. Diseo de Clasicadores n 3.1. Clasicadores sencillos . . . . 3.2. Evaluacin . . . . . . . . . . o 3.2.1. Ejemplos . . . . . . . 3.3. El Clasicador Optimo . . . . 3.3.1. Modelo inicial . . . . 3.3.2. Modelo del mundo . . 3.3.3. Prediccin . . . . . . o 3.3.4. Incertidumbre . . . . 3.3.5. Modelo probabil stico 3.3.6. Regla de Bayes . . . . 3.3.7. Modelo conjunto . . . 3.3.8. Modelo inverso . . . . 3.3.9. Clasicacin . . . . . o 3.3.10. Test de Bayes . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

iv 3.3.11. Ejemplo . . . . . . . . . . . 3.3.12. Error de Bayes . . . . . . . . 3.3.13. Ponderacin de los errores. . o 3.3.14. Rechazo. . . . . . . . . . . . 3.3.15. Combinacin de Informacin. o o 3.4. Estimacin de densidades . . . . . . o 3.4.1. Mtodos Paramtricos . . . . e e 3.4.2. Mtodos No Paramtricos . . e e 3.4.3. Modelos del mezcla . . . . . 3.5. Aprendizaje Bayesiano . . . . . . . . 3.6. Seleccin de Modelos . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 51 53 54 54 55 57 59 60 63 63 65 65 68 70 71 71 74 75 75 78 79 80 81 82 83 85 85 86 89 90 91 92 92

4. Mquinas de Aprendizaje a 4.1. Introduccin . . . . . . . . . . . . . . . . . . . . o 4.2. La mquina lineal . . . . . . . . . . . . . . . . . a 4.3. Clasicacin por M o nimos Cuadrados . . . . . . . 4.4. Anlisis Bayesiano de la regresin lineal . . . . . . a o 4.5. Mquinas lineales con saturacin . . . . . . . . . a o 4.6. Mquinas Neuronales . . . . . . . . . . . . . . . a 4.6.1. El perceptrn multicapa . . . . . . . . . . o 4.6.2. El algoritmo backprop . . . . . . . . . . . 4.6.3. Ejemplos . . . . . . . . . . . . . . . . . . 4.6.4. Extraccin de propiedades no lineales . . . o 4.6.5. Comentarios . . . . . . . . . . . . . . . . 4.7. Mquinas de Vectores de Soporte . . . . . . . . . a 4.7.1. Consistencia . . . . . . . . . . . . . . . . 4.7.2. Capacidad . . . . . . . . . . . . . . . . . 4.7.3. Margen . . . . . . . . . . . . . . . . . . . 4.7.4. Hiperplano de mxima separacin . . . . . a o 4.7.5. El truco de kernel . . . . . . . . . . . . 4.7.6. La mquina de vectores de soporte (SVM) a 4.8. Procesos Gaussianos . . . . . . . . . . . . . . . . 4.9. Boosting . . . . . . . . . . . . . . . . . . . . . . 4.9.1. Random Forests . . . . . . . . . . . . . . 4.9.2. AdaBoost . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

II

Visin por Computador o


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . matriz de cmara a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93
101 . 101 . 103 . 106 . 110 . 113 . 120 123

5. Visin por Computador I o 5.1. Planteamiento . . . . . . . . 5.2. Formacin de las Imgenes . o a 5.3. Modelo lineal de cmara . . . a 5.4. Calibracin . . . . . . . . . . o 5.5. Recticacin de planos . . . . o 5.6. Homograf derivadas de una as 6. Procesamiento de Imgenes a

v 6.1. Introduccin al procesamiento digital de imgenes o a 6.1.1. Ejemplos . . . . . . . . . . . . . . . . . . 6.2. Propiedades de Bajo y Medio nivel . . . . . . . . 6.3. Reconocimiento e Interpretacin . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 123 126 129

7. Reconstruccin 3D o 7.1. Triangulacin . . . . . . . . . . . . . . . . . . . . . . . . o 7.2. Restriccin Epipolar . . . . . . . . . . . . . . . . . . . . o 7.2.1. Matriz Fundamental. . . . . . . . . . . . . . . . . 7.2.2. Matriz Esencial . . . . . . . . . . . . . . . . . . . 7.3. Reconstruccin 3D . . . . . . . . . . . . . . . . . . . . . o 7.3.1. Reconstruccin Proyectiva . . . . . . . . . . . . . o 7.3.2. Reconstruccin Calibrada . . . . . . . . . . . . . o 7.4. Autocalibracin . . . . . . . . . . . . . . . . . . . . . . o 7.4.1. Calibracin mediante planos . . . . . . . . . . . o 7.4.2. Autocalibracin mediante rotaciones . . . . . . . o 7.4.3. Autocalibracin a partir de matrices fundamentales o 7.4.4. Autocalibracin mediante cmaras . . . . . . . . o a 7.4.5. Autocalibracin mediante odometr . . . . . . . o a 7.5. Ejemplo detallado . . . . . . . . . . . . . . . . . . . . . 7.6. Ms vistas . . . . . . . . . . . . . . . . . . . . . . . . . a

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

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

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

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

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

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

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

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

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

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

131 . 131 . 133 . 134 . 135 . 136 . 137 . 138 . 140 . 142 . 142 . 143 . 144 . 145 . 145 . 150

III

Herramientas Matemticas a
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

151
153 . 153 . 154 . 158 . 159 . 162 . 162 . 163 165 165 166 167 168 170 172 173 174 177 178 180 182 183

A. Factorizacin de matrices o A.1. Transformaciones lineales . . . . . . . . A.2. Organizacin matricial . . . . . . . . . . o A.3. Valores y vectores propios (eigensystem) A.4. Valores singulares . . . . . . . . . . . . A.5. Otras Descomposiciones . . . . . . . . . A.5.1. Descomposicin RQ . . . . . . . o A.5.2. Descomposicin de Cholesky . . . o B. Representacin Frecuencial o B.1. Espacio de funciones . . . B.2. Seales peridicas . . . . n o B.3. Manejo de la fase . . . . B.4. Interpretacin geomtrica o e B.5. Serie de Fourier . . . . . B.6. Integral de Fourier . . . . B.7. Muestreo y reconstruccin o B.8. DFT . . . . . . . . . . . B.9. Onda 2D . . . . . . . . . B.10.Propiedades . . . . . . . B.11.DCT . . . . . . . . . . . B.12.Filtrado . . . . . . . . . . B.13.Convolucin . . . . . . . o

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

vi B.14.Wavelets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.15.Alineamiento de contornos . . . . . . . . . . . . . . . . . . . . B.15.1. Distancia entre contornos . . . . . . . . . . . . . . . . B.15.2. Invarianza af . . . . . . . . . . . . . . . . . . . . . . n B.15.3. Clculo de y de una regin a partir de su contorno. a o B.15.4. Serie de Fourier exacta de una funcin lineal a trozos . o B.15.5. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . C. Probabilidad C.1. Clculo de Probabilidades . . . . . . . . . . a C.2. Poblaciones Multidimensionales . . . . . . . C.3. Modelo Gaussiano . . . . . . . . . . . . . . C.4. Inferencia Probabil stica . . . . . . . . . . . C.5. Inferencia Probabil stica en el caso Gaussiano C.5.1. Marginalizacin . . . . . . . . . . . o C.5.2. Condicionamiento . . . . . . . . . . C.6. Filtro de Kalman . . . . . . . . . . . . . . . C.6.1. Motivacin . . . . . . . . . . . . . . o C.6.2. Algoritmo . . . . . . . . . . . . . . C.7. UKF . . . . . . . . . . . . . . . . . . . . . C.8. Filtro de Part culas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 186 186 186 187 189 191 193 193 196 201 205 209 209 210 211 211 214 215 215

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

D. Optimizacin o D.1. Operadores diferenciales . . . . . . . . . . . . . . D.2. Sistemas de ecuaciones lineales sobredeterminados. D.2.1. No homogneos . . . . . . . . . . . . . . e D.2.2. Homogneos . . . . . . . . . . . . . . . . e D.3. Descenso de Gradiente . . . . . . . . . . . . . . . D.4. Mtodo de Newton . . . . . . . . . . . . . . . . e D.5. Aproximacin de Gauss-Newton . . . . . . . . . . o D.6. Optimizacin con restricciones . . . . . . . . . . . o D.7. Programacin lineal . . . . . . . . . . . . . . . . o D.8. Programacin cuadrtica . . . . . . . . . . . . . . o a D.9. RANSAC . . . . . . . . . . . . . . . . . . . . . . D.10.Minimizacin L1 . . . . . . . . . . . . . . . . . . o

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

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

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

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

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

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

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

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

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

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

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

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

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

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

217 . 217 . 218 . 218 . 219 . 219 . 220 . 222 . 222 . 223 . 223 . 223 . 223

E. Utilidades 225 E.1. Woodbury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 E.2. Completar el cuadrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 F. Clculo Cient a co 227 F.1. Matlab/Octave/R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 F.2. Mathematica/Maxima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Bibliograf a 229

Parte I Sistemas de Percepcin o

Cap tulo 1 Introduccin a la Percepcin Articial o o


From a syntactic zombie a semantic and sentient being has emerged! Hofstadter

Qu es la percepcin? La Real Academia la dene como la sensacin interior que resulta de e o o una impresin material hecha en nuestros sentidos. Tambin dice que percibir es recibir por o e uno de los sentidos las imgenes, impresiones o sensaciones externas. Curiosamente, percibir a tambin es comprender o conocer algo. Es una de las facultades ms sorprendentes de los e a seres vivos: el sistema nervioso es capaz de interpretar informacin bruta y transformarla en o conceptos abstractos. Deseamos que las mquinas tambin se den cuenta de lo que sucede a su alrededor: estamos a e interesados en dotarlas de algn tipo de percepcin articial. Por supuesto, se tratar simu o a plemente de una primera aproximacin, muy cruda, a la percepcin humana, o o ntimamente relacionada con la capacidad de comprender. Esto se encuentra todav muy lejos de nuestras a posibilidades tecnolgicas, incluso en ambientes controlados. El tipo de percepcin articial o o que podemos conseguir en la actualidad no es ms que la deteccin de propiedades interesantes a o del entorno. Esta capacidad no es despreciable: nos permite desarrollar aplicaciones prcticas a con un impacto cada vez mayor.

1.1.

Sistemas Autnomos Articiales o

La gura siguiente muestra un esquema, muy simplicado, de un sistema autnomo que o interacta con su entorno: u

1.2 La Percepcin o

Introduccion

Las echas indican el ujo de informacin: los sensores captan magnitudes f o sicas de inters. A e partir de ellas, la etapa de percepcin trata de obtener, y mantener, una representacin adecuao o da del entorno. Tras una etapa de razonamiento ms o menos compleja, el sistema decidir a a la accin oportuna de acuerdo con sus objetivos (p.ej. modicar el entorno, desplazarse, etc.). o Es realmente necesaria una representacin abstracta del mundo? Cuando las acciones del o sistema dependen directamente de los est mulos decimos que el sistema es reactivo. Algunos creen que la acumulacin coordinada de comportamientos reactivos elementales puede dar o lugar a un comportamiento global que exteriormente puede interpretarse como deliberativo o racional. No construyen representaciones, sostienen que el mundo es su propia representacin. o El enfoque es atractivo: trata de reducir la complejidad a elementos simples. Sin embargo, los resultados obtenidos hasta el momento (en robots tipo insecto, rebaos, etc., e incluso n humanoides [3]) no muestran comportamientos demasiado interesantes. Parece existir una barrera de complejidad que no es fcil atravesar. a Otros piensan que para conseguir un comportamiento inteligente es conveniente mantener algn tipo de representacin abstracta expl u o cita, intermedia entre los est mulos y las rdenes o de actuacin: un modelo del entorno, y del propio sistema dentro de l, que incluya su estado o e interno, sus objetivos, restricciones, etc.

1.2.

La Percepcin o

La gura siguiente muestra un esquema, tambin muy simplicado, de la etapa de percepcin: e o

Ante la inmensa complejidad del mundo real nos jamos en unas ciertas magnitudes f sicas, las metemos en una especie de embudo de procesamiento de informacin y obtenemos una o representacin abstracta. Idealmente la representacin debe mantenerse actualizada en tiempo o o real, reejando continuamente los cambios del entorno. Las mltiples realizaciones posibles u de un mismo objeto (o tipo de objeto, o de situacin) se reducen a un concepto, una clase o de equivalencia en la que resumimos su esencia, lo que tienen en comn. u

Introduccion

1.3 Percepcin de Bajo y Alto Nivel o

Es evidente que cualquier representacin es una simplicacin tremenda de la realidad, que o o tiene un nivel de detalle potencialmente innito. La representacin se ja solo en los aspectos o relevantes para el objetivo del sistema. Si la representacin es tan detallada como el entorno o pero no est estructurada, si no contiene propiedades abstractas, no resuelve el problema a (y corremos el riesgo de caer en una regresin innita), ya que habr que aplicar una nueva o a etapa de percepcin sobre la representacin para encontrar en ella los aspectos relevantes. o o La percepcin trabaja a partir de los est o mulos, que no son ms que medidas de las magnitudes a f sicas. Los seres vivos codican los est mulos mediante impulsos nerviosos; en los computadores los digitalizamos y convertimos en variables numricas. Los est e mulos son informacin bruta, sin o elaborar, contaminados con ruido, con elementos irrelevantes, etc. Recibimos un ujo continuo de miles o incluso millones de bits por segundo que tenemos que reorganizar y procesar para extraer las propiedades abstractas que nos interesan en cada momento. La percepcin requiere un gran esfuerzo computacional que, curiosamente, los seres vivos reao lizamos de manera inconsciente y automtica. En la actualidad esta capacidad es dif a cilmente alcanzable incluso para los ms potentes supercomputadores. En contraste, ciertas tareas que a son triviales para un computador resultan muy complejas para los seres vivos. La maquinaria biolgica est basada en el procesamiento paralelo masivo, que permite considerar simultneao a a mente un nmero elevad u simo de hiptesis o conjeturas de interpretacin. Algunas se refuerzan, o o otras se debilitan, hasta que la hiptesis ms consistente resulta ganadora. El estilo compuo a tacional convencional basado en procesadores muy rpidos pero esencialmente secuenciales no a parece el ms apropiado para resolver problemas de percepcin. a o Los seres vivos reciben la informacin sobre el mundo exterior en forma de sensaciones cuao litativas (qualia): sabores, colores, tonos y timbres sonoros, etc., que estn relacionados con a magnitudes f sicas: composicin qu o mica, frecuencia de la onda luminosa, espectro de frecuencias de la onda sonora, etc. Podemos incluir tambin otro tipo de sensaciones, como el dolor, e que proporciona informacin urgente sobre el estado interno del sistema, y otras. Al abordar o el problema Mente/Cuerpo desde una perspectiva basada en el procesamiento de informacin o surge una cierta dicultad para explicar este tipo de sensaciones.

1.3.

Percepcin de Bajo y Alto Nivel o

El ujo de informacin principal es ascendente (bottom-up), va desde los est o mulos hacia las representaciones. Pero la percepcin tambin utiliza (frecuentemente de manera impl o e cita) cierto conocimiento de las situaciones que pueden ocurrir. No puede trabajar en vac existe o: un ujo de informacin descendente (top-down) que orienta y gu la construccin de las o a o representaciones a partir de expectativas, hiptesis o conjeturas razonables. o Un ejemplo de procesamiento puramente ascendente se maniesta en la capacidad de fusionar estereogramas aleatorios, donde las imgenes correspondientes a cada ojo contienen congua raciones aleatorias que no ofrecen ninguna pista sobre el contenido de la imagen. A pesar de ello, el cerebro consigue encontrar correlaciones en la imagen y deducir la profundidad de cada trozo de la escena, que puede ser posteriormente reconocida. Cmo ejemplo, intenta descubrir o 1 qu numero hay representado en la gura siguiente: e
1

Sitate a unos 50 cm de distancia y enfoca detrs del papel. (Ten en cuenta que un pequeo poru a n

" !     " !    !     " !     " !      " !      "      5$##)'##'13"250#%4$#%)(#%#! " !     !     !     " !      " !      " !      "     $#%''3"%210#"$#%)(#''&%$#!    "      " !      " !     " !      " !     " !     " !      3526!%%3)%6%3)%6#&'@%316&#@%363 1@"%3%$6"%%35$6"%4'6"%%'96''&%$#! !     !     !     !      " !      " !      "        " " !      " !      " "       " " !       " !       " !      " !       $)26#%2$##"'2$#%!%$2'3%%73%$0#2# '0#"#7%#"#)2$#"%4'#'93''&%$#! !       !     !     " !       " !      " !      "       "      " !      " !       " !       " !     " ! !     ! !     $5%#!%)'#%%8''##8'13%82538'3%8#"8 ! !     ! !      !     " !     " !     " !      "     13"%8$5#"%)'#"%4'#%8%93%8''&%$#!   "      " !      " !       " !       " !     " ! !     ! !     $5%#!%)'#%%8''##8'13%82538'3%8#"8 ! !     ! !      !     " !     " !     " !      "     13"%8$5#"%)'#"%4'#%8%93%8''&%$#!   "      " !      " !       " !       " !     " ! !     ! !     $5%#!%)'#%%8''##8'13%82538'3%8#"8 ! !     ! !      !     " !     " !     " !      "     13"%8$5#"%)'#"%4'#%8%93%8''&%$#!   "      " !      " !       " !       " !     " ! !     ! !     $5%#!%)'#%%8''##8'13%82538'3%8#"8 ! !     ! !      !     " !     " !     " !      "     13"%8$5#"%)'#"%4'#%8%93%8''&%$#!   "      " !      " !       " !       " !     " ! !     ! !     $5%#!%)'#%%8''##8'13%82538'3%8#"8 ! !     ! !      !     " !     " !     " !      "     13"%8$5#"%)'#"%4'#%8%93%8''&%$#!   "      " !      " !       " !       " !     " ! !     ! !     $5%#!%)'#%%8''##8'13%82538'3%8#"8 ! !     ! !      !     " !     " !     " !      "     13"%8$5#"%)'#"%4'#%8%93%8''&%$#!   "      " !      " !       " !       " !     " ! !     ! !     $5%#!%)'#%%8''##8'13%82538'3%8#"8 ! !     ! !      !     " !     " !     " !      "     13"%8$5#"%)'#"%4'#%8%93%8''&%$#!   "      " !      " !       " !       " !     " ! !     ! !     $5%#!%)'#%%8''##8'13%82538'3%8#"8 ! !     ! !      !     " !     " !     " !      "     13"%8$5#"%)'#"%4'#%8%93%8''&%$#! 8%3#%3)(%%3)'%#3)'%%%'%%8%#'#8#8       " " !       " !       " !      " !      " !       " !     " !      " !      " !     " !     " !     " !     " !      "     )'##%1##8%1#%8#1#%8%93%8''&%$#! " !    " !     " !     " !      " !     " !    " !      " !     %(3$3$5&$53%$3%23# '#%%$53%$53"253$3%$&%$#!  " !      " !     !     " !     " !      " !      "     " !           !     " !      " !     " !    " !      " !    (2'3"!%$0#"$76#$70#%$2'0#%22'0##  !     " !     " !     " !      "      " !      "     )'&"%'10#%$50#250#$0#!%$16#%$#!     "      "       " !       " !     " !      " !     " !      '%3!%$56#!%%$#%)#%)$#4$## "     " !     !     " !      "      " !      "     5$#!%%'#%)13"%(50#$0#!%$16#%$#! " !     " !    !     " !     " !      " !      "      5$##)'##'13"250#%4$#%)(#%#! " !     !     !     " !      " !      " !      "     $#%''3"%210#"$#%)(#''&%$#!

centaje de la poblacin carece del sexto sentido de la visin estereoscpica y, p. ej., no puede trao o o bajar como piloto de caza. . . ) Este autoestereograma est fabricado con el estilo latex disponible en a http://tex.loria.fr/divers/stereo/index.html. Vase por ejemplo http://home.wanadoo.nl/hans.kuiper/optillus.htm. e

Otro ejemplo interesante es el reconocimiento de expresiones matemticas manuscritas, mua chos de cuyos signos elementales son esencialmente ambiguos: Ver una cosa es en realidad ver algo como esa cosa, es interpretar. Ciertas ilusiones opticas ponen claramente de maniesto que existe una presin cognitiva de la hiptesis de intero o pretacin vencedora que inhibe la informacin ascendente de bajo nivel, afectando a pesar o o de todos nuestros esfuerzos conscientes a nuestra manera de percibir los elementos de una escena. En la gura siguiente no podemos evitar ver muy curvadas l neas rectas y paralelas. 2 La existencia del ujo descendente se ilustra en el conocido ejemplo mostrado a continuacin, o en la que la H y la A se dibujan como una forma intermedia comn, que, debido al contexto, u se ve en cada palabra como una letra distinta: 6 1.3 Percepcin de Bajo y Alto Nivel o Introduccion

Introduccion

1.3 Percepcin de Bajo y Alto Nivel o

Su forma y disposicin espacial dan pistas sobre los operandos y los operadores y, a su vez, o la estructura global de la expresin da pistas sobre la identidad de los s o mbolos. Aparece la t pica explosin combinatoria de interpretaciones posibles. Es preciso combinar los ujos o de informacin ascendente y descendente, que por separado son insucientes, para obtener o ecientemente la interpretacin correcta. o La percepcin es una de las claves de la inteligencia. Observa la siguiente posicion de ajedrez: o

Se trata de una posicin dif para un programa basado en bsqueda exhaustiva, por fuerza o cil u bruta, en el rbol de posibilidades. La ganancia inmediata de material conduce a la derrota. a Por el contrario, los ajedrecistas humanos comprenden directamente la naturaleza de una posicin, teniendo en cuenta ciertas propiedades abstractas de la conguracin de piezas. 3 o o Otro ejemplo es la construccin de analog entre dos situaciones (p.ej. el tomo y el sistema o as a solar), que slo puede hacerse si existe una gran exibilidad en la manera de ver una situacin, o o construyendo representaciones que tengan en cuenta los aspectos relevantes entre los que se puede establecer una correspondencia. Dependiendo del poder expresivo de la representacin obtenida, se habla de dos tipos o niveo les de percepcin. La percepcin de bajo nivel detecta propiedades sencillas de los est o o mulos. La percepcin de alto nivel construye representaciones estructuradas del entorno cuya compleo jidad no est predeterminada r a gidamente por el programador. Las etapas de bajo nivel (LLP) obtienen (en paralelo) conceptos elementales, y las de alto nivel (HLP) imponen estructura a los datos:

Posicin tomada de [20]. El anlisis del programa crafty en mi mquina (hace varios aos) el siguiente: o a a n depth=24 1/13 -6.97 1. Bxa5 Be6 2. Bd8 Kf7 3. Bc7 Ra8, etc. Nodes: 251373626 NPS: 652850 Time: 00:06:25.04, En 24 niveles y tras analizar (a gran velocidad) ms de 250 millones de nodos la evaluacin es a o de casi -7 (muy mala para las blancas), cuando la realidad es que manteniendo la barrera de peones, usando el all, se garantiza el empate. La fuerza bruta no consigue captar el concepto de barrera.

1.4 Reconocimiento de Modelos

Introduccion

Cuanto ms autnomamente se construya la representacin y menos predeterminado est el a o o e resultado, tendremos una percepcin de mayor nivel. Si slo se rellenan variables o etiquetan o o nodos y arcos de un grafo, la percepcin ser de bajo nivel. o a El problema esencial de la inteligencia articial es la determinacin de los aspectos relevantes o de una cierta situacin. Esto exige una comprensin del problema que no parece fcil de o o a conseguir si partimos de representaciones predeterminadas por el diseador del programa. n Muchos sistemas de inteligencia articial tienen xito porque parten de una representacin e o adecuadamente elegida, de manera que el problema se reduce a un proceso de bsqueda ms u a o menos exhaustiva en un espacio formalizado. El paso siguiente es conseguir que un sistema elabore automticamente las representaciones a abstractas ms apropiadas a partir de los est a mulos sensoriales. Deseamos capturar, mediante procesos computacionales, unas relaciones sintcticas lo sucientemente ricas como para dar a lugar a una verdadera semntica (comprensin, signicado). Algunos piensan que esto es a o imposible por denicin [24, 20]. Otros piensan que un comportamiento externo correcto, o independientemente de cmo se lleve a cabo internamente (p. ej., fuerza bruta), es el unico o objetivo de importancia. Finalmente, hay quien piensa que esa comprensin se puede conseguir, o pero probablemente queda todav un largo camino por recorrer. a Hay que admitir que en la prctica slo somos capaces de abordar satisfactoriamente problemas a o de percepcin de bajo nivel en condiciones controladas. A medida que se eliminan restricciones o y simplicaciones se hace necesaria una comprensin ms profunda del problema. La percepcin o a o del alto nivel slo es abordable por el momento en microdominios y los resultados indican o que el grado de comprensin alcanzado es todav muy pequeo. Pero es un primer paso muy o a n valioso en la direccin (creemos) correcta [12]. o

1.4.

Reconocimiento de Modelos

Tras los comentarios anteriores sobre la Percepcin con maysculas, llega el momento de o u disear sistemas de percepcin reales que resuelvan lo mejor posible aplicaciones prcticas. Para n o a esto son de gran utilidad las tcnicas de Reconocimiento de Modelos (Pattern Recognition). e Su objetivo es detectar regularidades en los datos con el objetivo de clasicarlos dentro de un conjunto de categor de inters. as e Los sistemas de reconocimiento de modelos descomponen el embudo perceptual en el siguiente conjunto de etapas t picas:

Introduccion

1.4 Reconocimiento de Modelos

Dependiendo de cada aplicacin algunas etapas pueden omitirse, o puede ser necesario aadir o n algn otro procesamiento espec u co. En general cada etapa va aumentando progresivamente el grado de abstraccin de la informacin. o o

Adquisicin. Las magnitudes f o sicas (sonidos, imgenes, etc.) se transforman mediante sena sores en seales elctricas que una vez ltradas, amplicadas y digitalizadas pueden procesarse n e en el computador. Normalmente utilizaremos equipamiento estndar cuya calidad y prestacioa nes dependen de nuestra disponibilidad econmica y de los avances tecnolgicos. o o

Preprocesamiento. A menudo es conveniente mejorar la calidad de los datos originales (p.ej., para eliminar ruido o entidades irrelevantes). En otros casos interesa transformarlos a una representacin ms adecuada para su tratamiento matemtico (p.ej., el dominio frecuencial o a a es util en el anlisis de la voz). Esta etapa requiere normalmente ciertos conocimientos tericos a o sobre la naturaleza de la aplicacin. A veces necesitaremos tambin dispositivos especiales (p. o e ej., procesadores de seal de alta velocidad), cuyas prestaciones dependern de nuevo de las n a disponibilidades econmicas y tecnolgicas. o o

Segmentacin. Sirve para encontrar dentro del ujo de informacin los elementos indivio o duales que parecen estar dotados de signicado. La segmentacin puede ser de tipo temporal, o cuando se aislan fragmentos de la secuencia de datos sensoriales recibidos a lo largo del tiempo (p.ej. microfonemas en anlisis de voz), o espacial, cuando el conjunto de datos recibidos en a un cierto instante contiene varias posibles subunidades relevantes (p.ej. objetos de una escena o partes de un objeto). Excepto en situaciones triviales en las que el fondo y la forma estn claramente diferenciados a dentro de la masa de est mulos, la segmentacin es en realidad un problema tan complejo como o la propia interpretacin de la escena. P. ej., en aplicaciones de visin articial en ambientes o o poco estructurados existen muchas dicultades para detectar las regiones de inters: ocultae ciones y solapamientos parciales, deformaciones, no uniformidad en iluminacin, color u otras o propiedades visuales, pseudo-objetos irrelevantes, etc. Incluso en situaciones de laboratorio no

10

1.4 Reconocimiento de Modelos

Introduccion

especialmente complejas, el coste computacional requerido para obtener segmentaciones prometedoras puede resultar enorme, lo que supone un reto para el diseo de sistemas autnomos n o que operen en tiempo real. Extraccin de propiedades. En esta etapa se calculan propiedades (atributos, caracter o sticas, features) de cada entidad segmentada que deben ser, idealmente, discriminantes de las diferentes clases de inters e invariantes a todas sus posibles versiones (p. ej. cambios en e posicin, tamao, orientacin, intensidad de color, timbre o velocidad de la voz, etc.). Un o n o conjunto de propiedades de mala calidad produce un solapamiento de clases y por tanto una gran probabilidad de error en la clasicacin. o Como la anterior, esta etapa tambin es esencial para el xito de cualquier sistema de pere e cepcin. Desafortunadamente, excepto en casos relativamente sencillos (propiedades lineales o o cuadrticas), no existen tcnicas automticas satisfactorias capaces de sintetizar un conjunto a e a reducido de algoritmos que, aplicados a la informacin original, obtengan resultados discrimio nantes e invariantes. En la mayor de los casos el diseador debe disponer de un conocimiento a n terico sobre el problema que le indique propiedades o atributos potencialmente utiles. Posteo riormente estas caracter sticas candidatas s pueden ser evaluadas y seleccionadas de manera automtica. a La dimensin del espacio de propiedades debe ser la menor posible. Como veremos ms adeo a lante, es necesario evitar fenmenos de sobreajuste en la etapa de clasicacin posterior, o o usualmente basada en aprendizaje inductivo supervisado, en la que los parmetros ajustables a debern estar sometidos a un nmero suciente de restricciones por parte de los ejemplos de a u entrenamiento disponibles. En caso contrario, no cabe esperar verdadera generalizacin sobre o ejemplos futuros. La extraccin de propiedades adecuadas es esencialmente equivalente al reconocimiento de las o categor de inters. as e Clasicacin. En esta etapa se decide la categor ms probable (dentro de un conjunto o a a preestablecido) a que pertenece cada observacin sensorial elemental caracterizada por su o vector de propiedades. La clasicacin tiene un planteamiento matemtico bien denido y puede considerarse resuelta o a desde el punto de vista de la Teor de la Decisin. Existen diferentes enfoques, entre los a o que destacamos el probabil stico-estad stico y la optimizacin de funciones discriminantes. o Adems, cuando el conjunto de propiedades obtenidas en la etapa anterior es sucientemente a discriminante, la complejidad de esta etapa se reduce sensiblemente. En caso contrario, un diseo correcto del clasicador contribuir, al menos, a disminuir la proporcin de errores. n a o Los recientes avances en Mquinas de Kernel, que estudiaremos ms adelante, ofrecen una a a alternativa muy atractiva para abordar conjuntamente la clasicacin bajo una teor mao a temtica de la generalizacin inductiva y la extraccin de propiedades, que, curiosamente, se a o o realizar automticamente, incluso en espacios de propiedades de dimensin innita (!). a a o Interpretacin. Los conceptos elementales obtenidos en la etapa anterior se organizan en o una estructura espacio-temporal requerida por la aplicacin. En algunos casos existen algoo

Introduccion

1.5 Ejemplo: anlisis de voz a

11

ritmos ecientes (p.ej. programacin dinmica), pero en general se basan en algn tipo de o a u bsqueda heur u stica que trata de evitar la explosin combinatoria de interpretaciones alternao tivas. En problemas de percepcin de bajo nivel esta etapa no suele ser necesaria. o Como vemos, existe una gran variedad en la naturaleza de cada etapa y en el tipo de herramientas matemticas e informticas utilizadas para resolverlas. A medida que la informacin a a o avanza a travs de la cadena de proceso las etapas tienden a estar cada vez mejor denidas y e a depender menos de la aplicacin concreta (excepto la adquisicin inicial, que utiliza normalo o mente dispositivos estndar, y la interpretacin, que produce el resultado nal del sistema). a o Esta descomposicin en subtareas aparentemente ms sencillas, que trataremos de resolver o a por separado, es una gu razonable para abordar el diseo de sistemas de reconocimiento. De a n hecho, la modularizacin es la manera habitual de atacar la complejidad. Pero no debemos o olvidar que las etapas estn a ntimamente relacionadas unas con otras y no es fcil resolverlas a independientemente. Recordemos adems que, excepto en casos muy simples, la informacin a o se mueve en los dos sentidos, ascendente y descendente. Una de las causas de la naturaleza computacionalmente intratable de la percepcin es la dicultad de descomponerla en mdulos o o bien denidos e independientes. El xito de un sistema de percepcin articial depende esencialmente de la calidad y eciencia e o computacional que podamos conseguir en las etapas de segmentacin e interpretacin, que o o dependen de la aplicacin concreta y no son fcilmente automatizables. Por el contrario, la o a clasicacin de observaciones dentro de categor o modelos es un problema resuelto. o as Nuestro objetivo es conseguir sistemas de percepcin capaces de operar satisfactoriamente en o ambientes cada vez menos controlados.

1.5.

Ejemplo: anlisis de voz a

Para ilustrar el tipo de operaciones que se realizan en cada una de las etapas del reconocimiento de modelos, consideremos un sistema idealizado y muy simplicado de reconocimiento acstico de vocales. Vamos a suponer que estamos interesados en analizar la seal acstica u n u capturada por un micrfono para detectar la secuencia de vocales pronunciadas por una pero sona. (Puede establecerse el convenio de que las vocales pronunciadas entre trozos de silencio se escriban en l neas distintas de un chero de texto.) La etapa de adquisicin consiste en comunicarse con la tarjeta de sonido del computador para o abrir el dispositivo de captura de onda en el modo adecuado, y hacer lo necesario para acceder a la zona de memoria donde se va guardando la seal acstica muestreada: n u

En una etapa de (pre)segmentacin detectamos los trozos de seal acstica separados por o n u silencio. Esto puede hacerse calculando una medida de la energ de la seal (esencialmena n

12

1.5 Ejemplo: anlisis de voz a

Introduccion

te su varianza) en pequeos intervalos de tiempo. Cuando la seal acstica parece contener n n u sonido tomamos una secuencia de arrays de, p. ej., 128 o 256 muestras, cada uno de ellos correspondiente a unos pocos milisegundos de sonido, y los enviamos a la siguiente etapa. Si las vocales se pronunciaran separadas por silencios la segmentacin se podr realizar compleo a tamente en este momento. Pero como hemos permitido la concatenacin de vocales debemos o esperar hasta la etapa de interpretacin. o

En la etapa de preprocesamiento transformamos cada trozo elemental de sonido al dominio de la frecuencia, calculando su transformada de Fourier y manipulndola adecuadamente para a obtener el espectro de frecuencias, que proporciona informacin relevante sobre la naturaleza o del sonido (timbre, armnicos, etc.). o

En la etapa de extraccin de propiedades calculamos las dos frecuencias predominantes (foro mantes) del espectro anterior (ms adelante estudiaremos otras propiedades ms interesantes). a a De esta forma, el ujo continuo de voz recogido por el micrfono se transforma en una nube o de puntos dentro de un espacio vectorial bidimensional correspondientes a las dos propiedades seleccionadas (vase [22]): e

La etapa de clasicacin analiza el espacio de propiedades para determinar las regiones en las o que tienden a aparecer los vectores de propiedades de cada vocal (en este caso del idioma ingls). Partiendo de un conjunto representativo de muestras etiquetadas fabricamos una e mquina (algoritmo) de clasicacin cuya misin es simplemente determinar en qu regin del a o o e o espacio de propiedades se encuentra cada uno de los trozos de sonido:

Introduccion

1.6 Espacio de Propiedades

13

Un mtodo muy simple es caracterizar las regiones simplemente por el valor medio de los e vectores de cada clase (prototipos), y clasicar mediante un algoritmo de m nima distancia. Si las regiones de decisin son ms complicadas podemos utilizar algoritmos de clasicacin o a o ms elaborados como los que estudiaremos en cap a tulos posteriores. Finalmente, en la etapa de interpretacin tenemos que analizar la secuencia de trozos de sonido o etiquetados por la etapa de clasicacin para determinar las vocales que se han pronunciado o (p. ej., algo como aaeaa?e??eeeaeee puede indicar la secuencia A, E). Obsrvese que esta e interpretacin nal es la que realmente nos permite segmentar correctamente el est o mulo en una secuencia de vocales.

1.6.

Espacio de Propiedades

Existen dos alternativas para representar la informacin recogida por los sistemas de reconoo cimiento. La primera es utilizar estructuras recursivas generales (listas, lgica de predicados, o grafos, etc). Estas representaciones son muy exibles pero su manipulacin puede requeo rir algoritmos poco ecientes (tcnicas de matemtica discreta, combinatoria, procesamiento e a simblico, etc.). Se utilizarn normalmente en la etapa de interpretacin. o a o La segunda opcin es limitarnos a un conjunto jo y predeterminado de propiedades (p. ej., o atributos binarios o multivaluados, discretos o continuos, seales muestreadas, arrays multidin mensionales, etc.), de manera que la informacin se representa mediante puntos o vectores en o un cierto espacio multidimensional. Las diferentes versiones o realizaciones de un objeto f sico se corresponden con diferentes puntos en el espacio de propiedades:

14

1.6 Espacio de Propiedades

Introduccion

Esta representacin es ms adecuada para la percepcin de bajo nivel, donde podemos aproo a o vechar potent simas herramientas matemticas: lgebra, estad a a stica, optimizacin, etc. o Las observaciones son puntos o vectores en ese espacio. Los ejemplos son observaciones etiquetadas con la clase a que pertenecen. Las regiones de decisin son las zonas del espacio o donde suelen caer los ejemplos de cada clase. Clasicar es determinar en qu regin ha ca e o do una observacin. Aprender es encontrar y, si es posible, describir adecuadamente, las regiones o de cada clase, estableciendo las fronteras de decisin. o La clave del reconocimiento de modelos est en encontrar un espacio de propiedades donde a los objetos de clases distintas aparezcan muy separados.

Error intr nseco. La complejidad de las fronteras de decisin depende de la forma de las o regiones de cada clase. En algunos casos se pueden describir de manera matemticamena te sencilla (p. ej., hiperplanos), y en otros tenemos que recurrir a expresiones en general, algoritmos ms complejos. a Pero, independientemente de la complejidad del procedimiento de decisin (de la forma de o la frontera), existe una caracter stica muy importante de un problema de reconocimiento: su ambigedad o error intr u nseco. Cuando las propiedades observadas son de mala calidad (es decir, no son discriminantes, no separan bien las clases), existirn regiones ambiguas en las a que pueden aparecer observaciones de diferentes clases. En este caso cualquier mtodo de e clasicacin sufrir errores inevitables. El tamao de la zona de solapamiento entre regiones o a n nos indica lo bien o mal que puede resolverse la etapa de clasicacin. o La complejidad de la frontera y el error intr nseco son dos aspectos diferentes: podemos encontrar cuatro tipos de problemas: fciles y sin error, fciles con error, dif a a ciles sin error, y lo peor de todo, dif ciles con error. (Los problemas reales se encontrarn en algn punto a u intermedio de esos cuatro extremos.)

El solapamiento de regiones puede deberse a dos posibles causas. Una es la propia ambigedad u de la informacin original. P. ej., no es posible distinguir la letra O del nmero cero, a menos o u que utilicemos ceros con barra. El nmero siete manuscrito tambin lleva una barra para u e distinguirlo del nmero uno. Sin ella, a ciertos ngulos e inclinaciones ambos nmeros podr u a u an confundirse. Este tipo de solapamiento no puede remediarse. La unica esperanza es que la etapa de interpretacin elimine la ambigedad. La otra posible causa es que las propiedades o u elegidas en la etapa anterior sean poco discriminantes y sea necesario encontrar otras mejores. Hemos dicho que la complejidad de la frontera y el error intr nseco son aspectos diferentes de

Introduccion

1.7 Aprendizaje Automtico a

15

cada problema de reconocimiento. Es cierto, pero debemos aadir que son aspectos relacionan dos. Ambos dependen de la calidad de las propiedades elegidas: debemos evitar el solapamiento y tratar de conseguir fronteras sencillas. Ahora bien, uno de los resultados ms interesantes del a aprendizaje automtico en el contexto del reconocimiento de modelos es que, en aplicaciones a reales en las que la cantidad de ejemplos es necesariamente nita, complejidad y ambigedad u son, en cierto sentido, indistinguibles. Un aparente solapamiento de regiones puede no ser tal, si permitimos que la frontera se curve de la manera adecuada dentro de la regin contraria para o englobar los ejemplos que parecen estar al otro lado. Pero esto es peligroso porque corremos el riesgo de perseguir uctuaciones aleatorias:

Nos encontramos con el problema esencial de la cantidad de interpolacin que permitimos o a nuestras funciones de ajuste. En el cap tulo 4 veremos cmo abordar este problema. En o cualquier caso, se maniesta claramente la necesidad de validar el resultado del ajuste con ejemplos independientes.

1.7.

Aprendizaje Automtico a

El reconocimiento de modelos, especialmente la etapa de clasicacin, se apoya en tcnicas o e de aprendizaje automtico (una denominacin atractiva de tcnicas ms o menos conocidas a o e a de estimacin de parmetros, optimizacin, aproximacin de funciones, etc.). Si disponemos o a o o de conocimiento terico del dominio de trabajo (en forma de modelos anal o ticos o, al menos, reglas aproximadas o heur sticas) podemos intentar una solucin directa de la clasicacin, o o basada en programacin expl o cita. P. ej., en ambientes con poco ruido podr amos clasicar pol gonos a partir del nmero de sus vrtices (hay que tener en cuenta que, en determinadas u e circunstancias, detectar lo que es verdaderamente un vrtice en una imagen digital no es en e absoluto algo sencillo. . . ). Desafortunadamente, en muchos casos la relacin entre los conceptos de inters y las posio e bles realizaciones de los est mulos es desconocida. Nos vemos obligados a recurrir a mtodos e emp ricos, que analizan un conjunto de ejemplos resueltos tratando de encontrar alguna regularidad en los est mulos que pueda explotarse para predecir la clase a que pertenecen. Estas tcnicas presentan la ventaja de que son independientes de la aplicacin concreta y proporcioe o nan soluciones aceptables en problemas prcticos. Sin embargo, las relaciones entrada / salida a emp ricas obtenidas no suelen arrojar ninguna luz sobre los fenmenos subyacentes. o Podemos distinguir dos tipos de aprendizaje para el reconocimiento de modelos. Un enfoque simblico, sintctico o estructural, orientado hacia la percepcin de alto nivel y la interpretacin o a o o (p. ej., el aprendizaje de gramticas para describir las relaciones entre las partes de un objeto). a Y un enfoque numrico, orientado hacia la percepcin de bajo nivel y al procesamiento e o sensorial inicial, en el que podemos distinguir dos variantes ( ntimamente relacionadas): el

16

1.7 Aprendizaje Automtico a

Introduccion

probabil stico / estad stico y el de optimizacin / ajuste. o El problema de la induccin. La inferencia es un proceso por el cual obtenemos informacin o o a partir de otra informacin. Hay varios tipos: la deduccin sirve para obtener informacin o o o cierta a partir de premisas ciertas (conclusiones a partir de hiptesis o premisas). Es la unica o forma de inferencia lgicamente vlida. La abduccin o diagnstico sirve para obtener hiptesis o a o o o prometedoras a partir de conclusiones ciertas. La analog sirve para interpretar una situacin a o mediante un isomorsmo aproximado con otra situacin que ya est interpretada. La induccin o a o tiene como objetivo obtener reglas generales a partir de casos particulares. La validez de la induccin plantea un interesante problema losco relacionado con el mtoo o e do cient co. Recientemente se han realizado aportaciones muy relevantes dentro de la Teor a Computacional del Aprendizaje (las revisaremos en el cap tulo dedicado a las Mquinas de Kera nel), que nos permiten caracterizar las situaciones en las que podemos conar en el aprendizaje inductivo. La idea esencial es que la mquina de aprendizaje debe evitar la memorizacin. a o Aprendizaje por fuerza bruta. Los sistemas de reconocimiento de modelos basados en aprendizaje automtico analizan miles de versiones de un objeto para encontrar lo que tienen a en comn. A pesar de que la condicin que deben cumplir para funcionar correctamente es la u o de no ser memor sticos (evitando la pura interpolacin), lo cierto es la cantidad de ejemplos o resueltos necesarios para obtener resultados estad sticamente signicativos es absurdamente grande:

Parece que no se consigue ninguna comprensin del dominio de trabajo. La informacin se o o manipula ciegamente, independientemente de las propiedades abstractas que pudieran ser relevantes y aprovechables. P. ej., en el caso del reconocimiento de d gitos de la gura anterior, la mquina de aprendizaje obtendr exactamente los mismos resultados tanto si parte de las a a imgenes originales como de una permutacin aleatoria de los pixels (igual para todas las a o imgenes), en la que se pierde la coherencia espacial vecindades de los mismos. a La gura siguiente muestra un ejemplo del tipo de problemas de reconocimiento de modelos conocido como Problemas de Bongard. 4 . Qu propiedad tienen todos los objetos de la la e izquierda, que no cumple ninguno de los de la derecha?

Es el no 6 (existen cientos de ellos, de muy diferente complejidad). Para ms informacin sobre los problemas a o de Bongard vase la pgina web: http://www.cs.indiana.edu/hyplan/hfoundal/research.html e a

Introduccion

1.8 Aplicaciones

17

Se nos presentan seis instancias positivas de un concepto geomtrico y otra seis negativas. En e general, ese pequeo nmero es suciente para poner claramente de maniesto el concepto n u de que se trata; la capacidad de reconocerlo depende mucho ms de nuestra capacidad para a seleccionar los aspectos relevantes de la gura que de el nmero de instancias disponibles. u Este tipo de problemas entran de lleno en el dominio de la percepcin de alto nivel. No o pueden abordarse unicamente a partir de informacin cruda pixels de imagen, sino que es o necesario construir dinmicamente la representacin ms adecuada. En cualquier caso, ser a o a a deseable capturar conceptos como la forma de una letra a partir de un nmero reducido de u casos t picos. P. ej., no parece necesario analizar miles de imgenes del nuevo s a mbolo del Euro para reconocerlo correctamente en diferentes estilos o tipos de letra. . .

1.8.

Aplicaciones

Las tcnicas de Reconocimiento de Modelos, basadas en aprendizaje automtico, permiten e a abordar numerosas aplicaciones prcticas: P. ej., a partir de imgenes podemos estar interea a sados en reconocer caracteres manuscritos o impresos, formas geomtricas, caras, expresiones e faciales, texturas, defectos, objetos, etc. A partir de onda acstica nos gustar reconocer la u a identidad del hablante, palabras sueltas, habla continua, etc. A partir de mediciones de vibraciones, fuerzas, temperatura, etc., podemos detectar aver en mquinas, motores, etc., de as a manera no intrusiva. Mediante radar o ecos ultrasnicos podemos no slo medir distancias, o o sino tambin estimar la forma de objetos, analizando la forma y propiedades del eco (envole vente, etc.). Es posible detectar algunas enfermedades a partir de parmetros siolgicos (p. a o ej., de la forma del electrocardiograma). Las aplicaciones de este tipo deben cumplir una serie de requisitos: Que la informacin pueda representarse de manera natural en un espacio de propiedades o de dimensin ja, dando lugar a fronteras de decisin suaves (es decir, que el movimiento o o innitesimal de la mayor de los ejemplos no modique su clase; no tiene sentido permitir a situaciones en las que, p. ej., la clasicacin dependa del hecho de que un cierto atributo o numrico sea racional o irracional). e Que podamos hacer un diseo experimental controlado, basado en muestras aleatorias i.i.d. n (independientes e idnticamente distribuidas), en las que aparezcan todas las versiones de cada e clase, con condiciones de contexto predeterminadas y jas (p. ej., es necesario especicar si se permite o no la rotacin de guras en el reconocimiento de formas), y sin cambios entre o las fases de diseo y uso. n

18

1.8 Aplicaciones

Introduccion

Que seamos capaces de evitar el fenmeno de sobreajuste (overtraining, subdeterminacin, o o memorizacin, etc.), que ocurre cuando el nmero de parmetros libres que hay que ajustar es o u a superior al de restricciones proporcionadas por los ejemplos de entrenamiento. Ms adelante a estudiaremos las condiciones que debemos cumplir para evitar la interpolacin excesiva. De o nuevo aparece la necesidad de una etapa nal de validacin. o Los problemas de percepcin articial ms complejos requieren un tratamiento especial. P. ej., o a en la parte II estudiaremos las particularidades de la visin por computador. En realidad, la o cadena de proceso t pica del reconocimiento de modelos es unicamente orientativa. El diseo n de nuevas aplicaciones requerir tcnicas espec a e cas y en decisiones de sentido comn dif u ciles de anticipar.

Cap tulo 2 Preprocesamiento y Extraccin de o Propiedades


Las etapas de preprocesamiento y de extraccin de propiedades son fundamentales para el xito o e de cualquier sistema de reconocimiento de modelos. Desafortunadamente, dependen much simo de las particularidades de cada aplicacin, por lo que su diseo no puede automatizarse o n completamente. A pesar de todo, existen algunas tcnicas utiles, de propsito general, que e o explicaremos en este cap tulo. Tambin comentaremos el preprocesamiento utilizado en varias e aplicaciones t picas, con la esperanza de que las ideas esenciales sirvan de inspiracin para o abordar nuevas situaciones. Nos enfrentamos a un problema de reduccin de dimensin. El inmenso ujo de est o o mulos recibido debe condensarse en forma de un pequeo conjunto de propiedades signicativas. n Tenemos que encontrar una transformacin desde un espacio de dimensin muy elevada hasta o o otro de dimensin pequea, con la menor prdida posible de informacin til. o n e o u La reduccin de dimensin puede abordarse mediante dos mtodos: seleccin de propiedades, o o e o que simplemente descarta del conjunto de propiedades original aquellas que no son utiles para el objetivo del sistema, y extraccin de propiedades, que fabrica propiedades nuevas a partir o de la informacin disponible. o

2.1.

Seleccin de Propiedades o

Es un problema de bsqueda combinatoria. Dada una medida de calidad de un conjunto de u propiedades (p. ej., el error de clasicacin obtenido por un mtodo determinado sobre un o e conjunto de ejemplos de prueba), tenemos que encontrar el subconjunto que posee mayor calidad. Como hay un nmero exponencial de subconjuntos, este tipo de seleccin global de u o propiedades es computacionalmente intratable.
Si la medida de calidad es montona (esto signica que la incorporacin de una nueva o o propiedad no empeora la calidad de un subconjunto, lo que cumplen algunos algoritmos de clasicacin, pero no todos) se pude realizar una bsqueda eciente, ordenada, basada o u en branch and bound. (Se construye un rbol de bsqueda eliminando propiedades en a u

20

2.1 Seleccin de Propiedades o

Preprocesamiento

cada rama; no se desciende por ramas en las que se garantiza un empeoramiento de la calidad.) Una alternativa es la seleccin individual: elegimos una medida de calidad de cada o propiedad por s misma (sencilla de calcular y que indique lo mejor posible la separacin o de las clases de inters), y nos quedamos con las mejores propiedades que sean, a la e vez, estad sticamente independientes. Como medida de calidad individual se puede usar el criterio de Fisher: |1 2 |/(1 +2 ), que funciona bien cuando las observaciones de cada clase se distribuyen en regiones unimodales. En situaciones ms generales es conveniente utilizar una medida no paa ramtrica (vlida para cualquier distribucin), como, p. ej., el estad e a o stico del test de Kolmogorov-Smirnov (basado en la mxima diferencia de las distribuciones acumuladas a emp ricas), o el nmero de cambios de clase en la secuencia ordenada de muestras, u usado en el llamado Run Test. Por otro lado, la verdadera independencia estad stica no es fcil de determinar. En la prctica se usa el coeciente de correlacin lineal (ver Seca a o cin C.2) o, mejor, alguna medida no paramtrica de dependencia como el coeciente o e de correlacin de rangos (Spearman), en el que las observaciones se sustituyen por su o nmero de orden. u La seleccin individual de propiedades es, aparentemente, una idea muy prometedora. o La calidad del conjunto ser tan buena, al menos, como la del mejor componente, a y, posiblemente, mejor. Si encontramos una propiedad discriminante, el problema de clasicacin puede considerarse resuelto: o

El problema est en que la seleccin individual puede descartar propiedades poco infora o mativas por separado pero que usadas en combinacin son altamente discriminantes: o

Adems, la seleccin individual produce a veces resultados poco intuitivos: p. ej., dadas a o tres propiedades p1 , p2 y p3 , ordenadas de mayor a menor calidad individual, existen situaciones (debido a las dependencias entre ellas) en que el conjunto {p1 , p2 } es peor que el conjunto {p2 , p3 }. Las medidas de calidad individual pueden ser utiles para fabricar rboles de clasicacin. a o

Preprocesamiento

2.2 Extraccin de Propiedades Lineales o

21

2.2.

Extraccin de Propiedades Lineales o

La extraccin de propiedades lineales es un mtodo excelente para reducir la dimensin de o e o objetos con cierta estructura. (Las propiedades no lineales son ms problemticas, y, a la a a vista de los recientes avances en Mquinas de Kernel (ver Sec. 4.7), no tienen ya demasiado a sentido.) Dado un vector x = {x1 , x2 , . . . , xn }, una funcin lineal de x es simplemente el producto o escalar de x por un cierto (co)vector a: fa (x) = aT x = a1 x1 + a2 x2 + . . . + an xn El signicado geomtrico de una funcin lineal est relacionado con la proyeccin del vector e o a o x sobre la direccin denida por a (ver Sec. A.1). Las propiedades de una observacin que se o o pueden expresar mediante funciones lineales son las ms simples (no triviales) posible: tienen a en cuenta cada una de las componentes con un coeciente o peso que pondera su importancia y ajusta las escalas de las medidas. La informacin original se puede condensar atendiendo a dos criterios: expresividad y discrimio nacin. El primero trata de extraer informacin de las observaciones como tales, que permita o o reconstruirlas de nuevo a partir de la representacin condensada. (Podr o amos pensar, p. ej., en un compresor del tipo jpeg. El problema es que la informacin comprimida en ese formao to es poco apropiada para un procesamiento posterior.) El segundo criterio se preocupa de la informacin que permita distinguir las diferentes clases de observaciones en que estamos o interesados.

2.2.1.

Propiedades Ms Expresivas (MEF) (PCA) a

Imaginemos una distribucin de observaciones que est bastante aplastada en el espacio: o a

En estas condiciones, mediante un cambio de base que gire los ejes hasta alinearlos con las direcciones principales de la nube de puntos (ver Sec. C.2) conseguimos que las nuevas coordenadas correspondientes a las direcciones de menor varianza tengan siempre valores muy pequeos que podemos descartar. Las coordenadas de las direcciones principales, las ms n a expresivas, son sucientes para reconstruir una versin aproximada del vector original. o Si la poblacin tiene media y matriz de covarianza = VT V, y siendo Vp la matriz cuyas o las son los p vectores propios con mayor autovalor, la transformacin de compresin es o o

22

2.2 Extraccin de Propiedades Lineales o

Preprocesamiento

y = Vp (x ) y la de descompresin es x VT y + . El error promedio de reconstruccin o o p es la suma de los valores propios (varianzas) de las direcciones principales descartadas. Esta idea se conoce tambin como anlisis de componentes principales (PCA), o transfore a macin de Karhunen-Loeve. Muchos otros mtodos de compresin de informacin utilizan el o e o o concepto de cambio a una nueva base en la que no todas las coordenadas son necesarias: representacin frecuencial, compresin de imgenes JPEG, etc. o o a Ejemplo. La gura de la izquierda muestra la calidad de la reconstruccin de algunos eleo mentos del conjunto de imgenes de d a gitos manuscritos de la base de datos MNIST 1 con un nmero creciente de componentes principales: u

El error de reconstruccin y el nmero de componentes utilizados son respectivamente 100 % o u (784), 50 % (10), 80 % (41), 90 % (82), 95 % (141), 99 % (304). La gura de la derecha muestra algunas autoimgenes, que son los vectores propios principales a de la poblacin, representados como imgenes. Combinndolos linealmente podemos sintetizar o a a o aproximar con la precisin deseada cualquier ejemplar. o

2.2.2.

Propiedades Ms Discriminantes (MDF) a

Las propiedades ms expresivas no siempre son apropiadas para distinguir objetos. La gura a siguiente muestra dos tipos de objetos cuya distribucin conjunta tiene una direccin principal o o global p sobre la que las proyecciones de cada clase quedan muy solapadas:

Disponible ntegramente en http://yann.lecun.com/exdb/mnist. En la pgina web de la asignatura existe a un subconjunto de 5000 muestras en formato de texto plano.

Preprocesamiento

2.2 Extraccin de Propiedades Lineales o

23

Nos interesa una direccin d en la que las proyecciones de las clases queden separadas. Cada o direccin a da lugar a una poblaciones proyectadas cuya separacin se puede cuanticar por o o |1 2 | ejemplo mediante el criterio de Fisher F = 1 +2 .

Se puede demostrar que las direcciones ms discriminantes (separadoras) en el sentido de a Fisher son los vectores propios principales de la matriz 1 , donde es la matriz de covarianza de las medias de las clases y es la matriz de covarianza de la poblacin completa. o Intuitivamente esa expresin tiene sentido: si hubiera dos clases esfricas, est relacionada o e a con la direccin que une las dos medias, que es la ms discriminante. Si no lo son, 1 proo a ducir el necesario efecto normalizador. Dadas n clases toda la informacin de discriminacin a o o 1 lineal est contenida en las n 1 direcciones principales de . a Si la distribucin global est degenerada (lo que siempre ocurrir si tenemos menos observacioo a a nes que coordenadas (ver Sec. C.2) no es posible calcular las componentes ms discriminantes a ( es singular). En estos casos puede ser razonable calcular las componentes ms discriminantes a a partir de un conjunto sucientemente amplio de las ms expresivas. a Es importante tener en cuenta que, por su naturaleza lineal, si se usa un buen clasicador que tenga en cuenta la dispersin de las clases, las n 1 componentes ms discriminantes o a pueden no aportar ninguna mejora frente a un nmero sucientemente grande de componentes u principales (ms expresivas). a

Ejemplo. Continuando con el ejemplo anterior, veamos un mapa 2D de los d gitos 0 (rojo),1 (verde) y 2 (azul) en el espacio de las 2 direcciones ms discriminantes de esas tres a clases (extra das de las 20 ms expresivas). En gris se muestra el resto de los d a gitos.

24 Ejercicios:

2.3 Reconocimiento de Formas

Preprocesamiento

Intenta reproducir los resultados anteriores. Prueba algunos clasicadores sencillos. Analiza los autovectores de alguna base de datos de caras, u otro tipo de objetos interesante, disponible en la red.

En todas las prcticas y ejercicios propuestos es conveniente aprovechar, en la medida de lo a posible, entornos de clculo cient a co como Matlab/Octave o Mathematica (ver Sec. F).

2.2.3.

Componentes Independientes

Cuando expresamos una poblacin aleatoria en la base de direcciones principales conseguimos o que las nuevas coordenadas estn descorreladas (tengan covarianza cero). Pero esto no signica e que sean independientes. Esto requiere la condicin mucho ms restrictiva de que la densio a dad conjunta se pueda descomponer como el producto de las marginales: p(x, y) = p(x)p(y). Encontrar una transformacin de variables que describa un problema con componentes indeo pendientes es muy util (p.ej. para separar seales mezcladas). n Si la transformacin permitida es lineal entonces el problema se reduce a encontrar una rotacin o o de la muestra ecualizada (C.2) que maximice un cierto criterio de calidad que mida la independencia. Un criterio sencillo es la anormalidad (la diferencia de cualquier estad stico (p.ej. kurtossis) respecto a lo que obtendr una distribucin gaussiana). La justicacin es a o o que cualquier combinacin lineal de variables aleatorias es ms gaussiana que sus ingredientes o a (Teorema Central del L mite). aplicaciones

2.2.4.

Compressed Sensing

2.3.

Reconocimiento de Formas

Una vez descritos algunos mtodos de reduccin de dimensin de propsito general vamos a e o o o prestar atencin a algunos sistemas de percepcin articial espec o o cos. El reconocimiento de formas (siluetas) es un problema bien denido que entra de lleno en nuestra rea de inters. a e Debemos resolverlo de manera elegante y eciente antes de abordar situaciones ms complejas. a No es un problema trivial. Si partimos de vectores de propiedades que son directamente los pixels de las imgenes binarias que contienen las siluetas de las guras, la tarea de clasicacin a o requerir conjuntos de aprendizaje de tamao enorme para conseguir resultados aceptables. a n La idea de realizar un simple submuestreo de las imgenes puede conducir a una prdida de a e detalle inadmisible. Es necesario un preprocesamiento adecuado de la informacin original. o Las siluetas son secuencias de puntos que podemos considerar como seales complejas (para n empaquetar las dos coordenadas del plano en una unica entidad matemtica) peridicas. Esto a o

Preprocesamiento

2.3 Reconocimiento de Formas

25

justica una representacin frecuencial unidimensional (vase la Seccin B): el contorno de o e o una gura puede considerarse como la superposicin de varios contornos bsicos de diferentes o a frecuencias (nmero de oscilaciones en el recorrido completo). u Ya vimos que en todo sistema de reconocimiento hay que especicar lo mejor posible el tipo de transformaciones admisibles, frente a las que las propiedades elegidas deben ser invariantes. En este caso deseamos distinguir formas independientemente de su posicin en el plano, de o la rotacin que hayan podido sufrir, de su tamao, del punto de partida del contorno, de la o n distancia concreta entre los puntos del contorno (siempre que estn regularmente espaciados2 ) e y, por supuesto, invariantes a pequeas deformaciones. n Las componentes frecuenciales obtenidas directamente de la Transformada Discreta de Fourier (ver Sec. B.8) del contorno, Fi , i = 0..n 1, no son directamente invariantes a las anteriores transformaciones. Sin embargo es sencillo calcular propiedades derivadas di que s lo son. Para ello es conveniente tener en cuenta la interpretacin geomtrica de las componentes o e frecuenciales (B.4) como superposicin de elipses. Un conjunto muy sencillo de invariantes es o el siguiente: Calculamos el valor absoluto de cada componente frecuencial, eliminando la fase, y por tanto la dependencia del punto de partida y de la rotacin de la gura: ei = |Fi |. o Juntamos la contribucin positiva y negativa de cada frecuencia (vase la seccin B): o e o ei = ei + eni , para i = 1..n/2 1. Descartamos la frecuencia cero (valor medio de la seal), que indica la posicin del n o centro de la gura. Dividimos todas las componentes por la de frecuencia 1, relacionada con el tamao global n de la gura (elipse aproximadora), consiguiendo as invarianza a escala: di = ei+1 /e1 , para i = 1..m. Nos quedamos con los descriptores de baja frecuencia, consiguiendo as invarianza a pequeas deformaciones: m = 10 o 15, por ejemplo. El valor concreto de m depenn der de la similitud de las formas que deseamos distinguir. Se puede ajustar observando a la calidad de la reconstruccin de los contornos de inters al eliminar diferente nmero o e u de componentes espectrales. Ejemplo. Como comprobacin, mostramos los invariantes de forma de tres siluetas sencillas: o

En caso contrario quiz lo ms simple sea remuestrear el contorno a intervalos iguales. En realidad, es posible a a calcular los invariantes a partir de contornos con puntos irregularmente espaciados (polil neas, en las que slo o aparecen los puntos de mucha curvatura), pero en este caso no se puede usar directamente la transformada discreta de Fourier y son necesarios clculos adicionales. a

26

2.3 Reconocimiento de Formas

Preprocesamiento

La silueta cuadrada es una polil nea con los siguientes vrtices: {(0., 0.), (0., 0.25), (0., 0.5), (0., e 0.75), (0., 1.), (0.25, 1.), (0.5, 1.), (0.75, 1.), (1., 1.), (1., 0.75), (1., 0.5), (1., 0.25), (1., 0.), (0.75, 0.), (0.5, 0.), (0.25, 0.)}. Sus invariantes frecuenciales de forma son los siguientes: {0., 0.123309, 0., 0.0550527, 0., 0.0395661}. Los 10 primeros invariantes de la silueta de la echa son {0.153946, 0.238024, 0.150398, 0.0346874, 0.0344614, 0.036184, 0.0380148, 0.0114117, 0.0144718, 0.00547812 }. Finalmente, los 10 primeros invariantes de la forma de cruz son {0., 0.234503, 0., 0.182179, 0., 0.0675552, 0., 0.00220803, 0., 0.0132129}. (Ten en cuenta que los invariantes aplicados a echas o cruces con brazos de diferente grosor relativo tendrn propiedades con valores numricos algo diferentes.) a e

ejemplo guras deformadas

Ejercicios:
Comprueba que las propiedades propuestas son realmente invariantes a posicin, tamao, o n orientacin, punto de partida y pequeas deformaciones. o n Comprueba que, a medida que aumenta el nmero de puntos que describen un contorno dado, u las propiedades invariantes tienden a un l mite (debido a que la transformada discreta de Fourier se acerca cada vez ms a la transformada de Fourier ordinaria de una funcin continua). a o Escribe un programa que reciba una imagen binaria y devuelva el conjunto de contornos de las componentes conexas encontradas en ella. Construye un clasicador de contornos sencillo basado en los invariantes frecuenciales de forma. Haz un mapa 2D de las propiedades ms expresivas o ms discriminantes extra a a das de los invariantes frecuenciales de forma de una coleccin de siluetas. o Comprueba el mtodo de suavizado de contornos basado en la eliminacin de las componentes e o de alta frecuencia (la parte central de la FFT). La imagen siguiente muestra versiones suavizadas de la forma de echa en las que hemos dejado respectivamente 1, 2, 3, 5, 10, y 20 componentes frecuenciales:

Preprocesamiento 2.4 Reconocimiento de Caracteres Impresos

27

Existen otras propiedades utiles para el reconocimiento de formas: invariantes basados en momentos estad sticos, propiedades topolgicas, tcnicas de alineamiento (para calcular la o e transformacin geomtrica que convierte el modelo en la gura observada), etc. o e El mtodo de reconocimiento propuesto es invariante frente a transformaciones similares e (adems de los aspectos tcnicos de punto de partida, espaciado de puntos y pequeas irregua e n laridades debidas al ruido de digitalizacin). Es posible mejorar el mtodo(B.15) para admitir o e tambin transformaciones anes generales, en la que las guras pueden sufrir tambin estie e ramientos de diferente magnitud en dos direcciones arbitrarias. Quiz la situacin ms interesante es la del reconocimiento de guras vistas en perspectiva. a o a Este tema se estudiar en detalle en la parte II de estos apuntes; en este punto solo anticipaa remos que el problema es abordable en condiciones idealizadas (contornos perfectos, o de tipo poligonal, o con puntos de curvatura muy pronunciada, etc.). En condiciones ms realistas a (con ruido, guras muy suaves, oclusiones, etc.) el problema es mucho ms complicado pero a an as se han propuesto algunas soluciones. u

2.4.

Reconocimiento de Caracteres Impresos

Los caracteres impresos presentan una menor variabilidad geomtrica. En principio son ms e a sencillos de reconocer que los caracteres manuscritos. Sin embargo, las imperfecciones de la digitalizacin de la imagen pueden dicultar la segmentacin de los caracteres individuales, o o que pueden aparecer pegados:

Una forma de atacar el problema es intentar reconocer componentes conexas de pixels (glyphs) que sern candidatos a caracteres o secuencias de caracteres. Los renglones, palabras y caa racteres se pueden separar a partir de los m nimos locales de las proyecciones horizontales y verticales de la imagen. Si un glyph no se parece a ningn prototipo se puede lanzar una u bsqueda recursiva de posiciones de corte candidatas, hasta dar con una separacin cuyos u o trozos se reconozcan todos con suciente conanza. Algunas secuencias de letras que suelen aparecer juntas se pueden considerar como una clase independiente. El resultado obtenido puede corregirse mediante un diccionario.

28

2.5 Introduccin al Reconocimiento del Habla Preprocesamiento o

Como mtodo de clasicacin se puede usar una funcin de distancia sencilla denida en una e o o cuadr cula de p. ej., 7 5 celdas sobre cada glyph. Para mejorar los resultados el alineamiento entre candidatos y prototipos debe tener en cuenta la localizacin y dispersin global del o o carcter. a ejemplo de subdivisin o

Ejercicios:
Prototipo de OCR sencillo: Escribe un programa que admita la imagen de un texto escaneado y produzca un chero de texto con el contenido de la imagen.

2.5.

Introduccin al Reconocimiento del Habla o

El reconocimiento del habla es una de las aplicaciones de la percepcin articial con mayor o impacto prctico para la comunicacin hombre mquina. Existen ya productos comerciales con a o a resultados prometedores. El texto de Rabiner y Juang [22] es excelente. La idea esencial consiste en capturar la seal de audio, trocearla en secciones de unos pocos n milisegundos, calcular su espectro de frecuencias o, alternativamente, los coecientes de un predictor lineal, denir una medida adecuada de similitud entre los diferentes trozos de sonido (que puede, hasta cierto punto, precalcularse), y nalmente comparar secuencias de esos trozos elementales para determinar a qu categor pertenecen. Esta comparacin debe tener en e a o cuenta que las secuencias de habla pueden presentar deformaciones (alargamientos, omisin o de fonemas, etc.). Algunos aspectos importantes son los siguientes:
Produccin del habla. Es conveniente tener una idea de los mecanismos siolgicos o o de la produccin del habla. El ser humano produce una onda acstica con ciertas proo u piedades que dependen de la estructura de las cavidades resonantes de la cabeza, punto de articulacin, vibracin o no de las cuerdas vocales, etc. o o Representacin frecuencial. Al tratarse de una seal (localmente) peridica, resulta o n o apropiada un anlisis frecuencial (Seccin B) (aunque algunas propiedades importantes a o dependen tambin de la dinmica temporal). La evolucin del espectro de frecuencias e a o a lo largo del tiempo (espectrograma) es una representacin conveniente de la seal o n de habla. Los picos del espectro se llaman formantes y contienen cierta informacin o sobre los fonemas (recordar el ejemplo de la Seccin 1.5). En la prctica el espectro se o a obtiene mediante la transformada rpida de Fourier (FFT). Es conveniente espaciar de a manera no uniforme (logar tmicamente) las componentes frecuenciales seleccionadas. Suelen usarse ventanas de suavizado. Representacin LPC. (Linear Predictive Coding.) Otra posibilidad es representar cada o trozo de seal mediante los coecientes de un predictor lineal. (Dada una seal pen n ridica, la muestra siguiente se puede obtener a partir de las anteriores simplemente o multiplicndolas por determinados coecientes y acumulando el resultado.) Los coea cientes se ajustan para minimizar el error de prediccin. (Pueden obtenerse resolviendo o un sistema de ecuaciones lineales por m nimos cuadrados (ver Seccin D.2.1) y tambin o e a partir de la autocorrelacin de la seal. Se comprueba que el espectro de la seal o n n

Preprocesamiento 2.5 Introduccin al Reconocimiento del Habla o


original y la producida por el predictor con un nmero moderado de coecientes es muy u parecido. A partir de los coecientes del predictor se calcula un conjunto de propiedades derivadas que son las utilizadas nalmente para describir la seal de habla. n Distorsin espectral. Cada trozo de la seal correspondiente a unos pocos milisegundos o n se representa mediante unas ciertas propiedades espectrales. Lgicamente, si cambian o algunas propiedades de la seal cambiar la representacin. Pero algunos cambios no son n a o perceptualmente relevantes: p. ej., el tono de voz, la intensidad, etc. no afectan a la identidad de los fonemas y palabras pronunciadas. Es importante utilizar una funcin de o distancia entre espectros que reeje, lo mejor posible, la similitud perceptual que nos interesa. Esta funcin debe ser relativamente invariante frente al tono de voz, atenuacin o o de bajas frecuencias, etc., pero debe responder bien a la posicin y anchos de banda de o los formantes. Se han propuesto varias medidas de distorsin espectral que tratan de o cumplir estos requisitos. Cuantizacin vectorial. Se realiza para ahorrar tiempo en el clculo de la distorsin o a o espectral de cada posible pareja de trozos elementales de habla (necesario para el reconocimiento de secuencias). La idea es guardar en una tabla la distorsin entre todos o los pares de espectros, previamente discretizados. Cada espectro completo se representa mediante un cdigo, el o ndice de acceso a la tabla de distorsiones espectrales. Normalizacin temporal. El problema del reconocimiento de un trozo de habla se reo duce a la comparacin de secuencias de o ndices. Hay que encontrar el mejor alineamiento entre las secuencias. Debido a las diferencias en la forma de hablar, algunos fonemas se alargan, acortan, u omiten, por lo que la comparacin de secuencias necesita eno contrar el mejor alineamiento. Este ser no uniforme pero que deber cumplir ciertas a a restricciones: p. ej., no se vuelve atrs, no hay saltos bruscos, etc. Existen algoritmos de a programacin dinmica para resolver este problema. o a Modelos de Markov. La tcnica de alineamiento anterior permite encontrar la secuene cia prototipo ms parecida a nuestra entrada. Pero no tiene en cuenta la variabilidad de a las secuencias correspondientes a un mismo vocablo (es como una simple distancia a la media). Los modelos de Markov ocultos (HMM) se utilizan para realizar el alineamiento de secuencias teniendo en cuenta esta variabilidad, ponderando adecuadamente la importancia relativa de cada tipo de desalineamiento. Para ello se genera mediante algn u tipo de aprendizaje (ajuste de parmetros) un conjunto de autmatas probabil a o sticos que generan en sus transiciones los cdigos (de espectro) observados. El reconocimiento de o vocablos consiste en encontrar el modelo que con mayor probabilidad ha emitido la secuencia observada. Tambin existen algoritmos de programacin dinmica para resolver e o a este problema.

29

Ejercicios:
Graba una secuencia de vocales en un chero (p. ej., .wav). Calcula y representa su espectrograma. Intenta reconocer vocales simples (del mismo locutor, pronunciadas en el mismo tono, etc.). Prueba algn sistema de dictado comercial. u Echa un vistazo a http://www.speech.cs.cmu.edu/sphinx/

30

2.5 Introduccin al Reconocimiento del Habla Preprocesamiento o


Si podemos acceder en tiempo real a la seal acstica, es interesante representar en un espacio n u bidimensional la posicin de los dos formantes principales. o Un ejercicio relacionado es un detector de la frecuencia fundamental del sonido para el reconocimiento (transcripcin) de msica. o u

Cap tulo 3 Diseo de Clasicadores n


Este cap tulo est dedicado a la etapa de clasicacin de los sistemas de reconocimiento a o de modelos. En ella, los vectores de propiedades extra das de la informacin bruta deben o identicarse como miembros de un conjunto preestablecido de categor elementales. as A primera vista, este problema admite un anlisis terico bastante general e independiente de a o la aplicacin. De hecho, un volumen enorme de la literatura sobre Machine Perception se ha o dedicado a estudiar tcnicas de Pattern Classication (vase p. ej., el libro clsico de Duda e e a y Hart [5] y el ms reciente de Bishop [2]) dando lugar a numerosas soluciones alternativas. a Pero, en la prctica, si las propiedades extra a das son sucientemente discriminantes, la etapa de clasicacin puede resolverse perfectamente usando cualquier mtodo sencillo como los que o e revisaremos en la seccin siguiente. En caso contrario, (cuando hay ambigedad), el uso de o u clasicadores ms elaborados puede contribuir a no empeorar demasiado los resultados. a Normalmente, el diseo de clasicadores tiene que recurrir a mquinas (algoritmos) de aprenn a dizaje inductivo (cuyos parmetros se ajustan a partir de ejemplos resueltos; se trata simplea mente de una forma especial de aproximacin de funciones). Estas mquinas tienen numerosas o a aplicaciones, incluso fuera del mbito de la percepcin articial. En este cap a o tulo explicaremos los principios tericos de la clasicacin y justicaremos la validez de algunas mquinas muy o o a sencillas. Posteriormente introduciremos tcnicas ms avanzadas como los modelos conexioe a nistas (redes neuronales articiales) y las mquinas de kernel (entre las que destacan las a maquinas de vectores de soporte). . Antes de comenzar debemos insistir en que la etapa de clasicacin solo es capaz de producir o una percepcin articial de bajo nivel. Para organizar la informacin sensorial dentro de o o estructuras de un nivel de abstraccin cada vez mayor son necesarios procesos de interpretacin o o como los que explicaremos en el apartado 6.3.

3.1.

Clasicadores sencillos

Cualquier clasicador puede expresarse, directa o indirectamente, en funcin de algn tipo o u de medida de distancia o similitud entre el vector de propiedades y la nube de puntos que describe cada clase. Sin profundizar en consideraciones tericas, el sentido comn sugiere o u algunas medidas de similitud razonables. Por ejemplo, podemos denir un clasicador basado

32

3.1 Clasicadores sencillos

Clasificacion

en m nima distancia a la media de cada clase. En este caso, la nube de puntos queda descrita unicamente mediante su localizacin promedio: o

Clasicacin por m o nima distancia a la media

Si deseamos mayor precisin, podemos tener en cuenta la dispersin de cada nube, normalio o zando las distancias a las medias de cada clase (dividiendo por las desviaciones, o usando la distancia de Mahalanobis (Seccin C.2)). Estos clasicadores funcionan bien cuando las nubes o no estn muy solapadas: a

Clasicacin por m o nima distancia de Mahalanobis

Observa que aunque la muestra desconocida est ms cerca de la media de la poblacin de la a a o izquierda, la distancia de Mahalanobis (en unidades de desviacin) a la clase de la derecha es o mucho menor. Un mtodo todav ms sencillo y general es el de los vecinos ms prximos, segn el cual e a a a o u la clase de una observacin se determina en funcin de la de los ejemplos de entrenamiento o o ms prximos, t a o picamente por votacin y exigiendo una mayor suciente. Este mtodo no o a e necesita extraer ninguna propiedad estad stica de las nubes de puntos de cada clase y tiene una gran exibilidad para establecer la frontera de clasicacin en el espacio de propiedades. o Como contrapartida, puede requerir un tiempo de respuesta largo si el conjunto de ejemplos es muy numeroso:

Clasicacin por el mtodo de los vecinos ms prximos o e a o

Clasificacion

3.2 Evaluacin o

33

3.2.

Evaluacin o

Cualquiera que sea el mtodo de diseo utilizado, el clasicador nalmente construido dee n ber evaluarse objetivamente. a El indicador de calidad ms importante de un clasicador es la Probabilidad de Error. Esta a probabilidad debe estimarse mediante un conjunto de ejemplos de validacin tomados en las o mismas condiciones de utilizacin real del sistema. Estos ejemplos deben seleccionarse al azar o en un primer momento y guardarse bajo llave. No deben utilizarse en ninguna etapa de diseo n o ajuste de parmetros del clasicador. a Esto es especialmente importante si, como es habitual, el clasicador se entrena mediante aprendizaje supervisado: los ejemplos de aprendizaje y de validacin deben ser totalmente o independientes. Por supuesto, si evaluamos con los mismos ejemplos de entrenamiento (resustitucin) obtendremos resultados injusticadamente optimistas. o
Cuando el conjunto de ejemplos etiquetados es pequeo la divisin en dos subconjuntos n o independientes provoca que bien el ajuste, bien la validacin o bien ambos procesos no o dispongan de un tamao de muestra estad n sticamente signicativo. Es posible aprovechar mejor los ejemplos disponibles mediante la tcnica de leave-one-out: se realiza el e ajuste varias veces, quitando una muestra cada vez, evaluando el clasicador sobre la muestra eliminada y promediando los resultados. Se utilizan todos los ejemplos disponibles en aprendizaje y en validacin y, a pesar de todo, cada conjunto de entrenamiento o y validacin es independiente. o Tambin podemos hacernos una idea aproximada de la precisin de un estimador mee o diante bootstrap, una tcnica basada en generar muestras articiales a partir de las e disponibles. Si las propiedades son discretas es importante tener en cuenta el o-training-set error : la probabilidad de error sobre ejemplos no utilizados en el aprendizaje. En dominios continuos las observaciones no pueden repetirse exactamente. Pero en el caso discreto podr amos reducir el error sobre el dominio completo mediante pura memorizacin. o La medicin del o-training-set error descuenta el aprendizaje memor o stico y mide la autntica generalizacin sobre casos no vistos. e o

Es conveniente desglosar la probabilidad de error en forma de matriz de confusin, que contiene o la frecuencia de los diferentes tipos de error. Un ejemplo hipottico podr ser el siguiente: e a

Cuando se estiman probabilidades es necesario proporcionar tambin alguna medida de la e precisin de la estimacin, p. ej., mediante un intervalo de conanza. o o
El clasicador obtenido depende de los ejemplos de aprendizaje y de otros factores.

34

3.2 Evaluacin o

Clasificacion

Una vez construido tiene una probabilidad de error concreta, aunque desconocida. Para estimarla necesitamos una muestra aleatoria de ejemplos de validacin; cuanto mayor sea o su nmero la estimacin ser ms precisa. Como ejercicio, intenta calcular un intervalo u o a a que contenga con conanza del 99 % la probabilidad de un evento que ha ocurrido en 75 ocasiones al realizar 100 experimentos.

Otros indicadores de la calidad de un clasicador son el tiempo de ejecucin (debe ser pequeo o n si el nmero de observaciones a clasicar es elevado, p. ej., caracteres, trozos de habla, etc.) u y el tiempo de aprendizaje (menos importante, ya que el ajuste del clasicador es un proceso o-line, aunque es conveniente que no se dispare).

3.2.1.

Ejemplos

A continuacin se muestran las matrices de confusin conseguidas con estos mtodos de o o e clasicacin sencillos sobre el conjunto MNIST de d o gitos manuscritos. El orden de las clases es de 0 a 9 en las (clase real) y columnas (clase predicha). Trabajaremos con los 5000 primeros d gitos del conjunto trainimages-idx3-ubyte. De ellos, los 4000 primeros se utilizarn para a diseo de los clasicadores y los 1000 ultimos para la evaluacin. Todas las imgenes se n o a representarn mediante las 20 componentes principales de la muestra de diseo. (No hemos a n implementado la opcin de rechazo.) o El mtodo de m e nima distancia a la media consigue una tasa de aciertos del 80.5 % con la siguiente distribucin de decisiones: o
93 0 0 0 0 6 1 2 1 1 0 112 8 2 1 5 4 0 5 0 1 1 69 2 1 0 5 0 6 2 1 0 1 79 0 15 0 0 4 1 0 0 3 0 88 4 2 6 2 13 1 4 1 7 0 46 2 0 5 0 3 0 4 1 0 1 81 0 1 0 0 0 1 2 1 1 1 105 0 8 1 2 2 5 1 1 0 0 59 0 0 0 2 3 13 5 0 4 6 73

La clasicacin por m o nima distancia de Mahalanobis consigue una tasa de aciertos notablemente superior, del 93.5 %, con el siguiente desglose:
100 0 0 0 107 3 0 0 87 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 7 1 0 0 0 1 2 92 0 1 0 1 1 1 0 0 0 0 101 0 1 0 0 4 0 0 0 4 0 80 1 0 0 0 0 1 0 0 0 0 93 0 0 0 0 1 0 1 0 0 0 104 0 1 0 6 2 2 1 3 0 0 81 1 0 0 0 1 3 0 0 12 0 90

Clasificacion

3.2 Evaluacin o

35

Las entradas no diagonales con un valor elevado nos indican las parejas de d gitos dif ciles de distinguir: 1-9, 3-5, 8-2, 7-9, etc. Finalmente, la clasicacin por el vecino ms prximo consigue una tasa de aciertos del 82.0 % o a o con el siguiente desglose.
16 0 0 28 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 11 1 0 0 0 1 0 0 0 0 2 17 0 2 0 0 0 1 0 0 1 0 21 1 0 0 2 5 0 0 3 0 0 13 0 0 0 0 1 0 0 0 0 1 17 0 0 0 0 0 0 0 0 1 1 13 0 2 0 0 1 0 0 0 0 0 14 0 0 0 0 0 1 4 0 4 0 14

Debido a la lentitud de este mtodo, para este experimento hemos utilizado slo los 200 e o primeros ejemplos de los conjuntos de diseo y evaluacin denidos anteriormente. n o Estos resultados no son casuales. La distancia de Mahalanobis es una alternativa muy prometedora para atacar muchos problemas de clasicacin: es eciente y suele conseguir buenas o tasas de aciertos. Para mejorar sus resultados suele ser necesario recurrir a tcnicas mucho e ms avanzadas a un coste que no siempre est justicado. a a

Ejercicios:
Probar estos clasicadores sencillos en alguno de los ejercicios propuestos en el cap tulo anterior.

36

3.3 El Clasicador Optimo

Clasificacion

3.3.

El Clasicador Optimo

En esta seccin estudiaremos el problema de la percepcin desde un punto de vista un poco o o ms formal. La siguiente gura muestra un sistema autnomo inmerso en un entorno cuyo a o estado denotaremos mediante r, indicando que es el estado real del mundo externo:

Por supuesto, una descripcin detallada del entorno tendr una complejidad inmensa. Por o a claridad, por ahora supondremos simplemente que r podr tomar o bien un conjunto continuo a de valores o bien un conjunto discreto y nito de posibilidades o clases excluyentes:

Nuestro objetivo es que el sistema consiga informacin sobre el estado r en que se encuentra su o entorno. Esta informacin se denotar como r para indicar que es una estimacin o prediccin o a o o del estado real. Es el modelo o representacin de la realidad elaborada por el sistema: o

Lgicamente, deseamos que ese modelo sea correcto, es decir, que r = r (o, si el estado es o una variable continua, que la diferencia | - r| sea pequea.) r n Para que la estimacin r no sea una mera adivinacin de la realidad, el sistema debe medir o o algunas magnitudes de su entorno utilizando sensores. El resultado de estas mediciones se denotar mediante s (est a mulos). La estimacin de r se calcular fundamentalmente a partir o a de esas sensaciones recibidas:

Clasificacion

3.3 El Clasicador Optimo

37

Aunque ser conveniente tener en cuenta tambin toda la informacin adicional disponible a e o sobre el entorno como, p. ej., la frecuencia de aparicin de cada posible estado real e, incluso, o las transiciones posibles entre estados.

3.3.1.

Modelo inicial

La idea clave es quen no tenemos acceso directo a la realidad. Solo disponemos de ciertas mediciones realizadas sobre ella, que a veces pueden producir resultados poco informativos. El caso ideal es el de un sensor cuya respuesta est bien denida para cualquier valor de sus a entradas, de acuerdo con una cierta funcin: o

Cuando observamos un cierto est mulo so no hay ningn problema para deducir el estado real u que lo ha provocado. Slo tenemos que invertir la funcin que describe la respuesta del sensor: o o

Por supuesto, es muy posible que dispongamos de un modelo imperfecto s (r) del funcionamiento del sensor. En este caso la estimacin obtenida r se alejar un poco del estado real o a r:

Incluso si nuestro modelo es correcto, un problema que puede aparecer es que el sensor tenga una respuesta no montona, respondiendo igual frente a situaciones distintas. Esta amo bigedad conduce a un estimador de la realidad compuesto de varias posibilidades: u

38

3.3 El Clasicador Optimo

Clasificacion

El conjunto de alternativas se puede representar mediante su funcin indicadora, que vale o uno en los elementos del conjunto y cero en el resto:

3.3.2.

Modelo del mundo

Los estados reales no siempre ocurren con la misma frecuencia. P. ej., en el idioma espaol es n ms probable encontrar una e o una s que una w o una k. Si conocemos la probabilidad a a priori p(r) de aparicin de cada una de las situaciones, podemos distinguir mejor entre las o posibles alternativas calculando la probabilidad de que cada una de ellas haya producido el est mulo observado (probabilidad a posteriori ):

Los elementos de la funcin indicadora anterior quedan multiplicados por las probabilidades a o priori de cada alternativa, modicando sus alturas relativas. Hemos restringido el juego completo de probabilidades de la realidad a los elementos que son consistentes con la observacin. o
Hay que tener en cuenta el detalle tcnico de que esos valores no son directamente e las probabilidades a posteriori propiamente dichas de las hiptesis, ya que no estn o a normalizados (no suman 1). La constante de normalizacin (llamada k en la gura o anterior) se consigue simplemente dividiendo por la suma de todos ellos. En cualquier caso, la distribucin relativa es correcta. o

Clasificacion

3.3 El Clasicador Optimo

39

Las probabilidades a priori constituyen nuestro modelo del mundo. Ciertamente es un modelo muy simplicado, ya que asume que los diferentes estados ocurren independientemente unos de otros. Por ahora mantendremos esta suposicin y ms adelante estudiaremos cmo se pueden o a o modelar las transiciones entre estados. El resultado nal del proceso de percepcin es esta distribucin a posteriori completa p(r|so ). o o Contiene toda la informacin que puede inferirse de la observacin so a partir unicamente de o o la funcin de respuesta del sensor s(r) y las probabilidades a priori de los estados reales p(r). o

3.3.3.

Prediccin o

En muchos casos estamos obligados a arriesgarnos a dar una prediccin concreta. Entonces o debemos computar un estimador o predictor de la variable aleatoria a partir de su distribucin o a posteriori. Este depende del criterio de coste que deseamos minimizar (ver Sec. C.4). En problemas de clasicacin (r es una variable discreta) si deseamos minimizar el nmero total o u de decisiones errneas el estimador ptimo es la moda: el valor ms probable. Esta regla de o o a decisin se denota como MAP (maximum a posteriori). Ms adelante veremos que en detero a minados problemas en los que unos errores son ms graves que otros es preferible minimizar a el coste total de los errores. Si la variable r es continua no tiene sentido intentar acertar exactamente su valor, sino acercarnos lo ms posible a l. El estimador que minimiza el error cuadrtico medio de las predicciones a e a es el valor medio de la densidad a posteriori. Para minimizar el error absoluto medio se utiliza la mediana de la distribucin, un estimador ms robusto frente a fallos de medida. Pero cuando o a la distribucin a posteriori posee mucha dispersin o es multimodal, los estimadores de ese o o tipo no son adecuados. A veces merece la pena quedarnos con toda la distribucin de probabilidades y retrasar el o cmputo del estimador. Imagina una aplicacin de OCR. Si nuestro objetivo fuera clasicar o o letras independientes, deber amos arriesgar una decisin para cada mancha de tinta ms o o a menos aislada. Sin embargo, no tiene sentido arriesgar una prediccin si no hay un candidato o claramente ganador. Es ms razonable intentar reconocer palabras completas. Para ello dea ber amos combinar las distribuciones de probabilidad de secuencias de manchas consecutivas, para encontrar la palabra completa ms probable de las existentes en un diccionario. El reconoa cimiento de caracteres individuales es percepcin de bajo nivel, el de palabras es de mayor nivel, o y as sucesivamente hasta llegar hasta frases o prrafos completos, lo que requerir autntica a a e percepcin de alto nivel. A medida que aumenta la complejidad de los objetos que deseamos o percibir hay que integrar las detecciones elementales en modelos cada vez ms elaborados. En a la actualidad somos capaces de ascender muy pocos niveles de la escala perceptual articial.

3.3.4.

Incertidumbre

Continuando con nuestro anlisis de la sensacin y la percepcin, en la prctica existe una a o o a fuente de ambigedad mucho ms importante que la provocada por la no monotonicidad. u a Debido a mltiples circunstancias, la respuesta de un sensor casi nunca es determinista: u jado un estado real, los resultados de diferentes mediciones oscilan alrededor de unos valores

40

3.3 El Clasicador Optimo

Clasificacion

ms o menos cercanos. El modelo del sensor es una especie de funcin con anchura vertical, a o indicando que para cada posible valor de r hay un cierto rango de posibles respuestas s:

En consecuencia, cuando recibimos un est mulo so existen uno (o varios) intervalos en los que podr estar el estado real: a

De nuevo, si disponemos de la probabilidad a priori p(r) de cada estado real podemos restringirla a los valores consistentes con la observacin: o

Esta distribucin restringida es esencialmente (una vez normalizada) la probabilidad a posteriori o p(r|so ) de los estados reales dada la observacin. Con ella podemos computar el predictor r o que minimice el criterio de coste deseado.

3.3.5.

Modelo probabil stico

La incertidumbre en las respuestas del sensor frente a cada estado real no se caracteriza muy bien por un simple intervalo de valores posibles. Es mejor modelarla mediante la distribucin o

Clasificacion

3.3 El Clasicador Optimo

41

de probabilidad de los valores de s para cada posible estado r, que denotamos como p(s|r). Este juego de distribuciones de probabilidad condicionadas es el modelo del sensor.

Intuitivamente, debemos pensar en una coleccin de densidades de probabilidad de s, una o para cada valor de r. Dependiendo de la naturaleza del problema, cada una tendr una forma a (localizacin, dispersin, etc.) en principio distinta. Otra forma de expresarlo podr ser pr (s), o o a pero la notacin de probabilidad condicionada p(s|r) es matemticamente ms apropiada o a a para las ideas que mostraremos ms adelante. a

La gura siguiente muestra un ejemplo sinttico en el que las medidas s tienden a crecer e con el valor de una magnitud continua r (de forma ligeramente no lineal), y a la vez, tienen mayor dispersin a medida que el valor de r es mayor. (Por ejemplo, un hipottico sensor de o e temperatura podr medir con mayor precisin las temperaturas bajas que las altas; a medida a o que sube la temperatura las medidas tienen ms ruido.) Se ha resaltado la distribucin de a o medidas para dos valores concretos de r (cortes verticales de la supercie):

-2 -1 r 0 1 2 -2 -1 0 1 s

Modelo del sensor: p(s|r)

En este ejemplo la distribucin de medidas para cada valor de r es simplemente una campana de o Gauss, pero en principio podr tener cualquier forma y variar de unos cortes a otros. Observa a que los cortes de mayor dispersin son ms bajos y los de menor dispersin son ms altos. Esto o a o a se debe a que todos ellos son densidades de probabilidad propiamente dichas, normalizadas con area unidad.

Ahora el conjunto de hiptesis consistentes con una cierta medida observada, p. ej., so = 0.6 o ya no es uno o varios intervalos discretos (como en el caso de la funcin s(r) anterior con o anchura vertical), sino una funcin con altura variable correspondiente al corte horizontal o de la supercie denida por el modelo del sensor:

42

3.3 El Clasicador Optimo

Clasificacion

2 -2 -1 0 r 1 2 -2 so -1 0 1

Funcin de verosimilitud p(s0 |r) o

Esa funcin se denomina verosimilitud de la observacin. Se representa como lso (r) = p(so |r) o o y no es una densidad de probabilidad, ni tiene ese signicado aunque la normalicemos. Su signicado es el apoyo puramente experimental o evidencia que recibe cada una de las posibles hiptesis candidatas r por el resultado de la medida concreta so . En este ejemplo ilustrativo o tiene forma parecida a una campana:
1.4 1.2 1 0.8 0.6 0.4 0.2 -3 -2 -1 1 2 3 r

Funcin de verosimilitud p(0.6|r) o

pero en otros casos puede ocurrir que, p. ej., la verosimilitud sea grande en todos los valores de r y ni siquiera se pueda normalizar. Si el sensor tiene mucha incertidumbre entonces una observacin apoyar con la misma fuerza a muchas hiptesis distintas. o a o Observa que el modelo del sensor (y por tanto la verosimilitud de las observaciones) no tiene para nada en cuenta la probabilidad a priori de los estados reales. Puede que un cierto estado r no ocurra casi nunca, lo cual se reejar en p(r), pero an as tendr su modelo de medida a u a (corte vertical) p(s|r) correspondiente, como todos los dems estados, para describir las oba servaciones que se producir si ese estado ocurriera. El modelo del mundo y el modelo del an sensor son completamente independientes uno del otro. La probabilidad a priori juega su papel en el clculo de la probabilidad a posteriori de las a hiptesis: la verosimilitud por s sola no es suciente: p. ej., una observacin puede apoyar o o mucho a dos posibles hiptesis, pero si una de ellas es muy poco probable es lgico que o o nuestra decisin nal sea la otra. o Continuando con el ejemplo anterior, supongamos que la probabilidad a priori de r tiene la siguiente distribucin parecida a una campana un poco achatada, en la que se observa que el o estado real se encontrar casi seguro entre 1 y +2: a

Clasificacion

3.3 El Clasicador Optimo

43

0.4 0.3 0.2 0.1 r

-3

-2

-1

Modelo del mundo p(r)

Cmo se combina la funcin de verosimilitud anterior con esta probabilidad a priori para o o obtener la probabilidad a posteriori de las hiptesis? El procedimiento es similar al del ejemplo o anterior de una respuesta del sensor con anchura vertical donde la verosimilitud era simplemente una funcin indicadora (0-1) que restring la probabilidad a priori. En el caso general o a se utiliza la

3.3.6.

Regla de Bayes

La probabilidad a posteriori es simplemente el producto normalizado de la funcin de verosio militud y de la probabilidad a priori de las hiptesis: o p(so |r)p(r) p(so )

p(r|so ) =

Es inmediato demostrar esto usando la regla de Bayes. Sirve para cambiar el sentido de una probabilidad condicionada, basndose en la forma equivalente de expresar la probabilidad de a la conjuncin de dos sucesos: p(A, B) = p(A)p(B|A) = p(B)p(B|A). Se utiliza cuando nos o interesa una probabilidad condicionada pero la contraria puede deducirse ms fcilmente de a a las condiciones del problema. A continuacin se muestran las funciones de verosimilitud (izquierda), la probabilidad a priori o (derecha) y el producto de ambas (en medio). Inspeccionando esta ultima vemos que el estado real estar probablemente alrededor de r 0.5: a
1.4 1.2 1 0.8 0.6 0.4 0.2 -3 -2 -1 1 2 3 r

p(so |r) (izqda.), p(r) (dcha.) y p(so |r)p(r) (centro)

El factor de normalizacin depende solo de p(so ) = p(so |r)p(r)dr. Su signicado est reo a lacionado con la frecuencia relativa de aparicin de la medida so aglutinando todos los estados o

44

3.3 El Clasicador Optimo

Clasificacion

reales r que la pueden producir. Si tiene un valor muy pequeo es que algo va mal, la obsern vacin es inconsistente con nuestro modelo del mundo y del sensor: segn ellos no hay ningn o u u estado real con probabilidad apreciable de ocurrir que pueda causar esa medida. Como el factor de normalizacin es comn para todas las hiptesis r no es imprescindible para o u o hacernos una idea de qu estados reales son ahora ms o menos probables, pero s lo es para e a obtener una distribucion de probabilidad propiamente dicha con la que podamos continuar trabajando de forma matemticamente consistente. a La gura siguiente muestra la evolucin de la incertidumbre acerca de r: o
1.2 1 0.8 0.6 0.4 0.2 -3 -2 -1 1 2 3 r

Evolucin p(r) p(r|so ) o

Antes de mirar la lectura de nuestro sensor lo unico que podemos armar es lo que nos dice la probabilidad a priori (funcin de la derecha). Despues de consultar el sensor y ver que marca o s = 0.6 actualizamos la distribucin de r, que se convierte en la probabilidad a posteriori o (funcin de la izquierda, el producto p(so |r)p(r) anterior ya normalizado). La observacin o o disminuye la incertidumbre del modelo del mundo. El proceso podr continuarse con nuevas medidas independientes, donde el papel de la proa babilidad a priori lo jugar la probabilidad a posteriori de cada etapa anterior. a

3.3.7.

Modelo conjunto

Es conveniente dar una interpretacin del producto p(s|r)p(r) anterior, sin normalizar, para o todos los posibles valores de s y r. Cada vez que registramos una medida so el proceso de inferencia requiere el producto del corte p(so |r) de toda la supercie p(s|r) y la distribucin p(r). Podemos precalcular todos los posibles productos fabricando una nueva supercie o p(s|r)p(r) = p(s, r) que no es ms que la probabilidad de que ocurran conjuntamente el a estado real r y la observacin s. La probabilidad a posteriori de r dado so es simplemente el o corte de esa supercie por so , una vez normalizado. La supercie p(s, r) es el modelo conjunto del sensor y del mundo:

Clasificacion

3.3 El Clasicador Optimo

45

-2 -1 r 0 1 2 -2 -1 0 1 s

Modelo conjunto sensor - mundo p(s, r)

3.3.8.

Modelo inverso

Si tambin precalculamos la normalizacin de todos los cortes horizontales, conseguimos el e o juego completo de probabilidades a posteriori, lo que constituye el modelo inverso p(r|s) del sensor:

-2 2 0 r 2 -2 so 0 s

Modelo inverso p(r|s)

El corte de esa supercie por cada observacin s es ya directamente la probabilidad a posteriori o p(r|s). La gura anterior muestra la distribucin correspondiente a la medida so = 0.6 del o ejemplo anterior. (El corte abrupto de la supercie se debe a que slo hemos representado la o zona donde p(s) es apreciable. Ms all deber a a amos sospechar de la consistencia del modelo.) Curiosamente, si un sensor tiene incertidumbre o ambigedad su modelo inverso requiere un u modelo del mundo. La informacin necesaria para inferir una variable a partir de otra se encuentra en la densidad o conjunta de ambas (ver Seccin C.4). A partir de ella podemos obtener cualquier densidad cono dicionada mediante simple normalizacin del corte deseado. Los cortes verticales normalizados o son el modelo directo del sensor p(s|r) y los cortes horizontales normalizados son el modelo inverso p(r|s). En problemas de percepcin como los que nos ocupan es natural expresar la o densidad conjunta como producto de los dos ingredientes fundamentales que, en principio, es ms fcil conocer: el modelo del sensor y el del mundo. a a

46

3.3 El Clasicador Optimo

Clasificacion

Finalmente, podr amos precalcular tambin un predictor r(s) para cada posible observacin. e o Si deseamos minimizar el error cuadrtico medio calculamos la media de cada distribucin a a o posteriori, lo que se conoce como curva de regresin. Tambin se puede calcular un intervalo o e de conanza que incluya, p. ej., 1,5 desviaciones t picas alrededor de la media:
r 1.5 1 0.5 s -1 -0.5 -0.5 -1 r 2 1.5 1 0.5 0.5 1 1.5 2 s

-1

-0.5 -0.5

0.5

1.5

Curva de regresin o

Intervalo de conanza

Este ejemplo es relativamente sencillo porque tanto el estado real r como la observacin s o son variables continuas unidimensionales. En general, ambas magnitudes podr ser vectores an con componentes continuas o discretas, lo que requerir ms esfuerzo computacional para a a realizar la inferencia y, sobre todo, una tremenda dicultad para obtener modelos probabil sticos vlidos. a

3.3.9.

Clasicacin o

Una situacin muy comn es la clasicacin de algn aspecto del entorno dentro de un nmeo u o u u ro nito de categor excluyentes. En este caso r es una variable que slo puede tomar un as o nmero nito de valores y s es un vector de propiedades, normalmente con componenentes u continuas. Vamos a intentar representar grcamente esta situacin. En primer lugar analia o zarems el caso de un vector de propiedades con una unica componente y un problema con, o p. ej., tres clases r = {c1 , c2 , c3 }. El modelo del mundo es por tanto un juego de tres valores de probabilidad p(r) = {p(c1 ), p(c2 ), p(c3 )} que abreviamos como p(r) = {p1 , p2 , p3 }. Supongamos que p(r) = {0.25, 0.25, 0.50}:
p r 0.5 0.4 0.3 0.2 0.1 1 2 3 4 r

Modelo del mundo (clasicacin) o

Anlogamente, el modelo del sensor p(s|r) ya no es un juego continuo de densidades de probaa bilidad que forman una supercie, sino slo tres densidades unidimensionales correspondientes o a los unicos valores posibles de r: p(s|r1 ), p(s|r2 ) y p(s|r3 ). P. ej., , podr amos tener un sensor con la siguiente distribucin de respuestas: o

Clasificacion

3.3 El Clasicador Optimo

47

0 1 r 2 3 4 0 1 2 4 3 s

Modelo del sensor (clasicacin) o

La funcin de verosimilitud de una observacin, p. ej., so = 1.3 es el corte horizontal del modelo o o del sensor. Al tratarse de un problema de clasicacin se reduce a un conjunto discreto de o valores asociados a cada categor (en este ejemplo, la observacin apoya ms a r2 y luego a a o a r1 y a r3 ):

0 1 r 2 3 4 0 2 4

Verosimilitud de la observacin so = 1.3 o

La probabilidad a posteriori se calcula multiplicando los valores de verosimilitud por las correspondientes probabilidades a priori del modelo del mundo y normalizando:
p r,1.3 0.4 0.3 0.2 0.1 r

Probabilidades a posteriori p(r|1.3)

Antes de medir (a priori ) el estado ms probable era r3 . El resultado de la medida hace a evolucionar las probabilidades y ahora (a posteriori ) el estado ms probable es r2 . Como ya a indicamos anteriormente, este proceso de actualizacin Bayesiana puede repetirse con obsero vaciones sucesivas (siempre que sean independientes) reduciendo progresivamente la incerti-

48

3.3 El Clasicador Optimo

Clasificacion

dumbre hasta un grado aceptable. En cada etapa las probabilidades a priori que se utilizan son las probabilidades a posteriori obtenidas en la etapa anterior. Igual que en el caso continuo, podemos construir el modelo conjunto, en el que las densidades condicionadas a cada clase quedan multiplicadas por las probabilidades a priori:

0 1 r 2 3 4 0 1 2 4 3 s

Modelo conjunto (clasicacin) o

y normalizar cada corte horizontal para conseguir el modelo inverso (se muestran las probabilidades a posteriori correspondientes a la observacin anterior, p(r|1.3)): o

0 1 r 2 3 0 4 2 4 s

Modelo inverso (clasicacin) o

Observa que, en este ejemplo, cuando la observacin disminuye las tres clases tienden a ser o equiprobables, y cuando aumenta la probabilidad se decanta claramente por r3 . Si los valores observados son muy extremos tanto en un sentido como en otro p(s) se hace muy pequeo n y, aunque aparentemente existen unas ciertas probabilidades a posteriori de cada clase, deber amos rechazar la decisin porque la medida ser inconsistente con nuestros modelos. o a

3.3.10.

Test de Bayes

En resumen, y cambiando la notacin para recordar que la magnitud de inters r es el o e ndice de una clase c {1, . . . , C} y que el est mulo observado s es un vector de propiedades x, la regla de clasicacin ptima MAP (de mxima probabilidad a posteriori) puede escribirse1 o o a

Clasificacion como:

3.3 El Clasicador Optimo

49

c = argmax{p(c|xo )} = argmax{p(xo |c)p(c)} = argmax p(c, xo )


c c c

Por tanto, el clasicador ptimo (conocido tambin como Test de Bayes) se expresa de forma o e muy simple a partir de los modelos del sensor y del mundo. Intuitivamente, se decide la clase que con mayor frecuencia produce el vector de propiedades observado, lo que est de acuerdo a con el sentido comn, pero, como hemos visto en la discusin anterior, es necesario tener en u o cuenta el sesgo producido por las probabilidades a priori . Aun a riesgo de resultar pesados, la siguiente gura ilustra de nuevo la evolucin de las o probabilidades de los estados reales tras realizar una la observacin: o

Actualizacin bayesiana de las probabilidades. o

Ningn otro mtodo de clasicacin, basado unicamente en la observacin de las mismas u e o o propiedades x, cometer en promedio menos errores. a
Cuando slo hay dos clases, la regla de decisin ptima se puede expresar en forma de o o o un umbral sobre el ratio de verosimilitudes l(x) (likelihood ratio): c1 h c2

p(x|c1 ) l(x) p(x|c2 )

P (c2 ) P (c1 )

(la notacin anterior signica que si se cumple la condicin > se decide la clase c1 y o o si se cumple la condicin < se decide la clase c2 . La regla ptima tambin se puede o o e expresar como un umbral sobre la log-likelihood: c1 ln l(x) c2
1

ln h

La notacin argmax sirve para referirnos al valor del argumento que maximiza una funcin. El factor de o o normalizacin 1/p(xo ) es comn en todos los elementos y por tanto no afecta al valor de c que maximiza la o u probabilidad a posteriori.

50

3.3 El Clasicador Optimo

Clasificacion

lo cual es util para simplicar expresiones con densidades de tipo exponencial (p. ej., gaussianas).

3.3.11.

Ejemplo

La situacin ms sencilla para ilustrar el proceso de inferencia bayesiana ocurre cuando tanto o a el estado del mundo r como la magnitud observable s admiten unicamente dos valores. Por ejemplo, r {T, F } (el mundo se encuentra en un cierto estado o no) y s {+, } (s es el resultado de un test que trata de determinar el estado r y produce un resultado positivo o negativo). La calidad del test se mide por su tasa de aciertos, pero es muy importante tener en cuenta que esa medida hay que desglosarla en la sensibilidad p(+|T ) y la selectividad p(|F ). Son necesarios ambos, ninguno por separado caracteriza completamente el test. De nada sirve una gran sensibilidad (responder positivamente cuando ocurren el fenmeno) si el test no tiene o selectividad y tambin responde positivamente cuando no ocurre. Alternativamente podr e amos caracterizar el sensor mediante las probabilidades de un falso positivo p(+|F ) y de un falso negativo p(|V ). En cualquier caso, el test queda descrito por las 4 probabilidades p(+|T ), p(|T ), p(+|F ), y p(|F ). La siguiente gura muestra una interpretacin grca de la densidad conjunta y sus dos o a factorizaciones:

Teorema de Bayes Supongamos que nuestro test tiene un 99 % de sensibilidad y un 95 % de selectividad. Si efectuamos el test y obtenemos s = +. Qu podemos decir de r? Es T F? Lo cierto e o es que si desconocemos las probabilidades a priori del fenmeno no podemos armar o mucho. . . Supongamos que la prevalencia general del fenmeno es p(T ) = 1/1000. o Antes de efectuar el test la probabilidad de que ocurra es uno entre mil. Un sencillo clculo muestra que si el test da positivo la probabilidad evoluciona de p(T ) = 0.1 % a a p(T |+) 2 %. El test es muy preciso y cuando da positivo incrementa mucho la probilidad del fenmeno que trata de medir, pero debido al valor de las probabilidades o a priori an as sigue siendo mucho ms probable que no ocurra. El test da posivo en u a situaciones T, acertando, y tambin en situaciones F, equivocndose, y en este caso e a estas ultimas son ms numerosas. Si el resultado de un segundo test independiente a tambin fuera positivo ya s se har ms probable a posteriori el estado T. e a a Observa la evolucin del ratio de verosimilitudes. Antes de hacer ningn test F es casi o u 1000 veces ms probable que T. Tras el primer resultado positivo: a

Clasificacion

3.3 El Clasicador Optimo

51

1 99 1000 100 999 5 1000 100

11 55

50

es decir, ahora F es slo unas 50 veces ms probable que T. Tras un segundo positivo o a tendr amos: 11 99 925 = 55 5 363

1/2.5

es decir, ahora el estado ms probable s cambia, T es unas 2 veces y media ms probable a a que F.

3.3.12.

Error de Bayes

En la Seccin 1.6 introdujimos el concepto de error intr o nseco, relacionado con el solapamiento de las nubes de puntos en el espacio de propiedades. Ahora estamos en condiciones de formalizar un poco mejor esta idea. Si las propiedades x son muy ambiguas (obtienen valores parecidos en clases diferentes) se cometern inevitablemente muchos errores de clasicacin, a o incluso aunque usemos el mtodo optimo que acabamos de describir. El error intr e nseco EB (Error de Bayes) es simplemente la probabilidad de error que conseguir el mtodo de clasia e cacin ptimo. Cualquier otro mtodo, incluyendo los algoritmos prcticos que usaremos en o o e a situaciones reales, tendrn una probabilidad de error no inferior a EB, que es algo as como el a ideal de precisin que nos gustar conseguir. o a La probabilidad de error de cualquier mtodo de clasicacin (que, en denitiva, se reducir a e o a unas regiones y fronteras de clasicacin ms o menos bien elegidas) es la proporcin de o a o observaciones de cada clase que caen en la regin de decisin equivocada). Las nubes de puntos o o quedan descritas matemticamente por las densidades de probabilidad p(x|c) del modelo del a sensor. El conjunto de valores s en los que p(ck |x)p(ck ) es mayor que los dems es la regin a o de decisin optima de la clase k-sima y donde se cruzan se encuentra la frontera de decisin o e o optima. La gura siguiente ilustra grcamente la probabilidad de error de una regla de clasicacin a o no muy buena (izquierda) y el error de Bayes de ese mismo problema (derecha).

Observa que hay una cantidad de error inevitable (el m nimo de las dos funciones) y que un clasicador que no se site en la frontera ptima cometer un error adicional. u o a Cuando el vector de propiedades es bidimensional las regiones de decisin son regiones planas o y la fronteras entre ellas son l neas. En la gura siguiente se muestran dos densidades de probabilidad que generan unos objetos bidimensionales (muestras con dos propiedades que se representan como puntos en el plano):

52

3.3 El Clasicador Optimo

Clasificacion

0.15 0.1 0.05 0 -2 0 2 4 6 -2 0 2 4 6

0.2 0.1 0 -2 0 2 4 6 -2 0 4 2

0.1 0.05 0 -2 0 2 4 6 -2 0 2 4

6 5 4 3 2 1 0 -1 -1 0 1 2 3 4 5 6

6 5 4 3 2 1 0 -1 -1 0 1 2 3 4 5 6

6 5 4 3 2 1 0 -1 -1 0 1 2 3 4 5 6

Modelo de un sensor que mide dos propiedades: p(x1 , x2 |c1 ) (izquierda), p(x1 , x2 |c2 ) (centro), y ambas (derecha). Debajo de cada una se incluye un conjunto de observaciones obtenido de cada modelo.

Las regiones y fronteras de decisin de la regla MAP para este problema sinttico, suponiendo o e que las clases c1 y c2 son equiprobables, se ilustran a continuacin y se comparan con las o obtenidas por los mtodos de clasicacin sencillos propuestos al principio de este cap e o tulo:
6 6 6 6

-2

-2

-2

-2

-2

-2

-2

-2

De izquierda a derecha, fronteras de decisin del mtodo ptimo (probabilidad de aciertos de 0.79), o e o m nima distancia a la media (0.72), m nima distancia de Mahalanobis (0.76) y vecino ms prximo a o (0.74).

Este problema tiene mucha ambigedad (el mtodo ptimo comete ms del 20 % de fallos). u e o a Curiosamente, la distancia de Mahalanobis consigue un resultado muy bueno a pesar de que una de las clases tiene una distribucin curvada. El mtodo del vecino ms prximo produce o e a o una frontera bastante exible pero generaliza peor al estar basado en las muestras directamente observadas, sin obtener una representacin compacta del problema. o Lgicamente, es deseable tener una idea de la magnitud de EB para saber lo alejado que o est del optimo terico el clasicador que hemos diseado. Desafortunadamente, el EB de a o n un problema concreto es dif de calcular incluso si conociramos perfectamente (lo que casi cil e nunca ocurre) el modelo del sensor; calcularlo con precisin a partir unicamente de informacin o o muestral es una tarea extremadamente dicultosa que casi nunca merece la pena intentar.
El error de clasicacin (por simplicidad consideramos solo dos clases) de un cierto o

Clasificacion

3.3 El Clasicador Optimo

53

mtodo que dene regiones de decisin R0 y R1 se puede expresar formalmente como: e o

P E = p(1)
R0

p(x|1)dx + p(0)
R1

p(x|0)dx

Este valor terico es dif de calcular anal o cil ticamente incluso conociendo p(x|c). Normalmente recurrimos a estimaciones estad sticas como las explicadas en la Seccin 3.2. o Para el Error de Bayes existe una expresin ms concisa (aunque sin excesiva utilidad o a prctica). Las regiones de decisin del clasicador ptimo R0 y R1 son las zonas donde a o o los integrandos son uno mayor que el otro, por lo que:

EB =

min{p(c)p(x|c)}dx
c

La tasa de error de un clasicador debe compararse con 1 - maxc {p(c)}, la probabilidad de error del mejor mtodo ciego que, sin mirar el vector de propiedades, decide la clase e ms probable. (Como ejemplo, un clasicador que consigue un 92 % de aciertos no es a realmente muy espectacular si en ese problema una de las clases aparece el 90 % de las veces.) Se han propuesto aproximaciones (t picamente cotas superiores) del EB basadas en suposiciones sobre las densidades condicionadas. A veces pueden resultar utiles como indicadores de la complejidad del problema o de la calidad del vector de propiedades.

Recordemos que si el EB de un problema de clasicacin es muy grande la unica alternativa es o cambiar las propiedades x; pero si la ambigedad est en la informacin original (p. ej., nmero u a o u cero / letra O) la unica posibilidad de deshacerla es en una etapa posterior de interpretacin. o

3.3.13.

Ponderacin de los errores. o

El anlisis probabil a stico precedente, junto con conceptos elementales de la Teor de la Decisin a o (Seccin C.4, pg. 207 ), nos permite tambin resolver la situacin en la que unos errores son o a e o ms graves que otros. Si tratamos de distinguir bombas de manzanas o en el diagnstico de a o una enfermedad un falso positivo puede ser menos grave que un falso negativo. Mejor que el simple nmero de errores de clasicacin, deseamos minimizar el coste total que nos suponen u o los errores producidos.
La funcin de coste de este ejemplo podr ser: o a 0 1000 1 0

L=

indicando que es 1000 veces ms costoso confundir una bomba con una manzana que a a la inversa. El riesgo a posteriori de la decisin ci es Ri (x) = i Lij P (cj |x). Debemos tomar la o decisin de m o nimo riesgo. Cuando hay dos clases, la decisin ptima se expresa de o o forma concisa como:

54

3.3 El Clasicador Optimo

Clasificacion

p(x|c1 ) p(x|c2 )

c1 c2

L12 L22 P (c2 ) L21 L11 P (c1 )

esto es, el coste de los errores slo afecta al umbral del test de Bayes expresado en o trminos del ratio de verosimilitudes. La frontera de decisin se desplaza hacia dentro e o de la regin menos grave, de manera que ante observaciones ambiguas se toma la o decisin menos comprometedora. Se cometer un numero mayor de errores, pero en su o a desglose aparecer una proporcin menor de los errores ms costosos. Si la tabla de a o a costes L es simtrica la decisin ptima minimiza la probabilidad de error. e o o

3.3.14.

Rechazo.

Si la observacin disponible no reduce sucientemente la incertidumbre sobre la clase real o en o trminos de riesgo (Seccin C.4), si el coste medio de la decisin ptima es aun as demasiado e o o o alto puede ser recomendable rechazar la decisin (decidir que no se quiere decidir). Las o fronteras se ensanchan creando un banda de seguridad sobre las zonas de solapamiento de las nubes de cada clase. Cuando el coste es 0-1 (probabilidad de error) rechazamos si la probabilidad a posteriori de la clase ganadora no es muy prxima a 1. Esta estrategia reduce o la probabilidad de error del clasicador todo lo que se desee, pero por supuesto a costa de no tomar decisiones, lo que reduce tambin la tasa de aciertos global. e

3.3.15.

Combinacin de Informacin. o o

Si las componentes del vector de propiedades son condicionalmente independientes el clasicador optimo se puede expresar como una especie de votacin ponderada, en la que cada o propiedad contribuye aisladamente a la decisin con una cierta cantidad a favor o en contra o (que depende de lo discriminante que sea). Esta idea se puede aplicar tambin para acumular e evidencia obtenida por observaciones sucesivas (e independientes) de una misma propiedad.
Cuando hay independencia condicional las densidades condicionadas pueden expresarse como un producto de densidades marginales: p(x|c) = p(x1 |c)p(x2 |c) . . . p(xn |c)

Clasificacion

3.4 Estimacin de densidades o

55

por tanto en su versin de log-likelihood el cociente de verosimilitud global se convierte o en la suma de los cocientes de cada componenente del vector de propiedades:

ln l(x) = ln

p(x|1) p(x1 |1) p(x2 |1) p(xn |1) p(2) = ln = + ln + . . . + ln ln p(x|2) p(x1 |2) p(x2 |2) p(xn |2) p(1) = l(x1 ) + l(x2 ) + . . . + l(xn ) + K

Esto sugiere que cuando las fuentes de informacin sobre un cierto hecho son independientes o entre s podemos combinarlas siguiendo una regla muy simple. P. ej., si varios jueces aproxi madamente igual de ables observan directamente un hecho, una simple votacin es adecuada o para combinar sus decisiones individuales.

En caso contrario la combinacin correcta de todos los resultados requiere inevitablemente o tener en cuenta la densidad conjunta. Si varias fuentes de informacin han tenido un intero mediario comn deben reducir su peso en la decisin nal. u o

La decisin optima probabil o stica bajo la suposicin de atributos condicionalmente indepeno dientes se conoce como naive Bayes.

Ejercicios:
Analiza la probabilidad de que al hacer n experimentos independientes, cada uno con probabilidad de xito p, obtengamos una mayor de xitos. (Un experimento con probabilidad p se e a e puede interpretar como un juez, un votante o un clasicador, cuya probabilidad de tomar la decisin correcta es p.). o

3.4.

Estimacin de densidades o

Desde el punto de vista terico anteriormente expuesto, toda la informacin necesaria para o o efectuar inferencias probabil sticas se encuentra en la densidad conjunta de las variables involucradas, que nos permite calcular cualquier densidad condicionada mediante normalizacin de los o cortes correspondientes. En problemas de percepcin el modelo conjunto se expresa de forma o natural como el producto del modelo del sensor y el modelo del mundo: p(s, r) = p(s|r)p(r), o, en el caso de clasicacin a partir de vectores de propiedades: p(x, c) = p(x|c)p(c). o

56

3.4 Estimacin de densidades o

Clasificacion

Por tanto, cuando nos enfrentamos a una aplicacin real, el sentido comn podr sugerir la o u a idea de obtener de alguna manera estos modelos probabil sticos e insertarlos en la regla de decisin optima. o Una posibilidad ser intentar deducir el modelo del sensor y el del mundo a partir de conoa cimientos tericos sobre el problema en cuestin. Sin embargo, en la mayor de los casos o o a relacionados con la percepcin articial, este enfoque no es viable. P. ej., no parece fcil eno a contrar mediante consideraciones tericas una descripcin matemtica precisa de, p. ej., la o o a distribucin de tinta en las imgenes de letras manuscritas en sobres de cartas enviadas por o a correo. Una alternativa podr consistir en recoger a un nmero sucientemente grande de ejemplos a u de vectores de propiedades, etiquetados con la clase a que pertenecen, para construir algn u tipo de estimacin emp o rica, estad stica o aproximacin a las distribuciones de probabilidad o involucradas.
En principio, esto podr hacerse de dos maneras. Cuando observamos desde fuera a un cierto sistema mundo-sensor (las variables r y s) podemos registrar las parejas de ocurrencias (s, r). Y mediante las tnicas que explicaremos ms adelante, podemos e a construir una aproximacin a la densidad conjunta p(s, r). o Alternativamente, podemos manipular o controlar un poco el mundo y jar (o ltrar) cada estado posible ri para registrar la distribucin de respuestas frente a ese estado o y conseguir las correspondientes densidades p(s|ri ). De esta forma modelar amos el sensor. Luego necesitar amos estimar el modelo del mundo a partir de la frecuencia de aparicin de cada posible estado ri . Este segundo mtodo es ms natural para abordar o e a problemas de clasicacin. o

La estimacin de las probabilidades a priori es una tarea comparativamente sencilla. Podemos o usar directamente la frecuencia observada de aparicin de cada tipo de objeto en nuestro o problema. Por suerte, cuando las propiedades son sucientemente discriminantes, la inuencia de las probabilidades a priori es relativamente pequea y en general no cambiarn la decisin n a o tomada por el clasicador. Slo tienen inuencia decisiva cuando la medida xo es muy ambigua, o en cuyo caso lo mas razonable es rechazar la decisin. o Por el contrario, las densidades condicionadas que constituyen el modelo del sensor esenciales para construir el clasicador optimo son en general mucho ms dif a ciles de estimar, especialmente cuando las observaciones son multidimensionales. Se trata de un problema mal condicionado (ill posed), que requiere expl cita o impl citamente algn tipo de regularizacin o u o suavizado que no es sencillo deducir simplemente de los datos disponibles. A continuacin vamos a comentar algunos mtodos prcticos de estimacin de densidades de o e a o probabilidad que se han utilizado frecuentemente para fabricar clasicadores secillos que, en algn sentido, pueden considerarse como aproximaciones ms o menos ajustadas al clasiu a cador ptimo. Pero es muy importante insistir en que este enfoque no es el ideal. Estimar o densidades de probabilidad para mediante el test de Bayes trazar la frontera de clasicacin o es dar un rodeo innecesario: nos enfrentamos a un problema ms complejo como herramiena ta auxiliar para resolver uno ms simple. En realidad, de acuerdo con la teor matemtica a a a de la generalizacin inductiva desarrollada por Vapnik [27] (que estudiaremos en el cap o tulo siguiente), ajustar directamente una funcin de decisin (situar una buena frontera) es ms o o a fcil que estimar densidades de probabilidad completas sobre todo el espacio de propiedades. a

Clasificacion

3.4 Estimacin de densidades o

57

3.4.1.

Mtodos Paramtricos e e

La manera ms simple de estimar una densidad de probabilidad es suponer que pertenece a a una cierta familia y estimar sus parmetros. (La validez de esa suposicin puede comprobarse a o mediante tests estad sticos que permiten analizar si una muestra es consistente o no con un cierto modelo.) Un modelo t pico es la densidad gaussiana multidimensional. Es matemticamente manejable a y describe bien las mediciones de una magnitud real contaminada con ruido que depende de muchos factores independientes (una situacin f o sica usual). Los unicos parmetros que hay que estimar son los valores medios y las matrices de covarianza a del vector de propiedades en cada clase. Al insertar los modelos estimados en el test de Bayes se obtienen fronteras cuadrticas relacionadas con la distancia de Mahalanobis a cada clase: a

6 4 -2 0 2 2 4 0 6-2 6 5 4 3 2 1 0 -1 -1 0 1 2 3 4 5 6 -1 0 1 2 3 4 5 6 -2 0 2 2 4 0 6-2 4

6 4 -2 0 2 2 4 0 6-2

6 5 4 3 2 1 0 -1

6 4 2 0 -2 -2 0 2 4 6

Modelos gaussianos generales

Si da la casualidad de que las matrices de covarianza de las clases son iguales, entonces se cancelan los trminos cuadrticos y las fronteras se hacen lineales (hiperplanos): e a
6 5 4 3 6 4 -2 0 2 4 6 -2 -1 0 1 2 3 4 5 6 0 2 2 1 0 -1

Si adems las nubes son de tamao esfrico, del mismo tamao, y las clases son equiprobables, a n e n el clasicador optimo se reduce al mtodo extremadamente sencillo de m e nima distancia a las medias de cada clase:

58

3.4 Estimacin de densidades o


6 5 4 3 6 4 -2 0 2 4 6 -2 -1 0 1 2 3 4 5 6 0 2 2 1 0 -1

Clasificacion

Para comprobar que el clasicador ptimo para clases gaussianas produce fronteras o cuadrticas expresamos el test de Bayes en forma de log-likelihood. Si p(x|ci ) = a N (x, i , i ), tenemos que p(x|c1 ) N (x, 1 , 1 ) ln l(x) = ln = ln p(x|c2 ) N (x, 2 , 2 ) Cancelando exponenciales y logaritmos podemos escribir: c1 ln c2 P (c2 ) P (c1 )

1 1 |1 | 1 (x 1 )T 1 (x 1 ) (x 2 )T 1 (x 2 ) + ln 1 2 2 2 2 |2 |

c1 ln c2

P (c1 ) P (c2 )

que no es ms comparar las distancias de Mahalanobis a cada densidad: a c1 d2 (x) d2 (x) + cte. 1 2 c2 Cuando las dos clases tienen una matriz de covarianza comn 1 =2 = el trmino u e cuadrtico se cancela y la regla de decisin es lineal: a o c1 Ax c2 donde los componentes de x se ponderan con A = (2 1 )T 1 y el umbral de 1 decisin es b = 2 (T 1 T 2 ) + ln P (c1 ) ln P (c2 ). Finalmente, si adems o a 1 2 las clases son esfricas ( = I) y equiprobables (P (c1 ) = P (c2 )) el clasicador ptimo e o gaussiano se reduce a la regla de m nima distancia a la media: los pesos se reducen a 1 A = (2 1 ) y el umbral b = 2 (T 2 T 1 ), dando lugar a 2 1 c1 ||x 2 || c2 ||x 1 || b 0

Estos resultados indican que, independientemente de la magnitud del error intr nseco del problema de clasicacin, en ciertos casos la solucin ptima se reduce a un algoritmo elemental. o o o Por supuesto, las simplicaciones anteriores nunca se vericarn exactamente en la prctica. a a

Clasificacion

3.4 Estimacin de densidades o

59

Lo importante es que, en algunos casos (p. ej., cuando las propiedades son muy discriminantes), son aproximaciones aceptables que no tiene sentido intentar mejorar con mtodos de e clasicacin ms complejos. o a Estimacin de los parmetros y . o a Estimacin incremental. o

3.4.2.

Mtodos No Paramtricos e e

Si no tenemos ninguna informacin sobre el tipo de densidad de probabilidad, podemos usar o mtodos no paramtricos, que pueden adaptarse a la forma geomtrica de cualquier nube, e e e pero en contrapartida necesitan un nmero mucho mayor de muestras para conseguir resultados u aceptables. Un mtodo muy sencillo de este tipo es la estimacin frecuencial directa: aproximamos la e o densidad de probabilidad en un punto a partir de la frecuencia relativa de aparicin de muestras o en un regin pequea alrededor de ese punto. En espacios de dimensin muy reducida (2 o 3) o n o podr amos usar directamente un histograma como aproximacin a la densidad de probabilidad. o

Mtodo de vecinos e Una idea mejor es utilizar una regin de tamao variable, p. ej., con forma esfrica, que contiene o n e un nmero k de muestras. Curiosamente, insertando este tipo de estimacin frecuencial en el u o test de Bayes obtenemos el mtodo de clasicacin de los k vecinos ms prximos (el tamao e o a o n de la regin y los nmeros de muestras se cancelan). De nuevo, un mtodo de clasicacin o u e o muy sencillo es una buena aproximacin al mtodo optimo. o e justicar En condiciones razonables, esta estimacin frecuencial converge a la densidad real. Es fcil o a demostrar que, cuando hay innitas muestras, la clasicacin basada en el vecino ms prximo o a o (k = 1) tiene un error que es no ms del doble del error de Bayes. Pero si la muestra es nita a no se puede garantizar mucho sobre el error de este mtodo. e

Mtodo de Parzen e Otro mtodo no paramtrico muy utilizado es el de Parzen. La idea es situar una funcin de e e o densidad sencilla (kernel rectangular, triangular, gaussiano, etc.) encima de cada muestra y promediar el valor de todas ellas. Lgicamente, la regiones con mucha densidad de puntos o contribuyen con mayor altura a la densidad estimada. La anchura del kernel es un parmetro a de suavizado que debemos ajustar para que la estimacin no se pegue excesivamente a los o datos, generando un conjunto de picos independientes, ni tampoco emborrone completamente la distribucin de puntos: o

60

3.4 Estimacin de densidades o

Clasificacion

-2

2 2 4 0 -2 6

6 4

-2

2 2 4 0 -2 6

6 4

-2

2 2 4 0 -2 6

6 4

-2

2 2 4 0 -2 6

6 4

Estimaciones de Parzen con anchura de ventana creciente

Se puede demostrar que el mtodo de Parzen es una estimacin emp e o rica de una versin o suavizada de la densidad real. Converge a ella si la anchura del kernel se va haciendo progresivamente ms pequea (pero no demasiado rpido) al aumentar el nmero de muestras. En la a n a u prctica la muestra es nita, por lo que el nivel de suavizado debe estimarse heur a sticamente mediante, p. ej., tcnicas de cross-validation. A veces hay que usar un grado de suavizado e variable en cada punto o regin, lo que complica todav ms el mtodo. o a a e justicar En general los estimadores no paramtricos producen clasicadores que no son concisos (usan e toda la base de datos de ejemplos disponibles sin extraer de ella ninguna informacin relevante) o y que en consecuencia poseen un tiempo de ejecucin que puede ser inaceptablemente largo. o (Se han propuesto tcnicas para reducir el tamao de la base de ejemplos, p. ej., eliminando e n muestras que no afectan a la regla de clasicacin.) o

3.4.3.

Modelos del mezcla

Una solucin intermedia entre los mtodos paramtricos (que sitan una sola densidad simple o e e u encima de todas las muestras) y los no paramtricos (que sitan una densidad simple encima e u de todas y cada una de las muestras) es utilizar mtodos semiparamtricos, como los basados e e en modelos de mezcla. La idea es expresar la densidad como una suma de un nmero pequeo u n de densidades simples cuyo tamao y posicin se ajusta para situarse encima de la nube de n o puntos adaptndose lo mejor posible a los detalles de la distribucin. a o
1 0.5 0.8 0.6 0.4 0.2 0 -1 0 1 -1 -1 -0.5 0 0.5 1 0 -0.5 -1

1 0

Modelo de mezcla de gaussianas

Los parmetros de un modelo de mezcla se estiman ecientemente mediante el notable algorita mo EM (Expectation-Maximization, [17]). Se trata de un mtodo general para estimar modelos e probabil sticos en los que los datos tienen informacin incompleta. P. ej., en el caso de un o

Clasificacion

3.4 Estimacin de densidades o

61

modelo de mezcla ignoramos qu componente ha generado cada muestra. Si dispusiramos de e e esa informacin ser inmediato estimar los parmetros de cada componente individual usando o a a las muestras que le corresponden. El mtodo funciona iterando sucesivamente el paso E, en el e que se calcula el valor esperado de la informacin incompleta dados los parmetros estimados o a en la iteracin anterior, y el paso M, en el que se reestiman los parmetros del modelo a partir o a de la muestra y de la estimacin de la informacin incompleta obtenidas en el paso E anterior. o o El algoritmo no tiene parmetros ajustables y en condiciones normales converge rpidamente a a a un mximo local de la funcin de verosimilitud del modelo. a o
Un modelo de mezcla tiene la forma siguiente:
L

p(x) =
c=1

P{c}p(x|c)

Podemos interpretarla diciendo que la naturaleza elige una componente c con probabilidad P{c} y genera una observacin x con la distribucin de esa componente, p(x|c). o o Nosotros vemos las observaciones de todas las componentes aglutinadas, no sabemos qu componente ha generado cada observacin. e o Si las componentes son gaussianas el modelo toma la forma
L

p(x) =
c=1

c N (x, c , c )

donde las proporciones de cada componente se abrevian como c = P{c} y las densidades de cada componente son gaussianas con una cierta media y matriz de covarianza: p(x|c) = N (x, c , c ). A partir de un conjunto de muestras {xi }n deseamos estimar los parmetros {c , c , c }L a c=1 i=1 que maximizan la verosimilitud J = i p(xi ). Este producto de sumas es una funcin o de coste matemticamente complicada de optimizar directamente (tomar logaritmos no a ayuda). Pero observa que si conociramos la componente que ha generado cada obsere vacin, podr o amos estimar de manera independiente los parmetros de cada gaussiana. a El algoritmo EM estima la procedencia de cada muestra y recalcula los parmetros itea rativamente (realiza un ascenso de gradiente (Seccin D.3) sobre J). Intuitivamente, o podemos entender fcilmente su funcionamiento pensando que los parmetros son los a a valores esperados de ciertas funciones g(x) condicionados a cada componente. P. ej., para la media de cada componente c = E{x|c} tendr amos g(x) = x, para la matriz T y para la proporcin g(x) = 1. de covarianza tendr amos g(x) = (x )(x ) o Usando el teorema de Bayes podemos expresar valores esperados condicionados como no condicionados: E{g(x) P{c|x}} P{c}

E{g(x)|c} =

Esto se ve claramente si hacemos expl citas las densidades de los valores esperados:

Ep(x|c) {g(x)|c} =

g(x)p(x|c)dx =

g(x)

Ep(x) {g(x) P{c|x}} P{c|x}p(x) dx = P{c} P{c}

62

3.4 Estimacin de densidades o

Clasificacion

Los valores esperados no condicionados se pueden estimar con la muestra {xi } observada: 1 n
n

E{g(x) P{c|x}}

g(xi ) P{c|xi }
i=1

Aparecen unos coecientes P{c|xi } (la probabilidad de que xi haya sido generado por la componente c) que son el peso de cada muestra para calcular los parmetros de cada a componente. En principio son desconocidos pero podemos estimarlos iterativamente. El algoritmo EM para estimar una mezcla de gaussianas es el siguiente. Primero inicializamos los parmetros{c , c , c }L aleatoriamente. Despus repetimos los pasos E y a e c=1 M hasta que la verosimilitud del modelo J deje de aumentar: Paso E: calculamos los coecientes q(c, i) = P{c|xi } con los parmetros a actuales. (Es una tabla de L valores para cada muestra xi .). Usamos las densidades de cada componente y sus proporciones: q (c, i) c N (xi , c , c ) y normalizamos cada juego de probabilidades: q(c, i) q (c, i)
L s=1 q

(s, i)

Paso M: recalculamos los parmetros con los nuevos coecientes de pertea nencia q(c, i). En primer lugar las proporciones, que son simplemente los valores esperados de la etiqueta de cada clase (1|c): 1 n
n

q(c, i)
i=1

y despus la media y matriz de covarianza de cada componente: e 1 c nc 1 c nc Algunas caracter sticas de EM son: Todas las muestras se utilizan para recalcular todas las componentes (a diferencia de otros mtodos de agrupamiento ms simples, como K-medias.) e a No requiere ningn parmetro de convergencia, a diferencia de otros mtodos u a e de optimizacin como el backpropagation (Seccin 4.6). o o Consigue mximos locales. a
n n

q(c, i) xi
i=1

q(c, i) (xi c )(xi c )T


i=1

Clasificacion

3.5 Aprendizaje Bayesiano

63

Para calcular automticamente el mejor nmero de componentes se establece a u un compromiso entre la complejidad del modelo y la calidad del ajuste basado en m nima longitud de descripcin: o 1 Q = L + P log n 2 donde L es la log likelihood, P es el nmero de parmetros y n el nmero de u a u muestras.

Aprendizaje no supervisado. Los modelos de mezcla estn muy relacionados con las tcnia e cas de agrupamiento automtico (cluster analysis), que tratan de encontrar cierta estructura a en una poblacin. El planteamiento general est basado en optimizacin combinatoria: se trata o a o de encontrar una particin de los datos que consiga un buen compromiso entre la similitud o intragrupo y la diferencia intergrupo.
Se han propuesto ciertas heur sticas para conseguir algoritmos ecientes. P. ej., : K-medias: se establecen semillas aleatorias y se calculan los ms prximos a a o cada una. Las semillas se reestiman y se repite el proceso hasta la convergencia. Grafos de expansin y corte de arcos at o picos. Agrupamiento jerrquico (dendogramas), por divisin o unin. a o o Deteccin de valles de probabilidad (enfoque no paramtrico). o e Tcnicas de IA simblica (formacin de conceptos, etc.). e o o Por supuesto, los modelos de mezcla son una alternativa prometedora en este contexto. Pero hay que tener en cuenta que las componentes encontradas por el algoritmo EM son simplemente bloques constructivos de un buen modelo global de la poblacin, y o pueden no tener ningn signicado especial. u

3.5.

Aprendizaje Bayesiano

pendiente

3.6.

Seleccin de Modelos o

pendiente

64

3.6 Seleccin de Modelos o

Clasificacion

Cap tulo 4 Mquinas de Aprendizaje a


Nothing is more practical than a good theory. Vapnik

4.1.

Introduccin o

Siempre ha existido inters por conocer la capacidad y las limitaciones de las mquinas para e a realizar tareas. Por ejemplo, la computabilidad estudia los problemas de decisin que tienen o solucin algor o tmica; la complejidad estudia los problemas que pueden resolverse mediante algoritmos ecientes, etc. En este contexto podemos incluir tambin la teor computacional e a del aprendizaje, que estudia los problemas cuya solucin puede aprenderse automticamente o a por la experiencia. Desde los primeros tiempos de la informtica se intent modelar parte de a o las capacidades cognitivas de alto nivel con las tcnicas clsicas de la inteligencia articial. e a Y, a la vez, se estudiaron mquinas que trataban de reconocer situaciones simples mediante a algoritmos de correccin de error. Es posible fabricar mquinas que se autoorganicen y o a puedan programarse automticamente? a En el cap tulo anterior hemos explicado varios mtodos de diseo de clasicadores basados e n en la estimacin expl o cita de los ingredientes del clasicador optimo bayesiano a partir de las muestras disponibles. Algunos (p. ej., la distancia de Mahalanobis) son muy sencillos y funcionan sorprendentemente bien aunque no se cumplan exactamente las suposiciones realizadas. Otros, como los mtodos de vecinos ms prximos o de Parzen, en teor son ms e a o a a generales pero poseen un mayor coste computacional. En todos los casos se intentaba obtener aproximaciones a la densidades condicionadas del modelo del sensor sobre todo el espacio de propiedades. Sin embargo, lo que realmente es importante para nosotros es la frontera de decisin, que depende de esas densidades pero slo en las regiones donde tienen valores parecidos. o o La forma concreta del modelo del sensor en regiones alejadas de la frontera no inuye en la clasicacin. Por tanto, en este cap o tulo estudiaremos un enfoque ms directo del aprendizaje, a tratando de encontrar directamente una buena frontera de decisin. o

66

4.1 Introduccin o

Aprendizaje

Problema de clasicacin. Suponemos que un cierto sistema emite pares (x, c) de acuerdo o con una cierta distribucin de probabilidad F (x, c), donde x Rn es el vector de propiedades o y c {+1, 1} indica la clase (positiva o negativa) a la que realmente pertenece. Esta distribucin es desconocida, pero disponemos de una muestra de entrenamiento Sm = {(xi , ci )}m o i=1 y otra de validacin Tm = {(xi , ci )}m . o i=1 Nuestro objetivo es predecir la clase c de futuros vectores de propiedades x procedentes de esa misma distribucin. o

Funcin de decisin. Una funcin de decisin f : Rn R es un procedimiento matemtio o o o a co/algor tmico que trata de distinguir esos dos tipos de objetos. Si f (x) > 0 el objeto x se clasica como positivo (c = +1) y si f (x) < 0 se clasica como negativo (c = 1). Los puntos que cumplen f (x) = 0 constituyen la hipersupercie frontera entre las dos regiones de decisin. o

En la prctica necesitamos clasicadores multiclase. Pueden construirse fcilmente a a a partir de varias funciones de decisin binarias que, por ejemplo, se entrenan para diso tinguir cada clase del resto de ellas. En la etapa de clasicacin se elige la que produce o una respuesta ms fuerte: a

Mquina de aprendizaje. Dado cualquier problema de clasicacin, denido por los ejema o plos de entrenamiento y validacin Sm y Tm , es necesario especicar el tipo de funcin de o o decisin que vamos a usar. Debemos elegir una familia o coleccin F de funciones, con la eso o peranza de que alguna de ellas resuelva el problema (y que podamos encontrarla sin demasiado esfuerzo computacional). Cada elemento fW F se describe mediante un conjunto de parmetros ajustables que pera miten situar la frontera en diferentes posiciones y formas. Por ejemplo, las fronteras verticales en R2 se especican simplemente mediante un nmero que indica la posicin en la que la u o frontera corta el eje x1 ; las fronteras con forma de c rculo quedan denidas por su centro y

Aprendizaje

4.1 Introduccin o

67

su radio, etc. Algunas clases de frontera se han hecho muy famosas: los hiperplanos, las redes neuronales articiales, los rboles de decisin, etc. a o Una vez elegido el tipo de frontera habr que realizar algn tipo de ajuste u optimizacin a u o para encontrar una buena solucin de ese tipo. Una mquina de aprendizaje es una familia o a de funciones F junto con un mtodo para elegir una de ellas a partir de los ejemplos de e entrenamiento Sm . Principio de induccin. Pero qu es exactamente una buena frontera? Obviamente, o e cualquiera que tenga una probabilidad de error sucientemente pequea para las necesidades n de nuestra aplicacin. La probabilidad de error es el promedio de fallos sobre los innitos objetos o x que se le pueden presentar a la mquina en su utilizacin y que, en general, no habrn sido a o a vistos durante la etapa de diseo. Dada una frontera con parmetros W , su probabilidad de n a error es1 : E(W ) =
Rn

fW (x) = c dF (x, c)

Por supuesto, el error real E(W ) es desconocido: ni conocemos el proceso natural F (x, c) ni podemos trabajar con las innitas muestras que pueden surgir de l2 . Slo podemos trabajar e o con estimaciones emp ricas, a partir de muestras. En concreto, si de alguna manera nos decidimos por una solucin fW que parece prometedora, su error real se puede estimar mediante o el error observado sobre la muestra de validacin Tm : o E(W ) 1 m fW (x) = c
(x,c)Tm

Si m es grande y Tm no se ha utilizado en el diseo de la mquina (para elegir W ), entonces n a la frecuencia de error sobre Tm converger a la probabilidad de error al aumentar el tamao a n de la muestra. Hasta aqu no hay ningn problema: una vez elegida la frontera W podemos u comprobar su funcionamiento con los ejemplos de validacin. o La verdadera dicultad es la eleccin de la mejor frontera W dentro del conjunto F. Imagio nemos por un momento que mediante un supercomputador innitamente potente calculamos el error emp rico sobre Sm de todas las fronteras que hay en F. Para cada conguracin W o obtenemos una expresin similar a la del error de validacin anterior, pero sobre la muestra de o o aprendizaje: 1 Em (W ) = m
m

fW (xi ) = ci
i=1

La notacin cond es la funcin indicadora del conjunto de objetos que cumplen la condicin cond (vale 1 o o o si la condicin es cierta y 0 si es falsa). o Como vimos en el cap tulo anterior, desde un punto de vista terico la frontera de m o nimo error es la que surge al aplicar el test de Bayes. Pero se apoya en las distribuciones de probabilidad p(x|c), cuya estimacin o es mucho ms dif que encontrar directamente una frontera aceptable. a cil

68

4.2 La mquina lineal a

Aprendizaje

En estas condiciones parece razonable seleccionar la frontera W que cometa menos errores sobre la muestra de entrenamiento. Porque si ni siquiera resuelve bien los ejemplos disponibles poco podemos esperar de nuestra mquina en casos futuros. Por supuesto, en la prctica no a a tenemos ese hipottico supercomputador para probar por fuerza bruta todos los elementos e fW F, sino que usamos algoritmos de optimizacin que encuentran de forma ms o menos o a inteligente soluciones prometedoras.

Esta es la idea, aparentemente razonable, en la que se bas inicialmente el aprendizaje auo tomtico: la minimizacin del error emp a o rico (o principio de induccin ingenuo): si una solucin o o separa bien una muestra de entrenamiento sucientemente grande, seguramente separar bien a la mayor de las muestras no observadas. La investigacin se orient hacia tipos de mquina F a o o a cada vez ms exibles, capaces de conseguir de manera eciente errores emp a ricos pequeos. n Sin embargo, como veremos en la seccin 4.7, el principio de induccin ingenuo no siempre es o o correcto. Pero antes de estudiar la teor de la generalizacin revisaremos brevemente algunas mquinas a o a de aprendizaje t picas.

4.2.

La mquina lineal a

En primer lugar estudiaremos una de las mquinas de clasicacion ms simples: la mquina a a a lineal.

fw (x) = w x = w1 x1 + w2 x2 + . . . + wn xn

Dado un conjunto de coecientes o pesos, cada propiedad xi se multiplica por su correspondiente coeciente wi y se suman todos los trminos. Intuitivamente, la magnitud de cada peso e indica la importancia relativa del atributo correspondiente, y su signo determina si contribuye a favor o en contra de la decisin positiva c = +1. Geomtricamente (ver apndice A.1) la o e e supercie fw (x) = 0 es un hiperplano perpendicular a w en el espacio de propiedades que separa los semiespacios donde fw (x) > 0 y fw (x) < 0.

Aprendizaje

4.2 La mquina lineal a

69

En lugar de usar un trmino independiente w0 expl e cito, que es necesario para que la frontera pueda separarse del origen de coordenadas, a veces es preferible conseguir el mismo efecto aadiendo a todos los vectores de propiedades una constante (p. ej., 1), n incluyendo as a w0 dentro de w:

w x + w0 = (w0 , w1 , w2 , . . . , wn ) (1, x1 , x2 , . . . , xn )

Las mquinas lineales (los parmetros ajustables wi solo intervienen como factores multiplia a cativos de los atributos de los objetos) admiten algoritmos de ajuste muy sencillos. Por el contrario, las mquinas no lineales pueden requerir algoritmos de ajuste considerablemente a ms complicados. a
Un truco para conseguir fronteras curvadas, ms exibles que los hiperplanos, consiste a en aadir ciertas propiedades nuevas, predeterminadas (p. ej., potencias y productos n de los atributos originales), de manera que los parmetros ajustables wk slo afecten a o multiplicativamente a estas nuevas propiedades. Este tipo de mquina lineal generalizada a sigue admitiendo un tratamiento esencialmente lineal, aunque las fronteras obtenidas, vistas desde el espacio original, sean no lineales. Sin embargo, tras la invencin de las o mquinas de kernel (sec. 4.7) este tipo de expansin expl a o cita de propiedades carece de sentido.

Mquina lineal generalizada a

Siguiendo el principio de induccin ingenuo, trataremos de encontrar la frontera que minimiza o el error emp rico Em (w). Cmo calculamos los coecientes w de la mquina para conseguir o a el menor nmero de fallos sobre los ejemplos de entrenamiento? Planteado as el problema es u , dif a pesar de la sencillez de este tipo de mquina. Debe cumplirse que sign(w xi ) = ci , o, cil a de forma equivalente, se trata de satisfacer el mayor nmero posible de restricciones lineales u del tipo:

ci xi w > 0,

i = 1...m

70

4.3 Clasicacin por M o nimos Cuadrados

Aprendizaje

Esto se parece a un problema t pico de investigacin operativa. Si se pueden cumplir todas o las desigualdades, un programa lineal de tipo simplex encontrar sin ningn problema una a u solucin, pero en caso contrario la situacin se complica porque tenemos que atribuir costes a o o las violaciones de restriccin, etc. o Desafortunadamente, el error emp rico es una funcin discontinua (pequeos cambios en los o n elementos de w no cambia casi nunca el nmero de ejemplos mal clasicados), por lo que su u minimizacin es esencialmente un problema combinatorio. Una alternativa mucho ms viable o a es minimizar alguna funcin de coste que sea matemticamente ms manejable y que est lo o a a e ms relacionada posible con la tasa de error. a Por ejemplo, el anlisis discriminante, uno de los primeros mtodos emp a e ricos de clasicacin, o utiliza como funcin objetivo el criterio de Fisher de separabilidad estad o stica, cuya solucin ptima depende slo de los vectores medios y las matrices de covarianza de cada clase. o o o Est muy relacionado con las propiedades mas discriminantes que estudiamos en la seccin a o 2.2.2.

4.3.

Clasicacin por M o nimos Cuadrados

Quiz la funcin de coste ms sencilla de manejar matemticamente sea el error cuadrtico a o a a a medio (MSE). En lugar de exigir que la frontera deje a un lado y a otro los vectores de propiedades de cada clase (lo que produce el conjunto de desigualdades anterior), podemos intentar que la funcin discriminante tome exactamente el valor c {1, +1} que indica su o clase: xi w = ci Esta imposicin es ms fuerte de lo necesario, ya que no solo pide que el punto est en el o a e lado correcto del hiperplano frontera, sino tambin a una distancia ja. Pero si conseguimos e cumplirla el problema quedar resuelto. Las restricciones impuestas a w por todos los ejemplos a de Sm pueden expresarse de manera compacta como un sistema de ecuaciones lineales: Xw = C donde X es una matriz m n que contiene por las los vectores de propiedades xi y C es un vector columna que contiene las etiquetas correspondientes ci . Si tenemos un nmero m de ejemplos linealmente independientes (restricciones) menor o u igual que el nmero n de incgnitas (la dimensin de los vectores de propiedades) el sistema u o o anterior siempre tendr solucin, incluso si las etiquetas de clase son aleatorias, o absurdas. a o Hay grados de libertad sucientes para permitir que el hiperplano separe esa cantidad de ejemplos situados arbitrariamente en el espacio de propiedades. No existe ninguna garant de a que la frontera obtenida se apoye en propiedades relevantes. Puede ser engaosa debido a un n exceso de interpolacin. o Si por el contrario el nmero de ejemplos es mayor que la dimensin del espacio, el sistema u o de ecuaciones anterior queda sobredeterminado. En principio no puede tener solucin exacta. o

Aprendizaje

4.4 Anlisis Bayesiano de la regresin lineal a o

71

Slo si la distribucin de los ejemplos tiene una gran regularidad (las nubes de puntos no estn o o a demasiado entremezcladas), ser posible vericar todas o la mayor de las ecuaciones. Por a a tanto, si con m n se obtiene un hiperplano que separa muy bien los ejemplos, es razonable conar en que hemos capturado correctamente la esencia de la frontera. Si las etiquetas fueran arbitrarias, sin ninguna relacin con los vectores de propiedades, ser extraordinariamente o a improbable que pudiramos satisfacer tantas ecuaciones con tan pocos grados de libertad. e Por tanto, nuestro objetivo es resolver un sistema sobredeterminado de ecuaciones lineales (vase el apndice D.2.1). El procedimiento usual es minimizar una funcin de error respecto e e o a los parmetros ajustables. La ms sencilla es el error cuadrtico medio: a a a 1 ERM S (w) = ||Xw C||2 2 cuyo m nimo w se obtiene de forma inmediata como: w = X+ C donde la matriz X+ (XT X)1 XT es la pseudoinversa de X. Una mquina lineal ajustada mediante este mtodo puede resolver satisfactoriamente muchos a e problemas de clasicacin. Y tambin sirve para aproximar funciones continuas, donde los o e valores deseados ci pueden tomar cualquier valor: se trata del mtodo clsico de ajuste de e a funciones por m nimos cuadrados. Como curiosidad, ste es uno de los algoritmos de aprene dizaje ms simples de programar: por ejemplo, en Matlab/Octave se reduce a algo tan simple a como w = pinv(x)*c. Aunque, por supuesto, esta simplicidad es engaosa porque el clculo n a de la pseudoinversa es un problema numrico bastante complejo. e Least squares classication como aproximacin a las probabilidades a posteriori. o

Ejercicios:
Probar un clasicador lineal basado en la pseudoinversa sobre alguno de los problemas del cap tulo 2.

4.4.

Anlisis Bayesiano de la regresin lineal a o

pendiente

4.5.

Mquinas lineales con saturacin a o

Desafortunadamente, la mquina anterior tiene un inconveniente. Al exigir el valor concreto a c a la funcin discriminante fw (x) = w x (en lugar de la desigualdad que indica el lado o

72

4.5 Mquinas lineales con saturacin a o

Aprendizaje

deseado de la frontera), los puntos muy bien clasicados (alejados de la frontera por el lado bueno) tambin producen coste, equiparable al de los que se sitan a la misma distancia en el e u lado equivocado. En distribuciones de ejemplos como la siguiente la frontera de m nimo coste cuadrtico comete muchos errores, a pesar de que las clases son linealmente separables: a

Para remediar esto, vamos a intentar cumplir mejor la condicin que realmente deseamos: una o decisin concreta +1 o 1 dependiendo del lado de la frontera en que cae el ejemplo: o sign(w xi ) = ci El problema es que la discontinuidad de la funcin signo es matemticamente inmanejable. o a Pero podemos aproximarla mediante alguna funcin que se comporte cualitativamente igual o pero que sea suave (continua y derivable). Una eleccin t o pica para aproximar el escaln de o la funcin signo es la tangente hiperblica: o o

Por tanto, intentaremos encontrar la frontera que minimice la siguiente funcin de coste: o 1 2 |g(w xi ) ci |2
i

ES (w) =

donde g(x) = tanh(x). Al cambiar el salto abrupto de la funcin signo por su equivalente o suave la funcin de coste global ES tambin se vuelve suave: cambia gradualmente al modicar o e ligeramente los coecientes w. Aunque ya no existe una frmula cerrada que nos proporcione o la conguracin optima w a partir de Sm , podemos utilizar mtodos de optimizacin iterativa o e o muy sencillos, basados en descenso de gradiente (ver apndice D.3). Dada una solucin w, e o la corregimos mediante la sencilla regla: w = ES (w) Cada componente de w es:

Aprendizaje

4.5 Mquinas lineales con saturacin a o

73

oi

ES = wk

[g(w xi ) ci ]g (w xi ) xi,k
i i

donde denimos oi = g(w xi ) como la salida de la mquina para el ejemplo xi , y i es la a contribucin comn de todas las componentes de xi : o u i = (oi ci )(1 o2 ) i
Hemos aprovechado la coincidencia matemtica de que la derivada de la tangente hia perblica se puede expresar de forma ms sencilla en trminos de la propia funcin que o a e o de la variable: si g(z) = tanh z entonces g (z) = sech 2 z = 1 tanh2 z = 1 g 2 (z).

En resumen, la correccin global producida por todos los ejemplos de entrenamiento se puede o expresar como una simple combinacin lineal de todos ellos: o w =
i

i x i

En la prctica se suele aplicar la correccin de cada ejemplo de forma independiente: cada a o vez que la mquina recibe un ejemplo etiquetado x hace una correccin de sus parmetros a o a w proporcional a ese mismo ejemplo, con un peso que depende del error cometido (y que tiene en cuenta la saturacin g). Este algoritmo tiene una gran elegancia y sencillez; puede o considerarse como la mquina de aprendizaje (iterativa) ms simple posible. Adems, tiene a a a una curiosa interpretacin geomtrica: cada ejemplo tira de la frontera intentando quedar o e bien clasicado:

Este tipo de mquina lineal con saturacin ha recibido diferentes nombres: neurona formal, a o linear threshold unit, etc. En la siguiente gura se muestra la frontera obtenida sobre el problema de clasicacin anterior: o

74

4.6 Mquinas Neuronales a

Aprendizaje

A pesar de la mejora que supone la saturacin en la respuesta, lo cierto es que en muchos casos o una frontera lineal es demasiado r gida. Muchas distribuciones requiren fronteras no lineales (hipersupercies ms o menos curvadas). En principio esto podr conseguirse automticamena a a te con las tcnicas anteriores usando funciones lineales generalizadas, en las que las propiedades e originales se ampl p. ej., con potencias. Sin embargo una expansin expl an, o cita es intratable en espacios de dimensin elevada. En la seccin siguiente comentaremos muy brevemente una o o alternativa mucho ms atractiva. a Interpretacin de sigmoidal en funcin de verosimilitudes, logit, softmax. o o

4.6.

Mquinas Neuronales a

El elemento de proceso lineal con saturacin que acabamos de explicar tiene un verdadero o inters cuando se utiliza como elemento constructivo de mquinas ms potentes. Observa la e a a siguiente distribucin no linealmente separable de ejemplos en R2 : o

Hemos dibujado encima 3 fronteras lineales que, aunque por separado no pueden resolver el problema, particionan el espacio de entrada en varias regiones que adecuadamente combinadas podr distinguir perfectamente las dos clases. Por ejemplo, podr an amos conectar esos 3 discriminantes lineales a una regla de decisin muy sencilla como la siguiente: o

Mediante un procedimiento anlogo se podr fabricar clasicadores con fronteras no lineales a an de cualquier complejidad. En este ejemplo hemos situado a mano los discriminantes elementales y hemos escrito una lgica de decisin apropiada para ellos. Hemos podido hacerlo o o porque la distribucin tiene solo 2 atributos y visualmente podemos captar inmediatamente su o estructura. Pero, por supuesto, en los problemas reales nos enfrentamos a distribuciones multidimensionales cuya estructura es imposible representar grcamente y, sobre todo, estamos a interesados en mquinas de clasicacin cuyas fronteras se ajustan automticamente mediante a o a aprendizaje. Es posible disear un algoritmo que site de forma razonable las fronteras elementales auxin u liares y a la vez construya la lgica necesaria para combinarlas? La respuesta es armativa y o el algoritmo que lo consigue es muy simple e interesante.

Aprendizaje

4.6 Mquinas Neuronales a

75

4.6.1.

El perceptrn multicapa o

Un primer paso es sustituir la lgica de decisin que combina las fronteras elementales por o o un conjunto adicional de unidades lineales, creando una estructura en red llamada perceptrn o multicapa:

El esquema anterior muestra una red con dos capas intermedias (ocultas) y una tercera capa de salida, que en este caso contiene una sola unidad, suciente para problemas de clasicacin binaria. En los problemas multiclase la capa de salida tiene ms elementos, o a p. ej., uno por clase, aunque tambin se puede utilizar cualquier otro sistema de codie cacin. Podemos imaginar redes con cualquier nmero de capas intermedias, aunque o u en muchos casos se utiliza solo una.

Se puede demostrar que este tipo de red, con un nmero adecuado de nodos y capas puede u aproximar con la precisin deseada cualquier funcin razonable. o o
Las puertas lgicas OR, AND y NOT, sucientes en ultimo trmino para combinar o e las fronteras lineales elementales, puede implementarse sin ningn problema mediante u mquinas lineales saturadas eligiendo adecuadamente sus coecientes. Este argumento a tambin demuestra que las mquinas neuronales generales (grafos de procesamiento de e a conectividad arbitraria que pueden contener ciclos) son Turing-completas. Sin embargo, en la prctica no suele ser posible encontrar un signicado concreto a las operaciones a realizadas por los elementos de una red. De hecho, la caracter stica esencial de este tipo de mquinas es que realizan procesamiento paralelo distribu a do, donde la tarea se reparte de forma ms o menos redundante entre todas las unidades. a

4.6.2.

El algoritmo backprop

Una de las ideas revolucionarias de la computacin neuronal es el ajuste global de los pesos o de todos los nodos de la red directamente mediante descenso de gradiente. A primera vista esto parece una locura, ya que no parece fcil que una secuencia de correcciones locales sea a capaz de resolver el problema huevo-gallina que se plantea: las unidades encargadas de la combinacin solo pueden ajustarse cuando las discriminaciones elementales estn bastante bien o e situadas, pero, a la vez, las discriminaciones elementales debern situarse teniendo en cuenta a una lgica que pueda combinarlas. Sorprendentemente, una sencilla optimizacin local puede o o conseguir casi siempre soluciones correctas si la arquitectura de la red es sucientemente rica.
En ocasiones puede ocurrir que para llegar a una buena solucin hay que atravesar o regiones ms costosas en el espacio de parmetros, por lo que la optimizacin puede a a o atascarse en m nimos locales. Pero esto ocurre con mayor frecuencia en problemas articiales, elegidos t picamente para poner a prueba las mquinas de aprendizaje, que en a

76

4.6 Mquinas Neuronales a

Aprendizaje

problemas naturales con un nmero relativamente alto de atributos. En estos casos el u elevado nmero de parmetros, y su simetr dan lugar a muchas soluciones alternatiu a a, vas, alguna de las cuales caer probablemente cerca de cualquier posicin inicial de la a o optimizacin. o

Una red multicapa implementa la composicin de varias transformaciones vectoriales Rp Rq . o Dado un vector de entrada x y otro de salida deseada d (que normalmente codica la clase de x), una red de, p. ej. 3 capas, produce un resultado r = y 3 (y 2 (y 1 (x))) donde cada etapa tiene la estructura: y c (z) = g(Wc z) Wc es una matriz que tiene tantas las como el nmero de elementos en la capa c, y tantas u columnas como entradas tiene esa capa (que es el nmero de elementos de la capa anterior, u o la dimensin de x si es la primera capa). Las las de esa matriz contienen los coecientes o w de cada uno de los elementos de esa capa. La funcin g calcula la tangente hiperblica de o o todos sus argumentos para conseguir la necesaria saturacin suave (sin ella la transformacin o o global ser un producto de matrices que se reducir a una unica capa efectiva, quedando una a a mquina lineal). As pues, una red neuronal de c capas queda denida mediante las c matrices a de conexin correspondientes a cada capa, que denotaremos por W. o
Un detalle tcnico importante es la implementacin de los trminos independientes e o e necesarios en cada elemento de proceso (el umbral de saturacin) para permitir fronteras o que no pasen obligatoriamente por el origen de coordenadas. Esto puede conseguirse aadiendo una componente constante a todos los vectores de entrada, como vimos en n la seccin 4.2. En principio, parecer necesario aadir tambin componentes constantes o a n e en las capas intermedias, para que todos los elementos de la red puedan adaptar su umbral de saturacin. Sin embargo, basta con aadir una unica componente constante o n al vector de atributos. Si es realmente necesario la red puede ajustar los pesos para transmitir la constante de la entrada hacia las capas posteriores.

La funcin de coste es el error cuadrtico acumulado sobre todos los ejemplos de entrenamieno a to. La contribucin del ejemplo (x, d) es: o 1 E(W) = ||y 3 (y 2 (y 1 (x))) d||2 2 y la correccin correspondiente ser: o a W = E(W) que es un conjunto de matrices con las misma estructura que W que hay que sumar a la red para mejorar un poco su comportamiento sobre este ejemplo. Pero cmo calculamos el gradiente E(W) de una funcin tan compleja como la realizada o o por este tipo de red? El cmputo de cada componente del gradiente: o

Aprendizaje

4.6 Mquinas Neuronales a

77

E wk,i,j donde wk,i,j es el peso de conexin entre el elemento i de la capa k con el elemento j de la o capa k 1, es muy ineciente si se hace de manera ingenua. Afortunadamente, en los aos 80 se invent un mtodo particularmente elegante y eciente n o e para calcular el gradiente, llamado backprop (retropropagacin del error). El algoritmo explota o el hecho de que muchas de esas derivadas parciales comparten clculos, debido a la composicin a o de transformaciones realizada por la red. En primer lugar vamos a expresar la dependencia del error respecto a cada peso wk,i,j como la combinacin de la inuencia de ese peso en la salida o de su nodo, con la inuencia de ese nodo en el error global: E yk,i E = wk,i,j yk,i wk,i,j El primer factor, que denimos k,i y calcularemos ms adelante, mide la inuencia en el error a del elemento i de la capa k: E k,i yk,i El segundo factor mide la inuencia de un peso en su nodo, y puede calcularse directamente, ya que no es ms que la entrada de ese peso ajustada con la derivada de la funcin de saturacin a o o (un resultado anlogo al obtenido en el apartado 4.5): a yk,i 2 = yk1,j (1 yk1,j ) wk,i,j Dada una asociacin entrada/salida deseada (x, d), cada elemento de proceso tendr una o a salida yk,i y tambin una discrepancia k,i . Si es positiva, signica que ese elemento deber e a cambiar su estado para que la red funcionara mejor, y si es negativa, deber reforzar su a respuesta. A partir de los valores k,i , la correccin de pesos es inmediata con la expresin o o anterior. Denotemos mediante el vector k a todos los k,i de la capa k. El algoritmo backprop calcula los k de forma anloga al funcionamiento normal de la red pero en direccin contraria: a o una vez calculadas las salidas y k para el ejemplo x (funcionamiento hacia delante), con la salida deseada se calculan los c de la ultima capa (con una expresin idntica a la que vimos o e en la seccin 4.5 para una unica unidad lineal saturada): o c = (y c d) (1 y 2 ) c (el s mbolo signica multiplicacin elemento a elemento). A partir de ellos se calculan o sucesivamente (hacia atrs), los deltas de las capas c 1, c 2,. . . , 1, con una expresin a o dual a la de la activacin de la red: o k1 = (1 y 2 ) WT k k1 k

78

4.6 Mquinas Neuronales a

Aprendizaje

Esta expres surge de forma natural al expresar la inuencia de un cierto delta sobre el error on global E(W) en trminos de su inuencia sobre toda la capa siguiente. A continuacin se e o muestra un esquema de los ujos de informacin del algoritmo backprop: o

El algoritmo backprop se basa en una versin general de la regla de la cadena. Recoro demos que la derivada respecto a x de una funcin f (x) = g(h1 (x), h2 (x), . . .) que se o puede expresar como una combinacin g de varias funciones ms simples hk se puede o a expresar como: df dg(h1 (x), h2 (x), . . .) = = dx dx g dhk hk dx

P. ej., la funcin f (x) = sin(ex cos x) puede expresarse de esa manera con g(h1 , h2 ) = o sin(h1 h2 ), h1 (x) = ex y h2 (x) = cos(x). Su derivada coincide con la que obtendr amos aplicando la regla de la cadena ordinaria:

df = cos(h1 h2 )h2 ex + cos(h1 h2 )h1 ( sin x) = cos(ex cos(x))(ex cos(x) ex sin(x)) dx

4.6.3.

Ejemplos

Para hacernos una idea de lo que podemos esperar del algoritmo backprop observa la solucin o 2 obtenida en dos ejemplos de juguete sobre R con diferentes estructuras de red (el nmero de u elementos en las capas intermedias se indica en el t tulo de cada grco). En todos los casos a el tiempo de aprendizaje es de unos pocos segundos.

Finalmente veamos una aplicacin ms realista. A continuacin se muestra la matriz de confuo a o sin al clasicar los d o gitos manuscritos de la base de datos MNIST (28 28 = 784 atributos)

Aprendizaje

4.6 Mquinas Neuronales a

79

mediante una red con dos capas ocultas de 30 y 20 elementos y una capa de salida con 10 elementos que codica posicionalmente las clases:
97 0 0 0 0 0 1 0 0 2 0 114 3 0 0 1 1 0 0 0 1 2 79 1 0 0 4 0 4 0 0 2 1 89 0 3 0 4 1 1 0 1 0 0 100 0 0 0 0 4 4 0 0 4 1 70 3 0 1 1 2 0 3 0 0 3 85 0 1 2 1 0 0 0 2 0 0 109 0 5 2 0 5 3 6 1 0 1 69 2 0 0 0 1 3 0 1 2 0 91

El error sobre los 1000 ejemplos de evaluacin es del 9,7 %. Se ha producido sobreaprendizaje, o ya el error sobre los 4000 ejemplos de entrenamiento es solo de 1,15 %. El tiempo de aprendizaje fue de una o dos horas. Se realizaron 50 pasadas por los 4000 ejemplos en orden aleatorio. El unico procesamiento sobre las imgenes originales fue el escalado de las entradas, de (0,255) a a (-1.0,1.0) para adaptarlas al intervalo no saturado de los elementos de proceso.

4.6.4.

Extraccin de propiedades no lineales o

Acabamos de ver que una red multicapa puede aproximar cualquier transformacin continua o p q R R entre espacios vectoriales. Es interesante considerar la transformacin identidad, o n n R R , que transforma cada vector x en s mismo (la entrada x y la salida deseada son el mismo vector, d = x). Evidentemente, esta transformacin aparentemente trivial puede o conseguirse con una red sin elementos intermedios, donde cada elemento de salida se conecta con su correspondiente entrada con un peso=1 y los dems pesos son cero. Sin embargo, a consideremos la siguiente estructura de red con forma de cuello de botella, que vamos a entrenar para que reproduzca vectores de entrada de dos componentes que se distribuyen uniformemente en un c rculo:

Observa que la informacin tiene que atravesar una etapa (etiquetada como z) con menos o dimensiones que el espacio de entrada, para luego expandirse otra vez al espacio original. Si es posible realizar el ajuste entonces las dos mitades de la red implementan una pareja de funciones f : R2 R1 (codicacin) y g : R1 R2 (descodicacin), tales que z = f (x) o o y x = g(z) para los puntos de esa distribucin. El algoritmo backprop resuelve este ejemplo o concreto en pocos segundos (la distribucin es muy simple y en realidad podr resolverse con o a una red ms pequea). Si representamos la curva x = g(z) para valores de z (1, 1) (el a n rango de funcin de saturacin), vemos la parametrizacin aproximada del c o o o rculo que ha sido aprendida por la red:

80

4.6 Mquinas Neuronales a

Aprendizaje

z = f (x)

x = g(z)

4.6.5.

Comentarios

Desde el principio de la informtica hubo dos enfoques complementarios en el estudio de la a inteligencia articial. Uno de ellos se orient hacia la resolucin lgica de problemas abstractos o o o y otro hacia el modelado del hardware de procesamiento de informacin de los seres vivos. o Estos poseen un sistema nervioso basado en un nmero inmensamente grande de elementos u de proceso ( 1011 ) relativamente lentos ( 1ms), muy densamente interconectados ( 104 ). No se almacena expl citamente el conocimiento, sino que est distribuido sobre las conexiones a entre los elementos de proceso. No hace falta una programacin expl o cita de las tareas, sino que se produce algn tipo de aprendizaje y autoorganizacin ms o menos automtico. El u o a a procesamiento suele ser local, as ncrono y masivamente paralelo. Y, lo que es ms importante, a trabaja con datos masivos, ruidosos, sin una segmentacin expl o cita, y con una sorprendente tolerancia a fallos (diariamente mueren miles de neuronas). Aparentemente, la estrategia de procesamiento se basa en la exploracin simultnea de hiptesis alternativas con mltiples o a o u restricciones, de modo que solo sobreviven las que son consistentes con la informacin sensorial. o Este tipo de procesamiento paralelo distribuido contrasta de forma muy marcada con el tipo computacin disponible en la actualidad, caracterizada por un nmero muy pequeo de o u n procesadores extraordinariamente rpidos ( 1ns) pero que ejecutan tareas secuenciales sobre a informacin exacta, sin ninguna tolerancia a fallos. Las tareas deben ser programadas expl o citamente, y un error en un solo bit hace fracasar una computacin de complejidad arbitrariamente o grande. Claramente, este estilo de programacin no es el ms adecuado para resolver problemas o a de percepcin. o La computacin neuronal [11, 1, 14] tuvo un desarrollo muy importante a nales del siglo XX, o cuando se invent el algoritmo backprop de entrenamiento para las redes multicapa. (Muo cho antes ya se hab utilizado mquinas lineales para resolver problemas de reconocimiento an a sencillos, pero sus limitaciones para resolver problemas ms complejos, no linealmente sepaa rables, produjeron una temporal falta de inters en la comunidad investigadora.) Adems de e a las redes multicapa existen muchos otros tipos de mquinas neuronales orientadas a diferentes a tareas. Por ejemplo, hay memorias asociativas, capaces de almacenar un conjunto de vectores y recuperar el ms parecido a partir de una conguracin ruidosa o incompleta; redes recurrena o tes, capaces de procesar la informacin teniendo en cuenta un estado, de forma similar a los o autmatas, etc. En el campo de la robtica se han aplicado a la coordinacin sensor-motor y o o o para la percepcin de formas visuales se han inventado redes especiales que obtienen resultados o espectaculares en bancos de prueba como MNIST. Durante un tiempo todo se intentaba resolver mediante algn tipo de mquina neuronal. u a

Aprendizaje Ejercicios:

4.7 Mquinas de Vectores de Soporte a

81

Implementa el algoritmo backprop. Comprueba que funciona con distribuciones 2D de juguete y luego intenta aplicarlo a un problema real.

4.7.

Mquinas de Vectores de Soporte a


Dont try to solve a problem by solving a harder one as an intermediate step. Vapnik

El gran entusiasmo suscitado por la computacin neuronal estaba plenamente justicado, ya o que permite resolver de forma muy sencilla problemas de clasicacin complejos, de naturaleza o no lineal. Sin embargo, cada vez se hizo ms evidente que las mquinas de gran poder expresivo (rboles a a a de clasicacin, cierto tipo de redes, etc.) a veces fracasan en su capacidad de generalizacin: o o casi siempre son capaces de resolver los ejemplos de entrenamiento, pero a veces lo hacen basndose en casualidades irrelevantes y con ejemplos nuevos funcionan mal. a Para intentar paliar este problema se propusieron tcnicas heur e sticas (P. ej.: detencin temo prana del aprendizaje, asignacin de peso a la magnitud los coecientes, etc.), pero no siempre o ten xito. Finalmente, se observ que a veces las fronteras sencillas (p. ej., lineales) proan e o ducen mejores resultados que otros mtodos con mayor poder expresivo, capaces de sintetizar e regiones mucho ms complicadas en el espacio de propiedades. Un modelo ms general o a a exible puede adaptarse mejor a cualquier tipo de distribucin, pero al mismo tiempo corre o el riesgo de producir una excesiva interpolacin o sobreajuste (overtting ). o
Esta situacin es anloga al problema del ajuste de un polinomio a un conjunto de o a medidas, ilustrado en la gura siguiente:

Si los datos son ruidosos es mejor utilizar un polinomio de orden bajo (izquierda), aunque no pase exactamente encima de todos ellos. Si elegimos un orden mayor podemos modelar perfectamente los puntos observados (derecha), pero se cometer un mayor a error sobre datos futuros (en rojo).

En este apartado comentaremos los resultados ms importantes de la teor de la generalizacin a a o desarrollada por V. Vapnik [27, 28], quien analiz desde un punto de vista matemticamente o a riguroso el problema del aprendizaje estad stico y encontr las condiciones que debe cumplir o

82

4.7 Mquinas de Vectores de Soporte a

Aprendizaje

un algoritmo de aprendizaje para que sus resultados sean ables. Como veremos, la clave se encuentra en la capacidad de la mquina. a

4.7.1.

Consistencia

La cuestin fundamental es la siguiente: Dado un cierto tipo F de funcin de decisin con o o o m (W ) con el error real parmetros ajustables fW , tiene algo que ver el error observado E a E(W )? Si la respuesta es negativa debemos desechar ese tipo de mquina: no es able, no generaliza. a Su comportamiento en casos concretos (los utilizados para el diseo) extrapola incorrectan mente los casos no observados. Peor an, es engaosa: puede ocurrir que Em (W ) sea muy u n pequeo pero E(W ) sea muy grande, por mucho que aumente el nmero de ejemplos m. n u En cambio, si tenemos una familia F para la que el error emp rico de cualquier frontera W ofrece una estimacin ms o menos precisa de su error real, entonces s podemos arnos de o a la mquina: la apariencia se corresponder aproximadamente con la realidad. Y en este caso, a a si adems alguna frontera W se comporta muy bien sobre los ejemplos de entrenamiento, a podemos admitirla y tener conanza en que su funcionamiento con futuros ejemplos desconocidos ser aproximadamente igual de bueno. Nuestro objetivo es encontrar la conguracin de a o parmetros W que dene una frontera de decisin que separe lo mejor posible las muestras a o disponibles, pero utilizando un modelo de mquina (familia de fronteras) F que sea de tipo a able. Imaginemos que con nuestro supercomputador hipottico calculamos el error emp e rico Em (W ) de todas las fronteras fW de una clase F sobre la muestra de entrenamiento. Cada una de ellos es una estimacin frecuencial de tamao m de las verdaderas probabilidades E(W ). o n

Por la ley de los grandes nmeros, todas las frecuencias convergen individualmente a sus u probabilidades: Em (W ) E(W ) Incluso podemos calcular para cada una un margen de conanza (ver C.1): P{|Em (W ) E(W )| > } = < 1 4m

Ahora bien, aunque cada estimacin converge a su valor real con probabilidad superior a , a o medida que aumenta el nmero de elementos en la familia F se va haciendo cada vez ms u a probable que alguna de ellas no cumpla la condicin anterior. Por ejemplo, si F contiene o un nmero nito t de elementos (hiptesis), la probabilidad de que todas ellas cumplan la u o condicin anterior (suponiendo el caso peor, en que son independientes) es t , que tiende o muy rpidamente a cero en funcin de t. a o

Aprendizaje

4.7 Mquinas de Vectores de Soporte a

83

Por ejemplo, con 250.000 muestras y = 0.01 tenemos >= 99 %. Si nuestra mquina a tiene slo t = 100 hiptesis W independientes, entonces la probabilidad de que todas o o ellas veriquen |Em (W )E(W )| > es 0.99100 = 0.37. La conanza se reduce mucho, hay una probablidad que puede llegar a ser del 63 % de que algn error emp u rico diera del error real en una cantidad mayor que .

En cualquier caso, si F es nita, en principio se puede calcular un nmero de ejemplos (absuru damente grande) que garantice una probabilidad razonable de que el error aparente de todas las hiptesis se parece a su error real. Al menos en teor las mquinas nitas son consistentes o a, a y pueden generalizar. Sin embargo, en la prctica se utilizan mquinas de aprendizaje que contienen innitas hiptea a o sis, para las cuales el anlisis anterior nos dice que seguro aparecer alguna hiptesis no able. a a o Claramente, es necesario averiguar cuntas hiptesis de F son realmente independientes: a o muchas fronteras son muy parecidas, as que no tiene mucho sentido tenerlas en cuenta con el mismo peso en la estimacin anterior. o Necesitamos determinar bajo qu condiciones se produce una convergencia uniforme de las e frecuencias a sus probabilidades en una coleccin innita de sucesos (la clase de fronteras F). o

Un ejemplo de conjunto innito de sucesos donde se produce este tipo de convergencia uniforme es la distribucin emp o rica, que converge uniformemente a la distribucin real. o Es la base del conocido test no paramtrico de Kolmogorov-Smirnov. e

4.7.2.

Capacidad

Una forma muy conveniente de cuanticar el poder expresivo de una cierta clase de hiptesis o F es su dimensin de Vapnik-Chervonenkis, dV C (F), que se dene como el mximo nmero o a u de vectores en posicin general que pueden ser correctamente separados por elementos de o F con cualquier asignacin de etiquetas. Puede interpretarse como su capacidad puramente o memor stica. ejemplos de dVC de varias clases
La capacidad (dV C ) de las fronteras lineales (hiperplanos) es esencialmente n, la dimensin del espacio de propiedades: Hay n incgnitas o grados de libertad, que siempre o o pueden satisfacer m n restricciones de igualdad. Sin embargo, solo deber amos exigir desigualdades indicando el lado del hiperplano donde debe estar cada ejemplo. Un estudio detallado de la probabilidad de que una conguracin de m ejemplos con etiquetas o arbitrarias sea linealmente separable en Rn muestra que cuando n es grande es casi

84

4.7 Mquinas de Vectores de Soporte a

Aprendizaje

seguro que 2m ejemplos arbitrarios sern linealmente separables. La capacidad de una a mquina lineal es en realidad dos veces la dimensin del espacio. De nuevo observamos a o que para generalizar necesitamos m >> n.

El resultado fundamental de la teor de Vapnik es que la convergencia uniforme, necesaria a para que el aprendizaje sea consistente, solo require que dV C (F) < . La mquina debe tener a capacidad limitada. Si es capaz de almacenar cualquier nmero de ejemplos, con etiquetas u arbitrarias, entonces no podemos conar en que generalice. Incluso se ha obtenido la velocidad de convergencia de los errores emp ricos a los errores reales. Para cualquier coleccin de hiptesis con capacidad h = dV C (F) y m ejemplos tomados de o o cualquier distribucin F (x, c), entonces con conanza podemos acotar simultneamente el o a error real de todas las hiptesis W de F mediante una expresin del tipo: o o

E(W ) < Em (W ) + (h, m, ) donde

(h, m, ) =

h ln

2m h

+ 1 + ln m

(h, m, ) es la mxima diferencia entre el error real y el aparente que podemos esperar (con a ese nivel de conanza). Como es vlida para cualquier clase de hiptesis (con capacidad h) y a o cualquier problema de clasicacin, es comprensible que sea una cota conservadora, no suele o usarse como tal en la prtica. Lo importante es su comportamiento cualitativo: a medida que a aumenta la capacidad relativa h/m de la mquina el error emp a rico puede hacerse tan pequeo n como queramos. Pero a la vez, la cota del error aumenta:

Se hace necesario algn tipo de control de capacidad. En el caso frecuente de colecciones de u hiptesis que podemos ordenar de menor a mayor capacidad, en lugar de minimizar el error o emp rico Em , debemos minimizar la cota del error real Em + (h/m). Este es el principio de induccin mejorado, conocido como structural risk minimization. o
La idea ser obtener la solucin Wh optima para cada subfamilia Fh F de capacidad h a o creciente, y quedarnos con la que nos garantiza un menor error real de acuerdo con la cota anterior. Sin embargo, aunque esta idea es correcta desde un punto de vista terico, no resulta o muy prctica. Necesitamos una forma ms directa de controlar la capacidad. a a

Aprendizaje

4.7 Mquinas de Vectores de Soporte a

85

4.7.3.

Margen

Durante un tiempo se intent conseguir mquinas de aprendizaje con un poder expresivo cada o a vez mayor. Pero esto ya no parece tan deseable, una vez que comprendemos que debemos controlar su capacidad. Existen mquinas de aprendizaje no lineales y a la vez de baja capacidad? a A primera vista parece que estamos pidiendo demasiado. . . Curiosamente, incluso un simple hiperplano puede ser excesivamente exible si el espacio de propiedades es de dimensin elevada. P. ej., , si nuestros vectores de propiedades son o directamente los p xeles de una imagen, el nmero de ejemplos disponible ser casi siempre u a insuciente para sobredeterminar una frontera. Por tanto, incluso en el caso ms simple, lineal, a necesitamos algn mtodo de control de capacidad. u e Esto puede conseguirse mediante la exigencia de un margen de separacin. Vamos a imaginar o que nuestra mquina lineal contiene fronteras hiperplano de diferentes grosores. Cuanto ms a a ancha sea la frontera menos capacidad tendr: debido a su anchura no puede separar tan a fcilmente unos vectores de otros. a

La capacidad de una mquina lineal con margen M es: a h D2 +1 M2

donde D es la mayor distancia entre vectores del conjunto de entrenamiento. Este resultado es muy importante: la capacidad no depende de la dimensin del espacio de propiedades! El o hecho de exigir un gran margen de separacin consigue limitar la capacidad de la mquina o a lineal, independientemente del nmero de atributos de los ejemplos, que incluso podr llegar u an a ser potencialmente innitos.

4.7.4.

Hiperplano de mxima separacin a o

Para aplicar correctamente esta idea, deber amos elegir un margen sucientemente grande y encontrar el hiperplano que, con ese margen, separa correctamente el mayor nmero de u ejemplos. Pero en la prctica resulta mucho ms sencillo buscar el hiperplano con mayor a a margen que separa todos los ejemplos. Podemos pensar en que se encuentra una solucin y o luego se va ensanchando poco a poco; cada vez que el hiperplano choca con algn ejemplo u sigue creciendo apoyado en l, hasta que no puede ensancharse ms: e a

86

4.7 Mquinas de Vectores de Soporte a

Aprendizaje

El hiperplano de mxima separacin se consigue resolviendo un problema t a o pico de la investigacin operativa, la programacin cuadrtica (convexa) con restriccines lineales (sec. D.8). La o o a o solucin optima se puede expresar en funcin de los vectores en los que nalmente se apoy la o o o frontera. Son los vectores de soporte.
Deseamos que una mquina lineal del tipo f (x) = w x + b separe todos los ejemplos a (xi , ci ), lo que se puede expresar como un conjunto de desigualdades ci (wxi +b) 1. El margen de separacin M de una solucin (w, b) es la distancia entre las perpendiculares o o a w que tocan un vector de soporte de la clase 1 (que cumple w x = 1 b) y otro de la clase +1 (que cumple w x = 1b). Recordando (ver sec. A.1) que la proyeccin o de x sobre w est a la distancia x w/||w||, el margen depende (inversamente) del a tamao de w: n x+ w x w 1 b 1 b 2 = = ||w|| ||w|| ||w|| ||w|| ||w||

M=

Por tanto, el hiperplano de mximo margen se puede conseguir minimizando la funcin a o 2 = 1/2w w sujeta a las desigualdades lineales c (w x + objetivo cuadrtica 1/2||w|| a i i b) 1. Normalmente se forma un lagrangiano (sec. D.6) y de l se deduce una forma dual e ms conveniente sin w ni b. Es un problema estndar de optimizacin cuadrtica con a a o a restricciones lineales, pero en la prctica se utiliza software especial, como comentaremos a en la sec. 4.7.6.

explicar mejor
Para que esta idea sea util en situaciones reales, hay que modicarla para admitir distribuciones no linealmente separables. Lo que se hace es aadir a la funcin objetivo n o un coste para posibles ejemplos mal clasicados. Esto supone una modicacin menor o en el algoritmo de optimizacin cuadrtica, y en la prctica se observa que las soluciones o a a obtenidas son muy robustas frente al valor concreto de coste elegido.

4.7.5.

El truco de kernel

Hace un momento nos preguntbamos si es posible conseguir mquinas no lineales de baja a a capacidad. Una respuesta armativa la ofrecen las mquinas de vectores de soporte [4, 18]. a Se basan en la unin de dos ideas extraordinarias: el hiperplano de mxima separacin y el o a o truco de kernel. Hemos visto que la capacidad de una mquina lineal slo depende del margen de separacin, a o o y no de la dimensin del espacio de atributos. Esto parece indicar que podr o amos transformar n nuestros vectores originales x R mediante una expansin ja de propiedades de cualquier o tipo : Rn Rs (donde y = (x) Rs puede tener much simas ms componentes a que el vector original x), y aplicar un hiperplano de mxima separacin sobre las muestras a o transformadas. Si el margen conseguido fuera sucientemente grande, entonces podr amos conar en que la solucin ser able. Pero, por supuesto, como ya hemos comentado al o a hablar de las mquinas lineales generalizadas, el clculo expl a a cito de cualquier expansin de o atributos m nimamente interesante es intratable.

Aprendizaje

4.7 Mquinas de Vectores de Soporte a

87

Sin embargo, es posible trabajar impl citamente con expansiones de atributos, sin tener que calcular sus componentes expl citamente. La clave est en que prcticamente cualquier algorita a mo que procesa vectores puede expresarse en ultimo trmino como productos escalares de unos e vectores con otros. Por ejemplo, la distancia entre dos vectores (tilizada p. ej., en varios algou ritmos de clasicacin) se puede escribir como ||xy||2 = (xy)(xy) = xx+yy2xy. o Si transformarmos nuestros vectores mediante y = (x), entonces en cada ocasin en que o un determinado algoritmo calcule un producto escalar xa xb , podemos sustituirlo por y a y b = (xa ) (xb ) y entonces ese algoritmo estar trabajando en el espacio de propiedades a denido por , en lugar del espacio original. La clave est en que podemos calcular el producto a escalar (xa ) (xb ) de forma incre blemente simple si lo hacemos directamente, en funcin o de las componentes de los vectores x, en lugar de calcularlo expl citamente en trminos de las e numeros simas coordenadas del espacio de y.
Veamos esto en detalle. Consideremos la siguiente expansin : R2 R6 , que a partir o de puntos del plano obtiene unas cuantas propiedades de que son productos y potencias a de coordenadas hasta grado dos (el coeciente 2 se entender en un instante): 1 2x1 2x2 x1 ( )= 2 x2 x1 x2 2 2x1 x2 El producto escalar de las expansiones de xa = [a1 , a2 ]T y xb = [b1 , b2 ]T es un nmero u en el que se acumulan los 6 productos de las nuevas coordenadas: (xa ) (xb ) = 1 + 2a1 b1 + 2a2 b2 + a2 b2 + a2 b2 + 2a1 a2 b1 b2 1 1 2 2 Curiosamente, ese nmero se puede calcular de forma directa de la siguiente forma: u (xa xb + 1)2 = 1 + (a1 b1 + a2 b2 )2 + 2(a1 b1 + a2 b2 ) en funcin del producto escalar de los vectores originales mediante una sencilla operacin o o que solo require 2 productos (en lugar de los 6 anteriores) la suma de 1 y elevar al cuadrado. Por supuesto podemos elegir cualquier otro exponente: si calculamos (xa xb + 1)5 obtendremos con el mismo esfuerzo computacional el producto escalar de una expansin (impl o cita) de 21 dimensiones basada en productos y potencias de los atributos originales hasta orden 5.

El truco de kernel consiste en sustituir en el algoritmo que nos interese todos los productos escalares de vectores xa xb por una funcin no lineal simtrica k(xa , xb ) que calcula el producto o e escalar en un espacio de propiedades impl cito, normalmente de muy elevada dimensin. La o dicultad de hacer correctamente esta sustitucin depende del algoritmo concreto; a veces hay o que reescribirlo de forma un poco diferente para que todas las operaciones queden expresadas como productos escalares. Adems, lo usual es inventar funciones de kernel que sean fciles a a de calcular, sin preocuparnos demasiado de las propiedades concretas que se inducen, ya que al generarse un nmero tan grande ser muy fcil para los algoritmos elegir la combinacin u a a o

88

4.7 Mquinas de Vectores de Soporte a

Aprendizaje

adecuada en cada situacin. Dos funciones de kernel t o picas son el polinomial de orden p, ya visto en el ejemplo anterior: k(xa , xb ) = (xa xb + 1)p y el kernel gaussiano de anchura : xa xb
2

k(xa , xb ) = exp

que genera un espacio de propiedades impl cito de dimensin innita (!). (Esto es as porque o la exponencial se puede expresar como una serie de innitas potencias). Valores razonables para los parmetros k o de las funciones de kernel dependen realmente de cada problema, a y suelen elegirse mediante prueba y error. Otra funcin de kernel que tambin se podr o e a utilizar est basada en tangente hiperblica, que da lugar a mquinas muy similares a las redes a o a neuronales que estudiamos en la seccin anterior. o
Como ejemplo, vamos a aplicar el truco de kernel a la mquina lineal f (x) = w x a basada en la pseudoinversa estudiada en la sec. 4.2. En el espacio original desebamos a cumplir la igualdad Xw = C que en el espacio de propiedades se convierte en w = C donde es una matriz cuyas las son las expansiones (xi )T de cada ejemplo de entrenamiento (de dimensin potencialmente innta) y w es un vector de pesos de esa o misma dimension enorme. La idea esencial consiste en expresar este vector w como una combinacin lineal de los ejemplos expandidos3 : o
n

w =
i=1

i (xi ) = T

Introduciendo esta expresin para w en el sistema de ecuaciones obtenemos la siguiente o condicin: o T = C

Aqu surge un detalle tcnico: w tiene la misma dimensin (enorme) que los ejemplos expandidos pero el e o nmero de ejemplos en la combinacin lineal ser normalmente mucho menor. Por tanto, estamos restringiendo u o a la solucin a un subespacio (la envolvente lineal de los ejemplos expandidos) aparentemente muy restringido o dentro del espacio de soluciones posibles. Pero esto no supone ningn problema, ya que si existe una solucin u o para w = C tambin existir aunque w se restrinja al subespacio generado por los ejemplos. La misma e a diversidad que aparece en los ejemplos se usa para fabricar la solucin. o

Aprendizaje

4.7 Mquinas de Vectores de Soporte a

89

cuya solucin de m o nimos error cuadrtico para puede expresarse inmediatamente, a como ya sabemos, en trminos de la pseudoinversa: e = (T )+ C La matriz T es de tamao razonable (n n, siendo n el nmero de ejemplos), a n u pesar de que se construye como el producto de dos matrices con una de sus dimensiones (la que se contrae en el producto) que es inmensamente grande. La clave est en que a sus elementos son simplemente los productos escalares de unos ejemplos con otros, que pueden calcularse de forma inmediata con la funcin de kernel: o
n T = {(xi ) (xj )}n i=1,j=1 = {k(xi , xj )}i=1,j=1

Una vez que tenemos podemos construir la mquina de clasicacin de futuros veca o tores t:
n n

f (t) = w (t) =
i

i (xi )

(t) =
i=1

i k(xi , t)

El inconveniente de la mayor de los algoritmos kernelizados es que la solucin se basa en a o algn tipo de expresin en la que aparecen todos los ejemplos de entrenamiento. Por el contrau o rio, cuando se aplica el truco de kernel al hiperplano de mxima separacin, la solucin queda a o o en funcin unicamente de los vectores de soporte (es sparse), dando lugar a un clasicador o muy eciente.

4.7.6.

La mquina de vectores de soporte (SVM) a

La mquina de vectores de soporte se reere normalmente a un hiperplano de mxima separaa a cin en el espacio de propiedades inducido por una funcin de kernel. Tiene muchas ventajas: o o Es no lineal: puede resolver problemas de cualquier complejidad. Es de mximo margen: se controla la capacidad, consiguiendo generalizacin. a o El algoritmo de aprendizaje es directo: la programacin cuadrtica involucrada tiene o a una solucin bien denida que puede encontrarse ecientemente mediante un algoritmo o especialmente diseado para este problema. No tiene m n nimos locales. No se basa en procesos de optimizacin iterativa como los utilizados en las redes neuronales, que pueden o encontrar o no, tras un tiempo indeterminado alguna solucin ms o menos aceptable. o a La solucin es concisa: tiene la forma de una combinacin lineal de la funcin de kernel o o o unicamente sobre los vectores de soporte, lo que hace que el clasicador obtenido sea computacionalmente muy eciente. Dependiendo del tipo de kernel elegido, la estructura de la mquina obtenida equivale a a otros modelos ya conocidos, pero en este caso su ajuste se basa en un algoritmo eciente y cerrado, y que adems obtiene una solucin con ms esperanzas de generalizacin. a o a o

90

4.8 Procesos Gaussianos

Aprendizaje

Por estas razones no es de extraar que sea una de las tcnicas ms utilizadas en la actualidad. n e a En la pgina www.kernelmachines.org hay mucha ms informacin, tutoriales y software. a a o

Ejercicios:
Descarga alguna implementacin de la SVM (svmlight, SOM, etc.) y prubala con alguno de o e los problemas de clasicacin que han surgido en las prcticas. o a

4.8.

Procesos Gaussianos

Los procesos gaussianos son una tecnolog alternativa para disear mquinas de kernel, basaa n a das en un sencillo y atractivo enfoque probabil stico. Aqu simplemente motivaremos el tema con una introduccin intuitiva, en la l o nea del excelente tutorial [6]. Una explicacin ms o a detallada puede consultarse en el libro [23] (disponible online). Normalmente estamos visualizando las poblaciones aleatorias como nubes de puntos en un espacio multidimensional. Este modelo mental es casi siempre el ms adecuado. Sin embargo, a podr amos tambin representar un objeto y = {y1 , y2 , . . . yn } como una coleccin de n puntos e o del plano, con coordenadas (i, yi ). Esto se parece mucho a una funcin y(x) muestreada en o las posiciones x = 1, 2, . . . n:

Supongamos ahora que la dimensin del espacio va aumentando ms y ms, de modo que los o a a objetos pueden considerarse como funciones ms y ms densamente muestreadas 4 : a a

En el l mite, podemos pensar en un nmero innito de coordenadas, distribuidas de forma u continua en el eje horizontal, cuyos valores denen una funcin. Esta funcin podr ser de o o a cualquier tipo, sin ninguna relacin entre los valores en posiciones cercanas, dando lugar a una o grca parecida a la del ruido aleatorio. Si por el contrario los valores prximos tienen alguna a o dependencia estad stica la funcin tender a ser suave. Este es el caso que nos interesa para o a en los problemas de regresin. o
4

Esta representacin slo permite mostrar unos pocos puntos del espacio simultneamente, ya que rpidamente o o a a el grco se vuelve muy confuso. a

Aprendizaje

4.9 Boosting

91

Las funciones pueden considerarse puntos de un espacio de dimensin innita, sobre el que o podemos establecer una densidad de probabilidad y aplicar las reglas de inferencia elementales: si observamos un subconjunto de variables, cul es la distribucin de probabilidad de otras a o variables no observadas? Se trata de un problema de interpolacin tradicional, replanteado o como inferencia Bayesiana. Para resolverlo necesitamos un modelo conjunto de todas las variables. Sorprendentemente, un modelo gaussiano de dimensin innita (proceso gaussiano) es muy util para este propsito. La o o media puede ser la funcin cero, para no preferir arbitrariamente valores positivos o negativos. o Y la matriz de covarianza es una matriz innita que contiene el coeciente de covarianza ab de cada pareja de coordenadas xa , xb . Cuando deseamos modelar funciones suaves deber a tener un valor grande para coordenadas prximas, y tender a cero a medida que se alejan entre o s Por ejemplo: .
(xa xb )2 2l2

ab = k(xa , xb ) = 2 e

+ ab

donde l es un parmetro que controla el grado de suavidad de las funciones. La diagonal, a expresada con la delta de Kronecker, contiene el ruido de las observaciones. Evidentemente, no es posible trabajar con un modelo gaussiano innito. Pero en la prctica a tenemos un nmero nito de observaciones de la funcin y deseamos predecir su valor en u o otra coleccin nita de posiciones. Por tanto, podemos marginalizar las innitas variables no o utilizadas para conseguir una gaussiana de dimensin nita, sobre la que podemos aplicar o directamente los resultados de la Seccin C.5 para obtener estimadores, con localizacin y o o dispersin, en las posiciones de inters. o e Para ello slo tenemos que construir los tres bloques necesarios de la matriz de covarianza o usando la funcin k(xa , xb ) anterior sobre las coordenadas xk de las muestras observadas y de o las posiciones x que deseamos predecir. Con ellos se obtiene fcilmente la distribucin de los a o k o valores desconocidos yk condicionados a las observaciones yk usando la expresin C.1. - Es posible muestrear prior y posterior - Bayesian estimation of free parameters - Classication - Relacin con mquinas de kernel o a - Relacin con inferencia bayesiana de los coefs. de una mquina lineal. o a - Sparse machines (relevance vectors).

4.9.

Boosting

Metaalgoritmos: p. ej. arboles de clasicacin. o

92

4.9 Boosting

Aprendizaje

4.9.1. 4.9.2.

Random Forests AdaBoost

http://www.cs.princeton.edu/~schapire/boost.html Stumps. adaboost ejemplos (face detection)

Parte II Visin por Computador o

94

Guin de clase o
C0
Planteamiento Bibliograf a Entornos de desarrollo Transparencias divulgativas Demos

C1
Image digitalizada vs geometr a Coords homogneas, rayos, puntos en el innito e Rectas, unin, interseccin, dot, cross, expressions, geom interpretation. o o Ejer horiz from imag rectangle, linf Grupos de transformaciones en el plano, interpret, represent como matriz homog, propiedades invariants (I), tipos de matriz, cross-ratio Ejer farolas (predict position of equispaced points in image)

C2
Cross ratio de 5 rectas Transformacin de rectas. Covarianza y contravarianza. o Objetos invariantes en cada tipo de transformacin. Desp: p infs., rot centro, an linf o Ejer pensar en obj invariante a similar. Ejer comprobar transformacin de rectas. o Cnicas: incidencia, tangencia, (pole-polar), cnica dual, transformacin. o o o

96 comprobar transformacin de cnicas. o o

C3
Transfs 3D: desp, rots, esc Proyeccin P3 to P2, pinhole model, matriz transf posicin normal o o pixelizacin: interpretacin de elementos de K o o ejer: calibracin a ojo o radial distortion KPRT, forma usual K [Rt] f es relativa. Coordenadas de imagen: raw, calibradas, normalizadas: f equiv. to eld of view. Ejer: proyectar cubo con cam sinttica (R=I) e Ejer: generar matriz de cmara desde un C mirando a un p a

C4
Homograf de un plano (ej. z=0). a Recticacin mediante puntos correspondientes. o Solucin a sistema homogneo sobredeterminado o e Ejer: Deducir ecuaciones para H Ejer: Estimar homograf con correspondencias y recticar plano a Ejer: Estimar camara mediante correspondencias y dibujar algo virtual. Ejer: Invariante de 5 puntos (p.ej. reconoc. de poligons). Invariante proy de 1 cnica no, de 2 cnica s o o .

C5
Homograf interesantes relacionadas con cmara: Interimagen planar, del innito, roas a tacin conjugada o Ejer: panormica (de plano, o de rotacin) a o Anatom de cmara: columnas (comprobar en ejer de estimacin de M) a a o Reprojeccin de puntos y rectas o

97 Anatom de cmara: las a a Extraccin de KRC: factorizacin RQ. Centro=nullspace. Fix con K ok. o o Ejer: Extraer KRC de cmara sinttica y estimada a e Error geomtrico vs algebraico. Ejemplo con estim. de una cnica. e o Aproximacin af o n.

C6
Recticacin de planos con otra info (sin correspondencias) o Af poner el horizonte en su sitio n: Ejer: probarlo f from right angle in horizon, construccin geomtrica o e Medicin de ngulos en imagen: cos invariante a homograf o a as.
Invariante mtrico: puntos circulares o su cnica dual C . e o

Interpretacin con diag(f,f,1). o Ejer (optional): rectif mtrica mediante puntos circulares (interseccin de c e o rculos) Ejer (optional): rectif mtrica mediante ngulos rectos e a Recuperacin de cmara a partir de homograf de recticacin (varios mtodos). o a a o e Ejer: Realidad aumentada en un plano.

C6b
Analog con ngulo de rectas en el plano: Angulos de planos 3D. Comportamiento al a a transformar. Como cudrica: Cudrica dual absoluta. Invariante mtrico 3D. a a e Plano del innito. Formacin de puntos de fuga y l o neas de fuga. Angulo de rayos/puntos de fuga. Se mete K de una cierta forma. Puntos circulares de varios planos en el espacio. dnde van? o La cnica absoluta. Dual a la cudrica. Simple eq. en pinf. Es invariante mtrico. Con o a e Hinf vemos que su imagen w slo depende de K. El ngulo de puntos de fuga anterior o a usa w. Ortogonalidad de vanishing points and van. pt and ln. Calibracin como homograf y o as ortho constraints on . Deducir mtodos de calibracin sencillos. e o Construccin del pp o Ejer Recticacin calibrada from vertical vanishing point. Completar H ms simple? o a

98 Ejer alturas relativas.

C7
Geometr estreo a e Rayos de un punto. L nea base. Epipolos. L neas epipolares. A partir de cmaras llegamos a a F. Propiedades, grados de libertad. Restriccin epipolar. Recticacin. o o Ejer: comprobar restriccin epipolar con cmaras sintticas. o a e Computacin de F con correspondencias. Normalizacin. o o Ejer: deducir ecuaciones. Comprobar en caso sinttico. e Ambigedad projectiva. u Extraccin de cmaras compatibles. Necesidad de calibracin. o a o

C8
Matriz esencial, relacin con F, estructura interna. propiedades. o Ejer: comprobacin en caso sinttico. o e Extraccin de cmaras. Seleccin del par correcto. o a o Ejer: comprobacin en caso sinttico. o e Triangulacin lineal. o Deducir ecuaciones e implementacin. o Autocalibracin simple: Extraccin de f from F. Closed form, optimization. o o Ejer: reconstruccin estreo real. o e

C9
SfM, loop closing, Bundle adjustment, Newton, pprox. al Hessian, SBA

C10
restriccin trifocal, cuadrifocal o intro a tensores intro a Grassman, etc.

99

C11 . . .
Extraccin de propiedades geomtricas interesantes: invariantes, identicadas, etc. : puno e tos, bordes, bordes rectos, contornos, etc. Operaciones locales de proceso de imagen. Operaciones lineales. Convolucin vs big o matrix. Separabilidad. Paso bajo, paso alto, mediana. Filtrado gaussiano: cascading, Fourier, scale space Gradiente. Dibujarlo. Mscaras. Mdulo y angulo. Laplaciano, LoG, Canny. a o Hough. Ejer: horiz of plane from live rectangle, live cross ratio of (5 lines of) pentagon. Points: Harris, Hessian Lucas-Kanade SIFT. Detector y Descriptor. Matching consistencia geomtrica. Bag of words (interpree tacin). o Ferns, Fast, etc. MSER LBP, SWT ...

100

Cap tulo 5 Visin por Computador I o


In discussing the sense of sight, we have to realize that (outside of a gallery of modern art!) one does not see random spots of color or spots of light. When we look at an object we see a man or a thing; in other words, the brain interprets what we see. How it does that, no one knows, and it does it, of course, at a very high level. Feynman

La evolucin biolgica ha producido organismos capaces de extraer un conocimiento muy o o preciso de la estructura espacial del mundo externo, en tiempo real, a partir de secuencias de imgenes. Desde el punto de vista del procesamiento de la informacin este problema presenta a o una complejidad extraordinaria. La visin articial supone un desaf para la tecnolog y la o o a ciencia actual: ni siquiera las mquinas ms potentes pueden acercarse a la capacidad de los a a sistemas visuales naturales. A pesar de esto, en los ultimos aos se han producido avances muy n signicativos tanto en los recursos de cmputo disponibles (GPU) como en nuevos enfoques o tericos (p.ej. propiedades locales invariantes) que hacen posible resolver satisfactoriamente o muchos problemas de visin articial en condiciones de trabajo cada vez ms realistas. o a La bibliograf sobre visin articial es inmensa. Este cap a o tulo contiene solamente un guin o o esquema de algunas ideas importantes. La referencia esencial sobre geometr visual es [10] y a un compendio muy actualizado de la visin articial en general es [25]. o

5.1.

Planteamiento

En un sistema de visin articial deseamos obtener a partir de los est o mulos (elementos de imagen) una representacin de la realidad externa que reeje ciertas propiedades que nos o interesan: t picamente el reconocimiento de objetos, o clases de objetos, o algn modelo de la u estructura espacial del espacio circundante. La dicultad de esta tarea depende esencialmente del grado de control que poseemos sobre las condiciones de trabajo: cualquier aplicacin de visin articial puede simplicarse hasta o o

102

5.1 Planteamiento

Vision

hacerse trivial restringiendo sucientemente el tipo de escenas admitidas. Por tanto, nuestro objetivo es conseguir sistemas capaces de operar en ambientes cada vez ms abiertos, menos a estructurados. Por ejemplo, es posible disear sistemas de guiado visual de robots en el interior n de edicios, capaces de comprender, en cierta medida, la situacin del robot respecto al o entorno, p.ej. determinando su posicin relativa respecto a paredes, habitaciones o pasillos, o etc. Claramente, la navegacin en exteriores presenta mucha mayor complejidad. o En alguna ocasin se ha denido la visin articial como el problema inverso de los grcos por o o a computador: obtener el modelo tridimensional que ha generado una o varias imgenes. Esto ya a se ha resuelto: aprovechando resultados tericos de la geometr proyectiva se pueden obtener o a modelos 3D del entorno a partir de mltiples imgenes, incluso sin conocer las posiciones desde u a las que se han tomado ni los parmetros (zoom, etc.) de las cmaras. Se trata de uno de los a a avances ms importantes (si no el que ms) de la visin articial [10]. a a o Sin embargo, una representacin perceptual no puede ser una simple copia de la realidad. o Debemos evitar la regresin innita de homnuculos que miran esas representaciones. Es o u imprescindible extraer ciertas propiedades utiles para el objetivo del sistema. En ocasiones estas propiedades pueden ser bastante simples: muchas aplicaciones en ambientes controlados pueden resolverse considerando que las imgenes son simplemente puntos en un a espacio de dimensin muy elevada, sin tener en cuenta sus relaciones espaciales. Ejemplos o de esto son la comparacin directa de imgenes o los mtodos basados en la extraccin de o a e o componentes principales (vase el cap. 10.4 de Trucco y Verri [26]). Curiosamente, utilizando e este tipo de descripciones estad sticas se obtendrn exactamente los mismos resultados aunque a los pixels de la imagen estn permutados arbitrariamente, lo que demuestra que en cierto e sentido desperdician el aspecto visual de la informacin disponible. . . o En situaciones menos simplicadas la percepcin visual deber apoyarse en procesos de intero a pretacin de alto nivel como los descritos en la seccin 1.3. El resultado ser un conjunto de o o a propiedades y relaciones abstractas, organizadas en una representacin estructurada. o
Un ejemplo de lo que nos gustar conseguir se muestra a continuacin (vase la tesis a o e doctoral del profesor Lpez-de-Teruel [16, 7]): o
100 50 0 -50 -100 -150 -100 -50 0 50 100 150

La gura de la izquierda es una imagen de la esquina de una habitacin. En el centro o se muestran propiedades interesantes de la imagen (segmentos de recta). Tras un proceso de interpretacin, algunos se identican (l o neas gruesas) como intersecciones de grandes planos, que, en un edicio, sabemos que son horizontales (suelo) o verticales (paredes). La gura de la derecha muestra la representacin obtenida (un modelo 3D o basado en planos), que podemos manipular de acuerdo con el objetivo del sistema (en este caso simplemente lo observamos desde otro punto de vista). En la interpretacin se combina la secuencia de imgenes recibida en cada momento o a y el modelo actual, para mantenerlo actualizado. En la representacin 3D se han mao peado las texturas que aparecen en la imagen original bajo la suposicin planar, por o

Vision

5.2 Formacin de las Imgenes o a

103

lo que los objetos con volumen aparecen deformados. (Obsrvese que esta deformae cin ser inconsistente en varias imgenes, lo que permite detectar objetos slidos en la o a a o escena.)

5.2.

Formacin de las Imgenes o a

Una imagen se forma en una supercie cuando a cada punto de ella llega luz de un solo punto del mundo. En este apartado estudiaremos las leyes geomtricas que rigen la formacin de la e o imgenes. a

Modelo Pinhole. Hacemos pasar la luz por un agujero muy pequeo, forzando a que a n cada punto de un plano solo pueda llegar luz de un punto del mundo (un rayo). (Recordar la cmara oscura.) a

Lente. Produce el efecto de un agujero ms grande, para que entre ms luz. Conseguimos a a que todo un haz de rayos (no solo uno) que parten un un punto del mundo vayan a parar a un unico punto de la imagen. (Surge la necesidad del enfoque, el concepto de profundidad de campo, etc.)

Transformacin de Perspectiva. Una cmara queda completamente determinada por el o a centro de proyeccin C y el plano de imagen . Los puntos 3D dan lugar a rayos hasta o C, y la imagen es la interseccin de estos rayos con el plano , que est a una distancia f . o a La direccin en la que mira la cmara es la recta normal al plano que pasa por el centro de o a proyeccion. El punto principal (pp) es la interseccin de esa recta con el plano de imagen. o

104

5.2 Formacin de las Imgenes o a

Vision

Las ecuaciones de la transformacin de perspectiva son muy sencillas cuando el centro de o proyeccin es el origen y la cmara apunta en la direccin del eje Z: o a o X Z Y Z

x=f

y=f

(La coordenada z = f constante en toda la imagen se omite.) Esta transformacin se puede o interpretar intuitivamente como un simple escalado de las coordenadas, pero con un factor inversamente proporcional a la distancia al punto en direccin perpendicular al plano de imagen. o
 

La transformacin de perspectiva tiene el inconveniente de que es no lineal. Afortunadamente o disponemos de herramientas matemticas (geometr proyectiva, coordenadas homogneas, a a e etc.) que nos permitirn estudiar la formacin de las imgenes mediante tcnicas esencialmente a o a e lineales.

Perspectiva Dbil. Existen otros modelos de formacin de imgenes ms sencillos. P. ej., e o a a en la proyeccin ortogrca nos olvidamos de la coordenada Z, aplastando toda la escena. En o a general estos modelos producen imgenes que no son correctas (nuestro ojo no las ve as en a realidad). No obstante, en ciertas condiciones son perfectamente utilizables: Por ejemplo, si un objeto tiene una profundidad pequea respecto a la distancia a la cmara se puede usar la n a transformacin de perspectiva dbil, en la que se supone que todos los puntos de un objeto o e se encuentran a la misma distancia media Z. En ese caso la transformacin es un simple o Esta simplicacin nos permite calcular escalado de coordenadas (con factor de escala f /Z). o fcilmente, p.ej., la orientacin de un c a o rculo respecto al plano de la cmara. a

Geometr proyectiva 2D. Es imprescindible estudiar el cap a tulo 1 del libro de Hartley y Zisserman [10]. Representacin de puntos, rectas y cnicas. Incidencia, interseccin. Interpreo o o tacin como rayos / planos por el origen. Puntos del innito / direcciones. Transformaciones o

 

 


 !    " ! " #

     

Vision

5.2 Formacin de las Imgenes o a

105

proyectivas 2D 2D (homograf o colineaciones). Accin sobre puntos: x = Hx, rectas: as o l = H T l y cnicas: C = H T CH 1 . Grupos de transformaciones. Cualquier transformacin o o proyectiva puede descomponerse en 3 partes: similar, af y proyectiva (p.22): n sR t 0T 1 K 0 0T 1 I 0 A t = T T v v v v

H = Hs HA Hp =

Transformaciones e Invariantes. Para entender bien la naturaleza de la transformacin o de perspectiva la estudiaremos en el contexto de otras ya conocidas que no afectan al aspecto visual de las guras. En la Seccin 2.3 vimos que es muy sencillo reconocer formas o formas planas, independientemente de su posicin, su tamao y su orientacin (usando, p.ej., o n o propiedades frecuenciales del contorno). Estas transformaciones, que se llaman de similitud, preservan distancias relativas y ngulos. a

Las transformaciones anes son ms generales: permiten escalas diferentes en cada eje y a que los ejes de coordenadas dejen de estar perpendiculares. Aunque ciertas guras ahora se confunden (c rculos y elipses; cuadrados, rectngulos y rombos) la transformacin es lineal a o y mantiene muchas propiedades del aspecto de una gura. Pueden construirse invariantes capaces de reconocer formas sometidas a este tipo de transformacin. Preserva paralelismo y o reas relativas. a La transformacin de perspectiva es todav ms general, y produce deformaciones en los o a a objetos que pueden llegar a ser muy extremas. Ya ni siquiera se preserva el paralelismo y prcticamente lo unico que se mantiene es la colinealidad (las rectas siguen siendo rectas), y a una propiedad de 4 puntos sobre una recta llamada cross-ratio:

cr =

a c a+b b+c

Curiosamente, las cnicas tambin siguen siendo cnicas pero pueden cambiar de tipo (p.ej.: o e o c rculo elipse, elipse hiprbola, etc., dependiendo de las circunstancias). e Horizonte. Una particularidad fundamental de la transformacin de perspectiva es la apao ricin del horizonte: la imagen de puntos de un plano innitamente alejados. La geometr o a

106

5.3 Modelo lineal de cmara a

Vision

proyectiva permite manejar el innito sin ningn problema, con coordenadas homogneas. u e Por ejemplo, ms adelante veremos que podemos recticar un plano visto en perspectiva a devolviendo el horizonte al su posicin original. o

Distorsiones. Los sistemas sistemas opticos reales suelen presentar desviaciones respecto al modelo proyectivo ideal. Por ejemplo, frecuentemente aparece una deformacin radial, que o hace que las l neas rectas se vean curvadas. Es ms grave en imgenes con gran campo de a a visin, como la imagen izquierda siguiente. En la imagen derecha tambin se aprecia una ligera o e distorsin radial en las rectas verticales de la puerta: o

La distorsin radial puede compensarse fcilmente con una tabla de acceso a los pixels. El o a modelo de compensacin ms utilizado es el siguiente: o a

x = (x ox )(1 + k((x ox )2 + (y oy )2 ))

y = (y oy )(1 + k((x ox )2 + (y oy )2 ))

Sus parmetros son el centro de distorsin (ox , oy ) y el coeciente de compensacin k. Para a o o estimarlos lo ms sencillo es minimizar mediante el mtodo de Newton (ver Sec. D.4) la a e curvatura de un conjunto de rectas conocidas en la imagen. Dependiendo de la aplicacin, si la cmara presenta poca distorsin radial (p. ej., si slo se o a o o aprecia en los bordes de la imagen) puede no ser necesario corregirla.

5.3.

Modelo lineal de cmara a

Parmetros Extr a nsecos. La posicin y orientacin de la cmara en el espacio queda deo o a nida por las coordenadas del centro de proyeccin C = (cx , cy , cz ) y la matriz de rotacin R o o que hace girar los ejes en el espacio para que la cmara apunte en la direccin deseada. a o

Vision

5.3 Modelo lineal de cmara a

107

La matriz R tiene 9 coecientes pero slo 3 grados de libertad, que son los ngulos de giro o a en un cierto convenio. (Hay varias formas de parametrizar una matriz de rotacin: ngulos o a de Euler, quaterniones, mediante un vector que codica la direccin y el ngulo, etc.) En o a denitiva, la posicin de la cmara en el espacio queda determinada por 6 parmetros, que o a a llamamos externos o extr nsecos.

Coordenadas Homogneas. Las coordenadas homogneas de un vector (x, y, z) son el e e conjunto (rayo) de puntos (x, y, z, 1). Las coordenadas ordinarias de un vector homogneo e (x, y, z, w) son (x/w, y/w, z/w). El truco de aadir una coordenada constante permite exn presar de forma lineal transformaciones de perspectiva o desplazamiento (los escalados y rotaciones ya lo son):

1 0 0 0 1 0 T = 0 0 1 0 0 0

a b c 1

R R = 33 0 0 0

0 0 0 1

sx 0 S= 0 0

0 sy 0 0

0 0 sz 0

0 0 0 1

1 P = 0 0

0 1 0

0 0 1

0 0 0

La transformacin de perspectiva P consiste simplemente en quitar la ultima la para que la o ultima coordenada W = Z, con lo que la divisin se hace slo cuando se pasa de coordenadas o o homogneas a coordenadas ordinarias. e En realidad, las coordenadas homogneas son una representacin de los elementos del espacio e o proyectivo, que nos permite manejar convenientemente las transformaciones de perspectiva teniendo en cuenta de manera natural, entre otras cosas, puntos innitamente alejados (direcciones), que en la imagen aparecen en posiciones nitas (horizonte).

Parmetros Intr a nsecos. Los parmetros propiamente dichos de una cmara, tambin llaa a e mados internos o intr nsecos, son los que relacionan la transformacin entre el plano de o imagen ideal en el espacio, y la malla o matriz de elementos sensibles a la luz (pixel) que ponemos encima para digitalizar la imagen. Permiten calcular la correspondencia desde puntos del mundo hasta los pixels de imagen, y, a la inversa, desde los pixels de imagen hasta conjuntos de de puntos (rayos) del mundo.

108

5.3 Modelo lineal de cmara a

Vision

Un modelo bastante general y matemticamente sencillo de la relacin entre el plano de imagen a o (x, y) y la matriz de pixels (p, q) es la siguiente transformacin af o n:

p x q = K y 1 1

f s ox K = 0 f r oy 0 0 1

En realidad resulta equivalente tener pixels grandes y el plano de imagen muy alejado que tener pixels pequeos y el plano de imagen muy cerca del centro de proyeccin. El parmetro n o a fundamental del modelo pinhole es la distancia efectiva f (la distancia real entre el centro de proyeccin y el plano de imagen, dividida por el tamao del pixel). Indica el tamao en pixels o n n de un objeto de tamao unidad a distancia unidad, o, alternativamente, la distancia en pixels n correspondiente a rayos separados 45 grados. Adems de la distancia efectiva f , la transformacin K incluye otros parmetros internos: el a o a aspect ratio r de la imagen (para tener en cuenta la posibilidad de pixels rectangulares), el skew s o inclinacin de los ejes (que se puede producir si la matriz de p o xels no es paralela al plano de imagen) y la posicin (ox , oy ) del punto principal. o Normalmente los pixels son cuadrados, por lo que r = 1 y s = 0. Por otra parte, si el campo de visin de la cmara no es excesivamente amplio (menor que, digamos, 40 50 grados) o a o y siempre que la aplicacin no exija precisiones muy elevadas, es perfectamente razonable o trabajar bajo la suposicin de que el punto principal est en el centro del array de pixels. o a (De hecho, es prcticamente imposible estimar el pp, a partir de medidas reales, y por tanto a imprecisas, con precisin mejor que 10 o 15 grados.) La gura siguiente muestra mallas de o pixels correspondientes a modelos de cmara cada vez ms sencillos: a a

f s ox 0 f r oy 0 0 1

f 0 ox 0 f r oy 0 0 1

fx 0 0 0 fy 0 0 0 1

f 0 0 0 f 0 0 0 1

En conclusin, en muchos casos prcticos slo hay un parmetro interno relevante de la cmara: o a o a a la focal efectiva f . En este caso, trasladando el origen de los pixels al centro de la imagen, la matriz de calibracin es simplemente: o

Vision

5.3 Modelo lineal de cmara a

109

f 0 0 Kf = 0 f 0 0 0 1

Cmara como medidor de ngulos. Acabamos de ver que la matriz K es la transformacin a a o que relaciona los pixels de imagen con los rayos y sus ngulos correspondientes en el espacio. a

x p y = K 1 q 1 1 p x = = tan z f En una primera aproximacin, para pixels prximos al punto principal (interseccin del eje o o o optico con el plano de imagen), el ngulo entre los rayos denidos por dos pixels es simplemente a la distancia entre ellos divida por f . Esto nos permite hacernos una idea del orden de magnitud de f a partir de la imagen de un objeto con tamao angular conocido. n

Matriz de cmara. La transformacin global de puntos del mundo a pixels de imagen, a o teniendo en cuenta la posicin, orientacin y parmetros internos de la cmara, se obtiene o o a a de la accin combinada de las transformaciones elementales T , R, P y K. El uso de coordeo nadas homogneas permite expresarlas todas de forma lineal y, por tanto, la composicin de e o transformaciones se implementa directamente como un producto de matrices. En la prctica la matriz de cmara se expresa concisamente como: a a

M = K[R|t]
donde R es la matriz de rotacin no homognea, t = RC es un un vector columna que o e depende del centro de proyeccin y K es la matriz de calibracin. (La notacin [A|B] se usa o o o para describir matrices por bloques.) M es una matriz 3 4 homognea con 11 grados de e libertad (la escala es irrelevante): hasta 5 parmetros intr a nsecos y 6 extr nsecos. Esta descomposicin de la matriz de cmara es muy importante y se utilizar ms adelante en o a a a muchas ocasiones.

Centro de la cmara. Puede extraerse fcilmente de la matriz de cmara porque (en a a a coordenadas homogneas) es su espacio nulo: MC = 0. e

110

5.4 Calibracin o

Vision

Rayo dado un punto. Es la recta que contiene todos puntos del espacio que se proyectan sobre ese punto de la imagen. Puede expresarse de forma paramtrica como la recta que une e el centro de proyeccin y un punto cualquiera del rayo: o

X p () = C + M+ p

Se utiliza la pseudoinversa M+ de M, que en este caso verica (ver Sec. A.4) MM+ = I. El centro de proyeccin C es el espacio nulo de M, por lo que claramente MX p () = p. o
En coordenadas ordinarias la recta que une dos puntos a y b se expresa de forma paramtrica como x() = a+(ba). En coordenadas homogneas la familia x() = e e a+(ba) representa los mismos puntos, por lo que la recta que une a y b tambin e puede expresarse como x(, ) = a + b. (Hay dos parmetros, y , que dependen a de los anteriores y , pero un solo grado de libertad debido al factor de escala comn irrelevante de la representacin homognea.) En otras palabras, los puntos a u o e y b del espacio proyectivo son subespacios vectoriales de dimensin 1 y la recta que o los une es la envolvente lineal de esos dos subespacios. Si excluimos uno de los puntos de la parametrizacin, digamos a, podemos expresar la recta que los une con un solo o parmetro ( = ) como x() = a + b . a

Plano dada una recta. El plano del espacio que se proyecta sobre una recta de la imagen l es simplemente = MT l.

= MT l

Los puntos del espacio que estn en ese plano cumplen T X = 0 y la imagen de cualquier a X es x = MX. Los puntos de imagen que estn en la recta cumplen lT x = 0, por tanto a T T l x = l M X = 0.
T

5.4.

Calibracin o

A partir de correspondencias entre posiciones de imagen (pixels) y puntos 3D con coordenadas conocidas es posible estimar la matriz completa M de la cmara. Para ello habr que resolver a a un sistema de ecuaciones homogneo por m e nimos cuadrados. Cada correspondencia da lugar a dos ecuaciones o restricciones independientes sobre los elementos de M, por lo que necesitamos al menos 5 puntos y medio para estimar sus 11 grados de libertad. Por supuesto, es mejor

Vision

5.4 Calibracin o

111

utilizar ms puntos de calibracin para sobredeterminar el sistema y mejorar robustez de la a o solucin frente a los inevitables errores de medida. o La imagen siguiente contiene una plantilla de calibracin (un tablero de ajedrez de 8 53mm o de lado, doblado en ngulo recto) que dene un sistema de coordenadas en el que podemos a identicar puntos 3D. De arriba a abajo y de izquierda a derecha hemos hemos marcado 9 correspondencias:
x 0 0 0 0 0 0 1 1 1 y z p q 123 2 1 2 107 47 1 1 87 117 0 1 2 0 89 81 57 1 0 51 23 0 0 5 2 0 5 58 1 0 40 18 0 0 91 40

Las coordenadas (x, y, z) estn en unidades simplicadas (4 53mm) y los pixels (p, q) se a miden desde el centro de la imagen. El convenio de ejes elegido es el siguiente:

Cada correspondencia (x, y, z) (p, q) impone la restriccin M (x, y, z, 1) = (p, q, 1) sobre o los elementos de M , lo que implica que (p, q, 1) M (x, y, z, 1) = (0, 0, 0). (La igualdad homognea signica en realidad paralelismo de vectores.) Aunque de las tres ecuaciones slo e o dos de ellas cualesquiera son independientes, es recomendable usar las tres para obtener un sistema de ecuaciones mejor condicionado numricamente. Los coecientes de las ecuaciones e suministradas por cada correspondencia son:
0 0 0 0 x y z 1 qx qy qz q x y z 1 0 0 0 0 px py pz p qx qy qz q px py pz p 0 0 0 0

Las correspondencias del ejemplo anterior dan lugar al sistema siguiente (se muestran slo las o ecuaciones correspondientes al primer, segundo y ultimo punto):

112

5.4 Calibracin o

Vision

0 1 40

0 0 0 0 0 0 . . .

0 2 4 0 1 47 . . . 0 0 0

0 0 1 1 2 2 0 0 1 1 47 47 . . . . . . 0 0 0 1 0 40

0 0 0 0 0 0 . . . 1 0 91

2 1 0 0 246 123 1 1 0 0 107 107 . . . . . . 0 0 0 0 0 0

1 0 123 1 0 107 . . . 1 0 91

0 0 0 0 0 0 . . . 40 91 0

4 2 2 246 123 123 0 0 0 0 47 47 47 m1 107 107 107 m2 0 0 0 0 . = . . . . . . . . . . . m 0 . . . 12 0 0 40 0 0 91 0 0 0

Optimizacin lineal: m o nimos cuadrados. Recordemos que para resolver un sistema de ecuaciones no homogneo por m e nimos cuadrados Ax = b se utiliza la pseudoinversa: x = A+ b. Cuando el sistema es homogneo (b = 0) este procedimiento no funciona (obtiene la solucin e o trivial x = 0). Una solucin no trivial de Ax = 0 es el vector propio de menor valor propio de la matriz AT A. o Alternativamente podemos utilizar la descomposicin en valores singulares de A; la solucin o o es el vector la derecho de menor valor singular. (Ver Apndice A.6 de Trucco y Verri o la e seccin A.4). (Otra posibilidad, menos recomendable, es jar a 1 el valor de un coeciente o que conemos no sea cero (en nuestro caso, p.ej., m12 ) y resolver entonces un sistema no homogneo, con 11 coecientes libres, mediante el mtodo ordinario de la pseudoinversa.) e e Para mejorar la estabilidad se recomienda normalizar los puntos. La solucin al sistema del ejemplo anterior, reescalada para que el elemento m12 sea 1 y o organizada como matriz 3 4, da lugar a la siguiente matriz de cmara: a
123.088 46.516 72.955 23.079 M = 39.263 66.110 124.601 4.405 0.097 0.217 0.107 1

Para comprobar que es correcta, podemos proyectar los puntos de referencia sobre la imagen, lo cual nos permite cuanticar el error de la transformacin. Mejor an, es posible representar o u objetos virtuales sobre la imagen, p.ej., un cubo unitario:

Vision

5.5 Recticacin de planos o

113

Identicacin de parmetros. Una vez obtenida la matriz de la cmara, es posible extraer o a a de ella los parmetros intr a nsecos y extr nsecos. Aunque hay otros procedimientos (ver Trucco y Verri, cap tulo 6) sin ninguna duda la mejor alternativa es usar la factorizacin RQ, que o descompone una matriz directamente en la forma deseada. La matriz de cmara anterior puede factorizarse como M = KRT, donde : a

569.96 24.83 86.78 560.13 40.18 , K= 0 0 0 1.00

0.90 0.21 0.39 R = 0.24 0.51 0.82 , 0.37 0.83 0.41

1 0 0 1.75 T = 0 1 0 3.23 0 0 1 1.20

La matriz de intr nsecos K indica que la focal efectiva es aproximadamente 565. De la traslacin o T = [I| C] deducimos, p. ej., que el centro de la cmara estaba aproximadamente a 82 cm a del origen de coordenadas. (Aunque se pueden interpretar los elementos de R y T en trminos e de ngulos y desplazamientos respecto a los ejes de la plantilla, en muchas aplicaciones esto a no suele ser necesario).

Optimizacin no lineal. Usando algn entorno de clculo cient o u a co es posible programar el mtodo de optimizacin iterativa de Newton o similar, para ajustar los parmetros de modelos e o a no lineales. Esto puede ser recomendable cuando conocemos con precisin ciertos parmetros o a (p.ej. los intr nsecos, o una K simplicada) y solo deseamos estimar los dems. (p.ej. la a posicin y orientacin de la cmara o de un objeto). o o a

Enfoque no calibrado. En general, la estimacin conjunta de todos los parmetros, intr o a nsecos y extr nsecos no es excesivamente robusta; en realidad estn bastante acoplados. a Muchas veces es aconsejable utilizar tcnicas de reconstruccin no calibrada, capaces de fae o bricar un modelo 3D casi correcto, a falta de una transformacin proyectiva (ver Sec. 7.3.1) o que pone las cosas (los ngulos) en su sitio. Esa transformacin puede obtenerse a partir a o de conocimiento de la escena o mediante autocalibracin (ver Sec. 7.4): en lugar de utilizar o correspondencias entre puntos de imagen y posiciones 3D conocidas, es posible extraer los parmetros de calibracin a partir solamente de puntos correspondientes en varias imgenes, a o a independientemente de su posicin real en el espacio (siempre que sea ja). o

5.5.

Recticacin de planos o

La correspondencia entre puntos 3D arbitrarios y puntos de imagen (2D) no es invertible: a un punto de la imagen le corresponde todo un rayo de posibles puntos del mundo. Para determinar la profundidad necesitamos ms informacin, como p.ej. una imagen desde otro punto de vista a o e intersectar los rayos (visin estreo). o e Sin embargo, si los puntos observados pertenecen a un plano conocido, es posible obtener la profundidad intersectando el rayo ptico y el plano. Por tanto, una vista en perspectiva de o un plano s puede deshacerse (decimos que lo recticamos), ya que la correspondencia entre

114

5.5 Recticacin de planos o

Vision

planos es biyectiva (uno a uno). Para deshacer el efecto de una transformacin homognea o e H se usa la inversa ordinaria H 1 . Las guras siguientes muestran un plano sinttico visto en perspectiva y una versin perfece o tamente recticada del mismo:
30

10 8 6 4 2 0 0 5 10 15 20

25

20

15

10 -4 -2 0 2 4

En principio, podr parecer que para recticar la imagen de un plano necesitamos conocer a la posicin C, orientacin R y parmetros internos K de la cmara respecto al plano, y con o o a a ellos deducir la transformacin H y su inversa. (Ms adelante estudiaremos la estructura de la o a homograf entre un plano y la imagen de ese plano visto por una camra.) En realidad no es a a necesaria tanta informacin: la homograf entre dos planos queda completamente determio a nada por su accin sobre solo cuatro puntos (o cuatro rectas), por lo que podemos estimarla o directamente a partir de cuatro (o ms) puntos de la imagen cuyas coordenadas reales son a conocidas. El procedimiento a seguir es exactamente el mismo que el de la estimacin de la matriz de o cmara mediante una plantilla de calibracin. En este caso estimamos los 9 elementos de una a o matriz H homognea 3 3 (con 8 grados de libertad). Cada correspondencia (x, y) (p, q) e impone 2 restricciones sobre los elementos de H que, de nuevo, es conveniente expresar como (p, q, 1) H(x, y, 1) = (0, 0, 0), dando lugar a 3 ecuaciones homogneas. La matriz de e coecientes de cada correspondencia es:
0 0 0 x y 1 qx qy q x y 1 0 0 0 px py p qx qy q px py p 0 0 0

Como ejemplo vamos a recticar un tablero de ajedrez visto en perspectiva:

Vision

5.5 Recticacin de planos o

115

En el plano recticado las casillas del tablero se ven cuadradas y el disco circular. Lgicamente, o los objetos que no pertenecen al plano aparecen distorsionados. Las correspondencias utilizadas y la transformacin de recticacin obtenida han sido las siguientes: o o

x y x y 100 171 109 100 100 100 , 120 31 100 100 117 53 11 115 100 100

0.63868 H = 0.11082 0.00034

0.77290 39.73059 1.94177 165.90578 0.00378 1

Este mtodo de recticacin es sencillo y solo requiere las coordenadas reales de (al menos) e o cuatro puntos observados. Curiosamente, la geometr proyectiva permite obtener tambin a e informacin util sobre el plano real a partir, incluso, de menos informacin: o o Recticacin af horizonte. Es fcil comprobar que si una transformacin es solo af o n: a o n, sin componente proyectivo, la l nea del innito l = (0, 0, 1) del plano original no cambia: si imaginamos un plano cuadriculado, cada cuadro se transforma un un rombo arbitrario, pero no hay un efecto horizonte. (En una transformacin proyectiva general l s se transforma o en una l nea nita: el horizonte del plano.) Se puede demostrar fcilmente que cualquier a transformacin que devuelva el horizonte, con coordenadas l = (l1 , l2 , l3 ), a su posicin inicial o o innita (0, 0, 1), producir un plano que se encuentra solo a falta de una transformacin af a o n del verdadero plano original. Ser una especie de recticacin incompleta, pero que en ciertos a o casos puede ser util. Esto se consigue, p. ej., con la siguiente homograf de recticacin: a o 1 0 0 Ha = 0 1 0 l1 l2 l3 Si el horizonte no es claramente visible en la imagen podemos identicarlo aprovechando la interseccin de rectas que sabemos que en realidad son paralelas : o

(En este ejemplo la interseccin de las rectas verticales se sale de la imagen y no se muestra en o la gura). El horizonte del plano de la fachada, en azul, es la recta que une las intersecciones de los dos juegos de paralelas. La imagen resultante no ha recuperado los ngulos reales pero a s el paralelismo.

116

5.5 Recticacin de planos o

Vision

En conclusin, una recticacin af (a falta de una transformacin af solo requiere ideno o n o n) ticar el horizonte del plano. Para algunas aplicaciones esto puede ser suciente, ya que propiedades como el paralelismo y los cocientes de reas pueden aportar bastante informacin a o sobre la escena.

Recticacin similar: ngulos. Acabamos de ver que toda transformacin af deja ino a o n variante la l nea del innito. Anlogamente, toda transformacin similar deja invariante el a o conjunto de puntos que verican xT Cx = 0 , donde 1 0 0 C = 0 1 0 0 0 0 (Algo parecido a una cnica pero con coordenadas complejas, sin existencia en el plano real; o podemos considerarlo simplemente como un instrumento matemtico util.) a Esos puntos slo sufren el componente af y proyectivo de una transformacin H, que, usando o n o la notacin anterior, se convierte en: o KK T KK T v vT KK T vT KK T v

C =

Si conseguimos identicar los coecientes de C , mediante la expresin anterior podemos deduo cir el componente af (K) y proyectivo (v) de la transformacin H, de modo que podr n o amos hacer una recticacin similar del plano (a falta de una transformacin similar): un modelo o o a escala (y ms o menos girado). En la prctica esto se hace directamente expresando la desa a composicin SVD de C como U CU T , y entonces Hs = U es la transformacin de recticacin o o o deseada. La cuestin clave, por supuesto, es identicar la imagen de de una cnica compleja (!). (En o o principio, la recticacin af es ms fcil porque el horizonte tiene coordenadas reales en la o n a a imagen; puede ser directamente visible o deducirse a partir de pistas como p.ej. la interseccin o de rectas que sabemos que son paralelas.) La recticacin similar requiere dar un pequeo o n rodeo para identicar C . Imaginemos que deseo calcular el ngulo real que forman dos rectas que veo en la imagen a de un plano. Una solucin obvia consiste en recticar el plano (al menos hasta una versin o o similar), y calcular el ngulo entre las dos rectas recticadas. Podr a amos calcular el ngulo a real sin recticar el plano? S si conocemos C . La clave est en que el ngulo entre dos , a a rectas l y m se puede obtener mediante una expresin invariante frente a transformaciones o proyectivas: lT Cm (lT Cl)(mT Cm) l TC m (l T C l )(m T C m )

cos =

Por tanto, si conocemos C podemos calcular los ngulos reales a partir de los ngulos en la a a imagen.

Vision

5.5 Recticacin de planos o

117

Ahora bien, lo importante es que la expresin anterior tambin nos sirve para deducir C si o e conocemos los ngulos reales que forman ciertas rectas de la imagen. Lo ms sencillo es buscar a a T rectas perpendiculares, que dan lugar a restricciones simples del tipo l C m = 0 sobre los elementos de C . Si desconocemos el horizonte, C tiene 5 grados de libertad, por lo que necesitamos identicar al menos 5 ngulos rectos. a Como ejemplo, se muestran varios ngulos rectos identicados en un plano de la plantilla y a la recticacin similar obtenida, y la recticacin del suelo de de la esquina mostrada en la o o pgina 102: a

Este procedimiento se simplica bastante si identicamos previamente el horizonte y trabajamos sobre una recticacin af Entonces la matriz C se queda solo con 2 grados de libertad: o n. KK T 0 0 0

C =

(el bloque KK T es simtrico 2 2 y homogneo) y puede estimarse a partir de slo dos e e o ngulos rectos. En este caso el componente af K de la transformacin sufrida por el plano a n o se obtiene mediante la descomposicin de Cholesky (ver Sec. A.5.2) de KK T . o En resumen, podemos conseguir una recticacin af si conocemos el horizonte del plano, y o n una recticacin similar si descubrimos 5 ngulos rectos o bien el el horizonte y dos angulos o a rectos.

Recticacin calibrada. Los resultados anteriores son completamente generales. Sin emo bargo, en la prctica suele conocerse cierta informacin sobre los parmetros de la cmara que a o a a pueden explotarse para conseguir una recticacin similar a partir de menos primitivas en la o imagen. Por ejemplo, si conocemos completamente la matriz de calibracin podemos recticar un o plano a partir unicamente de su inclinacin respecto a la direccin del rayo principal de la o o cmara. La homograf de recticacin es una rotacin (sinttica) de la cmara para situarla a a o o e a frontoparalela al plano:

118

5.5 Recticacin de planos o

Vision

El ngulo se deduce directamente de la altura del horizonte. Sean (h, ) las coordenadas a polares del horizonte en la imagen real (corrigiendo previamente los pixels observados con la transformacin K1 ): o

La siguiente rotacin rectica el plano: o H = KR2 (/2 arctan h)R3 ()K1 donde cos 0 sin 1 R2 () = 0 sin 0 cos cos sin 0 R3 () = sin cos 0 0 0 1

La rotacin R3 pone el horizonte horizontal y a continuacin R2 lo sube hasta el innito o o al moverse para apuntar hacia el suelo. Ten en cuenta que los puntos recticados pueden caer bastante lejos del origen de coordenadas de la imagen destino (se mueven en direccin contraria a la rotacin sinttica de la cmara). o o e a Suele ser conveniente desplazar la imagen resultante para que quede centrada, y escalarla al tamao deseado. n Esta forma de recticar es particularmente util en la situacin que veremos a continuacin. o o

Recticacin simplicada. Si utilizamos una cmara razonable de tipo Kf es posible rectio a car un plano a partir unicamente del horizonte y la imagen de un ngulo recto. Esto es debido a a que el horizonte induce automticamente la vista del ngulo recto adicional necesario para a a la recticacin similar, que no depende del parmetro de calibracin desconocido f : o a o

Vision

5.5 Recticacin de planos o

119

Adems f puede deducirse de forma sencilla a partir de los puntos de fuga del ngulo recto, a a como se muestra en la siguiente construccin: o

Esto signica que a partir de la vista de un rectngulo cuyos lados tienen longitudes relativas a desconocidas podemos recticar el plano y descubrir sus verdaderas proporciones. Por ejemplo, es posible distinguir si un trozo de papel tiene tamao A4 o letter a partir de una unica n imagen del mismo:

Este procedimiento se vuelve inestable si alguna de las intersecciones x1 o x2 se acerca mucho al punto central N del horizonte.

Recticacin mediante c o rculos. Si la cmara est calibrada tambin es posible recticar a a e un plano a partir de la imagen (el ptica) de un c rculo. De nuevo la idea es hacer una rotacin o sinttica de la cmara para que mire perpendicularmente al plano, pero en este caso no se e a utiliza el horizonte sino la estructura de la elipse para deducir, a partir de su descomposicin o SVD, la rotacin que la transforma en un c o rculo. Como ejemplo se muestra la recticacin de un plano estimando una homograf a partir de los o a vrtices del libro azul y se compara con la recticacin mediante la rotacin que reconstruye e o o la forma redonda del CD.

Si la cmara no est calibrada pero conocemos el centro del c a a rculo podemos determinar un dimetro y con l un conjunto de ngulos rectos para recticar el plano con el mtodo basado a e a e

120

5.6 Homograf derivadas de una matriz de cmara as a

Vision

en la imagen de C . Si desconocemos el centro pero tenemos otro c rculo de cualquier tamao n en el mismo plano tambin podemos deducir un dimetro: e a

5.6.

Homograf derivadas de una matriz de cmara as a

Homograf de un plano 3D. Una matriz de cmara M = K[R|t] contiene las homograf a a as entre cualquier plano del mundo y la imagen. Por ejemplo, dado el plano Z=0, la homograf a inducida tiene la expresin: o H = K[R|t] = K[r 1 |r 2 |t] donde K es la matriz de intr nsecos, R es una matriz de rotacin sin la tercera columna (que se o hace invisible porque todos los puntos del plano tienen la coordenada Z = 0) y t = RC es un vector arbitrario. R consiste en dos vectores columna perpendiculares y de longitud unidad. Homograf de una rotacin pura. Es fcil comprobar que la relacin entre dos imgenes a o a o a tomadas desde el mismo lugar (centro de proyeccin comn, el resto de parmetros pueden vao u a riar) estn relacionadas mediante una homograf plana. Supongamos que estamos en el origen a a y tenemos dos cmaras M1 = K[I|0] y M2 = K[R|0]. Un punto del mundo X = (X, Y, Z, W )T a se ve respectivamente como x = K(X, Y, Z)T y x = KR(X, Y, Z)T , por lo que x = KRK1 x. Ambas vistas estn relacionadas por una homograf con la estructura H = KRK1 . (Los a a autovalores de H coinciden con los de R, por lo que de la fase de los autovalores de H en principio se puede estimar el ngulo de rotacin (!), pero el clculo es inestable para ngulos a o a a pequeos). n Mosaicos. El resultado anterior permite la fabricacin sencilla de mosaicos, transformando o varias vistas de una escena tomadas desde el mismo punto (pudiendo variar la orientacin, o zoom, etc.) a un sistema de referencia comn. Como ejemplo, vamos a fundir en una pau normica tres imgenes del campus: a a

Vision

5.6 Homograf derivadas de una matriz de cmara as a

121

Hemos utilizado cuatro puntos comunes para transformar las imgenes de los extremos al a sistema de referencia de la imagen central, en un espacio ampliado. La combinacin de colores o en cada punto se ha realizado tomando el valor mximo de cada componente R, G y B. a Homograf entre dos imgenes inducida por un plano. (Pendiente) a a

Ejercicios:
Orientacin a partir de la vista el o ptica de un c rculo. Calibracin aproximada (p. ej., con imagen de la luna). o Calibracin lineal con plantilla 3D. o Recticacin de planos. o Mosaico de imgenes. a

122

5.6 Homograf derivadas de una matriz de cmara as a

Vision

Cap tulo 6 Procesamiento de Imgenes a


El procesamiento digital de imgenes es una herramienta fundamental de la visin por compua o tador. Uno de sus objetivos es mejorar, modicar o restaurar imgenes para uso humano. En a nuestro caso estamos ms interesados en automatizar, en la medida de lo posible, la deteccin a o de propiedades de una imagen que sean utiles para la interpretacin de escenas o su reconstruc o cin tridimensional. Este campo es inmenso, por lo que en esta seccin incluiremos unicamente o o un esquema de los temas ms importantes y algunos ejemplos. Una buena referencia es el libro a de Gonzalez y Woods [9]. Antes de continuar es conveniente recordar los conceptos bsicos a de representacin frecuencial (Seccin B). o o

6.1.

Introduccin al procesamiento digital de imgenes o a

Imgenes digitales. Elementos de imagen, discretizacin, representacin del color, coneca o o tividad de pixels, etc. Operaciones con pixels. Operaciones punto a punto. Modicacin de histograma. Operao ciones pixel/entorno. Caso lineal: mscara de convolucin. Morfolog matemtica. a o a a Filtrado frecuencial y espacial. Representacin frecuencial. Relacin entre el dominio freo o cuencial y espacial. Filtrado inverso. Eliminacin de ruido. Media, ltrado gaussiano, propiedades, espacio de escala, ltro de o mediana.

6.1.1.

Ejemplos

Filtrado frecuencial. En primer lugar, tomamos una imagen y la pasamos a blanco y negro. Al lado mostramos su distribucin de frecuencias (DCT): o

124

6.1 Introduccin al procesamiento digital de imgenesProc. Imagenes o a


200

150

100

50

0 0 50 100 150 200

Vamos a someterla a un ltro de paso bajo. Esto lo podemos hacer tanto en el dominio espacial, utilizando una mscara de suavizado (como veremos ms adelante) o alterando su a a distribucin de frecuencias. Vamos a eliminar las frecuencias altas en todas las direcciones y a o reconstruir la imagen con la transformada inversa:
200

150

100

50

0 0 50 100 150 200

Ahora vamos a someterla a un ltro de paso alto, eliminando las frecuencias ms bajas: a
200

150

100

50

0 0 50 100 150 200

Reduccin de ruido. La siguiente imagen se ha tomado en condiciones de muy baja ilumio nacin: o
250 200 150 100 50 0 0 100 200 300

Para eliminar el ruido vamos intentar varias estrategias. En primer lugar, vamos a hacer un ltrado paso bajo similar al anterior:

Proc. Imagenes6.1 Introduccin al procesamiento digital de imgenes o a

125

250 200 150 100 50 0 0 100 200 300

Veamos ahora el resultado de una mscara gaussiana de radio 2 (un entorno de 25 p a xeles), aplicada 3 veces consecutivas, y a su lado un ltro de mediana de radio 1 (entorno de 9 p xeles) aplicada 4 veces:

A diferencia del suavizado gaussiano, el ltro de mediana, no lineal, elimina mejor el ruido sin suavizar los detalles reales. Es interesante comparar el efecto sobre el espectro de frecuencias que tiene un ltrado de media, uno gaussiano, y uno de mediana:
250 200 150 100 50 0 0 100 200 300 250 200 150 100 50 0 0 100 200 300 250 200 150 100 50 0 0 100 200 300

Curiosamente, el ltro de media, parecido al gaussiano, no elimina todas las altas frecuencias (debido a los lbulos de su transformada de Fourier). El ltro de mediana es no lineal y por o tanto no es fcil describirlo en trminos de funcin de transferencia de frecuencias. Respeta a e o los detalles y por tanto mantiene altas y bajas frecuencias.

Filtrado inverso. Viendo los ejemplos anteriores, surge la duda de si es posible restaurar una degradacin sencilla de la imagen aplicando el ltro inverso. Como se comenta en la Seccin o o B.13, en principio esto es posible si la degradacin es moderada y completamente conocida. Por o ejemplo, si sabemos que se ha producido un suavizado gaussiano (como evidencia el espectro de la imagen) podemos utilizar la inversa de su funcin de transferencia (bloqueando de alguna o manera las divisiones por valores prximos a cero) para restaurar la imagen: o

126
100 200

6.2 Propiedades de Bajo y Medio nivel


200

Proc. Imagenes

50

150

150

100

100

-50

50

50

-100 -100

-50

50

100

0 0 50 100 150 200

0 0 50 100 150 200

Desafortunadamente, resultados tan buenos como el anterior son dif ciles de conseguir cuando la degradacin sufrida por la imagen es desconocida. o

Ejercicios:
Encontrar componentes conexas. Filtrado de imgenes con diferentes mscaras de convolucin. a a o Suavizado gaussiano. Filtro de Mediana.

6.2.

Propiedades de Bajo y Medio nivel

Salvo casos muy especiales no podemos trabajar con las imgenes en bloque, consideradas a como un todo. Necesitamos obtener automticamente propiedades ms o menos llamativas a a que nos permitan interpretar o reconstruir la estructura tridimensional de una escena. Las propiedades ms simples son los elementos de borde: los pixels en donde el color de la imagen a cambia signicativamente. Entre ellos, los puntos calientes o esquinas son especialmente importantes para establecer correspondencias en varias imgenes. Las l a neas rectas tambin e son muy utiles por su propiedad de invarianza proyectiva, igual que las cnicas. En muchas o ocasiones debemos capturar regiones de la imagen de forma arbitraria que tienen alguna propiedad comn, como la textura o el color. Una referencia excelente es el libro de Trucco y u Verri. El esquema que seguiremos es el siguiente: Deteccin de bordes. Filtros de paso alto. Estimacin del gradiente. Necesidad de regulao o rizacin (suavizado). o Operador de Marr (inters histrico). Buscamos extremos del mdulo del gradiente mediante e o o cruces por cero de la derivada segunda (laplaciano). Un suavizado previo gaussiano se puede hacer automticamente: en lugar de calcular 2 (G I) calculamos ( 2 G) I. El laplaciano a de la gaussiana es la funcin sombrero mexicano. (En la seccin D.1 se revisan los operadores o o de derivacin multivariable). o Operador de Canny. Es el mtodo ms prctico para obtener bordes. La idea es buscar mximos e a a a locales de la magnitud de gradiente en la direccin del gradiente. (Mejor que usar el laplaciano, o que mezcla las dos dimensiones y por tanto pierde informacin de la orientacin del borde.) o o Los puntos seleccionados (edgels) se pueden enganchar para formar contornos conectados.

Proc. Imagenes

6.2 Propiedades de Bajo y Medio nivel

127

Se utiliza un umbralizado con histresis: se aceptan los candidatos que superen un umbral e mximo y todos aquellos que superen un umbral m a nimo y estn conectados a un punto e aceptado.

Deteccin de esquinas. Un buen mtodo (Harris) para detectar puntos importantes en o e la imagen (esquinas o corners) est basado en el menor autovalor de la matriz de covarianza a de la distribucin local del gradiente. o

Deteccin de l o neas rectas y segmentos. Un mtodo muy utilizado para encontrar estruce turas parametrizadas (rectas, c rculos, etc.) en las imgenes es la Transformada de Hough. a La idea es discretizar el espacio de parmetros con un array de contadores. Y cada punto de a borde vota a todos los modelos que pasan por l. Esto es viable cuando el nmero de parmee u a tros es pequeo, t n picamente rectas, con slo dos parmetros, preferiblemente expresadas en o a forma polar. En el caso de rectas, se pueden estimar sus direcciones mediante la direccin del gradiente en o cada punto, lo que permite generar un slo voto en lugar de una trayectoria. No hacen falta o contadores, ni discretizar el espacio de parmetros, pero como contrapartida es necesario un a anlisis de agrupamientos de los modelos candidatos. a En realidad interesa ms encontrar segmentos concretos, con extremos, que rectas innitas. a Una posibilidad es llevar la cuenta de los puntos que han generado cada recta candidata, y analizar la distribucin de proyecciones sobre ella. o

Ajuste de cnicas. El mtodo ms sencillo para estimar la cnica xT Cx = 0 que pasa por un o e a o conjunto de puntos es resolver un sistema lineal homogneo sobredeterminado (Seccin D.2.1). e o Un caso muy frecuente es estimar la ecuacin de una elipse que es la vista en perspectiva de o un c rculo. Aunque este tipo de estimacin lineal no puede forzar el tipo de cnica (elipse, o o c rculo, hiprbola o parbola) del resultado, en la mayor de los casos, y normalizando los e a a datos, el resultado es satisfactorio. Si los puntos estn mal repartidos por la elipse (p.ej. solo a vemos un trozo) o hay mucho ruido es necesario usar tcnicas iterativas basadas en distancia e geomtrica. e Los puntos, las l neas rectas o los segmentos son propiedades adecuadas para la reconstruccin o tridimensional de la escena mediante geometr proyectiva. La seccin siguiente presentar una a o a breve introduccin de este enfoque de la visin articial. Pero antes vamos a comentar breveo o mente otros mtodos t e picos para obtener representaciones de medio nivel de la imagen.

Segmentacin de regiones por color o nivel de gris. En situaciones controladas (p. ej., o ambientes industriales, cintas transportadoras, etc.) puede ocurrir que el color (o nivel de gris) del fondo sea diferente del de los objetos de inters, lo que permitir separarlos mediante e a una simple unbralizacin. Un mtodo interesante para obtener automticamente los umbrales o e a de decisin est basado en caracterizar el histograma de la imagen mediante un modelo de o a mezcla usando el algoritmo EM (Seccin 3.4.3). Usndolo en modo on-line el umbral puede o a adaptarse dinmicamente a los cambios de iluminacin. a o

128

6.2 Propiedades de Bajo y Medio nivel

Proc. Imagenes

La extraccin de contornos no es complicada: una idea es moverse hasta un punto de borde y o desde all recorrer el borde con una mquina de estados que indica, dependiendo de la direccin a o del movimiento, en qu pixels hay que comprobar si hay gura o fondo para continuar el camino. e

Representacin de contornos. Las manchas de color (o textura) homognea se represeno e tan de manera concisa mediante contornos (secuencias de puntos). Aunque se han propuesto mtodos ms econmicos (cdigos de diferencias) o representaciones alternativas con determie a o o nadas propiedades de invarianza (coordenadas polares desde el centro, pendiente en funcin del o ngulo, etc.), la representacin como polil a o nea permite obtener cualquier propiedad geomtrica e de la gura sin excesivo coste computacional. A veces interesa reducir el tamao de un contorno, eliminando puntos alineados, y convirt n endolo en una polil nea con una forma aproximadamente igual a la del contorno original. El algoritmo IPE (Iterative Point Elimination) resuelve este problema. La idea es calcular el rea a de error del tringulo (perdido o ganado) al eliminar cada uno de los puntos del contorno. a Se elimina el punto que genere menos error, se recalculan sus dos vecinos, y se repite el proceso. Cuando la eliminacin de cualquier punto produzca un tringulo de error inaceptable o a detenemos el proceso.

Contornos deformables. Son una alternativa para obtener contornos de trozos interesantes de la imagen. La idea es modelar una especie de goma elstica en realidad una polil a nea cada uno de cuyos nudos tiende a moverse hacia conguraciones de baja energ La energ a. a se dene de manera que a) el contorno nal tienda a reducirse y a mantener los nudos regularmente espaciados, b) tenga en general poca curvatura (excepto en verdaderos picos del contorno, donde entonces la curvatura no se penaliza), y c) tienda a pegarse a zonas de la imagen con valor elevado de la magnitud del gradiente. Un mtodo voraz que prueba e la energ de cada nudo en un pequeo entorno puede servir ajustar el contorno desde una a n posicin cercana al trozo de imagen que nos interesa. (La energ producida por la imagen o a podr adaptarse a las necesidades de cada aplicacin concreta.) a o

Textura. La textura es una propiedad dif de denir. Tiene que ver con propiedades recil petitivas de la imagen. Estas propiedades pueden ser muy abstractas, por lo que es dif cil encontrar mtodos generales de tratamiento de texturas: (p. ej., analizando la variacin de e o la excentricidad de elipses se puede, en principio, deducir la inclinacin de un plano lleno de o c rculos; anlizando la distribucin de ngulos se puede determinar la inclinacin de un plano a o a o en el que se han dejado caer un monton de alleres, etc.) Un enfoque clsico ha sido de tipo a gramatical, donde se supone que las texturas estn compuestas por primitivas o textones, a que se distribuyen por la imagen siguiendo reglas de un cierto lenguaje formal. Este enfoque no es muy viable en la prctica. a Una alternativa es intentar encontrar propiedades estad sticas de la imagen que den alguna idea de las conguraciones frecuentes e infrecuentes de unos pixels en relacin con otros. Una o idea inicial muy simple es analizar propiedades del histograma de las regiones de inters de e la imagen: p. ej., la varianza nos da idea de la rugosidad de la imagen, y otras propiedades como la asimetr o el alamiento del histograma podr tal vez ser utiles. Pero estas medidas a an pierden toda la informacin de las relaciones espaciales de los pixels. Es mejor intentar analizar o

Proc. Imagenes

6.3 Reconocimiento e Interpretacin o

129

la densidad conjunta de cada pixel p y su vecino q en una posicin relativa dada, mediante o lo que se conoce como matriz de co-ocurrencia. Dada una cierta textura, las matrices de co-ocurrencia de algunas posiciones relativas contendrn valores signicativos. a Otra posibilidad interesante es realizar un anlisis frecuencial de la imagen. A partir de la a transformada de Fourier 2D, expresada en coordenadas polares, podemos acumular para cada direccin toda la potencia espectral y obtener una especie de signatura unidimensional, invao riante a rotacin, que proporcionar cierta informacin util sobre la textura (vase Gonzalez y o a o e Woods). X a partir de Y . Se han propuesto muchos mtodos para inferir propiedad de inters e e del entorno (forma, orientacin, estructura, etc.) a partir de determinados aspectos de las o imgenes (sombreado, estreo, movimiento, textura, dibujos de l a e neas, etc.) La mayor de a ellos tienen un inters fundamentalmente terico, ya que estn basados en suposiciones y e o a simplicaciones que no siempre se verican en la prctica. a

Ejercicios:
Representar una imagen mediante una lista de secuencias de edgels conectados usando el algoritmo de Canny. Calcular puntos calientes (esquinas). Encontrar l neas rectas mediante la transformada de Hough (se puede aprovechar la orientacin o local de los edgels). Encontrar segmentos acotados. Experimentar con contornos deformables (snakes).

6.3.

Reconocimiento e Interpretacin o

Una vez extra das de la imagen un conjunto prometedor de propiedades geomtricas, el sie guiente paso es interpretarlas dentro de un modelo coherente. Esta etapa depende much simo de la aplicacin concreta, y es lo que distingue realmente a la visin por computador del o o procesamiento de imgenes. Veamos algunas ideas. a Eigendescomposicin o Alineamiento Invariantes proyectivos Interpretacin de dibujos de l o nea. Graph Matching

130

6.3 Reconocimiento e Interpretacin o

Proc. Imagenes

Cap tulo 7 Reconstruccin 3D o


Nuestro objetivo es obtener un modelo tridimensional de una escena a partir de dos o ms a imgenes. La idea ingenua inicial ser utilizar cmaras completamente calibradas (mediante a a a p.ej. una plantilla) y posteriormente hacer triangulacin de los rayos opticos de puntos correso pondientes en varias imgenes. Por supuesto, este procedimiento es perfectamente vlido. Sin a a embargo, podemos aplicar de nuevo la geometr proyectiva para atacar el problema de manera a ms elegante. Descubriremos que las propias imgenes contienen impl a a citamente informacin o sobre la posicin relativa y los parmetros de calibracin de las cmaras. o a o a Este apartado contiene solamente un breve guin de los conceptos bsicos. La referencia o a fundamental es el libro de Hartley y Zisserman [10]. Tambin es muy recomendable el tutorial e de Pollefeys [21].

7.1.

Triangulacin o

Comenzaremos estudiando la geometr de dos vistas. Consideremos dos cmaras situadas en a a cualquier posicin y orientacin observando una escena. Fijadas y conocidas las dos matrices o o de cmara globales M1 y M2 (ver Sec. 5.3), un punto 3D X determina perfectamente las a imgenes izquierda x1 y derecha x2 : a

x1 = M1 X x2 = M2 X
La gura siguiente muestra una escena 3D sinttica observada por dos cmaras. A la e a derecha tenemos las imgenes tomadas por las cmaras, en las que slo mostramos los a a o puntos esquina (corners) detectados:

132
6 4 2 0 z

7.1 Triangulacin o
100 75 50
2

Reconstruccion 3D
100 75 50 25 0 -25 -50 -75

25 0

-25 -50

-2 2 0 x -2

-75 -75 -50 -25 0 25 50 75 100

-75 -50 -25

25

50

75 100

Para comprobaciones posteriores, las matrices de cmara utilizadas son las siguientes a (estn normalizadas de manera que la submatriz 3 3 izquierda tenga determinante a unidad):

4.36 0. 1.59 8.72 4.64 0. 0. M1 = 0. 0.02 0. 0.04 0.03

5.01 0. 2.34 15.03 0. 0. M2 = 0. 4.25 0.02 0. 0.04 0.05

Rec procamente, conocidas las cmaras, las imgenes izquierda y derecha determinan perfectaa a mente el punto 3D que las ha producido. Hay que tener en cuenta que debido a los inevitables errores de medida y a discretizacin de la malla de pixels, los rayos correspondientes a cada o cmara no se cortarn exactamente en el espacio, por lo que nos conformaremos con el punto a a 3D que est ms cerca de ambos rayos: a a

Normalmente los puntos que detectaremos no se encontrarn organizados en una maa lla regular, sino repartidos ms o menos aleatoriamente sobre la escena. Y los errores a de localizacin de los puntos de inters producirn errores en la reconstruccin. Para o e a o visualizar un poco mejor la supercie reconstruida es conveniente unir los puntos 3D mediante una estructura de pol gonos basada en el grafo de Delaunay (sobre la que se podr incluso mapear la textura observada): a

Reconstruccion 3D
100 75 50 25 0 -25 -50 -75 -75 -50 -25 0 25 50

7.2 Restriccin Epipolar o


100 75 50 25 0 -25 -50 -75 75 100 -75 -50 -25 0 25 50 75 100

133

Un mtodo sencillo de triangulacin consiste en resolver el sistema lineal homogneo e o e sobredeterminado x1 = M1 X y x2 = M2 X, donde las incgnitas son las 4 coordenadas o homogneas de cada punto 3D X. e

7.2.

Restriccin Epipolar o

Para hallar la posicin 3D de ciertos puntos de una imagen necesitamos verlos en otra y o estar seguros de que se corresponden los unos con los otros. En general, este problema es bastante complicado, a menos que el entorno de cada punto tenga una distribucin de colores o caracter stica y unica en la imagen. La restriccin epipolar resulta de gran ayuda para resolver o este problema. Supongamos que la cmara izquierda ve un punto del mundo 3D. En realidad ese punto de la a imagen puede haber sido el resultado de la proyeccin de cualquier otro punto del espacio que o se encuentre en el mismo rayo optico (ver Sec. 5.3). Imaginemos que ese rayo es visible. Su imagen en la cmara derecha es una l a nea recta; la vista lateral del rayo permite determinar la profundidad de cada punto:

Por tanto, conocidas las cmaras M1 y M2 , dada la imagen izquierda x1 de un punto 3D X, a la imagen derecha x2 no puede estar en cualquier sitio. Debe encontrarse necesariamente a lo largo de una l nea recta, llamada recta epipolar, que es la imagen del rayo ptico. Podemos o descartar correspondencias candidatas que se encuentren fuera de la recta epipolar correspondiente:

134

7.2 Restriccin Epipolar o

Reconstruccion 3D

An as existe ambigedad, que podr reducirse con imgenes adicionales u otros mtodos. u , u a a e

7.2.1.

Matriz Fundamental.

Cul es la recta epipolar l2 correspondiente al punto x1 ? Es muy fcil obtenerla porque pasa a a por la imagen de dos puntos conocidos. Uno de ellos es el centro de proyeccin C 1 de la o primera cmara (el espacio nulo de M 1 , cumple M1 C 1 = 0). Su imagen, e2 = M2 C 1 , se llama a epipolo. Otro punto de la recta epipolar es la imagen de cualquier punto del rayo optico, p. + + ej., M1 x1 (con = 0, ver Seccin 5.3). Su imagen es M2 M1 x1 . o

Gracias a la geometr proyectiva y a las coordenadas homogneas, la recta l2 que pasa por a e esos dos puntos se consigue de forma inmediata con su producto vectorial (ver Sec. 5.2): l2 = e2 M2 M+ x1 1 El punto x2 correspondiente a x1 tiene que estar sobre su recta epipolar y por tanto debe cumplir xT l2 = 0. Ahora vamos a expresar esta condicin de manera ms compacta: o a 2 xT l2 = xT e2 M2 M+ x1 = 0 1 2 2
F

F es la matriz fundamental. Genera las l neas epipolares correspondientes a cualquier punto de la imagen:

xT F x1 = 0 2

Reconstruccion 3D

7.2 Restriccin Epipolar o

135

La matriz fundamental slo depende de la conguracin de las cmaras y no de los puntos 3D o o a de la escena. Puede escribirse como: F = [e2 ] M2 M+ 1 donde la notacin [v] denota una matriz antisimtrica que sirve para calcular productos o e vectoriales en forma de producto matricial: [v] x = v x. En concreto: a 0 c b b = c 0 a c b a 0 El epipolo se puede extraer directamente de la propia F. Como todos los rayos salen del centro de proyeccin, todas las l o neas epipolares,salen del epipolo. El punto x2 = e2 est en todas a las l neas epipolares:

Para todo x1 se cumplir eT Fx1 = 0, o sea eT F = 0T . Por tanto el epipolo e2 es el espacio a 2 2 nulo de FT . La restriccin epipolar es simtrica; todos los resultados que hemos dado para la imagen o e derecha son vlidos para la imagen izquierda cambiando F por FT . a
La matriz fundamental de la conguracin de cmaras del ejemplo sinttico anterior, o a e calculada con las matrices de cmara reales M1 y M2 es: a 0. 0.00359 0. 0. 1.03684 F = 0.00377 0. 1. 0. epipolo y dibujarlo

7.2.2.

Matriz Esencial

Veamos qu forma tiene la matriz fundamental de dos cmaras cuyos parmetros internos y e a a externos son conocidos (ver secs. 5.3 y 5.4). Para simplicar la notacin trabajaremos en el o sistema de coordenadas de la cmara izquierda, de manera que R y C son la orientacin y a o posicin relativa de M2 respecto de M1 : o

136

7.3 Reconstruccin 3D o

Reconstruccion 3D

M1 = K1 [I|0]

M2 = K2 [R| RC 2 ] = [K2 R|K2 t]

El centro de M1 es (0, 0, 0, 1)T , por tanto el epipolo es e2 = K2 t (donde t = RC). Es fcil a comprobar que M+ = [I|0]T K1 por lo que M2 M+ = K2 RK1 . Entonces: 1 1 1 1 F = [K2 t] K2 RK1 1 Esta expresin (que necesitaremos ms adelante) se puede arreglar un poco si somos capaces o a de conmutar el operador [] con una matriz no singular A. La forma de hacerlo es la siguiente: [v] A = AT [A1 v] . Usando esta propiedad F = KT [K1 K2 t] RK1 = KT [t] R K1 = 2 2 1 2 1 KT E K1 . 2 1 La matriz E = [t] R se llama matriz esencial de la conguracin de cmaras. Es la restriccin o a o epipolar de puntos del plano de imagen real, en coordenadas normalizadas, a los que se ha deshecho la transformacin K sobre la la malla de pixels. Si xn = K1 x1 y xn = K1 x2 o 1 2 1 2 entonces:

xn T E xn = 0 1 2
Se llega a la misma conclusin si trabajamos inicialmente con coordenadas normalizadas. o En este caso las cmaras son M1 = [I|0] y M2 = [R|t], el epipolo es t y M2 M+ = R y la a 1 matriz fundamental en coordenadas normalizadas se reduce a [t] R.

La matriz esencial E solo depende de la colocacin relativa (R y t = RC ) de las cmaras. o a mat E del ejemplo

7.3.

Reconstruccin 3D o

La verdadera importancia de la restriccin epipolar no se debe a su capacidad de descartar o algunas falsas correspondencias de puntos dadas dos cmaras perfectamente conocidas. En a realidad se debe a que puede utilizarse en sentido contrario para restringir la posicin de las o cmaras a partir de un conjunto de puntos correspondientes en las dos imgenes. El hecho a a de que el mundo sea r gido impone restricciones a las imgenes que permiten deducir (casi a completamente) desde donde, y con qu tipo de cmara, se han tomado las imgenes. En e a a principio esto permite hacer triangulacin y obtener los puntos 3D. o Observa que un punto 3D tiene 3 grados de libertad. Una pareja de puntos correspondientes en dos imgenes tiene cuatro grados de libertad. Este grado de libertad adicional es el que impone a una restriccin a las cmaras. Si tuviramos 3 cmaras, cada punto 3D estar sobredetermio a e a a nado por 6 grados de libertad (2 en cada imagen), y nos sobrar 3 grados de libertad para an imponer restricciones, en este caso sobre las 3 matrices de cmara. Y as sucesivamente. . . a

Reconstruccion 3D

7.3 Reconstruccin 3D o

137

7.3.1.

Reconstruccin Proyectiva o

Sin embargo, queda una fuente de ambigedad. De acuerdo con el teorema fundamental de u la reconstruccin proyectiva, a partir simplemente de puntos correspondientes tomados de dos o (o ms) cmaras situadas en cualquier posicin y orientacin, y con cualesquiera parmetros a a o o a internos, podemos recuperar su estructura tridimensional salvo una transformacin proyectiva o 3D. Por ejemplo, en el caso de dos vistas, a partir de un conjunto de parejas de puntos correspondientes x1 x2 podemos estimar directamente la matriz fundamental F (esencialmente resolviendo un sistema lineal homogneo, aunque con algn matiz adicional que explicaremos e u enseguida). El problema es que aunque F queda completamente determinada por la pareja de cmaras M1 y M2 , los puntos observados son consistentes tambin con otras cmaras P1 y P2 a e a que ven una escena transformada: x1 = M1 X = M1 D D1 X = P1 X
P1 X

x2 = M2 X = M2 D D1 X = P2 X
P2 X

Hay innitas parejas de cmaras P1 y P2 consistentes con una matriz fundamental dada F; a aunque encontremos una de ellas (lo que es relativamente sencillo) quedar por determinar la a transformacin proyectiva tridimensional D (representada por una matriz homognea 44, con o e 15 grados de libertad) que han sufrido, compensndose mutuamente, las cmaras originales y a a todos los puntos de escena real. gura? Por supuesto, en la prctica las cmaras son desconocidas, por lo que tendremos que estimar a a F a partir unicamente de parejas de puntos correspondientes en las dos imgenes (suponiendo a que furamos capaces de detectarlas). e
El algoritmo de estimacin de F a partir de correspondencias x1 x2 se basa en o resolver un sistema de ecuaciones lineales homogneo en los 9 elementos de F (8 ratios e independientes), donde cada correspondencia xT Fx1 impone una restriccin. Con 8 o 2 correspondencias podr amos estimar F. En realidad esta matriz tiene solo 7 grados de libertad, ya que por construccin debe tener rango 2 (es el producto de [e2 ] , que tiene o rango 2, y otra matriz de rango 3). Es importante imponer esta restriccin (ver Sec. o A.4) para que F corresponda realmente a una conguracin de dos cmaras (de modo o a que todas las l neas epipolares realmente coincidan en el epipolo). Tambin es necesario e normalizar las coordenadas de los puntos de imagen para que el sistema lineal sea ms a estable. explicar normalizacin o Para que el ejemplo sea realista estimamos la matriz fundamental con los puntos ligeramentes contaminados con ruido. Obtenemos una aproximacin que parece bastante o aceptable: 0.00002 0.00363 0.00161 F = 0.00368 0.00003 1.03586 0.00351 1. 0.01328

138

7.3 Reconstruccin 3D o
De ella podemos extraer una pareja de cmaras consistente: a

Reconstruccion 3D

1. 0. 0. 0. P1 = 0. 1. 0. 0. 0. 0. 1. 0. explicar cmo o

0.00005 0.01136 0.02678 275.51221 7.08364 0.09402 0.44200 P2 = 0.02486 0.02605 0.00017 7.33757 1.00000

Con estas cmaras podemos hacer triangulacin y conseguir puntos 3D. Desafortunadaa o mente, en este caso la deformacin proyectiva es tan extrema que dif o cilmente podemos ver ninguna propiedad de la escena. Ni siquiera merece la pena construir la supercie poligonal.

100

5 0 -5 -60

-40

-100 0 20

-20 x

ransac para outliers

Esta ambigedad no se puede eliminar aunque aumentemos el nmero de vistas de la escena, u u si se han tomado con cmaras completamente arbitrarias. Pero en la prctica siempre se tiene a a alguna informacin, aunque sea m o nima, sobre los parmetros internos de las cmaras, lo que a a en principio permite aplicar tcnicas de autocalibracin (ver Sec. 7.4). e o

7.3.2.

Reconstruccin Calibrada o

Si conocemos completamente las matrices de cmara M1 y M2 , a partir de puntos correspondiena tes en las dos imgenes x1 x2 es inmediato reconstruir las posiciones 3D reales mediante a triangulacin (ver Sec. 7.1). o Supongamos que solo conocemos las matrices de calibracin interna K1 y K2 de las dos cmaras, o a pero no su localizacin espacial. A partir de puntos correspondientes normalizados podemos o estimar la matriz esencial E de la conguracin de cmaras, a partir de la cual es posible o a deducir la rotacin R y la (direccin de la) traslacion t de una cmara respecto a la otra y o o a reconstruir un modelo a escala de la escena, que por lo dems es correcto. a R y t a partir de E ambigedad de escala u grados de libertad y arreglo de E

Reconstruccion 3D

7.3 Reconstruccin 3D o

139

Continuando con el ejemplo sinttico anterior, si por algn procedimiento alternativo e u (calibracin con una plantilla, etc.) conseguimos los parmetros internos de las cmaras: o a a 100. 0. 0. K1 = 0. 100. 0. 0. 0. 1. entonces podemos estimar la matriz esencial: 3.01383 876.84446 3.58301 E = KT F K1 = 702.87350 5.61589 1945.09730 2 4.04444 1878.58316 1. Una verdadera matriz esencial, de la forma [t] R, es de rango 2 y tiene los dos valores singulares distintos de cero iguales. Nuestra estimacin se aproxima bastante a esta o condicin, ya que sus valores singulares son {2076.06, 2065.29}. o El par de cmaras consistente con esta matriz esencial son (de las cuatro opciones a mostramos las que reconstruyen por delante): mostrarlas Haciendo triangulacin con ellas conseguimos la siguiente reconstruccin 3D, que es o o bastante aceptable:
1.5 1 z 0.5 0 0.5 0.25 0 y

130. 0. 0. K2 = 0. 100. 0. 0. 0. 1.

-0.25 -0.5 0.5 0 x -0.5

Observa que la supercie de profundidad se expresa desde el punto de vista de la cmara a izquierda, que se sita en el origen y apuntando en la direccin del eje z, por lo que la u o escena se muestra inclinada respecto al sistema de referencia mostrado en la sec. 7.1). La escala se expresa en unidades de separacin entre las dos cmaras (||t|| = 1), que o a en este ejemplo suponemos desconocida. Se han utilizado los parmetros intr a nsecos correctos por lo que la reconstruccin es correcta salvo escala. o Si hubiramos utilizado unas matrices de cmara incorrectas, p. ej.: e a 80. 0. 0. K1 = 0. 80. 0. 0. 0. 1. 80. 0. 0. K2 = 0. 140. 0. 0. 0. 1.

140

7.4 Autocalibracin o

Reconstruccion 3D

no conseguir amos eliminar toda la deformacin proyectiva de la escena (la correspono dencia entre ngulos y pixels es errnea), aunque por lo menos conseguimos hacernos a o una idea de la estructura espacial del nuestro entorno cercano:
3 2 1 0 1 0.5 y 0 z

-0.5 -1 1 0.5 0 x -0.5 -1

Los valores singulares de la matriz esencial estimada con las matrices de calibracin ino correcta son ahora muy distintos: {2834.66, 1563.62}, presagiando que la reconstruccin o tendr una deformacin proyectiva importante. a o En la siguiente pgina web de Zhang hay una pareja de imgenes y puntos correspona a dientes para evaluar los algoritmos de reconstruccin 3D: o http://www-sop.inria.fr/robotvis/personnel/zzhang/SFM-Ex/SFM-Ex.html nuestros resultados recomendaciones

7.4.

Autocalibracin o

Una forma de eliminar la ambigedad proyectiva de una reconstruccin no calibrada consiste u o en encontrar algunos puntos en la reconstruccin cuyas coordenadas reales conocemos y con o ellos calcular la transformacin D (ver Sec. 7.3.1). Tambin se puede hacer una reconstruccin o e o af detectando el plano del innito (interseccin de tres juegos de paralelas) y llevndolo a n o a su posicin cannica, de forma anloga a la recticacin af de planos (ver Sec. 5.5), etc. o o a o n Curiosamente, en muchos casos la deformacin proyectiva se puede reducir automticamente o a hasta una transformacin de similitud: se consigue un modelo correcto, salvo la escala, que es o lo mximo que puede conseguirse sin utilizar informacin extravisual. a o Autocalibrar signica encontrar automticamente las matrices Ki de parmetros intr a a nsecos de cada cmara, a partir unicamente de primitivas (puntos, rectas, cnicas, etc.) correspondientes a o en varias imgenes, sin ninguna informacin de la estructura tridimensional de la escena. Con a o ellas, directa o indirectamente, conseguimos una reconstruccin similar. La escala real podr o a nalmente determinarse a partir distancia real entre dos cmaras (l a nea base) o entre dos puntos de la escena. Las matrices de calibracin se pueden extraer de diferentes objetos geomtricos: matrices o e de cmara completas, homograf entre planos de la escena y la imagen, homograf de a as as

Reconstruccion 3D

7.4 Autocalibracin o

141

rotaciones puras, matrices fundamentales, etc. En casi todos los casos, y aunque pueden darse interpretaciones geomtricas ms o menos intuitivas (muchas veces involucran objetos e a geomtricos con coordenadas complejas invisibles en la imagen), lo que en realidad siempre se e aprovecha es la existencia de matrices de rotacin ms o menos profundamente enterradas en o a el objeto geomtrico de que se trate, que podemos cancelar de manera ms o menos ingeniosa. e a La extraccin de las matrices de calibracin suele hacerse indirectamente identicando primero o o alguna de las dos matrices simtricas siguientes, segn convenga: e u = KT K1 1 = KKT

Una vez estimada alguna de ellas se extrae K o K1 mediante la factorizacin de Cholesky (ver o Sec. A.5.2). interpretacin de omega o En general, es una matriz simtrica (con 5 grados de libertad) cuyos coecientes dependen e de los parmetros intr a nsecos incluidos en K (ver Sec. 5.3). La forma concreta de los elementos de en funcin de los elementos de K es irrelevante para los mtodos lineales de estimacin; o e o lo importante es la existencia de ceros o de elementos repetidos.
En la prctica, el parmetro de skew es cero (los pixels son rectangulares, no romboia a dales), lo que reduce los grados de libertad de a 4: f 0 ox K = 0 f r oy 0 0 1 a 0 c = 0 b d c d 1

Si conocemos el punto principal y trabajamos con pixels centrados tenemos dos grados de libertad: f 0 0 K = 0 f r 0 0 0 1 a 0 0 = 0 b 0 0 0 1

Y si nalmente conocemos el aspect ratio y lo corregimos la calibracin se reduce a un o solo parmetro: a f 0 0 K = Kf = 0 f 0 0 0 1 a 0 0 = 0 a 0 0 0 1

(En los dos ultimos casos la estructura de es similar a la de .)

Veamos algunos ejemplos.

142

7.4 Autocalibracin o

Reconstruccion 3D

7.4.1.

Calibracin mediante planos o

A causa de la estructura general de una matriz de cmara M = K[R|t] (ver Sec. 5.3), si a encontramos una cierta matriz triangular superior K tal que al multiplicarla por M da lugar a una (sub)matriz ortogonal (K M = [R|t]), entonces K es proporcional a K1 . En principio esto permitir calcular K a partir de una matriz de cmara completa M, ya que la matriz a a ortogonal R aporta sucientes restricciones. Pero, por supuesto, en este caso se puede usar directamente la descomposicin QR para extraer K. o Curiosamente, esa restriccin de ortogonalidad se puede explotar para extraer K no solo de o matrices de cmara completas, sino tambin de homograf entre planos de la escena y sus a e as imgenes en la cmara; estas transformaciones contienen internamente dos columnas de la a a matriz de rotacin R (ver Sec. 5.6). o Una forma de abordar el problema es la siguiente. Supongamos que conocemos la matriz = KT K1 . Entonces para cualquier homograf H = K[R|t] entre un plano 3D y la imagen, a T la expresin H H elimina las K y por ortogonalidad de las dos columnas de R obtendremos o una matriz con la siguiente estructura: 0 ? HT H = 0 ? ? ? ? que proporciona 3 restricciones lineales sobre los elementos de (no hay ningunga restriccin o sobre los elementos marcados como ?). Puede ser necesario disponer de homograf de as varios planos, dependiendo del nmero de elementos desconocidos de K. Por ejemplo, una Kf u simplicada como la explicada en la Seccin 5.3 se podr estimar con una unica homograf En o a a. general, podemos jar los parmetros que nos interesen, y trabajar con todas las homograf a as disponibles para plantear sistemas sobredeterminados, obteniendo soluciones ms robustas. a En realidad este procedimiento no es de autocalibracin (basado unicamente en puntos coo rrespondientes en varias imgenes), ya que se apoya en la suposicin extravisual de que los a o puntos observados yacen en un plano 3D, y se utilizan sus coordenadas reales (con Z = 0).

Ejemplo. A partir de la (inversa de la) homograf de recticacin del tablero de ajedrez a o de la Seccin 5.5 podemos extraer una estimacin de matriz de cmara simplicada Kf con o o a f = 540.293. clculo detallado a

7.4.2.

Autocalibracin mediante rotaciones o

La estructura H = KRK1 de las homograf procedentes de rotaciones puras (ver Sec. 5.6) as sugiere un mtodo de autocalibracin para encontrar K. Cada homograf de rotacin H da e o a o lugar a la siguiente restriccin sobre la matriz = KT K1 : o

Reconstruccion 3D

7.4 Autocalibracin o

143

HT H = KT RT KT KT K1 KRK1 = KT K1 = Aunque existe un factor de escala desconocido por la homogeneidad de H, si normalizamos las homograf de rotacin para que tengan determinante unidad conseguimos que el factor as o de escala de los dos trminos de la igualdad sea el mismo, dando lugar a un sistema lineal e homogneo en los elementos de : e HT H = Una matriz de calibracin simplicada Kf se puede obtener de una unica homograf de roo a tacin que relaciona dos vistas de una escena tomadas desde el mismo lugar. Si hay ms o a parmetros desconocidos de K podr a amos necesitar ms rotaciones, que adems debern reaa a a lizarse alrededor de ejes de giro diferentes. P. ej., para determinar el aspect ratio de la cmara a es imprescindible que haya un giro alrededor del eje optico de la cmara (algo que no es muy a usual en algunos sistemas automticos de movimiento, que slo admiten pan y tilt). a o ejemplo

7.4.3.

Autocalibracin a partir de matrices fundamentales o

La estructura de la matriz fundamental tambin permite imponer condiciones sobre la matriz e de calibracin K. En la Seccin 7.2.2 mostramos que o o F = [e2 ] KRK1 (ahora tenemos la matriz fundamental de dos imgenes tomadas con la misma cmara, K1 = a a T K2 = K). En este caso, para cancelar la rotacin R utilizaremos = KK : o F FT = [e2 ] KRK1 KKT KT RT KT [e2 ]T = [e2 ] [e2 ]T En la Seccin 7.2.1 vimos que el epipolo e2 es el espacio nulo de FT . Agrupando en un factor o de escala comn la homogeneidad de F y la antisimetr de [e2 ] podemos escribir: u a F FT = [e2 ] [e2 ] Se trata de las ecuaciones de Kruppa, que a veces se justican mediante consideraciones geomtricas ms o menos intuitivas. Es un conjunto de ecuaciones cuadrticas en los elementos e a a de . A diferencia de los mtodos anteriores, ste no posee una solucin lineal. e e o solucin simplicada con SVD o ejemplo con la F estimada anterior

144

7.4 Autocalibracin o

Reconstruccion 3D

7.4.4.

Autocalibracin mediante cmaras o a

Supongamos que tenemos una reconstruccin con deformacin proyectiva de la escena (ver o o Sec. 7.3.1), compuesta por varias cmaras Pi , consistentes con las imgenes xi y unos puntos a a 3D X . La idea es buscar una transformacin proyectiva tridimensional D (representada meo diante una matriz homognea 4 4, con 15 grados de libertad) que compense el efecto de D e 1 (idealmente ser D ), corrigiendo las cmaras para que tengan unos parmetros intr a a a nsecos Ki consistentes con nuestra informacin (p. ej., pixel cuadrado, punto principal = 0, etc.). En o consecuencia:

Pi D = i Mi = i Ki [Ri |ti ]

Un procedimiento lineal para estimar D se basa en


Imaginemos que sobrevolamos nuestra escena 3D sinttica y tomamos varias imgenes e a desde distintas posiciones, ngulos, y zoom: a

Si las imgenes no cambian bruscamente es posible hacer un seguimiento ms o menos a a able de puntos correspondientes a lo largo de toda la secuencia. A partir de cualquier pareja de imgenes podemos calcular F y con ella una reconstruccin 3D proyectiva a o (aunque ser ms robusto hacerlo con un mtodo global como los que comentaremos a a e ms adelante): a

Reconstruccion 3D

7.5 Ejemplo detallado

145

A partir de esta reconstruccin proyectiva inicial podemos estimar el resto de las matrio ces de cmara Pi (ver Sec. 5.4) en un marco de referencia comn (aunque deformado). a u Aplicando el mtodo de autocalibracin que acabamos de explicar conseguimos la transe o formacin D , que rectica la escena, y su inversa, que corrige las cmaras, descubriendo o a sus parmetros intr a nsecos y sus localizaciones y orientaciones relativas en el espacio:

7.4.5.
Ver [16].

Autocalibracin mediante odometr o a

7.5.

Ejemplo detallado

En esta seccin resolveremos detalladamente todos los pasos de la reconstruccin estreo con o o e datos articiales de comprobacin (disponibles en la pgina web de material de la asignatura). o a 1. Partimos de puntos correspondientes en el sistema de coordenadas (columna,la) de las imgenes originales, que tienen una resolucin de 640 columnas 640 las. Los primeros a o puntos del archivo son: c 217 217 217 217 ... f 423 406 389 371 ... c 203 205 206 208 ... f 409 385 362 340 ...

146

7.5 Ejemplo detallado

Reconstruccion 3D

2. Aunque es posible trabajar directamente con las coordenadas originales anteriores, es mucho mejor utilizar un sistema de referencia centrado en la imagen, con un valor mximo del orden de la unidad, y con el sentido del eje x hacia la izquierda. De esta forma a conseguimos un sistema bien orientado, en el que la profundidad de los puntos ser su a coordenada en el eje z, y en el que la magnitud de las coordenadas es la adecuada para evitar inestabilidades numricas en los clculos posteriores. Para conseguirlo realizamos e a la transformacin: o x= c cm , cm y= r rm cm

donde (cm , rm ) es la posicin del centro de la imagen, en nuestro ejemplo (320,320). o Ten en cuenta que en imgenes reales el nmero de columnas y las suele ser diferente, a u pero hay que dividir en ambos casos por el mismo factor cm para mantener la relacin o de aspecto. Los puntos correspondientes en este sistema de pixels mejorado son: x 0.322 0.322 0.322 0.322 ... y -0.322 -0.269 -0.216 -0.159 ... x 0.366 0.359 0.356 0.350 ... y -0.278 -0.203 -0.131 -0.063 ...

Hay que tener cuidado al representar grcamente los puntos, ya que la direccin de los a o ejes es distinta de la tradicional tanto en el sistema (columna,la) (donde la la crece hacia abajo) como en el sistema de pixels que nos interesa (donde la x crece hacia la izquierda). En cualquier caso, lo que observamos en las imgenes es lo siguiente: a

3. El siguiente paso es la estimacin de la geometr epipolar, que caracteriza la cono a guracin de las cmaras en el espacio, en forma de una restriccin para la pareja de o a o imgenes (x, y) y (x , y ) de cualquier punto del espacio: a x y = 0 1 F 1

La matriz fundamental F se puede estimar resolviendo un sistema lineal homogneo e

Reconstruccion 3D

7.5 Ejemplo detallado

147

(sobredeterminado) a partir simplemente de 8 o ms puntos correspondientes. (En nues a tro caso tenemos muchos ms, lo que puede contribuir a mejorar la estabilidad de la a estimacin.) o Cada correspondencia impone una restriccin a los elementos de F: o F11 F12 x y 1 . =0 . . F33

xx xy x

xy

yy y

El sistema con las ecuaciones generadas por todas las correspondencias (en nuestro ejemplo son 169) se resuelve mediante el procedimiento habitual (A.4). La solucin, o reorganizada en forma de matriz es la siguiente: 0.208 0.113 0.337 F = 0.144 0.128 0.574 0.366 0.573 0.043 4. Por construccin geomtrica (los rayos de puntos correspondientes se cortan en el punto o e 3D), toda matriz fundamental ideal tiene rango 2. Es conveniente corregir la F estimada para que cumpla exactamente esta condicin. Para ello simplemente se reemplaza o con un cero su menor valor singular y se vuelve a reconstruir. Los valores singulares de la matriz anterior son 0.727, 0.687 y 0.001, por lo que la correccin produce una matriz F o muy parecida. En este ejemplo la estimacin inicial ha sido bastante buena dado que los o puntos utilizados son exactos y el unico ruido proviene del redondeo a valores de pixel enteros. 5. A partir de la matriz F ya estamos en condiciones de obtener unas cmaras y una a reconstruccin 3D que solo se diferencia de la real en una transformacin proyectiva o o del espacio. Sin embargo, es preferible intentar una reconstruccin similar, por ejemplo o mediante el procedimiento descrito a continuacin. o 6. Para conseguir una reconstruccin similar necesitamos las matrices de calibracin de las o o cmaras. Si el unico parmetro desconocido es la distancia focal efectiva f (lo que es a a razonable en cmaras que produzan imgenes naturales) entonces es sencillo descubrir a a ese valor f a partir de la matriz fundamental. Existen varias formas de conseguirlo, algunas de las cuales pueden expresarse como frmulas cerradas ms o menos complejas o a (p.ej., las frmulas de Bougnoux o Sturm). Sin embargo, aqu veremos una muy sencilla o de entender: La autocalibracin estreo puede expresarse como la bsqueda de unas matrices de o e u calibracin K y K de las cmaras que convierten a la matriz fundamental F en una o a matriz esencial E = K T FK. Debido al anlisis geomtrico anterior, la matriz esencial a e E = [t] R, tiene los dos valores singulares distintos de cero iguales (las matrices de rotacin tienen los 3 valores singulares iguales, y el factor [t] simplemente elimina uno o de ellos). Por tanto, un posible mtodo de autocalibracin consiste en buscar matrices K e o y K que produzcan una matriz K T FK cuyos dos valores singulares mayores son iguales.

148

7.5 Ejemplo detallado

Reconstruccion 3D

Para cuanticar la igualdad de los valores singulares s1 s2 es conveniente usar la discrepancia normalizada: d= s1 s2 s1 + s2

Y la bsqueda es muy sencilla si las matrices de calibracin tienen la estructura u o f 0 0 Kf = 0 f 0 0 0 1 porque dependen de un solo parmetro desconocido f . Si adems las dos cmaras son a a a iguales (y en su caso tienen el mismo zoom) entonces hay que descubrir un unico parmetro f comn, lo que puede hacerse simplemente recorriendo valores razonables, a u quedndonos con el que minimice la discrepancia normalizada anterior. a Si en nuestro ejemplo calculamos el valor de d para f (0.1, 5) obtenemos la siguiente curva:

cuyo m nimo se encuentra aproximadamente alrededor de f = 0.73 y da lugar a la matriz esencial: 0.155 0.082 0.346 E = 0.107 0.094 0.591 0.371 0.582 0.061 La discrepancia relativa que obtenemos en la E inducida por esta f es del orden de 7 103 , que es muy aceptable. 7. De la matriz esencial es inmediato extraer las dos cmaras. La primera est siempre en a a el origen de coordenadas, apuntando hacia el eje z y sin ninguna rotacin: o 1 0 0 0 M = K 0 1 0 0 0 0 1 0 y para la segunda tenemos 4 posibilidades: M = K [UAVT | U3 ]

Reconstruccion 3D

7.5 Ejemplo detallado

149

donde (U, , V) = svd(E), A puede ser W o W T , U3 es la tercera columna de U, y 0 1 0 W = 1 0 0 0 0 1 La M correcta es la que reconstruye los puntos por delante de las dos cmaras. Se puede a comprobar que en este ejemplo la pareja de cmaras correcta es la siguiente: a 0.73 0. 0. 0. M = 0. 0.73 0. 0. 0. 0. 1. 0. 0.662 0.003 0.295 0.606 0.715 0.106 0.370 M = 0.050 0.401 0.162 0.902 0.201

8. Finalmente hacemos la triangulacin de los puntos correspondientes con las cmaras o a obtenidas. Los primeros puntos son: X 0.857 0.856 0.860 0.861 ... Y -0.859 -0.714 -0.572 -0.426 ... Z 1.933 1.928 1.933 1.939 ...

La conguracin geomtrica de los puntos 3D y las dos cmaras se muestra en la o e a siguiente gura:

Para representar las cmaras en el grco 3D podemos extraer los parmetros R y C de a a a M mediante el procedimiento explicado en la calibracin mediante plantilla (los de M o ya los sabemos).

Ejercicios:
Comprueba que tus funciones obtienen los mismos resultados que los mostrados aqu (recuerda que las transformaciones homogneas son iguales aunque dieran en un factor de proporcioe nalidad).

150

7.6 Ms vistas a

Reconstruccion 3D

Comprueba que la matriz fundamental cumple con gran precisin la restriccin epipolar sobre o o los puntos correspondientes. Observa lo que ocurre si estimamos la F usando las coordenadas originales (columan, la). Representa los epipolos y las l neas epipolares de algunos puntos. Repite este ejercicio con dos fotos de una escena real sencilla. Compara los resultados de diferentes mtodos de calibracin para obtener la f de una cmara. e o a

Normalizacin/Desnormalizacin en general. o o Comprobar que las cmaras extra a das producen F Obtener la reconstruccin proyectiva o Detalles del algoritmo de triangulacin o

7.6.

Ms vistas a

tres vistas reducen ambigedad u problemas con 2 Fs restriccin trifocal o multiview, bundle, etc. reconstruccin densa o

Parte III Herramientas Matemticas a


A mathematical investigation, dicult as it may be, and much space as it may occupy in the presentation of a physical theory, is never, and can never be, identical with the theory itself. von Mises

152

Apndice A e Factorizacin de matrices o


Existen muchas formas de expresar una transformacin lineal (matriz) como composicin (proo o ducto) de transformaciones ms sencillas. Aqu recordaremos algunas de las ms utiles. El libro a a de Golub y Van Loan [8] es una referencia fundamental sobre computacin matricial. o Antes de empezar conviene tener a mano un esquema grco del signicado de la notacin a o matricial.

A.1.

Transformaciones lineales

Uno de los tipos de funcin ms simple que podemos imaginar es la funcin lineal. Dado un o a o 1 2 n n n vector x = {x , x , . . . , x } R , la funcin lineal fa : R R se dene como: o fa (x) = aT x = a1 x1 + a2 x2 + . . . + an xn Est completamente especicada por el conjunto de coecientes a que afectan a cada coora denada. Una funcin lineal sobre R1 es simplemente una recta con pendiente a. Sobre varias o variables es un hiperplano que pasa por el origen:

Una funcin lineal tiene un ritmo de crecimiento (o decrecimiento) constante en todo el o dominio: su gradiente es a (el vector de derivadas parciales respecto a cada coordenada, que indica la direccin de mximo crecimiento de la funcin). o a o

154

A.2 Organizacin matricial o

Algebra

El valor aT x de la funcin tiene una interpretacin geomtrica relacionada con la proyeccin o o e o xa de x sobre la direccin denida por a: o xa = aT x a ||a|| ||a|| aT x ||a||

||xa || =

cos =

aT x ||a||||x||

Las curvas de nivel de la funcin son hiperplanos. El conjunto de puntos x que cumplen aT x = o es un hiperplano que divide el espacio original en dos semiespacios: R1 = {x : aT x > } y R2 = {x : aT x < }. El hiperplano est situado a una distancia ||a|| desde el origen: a

A.2.

Organizacin matricial o

Distinguiremos entre vectores y covectores. Los vectores son los elementos x Rn del espacio de trabajo. Se representan como columnas y sus elementos se indexan mediante super ndices: x1 x2 x= . . . xn

Los covectores contienen los coecientes de funciones lineales que obtienen escalares. Se representan como vectores la (traspuestos) y sus elementos se indexan mediante sub ndices: aT = a1 a2 . . . an La accin sobre un vector x de la funcin lineal fa : Rn R es: o o

Algebra

A.2 Organizacin matricial o

155

y = fa (x) = aT x =
i=1

ai x i

Una matriz A de tamao mn es una disposicin rectangular de nmeros organizada en m las n o u y n columnas. Sus elementos se indexan con un super ndice (la) y un sub ndice (columna): a1 1 a2 1 A = {ai } = . j . . a1 2 a2 2 . . . . . . a1 n . . . a2 n . .. . . . . . . am n

am am 2 1

Normalmente una matriz A contiene los coecientes de una transformacin lineal de Rn sobre o Rm . En este caso la interpretaremos como una columna de covectores: 1 T a1 a1 . . . a 1 a1 2 n a2 T a2 a2 . . . a2 n 2 1 iT A = {a } = . = . . . . . m m m mT a1 a2 . . . an a En un producto matriz vector las las de la matriz son distintas funciones lineales que se T aplican al vector para obtener las diferentes componentes del resultado: y i = ai x. Cuando nos interese esta interpretacin escribiremos la matriz sin trasponer: o

Ax = y

Un operador diagonal modica cada coordenada por separado, multiplicndola por un coea ciente. Es el tipo de transformacin lineal ms simple posible: o a

Alternativamente, una matriz se puede interpretar como una la de vectores: b1 1 b2 1 = . . . b1 2 b2 2 . . . bm 2 b1 n b2 n . . .

BT = {bi } = b1 b2 . . . bn

...

bm 1

bm n

156

A.2 Organizacin matricial o

Algebra

En este caso el producto matriz vector se puede interpretar como una combinacin lineal de o los vectores bi con unos coecientes i . Cuando nos interese esta interpretacin escribiremos o la matriz traspuesta:

BT = x

Por supuesto, ambas interpretaciones estn a ntimamente relacionadas: p. ej., las columnas de la matriz considerada como operador son las imgenes de la base. a
Los covectores son duales a los vectores y cambian de forma contraria a ellos al sufrir una transformacin lineal. Al utilizar sub o ndices y super ndices los s mbolos de sumatorio son redundantes. Siguiendo el convenio de Einstein los ndices iguales a distinta altura indican impl citamente suma (contraccin). P. ej., y = Ax se escribir como y j = aj xk . o a k

Una matriz m n tambin puede representar una lista de m vectores de Rn . Aunque el e producto de matrices se interpreta normalmente como la composicin de transformaciones o lineales, tambin sirve para transformar de una vez una coleccin de vectores almacenados e o en una matriz X. Si los vectores estn almacenados por columnas aplicamos el operador por a la izquierda:

AXT = YT

y si lo estn por las aplicamos el operador traspuesto por la derecha: a

XAT = Y

Anlogamente, el producto de matrices permite expresar el clculo de varias combinaa a ciones lineales de un conjunto de vectores columna con diferentes juegos de coecientes:

BT T = XT

Algebra

A.2 Organizacin matricial o

157

Todas las expresiones anteriores tienen una forma traspuesta cuyo signicado o interpretacin es inmediatamente deducible de la forma correspondiente sin trasponer. o

Los elementos de un espacio vectorial se expresan mediante combinaciones lineales de los elementos de una base. Los coecientes de la combinacin lineal son las coordenadas del o vector en esa base. P. ej., dada una base {b1 , b2 , . . . , bn } organizada como las columnas de la matriz BT , si escribimos x = BT = k k bk queremos decir que son las coordenadas del vector x en la base B. Las matriz identidad I contiene la base cannica de Rn . Los componentes de un vector son o directamente sus coordenadas en la base cannica: x = IT x. Es inmediato deducir cules son o a T T 1 sus coordenadas en cualquier otra base B (usamos la notacin B (B ) ): o x = IT x = BT BT x = BT

Por tanto, el cambio de base a una nueva base cuyos elementos son las las de B se consigue con el operador BT : = BT x

La recuperacin o reconstruccin del vector en la base original es x = BT . o o Cuando la nueva base V es ortonormal (V1 = VT ) el cambio de base se reduce a = Vx.

= Vx

Esto justica la conocida expansin de x en una base ortonormal V = {vi } como x = o (v T x)v i : i i
IT

x = IT x = V VT x = VT

La expresin de una transformacin A en una nueva base B es: o o A = BT ABT


Si el cambio de base es x = BT x y y = BT y, entonces la transformacin y = Ax o puede escribirse como BT y = ABT x , lo que implica que y = BT ABT x .

Si la base es ortonormal la expresin anterior se reduce a: o

158

A.3 Valores y vectores propios ( eigensystem)

Algebra

A = BABT
Este tipo de operadores se llaman conjugados, y sirven para construir transformaciones ms generales en funcin de otras ms sencillas. Por ejemplo, si deseamos hacer una a o a rotacin respecto a un cierto eje de giro y solo sabemos hacerlo respecto al origen, o podemos traer nuestro vector al origen, girarlo, y llevarlo de nuevo a su sitio. O si solo sabemos escalar el eje x pero deseamos escalar el eje y podemos rotar 90 grados, escalar el eje x y rotar -90 grados.

Una base interesante B es la que consigue que el operador A tome forma diagonal D. Se conseguir mediante una factorizacin de A como: a o A = BT DBT Si la base V que consigue la diagonalizacin es ortornormal tenemos una factorizacin muy o o simple: A = VT DV

A.3.

Valores y vectores propios (eigensystem)

Los vectores propios de un operador son elementos especiales sobre los que el operador acta u de manera muy sencilla, simplemente multiplicndolos por un escalar (que es el valor propio a asociado). Cada uno de ellos cumple Av i = i v i y todos ellos en conjunto verican VAT = V T (donde los valores propios i son los elementos de la matriz diagonal y v i son las las de V). La eigendescomposicin es extraordinariamente util. Adems de desentraar la esencia de una o a n transformacin lineal, entre otras muchas aplicaciones permite tambin analizar la dispersin o e o de una poblacin aleatoria (Seccin C.2) y comprimir su representacin (Seccin 2.2.1); las o o o o componentes frecuenciales son las funciones propias de los sistemas lineales invariantes a desplazamientos (Seccin B); los vectores propios de transformaciones proyectivas (ver Sec. o 5.2) son puntos jos, etc. Todos los entornos de clculo cient a co proporcionan algoritmos ecientes para calcular el eigensystem de una matriz. Suelen estar basados en aplicar sucesivas rotaciones elementales a la matriz para hacer ceros en las posiciones deseadas. Si el operador es simtrico (A = AT ) los vectores propios forman una base ortonormal y los e valores propios son reales. Los vectores propios son una base en la que el operador adquiere forma diagonal: A = VT V justicarlo

Algebra

A.4 Valores singulares

159

Mtodo de la potencia. Es un algoritmo muy sencillo para calcular los vectores y e valores propios de una matriz simtrica semidenida positiva A. La idea es partir de un e vector cualquiera v y repetir, hasta que converja, la operacin: o v Av ||Av||

El resultado es el vector propio de mayor autovalor. (La razn de que el mtodo funcione o e es que el operador A produce imgenes en las que el vector propio dominante tira ms a a fuerte que los dems y va acercando progresivamente a v hasta alinearlo con l. a e El valor propio correspondiente se calcular haciendo: a = v T Av ya que, al ser V ortonormal, en v T Av = v T VT Vv el producto Vv slo produce salida o distinta de cero en la posicin de su propio autovalor. o Si deseamos calcular el siguiente vector propio ms dominante podemos repetir el proa cedimiento eliminando antes de A la contribucin que ya hemos calculado: o A A vv T (La factorizacin VT V es una abreviatura de i i v i v T . La ortonormalidad de V hace o i que podamos escribir A como una suma ponderada de outer products v i v T del mismo i vector v i .)

A.4.

Valores singulares

La descomposicin en valores singulares permite analizar cualquier operador y descubrir los o efectos que produce al actuar sobre los elementos de un espacio. Tiene incontables aplicaciones. Dada una matriz A rectangular, existen matrices ortonormales U y V y una matriz diagonal real S tales que: A = UT SV El operador A equivale a un cambio a la base V, donde cada una de las nuevas coordenadas sufre un escalado independiente dado por cada valor singular, y nalmente el resultado es una combinacin lineal de los elementos de U con los coecientes obtenidos en el paso anterior (se o vuelve a cambiar de base). Si A es rectangular vertical la descomposicin se puede representar o como:

160

A.4 Valores singulares

Algebra

(Las las sombreadas son una base del subespacio imagen (range) del operador A; el resto siempre estar afectado por coecientes nulos) a Si A es rectangular horizontal la SVD se representa como:

Espacio nulo. Las las de V correspondientes a los valores singulares iguales cero (sombreadas en la gura anterior) son una base del espacio nulo (nullspace) de A (el conjunto de soluciones no triviales (x = 0) al sistema homogneo Ax = 0). Las componentes de la entrada e en esos elementos de la base se multiplican por valores singulares nulos y sern invisibles a a la salida.

Relacin con los valores propios. Si interpretamos A no como un operador sino como un o conjunto de vectores (por las) procedentes de una poblacin aleatoria centrada (con media 0), o entonces V son los vectores propios de AT A, que es la matriz de covarianza de la observaciones:
I

A A = V S UUT S V

Anlogamente, U son los vectores propios de AAT , la matriz que contiene los productos escalares a de todas las parejas de elementos de A (fundamental en las mquinas de kernel, Cap a tulo 4). Finalmente, los valores singulares al cuadrado son los valores propios de ambas matrices: S2 = . Rango y condicin de una matriz. Decimos que una matriz est mal condicionada si tiene o a valores singulares de magnitudes muy diferentes. En este caso algunos algoritmos numricos e son inestables. P. ej., podemos encontrar matrices que, a pesar de tener un determinante muy grande, estn mal condicionadas; en estos casos el clculo de la inversa presenta graves a a problemas de precisin. El cociente entre el mayor y menor valor singular es el nmero de o u condicin de la matriz; cuanto menor sea, mejor condicionada estar. Si es muy grande la o a matriz ser esencialmente singular. a El nmero de valores singulares (sucientemente) mayores que cero es el rango (rank) del u operador (la dimensin del subespacio imagen). o M nimos cuadrados. La SVD permite resolver fcilmente sistemas de ecuaciones lineales a sobredeterminados por m nimo error cuadrtico, tanto homogneos como no homogneos. a e e Para resolver un sistema no homogneo sobredeterminado Ax = b usamos la pseudoinversa, e que estudiaremos en el punto siguiente.

Algebra

A.4 Valores singulares

161

Dado un sistema homogneo Ax = 0, las las de V correspondientes a los menores valores e singulares son vectores unitarios que minimizan ||Ax||2 . La solucin ideal ser el espacio nulo, o a pero debido a errores numricos u otras causas, los valores singulares que deber ser cero no e an lo son exactamente. An as las las de V correspondientes a los menores valores singulares u , son las mejores aproximaciones a la solucin en el sentido de m o nimo error cuadrtico. a

Inversa y Pseudoinversa. Dado un operador A cuya SVD es A = UT SV, su inversa se puede calcular de forma inmediata con A1 = VT S1 U. Si la matriz A es singular o rectangular algunos elementos de la diagonal de S sern cero y a no existir S1 ni tampoco A1 . No obstante, es posible construir una matriz pseudoinversa a que, hasta cierto punto, acta como una inversa. La pseudoinversa S+ de una matriz diagonal u S se consigue invirtiendo unicamente los elementos de la diagonal que son (sucientemente) distintos de cero. La pseudoinversa de una matriz general A = UT SV es A+ = VT S+ U. Si la matriz es cuadrada e invertible A+ = A1 . Un operador A que es singular o rectangular horizontal reduce la dimensin del espacio o original (es de muchos a uno) y por tanto sus efectos no pueden deshacerse. En este caso la pseudoinversa obtiene alguna de las preimgenes que cumplen perfectamente las condiciones a exigidas (aunque hay otras soluciones): AA+ = I. Esto ocurre, p. ej., cuando deseamos calcular el rayo ptico inducido por un pixel de imagen (ver Sec. 5.3). o Si el operador A es rectangular vertical, entonces expande su entrada a un espacio de dimensin mayor que el original sin poder cubrirlo completamente; algunos vectores no tienen o preimagen. Trabajando sobre el espacio completo, la pseudoinversa A+ proyecta cada vector al ms cercano de los que tienen preimagen, lo que corresponde a una solucin de m a o nimo error + cuadrtico. Ahora A A = I. Esto permite, p. ej., resolver un sistema lineal sobredeterminado a como los que aparecen en el ajuste de mquinas lineales (ver Sec. 4.2): dada la ecuacin a o 2 + Ax = b, el vector x que minimiza ||Ax b|| es x = A b. Otra forma de verlo es la siguiente. Un operador A de reduccin dimensional es una verdadera o inversa (deshace perfectamente el efecto de) su pseudoinversa A+ . Cuando el operador es de ampliacin dimensional ocurre lo contrario: la pseudoinversa A+ es una verdadera inversa del o efecto producido por el operador, con la ventaja de que sobre el resto de puntos inaccesibles mediante A hace un trabajo util: proyecta al ms prximo que tiene preimagen. a o Forzar condiciones a un operador. En ocasiones una matriz debe cumplir condiciones tales como ser ortonormal (p. ej., una matriz de rotacin), tener un cierto rango (p. ej., una o matriz fundamental, Seccin 7.2.1) o tener dos valores singulares iguales (p. ej., una matriz o esencial, Seccin 7.2.2). o Los mtodos de optimizacin ms sencillos (lineales) no son capaces de obtener un estimador e o a que cumpla exactamente esa condicin. Aun as son computacionalmente muy ecientes, por o , lo que si los datos de trabajo no son excesivamente ruidosos, se puede aprovechar la estimacin o disponible y arreglarla para que cumpla la condicin deseada. Por ejemplo, si necesitamos una o matriz de rotacin, con la SVD abrimos la matriz A = UT SV y hacemos S = I. Si necesitamos o una matriz esencial hacemos que s1 y s2 tomen, p. ej., la media de los valores que tuvieran inicialmente. Para arreglar una matriz fundamental hacemos cero el menor valor singular.

162

A.5 Otras Descomposiciones

Algebra

Componentes Principales. En muchas aplicaciones (p. ej., Seccin 2.2.1) nos interesa o representar una poblacion de objetos en una base de menor dimensin sin que se pierda o excesiva informacin. En la Seccin C.2 vimos que las direcciones principales de la poblacin, o o o las que tienen ms varianza, son muy apropiadas para esta tarea. Corresponden con los vectores a propios de la matriz de covarianza con mayor valor propio. La descomposicin en valores o singulares nos permite un clculo alternativo de las componentes principales. a Supongamos que tenemos una coleccin de m objetos de dimensin n, representados por las o o en la matriz X. Por simplicidad, los objetos estn centrados en el origen (tienen media 0). a Imaginemos que podemos expresar X como el producto de una matriz vertical Y y otra y otra horizontal V, ambas bastante estrechas:

X = YV

Esto signica que cada uno de los objetos originales xi es en realidad una combinacin lineal o n de los elementos de V con coecientes y i . O, lo que es lo mismo, los vectores x de R pueden expresarse en una nueva base reducida V, en la que slo m coordenadas (el vector y) son o distintas de cero. A partir de la SVD de X = UT SV podemos obtener inmediatamente la base V (correspondiente a los valores singulares signicativamente distintos de cero) y las nuevas coordenadas Y = UT S (descartamos las y columnas de U, S y V que producen ceros para conseguir las matrices rectangulares deseadas).

A.5.
A.5.1.

Otras Descomposiciones
Descomposicin RQ o

Toda matriz cuadrada puede descomponerse como el producto de una matriz ortogonal Q y una matriz triangular superior (R) o inferior (L). Dependiendo del orden y del tipo de matriz triangular deseada hay cuatro diferentes factorizaciones: RQ, QR, LQ, QL. La descomposicin o RQ es especialmente interesante en visin por computador (Seccin 5.4, pg. 110), ya que o o a permite extraer automticamente de una matriz de cmara los parmetros intr a a a nsecos (relacin o entre p xels y ngulos en el espacio) y extr a nsecos (orientacin y posicin). o o Aunque algunos entornos de clculo cient a co solo disponen de una de las formas posibles es sencillo construir cualquier otra mediante manipulaciones sencillas.

Algebra

A.5 Otras Descomposiciones

163

A.5.2.

Descomposicin de Cholesky o

Toda matriz simtrica se puede expresar como el producto C = KT K, donde K es triangular e superior. Esta factorizacin se utiliza p. ej., en visin por computador para extraer los parmeo o a tros de calibracin de una cmara a partir de la imagen de la cnica absoluta C (Seccin 5.5, o a o o pg. 116). a

164

A.5 Otras Descomposiciones

Algebra

Apndice B e Representacin Frecuencial o


El anlisis frecuencial (tambin llamado anlisis armnico) es una herramienta fundamental a e a o en muchos campos cient cos y tecnolgicos. Por supuesto, es imposible mencionar todas sus o aplicaciones: sin la transformada de Fourier o sus derivados no tendr amos sonido mp3, fotos jpeg ni videos mpeg ; tampoco radio, televisin, telfono mvil, etc. o e o

B.1.

Espacio de funciones

Los elementos de un espacio vectorial se representan mediante sus coordenadas en una base. Las funciones continuas tambin son elementos de un espacio vectorial, aunque de dimensin e o innita:

f (x) = F H(x) =
k=0

Fk Hk (x)

El vector F = {Fk } contiene las (innitas) coordenadas de f en la base H(x) = {Hk (x)} . k=0 k=0
Por ejemplo la funcin f (x) = exp(x2 ) se puede expresar en una base de potencias o 1 como f (x) = 1x2 + 1 x4 6 x6 +. . . Por tanto, en la base de potencias Hk (x) = xk sus 2 coordenadas son F T = [1, 0, 1, 0, 1 , 0, 1 , . . .]. Incluso podemos escribir la expansin o 2 6 en forma matricial: 1 x 1 1 2 exp(x2 ) = [1, 0, 1, 0, , 0, , . . .] x x3 2 6 . . . Por sencillez, en este ejemplo hemos utilizado una base que no es ortonormal (enseguida deniremos un producto escalar para espacios de funciones). En general es mejor utilizar bases ortonormales porque simplican el clculo de las coordenadas (ver Sec. A.2). Por a

166

B.2 Seales peridicas n o

Fourier

supuesto, la utilidad de la expansin anterior reside en que si x est cerca de cero se o a consigue una buena aproximacin a la funcin original con unos pocos trminos. o o e

B.2.

Seales peridicas n o

Normalmente deseamos representar las funciones en una base cuyas coordenadas tienen algn u signicado f sico. Las funciones peridicas son especialmente ventajosas para analizar fenmeo o nos repetitivos como las vibraciones sonoras o cualquier otra situacin en la que los cambios o en las seales presentan una cierta estructura no completamente aleatoria. Muchas seales n n pueden representarse sin apenas prdida de informacin como combinacin de un nmero e o o u relativamente pequeo de componentes de este tipo: n

= 3

+ 1

+ 2

Las funciones peridicas ms utilizadas como base de representacin son las de tipo (co)sinusoidal: o a o

A cos(2x + ) Se caracterizan por su amplitud A, frecuencia y desfase respecto al origen. En la gura siguiente se muestra un ejemplo con A = 2, = 3 (hay 3 repeticiones completas en el intervalo [0, 1]) y fase = 0.3/(2):

2 cos 2 3x

0.2

0.4

0.6

0.8

-1

-2

Existen muchas otras funciones peridicas: triangulares, cuadradas, etc. Por qu son tan o e populares las funciones trigonomtricas? Una razn importante es que la superposicin (suma) e o o de varios senos (o cosenos, que son equivalentes salvo desfase) de diferentes amplitudes y desfases pero de la misma frecuencia, es tambin una funcin seno de esa misma frecuencia, e o con una cierta amplitud y desfase que depende de los ingredientes que hemos sumado. Esta curiosa propiedad es ideal para constituir una base de representacin donde se haga expl o cita la importancia de cada frecuencia en una seal. Como veremos ms adelante, las funciones n a armnicas son las funciones propias (eigenfunctions) de los sistemas lineales invariantes a o desplazamientos.

Fourier

B.3 Manejo de la fase

167

B.3.

Manejo de la fase

El hecho de que una funcin sinusoidal requiera para su especicacin no slo la amplitud o o o un coeciente que juega el papel de una coordenada ordinaria sino tambin la fase , que e acta no linealmente en la funcin, hace necesario un tratamiento matemtico especial para u o a T conseguir una expresin elegante del tipo f (x) = F H(x). o Una opcin es utilizar una base con dos familias de funciones (senos y cosenos): o A cos(2x + ) = (A cos ) cos(2x) + (A sin ) sin(2x)
c F s F

c s los coecientes F y F codican simultaneamente la amplitud y la fase de la onda.

Una alternativa matemticamente ms elegante consiste en utilizar la forma compleja de a a 1 1 las funciones trigonomtricas: cos x = 2 (eix + eix ) y sin x = 2i (eix eix ) (recuerda la e representacin polar eia = cos a + i sin a). La onda anterior puede expresarse entonces como: o A i i2x A i i2x e e + e e 2 2
F F

A cos(2x + ) =

con lo que cambiamos la base de representacin de senos y cosenos por la de exponenciales o complejas: H (x) = ei2x Ahora los dos parmetros necesarios para especicar la funcin cosenoidal, amplitud y fase, a o tambin aparecen como una coordenada ordinaria (un coeciente que multiplica a cada elee mento de la base H (x)). En este caso cada coordenada frecuencial es un nmero complejo u o F = A ei que tiene la curiosa propiedad de que codica en su mdulo la amplitud de la onda (|F | = A ) y en su argumento (el ngulo de la representacin polar) el desfase a o (arg F = ). Usamos el sub ndice para hacer expl cito que se trata de la amplitud y la fase correspondiente a esa frecuencia. Debe quedar bien entendido que para reconstruir cada componente cosenoidal real de frecuencia necesitamos las componentes de frecuencia positiva y negativa H+ y H (podemos pensar que el cambio de signo de la componente imaginaria i se lo transferimos a ). El precio que pagamos para que la fase acte como un coeciente multiplicativo es la necesidad de usar u frecuencias negativas para extraer automticamente la parte real. Sin embargo, est claro que a a slo necesitamos calcular la coordenada de una cualquiera de las dos, obtenindose la otra por o e conjugacin: F = F . o En denitiva, cualquier funcin se puede representar como la superposicin de un nmero, en o o u principio innito, de armnicos complejos con frecuencias positivas y negativas: o

168

B.4 Interpretacin geomtrica o e

Fourier

1 f (x) = F H (x) 2 = En forma matricial podemos escribir: f (x) = F T H(x) donde las coordenadas de f (x) son un vector F T = 1 [. . . , F2 , F1 , F0 , F1 , F2 , . . .] de innitas 2 componentes complejas. La base H(x) tiene la doble ventaja de que permite una representacin elegante en trminos o e de frecuencias puras, cuyas coordenadas seleccionan la amplitud y la fase, y adems abre la a posibilidad de manejar seales complejas f (x) = g(x) + ih(x). En este caso las coordenadas n de frecuencias positivas y negativas ya no son (conjugadamente) equivalentes, sino que entre las partes reales e imaginarias de F y F se codica, de forma entremezclada, la amplitud y la fase de cada componente cosenoidal de las partes real g(x) e imaginaria h(x) de la seal. n

B.4.

Interpretacin geomtrica o e

Las funciones armnicas H (t) se pueden interpretar geomtricamente como un trayectoria o e circular, o mejor, en forma de muelle. Al plano complejo le aadimos una tercera dimensin n o para la variable independiente t (que podemos imaginar como un tiempo o un distancia recorrida) y entonces H (t) da vueltas cuando t recorre [0, 1]. Si > 0 el giro es en sentido positivo (contrario al de las agujas del reloj) y si < 0 el giro es en sentido contrario. P.ej., el tercer armnico positivo se puede representar as o :

Una representacin todav mejor se consigue aplastando el muelle pero indicando en el dibujo o a de alguna manera su frecuencia (), e incluyendo el punto de partida y el sentido de giro. P.ej.:

As es evidente la relacin entre la exponencial compleja y las funciones trigonomtricas: o e

Fourier

B.4 Interpretacin geomtrica o e

169

La multiplicacin de un armnico por un nmero complejo z = Aei cambia el radio del muelle o o u en un factor A y lo gira r gidamente un ngulo : a

Cualquier funcin peridica z : [0, 1] C se puede representar como una curva cerrada o o en el plano complejo, donde la variable independiente (parmetro) queda aplastada y no a se observa en el dibujo. (Podemos marcar la trayectoria de alguna manera para indicar la velocidad de trazado.) Su descomposicin en frecuencias puras se puede interpretar como o la suma de un conjunto de trayectorias circulares, de diferentes tamaos, sentidos, puntos de n partida y velocidades de giro:

Es como si la gura de la izquierda se dibujara con el extremo de una cadena de lpices, a cada uno dando vueltas cada vez ms rpidamente desde la punta del anterior. a a

La interpretacin de cada componente frecuencial puede mejorarse todav ms si consideramos o a a conjuntamente las frecuencias opuestas F H (t) + F H (t). Las trayectorias circulares que giran a la misma velocidad en sentidos opuestos se combinan en una elipse que da el mismo nmero de vueltas para t [0, 1]. El tamao de los ejes, el sentido de giro y el punto de u n partida dependen de los coecientes F y F de los armnicos constituyentes: o

El anlisis frecuencial del contorno de una gura es el fundamento del mtodo de reconocia e miento de formas estudiado en la seccin 2.3. Cada silueta se caracteriza por su conjunto de o

170

B.5 Serie de Fourier

Fourier

elipses constituyentes, que estn r a gidamente unidas a la gura cuando sta sufre desplazae mientos, rotaciones y escalados uniformes. Adems, las componentes de baja frecuencia son a muy robustas frente al ruido:

Es muy simple obtener invariantes frente a esos cambios basados en propiedades de esas elipses.

B.5.

Serie de Fourier

Cmo calculamos las coordenadas frecuenciales F de una funcin cualquiera f (x)? Si estuo o viramos en un espacio vectorial ordinario las coordenadas de un vector en una base ortonormal e se calcular simplemente como el producto escalar del vector por cada uno de los elementos an de la base (ver Seccin A.2, pg. 157). En un espacio de funciones el producto escalar se o a dene mediante una integral (las funciones son una especie de vectores con un continuo de coordenadas). Por ejemplo, en L2 (a, b) (las funciones de cuadrado sumable en el intervalo (a, b)) un producto escalar puede ser:
b

f g =
a

f (x)g(x)dx

1 Con este producto escalar la base de exponenciales complejas H (x) = ba ei2 ba x con = . . . es ortonormal en L2 (a, b) (se trata de la familia anterior pero ajustada al intervalo (a, b) y normalizada). Las coordenadas de cualquier funcin f en esta base se calculan o de forma inmediata como F = H f , o ms expl a citamente:

1 F = ba

b a

f (x)ei2 ba x dx

que son los coecientes de la serie de Fourier de f (x) en esta base. Veamos un ejemplo. La siguiente funcin es una rampa denida en el intervalo (-2,2): o
5 4 3 2 1 -4 -3 -2 -1 -1 1 2 3 4

Fourier

B.5 Serie de Fourier


4i

171
4 i

3 3 Sus coordenadas en la base de exponenciales complejas son F = [. . . , , 2 i , 4 i , 4, 4 i , 2 i , , . . .]. Como la funcin de inters es sencilla podemos conseguir una expresin general para las cooro e o denadas:

F0 = 4

F =

4i(1)

Para comprobar que son correctas podemos construir una aproximacin a la funcin utilizando o o unos cuantos trminos, p. ej., desde = 6 hasta = +6: e
5 4 3 2 1 -4 -3 -2 -1 -1 1 2 3 4

Fuera del intervalo (a, b) la expansin reconstruye peridicamente la funcin original. Como o o o todos los elementos de la base son peridicos y continuos, la aproximacin con pocas compoo o nentes produce unos artefactos (oscilaciones de Gibbs) cerca de las discontinuidades, donde la serie completa converge al valor medio de los dos extremos. (Ms adelante estudiaremos una a base de representacin ligeramente distinta capaz de reducir signicativamente este defecto.) o
Observa que cada pareja de trminos correspondientes a y + se combina para dar e lugar a un trozo de seal real: n

2iei F H (x) = 2 + f (x) = =

1 x 2

2iei 2 x iei(1)x ieix + + + +...


sin
x 2 2

sin x

1 1 Se obtiene el mismo resultado si utilizamos la base { ba cos(2 ba x), ba sin(2 ba x)}, ortonormal en L2 (a, b) con = 0 . . . , que da lugar a la serie de Fourier trigonomtrie ca:

f (x) =
=0

cos

x x + sin l l

con coordenadas reales y : 1 l


+l

f (x) cos
l

x dx l

1 l

+l

f (x) sin
l

x dx l

Por casualidad, en este ejemplo todos los coecientes (salvo la constante) son cero (la funcin es esencialmente impar ). o

172

B.6 Integral de Fourier

Fourier

B.6.

Integral de Fourier

Desde un punto de vista terico, podr o amos estar interesados en trabajar con funciones no peridicas, denidas sobre toda la recta real. En este caso no podemos construir una base o numerable de funciones trigonomtricas o exponenciales complejas (ni tampoco de polinomios, e aunque s de otras funciones que decrecen sucientemente rpido en el innito, como las a funciones de Hermite o las de Laguerre). No obstante, s es posible conseguir una representacin o integral en trminos de un conjunto continuo ( R) de armnicos: e o f (x) = 1 2
+

F (w)eix d

No slo aparecen las frecuencias enteras = . . . , 2, 1, 0, 1, 2, . . . sino que tambin hay o e componentes de todas las frecuencias intermedias.
Informalmente, esta expresin se consigue llevando al l o mite l el tamao del n intervalo de la serie de Fourier anterior. Observa tambin que el coeciente 2, que se e utilizaba para ajustar el per odo de la funcin al intervalo deseado, ya no es necesario. o

Las (incontables) coordenadas F (w) se calculan de nuevo como el producto escalar de la funcin y cada elemento de la base: o
+

F () =

f (x)eix dx

La funcin F () es la Transformada de Fourier de f (x). o


La Transformada de Fourier de la rampa anterior es: F () = 1 2i e e2i + 4ie2i 2

Como es una funcin compleja podemos representar el mdulo |F ()| para hacernos o o una idea de la distribucin de frecuencias: o
8

-10

-7.5

-5

-2.5

2.5

7.5

10

De hecho, la funcin |F ()|2 es el espectro de potencia o densidad espectral de la o funcin f , que nos indica la amplitud A2 de cada armnico (relacionada con la energ o o a de la seal). n La mejor manera de comprobar que la descomposicin es correcta es intentar reconstruir o la seal original. Mediante una aproximacin numrica a la integral anterior (en la que n o e hemos incluido slo las frecuencias entre = 10 y = +10 a saltos = 0.1) o

Fourier

B.7 Muestreo y reconstruccin o

173

comprobamos que mediante la integral de Fourier conseguimos representar la seal no n peridica en todo el dominio R: o
5 4 3 2 1 -4 -3 -2 -1 -1 1 2 3 4

Si f (x) es peridica, entonces su transformada integral F () es cero en todas las frecueno cias intermedias, no enteras (respecto al intervalo considerado). Slo intervienen los mismos o 1 armnicos que aparecer en la serie de Fourier . o an
Las unicas componentes sinusoidales peridicas en un intervalo, p. ej., [0, 1), tienen o que ser del tipo A cos(2x + ) con entero. En caso contrario, por ejemplo con = 2.5, o cualquier otro valor fraccionario, la onda no realizar un nmero completo de a u repeticiones. Su serie de Fourier extender la reconstruccin peridicamente, repartiendo a o o la carga en frecuencias cercanas, y se producir el efecto de Gibbs. a

B.7.

Muestreo y reconstruccin o

En la mayor de las aplicaciones prcticas no tenemos funciones continuas como tales, desa a critas mediante expresiones matemticas, sino que obtenemos un conjunto nito de muestras a o mediciones de alguna magnitud f sica de inters. En concreto, supongamos que tomamos e n muestras equiespaciadas f = {f0 , f1 , . . . , fn1 } de una funcion f (x) en el intervalo [a, b), donde fk = f (a + kx) y x = ba . (Muchas veces conviene normalizar el dominio de la n k funcin haciendo a = 0 y b = 1 y entonces fk = f ( n ).) o La pregunta crucial es: podemos reconstruir completamente la funcin original, en cualquier o punto intermedio, a partir unicamente de sus muestras?
Evidentemente, la respuesta es negativa, a menos que dispongamos de algn tipo de u conocimiento externo sobre la clase de funciones que pueden entrar en juego. P. ej., si la funcin objetivo es algn polinomio de grado no superior a g y las muestras no estn o u a contaminadas con ruido podemos calcular los coecientes del polinomio a partir de n g + 1 muestras. Por supuesto, en muchas aplicaciones prcticas no disponemos de a informacin tan detallada sobre nuestros datos que, adems, pueden estar contaminados o a con ruido. En cierto modo, este problema es el mismo que tratan de resolver, desde otro punto de vista, las mquinas de aprendizaje inductivo estudiadas en la Seccin 4. a o

Ser muy util caracterizar de forma poco restrictiva la clase de funciones que podemos rea construir con precisin. En el contexto del anlisis armnico estamos interesados en algo como o a o lo siguiente: podemos calcular todas las coordenadas frecuenciales de f (x) a partir slo de o
1

Como veremos despus la transformada de una exponencial compleja es un impulso ( de Dirac). e

174

B.8 DFT

Fourier

la seal muestreada f ? Con ellas podr n amos reconstruir la funcin en cualquier punto y, por o supuesto, analizar sus propiedades frecuenciales o de otro tipo.
Lgicamente, al disponer solo de un nmero nito de muestras solo podemos aspirar a o u reconstruir la funcin en el intervalo observado (aunque la reconstruccin en una base o o armnica extender la funcin peridicamente fuera de l). Por tanto, no tiene sentido o a o o e intentar capturar las componentes frecuenciales no enteras ya que son idnticamente e nulas en una funcin peridica. Slo necesitamos las frecuencias discretas de la serie de o o o Fourier.

La respuesta a esta pregunta es armativa, si se cumplen las condiciones de uno de los resultados ms importantes de la teor de la informacin y la comunicacin: el Teorema del a a o o Muestreo (Shannon). La funcin original debe tener ancho de banda limitado, lo que signica que no tiene armnicos o o superiores a una cierta frecuencia m , esto es, F () = 0 para || > m . En otras palabras, la funcin no cambia innitamente rpido. En estas condiciones, si el intervalo de muestreo es o a lo sucientemente pequeo como para detectar la frecuencia ms alta contenida en la seal, n a n conseguiremos capturar la funcin sin prdida de informacin y reconstruirla exactamente. En o e o concreto, dada una seal denida en el intervalo x [0, 1), si la componente armnica de n o frecuencia ms alta es A cos(2m x + ) necesitamos n > 2m muestras (la separacin entre a o 1 ellas debe ser x < 2m ).
Para demostrar este resultado solo hay que tener en cuenta que muestrear una seal n (multiplicarla por un tren de impulsos) equivale a la convolucin (ver Sec. B.13) de su o espectro con un tren de impulsos tanto ms separados en el dominio frecuencial cuanto a ms juntos estn en el dominio espacial. Esta convolucin crea rplicas del espectro que a e o e no deben solaparse para poder recuperarlo.

Este tipo de condicin impuesta a la frecuencia mxima de la seal, relacionada con la mxima o a n a pendiente que puede aparecer, es razonable y poco restrictiva. La deteccin de cambios rpidos o a en la seal requiere necesariamente un muestreo muy denso del dominio. Si no se realiza aparece n el fenmeno de aliasing. P. ej., con 10 muestras la frecuencia ms alta que podemos capturar o a es 4. Una seal de frecuencia 8 se confunde una de frecuencia -2: n
1 0.5

-0.4

-0.2 -0.5

0.2

0.4

-1

En cierto sentido, la interpolacin de las muestras se realizar de la manera menos oscilatoria o a posible compatible con los datos.

B.8.

Transformada de Fourier Discreta (DFT)

Supongamos entonces que hemos muestreado sucientemente rpido la funcin de inters. a o e Cmo calculamos sus coordenadas frecuenciales a partir unicamente de las n muestras f = o {fi }n1 ? i=0

Fourier

B.8 DFT

175

Consideremos las funciones armnicas utilizadas hasta el momento como base del espacio de o funciones continuas: H (x) = ei2x Un resultado fundamental es que las versiones discretizadas con cualquier nmero n de muesu n tras, que denotaremos como h , son tambin vectores ortonormales de R . Estos vectores se e obtienen muestreando cada funcin en el intervalo [0, 1) donde es peridica y normalizando: o o
k 1 ei2 n n

n1 k=0

h =

Como antes, necesitamos frecuencias positivas y negativas para manejar correctamente la fase. Una base de Rn contiene n vectores. Y de acuerdo con el teorema del muestreo, la frecuencia ms alta que podemos capturar en el intervalo de trabajo es (menos de) la mitad de las muestras a disponibles. Por tanto, la matriz H = {hT } con = n1 , . . . , 2, 1, 0, 1, 2, . . . , n1 2 2 es una base ortonormal de Rn 2 . Esta base tiene la interesante propiedad de que proporciona las coordenadas frecuenciales de la seal continua original a partir de la seal muestreada. n n Cada una de ellas se obtiene como F = hT f y el conjunto de todas ellas se puede expresar sencillamente como F = Hf .
Es importante tener en cuenta que en lugar de organizar las frecuencias en orden creciente como: F = {F n1 , F1 , F0 , F1 , . . . , F n1 }
2 2

los algoritmos estndar que calculan la DFT nos suministran las frecuencias en el sia guiente orden: F = {F0 , F1 , . . . , Fn1 } aprovechando el hecho de que transformada discreta es peridica3 y que, por tanto, las o frecuencias negativas aparecen en la parte superior de la transformada:

Esto encaja perfectamente para n impar. Cuando n es par, para completar la base de Rn se incluye la frecuencia n n o 2 , (da igual positiva o negativa) multiplicada por dos. En realidad, de la componente de frecuencia 2 slo se puede capturar su parte coseno. La parte seno se confunde con la seal idnticamente nula. Con n par n e capturamos slo media frecuencia n . o 2 o Las frecuencias superiores a n , que por supuesto no podemos capturar, en su versin discreta coinciden (por 2 el fenmeno de aliasing ) con las frecuencias inferiores negativas que necesitamos. o

176

B.8 DFT

Fourier

En concreto, F = Fn , o tambin, si F es un array con primer e ndice cero, F = F [ md n]: o F = {F0 , F1 , F2 , . . . , Fn3 , Fn2 , Fn1 }
F3 F2 F1

Observa que, en principio, la complejidad del clculo de la DFT es O(n2 ). Afortunadamente, a es posible organizar los clculos para que cueste slo O(n log n), lo que se conoce como la a o Transformada de Fourier Rpida (FFT). Todos los entornos de clculo cient a a co suministran algoritmos muy ecientes para calcular la FFT. Pueden diferir en las constantes de normalizacin utilizadas. o
Veamos un ejemplo. Consideremos la funcin f (x) = 2 cos(22x + 0.1) + 3 cos(25x o 0.2) y tomemos 40 muestras en [0, 2) (x = 0.05), f = {4.93, 2.09, 2.52, . . . , 2.14, 1.13}:
4 2

0.5 -2 -4

1.5

La FFT de la seal (redondeando un poco los valores) es4 : n

19 ceros

{0, 0, 0, 0, 0.9 0.1i, 0, 0, 0, 0, 0, 1.4 + 0.3i, 0, . . . 0, 1.4 0.3i, 0, 0, 0, 0, 0, 0.9 + 0.1i, 0, 0, 0}


F4 F10 F30 =F10 F36 =F4

El mdulo y el argumento de F codican las amplitudes y fase de las componentes o cosinusoidales de f (x):
19 ceros

|F | = {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1.5, 0, . . . 0, 1.5, 0, 0, 0, 0, 0, 1, 0, 0, 0}

La amplitud (2 = F4 +F4 ) de la componente 2 cos(22x+0.1) aparece en la posicin o 4 porque el intervalo de trabajo [0, 2) contiene 4 per odos de la frecuencia = 2, denida entre 0 y 1. Anlogamente, la amplitud de la otra componente (3 = F10 +F10 ), a de frecuencia = 5 aparece en la posicin 10. En general, las posiciones de la o FFT indican el nmero de repeticiones de la componente en el intervalo muestreado. u Por supuesto, si hubiramos muestreado la seal en [0, 1) las posiciones de la FFT e n corresponder directamente a las frecuencias expresadas como 2x en la seal5 . an n
4

Para ajustar la escala, en Matlab/Octave (Seccin F) debemos dividir el resultado de fft por n y tomar o cambiar el signo de la componente imaginaria. En Mathematica debemos dividir el resultado de Fourier por n. Cuando aparecen frecuencias intermedias se distribuyen en varias posiciones cercanas. Pero ten en cuenta que si en un intervalo de muestreo aparecen frecuencias intermedias, no enteras, entonces la extensin peridica o o de la seal ser discontinua, dando lugar a distorsiones como las que aparec en la funcin rampa. n a an o

Fourier

B.9 Onda 2D

177

El argumento de la FFT nos indica la fase de cada componente (para las componentes con |F | = 0 el argumento no est denido): a
19

| arg F | = {, , , , 0.1, , , , , , 0.2, , . . . , , 0.2, , , , , , 0.1, , , }

B.9.

Onda 2D

Una funcin de varias variables f (x), donde x = (x1 , x2 , x3 , . . .), tambin se puede expresar o e en una base de componentes peridicos de tipo armnico: o o H() = ei2x caracterizados por unafrecuencia vectorial = (1 , 2 , 3 , . . .), cuyas componentes son las frecuencias de la onda en cada direccin. En el caso 2D tenemos x = (x, y), = (u, v) y o cada componente frecuencial es una onda plana: H(u, v) = ei2(ux+vy) En la gura siguiente se muestra como ejemplo una onda de frecuencia = (3, 2) (observa que hay 3 repeticiones horizontales y 2 verticales):
1

0.8

0.6

0.4

0.2

0 0 0.2 0.4 0.6 0.8 1

Todos los conceptos anteriores se mantienen igual en el caso multivariable, con la ventaja de que por la propiedad de separabilidad las transformadas n-D se pueden computar mediante mltiples transformadas 1D. Slo debemos tener en cuenta que las funciones base son superu o cies sobre el plano, especicadas por los dos ndices u y v y, que la reconstruccin requiere o por tanto una suma doble. P. ej., en el caso discreto, si tenemos una funcin muestreada en una malla de tamao n m: o n
n1 m1

fi,j =
u=0 v=0

Fu,v ei2(u n +v m )

(de nuevo, por la periodicidad de la transformada los l mites de los sumatorios son equivalentes a utilizar frecuencias desde u = 0 hasta n/2 y desde v = 0 hasta m/2). Cada frecuencia (u, v) se asocia con la opuesta (u, v) para reconstruir una onda plana real.

178

B.10 Propiedades

Fourier

Las coordenadas frecuenciales de una imagen (una funcin de dos variables que devuelve el o color o el nivel de gris de cada pixel) se pueden representar como otra imagen:
300 250 200 150 100 50 0 0 100 200 300 400 150 100 50 0 -50 -100 -150 -200 -100 0 100 200

(Hemos rotado las y columnas de la transformada para que las bajas frecuencias queden en el centro de la imagen y adems hemos representado log(1 + |Fu,v |) para ampliar el rango de a valores que podemos apreciar en la imagen.) Se observan ciertas frecuencias predominantes, en las direcciones perpendiculares a los bordes ms destacados de la imagen original. a

B.10.

Propiedades de la Transformada de Fourier

Antes de continuar repasaremos rpidamente algunas propiedades de la Transformada de Foua rier. (Mientras no indiquemos lo contrario, estas propiedades son vlidas para la serie, la a integral y la DFT). Usaremos el siguiente convenio: F () = Ff (x).
Linealidad. La transformada de la suma de varias seales ponderadas se obtiene din rectamente a partir de las transformadas de cada componente: F [f (x) + g(x)] = F () + G() En el caso discreto la transformacin puede expresarse simplemente como un producto o matriz vector (aunque no es computacionalmente tan eciente como la FFT). Separabilidad dimensional. La transformada de una seal multidimensional se puede n calcular mediante sucesivas transformaciones 1D. P. ej., la transformada de una imagen se puede hacer calculando la transformada de todas las las y luego la de todas las columnas resultantes del paso anterior. Traslacin. Al desplazar la seal en el espacio (lo que en el caso de una funcin o n o muestreada, por la suposicin de periodicidad es equivalente a rotar la lista de o muestras) la transformada slo cambia su fase, pero no el mdulo. Es lgico porque o o o la fase de la onda es relativa a la situacin, ms o menos arbitraria del origen de o a coordenadas. La energ de las diferentes componentes frecuenciales, indicada por el a mdulo de las coordenadas frecuenciales no cambia: o Ff (x a) = ei a F () F 1 F ( ) = ei x f (x)

Escalado. Al estirar la funcin en el eje x su transformada no cambia ms que en un o a reajuste del tamao de las frecuencias que ten anteriormente: n a

Fourier

B.10 Propiedades

179

Ff (ax) =

1 F |a|

Rotacin (en 2D). Debido a que cada componente F (u, v) representa la contribucin o o de una onda plana en direccin (u, v), si rotamos una imagen la transformada rota o exactamente igual: Valor medio. La frecuencia cero (componente constante) nos da la media de la seal: n F (0) = E{f (x)} Dualidad. Las propiedades del operador F y de su inverso son esencialmente iguales. El dominio espacial y frecuencial son intercambiables: f (x) F F () F f (t) Parseval. La transformacin es ortonormal y por tanto preserva la norma: o |f (x)|2 dx =
R R

|F ()|2 d

Simetr conjugada. Como vimos en el manejo de la fase, si la seal es real cada a n pareja de frecuencias contribuye a una componente tipo coseno. F () = F () Periodicidad DFT. Por el fenmeno de aliasing la DFT es peridica, y las frecuencias o o negativas se confunden con las positivas: F = Fn Convolucin. La convolucin en el dominio espacial se reduce a una multiplicacin o o o elemento a elemento en el dominio frecuencial: F(f g)(x) = F ()G() (algo similar ocurre con la operacin de correlacin). Cuando hay que aplicar a una o o seal (p. ej., una imagen) una mscara de convolucin de tamao muy grande, puede n a o n ser ms rpido hacer una multiplicacin ordinaria en el dominio frecuencial. a a o Derivacin. La siguiente propiedad es muy util para resolver ecuaciones diferenciales o (aunque en ciertos casos es mejor usar la transformada de Laplace): Ff (x) = iF () La transformada 2D del laplaciano de una funcin es por tanto: o F
2

f (x, y) = (2)2 (u2 + v 2 )F (u, v)

180

B.11 DCT
Transformada de una gaussiana. Es otra gaussiana de anchura rec proca:

Fourier

FN (x) = N 1 ()

Un suavizado de kernel gaussiano deja pasar menos frecuencias cuanto mayor sea el radio de promediado. Transformada de una onda pura. Es un impulso:

F cos(2ax) =

1 [( + a) + ( a)] 2

Por eso las funciones peridicas se pueden representar como una suma de frecuencias o discretas.

B.11.

Transformada Discreta del Coseno (DCT)

Realmente podemos reconstruir la funcin en puntos no observados? Si cumplimos el criterio o de Nyquist muestreando a una frecuencia doble que la de la mayor componente de la seal, n trivialmente podremos reconstruir la funcin, ya que su serie de Fourier no tendr componentes o a ms altas que las que se pueden capturar con n elementos de la base del espacio discreto Rn a (se necesita una pareja, positiva y negativa, para cada frecuencia). La cuestin, en realidad, o es si es fcil cumplir esta condicin. a o Si la seal es peridica y suave, s es cierto que las frecuencias altas sern despreciables. P. n o a ej., la siguiente seal est formada por tramos de parbola ajustados para que el recorrido n a a completo sea suave. Las funciones cuadrticas no tienen mucho que ver con la base de senos a y cosenos pero, an as la reconstruccin con slo 4 muestras es excelente: u , o o
1.4 1.3 1.2 1.1

1 0.9

Si la seal es suave pero no es realmente peridica (como en el caso de la rampa anterior), o n o si tiene otro tipo de discontinuidades (la propia funcin o su pendiente), entonces aparecern o a componentes distintas de cero en todas las frecuencias. Por supuesto, siempre se podr consea guir una aproximacin aceptable usando un nmero sucientemente grande de componentes. o u Pero la condicin de periodicidad es bastante restrictiva, ya que casi nunca tendremos la suero te de que la seal observada acabe a la misma altura, y con la misma pendiente, que donde n empez. La no periodicidad crea artefactos que pueden ser inaceptables: o

Fourier
2

B.11 DCT

181

1.5

0.5

Una variante de la Transformada Discreta de Fourier que resuelve bastante bien este inconveniente es la Transformada Discreta del Coseno (DCT). Est basada en una idea muy ingeniosa a que resuelve dos problemas de una sola vez. Dado que la muestra de inters no tiene por e qu ser peridica, podemos hacerla peridica nosotros concatenando una imagen especular de e o o la funcin original. Esto garantiza que no hay discontinuidades en la version peridica de la o o funcin (aunque s puede haber discontinuidad en la pendiente). Por ejemplo, en el caso de o la rampa, la seal modicada que podr n amos representar ser la siguiente (con media imagen a especular por cada extremo):

Las coordenadas frecuenciales de esta seal desdoblada tienen muchas menos componentes n de alta frecuencia ya que no es necesario ajustar bien ninguna discontinuidad. Pero, adems, a la seal desdoblada es par (simtrica respecto al eje vertical) y, por tanto, slo aparecen las n e o componentes de tipo coseno; en denitiva, todas las coordenadas frecuenciales son reales6 . Por ejemplo, el mdulo de la DFT de la rampa anterior discretizada en 8 muestras es: o {0.88, 0.33, 0.18, 0.14, 0.13} (omitimos las 3 ultimas ya que por simetr conjugada se deducen de F1 . . . F3 ). Todas las a componentes frecuenciales son necesarias para conseguir una aproximacin que no es excesio vamente buena. La funcin de reconstruccin continua es: o o
x 3x x x 3x x )0.25 cos( )0.25 cos( )0.13 cos( x)0.60 sin( )0.25 sin( )0.10 sin( ) 4 2 4 4 2 4

0.880.25 cos(

La DCT de la misma funcin es: o {2.47, 1.61, 0, 0.17, 0, 0.05, 0, 0.01} A diferencia con la DFT, tiene varias componentes idnticamente nulas y poco peso en las de e alta frecuencia. La funcin de reconstruccin correspondiente es: o o
6

En el caso discreto para que realmente la funcin desdoblada sea par hay que desplazar la seal media muestra o n hacia la derecha, dejando el eje vertical entre las dos copias de la primera muestra. Ese desplazamiento se 1 simula multiplicando cada componente F de la DFT por ei2( 2n /2)

182

B.12 Filtrado

Fourier

0.88 0.81 cos(

(1 + 2 x) 3 (1 + 2 x) 5 (1 + 2 x) 7 (1 + 2 x) ) 0.08 cos( ) 0.03 cos( ) 0.006 cos( ) 16 16 16 16

La reconstruccin producida por la DCT (en azul) es mejor que la de la DFT (en rojo): o
2

1.5

0.5

La extensin peridica producida por las dos funciones es diferente, siendo mucho ms favorable o o a la utilizada por la DCT:

Los coecientes de la DCT pueden obtenerse de manera sencilla a partir de la FFT de la seal desdoblada. El coste de la DCT es por tanto algo superior al de la FFT ordinaria pero n est justicado por la calidad de la representacin obtenida. a o
En mltiples aplicaciones los elementos de la base estn precalculados, por lo que no u a existe ninguna penalizacin. En el formato jpeg la imagen se particiona en bloques 88, o cuya base de representacin en la DCT 2D estn precalculados. o a

Todas estas razones justican que la DCT es el estndar de compresin de imgenes utilizado a o a en los formatos jpeg, video digital, etc. En la Seccin 6 se muestra el aspecto de la DCT 2D o de varias imgenes. a

B.12.

Filtrado

Una vez descompuesta una seal en sus componentes frecuenciales tenemos la posibilidad de n modicar esta representacin para conseguir los efectos deseados. Esta operacin se denomina o o ltrado. Es exactamente lo mismo que hace el ecualizador de un equipo musical. Podemos atenuar o amplicar bandas de frecuencia segn nuestros intereses. u Una aplicacin t o pica es la eliminacin de ruido. Supongamos que estamos interesados en una o seal suave como la siguiente, cuya DCT muestra simplemente dos picos claros alrededor de n las frecuencias 8/2 y 12/2:

Fourier
3 2 1 0.5 -1 -2 1

B.13 Convolucin o
10 8 6 4 1.5 2 2 0 -2 0 10 20 30 40 50 60

183

Desgraciadamente, en el proceso de muestreo se aade una componente de ruido aleatorio. n La seal original queda completamente distorsionada y en la DCT observada aparecen comn ponentes en todas las frecuencias (ruido blanco: mezcla de todos los colores/frecuencias):
4 3 2 1 10 -1 -2 -3 20 30 40 50 60 10 8 6 4 2 0 -2 0 10 20 30 40 50 60

Por supuesto, es imposible eliminar perfectamente el ruido: por una parte la seal original siemn pre tiene alguna componente de alta frecuencia; y el ruido blanco tiene tambin componentes e de baja frecuencia como los de la seal original. A pesar de todo, la eliminacin o atenuacin de n o o los compontentes de alta frecuencia (digamos, a partir de 20) permite reconstruir una versin o bastante aceptable de la seal original: n
4 3 2 1 10 -1 -2 -3 20 30 40 50 60

Este proceso se puede aplicar tambin a seales multidimensionales. En la seccin Seccin 6 e n o o se muestran algunos ejemplos de ltrado frecuencial de imgenes. a

B.13.

Convolucin o

Considera un sistema dinmico S, cuya entrada es una funcin f (t) (supongamos por ahora a o que depende del tiempo) y su respuesta es otra funcin S[f (t)] = g(t): o

La clase ms simple de sistemas dinmicos son los llamados lineales e invariantes a desplazaa a miento (SLI). Ante una superposicin de funciones responden superponiendo las respuestas o

184 individuales:

B.13 Convolucin o

Fourier

S[af1 (t) + bf2 (t)] = aS[f1 (t)] + bS[f2 (t)]

Si S[f (t)] = g(t) entonces S[f (t a)] = g(t a) Estos sistemas tan simples son una idealizacin que no cumple ningn sistema real, pero que es o u bastante aceptable en ciertos rangos de funcionamiento. Matemticamente son muy cmodos a o de analizar: al ser lineales, la respuesta queda determinada por la respuesta que tienen frente a los elementos de una base (cualquiera) del espacio de funciones. Una especie de base elemental es el tren de impulsos (innitamente pegados):

Cualquier seal se puede interpretar como un tren de impulsos que van ponderados por los n valores que toma la seal en cada posicin: n o
0.2 0.1

f (t) =
1 -0.1 2 3 4

f (a)(t a)da

Por tanto, por linealidad e invarianza, si frente a un unico impulso (t) el sistema reacciona con una respuesta h(t) = S[(t)] entonces frente a todo el tren ponderado con los valores de la funcin la respuesta del sistema ser simplemente la superposicin de la respuesta a los o a o diferentes impulsos que van llegando, cada uno con su ponderacin y su retraso en el tiempo: o
t

0.2 0.1
h t

1 -0.1

Por esta razn, un SLI se caracteriza completamente por su respuesta al impulso h(t), y o la operacin anterior que nos da la salida del sistema para una entrada cualquiera f (t) se o denomina convolucin de f (t) con h(t): o
+

g(t) = f (t) h(t) =

f (a)h(t a)da

En el caso de seales muestreadas la integral se sustituye por un sumatorio (convolucin n o discreta).

Fourier

B.13 Convolucin o

185

Teorema de la convolucin. Otra base interesante es la de componentes frecuenciales o H (x), cuyas coordenadas se obtienen mediante la transformada de Fourier, que da lugar a un resultado fundamental de la teor de sistemas: un SLI queda completamente determinado por a su funcin de transferencia, que indica cmo se modica, individualmente, cada componente o o frecuencial de la seal original. Si Ff (t) = F () y Fh(t) = H() entonces: n F(f h)(t) = F ()H()
Este resultado se deduce fcilmente de las propiedades de la exponencial: a

(f h)(t) =
a

f (a)h(t a)da = f (a)


a

=
a

f (a)

H() exp(i(t a))d da =

H() exp(it) exp(ia)d da = f (a) exp(ia)da d =


a F ()

=
a

f (a)H() exp(it) exp(ia)dad =

H() exp(it)

F ()H() exp(it)d

La respuesta de un SLI a una funcin armnica es una funcin armnica de la misma frecuencia, o o o o aunque con una amplitud y fase diferente. (Un SLI no puede cambiar la frecuencia de una seal.) En otras palabras, las exponenciales complejas son las funciones propias de los SLI; n constituyen una base en la que el SLI tiene forma diagonal. Son el equivalente a los autovectores (Seccin A.3) en un espacio de dimensin innita. o o Si tenemos que implementar un SLI podemos hacerlo mediante una convolucin en el dominio o espacial/temporal o mediante un producto ordinario en el dominio frecuencial, lo que resulte computacionalmente ms econmico. (Existe un resultado equivalente relacionado con la a o correlacin entre dos seales.) o n En la prctica suelen implementarse ltros paso bajo, paso alto o paso banda mediante mscaa a ras de convolucin. Tambin se aplican ltros no lineales, que modican cada muestra mediante o e algoritmos ms generales que una simple suma ponderada de las muestras vecinas. En el apara tado 6 se muestran algunos ejemplos de procesamiento digital de imgenes en el dominio a espacial y frecuencial.

Filtrado inverso. Supongamos que nuestra seal ha sufrido un cierto proceso que se puede n modelar bien mediante un SLI. P. ej., un emborronado o desenfoque, una foto movida, etc. En principio, si conocemos con precisin el efecto sufrido sobre un unico pixel (la respuesta o al impulso o point-spread function), podemos deshacerlo en el dominio de la frecuencia. Si g(t) = (f h)(t), Fh(t) = H() y Fg(t) = G() entonces: f (t) = F 1 G() H()

186

B.14 Wavelets

Fourier

Este proceso de desconvolucin trata de reconstruir las modicaciones sufridas por el espectro o de frecuencias de la seal. El problema surge cuando la funcin de transferencia H() se n o hace cero o muy pequea. Las frecuencias que no deja pasar no pueden reconstruirse. Se n han propuesto algunos mtodos de restauracin de imgenes basados en la optimizacin de e o a o ciertos criterios [ref]. En general consiguen resultados aceptables solo cuando la degradacin o es pequea y conocida. (En muchas situaciones reales la degradacin ni siquiera es lineal o n o invariante a desplazamiento.)

B.14.
Pendiente.

Wavelets

B.15.

Alineamiento de contornos

En el apartado 2.3 se propuso un sencillo vector de propiedades de formas planas basado en la transformada de Fourier del contorno, que es invariante a posicin, rotacin, escala, o o punto de partida en la polil nea y pequeas deformaciones. Slo requiere que los nodos estn n o e aproximadamente equiespaciados. En realidad, a partir de las componentes frecuenciales es posible denir una funcin de distancia entre dos siluetas que tiene un signicado geomtrico o e muy razonable, y que puede adaptarse fcilmente para trabajar con polil a neas irregularmente espaciadas. Mediante una normalizacin previa puede hacerse invariante a transformaciones o anes (escalados diferentes en dos direcciones), lo que permite modelar deformaciones de perspectiva dbil. e

B.15.1.

Distancia entre contornos

- distancia ideal - mse (Parseval) - se mantiene en rotacin, podemos usar coordenadas frecuenciales o - interesa normalizar (quiz escala) rotacin y sobre todo punto de partida a o - el valor absoluto resuelve, pero pierde mucha info (se queda solo con los tamaos de las n elipses)

B.15.2.

Invarianza af n

Para conseguir un representante af de un contorno podemos aplicar una transformacin de n o whitening (C.2). Para ello necesitamos la media y matriz de covarianza = (x , y ) = cxx cxy cxy cyy

Fourier

B.15 Alineamiento de contornos

187

de los innitos puntos z = (x, y) que constituyen el interior de la gura. (Dentro de un momento veremos cmo se puede calcular y de forma sencilla.) La transformacin de o o normalizacin af de la gura se obtiene a partir de los valores y vectores propios de = VT V: o n z = 2 VT (z ) Aunque y V se pueden calcular mediante las herramientas de lgebra lineal usuales, al tratar a con objetos de 2 dimensiones podemos obtener la descomposicin de forma cerrada. En realidad o slo hay 3 parmetros esenciales, los dos valores propios 1 2 y el ngulo que forma la o a a direccin principal: o 1 0 0 2 cos sin sin cos
1

V=

que se pueden obtener directamente de los elementos de : 1 1 = (cxx + cyy + r) 2 donde r2 = c2 + +c2 + 4c2 2cxx cyy xx yy xy 1 2 = (cxx + cyy r) 2 = arctan cxx cyy + r 2cxy

B.15.3.

Clculo de y de una regin a partir de su contorno. a o

Consideremos una gura plana S. Los parmetros que nos interesan pueden denirse a partir a de los momentos estad sticos: mpq =
S

xp y q dxdy

A partir de ellos podemos obtener los momentos centrados (m00 es el rea de la gura): a mpq = Y entonces la media (centro de masas) es = (x , y ) = (m10 , m01 ) y los elementos de la matriz de covarianza (relacionada con los momentos de inercia de la gura) son: cxx = m20 (m10 )
2

mpq m00

cyy = m02 (m01 )

cxy = m11 m10 m01

188

B.15 Alineamiento de contornos

Fourier

En principio puede parecer necesario calcular expl citamente las integrales dobles que denen los momentos estad sticos mpq pero, afortunadamente, usando el Teorema de Green7 pueden sustituirse por integrales simples sobre el contorno8 : mpq =
S

xp y q dxdy =

1 2

xp+1 y q xp y q+1 dx dy q+1 p+1

Representaremos el contorno de la regin S mediante una polil con n nodos Z = {z0 , z1 , . . . zn1 }, o nea donde zk = (xk , yk ). Para facilitar la notacin cerraremos el contorno con un nodo adicional o zn = z0 .

La integral de contorno puede descomponerse en las contribuciones de cada tramo recto: 1 2


n1 zk+1 zk

mpq =

k=0

x(t)p+1 y(t)q dy 1 x(t)p y(t)q+1 dx dt dt = q+1 dt p+1 dt 2

n1

Ak Bk
k=0

En cada tramo desde zk hasta zk+1 el contorno se puede parametrizar como z(t) = zk + (zk+1 zk )t, donde t (0, 1), por lo que podemos escribir:
1

Ak =
0 1

(xk + (xk+1 xk )t)p (yk + (yk+1 yk )t)q+1 (xk+1 xk )dt q+1 (xk + (xk+1 xk )t)p+1 (yk + (yk+1 yk )t)q (yk+1 yk )dt p+1

Bk =
0

Estas integrales son muy fciles de calcular para valores pequeos de p y q. En concreto, los a n trminos (Ak Bk )/2 para los valores de p y q que nos interesan son: e m00 (x1 y2 x2 y1 )/2 m10 (2x1 x2 (y2 y1 ) x2 (2y1 + y2 ) + x2 (2y2 + y1 ))/12 2 1
2 2 m01 (2y1 y2 (x2 x1 ) + y2 (2x1 + x2 ) y1 (2x2 + x1 ))/12

m20 ((x2 x2 + x1 x2 )(y2 y1 ) + (x3 x3 )(y1 + y2 ))/12 1 2 1 2


2 2 3 3 m02 ((y1 y2 + y1 y2 )(x2 x1 ) (y1 y2 )(x1 + x2 ))/12

m11 ((x1 y2 x2 y1 )(x1 (2y1 + y2 ) + x2 (y1 + 2y2 )))/24)


7

Es la particularizacin al plano del Teorema de Stokes, la extensin multidimensional del Teorema Fundamental o o del Clculo. a La derivacin presentada aqu deber cambiarse para usar el sentido positivo (antihorario) de recorrido del o a contorno.

Fourier

B.15 Alineamiento de contornos

189

donde el sub ndice 1 representa la posicin k y el 2 la posicin k + 1 de cada coordenada en el o o tramo que empieza en zk . Los momentos estad sticos de la regin S se obtienen acumulando o estas expresiones a lo largo de todo su contorno. Una alternativa es calcular la media y covarianza slo del contorno de la gura (considerada o como una especie de alambre), sin tener en cuenta los puntos del interior. Las expresiones necesarias son un poco ms sencillas, pero no dan lugar a un invariante af exacto. a n interpretacin geomtrica alternativa como suma y resta de reas. o e a

B.15.4.

Serie de Fourier exacta de una funcin lineal a trozos o

El procedimiento habitual para obtener invariantes espectrales es aproximar los coecientes de la serie de Fourier (para funciones continuas) mediante la transformada discreta. Esto es aceptable cuando el nmero de puntos es sucientemente grande y estn uniformemente esu a paciados. Pero podr objetarse que no tiene sentido almacenar todos los puntos de un tramo a rectil neo de contorno, deber ser sucientes los extremos. Adems, si construimos una veran a sin invariante af se producir un estiramiento anisotrpico en los nodos, invalidando los o n, a o resultados que se obtendr usando una FFT ordinaria. Ser conveniente obtener las cooran a denadas frecuenciales a partir de una polil nea arbitraria, cuyos nodos se pueden encontrar a diferentes distancias. Hay que optar entre un muestreo uniforme (lo que implicar un posible remuestreo de la versin af invariante) que permita usar la FFT (complejidad O(n log n)), o n o el uso de polil neas reducidas con espaciado irregular, mediante un procedimiento ms laboa rioso (complejidad O(M n )) para obtener el nmero deseado M (normalmente pequeo, del u n orden de 10) de coordenadas, donde n es el nmero de puntos de la polil u nea reducida. La solucin ms eciente depender de los requisitos de cada aplicacin, pero en cualquier caso o a a o es interesante tener la posibilidad de manejar directamente polil neas reducidas. A continuacin se muestra un algoritmo para calcular la serie de Fourier exacta de una funcin peridica o o o compleja lineal a trozos, denida por el conjunto de nodos Z = {z0 , z1 , . . . zn1 }, aadiendo n igual que antes un nodo zn = z0 para cerrar la gura. Cada componente frecuencial es una suma de tramos rectos desde (tk , xk ) hasta (tk+1 , zk+1 ):
1 n1 tk+1 tk

F =
0

2it

z(t)dt =
k=0

e2it (zk +

zk+1 zk (t tk ))dt tk+1 tk

Los valores del parmetro de integracin tk en cada nodo son la fraccin de longitud recorrida a o o desde el punto inicial z0 . Por tanto t0 = 0, tn = 1 y tk = tk1 + |zk zk1 |/l, donde l es la longitud de la curva. (Es preciso recorrer el contorno una primera vez para calcular todos los tk , la contribucin de cada tramo depende de su posicin absoluta en el recorrido.) o o En principio es posible obtener los F deseados resolviendo directamente la integral anterior. Si se desea un algoritmo eciente es conveniente reorganizar los sumandos para conseguir que tomen una forma ms sencilla en funcin de unos valores que se pueden precalcular y son a o vlidos para todos los . a
Veamos cmo puede hacerse. En primer lugar escribimos o

190

B.15 Alineamiento de contornos

Fourier

n1

tk+1 tk

F =
k=0

e2it (k + k t)dt

en funcin de unos trminos k y k que no dependen de y pueden precalcularse una o e sola vez a partir de los zk originales: k La integral de cada tramo es:
n1

zk+1 zk , tk+1 tk

k zk k tk

F =
k=0 n1

k (e2itk+1 e2itk )+ 2i

+
k=0

1 1 k (e2itk+1 (tk+1 ) e2itk (tk )) 2i 2i 2i

Si denimos Hk e2itk , que tambin se puede precalcular, y k () tk + 1/(2i), e podemos simplicar un poco la expresin anterior: o 1 F = 2i
n1 [k (Hk+1 Hk ) + k (Hk+1 k+1 () Hk k ())] k=0

Sin embargo, no tiene mucho sentido operar 4 veces en cada tramo con los Hk . Teniendo en cuenta factores comunes en trminos consecutivos del sumatorio y aprovechando que e = H = 1, y que () = () (lo que nos permite 0 = n , H0 0 0 0 n n n n tratar los extremos sueltos como un trmino n normal), podemos reagrupar los trminos e e as : n Hk [(k1 k ) + k ()(k1 k )] k=1

Fw =

1 2i

de modo que podemos precalcular algo ms: Ak k1 k , Bk k1 k y a Ck Bk + tk Ak . 1 2i 2


n Hk (Ck + k=1

Fw =

Ak ) 2i

Es fail comprobar que los coecientes Ck son idnticamente nulos, por lo que nalmente c e conseguimos una expresin bastante compacta9 : o 1 (2)2
n Hk Ak k=1

Fw =
9

Agradezco a Miguel Angel Dav la noticacin de que los trminos Ck se cancelan, y a Adrin Amor la o o e a observacion sobre la agrupacin de trminos consecutivos del sumatorio y la deteccin de varias erratas. o e o

Fourier

B.15 Alineamiento de contornos

191

La componente cero requiere un tratamiento especial: 1 2


n1

F0 =

(zk+1 + zk )(tk+1 tk )
k=0

A partir del contorno original zk se precalculan las secuencias tk y k , y con ellas Hk y Ak , lo que permite obtener despus cada componente frecuencial mediante solo 3 e operaciones aritmticas (complejas) por cada nodo. e

B.15.5.

Ejemplo

La imagen siguiente muestra unas cuantas formas planas y sobreimpresas sus versiones invariantes anes (aunque mantenemos la posicin, tamao y orientacin para poder comparar las o n o guras): [ej] La imagen siguiente muestra el alineamiento af de una forma considerada como prototipo n sobre diferentes vistas con una inclinacin muy marcada, lo que sugiere que un modelo af o n puede ser aceptable incluso para deformaciones proyectivas moderadas. [ej]

192

B.15 Alineamiento de contornos

Fourier

Apndice C e Probabilidad
The true logic of this world is in the calculus of probabilities. J. C. Maxwell

Existen experimentos cuya repeticin en condiciones esencialmente iguales produce resultados o diferentes; decimos que son aleatorios. Muchos de ellos cumplen bastante bien un modelo estocstico: aunque cada resultado concreto es impredecible, su frecuencia relativa de aparicin a o en una secuencia innita de repeticiones tiende a un l mite que, curiosamente, es el mismo para cualquier subsecuencia previamente especicada. Esos l mites se llaman probabilidades. La Teor de la Probabilidad [13, 19] nos ayuda a construir un modelo abstracto, aproximado, a de un fenmeno f o sico. Es util en el mundo real porque es razonable admitir que los sucesos con una probabilidad muy pequea no ocurren en un unico intento. Si para explicar un fenmeno n o proponemos una hiptesis de la que se deducen probabilidades muy bajas para un cierto suceso, o y ese suceso ocurre, debemos rechazar la hiptesis (este es uno de los fundamentos del Mtodo o e Cient co). Hay otras aproximaciones muy interesantes a la aleatoriedad, como p. ej., la aleatoriedad algor tmica [15], de acuerdo con la cual una secuencia nita se considera aleatoria si no puede comprimirse.

C.1.

Clculo de Probabilidades a

Los posibles resultados concretos de un experimento aleatorio se llaman resultados elementales. P. ej., al lanzar una moneda los resultados elementales son {cara, cruz}; al lanzar un dado, los resultados elementales son {1,2. . . 6}. Un suceso es un conjunto de resultados elementales. P. ej., par = {2,4,6}. De acuerdo con las condiciones del problema se asigna a cada resultado elemental un nmero positivo, su probabilidad, de manera que entre todos sumen u uno. P. ej., si el dado est equilibrado todas las caras tienen probabilidad 1/6; una moneda a cargada podr tener probabilidades P{cara} = 0.6 y P{cruz} = 0.4. La probabilidad de un a

194

C.1 Clculo de Probabilidades a

Probabilidad

suceso es la suma de las probabilidades de los resultados elementales que contiene. P. ej., en un dado equilibrado P{par } = 1/2. Cuando el conjunto de resultados elementales de un experimento es continuo (p. ej., la posicin o de un dardo en una diana) las probabilidades no se asignan a posiciones concretas sino a intervalos o regiones. Como su propio nombre indica, el Clculo de Probabilidades tiene como objetivo calcular las a probabilidades de unos sucesos de inters a partir otras probabilidades conocidas. e

Variable aleatoria. Es conveniente etiquetar cada resultado de un experimento aleatorio con un cdigo nmerico. Cualquier variable aleatoria x queda perfectamente caracterizada o u por su funcin de distribucin de probabilidad acumulada F (z) = P{x z}, que indica la o o probabilidad de que una realizacin del experimento produzca un resultado menor o igual que o cualquier valor z. Es una forma cmoda de resumir las probabilidades asignadas a todos los o sucesos elementales del experimento.

Densidad de Probabilidad. En el caso discreto (p. ej., el lanzamiento de un dado), la probabilidad de un suceso es la suma de las probabilidades que lo componen:

P{a b} = P{a} + P{b}

Las variables aleatorias continuas se pueden caracterizar tambin por su funcin de densidad e o de probabilidad p(x). La probabilidad de que la variable aparezca en una regin del espacio es o la integral en esa regin de la funcin de densidad: o o

P{x (a, b)} =


a

p(x)dx

Valor esperado. Cada resultado individual de una variable aleatoria es impredecible, pero el valor esperado (el promedio sobre todos los posibles resultados) de funciones de la variable es una magnitud concreta, bien denida, que puede conocerse:
+

Ep(x) {f (x)} =

f (x)p(x)dx

(cuando la densidad involucrada p(x) se sobreentiende no aparece expl citamente en la notacin.) o

Probabilidad

C.1 Clculo de Probabilidades a

195

Media y varianza. Aunque toda la informacin sobre una variable aleatoria continua x o est contenida impl a citamente en su funcin de densidad p(x), en muchos casos es suciente o con tener una idea de su localizacin y dispersin, lo que puede expresarse con la media o o = E{x} y la desviacin media o la varianza 2 = E{(x )2 }. o

Estos parmetros pueden estimarse a partir de mltiples observaciones de la variable aleatoria. a u Promedios. El valor esperado del promedio de observaciones de una variable aleatoria no n modica la media pero divide su desviacin por n, haciendo menos aleatorio el resultado. o Esto permite estimar parmetros de una variable aleatoria con la precisin deseada (si tenemos a o muestras sucientes). Desigualdad de Markov. Cuando una variable aleatoria es positiva (x > 0): P{x > a} < E{x} a

Desigualdad de Tchevichev. Permite acotar la probabilidad de que una realizacin de una o variable aleatoria se aleje r desviaciones de la media: P{|x | > r} < 1 r2

Por ejemplo, la probabilidad de que cualquier variable aleatoria (con varianza nita) se aleje ms de dos desviaciones de la media es menor del 25 %. Si la variable es normal a (vase la Seccin C.3, pg. 201) la probabilidad es concretamente del 4.6 %. Y si la e o a variables es uniforme, la probabilidad es cero.

Ley de los grandes nmeros. Las frecuencias tienden (en un sentido probabil u stico!) a las probabilidades. La desigualdad de Tchevichev nos ofrece una estimacin cuantitativa de esta o convergencia: P{|n p| > } < p 1 4n 2

En esta expresin p es la probabilidad real de un suceso y pn es la frecuencia observada en n o realizaciones. P. ej., con un 99 % de conanza |p pn | < 20/n.
El resultado anterior se consigue utilizando la desigualdad de Tchevichev sobre una variable aleatoria de tipo Bernoulli, cuyos resultados son xito (x = 1), con probabilidad e p, o fracaso (x = 0), con probabilidad 1 p.

196

C.2 Poblaciones Multidimensionales

Probabilidad

Esta variable aleatoria tiene media p y varianza p(1 p) < 1/4. Por tanto, pn tambin e tiene media p y la varianza se reduce a p(1 p)/n < 1/4n.

Momentos estad sticos. Son los valores esperados de las potencias de la variable aleatoria: n mn = E{x }. Permiten calcular el valor esperado de cualquier funcin (expresada como serie o de potencias). Contienen ms o menos la misma informacin que la densidad de probabilidad, a o pero en una forma que podr estimarse mediante promedios. a El momento de orden 1 es la media ( = m1 ), el de orden 2 est relacionado con la con la a a varianza ( 2 = m2 m2 ), el de orden 3 con la asimetr de la densidad (skewness), el de 1 orden 4 con el alamiento (kurtosis), etc.

Estad stica. Sirve para hacer inferencias sobre las densidades de probabilidad de una variable aleatoria, o sobre parmetros importantes de ella, a partir de experimentos aleatorios. a

Muestra aleatoria. La estad stica utiliza normalmente muestras aleatorias i.i.d., cuyas observaciones son independientes e igualmente distribuidas (intercambiables). p(x1 , x2 , . . . xn ) =
i

p(xi )

Temas relacionados
Calcula la distancia media entre observaciones de una poblacin y la desviacin de esa distancia o o media (calcular la dispersin pero sin referirla a la media). o Cul es la media de la suma de dos variables aleatorias? Y la varianza? a Cmo generaramos nmeros (pseudo)aleatorios con cualquier distribucin de probabilidad? o u o

C.2.

Descripcin de poblaciones aleatorias multidimeno sionales

Densidad conjunta. Toda la informacin sobre una variable aleatoria n-dimensional x o est incluida en su funcin de densidad de probabilidad conjunta p(x) = p(x1 , x2 , . . . , xn ). a o Nos permite calcular la probabilidad de que la variable aparezca en cualquier regin: o

Probabilidad

C.2 Poblaciones Multidimensionales

197

P{x S} =
S

p(x)dx

Media y matriz de covarianza. En muchas aplicaciones prcticas la funcin de densidad a o es desconocida. Aunque existen mtodos de estimacin de densidades de probabilidad a partir e o de muestras aleatorias, la estimacin de densidades multidimensionales es un problema muy o complejo. A veces es suciente disponer de una informacin bsica sobre la variable: su localizacin y o a o dispersin. La localizacin puede describirse simplemente mediante el vector de medias de cada o o componente: = E{x}. Para medir la dispersin multidimensional no slo necesitamos la varianza de cada compoo o nente por separado, sino tambin los coecientes de covarianza de cada pareja de ellos. Esto e es as para poder determinar la anchura de la nube de puntos en cualquier direccin del o espacio. El conjunto de varianzas y convarianzas se representa en la matriz de covarianza :

= E{(x )(x )T }

Cada elemento de la matriz se dene como i,j = E{(xi i )(xj j )}. En la diagonal estn a 2 las varianzas de cada variable i,i = i , y fuera de la diagonal los coecientes de covarianza ij de cada pareja de variables (la matriz es simtrica): e
2 1 12 21 2 2 . . . . . . i1 i2 = . . . . . . j1 j2 . . . . . . n1 n2

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

1i 2i
2 i

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

1j 2j ij
2 j

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

ji

ni . . .

nj

1n 2n in jn nn

La matriz de covarianza tambin se puede escribir como = S T donde S = e E{xxT } es la matriz de autocorrelacin. Es la versin multivariable de la t o o pica expresin o 2 = E{x2 } E{x}2 .

198

C.2 Poblaciones Multidimensionales

Probabilidad

Coeciente de correlacin lineal. La dependencia lineal entre cada pareja de variables xi o y xj se puede medir mediante el coeciente de correlacin i,j = ii,jj [0, 1]. o Si ij 1, cuando xi crece tambin tiende a hacerlo xj . Si ij e 1, cuando una variable crece la otra decrece. Finalmente, cuando ij 0 no hay dependencia lineal entre las variables:

+1

El hecho de que = 0 no signica que las variables sean estad sticamente independientes. Pueden tener una dependencia no lineal indetectable por el coeciente de correlacin. o

Matriz de covarianza de una transformacin lineal. Si una poblacin x tiene matriz de o o covarianza x , la matriz de covarianza y de una transformacin lineal y = Ax (ver Sec. A.1) o es simplemente y = A x AT . Adems, y = Ax . a
Esto se comprueba fcilmente teniendo en cuenta que el valor esperado es un operador a lineal:

y = E{y} = E{Ax} = AE{x} = Ax

y = E{(y y )(y y )T } = E{(Ax Ax )(Ax Ax )T } = = E{A(x x )(x x )T AT } = AE{(x x )(x x )T }AT = Ax AT

Ejercicios:
La expresin anterior nos permite calcular la distancia media a puntos cualesquiera. Por ejemo plo, calcula E{||x||2 }, E{d2 (x, p)}, E{d2 (x, )}, E{d2 (x1 , x2 )}, E{(x )T 1 (x )}, etc., usando las propiedades siguientes: trz(x y T ) = xT y, trz(AB) = trz(BA), ||x||2 = xT x, d(x, p) = ||xp||. La traza de una matriz A, trz A, es la suma de los elementos de la diagonal.

Direcciones principales. La media de las proyecciones y = aT x de una poblacin de o T 2 vectores x sobre una direccin a es y = a x y la varianza de las proyecciones es y = o aT x a:

Probabilidad

C.2 Poblaciones Multidimensionales

199

Para cualquier direccin, denida por un vector unitario a, tenemos una proyeccin de los o o elementos x y una varianza asociada a esa proyeccin. Es importante saber en qu direcciones o e una poblacin tiene mayor (y menor) dispersin. Es fcil demostrar que los vectores propios de o o a la matriz de covarianza son las direcciones principales de la poblacin y los valores propios o correspondientes son las varianzas de la poblacin en esas direcciones. o
Hemos visto que cuando las observaciones sufren una transformacin y = Ax la matriz o de covarianza cambia a y = Ax AT . Un tipo especial de transformacin lineal es la o rotacin, que gira los objetos alrededor del origen. Es equivalente a cambiar a otros o ejes de coordenadas. Una matriz de rotacin R se caracteriza por tener det R = 1. o Est compuesta por un conjunto de las (o de columnas) ortonormales (||r i || = 1 y a r T r j = 0). Por otra parte, la matriz simtrica, real y semidenida positiva x puede e i expresarse como x = VT V donde es una matriz diagonal que contiene los valores propios de y V es la correspondiente matriz ortonormal de vectores propios (Seccin o A.3). Esto signica que la transformacin lineal y = Vx hace que la matriz de covarianza o resultante se haga diagonal: y = . Aplicando esa transformacin la nube de puntos se o expresa de la forma ms sencilla posible: todos los coecientes de covarianza se hacen a cero; las nuevas variables quedan descorreladas. Se ha hecho un cambio de base y los nuevos ejes son las direcciones principales de la poblacin: o

En la base original {x, y} las observaciones tienen varianza similar pero son bastante redundantes. En la base de componentes principales V = {v, w} hay una componente muy informativa (v), con gran varianza 1 . Es la componente principal de la poblacin. Observa que si las o componentes secundarias tienen muy poca varianza podr despreciarse sin gran deterioro de an las muestras originales. Esta idea es la base del mtodo de reduccin de dimensin explicado e o o en la Seccin 2.2.1. o Como el determinante de un operador es invariante a transformaciones ortonormales, det es proporcional al volumen ocupado por la nube (es el producto de los tamaos de los ejes n

200

C.2 Poblaciones Multidimensionales

Probabilidad

del hiperelipsoide que engloba a la nube). La traza tambin es invariante a rotaciones, por lo e que la trz nos da la suma de varianzas en los ejes principales.

Normalizacin. El tamao de las coordenadas de una cierta observacin depende de la o n o escala y el origen de coordenadas elegido. (P. ej., dependiendo de si utilizamos kilmetros o o mil metros, el nmero que describe una longitud ser grande o pequeo.) Por tanto es u a n conveniente utilizar medidas normalizadas, que tienen media cero y varianza (y desviacin) o unidad. En el caso multidimensional la normalizacin produce variables aleatorias con media o cero y matriz de covarianza identidad. Sea = VT V la descomposicin en valores y vectores propios de la poblacin x y sea o o su valor medio. La transformacin y = x produce observaciones centradas en el origen. o La transformacin y = V(x ) produce variables centradas y descorreladas (con matriz de o 1 covarianza diagonal ). Finalmente, la transformacin y = 2 V(x ) produce variables o normalizadas con media cero y matriz de covarianza indentidad (whitening ): las variables estn a descorreladas, y tienen todas desviacin t o pica unidad. La poblacin queda de forma esfrica. o e La distancia de Mahalanobis de un punto x a una distribucin con media y matriz de o covarianza se dene como:

d2 (x) = (x )T 1 (x )

Es la distancia a la media de la poblacin, expresada en unidades de desviacin t o o pica en la direccin de la muestra. Si es la matriz identidad la distancia de Mahalanobis se reduce a o la distancia eucl dea a la media. Es fcil comprobar que E{d2 (x)} = n, donde n es la dimensin del espacio. La desigualdad a o 2 de Markov garantiza que P{d(x) > k} < n/k .
En concreto, si la poblacin es gaussiana (Seccin C.3) la distribucin de la distancia de o o o Mahalanobis (al cuadrado) tiene media n y desviacin 2n. Curiosamente, en dimensin o o elevada las muestras se distribuyen en una especie de hiperdonut, dejando un hueco en el origen. Es muy improbable que todas las coordenadas tengan valores pequeos. n

Poblaciones degeneradas. Decimos que un conjunto de muestras est degenerado cuana do todas ellas se encuentran en una regin del espacio que no ocupa volumen; cuando su o envolvente est completamente aplastada (p. ej., tres puntos en el espacio siempre estn en a a un plano). En este caso una o ms direcciones principales tienen varianza nula y el determia nante de la matriz de covarianza es cero. Esto ocurre seguro si el nmero de observaciones es u menor que la dimension el espacio. Cuando hay un nmero suciente de muestras (mayor que la dimensin del espacio) y an u o u as estn degeneradas debemos sospechar que existe algn problema: si la densidad de proba a u bilidad que las ha generado es continua eso no podr ocurrir. a

Probabilidad

C.3 Modelo Gaussiano

201

Cuando la poblacin est degenerada no podemos calcular directamente sus direcciones ms o a a discriminantes (Seccin 2.2.2) o la distancia de Mahalanobis (Seccin 3.1). Una alternativa es o o calcular esas magnitudes en el subespacio de las componentes principales.

Distancia entre dos poblaciones. A veces es necesario determinar el grado de similitud entre dos poblaciones aleatorias. Es posible denir funciones de distancia entre nubes de puntos, caracterizadas por sus valores medios y sus matrices de covarianza.
Por ejemplo, una medida de distancia entre dos poblaciones podr ser la distancia media a entre muestras de una y otra poblacin: o E{||x1 x2 ||2 } = trz 1 + 2 + 1 T + 2 T 21 T 1 2 2 Pero tiene la desventaja de que no tiene en cuenta en ningn momento la correlacin u o entre variables (!). Otra posibilidad es la la distancia de Bhattachariya:
1 1 +2 2

1 + 2 1 B = (2 1 ) 8 2

1 + ln 2

|1 ||2 |

Est relacionada con la probabilidad de error ptima (Error de Bayes, Seccin 3.3.12) a o o en el problema de clasicacin de muestras de esas poblaciones. En concreto, EB < o P1 P2 exp(B), donde P1 y P2 son las probabilidad a priori de las clases. Tambin podr e amos calcular el valor esperado de la distancia de Mahalanobis de una poblacin a la otra: o E{d2 (x2 )} = d2 (2 ) + 1 2 1 1 1 donde el operador indica la multiplicacin elemento a elemento de dos matrices y la o suma de todos los elementos del resultado. En principio, un clasicador por m nima distancia, en este caso normalizada, funciona bien cuando la distancia de una muestra a su clase casi siempre es menor que a la clase contraria. Por tanto una medida de distancia entre dos poblaciones puede ser: D = m n(E{d2 (x2 ) n}, E{d2 (x1 ) n}) 1 2

C.3.

Modelo Gaussiano

La densidad de probabilidad ms importante es la normal o gaussiana: a

202

C.3 Modelo Gaussiano

Probabilidad

1 1 N (x, , ) = exp 2 2

En el caso multidimensional la expresamos como: 1 (2)


n 2

N (x, , ) =

1 exp (x )T 1 (x ) 2 ||

Los puntos de igual densidad de probabilidad son elipses centradas en la media cuyos ejes principales son los vectores propios de la matriz de covarianza . A continuacin se muestra o un ejemplo de campana de Gauss bidimensional y sus parmetros: a
3 2 1 0 -1

6 4 -2 0 2 4 6 -2 0 2

2 1 0.625 0.375 0.375 0.625

Algunas propiedades interesantes de la densidad normal son las siguientes:


Queda completamente determinada por los momentos estad sticos de primer y segundo orden ( y ). Es un buen modelo de medidas de una magnitud real, bien denida, contaminada con ruido. Es el modelo del resultado de muchos efectos (teorema del l mite central: la suma de muchas variables aleatorias independientes de casi cualquier distribucin o produce una distribucin normal). o Es la densidad de mayor entrop informativa H = p(x) log p(x)dx de todas a las que tiene igual y . general H = 1/2(log || + n log 2 + 1) y en el caso En unidimensional H = log 2e). Es el modelo ms sencillo, no aade informacin a n o adicional a y . Podemos escribir N (x, , ) = K exp 1 d2 (x) donde d2 (x) es la distancia de 2 Mahalanobis y K es una constante de normalizacin. o Una gaussiana multidimensional es el producto de varias gaussianas unidimensionales a lo largo de los ejes principales. Se pueden normalizar y descorrelar las componentes de x con la transformacin o 1 y = 2 VT (x ), donde = VT V es la descomposicin de valores y vectores o propios de . Las nuevas variables y tendrn media cero y matriz de covarianza a identidad (forma esfrica de desviacin unidad): e o

Probabilidad

C.3 Modelo Gaussiano

203

La magnitud = ln N (x, , ) = n ln 2 + 1 ln || + 1 d2 (x) es una especie 2 2 2 de distancia probabil stica de x a la poblacin (til para construir clasicadores o u gaussianos multiclase (Seccin 3.4.1)). o Si x tiene una distribucin normal {,} cualquier transformacin lineal y = Ax o o hace que las nuevas variables y sigan siendo normales con media y matriz de covarianza {A, AAT }. La densidad normal unidimensional estndar es N (x) = N (x, 0, 1). En lo que a sigue, donde dice x nos referimos a la variable normalizada x . La distribucin acumulada es G(x) N (x)dx. G() = 1, G(x) = o 1 x 1 G(x). Se suele expresar como G(x) = 2 + 1 erf ( 2 ) en trminos de la e 2
2 funcin de error erf (x) = 0 ey dy, que es una funcin especial cuyos vao o lores estn tabulados o disponibles en los entornos de clculo cient a a co. Una buena 1 aproximacin para valores extremos es G(x) 1 x N (x). o x y
2

La cola de la distribucin acumulada es C(x) = 1 G(x), de modo que P{x > o a} = C(a), y P{|x| > a} = 2C(a) (dos colas).

0.4

0.4

0.5

0.3

0.3

G x
-2 -1 -0.5 1 2

0.2

0.2

erf x
0.1 0.1

erf x
-1 -3 -2 -1 1

C x x
2 3 -3 -2 -1 1

El percentil xu de la distribucin normal es el x tal que P{x < xu } = u, o, lo que o es lo mismo, la inversa de la distribucin acumulada: xu = G1 (u). Por tanto, o P{x < xu } = G(xu ) = u. Los momentos impares son cero, y los momentos pares son E{xn } = 1 3 (n 1) n . Aqu tenemos algunos percentiles de la normal y el valor de las colas, utiles para fabricar intervalos de conanza (todas las columnas excepto la primera se dan en %):

204
1.00 1.29 1.65 2.00 2.33 2.58 3.08 xu

C.3 Modelo Gaussiano


C() 16 10 5 2.3 1 0.5 0.1 2C() 32 20 10 4.6 2 1 0.2 1 C() 84 90 95 97.7 99 99.5 99.9 u P{x < } 2. 1 2C() 68 80 90 95.4 98 99 99.8 P{|x| < }

Probabilidad

Por ejemplo, con 95.4 % de conanza x

El nmero a de xitos en n intentos de un suceso con probabilidad p tiene una u e distribucin binomial: o n a p (1 p)na a

B(a, p, n) =

Cuando p no es muy extrema B(a, p, n) N (a, np, np(1 p)). Por tanto la a frecuencia pn n se distribuye aproximadamente como N (n , p, p(1 p)/n). p Si n no es muy pequeo podemos estimar la desviacin como pn (1 pn )/n y n o usar el percentil deseado de la densidad normal para establecer un intervalo de conanza para p a partir de pn y n. Con conanza 99 %: p pn 2.58 pn (1 pn )/n

Por ejemplo, si observamos un suceso 10 veces en 100 intentos p (10 8) % (entre un 2 % y un 18 %(!)). Si lo observamos 1000 veces en 10000 intentos p (10 0.8) % (entre un 9 % y un 11 %). Estos intervalos son ms pequeos que los conseguidos con la desigualdad de a n Tchevichev, que es vlida para cualquier p y n y por tanto ms conservadora. a a Con n = 100 obtenemos p (10 50) % (?) y con n = 10000 obtenemos p (10 5) %. El producto de dos gaussianas es otra gaussiana:
2 2 2 2 1 2 + 2 1 1 2 , 2 2 2 2 1 + 2 1 + 2

N (x, 1 , 1 ) N (x, 2 , 2 ) = N

x,

1 , 2 ,

2 2 1 + 2

Esta propiedad (conjugacin) es muy importante en aplicaciones de inferencia o probabil stica. La transformada de Fourier (Seccin B) de una gaussiana es otra gaussiana con o desviacin inversa: o FN (x, 0, ) = N (, 0, 1 ) Cuanto mayor es el radio de un suavizado gaussiano (Seccin 6) ms estrecha o a es la banda de frecuencias que se preservan en la seal. n

Probabilidad
Distribucin 2 . o

C.4 Inferencia Probabil stica

205

C.4.

Inferencia Probabil stica

Simplicando al mximo, muchos problemas de la ciencia y la ingenier podr formularse a a an como el estudio de la relacin R entre dos variables x e y, con el objetivo de predecir lo mejor o posible una de ellas a partir de la otra. La forma que posee la relacin entre ellas indica el o grado de dependencia. Dada una observacin xo , nuestra prediccin ser el conjunto de valores o o a de y relacionados con xo .
Es conveniente recordar conceptos de teor de conjuntos como pertenencia, inclusin, a o unin, interseccin, complemento, producto cartesiano, cardinalidad, ordenacin, cono o o junto potencia, etc. Un subconjunto se asocia con un predicado o concepto. Una relacin o es un subconjunto del producto cartesiano de los conjuntos involucrados: R X Y . Una funcin es una relacin en la que el primer elemento de cada par aparece una sola o o vez. La funcin es total si todos los primeros elementos aparecen. Si es uno a muchos o podr amos decir que es no determinista. Si es muchos a uno no es invertible. La inferencia consiste en averiguar lo desconocido (y) a partir de lo conocido (x), dada una cierta relacin R entre ellos. Normalmente deseamos obtener el subconjunto de los o y relacionados con un xo observado:

Tambin puede plantearse de manera ms general como la obtencin de los y consise a o tentes con un suceso A (otra relacin entre x e y): o

Si a la relacin R le aadimos una funcin p(x, y) que mide la frecuencia con que aparece cada o n o par (x, y), la prediccin de los valores y relacionados con una observacin xo puede mejorarse, o o pasando de un simple conjunto de posibilidades a una funcin (densidad de probabilidad cono dicionada) que indica la frecuencia relativa con que aparecer cada uno de los posibles valores a y relacionados con xo :

206

C.4 Inferencia Probabil stica

Probabilidad

p y xo
-2 -1 y 0 1 2 -2

p x,y

xo
-1

1 0 x

p(y|xo ) =

p(xo , y) = p(xo )

p(xo , y) p(xo , y)dy

El resultado de la inferencia es la densidad condicionada p(y|xo ). Se calcula sencillamente como el corte (normalizado) de la densidad conjunta a travs del valor observado xo . e En principio la inferencia es reversible: los papeles de x e y son intercambiables; de acuerdo con nuestros intereses podemos calcular p(x|y) o p(y|x). Si la variable deseada es continua hablamos de regresin y si es discreta de clasicacin. o o
Por supuesto, es posible obtener densidades condicionadas a sucesos ms generales que a la simple observacin de una variable. P. ej., podemos restringir ambas variables a un o cierto suceso (regin) R: o p(x, y|R) = p(x, y)IR P{R} p(x, y)dxdy
R

P{R} =

IR denota la funcin indicadora del conjunto R: IR (x, y) = 1 si (x, y) R y IR (x, y) = o 0 si (x, y) R. Si slo nos interesa una de las variables marginalizamos la otra: o

p(y|R) =

p(x, y|R) =

R p(x, y)dx

P{R}

Reglas probabil sticas. Dada una expresin del tipo p(x, y|z, v) las reglas para introducir o o eliminar variables en cualquier lado del condicionamiento son las siguientes:
Conjuncin (aadir a la izquierda): o n p(x|z) p(x, y|z) = p(x|y, z)p(y, z) en particular, p(x, y) = p(x|y)p(y). Condicionamiento (aadir a la derecha): n

Probabilidad

C.4 Inferencia Probabil stica

207

p(x|v) p(x|z, v) =

p(x, z|v) p(z|v)

en particular, p(x|z) = p(x, z)/p(z). Marginalizacin (eliminar a la izquierda): o

p(x, y|z) p(x|z) =

p(x, y|z)dy

en particular p(x) =

p(x, y)dy.

Desarrollo (eliminar a la derecha):

p(x|z, v) p(x|v) =

p(x|z, v)p(z|v)dz

en particular, p(x) =

p(x|z)p(z)dz.

Estimadores. Adems de la densidad condicionada resultante de la inferencia, en muchos a casos nos gustar dar una prediccin concreta, calcular un estimador y . Este depender del a o a coste que deseamos minimizar. P. ej., si la variable y que deseamos predecir es continua y lo que deseamos es acercarnos lo ms posible a valor real en el sentido del error cuadrtico a a 2 medio M SE = E{( y) }, el estimador optimo es la media de la densidad condicionada: y y (xo ) = E{y|xo } = p(y|xo )dy. Si preferimos minimizar las desviaciones absolutas M AE = E{| y|} (en cierto sentido un criterio ms robusto), entonces el estimador ptimo es y a o la mediana de la densidad condicionada. Cuando deseamos predecir variables nominales (en problemas de clasicacin) no tiene mucho sentido acercarnos ms o menos al valor real, o a sino acertar ese valor. En este caso se debe elegir como estimador la moda de la densidad condicionada, que minimiza la probabilidad de error (funcin de coste 0-1, ambos errores tienen o el mismo coste). En resumen, toda la informacin sobre y dado xo est contenida en la funcin p(y|xo ), que o a o es la que habr que suministrar como resultado; a pesar de todo, esa funcin se suele resumir a o mediante ciertas propiedades como la media, la mediana, la moda, intervalos de conanza, etc. Pero estas formas resumidas de la densidad condicionada no tienen mucho sentido, p. ej., si las densidades son multimodales.

Teor de la Decisin. Supongamos que debemos tomar una decisin o prediccin di a a o o o elegir entre un cierto conjunto de posibilidades, y que el mundo externo puede contestar con un estado real o consecuencia rj . Construyamos una tabla Li,j con el coste (loss) que supone predecir di cuando la realidad es rj (en el caso continuo tendr amos una funcin L(d, r)): o

208

C.4 Inferencia Probabil stica

Probabilidad

Obviamente, si conocemos rj debemos decidir la di de m nimo coste. Si no se conoce y el mundo externo no es un adversario inteligente con sus propios intereses podemos adoptar p. ej., una estrategia minimax. Cuando tenemos informacin probabil o stica p(r) sobre el estado real (t picamente p(r|xo ), donde xo es el resultado de alguna medida relacionada con el problema) podemos evaluar el riesgo R(d) de cada alternativa, que es el valor esperado del coste al tomar esa decisin. En o el caso discreto tenemos R(di ) = j L(di , rj )p(rj ) (la suma de cada la de L ponderada con las probabilidades de r). En el caso continuo R(d) = r L(d, r)p(r)dr. La decisin ptima en vista de la informacin disponible p(r) y nuestra funcin de coste L es o o o o la que minimiza el riesgo R(d).
Ten en cuenta que si nos enfrentamos a un adversario inteligente, ste tendr su propia e a tabla de costes: entramos en el dominio de la Teor de Juegos: a

En este caso podr ser necesario randomizar nuestra estrategia de decisin para resultar a o imprevisibles.

Inferencia Bayesiana. Dada una nueva observacin x, calculamos la distribucin a posteo o riori p(r|x) de la variable de inters r dada la observacin x y elegimos la decisin que minimiza e o o el riesgo a posteriori : R (d) = Ep(r|x) {L(d, r)}. Nuestro modelo de la incertidumbre sobre r se actualiza con x. La distribucin a priori p(r) se convierte en la distribucin a posteriori o o p(r|x). En general, la Teor Estad a stica de la Decisin utiliza informacin emp o o rica para construir modelos probabil sticos de la incertidumbre. El enfoque bayesiano tiene la ventaja de que hace expl cito: La informacin a priori . o El coste a minimizar en la decisin. o Otros enfoques tienen esos ingredientes impl citos. P. ej., un test de hiptesis clsico establece o a una hiptesis nula H0 (no ocurre nada especial) y construye la distribucin del observable o o bajo esa hiptesis: p(x|H0 ). Si la observacin no es muy extrema mantenemos la hiptesis o o o nula: nuestra observacin es compatible con una uctuacin aleatoria t o o pica. En caso contrario,

Probabilidad

C.5 Inferencia Probabil stica en el caso Gaussiano

209

si la observacin es signicativamente extrema, rechazamos la hiptesis nula y adoptamos la o o alternativa: s ocurre algo especial:

Sin embargo, el procedimiento anterior no nos dice nada sobre la probabilidad que tienen las hiptesis nula o la alternativa de ser ciertas. En contraste, en el enfoque bayesiano se o especican unas probabilidades a priori para H0 y H1 (podemos elegir distribuciones a priori no informativas) y se actualizan con la observacin x para obtener P{H0 |x} y P{H1 |x}: o

C.5.

Inferencia Probabil stica en el caso Gaussiano

Las reglas de condicionamiento y marginalizacin que aparecen en la regla de Bayes se puedean o aplicar de forma exacta y eciente (en forma cerrada) cuando las variables de inters siguen e una ley de probabilidad conjunta Gaussiana. Esto da lugar a muchas aplicaciones prcticas: a Filtro de Kalman (C.6), Procesos Gaussianos (4.8), etc. Si reordenamos las variables de forma que haya dos grupos (x, y) la densidad conjunta se puede expresar en funcin de las medias y matrices de covarianza de cada grupo y la covarianza o cruzada entre los dos grupos de variables. x xy , xx y yx yy a A C , T b C B

p(x, y) N

=N

C.5.1.

Marginalizacin o

La densidad marginal de cualquier grupo se obtiene simplemente seleccionando las variables deseadas tanto en la media como en la matriz de covarianza. Por ejemplo, para y:

p(y) N y yy = N (b, B)

210

C.5 Inferencia Probabil stica en el caso Gaussiano

Probabilidad

C.5.2.

Condicionamiento

La densidad de un grupo de variables condicionada a la observacin de otro grupo de variables o es tambin gaussiana y se puede expresar de la siguiente forma: e p(y|x) N b + CT A1 (x a), B CT A1 C (C.1)

Es interesante observar que la matriz de covarianza de la densidad condicionada es el complemento de Schur1 del bloque que condiciona (seleccionamos las las y columnas de las variables de inters de la matriz de covarianza inversa), y no depende de la observacin concreta x. Por e o supuesto, la media condicionada s depende: su valor es la hipersupercie de regresin, don o de juega un papel esencial al covarianza cruzada entre los dos grupos de variables. De hecho, la media condicionada se puede reinterpretar fcilmente en trminos de la pseudoinversa que a e aparece en la regresin lineal por m o nimo error cuadrtico. Si deseamos encontrar una transfora macion W tal que y Wx y tenemos un conjunto de pares (xk , y k ) organizados por las en las matrices X y Y, la transformacin que minimiza ||XWT Y||2 es WT = X+ Y = (XT X)1 XT Y, donde o encontramos las estimaciones a partir de muestras de xx = A y yx = CT en la expresin o anterior. demostracin o ejemplo En ocasiones estamos interesados realizar inferencia sobre unas variables x a partir de la observacin de una cierta funcin de ellas: y = f (x). Si x es normal y la funcin f es lineal o o o podemos obtener fcilmente la densidad conjunta p(x, y) y realizar el condicionamiento como a se acaba de explicar. Concretamente, sea p(x) N (, P) y f (x) = Hx con ruido gaussiano aditivo de media o y covarianza R. Esto signica que p(y|x) N (Hx + o, R). Entonces la densidad conjunta p(x, y) es normal y tiene la siguiente media y matriz de covarianza2 : p(x, y) N La densidad marginal p(y) es: p(y) N H + o, HPHT + R Y la densidad condicionada contraria p(x|y) es: p(x|y) N ( + K(y H o), (I KH)P)
1 2

P PHT , H + o HP HPHT + R

(C.2)

Es el nombre que recibe el proceso de eliminacin gaussiana por bloques al resolver sistemas de ecuaciones. o La media y covarianza de y y la covarianza cruzada entre x y y que aparecen en esta expresin se deducen o fcilmente de la linealidad del valor esperado. a

Probabilidad donde

C.6 Filtro de Kalman

211

K = PHT (HPHT + R)1 Esta expresin est construida de manera que a partir de la observacin y corregimos la o a o informacin sobre x con una ganancia K que depende del balance entre la incertidumbre a o priori P, el ruido de la medida R, y el modelo de medida H. Una expresin alternativa para la inferencia bayesiana con modelos gaussianos es la siguiente: o modelo de medida prior = posterior evidencia p(y|x) p(x) = p(x|y) p(y) N (y|Hx + o, R) N (x|, P) = N (x| y , Q) N (y|H + o, HPHT + R) La incertidumbre inicial sobre x era P, que se reduce a Q tras la observacin de y: o Q = (P1 + HT R1 H)1 Y el estimador de x se actualiza de a y , que puede expresarse como una combinacin o ponderada de la observacin y la informacin a priori: o o

y = (QHT R1 )(y o) + (QP1 ) La evidencia p(y) es la verosimilitud de la medida y teniendo en cuenta todos los posibles x (convolucin de dos gaussianas). Juega un papel esencial en la seleccin de modelos. o o

C.6.
C.6.1.

Filtro de Kalman
Motivacin o

Consideremos un sistema que evoluciona de acuerdo con una ley dinmica xt+1 = F (xt ). a

Nuestra informacin acerca del estado tiene incertidumbre, que va aumentando a medida que o pasa el tiempo:

212

C.6 Filtro de Kalman

Probabilidad

Supongamos que podemos observar alguna propiedad del estado z = H(x): Lgicamente, lo o ideal ser poder medir directamente el estado (en cuyo caso z = x) y el problema ser a a trivial. Pero lo normal ser que tengamos informacin incompleta y ruidosa: z ser alguna a o a propiedad que depende de unas pocas componentes de x. Por ejemplo, si deseamos estimar la trayectoria de un objeto mvil usando una cmara, el estado incluye coordenadas de posicin o a o y velocidad, pero la observacin slo registra informacin de posicin. A primera vista, el o o o o problema parece imposible de resolver, ya que estamos intentando obtener una especie de modelo inverso H 1 del proceso de medida, capaz de reconstruir el estado completo a partir de informacin parcial: o

Aunque ese modelo inverso no puede existir, la informacin proporcionada por la observacin o o reduce la incertidumbre sobre el estado completo. La gura siguiente muestra intuitivamen te que la discrepancia entre la medida prevista z y la realmente observada z actualiza la distribucin de probabilidad del estado: o

En la prctica tenemos una serie de observaciones z t tomadas a lo largo de la evolucin del a o sistema, con las que podemos aplicar recursivamente el proceso de inferencia en una secuencia de pasos de prediccin-correccin del estado xt : o o

Probabilidad

C.6 Filtro de Kalman

213

El resultado efectivo es que conseguimos invertir el modelo del proceso de observacin, o aunque H 1 como tal no exista. La reduccin global de incertidumbre sobre el estado a partir o de informacin incompleta se consigue porque la ley de evolucin dinmica establece una o o a dependencia entre las variables de estado que tienen reejo en la observacin y las de tipo o latente.
En el ejemplo del objeto mvil, cuyas variables de estado son posicin y velocidad, y o o la observacin depende slo de la posicin, la velocidad puede estimarse a travs de la o o o e dependencia de la posicion siguiente respecto a la posicin y velocidades anteriores. Lo o interesante es que una estimacin de esa velocidad se conseguir de forma automtica, o a a sin necesidad de construirla expl citamente a partir de las observaciones o las estimaciones de posicin. o Debido a esto, no tiene mucho sentido procesar las magnitudes observables crudas tratando de obtener propiedades ms o menos interesantes que faciliten el proceso de a inferencia, sino que deber utilizarse directamente en z, dejando que las leyes de la an probabilidad hagan su trabajo.

Vamos a modelar matemticamente el problema. En el instante t la informacin que tenemos a o sobre el estado se describe mediante una densidad de probabilidad p(xt ). La ley de evolucin o F y el modelo de medida H son aproximaciones ms o menos razonables a determinandos a procesos reales, en donde tenemos que incluir componentes de ruido RF y RH : xt+1 = F (xt ) + RF

z t+1 = H(xt+1 ) + RH Nuestro objetivo es actualizar la informacin sobre el estado a partir de una nueva observacin: o o p(xt ) p(xt+1 |z t+1 ) = p(xt+1 , z t+1 ) p(z t+1 )

En general es muy dif obtener una expresin compacta para esta densidad condicionada. Solo cil o puede hacerse de forma anal tica con familias muy concretas de densidades de probabilidad. Adems, hay que calcular cmo evoluciona la incertidumbre acerca del estado a causa de a o las leyes dinmicas, y tambin la distribucin de probabilidad de la observacin. Estos pasos a e o o

214

C.6 Filtro de Kalman

Probabilidad

requieren calcular la distribucin de una funcin de una variable aleatoria, que tampoco tiene o o solucin anal o tica general.

C.6.2.

Algoritmo

A pesar de estas dicultades, el problema se puede resolver de forma satisfactoria en muchas situaciones prcticas. En el caso ms simple, tanto la ley dinmica F como el modelo de a a a observacin H son funciones lineales y la incertidumbre sobre el estado, el ruido del sistema o y el de la observacin son aditivos y de tipo gaussiano. En este caso, el procedimiento de o estimacin recursivo del estado a partir de las sucesivas observaciones se conoce como Filtro o de Kalman, y tiene una expresin algor o tmica particularmente elegante. Partimos de que la incertidumbre sobre el estado es normal: p(xt ) N (, P). Como la ley dinmica es lineal, xt+1 = Fxt , y el ruido del sistema es aditivo, independiente del estado, y a gaussiano con media cero y covarianza S, la dinmica se expresa como p(xt+1 |xt ) N (Fxt , S). a Desarrollando con p(xt ) conseguimos una expresin compacta para la incertidumbre del estado o en el instante de tiempo siguiente: p(xt+1 ) N (F, FPFT + S). Por simplicidad, denimos = F y P = FPFT +S. La funcin de observacion tambin es lineal, z t+1 = Hxt+1 , con ruido o e gaussiano de covarianza R, por lo que el modelo probabil stico de observacin es p(z t+1 |xt+1 ) o N (Hxt+1 , R). Estos dos ingredientes nos permiten construir la densidad conjunta usando la eq. C.2: p(z t+1 |xt+1 )p(xt+1 ) = p(xt+1 , z t+1 ) N P , HP H P HT HP HT + R

La unica diferencia, aparte del cambio de nombre de variable z por y, es que por simplicidad hemos omitido el posible oset de F y H, y que es necesario un paso intermedio para obtener la prediccin de y P con la ley dinmica. El valor medio y la matriz de covarianza de o a la estimacin de xk+1 actualizado al incorporar la observacin z t+1 puede expresarse con o o cualquiera de las formas mostradas en la seccin anterior, aunque es tradicional usar la ganancia o de Kalman K. El algoritmo quedar as dadas las transformaciones F y H, con ruido modelado mediante a : matrices de covarianza S y R respectivamente, la informacin sobre x, en forma de media o y matriz de covarianza P, se actualiza con una nueva observacin z de la siguiente forma: o F P FPFT + S z H K P HT (HP HT + R)1 +K P (I KH)P (correccin) o (evolucin del estado) o (discrepancia entre la observacin y su prediccin) o o (ganancia de Kalman)

Probabilidad Ejercicios:

C.7 UKF

215

Comprueba el funcionamiento del ltro de Kalman en algn caso muy simple no trivial. Por u ejemplo, podemos estudiar un movimiento rectil neo uniforme con velocidad desconocida, donde observamos la posicin con ruido gaussiano . o

C.7.

UKF

pendiente

C.8.

Filtro de Part culas

pendiente

216

C.8 Filtro de Part culas

Probabilidad

Apndice D e Optimizacin o
D.1. Operadores diferenciales

La generalizacin del concepto de derivada para funciones de varias variables se basa en el o operador diferencial
x1 x2

. . .
xn

Si lo aplicamos a una funcin escalar f : Rn R produce el gradiente de la funcin: un o o vector de Rn que apunta en la direccin de mximo crecimiento. Por ejemplo, el gradiente de o a f (x1 , x2 ) = x1 sin(x2 ) es el vector f = [sin x2 , x1 cos x2 ]T . En el caso de funciones lineales y cuadrticas podemos escribir expresiones compactas: a ax=a ||x||2 = 2x xT Ax = 2Ax Esta ultima expresin es similar a la de la derivada de la funcin escalar ax2 . o o
1

Cuando tenemos una transformacin (una funcin que a partir de un vector produce otro), o o podemos aplicar el operador de dos maneras. Como producto escalar ( T f ) obtenemos la divergencia del vector (un escalar). Por ejemplo:

En realidad sto slo es vlido si A es simtrica. En caso contrario tendr e o a e amos (A+AT )x, pero cualquier funcin o T T x Ax se puede escribir como x A x, en funcin de la matriz simtrica A = 1/2(A + AT ). o e

218

D.2 Sistemas de ecuaciones lineales sobredeterminados. Optimizacion

Ax = trzA Alternativamente, si lo aplicamos a cada componente de la funcin ( f T ), obtenemos una o matriz J cuyos elementos son las derivadas de cada componente respecto a cada variable: Ji,j = fj xi

Su determinante es el jacobiano de la transformacin, utilizado p.ej. para hacer cambios de o variable en integrales multidimensionales.
Supongamos que deseamos integrar una funcin f (x). Si cambiamos a un sistema o de coordenadas y(x) (donde t picamente la integracin es ms fcil), el elemento de o a a volumen dx cambia de acuerdo con el jacobiano de la transformacin: o f (x)dx = f (x(y)) dy |J(y)|

Si lo aplicamos dos veces aparecen segundas derivadas. Pero como es un vector, podemos T combinarlo de dos maneras: T o . En el primer caso se obtiene un escalar (el laplaciano):
n 2

=
i=1

2 x2 i

y en el segundo una matriz de derivadas segundas (el hessiano):


T

2 = xi xj

n i=1,j=1

que es util por ejemplo para hacer una expansin de segundo orden de una funcin de varias o o variables: E(x) 1 E(x0 ) + g T (x x0 ) + (x x0 )T H(x x0 ) 2
T

donde g = E(x0 ) es el gradiente y H = punto de inters x0 . e

E(x0 ) es el hessiano de la funcin E(x) en el o

D.2.
D.2.1.

Sistemas de ecuaciones lineales sobredeterminados.


No homogneos e

Consideremos un sistema de ecuaciones lineales determinado o sobredeterminado no homogneo, con m ecuaciones y n incgnitas, donde m n, que expresamos de forma compacta e o como:

Optimizacion

D.3 Descenso de Gradiente

219

Ax = b En general no ser posible obtener una solucin que resuelva exactamente todas las ecuaciones. a o Buscaremos una solucin aproximada, que minimice alguna funcin de coste razonable. La ms o o a sencilla es el error cuadrtico: a 1 ERMS (x) = ||Ax b||2 2 La solucin optima x verica ERMS (x ) = 0. Expandiendo la norma y calculando el grao diente obtenemos la siguiente condicin: o ERMS (x ) = AT Ax AT b = 0 de donde se deduce que x = (AT A)1 AT b que puede abreviarse como x = A+ b donde la matriz A+ (AT A)1 AT es la pseudoinversa de A. En un sistema de ecuaciones sobredeterminado la pseudoinversa A+ juega el mismo papel que el de la inversa ordinaria A1 en un sistema determinado (p.ej., si m = n la solucin optima o 1 se reduce a x = A b). Hay ms informacin sobre la pseudoinversa en el apndice A.4. a o e

D.2.2.
Vase A.4. e

Homogneos e

D.3.

Descenso de Gradiente

Una forma de buscar un mximo local de una funcin continua f : Rn R consiste en a o explorar el entorno de una solucin tentativa y moverse poco a poco hacia posiciones mejores. o Evidentemente, este tipo de optimizacin local de fuerza bruta es inviable en un espacio de o dimensin elevada, ya que cada punto tiene un nmero enorme de direcciones a su alrededor. o u Sin embargo, si f es diferenciable, a la vez que calculamos el coste de una aproximacin a o la solucin xk , podemos obtener con muy poco esfuerzo adicional la direccin f (xk ) en o o la que un movimiento pequeo aumentar el valor de la funcin. La correccin se expresa n a o o t picamente as :

220

D.4 Mtodo de Newton e

Optimizacion

xk+1 xk + E(xk ) y puede representarse grcamente como: a

Los extremos (mximos o m a nimos) de la funcin son pntos cr o u ticos, que verican Cuando se llega a ellos la correccin se hace cero. o

f = 0.

Hay que tener en cuenta que la optimizacin slo progresar si el movimiento (controlado por o o a el coeciente ) es sucientemente pequeo. Es un mtodo local: si la funcin tiene varios n e o mximos locales este mtodo encontrar alguno que depende del punto de partida. A veces a e a se producen trayectorias en zig-zag, debido a que la direccin de mximo crecimiento en un o a punto no es exactamente la misma que la que nos llevar en l a nea recta a la solucin. (Para o remediar esto existen tcnicas ms avanzadas como la del gradiente conjugado.) e a El mtodo anterior tiene en cuenta informacin de primer orden, que modela f como un e o hiperplano. Pero evidentemente, si tiene un extremo, cerca de l ser parecida a una montaa e a n ms o menos suave. El modelo ms simple de este tipo es una funcin cuadrtica (paraboloide), a a o a que podemos estimar usando segundas derivadas para intentar llegar directamente a la solucin o en un solo paso. Como la aproximacin no ser perfecta, en realidad sern necesarios varios o a a pasos de optimizacin. Pero cada uno de ellos nos acercar mucho ms a la solucin que o a a o las correcciones basadas unicamente en el gradiente. La forma de hacer esto se explica en el apartado siguiente.

D.4.

Mtodo de Newton e

Supongamos que deseamos resolver el sistema de ecuaciones no lineal f (x) = 0, donde f : Rn Rm . Podemos hacer un desarrollo en serie de primer orden: f (x) f (x0 ) + L(x0 )(x x0 )

donde L(x) = f (x) es una matriz (m n) que tiene como las los gradientes de cada una de las componentes de f . Para conseguir f (x) = 0 tenemos que resolver un sistema lineal de ecuaciones para la correccin x = (x x0 ): o L(x0 )x = f (x0 )

Optimizacion

D.4 Mtodo de Newton e

221

Si m = n es un sistema determinado ordinario. Si hay ms ecuaciones que incgnitas (m > n) a o tenemos un sistema sobredeterminado que podemos resolver con la pseudoinversa:

x = L(x0 )+ f (x0 )

La trayectoria hacia la solucin se puede escribir como una secuencia de correcciones a partir o de un punto arbitrario x0 :

xk+1 = xk L(xk )+ f (xk )

Si en lugar de resolver un sistema de ecuaciones f (x) = 0 deseamos encontrar el mximo (o el a m nimo) de una funcin escalar g(x), podemos utilizar el mtodo anterior con f (x) = g(x) o e para buscar algn punto cr u tico de g. Esta aproximacin lineal al gradiente equivale a una o T aproximacin cuadrtica a la funcin, y entonces la matriz L(x) = o a o g es el hessiano de g. Cada iteracin tiene la forma: o

g)x = g

Si g es realmente cuadrtica se llega a la solucin en un solo paso. a o


e Veamos esto en detalle. Sea g(x) = a + bT x + 1 xT Cx, donde C es simtrica. Su 2 gradiente es g(x) = b+Cx y por tanto el extremo es la solucin de g(x ) = 0, que es o x = C1 b. En realidad no conocemos b y C, sino que estamos en una posicin x0 ms o a o menos alejada de la solucin. Pero es inmediato calcularlos numricamente a partir del o e T g| gradiente y el hessiano en ese punto. La matrix C es directamente el hessiano x0 que no depende de la posicin debido a que suponemos que g es slo cuadrtica, no tiene o o a trminos de tercer orden. El gradiente s depende de la posicin, pero como conocemos e o C es inmedianto deducir b = d Cx0 , donde d = g|x0 . Por tanto el extremo de g se encuentra en:

x = C1 (d Cx0 ) = x0 C1 d

Si el modelo cuadrtico no es apropiado puede usarse el mtodo de Levenverg-Marquardt, que a e combina inteligentemente el mtodo de Newton y el descenso de gradiente bsico. Consiste e a T en multiplicar la diagonal del hessiano ( g) por un coeciente (1 + ), donde se adapta dinmicamente tomando un valor grande en las zonas de la trayectoria en las que la correca cin cuadrtica normal no disminuye signicativamente el error. En esos casos el hessiano o a modicado se parece ms a (algo proporcional a) la matriz identidad y la correccin se basa a o esencialmente en el gradiente.

222

D.5 Aproximacin de Gauss-Newton o

Optimizacion

D.5. D.6.

Aproximacin de Gauss-Newton o Optimizacin con restricciones o

En ciertos casos deseamos obtener el extremo (mximo o m a nimo) de una funcin f : Rn o R sobre una regin restringida del espacio, denida mediante un conjunto de condiciones o k (x) = 0, o con desigualdades k (x) > 0. Veamos primero las restricciones de igualdad. La condicin que cumple un extremo sin reso tricciones es f (x) = 0. En principio podr amos introducir las restricciones expl citamente haciendo un cambio de coordenadas. Si hay r restricciones las n variables originales se pueden convertir en n r variables nuevas, ya sin restricciones. La funcin objetivo f se expresar o a en funcin de estas nuevas coordenadas, y podr o amos encontrar el extremo usando el procedimiento habitual.
Supongamos que queremos encontrar el m nimo de f (x, y) = 1/2(x2 + y 2 ) en la curva (x, y) = y ln x = 0. Si eliminamos y = ln x tenemos la funcin restringida f (x) = o 1/2(x2 + 2 ln x), cuyo extremo verica f = 0, que en este caso se reduce a x + x1 ln x = 0, cuya solucin es x 0.65. Y de ah obtenemos y 0.43. o cambiar el ejemplo

Sin embargo, el mtodo de los multiplicadores de Lagrange es mucho ms sencillo y directo. e a Consiste en denir una nueva funcin objetivo (llamada lagrangiano) que incluye la original y o una combinacin lineal de las restricciones: o L(x, ) = f (x) + 1 1 (x) + 2 2 (x) + . . . El lagrangiano tiene ms variables que la funcin original, pero, a cambio, sus puntos cr a o ticos ( L(x, ) = 0), ya sin restricciones, coinciden con los extremos de f sujeta a las restricciones . Las variables auxiliares (multiplicadores) suelen descartarse, aunque en algunos casos pueden tener una interpretacin interesante. o
Por ejemplo, el problema anterior se resuelve creando la funcin L(x, y, ) = 1/2(x2 + o y 2 ) + (y ln x). Sus puntos cr ticos, L = 0, dan lugar a las condiciones: L = x = 0, x x L = y + = 0, y L = y ln x = 0

De las dos primeras eliminamos y deducimos que x = y/x. Con la tercera obtenemos x = x1 ln x, exactamente la misma condicin que antes. o

Las ventajas aparecen realmente cuando hay un nmero grande de restricciones complicadas, u ya que evita reparametrizar la funcin con algn conjunto adecuado de variables, lo que noro u malmente es inviable. Pero hay que tener en cuenta que el punto cr tico del lagrangiano es un punto de silla (un mximo respecto a unas variables y un m a nimo respecto a otras), por lo que su computacin numrica no puede hacerse de forma ingenua con una simple minimizacin. o e o

Optimizacion

D.7 Programacin lineal o

223

El fundamento de este mtodo puede entenderse de forma intuitiva. Las restricciones e son hipersupercies de Rn donde tiene que estar la solucin; imagina una curva en el o plano. La funcin objetivo puede representarse mediante curvas de nivel. El mximo se o a conseguir en algn punto de la curva de restriccin que toque con una curva de nivel, a u o pero que no la cruce (si la cruza signica que hay posiciones vecinas permitidas con valores mayores y menores de la funcin). Si la funcin objetivo y las restricciones son o o suaves en el punto de contacto tendrn la misma tangente, sus vectores normales sern a a paralelos. El lagrangiano L es una forma compacta de expresar esta condicin en general: o las derivadas de L respecto a x imponen la condicin de que la normal a las curvas de o nivel ( f ) es una combinacin lineal de las normales a las restricciones ( k ), y las o derivadas respecto a hacen que las restricciones k (x) tomen exactamente el valor 0.

Cuando hay restricciones de desigualdad, del tipo k (x) > 0, se puede utilizar un procedimiento similar al anterior teniendo en cuenta que, en la solucin optima, algunas desigualdades o se cumplirn estrictamente (como igualdades) y otras con margen. Estas ultimas se pueden a ignorar en el anlisis. Para formalizar esta idea se utilizan las condiciones KKT (Karusha Kuhn-Tucker). explicar mejor

D.7. D.8. D.9. D.10.

Programacin lineal o Programacin cuadrtica o a RANSAC Minimizacin L1 o

224

D.10 Minimizacin L1 o

Optimizacion

Apndice E e Expresiones utiles


E.1. Woodbury

La inversa de una matriz que sufre una actualizacin (t o picamente de rango pequeo) se puede n obtener mediante la siguiente expresin: o (C + AB)1 = C1 C1 A(I + BC1 A)1 BC1

E.2.

Completar el cuadrado

Para eliminar el trmino lineal en una expresin cuadrtica hacemos lo siguiente: e o a ax2 + bx + c = a(x h)2 + k donde h= b 2a b2 4a

k =c

226

E.2 Completar el cuadrado

Utilidades

Apndice F e Entornos de Clculo Cient a co


F.1. F.2. Matlab/Octave/R Mathematica/Maxima

228

F.2 Mathematica/Maxima

Calculo Cient fico

Bibliograf a
[1] C.M. Bishop. Neural Networks for Pattern Recognition. Oxford University Press, 1996. [2] C.M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006. [3] R.A. Brooks. http://www.ai.mit.edu/people/brooks/index.shtml. [4] C.J.C. Burges. A tutorial on support vector machines for pattern recognition. Knowledge Discovery and Data Mining, 2(2), (www.kernel-machines.org), 1998. [5] R.O. Duda and P.E. Hart. Pattern Classication and Scene Analysis. John Wiley and Sons (hay una nueva edicin del 2000), 1973. o [6] M. Ebden. Gaussian processes for regression: A quick introduction. [7] Pgina web de GeoBot. http://dis.um.es/~alberto/geobot/geobot.html. a [8] G.H. Golub and C.F. Van Loan. Matrix Computations. Johns Hopkins Univ Pr; 3rd edition, 1996. [9] R.C. Gonzalez and R.E. Woods. Digital Image Processing (2nd). Prentice Hall, 2002. [10] R. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision. Cambridge University Press, 2000. [11] J. Hertz, A. Krogh, and R. Palmer. Introduction to the Theory of Neural Computation. Addison-Wesley, 1991. [12] D.R. Hofstadter and FARG. Fluid Concepts and Creative Analogies. Basic Books, 1995. [13] E.T. Jaynes. Probability Theory. The Logic of Science. Cambrigde University Press, 2003. [14] Y. LeCun, L. Bottou, Y. Bengio, and P. Haner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):22782324, 1998. [15] M. Li and P. Vitnyi. An Introduction to Kolmogorov Complexity and Its Applications (2 a ed.). Springer Verlag, 1997. [16] P.E. Lpez-de-Teruel. Una Arquitectura Eciente de Percepci de Alto Nivel: Navegao o ci Visual para Robots Autnomos en Entornos Estructurados. Tesis Doctoral, Universio o dad de Murcia, http://ditec.um.es/~pedroe/documentos/Tesis.pdf, 2003. [17] G.J. McLachlan and T. Krishnan. The EM Algorithm and Extensions. John Wiley and Sons, 1997.

230

BIBLIOGRAF IA

BIBLIOGRAF IA

[18] K.-R. Mler, S. Mika, G. Rtsh, K. Tsuda, and B. Schlkopf. An introduction to kernelu a o based learning algorithms. IEEE Trans. on Neural Networks, 12(2):181202, 2001. [19] A. Papoulis. Probability, Random Variables, and Stochastic Processes. McGraw-Hill; 3rd edition (hay una 4 edicin del 2001), 1991. o [20] R. Penrose. Lo grande, lo pequeo y la mente humana. Cambrigde University Press, n 1997. [21] M. Pollefeys. Tutorial on 3D Modeling from Images.
http://www.esat.kuleuven.ac.be/~pollefey, 2000.

[22] L. Rabiner and B.-H. Juang. Fundamentals of Speech Recognition. Prentice Hall, 1993. [23] Carl Edward Rasmussen and Chris Williams. Gaussian Processes for Machine Learning. 2006. [24] J.R. Searle. El misterio de la conciencia. Paids, 1997. o [25] Richard Szeliski. Computer Vision: Algorithms and Applications. Springer, 2010. [26] E. Trucco and A. Verri. Introductory Techniques for 3D Computer Vision. Prentice Hall, 1998. [27] V. Vapnik. The Nature of Statistical Learning Theory. Springer Verlag, New York, 1995. [28] V. Vapnik. Statistical Learning Theory. Wiley, 1998.

Você também pode gostar