Sei sulla pagina 1di 83

Introduccion al procesamiento

Imagenes y procesos estocasticos


Transformaciones geometricas
Estructuras de datos para imagenes

Imagenes, procesos estocasticos y estructuras de


datos para analisis

Eduardo Romero Ph.D.

Depto. de Imagenes Diagnosticas


Universidad Nacional de Colombia, Bogota

Procesamiento de Imagenes

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Representacion de base
Transformaciones geometricas
Estructuras de datos para imagenes

Agenda

1 Introduccion al procesamiento
Representacion de base

2 Imagenes y procesos estocasticos


El histograma como herramienta de procesamiento

3 Transformaciones geometricas
Transformacion de coordenadas
Interpolacion

4 Estructuras de datos para imagenes

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Representacion de base
Transformaciones geometricas
Estructuras de datos para imagenes

El proposito del procesamiento es encontrar una relacion entre la


imagen de entrada y un modelo del mundo real
Procesamiento de imagenes
imagen de entrada imagen de salida
Segmentacion, Compresion, vision 3D, morfologa matematica
Analisis de imagenes
imagen de entrada Medidas de salida
Aplicaciones en morfometra, reconocimiento, pattern
matching, etc..
Comprension de imagenes(Image understanding)
imagen de entrada Descripcion semantica
Modelos de atencion visual, estadstica al contrario

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Representacion de base
Transformaciones geometricas
Estructuras de datos para imagenes

En el mundo real una imagen es una funcion a(x, y )


Digitalmente una imagen es una matriz de numeros discretos
a[i, j]
El elemento i,j de la matriz se conoce como pxel.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Representacion de base
Transformaciones geometricas
Estructuras de datos para imagenes

Resolucion Espacial

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Representacion de base
Transformaciones geometricas
Estructuras de datos para imagenes

Aliasing Espacial

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Representacion de base
Transformaciones geometricas
Estructuras de datos para imagenes

Aliasing Temporal

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Representacion de base
Transformaciones geometricas
Estructuras de datos para imagenes

Resolucion Espacial-Multi escala

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Representacion de base
Transformaciones geometricas
Estructuras de datos para imagenes

Resolucion Espacial-Multi captura

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Representacion de base
Transformaciones geometricas
Estructuras de datos para imagenes

Separacion de imagenes en planos de bits

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Representacion de base
Transformaciones geometricas
Estructuras de datos para imagenes

Tipos de operaciones en imagenes

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Representacion de base
Transformaciones geometricas
Estructuras de datos para imagenes

Tipos de vecindades

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Agenda

1 Introduccion al procesamiento
Representacion de base

2 Imagenes y procesos estocasticos


El histograma como herramienta de procesamiento

3 Transformaciones geometricas
Transformacion de coordenadas
Interpolacion

4 Estructuras de datos para imagenes

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Variables aleatorias

Una imagen es el resultado de un fenomeno estocastico


El histograma es un puente natural entre una imagen y su
descripcion probabilstica
El histograma es una funcion de probabilidad de primer orden
p1 (z; x, y ) que indica la probabilidad de que el pxel en (x, y )
tenga la caracterstica z.
note que z puede ser el brillo, o el color, o cualquier cosa...
incluso conceptos semanticos...

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Histograma

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Brillo y contraste

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Negativo de una imagen

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Correccion Gamma

 1
a[n, m]
b[n, m] = (1)
255

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Estiramiento del contraste




0 a[m, n] < low

(2B 1)a[m,n]low
b[n, m] = low < a[m, n] < high (2)

highlow
(2B 1)

a[m, n] > high

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Corte y umbral

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Ecualizacion: mapeo de una distribucion a su version


homogenea

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Variables aleatorias e imagenes

Sea la variable aleatoria que representa los niveles de gris de la


imagen, pero normalizados, entre [0, 1]
sea = T () una tranformacion que satisface
1 T () es univaluada y monotonamente creciente en [0, 1]
2 0 T () 1 para 0 1 y = T 1 () para 0 1
Los niveles de gris de una imagen y sus tranformaciones son
muestras de un fenomeno continuo. Entonces existen dos
funciones acopladas de distribucion de probabilidad: p y p .

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Ecualizacion del histograma

Si p () y T () seconocen, entonces

p () = p () 1 =T ()
Por otra parte, considere la funcion de
 distribucion
 acumulada
