UNIVERSIDAD DE SALAMANCA MASTER DE GEOTECNOLOGÍAS CARTOGRÁFICAS EN INGENIERÍA Y ARQUITECTURA 1. INTRODUCCIÓN AL ANÁLISIS DE IMAGEN Diego González Aguilera Departamento de Ingeniería Cartográfica y del Terreno Escuela Politécnica Superior de Ávila -1- INDICE 1.1 Fundamentos básicos de la imagen digital 1.2 Jerarquía en el Análisis de Imagen -2- Tema 1: Introducción al Análisis de Imagen La disciplina del Análisis de Imagen constituye un amplio campo de estudio e investigación en diversas disciplinas con múltiples aplicaciones. En este sentido, cartógrafos, fotográmetras, matemáticos, físicos, informáticos y demás, continúan investigando en cuestiones que van desde la aplicación de simples filtros lineales hasta la automatización del reconocimiento semántico de objetos. Los tres primeros temas de la asignatura pretenden ser un recorrido de carácter teóricopráctico desde los fundamentos y técnicas más contrastadas en el procesamiento digital de imágenes hasta los últimos avances del Análisis de la Imagen en el contexto de la Geomática. Este primer tema tiene como objetivo proporcionar una introducción a los conceptos y fundamentos básicos del Análisis de la imagen. 1.1 Fundamentos básicos de la imagen digital Imagen Digital La siguiente figura es un diagrama esquemático de la obtención de una imagen digital a partir del escaneado o digitalización de una fotografía. De esta manera la fotografía puede describirse como una función continua F(x,y), denominada imagen, donde las coordenadas x, y son variables espaciales y la función valor (amplitud) es la densidad. Esta función es además el producto de dos funciones separadas: Una función es la de iluminación I, mientras que la otra función describe las propiedades del objeto que está siendo iluminado, conocida como reflexión R. En realidad para poder obtener la imagen digital la función continua debe estar discretizada, tanto en las variables espaciales como en la amplitud. La función discreta resultante f(x,y) se denomina imagen digital. El proceso de discretizar las variables espaciales ∆x, ∆y se conoce como muestreo y la discretización de la amplitud g como cuantificación. El elemento discreto ∆x, ∆y es el píxel (de las palabras inglesas picture x element) y ∆g es un nivel de gris, denominado informalmente brillo. Así pues una imagen digital puede expresarse por f (∆x⋅i, ∆y⋅j, i=0,…,N-1;j=0,….,M-1) siendo i, j la dirección del píxel, N el número de filas y M el número de columnas. La función imagen se escribe normalmente como f(x,y). Hay que tener en cuenta que las variables espaciales son valores discretos, usualmente valores enteros. La cuantización de la imagen asignará a cada localización discreta (x,y) un valor entero 2b, con b siendo valores de: 2, 4, 8, 12, 16 o 32 bits por píxel. De esta forma la resolución radiométrica describirá el número de bits por píxeles en una imagen. -3- Un píxel es interpretado generalmente como una entidad cuadrada o rectangular a pesar de que el sensor que ha capturado la imagen tenga un campo de vista que no se corresponde con esas dimensiones. Sin embargo, una imagen digital es casi siempre presentada como un conjunto de píxeles homogéneos de igual tamaño. Finalmente, también podemos definir el concepto de imagen digital como: el archivo informático resultante de una discretización de una imagen, natural o sintética, en elementos de imagen, llamados píxeles. Media y desviación estándar El nivel de gris medio¸ ga, de una imagen y su desviación estándar o típica se determinan fácilmente mediante las expresiones: F −1 C −1 1 g ( x, y ) ∑ ∑ F ⋅ C x =0 y = 0 F −1 C −1 1 σ= ( g ( x, y ) − g a ) 2 ∑ x = 0 ∑ y =0 F ⋅C ga = La media ga indica el brillo o luminosidad de una imagen mientras que la desviación estándar es la medida del contraste, o lo que es igual la variación de la información en la imagen. Un valor pequeño indica una imagen plana con poco contraste, es decir, una imagen con un contenido de información reducido, mientras que un valor alto será indicativo de una imagen con grandes variaciones de contraste. Resolución geométrica Obviamente, cuanto más pequeñas sean las variables discretas ∆x, ∆y (tamaño del píxel), mejor será la resolución geométrica de la imagen, mayor será el número de píxeles de la imagen y por lo tanto mejor será su aproximación a la función continua de la imagen original. Según el teorema de muestreo se establece que el tamaño más pequeño del píxel puede ser algo menor que la mitad de la frecuencia más alta de la función continua. Si se satisface esta condición, la función continua se puede recomponer a partir de la función discreta, lo que equivale a decir que no hay pérdida de información durante el proceso de discretización. Por tanto, la resolución geométrica de la imagen (tamaño del píxel) estará directamente relacionada con el concepto de número de píxeles de una imagen. De forma que a mayor resolución geométrica mayor número de píxeles de una imagen. La siguiente tabla resume las necesidades de almacenamiento de las imágenes digitales para varios tamaños de píxeles, así como el número de píxeles que representa una fotografía aérea -4- (230x230mm). Los ejemplos se basan en que la cuantificación de las imágenes se ha efectuado a 256 niveles diferentes de gris, es decir un píxel requiere un byte (8 bits). Tamaño de píxel (micras) Número de píxeles 960 480 240 120 60 30 15 7.5 240x240 480x480 960x960 1920x1920 3840x3840 7680x7680 15360x15360 30720x30720 Almacenamiento necesario (sin comprimir) [Mb] 0.058 0.230 0.922 3.686 14.476 58.982 235.931 943.721 Tabla 1-1. Tamaño del píxel (precisión geométrica), número de píxeles (resolución espacial) y requerimientos de memoria para una imagen digital correspondiente a una fotografía aérea. El tamaño de memoria que ocupa una imagen digital en binario viene dado por: Nº bits = M x N x p con G = 2p Unidades múltiplo: 1 byte= 8 bits, Kilobyte, Megabyte, Gigabyte… Si la imagen fuese en color deberíamos triplicar el tamaño de la Tabla 1-1 por tres (3 luces RGB para cada píxel) Hay que advertir que las necesidades de almacenamiento disminuyen substancialmente con las técnicas de compresión existente hoy en día. Los niveles de gris de imágenes de escenas naturales no son completamente aleatorios. De hecho existe una dependencia muy considerable de los píxeles vecinos. Por ejemplo, el algoritmo de compresión JPEG puede reducir la capacidad de almacenamiento a 1/3 sin pérdida apreciable de la calidad de la imagen. Resolución radiométrica La resolución radiométrica describirá el número de bits por píxeles en una imagen. La cuantización de una imagen ha de responder a la pregunta de ¿cuántos niveles de gris son necesarios para representar el brillo?. La solución está muy condicionada por consideraciones prácticas. Una variable que ocupa un byte (8 bits) alcanza 256 valores diferentes (28). Es más que suficiente para representar los niveles de gris en fotografías en blanco y negro. Normalmente el ser humano no puede discriminar más allá de 50 tonos de gris. Sin embargo, no es conveniente usar seis bits para representar los niveles de gris. Teniendo en cuenta todas las consideraciones prácticas, un byte es mucho más adecuado para almacenar el valor de gris de un píxel. Muestreo y Cuantización El proceso de conversión de una representación continua en una discreta se conoce como digitalización o barrido. La función discreta es una imagen digital. Se obtiene por el muestreo de las variables espaciales y la cuantización de los niveles de gris (amplitud). El método habitual para digitalizar una imagen es barrer la misma fila por fila, y muestrear cada una de las filas. El número de filas que se barran (m) y el número de píxeles que se muestreen por fila (n) determinarán la resolución de la imagen digital (mxn), que viene a ser el grado de discernibilidad de detalles en la imagen. Obviamente, cuanto mayor es la resolución de una imagen digital más se aproxima esta al original. -5- El siguiente punto a tener en cuenta es la cuantización de cada una de las muestras. Si el muestreo representaba una digitalización en el espacio, la cuantización viene a ser una digitalización en la amplitud, entendiendo por amplitud el nivel de intensidad luminosa en cada punto. Al cuantificar cada píxel, por el simple hecho de limitar el número de bits, se reduce el número de valores existentes desde infinito hasta, en principio 2p posibles valores. Este es el proceso de conversión de una variable continua a otra discreta, donde entra cada dos valores consecutivos ya no hay otros infinitos entre medias. La calidad de la cuantización viene dada, fundamental mente, por el número de bits que se asignan a cada una de las muestras. Dado que los ordenadores digitales suelen trabajar, no con bits aislados sino con agrupaciones de ellos (bytes, kilobyte, megabyte, etc.), suele ser práctico utilizar un valor menor o igual de ellos, evitando que un píxel desborde, por ejemplo, de un byte en otro. Una vez definido el número de bits por píxel (llamémosle p), la imagen final queda representada por un mapa tridimensional, de orden mxnxp, que a cada punto del espacio (mi,ni) le hace corresponder un nivel de intensidad luminosa definido por pi. Para ser utilizable para el análisis de imagen por medio de un ordenador, una función imagen f(x,y) debe ser digitalizada tanto espacialmente como en su amplitud. La digitalización de las coordenadas espaciales (x,y) se denomina muestreo de la imagen y la digitalización de la amplitud se conoce bajo el nombre de cuantización del nivel de gris. Se supone que una imagen continua f(x,y) se describe de forma aproximada por una serie de muestras igualmente espaciadas organizadas en forma de una matriz NxM como se indica en la siguiente ecuación, donde cada elemento de la matriz es una cantidad discreta: ⎡ f (0,0) ⎢ f (1,0) ⎢ ⎢ . f ( x, y ) = ⎢ . ⎢ ⎢ . ⎢ ( − 1,0) f N ⎣⎢ f (0,1) . . . f (1,1) . . . f ( N − 1,1) . . . f (0, M − 1) ⎤ f (1, M − 1) ⎥⎥ ⎥ ⎥ ⎥ ⎥ ⎥ f ( N − 1, M − 1)⎦⎥ A cada elemento de la matriz se le puede denominar elemento de la imagen, píxel. La resolución (el grado de detalle discernible) en una imagen de pende estrechamente de estos dos parámetros: muestreo y cuantificación. Aunque no suele ser habitual, existe la posibilidad de mejorar la apariencia de la imagen a través del empleo de un muestreo no uniforme o adaptativo, de forma que la resolución espacial del muestreo varíe en función de las características de la imagen. Por ejemplo realizando un muestreo fino en las proximidades de transiciones o detalles y un muestreo tosco en regiones suaves. Esto daría como resultado una malla de píxeles irregula y adaptativa. Convolución Existen operaciones que tan sólo se basan en la aplicación de una función, más o menos sencilla, sobre el valor de luminancia de cada uno de los píxeles de la imagen (o zona de la misma) a manipular. A continuación se introducirá el uso de la operación de convolución como herramienta básica para las operaciones de filtrado y extracción de características de la imagen (tema 2). -6- Así, la operación de convolución se define matemáticamente, para un caso bidimensional continuo como: ∞ ∞ g ( x , y ) = h ( x , y ) ⊗ f ( x, y ) = ∫ ∫ h( x − x' , y − y' ) ⋅ f ( x' , y' )dx' dy' −∞−∞ mientras que en el caso discreto (imágenes digitales) las integrales se transforman en sumatorios de la manera siguiente: y (m, n) = h(m, n) ⊗ x(m, n) = ∑m '=−∞ ∑n '=−∞ h(m − m' , n − n' ) ⋅ x(m' , n' ) ∞ ∞ La convolución se aplica realizando el producto ponderado de la matriz de convolución con el entorno de un píxel, para cada píxel de la imagen (exceptuando, quizás aquellos que estén sobre el borde de la imagen). Gráficamente el procedimiento se muestra en la siguiente figura, cuando se aplica al caso de la convolución con una máscara de 3x3 elementos: ∑ K ×P = ∑ K 9 Pix = P'5 i =1 9 i =1 i i i Posibles aplicaciones de la convolución y que se estudiarán en el tema 2 son: el suavizado, gradientes y derivadas para la mejora o realce de una imagen y por supuesto su aplicación para la extracción de características. Histograma El histograma de una imagen es, básicamente, una herramienta visual para el conocimiento de la misma. Con un simple vistazo puede proporcionarnos una idea muy aproximada de la distribución de niveles de gris de la misma, el contraste que presenta, y algún método óptimo para su mejora o compresión. Se define el histograma de una imagen como la curva que a lo largo de uno de sus ejes representa cada uno de los posibles niveles de gris, y en el otro la frecuencia relativa de aparición del mismo en la imagen. Que la frecuencia de aparición de cada nivel de gris se muestre en forma relativa (en porcentaje) se debe, fundamentalmente, al hecho de que el valor absoluto varía fuertemente en función del tamaño de la imagen, y a que también lo hacen los valores absolutos máximos en función de ese valor. Así, por ejemplo, para una imagen de 32x32 píxeles el máximo valor absoluto sería de 1024, mientras que en una de 256 x 256, el mismo ascendería hasta 65536. Un vistazo al histograma ofrece una idea rápida de cuánto distribuidos se encuentran los niveles de gris en la imagen, aspecto asociado al concepto de contraste. -7- Cálculo del histograma. Calcular el histograma de una imagen es algo tan sencillo como contar el número de apariciones de cada uno de los posibles niveles de gris presentes en la misma. Para ello, simplemente hay que contar la aparición de cada nivel de gris y almacenar la cuenta en un vector. Modificaciones del histograma. Supóngase que g1(x,y) es una imagen en la que se quieren modificar sus niveles de gris por medio de una transformación T para obtener una imagen nueva g2(x,y). Se tiene g 2 ( x , y ) = T [g 1 ( x , y ) ] Ampliación del contraste. En esta operación, se modifican los niveles de gris para que tengan el rango más amplio de valores posibles. Una ampliación lineal, por ejemplo, viene definida por g 2 ( x, y ) = [g1 ( x, y ) + t1 ]t 2 Los parámetros de transformación t1, t2 pueden escogerse de tal modo que los niveles de gris en g2 estén comprendidos en los intervalos <g2min, g2max>. Sean g1min y g1max los niveles de gris mínimo y máximo de la imagen g1 (determinados a partir de su histograma). Los coeficientes de transformación serán entonces: -8- t1 = g 2 min − g1 g2 − g2 max min g1 − g1 max t2 = min min No es necesario que la función de ampliación sea lineal. Algunas veces, una ampliación logarítmica es más conveniente para el observador. Sirva como ejemplo que el sistema de visión del ser humano percibe las diferencias de brillo según una escala logarítmica. Ecualización del histograma. La ecualización del histograma define una transformación de niveles de gris g1 a niveles de gris g2 de tal manera que la distribución de g2 es uniforme. La siguiente figura ilustra el procedimiento. Supóngase por un momento que la distribución de los niveles de gris es continua. La figura anterior muestra el histograma de g1 en su posición normal. El histograma de g2, h(g2) en la parte izquierda de la figura está girado 90º. Se busca una función de transformación tal que h(g2)=(FC)/n, donde F,C son el número de filas y columnas, y n el número de niveles de gris. Para lograrlo se divide el área comprendida por debajo de la curva del histograma en n/(FC) ‘partes’ iguales. La ecuación siguiente expresa la condición para la ecualización del histograma: 1 h( g 2 ) = n h(r )dr F ⋅ C ∫0 siendo r la variable muda de integración. La integral es una función de distribución acumulada. De lo que se deduce que la función de transformación necesaria para obtener un histograma constante es la función de distribución acumulada. En las imágenes digitales, los niveles de gris son discretos. La forma discreta de la función de distribución acumulativa se obtiene simplemente sumando todos los niveles de gris. La figura siguiente muestra el efecto de la ecualización del histograma. La imagen original de la figura (a) tiene un contraste pobre, expresado claramente por el histograma (c). El histograma ecualizado (d) produce una representación mejorada de la imagen, como se aprecia en (b). -9- Aunque el método de la ecualización el histograma es muy útil, no conduce por sí mismo a las aplicaciones interactivas de mejora de la imagen. La razón de ello es que este método sólo es capaz de generar un único resultado: una aproximación a un histograma plano. Umbralización del histograma. Una solución sencilla para segmentar una imagen consiste en definir rangos de valores de brillo que supuestamente correspondan a zonas importantes o significativas en la escena. Ha de acompañarse con la elección adecuada de unos valores de umbral acordes con los niveles de gris del histograma, seguido por la división de la imagen en regiones. La utilidad de la umbralización del histograma se demuestra más adelante en la siguiente figura, la Figura (a) muestra una marca fiducial de esquina en una fotografía aérea. Para la realización de la orientación interna es muy conveneiente la detección automática de las marcas fiduciales. En un principio, se trata de detectar aquellos píxeles que contengan las marcas fiduciales. El histograma de la Figura (b) muestra tres grupos: los píxeles negros del fondo; los píxeles blancos de la marca fiducial y su entorno y los grises que conforman la escena circundante. La umbralización del histograma alrededor del valor 128 incluye las marcas fiduciales así como los píxeles de la escena (campo helado). Los píxeles del fondo de las marcas fiduciales, sin embargo, pueden umbralizarse fácilmente. La imagen segmentada en (c) se obtiene en dos pasos. En primer lugar se separan los píxeles negros del fondo del resto de la imagen y a continuación se hace una segmentación, pero ahora sólo dentro de la región oscura del fondo. El resultado mostrado en la Figura (c) contiene tres zonas. Tonos grises correspondientes al contenido de la escena, negro al fondo de la marca fiducial y blanco a la propia marca. - 10 - Especificación del histograma. Aunque la aplicación de una transformación de entre las mostradas conlleva importantes modificaciones, beneficiosas en principio para la visualización de la imagen, el método mostrado adolece de una cierta falta de versatilidad. Hay casos en que puede ser deseable especificar de forma interactiva la forma del histograma resultante, por ejemplo con el fin de resaltar determinados niveles de gris de la imagen. Esto es, precisamente, lo que se persigue con la operación de especificación del histograma. 1.2 Jerarquía en el Análisis de Imagen Antes de pasar a analizar los diferentes niveles en el Análisis de Imagen conviene tener presente que el primer paso es la Adquisición de la imagen digital, habitualmente realizado mediante cámaras digitales. Obtenida la imagen digital, el siguiente proceso sería el Preprocesamiento de la imagen con el objetivo básico de mejorar la imagen de forma que se aumente las posibilidades de éxito en los procesos posteriores. Tareas como mejorar el contraste, eliminar ruido o aislar regiones son algunos ejemplos. En una fase posterior estaría la Segmentación que consistiría en extraer de una imagen sus partes más representativas. La última etapa conllevaría el Reconocimiento o la Interpretación. El Reconocimiento es el proceso que asigna una etiqueta a un objeto basándose en la información proporcionada por sus descriptores. El Reconocimiento implica asignar significado a un conjunto de objetos reconocidos. Esta última tarea es la más sofisticada y la que de hecho se encuentra en continua investigación en lo que se ha dado en denominar como análisis semántico de la imagen. Podemos dividir los diferentes procesos y tareas del Análisis de Imagen en cuatro categorías resumidas en la Tabla 1-2. La clasificación sigue el paradigma de la Visión Computacional. La Visión Computacional es la disciplina que se centra en la descripción de la escena u objeto a partir de imágenes. Categoría Procesos, Algoritmos Almacenar, acceder, presentar - 11 - Tareas Manipular imágenes digitales NIVEL DE SISTEMA BAJO NIVEL MEDIO NIVEL imágenes en pantalla Mejorar o realzar imágenes Corresponder imágenes Agrupar, segmentar imágenes Comprender imágenes ALTO NIVEL Procesamiento de imágenes Extraer características simples Reconocimiento de objetos, Interpretación de imágenes, Detección semántica Tabla 1-2. Clasificación de los niveles en el análisis de imagen. Nivel de sistema La manipulación de las imágenes digitales es una tarea básica en cualquier disciplina. El tamaño de las imágenes digitales que suelen usarse en disciplinas como la Fotogrametría y Teledetección plantea un reto a la hora de resolver adecuadamente las tareas de manipulación como son el almacenamiento, la recuperación y la visualización de imágenes. Por ejemplo, una fotografía aérea digitalizada con una resolución de 10 µm requiere una capacidad de almacenamiento de 450 Mb (sin comprimir). Nivel bajo El nivel de sistema proporciona la funcionalidad necesaria para que un ordenador pueda gestionar las imágenes. La funcionalidad básica necesaria para las operaciones del procesado de imágenes se proporciona en el siguiente nivel, denominado aquí nivel bajo, en clara analogía con la visión primaría ó de nivel bajo. Las tareas de procesamiento de imágenes permiten mejorar la apariencia de las mismas, por ejemplo, las modificaciones del histograma tales como la reducción de contraste, mejora de la imagen etc. Nivel medio Tal y como se indica en la Tabla 1-2 las tareas típicas de nivel medio son las encargadas de la extracción de características básicas de los objetos, tales como líneas, curvas o primitivas simples. Tareas como la agrupación y la segmentación pertenecen a este nivel y sirven como base de entrada para el siguiente nivel de reconocimiento de objetos. Nivel alto Para que una persona pueda responder adecuadamente a su entorno debe analizar, interpretar y comprender los estímulos visuales. Idealmente, esta misma hazaña puede ser llevada a cabo por un robot ó un vehículo autónomo. Para recoger algo de un recipiente ó moverse en medio de una aglomeración, el robot debe reconocer el entorno por medio de los datos que le llegan del sensor y del contenido almacenado en la memoria. El resultado de la comprensión de la imagen es una interpretación total de la escena. Por tanto la comprensión ó interpretación de la imagen depende de la aplicación. - 12 -