Tema 2.- Procesamiento de imágenes

23
1 UNIVERSIDAD DE SALAMANCA MASTER DE GEOTECNOLOGÍAS CARTOGRÁFICAS EN INGENIERÍA Y ARQUITECTURA 2. PROCESAMIENTO DE IMÁGENES Diego González Aguilera Departamento de Ingeniería Cartográfica y del Terreno Escuela Politécnica Superior de Ávila

Transcript of Tema 2.- Procesamiento de imágenes

Page 1: Tema 2.- Procesamiento de imágenes

1

UNIVERSIDAD DE SALAMANCA MASTER DE GEOTECNOLOGÍAS CARTOGRÁFICAS EN

INGENIERÍA Y ARQUITECTURA

2. PROCESAMIENTO DE IMÁGENES

Diego González Aguilera Departamento de Ingeniería Cartográfica y del Terreno

Escuela Politécnica Superior de Ávila

Page 2: Tema 2.- Procesamiento de imágenes

2

INDICE 2.1 Realce y mejora de la imagen 2.2 Extracción de características

Page 3: Tema 2.- Procesamiento de imágenes

3

Tema 2:

Procesamiento de imágenes El procesamiento de imágenes tiene que ver con la adquisición, transmisión, procesamiento y representación de las imágenes. Las técnicas de proceso de imágenes se utilizan para mejorar la apariencia visual de las imágenes para un observador y para preparar convenientemente el contenido fotográfico de cara a la percepción por parte de máquinas. El proceso digital de imágenes se puede dividir en las siguientes áreas: Adquisición o captura que se ocupa de los diferentes caminos para la obtención de imágenes; por ejemplo, utilizando cámaras digitales o digitalizando imágenes analógicas (fotografías). Realce y mejora son las técnicas que se usan para mejorar la apariencia visual de las imágenes ó para recuperar o restaurar las imágenes degradadas. Segmentación que se ocupa de la división de las imágenes en regiones o áreas significativas. Extracción de características que se ocupa de la detección y localización de entidades geométricas simples y complejas. Desde entidades simples como líneas y puntos hasta geometrías complejas como curvas y cuádricas. El propósito de este tema es presentar los aspectos relevantes del procesamiento de imágenes, centrándose en torno a las herramientas y procesos del Realce y Mejora y la Extracción de características. 2.1 Realce y mejora de la imagen El propósito de las técnicas de realce de la imagen es mejorar la apariencia de la misma para el observador. Es un proceso subjetivo, realizado habitualmente de una forma interactiva. La selección de los métodos apropiados y la elección de los parámetros adecuados dependen de la calidad de la imagen original y de la aplicación. Existe una gran cantidad de transformaciones u operaciones que se pueden realizar sobre las imágenes con el propósito de realzarlas y mejorarlas. Existen varios criterios para clasificar estas operaciones. Frecuentemente se dividen en cuatro categorías: Transformaciones puntuales: El resultado de una operación puntual depende sólo del nivel de gris de entrada de un punto. Las operaciones típicas puntuales incluyen la manipulación de los píxeles, por ejemplo la binarización, la umbralización, etc. Transformaciones locales: Aquí, los valores de entrada de varios píxeles vecinos contribuyen al resultado del píxel de salida. Muchas operaciones son locales, por ejemplo, suavizado (media o promedio), extracción de características y realce de bordes. Transformaciones globales: El total de datos de la imagen como valor de entrada contribuye al resultado de salida. Las operaciones globales se realizan a menudo en el dominio de la frecuencia. Un ejemplo es la compresión de imágenes que tomando el total de una imagen entrada obtiene una imagen comprimida de salida.

Page 4: Tema 2.- Procesamiento de imágenes

4

Transformaciones geométricas: El resultado de una transformación geométrica depende de las diferentes posiciones de los niveles de gris en la imagen de entrada. Ejemplos típicos son rotación, traslación, cambios de escala y rectificación, aunque ésta última también incluye transformaciones radiométricas de los píxeles. Otro criterio de clasificación, del realce y la mejora de la imagen, tiene como base las aplicaciones que se van a efectuar. Este sistema de clasificación propone las tres categorías siguientes: Suavizado: Incluye técnicas que proporcionan una apariencia más suave de la imagen, por ejemplo eliminando el ruido ó suprimiendo detalles. Definición: El propósito es remarcar las características de algunos objetos de la imagen, haciéndolas más nítidas, por ejemplo los bordes. Corrección de efectos: Estas operaciones tratan de conseguir la corrección de los defectos de la imagen, por ejemplo eliminar ruido y errores groseros en los niveles de gris.

Operadores de suavizado o corrección Los operadores de suavizado se utilizan para eliminar o rehuir ruido. Por ejemplo, si el ruido de una imagen es un fenómeno de alta frecuencia se puede reducir con filtros de paso bajo. Describiremos a continuación los siguientes:

Page 5: Tema 2.- Procesamiento de imágenes

5

Operadores de realce Para algunas aplicaciones es conveniente realzar pequeños detalles, que son componentes de alta frecuencia, de una imagen. Un ejemplo típico es el resalte o subrayado de los bordes, para dotarles de mejor nitidez. Operador Gradiente. El gradiente de una función continua f(x,y) es un vector y su magnitud expresa el ratio de cambio por unidad de distancia en la dirección del vector. El objetivo de los operadores gradiente es detectar cambios en los niveles de gris que tienen lugar en zonas o regiones reducidas. El gradiente y la magnitud se expresan por:

[ ] [ ]