R 1
= T () = 0 p (w )dw , o sea que = p ()
entonces p () = 1 es la distribucion uniforme

Este metodo genera un unico resultado


Una aproximacion de cualquier histograma a su version mas
uniforme

1
reemplace
arriba
Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Algoritmo de ecualizacion

1 Calcular el histograma de la imagen


2 Calcular el histograma acumulado
En la casilla 0 el valor 0 del histograma
En la casilla 1 el valor 0 mas el valor 1 del histograma ....
En la casilla 255 el valor 0 mas el valor 1 mas ... mas el valor
255
255
3 Normalizar el histograma acumulado con anchoalto
4 Utilizar la tabla final, como LUT de la nueva imagen.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Como lograr otro resultado sobre el histograma??

tomemos dos distribuciones, p () la original y una pz (z) que


queremos
R
ecualizamos la primera distribucion = T () = 0 p (w )dw
Si tuvieramos la imagen deseada,
R z sus niveles se podran
ecualizar como = G (z) = 0 pz (w )dw y el proceso inverso
z = G 1 () nos dara la imagen deseada, pero esta
formulacion es solo hipotetica.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Y entonces que hacemos??

Bueno, al menos las densidades uniformes para las dos


distribuciones P () y p () son identicas porque el resultado
es independiente de la densidad dentro de la integral
Entonces, en lugar de hacer esto sobre se hace sobre , de
la siguiente manera
1 ecualizar los niveles de la imagen original Rz
2 Especificar la funcion deseada y obtener G (z) = 0 pz (z)dz
3 Aplicar la funcion de transformacion inversa
z = G 1 () = G 1 (T ())

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Umbralizacion

 
1 si I (x, y ) > T
Ibin (x, y ) =
0 si I (x, y ) T
Metodo de los dos picos
1 Encontrar los dos picos mas altos del histograma
2 Encontrar el mnimo entre ellos dos

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Umbralizacion (Isodata)

El metodo Isodata o de intensidades medias consiste en


Se divide el histograma en dos partes utilizando como umbral
inicial el promedio de las intensidades
un nuevo umbral se calcula de T = 1 + 2
2 , con 1 y 2 las
intensidades promedio de las dos partes del histograma
Iterar hasta que T <  y  es la precision deseada

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Algoritmo de centros locales

Sea p 0 (k), k = kmin , . . . , kmax la distribucion de probabilidad


del atributo k. La idea del algoritmo es desplazar
iterativamente p i (k) (iteracion i de la pdf) hacia el centro de
gravedad mas proximo y parar cuando p n (k) = p n1 (k)
i
P
kl p (kl )
kl Dk
Definiendo la mediana movil como mi (k) = Pl
p i (kl )
.
kl Dk
l
Con una talla de ventana de 2a + 1,
Dkl = [max ((k a), kmin ), . . . , mn ((k + a), kmax )]
Con esta mediana
P i movil se calcula la densidad de probabilidad
p i+1 (k) = p (kl )(k mi (kl ))
kl Dkl

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Umbralizacion (Otsu)

Supongamos que tenemos dos clases en la imagen: fondo y objetos.


Con un umbral T se definen dos distribuciones de probabilidad
h(i) h(i)
p1 (i) = P
T
y p2 (i) = 255
P
y sus respectivas esperanzas
h(i) h(i)
i=0 i=T +1
T
P 255
P
E1 (x) = xp1 (x) y E2 (x) = xp2 (x)
x=0 x=T +1

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

La esperanza combinada

Definamos la esperanza combinada para las dos clases


La esperanza combinada es
T
P 255
P
p1 (i) p2 (i)
i=0 i=T
Ec (T ) = T
P 255
P
E1 (x) + T
P 255
P
E2 (x)
p1 (i)+ p2 (i) p1 (i)+ p2 (i)
i=0 i=T +1 i=0 i=T +1

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

El ndice de Otsu

La dispersion total esta dada por


T
P
p1 (i)
c (T ) = T
P
i=0
255
P
(E1 (x) EC (T ))2 +
p1 (i)+ p2 (i)
i=0 i=T +1
255
P
p2 (i)
T
P
i=T
255
P
(E2 (x) EC (T ))2
p1 (i)+ p2 (i)
i=0 i=T +1

Otsu es el valor que maximiza la dispersion total c (T )2

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Entropa de Tsallis

