19
Tratamiento Estadístico de Señales Esteban Cilleruelo 1 Implementación de un filtro robusto de Kalman. Verificación y Aplicaciones en Electro-recepción Monografía de Tratamiento Estadístico de Señales. Esteban Cilleruelo. (Abril, 2010) Introducción Para comenzar, se entiende por texturauna realización de un proceso estocástico estacionario con propiedades estadísticas espaciales invariantes en el tiempo. Para una secuencia de imágenes, el concepto de textura dinámicase asocia a que además existe una coherencia espacial intrínseca en el tiempo. Como ejemplo de dichas texturas se tiene olas, humo, follaje, entre otros. Dicha coherencia característica de cada textura permite identificarla y eventualmente manipularla para el procesamiento de imágenes. Si se considera una secuencia de imágenes sobre una escena en movimiento, cada imagen es un conjunto de magnitudes que dependen de la forma, la posición y tamaño de los elementos que conforman dicha escena. Además, existe también una dependencia sobre las propiedades de los materiales involucrados (la refractancia de dicho material), y de la iluminación del entorno. El movimientos de los elementos que conforman la escena puede ser capturado, teniendo en cuenta que en una secuencia, imágenes adyacentes no son realizaciones independientes unas de otras. El problema principal de la segmentación de objetos sobre una textura dinámica es que el fondo se encuentra en continuo movimiento a lo largo de la película, y por lo tanto siempre está cambiando. Existen diversos métodos para la caracterización de dichas texturas. En este informe se implementa el modelado, aprendizaje, reconocimiento, y síntesis de texturas dinámicas, introducido por Doretto et al. (2002). Adicionalmente se implementa un filtro robusto de Kalman ( Zhong y Sclaroff ,2003) cuyo cometido es la segmentación de objetos en el frente sobre una textura dinámica de fondo. Se analizan secuencias de imágenes en las cuales los elementos de la escena presentan movimiento relativo. El filtro construido interpreta las magnitudes de la señal, de forma de poder inferir el modelo estocástico que las genera. Dicho modelo involucra una combinación de fotometría, geometría y dinámica de movimiento, diseñadas para obtener máxima verosimilitud o mínima varianza en el error de predicción.

Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

1

Implementación de un filtro robusto de

Kalman. Verificación y Aplicaciones en

Electro-recepción

Monografía de Tratamiento Estadístico de Señales.

Esteban Cilleruelo. (Abril, 2010)

Introducción

Para comenzar, se entiende por “textura” una realización de un proceso estocástico

estacionario con propiedades estadísticas espaciales invariantes en el tiempo. Para una

secuencia de imágenes, el concepto de “textura dinámica” se asocia a que además existe una

coherencia espacial intrínseca en el tiempo. Como ejemplo de dichas texturas se tiene olas,

humo, follaje, entre otros. Dicha coherencia característica de cada textura permite identificarla

y eventualmente manipularla para el procesamiento de imágenes.

Si se considera una secuencia de imágenes sobre una escena en movimiento, cada imagen es

un conjunto de magnitudes que dependen de la forma, la posición y tamaño de los elementos

que conforman dicha escena. Además, existe también una dependencia sobre las propiedades

de los materiales involucrados (la refractancia de dicho material), y de la iluminación del

entorno. El movimientos de los elementos que conforman la escena puede ser capturado,

teniendo en cuenta que en una secuencia, imágenes adyacentes no son realizaciones

independientes unas de otras. El problema principal de la segmentación de objetos sobre una

textura dinámica es que el fondo se encuentra en continuo movimiento a lo largo de la

película, y por lo tanto siempre está cambiando.

Existen diversos métodos para la caracterización de dichas texturas. En este informe se

implementa el modelado, aprendizaje, reconocimiento, y síntesis de texturas dinámicas,

introducido por Doretto et al. (2002). Adicionalmente se implementa un filtro robusto de

Kalman (Zhong y Sclaroff ,2003) cuyo cometido es la segmentación de objetos en el frente

sobre una textura dinámica de fondo.

Se analizan secuencias de imágenes en las cuales los elementos de la escena presentan

movimiento relativo. El filtro construido interpreta las magnitudes de la señal, de forma de

poder inferir el modelo estocástico que las genera. Dicho modelo involucra una combinación