[ ]2/122

),(

/,/),(

⎥⎥⎦

⎢⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛+⎟

⎠⎞

⎜⎝⎛=

=

yf

xfyxfgrad

yfxfyxfgrad T

ϑϑ

ϑϑ

ϑϑϑϑ

A la magnitud del gradiente se la conoce como fuerza del borde y junto con la orientación del gradiente constituyen datos cruciales en la extracción de este tipo de características. Sustituyendo las diferencias obtenidas en la ecuación anterior por las derivadas se obtiene el gradiente de la imagen:

[ ] [ ] 2/122 )),()1,(()),(),1((),( yxfyxfyxfyxfyxfgrad −++−+=

En algunas ocasiones se aproxima por:

[ ] ),()1,(),(),1(),( yxfyxfyxfyxfyxfgrad −++−+≅ Es de notar que el gradiente de imagen o gradiente a secas es un escalar, la magnitud del vector gradiente. De lo anterior se deduce que la ventana del operador gradiente se define por:

222

222

2/)(

2/)(

),(21),(

σµ

σ

µ

πσv

yx

evG

eyxg

+−

+−

=

=

xf∂∂

yf∂∂

Page 6: Tema 2.- Procesamiento de imágenes

6

000011000

000010010

−=−

= GyGx

Las transformaciones basadas en diferencias entre vecinos son muy sensibles al ruido. Para reducir este efecto se han propuesto diferentes ventanas. Se presentan a continuación algunas de las más populares.

Métodos basados en la primera derivada: Operador Gradiente. Constituyen los métodos con más proliferación dentro de la Comunidad del Análisis de Imagen y la Visión Computacional. Se fundamentan en que un borde existe sí hay una discontinuidad en la función de intensidad de la imagen, es decir, si la derivada de los valores de intensidad de la imagen es un máximo.

Operadores Gradiente

Ventajas

Desventajas

Roberts

⎥⎥⎥

⎢⎢⎢

− 010100000

⎥⎥⎥

⎢⎢⎢

⎡−

000010001

- Buena respuesta en bordes horizontales y verticales. - Buena localización. - Simpleza y rapidez de cálculo.

- Mala respuesta en bordes diagonales. - Sensible al ruido. - Empleo de máscaras pequeñas. - No da información acerca de la orientación del borde. - Anchura del borde de varios píxeles.

Sobel

⎥⎥⎥

⎢⎢⎢

−−−

101202101

41

⎥⎥⎥

⎢⎢⎢

⎡ −−−

121000121

41

- Buena respuesta en bordes horizontales y verticales. - Diversidad de tamaños en las máscaras. - Poco sensible al ruido.

- Mala respuesta en bordes diagonales. - Lentitud de cálculo. - No da información acerca de la orientación del borde. - Anchura del borde de varios píxeles.

Prewitt

⎥⎥⎥

⎢⎢⎢

−−−

101101101

31

⎥⎥⎥

⎢⎢⎢

⎡ −−−

111000111

31

- Buena respuesta en bordes horizontales y verticales. - Poco sensible al ruido. - Proporciona la magnitud y dirección del borde.

- Mala respuesta en bordes diagonales. - Lentitud de cálculo. - Anchura del borde de varios píxeles.

Desventajas genéricas de la detección de bordes basada en el Gradiente - La fijación por parte del usuario de los umbrales y el tamaño de la máscara, afectará a la posición del borde. - El gradiente presenta una excesiva dependencia con respecto a la dirección de barrido, por ello, las aristas cuyas pendientes están próximas a la dirección de barrido no se detectan fácilmente. - La debilidad del Gradiente en los puntos esquina provocará la pérdida de puntos relevantes y marcado de junturas.

Operador Laplaciano. Los distintos operadores presentados hasta ahora son operadores de primeras derivadas (gradiente), y por ello dependen de la dirección. Para detectar discontinuidades en todas las direcciones, se deben utilizar diferentes máscaras. Por ejemplo, el operador gradiente tiene dos máscaras y detecta discontinuidades en filas ó columnas. En algunas aplicaciones es recomendable utilizar un operador que sea independiente de la

Page 7: Tema 2.- Procesamiento de imágenes

7

orientación. Uno de ellos es el operador de Laplace ó Laplaciano. Para una función continua f(x,y) se define por:

2

2

2

22 ),(),(

yyxf

xyxf

ϑϑ

ϑϑ

+=∇

Para una función discreta se obtiene tomando las segundas derivadas en filas y columnas. Es decir se hacen las diferencias de los gradiente tal y como se indica:

[ ] [ ][ ] [ ] )1,(),(2)1,()1,(),(),()1,(

),1(),(2),1(),1(),(),(),1(2

2

−+−+=−−−−+=∇

−+−+=−−−−+=∇

yxfyxfyxfyxfyxfyxfyxfyyxfyxfyxfyxfyxfyxfyxfx

Sumando los componentes de las dos ecuaciones se obtiene el Laplaciano

010141010

−=L

Puesto que el Laplaciano es un operador de segundas derivadas, es mucho más sensible al ruido que los operadores antes citados. Al igual que con el operador Gradiente existen multitud de ventanas correspondientes a operadores Laplacianos, se describen a continuación las más populares:

Métodos basados en la segunda derivada: Operador Laplaciano. Constituyen operadores ideales para detectar bordes independientemente de la orientación o dirección de los mismos. Se fundamentan en que cuando la imagen presenta un cambio de intensidades a lo largo de una determinada dirección, existirá un máximo en la primera derivada a lo largo de dicha dirección y un paso por cero en la segunda derivada. Operadores Laplacianos

⎥⎥⎥

⎢⎢⎢

⎡−

010141010

⎥⎥⎥

⎢⎢⎢

⎡−

111181111

⎥⎥⎥

⎢⎢⎢

⎡−

010141010

41

⎥⎥⎥

⎢⎢⎢

⎡−

111181111

41

⎥⎥⎥

⎢⎢⎢

−−−−

212141

212

31

⎥⎥⎥

⎢⎢⎢

−−

−−

212141212

31

- Buena localización siempre que las aristas estén bien separadas y la relación señal-ruido sea alta. - Anchuras de bordes óptimas. - Independiente de la orientación del borde: buena respuesta en bordes horizontales, verticales y diagonales.

- Sensible al ruido. - Fiabilidad baja, pudiendo aparecer como identificados falsos bordes.

La siguiente figura ilustra la representación matemática de ambas funciones (Gradiente y Laplaciana) aplicadas a una función imagen.

Page 8: Tema 2.- Procesamiento de imágenes

8

Finalmente acabaremos el apartado destinado a los operadores de realce especificando algunos métodos más complejos como los operadores DroG y LoG.

Métodos complejos: Operadores DroG (Derivada de la gaussiana). Operadores resultantes de combinar suavizado y gradiente. El grado de suavizado vendrá controlado por el parámetro de la desviación típica de la gaussiana. Mientras que el gradiente dependerá de la máscara aplicada. Para aplicar el operador DroG se realizará la convolución entre la primera derivada de la función imagen con la gaussiana, o bien la función imagen con la primera derivada de la gaussiana. Métodos complejos: Operadores LoG (Derivada de la laplaciana). Operadores resultantes de combinar suavizado y lapalaciano. Para aplicar el operador LoG se realizará la convolución entre la segunda derivada de la función imagen con la gaussiana, o bien la función imagen con la segunda derivada de la gaussiana.

Transformaciones geométricas A diferencia de las operaciones descritas hasta ahora, las transformaciones geométricas cambian la teselación. La imagen resultante difiere en tamaño y quizás en forma con respecto a la original. Existen varios modelos matemáticos que establecen las relaciones geométricas entre las imágenes. Una transformación genérica puede expresarse como:

txRSx +⋅⋅='

donde x es el vector de la imagen de entrada, x’ el vector correspondiente de la imagen transformada, S un factor de escala, R una matriz de rotación (no necesariamente ortogonal) y t el vector de la translación. Giro de una imagen.

Traslación de una imagen Escalado de una imagen

αααα

FsenCCCsenFF

+=+=

cos'cos'

Remuestreo (interpolación radiométrica) La mayoría de las transformaciones geométricas dan lugar a píxeles que no coinciden con la posición de los de la imagen original. El problema es asignar el nivel adecuado de gris existente en la imagen original o interpolando a partir de los píxeles vecinos. Existen varias alternativas:

xCCyFF

∆+=∆+=

''

xCCyFF

λλ⋅=⋅=

''

Page 9: Tema 2.- Procesamiento de imágenes

9

Vecino más próximo. Este método consiste en asignar el nivel digital de un píxel de la imagen transformada a un píxel de la imagen corregida cuyo centro geométrico esté más cercano a su homólogo en la imagen transformada. Para ello se calculan las distancias entre el centro del píxel de la imagen corregida de coordenadas (m,n), y los centros de los cuatro píxeles más cercanos en la imagen transformada, tomando el nivel digital correspondiente a aquel píxel que proporcione la menor distancia.

Las ventajas de este método son:

• No se altera el valor del nivel de gris de la imagen original. • Es el más rápido de los 3 métodos. • Único método utilizable en la corrección de imágenes con información cualitativa o

temática. • Se emplea en los cambios de escala con magnificación (Zoom).

Como inconveniente presenta el denominado efecto escalera (stair stepped), distorsión que se manifiesta en los elementos lineales de la imagen, presentando éstos un aspecto quebrado.

Interpolación Bilineal. En este método se consideran los niveles de gris de los cuatro píxeles más cercanos en la imagen transformada al píxel de la imagen corregida. En la siguiente Figura se han dibujado tan sólo los centros de los píxeles. El punto P(m,n) es el centro del píxel de la imagen corregida, los puntos 1, 2, 3 y 4 son los cuatro píxeles más cercanos. ∆x e ∆y son las diferencias entre los puntos P y 1 en x e y respectivamente, y se han de tomar en valor absoluto. D indica el ancho y alto de la celda, suponiendo píxeles cuadrados. Los puntos A y B son puntos con la misma ordenada que P, perteneciendo A a la recta que une los puntos 1 y 3, y B a la que une los puntos 2 y 3. Este procedimiento de interpolación está basado en una doble interpolación lineal. Se aplica una interpolación lineal en la alineación 1-3 para calcular el nivel de gris en el punto A (NDA).

ND3

Y3Y1

ND1

NDA

YA

D

113 NDy

DNDNDNDA +∆⋅⎟

⎠⎞

⎜⎝⎛ −

=

224 NDy

DNDNDNDB +∆⋅⎟

⎠⎞

⎜⎝⎛ −

=

(m,n)

(x,y)(x+1,y)

(x,y+1) (x+1,y+1)

1 2

P(m,n)B

43

A

∆y

∆x

D

Page 10: Tema 2.- Procesamiento de imágenes

10

Este método de interpolación produce resultados más suavizados y precisiones espaciales mayores que el del Vecino Más Próximo. Tiene los inconvenientes de suavizar también los bordes y de que los valores extremos de los niveles de gris no permanecen en la imagen.

Convolución Cúbica. Tiene el mismo fundamento que el método anterior, pero en este caso se consideran los dieciséis píxeles más cercanos en la imagen transformada al píxel de la imagen corregida al cual queremos asignar el valor de nivel digital. El algoritmo interpola linealmente cada grupo de líneas en el sentido de las abcisas y obtiene cuatro valores: f(m-1), f(m), f(m+1), f(m+2); luego toma esos cuatro valores resultantes e interpola linealmente en el sentido de las ordenadas resultando f(m,n). Se puede apreciar en la figura siguiente una representación en perspectiva del procedimiento de interpolación. La tercera dimensión la proporciona el valor del nivel digital, y se observa los cuatro valores interpolados para cada fila. El valor digital que se asigna a la celda en la imagen corregida es el de trazo más grueso.

Este método presenta la ventaja de introducir un suavizado de la imagen menos fuerte que con la Interpolación Bilineal, pero presenta el inconveniente de necesitar mayor tiempo para su aplicación. 2.2 Extracción de características La extracción de información de las imágenes ‘Information from imagery’ a través del procesamiento digital constituye hoy en día un inmenso campo de estudio e investigación en diversas disciplinas con múltiples aplicaciones. En este sentido, fotogrametristas, 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. No obstante, ha sido la disciplina de la Visión Computacional donde se han conseguido los mayores logros, de hecho la detección automática de características sobre imágenes tiene aquí una dilatada tradición y cuenta multitud de métodos para tal propósito. Desafortunadamente, a pesar de la gran proliferación de métodos, no existe un ‘método universal’ para la detección

ND PND 1

ND 2

ND 3

ND 4

ND A

ND B

f(m-1)

f(m)

f(m+2)

f(m,n)

f(m+1)

Page 11: Tema 2.- Procesamiento de imágenes

11

automática de características, sino que serán los requerimientos del propio problema los que nos obligarán a desarrollar y personalizar nuestro método. Una imagen contiene una gran cantidad de datos la mayoría de los cuales proporciona muy poca información para interpretar la escena. Un sistema que incorpore visión artificial debe, en un primer paso, extraer de la forma más eficaz y robusta posible determinadas características que nos proporcionen la máxima información posible. Estas características deben cumplir, entre otras, las siguientes condiciones:

• Su extracción a partir de la imagen no debe suponer un coste excesivo al sistema en el cual está integrado. El tiempo total de extracción debe ser lo más pequeño posible.

• Su localización debe ser muy precisa. El error cometido en la estimación de las

características también debe ser lo más pequeño posible.

• Deben ser robustas y estables. Deberían permanecer a lo largo de una secuencia.

• Contendrán la máxima información posible de la escena, es decir, debemos ser capaces de extraer información de tipo geométrico a partir de ellas.

A continuación analizaremos la extracción de características más importantes en el análisis de imagen: los puntos, las líneas y los círculos como geometrías básicas en la extracción de características. Extracción de puntos Desde el punto de vista computacional se han propuesto dos enfoques para la detección de este tipo de características geométricas:

• Métodos que obtienen los puntos como intersección de aristas o como cambio de pendiente sustancial entre dos aristas y por tanto vienen precedidos de una extracción de bordes.

• Métodos que trabajan directamente sobre imágenes de gris, es decir, y no requieren una

extracción previa de aristas. A continuación se comentan algunos de estos métodos empleados para la extracción de puntos característicos, especialmente puntos de fuga y puntos esquina. Puntos característicos a partir de aristas: puntos de fuga. Los puntos de fuga constituyen el soporte estructural y geométrico de una imagen en perspectiva u oblicua. En este sentido representan puntos de interés que vendrán determinados por la intersección de aristas o líneas de fuga. A continuación se comentan brevemente los dos métodos más sencillos para su cálculo: Método de la intersección de rectas. Se trata del método más sencillo de todos, ya que su cálculo computacional se limita a determinar la intersección de dos rectas perspectivas.

Page 12: Tema 2.- Procesamiento de imágenes

12

A partir de la figura anterior, en el que una recta queda identificada geométricamente mediante su distancia al origen y el ángulo que dicha recta forma con los ejes cartesianos se obtiene la expresión de la misma y sus versiones lineales:

con valores (a, 1, b) para los coeficientes de la X, de la Y y del término independiente, respectivamente ó con valores (A, B, 1) para los mismos términos. La resolución matemática del problema pasa por el planteamiento y resolución del siguiente sistema de ecuaciones: siendo x,y las coordenadas del punto de fuga a calcular. Método de la minimización del área del triángulo. El método consiste en el cálculo y minimización de la superficie de los triángulos formados por cada uno de los segmentos extraídos y por el punto de fuga, como vértice opuesto de cada triángulo y común a todos ellos.

El área de cada triángulo (S) se calcula a través del determinante formado por las coordenadas de los dos puntos extremos de la línea de fuga (P1, P2) y las coordenadas del punto de fuga (PF).

En general, la eficiencia de estos métodos dependen directamente de la calidad del método empleado para la obtención de aristas: si este último no localiza correctamente los puntos de arista difícilmente podremos detectar puntos de fuga de forma exacta. Además se añade un tiempo extra de procesamiento previo de las aristas.

01=++ ByAx

normalEcuación

baxy

pendientepuntoEcuación

+=

0111

21

00

22

11

=⋅=

i

i

yxyxyx

S

0

0

=∂∂

=∂∂

=

∑∑

yS

xSMínimoS

i

ii

[ ] [ ] [ ]1yx

BAóbyx

1a −=⎥⎦

⎤⎢⎣

⎡⋅=⎥

⎤⎢⎣

⎡⋅−

Page 13: Tema 2.- Procesamiento de imágenes

13

Desarrollando este determinante se establece el sistema de observación siguiente:

donde cada línea añade al sistema una ecuación. Al ser dos las incógnitas, coordenadas del punto de fuga (x0, y0), se necesitan al menos dos líneas, tres si queremos hacer un ajuste por mínimos cuadrados. En este caso, tratamos de hacer mínima la suma de las áreas al cuadrado de los distintos triángulos (Si) con el objetivo de obtener las coordenadas de los puntos de fuga. Puntos característicos a partir de la propia imagen: puntos esquina. Existen otros métodos que obtienen los puntos de máxima curvatura de una imagen utilizando directamente los valores de la imagen, sin realizar el paso previo de obtención de aristas. Estos métodos definen una medida que suelen denominar de ‘esquinidad’ la cual se calcula para todos los puntos de la imagen. Cuando esta medida supera un cierto umbral se considera que el punto es una esquina. La mayoría de estos métodos utilizan operadores diferenciales. Uno de los primeros métodos para la obtención de puntos característicos se describe en (Moravec, 1977). Dada una ventana rectangular, este operador calcula el valor de cambio de la intensidad de la imagen cuando desplazamos ligeramente esta ventana. Una esquina viene caracterizada por elevados cambios de intensidad. Es altamente sensible a ruido. El detector establece sumas cuadráticas de las diferencias de los niveles de grises en las cuatro direcciones principales (horizontal, vertical y dos diagonales), y asigna al píxel central el mínimo M de los cuatro valores calculados. M = mínimo {V1,V2,V3,V4} siendo: V1=Σ(gi,j-gi,j+1)2 V2=Σ(gi,j-gi+1,j)2 V3=Σ(gi,j-gi+1,j+1)2 V4=Σ(gi,j-gi+1,j-1)2 En (Beaudet, 1978) se propone un operador que calcula el determinante de una matriz y queda definido como:

DET = IxxIyy-Ixy2

donde Ixy es la derivada parcial de la imagen con respecto al eje x y después con respecto al eje y, y Ixx y Iyy es la segunda derivada con respecto a x e y, respectivamente. Este operador presenta ciertas características de curvatura interesantes. Las esquinas se obtienen aplicando este operador y realizando una umbralización. En un posterior trabajo (Deriche y Giraudon, 1993) se amplía este método incorporando conocimiento de arista y multiresolución y se realiza un estudio analítico del modelo de esquina. Posteriormente, en (Harris y Stephens, 1988) se continúa investigando sobre las propiedades del determinante antes mencionado. En este último

2010021201210 iiiiiiii yxyxyxyxyxyx −++−−=

2121120210 )()( iiiiiiii xyyxxxyyyx −+−+−

[ ] [ ] [ ]iii Syxxyyx

xxyy =−−⎥⎦

⎤⎢⎣

⎡⋅−− 2121

0

01221

( , ) ( , )( , ) min (var( , ))

x y N i jmoravec i j x y

∈=

V1

(x,y)

Page 14: Tema 2.- Procesamiento de imágenes

14

trabajo se presenta un nuevo método de detección de puntos característicos que presenta robustez frente al ruido. La definición de este método se realiza de manera similar al operador de Moravec, pero calculando las derivadas de primer orden de la imagen. La localización de los puntos no es del todo exacta. En (Kitchen y Rosenfeld, 1982) se presentan tres métodos que obtienen esquinas y que, de manera esquemática, se detallan a continuación:

1. Uso del producto del gradiente de intensidad y del gradiente de la dirección en un punto de la imagen como una medida de esquinidad.

2. Uso de la diferencia entre las direcciones de gradiente de puntos vecinos, los cuales son perpendiculares a la dirección gradiente del punto, como una medida de esquinidad.

3. En una vecindad 3× 3 localizar 2 puntos A y B con valor de gris similar al punto C bajo consideración. La diferencia en la dirección entre los vectores CA y CB es una medida de esquinidad.

Una vez aplicada esta medida realizan una supresión de falsos candidatos para quedarse con un único punto en la vecindad. Un enfoque similar se sigue en (Zuniga y Haralick, 1983) donde se detectan esquinas en aquellos puntos donde se producen cambios significativos de gradiente a lo largo de las aristas. En los trabajos de (Koenderink y Richards, 1988), (Mehrota y Nichani,1990) y (Dreschler y Nagel, 1982) se definen operadores de cálculo de curvatura sobre una determinada vecindad haciendo uso de derivadas de primer, segundo y tercer orden de alguna función Gaussiana. En (Rangarajan et al., 1989) utilizan 12 máscaras distintas para detectar distintas clases de esquinas. Hacen uso de un detector de aristas para eliminar falsos candidatos. En (Vasselle et al., 1994) se introduce el concepto de espacio escala y determina la localización de esquinas estudiando las características de éstas en dicho espacio. En (Álvarez y Morales, 1997) también se basan en el concepto de espacio escala para determinar la localización de una esquina. Por último, el enfoque de SUSAN (Smith y Brady, 1997) proporciona un método rápido, robusto frente al ruido (no utiliza derivadas de la imagen) y la localización de los puntos característicos presenta buenos resultados. Los puntos esquina son características de la imagen en las que la variación de la función intensidad f(x,y) es alta en ambas direcciones X e Y. De los diferentes detectores de puntos esquina que existen, describiremos a continuación en detalle el detector de Haralick. Este detector de puntos esquina mantiene grandes semejanzas con el Operador de Förstner, muy popular en el campo de la Fotogrametría. Detector de puntos esquinas de Haralick. El detector de esquinas que a continuación se presenta en detalle se corresponde con el desarrollado por Haralick en 1993 (Haralick, 1993). Este detector de esquinas selecciona en primer lugar una ventana de interés y después calcula de manera más precisa la posición de los puntos dentro de la ventana seleccionada. Los diferentes pasos del detector de Haralick son:

X

Y

Page 15: Tema 2.- Procesamiento de imágenes

15

• Selección del tamaño de la máscara por parte del usuario (5x5, 7x7)

• Cálculo de las derivadas de la imagen usando el operador gradiente para cada fila y

columna (r,c):

verticalgradientecrf

horizontalgradientecrf

c

r

:),(

:),(

Habitualmente el operador gradiente utilizado es el operador de Sobel.

• Determinación de la matriz normal para cada ventana según el tamaño elegido para la máscara del operador:

⎥⎥⎥

⎢⎢⎢

⋅=

∑∑∑∑

avenc

avencr

avencr

avenr

crfcrfcrf

crfcrfcrfN

tan

2

tan

tantan

2

),(),(),(

),(),(),(

• Calculo del peso (w) y circularidad (q) de cada ventana.

)det(),( Ncrw =

El peso w se puede considerar como una función proporcional al contraste existente en la ventana; cuanto mayor sea, mejor definido estará el punto. El peso w es también conocido como ‘Beaudet measure for cornerness’ y es proporcional a la variación del gradiente dentro de la ventana. Será alto en aquella ventanas donde la variación del gradiente es importante (puntos potenciales de interés).

2

21

212 1

)()det(4),( ⎟⎟

⎞⎜⎜⎝

⎛+−

−==λλλλ

NtrNcrq

donde λ1 λ2 son los valores propios de la matriz normal N, q representa la circularidad de la elipse asociada a la matriz normal N. Este valor es proporcional al ratio del cociente entre el eje menor/eje mayor de la elipse; será alto si los dos ejes tienen el mismo tamaño (1 si son iguales) y menos en otros casos. La circularidad es usada para rechazar puntos localizados en bordes. En esta situación, la elipse tiene su eje mayor en la dirección del borde y q es menor de 1.

• Umbralización. La umbralización es llevada a cabo siguiendo la regla:

⎩⎨⎧ >>

=casosotrosen

qcrqywcrwsícrwcrw

0),(),(),(

),( minmin*

• Supresión no máxima de peso (w*) dentro de la ventana especificada por el usuario.

Para poder seleccionar la ventana de interés, el algoritmo necesita conocer los siguientes parámetros:

• El operador gradiente, aquí el operador de Sobel será el elegido: • El tamaño de la ventana del operador será de 5x5 píxeles. • El umbral para la circularidad será qmin de 0.9.

Page 16: Tema 2.- Procesamiento de imágenes

16

• El número máximo de puntos esquina a detectar. Este valor es usado para calcular la vecindad para localizar extremos locales. El mínimo peso wmin es calculado dinámicamente, usando la desviación estándar de todos los pesos. Las esquinas son ordenadas usando sus pesos y un máximo número de esquinas es devuelto de acuerdo con esta orden.

En un segundo paso, el algoritmo encuentra el punto esquina más probable dentro de la ventana de interés. Esto es relativamente simple: el punto es determinado como el centro de gravedad ponderado de todos los puntos dentro de la ventana con el producto del gradiente de filas y columnas como peso. Las coordenadas (x,y) del punto esquina dentro de la ventana de interés serán calculadas como:

∑∑

∑∑

×

××=

×

××=

avencr

avencr

avencr

avencr

crfcrf

rcrfcrfy

crfcrf

ccrfcrfx

tan

tan

tan

tan

),(),(

)),(),((

),(),(

)),(),((

Extracción de líneas Los métodos de gradiente y laplaciano vistos hasta ahora no proporcionan por si solos una solución de calidad para la extracción de líneas, de ahí que tengamos que recurrir a estrategias más complejas. A continuación, se describen tres metodologías para la extracción automática de líneas:

• Canny + Burns • RANSAC + MMCC • Transformada de Hough

Canny & Burns. Extracción de líneas siguiendo un proceso multifase jerárquico que se basa en la extracción de bordes mediante el algoritmo de Canny y en la segmentación posterior de dichos bordes mediante el algoritmo de Burns. Detección de bordes: Filtro de Canny. El detector de bordes de Canny (Canny, 1986) resulta el más idóneo para la detección de bordes en imágenes donde existe la presencia de geometrías regulares, ya que mantiene tres criterios vitales para nuestros propósitos:

• Precisión en la localización del contorno, garantizando la mayor proximidad de los bordes detectados a los bordes verdaderos.

• Fiabilidad en la detección de los puntos de contorno, minimizando la probabilidad

de detección de falsos bordes causados por el ruido, así como también la pérdida de bordes reales.

• Unicidad en la obtención de un único borde para el contorno, garantizando bordes

con una achura máxima de un píxel.

Básicamente, el filtro de detección de bordes de Canny consiste en un proceso multifase, en el que el usuario deberá introducir tres parámetros básicos: una desviación estándar y dos valores umbral. El resultado será una imagen binaria, en la que aparecerán en negro los píxeles correspondientes a los bordes y en blanco el resto de píxeles.

Page 17: Tema 2.- Procesamiento de imágenes

17

A continuación se pasan a describir cada una de las fases que intervienen en la aplicación del filtro de Canny:

Fase 1: Suavización de la imagen. En primer lugar, la imagen original es suavizada mediante la convolución con una función gaussiana de anchura especificada por el usuario con el objetivo de atenuar posibles ruidos de la imagen. La desviación estándar considerada como parámetro de entrada en el filtro de Canny definirá el tamaño o anchura de la máscara gaussiana. Fase 2: Realce de la imagen. La imagen suavizada en la primera fase es convolucionada mediante un operador gradiente en las direcciones de los ejes X e Y, de forma que obtengamos una imagen con los cambios de intensidad detectados sobre la que calcular los componentes del borde relativos a la fuerza y orientación de la normal al borde. La fuerza del borde nos proporcionará una medida del contraste local de la imagen, mientras que la orientación del borde nos identificará la dirección perpendicular al borde en forma de vector unitario. Fase 3: Eliminación de los no máximos. Sobre la imagen realzada con los cambios de intensidad de la fase anterior, encontraremos la dirección que mejor se aproxima a la dirección normal al borde. Si la fuerza del borde es menor que al menos uno de los dos vecinos a lo largo de esa dirección suprimiremos el punto como punto perteneciente a un borde. El resultado es una imagen con los bordes adelgazados como consecuencia de la supresión. Fase 4: Umbralización de bordes. La asignación del umbral es quizás la fase más delicada del filtro de Canny, ya que deberemos evitar la posible presencia de bordes ruidosos. La mayoría de los detectores de bordes emplean un simple umbral, ocasionando la partición de las líneas siempre que los valores fluctúen arriba y abajo del valor umbral. La umbralización empleada por el operador de Canny es conocida como Histéresis y consiste en la aplicación de dos posibles umbrales, de forma que, dado un segmento lineal, si un valor permanece por encima del umbral superior será inmediatamente aceptado, mientras que si el valor permanece por debajo será rechazado. Los puntos que permanezcan entre los dos límites serán aceptados si pueden ser conectados con píxeles vecinos. De esta forma la posibilidad de partición del borde será reducida drásticamente, debiendo fluctuar por encima y por debajo del borde para que se produzca la rotura. Segmentación de bordes: Burns. Los segmentos de una imagen constituyen una de las características geométricas más relevantes del procesamiento digital ya que suponen la base para una interpretación 3D de la escena. No obstante, el proceso de segmentación no resulta obvio; la presencia de ruido y la propia distorsión radial de la imagen complicarán su ejecución. Implementar una segmentación de calidad demandará de forma implícita extraer como extremos del segmento aquellos puntos que mejor definen la línea que se ajusta al borde. Para ello, el proceso de segmentación que se ha desarrollado presenta de nuevo una estructura multifase, encadenando una serie de operaciones con el objetivo de obtener un conjunto de segmentos (1D) definidos por sus coordenadas extremas. El tiempo de procesamiento de la fase de segmentación dependerá linealmente del número de píxeles detectados como bordes en la fase anterior, de ahí que resulte vital la elección que se haya hecho de los tres parámetros básicos del filtro de Canny.

La fase de segmentación comienza con un barrido de la imagen de bordes en sentido lexicográfico (de arriba abajo y de izquierda a derecha), en busca de píxeles candidatos de ser etiquetados como píxeles pertenecientes a un mismo grupo. La idea básica, consiste en etiquetar cada píxel de borde en grupos que soporten segmentos basándose en la similitud de las orientaciones del gradiente, este paso guarda cierta semejanza con el método de Burns (Burns, 1986). De esta forma, cada píxel de borde será analizado con respecto a sus ocho vecinos en cada una de las direcciones posibles resultantes del gradiente. Aquel conjunto de píxeles que

Page 18: Tema 2.- Procesamiento de imágenes

18

mantengan una orientación similar serán etiquetados como pertenecientes a un mismo borde, obteniendo una primera agrupación de los bordes en función de su gradiente. A continuación, con el objetivo de depurar y adaptar la segmentación a nuestras necesidades, los bordes resultantes de la fase de etiquetación serán filtrados mediante el parámetro de mínima longitud de un borde. Para ello, se calcula la longitud de los bordes previamente etiquetados y se compara con la tolerancia en longitud fijada. Si dicha longitud es igual o superior a la tolerancia fijada por el usuario, el borde será transformado a segmento, el cual tendrá como extremos las coordenadas del centro del píxel correspondientes al inicio y fin del borde. Por el contrario, si la longitud es inferior a la tolerancia fijada, el borde será eliminado, no generando el correspondiente segmento.

RANSAC+MMCC. RANSAC (RANmdom SAmple Consensus), es un estimador robusto desarrollado por (Fischler and Bolles, 1981) que se basa en la aplicación de una técnica de votación resultante de un muestreo aleatorio, con el objetivo de determinar el número de observaciones válidas ‘inliers’ y el número de observaciones erróneas ‘outliers’. En nuestro caso la aplicación de RANSAC servirá para determinar posibles errores groseros que de ser incluidos en el proceso mínimo cuadrático depararía gravísimos errores en la extracción de las líneas. Los pasos a considerar por parte de RANSAC serían los siguientes:

1. Selección aleatoria de dos puntos aleatorios para constituir una posible recta candidata.

2. Validación de la recta, en función del número de puntos que más menos una cierta

tolerancia tengan una variación mínima de su distancia ortogonal a la recta candidata.

3. Repetición del paso 1 y 2 un determinado número de veces.

4. El máximo resultante del proceso de votación después de un número aleatorio de combinaciones se corresponderá con la recta candidata y por consiguiente los votos favorables ‘inliers’ del máximo contendrán los puntos favorables a constituir una recta. Los segmentos que superen la tolerancia en los tres grupos generados serán considerados como segmentos erróneos ‘outliers’ y serán eliminados.

MMCC. Una vez determinados los errores groseros se llevará a cabo una extracción de las líneas mediante la estrategia de MMCC. Partiendo de la consideración de que entre x e y existe la relación lineal y = ax + b, el objetivo será determinar los parámetros a y b a partir de n-medidas de x e y; donde a es la pendiente de la recta, es decir, la tangente del ángulo que forma con el eje de abscisas (eje x), y b la ordenada en el origen, es decir la altura a la que corta la recta al eje de ordenadas (eje y).

Page 19: Tema 2.- Procesamiento de imágenes

19

A la vista del gráfico puede apreciarse que las dos variables siguen una relación lineal. Se ha dibujado la recta que parece representar mejor la relación. Para un valor de x determinado, la recta de ajuste proporciona un valor diferente de y del medido en el experimento. Esta diferencia será positiva para algunos puntos y negativa para otros, puesto que los puntos se disponen alrededor de la recta. Por este motivo, la suma de estas diferencias para todos los puntos es poco significativa (las diferencias negativas se compensan con las positivas); así pues, para medir la discrepancia entre la recta y los puntos, se emplea la suma de los cuadrados de las diferencias, con los que nos aseguramos que todos los términos son positivos. Esta suma tiene la forma:

( )∑=

−−=Φn

iii baxy

1

2

donde n es el número de parejas de valores de que se parte para determinar la recta. De todas las posibles rectas que podemos trazar, caracterizadas por los parámetros a y b, la recta que mejor se ajusta a los puntos es la que hace mínima la suma expresada en la ecuación anterior; esto es lógico, puesto que esta suma representa la discrepancia entre los puntos y la recta. Las condiciones de mínimo (primeras derivadas nulas) conducen a las ecuaciones que se conocen como ecuaciones normales para la determinación de a y b. n es el número de parejas de valores de que se parte para determinar la recta. Las soluciones de las ecuaciones normales son: Transformada de Hough para líneas. La transformada de Hough está diseñada especialmente para encontrar líneas. Definimos una línea como una colección de puntos de borde que son adyacentes y que tienen la misma dirección. La transformada de Hough es un algoritmo que tomará una colección de puntos de borde, encontrados mediante un detector de bordes y buscará todas las líneas sobre las cuales estos puntos de borde se encuentran. La idea básica es convertir los puntos de bordes al espacio de parámetros.

RRAANNSSAACC

MMMMCCCC

Page 20: Tema 2.- Procesamiento de imágenes

20

Espacio de parámetros. Existen dos alternativas a la hora de trabajar en el espacio de parámetros de la Transformada de Hough.

a) La primera alternativa se deriva de la consideración de la ecuación punto pendiente de la recta y = a x + b y consiste en considerar como parámetros del espacio, a la pendiente de la recta a y la ordenada en el origen b. De esta forma, cada línea del espacio imagen será representada por un punto (a, b) en el espacio de parámetros. Inversamente, cualquier punto p(x, y) del espacio imagen, se corresponderá con la línea a = x(-b) + y en el espacio de parámetros, y representará todas las posibles líneas de la imagen a través de p.

En la siguiente figura se ilustra la simetría existente entre el espacio imagen y el espacio de parámetros a través de la consideración de la ecuación de la recta punto pendiente.

ii

ii

bXaYbaXY=−+=

00

Nótese la simetría de los dominios espacial (Xi, Yi) y de parámetros (a,b): cabe tanto la interpretación de que los puntos (Xi, Yi) forman una recta de pendiente a y punto de paso (0,b) como que los puntos (ai, bi) forman una recta de pendiente -X0 y punto de paso (0, Y0).

No obstante, el problema de esta parametrización radica en que tanto a como b determinan un espacio ilimitado de parámetros [-∞,∞], lo que complica considerablemente las capacidades de cálculo.

b) De esta limitación surge la segunda alternativa denominada comúnmente

