Pero “vemos”estructura… Los “datos”del ingeniero (o del sistema biológico) son muy distintos de las imágenes en sentido artístico, semántico o perceptual. Vemos estructura!
Ejemplos de imágenes Huellas madera arte lena etc.
Pregunta Cómo pasar de los datos sin estructura a la imagen perceptual estructurada? Los sicólogos de la escuela de la Gestalt intentaron responder a esta pregunta en los años 20-30 del siglo pasado. Kanisza.ppt
Marr Los psicofísicos de los 60 intentaron responder a esta pregunta: Midieron cuanto era percibido en los primeros milisegundos luego de llegar la imagen a la retina. En los años 60-70 los ingenieros intentaron el camino de la “visión artificial”: contexto de los sensores exteroceptivos. Marr.ppt
El problema de la segmentación Dada una imagen digital encontrar una partición en regiones homogéneas y sus fronteras. Se supone que las regiones homogéneas son objetos perceptualmente significativos y los bordes sus límites.
Sería una máquina geométrica? Los gestaltistas y psicofísicos coinciden en que: El proceso de segmentación funciona en las primeras etapas de la visión. El proceso es independiente de modelos a priori o de procesos de aprendizaje. Aparentemente sería una máquina geométrica.
Dos aproximaciones… Discontinuidad de características: líneas, bordes. Regularidad de características: regiones. Son dos aspectos del mismo problema
Parámetros Buscamos que el algoritmo tenga “pocos” parámetros y que sean “intuitivos”. Dos parámetros “aceptables”: Qué es borde y qué es ruido? -> un umbral Escala: qué detalles significativos?
Análisis multiescala Dada una imagen definida en un dominio ?. Generar una secuencia de imágenes simplificadas cada vez más grosera conforme aumenta ?. Los detalles y bordes permanece si su “escala” es mayor que ?
Propiedades que debe cumplir Fidelidad: cuando Causalidad: solo depende de si Invariancia euclidiana: Si A es una isometría: Causalidad fuerte (para detección de bordes): si
Aproximación lineal Hildreth, Marr, Witkin, Koenderink… Marr hablaba del primal sketch (esbozo primario en bruto). Convolucionar la imagen con “detectores locales de borde”, detectar, filtrar y agrupar las respuestas. Cambio de signo del laplaciano. Extremas del gradiente.
Detección de bordes. Un borde definido como el límite entre dos regiones con propiedades diferentes. A veces se puede modelar como una discontinuidad en el nivel de gris (en este caso la propiedad de cada región está representada por el nivel de gris). La derivada local da cuenta de estas variaciones.
Imagen Perfil 1ra. derivada 2da. derivada Tomado de Gonzales y Wintz. Digital Image Processing.
bordes… La primera derivada indica la presencia de un borde. El signo de la 2da.derivada indica si un pixel pertenece a la parte “oscura” o “clara” del borde. ¿Donde está el borde?
Gradiente Operador asociado a la 1ra. derivada. El gradiente de una imagen está formado por un campo de vectores asociados a cada pixel. El módulo de cada vector da cuenta de la variación de intensidad y la dirección da cuenta de la dirección principal de esa variación.
Aproximar el operador Aproximación discreta: Sobel, Prewitt, etc. FIR: Canny IIR: Deriche
Suavizado previo Las derivadas amplifican el ruido. La idea es filtrar previamente con un pasabajos: se suaviza en una dirección y se deriva en la dirección perpendicular.
Máscaras. Se utilizan máscaras que recorren la imagen ponderando a los vecinos. El valor del pixel en la imagen de salida es la suma de los productos de los coeficientes de la máscara por el valor del pixel homólogo en la imagen de entrada.
(Gp:) w1 (Gp:) w4 (Gp:) w7 (Gp:) w2 (Gp:) w5 (Gp:) w8 (Gp:) w3 (Gp:) w6 (Gp:) w9
x (Gp:) x1 (Gp:) x4 (Gp:) x7 (Gp:) x2 (Gp:) x5 (Gp:) x8 (Gp:) x3 (Gp:) x6 (Gp:) x9
P(i,j) = i j máscara vecinaje 8
Expresado vectorialmente. Para una ventanas de orden m, se trabaja con vectores de dimensión n=2m+1. Para cada pixel de la imagen de entrada se obtiene un valor en la salida según:
Detección de puntos aislados. En zona homogénea = 0. Centrado en un punto aislado > 0. Definición de un umbral. (Gp:) -1 (Gp:) -1 (Gp:) -1 (Gp:) -1 (Gp:) 8 (Gp:) -1 (Gp:) -1 (Gp:) -1 (Gp:) -1
Prewitt Máscaras para calcular Gx y Gy: (Gp:) -1 (Gp:) 0 (Gp:) 1 (Gp:) -1 (Gp:) 0 (Gp:) 1 (Gp:) -1 (Gp:) 0 (Gp:) 1
(Gp:) -1 (Gp:) -1 (Gp:) -1 (Gp:) 0 (Gp:) 0 (Gp:) 0 (Gp:) 1 (Gp:) 1 (Gp:) 1
Prewitt Filtro pasabajos promediador: Pasamos una máscara en cada fila 1/3(1 1 1) Derivada por columnas1/2 (-1 0 1)
Sobel Máscaras para calcular Gx y Gy: (Gp:) -1 (Gp:) 0 (Gp:) 1 (Gp:) -2 (Gp:) 0 (Gp:) 2 (Gp:) -1 (Gp:) 0 (Gp:) 1
(Gp:) -1 (Gp:) -2 (Gp:) -1 (Gp:) 0 (Gp:) 0 (Gp:) 0 (Gp:) 1 (Gp:) 2 (Gp:) 1
Sobel Filtro pasabajos más suave: Pasamos una máscara en cada fila 1/4(1 2 1) Derivada por columnas1/2 (-1 0 1)
Gradiente
Operadores que implementan el gradiente
Operadores que implementan el gradiente
Operadores que implementan el gradiente
Página siguiente |