de fotometría, geometría y dinámica de movimiento, diseñadas para obtener máxima

verosimilitud o mínima varianza en el error de predicción.

Page 2: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

2

Representación de una textura dinámica

Siguiendo los métodos expuestos en los artículos antes mencionados, se define una secuencia

de imágenes 1,..,

( ) , ( ) m

tI t I t

, donde m representa la cantidad de medidas que

conforman la imagen (pixeles). De este modo en cada instante de tiempo t se puede medir

una versión ruidosa de la imagen ( ) ( ) ( )y t I t w t , donde ( ) mw t es una secuencia

independiente e idénticamente distribuida obtenida a partir de una distribución conocida

( )wp . El resultado es una secuencia ( ) 1,..,my t con t .

Dicha secuencia { ( )}I t es una textura dinámica (lineal), si existe

a. Un conjunto de n filtros espaciales : , 1,..,m n

b. Una distribución estacionaria ( )q

c. Un estado ( ) nx t , tal que ( ) ( ( ))I t x t , y que cumple

1

1,..,

( ) ( ) ( )( )

(0) 0

v

v

n n

i

n nk

i ni

A i k

Bx t A x t i Bv t con

v t

x

Por otra parte, se puede asumir que el modelo de textura dinámica lineal asociada a un

proceso autorregresivo con media móvil (ARMA) de primer orden, puede ser descrito de la

forma:

( ) (.)( 1) ( ) ( )

( ) (.)( ) ( ( )) ( ) w

v t q IIDx t Ax t Bv tcon

w t p IIDy t x t w t

(1)

La elección del conjuntos de filtros ( ) puede ser diversa, en el caso de este informe, se

desea diseñar e implementar un filtro lineal que permita descomponer la imagen en forma simple. Entonces, se quiere poder representar la imagen como

1

( ) ( ) ( )n

i i

i

I t x t Cx t

Siendo ix los elementos de ( ) nx t , donde 1,..,m n

nC es por ejemplo una

base ortogonal de 2L , o un conjunto de componentes principales.

Page 3: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

3

De esta manera, el modelo, nos queda expresado:

( 1) ( ) ( )

( ) ( ) ( )

x t Ax t v t

y t Cx t w t

, donde se cumple que

( )

( ) (0, ),

( ) (0, ),

n

n n

m m

n n

m n

x t

v t N Q Q

w t N R R

A

C

(2)

Entonces, el problema que se presenta a continuación es la determinación de los parámetros

del modelo A (dependencia temporal de una imagen con la anterior), C (matriz de

componentes principales), Q (parámetros estadísticos del estado), y R (parámetros

estadísticos de la textura), a partir de las medidas (1),.., ( )y y .

Hay que destacar que en el modelo (1), B y ( )v t pueden ser sustituida de la forma

( ) (0, )v

T

nB B Q v t N I , siendo vn n .

La elección de A , C , y Q para satisfacer el modelo no es única, dado que distintas matrices

pueden arribar al mismo resultado partiendo de condiciones iniciales adecuadas.

Entonces, dado que se quiere realizar una reducción en la dimensionalidad de los datos, se

asumirá que m n , y que la matriz C verifica ( )rango C n , tomando como ortonormales

a las columnas de C , tal que se cumple T

nC C I . Como se verá a continuación, dichas

suposiciones conducirán a una única solución para nuestro modelo.

Para un mejor tratamiento del problema, se reescribe la ecuación de observaciones expresada

en (2) de la siguiente manera:

1

1

1 1 1

1

[ (1),..., ( )]

[ (1),..., ( )],

[ (1),..., ( )]

,

m

n

m

m n T

Y y y

X x xY CX W con

W w w

C C C I

(3)

Se realiza la descomposición en valores singulares (ver Anexo) de la matriz de observaciones

1Y , obteniendo:

1 1

1 1

,

, ,

( ,.., )

m n T

SVD T n T

U U U I

Y Y U V con V V V I

diag

Siendo i los valores singulares.

Page 4: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

4

El primer problema es encontrar un C, tal que

1

1,

( ), ( ) argminF

X C

C X W

Donde se busca la minimización en el sentido de la norma de Frobenius, la cual cumple para

una matriz m nD que:

2

1 1

m n

ijFi j

D d

De aquí surge que,

( )

