Title: VISI
1Manuel Mazo Quintas Daniel Pizarro Pérez
Departamento de Electrónica. Universidad de
Alcalá. Emailmazo_at_depeca.uah.es
2Contenido
- Extracción (Detección) de bordes.
- Detección de esquinas.
3Extracción (Detección) de bordes
4Detección de bordes
- Qué es un borde?
- Él estaba sentado en el borde de su asiento.
- Ella pinta con bordes muy pronunciados
- Yo siempre corro por fuera de los bordes de la
carretera - Ella estuvo parada al borde del rio
- Los negativos de fotografías deberían cogerse
únicamente por los bordes - Ellos corren al borde de sus posibilidades
- La definición de borde no es clara.
- En visión por computador, los bordes son
frecuentemente relacionados con discontinuidades
dentro de un conjunto de píxeles.
5Detección de bordes Discontinuidades
- A Discontinuidad de profundidad cambios
abruptos de profundidad en la escena - B Discontinuidades normales de superficies
cambios en la orientación de la superficie - C Disconinuidades de iluminación sombras,
cambios de luz. - D Discontinuidades de reflectancia propias de
las superficies, marcas huellas
6Detección de bordesObjetivo
- Idear algoritmos para la extracción de bordes
(edges) significativos de una imagen. - Lo que se quiere decir con significantes no está
claro. - En parte definido por el contexto en el que se
están aplicando los detectores de bordes.
7Detección de bordesBordes locales (Edgels)?
- Un borde local (o edgel) es un cambio rápido en
una imagen dentro de un área pequeña. Por tanto
los edgels deberán detectarse en un entorno
local. - Edgels no son contornos, límites o líneas.
- Los edgels sirven de soporte para definir
contornos, límites o líneas. - Contornos, límites o líneas se construyen a
partir de los edgels - Los Edgels tienen propiedades
- Orientación
- Magnitud
- Longitud (frecuentemente una unidad de longitud)?
8BordesCómo detectar Edgels?
Línea
Nivel de gris de la línea
f(u)?
u
Primera derivada
Máximo
f(u)?
u
Segunda derivada
Cruce por cero
f(u)?
u
9BordesEjemplos
10BordesPropiedades
11BordesDescriptores cuantitativos
- Normal Vector unitario en la dirección de máxima
variación de intensidad (máximo gradiente de
intensidad)? - Dirección Vector unitario perpendicular al
vector normal. - Posición o centro posición de la imagen en la
cual se localizan los bordes. - Longitud relacionado con el gradiente local
(cómo de rápido varía la intensidad a través del
borde en la dirección de la normal).
normal
Dirección
12BordesEfecto del ruido
Aumento de ruido
Borde ideal
Borderuido
13BordesEjemplo real
14BordesPasos a seguir en su detección
- Eliminación de ruido
- Suprimir todo lo que se pueda el ruido mientras
se mantengan los bordes. - En ausencia de otro tipo de información, se
supone que el ruido es blanco con distribución
gausiana. - Realce de bordes
- Diseñar filtros que respondan bien a los bordes.
Filtros que tengan respuestas elevadas en donde
existan bordes y respuesta baja en el resto. - Localización de bordes
- Determinar qué píxeles deberían ser descartados
por representar ruido, y cúales se deben
mantener. - Bordes de ancho delgado (de un píxel de ancho)
máxima supresión - Establecer un valor mínimo para considerar un
máximo local de un filtro como un borde
(umbralización)?
15BordesMétodos de detección
- Estimación de la primera derivada
- Detectores de bordes tipo gradiente.
- Detectores de bordes tipo orientación (brújula
o compás). - Detectores de bordes tipo Canny
- Segunda derivada
- Laplaciana
- Laplaciana de la Gaussiana
- Modelos parámetricos de bordes
- nombre en honor de su autor.
16BordesOperadores primera derivada Gradiente
- El gradiente de una imagen f(u,v) en un punto
(u,v) se define como un vector bidimensional
(vector perpendicular al borde)
Interpretación
- Se considera que existe borde si la magnitud
- del gradiente supera un determinado umbral.
- !Se debe fijar un umbral T!
17BordesOperadores primera derivada Gradiente
- Las derivadas se pueden aproximar por
u
máscara
h11(u,v)?
v
máscara
h21(u,v)?
h12(u,v)?
h22(u,v)?
18BordesEjemplo real gradiente
f(u,v)?
g1(u,v)f(u,v)h21(u,v)?
g2(u,v)f(u,v)h11(u,v)?
g(u,v) g1(u,v) g2(u,v)?
19BordesEjemplo real gradiente
f(u,v)?
gm(u,v)Gf(u,v)
g(u,v), con T 30
?(u,v)?
20BordesOtros operadores gradiente
Sobel
Previtt
Roberts
21BordesEjemplos con máscaras de Prewitt
22BordesEjemplos con máscaras de Prewitt
23BordesOperadores Ttipo orientación (brújula)?
- Para cada píxel f(u,v) Gf(u,v)
máxk0f(u,v), k1f(u,v), , k7f(u,v)
kif(u,v)? - ?ángulo de la dirección
correspondiente a ki
24Bordes Ejemplos con Máscaras de Kirsch
G
?
25Bordes Detectores tipo Canny
- Se fundamenta en los operadores derivada.
- Resulta especialmente interesante porque extrae
bordes y cierra los contornos. - Se desglosa en tres fases
- Obtención del gradiente (G y ?) en cada píxel.
- Adelgazamiento del ancho de los bordes, obtenidos
con el gradiente, hasta lograr bordes de un píxel
de ancho. - Histéresis de umbral al resultado de la supresión
no máxima.
26Bordes Detectores tipo Canny
- Obtención del gradiente
- Supresión no máxima al resultado del gradiente
2.1. Con Em y Ea como entrada generar una imagen
de salida IN
2.1.1. Para cada píxel (u,v), encontrar cuál de
las direcciones dk 0º, 45º, 90º, 135º)
se parece más a al dirección Ea(u,v)?
2.1.2. Si Em(u,v) es más pequeño que al menos
uno de sus dos vecinos en la dirección
dk, entonces IN (u,v) 0, de otro modo IN(u,v)
Em(u,v)?
27Bordes Detectores tipo Canny
- IN(u,v) es una imagen con los bordes adelgazados.
Imagen binarizada con umbral T30 para la
magnitud del gradiente (Em(u,v)?
Supresión no máxima (IN(u,v)
La salida IN(u,v) suele contener máximos
locales creados por el ruido. Cómo se puede
eliminar esto?. La eliminación fijando un umbral
da problemas.
28Bordes Detectores tipo Canny
- Histéresis de umbral a la supresión no máxima
- 3.1. Fijar dos umbrales T1 y T2 tales que T1ltT2
- 3.2. Para todos los puntos de IN(u,v) y
explorando en un orden fijo - 3.1.1. Localizar el siguiente punto de
borde no explorado previamente, - IN(u,v), tal que IN(u,v) gtT2.
- 3.1.2. Comenzar a partir de IN(u,v),
seguir las cadenas de máximos - locales conectados en ambas
direcciones perpendiculares a la - normal del borde, siempre que
INgtT1. Marcar todos los puntos - explorados y salvar la lista de
todos los puntos en el entorno - conectado encontrado.
- 3.3. La salida es un conjunto de bordes
conectados de contornos de la - imagen, así como la magnitud y
orientación, describiendo las - propiedades de los puntos de borde.
- Este método elimina las uniones en Y y T de los
segmentos que confluyen en un punto -
29Bordes Detectores tipo Canny
30Bordes Detectores tipo Canny
?1, T2255, T11
?1, T2255, T1220
?2, T2128, T11
?1, T2128, T11
31Bordes Segunda derivada Laplaciana
32Bordes Ejemplo Laplaciana
Máscara 5x5
Máscara 9x9
33Bordes Laplaciana de la gausiana
Operador Sombrero Mexicano
34Bordes Laplaciana de la gausiana
?2 1.0
?2 2.0
?2 0.5
35Bordes Laplaciana de la gausiana
Un ejemplo máscara de 5x5
Convolución bidimensional
Cuatro convoluciones unidimensionales
36Bordes Laplaciana de la gausiana
- Cómo se generan las máscaras bidimensionales?
- Fijar el valor de s.
- Determinar el valor de la ecuación anterior para
los diferentes valores de (u,v) u0, 1,2,. y
v,0, 1, 2, Dada la simetría sólo hay que
calcular en un cuadrante. - Escalar los valores y redondear los valores al
entero más próximo. - Extender el ancho de la máscara de forma que
contenga todos los valores distintos de cero. - Ajustar de forma simétrica los valores, mediante
la adición o substracción de valores pequeños
hasta conseguir que todos los valores de la
máscara sumen cero
37Bordes Ejemplo Laplaciana de la gausiana
Máscara 13x13
38Bordes Laplaciana de la gausiana
Máscara de 17x17
39BordesDetección en imágenes en color
- Dos alternativas frecuentes
Descomposición Gradiente
Detec. De Bordes Fusión de salida
Mapa de Bordes
Gradiente
Descomposición Gradiente
Grad. Multidim. Detección de bordes
40BordesResumen
- Los operadores Prewit y Sobel por si solos se
pueden aplicar a imágenes con poco ruido y bordes
finos. - El operador Canny puede afrontar imágenes con
ruido y cualquier grosor de borde. (Parámetro s)? - Todos los operadores de gradiente
- Histéresis de umbral al resultado de la supresión
no máxima. - Aportan información de la orientación del borde
en la imagen. - El operador laplaciana de la gaussiana o de paso
por cero, no aporta información de la dirección y
no es dado a técnicas de supresión no máxima
41Detección de esquinas.
42Extracción de esquinasEsquinas
- Esquina Región de la imagen donde existen
variaciones apreciables en la intensidad de la
imagen f(u,v) en ambas coordenadas u y v. - Existen dos algoritmos muy usados como detectores
de esquinas - Operador Kanade-Lucas-Tomasi (KLT)?
- El operador Harris.
- Se introduce el concepto de matriz de estructura
local.
43Extracción de esquinasMatriz de Estructura Local
- Se define el tensor
- Se calculan las derivadas para cada punto de la
imagen en una región de vecindad D. - Si es necesario se suaviza la imagen antes con un
filtro gaussiano. - Las propiedades de la matriz son
- Simetría Puede ser diagonalizada mediante una
matriz de paso ortogonal. - Definida o Semi-definida positiva Ambos
autovalores son positivos o cero
44Extracción de esquinasMatriz de Estructura Local
- La interpretación geométrica de los autovalores
es - Para una imagen uniforme
- La imagen de un borde produce
, donde el autovector asociado con el
autovalor positivo es la normal al borde - Una esquina produce dos autovalores positivos.
Cuanto mayores sean, mayor será el contraste en
la imagen producido por la esquina. - Observaciones básicas
- Los autovectores expresan direcciones de borde y
los autovalores magnitud de gradiente. - Se puede considerar una esquina a aquella matriz
de Estructura Local que tiene el menor autovalor
suficientemente grande.
45Extracción de esquinasAlgoritmo KLT
- Se define un umbral para el autovalor menor y una
region de vecindad D - Calcular las derivadas de la imagen para cada
punto en la región de vecindad D. - Computar la matriz de Estructura en cada uno.
- Calcular el autovalor mas pequeño.
- Si es mayor que el umbral establecido añadirlo a
una lista. - Ordenar la lista de mayor a menor y elegido un
punto, eliminar aquellos que estan dentro de la
region D de vecindad. - Observaciones básicas
- El umbral para el autovalor mas pequeño debe ser
elegido con cuidado en función del histograma de
autovalores. - El criterio para elegir D es una relación de
compromiso entre ruido y lo juntas que pueden
aparecer dos esquinas.
46Extracción de esquinasAlgoritmo Harris
- Es anterior a KLT y define una medida de lo bueno
que es una esquina en función de la matriz de
Estructura. - Una esquina es detectada si H es superior a un
umbral establecido. - Cuanto mayor sea a' menor será H y por tanto se
detectarán menos bordes. - Se utiliza también un análisis de vecindad D.
47Extracción de esquinasHarris y KLT
KLT
Harris
48Extracción de esquinasHarris y KLT
Harris
KLT
49Extracción de esquinasMétodo Kitchen y Rosenfeld
- Un método habitual es el uso de derivadas de
segundo orden, para medir la razón de cambio de
la dirección del gradiente (rcdg) con la
magnitud del gradiente (mg). - Una esquina se declara como tal si rcdg T1 y/o
mg T2. siendo T1 y T2 dos umbrales
predeterminados. - Detector de esquinas de Kitchen y Rosenfeld
50Extracción de esquinasMétodo Kitchen y Rosenfeld
Donde
Por tanto
51Extracción de esquinasMétodo Kitchen y Rosenfeld
Ejemplo de detección de esquinas