Qué vemos?
La información visual llega a la retina de manera local y “discreta”: conos y bastones sensibles a fotones reflejados por los objetos.
Un buen “modelo” son las imágenes digitales: f(x) ?R definido en un dominio ?
Modelo más general: datos multidimensionales.
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 |