( ) T

C U

X V

(4)

Estando truncado en n el rango que U y de TV .

El segundo problema es encontrar A, el cual puede ser determinado mediante la norma de

Frobenius resolviendo la siguiente expresión:

1 2

2 1 1

1

[ (2),..., ( )]( ) arg min

[ (1),..., ( 1)]

n

mFA

X x yA X AX con

X x y

Para resolver este problema se utiliza un resultado conocido como la pseudo-inversa de una

matriz rectangular (Golub y Kahan, 1965), la cual minimiza el problema de mínimos cuadrados

1( ) ( )T T T Tb AX A A X A b X A A A B , con 1( )I T TA A A A .

Se reescribe la ecuación de estado del modelo, en función de 1X , utilizando matrices

selectoras 1D y 2D .

1

11

2 1 1 1 1 2

1

2

0 0

0

0

0 0

DI

X AX X D AX D conI

D

Para simplificar, se escribe 1X X ,

Entonces, 1

1 2 1 2 1 2( )T T T TXD AXD XD X AXD X XD X XD X A

Haciendo la sustitución TX V , y recordando que

T por ser matriz diagonal se

obtiene:

Page 5: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

5

1

1 2

1 1 1

1 2

( ) ( ( ) )

( )( )

T T T T T T

T T

A V D V V D V

A V D V V D V

Con esto queda determinada,

1 1

1 2( ) ( )T TA V D V V D V (5)

En tercer lugar, la matriz de covarianza del ruido en la ecuación de estado, Q puede ser

estimada a partir de:

1

1

1( ) ( ) ( ) ( ) ( 1) ( ) ( )

1

T

i

Q v i v i con v t x t A x t

Entonces, nuevamente se puede realizar una descomposición en valores singulares para la

matriz Q.

1( ,.., ),vQ n v

SVD T

Q Q Q T

diag n nQ Q U V con

BB Q

Por último, para hallar la matriz de covarianza de ruido en la ecuación de observaciones, R, se

estudió la varianza de las magnitudes en la secuencia de imágenes, en cada punto (pixel) a lo

largo del tiempo, durante el intervalo de aprendizaje.

Page 6: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

6

Detección de la presencia de objetos sobre una textura dinámica

Una vez caracterizado el modelo de la textura dinámica, se implementa el algoritmo de Zhong

y Sclaroff (2003), para realizar la segmentación deseada.

Para este filtro, se parte de un modelo igual al visto en la parte anterior -sistema de ecuaciones

(2)-, en el cual se tiene una ecuación de estado y una ecuación de observaciones. Además, en

ambas ecuaciones suponemos ruido aditivo de distribución normal. Tomando en cuenta

además que en la ecuación de observaciones se suprimió la componente de continua u .

1t t t

t t t

X AX v

Y CX w u

0 0

(0, )

(0, )

t

t

X x

con v N Q

w N R

Se propone un modelo generativo normalizado de las probabilidades condicionadas

involucradas en el proceso.

11 1

1

1( ) ( )

21 1 1

1( ) ( )

22 2

1( )(2 )

1( )(2 )

Tt t t t

Tt t t t

X AX Q X AX

t t n

Y CX R Y CX

t t m

p X X s e con sQ

p Y X s e con sR

(6)

El hecho de que el fondo se encuentre en continuo movimiento a lo largo de la película, y por

lo tanto siempre está cambiando provoca que los métodos clásicos de separación frente-fondo

fallen. Por otra parte, métodos alternativos, como por ejemplo, modelar la distribución de

color de cada píxel a lo largo de la película pueden fallar si el color del frente es similar al color

del fondo.

Es por esto que se propone un método que estima los parámetros de estado de un fondo

dinámico, texturado sin la presencia de objetos en el frente. Luego, dado un estimado de la

apariencia de dicho fondo se pueden extraer los objetos presentes en el frente del mismo.

La formulación de este método es hecha mediante el uso de un filtro robusto de Kalman que

actualiza iterativamente el estado de la textura dinámica, que como fue visto anteriormente es

modelada como un proceso ARMA, y luego se determina una máscara de la imagen del objeto

en el frente.

Para simplificar este modelo se asumirá que el estado del modelo sólo depende del estado

anterior (suposición de Markov), 1t tX X

.

