Introducción.

Anuncio
Benemérita Universidad Autónoma de Puebla.
Facultad de Ciencias de la Computación
ANALISIS COMPARATIVO DEL DESEMPEÑO
DE CUATRO FILTROS PREDICTIVOS
APLICADOS AL SEGUIMIENTO VISUAL DE
OBJETOS
Tesis Profesional
Que para obtener el grado de
Licenciado en Ciencias de la Computación
Presenta
C. Josué Jesús Pedroza Almaguer
Asesor.
Dr. Leopoldo Altamirano Robles
Coasesor:
MC. José de Jesús Lavalle Martínez
Indice
INTRODUCCIÓN.
I
Contribuciones
III
Organización de la tesis
III
CAPÍTULO I. ANTECEDENTES
1
Introducción
1
Nociones básicas
1
Teorema de Bayes
3
Variables aleatorias
4
Valor esperado y varianza
6
Distribución normal
9
Procesos de Markov.
Propiedades de las cadenas de Markov.
10
12
Inferencia estadística.
Estimador de máxima verosimilitud
Estimador Máximo a Posteriori
13
17
18
CAPÍTULO II. MODELOS DINÁMICOS
20
Introducción
20
Características espaciales y espectrales.
Ruido Blanco.
20
21
Proceso de Wiener
22
Modelos de espacio de estados
Modelos de tiempo continuo
Modelos de tiempo discreto
23
24
25
Consideraciones sobre modelos dinámicos
28
Modelo de aceleración continua con ruido blanco
29
Modelo de aceleración como proceso de Wiener
32
Modelos generales basados en polinomios.
34
Modelo de giros coordinados
35
CAPÍTULO III. FILTROS RECURSIVOS
38
Introducción
38
Filtro Kalman
Justificación del filtro Kalman
39
44
Filtro Kalman Extendido
Matriz Jacobiana
Derivación del Filtro Kalman extendido
45
45
46
Filtro Unscented Kalman
Transformación Unscented
Algoritmo UKF
Derivación de la transformación Unscented
52
54
56
61
Filtro de múltiples Modelos interactuantes IMM
Estimador de múltiples modelos estático
Filtro IMM
Elección de las probabilidades de transición de Markov.
64
65
67
72
Predicción
Predicción de punto fijo
Predicción de adelanto fijo
Predicción de intervalo fijo
73
74
74
75
CAPÍTULO IV. RESULTADOS Y CONCLUSIONES.
76
Datos de entrada
76
Pruebas con los filtros
78
Presentación de los datos
79
Resultados en Imágenes Reales
Secuencia 1
Secuencia 2
Secuencia 3
Secuencia 4
Secuencia 5
Secuencia 6
79
79
82
84
86
88
90
Resultados en Imágenes Sintéticas
Secuencia 7
Secuencia 8
Secuencia 9
Secuencia 10
Secuencia 11
Secuencia 12
Secuencia 13
Secuencia 14
92
92
93
95
97
99
100
102
103
Tiempo de procesamiento
105
Conclusiones
Filtrado
Predicción
107
107
110
Trabajo Futuro
112
BIBLIOGRAFÍA
113
Introducción.
La visión por computadora es un área de investigación muy activa dentro del campo
de la inteligencia artificial, dado que permite la construcción de sistemas útiles, capaces de
interactuar con su entorno, y con un comportamiento confiable. Dentro de esta área, el
seguimiento de objetos constituye un tema muy interesante que promete obtener resultados
que permitan la creación de dispositivos autónomos.
Un sistema de seguimiento de objetos basado en imágenes está conformado
básicamente por un sensor que obtenga la imagen junto con algún medio de procesamiento
que nos reporte la posición del objetivo.
Uno de los problemas al utilizar mediciones por medio de un sensor es el de la
obtención de datos que contienen una gran cantidad de ruido. Esto afecta el desempeño del
sistema al hacer que el fenómeno observado pueda no corresponder completamente con el
fenómeno real. En el caso del seguimiento de objetos esto es particularmente cierto puesto
que los datos de posición obtenidos en algún instante de tiempo pueden contener mucho
ruido y llegar a ser completamente erróneos, lo que nos puede llevar a perder el objeto de
interés.
Otro punto importante es que al realizar el seguimiento de un objeto de forma
visual, frecuentemente se presenta la oclusión del mismo por parte de algún otro, lo cual
ocasiona que el sensor que detecta el objetivo reporte resultados incorrectos. Esta situación
puede ser parcialmente superada al aplicar mecanismos que nos permitan predecir el
comportamiento y trayectoria del objeto a seguir.
Es en este marco en el que la aplicación de filtros sobre los datos se hace necesaria
para obtener resultados confiables.
I
Los filtros que se presentan en esta tesis constituyen herramientas matemáticas muy
poderosas que calculan de forma recursiva (es decir, sin la necesidad de contar con el
conjunto completo de datos) estimaciones del estado de un proceso y minimizan el valor de
error al recibir nuevos datos. Además, es posible calcular estimaciones del estado del
sistema en el pasado, el presente, e incluso en el futuro.
Ninguno de ellos puede considerarse como “el mejor” en todas las situaciones, sino
que cada uno presenta ventajas y desventajas dependiendo del escenario en el que se
apliquen, por lo que resulta interesante hacer una comparación entre ellos.
Es por ello que en el presente trabajo se realiza un análisis del desempeño tanto en
estimación como en predicción de cuatro de los filtros mas utilizados en la actualidad: el
filtro Kalman lineal, el filtro Kalman extendido, el filtro UKF y el filtro IMM.
Para el desarrollo de esta investigación se implementó cada uno de ellos y se realizó
un análisis comparativo de sus características, su aplicabilidad en diferentes escenarios, su
velocidad de ejecución, su error en filtrado y su error en predicción.
Cada uno de ellos fue probado en diferentes configuraciones teniendo como entrada
los datos generados por un detector de posición puntual. Un detector puntual es aquel que
se olvida de características como la forma o el tamaño, y solo considera la posición del
objeto de interés como un punto en el espacio. Específicamente se abarcó el caso del
seguimiento de aviones y barcos en secuencias de imágenes, así como el de objetos
generados por computadora.
Se mostrarán las ventajas y desventajas de cada uno de ellos al ser aplicados a
diferentes tipos de trayectorias, las cuales incluyen
• Trayectorias lineales
• Trayectorias no lineales
o Circulares
II
o Elípticas
o Giros coordinados
o Maniobras evasivas
Se presentarán también algunos modelos matemáticos de movimiento, los cuales
son necesarios para poder aplicar estos filtros.
Cabe destacar que los resultados obtenidos en este proyecto son aplicables al
seguimiento por medio de otro tipo de detectores como radares, sonares, y sistemas de
posicionamiento global, entre otros.
Contribuciones
Los diferentes filtros probados, junto con algunos resultados de su aplicación han
sido publicados de manera independiente en diferentes congresos. Un problema de ello, es
que cada uno de los trabajos reporta los resultados que obtuvo en el filtro en particular para
su aplicación específica y con las condiciones necesarias para el mismo, por lo que no es
sencillo obtener un punto de comparación entre los distintos trabajos al no haber sido
aplicados sobre un mismo conjunto de datos.
Por medio de este trabajo se pretende tener reunidos en un solo documento los resultados
obtenidos de cada uno de estos filtros, aplicados sobre el mismo conjunto de datos y bajo
las mismas condiciones, lo que permite tener una idea más clara del desempeño de cada
uno de estos algoritmos, así como poder destacar los puntos fuertes y debilidades de cada
uno en distintos escenarios.
Organización de la tesis
En el Capítulo I se presentan las bases teóricas sobre las que se sustentan estos
algoritmos. Se empieza por los conceptos básicos necesarios para entender su
III
funcionamiento, empezando por variables aleatorias y funciones de distribución de
probabilidad. Se continúa con el teorema de Bayes, que constituye una parte fundamental
en la derivación matemática de estos filtros. Así mismo se presenta la teoría sobre
estimación de parámetros.
En el Capítulo II se desarrolla el concepto de modelos de espacio de estados,
necesarios para la implementación de los algoritmos, y se presentan los modelos dinámicos
mas empleados en la descripción de trayectorias
En el Capítulo III se exponen los filtros Kalman Lineal, Kalman extendido, UKF, e
IMM. Se muestra su descripción y ecuaciones, así como las matemáticas detrás de ellos.
También se presentan sus ventajas y desventajas teóricas. Además se introduce el concepto
de predicción, y los diferentes tipos de ella que se pueden realizar.
En el Capítulo IV se describen la implementación y velocidad de ejecución de los
algoritmos utilizados, junto con la obtención de los datos de entrada. Así mismo, se
presentan los resultados obtenidos al aplicar cada uno de los filtros a los diferentes tipos de
trayectorias. Por último se muestran las tablas comparativas de su desempeño.
En la última sección se muestran las conclusiones alcanzadas por medio de la
elaboración de esta investigación, así como el trabajo futuro.
IV
Capítulo I. Antecedentes
Introducción
La mayoría de nosotros tiene alguna noción de lo que significa un suceso aleatorio,
o la probabilidad de que algún evento en un espacio muestral ocurra. En este capítulo
trataremos las nociones básicas de la teoría de probabilidad y estadística que nos permitirán
mas adelante comprender el funcionamiento de los diversos filtros que se estudiarán en esta
tesis.
Nociones básicas
La probabilidad es la rama de las matemáticas que estudia los posibles resultados de
algún evento, junto con su veracidad y distribuciones. En el uso común, la palabra
probabilidad es usada para dar a entender la posibilidad de que un evento, o un conjunto de
eventos ocurra.
El espacio muestral se define como el conjunto de todos los resultados posibles del
experimento. Generalmente se designa a este conjunto como S.
Por ejemplo, el espacio muestral que se obtendría de realizar el experimento de
lanzar una moneda dos veces sería
S = {aa, as, sa, ss}
donde a equivale a obtener un águila, mientras que s sería obtener como resultado
un sol.
Otra noción básica es el concepto de evento. Un evento A respecto a un espacio
muestral S, asociado con un experimento, es simplemente un conjunto de resultados
posibles. En la terminología de conjuntos, un evento es un subconjunto del espacio
muestral S, y se dice que ha ocurrido si el resultado obtenido es uno de los elementos de
este conjunto.
Un ejemplo de evento, tomando de nuevo el experimento de lanzar una moneda, es
A = {aa, sa}
Supóngase que el experimento se repite n veces, y sea A un evento asociado con el
mismo. Sea n A el número de veces que el evento A ocurrió en las n repeticiones. Entonces,
fA =
1
nA
n
[1.1]
es llamada frecuencia relativa del evento A en las n repeticiones del experimento.
Cuando el número de repeticiones en un experimento se acerca a infinito, se puede
considerar a la frecuencia relativa como la probabilidad que tiene dicho evento de ocurrir.
En la práctica, la frecuencia relativa es utilizada para asignar las probabilidades a ciertos
eventos. Este hecho es de gran importancia en la mayoría de los sistemas utilizados en la
vida real.
Formalmente, la probabilidad de un evento es un número que satisface las siguientes
propiedades:
1. No es negativo
P ( A) ≥ 0 ∀A
[1.2]
2. Es la unidad para el espacio muestral
P( S ) = 1
[1.3]
P (∅) = 0
[1.4]
3. Es cero para el conjunto vacío
4. Es aditivo sobre la unión de eventos mutuamente excluyentes, es decir si los eventos
A y B no tienen elementos en común
A∩ B = ∅
[1.5]
entonces la probabilidad de su unión es
P ( A ∪ B ) = P( A) + P( B)
[1.6]
Esto puede ser extendido de la siguiente forma. Si
n
∩A =∅
[1.7]
⎛ n ⎞ n
P ⎜ ∪ Ai ⎟ = ∑ P( Ai )
⎝ i =1 ⎠ i =1
[1.8]
i
i =1
entonces
2
Lo anterior resulta particularmente útil cuando un experimento tiene un número
infinito de resultados. Este punto es fundamental en la definición de las variables
aleatorias con valores continuos.
5. Si la probabilidad de dos resultados es independiente, es decir, el resultado de uno
no afecta al otro, entonces la probabilidad de que ambos ocurran es el producto de
sus probabilidades individuales
p( A ∩ B) = p( A) p ( B)
[1.9]
Por ejemplo, si la probabilidad de obtener un águila en un lanzamiento de una
moneda es de 1/2, entonces la probabilidad de ver un águila en dos lanzamientos
realizados al mismo tiempo es de 1/4. Claramente el resultado de cada lanzamiento
no afecta el resultado del siguiente.
Teorema de Bayes
Un concepto importante es el de probabilidad condicional. Supongamos que lanzamos tres
monedas con el objetivo de obtener al menos dos lanzamientos que resulten en un águila.
Inicialmente, la probabilidad de obtenerlas es ½. Después de lanzar la primera moneda, la
probabilidad de obtener las dos águilas cambia. Si la primera moneda resulta en un águila,
entonces la probabilidad es ahora de ¾. Por medio de la probabilidad condicional es
posible realizar un cálculo de la probabilidad de que ocurra un evento, tomando en cuenta
información de eventos pasados.
La probabilidad condicional es la probabilidad de un evento dado que algún otro ha
ocurrido, y está definida como
p( A | B) =
p( A ∩ B)
p( B)
[1.10]
La probabilidad condicional es una manera de describir la influencia de un evento sobre
otro y es uno de los conceptos más importantes que utilizaremos en este trabajo, puesto que
a través de ella se formula el teorema de Bayes.
El teorema de Bayes, también llamado Ley de Probabilidad Inversa, es la ley matemática
fundamental en el proceso de inferencia estadística. La inferencia estadística consiste en
determinar que nivel de confianza podemos tener en una conclusión, basándonos en la
evidencia disponible.
Para su definición requerimos presentar el concepto de partición. Decimos que los eventos
B1, B2, … , Bn representan una partición del espacio muestral S si
3
•
•
n
∩B
=∅
∪B
=S
i
i =1
n
i
i =1
•
P( Bi ) > 0
Si B1 , B2 ,..., Bn forman una partición de S, entonces para cualquier evento A
P ( A) = P ( A | B1 ) P( B1 ) + P( A | B2 ) P( B2 ) + … + P( A | Bn ) P( Bn )
[1.11]
Sean B1 , B2 ,..., Bn una partición del espacio muestral S, y A un evento asociado a S.
Entonces aplicando la definición de probabilidad condicional, podemos escribir:
P ( Bi | A) =
P ( A | Bi ) P( Bi )
n
∑ P( A | B ) P( B )
j
j =1
[1.12]
j
Este resultado se conoce como teorema de Bayes.
Prueba. Para cada i
P ( Bi | A) =
P( Bi ∩ A) P( A | Bi ) P( Bi )
=
P( A)
P( A)
y dado que B1 , B2 ,..., Bn forman una partición del espacio muestral, se tiene
n
P ( A) = ∑ P ( A | B j ) P( B j )
j =1
Lo que completa el resultado.
Las probabilidades P ( Bi ), i = 1,2, … , n son llamadas las probabilidades a priori, y las
P( Bi | A), i = 1,2, … , n son llamadas probabilidades a posteriori.
Variables aleatorias
Mucho del trabajo realizado en la ciencia asume un mundo determinístico, es decir
un mundo en el que un proceso o experimento repetido bajo condiciones “idénticas”
4
debería arrojar siempre el mismo resultado. Sin embargo, con el paso del tiempo y el
desarrollo de la tecnología, se ha vuelto evidente que el mismo experimento, realizado bajo
condiciones “idénticas”, no resulta exactamente igual en cada ensayo. Esta variabilidad de
resultados observados es descrita por medio de la teoría de probabilidad y variables
aleatorias.
El resultado de un experimento no tiene que ser necesariamente un número, por
ejemplo, en el lanzamiento de una moneda se puede obtener águila o sol. En muchas
ocasiones por motivos prácticos debemos representar los resultados por medio de números,
es decir, deseamos asignar un número real x a cada uno de los elementos s del espacio
muestral S,
Una función X que asigna a cada uno de los elementos s en el espacio muestral S, un
número real X(s), se llama variable aleatoria, y el valor que toma es llamado su
realización.
Si el número de valores posibles de X es finito o infinito numerable, llamamos a X
una variable aleatoria discreta.
Si X es una variable aleatoria discreta, se puede asociar a cada uno de los resultados
xi un número p( xi ) = P ( X = xi ) , llamado probabilidad de xi . Los números p( xi ) i=1,2,…
deben satisfacer las condiciones siguientes:
•
•
p( xi ) ≥ 0
[1.13]
∞
∑ p( x ) = 1
i =1
[1.14]
i
En muchas ocasiones estamos interesados en analizar las estadísticas de un fenómeno en el
que la variable de interés puede tomar un número infinito de valores dentro de un intervalo,
tales como el valor de un voltaje eléctrico, o el movimiento de un usuario. En este caso es
necesario utilizar el concepto de variable aleatoria continua, en el cual se reemplaza la
función de probabilidad p, que se encuentra definida sólo para los valores
discretos x1 , x2 , … xn , por una función f definida para todos los valores de x en un intervalo.
Formalmente, X es una variable aleatoria continua, si existe una función f, llamada función
de densidad de probabilidad fdp de X que satisface las siguientes condiciones:
•
f ( x) ≥ 0
∀x
[1.15]
∞
•
∫
f ( x) ≥ 0
[1.16]
−∞
b
•
Para cualquier a,b tal que − ∞ < a < b < ∞ , P(a ≤ X ≤ b ) = ∫ f ( x)dx
a
5
[1.17]
El evento x = a , para una variable aleatoria continua, tiene probabilidad cero, aunque no
puede considerarse como un evento imposible, dado que sólo se obtiene un valor de
probabilidad cuando se tiene definido un intervalo.
Cabe destacar que aunque nos referimos a X con el término variable aleatoria, no
debe considerarse como una variable, sino como una función.
Sea X una variable aleatoria discreta o continua. Definimos F, la función de
distribución de la variable aleatoria X, como F ( x) = P( X ≤ x) . Es calculada de acuerdo a
•
Si X es una variable aleatoria discreta, F ( x) = ∑ p( x j )
j
x
•
Si X es una variable aleatoria continua con fdp f, F ( x) =
∫ f (s)ds
−∞
Esta función representa la probabilidad acumulada de la variable aleatoria X para
todos los eventos hasta x, incluyéndolo. Algunas propiedades importantes de la misma son:
•
•
•
F ( x) → 0 si x → −∞
F ( x) → 1 si x → ∞
F ( x) es una función no decreciente de x
La función de distribución para la variable aleatoria X puede ser utilizada para
evaluar la probabilidad de eventos acerca de X. En general, es recomendable utilizar la
segunda formulación, puesto que es apropiada tanto para variables aleatorias continuas
como discretas.
Valor esperado y varianza
Frecuentemente nos encontramos con problemas que requieren no solamente de la
probabilidad de que la variable aleatoria X se encuentre en cierto intervalo, sino de la
obtención de un valor “promedio” o valor esperado. Por ejemplo, si apostamos 1000 pesos
a la ocurrencia de cierto resultado, lo que nos preguntaríamos es cuanto podríamos esperar
como ganancia en promedio, y no la probabilidad que existe de obtener un resultado
favorable.
Intuitivamente podemos ver que pi N , donde pi es la probabilidad de un evento y N es el
número de repeticiones del experimento, es una aproximación al número de veces que
esperamos que el evento ocurra. Ahora, si multiplicamos este valor por el valor numérico
de la variable, es decir pi Nxi , obtendríamos el valor numérico de la misma. De esta forma
para obtener el promedio calcularíamos
x=
( p1 N ) x1 + ( p2 N ) x2 + … + ( pN N ) xN
N
6
[1.18]
Esta noción nos lleva al concepto de valor esperado de una variable aleatoria.
Formalmente,
Si X es una variable aleatoria discreta con función de probabilidad p X ( x) , el valor
esperado de H(X), denotado por E [H ( X )] es definido como
E [ H ( X ) ] = ∑ H ( x) p X ( x)
[1.19]
Mientras que si X es una variable aleatoria continua con función de densidad de
probabilidad f X( x) , el valor esperado de H ( X ) se define como
E [ H ( X )] =
∞
∫ H ( x) f
X
( x)dx
[1.20]
−∞
El valor esperado de X es llamado la media o el valor promedio de X y es denotado por µ X .
Gráficamente, el valor esperado de una variable aleatoria se encuentra en el centro
del área de su función de probabilidad o función de densidad de probabilidad, dependiendo
de si es una variable aleatoria discreta o continua. En la Figura 1se puede apreciar lo
anterior.
Figura 1. Valor esperado
El valor esperado, junto con la desviación estándar σ son los dos parámetros más
importantes utilizados para resumir las propiedades de una variable aleatoria X.
σ 2 es conocida como la varianza de X, y es definida por
σ 2 = Var[ X ] = E[( X − µ )2 ]
[1.21]
Así, para una variable aleatoria discreta X, su varianza σ x2 está dada por
σ 2 = Var[ X ] = ∑ ( xi − µ ) 2 p ( xi )
i
7
[1.22]
Mientras que si se trata de una variable aleatoria continua, su varianza está dada por
σ = Var[ X ] =
2
∞
∫ (x − µ)
2
f ( x)dx
[1.23]
−∞
La razón por la que la media o valor esperado es tan importante es intuitivamente
clara. Por ejemplo, si X es una variable aleatoria discreta que describe cuanto va a ganar
una persona en cada resultado del espacio muestral, entonces el valor esperado es el
promedio pesado de lo que espera ganar. La media puede verse como un resumen de lo que
se espera de la variable aleatoria.
La desviación estándar, σ no tiene un significado tan intuitivo. La desviación
estándar es una unidad natural para medir la desviación de una variable aleatoria de su
media. Por ejemplo, supóngase que X representa la duración de una bombilla que se recibe
de un fabricante y que su media µ =1000 horas. Esto podría significar que se espera que la
mayor parte de las bombillas dure entre 900 y 1100 horas. Pero también podría significar
que las bombillas que se entregan son de dos tipos diferentes: alrededor de la mitad son de
muy alta calidad y con duración de casi 1300 horas, mientras que la otra mitad son de muy
mala calidad y tienen una duración de 700 horas aproximadamente. Obviamente existe la
necesidad de presentar una medida que permita distinguir entre estas situaciones, para lo
cual se utiliza la varianza y la desviación estandar.
Algunas propiedades de la varianza son las siguientes:
Si C es una constante y X una variable aleatoria,
•
σ 2 ( X + C ) = σ 2 ( X ) , es decir la suma de una constante a una variable aleatoria, no
afecta su varianza.
•
σ 2 (CX ) = C 2σ 2 ( X ) . La varianza de la multiplicación de una variable aleatoria por
una constante, se convierte en la varianza de la variable aleatoria, multiplicada por
el cuadrado de la constante.
•
Si X 1 , X 2 , … X n son variables aleatorias independientes, entonces
n
n
i =1
i =1
σ 2 (∑ X i ) = ∑ σ 2 ( X i )
[1.24]
es decir, la varianza de la sumatoria de un conjunto de variables aleatorias
independientes es igual a la sumatoria de las varianzas individuales.
8
Distribución normal
La distribución de probabilidad Normal , también llamada Gaussiana, es muy
popular en el modelado de sistemas dado que muchos procesos aleatorios que ocurren en la
naturaleza están distribuidos de forma normal, o muy cercano a ello. En este tipo de
distribución los datos se agrupan alrededor de un punto denominado media, mientras que
la amplitud de la misma está dada por la varianza. La Figura 2 muestra gráficamente este
tipo de variables aleatorias.
La variable aleatoria X en el intervalo − ∞ < x < ∞ tiene una distribución normal o
gaussiana si su función de densidad de probabilidad es de la forma
⎛ 1 ⎡ x − µ ⎤2 ⎞
1
F ( x) =
exp ⎜ − ⎢
⎜ 2 ⎣ σ ⎥⎦ ⎟⎟
2πσ
⎝
⎠
[1.25]
Figura 2. Distribución Gaussiana
Para referirnos a este tipo de distribución utilizaremos N ( µ , σ 2 ) . La variable
aleatoria normal estándar es aquella en la que los parámetros µ = 0 , y σ = 1 . Así la
función de densidad de una variable aleatoria distribuida de acuerdo a una normal estándar
está definida por
F ( x) =
1
⎛ 1 2⎞
exp ⎜ − [ x ] ⎟
2π
⎝ 2
⎠
Mientras que la función de distribución de probabilidad f está dada por
⎛ 1 2⎞
t ⎟
x exp ⎜ −
2 ⎠
⎝
f ( x) = ∫
dt
2π
−∞
[1.26]
[1.27]
La distribución normal estándar es importante porque toda distribución normal
puede ser calculad en términos de ella. Así, si X esta distribuida normalmente con
parámetros µ y σ , entonces
9
⎛ x−µ ⎞
FX ( x) = f ⎜
⎟
⎝ σ ⎠
[1.28]
A continuación mencionaremos algunas de las propiedades de las variables
aleatorias distribuidas normalmente.
Si X es una variable aleatoria con distribución normal y parámetros
entonces
E[ X ] = µ y Var[ X ] = σ 2
µ y σ,
[1.29]
Si X 1 , X 2 , … X n son n variables aleatorias independientes con distribuciones
N ( µ1 , σ 1 ), N ( µ 2 , σ 2 ), … N ( µ n , σ n ) ,
entonces
Y = X1 , X 2 ,… X n
está
distribuida
normalmente con media µ1 + µ 2 + … + µ n y varianza σ 12 + σ 22 + … + σ n2 .
Cualquier combinación lineal de un proceso o variable aleatoria distribuida
normalmente es también un proceso aleatorio normalmente distribuido. En particular, si
X ~ N ( µ , σ 2 ) y Y = aX + b , entonces Y ~ N (aµ + b, a 2σ 2 ) , y la función de densidad de
probabilidad para Y está dada por
FY ( y ) =
⎛ 1 ⎡ y − ( a µ + b) ⎤ 2 ⎞
exp ⎜ − ⎢
⎥⎦ ⎟⎟
⎜ 2 ⎣ a 2σ 2
2π a 2σ 2
⎝
⎠
1
[1.30]
Procesos de Markov.
Una familia de variables aleatorias {X (t ), t ∈ T } es llamada un proceso estocástico.
Así, para cada t ∈ T donde T es el conjunto índice del proceso, X (t ) es una variable
aleatoria. A un elemento de T se le refiere usualmente como un parámetro de tiempo, y
generalmente t se refiere al tiempo en que la variable aleatoria ocurre, aunque tal situación
no es parte de la definición.
El espacio de estados del proceso es el conjunto de los valores posibles que las
variables aleatorias X (t ) pueden asumir. Cada uno de los valores de las variables aleatorias
es llamado un estado del proceso.
Los procesos estocásticos están clasificados de acuerdo a su conjunto índice y el
espacio de estados. Si T = {0,1,2, …} o T = {0,±1,±2, …} se dice que es un proceso con
parámetro discreto y usualmente es denotado por {X n } . Si T = {t : −∞ ≤ t ≤ ∞} o
T = {t : t ≥ 0} se dice que es un proceso con parámetro continuo. El espacio de estados es
clasificado como discreto si es finito o numerable, y es llamado continuo si consiste de un
intervalo de los números reales.
10
Para un proceso estocástico X (t ) , para cada t, X (t ) es una variable aleatoria, y por
ende una función desde el n-ésimo espacio muestral S, hacia el espacio de estados.
Para cualquier s ∈ S , existe un conjunto correspondiente {X (t )( s ), t ∈ T } llamado la
realización de X en s, el cual puede verse como el recorrido de la función.
Un concepto que será ampliamente utilizado a lo largo del presente trabajo son los
procesos de Markov, los cuales están definidos por la propiedad de Markov
p [ x(t ) | x(τ ),τ ≤ t1 ] = p [ x(t ) | x(t1 ) ] , ∀t > t
[1.31]
La ecuación anterior intuitivamente nos dice que los eventos ocurridos en el pasado
hasta cualquier t1 están caracterizados por completo por el valor del proceso en el tiempo
t1 , es decir, que el futuro es independiente de el pasado si se conoce el presente.
Un proceso estocástico, también llamado secuencia aleatoria, es un proceso de Markov si
p [ x(k ) | X t ] = p [ x(k ) | x( j ) ] , ∀k > j
[1.32]
esto es, si cumple con la propiedad de Markov.
Una cadena de Markov es un caso especial de secuencia de Markov, en la cual el espacio
de estados es discreto y finito
x(k ) ∈ { xi , i = 1,… , n}
[1.33]
Una secuencia de Markov realiza transiciones de estado en los tiempos t n , posiblemente
hacia el mismo estado, y es posible caracterizarla por completo por medio de las
probabilidades de transición π ij
π ij = P { x(k ) = x j | x(k − 1) = xi } i, j = 1, 2,… n
[1.34]
junto con las probabilidades iniciales. Las π ij anteriores nos indican lo probabilidad que
existe de cambiar de un estado i a un estado j. Generalmente en las cadenas de Markov las
probabilidades de transición son independientes del tiempo en el cual se encuentra, en este
caso se dice que la cadena tiene probabilidad de transición estacionaria, aunque en
ocasiones es posible utilizar probabilidades que cambian en el tiempo.
Definimos ahora el vector µ (k ) , el cual describe la distribución de probabilidades del
estado de la cadena y está dado por
11
µ (k ) = [ µ1 (k ), µ2 (k ),… µn (k )]'
[1.35]
donde las componentes son las probabilidades de la cadena de encontrarse en el estado i, es
decir
µi (k ) = P { x(k ) = xi }
La evolución en el tiempo del vector µi (k ) anterior está dada por
n
µi (k + 1) = ∑ π ji µ j (k ) i, j = 1,… n
[1.36]
j =1
Las probabilidades de transición π ij se pueden resumir por medio de:
⎡π 00 π 01 π 02 …⎤
⎢π
⎥
⎢ 10 π 11 π 12 …⎥
⎥
Π=⎢
⎢
⎥
⎢π i 0 π i1 π i 2 …⎥
⎢⎣
⎥⎦
[1.37]
La cual es llamada matriz de transición de la cadena de Markov.
Así, la evolución en el tiempo puede ser escrita en forma vectorial como
µ (k + 1) = Π ' µ (k )
[1.38]
Propiedades de las cadenas de Markov.
{X (n)}
Sea
una cadena de Markov y i ↔ j significando que los estados i y j se
comunican. Entonces la relación i ↔ j es una relación de equivalencia. Esto es,
•
i ↔ i Para cada estado i
•
Si i ↔ j , entonces j ↔ i
•
Si i ↔ j y j ↔ k , entonces i ↔ k .
Debido a esto, los estados de una cadena de Markov se pueden particionar en clases de
equivalencia de estados tales que dos estados i y j están en la misma clase si y solo si
i ↔ j . Una cadena de Markov es irreducibe si y solo si existe exactamente una clase de
equivalencia.
12
Si el estado i tiene un periodo d(i), entonces existe un entero N dependiente de i tal que para
todos los enteros n ≥ N
π ii (nd (i )) > 0
[1.39]
Esto quiere decir, que siempre es posible regresar a un estado i después de un múltiplo lo
suficientemente grande del periodo de la cadena.
Si π ii (m) > 0 , entonces π ji (m + nd (i )) > 0 para cualquier n lo suficientemente grande.
Para cada estado i de una cadena de Markov definimos f i ( n ) como la probabilidad de el
primer retorno al estado i ocurra n transiciones después de dejar i.
fi ( n ) = P [ X n = i, X k ≠ i para k = 1, 2,… n − 1| X 0 = i
]
[1.40]
∞
La probabilidad de regresar al estado i está dada por f i = ∑ f i (n) . Si f i < 1 , se dice que
n =1
es un estado transitorio. Si f i = 1 se dice que es un estado recurrente.
Otra forma de expresar lo anterior por medio de las probabilidades de transición es:
Un estado i es recurrente si y solo si
∞
∑π
n =1
ii
( n) = ∞
[1.41]
ii
( n) < ∞
[1.42]
El estado i es transitorio si y solo si
∞
∑π
n =1
Inferencia estadística.
En la mayoría de los análisis matemáticos se consideran casos idealizados en los
que se asume que se conoce exactamente la forma de la función de distribución de
probabilidad y los valores de sus parámetros, de cada variable aleatoria que se estudia. En
la mayoría de los casos prácticos, no tenemos conocimiento sobre ninguno de los dos. Por
ello es necesario que la información acerca de una variable aleatoria se base en un conjunto
de valores observados.
La inferencia estadística está basada en la obtención de una muestra de la población
de todos los elementos que tomamos en consideración. En general requerimos obtener una
muestra x1 , x2 , … xn de valores tomados de un conjunto de todos los posibles valores de una
13
variable aleatoria X . Para que la muestra tenga las propiedades matemáticas necesarias
para utilizarla en alguna aplicación, debe ser tomada de forma que sea una muestra
aleatoria.
La obtención de una muestra aleatoria se puede ver como un procedimiento en el
cual se realizan una serie de observaciones de forma tal que
•
•
Cada valor observado o valor seleccionado es independiente de los otros
En cada paso, el valor seleccionado tiene la misma probabilidad de ser escogido que
cualquier otro elemento en la población.
Esto puede ser conceptualizado como una secuencia X 1 , X 2 , … X n de variables
aleatorias independientes, cada una con la misma distribución de probabilidad que X. Así,
definimos una muestra aleatoria de tamaño n como una secuencia de variables aleatorias
idénticamente distribuidas X 1 , X 2 , … X n .
Una vez que se ha tomado una muestra aleatoria, indicamos la muestra por medio de
x1 , x2 , … xn . De esta forma tomamos en cuenta el hecho de que los valores de dos diferentes
muestras aleatorias de tamaño n de la misma población son generalmente diferentes. Por
ejemplo, una muestra aleatoria de la medición de cinco tiempos podría ser 1.2, 0.85, 0.35,
0.87, 0.98 segundos, mientras que en otra muestra aleatoria podríamos obtener 0.76, 0.45,
0.92, 1.18, 0.54 segundos. Lo anterior se debe a que generalmente existe un poco de
“aleatoriedad” entre los valores de dos diferentes muestras.
Los problemas fundamentales en la teoría de estimación o inferencia estadística, se
pueden resumir como:
•
•
•
Dados los valores de las variables aleatorias x1 , x2 , … xn tomados de una población
de una variable aleatoria X, cómo estimar los valores de los parámetros de X tales
como la media µ , la varianza σ 2 o la desviación estándar σ .
Como realizar juicios acerca de la precisión de esos estimados
Si se estima un parámetro θ de una variable aleatoria X a través de otra variable
aleatoria θˆ , llamada estimador de θ , cuales son las propiedades que debe tener para
resultar útil.
El problema de estimar un parámetro x consiste en dadas un conjunto de mediciones x j ,
que se comportan de acuerdo a una función h en el tiempo j de la variable aleatoria X
x j = h [ j , X , w( j ) ]
i, j = 1,… k
[1.43]
y realizadas en presencia de perturbaciones modeladas por medio de la función w( j ) ,
encontrar una función θˆ de las k observaciones
14
θˆ(k ) ≡ θˆ ⎡⎣ k , X j ⎤⎦
[1.44]
donde las observaciones son denotadas como
X j ≡ {x j }
k
[1.45]
j =1
que se acerque al verdadero valor de X.
La función θˆ(k ) es llamada estimador, mientras que su valor es conocido como
estimado. Esos términos, aunque no son iguales, pueden ser generalmente intercambiados.
Los dos estimadores mas comunes son el de la media de la muestra, también
conocido como media aritmética, X , definida por
X=
1 n
∑ Xi
n i =1
[1.46]
y la varianza de la muestra S 2 , definida por medio de
1 n
S =
∑( Xi − X )
n − 1 i =1
2
2
[1.47]
Donde X es un estimador del valor esperado µ = E[ X ] , y S 2 lo es de la varianza
σ 2 = Var[ X ] .
Sean X 1 , X 2 , … X n una muestra aleatoria de tamaño n de una población
determinada por la variable aleatoria X con media finita µ = E[ X ] y varianza finita
σ 2 = Var[ X ] . Sean X y S 2 las utilizadas en la definición anterior. Entonces
•
•
E[ X ] = µ
E[ S 2 ] = σ 2
•
Var[ X ] =
σ2
n
Para n lo suficientemente grande, la variable aleatoria
X −µ
Z=
tiene aproximadamente una distribución normal estándar.
•
σ
n
•
Si X tiene una distribución normal, entonces la variable aleatoria
15
Y=
X −µ
tiene una distribución t-Studen con n-1 grados de libertad.
S
n
En general, el término parámetro es utilizado para designar una cantidad invariante
en el tiempo. Es posible estimar parámetros que cambian con el tiempo pero su variación
debe ser lenta comparada con el estado de las variables del sistema.
Las dos características principales de un estimador son el sesgo y la consistencia.
Un estimador θˆ de un parámetro θ es insesgado si su valor esperado es igual al valor del
parámetro que estima, es decir E[θˆ] = θ , lo cual, intuitivamente significa que los valores
estimados del parámetro θ se agrupan alrededor de θ .
Un estimador θˆ con la propiedad
para cada ε > 0 , lim P[| θˆ − θ |< ε ] = 1
n →∞
[1.48]
es un estimador consistente de θ . También se dice que θˆ converge en probabilidad a θ .
Un estimador que carece de esta propiedad, es decir un estimador inconsistente, se puede
considerar como poco útil en la práctica.
Supongamos que se toman k muestras aleatorias, cada una de tamaño n, y se
calculan los k valores correspondientes de la media muestral x1 , x2 , … xk . Esos k números
se agruparían alrededor del valor de µ , dado que X es insesgado. La varianza de X es
una medida de que tan cerca están de µ .
Si se comparan dos estimadores insesgados θˆ1 y θˆ2 , se considera como el más
eficiente el que presente la menor varianza. Decimos que un estimador θˆ es un estimador
insesgado de mínima varianza de θ si Var[θˆ] < Var[θˆ1 ] , donde θˆ1 es cualquier otro
estimador insesgado de θ .
Sea X 1 , X 2 , … X n una muestra aleatoria de una población determinada por X. Si X
2
esta distribuida normalmente con media µ y varianza σ , entonces los estimadores X y
S 2 son insesgados, consistentes y de mínima varianza de los parámetros µ y σ 2
respectivamente.
Aunque los estimadores insesgados son deseables en una gran cantidad de aspectos,
no siempre existe uno para una estimación en particular. En tales casos es posible utilizar
un estimador consistente θˆ con error medio cuadrático mínimo. El error medio cuadrático
está definido por
E[(θˆ − θ ) 2 ] = Var[θˆ] + ( E[θˆ] − θ ) 2
16
[1.49]
El término E[θˆ] − θ es llamada el sesgo de θˆ , y es cero para estimadores
insesgados. Es posible que un estimador sesgado θˆ posea un error cuadrático medio menor
que cualquier estimador insesgado, siempre y cuando la varianza Var[θˆ] sea lo
suficientemente pequeña.
Existen principalmente dos modelos utilizados para la estimación de un parámetro
que no cambia con el tiempo:
1.
No-aleatorio: Existe un único valor x0 . Este enfoque es también llamado enfoque
no-Bayesiano o enfoque de Fisher.
2.
Aleatorio: El parámetro es una variable aleatoria con una fdp a priori p(θ ) y una
realización de θ que ocurre de acuerdo a p(θ ) , además este valor permanece
constante durante todo el proceso de mediciones. Este método de estimación es
también es conocido como enfoque Bayesiano.
En el enfoque Bayesiano, se empieza con una fdp a priori del parámetro del cual se
quiere obtener su fdp a posteriori usando el teorema de Bayes
p (θ | Z ) =
p( Z | θ ) p(θ ) 1
= p( Z | θ ) p(θ )
p( Z )
c
[1.50]
Donde c es una constante de normalización que no depende de θ , y Z es el conjunto
de mediciones. La fdp a posteriori puede utilizarse de distintas maneras para estimar el
valor de θ .
En contraste con lo anterior, en el enfoque no-Bayesiano no existe una fdp asociada
con el parámetro y debido a esto no es posible definir una fdp a posterior para ella.
En este caso, se tiene como una medida de que tan probable es el valor de un
parámetro dadas las observaciones obtenidas, la fdp de las mediciones condicionada en el
parámetro, llamada función de verosimilitud
Λ Z (θ ) = p ( Z | θ )
[1.51]
La función de verosimilitud sirve como una medida de la evidencia existente de los
datos.
Estimador de máxima verosimilitud
Un método común para estimar el valor de parámetros no aleatorios es el método de
máxima verosimilitud (MLE), el cual está basado en el enfoque de Fisher. La idea detrás de
17
este tipo de estimador es escoger el valor o los valores de los parámetros que hagan los
valores observados de las muestras más probables, es decir maximizar la función de
verosimilitud
θˆ ML ( Z ) = arg max Λ Z (θ ) = arg max p( Z | θ )
θ
θ
[1.52]
Donde θ es una constante desconocida, mientras que θˆ ML ( Z ) , la cual es una
función del conjunto de observaciones Z, es una variable aleatoria.
El MLE es la solución de la ecuación de verosimilitud
d Λ Z (θ ) dp( Z | θ )
=
=0
dθ
dθ
[1.53]
Si la distribución de probabilidad de la variable aleatoria de interés involucra varios
parámetros θ1 , θ 2 , …θ k , entonces para encontrar los valores que maximizan la función de
verosimilitud se debe resolver el sistema de ecuaciones
d Λ Z (θ k )
d Λ Z (θ1 )
d Λ Z (θ 2 )
= 0,
= 0,… ,
=0
dθ1
dθ 2
dθ k
[1.54]
y así encontrar los estimados de máxima verosimilitud de los parámetros.
Se debe tener cuidado al resolver este sistema de ecuaciones, puesto que es posible
encontrar mínimos locales. En muchos casos es mas conveniente trabajar con el logaritmo
de la función de verosimilitud, definido como
ln(Λ Z )
[1.55]
dado que es una función creciente monótona. Al utilizar esta función de verosimilitud, las
ecuaciones anteriores se convierten en
d ln(Λ Z (θ k ))
d ln(Λ Z (θ1 ))
d ln(Λ Z (θ 2 ))
= 0,
= 0,… ,
=0
dθ1
dθ 2
dθ k
[1.56]
Estimador Máximo a Posteriori
Otro estimador para un parámetro aleatorio es el llamado máximo a posteriori
(MAP), basado en el enfoque Bayesiano. De forma similar al estimador de máxima
verosimilitud, el MAP encuentra un estimado de un parámetro de una variable aleatoria, a la
cual se tiene acceso a través de observaciones. En contraste con el MLE, el parámetro a
estimar no es una variable, sino que está modelado a través de una función de distribución
18
de probabilidad a priori, por medio de la cual se obtiene una distribución de probabilidad a
posteriori. Así, el MAP se deriva de la maximización de la fdp a posteriori
θˆ MAP ( Z ) = arg max p (θ | Z ) = arg max [ p( Z | θ ) p(θ )]
θ
θ
[1.57]
El estimado MAP, que depende de las observaciones Z y de la realización de θ ,
también es una variable aleatoria.
19
Capítulo II. Modelos Dinámicos
Introducción
La clave para un seguimiento de objetivos exitoso se encuentra en la extracción
óptima del estado del mismo a partir de la información proveniente de las observaciones
reportadas.
La mayoría de las técnicas para el seguimiento de objetos están basadas en modelos,
puesto que un algoritmo de seguimiento basado en ellos presenta un rendimiento muy
superior al de uno que no los utiliza. Un buen modelo del objetivo facilita la extracción de
la información a tal grado que se puede afirmar que los resultados obtenidos al utilizarlo
pueden ser aún mejores que si se tuvieran disponibles una gran cantidad de datos “crudos”.
En este capítulo se presentan algunos de los modelos matemáticos de movimiento
que han sido desarrollados en las últimas décadas, junto con las bases teóricas necesarias
para su derivación y aplicación. Específicamente se tratarán los modelos
•
•
•
•
Aceleración continua con ruido blanco
Aceleración como proceso de Wiener
Modelos basados en polinomios
Modelo de giros coordinados
Además, se enfatizan las ideas principales y suposiciones de estos modelos
dinámicos, así como las condiciones de operación de cada uno de ellos. Esto nos llevará no
solamente a entender como trabajan, sino también a conocer sus ventajas y desventajas.
Aunque los modelos presentados solamente consideran el comportamiento temporal
del objetivo, sin tomar en cuenta sus características espaciales, no existe una limitación
para desarrollar o aplicar un modelo que describa tanto la evolución temporal como las
características espaciales de un objetivo.
Características espaciales y espectrales.
Hasta ahora solo se habían tomado en cuenta las características espaciales de las
señales muestreadas. La magnitud de la varianza de una señal nos pueda dar una idea de
cuanto ruido posee la señal analizada, sin embargo no nos dice nada acerca de la tasa de
ruido existente en relación con el tiempo en el que se muestrea la señal.
Una característica importante de una señal aleatoria es su autocorrelacion, es decir
su correlación consigo misma sobre el tiempo. La autocorrelación RX de una señal aleatoria
20
X (t ) se define como el valor esperado del muestreo en el tiempo t1 multiplicado por el
muestreo en el tiempo de muestreo siguiente t2
RX (t1 , t2 ) = E[ X (t1 ) X (t2 )]
[2.1]
Si el proceso es estacionario, es decir su densidad de probabilidad es invariante en
el tiempo, entonces la ecuación [2.1] depende únicamente de la diferencia τ = t1 − t2 . En
este caso, encontrado comúnmente en muchos sistemas, la autocorrelación se puede reescribir como
RX (τ ) = E[ X (t ) X (t + τ )]
[2.2]
La autocorrelación es una función del tiempo, por lo que posee una interpretación
espectral en el dominio de la frecuencia. Para un proceso estacionario, existe una
importante relación temporal-espacial conocida como la relación Wiener-Khinchine
S X ( jω ) = ℑ[ RX (τ )] =
∞
∫R
X
(τ )e− jωτ dτ
[2.3]
−∞
Donde ℑ representa la transformada de Fourier de la autocorrelación de la variable
X (t ) , y ω indica el número de ciclos por segundo. La función S X ( jω ) es llamada la
densidad del poder espectral de la señal aleatoria. Esta relación conjunta las
representaciones de tiempo y espectro de frecuencia de la señal analizada.
Ruido Blanco.
Un caso importante encontrado en una señal aleatoria X (t ) es en el que la función
de autocorrelación es un delta de dirac δ (τ ) que tiene valor cero en todo punto excepto
cuando τ = 0 .
⎧ ψ , si τ = 0
RX (τ ) = ⎨
⎩0 en otro caso
[2.4]
para alguna constante de magnitud ψ .
Al graficar esto se puede notar fácilmente que la autocorrelación es un pico, y por
ende su transformada de Fourier (densidad de poder espectral) resulta en un espectro de
frecuencia constante (Figura 3).
21
Figura 3. Espectro del ruido Blanco
Un proceso que cumple con la definición anterior es conocido como ruido blanco.
Puede considerarse que el ruido blanco presenta poder en todas las frecuencias del espectro,
y es completamente no-correlacionado consigo mismo en cualquier momento excepto en el
presente, es decir cuando τ =0 . Las señales de ruido blanco son consideradas
independientes, es decir una muestra de la señal tomada en un tiempo t1 es completamente
independiente, o no-correlacionada, respecto a otra muestra tomada en un tiempo
t2 distinto.
En la práctica es imposible que un sistema presente ruido blanco dado que no es
posible tener energía infinita a través de un espectro infinito, sin embargo esta formulación
matemática idealizada constituye un marco idóneo para el diseño y análisis.
Generalmente las señales aleatorias son modeladas como ruido blanco filtrado
(Figura 4) en las cual se limita el ancho de banda de la descripción idealizada, para obtener
un ruido coloreado, poco correlacionado en el dominio del tiempo.
Figura 4. Ruido Blanco filtrado
Proceso de Wiener
Algunos de los modelos presentados en este capítulo corresponden a un proceso de
Wiener, por lo que es conveniente describirlo brevemente.
Un proceso de Wiener es un proceso estocástico Gaussiano con incrementos
independientes. Para cada número positivo t, se denota el valor del proceso en el tiempo t
por Wt . Entonces el proceso es caracterizado por las condiciones:
22
1. Si 0 < s < t , entonces se distribuye normalmente con media cero y varianza t − s
Wt − Ws ∼ N (0, σ 2 (t − s ))
[2.5]
2. Si 0 ≤ s ≤ t ≤ u ≤ v , es decir los intervalos [ s, t ] y [u, v] no se traslapan,
Wt − Ws y Wv − Wu son variables aleatorias independientes.
Modelos de espacio de estados
El objetivo principal del seguimiento de un objeto en movimiento es estimar su
trayectoria. Aunque los objetivos nunca son realmente un punto en el espacio, y la
información acerca e su orientación es importante para el seguimiento, un objetivo es
tratado usualmente como un punto sin forma en el espacio, especialmente en los modelos
dinámicos.
Un modelo dinámico, también llamado modelo de movimiento, describe la
evolución del estado de un objetivo x con respecto al tiempo. Casi todos los métodos
confiables de seguimiento de objetos están basados en modelos. Asumen que el
movimiento del objetivo junto con sus observaciones puede ser representado de forma
precisa por medio de algún modelo matemático conocido previamente. Los dos principales
retos en el seguimiento de objetos son la incertidumbre del origen de las mediciones y la
incertidumbre del movimiento del objetivo, por ello el modelo debe tomar en cuenta la
aleatoriedad presente tanto en el movimiento real del objeto, como en las mediciones
obtenidas a través de algún dispositivo.
El tipo de modelo más utilizado es el modelo de espacio de estados. En general, un
modelo de espacio de estados consiste en dos ecuaciones, las ecuaciones del sistema, y las
ecuaciones de las observaciones. Las ecuaciones del sistema modelan la dinámica del
estado de las variables, mientras que las ecuaciones correspondientes a las observaciones
modelan el estado observado de las variables.
Este modelo es descrito usualmente en la siguiente forma:
xk +1 = f k ( xk , uk , vk )
[2.6]
zk = hk ( xk ) + wk
[2.7]
donde
•
•
xk es el vector de estado del sistema, en el tiempo tk
zk es el conjunto de observaciones o mediciones, hasta el tiempo tk
23
•
•
•
•
•
uk es una entrada de control, en el tiempo tk
vk es el ruido en el proceso observado
wk es el ruido presente en las mediciones
f k es una función que puede variar en el tiempo, con entradas vectoriales, que
modela la forma en que el sistema evoluciona del tiempo k-1 al tiempo k.
hk es una función que puede variar en el tiempo, con entradas vectoriales, que
modela la relación que existe entre las observaciones realizadas y el estado del
sistema.
Las dos ecuaciones anteriores son conocidas como modelo del proceso y modelo de
mediciones, respectivamente, y son la base de prácticamente cualquier método de
estimación, tal y como el filtro Kalman.
Modelos de tiempo continuo
La forma general del modelo de espacio de estados permite definir cualesquiera
funciones f y h para describir la evolución del sistema junto con la relación de las
mediciones con el estado del mismo, respectivamente. Para su utilización en los filtros que
analizaremos en el presente trabajo de tesis es conveniente utilizar una formulación mas
precisa de tales funciones a través de los modelos de tiempo continuo y los modelos de
tiempo discreto.
Un modelo de tiempo continuo es aquel en que el estado del sistema cambia de
forma continua respecto al tiempo. Tales cambios son descritos por medio de las derivadas
de las variables que resumen el estado del sistema, con respecto al tiempo. De esta forma,
el modelo es representado a través de una o más ecuaciones diferenciales, a través de las
cuales es posible obtener el valor de las variables que lo componen en cualquier tiempo en
particular.
La representación en espacio de estados de un sistema estocástico lineal de tiempo
continuo es descrita como
x(t ) = A(t ) x(t ) + B(t )u (t ) + D(t )v (t )
donde
•
•
•
•
•
•
x es el vector de estado
U es el vector de entrada de control
v es el ruido del proceso, también llamado ruido de la planta
A es la matriz del sistema
B es la matriz de ganancia de entrada
D es la matriz de ganancia de ruido
24
[2.8]
La respuesta del sistema es el vector z ,
z (t ) = C (t ) x(t ) + w(t )
[2.9]
donde
•
•
w es el ruido en las mediciones
C es la matriz de mediciones
La ecuación [2.8] representa la evolución del sistema en el tiempo, y es el
equivalente de [2.6], mientras que [2.9] modela la evolución de las mediciones realizadas y
corresponde a la ecuación [2.7].
Aunque no es un requisito en la formulación de los modelos de espacio de estados,
en el caso de la estimación basada en el enfoque Bayesiano se requiere en general que las
variables de ruido w(t ) y v (t )
1.
2.
3.
4.
Presenten una distribución gaussiana
Presenten media cero
Sean un proceso blanco
Sean mutuamente independientes
Lo anterior debido a que el vector de estado del sistema debe resumir completamente el
pasado, en un sentido probabilístico, a través de su función de densidad de probabilidad.
Modelos de tiempo discreto
En la mayoría de los sistemas reales las mediciones de las características que nos
revelan el comportamiento del fenómeno que analizamos se realizan en instantes de tiempo
discretos, por lo que un modelo en tiempo continuo como el presentado en la sección
anterior no es adecuado. Para tales situaciones se emplea una formulación semejante a la de
los modelos de tiempo continuo en la que las ecuaciones son discretizadas, es decir son
transformadas a su equivalente discreto.
En la representación de espacio de estados de sistemas de tiempo discreto, se asume
que la entrada es constante a pedazos, esto es,
u (t ) = u (tk ) tk ≤ t < tk +1
[2.10]
Así, el estado en el tiempo de muestreo t k +1 puede ser escrito en términos de el
estado t k como
x(tk +1 ) = F (tk +1 , tk ) x(t k ) + G (tk +1 , tk )u (tk ) + v(tk )
[2.11]
25
Donde F es la matriz de transición del estado del sistema, G es la matriz de
ganancia en tiempo discreto de la entrada de control, la cual se asume como constante
sobre el periodo de muestreo, y v(t k ) es el ruido del proceso en tiempo discreto.
Para los fines mencionados al inicio de esta sección es necesario convertir el modelo
en tiempo continuo en uno de tiempo discreto, para lo cual se utiliza el proceso de
discretización que mencionaremos a continuación.
Para un sistema invariante en el tiempo1 definido en tiempo continuo y muestreado
en tiempos arbitrarios, la matriz de transición en el tiempo discreto, denotada como F (k ) ,
es igual a la exponencial de la diferencia de los tiempos por la matriz del sistema en tiempo
continuo
F (tk +1 , tk ) = F (tk −1 − tk ) = e(tk +1 −tk ) A ≡ F (k )
[2.12]
La ganancia de entrada del sistema en tiempo discreto es igual a la integral de la
exponencial de tk +1 menos un tiempo de muestreo τ , por la matriz de ganancia en tiempo
continuo. El tiempo de muestreo τ se define como la diferencia entre el tiempo anterior y el
actual, es decir tk +1 − tk .
G (tk +1 , tk ) =
tk +1
∫e
( tk +1 −τ ) A
Bdτ ≡ G (k )
[2.13]
tk
Finalmente v , el ruido del proceso en tiempo discreto, se relaciona con el ruido en
tiempo continuo por medio
v(tk ) =
tk +1
∫e
( tk +1 −τ ) A
Dv (τ )dτ ≡ v(k )
[2.14]
tk
donde D es la matriz de ganancia de ruido y v es una función de ruido, ambas en tiempo
continuo.
Con la suposición de media cero y ruido blanco en la función v~ (t ) que describe el
ruido del sistema, se puede observar que
E[v(k )] = 0
E[v(k )v( j ) '] = Q(k )δ kj
[2.15]
Donde δ kj es la función delta de Kronecker, y Q es la matriz de covarianza del ruido en
tiempo discreto v .
1
Un sistema en el que las ecuaciones que modelan el sistema no cambian durante el tiempo que dura el
proceso
26
La función delta de Kronecker puede ser vista como la versión discreta de la
función delta de Dirac, y está dada por
⎧0 si i ≠ j
[2.16]
δ ij ≡ ⎨
⎩1 si i = j
La incertidumbre en la estimación del estado debida a la aleatoriedad en la dinámica
del objetivo, o a las inexactitudes del modelo es representada por medio de la matriz de
covarianza de ruido del proceso Q.
La covarianza de ruido de proceso en tiempo discreto a partir de un modelo de
tiempo continuo se obtiene por medio de la evaluación de la integral
Q(k ) =
tk +1
∫e
( tk +1 −τ ) A
DV (τ ) D ' e( tk +1 −τ ) A ' dτ
[2.17]
tk
donde V la varianza del tiempo de muestreo τ , y D ' es la transpuesta de la matriz de
ganancia de ruido.
Así, el modelo para los sistemas lineales estocásticos de tiempo discreto puede ser
escrito por medio de
x(k + 1) = F (k ) x(k ) + G (k )u (k ) + v(k )
[2.18]
Donde se asume que se conoce la entrada de control u (k ) , junto con las matrices
F (k ) y G (k ) ; además el ruido del proceso v(k ) es un proceso con media cero, blanco y
con matriz de covarianza Q(k).
La ecuación de mediciones en tiempo discreto está dada por
z (k ) = H (k ) x(k ) + w(k )
[2.19]
Donde H (k ) es la matriz de mediciones y w(k ) es el ruido de mediciones. Tal ruido
es una secuencia aleatoria con media cero:
E[ w(k )] = 0
[2.20]
y autcorrelación igual a una matriz R (k ) de covarianza de ruido de mediciones por una
función delta Kronecker, es decir es una secuencia blanca:
E[ w(k ) w( j ) '] = R(k )δ kj
27
[2.21]
Las secuencias de ruido del proceso v(k ) y ruido de las mediciones w(k ) son
consideradas como independientes o no correlacionadas, es decir los valores que tome una,
no afectan los valores que puede tomar la otra
E[v(k ) w( j ) '] = 0
∀k , j
[2.22]
En algunos casos es conveniente definir un modelo directo de tiempo discreto, en
lugar de una versión discretizada de un modelo de tiempo continuo. En tales casos el
modelo de tiempo discreto es modificado para incluir una matriz de ganancia de ruido del
proceso, denotada por Γ(k ) , a través de la cual el ruido v(k ) entra al sistema. En ese caso,
la evolución del sistema del tiempo k al tiempo k+1 es caracterizada por medio de
x(k + 1) = F (k ) x(k ) + G (k )u (k ) + Γ(k )v(k )
[2.23]
Cuando se utiliza Γ(k ) , es posible definir la matriz de covarianza de ruido del proceso Q ,
de forma directa.
Consideraciones sobre modelos dinámicos
En el modelado estocástico, se utilizan variables aleatorias para representar una
cantidad desconocida, invariante en el tiempo, mientras que una cantidad que varía en el
tiempo es modelada por medio de un proceso aleatorio.
El ruido blanco constituye la clase más simple de procesos aleatorios. La segunda
clase mas simple está constituida por los procesos Markovianos, los cuales incluyen los
procesos de Wiener y ruido blanco como casos especiales.
Un proceso de ruido blanco presenta valores independientes de un tiempo t1 a un
tiempo t2 distinto, por lo que se dice que es aislado en el tiempo. Un proceso de Markov es
local en el tiempo porque su valor en un instante de tiempo depende únicamente de los
valores de sus vecinos mas cercanos. El uso de modelos basados en procesos de Markov es
adecuado cuando los modelos de ruido blanco no son suficientemente buenos.
Se puede definir un modelo cinemático de movimiento al establecer en cero la nésima derivada de la posición del objetivo, es decir, si f representa la función de posición
del objetivo,
f ( n ) ( x) = 0
[2.24]
Si no existe alguna entrada aleatoria como ruido en las mediciones, es posible
caracterizar el movimiento por medio de un polinomio cuya variable es el tiempo. Este tipo
de modelos son llamados modelos polinomiales. En el caso práctico, no se puede asumir
que no existen perturbaciones, por lo que es necesario modelarlas como entradas aleatorios
al sistema para así alcanzar resultados confiables.
28
En el caso general y por cuestiones prácticas, los modelos de movimiento son
definidos en tiempo continúo. Dado que en la mayoría de los casos las observaciones del
estado están hechas en tiempo discreto, se requieren ecuaciones de estado en tiempo
discreto. Si no se cuenta con las ecuaciones del modelo en tiempo discreto, se debe utilizar
el proceso definido en la sección Modelos de tiempo discreto par convertir un modelo de
tiempo continuo en uno de tiempo discreto.
En los modelos presentados en este capítulo (excepto el modelo de giros
coordinados) el movimiento a lo largo de cada coordenada se asume independiente de las
otras coordenadas. En muchas aplicaciones se utiliza el mismo modelo para cada
coordenada. En algunas otras, por ejemplo en control de tráfico aéreo, se pueden utilizar
dos modelos de tercer orden para el movimiento horizontal, y un modelo de segundo orden
para el movimiento vertical.
Tanto el ruido del proceso, como el ruido de las mediciones que entran en las
diferentes coordenadas son asumidos como mutuamente independientes, con varianzas
posiblemente diferentes.
Modelo de aceleración continua con ruido blanco
Un objeto con velocidad constante, moviéndose en una coordenada ξ que puede
corresponder a cualquier eje, es descrito por la siguiente ecuación
ξ ′′(t ) = 0
[2.25]
Como se menciono previamente, una forma de definir un modelo de movimiento es
por medio de establecer en cero la n-ésima derivada de la función de posición. En el caso
del Modelo de aceleración continua con ruido blanco, se establece en cero la segunda
derivada de la posición ξ , es decir la aceleración, lo cual se muestra en la ecuación [2.25].
Este modelo pertenece al grupo de modelos polinomiales puesto que la función de
posición ξ (t ) , en ausencia de ruido, evoluciona de acuerdo a un polinomio de segundo
orden en el tiempo.
En este modelo se considera que la velocidad a la que se mueve el objeto es una
constante, dada la aceleración igual a cero. En la práctica, la velocidad siempre sufre
pequeñas variaciones puesto que ningún objeto es capaz de moverse con una velocidad
perfectamente constante. Debido a esto, se deben modelar estas pequeñas variaciones por
medio de una variable de ruido v~ tal que
ξ ′′(t ) = v (t )
29
[2.26]
En la ecuación [2.26] se puede ver que la función de ruido v~ representa la
aceleración del objeto, y por ende los pequeños cambios de velocidad que se puedan
presentar.
El ruido v~ es un proceso gaussiano con valor esperado cero (media cero)
E[v (t )] = 0
[2.27]
y autocorrelación igual a su densidad de poder espectral q por la delta de Dirac del tiempo
t menos la longitud del intervalo de muestreo τ
E[v (t )v (τ )] = q(t )δ (t − τ )
[2.28]
De las condiciones anteriores se desprende que v~ es un proceso blanco, y al
utilizarse dentro del modelo constituye un proceso de Wiener. De ahí que este modelo sea
llamado modelo de aceleración continúa con ruido blanco. La intensidad de la densidad de
poder espectral o ruido del proceso q~ , es un parámetro del modelo que el diseñador del
filtro de estimación debe ajustar a las condiciones que requiera para su aplicación.
El vector de estados de este modelo consta de dos dimensiones por coordenada y se
muestra en [2.29]. La primera componente corresponde a la posición del objetivo, mientras
que la segunda representa la velocidad.
x = [ξ
ξ ′]'
[2.29]
La ecuación de estado en tiempo continuo es
x(t ) = Ax(t ) + Dv (t )
[2.30]
donde
⎡0 1 ⎤
A=⎢
⎥
⎣0 0 ⎦
⎡0 ⎤
D=⎢ ⎥
⎣1 ⎦
Las ecuaciones en tiempo discreto con periodo de muestreo T se obtienen por medio
del proceso de discretización mostrado en la sección Modelos de tiempo discreto. De
acuerdo a ello la evolución del sistema en tiempo discreto está dada por
x(k + 1) = Fx(k ) + v(k )
donde
30
[2.31]
⎡1 T ⎤
F = e AT = ⎢
⎥
⎣0 1 ⎦
[2.32]
y el ruido del proceso en tiempo discreto v , está relacionado con el del tiempo continuo
v~ por medio de
T
v(k ) = ∫ e A(T −τ ) Dv (kT + τ )dτ
[2.33]
0
Asumiendo que q~ es constante, y usando el hecho de que la autocorrelación de
v~ está especificada por
E[v (t )v (τ )] = q(t )δ (t − τ )
se calcula la covarianza Q del ruido del proceso v(k ) en tiempo discreto, obteniéndose la
ecuación [2.34].
⎡T 3 T 2 ⎤
T
⎢3
⎡T − τ ⎤
2 ⎥⎥
⎢
[2.34]
τ
τ
−
=
Q = E[v(k )v(k ) '] = ∫ ⎢
T
qd
q
1
[
]
1 ⎦⎥
⎢T 2
⎥
0 ⎣
T ⎥
⎢⎣ 2
⎦
31
Los cambios en la velocidad sobre un periodo de muestreo T, son de magnitud aproximada
Q2, 2 = q~T
lo cual puede servir como guía para elegir la intensidad de la densidad de poder espectral o
ruido del proceso q~ en este modelo.
Si se elige una intensidad q~ de ruido de proceso pequeña, es decir una magnitud en
la que los cambios en la velocidad son pequeños comparados con la velocidad real del
objeto, se obtiene lo que es conocido como modelo de velocidad casi constante.
Modelo de aceleración como proceso de Wiener
El movimiento de un objeto con aceleración constante, para una coordenada ξ
correspondiente a cualquiera de los ejes, está dado al establecer la tercera derivada de la
posición en cero
ξ ′′′(t ) = 0
De forma similar a [2.26], en el caso práctico la aceleración no es perfectamente
constante por lo que sus cambios deben ser modelados para obtener resultados confiables.
Estas variaciones son representadas por medio de una función v (t ) de ruido blanco
continuo con media cero, y son incluidas en el modelo al hacer que la tercera derivada de la
posición sea igual a estas perturbaciones
ξ ′′′(t ) = v (t )
En este caso la aceleración es un proceso de Wiener, de ahí el nombre modelo de
aceleración como proceso de Wiener. Dado que la derivada de la aceleración es el empuje,
y es modelado por medio de un proceso blanco, este modelo también es conocido como
modelo de empuje blanco.
El vector de estados de este modelo consta de tres dimensiones por coordenada y se
muestra en [2.35]. La primera componente corresponde a la posición del objetivo, la
segunda representa la velocidad y la tercera la aceleración.
x = [ξ
ξ ′ ξ ′′]
[2.35]
La ecuación de estado en tiempo continuo de este modelo está dada por
x(t ) = Ax(t ) + Dv (t )
32
[2.36]
donde
⎛0 1 0⎞
⎜
⎟
A = ⎜0 0 1⎟
⎜0 0 0⎟
⎝
⎠
⎛0⎞
⎜ ⎟
D = ⎜0⎟
⎜1⎟
⎝ ⎠
Para la utilización de este modelo en la mayoría de los casos prácticos, es necesario
transformarlo en su equivalente discreto, por medio del proceso descrito en secciones
anteriores. Así, la ecuación de estado de tiempo discreto con un periodo de muestreo T es
x(k + 1) = Fx(k ) + v(k )
[2.37]
con la matriz de transición
⎡
⎢1 T
⎢
F = ⎢0 1
⎢0 0
⎢
⎣
1 2⎤
T
2 ⎥
⎥
T ⎥
1 ⎥
⎥
⎦
[2.38]
y la matriz de covarianza de v(k ) dada por
⎡1 5
⎢ 20 T
⎢
1
Q = E[v(k )v(k ) '] = ⎢ T 4
⎢8
⎢
⎢ 1T3
⎣⎢ 6
1 4
T
8
1 3
T
3
1 2
T
2
1 3⎤
T
6 ⎥
⎥
1 2⎥
T q
2 ⎥
⎥
T ⎥
⎦⎥
[2.39]
Los cambios en la aceleración bajo un periodo de muestro T son del orden de
Q3,3 = qT
[2.40]
y al igual que en el modelo de aceleración continua con ruido blanco sirve como una guía
en la elección de la densidad de poder espectral q de v , también llamado ruido de proceso,
para ajustar el modelo al movimiento real del objeto de interés.
33
Si se elige una intensidad q pequeña de forma tal que los cambios en la aceleración
(del orden qT ) sean pequeños en relación con los niveles de aceleración verdaderos, se
obtiene un modelo conocido como modelo de aceleración casi constante.
Modelos generales basados en polinomios.
Cualquier trayectoria continua puede ser aproximada por medio de un polinomio de
cierto orden hasta la exactitud que se desee. Con esta idea es posible modelar el
movimiento del objetivo por medio de un polinomio de n-ésimo orden en coordenadas
Cartesianas. En el caso de tres dimensiones, el movimiento puede ser modelado por medio
de
⎡ x(t ) ⎤ ⎡ a0
x(t ) = ⎢⎢ y (t ) ⎥⎥ = ⎢⎢ b0
⎢⎣ z (t ) ⎥⎦ ⎢⎣ c0
⎡1⎤
a1 … an ⎤ ⎢ ⎥ ⎡ vx (t ) ⎤
t
b1 … bn ⎥⎥ ⎢ ⎥ + ⎢⎢v y (t ) ⎥⎥
⎢ ⎥
c1 … cn ⎥⎦ ⎢ n ⎥ ⎢⎣ vz (t ) ⎥⎦
⎣t ⎦
[2.41]
con diferentes elecciones de los coeficientes ai , bi , ci donde ( x, y, z ) son las coordenadas de
posición, y (vx , v y , vz ) son los términos correspondientes al ruido.
Tales modelos polinomiales de n-ésimo orden asumen que la n-esima derivada de
la posición es muy cercana a una constante, es decir la derivada es igual al término de ruido
w.
Los modelos de aceleración casi constante y velocidad casi constante descritos en
secciones previas son casos especiales para n = 1 y n = 2 de este modelo general de nésimo orden con ruido blanco w(t ) . Un polinomio de orden n tiene n + 1 parámetros por
coordenada y debido a esto la dimensión del vector de estado correspondiente al modelo es
n + 1 . Es por eso que un modelo polinomial de n-ésimo orden es llamado también un
modelo de n + 1 orden.
Los modelos polinomiales son buenos para ajustarse a un conjunto de datos, lo que
se conoce como problema de suavizado, pero es difícil desarrollar un método eficiente para
determinar los coeficientes ai , bi , ci de manera general. Sin embargo, se han desarrollado
muchos modelos polinomiales especiales para el seguimiento de objetivos. La mayoría de
los modelos discutidos en esta sección pueden ser vistos como casos especiales del modelo
polinomial general. Sin embargo el propósito del seguimiento es el filtrado y la predicción,
y no el suavizado, así que este tipo de modelos no presenta un buen rendimiento para la
aplicación que se utilizará en esta tesis.
34
Modelo de giros coordinados
Los modelos anteriores están diseñados para sistemas de seguimiento en los cuales
los movimientos en las diferentes coordenadas son independientes. En muchos casos, las
maniobras típicas de un objetivo producen movimientos en los que las coordenadas se
encuentran altamente correlacionadas.
Tales maniobras requieren de modelos en dos o más dimensiones, y generalmente
describen los movimientos asociados con vueltas. Por ejemplo para describir un
movimiento en el plano, el vector de estado debe ser de cuatro o más dimensiones. Un caso
encontrado frecuentemente en el seguimiento de objetivos es el de los giros coordinados,
para los cuales se desarrolla el modelo de movimiento que se expone en esta sección.
En los modelos con coordenadas dependientes entre si, se presenta una gran
sensibilidad a la elección de los componentes del estado. La elección de estos componentes
es un problema complejo en el que se debe tener mucho cuidado con la dinámica del
objetivo, modelada como una trayectoria con perturbaciones aleatorias, la precisión de las
aproximaciones, y el sistema de coordenadas de las mediciones, entre otros.
La mayoría de los modelos de movimiento desarrollados para el seguimiento de un
objetivo moviéndose en un plano son derivados de las ecuaciones de movimiento curvilineo
estándar, que se muestran en [2.42] a [2.45].
x(t ) = V (t ) cos φ (t )
[2.42]
De la ecuación [2.42] se observa que la componente x del vector de velocidad es
igual a la magnitud de la velocidad V por el coseno del ángulo de dirección φ . De forma
similar se obtiene la componente y :
y (t ) = V (t ) sin φ (t )
[2.43]
La derivada de la magnitud de la velocidad V es igual a la aceleración tangencial
at en el plano, mientras que la derivada del ángulo de dirección es igual a la aceleración
normal an entre la magnitud de la velocidad del objetivo, lo cual se muestra en [2.44] y
[2.45].
V (t ) = at (t )
a (t )
φ (t ) = n
V (t )
[2.44]
[2.45]
En particular, en el modelo CT se asume que la aceleración tangencial at es
prácticamente cero, mientras que la aceleración normal an es una constante; es decir, el
35
objetivo se mueve con una velocidad V casi constante, y con una tasa angular de giro ω = φ
semiconstante.
Asumiendo que la tasa de giro ω es conocida, se define el vector de estado
x = ( x, x, y, y ) , en coordenadas Cartesianas, donde x, y representan la posición del
objetivo, mientras que x, y representan sus velocidades respectivas.
De las ecuaciones [2.42] a [2.45] se deriva el modelo de espacio de estados en
tiempo continuo que caracteriza el movimiento CT:
x(t ) = ( x, −ω y, y, ω x) '(t ) + v(t )
[2.46]
= A(ω ) x + v(t )
⎡0 1
⎢0 0
=⎢
⎢0 0
⎢
⎣0 ω
0 0 ⎤ ⎡ x⎤
0 −ω ⎥⎥ ⎢⎢ x ⎥⎥
+ v(t )
0 1 ⎥ ⎢ y⎥
⎥⎢ ⎥
0 0 ⎦ ⎣ y⎦
Este modelo es lineal puesto que la tasa del ángulo de giro ω es conocida. Por
medio del procedimiento mostrado en la sección Modelos de tiempo discreto, se obtiene la
versión en tiempo discreto de este modelo
sin ωT
⎡
⎢1
ω
⎢
0
cos ωT
xk +1 = Fct (ω ) xk + vk = ⎢⎢
1 − cos ωT
⎢0
ω
⎢
⎢⎣0
sin ωT
cos ωT − 1 ⎤
⎥
ω
⎥
0 − sin ωT ⎥
xk + vk
sin ωT ⎥
1
⎥
ω
⎥
0
cos ωT ⎥⎦
0
[2.47]
El ruido v presentado en la ecuación anterior es utilizado para modelar las
perturbaciones en la trayectoria que la alejan de un movimiento CT ideal.
El modelo CT presenta un buen desempeño en los casos en los que la constante de
giro es conocida aproximadamente, previamente. La necesidad de un conocimiento exacto
acerca del valor del ángulo de giro hace que la aplicación de este modelo sea poco realista
para la mayoría de las aplicaciones prácticas. Una forma de remediar esta situación es
reemplazando ω por su estimado, basándose en los últimos resultados de velocidad. Una
desventaja de utilizar esta solución es que el modelo se convierte en un modelo no lineal,
por lo que no es posible utilizarlo en algunos filtros tales como el filtro Kalman.
Otra solución está basada en el uso de múltiples modelos con diferentes ángulos
fijos de giro. Este enfoque mejora los resultados al tomar en cuenta varias opciones de
ángulos de giro y a la vez preserva la forma lineal de este modelo, haciéndolo aplicable en
36
la mayoría de los filtros. En este enfoque, se define una secuencia de ángulos de giro {ωk } ,
modelada como una cadena de Markov, que toma valores en el conjunto {ωi , i = 1,… , n} ,
gobernada por las probabilidades de que el ángulo de giro en el tiempo k sea igual a la iésima opción, dado que en el tiempo anterior el ángulo de giro fue el j-ésimo
P {ωk = ωi | ωk −1 = ω j } , i, j = 1,… n ; junto con un conjunto de probabilidades iniciales. Este
enfoque se ha utilizado con éxito para control de tráfico aéreo civil, en el que las maniobras
de los aviones están regidas por regulaciones internacionales en las que se especifican los
ángulos en que se deben realizar giros.
37
Capítulo III. Filtros recursivos
Introducción
Dentro de los métodos utilizados en estimadores podemos encontrar dos grandes
divisiones: el enfoque Bayesiano y el No-Bayesiano, también conocido como enfoque de
Fisher.
En el enfoque de Fisher se construye una función de verosimilitud que nos indica
que tan factible es el valor de un parámetro dadas las observaciones realizadas. Ejemplos de
estimadores No-Bayesianos son los métodos de Máxima verosimilitud (ML) y Máximo a
posteriori (MAP).
En el enfoque Bayesiano el parámetro a estimar es representado por medio de una
variable aleatoria de la cual se conoce su distribución de probabilidades en el tiempo previo
(a priori) y por ende es posible calcular su distribución en el tiempo actual (a posteriori).
Dentro de esta categoría se encuentran el Filtro Kalman, el filtro Kalman extendido, el filtro
UKF, y el filtro IMM que serán tratados en este capítulo.
La función de probabilidad a posteriori del enfoque Bayesiano contiene toda la
información estadística disponible, y se le puede considerar como una solución al problema
de filtrado, puesto que a través de ella se puede construir un estimado óptimo bajo cualquier
criterio de error.
En los métodos basados en este enfoque se utiliza un modelo probabilístico de
espacio de estados por medio del cual se representa la forma en que el sistema evoluciona
en el tiempo así como la relación de las mediciones realizadas con el estado del mismo.
El filtro Kalman se presenta como el mejor estimador Bayesiano disponible, cuando
se cumple con los requisitos para aplicarlo, dado que los valores que calcula son
probabilisticamente óptimos. El filtro Kalman impone como requisitos que el modelo del
sistema sea lineal, que la relación entre las mediciones del sistema y el estado sean lineales,
que los modelos de ruido estén distribuidos uniformemente en todo el espectro y que el
sistema presente una distribución de probabilidad gaussiana con media cero.
Muchos problemas de interés en la ciencia y en la ingeniería no pueden ser descritos
adecuadamente por medio de modelos lineales, y por ende en estos casos el filtro Kalman
en su formulación original no es aplicable.
Debido a esto se realiza una mejora al mismo, conocido como Filtro Kalman
extendido, en el que es posible utilizar modelos no-lineales y relaciones entre mediciones y
estado no-lineales. Este filtro es sub-óptimo puesto que no realiza los cálculos exactos de
las estadísticas del sistema, sino que en su lugar realiza una aproximación a las mismas
debido a que la solución analítica implica ecuaciones muy difíciles de resolver.
38
El filtro Kalman Extendido realiza aproximaciones a los términos que representan la
función de distribución de probabilidad. Estas aproximaciones introducen errores grandes
en las funciones de distribución de probabilidad a posteriori que se calculan, lo que puede
resultar en un desempeño bajo y en algunas ocasiones causar divergencia.
El filtro Unscented Kalman, UKF, se ocupa de remediar algunas de las fallas del
filtro Kalman extendido.
En el filtro UKF la distribución de probabilidades del estado del sistema es
representada usando un conjunto mínimo de puntos escogidos de forma determinística. Los
puntos muestreados se utilizan para calcular la distribución a posteriori y capturan
completamente la función de distribución de probabilidades.
Muchas veces el comportamiento del sistema puede dividirse en dos o más modelos.
Por ejemplo el movimiento de un automóvil puede modelarse por medio de trayectorias
lineales y trayectorias curvilíneas. Por ello se crea el filtro Múltiples modelos
interactuantes, IMM, en el que se utilizan dos o más filtros al mismo tiempo que calculan
independientemente estimados del sistema, uno para cada modo.
El filtro IMM calcula la probabilidad que tiene cada modo de ser el correcto de
acuerdo a lo observado y le asigna un peso. Por medio de estos pesos, calcula la
contribución de cada filtro individual al resultado total y construye un estimado del estado
del sistema.
Filtro Kalman
En 1960 Rudolph Kalman publica el artículo “A New Approach to Linear Filtering
and Prediction Problems”, el cual revolucionó el campo de la estimación y teoría de
control. En este artículo presenta una solución recursiva para el filtrado de datos discretos
de un sistema lineal, el cual es conocido actualmente como Filtro Kalman.
El filtro Kalman es una herramienta matemática consistente en un conjunto de
ecuaciones que definen un estimador del tipo predictor-corrector. Este estimador requiere
de algunas condiciones que al ser cumplidas permiten minimizar la covarianza del error de
estimación, por lo que es considerado óptimo.
Debido al desarrollo de las computadoras digitales, el filtro Kalman se ha
convertido en una herramienta factible para el filtrado de datos, y ha sido utilizado con
éxito en una gran cantidad de aplicaciones, por ejemplo en el área de navegación y sistemas
de guiado donde prácticamente todas las técnicas implementadas incluyen un filtro de este
tipo. Algunos otros ejemplos de su aplicación son el seguimiento por medio de radar,
cálculo de posiciones a través de sonar, y la determinación de las orbitas de satélites para
las misiones Apollo, Ranger y Mariner.
39
El éxito de este filtro es debido en gran medida a la relativa sencillez de
formulación, así como a la robustez que presenta. Es posible encontrar un estimado a partir
de los datos que se van obteniendo, por lo que su implementación es mucho más factible
que por ejemplo un filtro de Wiener, el cual requiere todo el conjunto de datos para calcular
el estimado. Las condiciones que este filtro requiere para producir resultados óptimos
(desde el punto de vista estadístico), rara vez son encontradas en la práctica, sin embargo a
pesar de ello se obtienen muy buenos resultados.
El filtro Kalman se ocupa del problema de estimar el estado x ∈ n de un proceso
de tiempo discreto que evoluciona de acuerdo a la ecuación lineal estocástica
xk = Axk −1 + Buk + wk −1
Con un vector de mediciones z ∈
m
(3.1)
tal que
zk = Hxk + vk
(3.2)
Las variables aleatorias wk y vk representan el ruido en el proceso y en las
mediciones respectivamente. Son utilizadas para modelar las perturbaciones impredecibles
que se presentan tanto en el proceso de obtención de mediciones, como en la dinámica del
sistema en sí. Se asume que son independientes, blancas y con distribuciones de
probabilidad normales
p( w) ∼ N (0, Q)
p(v) ∼ N (0, R)
(3.3)
(3.4)
Q es la matriz de covarianza de w , definida como Q = E[ ww '] , mientras que R es
la matriz de covarianza de v , definida por R = E[vv '] .
La matriz A de dimensión n × n en la ecuación (3.1) relaciona el estado del sistema
en el tiempo previo k − 1 con el estado en el tiempo actual k , en la ausencia de ruido. La
matriz B , de tamaño n × l , relaciona la entrada de control u ∈ l con el estado x . La
variable de control u es una entrada opcional del filtro, y puede utilizarse para modelar
parámetros conocidos del sistema, tales como el cambio de posición relativa asociado con
el movimiento propio. La matriz H de m × n en la ecuación de mediciones (3.2) relaciona
el estado del sistema con la medición realizada en el tiempo actual zk .
En la práctica la matriz de transición A , la matriz de mediciones H , la matriz de
covarianza Q del ruido del proceso, y la matriz de covarianza R del ruido en las mediciones,
pueden variar en cada instante de tiempo, sin embargo para simplificar la notación se
asumirá que son constantes.
La ecuación (3.1) es una ecuación diferencial que describe la dinámica del objetivo
en términos de un proceso de Markov representado por el vector de estado. De acuerdo a la
40
propiedad de Markov, la representación estadística del proceso en el futuro está
determinada completamente por el estado del mismo en el presente.
La linealidad en las ecuaciones (3.1) y (3.2) lleva a la preservación de la propiedad
Gaussiana del estado del sistema y de las mediciones.
Si se define xˆk− ∈
n
como el estimado a priori en el tiempo k , dado el
conocimiento del estado del proceso en el tiempo previo, y xˆk ∈ n como el estimado del
estado a posteriori en el paso k dada la medición zk . Podemos definir entonces el error a
priori junto con el error a posteriori del estimado por medio de las ecuaciones (3.5) y (3.6)
respectivamente
ek− ≡ xk − xˆk−
ek ≡ xk − xˆk
(3.5)
(3.6)
De acuerdo a lo anterior, la covarianza del error a priori del estimado del estado es
definida como:
Pk− = E[ek− ek−T ] = E[( xk − xˆk− )( xk − xˆk− ) ']
(3.7)
mientras que la covarianza del error a posteriori del estimado del estado es:
Pk = E[ek ekT ] = E[( xk − xˆk )( xk − xˆk ) ']
(3.8)
Las ecuaciones para el filtro Kalman son derivadas al calcular un estimado del
estado a posteriori xˆk como una combinación lineal del estimado a priori xˆk− y la
diferencia pesada entre la medición zk y la predicción de la medición Hxˆk− , mostrada en la
ecuación (3.9)
xˆk = xˆk− + K ( zk − Hxˆk− )
(3.9)
Al ser xˆk− una predicción del estado del sistema, se puede ver por la ecuación de
mediciones (3.2) que Hxˆk− representa el valor que esperaríamos obtener en la medición z
realizada en el tiempo K. La diferencia zk − Hxˆk− en la ecuación (3.9) es llamada la
innovación de las mediciones, o el residuo. El residuo refleja la discrepancia entre las
mediciones predichas Hxˆk− y la verdadera medición zk .
La matriz K en (3.9) es conocida como la matriz de ganancia y se escoge de forma
que minimice la covarianza del error a posteriori (3.8).
41
La ecuación de la matriz K que logra esta minimización puede ser obtenida al
sustituir la ecuación (3.9) en la ecuación (3.6) que define ek , para obtener
ek = xk − xˆk− − K ( zk − Hxˆk− )
Al substituir esto en la ecuación (3.8) se tiene que
Pk = E ⎡⎣( xk − xˆk− − K ( zk − Hxˆk− ) )( xk − xˆk− − K ( zk − Hxˆk− ) ) '⎤⎦
Entonces se calcula el valor esperado indicado, y se deriva la función Pk resultante
con respecto a K. Al igualar esta función a cero y resolver la ecuación
∂Pk
=0
∂K
para K, se obtiene la matriz deseada.
Así, la ecuación de la matriz K que minimiza la ecuación de error a posteriori (3.8)
es
K k = Pk− H T ( HPk− H T + R ) −1 =
Pk− H T
HPk− H T + R
(3.10)
La ganancia es proporcional a la varianza de la predicción del estado, e
inversamente proporcional a la varianza de la innovación. En la ecuación (3.10) se puede
observar que a medida que la covarianza R del error de las mediciones se aproxima a cero,
la ganancia K otorga mas peso al residuo. Específicamente,
lim K k = H −1
RK → 0
Si la covarianza del error del estimado a priori Pk se aproxima a cero, la ganancia K
le da un peso menor a el resido, es decir
lim K k = 0
Pk− → 0
Una ganancia grande indica una respuesta rápida a las mediciones al actualizar el
estado, mientras que una ganancia pequeña resulta en una respuesta lenta a las mediciones.
Intuitivamente, si la predicción del estado es imprecisa, es decir tiene una varianza
grande, y las mediciones son precisas, caracterizadas por una varianza relativamente
pequeña, la ganancia tendrá un valor grande. Cuando esto sucede, se tiene una mayor
confianza en las mediciones zk , por lo que su valor aporta más al estimado.
42
Por otra parte, si la predicción del estado es acertada (tiene una varianza pequeña) y
las mediciones son imprecisas (tienen una varianza grande), la ganancia es pequeña, por lo
que se confía cada vez mas en la medición predicha Hxˆk− .
La estimación que realiza el filtro Kalman del estado de un proceso es llevada a
cabo utilizando control con retroalimentación. El filtro estima el estado del proceso en un
tiempo y obtiene retroalimentación en la forma de mediciones que contienen ruido.
Las ecuaciones para el filtro Kalman se pueden dividir en dos grupos: las de
actualización en el tiempo, y las de actualización de mediciones. Las ecuaciones de
actualización en el tiempo son responsables de proyectar hacia adelante en el tiempo el
estimado del estado actual y la covarianza del error, con el fin de obtener estimados a priori
para el siguiente paso.
Las ecuaciones de actualización de mediciones son responsables de la
retroalimentación, es decir de incorporar una nueva medición en el estimado a priori
obtenido para obtener un estimado a posteriori mejorado.
Las ecuaciones de actualización en el tiempo pueden ser vistas como las ecuaciones
de un predictor, mientras que las ecuaciones de mediciones pueden considerarse como las
ecuaciones de un corrector. El algoritmo de estimación final es un predictor-corrector que
opera de acuerdo al diagrama de la Figura 5 .
Actualización en el
tiempo (Predicción)
Actualización de
mediciones (Corrección)
Figura 5. Operación del filtro Kalman
Las ecuaciones para la actualización en el tiempo son
xˆk− = Axˆk −1 + Buk
−
k
P = APk −1 A + Q
T
(3.11)
(3.12)
Las ecuaciones de tiempo (3.11) y (3.12) proyectan los estimados del estado y
covarianza del tiempo k − 1 al tiempo k .
Las ecuaciones para la actualización de mediciones están dadas por
43
K k = Pk− H T ( HPk− H T + R ) −1
−
k
−
k
xˆk = xˆ + K k ( zk − Hxˆ )
−
k
Pk = ( I − K k H ) P
(3.13)
(3.14)
(3.15)
La primera tarea en la actualización de mediciones es calcular la ganancia K. El
siguiente paso es obtener una medición del proceso zk , y así generar un estimado del
estado a posteriori al incorporar las mediciones. El paso final es obtener un estimado a
posteriori Pk de la covarianza del error.
Justificación del filtro Kalman
El filtro Kalman es un estimador de estado óptimo de mínimo error medio
cuadrático (MMSE).
Un estimador basado en el criterio del mínimo error cuadrático medio consiste en el
argumento que minimiza el valor esperado de error, es decir el estimado xˆ MMSE es el vector
que minimiza el error cuadrático medio, dadas las mediciones Z observadas
xˆ MMSE ( Z ) = arg min xˆ E[( xˆ − x) 2 | Z ]
(3.16)
Si las variables utilizadas se distribuyen en forma gaussiana, la solución a (3.16) es
la media condicional de x, es decir
xˆ MMSE ( Z ) = E[ x | Z ]
(3.17)
De acuerdo a lo anterior, el estimado óptimo bajo el criterio de mínimo error
cuadrático medio es (3.17), la media condicional.
Si dos vectores están distribuidos conjuntamente de forma Gaussiana, la densidad
de probabilidad de uno condicionado en el otro es también Gaussiana. Utilizando este
resultado se observa que el filtro Kalman mantiene el valor esperado y la varianza de la
distribución de probabilidad del estado
E[ xk ] = xˆk
(3.18)
E[( xk − xˆk )( xk − xˆk )T ] = Pk
(3.19)
La ecuación a posteriori del estimado del estado xˆk del sistema refleja la media de
la distribución del estado, mientras que la covarianza del error del estimado a posteriori Pk
refleja la varianza de la distribución del estado.
p( xk | zk ) ∼ N ( E[ xk ], E[( xk − xˆk )( xk − xˆk )T ]) = N ( xˆk , Pk )
44
(3.20)
La distribución a posteriori en la ecuación (3.9) construida por medio del filtro
Kalman es la media o valor esperado del proceso de acuerdo a la ecuación (3.18), y por
(3.17) es el estimado óptimo.
xˆkMMSE = E[( xk | zk )] = xˆk
Filtro Kalman Extendido
El filtro Kalman en su formulación original es utilizado para inferir el estado de un
sistema afectado por ruido, descrito por medio de una ecuación diferencial estocástica
lineal. Para que este filtro sea aplicable es necesario que tanto las ecuaciones que describen
al proceso como las ecuaciones que relacionan las mediciones obtenidas con el estado del
sistema sean lineales. Si al menos una de las ecuaciones anteriores no es lineal, los
resultados que arroja el filtro no son confiables.
Una gran cantidad de problemas encontrados en los sistemas del mundo real no
pueden ser representados adecuadamente por medio de ecuaciones lineales, por lo que es
necesario utilizar otros enfoques para realizar la estimación del estado de los mismos. En
estos casos se utiliza una modificación al filtro Kalman original, conocido como filtro
Kalman Extendido o EKF. El EKF es básicamente un Filtro Kalman que linealiza las
estimaciones alrededor de la media y la covarianza actuales.
A través del cálculo de las matrices Jacobianas es posible linealizar la estimación
alrededor del estimado actual por medio de las derivadas parciales de las funciones de
proceso y mediciones.
En general, una transformación no lineal introduce un sesgo, por ello las
distribuciones de probabilidad de las distintas variables aleatorias involucradas en el EKF
dejan de ser normales después de atravesar por las funciones no-lineales que modelan la
evolución del sistema en el tiempo. En este sentido, el EKF es un estimador sub-óptimo
puesto que solo aproxima el Teorema de Bayes por medio de la linealización obtenida en
las Jacobianas.
Matriz Jacobiana
Dado un conjunto y = f ( x) de n ecuaciones en n variables x1 ,… xn , escritas como
⎡ f1 ( x) ⎤
⎢ f ( x) ⎥
y≡⎢ 2 ⎥
⎢
⎥
⎢
⎥
⎣ f n ( x) ⎦
es decir un conjunto de ecuaciones
45
⎧ y1 = f1 ( x1 ,… xn )
⎪
⎨
⎪ y = f ( x ,… x )
n
1
n
⎩ n
Se define a la matriz Jacobiana como
⎡ ∂y1
⎢ ∂x
⎢ 1
J ( x1 ,… xn ) = ⎢
⎢
⎢ ∂yn
⎢⎣ ∂x1
∂y1 ⎤
∂xn ⎥
⎥
⎥
⎥
∂yn ⎥
…
∂xn ⎥⎦
…
La importancia de la matriz Jacobiana radica en que representa la mejor
aproximación lineal a una función diferenciable cerca de un punto dado. En este sentido, la
Jacobiana es similar a la derivada de una función en múltiples variables, donde la i-ésima
fila de esta matriz está dada por el gradiente de la función yi .
Formalmente, si p es un punto en n y la función f es diferenciable en p , entonces
su derivada está dada por J ( p ) . En este caso, el mapeo descrito por J ( p ) es la mejor
aproximación lineal a la función f cerca del punto p , dado que
f ( x ) ≈ f ( p ) + J ( p )i( x − p )
para x cercano a p .
En el caso del Filtro Kalman Extendido las Jacobianas representan la mejor
aproximación lineal a las estimaciones de estado y covarianza del proceso alrededor de la
media actual.
Derivación del Filtro Kalman extendido
Asumimos que el proceso a estimar tiene un vector de estado x ∈
ecuación diferencial no-lineal estocástica
xk = f ( xk −1 , uk , wk −1 )
Y un vector de mediciones z ∈
m
n
descrito por la
(3.21)
tal que
zk = h( xk , vk )
46
(3.22)
Donde la variable aleatoria wk representa el ruido del proceso y está definida de
acuerdo a la ecuación (3.3), mientras que vk es definida en la ecuación (3.4) y modela el
ruido presente en las mediciones.
La función no lineal f en la ecuación diferencial (3.21) relaciona el estado en el paso
de tiempo previo k − 1 con el estado en el paso de tiempo actual k . Tiene como parámetros
una función uk conocida como entrada de control, a través de la cual se pueden modelar
factores conocidos como la posición actual; y el ruido del proceso con media cero wk . La
función no lineal h en la ecuación de mediciones (3.22) relaciona el estado xk con la
medición zk , y el ruido vk .
En el caso práctico los valores que toman las variables aleatorias de ruido, wk y vk ,
no son conocidos en cada instante de tiempo. Sin embargo, es posible aproximar el vector
de estado y el vector de mediciones sin ellos como
xk = f ( xˆk −1 , uk , 0)
(3.23)
zk = h( xk , 0)
(3.24)
y
donde xˆk es algún estimado a posteriori de un paso de tiempo previo k.
Para la estimación del proceso no lineal, las ecuaciones utilizadas en el filtro
Kalman son expandidas en series de Taylor. Una serie de Taylor es una representación de
una función como una suma de potencias alrededor de un punto a de acuerdo a
f ( x) = f (a) + f ′(a)( x − a ) +
f ′′¨(a)
f ( n ) (a)
( x − a)2 + …
( x − a)n + …
n!
2!
En el EKF las ecuaciones de mediciones y estado son expandidas en series de
Taylor alrededor de las ecuaciones (3.23) y (3.24) respectivamente, asumiendo que los
términos de orden mayor que uno son muy cercanos a cero y por ende pueden ser omitidos.
Las ecuaciones resultantes de esta expansión se muestran en (3.25) y (3.26).
xk ≈ xk + A( xk −1 − xˆk −1 ) + Wwk −1
zk ≈ zk + H ( xk − xk ) + Vvk
Donde
•
xk es el vector de estado del sistema
•
zk es el vector de mediciones
47
(3.25)
(3.26)
•
xk es el vector de estado aproximado de la ecuación (3.23)
•
zk es el vector aproximado de mediciones de la ecuación (3.24)
•
xˆk es un estimado a posteriori del estado en el paso k
•
wk y vk representan el ruido del proceso y el ruido de mediciones de las ecuaciones
(3.3) y (3.4) respectivamente
•
A es la matriz Jacobiana de derivadas parciales de f con respecto a x , es decir
A[ i , j ] =
•
∂f[i ]
∂w[ j ]
( xˆk −1 , uk , 0)
( xˆk −1 , uk , 0)
H es la matriz Jacobiana de derivadas parciales de h con respecto a x,
H[i , j ] =
•
∂x[ j ]
W es la matriz Jacobiana de derivadas parciales de f con respecto a w,
W[i , j ] =
•
∂f[i ]
∂h[i ]
∂x[ j ]
( xk , 0)
V es la matriz Jacobiana de derivadas parciales de h con respecto a v,
V[i , j ] =
∂h[i ]
∂v[ j ]
( xk , 0)
Las matrices Jacobianas A, W, H, y V en (3.25) y (3.26) son diferentes en cada paso del
filtro, aunque por simplicidad en la notación se omiten los subíndices k, que representan
esta variación en el tiempo.
Ahora se define una nueva notación para el error de predicción,
exk ≡ xk − xk
(3.27)
ez k ≡ z k − z k
(3.28)
y el residuo de las mediciones
48
En la ecuación (3.27) se hace referencia a el vector xk , el cual en la práctica no es
conocido, puesto que es el vector de estado real que se quiere estimar. Por otra parte el
vector zk en la ecuación (3.28) si es conocido, y es la medición actual que se utiliza para
estimar xk . Usando las ecuaciones (3.27) y (3.28) es posible escribir ecuaciones que
describen el error del proceso aproximadamente como
exk ≈ A( xk −1 − xˆk −1 ) + ε k
(3.29)
ezk ≈ Hexk + ηk
(3.30)
donde ε k y ηk son nuevas variables aleatorias independientes con media cero y matrices de
covarianza WQW T y VRV T , con Q y R de acuerdo a (3.3) y (3.4) respectivamente.
Las ecuaciones (3.29) y (3.30) son lineales, y concuerdan con la ecuación (3.1) que
describe la evolución del proceso, y la ecuación de mediciones (3.2) del filtro Kalman
discreto.
Podemos ver al residuo de la medición ezk en (3.28) como el vector de mediciones
(conocido) de un filtro Kalman lineal hipotético que estima exk , el error de predicción dado
por la ecuación (3.29). La estimación calculada por este filtro hipotético, denotada por ek ,
puede ser utilizada en la ecuación (3.31) junto con la ecuación (3.27) para obtener un
estimado a posteriori para el proceso no-lineal original.
xˆk = xk + eˆk
(3.31)
Las variables aleatorias de la ecuación (3.27) y (3.28) tienen aproximadamente la
siguientes distribuciones de probabilidad
p (exk ) ∼ N (0, E[exk exTk ])
p (ε k ) ∼ N (0,WQkW T )
p (η k ) ∼ N (0,VRkV T )
Dadas esas aproximaciones y permitiendo que el valor predicho de eˆk sea cero (lo
cual se debe a que deseamos que el valor de error tienda a ser cero), la ecuación del filtro
Kalman lineal hipotético para estimar eˆk es
eˆk = K k ezk
Al sustituir la ecuación (3.32) en la ecuación (3.31) obtenemos
49
(3.32)
xˆk = xk + K k ezk
(3.33)
Si sustituimos ezk en la ecuación (3.33), por (3.28) se obtiene
xˆk = xk + K k ezk
= xk + K k ( zk − zk )
(3.34)
En la ecuación (3.34) se observa que es posible estimar el estado del proceso sin
utilizar el segundo filtro Kalman hipotético.
La ecuación (3.34) puede ser utilizada para la actualización de mediciones en el
filtro Kalman extendido, con xk y zk definidos a través de las ecuaciones (3.23) y (3.24)
respectivamente y la ganancia de Kalman K k de la ecuación de ganancia del Filtro Kalman
discreto (3.13), con la substitución de la covarianza del error R por la matriz de covarianza
VRkV T .
El conjunto de ecuaciones del EKF para la actualización en el tiempo es
xˆk− = f ( xˆk −1 , uk , 0)
(3.35)
Pk− = Ak Pk −1 AkT + Wk Qk −1WkT
(3.36)
Para conservar la notación utilizada en la sección anterior reemplazamos xk por xˆk− .
Los subíndices k que aparecen en las Jacobianas A, W , H , V resaltan el hecho de que estas
matrices son diferentes en cada paso del filtro, y deben ser evaluadas en el estimado del
paso actual.
De la misma forma que en el filtro Kalman discreto, las ecuaciones (3.35) y (3.36)
proyectan los estimados de estado y covarianza del paso de tiempo previo k − 1 al paso de
tiempo actual k a través del cálculo de sus distribuciones a priori. La ecuación (3.35)
proviene de la ecuación (3.23), mientras que (3.36) se deriva de la ecuación de covarianza
del error de proceso del filtro Kalman lineal. Ak y Wk son las Jacobianas del proceso en el
tiempo k, y Qk es la covarianza del ruido del proceso en el tiempo k.
Las ecuaciones para la actualización de mediciones se muestran en las ecuaciones (3.37) a
(3.39)
K k = Pk− H kT ( H k Pk− H kT + Vk RkVkT ) −1
−
k
(3.37)
−
k
xˆk = xˆ + K k ( zk − h( xˆ , 0))
(3.38)
Pk = ( I − K k H k ) Pk−
(3.39)
Al igual que en el filtro Kalman discreto, las ecuaciones de actualización de
mediciones del EKF corrigen los estimados del estado y covarianza a través de la medición
50
zk . La función h en la ecuación (3.38) viene de la ecuación (3.24). H k y V son las
Jacobianas de las mediciones en el paso k, y Rk es la ecuación de la covarianza en el ruido
de las mediciones en el paso k.
La operación del filtro Kalman Extendido es similar a la operación del filtro Kalman
Lineal, y se muestra en la Figura 6.
Actualización de mediciones (Corrección)
Calcular la ganancia de Kalman
Actualización en el tiempo (Predicción)
Predecir el estado del sistema
K k = Pk− H kT ( H k Pk− H kT + Vk RkVkT ) −1
xˆk− = f ( xˆk −1 , uk , 0)
Actualizar el estimado con la medición
xˆk = xˆk− + K k ( zk − h( xˆk− , 0))
Predecir la covarianza del error del proceso
Pk− = Ak Pk −1 AkT + Wk Qk −1WkT
Actualizar la covarianza del error
Pk = ( I − K k H k ) Pk−
Estimaciones
iniciales
Pk −1 , xˆk −1
Figura 6. Operación del EKF
La expresión de la ganancia del filtro, la ecuación de actualización del estado y la
covarianza del error del proceso son idénticas a las utilizadas en el filtro Kalman lineal. La
principal diferencia con éste, es la evaluación de las Jacobianas en las ecuaciones de
transición del estado y de mediciones. Los cálculos de las covarianzas asociadas están
ligados con los cálculos de los estimados del estado, y por ello no pueden hacerse fuera de
linea, como es posible en el filtro Kalman Lineal.
La matriz Jacobiana H k , en la ecuación (3.37) de la ganancia de Kalman, se puede
ver como un medio de elección de las componentes del vector de mediciones que resultan
relevantes para la propagación de la información en la estimación actual. H k afecta la
ganancia de Kalman de forma que solo se magnifica o disminuye la porción del residuo
zk − h( xˆk , 0) que influye en el estado. Si no existe un mapeo entre algún componente del
vector de mediciones zk y el estado a través de la función h , entonces el filtro diverge, y se
dice que el proceso es inobservable.
El cálculo de la ganancia de Kalman y la actualización de los estimados del estado
son altamente dependientes de los estimados iniciales. Debido a ello, puede existir una
tendencia a que el filtro EKF diverja si los estimados iniciales son imprecisos. En la
51
práctica, si el error inicial y los ruidos no son demasiado grandes, el EKF tiene un buen
desempeño.
Las restricciones del filtro Kalman lineal permiten que todas las mediciones sean
procesadas simultáneamente o en cualquier orden si tener efecto en la precisión del
resultado. En el caso del EKF, el orden en que se procesan las mediciones puede llegar a
ser muy importante. Por ejemplo, si se tienen datos de un radar que reporta ángulo y rango,
la estimación de las medidas de rango no afecta a las de ángulo, pero si se estima primero el
ángulo se introducen errores en la estimación del rango.
La linealización a través de la matriz Jacobiana resulta en una aproximación de
primer orden a los términos que componen los estimados de estado y covarianza. Es posible
utilizar la matriz Hessiana junto con algunas modificaciones al filtro mostrado para obtener
lo que es conocido como EKF de segundo orden, el cual arroja resultados más precisos al
tener aproximaciones de segundo orden a los estimados.
Filtro Unscented Kalman
La linealización utilizada en el filtro Kalman extendido introduce un nivel grande de
error en los estimados calculados, esto debido a que solamente toma en cuenta los términos
de primer orden de la expansión en series de Taylor del estimado alrededor de la media
actual. En 1997 Simon Julier y Jeffrey Uhlman proponen una modificación al filtro
Kalman, libre de derivadas, que mejora los resultados obtenidos respecto al EKF, y que a su
vez presenta una complejidad computacional similar, al no requerir de la evaluación de las
matrices Jacobianas. Este filtro es conocido como Filtro Unscented Kalman, o simplemente
UKF.
Tanto el filtro EKF como el UKF utilizan el enfoque Bayesiano para realizar la
estimación del estado del sistema. En este enfoque se utiliza una distribución de
probabilidad a priori que es propagada a través de las ecuaciones que modelan al sistema,
para obtener la distribución a posteriori del mismo. La principal diferencia entre el EKF y
el UKF es la forma en la que se representa a estas distribuciones.
En el EKF la distribución del estado es aproximada por medio de una variable
aleatoria Gaussiana que es propagada a través de la linealización de las ecuaciones que
corresponden al sistema no lineal. La linealización introduce errores grandes en la media y
covarianza a posteriori de la variable aleatoria transformada, lo que puede ocasionar que el
filtro presente un comportamiento muy deficiente, e incluso causar divergencia.
El filtro UKF representa la distribución del sistema a través de un conjunto de
puntos escogidos cuidadosamente que capturan la verdadera media y covarianza de la
variable aleatoria a priori, y que al hacerlos pasar por las ecuaciones no-lineales del
sistema, capturan la media y covarianza de la distribución a posteriori hasta los términos de
segundo orden de la expansión en series de Taylor de la misma.
52
El EKF utiliza solamente los términos de primer orden, por lo que presenta una
precisión menor a la del UKF. Como se mencionó en la última parte de la sección anterior,
existe una modificación al filtro EKF conocido como EKF de segundo orden, que obtiene
resultados con la misma precisión que el UKF (segundo orden), sin embargo la
implementación de éste implica añadir una complejidad computacional grande al algoritmo,
dada la necesidad de calcular en cada paso las matrices Jacobianas y Hessianas del sistema.
En este sentido, el filtro UKF proporciona un desempeño superior, sin la necesidad de
calcular explícitamente ninguna matriz Jacobiana o Hessiana, y con una complejidad
computacional equivalente a la del EKF, por lo que su implementación en la práctica es
eficiente.
Como se mostró en la sección Justificación del filtro Kalman, el estimador de
mínimo error cuadrático medio es el valor esperado de la distribución a posteriori que
describe el estado, es decir
xˆk = E[ xk | Z k ]
(3.40)
La distribución a posteriori es calculada de acuerdo al teorema de Bayes como
p ( xk | Z k ) =
p ( xk | Z k −1 ) p( zk | xk )
p( zk | Z k −1 )
(3.41)
donde
p( xk | Z k −1 ) = ∫ p( xk | xk −1 ) p ( xk −1 | Z k −1 )dxk −1
(3.42)
p( zk | Z k −1 ) = ∫ p( xk | Z k −1 ) p( zk | xk )dxk
(3.43)
y
Las integraciones en múltiples dimensiones de las ecuaciones (3.42) y (3.43) son
intratables en la mayoría de los casos, por lo que es imposible obtener una solución
analítica a ellas.
Si se asume que las distribuciones son Gaussianas después de de pasar por la
función que modela el sistema, se simplifica el cálculo de la densidad a posteriori. En el
caso del filtro Kalman lineal, esta propiedad se conserva debido a que cualquier
combinación lineal de variables aleatorias gaussianas es también gaussiana. En el EKF se
calcula una aproximación de primer orden a los términos óptimos con el objetivo de utilizar
la propiedad anterior. Sin embargo esa aproximación introduce errores muy grandes en la
verdadera media y covarianza de la transformación de la variable. En el UKF se utiliza la
misma propiedad, pero realizando una mejor aproximación a los términos de la densidad a
posteriori, por medio de un conjunto de puntos escogidos de acuerdo a la transformación
Unscented.
53
Transformación Unscented
La transformación Unscented es un método para calcular la media y covarianza a
posteriori de una variable aleatoria que atraviesa por una transformación no lineal.
Sea x una variable aleatoria de dimensión L que se propaga a través de una función
y = f ( x) , posiblemente no-lineal. Sean también x y Px la media y covarianza de x ,
respectivamente. Para calcular los primeros dos momentos estadísticos de y , formamos
una matriz χ de 2 L + 1 vectores sigma χ i de acuerdo a (3.44), (3.45) y (3.46).
χ0 = x
χi = x +
χi = x −
(
(
( L + λ ) Px
( L + λ ) Px
)
i−L
(3.44)
)
i = 1,… , L
i
i = L + 1,… , 2 L
(3.45)
(3.46)
donde λ = α 2 ( L + κ ) − L
La variable λ en las ecuaciones anteriores es un parámetro de escala. La constante
α determina la dispersión de los puntos sigma alrededor de la media x , y generalmente
toma un valor pequeño positivo, por ejemplo α = 0.003 . κ es un parámetro de escala
secundario que usualmente se toma como 0 o 3 − L , y β es utilizado para incorporar el
conocimiento previo de la distribución de x , por ejemplo para distribuciones Gaussianas
β = 2.
es la i-ésima columna de la matriz raíz cuadrada, es decir la
( L + λ ) Px
(
)
i
factorización triangular inferior de Cholesky.
Cada uno de los vectores sigma es propagado a través de la función no lineal f, para obtener
un conjunto y de puntos sigma transformados.
yi = f ( χ i ) i = 0,… , 2 L
(3.47)
Para obtener una aproximación a la media y de la distribución a posteriori se
utilizan los puntos sigma yi calculados en (3.47), para realizar la suma “pesada” de los
mismos, como se muestra en (3.48).
2L
y ≈ ∑ Wi ( m ) yi
(3.48)
i =0
De forma similar, la covarianza a posteriori (3.49) se aproxima utilizando la
covarianza muestral “pesada” de los puntos sigma transformados.
54
2L
Py ≈ ∑ Wi ( c ) [ yi − y ][ yi − y ]T
(3.49)
i =0
Los pesos Wi en (3.48) y (3.49) están dados por:
W0( m ) =
W0( c ) =
Wi ( m ) = Wi ( c )
λ
λ
(3.50)
L+λ
+1−α 2 + β
L+λ
1
=
2( L + λ )
i = 1,… 2 L
La transformación Unscented nos recuerda los métodos Monte-Carlo, en los que la
distribución a posteriori se calcula a partir de un conjunto de puntos. Sin embargo este
método difiere de ellos en que el número de puntos requeridos para calcular y propagar las
distribuciones es considerablemente menor, dado que son escogidos de forma
determinística.
Si la entrada a la transformación Unscented es una variable aleatoria Gaussiana, las
aproximaciones calculadas son correctas hasta un tercer orden de su expansión en series de
Taylor. Para entradas no-Gaussianas las aproximaciones son correctas hasta al menos un
segundo orden, pudiéndose alcanzar una precisión superior si hace una elección correcta de
los parámetros α y β . La justificación de esto se muestra en la sección Derivación de la
transformación Unscented.
La Figura 7 muestra como la media y covarianza a posteriori obtenidas a través de
esta transformación son mucho mas cercanas a la media y covarianza a posteriori reales,
que las obtenidas a través de la linealización en el EKF.
55
Figura 7
Algoritmo UKF
El filtro Unscented Kalman UKF, es una aplicación de la transformación
Unscented para la estimación recursiva del estado de un sistema.
Asumimos que el proceso a estimar tiene un vector de estado x ∈
en el tiempo es descrita por la ecuación diferencial no-lineal estocástica
xk = f ( xk −1 , uk , wk −1 )
Y un vector de mediciones z ∈
m
n
cuya evolución
(3.51)
tal que
zk = h( xk , vk )
(3.52)
Donde la variable aleatoria wk representa el ruido del proceso y está definida de
acuerdo a la ecuación (3.3), mientras que vk es definida en la ecuación (3.4) y modela el
ruido presente en las mediciones.
La función no lineal f en la ecuación diferencial (3.51) relaciona el estado en el paso
de tiempo previo k − 1 con el estado en el paso de tiempo actual k . uk es una entrada de
control conocida. La función no lineal h en la ecuación de mediciones (3.52) relaciona el
estado xk con la medición zk , y el ruido vk .
56
La variable aleatoria que modela el sistema es re-escrita como la concatenación del
estado original con las variables de ruido:
⎡ xk ⎤
x = ⎢⎢ wk ⎥⎥
⎢⎣ vk ⎥⎦
a
k
(3.53)
Entonces se seleccionan los puntos sigma en esta nueva variable aleatoria
aumentada, xka , para calcular la matriz sigma correspondiente, χ ka , y así obtener la media y
covarianza de las distribuciones a posteriori, con las cuales se construye la estimación. El
algoritmo completo se muestra a continuación
1. Se introduce al filtro el estimado inicial del estado junto con su covarianza x̂0 , P0
2. Se forma el estimado inicial aumentado xˆ0a a través de la concatenación del
estimado inicial x̂0 con vectores cero de dimensiones iguales a las de los términos
de ruido.
⎡ xˆ0 ⎤
⎢ ⎥
xˆ = ⎢ 0 ⎥
⎢0⎥
⎣ ⎦
a
0
(3.54)
3. Se forma la covarianza del estimado inicial aumentado, por medio de la matriz
diagonal
⎡ P0
P = ⎢⎢ 0
⎢⎣ 0
a
0
0⎤
Q 0 ⎥⎥
0 R ⎥⎦
0
(3.55)
donde Q es la matriz de covarianza del ruido de proceso, de acuerdo a (3.3), y R es
la matriz de covarianza del ruido en las mediciones, de acuerdo a (3.4)
4. Se calcula la matriz χ ka−1 de puntos sigma de la estimación del vector de estado
χ ka−1 = ⎡ xˆka−1 xˆka−1 + γ Pka−1
⎣
xˆka−1 − γ Pka−1 ⎤
⎦
(3.56)
donde γ = L + λ y L es la dimensión del vector de estado aumentado.
Cada vector sigma está formado por los términos correspondientes al estado del
sistema concatenados con los términos correspondientes a las variables de ruido w y
v , es decir
57
⎡ χ kx−1 ⎤
⎢
⎥
χ ka−1 = ⎢ χ kw−1 ⎥
⎢ χ kv−1 ⎥
⎣
⎦
Actualización en el tiempo.
5. Se proyecta el estado hacia delante por medio de la función no lineal que describe el
proceso.
χ ik,k |k −1 = f ( χ ix,k −1 , uk −1 , χ iw,k −1 )
(3.57)
donde χ ix,k −1 son los términos del i-ésimo vector sigma en la matriz de puntos sigma,
que corresponden al estado del sistema; y χ iw,k −1 son los términos del i-ésimo vector
sigma que corresponden a las variables de ruido.
6. Se calcula el estimado a priori del estado del sistema a través de la suma pesada de
los puntos sigma transformados
2L
xˆk− = ∑ Wi ( m ) χ ix, k |k −1
(3.58)
i =0
donde los pesos Wi ( m ) se calculan de acuerdo a (3.50)
7. Se calcula la covarianza a priori asociada con (3.58)
2L
Pk− = ∑ Wi ( c ) ⎡⎣ χ ix, k |k − a − xˆk− ⎤⎦ ⎡⎣ χ ix,k |k − a − xˆk− ⎤⎦
T
(3.59)
i =0
Actualización de mediciones.
8. Se transforman los puntos sigma de acuerdo a la función h que relaciona las
mediciones con el estado del sistema
Z i , k |k −1 = h( χ ix,k |k −1 , χ iw,k |k −1 )
(3.60)
9. Se calcula la predicción de las mediciones
2L
zˆk− = ∑ Wi ( m ) Z i , k |k −1
i =0
58
(3.61)
10. Se calcula la covarianza de la predicción de las mediciones
2L
Pzk zk = ∑ Wi ( c ) ⎡⎣ Z i , k |k −1 − zˆk− ⎤⎦ ⎡⎣ Z i , k |k −1 − zˆk− ⎤⎦
T
(3.62)
i =0
2L
Pxk zk = ∑ Wi ( c ) ⎡⎣ χ i , k |k −1 − xˆk− ⎤⎦ ⎡⎣ Z i ,k |k −1 − zˆk− ⎤⎦
T
(3.63)
i =0
11. Se calcula la ganancia que minimice el error de estimación
K k = Pxk zk Pz−k 1zk
(3.64)
12. Se calcula el estimado a posteriori
xˆk = xˆk− + K k ( zk − zˆk− )
(3.65)
donde zk es la medición realizada.
13. Calcular la covarianza a posteriori
Pk = Pk− − K k Pzk zk K kT
El esquema completo de operación del UKF se resume en la Figura 8.
59
(3.66)
Actualización en el tiempo (Predicción)
Calcular los puntos sigma
χ ka−1 = ⎡ xˆka−1 xˆka−1 + γ Pka−1 xˆka−1 − γ Pka−1 ⎤
⎣
⎦
Actualización de mediciones (Corrección)
Predecir las mediciones
Z i , k |k −1 = h( χ ix,k |k −1 , χ iv, k |k −1 )
2L
zˆk− = ∑ Wi ( m ) Z i ,k |k −1
i =0
Predecir el estado del sistema
χ ik,k |k −1 = f ( χ ix,k −1 , uk −1 , χ iw,k −1 )
Calcular la covarianza de la predicción de
mediciones
2L
xˆk− = ∑ Wi ( m ) χ ix, k |k −1
2L
i =0
2L
P = ∑ Wi
i =0
(c)
⎡⎣ χ
x
i , k |k − a
− xˆ ⎤⎦ ⎡⎣ χ
−
k
T
Pxk zk = ∑ Wi ( c ) ⎡⎣ χ i ,k |k −1 − xˆk− ⎤⎦ ⎡⎣ Z i , k |k −1 − zˆk− ⎤⎦
T
i =0
2L
Calcular la covarianza a priori
−
k
Pzk zk = ∑ Wi ( c ) ⎡⎣ Z i ,k |k −1 − zˆk− ⎤⎦ ⎡⎣ Z i ,k |k −1 − zˆk− ⎤⎦
i =0
x
i , k |k − a
− T
k
− xˆ ⎤⎦
Calcular la ganancia de Kalman
K k = Pxk zk Pz−k 1zk
Actualizar el estimado con la medición
xˆk = xˆk− + K k ( zk − zˆk− )
Estado
aumentado,
Covarianza
aumentada
Estimaciones
iniciales xˆ0 , P0
Figura 8. Operación del UKF
No es necesario ningún cálculo explícito de las matrices Jacobianas o Hessianas
para implementar este algoritmo, lo que lo hace más eficiente respecto al EKF, tanto en
diseño como en tiempo de ejecución. La complejidad computacional de este algoritmo es
la misma que la del EKF, de orden L3 , donde L es la dimensión del estado.
Si tanto el ruido del proceso como el de las mediciones son puramente aditivos, no
es necesario aumentar con las variables que representan el ruido la variable aleatoria que
representa el estado del sistema. Esto reduce la dimensión de los puntos sigma y el número
total de puntos sigma utilizados, lo cual repercute positivamente en la velocidad del
algoritmo.
La matriz raíz cuadrada utilizada para la formación de los puntos sigma puede
implementarse recursivamente de forma eficiente a través de la actualización de factores de
Cholesky.
60
Derivación de la transformación Unscented
Sea x una variable aleatoria afectada por una variable de ruido δ x con media cero
y covarianza Px . Sea f ( x) una transformación no lineal sobre la variable aleatoria x . Si
expandimos en series de Taylor la transformación no lineal f ( x) alrededor de x ,
obtenemos:
⎡ (δ xi∇ x ) n f ( x) ⎤
f ( x) = f ( x + δ x) = ∑ ⎢
⎥
n!
n=0 ⎣
⎦ x= x
∞
(3.67)
Si definimos el operador Dδ x f como:
Dδnx f
⎡⎣ (δ xi∇ x ) n f ( x) ⎤⎦
x= x
(3.68)
Así, la expansión en series de Taylor de la transformación no lineal y = f ( x) puede ser
escrita como:
y = f ( x) = f ( x ) + Dδ x f +
1 2
1
Dδ x f + Dδ3x f + …
2
3!
(3.69)
La media de y está dada por:
y = E[ y ] = E[ f ( x)]
1
⎡
⎤
= E ⎢ f ( x ) + Dδ x f + Dδ2x f + …⎥
2
⎣
⎦
(3.70)
(3.71)
Si se asume que x es una variable aleatoria simétricamente distribuida2, entonces
todos los momentos impares son cero. Debido a esto la media puede ser reducida a
1
1
⎡1
⎤
y = f ( x ) + [(∇T Px∇) f ( x)]x = x + E ⎢ Dδ4x f + Dδ6x f + …⎥
2
6!
⎣ 4!
⎦
(3.72)
Además,
E[δ xδ xT ] = Px .
La ecuación (3.72) es considerada como la media verdadera de la transformación y = f ( x)
siempre y cuando el número de términos tienda a infinito.
2
Como las distribuciones Gaussianas y t-Student, entre otras
61
La transformación Unscented calcula la media a posteriori de los puntos sigma
propagados a través la ecuación (3.48).
Los puntos sigma están dados por:
χ i = x ± ( L + λσ i = x ± σ i
Donde σ i denota la i-esima columna de la matriz raíz cuadrada de Px . Esto implica que
L
∑ (σ σ ) = P
i =1
i
T
i
x
La cual es la definición de matriz raiz cuadrada.
Dada esta formulación de los puntos sigma, podemos escribir de nuevo la
propagación de cada punto a través de la función no lineal como una expansión en series de
Taylor alrededor de loa media x
Yi = f ( χ i ) = f ( x ) + Dσ i f +
1 2
1
1
Dσ i f + Dσ3i f + Dσ4i f + …
2
3!
4!
Usando la ecuación (3.48), la media predicha por la transformación Unscented es la suma
pesada de las transformaciones de cada punto sigma, es decir:
yUT =
λ
L+λ
f (x ) +
= f (x ) +
2L
1
1
1
1
f ( x ) + Dσ i f + Dσ2i f + Dσ3i f + Dσ4i f + …
∑
2( L + λ ) i =1
2
3!
4!
2L
1
1 2
1 3
1 4
⎛
⎞
∑
⎜ Dσ i f + Dσ i f + Dσ i f + Dσ i f + … ⎟
2( L + λ ) i =1 ⎝
2
3!
4!
⎠
Dado que todos los puntos sigma están distribuidos simétricamente alrededor de x ,
todos los momentos estadísticos impares son cero. Así la ecuación se simplifica
yUT = f ( x ) +
2L
1
1 4
1 6
⎛1 2
⎞
∑
⎜ Dσ i f + Dσ i f + Dσ i f + … ⎟
2( L + λ ) i =1 ⎝ 2
4!
6!
⎠
y dado que el primer término dentro de la sumatoria puede escribirse como:
62
(
)
2L
2L
1
1 2
1
⎤
T ⎡
(∇f ) ⎢ ∑ L + λσ iσ iT L + λ ⎥ (∇f )
Dσ i f =
∑
2( L + λ ) i =1 2
2( L + λ )
⎣ i =1
⎦
L+λ
⎡ 2L
⎤
=
(∇f )T ⎢ ∑ σ iσ iT ⎥ (∇f )
2( L + λ )
⎣ i =1
⎦
=
1
⎡⎣(∇T Px ∇) f ( x) ⎤⎦
x= x
2
La media predicha se puede simplificar aún mas:
2L
1
1
1 6
⎛1 4
⎞
yUT = f ( x ) + [(∇T Px ∇) f ( x)]x = x +
∑
⎜ Dσ i f + Dσ i f + … ⎟
2
2( L + λ ) i =1 ⎝ 4!
6!
⎠
(3.73)
Cuando comparamos la ecuación (3.72) que denota la media verdadera, con la ecuación
(3.73) que denota la media calculada por la transformación, podemos ver claramente que
ambas coinciden exactamente hasta los términos de tercer orden, y que los errores son
introducidos en los términos de cuarto o más orden. La magnitud de esos errores depende
de la elección del parámetro de escala λ así como las derivadas de alto orden de f.
La verdadera covarianza a posteriori está dada por
Py = E[( y − y )( y − y )T ] = E[ yyT ] − yy T
(3.74)
Donde el valor esperado es tomado sobre la distribución de y . Sustituyendo las
ecuaciones (3.69) y (3.71) en la ecuación (3.74), y recordando que todos los momentos
estadísticos impares de la variable de ruido δ x son cero debido a la simetría, podemos
escribir la covarianza a posteriori verdadera como
1
[(∇T Px ∇) f ( x)][(∇T Px∇) f ( x)]T }
{
x= x
4
T
⎡∞ ∞ 1 i
⎤ ⎡∞ ∞
⎤
1
i
+ E ⎢ ∑∑
Dδ x f Dδ x f ⎥ − ⎢ ∑∑
E[ Dδ2xi f ]E[ Dδ2xj f ]T ⎥
⎦
⎣⎢ i =1 j =1 i ! j !
⎦⎥ ⎣ i =1 j =1 (2i )!(2 j )!
Py = Ax Px AxT −
(
)
(3.75)
donde Ax es la matriz Jacobiana de f ( x) evaluada en x .
Utilizando un enfoque similar al utilizado para derivar las ecuaciones de la media a
posteriori, encontramos que la covarianza a posteriori que calcula la transformación
Unscented está dada por
63
{
}
T
1
⎡⎣(∇T Px ∇) f ( x) ⎤⎦ ⎡⎣(∇T Px∇) f ( x) ⎤⎦
4
x= x
2L ⎛ ∞ ∞
⎞
1
1 i
Dσ k f ( Dσjk f )T ⎟
+
⎜ ∑∑
∑
2( L + λ ) k =1 ⎝ i =1 j =1 i ! j !
⎠
2L 2L
⎡∞ ∞
⎤
1
D 2i f ( Dσ2kj f )T ⎥
− ⎢ ∑∑
2 ∑∑ σ k
⎣ i =1 j =1 (2i )!(2 j )!4( L + λ ) k =1 m =1
⎦
( Py )UT = Ax Px AxT −
(3.76)
Si comparamos las ecuaciones (3.75) y (3.76) se puede observar que los primeros
dos términos en la covarianza calculada a través de la transformación Unscented son los
mismos que los términos de la covarianza verdadera, y que los errores se generan en los
momentos de cuarto o mayor orden.
Filtro de múltiples Modelos interactuantes IMM
En ocasiones el comportamiento del fenómeno al que le aplicamos un filtro puede
coincidir con diferentes modelos en distintos pasos de tiempo. Debido a que este proceso es
muy difícil de representar con un solo modelo de maniobras, es necesario utilizar varios
filtros con distintos modelos de movimiento. Por ejemplo, la trayectoria de una aeronave
puede ser dividida en dos categorías, sin maniobras y con maniobras. Durante el tiempo que
la aeronave tenga una trayectoria libre de maniobras, lo mas adecuado es utilizar un filtro
que contenga un modelo lineal; mientras que en la fase de maniobras, es mejor utilizar un
filtro que se adecue a este tipo de movimiento, tal como el CT. Un filtro que incluye un
conjunto de posibles modelos a los que se puede ajustar el fenómeno observado, se conoce
como Filtro de múltiples modelos interactuantes o IMM por sus siglas en inglés.
En el enfoque basado en múltiples modelos se asume que el sistema obedece uno de
un número finito de modelos. Tales sistemas son llamados híbridos, y contienen tanto
incertidumbre continua, debida al ruido que afecta al sistema; como incertidumbre discreta,
debida a la incertidumbre del modelo que se debe utilizar.
La idea básica detrás de todos los enfoques basados en múltiples modelos es
determinar cual de los modelos es el que mejor se ajusta al comportamiento actual del
objetivo. La elección del modelo está basada en que las maniobras son típicamente
desviaciones abruptas del movimiento en línea recta, y a través de la regla de Bayes y los
residuos es posible determinar las probabilidades relativas de la validez de cada uno de los
modelos.
Se inicia con las probabilidades de que el sistema se encuentre en un modo en
particular, es decir las probabilidades a priori de que cada modelo sea el correcto, y se
obtienen las correspondientes probabilidades a posteriori. De acuerdo a las probabilidades
a posteriori se calcula el estimado correcto.
64
En la mayoría de los sistemas la salida es mezclada, es decir está compuesta por la
sumatoria de los resultados obtenidos por cada uno de los filtros, pesados de acuerdo a sus
probabilidades de validez. En algunos otros se toma solamente la salida del filtro que tiene
la mayor probabilidad de ser el correcto.
Estimador de múltiples modelos estático
Consideremos primero el caso en que el modelo que obedece el sistema es fijo, es
decir que no existen cambios de un modo a otro durante el proceso de estimación. El
modelo que rige por completo el proceso, es uno de r posibles modelos
M ∈ {M j }
r
(3.77)
j =1
La probabilidad a priori de que el modelo M j sea el correcto, es decir que el
sistema se encuentre en el modo j de operación, es
P {M j | Z 0 } = µ j (0)
j = 1,… r
(3.78)
donde Z 0 es la información o medición a priori.
Dado que el modelo correcto debe estar entre los r posibles modelos que se
asumieron, las probabilidades en (3.78) deben cumplir
r
∑ µ (0) = 1
j =1
j
(3.79)
Al inicio del algoritmo, se ponen a trabajar en paralelo los r filtros, cada uno
correspondiente a un modelo o modo, generando sus respectivos valores de estado,
covarianza de la estimación, innovación, y covarianza de la innovación. La salida de cada
filtro es el estimado del estado condicionado en el modo xˆ j y su covarianza asociada P j , a
partir de los cuales se calcula la función de verosimilitud, Λ j , del modo.
La probabilidad de cada modo de ser correcto está basada en la comparación de la
función de verosimilitud (3.82) de cada filtro, con las funciones de verosimilitud de los
r − 1 filtros restantes. De acuerdo al teorema de Bayes, la probabilidad a posteriori del
modelo j de ser correcto, dado el conjunto de mediciones hasta el tiempo k, está dado por la
recursión
65
µ j (k ) P {M j | Z k } = P {M j | z (k ), Z k −1}
=
=
p ⎡⎣ z (k ) | Z k −1 , M j ⎤⎦ P {M j | Z k −1}
p ⎡⎣ z (k ) | Z k −1 ⎤⎦
(3.80)
p ⎡⎣ z (k ) | Z k −1 , M j ⎤⎦ P {M j | Z k −1}
r
∑ p ⎡⎣ z (k ) | Z
k −1
i =1
, M i ⎤⎦ P {M i | Z k −1}
la cual puede reescribirse como
µj =
p ⎡⎣ z (k ) | Z k −1 , M j ⎤⎦ µ j (k − 1)
r
∑ p ⎡⎣ z (k ) | Z k −1 , M i ⎤⎦ µi (k − 1)
j = 1,… r
(3.81)
i =1
Donde el primer término en el numerador de la ecuación (3.81) es la función de
verosimilitud del modo j en el tiempo k. Si suponemos que los modelos de transición son
lineales y presentan una distribución Gaussiana, la función de verosimilitud puede
escribirse como:
Λ j (k )
p ⎡⎣ z ( k ) | Z k −1 , M j ⎤⎦ = p ⎡⎣v j (k ) ⎤⎦ = N ⎡⎣v j (k );0, S j (k ) ⎤⎦
(3.82)
Donde v j y S j son la inovación y la covarianza de la inovación del filtro
correspondiente al modo j.
Si los modelos de los filtros no son lineales, o presentan distribuciones distintas a
las Gaussianas, aún es posible utilizar la función (3.82), aunque solamente es una
aproximación a la función real. Cuando el fenómeno observado es no lineal, es posible
utilizar filtros EKF ó UKF en lugar de filtros Kalman, aunque ello puede llevar a introducir
errores, causados tanto por el filtro como por lo aproximación que implicaría la ecuación
(3.82).
Las probabilidades de cada modo de ser correcto se utilizan para mezclar los
estimados de cada filtro y producir un estimado combinado junto con su covarianza
asociada, los cuales representan la estimación final.
Bajo las condiciones Gaussianas asumidas, la combinación de los estimados
calculados por cada uno de los filtros es una mezcla Gaussiana con r términos, y se calcula
de acuerdo a la siguiente ecuación
r
xˆ (k | k ) = ∑ µ j (k ) xˆ j (k | k )
j =1
66
(3.83)
La covarianza del estimado combinado es
{
r
P (k | k ) = ∑ µ j (k ) P j (k | k ) + ⎡⎣ xˆ j (k | k ) − xˆ (k | k ) ⎤⎦ ⎡⎣ xˆ j ( k | k ) − xˆ ( k | k ) ⎤⎦
j =1
T
}
(3.84)
donde el término que aparece entre llaves representa la dispersión del estimado respecto a
la media.
Las ecuaciones (3.83) y (3.84) son exactas si el modelo correcto se encuentra dentro
del conjunto de modelos considerado y durante toda la observación del fenómeno se
conserva el mismo modo de operación. Si esta última condición no se cumple, el estimador
de múltiples modelos estático no funcionará de forma adecuada, por lo que se requiere de la
utilización de un filtro en el que se consideren los saltos entre modelos, tal como el filtro
IMM.
La operación del estimador se ilustra en la Figura 9, donde puede observarse que se
trata de un diseño modular, dado que es posible añadir nuevos filtros para considerar
nuevos modos de operación.
xˆ(0 | 0), P(0 | 0)
xˆ(0 | 0), P(0 | 0)
z (k )
Filtro
z (k )
M1
xˆ1 ( k | k ), P1 ( k | k )
2
2
xˆ ( k | k ), P ( k | k )
Λ 2 (k )
Actualización
de probabilidad
de Modo
M2
xˆ 2 ( k | k ), P 2 ( k | k )
xˆ1 ( k | k ), P1 ( k | k )
Λ1 (k )
Filtro
µ (k )
µ (k )
Combinación del
estimado del estado
y su covarianza
xˆ( k | k ), P ( k | k )
Figura 9
Filtro IMM
Si el sistema atraviesa transiciones de un modo a otro en el transcurso del tiempo, el
estimador resultante es un estimador de múltiples modelos dinámico. En este estimador los
estimados y las matrices de covarianza de los distintos filtros son combinados de acuerdo a
un modelo Markoviano para realizar la transición entre los filtros.
67
El estimador IMM, es un estimador de múltiples modelos dinámicos que calcula los
estimados en el tiempo k para cada filtro, y los retroalimenta con una combinación
conocida como condición inicial de mezcla de los estimados previos.
Para determinar el modelo de Markov que rige los saltos de un modelo a otro, se
asume que en cada tiempo existe una probabilidad Pij de que el objetivo haga una
transición del modelo i al j. Esas probabilidades deben conocerse a priori, y se expresan en
una matriz de probabilidades de transición como la mostrada en (3.85).
⎡ P11
PT = ⎢⎢ P21
⎢⎣ P31
P12
P22
P32
P13 ⎤ ⎡ 0.80 0.10 0.10 ⎤
P23 ⎥⎥ = ⎢⎢ 0.10 0.60 0.30 ⎥⎥
P33 ⎥⎦ ⎢⎣ 0.15 0.05 0.80 ⎥⎦
(3.85)
La matriz de transición (3.85) es un ejemplo que representa el siguiente conjunto de
estados:
•
•
•
Estado 1: Objetivo sin maniobras
Estado 2: Representa el cambio abrupto entre la trayectoria de un objetivo sin
maniobras, y un objetivo con maniobras
Estado 3: Representa una maniobra, por ejemplo una aeronave dando vuelta.
Nótese que la suma de las probabilidades de transición para cualquier estado en
particular debe ser uno. Así, para todos los modelos i:
r
∑P
j =1
ij
=1
(3.86)
Al igual que en el estimador de múltiples modelos estático, el modelo que rige el
proceso, se encuentra dentro de un conjunto de r posibles modelos
M ∈ {M j }
r
(3.87)
j =1
y la probabilidad a priori de que el modelo M j sea el correcto es
P {M j | Z 0 } = µ j (0)
j = 1,… r
(3.88)
Para la derivación de este algoritmo se aplica el teorema de la probabilidad total con
el objetivo de obtener r filtros corriendo en paralelo:
68
r
p ⎡⎣ x(k ) | Z k ⎤⎦ = ∑ p ⎡⎣ x(k ) | M j (k ), Z k ⎤⎦ P {M j (k ) | Z k }
j =1
r
= ∑ p ⎡⎣ x(k ) | M j (k ), z (k ), Z
j =1
(3.89)
k −1
⎤⎦ µ j (k )
donde µ j (k ) es calculada de acuerdo a (3.81)
La distribución a posteriori del estado, condicionada en el modelo, está dada por
p[ x(k ) | M j (k ), z (k ), Z k −1 ] =
p ⎡⎣ z (k ) | M j (k ), x(k ) ⎤⎦
p ⎡⎣ z (k ) | M j (k ), Z
k −1
⎤⎦
p ⎡⎣ x(k ) | M j (k ), Z k −1 ⎤⎦
(3.90)
la cual refleja un ciclo de la estimación del estado del filtro que corresponde al modelo
M j (k ) comenzando con la distribución a priori, correspondiente al último término en
(3.90).
Si se aplica el teorema de la probabilidad total al último término, se obtiene
r
p ⎡⎣ x(k ) | M j (k ), Z k −1 ⎤⎦ = ∑ p ⎡⎣ x(k ) | M j (k ), M i (k − 1), Z k −1 ⎤⎦P {M i (k − 1) | M j (k ), Z k −1}
i =1
r
r
≈ ∑ p ⎡⎢ x(k ) | M j (k ), M i (k − 1), { xˆ l (k − 1| k − 1), P l (k − 1| k − 1)} ⎤⎥µi| j (k − 1| k − 1)
l =1 ⎦
⎣
i =1
(3.91)
r
= ∑ p ⎡⎣ x(k ) | M j (k ), M i (k − 1), xˆ i (k − 1| k − 1), P i (k − 1| k − 1) ⎤⎦µi| j (k − 1| k − 1)
i =1
En (3.91) se puede observar que la aproximación del fenómeno hasta el tiempo k − 1
está resumida por los r estimados y covarianzas calculadas para cada modo. La última línea
es una mezcla con pesos, denotada como µi| j (k − 1| k − 1) , la cual es diferente para cada
modelo M j (k ) . Se asume que esta mezcla es una mezcla de densidades Gaussianas y por
ello es aproximada también a través de una distribución Gaussiana.
La entrada al filtro que corresponde al modelo j es obtenida de la interacción de los
r filtros, la cual consiste en la mezcla de los estimados xˆi (k − 1| k − 1) con las
probabilidades que los pesan µi| j (k − 1| k − 1) , llamadas las probabilidades de mezcla.
69
xˆ1 ( k − 1| k − 1), P1 (k − 1| k − 1)
xˆ 2 ( k − 1| k − 1), P 2 (k − 1| k − 1)
Interacción / Mezcla
xˆ 01 ( k − 1| k − 1), P 01 ( k − 1| k − 1)
z (k )
Filtro
Λ1 (k )
M1
xˆ 02 (k − 1| k − 1), P 02 (k − 1| k − 1)
Filtro
z (k )
xˆ 2 ( k | k ), P 2 ( k | k )
xˆ1 ( k | k ), P1 ( k | k )
Λ1 (k )
Λ2(k)
Λ 2 (k )
M2
Actualización de
probabilidad de
Modo. Cálculo
Probabilidad de
mezcla
xˆ1 ( k | k ), P1 ( k | k )
µ (k | k )
xˆ 2 ( k | k ), P 2 ( k | k )
µ (k )
µ (k )
Combinación del
estimado del estado
y su covarianza
xˆ( k | k ), P ( k | k )
El primer paso en el algoritmo del filtro consiste en el calculo de las probabilidades de
mezcla . La probabilidad de mezcla es la probabilidad de que el fenómeno se comporte de
acuerdo al modo M i en el tiempo k − 1 si M j está en efecto en el tiempo actual k
condicionado en las mediciones del tiempo anterior Z k −1 . Las probabilidades de mezcla
para i, j = 1,… r se calculan de acuerdo a
µi| j (k − 1| k − 1)
P {M i (k − 1) | M j (k ), Z k −1} =
1
P {M i (k − 1) | Z k −1}
cj
(3.92)
donde las constantes de normalización c j son
r
c j = ∑ pij µi (k − 1)
i, j = 1,… r
(3.93)
i =1
Las probabilidades de mezcla calculadas en el paso anterior son utilizadas para generar las
condiciones iniciales con las que se alimentarán los filtros. Estas condiciones iniciales
constituyen una mezcla de las estimaciones de todos los filtros en el tiempo anterior. Para
cada uno de los filtros j, con j = 1,… r , se calcula la condición inicial mezclada para el
filtro correspondiente al modo de operación M j (k ) de acuerdo a
70
r
xˆ 0 j (k − 1| k − 1) = ∑ xˆ i (k − 1| k − 1) µi| j (k − 1| k − 1)
j = 1,… r
(3.94)
i =1
La covarianza asociada con la estimación inicial mostrada en la ecuación anterior se calcula
de acuerdo a:
r
P 0 j (k − 1| k − 1) = ∑ µi| j (k − 1| k − 1) P i (k − 1| k − 1) +
i =1
⎡⎣ xˆ (k − 1| k − 1) − xˆ (k − 1| k − 1) ⎤⎦ ⎡⎣ xˆ i (k − 1| k − 1) − xˆ 0 j (k − 1| k − 1) ⎤⎦
Para j = 1,… r
i
0j
T
(3.95)
Las estimaciones mezcladas iniciales calculadas en (3.94) y su covarianza asociada (3.95)
son utilizados como entrada para el filtro correspondiente al modo M j (k ) . Después de
realizar los cálculos basándose en la medición actual z (k ) , cada filtro presenta su
estimación xˆ j (k | k ) y la covarianza P j (k | k ) asociada con la misma.
Una vez que todos los filtros obtienen sus estimaciones y covarianzas se procede al cálculo
de las funciones de verosimilitud Λ j (k ) correspondientes a los r filtros. El cálculo de éstas
se realiza de acuerdo a (3.96) tomando como base la condición inicial de mezcla de la
ecuación (3.94) y su covarianza asociada (3.95).
Λ j (k ) = p[ z (k ) | M j (k ), xˆ 0 j (k − 1| k − 1), P 0 j (k − 1| k − 1)]
Para j = 1,… r
(3.96)
Para cada filtro se actualiza la probabilidad µ j (k ) de que el j-ésimo modo sea el correcto
de acuerdo a
1
c
µ j ( k ) = Λ j ( k )c j
j = 1,… r
(3.97)
donde c j es
r
c j = ∑ pij µi (k − 1)
i, j = 1,… r
i =1
y el factor de normalización c es
r
c = ∑ Λ j ( k )c j
(3.98)
j =1
Finalmente se realiza la combinación de los estimados arrojados por cada uno de los filtros
y su covarianza asociada. La combinación se realiza de acuerdo a la probabilidad de ser
correcto que se calculó para cada modo. Este paso no constituye un paso del algoritmo
71
IMM, solamente es un paso en el que se obtiene un valor final combinado para efectos de
salida. Las ecuaciones utilizadas para esta combinación son
r
xˆ (k | k ) = ∑ xˆ j (k | k ) µ j (k )
(3.99)
P (k | k ) = ∑ µ j (k ) { P j (k | k ) + [ xˆ j (k | k ) − xˆ (k | k )][ xˆ j ( k | k ) − xˆ ( k | k )]T }
(3.100)
j =1
r
j =1
Elección de las probabilidades de transición de Markov.
Los valores de la matriz (3.85) pueden ser tomados basándose en el conocimiento
previo del objetivo, o bien pueden ser elegidos a través del procedimiento que se describe a
continuación.
La tasa de cambio de las probabilidades de cada filtro, es modelada a través de la
ecuación de flujo
dµ
= Aµ
(3.101)
dt
Donde A es la matriz de transición de probabilidad. Dado el vector inicial de
probabilidad, µ (t0 ) , la solución a la ecuación (3.101) para el vector de probabilidad
µ (t0 + ∆t ) en el intervalo de tiempo T es
µ (t0 + T ) = e( AT ) µ (t0 ) = PT′ (T ) µ (t0 )
(3.102)
Así, dependiendo de los elementos de la matriz de flujo A, la matriz de transición de
Markov PT′ (T ) es
PT′ (T ) = e AT
(3.103)
Para definir la relación de Markov de (3.102), PT′ (T ) debe ser la transpuesta de la
matriz de probabilidades de transición definida arriba.
Existen distintos métodos para obtener las soluciones prácticas para PT′ (T ) , uno de
los cuales está basado en elegir un tiempo de estancia τ i para cada modelo. Usando esto,
los elementos en la diagonal de la matriz A están dados por
Aii = −
72
1
τi
(3.104)
Los elementos positivos fuera de la diagonal de A se escogen de forma que la suma
de las columnas sea igual a cero. Esta restricción asegura que la probabilidad se conserve.
Como un ejemplo, para un sistema de tres modelos, los resultados para un intervalo
de muestreo de 4 segundos (T = 4) con los tiempos de estancia
τ 1 = 23s τ 2 = 7 s τ 3 = 16s
La matriz de flujo A es
⎡ −0.044 0.067 0.026 ⎤
A = ⎢⎢ 0.015 −0.136 0.036 ⎥⎥
⎢⎣ 0.029 0.069 −0.062 ⎥⎦
(3.105)
Por lo que de acuerdo a la ecuación (3.103) una matriz de transición de Markov
apropiada sería
⎡ 0.85 0.20 0.10 ⎤
PT′ (4sec) = ⎢⎢ 0.05 0.60 0.10 ⎥⎥
⎢⎣0.10 0.20 0.80 ⎥⎦
Predicción
Predicción es la estimación del estado de un proceso en el tiempo j , que se
encuentra adelante del intervalo de datos obtenidos. Basándose en los datos obtenidos hasta
un tiempo k < j
xˆ ( j | k ) = E[ x( j ) | Z k ]
(3.106)
Existen varios tipos de predicción:
• Predicción de punto fijo. Este tipo de predicción es realizada hasta el punto j = N
que se encuentra fijo en el tiempo, basándose en los datos obtenidos hasta el tiempo
k, donde k es el instante de tiempo actual.
•
Predicción de adelanto fijo. En este tipo de predicción se escoge un número fijo L
de pasos adelante del tiempo actual en el que se desea obtener la predicción, es decir
j = k + L , donde k es el tiempo actual.
•
Predicción de intervalo fijo. Ésta es realizada basándose en los datos obtenidos en
el intervalo fijo hasta el tiempo k = N , y predecir el estado del sistema para los
tiempos sucesivos j = N + 1, j = N + 2,…
73
Predicción de punto fijo
Para la predicción de punto fijo, el estado del sistema hasta el tiempo fijo N desde el
tiempo k es
N −1 ⎡ N − i − 2
⎡ ⎡ N − k −1
⎤
⎤
⎤
xˆ ( N | k ) = E ⎢ ⎢ ∏ F ( N − 1 − j ) ⎥ x(k ) + ∑ ⎢ ∏ F ( N − 1 − j ) ⎥ w(i ) | Z k ⎥
i =k ⎣ j =0
⎢⎣ ⎣ j =0
⎥⎦
⎦
⎦
⎡ N − k −1
⎤
= ⎢ ∏ F ( N − 1 − j ) ⎥ xˆ (k | k )
⎣ j =0
⎦
(3.107)
donde w(i ) es el ruido del proceso y F es la función que gobierna la transición del estado
del tiempo k al tiempo k + 1 .
Dado que el ruido w del proceso es ruido blanco con media cero, su valor esperado
es cero, por lo que (3.107) puede ser re-escrita como
⎡ N − k −1
⎤
xˆ ( N | k ) = ⎢ ∏ F ( N − 1 − j ) ⎥ [ F (k − 1) xˆ (k − 1| k − 1) + Q(k ) ]
⎣ j =0
⎦
(3.108)
La cual se convierte en la recursión
⎡ N − k −1
⎤
xˆ ( N | k ) = xˆ ( N | k − 1) + ⎢ ∏ F ( N − 1 − j ) ⎥ Q (k )
⎣ j =0
⎦
(3.109)
Si consideramos a
E[ xˆ ( N | i ) | Z k ] = xˆ ( N | k )
∀i > k
(3.110).
como el valor predicho en el tiempo k de la predicción disponible en el tiempo posterior i,
entonces la covarianza asociada con la ecuación de predicción de estado (3.109) se puede
calcular de acuerdo a
E[[ xˆ ( N | i ) − xˆ ( N | k )][ xˆ ( N | k )]T | Z k ] = P( N | k ) − P ( N | i )
∀i > k
Predicción de adelanto fijo
De forma similar a (3.107), la predicción de punto fijo para L pasos está dada por
74
(3.111)
⎡ L −1
⎤
xˆ (k + L) = ⎢∏ F (k + L − 1 − j ) ⎥ xˆ (k | k )
⎣ j =0
⎦
⎡ L −1
⎤
= ⎢∏ F (k + L − 1 − j ) ⎥ [ F (k − 1) xˆ (k − 1| k − 1) + Q(k ) ]
⎣ j =0
⎦
(3.112)
que se convierte en la recursión
⎡ L −1
⎤
xˆ (k + l | k ) = F (k + l − 1) xˆ (k + l − 1| k − 1) + ⎢∏ F (k + l − 1 − j ) ⎥ Q(k )
⎣ j =0
⎦
l = 1,… L
(3.113)
La covarianza asociada con la ecuación anterior de predicción del estado está dada por
P (k + l | k ) = F (k + l − 1) P(k + l − 1| k ) F (k + l − 1)T + Q(k + l − 1)
(3.114)
Predicción de intervalo fijo
El estado del sistema en la predicción de intervalo fijo se calcula de acuerdo a
xˆ ( j | N ) = F ( j − 1) xˆ ( j − 1| N )
⎡ j − N −1
⎤
= ⎢ ∏ F ( j − N − 1 − l ) ⎥ xˆ ( N | N )
⎣ l =0
⎦
j>N
(3.115)
Su covarianza asociada está dada por la ecuación
P (l | N ) = F (l − 1) P(l − 1| N ) F (l − 1)T + Q(l − 1)
75
l = N + 1,… , j
(3.116)
Capítulo IV. Resultados y Conclusiones.
En este capítulo se presentarán los resultados obtenidos a través de los filtros
•
•
•
•
Kalman
Kalman Extendido
UKF
IMM
utilizando los modelos dinámicos presentados en el Capítulo 2, en el modo filtrado y en el
modo Predicción.
Datos de entrada
Para la comparación de la eficiencia de los algoritmos se utilizaron tanto secuencias
de imágenes reales, como secuencias generadas por computadora.
Los videos utilizados para la obtención de los datos en Imágenes Reales incluyen
tres videos infrarrojos, y tres videos en el espectro visible. Mientras que los videos
utilizados en las imágenes sintéticas fueron generados por medio de Matlab.
Para la evaluación del desempeño de los filtros es necesario contar con la posición
del objetivo, y poder así calcular los valores de error correspondientes a cada uno de ellos,
tanto en predicción como en filtrado.
En el caso de los videos reales, la posición de referencia no era conocida
previamente, por lo que fue necesario calcularla a través del procedimiento que se describe
a continuación. En cada secuencia de imágenes se aplicaron 6 diferentes algoritmos de
seguimiento y se registraron las posiciones que reportó cada uno de ellos. Si alguno de los
algoritmos no fue capaz de seguir al objeto, sus resultados se omitieron, y se trabajó con el
resto de los datos. Se calculó la mediana de la posición reportada por los algoritmos de
seguimiento y con estos datos se interpoló un polinomio de grado 6, el cual fue tomado
como la posición “real” del objeto de interés.
Los algoritmos utilizados para la determinación de la posición “real” del objetivo fueron
1.
2.
3.
4.
5.
6.
SAD + Centroide
FNCMS con actualización total
FNCMS con actualización gradual
FNCMS + Centroide
SAD + Centroide + Bordes
FNCMS + Centroide + Bordes
76
En la Gráfica 1 y la Gráfica 2, correspondientes a la secuencia número uno del
presente trabajo, se pueden observar los datos obtenidos por cada uno de los algoritmos de
seguimiento, junto con la mediana y el polinomio calculados.
Para las pruebas con imágenes sintéticas se generaron siete videos correspondientes
a distintos tipos de movimiento. A cada una de estas imágenes se les añadió ruido
Gaussiano con media cero y varianza 0.01. La ventaja de utilizar este tipo de secuencias es
que se conoce exactamente la posición del objeto de interés, por lo que se obtiene una
mayor exactitud en los datos de error.
Gráfica 1. Obtención de las coordenadas de referencia para X
77
Gráfica 2. Obtención de las coordenadas de referencia para Y
Los datos de posición con los que fueron alimentados los filtros, tanto en las
imágenes reales como en las sintéticas, fueron obtenidos al aplicar a cada una de ellas un
algoritmo de seguimiento basado en Correlación, Centroide y Bordes.
Pruebas con los filtros
Los filtros utilizados en este trabajo fueron programados en Matlab y comparados
con otra implementación en C++ para verificar que los resultados obtenidos fueran
correctos.
Los filtros utilizados fueron:
•
•
•
•
•
•
Filtro Kalman Extendido con modelo dinámico de aceleración constante (EKFCA).
Filtro Kalman Extendido con modelo dinámico de giros coordinados, con
estimación de tasa de giro (EKFCT).
Filtro Kalman Extendido con modelo dinámico de velocidad constante (EKFCV).
Filtro IMM compuesto por un KFCA y un EKFCT (IMMCACT).
Filtro IMM compuesto por un KFCV y un KFCA (IMMCVCA).
Filtro IMM compuesto por un KFCV y un EKFCT (IMMCVCT).
78
•
•
•
•
•
•
Filtro Kalman con modelo dinámico de aceleración constante (KFCA).
Filtro Kalman con modelo dinámico de giros coordinados con tasa de giro conocida
(KFCT).
Filtro Kalman con modelo dinámico de velocidad constante (KFCV).
Filtro UKF con modelo dinámico de aceleración constante (UKFCA).
Filtro UKF con modelo dinámico de giros coordinados con tasa de giro conocida
(UKFCT).
Filtro UKF con modelo dinámico de velocidad constante (UKFCV).
Cada uno de ellos obtuvo los datos de posición real de los mismos archivos para
garantizar la confiabilidad de los resultados.
El tipo de predicción utilizado en los algoritmos fue el de Predicción de adelanto
fijo. Con un valor de adelanto de 10 tiempos. En el caso de los filtros IMM la predicción fue
realizada de forma individual en cada uno de los filtros, para después ser mezclada de
acuerdo a las probabilidades calculadas para cada modelo.
Presentación de los datos
Para la presentación de los resultados se generaron gráficas con los valores de error
RMS calculados para cada conjunto de datos.
Puesto que los datos de error sobre las coordenadas X e Y son independientes, y con
el fin de simplificar la presentación, las gráficas corresponden al promedio de ambos
valores.
En la versión electrónica de este trabajo se incluyen todas las graficas de los
resultados (aproximadamente 1100). En ellas se puede observar con mayor detalle los datos
que llevaron a la obtención de los resultados que se presentan en la versión impresa.
Resultados en Imágenes Reales
Secuencia 1
El primer conjunto de datos se obtuvo de una secuencia de imágenes en el espectro
infrarrojo, tomada en Coatzacoalcos, Veracruz.
El objeto de interés es una lancha rápida de tamaño mediano que describe una
trayectoria lineal de izquierda a derecha, la cual se observa en la Gráfica 3.
El objetivo a seguir no presenta obstáculos ni oclusiones y no existen objetos en el
fondo de la imagen, lo cual facilita el trabajo de los algoritmos de seguimiento.
79
Figura 10. Seguimiento del Objetivo
Gráfica 3. Trayectoria del objeto
La Gráfica 4 nos muestra los valores de error RMS obtenidos por cada uno de los
algoritmos, operando en el modo filtrado. Podemos observar que los valores de error
obtenidos por todos, excepto el UKFCT, son bastante bajos, y cercanos entre sí. Los valores
de error más bajos los obtuvieron los filtros KFCV y KFCA. El filtro UKFCT presentó un
desempeño muy deficiente, con valores de error demasiado altos.
80
Gráfica 4. Error RMS en filtrado
En la Gráfica 5 se observan los valores de error RMS obtenidos en el modo
predicción. Los valores mas bajos fueron los del KFCT, EKFCT, e IMMCVCA. El valor de
error mas alto lo produjo el filtro UKFCT, debido a la deficiencia obtenida en los valores de
filtrado, de los cuales depende la predicción.
Gráfica 5. Errores RMS en Predicción
81
Secuencia 2
El segundo conjunto de datos fue obtenido a través de una secuencia de imágenes
infrarrojas. En esta secuencia se observan dos barcos en un muelle avanzando de izquierda
a derecha a distintas velocidades. El seguimiento fue realizado sobre el barco superior,
dando como resultado la trayectoria semi-lineal de la Gráfica 6.
Debido a encontrarse en un muelle, los objetos pertenecientes al fondo llegan a
confundirse con el objeto de interés, por lo que los datos reportados por el algoritmo de
seguimiento presentan una mayor cantidad de ruido
Figura 11. Seguimiento del objetivo
Gráfica 6. Trayectoria
82
Los valores de error más bajos en el modo filtrado fueron obtenidos por los filtros
EKFCT, IMMCVCT e IMMCVCA. De nuevo, el peor desempeño lo obtuvo el UKFCT. En
la Gráfica 7 se pueden observar los resultados.
Gráfica 7. Errores RMS en filtrado
La Gráfica 8 contiene los resultados en el modo predicción de los algoritmos. Los
valores de error más bajos fueron los de los filtros EKFCT e IMMCVCA. El peor
desempeño fue el del filtro KFCA, con un valor de error de casi 230 píxeles.
Gráfica 8. Errores RMS en predicción
83
Secuencia 3
Nuestro tercer conjunto de datos se obtuvo de un video en el espectro infrarrojo. En
este video se observa la ciudad cercana al puerto, junto con los automóviles que circulan en
una de las calles.
El objeto de interés es el primer automóvil que aparece en el video, el cual describe
la trayectoria curvilínea que se muestra en la Gráfica 9. Al igual que en la Secuencia 2, el
objetivo se encuentra rodeado por muchos elementos de fondo, por lo que la variabilidad en
los datos reportados por los algoritmos de seguimiento es alta.
Figura 12. Seguimiento del objetivo
Gráfica 9. Trayectoria
84
En esta secuencia, los filtros basados en modelos de giros coordinados obtuvieron
los mejores resultados debido a la trayectoria del objeto de interés. El peor desempeño lo
presentó el UKFCT, pero esta vez los valores de error no son tan lejanos a los obtenidos por
el IMMCACT que fue el que obtuvo la mejor calificación.
Gráfica 10. Errores RMS en filtrado
En cuanto a la predicción de trayectoria, fueron los filtros EKFCT y KFCT
(basados en modelos de giros coordinados) los que obtuvieron los mejores resultados
Gráfica 11. Errores RMS en predicción
85
Secuencia 4
Los datos utilizados para la cuarta prueba de los algoritmos de filtrado fueron
obtenidos de una secuencia de imágenes en el espectro visible, tomadas en el astillero de la
Secretaría de Marina en Coatzacoalcos, Veracruz.
El objeto de interés es una lancha tipo interceptora cerca de un puente realizando
maniobras. El contraste entre el objetivo y el fondo es alto, y el tamaño en la imagen de la
lancha es mediano.
Los datos utilizados en la interpolación del polinomio de posición “real” no
incluyeron a los algoritmos de seguimiento dos y tres, puesto que ambos perdieron al
objetivo.
Figura 13. Seguimiento del objetivo
Gráfica 12. Trayectoria
86
En esta secuencia, siete de los doce filtros obtuvieron los valores de error más
pequeños en filtrado, con diferencias poco significativas entre ellos. El filtro UKFCT
continúa siendo el de peores resultados.
Gráfica 13. Errores RMS en filtrado
Debido a la cercanía de los valores de error obtenidos en el modo filtrado, los
valores de error en predicción más bajos son también muy cercanos entre sí. El filtro KFCA
vuelve a ser el de peores resultados.
Gráfica 14. Errores RMS en predicción
87
Secuencia 5
La secuencia de imágenes número cinco pertenece al espectro visible, y presenta
una lancha interceptora muy cercana a la cámara. La trayectoria descrita por la interceptora
es lineal, y de acuerdo a la Gráfica 15. El contraste entre el objetivo y el fondo es alto, y el
tamaño en la imagen de la lancha es bastante grande, llegando a ocupar en algunos
segmentos del video más de una cuarta parte del total.
El algoritmo de seguimiento tres perdió al objetivo, por lo que sus resultados no
fueron tomados en cuenta para la interpolación del polinomio de posición de referencia.
Figura 14. Seguimiento del objetivo
Gráfica 15. Trayectoria
88
Los algoritmos IMMCVCA, EKFCA, UKFCA, IMMCACT, UKFCV y EKFCT
obtuvieron los valores de error mas bajos en filtrado, entre 6.17 y 6.43 píxeles. El filtro
UKFCT continúa arrojando los peores resultados, como puede apreciarse en la Gráfica 16.
Gráfica 16. Errores RMS en filtrado
En cuanto a la predicción, los filtros UKFCT e IMMCVCT presentaron errores muy
grandes, debido a las imprecisiones que obtuvieron en el filtrado. El IMMCVCA aparece de
nuevo en esta secuencia como el mejor de los filtros en cuanto a predicción se refiere.
Gráfica 17. Errores RMS en predicción
89
Secuencia 6
El último conjunto de datos en videos reales se obtuvo por medio del video en el
espectro visible de un helicóptero volando sobre un fondo compuesto por pasto. Al tratarse
de un objetivo aéreo, la trayectoria que describe tiene cambios mucho mas rápidos que en
un objetivo terrestre. Lo anterior puede observarse en la Gráfica 18.
El contraste entre el objetivo y el fondo es bastante bajo, lo cual contribuye al
deterioro en la calidad del seguimiento.
El algoritmo cuatro perdió al objetivo, por lo que sus resultados no fueron
considerados para esta sección.
Figura 15. Seguimiento del objetivo
Gráfica 18. Trayectoria
90
Se puede observar que los errores RMS obtenidos en esta secuencia son más altos
que en las secuencias anteriores, debido a la trayectoria del objetivo, y a la baja calidad de
los datos obtenidos por el algoritmo de seguimiento con el que se alimentaron los filtros.
Gráfica 19. Errores RMS en filtrado
De acuerdo a la Gráfica 20. Errores RMS en Predicciónel filtro KFCA presenta el
peor resultado en predicción, con un error de 366 píxeles, el segundo más grande dentro de
todas las secuencias obtenidas. Por el otro lado, el filtro UKFCV es el que obtiene la
calificación más alta.
Gráfica 20. Errores RMS en Predicción
91
Resultados en Imágenes Sintéticas
Secuencia 7
En este conjunto de datos se generó un objetivo que describe una trayectoria circular
de acuerdo a la Gráfica 21. El centro del círculo se encuentra en las coordenadas (320,200),
y tiene 220 píxeles de radio. Esta secuencia cuenta con 500 imágenes en escala de grises, a
las cuales se les añadió ruido blanco con varianza 0.01.
Gráfica 21. Trayectoria
De acuerdo a la Gráfica 22 el mejor desempeño en filtrado lo alcanzaron los
algoritmos IMMCVCA, UKFCA, EKFCA, y UKFCV, con valores cercanos a 4. El peor
desempeño lo presentan el UKFCT y el EKFCV, con errores de hasta 90 píxeles.
En la Gráfica 23 se presentan el promedio de los errores RMS en el eje X y en el eje
Y. El filtro IMMCVCA presenta el valor de error más bajo, y por ende el mejor
desempeño. Los filtros KFCV, EKFCV, UKFCT, IMMCVCT y KFCA obtienen valores de
error demasiado altos, llegando hasta los 227 píxeles en el caso del KFCA.
92
Gráfica 22. Errores RMS en filtrado
Gráfica 23. Errores RMS en predicción
Secuencia 8
Los datos en esta sección corresponden a una secuencia sintética de 500 cuadros que
presenta un objetivo describiendo una trayectoria circular de acuerdo a la Gráfica 24. El
centro del círculo se encuentra en (415,320), y tiene 140 píxeles de radio. Al igual que en el
resto de las secuencias sintéticas, se le añadió ruido blanco a la imagen generada.
93
Gráfica 24. Trayectoria
La mitad de los algoritmos realizan un buen trabajo en el filtrado de los datos,
obteniendo valores de error por debajo de 3 píxeles. El mejor desempeño fue el del filtro
UKFCV con un valor de error de 2.66 píxeles.
Gráfica 25. Errores RMS en filtrado
En el modo predicción el mejor algoritmo fue de nuevo el IMMCVCA con un valor
de error de 6.4143. Los demás algoritmos obtienen valores de error bastante más altos. El
peor resultado fue el del filtro IMMCVCT que aunque obtuvo un valor de error
94
relativamente bajo en filtrado (3.88 píxeles), obtiene el valor de error mas alto en
predicción.
Gráfica 26. Errores RMS en predicción
Secuencia 9
Los datos de movimiento de esta secuencia generada por computadora corresponden
a un movimiento CT ideal de acuerdo a la ecuación (4.1), con una tasa de giro de -1.72, y
posición inicial (1,1). A cada cuadro se le añadió ruido blanco con varianza 0.01.
sin ωT
⎡
⎢1
ω
⎢
0
cos ωT
xk +1 = ⎢⎢
1 − cos ωT
⎢0
ω
⎢
⎢⎣0
sin ωT
95
cos ωT − 1 ⎤
⎥
ω
⎥
0 − sin ωT ⎥
xk
sin ωT ⎥
1
⎥
ω
⎥
0
cos ωT ⎥⎦
0
(4.1) CT Ideal
Gráfica 27. Trayectoria
A diferencia de en las secuencias anteriores, el filtro UKFCT obtuvo valores de
error relativamente bajos, debido a que la tasa de giro programada en el algoritmo era
cercana a la del objetivo real. Los valores de error más altos en filtrado fueron los de los
algoritmos lineales (KFCA, KFCT, KFCV). Aún así, los niveles de error son muy bajos
respecto a las secuencias analizadas anteriormente.
Gráfica 28. Errores RMS en filtrado
En el modo predicción se obtienen una vez más los resultados que hasta ahora se
han presentado, los algoritmos IMMCVCA y UKFCV se encuentran dentro de los primeros
tres lugares, mientras que el peor desempeño es el del KFCA.
96
Gráfica 29. Errores RMS en predicción
Secuencia 10
La secuencia generada es similar a la secuencia 9, con excepción del valor de la tasa
de giro. Contiene 500 cuadros en escala de grises, a las que se les añadió ruido gaussiano
con media cero y varianza 0.01. La trayectoria del objeto de interés corresponde a un
movimiento CT ideal3, con tasa de giro de 1.72 y posición inicial (1,1).
Gráfica 30. Trayectoria
En filtrado se obtuvieron valores de error similares a los de la secuencia 9, en la que
los mejores resultados los obtienen los filtros IMMCVCA, UKFCA, y EKFCA, mientras que
los peores lo obtienen los filtros lineales.
3
Ver la ecuación (4.1)
97
Gráfica 31. Errores RMS en filtrado
En predicción se obtuvieron los valores de error mostrados en la Gráfica 32. Errores
RMS en predicción. En ella se observa que los filtros que ocuparon las posiciones más altas
fueron los mismos que en la Secuencia 9. El filtro con peor desempeño es una vez más el
KFCA.
Gráfica 32. Errores RMS en predicción
98
Secuencia 11
Los datos de posición en esta secuencia corresponden a un objetivo que describe
405 x + 2050
, como se puede observar
una trayectoria lineal generada por el polinomio y =
610
en la Gráfica 33. A cada cuadro en la secuencia se le añadió ruido gaussiano con media
cero y varianza 0.01.
Gráfica 33. Trayectoria
En el modo filtrado, el UKFCV fue el que obtuvo los mejores resultados, con un
error de 1.63 píxeles. Mientras que el peor filtro fue el UKFCT, seguido por los filtros
lineales.
Gráfica 34. Errores RMS en filtrado
99
En el modo predicción los resultados son los esperados, los filtros con los peores
resultados son el KFCA y el UKFCT.
Gráfica 35. Errores RMS en predicción
Secuencia 12
En esta sección se generó una secuencia de 500 imágenes en escala de grises, con un
345 x + 209975
.
objetivo que presenta una trayectoria lineal que obedece a la ecuación y =
595
A cada cuadro de la secuencia se la añadió ruido blanco con varianza 0.01.
Gráfica 36. Trayectoria
100
Al igual que en la secuencia anterior, el filtro UKFCV obtuvo el valor de error RMS
promedio menor. Mientras que los filtros lineales KFCA, KFCT, y KFCV se encontraron
dentro de los peores.
Gráfica 37. Errores RMS en filtrado
En el modo predicción se presenta el valor de error RMS más grande de todas las
secuencias, obtenido por el filtro KFCA, con un valor de 367 píxeles. El mejor resultado es
obtenido de nuevo por el filtro IMMCVCA.
Gráfica 38. Errores RMS en predicción
101
Secuencia 13
El movimiento del objetivo dentro de la secuencia de imágenes generada
corresponde a un movimiento senoidal con una frecuencia de 0.05 Hz, como se puede
observar en la Gráfica 39. La secuencia cuenta con 600 cuadros a los que se les añadió
ruido gaussiano con media cero y varianza 0.01.
Gráfica 39. Trayectoria
Los valores de error promedio obtenidos al aplicar cada uno de los algoritmos en el
modo filtrado y en el modo predicción son presentados en Gráfica 40 y Gráfica 41
respectivamente.
Otra vez encontramos que el filtro UKFCV presenta el mejor comportamiento en
filtrado, con un error promedio RMS de 1.74 píxeles. Los filtros UKFCT y EKFCV fueron
los que obtuvieron los errores más altos.
Gráfica 40. Errores RMS en filtrado
102
En el modo predicción se obtienen los mejores resultados a través del filtro
IMMCVCA, mientras que los valores más altos de error son los que arroja el filtro
IMMCVCT.
Gráfica 41. Errores RMS en predicción
Secuencia 14
El último conjunto de datos de prueba corresponde a la trayectoria mostrada en la
Gráfica 42. A través de esta secuencia se trata de simular el movimiento de un objetivo
realizando maniobras evasivas. Para ello se generó una secuencia de 1640 cuadros a los que
se les añadió ruido blanco con varianza 0.01.
La trayectoria generada en esta secuencia de imágenes es interesante, puesto que
incluye dentro del mismo conjunto de datos segmentos con trayectorias lineales,
trayectorias semi-circulares, y giros coordinados.
103
Gráfica 42. Trayectoria
En esta secuencia, los filtros que utilizan múltiples modelos se encuentran dentro de
los que obtienen los resultados mas acertados en el modo filtrado. Esto resulta lógico
puesto que el tipo de movimiento que describe el objetivo se va ajustando a diferentes
modelos dinámicos de acuerdo al tiempo y por ende los filtros multimodales pueden
ajustarse mejor a los cambios de trayectoria. Sin embargo el filtro UKFCV continúa siendo
el de mejor desempeño, tal y como en las tres secuencias anteriores.
Gráfica 43. Errores RMS en filtrado
104
En predicción se observó que los valores de error obtenidos son más altos que en
otras secuencias debido en parte a la incertidumbre que existe sobre la dinámica a la que se
ajustará el objetivo. El filtro IMMCVCA se encuentra en el segundo lugar en desempeño,
mientras que los filtros KFCA y UKFCT continúan siendo los peores.
Gráfica 44. Errores RMS en predicción
Tiempo de procesamiento
La computadora en la que se probaron los filtros fue una Pentium 4 a 3.2Ghz con
HT habilitado y 1Gb de memoria PC3200 doble canal (800Mhz), corriendo Windows XP
Service Pack 2. La versión de Matlab utilizada fue Matlab Release 12.
Se midió el tiempo de procesamiento de cada uno de los filtros sobre la secuencia
14, la cual cuenta con un total de 1640 pares de coordenadas (x,y). El tiempo reportado
incluye desde la carga en memoria de los archivos de datos, hasta el momento en que se
guardan los archivos de salida. Se realizaron un total de 5 mediciones sobre cada filtro, y se
obtuvieron los promedios de cada uno de ellos.
Los procedimientos utilizados para cargar en memoria los datos de entrada, y para
guardar los datos de salida son los mismos para todos los filtros, por lo que se puede
considerar que todos ellos se encuentran en igualdad de circunstancias.
EKFCA:
EKFCT:
EKFCV:
IMMCACT:
IMMCVCA:
105
0.9782
0.7438
0.8748
2.0408
2.3936
IMMCVCT:
KFCA:
KFCT:
KFCV:
UKFCA:
UKFCT:
UKFCV:
4.1844
0.8782
0.5872
0.7092
11.469
8.5968
6.0968
Gráfica 45. Tiempos de procesamiento
106
Conclusiones
Para concretar los resultados presentados a lo largo de este capítulo se elaboraron dos tablas en las que se reflejan los resultados
de cada filtro en el conjunto completo de datos de entrada, para poder así comparar directamente su desempeño en los modos de
operación filtrado y predicción.
En las tablas 1 y 2 se muestran el promedio de los valores de error RMS calculados sobre
•
•
•
el conjunto de imágenes reales (Secuencias 1 a 6)
el conjunto de imágenes sintéticas (Secuencias 7 a 14)
el conjunto completo de imágenes
ordenados de forma creciente. Las gráficas correspondientes a estas tablas son la Gráfica 46 y Gráfica 47 respectivamente.
Filtrado
Imágenes Reales
UKFCV
5.992
IMMCACT
6.263
IMMCVCA
6.323
UKFCA
6.385
EKFCA
6.390
EKFCT
6.546
IMMCVCT
9.075
EKFCV
9.696
KFCA
13.390
KFCV
14.294
KFCT
14.573
UKFCT
54.066
Imágenes Sintéticas
UKFCV
2.085
IMMCVCA
2.200
IMMCACT
2.213
UKFCA
2.230
EKFCA
2.249
EKFCT
3.086
IMMCVCT
3.411
KFCA
14.034
KFCV
15.402
KFCT
16.423
EKFCV
26.311
UKFCT
65.191
Todas las Imágenes
UKFCV
3.760
IMMCACT
3.949
IMMCVCA
3.967
UKFCA
4.011
EKFCA
EKFCT
IMMCVCT
KFCA
4.023
4.569
5.838
13.758
Tabla 1. Promedio de errores en filtrado
107
KFCV
14.927
KFCT
15.630
EKFCV
19.190
UKFCT
60.423
En el filtrado podemos observar que los algoritmos que obtuvieron los valores más bajos de error fueron el UKFCV, el
IMMCVCA, y el IMMCACT. Mientras que el valor de error más alto, como era de esperarse, lo obtuvo el filtro UKFCT.
El filtro IMMCVCA aparece dentro de los 3 filtros con valores de error mas bajos en prácticamente todas las secuencias, tanto
en filtrado como en predicción, por lo que se le puede considerar como una buena elección para su utilización en la práctica.
El filtro UKFCV fue el que mejores resultados obtuvo en el modo filtrado, aunque su desempeño en predicción ocupó el tercer
lugar con rangos de error aceptables, por lo que su utilización en la práctica es factible en los sistemas que requieran de una mayor
precisión en el filtrado, a costa de precisión en la predicción.
El filtro UKFCT, y en general todos los algoritmos basados en modelos de giros coordinados son demasiado sensibles al valor
de la tasa de giro, por lo que en general no es conveniente utilizarlos de manera aislada. En el caso del EKFCT, la estimación del
ángulo de giro atenúa los efectos de lo anterior. De acuerdo a esto la estimación de la tasa de giro, ya sea dentro del propio algoritmo o
a través de un algoritmo externo, es absolutamente necesaria para fines prácticos.
Los filtros que utilizan únicamente modelos de movimiento de aceleración constante fueron los más sensibles a la cantidad de
ruido presente en los datos de entrada. Cuando la señal de entrada presenta un nivel de ruido alto, el filtro intenta seguir las
variaciones en la trayectoria debidas a la baja relación señal a ruido de los datos.
En algunas aplicaciones se pueden presentar mejores resultados al obtener un movimiento más suave, como por ejemplo el
posicionamiento de un brazo robot, el cual debido a las limitaciones mecánicas puede no ser capaz de realizar movimientos muy
bruscos, o realizar oscilaciones que podrían afectar sus componentes. En estos casos los filtros KFCV y EKFCV pueden ser de utilidad,
puesto que produjeron una salida más suave respecto de otros algoritmos, aunque sacrificando la capacidad de seguimiento en
objetivos con alta maniobrabilidad.
En el filtro EKFCT la estimación de la tasa de giro del objetivo se acercó mucho al valor real programado, por lo que se podría
utilizar el valor de su estimación de tasa de giro como entrada para otro algoritmo.
108
Gráfica 46. Promedio de errores en Filtrado
109
Predicción
En el modo predicción de los filtros, se puede observar que el IMMCVCA obtuvo los valores de error promedio más bajos,
seguido en todos los casos por los filtros UKFCV y EKFCT con valores de error muy cercanos entre sí. Al utilizar predicción con el
IMMCVCA debe prestarse atención a los cambios de modo, indicados por las probabilidades de cada modelo dinámico, dado que los
niveles de error en las transiciones se incrementan debido a los tiempos de convergencia.
El filtro KFCA fue el que obtuvo la peor calificación en prácticamente todas las secuencias analizadas, por lo que se puede
concluir que la predicción en este tipo de algoritmo es demasiado sensible al valor de error en filtrado. El segundo peor resultado en
predicción fue obtenido por el UKFCT, lo cual se puede atribuir a los altos niveles de error en el filtrado.
Los filtros lineales KFCA, KFCT y KFCV, aparecen en los últimos lugares en las tablas de desempeño, por lo que su utilización
no es recomendable, excepto tal vez por su simplicidad en implementación y sus bajos tiempos de procesamiento.
Imágenes Reales
IMMCVCA
8.855
UKFCV
10.305
EKFCT
10.832
IMMCACT
12.023
EKFCV
12.713
KFCT
UKFCA
14.629
16.533
EKFCA
16.756
KFCV
38.676
IMMCVCT
46.619
UKFCT
84.648
KFCA
133.531
Imágenes Sintéticas
IMMCVCA
4.785
EKFCT
8.054
UKFCV
10.040
IMMCACT
10.626
UKFCA
12.200
EKFCA
KFCT
12.452
16.523
EKFCV
29.536
KFCV
48.398
UKFCT
103.439
IMMCVCT
107.085
KFCA
172.850
Todas las imágenes
IMMCVCA
6.530
EKFCT
9.245
UKFCV
10.153
IMMCACT
11.225
UKFCA
EKFCA
KFCT
EKFCV
14.057
14.297
15.711
22.326
Tabla 2. Promedio de errores en Predicción
110
KFCV
44.232
IMMCVCT
81.171
UKFCT
95.386
KFCA
155.999
Gráfica 47. Promedio de errores en Predicción
111
Trabajo Futuro
Como trabajo futuro se propone el estudio de la sensibilidad de los algoritmos
que presentaron el mejor desempeño, es decir los filtros IMMCVCA, IMMCACT y UKF,
a los parámetros de diseño, tales como matrices de covarianza, probabilidades de
transición entre modelos y matrices de ruido.
Así mismo, se propone el estudio de la estabilidad de los algoritmos en el modo
predicción, para así poder determinar el tiempo máximo en el que los datos arrojados
por este módulo son todavía aceptables.
112
Bibliografía
[1]. Allen, Arnold. “Probability, statistics, and queueing theory with computer
science applications”. Academic Press. 1990
[2]. Bar Shalom, Yaakov. “Multitarget-multisensor tracking: Aplications and
Advances Vol. III” Los Angeles University Extension University of California.
2000
[3]. Bar Shalom, Yaakov. “Multitarget-multisensor tracking: Applications and
advances Vol II”. Artech House. 1996
[4]. Bar-Shalom et al. “Estimation with
navigation”.Wiley-Interscience. 2001
applications
to
tracking
and
[5]. Blackman, Samuel. “Design and analysis of modern tracking systems”. Artech
House Publishers. 1999
[6]. Branko, Ristic. “Beyond the Kalman Filter: Particle Filters for Tracking
Applications”. 2004
[7]. Brookner, Eli. “Tracking and Kalman filtering made easy”. Wiley-Interscience.
1998
[8]. C. K. Chui, “Kalman Filtering: With Real-time Applications” . Springer Series
on information Science. 1999
[9]. Doucet, Arnaund. “Sequential Monte-Carlo methods in practice”. Springer.
2001
Fahrmeir, Ludwig. “State space models : a brief history and some recent
[10].
developments”
Feller, William. “An introduction to Probability theory and its
[11].
applications”. Wiley series in probability and mathematical statistics. 1968
Fredrik, Gustavson. “A particle filter tutorial for mobile robot
[12].
localization”. IEEE Transactions on signal processing. 2001
García , José A.. “Computacional Models for predicting Visual Target
[13].
Distinctness. SPIE Press. 2001
Isard M., Blake Andrew. “CONDENSATION. Conditional density
[14].
propagation for visual tracking”. International Journal of Computer Vision. 1998
Isard M., MacCormick J.. “Hand tracking for vision-based drawing”.
[15].
Oxford Visual Tracking Group. 2000
113
[16].
Kalman Rudolph. “A New Approach to Linear Filtering and Prediction
Problems”. Transactions of the ASME--Journal of Basic Engineering. 1960
Kaucic R., Blake,A. “Accurate, Real-time, unadorned lip tracking”.
[17].
Proceedings of the 6th International Conference on Computer Vision. 1998
Larson, Harold. “Introduction to probability theory and statistical
[18].
inference”. Wiley & Sons. 1974
Stockum Larry. Precision Stabilization and laser pointing systems. SPIE
[19].
Press. 2001
Vincze Markus. “Robust vision for vision-based control of motion”.
[20].
IEEE Press. 2000
114
Descargar