Momentos Daniel Bolaño Asenjo José Juan Corpas Martos Oscar D. Fernández Martínez Javier Gutiérrez Segura Trabajo dirigido sobre Momentos 2 Trabajo dirigido sobre Momentos 1 2 Introducción. .............................................................................................................. 4 Momentos Geométricos ............................................................................................. 5 2.1 Momentos Simples. ............................................................................................. 5 2.2 Momentos Centrales. ........................................................................................... 5 2.3 Momentos Centrales Normalizados. ................................................................... 6 2.4 Momentos de Orden 0. ........................................................................................ 6 2.5 Momentos de Orden 1. ........................................................................................ 6 2.6 Momentos de Orden 2. ........................................................................................ 7 2.7 Momentos de Orden 3. ........................................................................................ 8 2.8 Conclusiones. ...................................................................................................... 8 3 Momentos de Legendre ............................................................................................. 9 3.1 Reconstrucción de imágenes a través de los momentos de Legendre ............... 10 3.2 Resultados experimentales ................................................................................ 11 3.3 Ejemplos de aplicación de los momentos de Legendre a la reconstrucción de imágenes ...................................................................................................................... 12 4 Instalacion ................................................................................................................ 14 4.1 Desinstalación ................................................................................................... 18 4.2 Reinstalación ..................................................................................................... 20 5 Manual de usuario .................................................................................................... 22 5.1 Pantalla principal ............................................................................................... 22 5.2 Pantalla de momentos geométricos ................................................................... 23 5.3 Pantalla de Momentos de Legendre .................................................................. 28 3 Trabajo dirigido sobre Momentos 1 Introducción. El procesamiento de imágenes es un proceso que comprende una serie de pasos: 1. Capturar la imagen. Es importante conocer como ha sido capturada la imagen para tomar decisiones sobre el tratamiento de la imagen. Digitalización. Esta fase es la que permite que la imagen aparezca en la pantalla y está íntimamente relacionada con la fase anterior. Procesamiento de la imagen. Consiste en mejorar la imagen modificando, si fuera necesario, el contraste, el brillo, etc. Normalmente, los algoritmos que realizan estas operaciones son sencillos. Restauración. A menudo, esta etapa consiste principalmente en la eliminación de ruidos. Implica un conocimiento de la imagen. Analizar e identificar la imagen. El elemento fundamental de la pantalla es el píxel y en el se basará la aplicación para hacer los cálculos de momentos. La pantalla se representa mediante una matriz en la que cada elemento es un píxel. Por lo tanto, la representación que se usará es la matricial. El píxel ocupa un área, por lo tanto, se considera que el proceso de digitalización se ha realizado bien si un píxel es un rectángulo cuyo valor es la media de la radiación que llega a su rectángulo. La unión de todos los píxel se denomina grid, existen tres posibles tipos de grid, que aunque la aplicación no los tenga en cuenta y solo use uno de ellos, no está demás citarlos. - Triangular. - Rectangular. - Hexagonal. La aplicación solo tendrá en cuenta dos posibles valores en un píxel, 1 o 0, o bien encendido o apagado, obviamente, las integrales que se usan para calcular momentos, en este tipo de imágenes, es decir, imágenes digitales, se convertirán en suma, lo cual facilita bastante el calculo. Sería posible tener en cuenta los distintos tonos o colores que puede tomar un píxel, pero los cálculos de momentos se complicarían bastante, aunque el reconocimiento de imágenes sería más exacto. Los momentos son propiedades numéricas que se pueden obtener de una determinada imagen. El uso de momentos permite conocer bastante información de una imagen y tiene la ventaja de que no solo usa los bordes de una figura, sino que tiene en cuenta todos los píxeles de la misma. Se usan principalmente para reconocer una forma en una imagen. 4 Trabajo dirigido sobre Momentos 2 Momentos Geométricos 2.1 Momentos Simples. La teoría de los momentos proporciona una interesante y útil alternativa para la representación de formas de objetos. Si tenemos un objeto en una región que viene dado por los puntos en los que f(x,y)> 0, definimos el momento de orden p,q como: mpq = xp yq f(x,y) dx dy para p,q = 0,1,2,... El teorema de representación de los momentos nos dice que el conjunto infinito de momentos mp,q, p,q=0,1,... determinan unívocamente f(x,y) y viceversa. Tendremos una imagen digital definida por la función f(x,y), donde (x,y) son las coordenadas de un punto y f(x,y), el valor de ese punto; en el caso del aplicativo desarrollado, este valor será 0 si el punto es distinto de negro y 1 si es negro; si se hubieran tenido en cuenta los colores en una imagen este valor dependería del color del punto. Como se ha comentado anteriormente, al tratarse de imágenes digitales, el momento de orden (p+q) se define ahora como: M(p,q) = xy xp yq f(x,y) 2.2 Momentos Centrales. La aplicación más útil de los momentos son las funciones que podemos extraer de ellos, que son invariantes a transformaciones geométricas tales como traslación escalado y rotación. Los momentos centrales se usan para reconocer una imagen independientemente de su situación en un eje de coordenadas. Por ejemplo, la imagen de la Forma no sería igual que la imagen de la Forma Centrada, sin embargo, lo que es la figura en sí, es la misma. Para calcular los momentos centrales se usa el centroide de la figura. Para calcular los momentos centrales se usa: pq = (x-X)p (y-Y)q f(x,y) dx dy MCpq = (x-X)p (y-Y)q f(x,y) Y para calcular el centroide se usan los momentos de orden 1 y de orden 0. X = M(1,0) / M(0,0) Y = M(0,1) / M(0,0) El centroide o centro de masas de una figura viene determinado por las coordenadas (X,Y), de forma que el área de la figura que queda a la derecha e izquierda del punto X es la misma, al igual que el área que queda por encima y por debajo del punto Y. 5 Trabajo dirigido sobre Momentos 2.3 Momentos Centrales Normalizados. Si con los momentos simples obteníamos el área de una figura y por lo tanto no importaba si esta estaba invertida por ejemplo, para reconocerla; y con los momentos centrales distinguíamos una figura no importando si estaba desplazada; ahora con los momentos centrales se podrán reconocer figuras dentro de una imagen independientemente de su tamaño. Es decir, en nuestro ejemplo, la estrella ampliada es una estrella igual que la estrella normal y seguirá siendo una estrella por mucho que se amplíe o se reduzca. MCN(p,q) = MC(p,q) / MCβ(0,0) Donde: β = ((p + q) / 2) + 1 2.4 Momentos de Orden 0. Momentos Simples de Orden 0. M(0,0): Suma todos los píxeles cuyo valor es uno, es decir los que son distinto de blanco, por lo tanto calcula el área. El momento simple de orden 0 representa el área de la figura en imágenes binarias y la superficie en imágenes en escala de grises. Es la suma de los valores de todos los píxeles. Para ello nos basamos en la fórmula de los momentos simples. M (0,0) f ( x, y) x 2.5 y Momentos de Orden 1. Momentos Simples de Orden 1, M(1,0), M(0,1): Como hemos comentado anteriormente se usan principalmente para hallar el centro de masas de una figura. M (1,0) xf ( x, y) x M (0,1) yf ( x, y) y x y Momentos Centrales de Orden 1, MC(1,0), definición. U (1,0) ( x x)1 ( y y ) 0 f ( x, y ) x M (1,0) y M (1,0) M (0,0) M (0,0) MC(0,1): Estos momentos son 0 por U (0,1) ( x x) 0 ( y y )1 f ( x, y ) x M (0,1) y M (0,1) M (0,0) M (0,0) 6 Trabajo dirigido sobre Momentos Momentos Centrales Normalizados de Orden 1, MCN(1,0), MCN(0,1): Estos momentos son 0 por definición. 2.6 Momentos de Orden 2. Es donde comienza el análisis de las imágenes mediante el reconocimiento de formas, son de vital importancia en el calculo los momentos centrales. La densidad de la figura se multiplica por distancias al cuadrado desde el centro de masas o centroide (Inercia). U ( p, q) ( x x) p ( y y)q f ( x, y) x y Momentos Centrales de Orden 2. MC(2,0): Su valor aumentará cuanto mayor sea la componente horizontal de una figura. MC(0,2): Su valor aumentará cuando mayor sea la componente vertical de una figura. MC(1,1): Usa las componentes Horizontal y Vertical. Puede ser positivo o negativo dependiendo de donde se encuentre la componente vertical; si la componente vertical se encuentra en los cuadrantes 2º y 4º, entonces será negativo, si por el contrario está en los cuadrantes 1º y 3º entonces será positivo. Teniendo en cuenta esto es fácil deducir que una imagen simétrica respecto a los ejes, el MC(1,1) será 0. Matriz de Rotación: Los momentos centrales forman las componentes de la matriz de rotación, partiendo de estas componente se obtendrán tanto el Angulo de Rotación como la Excentricidad. | MC(0,2) | -MC(1,1) -MC(1,1) | MC(2,0) | Angulo de Rotación: Se define como el ángulo entre el eje de abscisas y el eje alrededor del cual la figura puede rotar con mínima inercia. Excentricidad: Si definiéramos una elipse que rodease la figura para que quedase fuera un área de la figura igual al área que quedase dentro de una elipse, y teniendo en cuenta que una elipse tiene 2 focos, la excentricidad se definiría como la distancia entre los dos focos. La excentricidad medida sobre figuras normalizadas se encuentra en un rango entre 0 y 1. Por ejemplo para un cuadrado la excentricidad resulta 0, lo mismo que para un circulo ya que la elipse coincide con el circulo, en cambio para una recta infinita, la excentricidad sería infinita y si estuviera normalizada entonces sería 1. 7 Trabajo dirigido sobre Momentos 2.7 Momentos de Orden 3. Estos momentos sirven para calcular los momentos invariantes. A partir de los momentos centrales normalizados de orden 2 y 3 se obtienen los siete momentos invariantes. Estos momentos, como su propio nombre indica, se mantienen invariantes ante rotaciones, traslaciones y cambios de escalas de una figura concreta I 1 N (2,0) N (0,2) I 2 ( N (2,0) N (0,2))2 4( N (1,1))2 I 3 ( N (3,0) 3N (1,2))2 (3N (2,1) N (0,3))2 I 4 ( N (3,0) N (1,2))2 ( N (2,1) N (0,3))2 I 5 ( N (3,0) 3N (1,2))(N (3,0) N (1,2)) ( N (3,0) N (1,2))2 3( N (2,1) N (0,3))2 (3N (2,1) N (0,3))(N (2,1) N (0,3)) 3( N (3,0) N (1,2))2 ( N (2,1) N (0,3))2 I 6 ( N (2,0) N (0,2)) ( N (0,3) N (1,2))2 ( N (2,1) N (0,3))2 4 N (1,1)(N (3,0) N (1,2))(N (2,1) N (0,3)) I 7 3N (2,1) N (0,3) N (3,0) N (1,2) N (3,0) N (1,2) 3N (2,1) N (0,3) 2 2 3N (1,2) N (3,0) N (2,1) N (0,3) 3N (3,0) N (1,2) N (2,1) N (0,3) 2.8 2 2 Conclusiones. Debido a los errores que se producen en el tratamiento de las imágenes, la resolución de las imágenes y la propia naturaleza digital de los datos, se producen una serie de errores en los cálculos. Se han usado imágenes en blanco y negro y procurando que no tengan ruido para obtener información más clara y con menos margen de error. Una posterior versión de este aplicativo podría tener en cuenta las distintas gamas de colores, de esta forma se obtendría un reconocimiento más fiable; y si además se añadirá una aplicación de eliminación de ruidos, se podría obtener un programa con más estabilidad que el presentado en este trabajo. Aplicaciones: –Construir una base de datos de momentos geométricos y emplearla como patrones para el reconocimiento de formas (aviones en vuelo,flores,peces,etc). 8 Trabajo dirigido sobre Momentos 3 Momentos de Legendre La utilización de los momentos de Legendre en la manipulación de imágenes surge con la necesidad de nuevas aplicaciones, siendo la más importante de ellas la reconstrucción de una imagen a través de las características matemáticas que nos proporcionan los momentos. La reconstrucción mediante el uso de los momentos geométricos es muy costosa y sobre todo propensa a grandes errores de cálculo, lo cual la hace prácticamente inviable y poco fidedigna. Los momentos de Legendre de orden (p,q) se definen por: pq (2 p 1)( 2q 1) 1 1 1 1 Pp ( x) Pq ( y) f ( x, y)dxdy 4 donde el polinomio de Legendre de orden p viene dado por: 1 dp 2 Pp ( x) p ( x 1) p , x [1,1] p 2 p! dx El momento de Legendre de orden p,q generaliza el momento geométrico del mismo orden en el sentido que el monomio x^p, y^q se sustituye por el polinomio ortogonal Pp(x)Pq(y) del mismo orden. Como anteriormente hicimos, podemos aproximar la versión continua del cálculo de momentos a otra discreta mediante el uso de sumatorios. M N pq hpq ( xi , y j ) f ( xi , y j ) i 1 j 1 Donde x y yj 2 2 x y xi yj 2 2 hpq ( xi , y j ) xi Pp ( x) Pq ( y)dxdy 9 Trabajo dirigido sobre Momentos Sin embargo, esta versión de la fórmula es difícilmente computable y se sustituye por la siguiente: pq (2 p 1)(2q 1) M N Pp ( xi ) Pq ( y j ) f ( xi , y j )xy (M 1)(N 1) i 1 j 1 El valor de f(x,y) estará comprendido en el intervalo [0,255] y el de x e y en un cuadrado de lado [-1,1], lo cual nos obliga a hacer un cambio de variable para que los puntos de la imagen se adecuen a este intervalo. La computación de los momentos de Legendre es muy costosa, lo cual induce a introducir serias modificaciones en cuanto a lo que eficiencia se refiere. Además está el hecho de que en muchas ocasiones es necesario el cálculo de momentos de un nivel alto. A todo esto se une la necesidad de mantener el nivel de error en un término muy pequeño, así como trabajar con aritmética de grandes números. 3.1 Reconstrucción de imágenes a través de los momentos de Legendre La reconstrucción de imágenes mediante el uso los momentos geométricos, expuestos en primera instancia está sujeta a múltiples inexactitudes, unido a una complejidad computacional alta. El uso de los momentos de Legendre hace posible reconstruir una imagen a partir de las características numéricas de ésta que se obtienen. El problema que se plantea es: ¿cómo reconstruir una imagen si solo disponemos de un conjunto finito de momentos.? Los polinomios de Legendre Pp(x) son un conjunto completo ortogonal establecido en el intervalo [-1,1] 1 Pp ( x)Pq ( x)dx 1 2 pq 2 p 1 donde pq es la función de Kronecker, tal que pq = 1 si p=q y 0 en otro caso 10 Trabajo dirigido sobre Momentos Entonces, como f(x,y) es continua sobre la imagen plana, se puede escribir la función de imagen f(x,y) como una expansión de series infinitas truncada al momento de orden máximo que consideremos, y usando la versión aproximada de los momentos de Legendre: M max p P 0 q 0 p q,q Pp q ( x) Pq ( y) En cuanto al error que se produce en la reconstrucción de imágenes mediante momentos de Legendre, se mantiene en un nivel bajo tolerable. Los resultados experimentales indican que cuando el orden dado (Mmax) alcanza un cierto valor, la función obtenida es muy parecida a la original f(x,y). 3.2 Resultados experimentales Hemos tratado un conjunto de imágenes en blanco y negro de 150x150 píxeles y el cálculo hasta momentos de orden 20 y una precisión de coma flotante de 28 decimales, de las cuales hemos podido obtener los siguientes resultados: - Duración del cálculo de momentos hasta orden 20: Duración de la reconstrucción: Todo ello bajo una máquina a 1.5 Ghz con 384 Mb de RAM - Se obtienen mejores resultados cuanto mayor es la imagen, pero encareciendo así considerablemente el tiempo de cómputo. Cuanto más píxeles negros tenga una imagen mejor Cuanto más rectas las líneas mejor Sería necesario una/s máquina/s de gran potencia de cálculo así como aumentar el número de momentos para obtener resultados fieles a las imágenes originales Es completamente esencial trabajar con aritmética de grandes números Hay que utilizar el máximo tamaño posible de decimales en la mantisa de los números flotantes 11 Trabajo dirigido sobre Momentos 3.3 Ejemplos de aplicación de los momentos de Legendre a la reconstrucción de imágenes Imagen Original n = 10 n=3 n = 20 12 Trabajo dirigido sobre Momentos Imagen Original n = 10 n=3 n = 20 13 Trabajo dirigido sobre Momentos 4 Instalacion Introducir el CD en la unidad CD-ROM o DVD-ROM de su ordenador. Cuando visualiza el contenido del CD le aparecerá una estructura identica a la que podemos apreciar en la siguiente figura. Haciendo doble clic sobre la carpeta instalación veremos el fichero de instalación del software de momentos, tal y como se aprecia en la siguiente figura Hacemos doble clic sobre el fichero momentos.msi, y de esa manera lanzaremos el programa de ejecución. 14 Trabajo dirigido sobre Momentos Pulsamos siguiente para empezar el proceso. El programa de instalación nos preguntará acerca de la ubicación en la que queremos instalar el programa 15 Trabajo dirigido sobre Momentos Una vez proporcionada dicha información, el programa estará listo para empezar a copiar los archivos del programa en su disco duro en la ubicación solicitada. 16 Trabajo dirigido sobre Momentos Una vez terminado el proceso de copia de ficheros y de actualización del sistema, el programa informará de que ha terminado el proceso de instalación satisfactoriamente y se le habrán creado dos accesos directos a la aplicación. Uno de ellos en el menú inicio y otro en el escritorio con el nombre Calculo de momentos. 17 Trabajo dirigido sobre Momentos 4.1 Desinstalación Puede desinstalar el programa bien a través del panel de control de su ordenador en la opción agregar o quitar programas, o simplemente ejecute de nuevo el programa de instalación de la aplicación. El programa de instalación detectará que el software ya se encuentra instalado en su ordenador y le ofrecerá la posibilidad de reinstalar el programa o desinstalarlo. Para desinstalarlo pulsaremos sobre la opción Remove Momentos, y pulsamos sobre el botón siguiente. 18 Trabajo dirigido sobre Momentos Se eliminarán del disco los archivos del programa y las entradas en el registro creadas en el proceso de instalación. 19 Trabajo dirigido sobre Momentos 4.2 Reinstalación Al igual que el la desinstalación como dije antes, al hacer doble clic sobre el programa de instalación, éste, al detectar que el programa se encuentra instalado en la máquina, nos dará la opción de reinstalar el software Activamos la casilla Repair Momentos, para reinstalar el programa y pulsamos el botón siguiente para continuar con la reinstalación. 20 Trabajo dirigido sobre Momentos Se copiarán de nuevo a la ubicación donde instaló en un principio el programa todos los ficheros de la aplicación y actualizará el sistema. 21 Trabajo dirigido sobre Momentos 5 Manual de usuario 5.1 Pantalla principal Esta es la pantalla principal de la aplicación. Desde ella podremos acceder tanto al módulo de Momentos Geométricos como al de Momentos de Legendre. 22 Trabajo dirigido sobre Momentos 5.2 Pantalla de momentos geométricos Este es el aspecto de la pantalla de Momentos Geométricos. Informa de los momentos de orden 0, 1, 2 y 3, además de la excentricidad, ángulo de rotación, matriz de rotación e invariantes. Dispone de los siguientes elementos: 23 Trabajo dirigido sobre Momentos - Cargar Imagen: abre un cuadro de diálogo para cargar una imagen desde disco. - Cargar Imagen B.D.: carga una imagen previamente almacenada en la base de datos. Pulsando dos veces sobre una de las rutas que aparecen en la lista de la izquierda conseguiremos previsualizar la imagen. También permite la opción de eliminar una imagen de la base de datos. 24 Trabajo dirigido sobre Momentos - Calcular: procede al cálculo de los Momentos Geométricos. 25 Trabajo dirigido sobre Momentos Este es el aspecto que tendrá la pantalla con los datos ya calculados - - Guardar en B.D.: almacena en la base de datos toda la información sobre momentos geométricos de la imagen en cuestión. Si se cargó desde la base de datos, la aplicación solicitará la confirmación para sobrescribir dicha información. Comparar imágenes: muestra la siguiente pantalla, donde se pueden apreciar las diferencias y similitudes entre las dos imágenes visualizadas: 26 Trabajo dirigido sobre Momentos - Limpiar: limpia los datos contenidos en la pantalla. - Inicio: permite regresar de nuevo a la pantalla principal. - Salir: permite abandonar la aplicación. 27 Trabajo dirigido sobre Momentos 5.3 Pantalla de Momentos de Legendre Este es el aspecto de la pantalla de Momentos de Legendre. Informa de los momentos desde orden 0 hasta 10 (aunque se pueden calcular hasta momentos de orden 20). Dispone de los siguientes elementos: - Cargar Imagen: abre un cuadro de diálogo para cargar una imagen desde disco. 28 Trabajo dirigido sobre Momentos - Calcular: permite calcular los momentos de Legendre hasta el orden que le indiquemos en la lista desplegable (como máximo hasta 20). Esta es la apariencia de la pantalla con todos los datos calculados: - Reconstruir: procede a la reconstrucción de la imagen a través de los momentos de Legendre. Normalmente, es un proceso lento debido a los cálculos realizados y los resultados óptimos se obtienen con 20 momentos. 29 Trabajo dirigido sobre Momentos Tras el cálculo, podemos apreciar la reconstrucción de la imagen, comparándola con la imagen original. Permite la opción de guardar la imagen reconstruida con un nombre nuevo. - Inicio: permite regresar a la pantalla principal. Limpiar: limpia los datos de la pantalla. Salir: permite abandonar la aplicación. 30