Entonces, la idea es encontrar un estimado del estado actual que maximice la probabilidad de

obtener éste, dado el estado anterior y dada la observación en ese momento.

1argmax ( , )t t t tX

X p X Y X

Page 7: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

7

Luego, se usa la fórmula de Bayes para buscar una forma alternativa de expresar la

probabilidad anterior.

1 1

1

( , ) ( )( , )

( )

t t t t t

t t t

t

p Y X X p X Xp X Y X

p Y

Donde la observación tY no depende de

1tX dado el estado

tX y por lo tanto puede ser

reducida a:

1 1( , ) ( ) ( )t t t t t t tp X Y X p Y X p X X

(7)

Queda sustituir (6) en (7). Con esto cual se llega a la siguiente expresión para la estimación de

tX .

1 11 1

1 11 1

1

1

1 1( ) ( ) ( ) ( )

2 21 2

1( ) ( ) ( ) ( )

21 2

arg max ( , )

arg max ( ) ( )

arg max

arg max

T Tt t t t t t t t

T Tt t t t t t t t

t t t tX

t t t tX

X AX Q X AX Y CX R Y CX

X

X AX Q X AX Y CX R Y CX

X

X p X Y X

p Y X p X X

s e s e

s s e

Esto implica que para encontrar el mejor estimado de X en el instante de tiempo t , se debe

minimizar la expresión

1 1( ) ( ) ( ) ( )T Tt t t t t tt tJ Y CX R Y CX X AX Q X AX

(8)

Además, hay que destacar que en la estimación de la textura dinámica, la presencia de objetos

en el “frente” de la imagen va provocar una corrupción de los parámetros, en la comparación

hecha en la ecuación de observaciones. Entonces, enfocándose en el primer término ( 1J ) de la

ecuación (8), y suponiendo que la matriz R está asociada a ruido blanco no correlacionado, lo

que implica que ésta es diagonal, se puede realizar la siguiente sustitución:

2

1

1

m

i

i

J z

con ,

[ ],i i

i i i i

i

Y C Xz R

(9)

Una estimación robusta puede ser formulada de la forma de un estimador-M. Entendiendo un

estimador-M, como un estimador que busca reducir el efecto de la presencia de objetos no

esperados (outliers). La M viene de “Máxima Verosimilitud”.

Con esto, tenemos 1

1

( )m

i

i

J z

Donde ρ es la norma robusta del error.

Page 8: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

8

Si ahora se minimiza la ecuación (9), se tiene:

1 1

1 1

( ) 0, 1,.., ( ) 0, 1,..,m m

ii i

i ii j

zJ z J j n z j n

x x

En la cual ψ es la función de influencia de la norma robusta del error.

Por cambio de variable se llega a:

1

( )( ) ( ) 0, 1,..,

mi i

i i i

ii j

z zw z w z z j n

z x

Aquí ( )iw z representa la función de peso asociada a la norma robusta del error. En este caso

se usará la norma robusta de error de Cauchy, que es de la siguiente forma:

2

1( )

1i

i

w zz c

Donde c es una constante cuya elección puede ser dependiente de cada problema. Por otro

lado, cuanto más chica sea dicha constante, más sensible se torna el filtro y por lo tanto hay

mayores probabilidades de detectar “falsos positivos”.

Continuando, el problema ahora toma la forma:

1 2

1

arg min ( )mk

k

i iX i

X w z z

Reescribiendo el problema en forma matricial, recordando (9), en cada paso de iteración k se tiene que:

1 1 1( ) ( ) ( ) ( )k k k k

k T k Tt t t t t tt tJ Y CX M R Y CX X AX Q X AX

(10)

Siendo 1kM definida como la matriz de pesos en el paso de iteración k, de la forma:

1 1 1

1( ( ),.., ( ))k k k

mM diag w z w z

De ésta manera, dada la matriz de pesos, kM , se pueden detectar pixeles “corruptos”

potencialmente debidos a la presencia de objetos en el “frente” de una imagen. Esto permite

reformular las distintas componentes del filtro de Kalman que hagan posible dicha detección.

Page 9: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

9

Parámetros del filtro robusto de Kalman

Para la reformulación del filtro robusto de Kalman mencionado en la parte anterior es

necesario encontrar una nueva expresión para:

La estimación del estado

