Upload
rodrigo-moraleda
View
64
Download
0
Tags:
Embed Size (px)
Citation preview
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Principios de filtrado y convolucion en imagenes digitales
Rodrigo Rojas Moraleda
April 8, 2011
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 1/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Outline
1 Vectores y sus representaciones
2 Matrices y sus representaciones
3 Sistemas Lineales
4 Deteccion de bordes
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 2/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Outline
1 Vectores y sus representaciones
2 Matrices y sus representaciones
3 Sistemas Lineales
4 Deteccion de bordes
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 3/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Vectoresrepresentaciones
Vector ~v =
x
y
z
Base vectorial ycoordenadas
r
Px
y
Ox
Producto Interno ~a ·~b = a1b1 + a2b2 + a3b3 = abt =[a1 a2 a3
] b1b2b3
Norma
∥∥a∥∥2 = aat =√a1a1 + a2a2 + a3a3
Ortogonalidad = ~a ·~b = 0,⊥
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 4/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Outline
1 Vectores y sus representaciones
2 Matrices y sus representaciones
3 Sistemas Lineales
4 Deteccion de bordes
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 5/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Matricesrepresentaciones
Conjunto deelementosorganizados encolumnas y filasa1,1 a1,2
a2,1 a2,2
Algunas operacionesSumaa1,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
Multiplicaciona1,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 convolucion en imagenes digitales 6/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
MatricesOperaciones con vectores
Al Multiplicar una matriz cuadrada a un vector se obtiene otro vectora1,1 a1,2
a2,1 a2,2
·x
y
=
x′
y′
Ejemplo: la matriz derotacion 2Dcoseno(θ) −seno(θ)
seno(θ) coseno(θ)
O
v
v'
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 7/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Valores propios y vectores propios
A partir de una transformacion 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 convolucion en imagenes digitales 8/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Outline
1 Vectores y sus representaciones
2 Matrices y sus representaciones
3 Sistemas Lineales
4 Deteccion de bordes
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 9/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Operador del sistema
Un sistema convierte una entrada f(x) en una salida g(x) don de x es unavariable independiente.
f(x) System
Hg(x)
Es requerido que la salida del sistema este completamente determinada porlas 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 convolucion en imagenes digitales 10/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
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 sonconstantes 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 convolucion en imagenes digitales 11/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Sistema lineal
Un sistema lineal es un sistema descrito por un operador lineal (y respectoa la misma clase de entradas) que obedece las propiedades de escalado(homogeneidad) y de superposicion (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 convolucion en imagenes digitales 12/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
SistemasInvariante en el tiempo / espacio
Un operador H es denominado invariante en el tiempo o invariante espacialpara 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 lamisma si el retraso es colocado en la entrada o en la salida.
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 13/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
SistemaCausal
Un sistema causal es aquel que es no-anticipativo; esto es, que las salidasdependen 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 imagenes digitales, si consideramos la variabledependiente como los pıxeles de la derecha y de la izquierda (el “futuro”) dela posicion actual de la imagen. Entonces tendremos un sistema no-causal.
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 14/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
ConvolucionPulso unitario
La Funcion Delta de Dirac δ(t), conocida tambien como el impulso unitarioo funcion delta es una funcion infinitamente angosta, infinitamente alta,cuya integral tiene un valor unitario.∫ ∞
−∞δ(t) dt = 1
Esta funcion 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 convolucion en imagenes digitales 15/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
ConvolucionRespuesta 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 termino
h(x, a) = H [δ(x− a)]
Que es la respuesta del sistema lineal a un pulso unitario localizado en laposicion x
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 16/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
ConvolucionConvolucion Integral
La expresion
g(x) =
∫ ∞−∞
f(a)h(x, a) da
indica que la respuesta de un sistema lineal queda caracterizada por larespuesta al impulso.
Si el operador H, es invariante entonces.
H [δ(x− a)] = h(x− a)
y la integral de superposicion.
g(x) =
∫ ∞−∞
f(a)h(x− a) da
convolucion Integral
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 17/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
ConvolucionConvolucion Integral
g(x) =
∫ ∞−∞
f(a)h(x− a) da
Considerando que a es una variable de integracion
g(x) = f(x) ~ h(x)
donde
f(x) ~ h(x) =
∫ ∞−∞
f(a)h(x− a) da
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 18/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
ConvolucionRepresentacion discreta
δ [n] =
{1 si n = 00 otro caso
f [n] =∞∑
k=−∞
f [k] δ [n− k]
La suma de convolucion queda expresada como:
g [n] =
∞∑k=−∞
f [k]h [n− k]
g [n] = f [n] ~ h [n]
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 19/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Outline
1 Vectores y sus representaciones
2 Matrices y sus representaciones
3 Sistemas Lineales
4 Deteccion de bordes
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 20/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Deteccion de bordesFiltros del gradiente
Un borde es una transicion local, de un objeto a otro sin sernecesariamente una frontera, solo es una transicion localmenteidentificable.
Variaciones fuertes de la intensidad que corresponden a las fronteras delos objetos visualizados.
Metodos basados en el gradiente: detectan los bordes en base a lasderivadas espaciales de la imagen aproximadas en forma de operadoresde convolucion.
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 21/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
GradienteDeteccion de bordes
Considerando una imagen como un campo escalar z = E(x, y), por ejemplode la intensidad de los pixeles.
O
=λv
v' y
x
E
∂E / ∂x
∂E / ∂y
(x,y,E(x,y))
Figure: Representacion de la evaluacion de la funcion de valor de un planotangencial (x, y, E(x, y)) a un pixel
Gradiente grad(E) =(
∂E∂x, ∂E
∂y
)tVectores Normales: n− =
(∂E∂x, ∂E
∂y,−1
)t, n+ =
(− ∂E
∂x,− ∂E
∂y,+1
)t
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 22/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
GradienteDeteccion 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
Orientacion del vector gradiente: φ(∇f) = tan−1(
GxGy
)
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 23/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Deteccion de bordesAproximacion de derivadas
Una manera de aproximar las derivadas en un entorno discreto es utilizarun operador explicito del tipo {+1,−1} que calcule E(xi)− E(xj) para dospixeles en un entorno. Esta operacion particular recibe el nombre dediferencias hacia adelante.
∂I∂x≈ I(x+ 1, y)− I(x, y)
3 4 51 1 1 1 2 5 5F[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 1F[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 convolucion en imagenes digitales 24/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Deteccion de bordesKernels de convolucion
Conexion con sistemas LTIPuesto que las derivadas son operadores lineales e invariantes, laaproximacion en el calculo del gradiente es realizado normalmente porconvolucion con una funcion 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 -1Gy=
0 +1
-1 0
‖∇E‖ =√
(Gx ~ E)2 + (Gy ~ E)2
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 25/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Deteccion de bordesKernels de convolucion
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 convolucion del tipo
Gx = -1 0 1
Sin embargo este kernel muestra empıricamente ser sensible al ruido. Elenfoque de Prewitt reduce este problema mediante el calculo de unpromedio en y cuando se calcula la componente x del gradiente y promedioen 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 convolucion en imagenes digitales 26/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Deteccion de bordesKernels de convolucion
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 promediacion 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 convolucion se puede considerar como unaaproximacion 3x3 de la primera derivada de un kernel Gaussiano. Es decires equivalente a convolucionar con un kernel gaussiano de 3x3 y luegocalcular sus derivadas.
∂(I~G)∂x
= E ~ ∂G∂x
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 27/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Deteccion de bordesMetodos de la segunda derivada
Metodos de la segunda derivada
Operadores que buscan maximos en la magnitud del gradiente. En el casounidimensional encontrar el borde ideal es equivalente a encontrar el puntodonde la derivada es maxima o mınima dependiendo del sentido de apendiente. Una forma de encontrar estos puntos es volver a derivar yencontrar los puntos donde la derivada es 0.
La busqueda de bordes optimos consiste en encontrar donde la segundaderivada es 0. Este punto (D′′ = 0) raramente se consigue en imagenes
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 28/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Deteccion de bordesPuntos de inflexion
Proporcionan dos puntos de transicion uno positivo en la entrada a untransicion y otro a la salida.
son muy sensibles al ruido
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 29/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Deteccion de bordesPuntos de inflexion
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 30/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Deteccion de bordesLaplaciano
Kernel Laplaciano
El Laplaciano es invariante rotacional, y es posible encontrar los bordes dela imagen buscando los puntos donde el laplaciano es 0 ( Marr-Hildrethoperador)
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 31/32
Vectores y sus representaciones Matrices y sus representaciones Sistemas Lineales Deteccion de bordes
Questions ?
Rodrigo Rojas [email protected]
Rodrigo Rojas Moraleda — Principios de filtrado y convolucion en imagenes digitales 32/32