DSPRelated.com
Forums

kalman filter and object tracking

Started by cacao88888 February 7, 2010
hi there
i working on an object tracking project by kalman filter, assume that there
is a moving object, as i studied before i thought 2-degree model
(a*x^2+b*x+c) is useful but in simulation result i found our moving is not
with constant acceleration all the time. i want to know is there any better
idea for this problem?


On Sun, 07 Feb 2010 07:33:19 -0600, cacao88888 wrote:

> hi there > i working on an object tracking project by kalman filter, assume that > there is a moving object, as i studied before i thought 2-degree model > (a*x^2+b*x+c) is useful but in simulation result i found our moving is > not with constant acceleration all the time. i want to know is there any > better idea for this problem?
I checked BehindTheName.com, and "Kalman" is -- if anything -- Hungarian for "remainder". Whatever it _is_, it certainly _isn't_ "magic". So a Kalman filter is not a magic filter. In its pure form the Kalman filter design process is a very clever, nicely formalized way to generate a time-varying linear filter that -- if it is followed correctly -- uses knowledge about the character of the noise and the system that one is dealing with, that gives state errors that are minimized in a particular way. That's it. No more. And the 'if' is a big one. Any optimal filter design technique that sets out to reduce the mean-squared error of it's output, such as the Kalman filter process, coughs up a filter design that is sensitive -- often exquisitely -- to modeling errors. So if you treat the Kalman design process as a set of magic incantations that will give you a good result no matter what sort of crud you put into it for a model, chances are high that in the end you will be disappointed. "Why", you may be wondering, "is he ranting at me?". Well, it's because your statement "i thought 2-degree model (a*x^2+b*x+c) is useful" shows that you have duly missed the part of Kalman filter design that most Kalman filter discussions leave out -- you cannot just arbitrarily choose any old model for a process, and get a good filter. You must choose a model for the process that represents the process well enough for your purposes. And when you are done, you have to accept that unless your model matches the reality closely enough a reallyo-trulyo Kalman Filter may not be the optimal filter _at all_. I suggest that you take a look at the data that you're trying to track, or that you put some hard thought into the dynamics of the thing behind the data, and see if you can't come up with a better model. Or consider using something like an H-infinity filter. Or model acceleration as an unknown state, with jerk as the input instead of your current model that stops at velocity, with acceleration as an input. -- www.wescottdesign.com
Tim Wescott wrote:
> On Sun, 07 Feb 2010 07:33:19 -0600, cacao88888 wrote: > >> hi there >> i working on an object tracking project by kalman filter, assume that >> there is a moving object, as i studied before i thought 2-degree model >> (a*x^2+b*x+c) is useful but in simulation result i found our moving is >> not with constant acceleration all the time. i want to know is there any >> better idea for this problem? > > I checked BehindTheName.com, and "Kalman" is -- if anything -- Hungarian > for "remainder". Whatever it _is_, it certainly _isn't_ "magic". > > So a Kalman filter is not a magic filter. > > In its pure form the Kalman filter design process is a very clever, > nicely formalized way to generate a time-varying linear filter that -- if > it is followed correctly -- uses knowledge about the character of the > noise and the system that one is dealing with, that gives state errors > that are minimized in a particular way. > > That's it. No more. And the 'if' is a big one. Any optimal filter > design technique that sets out to reduce the mean-squared error of it's > output, such as the Kalman filter process, coughs up a filter design that > is sensitive -- often exquisitely -- to modeling errors. So if you treat > the Kalman design process as a set of magic incantations that will give > you a good result no matter what sort of crud you put into it for a > model, chances are high that in the end you will be disappointed. > > "Why", you may be wondering, "is he ranting at me?". Well, it's because > your statement "i thought 2-degree model (a*x^2+b*x+c) is useful" shows > that you have duly missed the part of Kalman filter design that most > Kalman filter discussions leave out -- you cannot just arbitrarily choose > any old model for a process, and get a good filter. You must choose a > model for the process that represents the process well enough for your > purposes. And when you are done, you have to accept that unless your > model matches the reality closely enough a reallyo-trulyo Kalman Filter > may not be the optimal filter _at all_. > > I suggest that you take a look at the data that you're trying to track, > or that you put some hard thought into the dynamics of the thing behind > the data, and see if you can't come up with a better model. Or consider > using something like an H-infinity filter. Or model acceleration as an > unknown state, with jerk as the input instead of your current model that > stops at velocity, with acceleration as an input.
Bravo! (Really.) Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
On Feb 7, 5:33&#4294967295;am, "cacao88888" <sheikhmozafar...@gmail.com> wrote:
> hi there > i working on an object tracking project by kalman filter, assume that there > is a moving object, as i studied before i thought 2-degree model > (a*x^2+b*x+c) is useful but in simulation result i found our moving is not > with constant acceleration all the time. i want to know is there any better > idea for this problem?
Tim's post was good but he didn't ask what you are trying to track. This is important because it gives the rest of an idea of what the system matrix should look like. Peter Nachtwey
On Mon, 08 Feb 2010 08:36:33 -0800, pnachtwey wrote:

> On Feb 7, 5:33&nbsp;am, "cacao88888" <sheikhmozafar...@gmail.com> wrote: >> hi there >> i working on an object tracking project by kalman filter, assume that >> there is a moving object, as i studied before i thought 2-degree model >> (a*x^2+b*x+c) is useful but in simulation result i found our moving is >> not with constant acceleration all the time. i want to know is there >> any better idea for this problem? > Tim's post was good but he didn't ask what you are trying to track. This > is important because it gives the rest of an idea of what the system > matrix should look like.
And we will help you if you share. -- www.wescottdesign.com