partiendo el histograma en dos distribuciones como para Otsu


se define la regla pseudoaditiva
T 255 T 255
p1 (i)q p2 (i)q p1 (i)q 1 p2 (i)q
P P P P
1 1 1
i=0 i=T i=0 i=T
Sq (T ) = q1 + q1 + (1q) q1 q1

El umbral optimo es Topt arg max0T 255 Sq (T )

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Metodo de entropa de Renyi

Se calcula la intensidad promedio de cada pxel en un


vecindario de 3 3
Se calcula la frecuencia conjunta de intensidad y valor
promedio, h(k, m) es el numero de ocurrencias de I (x, y ) = k
y I (x, y ) = m, con I (x, y ) el valor promedio calculado en el
punto (x, y )
h(k,m)
Se normaliza todo, h(k, m) = NM
El umbral (t, s) es se hace sobre la intensidad y sobre los
promedios, para esto se divide este histograma bidimensional
en cuatro cuadrantes y el primero esta arriba a la derecha.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Continuacion de la entropa de Renyi

Los cuadrantes 1 y 3 tienen informacion de bordes, fondo


objetos esta en los 2 y 4
se normalizan los cuadrantes 2 y 4 para tener la distribucion
h(i,j)
de probabilidad p(i, j) = P
t Ps 255
P 255
P
h(k,l)+ h(k,l)
k=0 l=0 k=t+1 l=s
t P
P s
Las probabilidades p2 y p4 se definen p2 (t, s) = p(k, l)
i=0 j=0
255
P 255
P
y p4 (t, s) = p(k, l)
i=t+1 j=s

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
El histograma como herramienta de procesamiento
Transformaciones geometricas
Estructuras de datos para imagenes

Continuacion II Entropa Renyi

La entropa de Renyi de orden en una imagen es


P 255
255
1
p(i, j) , si 1 esta entropa es la de
P
H = 1 log2
i=0 j=0
Shannon
La entropa asociada a la distribucion de objetos esta dada
t P s 
p(i,j)

1
por H2 = 1
P
log2 p2 (t,s)
i=0 j=0
La entropa asociada a la distribucion de fondo esta dada por
255
P 255
P  p(i,j) 
1
H4 = 1 log2 1p2 (t,s)
i=t j=s

El umbral optimo es (t , s ) arg max H2 + H4

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

Agenda

1 Introduccion al procesamiento
Representacion de base

2 Imagenes y procesos estocasticos


El histograma como herramienta de procesamiento

3 Transformaciones geometricas
Transformacion de coordenadas
Interpolacion

4 Estructuras de datos para imagenes

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

Impacto

Permiten eliminar la distorsion geometrica que ocurre en la


captura
Registro de imagenes
En OCR permite resolver problemas de orientacion

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

Definicion

Es una funcion vectorial que mapea (x, y ) en (x 0 , y 0 )


La trasformacion geometrica se hace en dos pasos
1 Transformacion de coordenadas
2 interpolacion

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

Forma general

Usualmente se aproxima por una ecuacion polinomica


m mr
X X
x0 = ark x r y k
r =0 k=0

m mr
X X
0
y = brk x r y k
r =0 k=0

Con tres puntos la transformacion es afn y con cuatro bilineal


El Jacobiano provee informacion de como cambia la metrica
de la transformacion

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

La transformacion bilineal

En la practica lo que mas se usa es una transformacion bilineal


Cuatro pares de puntos son suficientes para encontrar los
coeficientes de la transformacion

x 0 = a0 + a1 x + a2 y + a3 xy

y 0 = b0 + b1 x + b2 y + b3 xy
y el Jacobiano de la transformacion bilineal

J = a1 b2 a2 b1 + (a1 b3 a3 b1 )x + (a3 b2 a2 b3 )y

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

La transformacion afn

Tres pares de puntos son suficientes para encontrar los coeficientes


de la transformacion

x 0 = a0 + a1 x + a2 y

y 0 = b0 + b1 x + b2 y
y el Jacobiano de la transformacion afn

J = a1 b2 a2 b1

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

La malla digital

Una vez uno transforma un punto (x, y ) con alguna transformacion


geometrica, es muy probable que (x 0 , y 0 ) no este en la malla. Estos
valores se obtienen por interpolacion del billo y los mas usados son
1 El vecino mas cercano
2 lineal
3 bi-cubico
4 Splines

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

