1 Div. Ingeniería de Sistemas y Automática VISIÓN POR COMPUTADOR Universidad Miguel Hernández DETECCIÓN DE BORDES EN UNA IMAGEN Detección de Bordes en una Imagen ISA-UMH Tabla de Contenidos 2 VISIÓN POR COMPUTADOR ª Definición de Borde É Extracción de Bordes É Operadores Derivada É Comparación de Funciones Locales É Comparación con Máscaras Orientadas É Extracción de esquinas Detección de Bordes en una Imagen ISA-UMH 1 VISIÓN POR COMPUTADOR Definición de Borde 3 Ñ Cualquier discontinuidad que sufre alguna función de intensidad sobre los puntos de la misma Ñ Los bordes caracterizan generalmente los límites de los objetos y serán útiles en la segmentación e identificación de objetos en escenas. Detección de Bordes en una Imagen ISA-UMH Definición de borde 4 VISIÓN POR COMPUTADOR Ñ Causado por: Õ Cambio brusco en la distancia objeto-cámara (dc) Õ Cambio brusco en la superficie de los objetos (n) Õ Cambio en las propiedades de los objetos (reflectancia) (r) Õ Cambios de iluminación (s, sombras) dc dc dc r n dc s n Detección de Bordes en una Imagen ISA-UMH 2 Tabla de Contenidos 5 VISIÓN POR COMPUTADOR É Definición de Borde ª Extracción de Bordes É Operadores Derivada É Comparación de Funciones Locales É Comparación con Máscaras Orientadas É Extracción de esquinas Detección de Bordes en una Imagen ISA-UMH Extracción de Bordes f(x,y) f1(x,y) VISIÓN POR COMPUTADOR Filtrado 6 g(x,y) Extrac. b(x,y) Umbral y=p(x) Local. Ñ Filtrado: Reducción de ruido Ñ Extracción de bordes Ñ Umbralización: Õ Selecciona pixeles etiquetados como bordes Ñ Localización: Õ Tiene como objetivo suministrar información exacta de la posición y orientación del borde Detección de Bordes en una Imagen ISA-UMH 3 ¿Cómo? 7 VISIÓN POR COMPUTADOR É Buscamos, por tanto, la localización de los bordes É ¿Cómo podemos detectar un borde? É ¿Qué es un borde? Ñ Buscamos un cambio brusco en la imagen. Ñ Necesitamos un método que destaque las zonas donde hay un cambio brusco. Detección de Bordes en una Imagen ISA-UMH Extracción de Bordes 8 É Estrategias: Ñ Operadores derivada de los niveles de intensidad VISIÓN POR COMPUTADOR Ñ Comparaciones de funciones locales de intensidad Ñ Comparación con máscaras orientadas, previamente definidas (template matching) É Características exigibles ÑPrecisión: El borde detectado debe estar cerca del borde real. Buena localización. ÑRobustez: Pequeños cambios en la imagen (ruido) no afectan al resultado final. Robustez frente a la orientación del borde. Detección de Bordes en una Imagen ISA-UMH 4 Tabla de Contenidos 9 VISIÓN POR COMPUTADOR É Definición de Borde É Extracción de Bordes ª Operadores Derivada É Comparación de Funciones Locales É Comparación con Máscaras Orientadas É Extracción de esquinas Detección de Bordes en una Imagen ISA-UMH Operadores Derivada 10 VISIÓN POR COMPUTADOR É Efecto Ñ La primera derivada produce un resalte de las zonas en que la intensidad no es homogénea. Ñ Es nula en zonas de intensidad constante. Ñ La segunda derivada origina un cambio de signo en la posición de borde. Perfil de Intensidad 1ª Derivada 2ª Derivada ÕPaso por cero Detección de Bordes en una Imagen ISA-UMH 5 Operadores Derivada 11 É Vector Gradiente: El vector gradiente nos da la magnitud y la dirección de la máxima variación de f(x, y). ⎛ ∂f (x ,y ) ⎞ ⎛ ∂f (x ,y ) ⎞ ⎟⎟ Mag[∇f (x ,y )] = ⎜ ⎟ + ⎜⎜ ⎝ ∂x ⎠ ⎝ ∂y ⎠ VISIÓN POR COMPUTADOR 2 ⎡ ∂f (x, y ) ⎤ ⎥ ⎢ ∇f ( x, y ) = ⎢ ∂f (∂xx, y ) ⎥ ⎥ ⎢ ⎣⎢ ∂y ⎦⎥ ∂f (x ,y ) θ = arctag ∂x ∂f (x ,y ) ∂y É Operador laplaciana: Un escalar calculado a partir de las derivadas parciales de segundo orden. ∇ 2 f ( x ,y ) = Detección de Bordes en una Imagen ∂ 2 f ( x ,y ) ∂ 2 f ( x ,y ) + ∂x 2 ∂y 2 ISA-UMH Bordes: caracterización VISIÓN POR COMPUTADOR 2 12 É Vector normal al borde: Vector perpendicular a la dirección del borde (dirección de máxima variación de la intensidad). É Vector en la dirección del borde: Vector tangente al borde (dirección sin variación apreciable de la intensidad). Detección de Bordes en una Imagen ISA-UMH 6 Operadores derivada 13 VISIÓN POR COMPUTADOR É Primero, vamos a extraer bordes basándonos en el operador gradiente. ¿Qué deberíamos esperar? Ñ Obtener una respuesta nula en zonas constantes de la imagen. Ñ Obtener el módulo y orientación del gradiente. Ñ Ser capaces de detectar el borde independientemente de su orientación. Ñ Robustez frente al ruido. É Pero, en una imagen, sin embargo, no conocemos f(x,y) analíticamente. É Tenemos una representación discreta de f(x,y) É ¿Cómo podemos aproximar el gradiente en un punto? É Ejercicio: Para el caso de esta imagen uni-dimensional, calcular df/dx. Detección de Bordes en una Imagen ISA-UMH Ejercicio 14 VISIÓN POR COMPUTADOR É Ejercicio: Para el caso de esta imagen uni-dimensional, calcular df/dx. 0 1 0 0 50 54 50 51 É En una imagen aproximaremos la derivada por diferencias entre píxeles. É Una solución es: 1 -1 Detección de Bordes en una Imagen 0 50 4 -4 1 0 ISA-UMH 7 Ejercicio 15 60 VISIÓN POR COMPUTADOR 50 40 30 20 10 0 -10 1 2 3 4 5 6 7 8 É Pero hay varias posibilidades más. ∆f ( x ) = f ( x + 1) − f ( x ) “Hacia delante” ∆f ( x ) = f ( x ) − f ( x − 1) “Hacia atrás” δ f ( x ) = f ( x + 1) − f ( x − 1) “Central” Detección de Bordes en una Imagen ISA-UMH Operadores Derivada 16 VISIÓN POR COMPUTADOR É Definiremos máscaras de convolución para hacer estas operaciones. f ( x − 1, y − 1) f ( x − 1, y ) f ( x − 1, y + 1) f ( x, y − 1) f ( x + 1, y − 1) f ( x, y ) f ( x + 1, y ) f ( x, y + 1) f ( x + 1, y + 1) É Ejercicio: Definid las máscaras de convolución para las siguientes operaciones. ∆f ( x ) = f ( x + 1) − f ( x ) “Hacia delante” ∆f ( x ) = f ( x ) − f ( x − 1) “Hacia atrás” δ f ( x ) = f ( x + 1) − f ( x − 1) “Central” Detección de Bordes en una Imagen 0 -1 1 -1 1 0 0 1 -1 ISA-UMH 8 Operadores Derivada 17 VISIÓN POR COMPUTADOR Ñ Ejemplos (Eje X) ∂f (x ,y ) ≈ ∇ x f ( x , y ) = f ( x , y ) − f ( x − 1, y ) ∂x Detección de Bordes en una Imagen -1 1 ISA-UMH Operadores Derivada 18 VISIÓN POR COMPUTADOR Ñ Ejemplos (Eje Y) ∂f (x ,y ) ≈ ∇ y f (x ,y ) = f (x ,y ) − f (x ,y −1) ∂y Detección de Bordes en una Imagen -1 1 ISA-UMH 9 Operadores Derivada 19 VISIÓN POR COMPUTADOR Ñ Dados dos núcleos fx y fy. El gradiente en un punto tiene: Mag(m, n) = ∇x f (m, n)2 + ∇ y f (m, n)2 ⎛ ∇ y f (m, n) ⎞ ⎟⎟ ⎝ ∇x f (m, n) ⎠ θ = tan−1⎜⎜ Ñ Una aproximación del módulo del gradiente es: ∧ Mag = ∇ x f (m, n ) + ∇ y f (m, n ) Ñ ¿Ventaja? Detección de Bordes en una Imagen ISA-UMH Operadores Derivada 20 VISIÓN POR COMPUTADOR Ñ Otra aproximación diferente es: ∇ r f (x ,y ) = f (x ,y )* ∇ c f (x ,y ) = f (x ,y )* -1 0 0 1 0 -1 1 0 Ñ que se denominan gradientes de Robert. Ñ Se pueden entender como las derivadas en dos direcciones diagonales Ñ La magnitud del gradiente se puede calcular como suma de las dos respuestas. ∧ Mag = ∇ r f (x ,y ) + ∇ c f (x ,y ) Detección de Bordes en una Imagen ISA-UMH 10 VISIÓN POR COMPUTADOR Operadores Derivada Detección de Bordes en una Imagen 21 ∇ x f ( x ,y ) ∇ y f ( x ,y ) ∇ r f ( x ,y ) ∇ c f ( x ,y ) ISA-UMH VISIÓN POR COMPUTADOR Operadores Derivada: 22 É En general, las máscaras presentadas hasta ahora no son muy robustas. É ¿Qué ocurre si hay ruido en la imagen? Puede ser un problema. É Son núcleos demasiado pequeños. É ¿Cómo podemos mejorarlos? É La influencia del ruido será menor si utilizamos núcleos más grandes, al promediarse la respuesta en un área mayor. Detección de Bordes en una Imagen ISA-UMH 11 Operadores Derivada 23 VISIÓN POR COMPUTADOR É Operador de Prewitt Õ Se basa en la idea de diferencia “central”. Õ El cálculo en un entorno reduce el efecto del ruido. Õ La suma de valores absolutos da respuesta para todas las direcciones -1 -1 -1 -1 0 1 0 0 0 -1 0 1 1 1 1 -1 0 1 Detección de Bordes en una Imagen ISA-UMH Operadores Derivada 24 É Operador de Sobel VISIÓN POR COMPUTADOR Õ Explota una idea similar al anterior. Pero pondera más los píxeles centrales en el promediado. -1 -2 -1 -1 0 1 0 0 0 -2 0 2 1 2 1 -1 0 1 Detección de Bordes en una Imagen ISA-UMH 12 Operadores Derivada 25 É Detectores diagonales. VISIÓN POR COMPUTADOR Ñ Dan una mejor respuesta en bordes diagonales. 1 1 0 0 1 1 1 0 -1 -1 0 1 0 -1 -1 -1 -1 0 Detección de Bordes en una Imagen ISA-UMH VISIÓN POR COMPUTADOR Operadores Derivada Detección de Bordes en una Imagen 26 ÕGradiente de Roberts: Umbral T=10, T=20. Õ¿Qué umbral elegimos? ISA-UMH 13 Operadores Derivada: Algoritmo de Canny 27 VISIÓN POR COMPUTADOR É Algoritmo de Canny Ñ Extrae bordes y cierra contornos. Ñ Muy utilizado Ñ Se fundamenta en la primera derivada É Pasos Ñ Ñ Ñ Ñ Obtención del gradiente Supresión de no-máximos al resultado del gradiente Histéresis de umbral Cierre de contornos abiertos 1. Obtención del gradiente: I J Gaussiana Suavizado Detección de Bordes en una Imagen Em Gradiente Derivada Ea ISA-UMH Operadores Derivada 28 VISIÓN POR COMPUTADOR 2. Supresión de no-máximos al resultado del gradiente El resultado tiene bordes anchos, poco definidos a. Para todo punto se obtiene la dirección más cercana dk a 0º, 45º, 90º y 135º en Ea(i,j) b. Si Em(i,j) es menor que uno de sus dos vecinos en la dirección dk, IN(i,j)=0. Si no IN(i,j)=Em(i,j) Detección de Bordes en una Imagen ISA-UMH 14 Operadores Derivada 29 VISIÓN POR COMPUTADOR 3. Histéresis de umbral Permite eliminar máximos procedentes de ruido, etc. a. Entrada IN, Ea, y dos umbrales T1 y T2 (T2>T1) b. Para todo punto en IN, y explorando en un orden: a. Localizar el siguiente punto tal que IN(i,j) > T2 b. Seguir las cadenas de máximos locales a partir de IN(i,j) en ambas direcciones perpendiculares a la normal al borde siempre que IN>T1. Marcar los puntos explorados. c. La salida es un conjunto de bordes conectados de contornos de la imagen, así como la magnitud y orientación. Detección de Bordes en una Imagen ISA-UMH Operadores Derivada VISIÓN POR COMPUTADOR 30 MAGNITUD DEL GRADIENTE IMAGEN ORIGINAL IMAGEN BINARIZADA PREVIA HISTÉRESIS DE SUPRESIÓN DEUMBRAL NO MÁXIMOS Detección de Bordes en una Imagen ISA-UMH 15 Operadores Derivada 31 VISIÓN POR COMPUTADOR 4. Cierre de contornos abiertos (Algoritmo de Deriche y Cocquerez) a. La imagen de entrada es una imagen de contornos binarizada (1= borde; 0=no borde) b. Para cada punto de borde de un extremo abierto. Se convoluciona con la máscara. El resultado es un código que indica las direcciones en las que buscar: 20 21 22 27 0 23 26 25 24 1 2 4 128 8 64 32 16 c. Para los pixeles marcados con este código se toma como pixel de borde el del máximo gradiente en las tres direcciones posibles. d. Se repiten los pasos hasta que se cierren todos los contornos (no se añaden nuevos píxeles de borde). Detección de Bordes en una Imagen ISA-UMH Operadores segunda derivada VISIÓN POR COMPUTADOR É Operador Laplaciana ∇ 2 f (x ,y ) = 32 ∂ 2 f ( x ,y ) ∂ 2 f ( x ,y ) + ∂x 2 ∂y 2 É Ejercicio: Discretización aproximada: 1 Calcular diferencias “hacia adelante”. 2 Calcular diferencia de diferencias. f (x−1, y) f (x, y) f (x+1, y) ∆f(x)= f(x)−f(x−1) ∆f(x)= f(x+1)−f(x) d2f/dx2=[f(x+1, y)-f(x,y)] - [f(x,y)-f(x-1,y)] d2f/dx2= f(x-1,y) -2f(x,y) + f(x+1, y) Detección de Bordes en una Imagen ISA-UMH 16 Operadores segunda derivada 33 VISIÓN POR COMPUTADOR É Discretizaciones aproximadas ∂ 2 f ( x ,y ) ≈ ∆ xx f (x ,y ) = f (x + 1,y ) − 2f (x ,y ) + f (x − 1,y ) ∂x 2 1 -2 1 ∂ f ( x ,y ) ≈ ∆ yy f (x ,y ) = f (x ,y + 1) − 2f (x ,y ) + f (x ,y −1) ∂y 2 1 2 -2 1 Detección de Bordes en una Imagen ISA-UMH Operadores Derivada 34 VISIÓN POR COMPUTADOR Ñ Laplaciana: Acción conjunta de las dos máscaras 0 0 0 1 -2 1 0 0 0 + 0 1 0 0 -2 0 0 1 0 Detección de Bordes en una Imagen = 0 1 0 1 -4 1 0 1 0 ISA-UMH 17 Operadores Derivada 35 VISIÓN POR COMPUTADOR É Operadores Laplaciana 0 1 0 1 1 1 1 -4 1 1 -8 1 0 1 0 1 1 1 Detección de Bordes en una Imagen -1 2 -1 2 -4 2 -1 2 -1 ISA-UMH Operadores Derivada 36 VISIÓN POR COMPUTADOR ÑResumen: ÕSi los bordes están pronunciados, un detector basado en la primera derivada funciona bien. En caso contrario, habrá que recurrir a un detector basado en la segunda derivada. ÕLas máscaras son simétricas rotacionalmente. Pueden detectar bordes en todas las direcciones del espacio. ÕEn un operador basado en la segunda derivada, se detecta el borde mediante… ;la determinación del paso por cero (zero-crossing). ÕMás sensible al ruido que las máscaras de gradiente. ÕSi binarizamos la imagen se producen bordes doblesÆZero crossings Detección de Bordes en una Imagen ISA-UMH 18 Operadores Derivada 37 É Operador Laplaciana de la Gaussiana VISIÓN POR COMPUTADOR Ñ Hemos visto que el operador Laplaciana es muy sensible al ruido Õ Æ filtrado gaussianoÆ aplicación de máscara… doble trabajo. G(x, y) = − Ñ Aplicar Laplaciana a la imagen filtrada por 2 2 1 e − (x + y 2π σ )/2 σ 2 Ñ Pero ocurre que: ∇ 2 (f(x, y)* G(x, y)) = f(x, y)* ( ∇ 2G(x, y)) Ñ Es decir: Podemos simplemente convolucionar con ⎛ x 2 + y 2 ⎞ −(x 2 + y 2 )/2σ 2 ⎟e ∇ 2G(x, y) = K ⎜⎜ 2 − σ 2 ⎟⎠ ⎝ Ñ Al suavizar la imagen se reduce el efecto del ruido. Ñ Permite trabajar a diferentes escalas al variar σ. Cuanto mayor es esta desviación, habrá un menor número de pasos por cero (no se detectan objetos pequeños). Detección de Bordes en una Imagen ISA-UMH Umbralización 38 Ñ Tipos de umbralización VISIÓN POR COMPUTADOR Õ Operadores basados en la primera derivada • Umbralización simple • Umbral T único, define la existencia de borde • g(x, y)>T entonces BORDE • g(x, y)<T entonces NO BORDE • Umbralización binivel • Dos umbrales, los puntos de borde deben cumplir T1<g(x, y)<T2 • Umbralización ‘inteligente’. Algoritmo de Canny siguiendo los máximos locales del gradiente. ÕOperadores basados en la segunda derivada ;Pasos por cero Detección de Bordes en una Imagen ISA-UMH 19 Tabla de Contenidos 39 VISIÓN POR COMPUTADOR É Definición de Borde É Extracción de Bordes É Operadores Derivada ª Funciones Locales É Comparación con Máscaras Orientadas É Extracción de Esquinas Detección de Bordes en una Imagen ISA-UMH Funciones Locales 40 É Diferencia de Funciones Gaussianas VISIÓN POR COMPUTADOR Ñ Se filtra la imagen con filtros gaussianos de distinta sigma y se calcula la diferencia. ^ f 1 (x ,y ,σ1 ) = f (x ,y )* h(u ,v ,σ1 ) ^ f 2 (x ,y ,σ 2 ) = f (x ,y )* h(u ,v ,σ 2 ) siendo h un filtro Gaussiano Ñ Realce de los bordes ^ ^ g(x ,y ) = f 1 (x ,y ,σ1 ) − f 2 (x ,y ,σ 2 ) ÑSe considera una aproximación de la Laplaciana de la Gaussiana. Detección de Bordes en una Imagen ISA-UMH 20 VISIÓN POR COMPUTADOR Comparación de Funciones Locales Filtro: Gaussiano σ=1 Filtro: Gaussiano σ=0.7 41 Diferencia imágenes previas Detección de Bordes en una Imagen ISA-UMH Comparación con Funciones Locales 42 VISIÓN POR COMPUTADOR É Operaciones Morfológicas Ñ Imagen dilatada multinivel Ñ Imagen erosionada multinivel Ñ Realce de bordes: Diferencia entre ambas g(x ,y ) = [f (x ,y ) ⊕ e(u ,v )] − [f (x ,y )Θe(u ,v )] Detección de Bordes en una Imagen ISA-UMH 21 Operaciones morfológicas 43 VISIÓN POR COMPUTADOR Imagen Dilatada Multinivel Diferencia Dilatación-Erosión Imagen Erosionada Multinivel Detección de Bordes en una Imagen ISA-UMH Tabla de Contenidos 44 VISIÓN POR COMPUTADOR É Definición de Borde É Extracción de Bordes É Operadores Derivada É Comparación de Funciones Locales ª Comparación con Máscaras Orientadas É Extracción de esquinas Detección de Bordes en una Imagen ISA-UMH 22 Comparación con Máscaras Orientadas 45 É Conjunto de Máscaras VISIÓN POR COMPUTADOR Ñ Cada una resalta la existencia de un borde en una determinada dirección Ñ Tamaño y número Õ Dependiente de la precisión requerida Ñ Obtención de los bordes g(x ,y ,i) = máx{f (x, y )* h i (u, v )} ÑSe pueden utilizar máscaras para detectar también esquinas o configuraciones especiales de bordes. Detección de Bordes en una Imagen ISA-UMH Comparación con Máscaras Orientadas 46 VISIÓN POR COMPUTADOR Õ Ejemplo: Máscaras de Kirsch -3 -3 5 -3 0 5 -3 -3 5 K0 0º -3 5 5 5 5 5 5 5 -3 -3 0 5 -3 0 -3 5 0 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 K1 45º K2 90º K3 135º 5 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 5 0 -3 5 0 -3 -3 0 -3 -3 0 5 5 -3 -3 5 5 -3 5 5 5 -3 5 5 K4 180º K5 235º K6 270º K7 315º Módulo del Gradiente = Máximo de estos valores Dirección = Correspondiente al máximo Detección de Bordes en una Imagen ISA-UMH 23 Tabla de Contenidos 47 VISIÓN POR COMPUTADOR É Definición de Borde É Extracción de Bordes É Operadores Derivada É Comparación de Funciones Locales É Comparación con Máscaras Orientadas ª Extracción de esquinas Detección de Bordes en una Imagen ISA-UMH Esquinas VISIÓN POR COMPUTADOR É 48 Esquinas: Ñ Elementos en el espacio que pueden ser detectados fácilmente desde diferentes puntos de vista. Ñ En un borde la variación de f(x,y) es grande en una dirección y pequeña en la dirección ortogonal. Ñ En una esquina esta variación será grande en las dos direcciones. É Utilidad: Ñ Visión estéreo Ñ Estimación del movimiento de la cámara a partir de imágenes Ñ Reconocimiento de objetos É Diferentes métodos: Ñ Kitchen Rosenfeld Ñ Beaudet Ñ Harris Detección de Bordes en una Imagen ISA-UMH 24 Esquinas 49 É Método de Kitchen y Rosenfeld VISIÓN POR COMPUTADOR E= f xx f y2 + f yyf x2 − 2f xy f x f y (f x2 + f y2 ) 3/2 ≥ U1 Siendo fx, fy las primeras derivadas y fxx, fxy, fyy las segundas derivadas. U1 es un umbral para determinar si es una esquina. É Curvatura Gaussiana (Beaudet) f xx f yy - f xy2 K= ≥ U2 (1 + f x2 + f y2 ) 2 Detección de Bordes en una Imagen ISA-UMH Harris corner detector 50 VISIÓN POR COMPUTADOR É Se fundamenta en la siguiente matriz, calculada en un entorno pxq del punto. ⎡ ∑ I x2 C=⎢ ⎣⎢∑ I x I y ∑I I ∑I x y 2 y ⎤ ⎥ ⎦⎥ ⎡λ M =⎢ 1 ⎣0 É Si diagonalizamos C: 0⎤ λ 2 ⎥⎦ É Los valores λ1 y λ2 nos indican la magnitud del cambio en la dirección de los autovectores. Dirección de mínimo cambio λmax Dirección de máximo cambio λmin Detección de Bordes en una Imagen ISA-UMH 25 Harris corner detector 51 É En una esquina los valores λ1 y λ2 deben ser grandes. É Encontramos los máximos de R que superen un valorÆesquinas (k=0.04-0.06). 2 VISIÓN POR COMPUTADOR R = det( M ) − k ·tr ( M ) det( M ) = λ1λ 2 tr ( M ) = λ1 + λ 2 Clasificación de puntos λ1 y λ2 pequeños Detección de Bordes en una Imagen λ2 “Borde” λ2 >> λ1 Región cte “Esquina” λ1 y λ2 grandes, λ1 ~ λ2; “Borde” λ1 >> λ2 λ1 ISA-UMH Harris corner detector VISIÓN POR COMPUTADOR 52 Detección de Bordes en una Imagen ISA-UMH 26 VISIÓN POR COMPUTADOR Extracción de puntos de interés: SIFT (Scale Invariant Feature Transform) 53 É Se puede entender como una generalización de la extracción de bordes/esquinas. É Se añade información que permite distinguir al punto en una etapa posterior. É Etapas: Ñ Detección de puntos en el espacio de escalas. Ñ Asignación de una orientación. Ñ Generación de un descriptor. É Detección de puntos: Ñ Se convoluciona la imagen con un filtro DoG (Diferencia de Gaussianas). Es una aproximación de la laplaciana de la ⎛ x +y ⎞ ⎜ ⎟ Gaussiana. ⎜ − 2σ ⎟ 1 ⎝ ⎠ 2 G ( x, y,σ ) = e 2 2 2 πσ 2 DoG ( x , y , σ ) = G ( x , y , k σ ) − G ( x , y , σ ) Ñ Es equivalente a: D(x, y,σ ) = L(x, y, kσ ) − L(x, y,σ ) L(x, y,σ ) = G(x, y,σ ) ∗ I (x, y) Detección de Bordes en una Imagen ISA-UMH VISIÓN POR COMPUTADOR Scale Invariant feature transform 54 É Se realiza un muestreo con interpolación bilineal y se continúa con el proceso. É Los puntos significativos se extraen como máximos y minimos entre imágenes DoG consecutivas. Se compara el píxel con sus 8 vecinos y con los 9 vecinos superiores e inferiores. Si el píxel es un máximo o un mínimo se selecciona. É Permite detectar puntos de forma estable ante: Ñ Escalados, rotaciones y diferentes puntos de vista. Ñ Cambios de iluminación. Detección de Bordes en una Imagen ISA-UMH 27 SIFT VISIÓN POR COMPUTADOR 55 É Reconocimiento del punto en una etapa posterior. Requiere: Ñ Asignación de una orientación. Ñ Generación de un descriptor. Detección de Bordes en una Imagen ISA-UMH VISIÓN POR COMPUTADOR SIFT: Aplicaciones 56 100 Detección de Bordes en una Imagen 200 300 400 00 600 00 ISA-UMH 28
© Copyright 2025