Wednesday, January 21, 2009

Five Dimensional Fusion: The Kalman Filter

This morning I spent some time reviewing some of my older non-published works, Writing Algorithms: A Step by Step Approach to Increasing Your Writing Intelligence and Neural Economics: How To Translate Thought Into Action and decided that I am a little behind in applying those ideas to my work. One of the essential premises found in these manuscripts is the use of 5 dimensional cognitive architectures for modeling. Therefore, I am going to time travel a bit this morning to the fall of 2005 and revisit my thoughts on modifications of the Kalman Filter (KF) to use as a technique for doing space-time modeling. Description and evaluation of the basic Kalman Filter technique with the Extended and Unscented KF variations can be found at http://users.isr.ist.utl.pt/~mir/pub/kalman.pdf and http://en.wikipedia.org/wiki/Extended_Kalman_filter and http://en.wikipedia.org/wiki/Kalman_filter#Unscented_Kalman_filter . There is the Kalman Learning Tool that runs in an applet at http://www.cs.unc.edu/~welch/kalman/kftool/ .

Cao (2008) has a file exchange at http://www.mathworks.com/matlabcentral/fileexchange/18189 for using the EKF for nonlinear state estimation. Of course, the work of Wikle et. al. (1998) at http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.8958 takes us down this path with environmental models and the discipline of environmetrics. One of my favorites is the short paper on spacetime KF at http://www.stat.missouri.edu/~wikle/s037-_o.pdf . For a comparision of other techniques, see http://portal.acm.org/citation.cfm?id=1238264 . Of course, the extension to Markov Chain Monte Carlo (MCMC) with the WinBugs software can be done here with the work done at http://www.stat.ncsu.edu/library/papers/ISMS2587.pdf. Furthermore, neural networks can be employed in a variety of architectures which is the subject of the next post. These authors take a reparameterization approach for their dynamic space-time models. The bibliographies from these works provide many streams to navigate for applied work. For example,

  • Object Tracking (e.g., missiles and faces)
  • Navigation
  • Computer vision such as Feature and cluster tracking and fusing data

Code

A free C++ EKF library can be found at http://kalman.sourceforge.net/ . A great example of using the KF with C#.Net is the work by Pellarin and Andersen (2006) found at http://www.itu.dk/~vedrana/reports/PF_ReportH.pdf . They examine using KF for a Particle Filter for Eye Tracking. If we desire to use Java at http://mathstat.asu.edu/~eubank/kalman/kalman.html . The paper that uses the code for "Adaptive Order Selection for Spline Smoothing" -http://math.asu.edu/~eubank/kalman/recipe.pdf. Delaney and Ward have a neat Java Tool for exploring state estimation using the KF at
http://eprints.nuim.ie/201/1/Kalman2004_ddfina_submitted.PDF .

For more information, check out Welch's work at http://www.cs.unc.edu/~welch/kalman/ .

No comments: