User:Fasih

From Atemuri

Jump to: navigation, search

Ahmed Fasih, OSU (http://www.ece.osu.edu/~fasiha)
email: fasih dot 1 at osu dot edu

Contents

Code

To engage in reproducible research, I will try and place as much of my code online as possible.

Progress

2007/6/19 synthetic data generator and detection of movers

So, to do:

  • extend FLE synthetic SAR generator to accommodate movers using random point clouds representing targets. With some simple rotation and translation.
  • implement Fienup's simple moving target detector.
  • literature review on detection of moving targets.
  • sic it on real data (June 25).
  • feed into tracking and shoot ahead.

2007/6/11 synthetic generation of SAR phase history data

Working with the ATK/back-projection/ground-plane code and learning how it works to generate phase history data to feed into it. Next, we will generate data involving moving point scatterers, and see what we can see.

2007/5/15 Two-dimensional tracking; SAR!

Finished a simple gui application in Matlab to help the user draw 2d tracks over time and discretize them into evenly-sampled time bins.

Also extended to 2d tracking. Works really well!

Onto SAR!

  1. Read Lemanski thesis. How does reimaging results work with noisy velocity estimates? How badly does the image defocus?
  2. Image subtraction for streak detection and tracking a mover as it comes to rest. (That's when the most fingerprinting could be arranged to be done.)
  3. Step frequencies for radar pulses instead of linear FM chirp?
  4. Does Carrera talk about movers?

Looking at the SAR videos we have, it seems like you should be able to robustly tell the movers from the non-movers. Three causes of radar behavior we're interested in:

  1. layover (scattering centers with height)
  2. moving targets in scene
  3. street curbs?! I.e., a tophat or inverted tophat with a single scattering center that moves depending on look angle.

How exciting!

2007/4/30 Label-invariant posterior summaries

The modes of track configuration proposals are now label-invariant, i.e., the same global configuration can be visited at different iterations with different track IDs (e.g., "1213," then "6468") and will be counted as the same track assignments. This leads to usually drastically different track assignment modes than just looking at track ids.

Implementation is pretty inefficient and straightforward but works, and happens after Gibbs sampling so it does not affect run-time. I've been testing the algorithm with false alarms, and it works pretty darn well, usually either isolating or (more often) stringing together false alarms into tracks. The penalty for missed detections (Pd^(# missing points)) is helping but they still happen. This may be left to post processing, I'm unsure.

Next major todo: extend to 2d! (Easy, just time consuming. And I eventually need a tool to help make 2d tracks in time.)

2007/4/20 Kalman caching completed

Tracker now caches Kalman forward and backward filtering results and updates them when detections are reassigned, and synthesizes smoothed means and covariances when computing likelihoods for proposal draws. The application now runs at O(m*g), for m detections and g iterations, realizing major time savings.

(The cached proto-estimates are stored in cell arrays so there is (potentially significant) overhead, but profiling indicates that the operations involving fetches and stores account for less than 20% of runtime (~1 second for a 5.5 second run) so I'm not bothered by that right now.)

Main addition to todo list: I definitely need better proposal density evaluation than picking the modes of total track configurations because individual tracks reappear under different track identifications at various times during runtime. Eep!

2007/4/11: single-point Kalman smoother

The Kalman smoother can be simplified for our applications: we do not need the complete smoothed trajectory, only at one point.

I wrote my own implementation of the Kalman smoother, using Brown/Hwang's Introduction to random signals and applied Kalman filtering (1997) and their description of the Fraser-Potter forward-backward filter structure, and realized upwards of 50% better performance over Murphy's implementation for computing complete track trajectories (1.7x). On the whole, my single-point Kalman smoother yields a 5.8x speed boost for the complete Gibbs sampler tracker.

The Gibbs sampler still grows at (m^2)*g, for m detections and g iterations, but the 0.17*(m^2)*g should help! Next, I need to think about smart ways of caching the Kalman filter runs. Remaining to-do items stand.

Fasih 02:36, 8 April 2007 (EDT)

Accomplished today

  • noted that the algorithm runtime grows as m^2, for the number of detections. The Kalman smoother component must be streamlined to avoid this, I want a stable growth w.r.t. m.
  • introduced false alarms, and realize that I...
  • ...need to introduce a penalty for missed detections. Then it won't (hopefully) string together false alarms as tracks.
  • holistic mode-finding: find the configurations of all tracks that were most often visited by the chain. Noted that for at least one run, with false alarms, one configuration was visited much more often than the rest (150 times compared to 100 times, the runner up). This is good!

So, todo:

  1. Penalty for missed detections
  2. Enable multiple detections
    1. Ashokaraj, et al., (in IEEE Proc. Sensors, 2002) solve the multi-sensor fusion problem by simply picking the sensor which provided lower residual error... This seems shady.
  3. Speed up Kalman smoother process: can we create a one-shot batch-mode Kalman filter (instead of a recursive one)?
  4. Extend to 2d
  5. Complete a Matlab track-paintbrush drawing tool
  6. Enable inferences on target birth rate parameter α

(saved as "With variable number of targets!.zip")

Reading list

SAR

  1. Jao papers
  2. Chris Lemanski's thesis

Tracking

  1. Emily Fox, Asimlomar 2006.
  2. Kastella, Hero, et al., particle filtering and tracking.
  3. Khan, et al., Efficient particle filter-based tracking of multiple interacting targets using an MRF-based motion model. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2003 (IROS 2003).

Basic graphical models, Markov random fields, learning, inference

  1. Heckerman, D., A tutorial on learning with Bayesian networks. In Learning in Graphical Models, M. Jordan, ed.. MIT Press, Cambridge, MA, 1999. link
  2. Butine, Wray, A Guide to the Literature on Learning Probabilistic Networks From Data. IEEE transactions On Knowledge and Data Engineering 1996. link
  3. Paul J. Krause, Learning Probabilistic Networks, The Knowledge Engineering Review, Volume 13, Issue 4 (February 1999). link
  4. POMDPs for Dummies link
  5. Edwards, Introduction to graphical models. 1995.
  6. Xiang, Probabilistic reasoning in multiagent systems. 2002.

Some resources from UMD's Graphical Models Reading Group, 2003

  • Graphical Models for Machine Learning and Digital Communication, by Brendan J. Frey. 1998.
  • McEliece, et al., "Turbo decoding as an instance of Pearl's 'belief propagation' algorithm," IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 16, NO. 2, FEBRUARY 1998, pp. 140-152.
  • Ihler, Fisher, Willsky, "Nonparametric hypothesis tests for statistical dependency," IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 52, NO. 8, AUGUST 2004, pp. 2234-2249.
  • Chris Hans (OSU Stats prof), et al., "Stochastic Computation For Gaussian Graphical Models," paper and software: http://xpress.isds.duke.edu:8080/softwarelinks/ggm.html
  • Learning in Graphical Models, M. Jordan, ed.. MIT Press, Cambridge, MA, 1999.
  • Nir Friedman's tutorials including ones on system biology (ICSB 2004: Tutorial on Graphical Models in Systems Biology): http://www.cs.huji.ac.il/~nirf/tutorials.html
  • Many of Judea Pearl's papers and essays on causality and graphical models: http://bayes.cs.ucla.edu/csl_papers.html

Applied statistics, machine learning, information theory

  • Probabilistic Robotics, by Sebastian Thrun, Wolfram Burgard, and Dieter Fox. 2005.
  • An introduction to information theory : symbols, signals, and noise / John R Pierce. 2nd ed., 1980.
  • Robert, Casella, Monte Carlo statistical methods. 1999.
  • Variational Bayesian filtering
  • Relevance vector machines

Stanford has a set of courses centered around data mining: http://scpd.stanford.edu/scpd/programs/certs/statistics.htm.

MPI and multi-core processor programming

I want to learn how to better utilize our multi-core PC technologies as well as cutting-edge multi-core machines such as the IBM Cell processor in the Sony Playstation 3.

Sandbox

Linky: Media:Example.zip

Personal tools