parametrización en el espacio de parámetros polar [ρ,θ ], donde ρ representa la distancia ortogonal entre el origen de la imagen y la línea, y θ la orientación de la línea

Page 21: Tema 2.- Procesamiento de imágenes

21

o ángulo entre el eje de ordenadas de la imagen y la distancia ρ. De esta forma tenemos garantizado un espacio de parámetros finito donde cualquier línea puede ser representada, definido por la ecuación ρ=xcosθ+ ysenθ y los intervalos ρ [0-√2N] y θ [0-2π], siendo N el tamaño de la imagen. Es importante reseñar que con la parametrización polar una línea perteneciente al espacio imagen será representada por un sinusoide en el espacio de parámetros.

Basados en este hecho e independientemente del espacio de parámetros utilizado, la estrategia para la extracción de líneas mediante Hough es la siguiente:

• Detección de los píxeles de borde de las rectas mediante un filtro de bordes.

• Establecimiento de un espacio de parámetros de dimensiones el espacio de búsqueda y una cuantización suficientemente precisa.

• Se barre la imagen de manera que cada pixel de borde da lugar a una recta: las celdas por las que "pasa" esta recta reciben un "voto".

• En teoría todos los píxeles que pertenecen a una misma recta (en la representación espacial) son rectas (en el dominio de parámetros) que se cortan en una misma celda (en la representación de los parámetros): la recta resultará ser la celda más votada.