La ganancia de Kalman

La covarianza del error de predicción

Estimación del estado

Para obtener la nueva estimación de estado se debe minimizar (10), respecto de X .

1 1

1 1

1 1 1 1 1

2( ) ( ) 2( ) 0

( ) ( ) ( )

( ) ( ) ( )

T k T

T k T

T T TT T k T k T k

JY C X M R C X X Q

X

Y C X M R C X X Q

Y X C M R C X Q C M R X C M R C Q

Llamando 1 1( )T kN C M R C Q y 1 1TK N C R .

1 1( )

( )

T T TT T k

k

X Y X C M R CN X

X KM Y C X X

(11)

Esto quiere decir que mientras la estimación se modifica dependiendo del error en la

estimación previa ( )Y CX

. Dicha modificación tiene 2 componentes: K o ganancia de

Kalman, que es la corrección del filtro en cada una de las direcciones principales para cada

pixel; y kM que es el peso asignado a cada pixel en la totalidad de la imagen.

Ganancia de Kalman

Ahora que se tiene la nueva ecuación de estado, se desea minimizar el error en la estimación,

entonces se define el error de predicción e X X

, y el error de estimación es

e X X , o lo que es lo mismo ( )e e KM Y CX

.

Entonces,

2 [ ] ( ) ( )T

Te E e e E e KM Y C X e KM Y C X

(12)

Page 10: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

10

Para encontrar el K que minimiza dicho error se deriva 2e respecto de K y se iguala a cero.

2( )

2 ( ) ( ) 0T TeE e KM Y C X Y C X M

K

Se hace la siguiente sustitución

( ) ( ( )) ( ( )) ( )M Y CX M Y C X e M Ce Y CX M Ce v

(13)

La expresión (12) queda:

( ) 0T T T T T T T T TE e KMCe KMv e C v M P C M KMCP C M KMRM

( )T T T TKM CP C R M P C M (14)

Llamando ( )T TG M CP C R M , y utilizando nuevamente la pseudo-inversa, se halla:

1

( )T T T T

T T

T T T T

T T T T

K M CP C R M P C M

KG P C M

KGG P C M G

K P C M G GG

Con esto se llega a que la nueva ganancia de Kalman es de la forma:

1( )T TK C MC C (15)

Siendo, 1( ) ( )T T T TC CP C R M C P C M C (16)

Covarianza del error

Nuevamente se hace uso de (13). Aplicando dicho resultado en (11), y recordando con se

definía e , se tiene:

( ) ( )e e KM Ce v I KMC e KMv

[ ]

( ) ( )

( ) ( )

T

T T T

T T T

P E ee

I KMC P I KMC KMRM K

I KMC P I KMC P C M KMRM

TK

El término subrayado en a expresión anterior es nulo de acuerdo a lo expresado en (14),

entonces la covarianza del error es queda de la forma:

( )P I KMC P (17)

Page 11: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

11

Para terminar, se está en condiciones de enunciar el algoritmo de segmentación deseado.

Algoritmo de filtrado

1. Se ingresa al filtro una secuencia de imágenes, de manera que dicho filtro pueda

estimar los parámetros de la textura dinámica.

2. Una vez obtenidos dicho parámetros se procede calculando en cada paso de la

iteración.

a. 1

,

[ ],k i i

i i i i

i

Y C Xz R

b.

1

21

1( )

1

k

ik

i

w zz c

c. 1 1 1

1( ( ),.., ( ))k k k

mM diag w z w z

3. Se calcula la nueva matriz de componentes principales del filtro. 1( ) ( )T T T TC CP C R M C P C M C

4. En base a C , se calcula la nueva ganancia de Kalman. 1( )T TK C MC C

5. Se actualiza la estimación del estado en base a la estimación a priori, la ganancia de

Kalman y la observación.

( )kX KM Y CX X

6. Se actualiza la matriz de covarianza del error en la estimación.

( )P I KMC P

Este proceso es repetido desde el punto 2 al 6 para cada imagen, pudiendo también realizarse varias iteraciones sobre cada imagen de modo de obtener una mejor estimación.

Page 12: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

12

Codigo de la implementación

