Principios de filtrado y convoluci´on en im´agenes digitales
Rodrigo Rojas Moraleda
April 8, 2011
Rodrigo Rojas Moraleda — ...
Outline
1 Vectores y sus representaciones
2 Matrices y sus representaciones
3 Sistemas Lineales
4 Detecci´on de bordes
Rod...
Outline
1 Vectores y sus representaciones
2 Matrices y sus representaciones
3 Sistemas Lineales
4 Detecci´on de bordes
Rod...
Vectores
representaciones
Vector v =






x
y
z






Base vectorial y
coordenadas
r
Px
y
O
x
Producto Intern...
Outline
1 Vectores y sus representaciones
2 Matrices y sus representaciones
3 Sistemas Lineales
4 Detecci´on de bordes
Rod...
Matrices
representaciones
Conjunto de
elementos
organizados en
columnas y filas


a1,1 a1,2
a2,1 a2,2


Algunas operaci...
Matrices
Operaciones con vectores
Al Multiplicar una matriz cuadrada a un vector se obtiene otro vector



a1,1 a1,2
a2...
Valores propios y vectores propios
A partir de una transformaci´on A se busca resolver



a1,1 a1,2
a2,1 a2,2


 ·
...
Outline
1 Vectores y sus representaciones
2 Matrices y sus representaciones
3 Sistemas Lineales
4 Detecci´on de bordes
Rod...
Operador del sistema
Un sistema convierte una entrada f(x) en una salida g(x) don de x es una
variable independiente.
f(x)...
Operador lineal
H es un operador lineal para una clase de entradas {f(x)} si:
H[αifi(x) + αjfj(x)] = αiH[fi(x)] + αjH[fj(x...
Sistema lineal
Un sistema lineal es un sistema descrito por un operador lineal (y respecto
a la misma clase de entradas) q...
Sistemas
Invariante en el tiempo / espacio
Un operador H es denominado invariante en el tiempo o invariante espacial
para ...
Sistema
Causal
Un sistema causal es aquel que es no-anticipativo; esto es, que las salidas
dependen de entradas presentes ...
Convoluci´on
Pulso unitario
La Funci´on Delta de Dirac δ(t), conocida tambi´en como el impulso unitario
o funci´on delta e...
Convoluci´on
Respuesta al impulso
∞
−∞
f(t)δ(x − t) dt = f(x)
g(x) = H[f(x)] g(x) = H
∞
−∞
f(a)δ(x − a)da
g(x) =
∞
−∞
f(a)...
Convoluci´on
Convoluci´on Integral
La expresi´on
g(x) =
∞
−∞
f(a)h(x, a) da
indica que la respuesta de un sistema lineal q...
Convoluci´on
Convoluci´on Integral
g(x) =
∞
−∞
f(a)h(x − a) da
Considerando que a es una variable de integraci´on
g(x) = f...
Convoluci´on
Representaci´on discreta
δ [n] =
1 si n = 0
0 otro caso
f [n] =
∞
k=−∞
f [k] δ [n − k]
La suma de convoluci´o...
Outline
1 Vectores y sus representaciones
2 Matrices y sus representaciones
3 Sistemas Lineales
4 Detecci´on de bordes
Rod...
Detecci´on de bordes
Filtros del gradiente
Un borde es una transici´on local, de un objeto a otro sin ser
necesariamente u...
Gradiente
Detecci´on de bordes
Considerando una imagen como un campo escalar z = E(x, y), por ejemplo
de la intensidad de ...
Gradiente
Detecci´on de bordes
O
=λv
v' y
x
E
∂E/∂x
∂E/∂y
(x,y,E(x,y))
Vector gradiente, E =


∂E
∂x
∂E
∂y

 =


Gx
...
Detecci´on de bordes
Aproximaci´on de derivadas
Una manera de aproximar las derivadas en un entorno discreto es utilizar
u...
Detecci´on de bordes
Kernels de convoluci´on
Conexi´on con sistemas LTI
Puesto que las derivadas son operadores lineales e...
Detecci´on de bordes
Kernels de convoluci´on
Prewitt Kernels
∂E
∂x
≈ E(i + 1, j) − E(i − 1, j)/2 ∂E
∂y
≈ E(i, j + 1) − E(i...
Detecci´on de bordes
Kernels de convoluci´on
Sobel Kernel
∂E
∂x
≈ E(i + 1, j) − E(i − 1, j)/h ∂E
∂y
≈ E(i, j + 1) − E(i, j...
Detecci´on de bordes
M´etodos de la segunda derivada
M´etodos de la segunda derivada
Operadores que buscan m´aximos en la ...
Detecci´on de bordes
Puntos de inflexi´on
Proporcionan dos puntos de transici´on uno positivo en la entrada a un
transici´o...
Detecci´on de bordes
Puntos de inflexi´on
Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digit...
Detecci´on de bordes
Laplaciano
Kernel Laplaciano
El Laplaciano es invariante rotacional, y es posible encontrar los borde...
Questions ?
Rodrigo Rojas Moraleda
rodrigo.rojas@postgrado.usm.cl
Rodrigo Rojas Moraleda — Principios de filtrado y convol...
Próxima SlideShare
Cargando en…5
×

Cit112011 principios procimagenes

186 visualizaciones

Publicado el

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
186
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
6
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Cit112011 principios procimagenes

  1. 1. Principios de filtrado y convoluci´on en im´agenes digitales Rodrigo Rojas Moraleda April 8, 2011 Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 1/32
  2. 2. Outline 1 Vectores y sus representaciones 2 Matrices y sus representaciones 3 Sistemas Lineales 4 Detecci´on de bordes Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 2/32
  3. 3. Outline 1 Vectores y sus representaciones 2 Matrices y sus representaciones 3 Sistemas Lineales 4 Detecci´on de bordes Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 3/32
  4. 4. Vectores representaciones Vector v =       x y z       Base vectorial y coordenadas r Px y O x Producto Interno a · b = a1b1 + a2b2 + a3b3 = abt = a1 a2 a3   b1 b2 b3   Norma a 2 = aat = √ a1a1 + a2a2 + a3a3 Ortogonalidad = a · b = 0, ⊥ Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 4/32
  5. 5. Outline 1 Vectores y sus representaciones 2 Matrices y sus representaciones 3 Sistemas Lineales 4 Detecci´on de bordes Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 5/32
  6. 6. Matrices representaciones Conjunto de elementos organizados en columnas y filas   a1,1 a1,2 a2,1 a2,2   Algunas operaciones Suma    a1,1 a1,2 a2,1 a2,2     +     b1,1 b1,2 b2,1 b2,2     =     a1,1 + b1,1 a1,2 + b1,2 a2,1 + b2,1 a2,2 + b2,2     Escalamiento b     a1,1 a1,2 a2,1 a2,2     =     ba1,1 ba1,2 ba2,1 ba2,2     Multiplicaci´on    a1,1 a1,2 a2,1 a2,2     ·     b1,1 b1,2 b2,1 b2,2     =     a1,1b1,1 + a1,2b2,1 a1,1b1,2 + a1,2b2,2 a2,1b1,1 + a2,2b2,1 a2,1b2,1a2,2b2,2     Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 6/32
  7. 7. Matrices Operaciones con vectores Al Multiplicar una matriz cuadrada a un vector se obtiene otro vector    a1,1 a1,2 a2,1 a2,2    ·    x y    =    x y    Ejemplo: la matriz de rotaci´on 2D    coseno(θ) −seno(θ) seno(θ) coseno(θ)    O v v' Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 7/32
  8. 8. Valores propios y vectores propios A partir de una transformaci´on A se busca resolver    a1,1 a1,2 a2,1 a2,2    ·    x y    = λ    x y    v'=λv v v' Al resolver en una matriz 2D los vectores propios son rotaciones V = v1 v2 =    coseno(θ) −seno(θ) seno(θ) coseno(θ)    , v1 · v2 = 0, ⊥ V tAV =    cos(θ) sen(θ) −sen(θ) cos(θ)       a1,1 a1,2 a2,1 a2,2       cos(θ) −sen(θ) sen(θ) cos(θ)    =    λ1 0 0 λ2    Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 8/32
  9. 9. Outline 1 Vectores y sus representaciones 2 Matrices y sus representaciones 3 Sistemas Lineales 4 Detecci´on de bordes Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 9/32
  10. 10. Operador del sistema Un sistema convierte una entrada f(x) en una salida g(x) don de x es una variable independiente. f(x) System H g(x) Es requerido que la salida del sistema este completamente determinada por las entradas. g(x) = H[f(x)] H es el operador del sistema que mapea el conjunto de las posibles salidas {g(x)} con cada una de las posibles entradas {f(x)}. Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 10/32
  11. 11. Operador lineal H es un operador lineal para una clase de entradas {f(x)} si: H[αifi(x) + αjfj(x)] = αiH[fi(x)] + αjH[fj(x)] = αigi(x) + ajgj(x) para toda fi(x) y fj(x) pertenecientes a {f(X)}, donde αi, αj son constantes arbitrarias y gi(x) = H[fi(x)] es la salida para una entrada arbitraria fi(x) ∈ {f(x)} Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 11/32
  12. 12. Sistema lineal Un sistema lineal es un sistema descrito por un operador lineal (y respecto a la misma clase de entradas) que obedece las propiedades de escalado (homogeneidad) y de superposici´on (aditiva) H[αf(x)] = αH[f(x)] H[f1(x) + f2(x)] = H[f1(x)] + H[f2(x)] H g(x) f1(x) f2(x) + H g(x) f1(x) f2(x) + H Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 12/32
  13. 13. Sistemas Invariante en el tiempo / espacio Un operador H es denominado invariante en el tiempo o invariante espacial para una clase de entradas {f(x)} si gi(x) = H[fi(x)] =⇒ gi(x + x0) = H[fi(x + x0)] , ∀ fi(x) ∈ {f(x)} y ∀ x0 H g(x- T)f(x) T f(x- T) H g(x- T)f(x) T g(x) La forma de la salida no cambia con el retraso de la entrada, la Salida es la misma si el retraso es colocado en la entrada o en la salida. Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 13/32
  14. 14. Sistema Causal Un sistema causal es aquel que es no-anticipativo; esto es, que las salidas dependen de entradas presentes y pasadas, pero no de entradas futuras. f(x) = 0 x < x0 ⇒ g(x) = H[f(x)] = 0 x < x0 En procesamiento de im´agenes digitales, si consideramos la variable dependiente como los p´ıxeles de la derecha y de la izquierda (el “futuro”) de la posici´on actual de la imagen. Entonces tendremos un sistema no-causal. Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 14/32
  15. 15. Convoluci´on Pulso unitario La Funci´on Delta de Dirac δ(t), conocida tambi´en como el impulso unitario o funci´on delta es una funci´on infinitamente angosta, infinitamente alta, cuya integral tiene un valor unitario. ∞ −∞ δ(t) dt = 1 Esta funci´on es cero en todas partes excepto en el origen Propiedades: f(t)δ(t) = f(0)δ(t) ∞ −∞ f(t)δ(t) dt = ∞ −∞ f(0)δ(t) dt = f(0) ∞ −∞ δ(t) dt = f(0) ∞ −∞ f(t)δ(x − t) dt = f(x) Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 15/32
  16. 16. Convoluci´on Respuesta al impulso ∞ −∞ f(t)δ(x − t) dt = f(x) g(x) = H[f(x)] g(x) = H ∞ −∞ f(a)δ(x − a)da g(x) = ∞ −∞ f(a)H [δ(x − a)] da = ∞ −∞ f(a)h (x, a)) da Se denomina respuesta al impulso al t´ermino h(x, a) = H [δ(x − a)] Que es la respuesta del sistema lineal a un pulso unitario localizado en la posici´on x Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 16/32
  17. 17. Convoluci´on Convoluci´on Integral La expresi´on g(x) = ∞ −∞ f(a)h(x, a) da indica que la respuesta de un sistema lineal queda caracterizada por la respuesta al impulso. Si el operador H, es invariante entonces. H [δ(x − a)] = h(x − a) y la integral de superposici´on. g(x) = ∞ −∞ f(a)h(x − a) da convoluci´on Integral Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 17/32
  18. 18. Convoluci´on Convoluci´on Integral g(x) = ∞ −∞ f(a)h(x − a) da Considerando que a es una variable de integraci´on g(x) = f(x) h(x) donde f(x) h(x) = ∞ −∞ f(a)h(x − a) da Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 18/32
  19. 19. Convoluci´on Representaci´on discreta δ [n] = 1 si n = 0 0 otro caso f [n] = ∞ k=−∞ f [k] δ [n − k] La suma de convoluci´on queda expresada como: g [n] = ∞ k=−∞ f [k] h [n − k] g [n] = f [n] h [n] Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 19/32
  20. 20. Outline 1 Vectores y sus representaciones 2 Matrices y sus representaciones 3 Sistemas Lineales 4 Detecci´on de bordes Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 20/32
  21. 21. Detecci´on de bordes Filtros del gradiente Un borde es una transici´on local, de un objeto a otro sin ser necesariamente una frontera, solo es una transici´on localmente identificable. Variaciones fuertes de la intensidad que corresponden a las fronteras de los objetos visualizados. M´etodos basados en el gradiente: detectan los bordes en base a las derivadas espaciales de la imagen aproximadas en forma de operadores de convoluci´on. Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 21/32
  22. 22. Gradiente Detecci´on de bordes Considerando una imagen como un campo escalar z = E(x, y), por ejemplo de la intensidad de los pixeles. O =λv v' y x E ∂E/∂x ∂E/∂y (x,y,E(x,y)) Figure: Representaci´on de la evaluaci´on de la funci´on de valor de un plano tangencial (x, y, E(x, y)) a un pixel Gradiente grad(E) = ∂E ∂x , ∂E ∂y t Vectores Normales: n− = ∂E ∂x , ∂E ∂y , −1 t , n+ = −∂E ∂x , −∂E ∂y , +1 t Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 22/32
  23. 23. Gradiente Detecci´on de bordes O =λv v' y x E ∂E/∂x ∂E/∂y (x,y,E(x,y)) Vector gradiente, E =   ∂E ∂x ∂E ∂y   =   Gx Gy   Magnitud vector gradiente E = ∂E ∂x 2 + ∂E ∂y 2 1 2 Orientaci´on del vector gradiente: φ( f) = tan−1 Gx Gy Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 23/32
  24. 24. Detecci´on de bordes Aproximaci´on de derivadas Una manera de aproximar las derivadas en un entorno discreto es utilizar un operador explicito del tipo {+1, −1} que calcule E(xi) − E(xj) para dos pixeles en un entorno. Esta operaci´on particular recibe el nombre de diferencias hacia adelante. ∂I ∂x ≈ I(x + 1, y) − I(x, y) 3 4 51 1 1 1 2 5 5 F[n] F'[n]=F[n+1] - F[n-1] 2 2 10 0 0 1 2 0 0 F'[n]=F[n] - F[n-1] 2 2 10 0 0 1 2 0 0 3 3 31 1 1 3 3 3 1 F[n] F'[n]=F[n+1] - F[n-1] 0 0 -20 0 2 2 0 -2 0 F'[n]=F[n] - F[n-1] 1 1 0 0 0 00 0 0 2 0 -2 0 0 Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 24/32
  25. 25. Detecci´on de bordes Kernels de convoluci´on Conexi´on con sistemas LTI Puesto que las derivadas son operadores lineales e invariantes, la aproximaci´on en el calculo del gradiente es realizado normalmente por convoluci´on con una funci´on discreta denominada Kernel. Se han propuesto numerosos kernels para aproximar este operador. Roberts Kernels ∂E ∂x ≈ E(i + 1, j + 1) − E(i, j) ∂E ∂y ≈ E(i + 1, j) − E(i, j + 1) Gx = +1 0 0 -1 Gy= 0 +1 -1 0 E = (Gx E)2 + (Gy E)2 Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 25/32
  26. 26. Detecci´on de bordes Kernels de convoluci´on Prewitt Kernels ∂E ∂x ≈ E(i + 1, j) − E(i − 1, j)/2 ∂E ∂y ≈ E(i, j + 1) − E(i, j − 1)/2 Esto corresponde con un Kernel de convoluci´on del tipo Gx = -1 0 1 Sin embargo este kernel muestra emp´ıricamente ser sensible al ruido. El enfoque de Prewitt reduce este problema mediante el calculo de un promedio en y cuando se calcula la componente x del gradiente y promedio en x en la componente y del gradiente. Gx = -1 0 1 -1 0 1 -1 0 1 Gy= -1 -1 -1 0 0 0 1 1 1 E = (Gx E)2 + (Gy E)2 Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 26/32
  27. 27. Detecci´on de bordes Kernels de convoluci´on Sobel Kernel ∂E ∂x ≈ E(i + 1, j) − E(i − 1, j)/h ∂E ∂y ≈ E(i, j + 1) − E(i, j − 1)/h En la promediaci´on aplica mayor peso a los p´ıxeles centrales.. Gx = -1 0 1 -2 0 2 -1 0 1 Gy= -1 -2 -1 0 0 0 1 2 1 Este tipo de Kernel de convoluci´on se puede considerar como una aproximaci´on 3x3 de la primera derivada de un kernel Gaussiano. Es decir es equivalente a convolucionar con un kernel gaussiano de 3x3 y luego calcular sus derivadas. ∂(I G) ∂x = E ∂G ∂x Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 27/32
  28. 28. Detecci´on de bordes M´etodos de la segunda derivada M´etodos de la segunda derivada Operadores que buscan m´aximos en la magnitud del gradiente. En el caso unidimensional encontrar el borde ideal es equivalente a encontrar el punto donde la derivada es m´axima o m´ınima dependiendo del sentido de a pendiente. Una forma de encontrar estos puntos es volver a derivar y encontrar los puntos donde la derivada es 0. La b´usqueda de bordes optimos consiste en encontrar donde la segunda derivada es 0. Este punto (D = 0) raramente se consigue en im´agenes Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 28/32
  29. 29. Detecci´on de bordes Puntos de inflexi´on Proporcionan dos puntos de transici´on uno positivo en la entrada a un transici´on y otro a la salida. son muy sensibles al ruido Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 29/32
  30. 30. Detecci´on de bordes Puntos de inflexi´on Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 30/32
  31. 31. Detecci´on de bordes Laplaciano Kernel Laplaciano El Laplaciano es invariante rotacional, y es posible encontrar los bordes de la imagen buscando los puntos donde el laplaciano es 0 ( Marr-Hildreth operador) Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 31/32
  32. 32. Questions ? Rodrigo Rojas Moraleda rodrigo.rojas@postgrado.usm.cl Rodrigo Rojas Moraleda — Principios de filtrado y convoluci´on en im´agenes digitales 32/32

×