La transformada de Hough es un algoritmo de ‘votación’, resultante del conjunto de puntos que forman parte de una línea. Desde este punto de vista, el array de contadores en el espacio de parámetros puede ser estimado a través de un histograma. Los votos finales totales, serán un contador de coordenadas, que indicará la probabilidad relativa de la hipótesis nula, de que una recta con un conjunto de parámetros exista en la imagen. La transformada de Hough tiene varias características importantes. En primer lugar, como todos lo puntos son procesados independientemente, combatirá bien la oclusión. En segundo lugar, es relativamente robusto al ruido, ya que los puntos erróneos no contribuirán consistentemente y sólo generarán ruido de fondo. La limitación más grande de la transformada de Hough es quizás, el rápido aumento del tiempo de búsqueda, así como la aparición de falsos máximos en el espacio de parámetros por parte de elementos no representativos. Extracción de círculos

Transformada de Hough para círculos. Al igual que se explotaba la dualidad punto-línea en la transformada de Hough para líneas se podrá hacer algo similar en el caso de los círculos.

Page 22: Tema 2.- Procesamiento de imágenes

22

Espacio de parámetros. Si el radio es conocido, el dominio de parámetros de cada círculo es bidimensional: coordenadas del centro de cada círculo. En este dominio, cada círculo del espacio se representa con un punto y simétricamente, un punto del dominio espacial se representa en el dominio de parámetros mediante un círculo formado por todos los puntos (dominio de parámetros) que representan a todos los círculos (dominio espacial) que pueden pasar por el punto (dominio espacial).