El problema dual

El problema de interpolacion del brillo se expresa usualmente de


forma dual
Se determina el brillo del punto original en la imagen de entrada
que corresponde al punto en la imagen de salida que esta en la
malla discreta.
(x, y ) = T 1 (x 0 , y 0 )
Para encontrar el valor del brillo en el punto (x, y ) la imagen es
re-muestreada

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

interpolacion

El brillo se puede expresar como la convolucion de



X
X
fn (x, y ) = gs (lx, ky )hn (x lx, y ky )
l= k=

y la funcion hn es el kernel de interpolacion

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

El vecino mas cercano

Asigna el punto (x, y ) al valor del brillo del punto mas


cercano en la malla discreta f1 (x, y ) = gs (round(x), round(y ))
El error mas grande es como maximo la mitad de un pxel
Este error es perceptible en objetos cuyas fronteras son rectas,
que pueden aparecer con discontinuidades despues de la
transformacion.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

interpolacion lineal

explora cuatro puntos del vecindario de (x, y )


y se asume que el valor del brillo es lineal en su vecindario. La
interpolacion lineal esta dada por la ecuacion
f2 (x, y ) = (1 a)(1 b) gs (l, k) + a(1 b) gs (l + 1, k) +
b(1 a) gs (l, k + 1) + ab gs (l + 1, k + 1)
con l = floor (x). a = x l, k = floor (y ), b = y k.
Esta interpolacion puede disminur ligeramente la resolucion y
producir resultados borrosos, pero produce menos discontinuidades
resultantes que la del vecino mas cercano.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

Interpolacion bi-cubica

La interpolacion local se hace mediante una superficie bi-cubica


Se usan 16 puntos vecinos para la interpolacion. El kernel de
interpolacion sombrero mexicano es

2 3
1 2|x| + |x| si 0 |x| < 1

f3 (x) = 4 8|x| + 5|x|2 |x|3 si 1 |x| < 2

0 En cualquier otro caso

Esta interpolacion no produce discontinuidades del vecino mas


cercano ni tampoco los resultados borrosos de la lineal. La
interpolacion bi-cubica se usa frecuentemente en dispositivos que
hacen zoom con respecto a un punto arbitrario

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

Splines: la aproximacion continua

Estas funciones aproximan una funcion continua g (x, y ) a los


valores de la imagen. El problema es entonces encontrar un modelo
de la imagen continuo y parametrizable
Uno puede deducir dos enfoques
1 Usar una representacion exacta en la cual g (x, y ) interpola
exactamente las muestras
2 Usar una representacion aproximada en la cual los parametros
de la funcion se determinan minimizando una medida de
discrepancia entre los valores de los pixeles y g (x, y ). Este
enfoque tiene menos grados de libertad o al menos algunas
restricciones sobre la suavidad, pero es mas robusto al ruido.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

Splines

Cuando se comparan con otros tipos de polinomios


parametrizables, los splines tienen ventajas
Los polinomios de orden mas alto tienden a oscilar mientras
los splines son suaves, i.e., la union de polinomios locales
puede producir discontinuidades en las intesecciones, pero NO
los splines
Los segmentos de polinomio se juntan de tal forma que el
spline interpolante y todas sus derivadas hasta el orden n 1
son continuos en todas las interesecciones
Existe solo un coeficiente spline asociado con cada punto de
la imagen y el rango de estos coeficientes es del mismo orden
de magnitud que los valores iniciales de la imagen.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

Spline polinomicos

El resultado impresionante (Schoenberg) es que los splines se


caracterizan unicamente con la expansion
c(k) n (x k).
P
B-splines(x) =
kZ
B-splines son funciones simetricas y suaves construdas
convolucionando n + 1 veces un pulso rectangular 0

1 1
1, si 2 < x < 2

0 (x) = 12 , si |x| = 21

0, en cualquier otro caso

n (x) = 0 (x) 0 (x) 0 (x)


| {z }
n+1 veces

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

B-splines

Los B-splines son los bloques basicos de las splinesa


a
Son utiles porque son de soporte compacto
La manera mas practica de obtener una formula para los
splines es usando su transformada de Fourier
 n+1 j/2 e j/2 )n+1
