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