2. procesamiento de imágenes - OCW Usal

Anuncio
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
1
INDICE
2.1 Realce y mejora de la imagen
2.2 Extracción de características
2
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.
3
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:
4
g ( x, y ) =
2
2
2
1
e − ( x + y ) / 2σ
2πσ
G ( µ , v) = e −( µ
2
+ v 2 ) / 2σ 2
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:
∂f
∂x
grad [ f ( x, y )] = [ϑf / ϑx, ϑf / ϑy ]
T
⎡⎛ ϑf ⎞ 2 ⎛ ϑf ⎞ 2 ⎤
grad [ f ( x, y )] = ⎢⎜ ⎟ + ⎜⎜ ⎟⎟ ⎥
⎢⎣⎝ ϑx ⎠ ⎝ ϑy ⎠ ⎥⎦
1/ 2
∂f
∂y
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:
[
grad [ f ( x, y )] = ( f ( x + 1, y ) − f ( x, y )) 2 + ( f ( x, y + 1) − f ( x, y )) 2
]
1/ 2
En algunas ocasiones se aproxima por:
grad [ f ( x, y )] ≅ f ( x + 1, y ) − f ( x, y ) + f ( x, y + 1) − f ( x, y )
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:
5
0 −1 0
Gx = 0
0
1
0
0
0 0
Gy = − 1 1 0
0 0 0
0
0
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
- 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.
- 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.
- Mala respuesta en bordes
diagonales.
- Lentitud de cálculo.
- Anchura del borde de
varios píxeles.
⎡ − 1 0 0⎤
⎢ 0 1 0⎥
⎢
⎥
⎢⎣ 0 0 0⎥⎦
⎡0 0 0 ⎤
⎢0 0 1 ⎥
⎢
⎥
⎢⎣0 − 1 0⎥⎦
Sobel
⎡1 0 − 1 ⎤
1⎢
2 0 − 2⎥⎥
4⎢
⎢⎣1 0 − 1⎥⎦
⎡− 1 − 2 − 1⎤
1⎢
0
0
0 ⎥⎥
4⎢
⎢⎣ 1
2
1 ⎥⎦
Prewitt
⎡1 0 − 1⎤
1⎢
1 0 − 1⎥⎥
3⎢
⎣⎢1 0 − 1⎥⎦
⎡− 1 − 1 − 1⎤
1⎢
0 0 0 ⎥⎥
3⎢
⎢⎣ 1 1 1 ⎥⎦
- Buena respuesta en bordes
horizontales y verticales.
- Diversidad de tamaños en
las máscaras.
- Poco sensible al ruido.
- Buena respuesta en bordes
horizontales y verticales.
- Poco sensible al ruido.
- Proporciona la magnitud y
dirección del borde.
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
6
orientación. Uno de ellos es el operador de Laplace ó Laplaciano. Para una función continua
f(x,y) se define por:
∇2 =
ϑ 2 f ( x , y ) ϑ 2 f ( x, y )
+
ϑx 2
ϑy 2
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:
∇ 2 x = [ f ( x + 1, y ) − f ( x, y )] − [ f ( x, y ) − f ( x − 1, y )] = f ( x + 1, y ) − 2 f ( x, y ) + f ( x − 1, y )
∇ 2 y = [ f ( x, y + 1) − f ( x, y )] − [ f ( x, y ) − f ( x, y − 1)] = f ( x, y + 1) − 2 f ( x, y ) + f ( x, y − 1)
Sumando los componentes de las dos ecuaciones se obtiene el Laplaciano
0
1
0
L= 1 −4 1
0
1
0
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
⎡0 1 0⎤
⎢1 − 4 1 ⎥
⎢
⎥
⎣⎢0 1 0⎥⎦
⎡0 1 0 ⎤
1⎢
1 − 4 1⎥⎥
4⎢
⎣⎢0 1 0⎥⎦
⎡ 2 −1 2 ⎤
1⎢
− 1 − 4 − 1⎥⎥
3⎢
⎢⎣ 2 − 1 2 ⎥⎦
⎡1 1 1⎤
⎢1 − 8 1⎥
⎢
⎥
⎣⎢1 1 1⎥⎦
⎡1 1 1⎤
1⎢
1 − 8 1⎥⎥
4⎢
⎣⎢1 1 1⎥⎦
⎡ − 2 1 − 2⎤
1⎢
1 4 1 ⎥⎥
3⎢
⎢⎣ − 2 1 − 2⎥⎦
- Buena localización siempre
que las aristas estén bien
separadas y la relación señalruido 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.
7
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:
x' = S ⋅ R ⋅ x + t
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.
Traslación de una imagen
Escalado de una imagen
F ' = F cos α + Csenα
F ' = F + ∆y
C ' = C cos α + Fsenα
C ' = C + ∆x
F ' = F ⋅ λy
Giro de una imagen.
C ' = C ⋅ λx
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:
8
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.
(x+1,y)
(x,y)
(m,n)
(x+1,y+1
)
(x,y+1)
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).
1
ND3
2
∆y
A
∆x
P(m,n)
3
B
4
ND A
⎛ ND3 − ND1 ⎞
= ⎜
⎟ ⋅ ∆y + ND1
D
⎝
⎠
NDB
⎛ ND4 − ND2 ⎞
= ⎜
⎟ ⋅ ∆y + ND2
D
⎝
⎠
NDA
ND1
Y1
Y3
YA
D
D
9
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.
ND2
ND1
NDP
NDB
NDA
ND4
ND3
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.
f(m-1)
f(m,n)
f(m)
f(m+1)
f(m+2
)
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
10
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.
11
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:
Ecuación punto pendiente
Ecuación normal
y = ax + b
Ax + By + 1 = 0
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:
x⎤
⎥=b ó
⎣ y⎦
[− a 1]⋅ ⎡⎢
[A
⎡x ⎤
B]⋅ ⎢ ⎥ = [− 1]
⎣ y⎦
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).
Si =
∑S
i
= Mínimo
x1
1
⋅ x2
2
x0
y1 1
y2 1 = 0
y0 1 i
∂ ∑ Si
=0
∂x
∂ ∑ Si
=0
∂y
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.
12
Desarrollando este determinante se establece el sistema de observación siguiente:
0 = x i1 y i 2 − x i1 y 0 − x i 2 y i1 + x i 2 y 0 + x 0 y i1 − x 0 y i 2
x 0 ( y i1 − y i 2 ) + y 0 ( x i 2 − x i1 ) + x i1 y i 2 − y i1 x i 2
[ y1 − y 2
⎡x ⎤
x 2 − x1 ]i ⋅ ⎢ 0 ⎥ − [ y1 x 2 − x1 y 2 ]i = [S ]i
⎣ y0 ⎦
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}
moravec(i, j ) =
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
min (var( x, y ))
( x , y )∈N ( i , j )
V1
(x,y)
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
13
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.
X
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:
14
•
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):
f r (r , c) : gradiente horizontal
f c (r , c) : gradiente vertical
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:
2
⎡
f r (r , c)
∑
⎢
ven tan a
N =⎢
f r (r , c) ⋅ f c (r , c)
⎢⎣ven∑
tan a
•
∑f
(r , c) ⋅ f c (r , c)⎤
⎥
2
⎥
f c (r , c)
∑
⎥⎦
ven tan a
r
ven tan a
Calculo del peso (w) y circularidad (q) de cada ventana.
w(r , c) = det( N )
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 ⎞
4 det( N )
⎟⎟
= 1 − ⎜⎜ 1
q (r , c) = 2
tr ( N )
⎝ λ1 + λ2 ⎠
2
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:
⎧w(r , c)
w* ( r , c ) = ⎨
⎩ 0
•
sí w(r , c) > wmin y q (r , c) > qmin
en otros casos
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.
15
•
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:
x=
∑ ( f (r , c) × f (r , c) × c)
∑ f (r , c) × f (r , c)
r
c
ven tan a
r
c
ven tan a
y=
∑ ( f (r , c) × f (r , c) × r )
∑ f (r , c) × f (r , c)
r
c
ven tan a
r
c
ven tan a
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.
16
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
17
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).
18
RANSAC
MMCC
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
Φ = ∑ ( yi − axi − b )
2
i =1
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.
19
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.
Yi = aX i + b
Y0 − ai X 0 = bi
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
20
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.
21
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).
( X i − X 0 ) 2 + (Yi − Y0 ) 2 = K 2
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
22
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".
23
Descargar