B n () = sin/2
(/2)
= (e (j) n+1 y la convolucion
hasta n + 1 es un producto en el dominio de la frecuencia.
Una formula en el tiempo se obtiene con cierta manipulacion
que se presenta en las proximas dos diapositivas

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

La funcion X+n

Primero nos inventamos una funcion auxiliar (x)n+


(
x n , si x 0
considere primero la funcion y cuya
0, si x < 0
transformada de Fourier es X+n . Derivando n + 1 veces, la
ecuacion queda D n+1 (x)n+ = n!(x) y en Fourier eso queda
como (j)n+1 X+n = n!
(e j/2 e j/2 )n+1 (j)n+1 X+n ()
Con esto entonces B n () = (j)n+1
=
| n!
{z }
=1
1
n! (e
j/2 e j/2 )n+1 X+n ()

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

Y finalmente

La expansion de n!1
(e j/2 e j/2 )n+1 X+n () se convierte en
n+1
 
1 P n+1
n
B () = n! (1)k e j(k(n+1))/2 X+n () ()
k=0 k
Si interpretamos las exponenciales complejas como puros
factores de fase(corrimientos) obtenemos
n+1

1 n+1 n
n (x) = n! (1)k x k + n+1
P
k 2
k=0

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

Y finalmente

La expansion de n!1
(e j/2 e j/2 )n+1 X+n () se convierte en
n+1
 
1 P n+1
n
B () = n! (1)k e j(k(n+1))/2 X+n () ()
k=0 k
Si interpretamos las exponenciales complejas como puros
factores de fase(corrimientos) obtenemos
n+1

1 n+1 n
n (x) = n! (1)k x k + n+1
P
k 2
k=0

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos Transformacion de coordenadas
Transformaciones geometricas Interpolacion
Estructuras de datos para imagenes

Logramos entonces una representacion continua con una


funcion discreta

n (x) es un polinomio a pedazos de grado n


La derivada n + 1 de n (x) es una serie de deltas de dirac,
indicando que n (x) es diferenciable hasta un orden n. Para n
impar los nodos o puntos de discontinuidad de la n-esima derivada
son enteros (1, 2, . . . , n), mientras que para n par estos puntos son
la mitad del entero (0,5, 1,5, . . . , n + 0,5)

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Agenda

1 Introduccion al procesamiento
Representacion de base

2 Imagenes y procesos estocasticos


El histograma como herramienta de procesamiento

3 Transformaciones geometricas
Transformacion de coordenadas
Interpolacion

4 Estructuras de datos para imagenes

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Niveles de representacion

Podemos pensar en cuatro niveles


1 Iconos: Datos crudos, incluso cuando la imagen es salida de
algun pre-procesamiento
2 Segmentaciones: Una particion disyunta con la cual es
probable que algunas de estas regiones pertenezcan a objetos
(no hay conocimiento a priori)
3 Representaciones geometricas con conocimiento 2D y 3D,
las cuales son necesarias en la transicion de imagenes
naturales y los datos en computacion grafica
4 Modelos relacionales: La informacion de la imagen se
puede representar en redes o contextos semanticos

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Estructuras tradicionales

1 Matrices
2 Cadenas
3 Estructuras topologicas
4 Estructuras relacionales
5 Estructuras jerarquicas

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Matrices

Una matriz es la estructura de bajo nivel mas comunmente


usada
pxeles de mallas rectangulares o hexagonales se representan
en matrices
La matriz es una representacion completa de la imagen,
independiente del contenido de la imagen2

2
Una representacion de una imagen segmentada en una matriz usualmente
ahorra mas espacio que la lista explcita de las relaciones de la imagen
Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

La matriz de co-ocurrencias

La matriz de co-ocurrencias, la imagen integral y el histograma


representan las tres fuentes de informacion global de una imagen
Representa el estimado de la probabilidad de que dos pxeles
aparezcan en una configuracion espacial en la cual el pxel
x1 , y1 tiene intensidad z1 y el pxel x2 , y2 tiene intensidad z2
Si la probabilidad depende de cierta configuracion espacial
entre un pxel con intensidad z1 y otro con intensidad z2 , la
informacion acerca de esta configuracion se guarda en una
matriz cuadrada de co-ocurrencias, cuyas dimensiones
corresponden al numero de niveles de intensidad de la imagen

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Calculo de la matriz de co-ocurrencias

El numero de matrices de co-ocurrencia se reduce considerando


solo vecinos directos y suponiendo algunas relaciones de simetra
1 Asigne Cr (z1 , z2 ) = 0, z1 , z2 [0, L] y L es el numero de
intensidades
2 Para todos los pxeles x1 , y1 determine x2 , y2 que tiene la
relacion r con el pxel x1 , y1 y Cr [f (x1 , y1 ), f (x2 , y2 )] + = 1

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Interes de la matriz de co-ocurrencias

Si la relacion es con el vecino de abajo o a la derecha en un


N4 (x, y ), algunas propiedades
1 Los valores en la diagonal (Cr (k, k)) son iguales al area de las
regiones con intensidad k (los elementos de la diagonal
corresponden al histogama)
2 los valores por fuera de la diagonal corresponden a la longitud
de la frontera que divide las regiones con intensidad k y j, por
ejemplo en una imagen con bajo contraste los elementos lejos
de la diagonal son cero o muy pequenos.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

La imagen integral (ii)

Es otra representacion que guarda informacion de la imagen de


manera global.
el valor ii(i, j) representa la suma de todos los pxeles de la
imagen original que se encuentran por encima y a la izquierda
de (i, j)
La imagen integral se calcula eficientemente en un solo paso
usando recurrencias

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Construccion de la imagen integral

Sea s(i, j) la suma acumulada de una fila, sea s(i, 1) = 0


Sea ii(i, j) una imagen integral y sea ii(1, j) = 0
Con una sola pasada fila por fila, para cada pxel (i, j) calcule
las sumas acumuladas y el valor integral usando recurrencias
1 s(i, j) = s(i, j 1) + I (i, j)
2 ii(i, j) = ii(i 1, j) + s(i, j)

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Interes de la imagen integral

El principal uso es en calculo rapido de caractersticas


rectangulares de la imagen en multiples escalas
Esta clase de caractersticas se usa en identificacion rapida de
objetos o en seguimiento.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Cadenas

Se usan para describir los bordes de algun objeto


Un elemento de la cadena es un smbolo basico
Permite la aplicacion de teora formal de lenguaje
Las cadenas son apropiadas para datos que se puedan ordenar
en una cadena de smbolos

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Codigos de cadena

Describen bordes de objetos o lneas de un pxel de espesor


La cadena se construye as:
se asigna un smbolo para cada una de las direcciones en un
vecindario particular N4 (p) o N8 (p)
la relacion entre un pxel y su vecino es definida entonces por
alguno de esos smbolos, recorriendo la frontera en el sentido
del reloj

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Codigos diferenciales en la cadena

Un problema del codigo de cadena convencional es la varianza


rotacional
La idea es no codificar direcciones relativas sino diferencias en
las direcciones sucesivas
Se calcula sustrayendo cada elemento del codigo de cadena
del precedente y tomando el resultado modulo n, donde n
corresponde a la conectividad. Esto permite rotar objetos y
aun poderlos comparar.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Run Length Coding (RLC)

Se usa para representar cadenas de smbolos en una matriz


(los fax usand RLC)
En una imagen binaria, por ejemplo, RLC registra unicamente
las areas que pertenecen a los objetos como una lista de listas
Las implementaciones son muy variables, por ejemplo cada fila
de la imagen es una sub-lista, cuyo primer elemento es el
numero de la fila. Los terminos subsecuentes son los pares de
coordenadas, el primer elemento de un par es el comienzo del
run y el segundo el final

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Estructuras relacionales

Bases de datos relacionales se pueden usar para representar


informacion en una imagen
Toda la informacion se concentra en las relaciones entre
partes semanticamente importantes de la imagen
Este tipo de descripcion es apropiado en image understanding

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Estructuras jerarquicas

Las estructuras de datos jerarquicas permiten usar algoritmos que


deciden una estrategia para procesamiento sobre la base de una
menor cantidad de datos
Se trabaja en la resolucion mas fina solo con aquellas partes de la
imagen en las cuales esto es esencial, utilizando conocimiento en
lugar de fuerza bruta para acelerar el proceso

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Piramides

Son las estructuras jerarquicas mas simples, se dividen en


1 Piramides-M: o matriciales y corresponden a una secuencia
ML , ML1 , . . . , M0 de la imagen, donde ML tiene la misma
dimension de la imagen y las otras se construyen
sub-muestreando esta.
2 Piramides-T: o arboles y se define como
1 Un conjunto de nodos
P = {P = (k, i, j) tal que el nivel k [0, L]; i, j [0, 2k1 ]}
2 un mapeo F entre nodos subsecuentes Pk1 , Pk de la
piramide: F (k, i, j) = (k 1, i 2, j 2) y es la division
completa del numero
3 Una funcion V que mapea un nodo de la piramide P a Z , y Z
es un subconjunto del numero de intensidades

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Quadtree

Son modificaciones de las piramides-T


Cada nodo del arbol con excepcion de las hojas tiene cuatro hijos.
La diferencia con las piramides-T es que no es necesario tener
nodos en todos los niveles

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Uso de los quadtrees

con esta representacion es muy facil sumar o restar imagenes,


calcular areas o momentos estadsticos
La gran desventaja es su dependencia de la orientacion,
posicion y tamano relativo de los objetos: dos imagenes con
diferencias muy pequenas pueden tener quadtrees muy
diferentes
Sin embargo, estos quadtrees se pueden normalizar cuando el
quadtree no lo creamos para la imagen sino para algunos
objetos dentro de ella.

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Otras estructuras piramidales

Otras estructuras se pueden crear, por ejemplo


sub-muestreando irregularmente o con otros factor de
reduccion diferente de 2
Las piramides irregulares se derivan de contracciones de
representaciones graficas de la imagen (por ejemplo, grafos de
regiones adyacentes)

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Estructuras topologicas

Las estructuras topologicas describen una imagen como un


conjunto de elementos y sus relaciones, generalmente se
representan como grafos G = (V , E )
un grafo G es una estructura algebraica que consiste de un
conjunto de nodos V1 = {v1 , . . . , vn } y un conjunto de arcos
E = {e1 , . . . , em }
el orden de un nodo depende del numero de arcos que inciden
sobre el, a su vez, un arco puede incidir sobre un par de nodos
ordenados (o no-ordenados)

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

El grado de un grafo

Sea G = (V , E ) un grafo y sea v V un vertice


El grado de v (deg (v )) es el numero de arcos adyacentes que no
tienen auto-buclesa mas dos veces el numero de auto-bucles
definidos por v

deg (v ) = | {e E : u V (e = {u, v }) }| + 2|{e E : e = {v }}|


a
un arco que conecta a un subconjunto del grafo con un unico elemento

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Cliques

Sea G = (V , E ) un grafo. Un clique es un conjunto S V de


vertices tal que
El subgrafo definido por S es un grafo completo, es decir que
todos los vertices en S estan conectados por al menos un arco
en E .
Si S 0 S, existe al menos un par de vertices en S 0 que no
estan conectados por un arco en E

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Porque grafos

Miremos un poco mejor los grafos


Los mapeos entre grafos permiten establecer relaciones
interesantes, cuales??
Cualquier estructura se puede representar como un grafo, y
que utilidad tiene esto??
Pregunta: que significado tienen los autovalores y
autovectores de un grafo??
Tiene sentido medir la centralidad de un grafo?? esto que
representa??

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Algunas cosas a revisar

Tecnicas y algoritmos basicos de vision artificial


(http://www.unirioja.es/servicios/sp/catalogo/online/VisionArtificial
Transformaciones geometricas
(http://www.alumnos.inf.utfsm.cl/ vpe-
na/ramos/ili286/presentacionCC2.pdf)
http://www.fi.unju.edu.ar/materias/materia/CN/
document/Teoria_Calculo/INTERPOLACI%D3N__DE_
_SPLINES.pdf?cidReq=CN

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

Cosas utiles

B-splines:http:
//es.scribd.com/doc/51194667/B-Spline-2D
Transformada Fourier:
http://ocw.upc.edu/sites/default/files/materials/
15011906/tema2.transf_fourier_v29may2009-2742.pdf
Proc. de se?ales y B-splines http://www.angelfire.com/
falcon/shadow_rsv/t_senales/splines.pdf
Historia de las B-Splines
http://users.wpi.edu/~pwdavis/sinews/spline17.htm

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali
Introduccion al procesamiento
Imagenes y procesos estocasticos
Transformaciones geometricas
Estructuras de datos para imagenes

y yo creo que por ahora ya tuvieron suficiente..

Eduardo Romero Ph.D. Imagenes, procesos estocasticos y estructuras de datos para anali

Potrebbero piacerti anche