220

20 )()( KYYXX ii =−+−

Nótese la simetría de los dominios espacial (Xi, Yi) y de parámetros (X0, Y0): cabe tanto la interpretación de que los puntos (Xi, Yi) forman un círculo respecto del centro (X0, Y0) como que los puntos (X0, Y0) forman un círculo respecto del centro (Xi, Yi). Todos los puntos de un mismo círculo (en el dominio espacial) son círculos (en el dominio de parámetros) que se intersectan en un mismo punto (en el dominio de parámetros) que representa el centro del círculo (dominio espacial).

Basados en este hecho la estrategia para extraer círculos mediante la transformada de Hough es la siguiente:

• Detección de los píxeles de borde de los círculos mediante un filtro de bordes.

• Establecimiento de un dominio de parámetros cuyas dimensiones sean el propio espacio de búsqueda y una cuantización suficientemente precisa: la de los píxeles de la imagen original.

• Se barre la imagen de manera que cada pixel etiquetado como borde da lugar a un

círculo de radio K centrado sobre el mismo. Las celdas que pertenecen al círculo reciben un "voto".

• En teoría, todos los píxeles que pertenecen a un mismo círculo son, en el espacio de

Page 23: Tema 2.- Procesamiento de imágenes

23

parámetros, círculos que se cortan en la misma celda de manera que el centro de cada círculo es determinado como la celda "más votada".