function [Wz]=KalmanFilter(Y,n,nv,c) % Aprendizaje de los parametros de la textura dinamica [x0,Ymean,Ahat,Bhat,Chat,sigmaR]= dytex(Y(:,interval),n,nv); I=find(sR==0); sR(I)=1e-10; % Para no corromper las divisiones % Inicialización del sistema Xhat(:,1)=x0; Po=5000*eye(n); P=Po; R=sparse(1:m,1:m,sR); Cprima(m,n)=0; Wz(m,tau)=0; K(n,m)=0; iterations=1; %iteraciones sobre cada tiempo for k=1:tau X=Xhat(:,k); for hh=1:iterations Xm=X; % Weight function Z=((Y(:,k)-Ymean)-Chat*Xm(:))./sR; Wz(:,k)=1./(1+(Z./c).^2); M=sparse(1:m,1:m,Wz(:,k)); % Actualizacion de la matriz de covarianza del error de estimacion Pmenos=P; % Calculo de la nueva matriz de componentes principales % Cprima=(Chat*Pmenos*Chat'+R)*M'*Chat/(Pmenos*Chat'*M'*Chat); aux1=M'*Chat/(Pmenos*Chat'*M'*Chat); for jj=1:m Cprima(jj,:)=(((Chat(jj,:)*Pmenos)*Chat(jj,:)'+sR(jj))*aux1(jj,:)); end % Calculo de la nueva ganancia de Kalman % K=(Cprima'*M*Cprima)\Cprima'; aux2=inv(Cprima'*M*Cprima); for jj=1:m K(:,jj)= aux2*Cprima(jj,:)'; end % Actualización del estado en base a la medida Y(:,k) X(:)=Xm(:)+K*M*((Y(:,k)-Ymean)-Chat*Xm(:)); % % Actualizacion de la matriz de covarianza del error de estimacion P=(eye(n)-K*M*Chat)*Pmenos; end Xhat(:,k+1)=X(:); end

function [x0,Ymean,Ahat,Bhat,Chat,sigmaR]= dytex(Y,n,nv) % Suboptimal Learning of Dynamic Textures % cantidad de imagenes tau= size(Y,2); % DC Ymean= mean(Y,2); %descomposicion en valores singulares [U,S,V]=svd(Y-Ymean*ones(1,tau),0); Chat= U(:,1:n); Xhat= S(1:n,1:n)*V(:,1:n)'; x0= Xhat(:,1); Ahat= Xhat(:,2:tau)*pinv(Xhat(:,1:(tau-1))); Vhat= Xhat(:,2:tau)-Ahat*Xhat(:,1:(tau-1)); [Uv,Sv,Vv]= svd(Vhat,0); Bhat= Uv(:,1:nv)*Sv(1:nv,1:nv)/sqrt(tau-1); W=((Y(:,1:tau)-Ymean*ones(1,tau))-Chat*Xhat(:,1:tau))'; sigmaR=sqrt(var(W))';

Page 13: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

13

Resultados

Se implementaron los algoritmos arriba descriptos con Matlab 7.8, en una PC de escritorio con procesador Pentium Dual Core 3.4GHz. Las secuencias de imágenes elegidas fueron de tamaño y lago variable, variando entre 170x110 a 320x220 y entre 100 y 300.

En cuanto a los parámetros que se le ingresan al filtro n ,vn y c , fueron dependientes de cada

secuencia. El largo de la secuencia de aprendizaje (sin objeto) fue distinta en todos los casos y ésta condiciona el tamaño máximo del n . Respecto al parámetro c , fue elegido en cada caso basado en una metodología de “ensayo y error”, dado que se probó dejar un c fijo para todas las secuencias y no dio resultado, así también se probó un c dependiente de la media de la varianza y tampoco entregó los mejores resultados para cada secuencia. Para tamaños intermedios de imágenes la duración del procesamiento fue de aproximadamente 1 segundo por cuadro(frame), en cada iteración. Una observación a destacar es que si bien existe un ligero aumento en la calidad de la detección, el hacer más de 2 iteraciones por cada cuadro no justifica la diferencia de tiempo en el procesamiento, debido a que la variación luego de la segunda es practicamente nula. Verificación del algoritmo con secuencias de imágenes estándar Se utilizaron 3 series conocidas, obtenidas de página http://www.svcl.ucsd.edu/projects/dytexbkgnd/ Las cuales fueron elegidas en base a que presentaban intervalos posibles de aprendizaje (sin objeto), y mostraban una textura dinámica de fondo clara. La detección de los pixeles atípicos (outliers) puede ser considerada exitosa dado que las imágenes obtenidas son similares a las encontradas en la literatura. En las figuras 1 a 3 (películas adjuntas), se observan 3 de los ejemplos estudiados.

Figura 1. Esta es una secuencia corta 105 , en la cual se tienen pocos cuadros para el

aprendizaje de la textura (20). Esto provoca una reducción en la performance de la detección

debido a que la cantidad máxima de direcciones principales es relativamente chica 17n .

Page 14: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

14

Figura 2. Esta es una secuencia larga 300 , que admite un período relativamente largo de

aprendizage de la textura (80), y por lo tanto una buena cantidad de direcciones principales

60n .Como se puede apreciar, la detección es buena, la de la lancha y también la de las olas

que ésta deja al pasar.

Figura 3. Este también es un video que presenta una secuencia larga 250 , pero a

diferencia del video de la Figura 2. el intervalo de aprendizaje es menor (aproximadamente 40

frames), lo que permite una cantidad máxima de 35n . Se puede ver que la detección es

muy buena, dado que la detección de las personas caminando por la playa es buena, y el

filtrado de las olas en la parte superior de la imagen es muy bueno, considerando además que

esa parte de la textura presenta grande variaciones a lo largo de la película.

Page 15: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

15

Aplicación del algoritmo a un problema original

La generación y procesamiento de imágenes no es exclusiva de los procesos visuales. Cualquier

forma energética que interactúe con objetos los transforma en fuentes virtuales de energía,

cuyos efectos pueden ser capturados a nivel de una superficie receptora de modo de obtener

una representación del espacio circundante. Las reglas de proyección de imágenes son propias

de cada tipo energético y de la presencia de mecanismos pre-receptoriales de formación de la

imagen (por ejemplo, en el caso del ojo, la presencia de una lente que proyecta una imagen

real e invertida en foco sobre la retina). No obstante, mecanismos centrales de procesamiento

pueden facilitar la definición de imágenes cuando los mecanismos físicos pre-receptoriales son

pobres.

Un ejemplo no intuitivo de procesamiento de imágenes se da en la electro-recepción en la cual

los objetos pueden ser considerados como fuentes electro-génicas que proyectan imágenes

sobre la piel del animal.

El caso más simple se da en la electro-recepción pasiva presente en más de un tercio de los

peces, algunos batracios, y algunos mamíferos. En general, el animal es capaz de detectar una

fuente eléctrica en un contexto ruidoso. Se ha demostrado la presencia de filtros sensoriales

adaptativos que podrían permitir dicha detección. (Bell et al.,1993; Caputi et al. 2003)

En este caso se utilizó el algoritmo para detectar la presencia de un dipolo que sigue una

trayectoria en un contexto eléctrico ruidoso. Este tipo de situación puede ser común teniendo

en cuenta que los peces electro-receptivos habitan mimetizados entre las raíces de plantas

acuáticas que generan potenciales eléctricos y que alojan también potenciales presas que

emiten energía eléctrica como consecuencia de su actividad muscular, cardíaca o potenciales

de piel.

La trayectoria del dipolo a detectar (línea azul) y la ubicación de las fuentes contextuales

(puntos rojos), es mostrada en la Figura 4.

Figura 4.

Page 16: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

16

Las imágenes de potencial (Figura 6.), son calculadas de acuerdo a la ecuación

1 2

1 2 1 2

( )

2 ( )

I D D

D D

Donde dada la fuente de corriente (+) del dipolo, I es la intensidad, 1D y

2D son las

distancias en coordenadas cilíndricas ( 2 2D r h ) desde la superficie a cada uno de los

elementos del dipolo, siendo r la distancia radial, h la distancia perpendicular a la superficie

respecto del centro del dipolo, 1 y

2 son las conductividades a cada lado de la superficie

(Figura 5.).

Figura 5.

Figura 6. Representa las imágenes generadas por la suma de los potenciales aportados por cada dipolo y el dipolo móvil. Se nota que a simple vista es dificil identificar la imagen correspondiente al dipolo movil. Sin embargo, el filtro de Kalman implementado claramente identifica dicha imágen de la misma forma que la visión la identifica cuando se observa la pelicula.

Page 17: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

17

Conclusiones

Se implementó un filtro de Kalman capaz de reproducir los resultados obtenidos en la

literatura.

Se aplicó dicho filtro a electro-recepción utilizando un modelo de imágenes simples.

Los resultados obtenidos muestran la capacidad del filtro de identificar objetos

móviles en contextos ruidosos, utilizando electro-locación.

El análisis de las imágenes obtenidas sugiere la posibilidad de detectar ciertos

parámetros del objeto (distancia, posición) y la importancia de efectos contextuales

en la detección de otros objetos vecinos.

La utilización de este modelo puede ser importante en la construcción de filtros

electro-receptivos que permitan el desarrollo de robots biomiméticos dotados de

electrolocación.

Page 18: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

18

Anexo

Descomposición en valores singulares (SVD)

Sea A una matriz ( )m n m n entonces existen matrices ortogonales U y V tales que TU AV donde es una matriz diagonal de orden m n cuyas entrada

i son llamadas

los valores singulares de la matriz A y están en orden decreciente. U es una matriz cuadrada m m y su columnas contiene los vectores singulares izquierdos de A. V es una matriz cuadrada n n y sus columnas contiene los vectores singulares derechos.

Notar que TA U V , dado que TUU I y TVV I por ser matrices ortogonales.

Entonces TA U V es llamada la descomposición de A en sus valores singulares o simplemente la SVD de A.

Los valores singulares de A son las raíces cuadradas de los valores propios de TA A , U son los

vectores propios de TA A y V son los vectores propios de TA A .

Más formalmente, si r representa el rango de la matriz A entones

a. 2 2 2

1 2( ) ( , ,.., ,0,..,0)( )T T

rV A A V diag n n

b. 2 2 2

1 2( ) ( , ,.., ,0,..,0)( )T T

rU AA U diag m m

En efecto,

2T T T T T T TAA V U U V V V V V y 2T T T T T T TA A U V V U U U U U ,

luego 2

i i .

Una matriz cuadrada es no singular si todos sus valores singulares son distintos de cero.

Page 19: Reconocimiento de objetos sobre una textura dinámica por ...iie.fing.edu.uy/ense/asign/tes/monografias/2009/esteban_cilleruelo/... · Tratamiento Estadístico de Señales Esteban

Tratamiento Estadístico de Señales Esteban Cilleruelo

19

Referencias

1. Bell C.C., Caputi A.A., Grant K, Serrier J., (1993). Storage of a Sensory Image in the

Electric Lobe of Gnathonemus petersii, PNAS 90: 4650-4654.

2. Caputi A.A., Aguilera P.A., Catelló M.E., (2003). Probability and Amplitude of the

Novelty Response as a Function of The Changing Contrast of the Reafferent Image in

Gymnotus carapo. J. Exp. Biol. 206: 999-1010.

3. Doretto G., Chiuso A., Wu Y.N., Soatto S., (2002). Dynamic Textures. International

Journal of Computer Vision 51(2):91-109

4. Golub G., Kahan W., (1965). Calculating the Singular values and Pseudo-inverse of a

matrix. J. SIAM. Numerical Analisys. 2: 205-224.

5. Golub H., Van Loan C.F., (1996). Matrix Computations, 3rd edition, G, Johns Hopkins

Univ Press.

6. Hayes M.H.,(1996). Statistical Digital Signal Processing and Modeling, Wiley, New York.

7. Haykin S., (1995). Adaptive Filter Theory, 3rd Edition, , Prentice-Hall, New Jersey.

8. Kay M.S., (1993). Fundamentals of Statistical Signal Processing, Volume I: Estimation

Theory, Prentice Hall PTR; 1 edition.

9. Pereira A.C., Caputi A.A., (2010). Electric Imaging. To appear in Handbook of research

on Computational and System Biology. Interdisciplinary Applications. Limin Angela Liu,

Dongqing Wei, and Yixue Li (editors). IGI Global. Shangai, China.

10. Zhong J., Sclaroff S., (2003). Segmenting Foreground Objects from a Dynamic Textured

Background via a Robust Kalman Filter. Proceeding of the Ninth International

Conference on Computer Vision (ICCV 2003) 2-Volume set. IEEE.